INF 121
Side på studentportalen
Materiale til bruk for kurset INF121, høsten 2009. Dag Hovland. Send gjerne en melding om det er feil i lenker eller tekst.
Pensum
Andre bøker
Dette er bøker som også inneholder introduksjoner til deler av pensum. De er ikke fullgode alternativer til pensum, men kan brukes for ytterligere info
- Programming Languages. Principles and Practice. Second Edition. Kenneth Louden. ISBN 0-534-95341-7. Forfatteren har også skrevet boken som brukes i kurset INF225 om kompilatorteori. Boken er tenkt til et kurs tilsvarende INF121, men dekker mer stoff på mindre plass enn bøkene vi bruker.
- Types and Programming Languages. Benjamin C. Pierce. Hjemmeside: www.cis.upenn.edu/~bcpierce/tapl/index.html. Grundig innføring i typeteori og typesystemer, som vi bare er såvidt borti.
- Programming Languages, Concepts & Constructs. 2nd Edition. Ravi Sethi. ISBN 0-201-59065-4. Brukt til pensum i INF121 i mange år. Er ganske dyr ny, men får du den brukt og billig er den et godt supplement. Kapittel 2 av denne er i kompendiet.
- Programming Languages: Principles and Paradigms. Tucker. En annen bok som dekker noe tilsvarende INF121.
Haskell
Pensumboken er en god introduksjon. Bruk den sammen med manualen til GHC, (evt. HUGS). For mer utdypende info sjekk lenkene under.
- Om boken "Programming in Haskell":
- Sjekk typografiske konvensjoner i appendix B
- For å kjøre en del av eksempel-koden må du importere modulen "Char". I ghci skriver du ":m Char", i hugs interaktivt skriver du ":l Char", og i en fil skriver du "import Char"
- Hjemmesiden på www.cs.nott.ac.uk/~gmh/book.html. Sjekk "Slides" og "Code".
- Les errata på www.cs.nott.ac.uk/~gmh/errata.html.
- Hjemmesiden til GHC (Glaskow Haskell Compiler): www.haskell.org/ghc. Kjøres med "ghci". Finnes installert på labene.
- A tour of the Haskell Prelude
- Hvis du tidligere har brukt SML, (for eksempel tatt INF121 før) er noen av de enkle forskjellene lagt ut her. Merk at det er mange flere forskjeller, men denne listen kan kanskje hjelpe deg til å komme i gang.
- HUGS skal fungere likt til våre formål, men kan bare tolke, ikke kompilere. www.haskell.org/hugs
- Evaluer haskell-uttrykk her
- The Glorious Glasgow Haskell Compilation System User's Guide
http://www.haskell.org/ghc/docs/latest/html/users_guide/index.html. Spesifikk info om ghc for å komme igang. God referanse.
- Haskell-mode til emacs www.iro.umontreal.ca/~monnier/elisp. Hvis den ikke virker kan du stille inn riktig navn på ghci ved å gå til "Customize" i menyen "Haskell", og finn fram til "Haskell program name". Her skal det stå ghci "-i.", evt. med fullstendig sti. Det er et lite problem med haskell-mode, som kan fikses med å lime skriptet på paste.lisp.org/display/76044 inn i ~/.emacs.
- Haskell plugin til eclipse er installert på faklab, og finnes hos http://eclipsefp.sourceforge.net/haskell/. Husk å sette riktig sti til ghc.
- Wikibook om Haskell
- Hjemmesiden til boken Real World Haskell.
- www.haskell.org: Alt om haskell. Sjekk lenkene under "Learning"
- Programming in Haskell, skrevet av John Hughes, kurssider til bruk ved Chalmers University. www.cs.chalmers.se/Cs/Grundutb/Kurser/d1pt/d1pta/external.html
- Haskell :: Functional Programming with Types. En Wikibook. http://en.wikibooks.org/wiki/Haskell
- The Haskell98-report: haskell.org/haskellwiki/Language_and_library_specification
- All About Monads http://www.haskell.org/all_about_monads
- Artikler om Haskell.
Prolog
Pensumboken er en god introduksjon til prolog. Les denne sammen med manualen for implementasjonen du bruker, swi-prolog eller gprolog. Om du ønsker mer utdypende info eller får problemer, kan du prøve noen av lenkene under.
Unification (Martelli-Montanari) beskrevet på: