Go to file
Andreas Stadelmeier abe4f78490 Fix Type in README
2022-07-23 09:36:37 +02:00
project Add plugins.sbt 2021-11-03 02:00:30 +01:00
src Cleanup comments 2022-06-29 15:20:59 +02:00
build.sbt Unify working. Unify output working. Ast output working, but ugly 2021-10-26 01:41:05 +02:00
default.min.css Use highlight.js 2021-11-16 17:11:24 +01:00
highlight.min.js Use highlight.js 2021-11-16 17:11:24 +01:00
index.css Output typed classes. Filter constraints before inserting them as method generics 2021-11-17 06:39:26 +01:00
index.html Change type insert to non-filtered method 2022-03-17 02:52:05 +01:00
README.md Fix Type in README 2022-07-23 09:36:37 +02:00

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