From aae0e91c44a64f869d1c2cfad76328aea9300fdf Mon Sep 17 00:00:00 2001 From: Simon Forman Date: Mon, 12 Aug 2019 21:08:17 -0700 Subject: [PATCH] assert_defs/1 got upset about not finding combo/5 --- thun/thun.pl | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/thun/thun.pl b/thun/thun.pl index 83fe16b..1fbc637 100644 --- a/thun/thun.pl +++ b/thun/thun.pl @@ -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 */