1
0
mirror of https://github.com/alecthomas/chroma.git synced 2025-02-13 13:28:27 +02:00
chroma/lexers/testdata/sml.actual
2019-12-01 23:17:22 -08:00

45 lines
956 B
Plaintext

signature S = sig
datatype t = Hoge | Fuga
end
structur A = struct
structure B = struct
structure C = struct
type t = int * real * string * bool ref
end
end
end
functor F(X:sig type t; val compare: t * t -> order): S = struct
datatype t = Hoge | Fuga
end
structure Main = struct
local
structure M = F(Int)
open M
in
fun id x = x
val bool = if true then false orelse false else true andalso true
val int = ~1 + 1
val real = 0.7 - 0.32E5 * E3~7
val string = "a\a\b\t\n\v\f\r\^M\097\u00a1\"\\\
\"
(* (* comments *) *)
val ## = 1
val |=| = 2
infix ##
infixr ##
val op## = case Hoge of
Hoge => Fuga
| Fuga => Hoge
type s = {1: t, label: unit}
type u = A.B.C.t
val s = {1 = Hoge, label = ()}
fun id x = x
val rec id = fn x => x
exception X and Y
raise X handle X => (nil, [1], [1, 2])
end
end