Arc Forumnew | comments | leaders | submitlogin
1 point by akkartik 5000 days ago | link | parent

IMO to add things like immutability and modules defeats the 'philosophy' of lisp. It makes it harder to build lisps atop PLT.

---

When you just load a series of files in PLT you can declare your functions in any order and in any file. Nice.

But turn those files into modules and now you have errors.

  compile: unbound identifier in module
I've spent crazy quantities of time trying to decompose arc's implementation into files (http://arclanguage.org/item?id=11869) while getting around modules.

---

According to R5RS (http://www.schemers.org/Documents/Standards/R5RS/HTML/r5rs-Z...):

  "In Scheme, combinations must have at least one subexpression, so that
  () is not a syntactically valid expression."
This means I can't make the arc compiler R5R6 scheme without lots of crazy checking all over the place about whether to emit () or '().

(And to decompose arc into arbitrary files I need to come up with a weird language that accepts () like mzscheme mode, but doesn't use modules.)

---

The arc implementation is far more verbose than it could be because of PLT's phase separation rules -- it must implement its own macro system (http://arclanguage.org/item?id=11529)

---

If anybody has suggestions around these constraints I'm all ears.