[stack] Enchilada Comments
"Christopher Diggins" <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <[email protected]> |
I just started taking a closer look at Enchilada, because I was
wondering about the feasibility of implementing a version in Cat. Now
that I have looked at it closer I find it to be a very clever
language!
I have some comments and suggestions which I am simultaneously posting
to the concatenative list, since other people might be able to offer
additional insights to my comments.
Have you considered implementing Enchilada in Haskell? It seems like
it may be a very nice match given Haskell's lazy nature, and you might
get some nice type-checking for free.
The following are some nitpicky comments about the documentation
- I'd prefer to see the more common terms "unary" and "binary" to the
lesser well-known terms monadic and dyadic in the documentation.
- I'd call out the point that there are two data types "expressions"
and "lists". At first it sounds like there is only one, though on
closer read I realize that you do not make this claim. Nonetheless it
is a bit confusing.
- A table of contents for the manual would be very helpful.
- The invariants for division are not correct, since the GCD is not
always defined. Also you use "gdc" instead of "gcd". It is just a
minor technical point, your intent is clear enough.
- ". This feature makes Enchilada one of the few languages that is
both strong and single typed.". I think this claim is incorrect.
Virtually every dynamically checked language has a strong type system
if we reduce all types to a single all-encompassing type (e.g.
variant, object, etc.)
- "divide(a,b) a b % {v w=a w - + b / * &} " is quite confusing. Maybe
this can be alleviated syntactically?
Anyway, great job!
Christopher Diggins
http://www.cdiggins.com