mfp05a: tematika, időbeosztás
Legutóbbi frissítés: 2005. dec. 4.
- 1.-2. hét: Az SML modulnyelve
- Fő jellemzők: signatures, structures, functors, type sharing,
etc.
- Harper's Programming in Standard ML: <http://www-2.cs.cmu.edu/~rwh/smlbook>
- Moscow ML Language Overview: <http://www.dina.kvl.dk/~sestoft/mosml/mosmlref.pdf>
- Moscow ML Owner's Manual: <http://www.dina.kvl.dk/~sestoft/mosml/manual.pdf>
- További olvasnivaló (németül): <http://www.ps.uni-sb.de/courses/prog-ws00/skript/9.pdf>
- Előadások:
- Időpontok: szept. 13. ke, 16. pé, 20. ke, 23. pé
- Modul, struktúra, szignatúra, áttetsző és átlátszó-szignatúra,
szignatúra-bővítés, struktúra-öröklődés, szignatúra-illeszkedés
- Szignatúra-kötés, modulok függősége, modulok hierarchikus
összekapcsolása, példa: polimorf szótár
- Modulok szimmetrikus összekapcsolása: típusmegosztás,
struktúramegosztás. Paraméterezhető modulok, példa: polimorf szótár
funktorral, funktorok és típusmegosztás
- Diák és programpéldák:
PDF 1/A4
PDF 2/A4
PDF 4/A4
PS 1/A4
PS 2/A4
PS 4/A4
SML
- 3.-6. hét: Alice
- Fő jellemzők: futures (lazy evaluation, concurrency), higher-order
modules, packages, pickling, components, distribution, constraints, etc.
- Alice Through the Looking Glass (Extended Mix): <http://www.ps.uni-sb.de/Papers/abstracts/alice-looking-glass-extended.html>
- Alice Manual - A Tour to Wonderland: <http://www.ps.uni-sb.de/alice/manual/tour.html>
- Alice Manual - The Language: <http://www.ps.uni-sb.de/alice/manual/language.html>
- Constraint Programming in Alice (kurzus Saarbrückenben): <http://www.ps.uni-sb.de/courses/cp-ss05/services.html>
- További olvasnivalók (egyes cikkek): <http://www.ps.uni-sb.de/courses/seminar-ws03>
- Alice download: <http://www.ps.uni-sb.de/alice/download.html>
- Előadások:
- Időpontok: szept. 27. ke, 30. pé, okt. 4. ke, 11. ke, 14. pé,
18. ke, 21. pé
- Jövők (lusta, konkurens, ígért, meghiúsult), csomagok (pack,
unpack)
- Konzerválás (pickling), elosztott programozás (distributed).
Példa: "Gondoltam egy számot".
- Korlátalapú programozás véges tartományokban, példák: send + more =
money, send + most = money, n vezér a sakktáblán (kétféle modellel);
inspektor, explorer; a korlátalapú programozás egyik modulja: FD.
- A korlátprogramozás további moduljai: Linear, FS. A keresési tér
moduljai: Space, Search
- Az Alice további nyelvi kiterjesztései: típusnyelvi, modulnyelvi és
szintaktikai kiterjesztések
- Az Alice egyéb könyvtári moduljai: Explorer, Inspector,
MkRedBlackSet
- Diák és programpéldák:
- Jövők, csomagok, elosztott programozás
PDF 1/A4
PDF 2/A4
PDF 4/A4
PS 1/A4
PS 2/A4
PS 4/A4
- Korlátalapú programozás
PDF 1/A4
PDF 2/A4
PDF 4/A4
PS 1/A4
PS 2/A4
PS 4/A4
- Constraint programming (M. Kuhlmann, G. Tack)
PDF 6/A4,
PDF 1/A4
- Példaprogramok: Gondoltam egy számot
ZIP,
Send More Money
AML,
Send Most Money
AML,
Nyolc vezér a sakktáblán
AML
- Kisebb Alice-példák:
aliceFac.aml,
aliceFinally.aml,
aliceMain.aml,
aliceModules.aml,
aliceSimple.aml,
aliceTutorialComponents.aml,
aliceTypeExtensions.aml,
aliceConstr.aml,
aliceDefined.aml,
aliceGrocery.aml,
alicePythagoras.aml
- 7.-11. hét: Haskell
- Fő jellemzők: purely functional, lazy evaluation, polymorphism,
powerful abstractions
- Haskell home (description, manual, etc.): <http://www.haskell.org/>
- Hugs download: <http://cvs.haskell.org/Hugs/pages/downloading.htm>
- Előadások:
- Időpontok: okt. 25. ke, 28. pé, nov. 4. pé, 8. ke, 15. ke, 22.
- A Haskell mint funkcionális nyelv és mint lusta nyelv
- A Haskell-típusnyelv kiterjesztése. A Haskell modulnyelve
- "Imperatív" elemek a Haskellben: meghiúsulás kezelése,
állapotkezelés, ki- és bevitel
- Monádok
Olvasnivalók
- Diák és programpéldák:
- 12. hét: Continuation passing style (Haskell, SML)
- Fő jellemző: folytatás mint paraméter
- Előadások:
- Diák és programpéldák:
- 13.-14. hét: Házi feladatok megbeszélése (terv)
Házi feladatok
Négy kis-közepes méretű feladatot kell megoldania mindenkinek.
Kapcsolattartás
Az <mfp-l@iit.bme.hu> című levelező lista útján. Beállítások,
archívum: <http://www.iit.bme.hu/mailman/listinfo/mfp-l>
Egyebek
Hanák Péter <hanak at inf.bme.hu>