Sha256: 38daace2c497e94140c3b14ef1423b5bdcde6fe4cb2c73908e0c32296243259c

Contents?: true

Size: 909 Bytes

Versions: 159

Compression:

Stored size: 909 Bytes

Contents

fun concat []                 = []
  | concat [[]]               = []
  | concat ([] :: xss)        = concat xss
  | concat ((x :: xs) :: xss) = x :: concat (xs :: xss)

fun reverse xs =
  let
    fun reverse' acc []        = acc
      | reverse' acc (x :: xs) = reverse' (x :: acc) xs
  in
    reverse' [] xs
  end

fun filter (predicate, []) = []
  | filter (predicate, (x :: xs)) =
      if predicate x
      then x :: filter (predicate, xs)
      else filter (predicate, xs)

fun map (f, [])      = []
  | map (f, x :: xs) = f x :: map (f, xs)

fun append (xs, [])      = xs
  | append ([], ys)      = ys
  | append (x :: xs, ys) = x :: append(xs, ys)

fun length []        = 0
  | length (x :: xs) = 1 + length xs

fun foldl (_, acc, [])        = acc
  | foldl (f, acc, (x :: xs)) = foldl (f, (f (acc, x)), xs)

fun foldr (f, acc, [])      = acc
  | foldr (f, acc, (x::xs)) = f (x, (foldr (f, acc, xs)))

Version data entries

159 entries across 159 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.179 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.178 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.177 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.176 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.175 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.174 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.173 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.172 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.171 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.170 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.169 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.167 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.166 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.165 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.164 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.163 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.162 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.161 tracks/sml/exercises/list-ops/example.sml
trackler-2.2.1.160 tracks/sml/exercises/list-ops/example.sml