Skip to content
Snippets Groups Projects
Commit d30fc46d authored by Denis Shirshov's avatar Denis Shirshov
Browse files

add pmf, general restructurization, interests.tree

parent 0d4c2e46
No related branches found
No related tags found
No related merge requests found
Showing
with 97 additions and 61500 deletions
......@@ -7,11 +7,11 @@ FOR %%X IN (%*) DO SET /A arglen+=1
if %arglen% == 0 (
echo build: no arguments
) else if %arglen% == 1 (
racket build.rkt %1
racket ../utils/build.rkt %1
) else if %arglen% == 2 (
racket build.rkt -o %2 %1
racket ../utils/build.rkt -o %2 %1
) else (
racket build.rkt %*
racket ../utils/build.rkt %*
REM echo build: wrong number of arguments
)
......
#lang racket
(require racket/cmdline)
(require racket/file (for-syntax racket/file)) ; STX for-syntax, all-defined-out, all-from-out (as lib functions?)
(require racket/file (for-syntax racket/file)) ;
(require compatibility/defmacro)
(require "../utils/all.rkt"); (for-syntax "../utils/syntax.rkt" "../utils/seqs.rkt"))
(require "../widgets/all.rkt")
(require "../lib/all.rkt"); (for-syntax "../lib/syntax.rkt" "../lib/seqs.rkt"))
(require "../reports/all.rkt")
(require "../graphics/svg.rkt")
(require "../utils/debug.rkt")
(require "../lib/debug.rkt")
(struct parameters (ods output) #:mutable)
(define params (parameters #f #f))
(define (build #:in ods-file #:out (output-file null))
(parameterize ([current-namespace (make-base-namespace)])
(namespace-require "../widgets/all.rkt")
(namespace-require "../utils/all.rkt")
(namespace-require "../utils/debug.rkt")
(namespace-require "../reports/all.rkt")
(namespace-require "../lib/all.rkt")
(namespace-require "../lib/debug.rkt")
(let* ([v (load ods-file)]
[output-filename (if (null? output-file)
(path-replace-extension (file-name-from-path ods-file) (@. v.output-file-ext))
......
......@@ -5,9 +5,9 @@ SET arglen=0
FOR %%X IN (%*) DO SET /A arglen+=1
if %arglen% == 0 (
racket lines.rkt -e "rkt" -F "_test" -i "^\s*$|^\s*;+.*$" ..
racket ../utils/lines.rkt -e "rkt" -F "_test" -i "^\s*$|^\s*;+.*$" ..
) else (
racket lines.rkt -e "rkt" -F "_test" -i "^\s*$|^\s*;+.*$" %1
racket ../utils/lines.rkt -e "rkt" -F "_test" -i "^\s*$|^\s*;+.*$" %1
)
......
......@@ -3,7 +3,7 @@
(require racket/cmdline)
(require racket/file)
(require "../utils/base.rkt")
(require "../lib/base.rkt")
;; count lines of code in the project
......
@echo off
setlocal enableextensions
set "ods_root=c:/denis/denis_core/odysseus"
SET arglen=0
FOR %%X IN (%*) DO SET /A arglen+=1
if %arglen% == 0 (
echo which resource do you mean?
) else (
racket %ods_root%/utils/pwd.rkt %1
echo color 2b hi
color
)
endlocal
#lang racket
(require racket/cmdline)
(require racket/file)
(require "../../settings/pconfig.rkt")
(require "../lib/all.rkt")
(define (get-pwd url)
(let* (
(res (hash-ref PWD url (hash))))
(if (nil? res)
(display "No results found.")
(display (format "~nwebsite: ~a~nlogin: ~a~npwd: ~a~n" url (@. res.login) (@. res.pwd))))))
(command-line
#:program "pwd"
#:args
(resource)
(get-pwd resource)
)
docs/screenshots/atom_syntax_highlight.jpg

19.1 KiB

docs/screenshots/command_line_1.jpg

128 KiB

#lang racket
(require "../../utils/seqs.rkt")
(require "../../utils/base.rkt")
;; Fermat's little theorem illustration for different numbers from 1 to 1000
;; with Carmichael numbers (at least 561)
;; inspired by SICP
; theorem: a^n % n == a for any a < n
(define (expmod base exp m)
(cond
((= exp 0) 1)
((even? exp) (remainder (sqr (expmod base (/ exp 2) m)) m))
(else (remainder (* base (expmod base (- exp 1) m)) m))))
(define (getcolumn n)
(map (λ (a) (= (expmod a n n) a)) (range 1 n)))
(define (ascii-viz-string n)
(implode
(map (λ (x) (if x "|" ".")) (getcolumn n))))
(define (find-quasi-carmichael upto (percent 0.5))
(filter
(λ (x)
(in
(* percent x)
(- x 2)
(length
(filter
true?
(getcolumn x)))))
(range 10 upto)))
This diff is collapsed.
; data from http://datajournalismcourse.net/graduates.php
#lang racket
(require "../utils/seqs.rkt")
(require "../utils/base.rkt")
(require "../utils/controls.rkt")
(require "../lib/seqs.rkt")
(require "../lib/base.rkt")
(require "../lib/controls.rkt")
;(require dshirshov/utils)
;(require dshirshov/seqs)
......
#lang racket
(require "../utils/base.rkt")
(require "../utils/hash.rkt")
(require "../widgets/styles.rkt")
(require "../lib/base.rkt")
(require "../lib/hash.rkt")
(require "../reports/styles.rkt")
(provide (all-defined-out))
......
#lang racket
(require compatibility/defmacro)
(require "../utils/all.rkt")
(require "../lib/all.rkt")
(provide (all-defined-out))
......
......@@ -2,12 +2,12 @@
(require racket/file)
(require (for-syntax racket/syntax))
(require "../utils/base.rkt" (for-syntax "../utils/base.rkt")) ;; STX for-syntax ~require
(require "../utils/hash.rkt")
(require "../utils/io.rkt")
(require "../lib/base.rkt" (for-syntax "../lib/base.rkt"))
(require "../lib/hash.rkt")
(require "../lib/io.rkt")
(require "fonts.rkt")
(require "../utils/seqs.rkt" (for-syntax "../utils/seqs.rkt"))
(require (for-syntax "../utils/controls.rkt"))
(require "../lib/seqs.rkt" (for-syntax "../lib/seqs.rkt"))
(require (for-syntax "../lib/controls.rkt"))
(require compatibility/defmacro)
(require racket/runtime-path)
......
......@@ -3,7 +3,7 @@
(module+ test
(require rackunit)
(require "color.rkt")
(require "../color.rkt")
;(check-true? (string? (rand-color)))
(check-equal? (string-length (rand-color)) 7)
......
......@@ -4,7 +4,7 @@
(require rackunit)
(require "../svg.rkt")
(require "../../utils/all.rkt")
(require "../../lib/all.rkt")
(check-equal?
(svg)
......
#lang racket
(require (prefix-in base: "base.rkt")) ; STX prefix-in
(require (prefix-in base: "base.rkt"))
(provide (all-defined-out))
......
#lang racket
(require "alist.rkt" "base.rkt" "controls.rkt" "hash.rkt" "http.rkt" "interval.rkt" "io.rkt" "iter.rkt" "json.rkt" "seqs.rkt" "stat.rkt" "time.rkt" "type.rkt")
(provide (all-from-out "alist.rkt" "base.rkt" "controls.rkt" "hash.rkt" "http.rkt" "interval.rkt" "io.rkt" "json.rkt" "iter.rkt" "seqs.rkt" "stat.rkt" "time.rkt" "type.rkt"))
......@@ -4,6 +4,8 @@
(provide (all-defined-out))
(define nil null)
(define % remainder)
(define (int a)
......@@ -20,10 +22,10 @@
(exact-round (/ a b)))
(define (/f a b)
(exact-floor (/ a b))) ; STX exact-floor ~exact-round
(exact-floor (/ a b)))
(define (/c a b)
(exact-ceiling (/ a b))) ; STX exact-ceiling ~exact-round
(exact-ceiling (/ a b)))
(define (*r . xs)
(exact-round (apply * xs)))
......@@ -40,8 +42,9 @@
(λ (v) (or
(null? v)
(void? v)
(and (hash? v) (empty? (hash-keys v)))
(and (string? v) (equal? v ""))
(false? v)))) ; STX false?
(false? v))))
(define znil?
(λ (v) (or (nil? v) (= v 0))))
......@@ -52,11 +55,28 @@
(define (rcurry f a)
(lambda (x) (f x a)))
(define (clean f xs)
(filter (λ (x) (not (f x))) xs))
(define (rand n)
(add1 (random n)))
(define (lg x a)
(/ (log x) (log a)))
(define-macro (f-> f)
`(λ preds
(λ (argument)
(let ((reslist (map (λ (x) (x argument)) preds)))
(cond
((null? (cdr reslist)) (,f (car reslist)))
(else
(foldr
(λ (a b) (,f a b))
(car reslist)
(cdr reslist)
)))))))
(define and-> (f-> and))
(define or-> (f-> or))
;; filtering
(define (clean f xs)
(filter (λ (x) (not (f x))) xs))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment