feat: support recursive class definition

This commit is contained in:
Shunsuke Shibayama 2023-08-25 21:02:47 +09:00
parent 418f31e6ed
commit f3b188e095
13 changed files with 285 additions and 93 deletions

11
examples/list.er Normal file
View file

@ -0,0 +1,11 @@
IntList = Class NoneType or { .node = Int; .next = IntList }
IntList.
null = IntList::__new__ None
insert self, node = IntList::__new__ { .node; .next = self }
fst self =
match self::base:
{ node; next = _ } => node
None => None
l = IntList.null.insert 1
assert l.fst() == 1