assert_defs/1 got upset about not finding combo/5

This commit is contained in:
Simon Forman 2019-08-12 21:08:17 -07:00
parent e67ef3951c
commit aae0e91c44
1 changed files with 24 additions and 24 deletions

View File

@ -196,30 +196,6 @@ comparison_operator(=, =:=).
comparison_operator(<>, =\=).
/*
Definitions
*/
joy_def(def(Def, Body)) --> symbol(Def), blanks, "==", joy_parse(Body).
joy_def --> joy_def(Def), {ignore(assert_def(Def))}.
joy_defs --> blanks, joy_def, blanks, joy_defs.
joy_defs --> [].
assert_defs(DefsFile) :-
read_file_to_codes(DefsFile, Codes, []),
phrase(joy_defs, Codes).
assert_def(def(Def, Body)) :-
\+ func(Def, _, _),
\+ combo(Def, _, _, _, _),
retractall(def(Def, _)),
assertz(def(Def, Body)).
:- assert_defs("defs.txt").
/*
Combinators
*/
@ -298,6 +274,30 @@ prepare_mapping( P, S, [T|In], Acc, Out) :-
prepare_mapping(P, S, In, [[T|S], P, infrst|Acc], Out).
/*
Definitions
*/
joy_def(def(Def, Body)) --> symbol(Def), blanks, "==", joy_parse(Body).
joy_def --> joy_def(Def), {ignore(assert_def(Def))}.
joy_defs --> blanks, joy_def, blanks, joy_defs.
joy_defs --> [].
assert_defs(DefsFile) :-
read_file_to_codes(DefsFile, Codes, []),
phrase(joy_defs, Codes).
assert_def(def(Def, Body)) :-
\+ func(Def, _, _),
\+ combo(Def, _, _, _, _),
retractall(def(Def, _)),
assertz(def(Def, Body)).
:- assert_defs("defs.txt").
/*
Compiler
*/