This commit is contained in:
Jay McCarthy 2015-11-28 13:02:47 -05:00
parent 0bb9cab400
commit e071045ed5
3 changed files with 17 additions and 7 deletions

View File

@ -196,6 +196,8 @@ transformer (can change define to define-syntax/etc) vs expander
functions!
--- See https://mail.google.com/mail/u/0/#inbox/1513f480b3313fb2
TODO how to make sure cases of cond/etc are complete?
TODO operator overloading definitions of + and ones that check the
types for float/int/fixnum/etc

View File

@ -306,7 +306,9 @@
(for-syntax gen:def-transformer
gen:def*-transformer)
(rename-out [def ]
[def :=]
[def* ≙*]
[def* :=*]
[def* nest])
(rename-out [remix-λ λ]
[remix-cond cond]

View File

@ -7,8 +7,9 @@
(module+ test
;; This introduces ≡ as a testing form
;; XXX Maybe drop this and add a test macro like rackunit/chk that
;; looks for comparison forms.
;; XXX Drop this and instead have a macro for writing down
;; properties that communicates with boolean forms, etc. Supports ∀,
;; etc.
(require remix/test0))
;; define is replaced with def
@ -46,7 +47,10 @@
;; make any code in between clauses go in between the `if`s that pop
;; out of the cond macro. finally, cond REQUIRES a #:else clause.
;;
;; XXX potentially make an (impossible!) macro that is a useful
;; XXX Robby does not like requiring else, but does want a default
;; error.
;;
;; XXX make an (impossible!) macro that is a useful
;; default #:else
(def (g x)
(cond
@ -147,11 +151,13 @@
(module+ test
{v11c 11})
;; ≙ is a synonym for def, and because of the {} rules, is a binary
;; operator.
{v33 33}
;; ≙ and := are synonyms for def, and because of the {} rules, is a
;; binary operator.
{v33a 33}
{v33b := 33}
(module+ test
{v33 33})
{v33a 33}
{v33b 33})
(def v28
{(f x) x + x}