StandardML

Fra TermvaktWiki
Gå til: navigasjon, søk

StandardML er et modulært funksjonelt programmeringsspråk, og StandardML of New Jersey (forkortes SML/NJ) er en kompilator for dette programmeringsspråket. SML/NJ er gratis, open source programvare. På våre termstuer er det installert kompilator både på Windows og Linux maskinene.

Innhold

Slik starter du StandardML of New Jersey

I Windows

StandardML1.png

Klikk på startknappen på startmenyen, trykk på All programs og deretter SML of New Jersey. Alternativt skriv inn SML of New Jersey i søkefeltet i startmenyen og trykk enter.

StandardML3.png

Etter kort tid dukker dette arbeidsvinduet opp.

Dersom du allerede har en fil du vil kompilere og kjøre i sml lønner det seg å trykke på startmenyen, velge run, og så skrive inn cmd. Dette gjør at det kommer opp et terminalvindu. Deretter navigerer du til mappa som inneholder sml fila, og skriver følgende (uten >) i terminalvinduet, hvor filnavn byttes ut med det faktiske filnavnet:

> sml filnavn.sml

I Linux

I linux kan du kjøre StandardML fra terminalen slik:

$ sml
Standard ML of New Jersey v110.67 [built: Sun Sep  7 14:08:44 2008]
-

Merk at dersom sml startes uten at man inkluderer en fil som argument, så må man skrive inn linje for linje manuelt, hvor dette blir kompilert ved første semikolon. Se hello world eksempel 2.

Et bedre alternativ kan være å skrive

$ sml ./filnavn.sml

Se hello world eksempel 1.

Kompilering og kjøring av program

Man trenger ikke manuelt prekompilere filer i sml med en egen kompilator. Kompilering og eksekvering gjøres automatisk av sml dersom man skriver følgende i terminalvinduet, hvor filnavn byttes ut med det faktiske filnavnet:

$ sml ./filnavn.sml 
Standard ML of New Jersey v110.67 [built: Sun Sep  7 14:08:44 2008]
[opening ./filnavn.sml]
-

Avslutte sml

Dette gjøres ved å trykke CTRL-d

Eksempel: hello world

Dette er det klassiske eksempelet på hvordan få programmet til å skrive ut teksten "Hello world!" på skjermen.

Eksempel 1

Først oppretter vi en fil med navn hello.sml. Programmet inneholder følgende kode:

 val () = print "Hello world!\n";

print er kommandoen man bruker for å skrive ut til skjerm. Det som står inne i "" er stringen, eller teksten, som skal skrives ut. \n betyr linjeskift.

For å kompilere og kjøre det lille programme vårt skriver vi

 $ sml ./hello.sml

Da kommer teksten "Hello world!" opp på skjermen. Vi avslutter ved å trykke CTRL-d.

Eksempel 2

Vi starter opp sml ved å skrive følgende i terminalvinduet:

$ sml

Denne gangen starter sml opp, men har ikke noen fil å jobbe med. For at sml skal skrive ut "Hello world!" må vi skrive inn følgende linje i terminalvinduet:

val () = print "Hello world!\n";

Nok en gang kommer det opp "Hello world!" på skjermen når man trykker enter.

Viktig om filforlengelser

For at sml skal forstå at det er en sml fil den mottar, må fila ha filforlengelse .sml. Dersom fila ikke har dette kommer det opp en feilmelding:

!* unable to process 'filnavn' (unknown extension '<none>')

Eksterne linker

Personlige verktøy
Navnerom
Varianter
Handlinger
Navigasjon
Kategorier
Programvare
Andre
Translate
Verktøy