commit 7b73996cc58b87c021407333c7a9d0a6d09364e6
parent 988f292571cc3109ec5225a8a1176b176db8f6a1
Author: Jan Pobrislo <ccx@te2000.cz>
Date: Sat, 31 May 2025 01:18:45 +0000
Remove unused predicates
Diffstat:
1 file changed, 1 insertion(+), 48 deletions(-)
diff --git a/interpreter.pl b/interpreter.pl
@@ -46,16 +46,6 @@ quoted([quote|Rest], Rest).
variable(Exp) :- atom(Exp).
-frame_variables(Frame, Variables) :- pairs_keys(Frame, Variables).
-frame_values(Frame, Variables) :- pairs_values(Frame, Variables).
-add_binding_to_frame(VarName, Value, OldFrame, [VarName-Value|OldFrame]).
-
-% (enclosing-environment '(((a) . (1)) . ())) => '()
-enclosing_environment([_|Env], Env).
-
-% (first-frame '(((a) . (1)) . ())) => '((a) . (1))
-first_frame([Frame|_], Frame).
-
% No bindings, no enclosing environment
empty_environment([]).
@@ -78,20 +68,11 @@ lookup_variable_from_frame([K-V|Rest], VarName, Value) :-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Definitions
-% (definition? '(define x 1)) => true
-% (definition? '(quote x)) => false
-is_definition([define,_,_]).
-
-%definition_variable([define, VarName, _], VarName).
-%definition_value([define, _, Value], Value).
-
define_variable(VarName, Value, [OldFrame|EnvTail], [[VarName-Value|OldFrame]|EnvTail]).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Assignments
-%is_assignment(['set!'|_]).
-
set_variable_value(VarName, Value, OldEnv, NewEnv) :-
interp_check(set_variable_value_aux(VarName, Value, OldEnv, NewEnv), unbound_var, VarName).
@@ -111,46 +92,18 @@ set_variable_in_frame(VarName, Value, [K-_OldV|OldT], [K-NewV|NewT]) :-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Procedure Construction
-% (lambda? '(lambda () 1)) => 1
-is_lambda([lambda, Vars|_]) :- is_list(Vars).
-
-% (lambda-parameters '(lambda () 1)) => '()
-%% (define (lambda-parameters exp) (cadr exp))
-% (lambda-body '(lambda () 1)) => '(1)
-%% (define (lambda-body exp) (cddr exp))
-
make_procedure(Parameters, Body, Env, proc(Parameters, Body, Env)).
-%compound_procedure(proc(_,_,_)).
-%(define (compound-procedure? p)
-% (tagged-list? p 'procedure))
-%(define (procedure-parameters p) (cadr p))
-%(define (procedure-body p) (caddr p))
-%(define (procedure-environment p) (cadddr p))
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Application Expressions
-%(define (application? exp) (pair? exp))
-is_application([_|_]).
-%(define (operator exp) (car exp))
-operator([Operator|_], Operator).
-%(define (operands exp) (cdr exp))
-operands([_|Operands], Operands).
-%(define (no-operands? ops) (null? ops))
-operands([_|Operands], Operands).
-%(define (first-operand ops) (car ops))
-first_operand([_,X|_], X).
-%(define (rest-operands ops) (cdr ops))
-rest_operands([_,_|X], X).
-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Primitive Procedures
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Eval/Apply
-% is_eval_special(quote).
+% is_eval_special(quote). % evaluated before variable resolution
is_eval_special(define).
is_eval_special(lambda).
is_eval_special(if).