Scheme og DrRacket

Programmeringsspråket vi bruker i IN2040 er Scheme (en variant av Lisp) og vi anbefaler at du bruker programmeringsomgivelsen DrRacket.  Alle studentmaskinene ved IFI har DrRacket installert.  Det kan lastes ned til egen maskin fra www.racket-lang.org.

 

Dialekter av Scheme

Det er viktig å merke seg at DrRacket har støtte for flere ulike dialekter av Scheme, så det første vi må gjøre er å velge riktig innstilling for språk (hvis ikke det allerede har blitt gjort).  Dette gjør man via Language i menylinjen, og i vårt tilfelle skal valget være R5RS (dette står for Revised 5 Report on the Algorithmic Language Scheme og er navnet på standarden som beskriver den Scheme-varianten som er mest utbredt og som også vi skal bruke).  NB: DrRacket støtter også språket Racket som er en annen Scheme-dialekt og en utvidelse av den nyere spesifikasjonen R6RS, men det er altså ikke dette språket vi bruker i IN2040.

 

Litt mer om bruk av programmeringsomgivelsen

DrRacket har to hovedvinduer som kan være åpne samtidig eller hver for seg.  I det øverste (når begge er åpne) kan du skrive inn kode du ønsker å lagre.  I det nederste vinduet finner du den den såkalte REPL'en (read-eval-print-loop) der du kan kjører koden og lese av resultatene.  REPL'en er slags interaktiv "kommandolinje" for Scheme-interpreteren som evaluerer koden du skriver inn.  Det kan være verdt å bruke litt tid på å lese seg opp på grunnleggende bruk i DrRacket-manualen.

 

DrRacket på Linux på IFI

Hvis du jobber på en IFIs linuxmaskiner så skal DrRacket kunne åpnes rett fra meny-linja (prøv f.eks Applications - Programming - DrRacket), men dersom du ønsker å starte det via terminalen så finner du det typisk installert som /usr/bin/drracket.

 

Emacs

For de som måtte være vant til å bruke Emacs som editor kan man kanskje kjenne igjen visse likheter med hvordan DrRacket er organisert.  Dersom du heller vil bruke Emacs som editor står du naturligvis fritt til det.  Tidligere gruppelærer Lars Tveito har skrevet litt om kombinasjonen Scheme og Emacs her.

 

Publisert 17. aug. 2020 15:43 - Sist endret 25. aug. 2020 15:47