TIES542 Tapaaminen 4
Strachey (lukuun 3.3 asti)
Keskeiset käsitteet (minun suomennokseni sulkeissa, pääsääntöisesti ei ole vakiintuneita suomennoksia):
- lvalue, rvalue (vasen/oikea arvo)
- idealized/abstract store (pelkistetty/abstrakti muisti)
- expression, command (vakiintuneesti lauseke ja käsky)
- jälkimmäisen asemesta nykyään yleensä statement (vakiintuneesti lause)
- referential transparency (viittausten läpinäkyvyys)
- environment (ympäristö)
- bound/free variable (vakiintuneesti sidottu/vapaa muuttuja)
- applicative structure (kutsurakenne)
- evaluate vs apply (laske vs kutsu)
- "device originated by Schönfinkel" (s. 21)
- yleisemmin kutsutaan termillä currying (ei suomennosta)
- "commands can be considered as functions wchich transform \(\sigma\)" (s. 24)
Ryhmätehtävä:
- ymmärrätkö nämä kaikki käsitteet?
- mitkä asiat Stracheyn jutusta vaativat tarkempaa käsittelyä yhdessä?
- onko Stracheyn jutussa jotain, josta olet eri vahvasti mieltä?
- onko Stracheyn ajatuksilla relevanssia nykyaikana?
Tennent (lukuun 3 asti) ja "Denotational semantics of for the calculator language"
Ryhmätehtävä:
- Mikä on Tennentin käsitys applicative ja imperative -kielijaottelusta?
- Miten LOOPin
to ... do
-lause toimii? - Osaatteko laskea Tennentin luvussa 2 esittämien määritelmien avulla LOOP-ohjelman
read x; x := succ x; write succc x;
merkityksen? - Osaatteko laskea Kaijanahon monisteen määritelmien avulla lausekkeen
let x = 2 in x * x
arvon?
Strachey epäselvät
- "commands can be considered as functions wchich transform \(\sigma\)"
- lvalue maps rvalue?
- idealized/abstract store (pelkistetty/abstrakti muisti)
- evaluate vs apply (laske vs kutsu)
These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.