project | ||
src | ||
build.sbt | ||
default.min.css | ||
highlight.min.js | ||
index.css | ||
index.html | ||
README.md |
Typeinference for Featherweight Java
Getting started
Building
sbt fullLinkJS
Input Examples
class Identity extends Object{
id(a){
return a;
}
}
class Overloading extends Object{
m(a, b){return a;}
m(a,b){return b;}
}
class TestOverloading extends Object{
test(a){
return new Overloading().m(this,a);
}
}
class List<A extends Object> extends Object{
A head;
List<A> tail;
add( a){
return new List(a, this);
}
get(){
return this.head;
}
}
class PrincipleType extends Object {
function(a){
return a.add(this).get();
}
}