From 1a65db6aac1ca069d2713fb15e432f75a1f6d776 Mon Sep 17 00:00:00 2001 From: Dustin Swan Date: Thu, 26 Mar 2026 22:19:09 -0600 Subject: [PATCH] List spread type checking --- src/typechecker.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/typechecker.ts b/src/typechecker.ts index 374538d..efc00d8 100644 --- a/src/typechecker.ts +++ b/src/typechecker.ts @@ -252,7 +252,11 @@ function check(expr: AST, expected: TypeAST, env: TypeEnv, subst: Subst): string if (expr.kind === 'list' && exp.kind === 'type-apply' && exp.constructor.kind === 'type-name' && exp.constructor.name === 'List') { const elemType = exp.args[0]; for (const elem of expr.elements) { - if (elem.kind === 'list-spread') continue; + if (elem.kind === 'list-spread') { + const err = check(elem.spread, exp, env, subst); + if (err) return err; + continue; + } const err = check(elem, elemType, env, subst); if (err) return err; }