Added cabal and vim dir
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
;;;
|
||||
;;; husk-scheme
|
||||
;;; http://justinethier.github.com/husk-scheme
|
||||
;;;
|
||||
;;; Implementation of SRFI-2: and-let*
|
||||
;;;
|
||||
(define-syntax and-let*
|
||||
(syntax-rules ()
|
||||
; Special case
|
||||
((and-let* ())
|
||||
#t)
|
||||
; No CLAWS, just body
|
||||
((and-let* () body ...)
|
||||
(begin body ...))
|
||||
; Special cases of below - CLAWS with no body
|
||||
((and-let* ((var expr)) )
|
||||
(let ((var expr))
|
||||
(and var)))
|
||||
((and-let* ((expr)))
|
||||
(let ((tmp expr))
|
||||
(and tmp )))
|
||||
((and-let* (expr))
|
||||
(let ((tmp expr))
|
||||
(and tmp )))
|
||||
; General case - CLAWS and body
|
||||
((and-let* ((var expr) . rest) . body)
|
||||
(let ((var expr))
|
||||
(and var (and-let* rest . body))))
|
||||
((and-let* ((expr) . rest) . body)
|
||||
(let ((tmp expr))
|
||||
(and tmp (and-let* rest . body))))
|
||||
((and-let* (expr . rest) . body)
|
||||
(let ((tmp expr))
|
||||
(and tmp (and-let* rest . body))))))
|
||||
|
Reference in New Issue
Block a user