Skip to content

Commit 6358928

Browse files
committed
add motzkin benchmark to also run without opt. as a test
1 parent 210606b commit 6358928

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

effekt/jvm/src/test/scala/effekt/JavaScriptTests.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ class JavaScriptTests extends EffektTests {
3232
// syntax error (multiple declaration)
3333
examplesDir / "pos" / "parser.effekt",
3434
examplesDir / "pos" / "probabilistic.effekt",
35+
36+
// local function def needs to be rewritten (issue 1229)
37+
examplesDir / "benchmarks" / "folklore_to_fact" / "motzkin.effekt",
3538
)
3639

3740
override def ignored: Set[File] = super.ignored ++ Set(

effekt/shared/src/main/scala/effekt/generator/js/TransformerCps.scala

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,13 @@ object TransformerCps extends Transformer {
9191

9292

9393
def toJS(d: cps.ToplevelDefinition)(using ctx: TransformerContext): js.Stmt = d match {
94-
case cps.ToplevelDefinition.Def(id, block) =>
95-
js.Const(nameDef(id), requiringThunk { toJS(id, block) })
96-
case cps.ToplevelDefinition.Val(id, ks, k, binding) =>
97-
js.Const(nameDef(id), Call(RUN_TOPLEVEL, js.Lambda(List(nameDef(ks), nameDef(k)), toJS(binding).stmts)))
98-
case cps.ToplevelDefinition.Let(id, binding) =>
99-
js.Const(nameDef(id), toJS(binding))
100-
}
94+
case cps.ToplevelDefinition.Def(id, block) =>
95+
js.Const(nameDef(id), requiringThunk { toJS(id, block) })
96+
case cps.ToplevelDefinition.Val(id, ks, k, binding) =>
97+
js.Const(nameDef(id), Call(RUN_TOPLEVEL, js.Lambda(List(nameDef(ks), nameDef(k)), toJS(binding).stmts)))
98+
case cps.ToplevelDefinition.Let(id, binding) =>
99+
js.Const(nameDef(id), toJS(binding))
100+
}
101101

102102
def toJSParam(id: Id): JSName = nameDef(id)
103103

0 commit comments

Comments
 (0)