File tree 18 files changed +44
-112
lines changed
18 files changed +44
-112
lines changed Original file line number Diff line number Diff line change 1
- (define out
2
- (lambda (what )
3
- (begin
4
- (display what)
5
- (newline))))
6
-
7
- (newline)
1
+ (load " ../common/utils.scm" )
8
2
9
3
(out #\c )
10
4
(out (char? #\c ))
Original file line number Diff line number Diff line change 1
- (define out
2
- (lambda (what )
3
- (begin
4
- (display what)
5
- (newline))))
6
-
7
- (newline)
1
+ (load " ../common/utils.scm" )
8
2
9
3
(out (char->integer #\d ))
10
4
; 100
Original file line number Diff line number Diff line change 1
- (define out
2
- (lambda (what )
3
- (begin
4
- (display what)
5
- (newline))))
6
-
7
- (newline)
1
+ (load " ../common/utils.scm" )
8
2
9
3
(out cons)
10
4
; a procedure
Original file line number Diff line number Diff line change 1
- (define out
2
- (lambda (what )
3
- (begin
4
- (display what)
5
- (newline))))
6
-
7
- (newline)
1
+ (load " ../common/utils.scm" )
8
2
9
3
; cons combines things together
10
4
(define pair1 (cons 1 #t ))
Original file line number Diff line number Diff line change 1
- (define out
2
- (lambda (what )
3
- (begin
4
- (display what)
5
- (newline))))
6
-
7
- (newline)
1
+ (load " ../common/utils.scm" )
8
2
9
3
; strings evaluate to themselves as well
10
4
(out " Nice boat!" )
Original file line number Diff line number Diff line change 1
- (define out
2
- (lambda (what )
3
- (begin
4
- (display what)
5
- (newline))))
6
-
7
- (newline)
1
+ (load " ../common/utils.scm" )
8
2
9
3
; summary:
10
4
; '(vector ... )' or '#( ... )' to make a vector
Original file line number Diff line number Diff line change 1
- (define out
2
- (lambda (what )
3
- (begin
4
- (display what)
5
- (newline))))
6
-
7
- (newline)
1
+ (load " ../common/utils.scm" )
8
2
9
3
(define x '(1 2 3 4 ))
10
4
Original file line number Diff line number Diff line change 1
- (define out
2
- (lambda (what )
3
- (begin
4
- (display what)
5
- (newline))))
6
-
7
- (newline)
1
+ (load " ../common/utils.scm" )
8
2
9
3
(out (lambda (x ) (+ x 2 )))
10
4
; procedure
Original file line number Diff line number Diff line change 1
- (define out
2
- (lambda (what )
3
- (begin
4
- (display what)
5
- (newline))))
6
-
7
- (newline)
1
+ (load " ../common/utils.scm" )
8
2
9
3
(define p 80)
10
4
Original file line number Diff line number Diff line change 1
- (define out
2
- (lambda (what )
3
- (begin
4
- (display what)
5
- (newline))))
6
-
7
- (newline)
1
+ (load " ../common/utils.scm" )
8
2
9
3
(define x 20)
10
4
(let (
Original file line number Diff line number Diff line change 1
- (define out
2
- (lambda (what )
3
- (begin
4
- (display what)
5
- (newline))))
6
-
7
- (newline)
1
+ (load " ../common/utils.scm" )
8
2
9
3
; here x is a global variable
10
4
(define x 9)
Original file line number Diff line number Diff line change 1
- (define out
2
- (lambda (what )
3
- (begin
4
- (display what)
5
- (newline))))
6
-
7
- (newline)
1
+ (load " ../common/utils.scm" )
8
2
9
3
(define list-position
10
4
(lambda (obj ls )
Original file line number Diff line number Diff line change 1
- (define out
2
- (lambda (what )
3
- (begin
4
- (display what)
5
- (newline))))
6
-
7
- (newline)
1
+ (load " ../common/utils.scm" )
8
2
9
3
(define factorial
10
4
(lambda (n )
Original file line number Diff line number Diff line change 1
- (define out
2
- (lambda (what )
3
- (begin
4
- (display what)
5
- (newline))))
6
-
7
- (newline)
1
+ (load " ../common/utils.scm" )
8
2
9
3
(define add2
10
4
(lambda (n )
Original file line number Diff line number Diff line change 1
- (define out
2
- (lambda (what )
3
- (begin
4
- (display what)
5
- (newline))))
6
-
7
- (newline)
1
+ (load " ../common/utils.scm" )
8
2
9
3
; only 'letrec' will work here
10
4
; because 'let' cannot make countdown seen its definition in its body
Original file line number Diff line number Diff line change 1
- (define out
2
- (lambda (what )
3
- (begin
4
- (display what)
5
- (newline))))
6
-
7
- (newline)
1
+ (load " ../common/utils.scm" )
8
2
9
3
; the s-expr below is identical
10
4
; current-output-port is used if no port is given
Original file line number Diff line number Diff line change
1
+ (load " ../common/utils.scm" )
2
+
3
+ (define str-in (open-input-string " nice boat\n a string port" ))
4
+
5
+ (out (read-char str-in))
6
+ ; #\n
7
+
8
+ (out (read-line str-in))
9
+ ; "ice boat"
10
+
11
+ (out (read-line str-in))
12
+ ; "a string port"
13
+
14
+ (define str-out (open-output-string))
15
+
16
+ (display " let's write something to a string" str-out)
17
+ (newline str-out)
18
+
19
+ ; use 'get-output-string' to extract value inside the port
20
+ (out (get-output-string str-out))
Original file line number Diff line number Diff line change
1
+ (define out
2
+ (lambda (what )
3
+ (begin
4
+ (display what)
5
+ (newline))))
6
+
7
+ ; use newline to finish the line "loading XXX ..."
8
+ (newline)
You can’t perform that action at this time.
0 commit comments