On Sep 11, 2009, at 10:12 AM, [email protected] wrote: > Thing0-Family > > Gene 1 - uses fully parenthesized prefix notation > Gene 2 - doesn't punish programmers for writing infinitely deep > recursions if it can be helped > Gene 3 - provides first-class and higher-order functions > Gene 4 - provides a universal union type with predicates to > distinguish types at run-time > Gene 5 - is lexically scoped
[The word 'types' in serious PL society refers to a purely syntactic concept, establishing syntactic barriers of abstraction so that the run-time can use 0 for FALSE and for NULL and for other forms of data without getting confused. I'll ignore this problem for the moment.] Interestingly enough this description includes Typed Scheme http://www.ccs.neu.edu/scheme/pubs/#popl08-thf and Lazy Scheme http://www.ccs.neu.edu/scheme/pubs/#fdpe05-bc while the next few bullet points > Thing0-Strict: > > A programming language that is definitely a member of Thing0-Family > but also: > > Gene 6 - provides full TCO and is safe-for-space > Gene 7 - uses a call-by-value evaluation strategy > Gene 8 - provides macro-programming facilities based on program > structure > Gene 9 - is able to reify continuations > Gene 10 - provides a syntax for aggregate data exclude only Lazy Scheme. Of course, I'd like to write my programs in combinations of Lazy Scheme, Typed Scheme, and Scheme -- with all possible SAFETY guarantees available IF I SO WISH. > While this document is presented with a light tone, it is also quite > serious. The problem with this entire conversation is not that the lack of seriousness, it is the lack of an acknowledgement of the fundamental thesis of the Steering Committee that languages are like sharks. Remain still and die, or move. So now we have a nice 10-bullet commandment list for the small thing, how do you actually program in it? The other problem is that the discussion focuses on only one of the two essential things, ignoring again that the Steering Committee established an intimate link between the two of them. Matthias Felleisen, Engineer, Competent Nothing, Else _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
