Sunday, December 17, 2006

PL

I just moved out from the LAB and moved in to LIB.
DK said:
FP:
roughly 35-40% : Scheme
roughly 35-40% : ML
LP:
roughly 10-15% : Prolog
Oscar's part:
roughly 10-15% : other, e.g. activation records
Functional Programming
the working language for textbook is Standard ML.
30s:
Alan Turing's Turing machine
based on an updated store (memory)
Alonzo Church's lambda calculus
based on the mathematical concept of functions

LAMBDA calculus is the foundation of FP paradigm.
functions -- first class object
-> pass as argument
-> return as result
-> store in variable

basic mode of computation : construction and application of functions
principle control mechanism: recursive function application
free from side-effect: no assignment
example: LISP, Scheme, ML, Haskell, Miranda...

<> ::= <>
| <> ->
|
<> * <>
| <> list

->, *, list r in order of decreasing precedence.
basic value := atomic


Scheme:

We have implemented a micro Scheme ourselves this semester!