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

Scheme sucks

Name: Anonymous 2011-01-28 10:46

because HAS NO MACROS.

Name: " 2011-01-28 11:54

Macro in LISP.

(defmacro aif (cond then else)
  `(let ((it ,cond))
     (if it ,then ,else)))


Macro in Scheme/Racket.

#lang racket
(require racket/stxparam)
 
(define-syntax-parameter it (λ (stx) (raise-syntax-error 'anaphora "missed context" stx)))
 
(define-syntax-rule (aif cond then else)
  (let ([temp cond])
    (syntax-parameterize ([it (make-rename-transformer #`temp)])
                         (if temp then else))))

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