We're checking types!!!!
This commit is contained in:
parent
f3c3a76671
commit
f272ffaca2
6 changed files with 304 additions and 24 deletions
|
|
@ -1,8 +1,8 @@
|
|||
import { tokenize } from './lexer'
|
||||
import { Parser } from './parser'
|
||||
import { compile, recompile, definitions, freeVars, dependencies, dependents, astRegistry } from './compiler'
|
||||
import { prettyPrint, prettyPrintType } from './ast'
|
||||
import type { AST } from './ast'
|
||||
import { prettyPrint } from './ast'
|
||||
import type { AST, Definition } from './ast'
|
||||
import { measure } from './ui';
|
||||
|
||||
const STORAGE_KEY = 'cg-definitions';
|
||||
|
|
@ -213,7 +213,7 @@ export const _rt = {
|
|||
|
||||
if (defs.length > 0) {
|
||||
const def = defs[0];
|
||||
recompile(def.name, def.body);
|
||||
recompile(def.name, def.body!);
|
||||
const source = prettyPrint({ kind: 'definition', name: def.name, body: def.body });
|
||||
appendChangeLog(def.name, source);
|
||||
saveDefinitions();
|
||||
|
|
@ -230,7 +230,7 @@ export const _rt = {
|
|||
const tokens = tokenize(wrapped);
|
||||
const parser = new Parser(tokens, wrapped);
|
||||
const { definitions: defs } = parser.parse();
|
||||
const ast = defs[0].body;
|
||||
const ast = defs[0].body!;
|
||||
|
||||
// validate free vars
|
||||
const free = freeVars(ast);
|
||||
|
|
@ -243,7 +243,7 @@ export const _rt = {
|
|||
return { _tag: 'Err', _0: `Unknown: ${unknown.join(', ')}` };
|
||||
}
|
||||
|
||||
const compiled = compile(defs[0].body);
|
||||
const compiled = compile(defs[0].body!);
|
||||
const fn = new Function('_rt', 'store', `return ${compiled}`);
|
||||
const result = fn(_rt, store);
|
||||
if (result === undefined) {
|
||||
|
|
@ -277,7 +277,7 @@ export function loadDefinitions() {
|
|||
const parser = new Parser(tokens, source as string);
|
||||
const { definitions: defs } = parser.parse();
|
||||
if (defs.length > 0) {
|
||||
recompile(defs[0].name, defs[0].body);
|
||||
recompile(defs[0].name, defs[0].body!);
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue