(define call/cc call-with-current-continuation) (define (square x) (* x x)) (define (open-input-file fn) (open-file fn #x0)) (define (open-output-file fn) (open-file fn #x241)) (define (list . x) x) (define (newline) (display "\n")) (define (return) (display "\r")) (define (sleep x) (msleep (* x 1000))) (define (!= x y) (not (= x y))) (define (for-each-single p l) (or (null? l) (begin (p (car l)) (for-each-single p (cdr l))))) (define for-each for-each-single) (define (display-each . x) (for-each display x)) (define (memq? x l) (if (null? l) #f (if (eq? x (car l)) #t (memq? x (cdr l))))) (define (vector->listh v i r) (if (< i 0) r (vector->listh v (- i 1) (cons (vector-ref v i) r)))) (define (vector->list v) (vector->listh v (- (vector-length v) 1) ())) (define (list->vector l) (let ((fn ())(r ())) (set! fn (lambda (i x) (if (null? x) (set! r (make-vector i)) (begin (fn (+ i 1) (cdr x)) (vector-set! r i (car x)))))) (fn 0 l) r)) (define (l x) (display x)(display "\r")(if (= x 0) 'done (l (- x 1)))) (define (display-counter x) (display (string "\e]2;" (number->string x) (display ""))) (msleep 100) (display-counter (+ x 1)) ) (define (readline) (if (char-ready?) (let ((x (read-char))) (cond ((eq? x "") x) ((eq? x "\n") ()) (#t (string x (readline))))) (begin (msleep 1000) (readline)) )) (define (repl) (display "(repl)>") (let ((x (read))) (if (eof-object? x) (display "\nThank you, drive through...\n") (begin (display (eval x)) (newline) (repl) ))))