Ocaml MyList

Walter Bonetti

BASIC FUNCTIONS

My LIST

  • Iter
  • Cons
  • head / tail

ADVANCED FUNCTIONS

FUNCTIONS

  • mem
  • assoc
  • sort

Bonus

  • map2
  • fold_right
  • fold_left
  • for_all
  • iter2
  • compare_lenghts
  • compare_lenghts_with
#       type 'a my_list = Item of ('a * 'a my_list) | Empty
#         val length : 'a my_list -> int = <fun>
#         val hd : 'a my_list -> 'a = <fun>
#         val tl : 'a my_list -> 'a my_list = <fun>
#               val nth : 'a my_list -> int -> 'a = <fun>
#         val rev_append : 'a my_list -> 'a my_list -> 'a my_list = <fun>
#       val rev : 'a my_list -> 'a my_list = <fun>
#       val append : 'a my_list -> 'a my_list -> 'a my_list = <fun>
#         val flatten : 'a my_list my_list -> 'a my_list = <fun>
#     val concat : 'a my_list my_list -> 'a my_list = <fun>
#               val iter : ('a -> 'b) -> 'a my_list -> unit = <fun>
#               val iteri : int -> (int -> 'a -> 'b) -> 'a my_list -> unit = <fun>
#     val iteri : (int -> 'a -> 'b) -> 'a my_list -> unit = <fun>
#         val map : ('a -> 'b) -> 'a my_list -> 'b my_list = <fun>
#         val mapi : int -> (int -> 'a -> 'b) -> 'a my_list -> 'b my_list = <fun>
#             val map2 : ('a -> 'b -> 'c) -> 'a my_list -> 'b my_list -> 'c my_list = <fun>
#         val fold_right : ('a -> 'b -> 'b) -> 'b -> 'a my_list -> 'b = <fun>
#         val fold_left : ('a -> 'b -> 'a) -> 'a -> 'b my_list -> 'a = <fun>
#         val for_all : ('a -> bool) -> 'a my_list -> bool = <fun>
#         val exists : ('a -> bool) -> 'a my_list -> bool = <fun>
#         val mem : 'a -> 'a my_list -> bool = <fun>
#         val memq : 'a -> 'a my_list -> bool = <fun>
#         val find : ('a -> bool) -> 'a my_list -> 'a = <fun>
#             val find_all : ('a -> bool) -> 'a my_list -> 'a my_list = <fun>
#     val filter : ('a -> bool) -> 'a my_list -> 'a my_list = <fun>
#             val partition : ('a -> bool) -> 'a my_list -> 'a my_list * 'a my_list = <fun>
#           val split : ('a * 'b) my_list -> 'a my_list * 'b my_list = <fun>
#             val combine : 'a my_list -> 'b my_list -> ('a * 'b) my_list = <fun>
#               val compare_lenghts : 'a my_list -> 'b my_list -> int = <fun>
#               val compare_lenghts_with : 'a my_list -> int -> int = <fun>
#     val cons : 'a -> 'a my_list -> 'a my_list = <fun>
#         val assoc : 'a -> ('a * 'b) my_list -> 'b = <fun>
#         val assq : 'a -> ('a * 'b) my_list -> 'b = <fun>
#         val insert : ('a -> 'a -> int) -> 'a -> 'a my_list -> 'a my_list = <fun>
#         val sort : ('a -> 'a -> int) -> 'a my_list -> 'a my_list = <fun>
#         val mem_assoc : 'a -> ('a * 'b) my_list -> bool = <fun>
#         val mem_assq : 'a -> ('a * 'b) my_list -> bool = <fun>
#             val iter2 : ('a -> 'b -> 'c) -> 'a my_list -> 'b my_list -> unit = <fun>
#                   val merge : ('a -> 'a -> int) -> 'a my_list -> 'a my_list -> 'a my_list =
  <fun>
#           val remove_assoc : 'a -> ('a * 'b) my_list -> ('a * 'b) my_list = <fun>
#         val remove_assq : 'a -> ('a * 'b) my_list -> ('a * 'b) my_list = <fun>

Thank you for watching

Ocaml MyList

By bonett_w

Ocaml MyList

The Epitech MyList OCaml project

  • 525