/usr/share/axiom-20170501/src/algebra/MKFUNC.spad is in axiom-source 20170501-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | )abbrev package MKFUNC MakeFunction
++ Author: Manuel Bronstein
++ Date Created: 22 Nov 1988
++ Date Last Updated: 8 Jan 1990
++ Description:
++ Tools for making interpreter functions from top-level expressions
++ Transforms top-level objects into interpreter functions.
MakeFunction(S) : SIG == CODE where
S : ConvertibleTo InputForm
SY ==> Symbol
SIG ==> with
function : (S, SY) -> SY
++ function(e, foo) creates a function \spad{foo() == e}.
function : (S, SY, SY) -> SY
++ function(e, foo, x) creates a function \spad{foo(x) == e}.
function : (S, SY, SY, SY) -> SY
++ function(e, foo, x, y) creates a function \spad{foo(x, y) = e}.
function : (S, SY, List SY) -> SY
++ \spad{function(e, foo, [x1,...,xn])} creates a function
++ \spad{foo(x1,...,xn) == e}.
CODE ==> add
function(s, name) == function(s, name, nil())
function(s:S, name:SY, x:SY) == function(s, name, [x])
function(s, name, x, y) == function(s, name, [x, y])
function(s:S, name:SY, args:List SY) ==
interpret function(convert s, args, name)$InputForm
name
|