MODULE ::= EXPR* EXPR ::= | int | float | bool | string | ident | CALL | LAMBDA | FUNDECL CALL ::= opar EXPR EXPR* cpar LAMBDA ::= opar rarrow opar PARAMS cpar BODY cpar PARAMS ::= ident* BODY ::= EXPR* FUNDECL ::= | opar ident opar ident PARAMS cpar BODY cpar