I tried to type check the following program with the online playground (I removed lines from the original program), but the type checker crashed.
interface Co {
def yield() : Unit
}
interface Queue [A] {
def enqueue(x : A) : Unit
}
def scheduler() {p : () => Unit / Co } : Unit / { Queue[Unit => Unit at {}] } = {
try {
p()
} with Co {
def yield() =
do enqueue (box { () => resume(()) })
}
}
I got the following error.
[info] module0.effekt:18:7: Effekt Compiler Crash: java.lang.RuntimeException: Unexpected abort in DummyUnifier!
[info] module0.effekt:18:7: java.lang.RuntimeException: Unexpected abort in DummyUnifier!
at ux(https://effekt-lang.org/dist/ide.chunk.js:1:564231)
at Qj(https://effekt-lang.org/dist/ide.chunk.js:1:605959)
at UL(https://effekt-lang.org/dist/ide.chunk.js:1:758345)
at Av(https://effekt-lang.org/dist/ide.chunk.js:1:309004)
at ./src/effekt.js/e.DA(https://effekt-lang.org/dist/ide.chunk.js:1:481159)
at ./src/effekt.js/Qc/<(https://effekt-lang.org/dist/ide.chunk.js:1:247471)
at Qc(https://effekt-lang.org/dist/ide.chunk.js:1:249035)
at n(https://effekt-lang.org/dist/ide.chunk.js:1:247016)
at ./src/effekt.js/e.kL/n<(https://effekt-lang.org/dist/ide.chunk.js:1:480335)
at ./src/effekt.js/cz.prototype.m(https://effekt-lang.org/dist/ide.chunk.js:1:644060)
at ./src/effekt.js/e.zo(https://effekt-lang.org/dist/ide.chunk.js:1:1665523)
at ./src/effekt.js/e.oc(https://effekt-lang.org/dist/ide.chunk.js:1:1664689)
at ./src/effekt.js/e.kL/e<(https://effekt-lang.org/dist/ide.chunk.js:1:480128)
at ./src/effekt.js/e.kL(https://effekt-lang.org/dist/ide.chunk.js:1:480754)
at a6(https://effekt-lang.org/dist/ide.chunk.js:1:1272501)
at ./src/effekt.js/Pg/Cn<(https://effekt-lang.org/dist/ide.chunk.js:1:484864)
at Pg(https://effekt-lang.org/dist/ide.chunk.js:1:484895)
at Jg(https://effekt-lang.org/dist/ide.chunk.js:1:509034)
at ok(https://effekt-lang.org/dist/ide.chunk.js:1:528063)
at Vg(https://effekt-lang.org/dist/ide.chunk.js:1:497672)
at Pg(https://effekt-lang.org/dist/ide.chunk.js:1:488721)
at Jg(https://effekt-lang.org/dist/ide.chunk.js:1:509034)
at Jg(https://effekt-lang.org/dist/ide.chunk.js:1:509124)
at ok(https://effekt-lang.org/dist/ide.chunk.js:1:528063)
at Wg(https://effekt-lang.org/dist/ide.chunk.js:1:511801)
at c(https://effekt-lang.org/dist/ide.chunk.js:1:555446)
at ./src/effekt.js/Fg.prototype.aR(https://effekt-lang.org/dist/ide.chunk.js:1:556162)
at ./src/effekt.js/Fg.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:558139)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328506)
at ./src/effekt.js/uy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329506)
at rf(https://effekt-lang.org/dist/ide.chunk.js:1:249841)
at ./src/effekt.js/ay.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329311)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/uy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329506)
at rf(https://effekt-lang.org/dist/ide.chunk.js:1:249841)
at ./src/effekt.js/ay.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329311)
at se(https://effekt-lang.org/dist/ide.chunk.js:1:93184)
at un(https://effekt-lang.org/dist/ide.chunk.js:1:17128)
at _m(https://effekt-lang.org/dist/ide.chunk.js:1:456815)
at ./src/effekt.js/sU.prototype.fa(https://effekt-lang.org/dist/ide.chunk.js:1:833560)
at g9(https://effekt-lang.org/dist/ide.chunk.js:1:1687519)
at ./src/effekt.js/Em.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:461446)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328506)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/uy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329506)
at rf(https://effekt-lang.org/dist/ide.chunk.js:1:249841)
at ./src/effekt.js/ay.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329311)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/uy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329506)
at rf(https://effekt-lang.org/dist/ide.chunk.js:1:249841)
at ./src/effekt.js/ay.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329311)
at se(https://effekt-lang.org/dist/ide.chunk.js:1:93184)
at un(https://effekt-lang.org/dist/ide.chunk.js:1:17128)
at Zv(https://effekt-lang.org/dist/ide.chunk.js:1:318475)
at ./src/effekt.js/Qv.prototype.typecheck(https://effekt-lang.org/dist/ide.chunk.js:1:324010)
at typecheck(https://effekt-lang.org/dist/ide.chunk.js:1:8380)
at s(https://effekt-lang.org/dist/ide.chunk.js:1:1792317)
at l(https://effekt-lang.org/dist/editor.chunk.js:1:3274)
at ./src/index.ts/ue/</<(https://effekt-lang.org/dist/app.bundle.js:1:14491)
at ./src/index.ts/ie/l/</<(https://effekt-lang.org/dist/app.bundle.js:1:13525)
at ./src/index.ts/ie/l/<(https://effekt-lang.org/dist/app.bundle.js:1:13630)
at i(https://effekt-lang.org/dist/app.bundle.js:1:12273)
[error] module0.effekt:18:7: Cannot compile dependency: module0
[info] module0.effekt:18:7: java.lang.RuntimeException: Unexpected abort in DummyUnifier!
at ux(https://effekt-lang.org/dist/ide.chunk.js:1:564231)
at Qj(https://effekt-lang.org/dist/ide.chunk.js:1:605959)
at UL(https://effekt-lang.org/dist/ide.chunk.js:1:758345)
at Av(https://effekt-lang.org/dist/ide.chunk.js:1:309004)
at ./src/effekt.js/e.DA(https://effekt-lang.org/dist/ide.chunk.js:1:481159)
at ./src/effekt.js/Qc/<(https://effekt-lang.org/dist/ide.chunk.js:1:247471)
at Qc(https://effekt-lang.org/dist/ide.chunk.js:1:249035)
at n(https://effekt-lang.org/dist/ide.chunk.js:1:247016)
at ./src/effekt.js/e.kL/n<(https://effekt-lang.org/dist/ide.chunk.js:1:480335)
at ./src/effekt.js/cz.prototype.m(https://effekt-lang.org/dist/ide.chunk.js:1:644060)
at ./src/effekt.js/e.zo(https://effekt-lang.org/dist/ide.chunk.js:1:1665523)
at ./src/effekt.js/e.oc(https://effekt-lang.org/dist/ide.chunk.js:1:1664689)
at ./src/effekt.js/e.kL/e<(https://effekt-lang.org/dist/ide.chunk.js:1:480128)
at ./src/effekt.js/e.kL(https://effekt-lang.org/dist/ide.chunk.js:1:480754)
at a6(https://effekt-lang.org/dist/ide.chunk.js:1:1272501)
at ./src/effekt.js/Pg/Cn<(https://effekt-lang.org/dist/ide.chunk.js:1:484864)
at Pg(https://effekt-lang.org/dist/ide.chunk.js:1:484895)
at Jg(https://effekt-lang.org/dist/ide.chunk.js:1:509034)
at ok(https://effekt-lang.org/dist/ide.chunk.js:1:528063)
at Vg(https://effekt-lang.org/dist/ide.chunk.js:1:497672)
at Pg(https://effekt-lang.org/dist/ide.chunk.js:1:488721)
at Jg(https://effekt-lang.org/dist/ide.chunk.js:1:509034)
at Jg(https://effekt-lang.org/dist/ide.chunk.js:1:509124)
at ok(https://effekt-lang.org/dist/ide.chunk.js:1:528063)
at Wg(https://effekt-lang.org/dist/ide.chunk.js:1:511801)
at c(https://effekt-lang.org/dist/ide.chunk.js:1:555446)
at ./src/effekt.js/Fg.prototype.aR(https://effekt-lang.org/dist/ide.chunk.js:1:556162)
at ./src/effekt.js/Fg.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:558139)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328506)
at ./src/effekt.js/uy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329506)
at rf(https://effekt-lang.org/dist/ide.chunk.js:1:249841)
at ./src/effekt.js/ay.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329311)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/uy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329506)
at rf(https://effekt-lang.org/dist/ide.chunk.js:1:249841)
at ./src/effekt.js/ay.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329311)
at se(https://effekt-lang.org/dist/ide.chunk.js:1:93184)
at un(https://effekt-lang.org/dist/ide.chunk.js:1:17128)
at _m(https://effekt-lang.org/dist/ide.chunk.js:1:456815)
at ./src/effekt.js/sU.prototype.fa(https://effekt-lang.org/dist/ide.chunk.js:1:833560)
at g9(https://effekt-lang.org/dist/ide.chunk.js:1:1687519)
at ./src/effekt.js/Em.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:461446)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328506)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/uy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329506)
at rf(https://effekt-lang.org/dist/ide.chunk.js:1:249841)
at ./src/effekt.js/ay.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329311)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/uy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329506)
at rf(https://effekt-lang.org/dist/ide.chunk.js:1:249841)
at ./src/effekt.js/ay.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329311)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/uy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329506)
at rf(https://effekt-lang.org/dist/ide.chunk.js:1:249841)
at ./src/effekt.js/ay.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329311)
at se(https://effekt-lang.org/dist/ide.chunk.js:1:93184)
at ./src/effekt.js/_v.prototype.uF(https://effekt-lang.org/dist/ide.chunk.js:1:322610)
at ./src/effekt.js/_v.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:323001)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/iy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328471)
at ./src/effekt.js/oy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328651)
at ./src/effekt.js/oy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328651)
at ./src/effekt.js/oy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:328651)
at se(https://effekt-lang.org/dist/ide.chunk.js:1:93184)
at ./src/effekt.js/ty.prototype.uF(https://effekt-lang.org/dist/ide.chunk.js:1:325231)
at ./src/effekt.js/ty.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:326017)
at ./src/effekt.js/uy.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329506)
at rf(https://effekt-lang.org/dist/ide.chunk.js:1:249841)
at ./src/effekt.js/ay.prototype.Ke(https://effekt-lang.org/dist/ide.chunk.js:1:329311)
at se(https://effekt-lang.org/dist/ide.chunk.js:1:93184)
at ./src/effekt.js/Qv.prototype.compileFile(https://effekt-lang.org/dist/ide.chunk.js:1:323521)
at evaluate(https://effekt-lang.org/dist/ide.chunk.js:1:9147)
at l(https://effekt-lang.org/dist/ide.chunk.js:1:1792880)
at r(https://effekt-lang.org/dist/editor.chunk.js:1:3447)
at ./src/editor.ts/l/<(https://effekt-lang.org/dist/editor.chunk.js:1:3820)
at l(https://effekt-lang.org/dist/editor.chunk.js:1:3826)
at ./src/index.ts/ue/</<(https://effekt-lang.org/dist/app.bundle.js:1:14491)
at ./src/index.ts/ie/l/</<(https://effekt-lang.org/dist/app.bundle.js:1:13525)
at ./src/index.ts/ie/l/<(https://effekt-lang.org/dist/app.bundle.js:1:13630)
at i(https://effekt-lang.org/dist/app.bundle.js:1:12273)
This is my first Effekt program so it is certainly ill-typed
I tried to type check the following program with the online playground (I removed lines from the original program), but the type checker crashed.
I got the following error.
This is my first Effekt program so it is certainly ill-typed