]> git.eshelyaron.com Git - sweep.git/commitdiff
; Recognize ext-quantified goal positions as callable
authorEshel Yaron <me@eshelyaron.com>
Sat, 7 Oct 2023 12:21:31 +0000 (14:21 +0200)
committerEshel Yaron <me@eshelyaron.com>
Sat, 7 Oct 2023 12:21:31 +0000 (14:21 +0200)
sweep.pl

index fa16037f4c76e74682a730ee53239cbfc594132f..abe7cfe4601be285d9b1f612ba3d8db90d9d7f02 100644 (file)
--- a/sweep.pl
+++ b/sweep.pl
@@ -1008,10 +1008,7 @@ name_variable(N, V) :- V = '$VAR'(N).
 sweep_context_callable([H|T], R) :-
     H = [F0|_],
     atom_string(F, F0),
-    (   xref_op(_, op(1200, _, F))
-    ->  true
-    ;   current_op(1200, _, F)
-    ),
+    op_is_neck(F),
     !,
     (   F == (-->)
     ->  R0 = 2
@@ -1021,6 +1018,12 @@ sweep_context_callable([H|T], R) :-
 sweep_context_callable([_|T], R) :-
     sweep_context_callable(T, R).
 
+op_is_neck(F) :-
+    (   xref_op(_, op(1200, _, F))
+    ->  true
+    ;   current_op(1200, _, F)
+    ).
+
 sweep_context_callable_([], R0, R1, R) :- R is R0 + R1, !.
 sweep_context_callable_([[":"|2]], R0, R1, R) :- R is R0 + R1, !.
 sweep_context_callable_([["("|_]|T], R0, R1, R) :-
@@ -1036,11 +1039,9 @@ sweep_context_callable_([H|T], R0, _, R) :-
     sweep_context_callable_(T, R0, R1, R).
 
 sweep_context_callable_arg((-->), _, 2) :- !.
+sweep_context_callable_arg(^, _, 0) :- !.
 sweep_context_callable_arg(Neck, _, 0) :-
-    (   xref_op(_, op(1200, _, Neck))
-    ->  true
-    ;   current_op(1200, _, Neck)
-    ),
+    op_is_neck(Neck),
     !.
 sweep_context_callable_arg(F, N, R) :-
     sweep_current_module(Mod),