Skip to content

Commit ae78276

Browse files
author
Johan Wiltink
committed
better "direct recursion in Let mode" error message
1 parent b4e634c commit ae78276

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/lambda-calculus.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,10 @@ function parseWith(cfg={}) {
180180
return tm;
181181
} else {
182182
if ( verbosity >= "Concise" ) console.error(`parse: while defining ${ name } = ${ term }`);
183-
throw new ReferenceError(`undefined free variable ${ nm }`);
183+
if ( nm === name )
184+
throw new ReferenceError(`undefined free variable ${ nm }: direct recursive calls are not supported in Let mode`);
185+
else
186+
throw new ReferenceError(`undefined free variable ${ nm }`);
184187
}
185188
} , new Tuple( term, new Env ) );
186189
else if ( purity==="LetRec" )

0 commit comments

Comments
 (0)