MCPcopy Index your code
hub / github.com/fluentpython/example-code-2e / Procedure

Class Procedure

02-array-seq/lispy/py3.10/lis.py:181–196  ·  view source on GitHub ↗

A user-defined Scheme procedure.

Source from the content-addressed store, hash-verified

179
180# tag::PROCEDURE[]
181class Procedure:
182 "A user-defined Scheme procedure."
183
184 def __init__( # <1>
185 self, parms: list[Symbol], body: list[Expression], env: Environment
186 ):
187 self.parms = parms # <2>
188 self.body = body
189 self.env = env
190
191 def __call__(self, *args: Expression) -> Any: # <3>
192 local_env = dict(zip(self.parms, args)) # <4>
193 env = Environment(local_env, self.env) # <5>
194 for exp in self.body: # <6>
195 result = evaluate(exp, env)
196 return result # <7>
197# end::PROCEDURE[]
198
199

Callers 1

evaluateFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected