All checks were successful
ci/woodpecker/push/debian Pipeline was successful
ci/woodpecker/push/nix Pipeline was successful
ci/woodpecker/push/fedora Pipeline was successful
ci/woodpecker/cron/fedora Pipeline was successful
ci/woodpecker/cron/debian Pipeline was successful
ci/woodpecker/cron/nix Pipeline was successful
23 lines
737 B
OCaml
23 lines
737 B
OCaml
|
|
let def = Parser.parse_str "(define (f)
|
|
(let ((x 5))
|
|
(if t (set! x (+ x 1)))))
|
|
(define (f)
|
|
(define (g y) (* y 2))
|
|
(or (g 5) (g 6)))
|
|
(cond
|
|
((> 1 2) 0)
|
|
((> 3 2) 3)
|
|
(t -1))";;
|
|
|
|
let ( let* ) = Result.bind;;
|
|
let e =
|
|
(*let def = Parser.parse_str "(lambda () (+ x 1) (+ x 1))" in
|
|
*)
|
|
let* top = Compiler.Syntactic_ast.make (List.hd def) in
|
|
Ok (Printf.printf "%s\n" (Compiler.Syntactic_ast.print top))
|
|
|
|
let _ = match e with
|
|
| Error s -> Printf.printf "%s\n" s
|
|
| _ -> ()
|