Write up design decisions / goals
Opened this issue · 0 comments
DangerMouseB commented
Off the top of my head
- professional quality and speed
- ease of use for non-career programmers
others
- performance - needs to be as fast as normal python
- influences - simplicity (Smalltalk, q/kdb, Cuis / Rich Hickey), magritr library (https://magrittr.tidyverse.org/)
- programming with types vs programming with classes (expressivity for the user which leads to formation of a culture leading to tacit expression)
- the extensibility problem
- easy to understand error messages
- dispatch must not interfere with stack trace or debugger (hence putting in C)
- explicit lazyness (implicit gets very hard to debug and complicates code)
- focussed on optimising interactive use for non-career programmers rather than professional programmers who use a compile execute paradigm
- PoD rather than classes / OO
- Alan Kay on OO quote
- high quality error messages (ones that ideally don't need any further googling, stack overflowing, etc)