Zulip Chat Archive
Stream: new members
Topic: Yatima frontend yields no stdout
Malcolm Langfield (May 30 2022 at 16:14):
I was looking at the Yatima compiler this afternoon because it looked neat (https://github.com/yatima-inc/yatima-lang). The main script is here:
import Lean
import Yatima.Cid
import Yatima.Univ
import Yatima.Expr
import Yatima.Const
import Yatima.Env
import Yatima.FromLean
-- forcing compilation:
import Yatima.Ipld.DagCbor
import Yatima.YatimaSpec
open Yatima.Compiler.FromLean
def main : List String → IO UInt32
| ["build", f] => do
let input ← IO.FS.readFile ⟨f⟩
IO.println s!"Input: {input}"
Lean.initSearchPath $ ← Lean.findSysroot
let (env, ok) ← Lean.Elab.runFrontend input .empty f `main
if ok then
match extractEnv env.constants with
| .ok env => --todo
return 0
| .error e =>
IO.println e
return 1
else
IO.eprintln s!"Lean frontend failed on file {f}"
return 1
| _ => return 0
I've made a one-line change, namely adding the IO.println
call to dump the input file path. It builds fine, but when I try to compile the example Foo.lean
file with ./build/bin/yatima Foo.lean
, there is no output whatsoever. This seems very strange to me, I don't see how the println
call is being skipped.
Malcolm Langfield (May 30 2022 at 16:15):
Using main
branch of linked library, commit 8e4ffd919bda9f2e7d8fea789db8a0d79ae9a656
.
Last updated: Dec 20 2023 at 11:08 UTC