Data commit

This commit is contained in:
Ingy döt Net 2023-07-01 11:58:00 -04:00
parent 7387c8f97b
commit cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions

View file

@ -0,0 +1,16 @@
signature STACK =
sig
type 'a stack
exception EmptyStack
val empty : 'a stack
val isEmpty : 'a stack -> bool
val push : ('a * 'a stack) -> 'a stack
val pop : 'a stack -> 'a stack
val top : 'a stack -> 'a
val popTop : 'a stack -> 'a stack * 'a
val map : ('a -> 'b) -> 'a stack -> 'b stack
val app : ('a -> unit) -> 'a stack -> unit
end

View file

@ -0,0 +1,22 @@
structure Stack :> STACK =
struct
type 'a stack = 'a list
exception EmptyStack
val empty = []
fun isEmpty st = null st
fun push (x, st) = x::st
fun pop [] = raise EmptyStack
| pop (x::st) = st
fun top [] = raise EmptyStack
| top (x::st) = x
fun popTop st = (pop st, top st)
fun map f st = List.map f st
fun app f st = List.app f st
end