ela>x=[1,2,3,4] ela>x [1,2,3,4] ela>y=5::x [5,1,2,3,4] ela>6::y [6,5,1,2,3,4]

ela>1 :: [2,3,4] [1,2,3,4] ela>1 :: 2 :: [3,4] [1,2,3,4]

ela>4::3::2::[1] [4,3,2,1] ela>4::3::2::1::[] [4,3,2,1]

ela>[x,y,z]=[1,2,3] ela>x 1 ela>y 2 ela>x+y+z 6

ela>(x :: [y,z]) = [4,5,6] ela>x 4 ela>y 5 ela>z 6

ela>(x:yz)=[1,2,3] ela>x 1 ela>yz [2,3]

ela>(first :: second :: rest) = [5,4,3,2,1] ela>first 5 ela>second 4 ela>rest [3,2,1]

ela>x=[1,2,3] ela>x:1 2 ela>x:0 1 ela>y=[5,6] ela>z=x++y ela>z [1,2,3,4,5,6]

ela>[1,2]++[3,4] [1,2,3,4]

ela>head [1,2,3,4] 1 ela>tail [1,2,3,4] [2,3,4] ela>tail (tail [1,2,3,4]) [3,4] ela>tail [3,4] [4] ela>tail [4] [] ela>tail [] Error: Empty list. ela>isnil [] true

ela>sum lst = (head lst) + sum (tail lst) ela>sum [1,2] Error: Empty list.

ela>sum lst = if isnil lst then 0 else (head lst) + sum(tail lst) ela>sum [1,2] 3

ela>sum (x::xs) = x + sum(xs) ela>sum [1,2] Error: Matched failed.

ela>x=1;y=2 ela>x 1 ela>y 2

ela>sum [] = 0; sum (x::xs) = x + sum(xs) ela>sum [1,2] 3