We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent b4e634c commit ae78276Copy full SHA for ae78276
src/lambda-calculus.js
@@ -180,7 +180,10 @@ function parseWith(cfg={}) {
180
return tm;
181
} else {
182
if ( verbosity >= "Concise" ) console.error(`parse: while defining ${ name } = ${ term }`);
183
- throw new ReferenceError(`undefined free variable ${ nm }`);
+ 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 }`);
187
}
188
} , new Tuple( term, new Env ) );
189
else if ( purity==="LetRec" )
0 commit comments