4 ms·
Some sort of governing entity. The ANSI standard has left the language totally dead in the water, and is the single biggest thing holding back this really quite
by anlsh 4y ago
Some sort of governing entity. The ANSI standard has left the language totally dead in the water, and is the single biggest thing holding back this really quite beautiful language
Package local nicknames. The situation that libraries like Alexandria are in is really sad.
Nested namespacing/packages.
The ability to alias imports, like in Python.
In the same vein, most symbols in the spec should be moved into a standard library.
A general equality predicate which can be specialized by the user.
Just replace multiple-value-returns with structs, they don't add anything useful.
Standardize some variant of arrow macros.
Every form which introduces a binding should be able to take a (optional) type specifier. It'd be great if compilers could use this option to remove generic dispatch in certain compilation modes.
- septic_balls 4y agowhy the hate on ansi
- sargstuff 4y ago?? lack of knowledge about ansi escape sequences ??
- vindarel 4y ago> Just replace multiple-value-returns with structs, they don't add anything useful. Oh yes they do! They allow to add a return value without modifying all the calling sites. Extremely useful.
- sargstuff 4y agoAlgol based languages -> 1st order logic (implicit 'single' return) algol languages array/stack with 'struct' abstract ('struc' abstract converted by compiler to ether parallel array(s) and/or array byte grouping per array ordinal index offset) Lisp languages -> 2nd order logic (implicit nil/1 or many returns) lisp is a tree / heap language where tree node is the 'implied' struct. tree/heap much more flexible than fixed size array of strucs.
- dreamcompiler 4y agoThey also don't cons. Structs do.
- sargstuff 4y agolisp -> 1-n; s-expression 1st element ins () is the "memory index" structs -> n * M; "m-expression" 1st element outside of () is the "memory index". cons struc vs. cons lisp () is apples/oranages comparison. if convert both the 'cons struc' and the cons lisp () to same byte vector/stack or equivalent byte tree/heap, then yes, both 'cons' functions are equivalent. higher order equivalent of mealy state machine vs. moore state machine. [1] side note: ( 1 - n ) vs (n * m) is context reference to ploting base 2 log(x). (1 - n ) can never exceed 1. N * M, relative to (1 - n) is unbounded. ===== [1] : https://www.geeksforgeeks.org/difference-between-mealy-machine-and-moore-machine/ https://www.geeksforgeeks.org/difference-between-mealy-machi...
- sargstuff 4y agoWrapping the multivalue return using decorators / generators would provide the 'struct' equivalent without rewriting to 'single' struct. lisp approach to dectorators / generators disucssion. https://stackoverflow.com/questions/32956033/is-there-a-straightforward-lisp-equivalent-of-pythons-generators https://stackoverflow.com/questions/32956033/is-there-a-stra...
- kazinator 4y agoAnother take is that a bunch of clever people not only got the job done, but recognized that their role is done and went their separate ways. A similar thing happened in hardware with the HDMI spec. The worst thing in programming languages is these insipid language committees that refuse to disband. If you look at C and C++, it's obvious the main thing they care about above all is their self-preservation: the ability to continue meeting and tinkering with languages that everyone else critically depends on being stable. The goal of no technical committee should be its own self-preservation.
- jacquesm 4y agoThis is so true. Once it's done: stop working on it. All this instability serves nobody in the longer term. At the same time: lots of stuff is released half baked or worse and as a result you get a decade of goal post moving and backwards incompatibility for free.