Finally, my #Funktal compiler can emit correct #Uxntal for some simple examples.
The first one shows named functions, lambda functions and primitive types:
functions {
sq = (\Int <- x:Int. x x *)
}
main {
6 7 (\ Int <- x:Int <- y:Int . x y * sq )
print
}
Funktal uses postfix notation for expressions and types. In Haskell, the sq function would be
sq :: Int -> Int
sq = \x -> x*x