Earlier quoted context omitted.
Pyret is inspired from Racket, which starts at step 1 with functional programming. It's not about readability or getting people to learn as fast as possible to write basic code, but to try and teach core program design principles easily and build a solid base within a single semester. The syntax is not as clean as Python, but it offers much more clarity in terms of testing, signatures, and offers a very interesting m…
If the goal is to teach functional programming with testing and signatures, is the awkward syntax (that isn't really very close to C#, Java, or Python) better than a set of macros on top of typed Racket? It seems like it'd be easy to define a typedracket-derived #lang where you had to write: (define (sum a b) : [-> Integer Integer Integer] (where (= (sum 0 1) 1) (= (sum 2 2) 4)) (+ a b)) And make the type signature a…
[1] I, personally, love parenthetical syntax.