Modify error reporting a lil; words word.

This commit is contained in:
Simon Forman 2019-11-07 07:54:04 -08:00
parent f58f3b9959
commit 3751107a09
1 changed files with 11 additions and 1 deletions

View File

@ -104,7 +104,7 @@ thun([Unknown|E], Si, So) :-
damned_thing(Unknown),
write("wtf? "),
writeln(Unknown),
So = [[Unknown|E]|Si].
So = [Unknown|E]-Si.
damned_thing(It) :-
\+ literal(It),
@ -144,6 +144,8 @@ literal(_=\=_).
Functions
*/
func(words, S, [Words|S]) :- words(Words).
func(cons, [A, B|S], [[B|A]|S]).
func(swap, [A, B|S], [B, A|S]).
func(dup, [A|S], [A, A|S]).
@ -298,6 +300,14 @@ assert_def(def(Def, Body)) :-
:- assert_defs("defs.txt").
words(Words) :-
findall(Name, clause(func(Name, _, _), _), Funcs),
findall(Name, clause(combo(Name, _, _, _, _), _), Combos, Funcs),
findall(Name, clause(def(Name, _), _), Words0, Combos),
list_to_set(Words0, Words1),
sort(Words1, Words).
/*
Compiler
*/