2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
16
Task/Stack/Standard-ML/stack-1.ml
Normal file
16
Task/Stack/Standard-ML/stack-1.ml
Normal 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
|
||||
22
Task/Stack/Standard-ML/stack-2.ml
Normal file
22
Task/Stack/Standard-ML/stack-2.ml
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue