ligo/src/test/contracts/list.mligo
2019-09-24 10:54:14 +02:00

27 lines
647 B
Plaintext

type storage = int * int list
type param = int list
let x : int list = []
let y : int list = [ 3 ; 4 ; 5 ]
let z : int list = 2 :: y
let%entry main (p : param) storage =
let storage =
match p with
[] -> storage
| hd::tl -> storage.(0) + hd, tl
in (([] : operation list), storage)
let fold_op (s : int list) : int =
let aggregate = fun (prec : int) (cur : int) -> prec + cur in
List.fold s 10 aggregate
let map_op (s : int list) : int list =
let aggregate = fun (cur : int) -> cur + 1 in
List.map s aggregate
let iter_op (s : int list) : unit =
let do_nothing = fun (cur : int) -> unit in
List.iter s do_nothing