JanUlrich / FeatherweightTypeInference

Showcasing typeinference for Featherweight Java

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Typeinference for Featherweight Java

Getting started

Try it here

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();
  }
}

About

Showcasing typeinference for Featherweight Java


Languages

Language:Scala 96.3%Language:CSS 2.3%Language:HTML 1.4%