shen/release/k_lambda/declarations.kl in shen-ruby-0.3.1 vs shen/release/k_lambda/declarations.kl in shen-ruby-0.4.0
- old
+ new
@@ -1,1027 +1,125 @@
+"**********************************************************************************
+* The License *
+* *
+* The user is free to produce commercial applications with the software, to *
+* distribute these applications in source or binary form, and to charge monies *
+* for them as he sees fit and in concordance with the laws of the land subject *
+* to the following license. *
+* *
+* 1. The license applies to all the software and all derived software and *
+* must appear on such. *
+* *
+* 2. It is illegal to distribute the software without this license attached *
+* to it and use of the software implies agreement with the license as such. *
+* It is illegal for anyone who is not the copyright holder to tamper with *
+* or change the license. *
+* *
+* 3. Neither the names of Lambda Associates or the copyright holder may be used *
+* to endorse or promote products built using the software without specific *
+* prior written permission from the copyright holder. *
+* *
+* 4. That possession of this license does not confer on the copyright holder *
+* any special contractual obligation towards the user. That in no event *
+* shall the copyright holder be liable for any direct, indirect, incidental, *
+* special, exemplary or consequential damages (including but not limited *
+* to procurement of substitute goods or services, loss of use, data, *
+* interruption), however caused and on any theory of liability, whether in *
+* contract, strict liability or tort (including negligence) arising in any *
+* way out of the use of the software, even if advised of the possibility of *
+* such damage. *
+* *
+* 5. It is permitted for the user to change the software, for the purpose of *
+* improving performance, correcting an error, or porting to a new platform, *
+* and distribute the derived version of Shen provided the resulting program *
+* conforms in all respects to the Shen standard and is issued under that *
+* title. The user must make it clear with his distribution that he/she is *
+* the author of the changes and what these changes are and why. *
+* *
+* 6. Derived versions of this software in whatever form are subject to the same *
+* restrictions. In particular it is not permitted to make derived copies of *
+* this software which do not conform to the Shen standard or appear under a *
+* different title. *
+* *
+* It is permitted to distribute versions of Shen which incorporate libraries, *
+* graphics or other facilities which are not part of the Shen standard. *
+* *
+* For an explication of this license see www.shenlanguage.org/license.htm which *
+* explains this license in full. *
+* *
+*****************************************************************************************
+"(set shen.*installing-kl* false)
-" The License
-
- The user is free to produce commercial applications with the software, to distribute these applications in source or binary form, and to charge monies for them as he sees fit and in concordance with the laws of the land subject to the following license.
-
- 1. The license applies to all the software and all derived software and must appear on such.
- 2. It is illegal to distribute the software without this license attached to it and use of the software implies agreement
- with the license as such. It is illegal for anyone who is not the copyright holder to tamper with or change the license.
- 3. Neither the names of Lambda Associates or the copyright holder may be used to endorse or promote products built using
- the software without specific prior written permission from the copyright holder.
- 4. That possession of this license does not confer on the copyright holder any special contractual obligation towards the user. That in no event shall the copyright holder be liable for any direct, indirect, incidental, special, exemplary or consequential damages (including but not limited to procurement of substitute goods or services, loss of use, data, or profits; or business interruption), however caused and on any theory of liability, whether in contract, strict liability or tort (including negligence) arising in any way out of the use of the software, even if advised of the possibility of such damage.
-5. It is permitted for the user to change the software, for the purpose of improving performance, correcting an error, or porting to a new platform, and distribute the modified version of Shen (hereafter the modified version) provided the resulting program conforms in all respects to the Shen standard and is issued under that title. The user must make it clear with his distribution that he/she is the author of the changes and what these changes are and why.
-6. Derived versions of this software in whatever form are subject to the same restrictions. In particular it is not permitted to make derived copies of this software which do not conform to the Shen standard or appear under a different title.
-7. It is permitted to distribute versions of Shen which incorporate libraries, graphics or other facilities which are not part of the Shen standard.
+(set shen.*history* ())
-For an explication of this license see http://www.lambdassociates.org/News/june11/license.htm which explains this license in full."
+(set shen.*tc* false)
-(set shen-*installing-kl* false)
+(set *property-vector* (vector 20000))
-(set shen-*history* ())
+(set shen.*process-counter* 0)
-(set shen-*tc* false)
+(set shen.*varcounter* (vector 1000))
-(set shen-*property-vector* (vector 20000))
+(set shen.*prologvectors* (vector 1000))
-(set shen-*process-counter* 0)
+(set shen.*reader-macros* ())
-(set shen-*varcounter* (vector 1000))
-
-(set shen-*prologvectors* (vector 1000))
-
-(set shen-*reader-macros* ())
-
-(set *printer* ())
-
(set *home-directory* ())
-(set shen-*gensym* 0)
+(set shen.*gensym* 0)
-(set shen-*tracking* ())
+(set shen.*tracking* ())
(set *home-directory* "")
-(set shen-*alphabet*
- (cons A
- (cons B
- (cons C
- (cons D
- (cons E
- (cons F
- (cons G
- (cons H
- (cons I
- (cons J
- (cons K
- (cons L
- (cons M
- (cons N
- (cons O
- (cons P
- (cons Q
- (cons R
- (cons S
- (cons T
- (cons U
- (cons V
- (cons W
- (cons X (cons Y (cons Z ())))))))))))))))))))))))))))
+(set shen.*alphabet* (cons A (cons B (cons C (cons D (cons E (cons F (cons G (cons H (cons I (cons J (cons K (cons L (cons M (cons N (cons O (cons P (cons Q (cons R (cons S (cons T (cons U (cons V (cons W (cons X (cons Y (cons Z ())))))))))))))))))))))))))))
-(set shen-*special*
- (cons @p
- (cons @s
- (cons @v
- (cons cons
- (cons lambda
- (cons let (cons type (cons where (cons set (cons open ())))))))))))
+(set shen.*special* (cons @p (cons @s (cons @v (cons cons (cons lambda (cons let (cons type (cons where (cons set (cons open ())))))))))))
-(set shen-*extraspecial*
- (cons define (cons shen-process-datatype (cons input+ ()))))
+(set shen.*extraspecial* (cons define (cons shen.process-datatype (cons input+ (cons defcc ())))))
-(set shen-*spy* false)
+(set shen.*spy* false)
-(set shen-*datatypes* ())
+(set shen.*datatypes* ())
-(set shen-*alldatatypes* ())
+(set shen.*alldatatypes* ())
-(set shen-*shen-type-theory-enabled?* true)
+(set shen.*shen-type-theory-enabled?* true)
-(set shen-*synonyms* ())
+(set shen.*synonyms* ())
-(set shen-*system* ())
+(set shen.*system* ())
-(set shen-*signedfuncs* ())
+(set shen.*signedfuncs* ())
-(set shen-*maxcomplexity* 128)
+(set shen.*maxcomplexity* 128)
-(set shen-*occurs* true)
+(set shen.*occurs* true)
-(set shen-*maxinferences* 1000000)
+(set shen.*maxinferences* 1000000)
(set *maximum-print-sequence-size* 20)
-(set shen-*catch* 0)
+(set shen.*catch* 0)
-(set shen-*call* 0)
+(set shen.*call* 0)
-(set shen-*infs* 0)
+(set shen.*infs* 0)
-(set shen-*process-counter* 0)
+(defun shen.initialise_arity_table (V801) (cond ((= () V801) ()) ((and (cons? V801) (cons? (tl V801))) (let DecArity (put (hd V801) arity (hd (tl V801)) (value *property-vector*)) (shen.initialise_arity_table (tl (tl V801))))) (true (shen.sys-error shen.initialise_arity_table))))
-(set shen-*catch* 0)
+(defun arity (V802) (trap-error (get V802 arity (value *property-vector*)) (lambda E -1)))
-(defun shen-initialise_arity_table (V1540)
- (cond ((= () V1540) ())
- ((and (cons? V1540) (cons? (tl V1540)))
- (let DecArity
- (put (hd V1540) arity (hd (tl V1540)) (value shen-*property-vector*))
- (shen-initialise_arity_table (tl (tl V1540)))))
- (true (shen-sys-error shen-initialise_arity_table))))
+(shen.initialise_arity_table (cons adjoin (cons 2 (cons and (cons 2 (cons append (cons 2 (cons arity (cons 1 (cons assoc (cons 2 (cons boolean? (cons 1 (cons cd (cons 1 (cons compile (cons 3 (cons concat (cons 2 (cons cons (cons 2 (cons cons? (cons 1 (cons cn (cons 2 (cons declare (cons 2 (cons destroy (cons 1 (cons difference (cons 2 (cons do (cons 2 (cons element? (cons 2 (cons empty? (cons 1 (cons enable-type-theory (cons 1 (cons interror (cons 2 (cons eval (cons 1 (cons eval-kl (cons 1 (cons explode (cons 1 (cons external (cons 1 (cons fail-if (cons 2 (cons fail (cons 0 (cons fix (cons 2 (cons findall (cons 5 (cons freeze (cons 1 (cons fst (cons 1 (cons gensym (cons 1 (cons get (cons 3 (cons get-time (cons 1 (cons address-> (cons 3 (cons <-address (cons 2 (cons <-vector (cons 2 (cons > (cons 2 (cons >= (cons 2 (cons = (cons 2 (cons hd (cons 1 (cons hdv (cons 1 (cons hdstr (cons 1 (cons head (cons 1 (cons if (cons 3 (cons integer? (cons 1 (cons identical (cons 4 (cons inferences (cons 0 (cons intersection (cons 2 (cons length (cons 1 (cons lineread (cons 0 (cons load (cons 1 (cons < (cons 2 (cons <= (cons 2 (cons vector (cons 1 (cons macroexpand (cons 1 (cons map (cons 2 (cons mapcan (cons 2 (cons maxinferences (cons 1 (cons not (cons 1 (cons nth (cons 2 (cons n->string (cons 1 (cons number? (cons 1 (cons occurs-check (cons 1 (cons occurrences (cons 2 (cons occurs-check (cons 1 (cons or (cons 2 (cons package (cons 3 (cons pos (cons 2 (cons print (cons 1 (cons profile (cons 1 (cons profile-results (cons 0 (cons pr (cons 2 (cons ps (cons 1 (cons preclude (cons 1 (cons preclude-all-but (cons 1 (cons protect (cons 1 (cons address-> (cons 3 (cons put (cons 4 (cons shen.reassemble (cons 2 (cons read-file-as-string (cons 1 (cons read-file (cons 1 (cons read-byte (cons 1 (cons read-from-string (cons 1 (cons remove (cons 2 (cons reverse (cons 1 (cons set (cons 2 (cons simple-error (cons 1 (cons snd (cons 1 (cons specialise (cons 1 (cons spy (cons 1 (cons step (cons 1 (cons stinput (cons 0 (cons stoutput (cons 0 (cons string->n (cons 1 (cons string->symbol (cons 1 (cons string? (cons 1 (cons shen.strong-warning (cons 1 (cons subst (cons 3 (cons shen.sum (cons 1 (cons symbol? (cons 1 (cons tail (cons 1 (cons tl (cons 1 (cons tc (cons 1 (cons tc? (cons 1 (cons thaw (cons 1 (cons track (cons 1 (cons trap-error (cons 2 (cons tuple? (cons 1 (cons type (cons 1 (cons return (cons 3 (cons undefmacro (cons 1 (cons unprofile (cons 1 (cons unify (cons 4 (cons unify! (cons 4 (cons union (cons 2 (cons untrack (cons 1 (cons unspecialise (cons 1 (cons undefmacro (cons 1 (cons vector (cons 1 (cons vector-> (cons 3 (cons value (cons 1 (cons variable? (cons 1 (cons version (cons 1 (cons warn (cons 1 (cons write-to-file (cons 2 (cons y-or-n? (cons 1 (cons + (cons 2 (cons * (cons 2 (cons / (cons 2 (cons - (cons 2 (cons == (cons 2 (cons shen.<1> (cons 1 (cons <e> (cons 1 (cons @p (cons 2 (cons @v (cons 2 (cons @s (cons 2 (cons preclude (cons 1 (cons include (cons 1 (cons preclude-all-but (cons 1 (cons include-all-but (cons 1 (cons where (cons 2 ())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
-(defun arity (V1541)
- (trap-error (get V1541 arity (value shen-*property-vector*)) (lambda E -1)))
+(defun systemf (V803) (let Shen (intern "shen") (let External (get Shen shen.external-symbols (value *property-vector*)) (put Shen shen.external-symbols (adjoin V803 External) (value *property-vector*)))))
-(shen-initialise_arity_table
- (cons adjoin
- (cons 2
- (cons and
- (cons 2
- (cons append
- (cons 2
- (cons arity
- (cons 1
- (cons assoc
- (cons 2
- (cons boolean?
- (cons 1
- (cons cd
- (cons 1
- (cons compile
- (cons 3
- (cons concat
- (cons 2
- (cons cons
- (cons 2
- (cons cons?
- (cons 1
- (cons cn
- (cons 2
- (cons declare
- (cons 2
- (cons destroy
- (cons 1
- (cons difference
- (cons 2
- (cons do
- (cons 2
- (cons element?
- (cons 2
- (cons empty?
- (cons 1
- (cons shen-enable-type-theory
- (cons 1
- (cons interror
- (cons 2
- (cons eval
- (cons 1
- (cons eval-kl
- (cons 1
- (cons explode
- (cons 1
- (cons external
- (cons 1
- (cons fail-if
- (cons 2
- (cons fail
- (cons 0
- (cons fix
- (cons 2
- (cons findall
- (cons 5
- (cons freeze
- (cons 1
- (cons fst
- (cons 1
- (cons gensym
- (cons 1
- (cons get
- (cons 3
- (cons get-time
- (cons 1
- (cons
- address->
- (cons 3
- (cons
- <-address
- (cons 2
- (cons
- <-vector
- (cons 2
- (cons
- >
- (cons
- 2
- (cons
- >=
- (cons
- 2
- (cons
- =
- (cons
- 2
- (cons
- hd
- (cons
- 1
- (cons
- hdv
- (cons
- 1
- (cons
- hdstr
- (cons
- 1
- (cons
- head
- (cons
- 1
- (cons
- if
- (cons
- 3
- (cons
- integer?
- (cons
- 1
- (cons
- identical
- (cons
- 4
- (cons
- inferences
- (cons
- 1
- (cons
- intoutput
- (cons
- 2
- (cons
- make-string
- (cons
- 2
- (cons
- intersection
- (cons
- 2
- (cons
- length
- (cons
- 1
- (cons
- lineread
- (cons
- 0
- (cons
- load
- (cons
- 1
- (cons
- <
- (cons
- 2
- (cons
- <=
- (cons
- 2
- (cons
- vector
- (cons
- 1
- (cons
- macroexpand
- (cons
- 1
- (cons
- map
- (cons
- 2
- (cons
- mapcan
- (cons
- 2
- (cons
- intmake-string
- (cons
- 2
- (cons
- maxinferences
- (cons
- 1
- (cons
- not
- (cons
- 1
- (cons
- nth
- (cons
- 2
- (cons
- n->string
- (cons
- 1
- (cons
- number?
- (cons
- 1
- (cons
- output
- (cons
- 2
- (cons
- occurs-check
- (cons
- 1
- (cons
- occurrences
- (cons
- 2
- (cons
- occurs-check
- (cons
- 1
- (cons
- or
- (cons
- 2
- (cons
- package
- (cons
- 3
- (cons
- pos
- (cons
- 2
- (cons
- print
- (cons
- 1
- (cons
- profile
- (cons
- 1
- (cons
- profile-results
- (cons
- 1
- (cons
- ps
- (cons
- 1
- (cons
- preclude
- (cons
- 1
- (cons
- preclude-all-but
- (cons
- 1
- (cons
- protect
- (cons
- 1
- (cons
- address->
- (cons
- 3
- (cons
- put
- (cons
- 4
- (cons
- shen-reassemble
- (cons
- 2
- (cons
- read-file-as-string
- (cons
- 1
- (cons
- read-file
- (cons
- 1
- (cons
- read-byte
- (cons
- 1
- (cons
- read-from-string
- (cons
- 1
- (cons
- remove
- (cons
- 2
- (cons
- reverse
- (cons
- 1
- (cons
- set
- (cons
- 2
- (cons
- simple-error
- (cons
- 1
- (cons
- snd
- (cons
- 1
- (cons
- specialise
- (cons
- 1
- (cons
- spy
- (cons
- 1
- (cons
- step
- (cons
- 1
- (cons
- stinput
- (cons
- 1
- (cons
- shen-stoutput
- (cons
- 1
- (cons
- string->n
- (cons
- 1
- (cons
- string?
- (cons
- 1
- (cons
- strong-warning
- (cons
- 1
- (cons
- subst
- (cons
- 3
- (cons
- symbol?
- (cons
- 1
- (cons
- tail
- (cons
- 1
- (cons
- tl
- (cons
- 1
- (cons
- tc
- (cons
- 1
- (cons
- tc?
- (cons
- 1
- (cons
- thaw
- (cons
- 1
- (cons
- track
- (cons
- 1
- (cons
- trap-error
- (cons
- 2
- (cons
- tuple?
- (cons
- 1
- (cons
- type
- (cons
- 1
- (cons
- return
- (cons
- 3
- (cons
- shen-undefmacro
- (cons
- 1
- (cons
- unprofile
- (cons
- 1
- (cons
- unify
- (cons
- 4
- (cons
- unify!
- (cons
- 4
- (cons
- union
- (cons
- 2
- (cons
- untrack
- (cons
- 1
- (cons
- unspecialise
- (cons
- 1
- (cons
- vector
- (cons
- 1
- (cons
- vector->
- (cons
- 3
- (cons
- value
- (cons
- 1
- (cons
- variable?
- (cons
- 1
- (cons
- version
- (cons
- 1
- (cons
- warn
- (cons
- 1
- (cons
- write-to-file
- (cons
- 2
- (cons
- y-or-n?
- (cons
- 1
- (cons
- +
- (cons
- 2
- (cons
- *
- (cons
- 2
- (cons
- /
- (cons
- 2
- (cons
- -
- (cons
- 2
- (cons
- ==
- (cons
- 2
- (cons
- shen-<1>
- (cons
- 1
- (cons
- <e>
- (cons
- 1
- (cons
- @p
- (cons
- 2
- (cons
- @v
- (cons
- 2
- (cons
- @s
- (cons
- 2
- (cons
- preclude
- (cons
- 1
- (cons
- include
- (cons
- 1
- (cons
- preclude-all-but
- (cons
- 1
- (cons
- include-all-but
- (cons
- 1
- (cons
- where
- (cons
- 2
- ())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+(defun adjoin (V804 V805) (if (element? V804 V805) V805 (cons V804 V805)))
-(defun systemf (V1542)
- (set shen-*system* (adjoin V1542 (value shen-*system*))))
+(put (intern "shen") shen.external-symbols (cons ! (cons } (cons { (cons --> (cons <-- (cons && (cons : (cons ; (cons :- (cons := (cons _ (cons *language* (cons *implementation* (cons *stinput* (cons *home-directory* (cons *version* (cons *maximum-print-sequence-size* (cons *macros* (cons *os* (cons *release* (cons *property-vector* (cons @v (cons @p (cons @s (cons *port* (cons *porters* (cons <- (cons -> (cons <e> (cons == (cons = (cons >= (cons > (cons /. (cons =! (cons $ (cons - (cons / (cons * (cons + (cons <= (cons < (cons >> (cons (vector 0) (cons ==> (cons y-or-n? (cons write-to-file (cons where (cons when (cons warn (cons version (cons verified (cons variable? (cons value (cons vector-> (cons <-vector (cons vector (cons vector? (cons unspecialise (cons untrack (cons unit (cons shen.unix (cons union (cons unify (cons unify! (cons unprofile (cons undefmacro (cons return (cons type (cons tuple? (cons true (cons trap-error (cons track (cons time (cons thaw (cons tc? (cons tc (cons tl (cons tlstr (cons tlv (cons tail (cons systemf (cons synonyms (cons symbol (cons symbol? (cons string->symbol (cons subst (cons string? (cons string->n (cons stream (cons string (cons stinput (cons stoutput (cons step (cons spy (cons specialise (cons snd (cons simple-error (cons set (cons save (cons str (cons run (cons reverse (cons remove (cons read (cons read-file (cons read-file-as-bytelist (cons read-file-as-string (cons read-byte (cons read-from-string (cons quit (cons put (cons preclude (cons preclude-all-but (cons ps (cons prolog? (cons protect (cons profile-results (cons profile (cons print (cons pr (cons pos (cons package (cons output (cons out (cons or (cons open (cons occurrences (cons occurs-check (cons n->string (cons number? (cons number (cons null (cons nth (cons not (cons nl (cons mode (cons macro (cons macroexpand (cons maxinferences (cons mapcan (cons map (cons make-string (cons load (cons loaded (cons list (cons lineread (cons limit (cons length (cons let (cons lazy (cons lambda (cons is (cons intersection (cons inferences (cons intern (cons integer? (cons input (cons input+ (cons include (cons include-all-but (cons if (cons identical (cons head (cons hd (cons hdv (cons hdstr (cons hash (cons get (cons get-time (cons gensym (cons function (cons fst (cons freeze (cons fix (cons file (cons fail (cons fail-if (cons fwhen (cons findall (cons false (cons enable-type-theory (cons explode (cons external (cons exception (cons eval-kl (cons eval (cons error-to-string (cons error (cons empty? (cons element? (cons do (cons difference (cons destroy (cons defun (cons define (cons defmacro (cons defcc (cons defprolog (cons declare (cons datatype (cons cut (cons cn (cons cons? (cons cons (cons cond (cons concat (cons compile (cons cd (cons cases (cons call (cons close (cons bind (cons bound? (cons boolean? (cons boolean (cons bar! (cons assoc (cons arity (cons append (cons and (cons adjoin (cons <-address (cons address-> (cons absvector? (cons absvector (cons abort ()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (value *property-vector*))
-(defun adjoin (V1543 V1544)
- (if (element? V1543 V1544) V1544 (cons V1543 V1544)))
+(defun specialise (V806) (do (set shen.*special* (cons V806 (value shen.*special*))) V806))
-(map (lambda X (do (systemf X) X))
- (cons !
- (cons }
- (cons {
- (cons -->
- (cons <--
- (cons &&
- (cons :
- (cons ;
- (cons :-
- (cons :=
- (cons (intern "_")
- (cons <!>
- (cons -*-
- (cons *language*
- (cons *implementation*
- (cons *stinput*
- (cons *home-directory*
- (cons *version*
- (cons *maximum-print-sequence-size*
- (cons *printer*
- (cons *macros*
- (cons *os*
- (cons *release*
- (cons @v
- (cons @p
- (cons @s
- (cons <-
- (cons ->
- (cons <e>
- (cons ==
- (cons =
- (cons >=
- (cons >
- (cons /.
- (cons =!
- (cons $
- (cons -
- (cons /
- (cons *
- (cons +
- (cons <=
- (cons <
- (cons >>
- (cons <>
- (cons y-or-n?
- (cons write-to-file
- (cons where
- (cons when
- (cons warn
- (cons version
- (cons verified
- (cons variable?
- (cons value
- (cons vector->
- (cons <-vector
- (cons vector
- (cons vector?
- (cons unspecialise
- (cons untrack
- (cons shen-unix
- (cons union
- (cons unify
- (cons unify!
- (cons unprofile
- (cons
- shen-undefmacro
- (cons return
- (cons type
- (cons
- tuple?
- (cons true
- (cons
- trap-error
- (cons
- track
- (cons
- time
- (cons
- thaw
- (cons
- tc?
- (cons
- tc
- (cons
- tl
- (cons
- tlstr
- (cons
- tlv
- (cons
- tail
- (cons
- systemf
- (cons
- synonyms
- (cons
- symbol
- (cons
- symbol?
- (cons
- subst
- (cons
- string?
- (cons
- string->n
- (cons
- stream
- (cons
- string
- (cons
- stinput
- (cons
- shen-stoutput
- (cons
- step
- (cons
- spy
- (cons
- specialise
- (cons
- snd
- (cons
- simple-error
- (cons
- set
- (cons
- save
- (cons
- str
- (cons
- run
- (cons
- reverse
- (cons
- remove
- (cons
- read
- (cons
- read-file
- (cons
- read-file-as-bytelist
- (cons
- read-file-as-string
- (cons
- read-byte
- (cons
- read-from-string
- (cons
- quit
- (cons
- put
- (cons
- preclude
- (cons
- preclude-all-but
- (cons
- ps
- (cons
- prolog?
- (cons
- protect
- (cons
- profile-results
- (cons
- profile
- (cons
- print
- (cons
- pr
- (cons
- pos
- (cons
- package
- (cons
- output
- (cons
- out
- (cons
- or
- (cons
- open
- (cons
- occurrences
- (cons
- occurs-check
- (cons
- n->string
- (cons
- number?
- (cons
- number
- (cons
- null
- (cons
- nth
- (cons
- not
- (cons
- nl
- (cons
- mode
- (cons
- macro
- (cons
- macroexpand
- (cons
- maxinferences
- (cons
- mapcan
- (cons
- map
- (cons
- make-string
- (cons
- load
- (cons
- loaded
- (cons
- list
- (cons
- lineread
- (cons
- limit
- (cons
- length
- (cons
- let
- (cons
- lazy
- (cons
- lambda
- (cons
- is
- (cons
- intersection
- (cons
- inferences
- (cons
- intern
- (cons
- integer?
- (cons
- input
- (cons
- input+
- (cons
- include
- (cons
- include-all-but
- (cons
- in
- (cons
- if
- (cons
- identical
- (cons
- head
- (cons
- hd
- (cons
- hdv
- (cons
- hdstr
- (cons
- hash
- (cons
- get
- (cons
- get-time
- (cons
- gensym
- (cons
- function
- (cons
- fst
- (cons
- freeze
- (cons
- format
- (cons
- fix
- (cons
- file
- (cons
- fail
- (cons
- fail-if
- (cons
- fwhen
- (cons
- findall
- (cons
- false
- (cons
- shen-enable-type-theory
- (cons
- explode
- (cons
- external
- (cons
- exception
- (cons
- eval-kl
- (cons
- eval
- (cons
- error-to-string
- (cons
- error
- (cons
- empty?
- (cons
- element?
- (cons
- do
- (cons
- difference
- (cons
- destroy
- (cons
- defun
- (cons
- define
- (cons
- defmacro
- (cons
- defcc
- (cons
- defprolog
- (cons
- declare
- (cons
- datatype
- (cons
- cut
- (cons
- cn
- (cons
- cons?
- (cons
- cons
- (cons
- cond
- (cons
- concat
- (cons
- compile
- (cons
- cd
- (cons
- cases
- (cons
- call
- (cons
- close
- (cons
- bind
- (cons
- bound?
- (cons
- boolean?
- (cons
- boolean
- (cons
- bar!
- (cons
- assoc
- (cons
- arity
- (cons
- append
- (cons
- and
- (cons
- adjoin
- (cons
- <-address
- (cons
- address->
- (cons
- absvector?
- (cons
- absvector
- (cons
- abort
- (cons
- intmake-string
- (cons
- intoutput
- (cons
- interror
- ()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+(defun unspecialise (V807) (do (set shen.*special* (remove V807 (value shen.*special*))) V807))
-(defun specialise (V1545)
- (do (set shen-*special* (cons V1545 (value shen-*special*))) V1545))
-(defun unspecialise (V1546)
- (do (set shen-*special* (remove V1546 (value shen-*special*))) V1546))