3 Compiler stuff
3.1 What's Ksi?
Ksi is intermediate language that Gont compiler
outputs. Ksi looks like Lisp, but is rather close to C in spirit. Ksi
is compiled by GCC front end.
3.2 Does Gont compiler reconstruct types?
Yes. However few operators are ad-hoc polymorphic, so there is often
need for explicit type annotations.
Also it is allowed to have field named let's say next
in two
structures foo
and bar
. In this case there is no way to
tell type of x.next
if type of x
is not yet known. Type
annotation is requires also in this case.
Additionally functions are typechecked sequentially, and it is error
to call global function that has no explicit types and has not been
yet typechecked.