I'll add my pitch: 1) proper phase-distinction between compilation and evaluation
- not possible with the way that macros are currently done
2) if not (1), then there's no excuse for not making macros first-class
- see how to in: http://arclanguage.com/item?id=842
3) modules (like everyone :)
4) Extend the concept of application to data to all data types by making it programmable in arc
- Currently you can do ((list 1 2 3) 0) and you'll get 1,
- why not allow this for all data-types by having a call-back into arc, such that arc-code can switch on the type.
5) Hygienic macros
6) Removal of 'nil
- 'nil does nothing more than '(), and often it breaks (e.g:
- when printing cyclic structures
- the fact that not all '()'s are replaced by 'nil). )
- Seriously, what's the need for 'nil? Just use '()
7) That's it for now, if you want unicode, but bleh
In general, I think the focus on conciseness, while a good thing, should not be the sole purpose. I think pg is slightly misguided on focusing solely on that. You can get conciseness, if your language is powerful enough, through the use of libraries. Small changes like fn and the way if works are easily done through the use of some macrology.