Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Using let in Scheme

Name: Anonymous 2013-01-17 2:23

I remember a post a while back where the author said that it's better to avoid using binding constructs like let in languages like Scheme. I was wondering how you'd rewrite something like this:
(let ((s (find (lambda (a) (char=? x (first a))) *translation-list*)))
 (if s (second s) x))

Name: Anonymous 2013-01-20 4:49

Oh, nevermind. I could just define fix in the same way done in >>8


(define fix-helper (lambda (self f)
  (lambda args
    (apply f (cons (self self f) args)))))

(define fix (lambda (f) (fix-helper fix-helper f)))

(define factorial (fix (lambda (f n)
  (if (= n 0)
    1
    (* n (f (- n 1)))))))

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List