lambda_mountain 1.13.53

Compiler Backend / Programming Language Scaffolding
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import LIB/default-instruction-set.lm;
import LIB/default-primitives.lm;
import LIB/default-rules.lm;
import LIB/default-stdlib.lm;
import LIB/default-templates.lm;

type XYZ<x,y> (XY( x , y )) | X | (Y( x ));

main := λ. (: (tail(
   ()
   ()
#   (let xy1 (XY( 1_u64 2_i8 )))
#   (let xy2 (: X 'X+XY<U8,I8>))
#   (let xy3 ((: Y 'Arrow<I32,Y+XY<I32,U64>>) ( 3_i32 )))
#   (print (.1(as xy1 XY)))
#   (print (.2(as xy1 XY)))
)) Nil);