Data update
This commit is contained in:
parent
81fd053722
commit
52a6ef48dd
10248 changed files with 63654 additions and 6775 deletions
12
Task/Variadic-function/OCaml/variadic-function-2.ml
Normal file
12
Task/Variadic-function/OCaml/variadic-function-2.ml
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
type 'a variadic =
|
||||
| Z : unit variadic
|
||||
| S : 'a variadic -> (string -> 'a) variadic
|
||||
|
||||
let rec print : type a. a variadic -> a = function
|
||||
| Z -> ()
|
||||
| S v -> fun x -> Format.printf "%s\n" x; print v
|
||||
|
||||
let () =
|
||||
print Z; (* no arguments *)
|
||||
print (S Z) "hello"; (* one argument *)
|
||||
print (S (S (S Z))) "how" "are" "you" (* three arguments *)
|
||||
Loading…
Add table
Add a link
Reference in a new issue