Thu Jun 26 20:39:54 CEST 2008

Backus Turing Awared Lecture

Interesting points about FP:

  * all functions are unary. (this fits in a concatenative but not
    necessarily stack-based) approach.

  * primitive combining forms are chosen not only for their
    computational properties, but also for how they behave in the
    algebra of programs.

It has crossed my mind about using objects different than stacks to
perform the chaining. Looks like that is what FP is: lists of lists.

( PF is FP backwards. very funny. giving FP a postfix syntax wouldn't
be completely insane, really.. having an embedded array processing
language is a concatenative one could get away with the strange
semantics of 'map' in a concatenative language: turning a value from a
list into a stack, processing it and turning the result back into a
value. )

  * functional forms and parameterized programming are quite related.

  * to apply a defined symbol, replace it by the RHS of its

so, if you change the syntax around such that forms are implemented by
postfix macros that expect quoted programs, but do NOT allow quoted
programs to survive the compilation, you're done right? a
concatenative functional macro language.