restart
Conclusion:
Lessons from building
lightweight libraries in Jscheme
Things that lighten code:
functional iteration
e.g. for-each, map, filter
(don't need loop-bounds/tests,car,cdr,for...)
functional mini languages
e.g. JLIB GUI construction
(don't need temp variables, assignments, structure mirrors syntax, ...)
good support
only
for most common operations
e.g. pattern matching, system access, table layouts, simple db queries
(keeps language small)
API access to all other features,
e.g. grid bag layout...
(makes common things elegant, uncommon possible but possibly ugly)
functions with args dipatched on types or keywords
e.g. JLIB widget args
(simplifies language, don't need to remember arg number/order)
easy to read/learn string syntax
e.g. quasi-strings for HTML and DB
(allows complex strings to be created easily)
Summary: reduce cognitive load whenever possible
restart talk
back to top
set preferences
LL2, Saturday 9 November 2002, Tim Hickey/Ken Anderson