Skip to content

AnyDSL/impala2-experiment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

186 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Debug Release
gcc Build1 Build2
clang Build3 Build4

Impala 2

Building

git clone --recurse-submodules git@github.com:AnyDSL/impala2.git cd impala2 mkdir build cd build cmake .. make 

If you are a developer, you might want to use this:

git config --global url.ssh://git@github.com/.insteadOf https://github.com/ 

This will use SSH instead of HTTPS and will grant you push access for the submodules if applicable.

Syntax

p = _p [":" e]; (* pattern with optional type *) pt = _p ":" e | e; (* pattern with mandatory type *) _p = ID | tp; (* pattern base *) tp = "(" p "," ... "," p ")"; (* tuple pattern *)  (* expressions *) e = ID | "[" pt "," ... "," pt "]" (* sigma *) | "(" [ID "="] e "," ... "," [ID "="] e")" [":" e] (* tuple *) | "." ID (* field *) | "ar" "[" pt "," ... "," pt ";" e "]" (* variadic *) | "pk" "(" pt "," ... "," pt ";" e ")" (* pack *) | "\/" pt "->" e (* abstraction type *) | "Fn" pt "->" e (* function type *) | "Cn" e (* continuation type *) | "\" tp ["->" e] e (* abstraction *) | "fn" A tp ["->" e] e (* function *) | "cn" A tp e (* continuation *) | e "(" e ")" (* cps application *) | e "[" e "]" (* ds application *) | "if" e B ["else" B] (* if *) | "match" e "{" p "=>" e "," ... "," p "=>" e "}" (* match *) | "while" e B (* while *) | "for" p "in" e (* for *) | B (* block *) ;  A = "[" p "," ... "," p "]" | (*nothing*); (* optional inline abstraction *)  B = "{" s ... s [ e ] "}"; (* block expression *)  (* statement *) s = e ";" (* expression statement *) | "let" p "=" e ";" (* let statement *) | i (* item statement *) (* items *) i = "fn" ID A tp ["->" e] e (* function item *) | "cn" ID A tp e (* continuation item *) ;

Tips using git Submodules

This will automatically checkout the proper commit of all submodules when switching branches via git checkout my_branch:

git config --global submodule.recurse true 

Releases

No releases published

Packages

 
 
 

Contributors