diff --git a/README.md b/README.md index 6894098..7503a4b 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,22 @@ Try entering the following in the interaction area: (sub1 (s (s z))) ``` +Don't like parenthesis? Use Cur with sweet-expressions: +```racket +#lang sweet-exp +require + cur/stdlib/bool + cur/stdlib/nat + +if true + false + true + +define + plus + +{z + s(z)} +``` + See the docs: `raco docs cur`. Going further diff --git a/cur-lib/cur/lang/reader.rkt b/cur-lib/cur/lang/reader.rkt index f894dee..856e3af 100644 --- a/cur-lib/cur/lang/reader.rkt +++ b/cur-lib/cur/lang/reader.rkt @@ -1,2 +1,2 @@ #lang s-exp syntax/module-reader -cur/cur +cur diff --git a/cur-lib/cur/cur.rkt b/cur-lib/cur/main.rkt similarity index 100% rename from cur-lib/cur/cur.rkt rename to cur-lib/cur/main.rkt diff --git a/cur-lib/cur/olly.rkt b/cur-lib/cur/olly.rkt index 186df48..ff4fe25 100644 --- a/cur-lib/cur/olly.rkt +++ b/cur-lib/cur/olly.rkt @@ -1,4 +1,4 @@ -#lang s-exp "cur.rkt" +#lang s-exp "main.rkt" ;; Olly: The OTT-Like LibrarY ;; TODO: Automagically create a parser from bnf grammar (require @@ -6,7 +6,7 @@ "stdlib/nat.rkt" ;; TODO: "real-"? More like "curnel-" (only-in - "cur.rkt" + "main.rkt" [#%app real-app] [elim real-elim] [Π real-forall] diff --git a/cur-lib/cur/stdlib/bool.rkt b/cur-lib/cur/stdlib/bool.rkt index df131b2..45eb569 100644 --- a/cur-lib/cur/stdlib/bool.rkt +++ b/cur-lib/cur/stdlib/bool.rkt @@ -1,4 +1,4 @@ -#lang s-exp "../cur.rkt" +#lang s-exp "../main.rkt" (require "sugar.rkt") (provide Bool true false if not and or) diff --git a/cur-lib/cur/stdlib/list.rkt b/cur-lib/cur/stdlib/list.rkt index fcc9ea7..50153b8 100644 --- a/cur-lib/cur/stdlib/list.rkt +++ b/cur-lib/cur/stdlib/list.rkt @@ -1,4 +1,4 @@ -#lang s-exp "../cur.rkt" +#lang s-exp "../main.rkt" (require "nat.rkt" "maybe.rkt" diff --git a/cur-lib/cur/stdlib/maybe.rkt b/cur-lib/cur/stdlib/maybe.rkt index 9625d77..35aae86 100644 --- a/cur-lib/cur/stdlib/maybe.rkt +++ b/cur-lib/cur/stdlib/maybe.rkt @@ -1,4 +1,4 @@ -#lang s-exp "../cur.rkt" +#lang s-exp "../main.rkt" (require "sugar.rkt") (provide Maybe none some some/i) diff --git a/cur-lib/cur/stdlib/nat.rkt b/cur-lib/cur/stdlib/nat.rkt index 9a08356..671bf20 100644 --- a/cur-lib/cur/stdlib/nat.rkt +++ b/cur-lib/cur/stdlib/nat.rkt @@ -1,4 +1,4 @@ -#lang s-exp "../cur.rkt" +#lang s-exp "../main.rkt" (require "sugar.rkt" "bool.rkt") ;; TODO: override (all-defined-out) to enable exporting all these ;; properly. diff --git a/cur-lib/cur/stdlib/prop.rkt b/cur-lib/cur/stdlib/prop.rkt index 3030ad7..a61bc52 100644 --- a/cur-lib/cur/stdlib/prop.rkt +++ b/cur-lib/cur/stdlib/prop.rkt @@ -1,4 +1,4 @@ -#lang s-exp "../cur.rkt" +#lang s-exp "../main.rkt" (require "sugar.rkt") ;; TODO: Handle multiple provide forms properly ;; TODO: Handle (all-defined-out) properly diff --git a/cur-lib/cur/stdlib/sugar.rkt b/cur-lib/cur/stdlib/sugar.rkt index 958362d..4b9c2a3 100644 --- a/cur-lib/cur/stdlib/sugar.rkt +++ b/cur-lib/cur/stdlib/sugar.rkt @@ -1,4 +1,4 @@ -#lang s-exp "../cur.rkt" +#lang s-exp "../main.rkt" (provide -> lambda @@ -27,7 +27,7 @@ query-type) (require - (only-in "../cur.rkt" + (only-in "../main.rkt" [elim real-elim] [#%app real-app] [λ real-lambda] diff --git a/cur-lib/cur/stdlib/tactics/base.rkt b/cur-lib/cur/stdlib/tactics/base.rkt index ce2ef26..cc68384 100644 --- a/cur-lib/cur/stdlib/tactics/base.rkt +++ b/cur-lib/cur/stdlib/tactics/base.rkt @@ -1,4 +1,4 @@ -#lang s-exp "../../cur.rkt" +#lang s-exp "../../main.rkt" (require (for-syntax racket/syntax)) (provide diff --git a/cur-lib/cur/stdlib/tactics/sartactics.rkt b/cur-lib/cur/stdlib/tactics/sartactics.rkt index 5243130..414f433 100644 --- a/cur-lib/cur/stdlib/tactics/sartactics.rkt +++ b/cur-lib/cur/stdlib/tactics/sartactics.rkt @@ -1,4 +1,4 @@ -#lang s-exp "../../cur.rkt" +#lang s-exp "../../main.rkt" (require "base.rkt" (prefix-in basic: "standard.rkt") diff --git a/cur-lib/cur/stdlib/tactics/standard.rkt b/cur-lib/cur/stdlib/tactics/standard.rkt index a4c1f39..9a466b1 100644 --- a/cur-lib/cur/stdlib/tactics/standard.rkt +++ b/cur-lib/cur/stdlib/tactics/standard.rkt @@ -1,4 +1,4 @@ -#lang s-exp "../../cur.rkt" +#lang s-exp "../../main.rkt" (require "base.rkt" (for-syntax racket/syntax)) diff --git a/cur-lib/cur/stdlib/typeclass.rkt b/cur-lib/cur/stdlib/typeclass.rkt index dc24209..df039e3 100644 --- a/cur-lib/cur/stdlib/typeclass.rkt +++ b/cur-lib/cur/stdlib/typeclass.rkt @@ -1,4 +1,4 @@ -#lang s-exp "../cur.rkt" +#lang s-exp "../main.rkt" (require "nat.rkt" "bool.rkt" diff --git a/cur-test/cur/tests/sweet-exp.rkt b/cur-test/cur/tests/sweet-exp.rkt new file mode 100644 index 0000000..91054f4 --- /dev/null +++ b/cur-test/cur/tests/sweet-exp.rkt @@ -0,0 +1,16 @@ +#lang sweet-exp cur +require + cur/stdlib/sugar + cur/stdlib/bool + cur/stdlib/nat + rackunit + +check-equal? + if true false true + false + +define + plus + +check-equal? + {z + s(z)} + s(z) diff --git a/cur-test/info.rkt b/cur-test/info.rkt index c042052..37c408b 100644 --- a/cur-test/info.rkt +++ b/cur-test/info.rkt @@ -1,7 +1,7 @@ #lang info (define collection 'multi) (define deps '()) -(define build-deps '("base" "rackunit-lib" ("cur-lib" #:version "0.2"))) +(define build-deps '("base" "rackunit-lib" ("cur-lib" #:version "0.2") "sweet-exp")) (define update-implies '("cur-lib")) (define pkg-desc "Tests for \"cur\".") (define pkg-authors '(wilbowma))