Noen forskjeller mellom sml og haskell/ghc
- Ikke semikolon linjeslutt.
- Ikke "val" og "end". F.eks blir "let val x = 2 in 2*x" til "let x = 2 in 2*x"
- Ikke "fun" og ikke parenteser, f.eks. "fun x(y) = 2*x;" blir "x y = 2*x"
- Funksjoner kan ikke defineres i ghci, må lastes inn fra fil
- Unær negasjon "-" ikke tilde.
- Kommentar "--" til slutt av linje
- Repeterte deklarasjoner i let omsluttes av {} og skilles av ;
let val x=2 val y=3 blir let {x=3;y=2}
- Samme variabel kan ikke deklareres flere ganger
- Strengkonkatenetring ++
- Skille liste hode fra resten :
- Type ::
- Typenavn stor forbokstaver
- Funksjonsnavn liten forbokstav
- Liste [T], par (T1,...,Tn)
- datatype -> data
- Typenavn og konstruktører må ha stor forbokstav