Kurssilla käytetään Scheme-toteutusta nimeltä Gambit-C. Niksulassa on asennettuna versio 4.4.3. Scheme-robo (automaattinen palautusjärjestelmä) perustuu SICPin metasirkulaariseen tulkkiin ja ei vastaa täysin Gambit-C-tulkkia. Katso tarkemmat ohjeet Scheme-robosta.
Niksulassa kurssin tulkin saa käyntiin käyttämällä komentoa use scheme. Tämän jälkeen scheme-tulkin voi käynnistää kirjoittamalla kehotteeseen scheme.
use scheme:n jälkeen voit myös lukea Scheme-standardia, SICP-kirjaa ja R5RS-standardia Niksulassa scheme-info-komennolla tai Emacsista alla olevan asetustiedoston asentamisen jälkeen C-h i:llä.
Huom! Niksulan use-komento ei tällä hetkellä toimi OpenSolaris-ympäristössä, joten näissä koneissa Scheme-tulkki tulee käynnistää komennolla: ~scheme/bin/scheme
Schemeä voi toki kirjoittaa haluamallaan tekstieditorilla, mutta tässä hieman apuja Emacs-editorin käyttöön.
Niksulassa edelliset asetustiedostot toimivat suoraan (ja kopio dot.emacs.sample-tiedostosta löytyy polusta ~scheme/.emacs). use scheme-komennon jälkeen M-x run-scheme käynnistää Scheme-tulkin Emacs-ikkunaan.
Muualla joudut kopioimaan cparen.el:n sopivaan hakemistoon, esim. ~/.elisp/, ja muuttamaan em. asetustiedostojen alussa olevaa load-path-riviä osoittamaan tähän hakemistoon. Lisäksi, jos haluat Emacsin käynnistävän komennolla M-x run-scheme kurssilaajennuksilla varustetun tulkin, voit muuttaa em. tiedostoissa olevaa scheme-program-name-riviä osoittamaan haluamaasi tulkkiin. Tai jos et käytä em. asetustiedostoja, voit laittaa tiedostoon ~/.emacs seuraavan rivin:
(setq scheme-program-name "path/to/course-scheme-gambitc")
Pikaohje muutamasta Emacsin Scheme-ominaisuudesta em. asetustiedostojen kanssa:
Kurssilla on käytössä muutamia SICPiin ja kurssiin liittyviä omia määritelmiä, joita normaalissa Gambit-C:ssä ei ole. Nämä ovat valmiiksi asenettuina Niksulan ympäristössä. Voit myös asentaa nämä laajennukset omalle koneellesi seuraavasti:
Purkamalla paketin course-extensions.tar.gz (päivitetty 28.7.) edellä mainittuun hakemistoon saat käyttöösi kaikki tehtävissä tarvittavat kurssilaajennukset.