diff options
Diffstat (limited to 'basics.scm')
-rw-r--r-- | basics.scm | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/basics.scm b/basics.scm deleted file mode 100644 index 4c52883..0000000 --- a/basics.scm +++ /dev/null @@ -1,52 +0,0 @@ -;;;; variables -(define my-var 15) -my-var - -;; set to something else -(set! my-var 20) - -;;;; functions -(define (find value lst) - (if (pair? lst) - (begin - (display (string-append "Looking at: " (number->string (car lst)) - "\n")) - (if (equal? (car lst) value) - (begin (display "Found it!\n") - (car lst)) - (find value (cdr lst)))) - #f)) - -(find 5 '(1 2 3 4 5 6)) - -;; note that variables and functions exist in the same -;; namespace, and that we can define functions in a -;; slightly more ugly way, but looks a lot like a var -;; declaration: -(define find-x (lambda (value lst) - (if (pair? lst) - (begin - (display (string-append "Looking at: " (number->string (car lst)) - "\n")) - (if (equal? (car lst) value) - (begin (display "Found it!\n") - (car lst)) - (find value (cdr lst)))) - #f))) - -(find-x 4 '(1 2 3 4 5 6)) - -;;;; let - -;; let as a looping construct -(let find-loop ((value 5) - (lst '(1 2 3 4 5))) - (if (pair? lst) - (begin - (display (string-append "Looking at: " (number->string (car lst)) - "\n")) - (if (equal? (car lst) value) - (begin (display "Found it!\n") - (car lst)) - (find-loop value (cdr lst)))) - #f)) |