aboutsummaryrefslogtreecommitdiff
path: root/src/interp/sys-constants.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2007-08-21 04:57:21 +0000
committerdos-reis <gdr@axiomatics.org>2007-08-21 04:57:21 +0000
commit1a144a3e11fe8696c187bd2b619893e4d2a0a32e (patch)
tree9267fa36ab768b5c36d4b38c4230961dc1eca1c1 /src/interp/sys-constants.boot
parenta0bd77b32e50e8cec29b0b5f38b8b3db4c4a9b8f (diff)
downloadopen-axiom-1a144a3e11fe8696c187bd2b619893e4d2a0a32e.tar.gz
* g-error.boot.pamphlet: Import "diagnostics.
(errorSupervisor1): Call BUMPERRORCOUNT, not BUMPCOMPERRORCOUNT. The latter no longer exists. * msgdb.boot.pamphlet (throwKeyedErrorMsg): Likewise. * Makefile.pamphlet (${DEPSYS}): Depend also on sys-constant.$(FASLEXT), sys-globals.$(FASLEXT), and diagnostics.$(FASLEXT). (bootfuns.$(FASLEXT)): Likewise. (diagnostics.boot): New rule. (sys-globals.boot): Likewise. (sys-constants.boot): Likewise. * Makefile.in: Regenerate. * diagnostics.boot: New. (BUMPERRORCOUNT): Move from bootlex.lisp.pamphlet. Rewrite as Boot code. * sys-constants.boot: New. * sys-globals.boot: Likewise. * bootlex.lisp.pamphlet (BUMPERRORCOUNT): Move to diagnostics.boot. * varini.boot.pamphlet ($NoValueMode): Don't duplicate define. * spad.lisp.pamphlet (S-PROCESS): Don't bind $LocalFrame here. * patches.lisp.pamphlet: Tidy. * nag-f01.boot.pamphlet (f01mafSolve): Use $EmptyMode to refer to the wildcar type. (f01brfSolve): Likewise. * setq.lisp.pamphlet: Move variables already defined in bootfuns.lisp.pamphlet to sys-contants, and merge initial values. ($SPAD_ERRORS): Move to sys-globals.boot. * bootfuns.lisp.pamphlet: Now import both "sys-constants" and "sys-globals". (|$timerTicksPerSecond|): Move to sys-constants.boot. (|$quadSymbol|): Likewise. ($escapeString): Likewise. ($boxString): Likewise. ($boldString): Likewise. ($normalString): Likewise. ($reverseVideoString): Likewise. ($underlineString): Likewise. ($COMPILE): Likewise. ($BasicPredicates): Likewise. ($BFTag): Likewise. ($BigFloat): Likewise. ($Boolean): Likewise. ($Category): Likewise. ($CategoryNames): Likewise. ($Domain): Likewise. ($DomainNames): Likewise. ($DomainsInScope): Likewise. ($DoubleQuote): Likewise. ($DummyFunctorNames): Likewise. ($EmptyEnvironment): Likewise. ($EmptyList): Likewise. ($EmptyMode): Likewise. ($EmptyString): Likewise. ($EmptyVector): Likewise. ($Expression): Likewise. ($Exit): Likewise. ($failure): Likewise. ($Float): Likewise. ($FormalMapVariableList): Likewise. ($ConstructorNames): Likewise. ($InitialDomainsInScope): Likewise. ($InitialModemapFrame): Likewise. ($Integer): Likewise. ($LocalFrame): Likewise. ($NegativeInteger): Likewise. ($NonNegativeInteger): Likewise. ($NonPositiveInteger): Likewise. ($NonMentionableDomainNames): Likewise. ($noParseCommands): Likewise. ($NoValueMode): Likewise. ($NoValue): Likewise. ($Mode): Likewise. ($ModeVariableList): Likewise. ($One): Likewise. ($PatternVariableList): Likewise. ($PositiveInteger): Likewise. ($PrimitiveDomainNames): Likewise. ($RationalNumber): Likewise. ($SideEffectFreeFunctionList): Likewise. ($SmallInteger): Likewise. ($SpecialDomainNames): Likewise. ($StringCategory): Likewise. ($String): Likewise. ($Symbol): Likewise. ($systemCommands): Likewise. ($ThrowAwayMode): Likewise. ($tokenCommands): Likewise. ($true): Likeiwse. ($underDomainAlist): Likewise. ($Void): Likewise. ($Zero): Likewise. (|$DomainVariableList|): Likewise. (|$quadSym|): Remove. ($BigFloatOpt): Likewise. ($BooleanOpt): Likewise. ($EM): Likewise. ($ExpressionOpt): Likewise. ($FloatOpt): Likewise. ($FormalMapVariableList2): Likewise. ($IntegerOpt): Likewise. ($NegativeIntegerOpt): Likewise. ($NonNegativeIntegerOpt): Likewise. ($NonPositiveIntegerOpt): Likewise. ($PositiveIntegerOpt): Likewise. ($RationalNumberOpt): Likewise. ($SmallIntegerOpt): Likewise. ($StringOpt): Likewise. ($SymbolOpt): Likewise. * setq.lisp.pamphlet (|$timerTicksPerSecond|): Remove. (|$quadSymbol|): Likewise. ($escapeString): Likewise. ($boxString): Likewise. ($boldString): Likewise. ($normalString): Likewise. ($reverseVideoString): Likewise. ($underlineString): Likewise. ($COMPILE): Likewise. ($BasicPredicates): Likewise. ($BFTag): Likewise. ($BigFloat): Likewise. ($Boolean): Likewise. ($Category): Likewise. ($CategoryNames): Likewise. ($Domain): Likewise. ($DomainNames): Likewise. ($DomainsInScope): Likewise. ($DoubleQuote): Likewise. ($DummyFunctorNames): Likewise. ($EmptyEnvironment): Likewise. ($EmptyList): Likewise. ($EmptyMode): Likewise. ($EmptyString): Likewise. ($EmptyVector): Likewise. ($Expression): Likewise. ($Exit): Likewise. ($failure): Likewise. ($Float): Likewise. ($FormalMapVariableList): Likewise. ($ConstructorNames): Likewise. ($InitialDomainsInScope): Likewise. ($InitialModemapFrame): Likewise. ($Integer): Likewise. ($LocalFrame): Likewise. ($NegativeInteger): Likewise. ($NonNegativeInteger): Likewise. ($NonPositiveInteger): Likewise. ($NonMentionableDomainNames): Likewise. ($noParseCommands): Likewise. ($NoValueMode): Likewise. ($NoValue): Likewise. ($Mode): Likewise. ($ModeVariableList): Likewise. ($One): Likewise. ($PatternVariableList): Likewise. ($PositiveInteger): Likewise. ($PrimitiveDomainNames): Likewise. ($RationalNumber): Likewise. ($SideEffectFreeFunctionList): Likewise. ($SmallInteger): Likewise. ($SpecialDomainNames): Likewise. ($StringCategory): Likewise. ($String): Likewise. ($Symbol): Likewise. ($systemCommands): Likewise. ($ThrowAwayMode): Likewise. ($tokenCommands): Likewise. ($true): Likeiwse. ($underDomainAlist): Likewise. ($Void): Likewise. ($Zero): Likewise. (|$DomainVariableList|): Likewise.
Diffstat (limited to 'src/interp/sys-constants.boot')
-rw-r--r--src/interp/sys-constants.boot519
1 files changed, 519 insertions, 0 deletions
diff --git a/src/interp/sys-constants.boot b/src/interp/sys-constants.boot
new file mode 100644
index 00000000..f518d045
--- /dev/null
+++ b/src/interp/sys-constants.boot
@@ -0,0 +1,519 @@
+-- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+-- All rights reserved.
+--
+-- Redistribution and use in source and binary forms, with or without
+-- modification, are permitted provided that the following conditions are
+-- met:
+--
+-- - Redistributions of source code must retain the above copyright
+-- notice, this list of conditions and the following disclaimer.
+--
+-- - Redistributions in binary form must reproduce the above copyright
+-- notice, this list of conditions and the following disclaimer in
+-- the documentation and/or other materials provided with the
+-- distribution.
+--
+-- - Neither the name of The Numerical ALgorithms Group Ltd. nor the
+-- names of its contributors may be used to endorse or promote products
+-- derived from this software without specific prior written permission.
+--
+-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+-- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+-- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+-- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+-- OR CONTRIBUTORS 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 OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+-- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+--
+-- Copyright (C) 2007 Gabriel Dos Reis
+--
+
+--
+-- This file collects and documents some of the constants used by either
+-- the interpreter or the compiler or both.
+--
+
+import '"boot-pkg"
+
+)package "BOOT"
+
+
+++ Clock time unit per second.
+$timerTicksPerSecond ==
+ INTERNAL_-TIME_-UNITS_-PER_-SECOND
+
+
+--
+-- Text formatting
+--
+
+++ Glyph for a box
+$boxString ==
+ CONCATENATE('STRING, [CODE_-CHAR 29, CODE_-CHAR 226])
+
+++ Glyph for an APL quad
+$quadSymbol ==
+ $boxString
+
+--% ANSI Escape Sequences. Note that these days, people
+--% will be talking of ISO/IEC 6429. The practical end result
+--% is the same.
+--% The next few definitions provide symbolic names for ANSI
+--% espace sequences.
+
+++ The escape character, in string form
+$escapeString ==
+ STRING CODE_-CHAR 27
+
+++ Marker to swicth to bold font
+$boldString ==
+ CONCATENATE('STRING, $escapeString, '"[12m")
+
+++ Marker to switch to normal font
+$normalString ==
+ CONCATENATE('STRING, $escapeString, '"[0;10m")
+
+++ Marker to switch to reverve video display
+$reverseVideoString ==
+ CONCATENATE('STRING, $escapeString, '"[7m")
+
+++ Marker to underline text
+$underlineString ==
+ CONCATENATE('STRING, $escapeString, '"[4m")
+
+
+--
+-- User Interface
+--
+
+++
+++ FIXME: Eventually move this to i-syscmd.boot
+$noParseCommands ==
+ '(boot _
+ copyright _
+ credits _
+ fin _
+ lisp _
+ pquit _
+ quit _
+ suspend _
+ synonym _
+ system)
+
+++
+$tokenCommands ==
+ '(abbreviations _
+ cd _
+ clear _
+ close _
+ compiler _
+ depends _
+ display _
+ edit _
+ frame _
+ frame _
+ help _
+ history _
+ input _
+ library _
+ load _
+ ltrace _
+ read _
+ savesystem _
+ set _
+ spool _
+ undo _
+ what _
+ with _
+ workfiles _
+ zsystemdevelopment)
+
+++
+++ List of pair (command . user level)
+$systemCommands ==
+ '((abbreviations . compiler) _
+ (boot . development) _
+ (cd . interpreter) _
+ (clear . interpreter) _
+ (close . interpreter) _
+ (compiler . compiler) _
+ (copyright . interpreter) _
+ (credits . interpreter) _
+ (display . interpreter) _
+ (edit . interpreter) _
+ (fin . development) _
+ (frame . interpreter) _
+ (help . interpreter) _
+ (history . interpreter) _
+ (lisp . development) _
+ (library . interpreter) _
+ (load . interpreter) _
+ (ltrace . interpreter) _
+ (pquit . interpreter) _
+ (quit . interpreter) _
+ (read . interpreter) _
+ (savesystem . interpreter) _
+ (set . interpreter) _
+ (show . interpreter) _
+ (spool . interpreter) _
+ (summary . interpreter) _
+ (synonym . interpreter) _
+ (system . interpreter) _
+ (trace . interpreter) _
+ (undo . interpreter) _
+ (what . interpreter) _
+ (with . interpreter) _
+ (workfiles . development) _
+ (zsystemdevelopment . interpreter))
+
+--
+-- Old Parser data
+--
+
+++ The double quote character in string form
+++ FIXME: This constant is used in only one place. Move it there.
+$DoubleQuote ==
+ '"_""
+
+++ Internal type tag for big float values.
+++ This must be consistent with the tag checked for in postBigFloat
+++ and also set in property.lisp.
+++ FIXME: Have all those places use this symbolic constants.
+$BFtag ==
+ ":BF:"
+
+--
+-- Compiler flags
+--
+
+++ True if the system should support compilation
+++ This constant does not seem very terrible useful.
+++ FIXME: Check if it can be removed.
+$COMPILE ==
+ true
+
+--
+-- Common system data
+--
+
+++ A list of precomputed formal function formal parameter names.
+++ 50 parameters should be enough for everybody, right?
+$FormalMapVariableList ==
+ '(_#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 _#40 _
+ _#41 _#42 _#43 _#44 _#45 _#46 _#47 _#48 _#49 _#50)
+
+
+++ List of precomputed pattern variable names.
+$PatternVariableList ==
+ '(_*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 _*40 _
+ _*41 _*42 _*43 _*44 _*45 _*46 _*47 _*48 _*49 _*50)
+
+$ModeVariableList ==
+ '(dv_$1 dv_$2 dv_$3 dv_$4 dv_$5 dv_$6 dv_$7 dv_$8 _
+ dv_$9 dv_$10 dv_$11 dv_$12 dv_$13 dv_$14 dv_$15 _
+ dv_$16 dv_$17 dv_$18 dv_$19 dv_$20)
+
+$DomainVariableList ==
+ '(_$1 _$2 _$3 _$4 _$5 _$6 _$7 _$8 _$9 _$10 _$11 _
+ _$12 _$13 _$14 _$15 _$16 _$17 _$18 _$19 _$20)
+
+
+++ List of basic predicates the system has a built-in optimization
+++ support for.
+$BasicPredicates ==
+ '(INTEGERP STRINGP FLOATP)
+
+
+
+++ List of functions known to be free of side effects
+++ FIXME: Check that the names on this list are not renamed.
+$SideEffectFreeFunctionList ==
+ '(_null _
+ _case _
+ Zero _
+ One _
+ _: _
+ _:_: _
+ _has _
+ Mapping _
+ _elt _
+ _= _
+ _> _
+ _>_= _
+ _< _
+ _<_= _
+ MEMBER _
+ _is _
+ _isnt _
+ ATOM _
+ $_= _
+ $_> _
+ $_>_= _
+ $_< _
+ $_<_= _
+ $_^_= _
+ $MEMBER)
+
+--% Types
+
+++ The Void domain constructor form
+$Void ==
+ '(Void)
+
+++ Boolean domain constructor form
+$Boolean ==
+ '(Boolean)
+
+++ The SmallInteger domain constructor form
+$SmallInteger ==
+ '(SingleInteger)
+
+++ The Integer domain constructor form.
+$Integer ==
+ '(Integer)
+
+
+++ The NegativeInteger domain constructor form
+$NegativeInteger ==
+ '(NegativeInteger)
+
+++ The NonNegativeInteger domain constructor form
+$NonNegativeInteger ==
+ '(NonNegativeInteger)
+
+++ The NonPositiveInteger domain constructor form
+$NonPositiveInteger ==
+ '(NonPositiveInteger)
+
+++ The PositiveInteger domain constructor form
+$PositiveInteger ==
+ '(PositiveInteger)
+
+++ The RationalNumber domain constructor form
+$RationalNumber ==
+ '(Fraction (Integer))
+
+
+++ SingleFloat domain constructor form
+$SingleFloat ==
+ '(SingleFloat)
+
+++ Float domain constructor form
+$Float ==
+ '(Float)
+
+++ DoubleFloat domain constructor form
+$DoubleFloat ==
+ '(DoubleFloat)
+
+++ BigFloat domain constructor form
+++ FIXME: This does not appear to be used anywhere in the
+++ source codes.
+$BigFloat ==
+ '(Float)
+
+
+++ The String constructor domain form
+$String ==
+ '(String)
+
+++ The Symbol constructor domain form
+$Symbol ==
+ '(Symbol)
+
+
+++ The 'wildcar' for a type -- "?" in Spad syntax. This stands for
+++ an unspecified type.
+$EmptyMode ==
+ "$EmptyMode"
+
+++ Expression domain constructor form
+$Expression ==
+ '(OutputForm)
+
+++ Exit domain constructor form
+$Exit ==
+ '(Exit)
+
+++ The ThrowAwayMode constructor form
+$ThrowAwayMode ==
+ "$ThrowAwayMode"
+
+++ This mode is used to indicate that the value of expression
+++ can be thrown away.
+$NoValueMode ==
+ "$NoValueMode"
+
+--%
+
+++ Category constructor form
+$Category ==
+ '(Category)
+
+++ Domain constructor form
+++ FIXME: Find where this is used in the system.
+$Domain ==
+ '(Domain)
+
+++ Mode constructor form
+++ FIXME: Where is this used?
+$Mode ==
+ '(Mode)
+
+
+++ StringCategory Constructor form
+$StringCategory ==
+ '(StringCategory)
+
+
+++ List of categories that do not have entries in the constructor
+++ database. So, they are mostly recognized by their names.
+$CategoryNames ==
+ '(Category _
+ CATEGORY _
+ RecordCategory _
+ Join _
+ EnumerationCategory _
+ StringCategory _
+ SubsetCategory _
+ UnionCategory)
+
+++ List of domains that do not have entries in the constructor
+++ database. So, they are mostly recognized by their names.
+++ See also $CategoryNames.
+$DomainNames ==
+ '(Integer _
+ Float _
+ Symbol _
+ Boolean _
+ String _
+ Expression _
+ Mapping _
+ SubDomain _
+ List _
+ Union _
+ Record _
+ Vector _
+ Enumeration)
+
+
+++
+$NonMentionableDomainNames ==
+ '($ Rep Record Union Mapping Enumeration)
+
+
+++ List of primitive domains
+$PrimitiveDomainNames ==
+ '(List _
+ Integer _
+ NonNegativeInteger _
+ PositiveInteger _
+ SingleInteger _
+ String _
+ Boolean)
+
+++ FIXME
+$SpecialDomainNames ==
+ '(add _
+ CAPSULE _
+ SubDomain _
+ List _
+ Union _
+ Record _
+ Vector)
+
+
+$optimizableConstructorNames ==
+ '(List _
+ Integer _
+ PositiveInteger _
+ NonNegativeInteger _
+ SingleInteger _
+ String _
+ Boolean _
+ Symbol _
+ DoubleFloat _
+ PrimitiveArray _
+ Vector)
+
+++ FIXME
+$DomainsInScope ==
+ '(NIL)
+
+++ List of domains in scope in fresh settings.
+$InitialDomainsInScope ==
+ '($EmptyMode _
+ $NoValueMode)
+
+
+++ FIXME
+$underDomainAlist ==
+ nil
+
+
+++ List of constructors that do not have entries in the databases.
+++ See also $CategoryNames and $DomainNames.
+$ConstructorNames ==
+ '(SubDomain _
+ List _
+ Union _
+ Record _
+ Vector)
+
+++ A list of functors that do not really have modemaps
+$DummyFunctorNames ==
+ '(Mapping)
+
+--%
+
+++ The empty environment
+$EmptyEnvironment ==
+ '((NIL))
+
+++
+$LocalFrame ==
+ '((NIL))
+
+++ The empty string constant.
+$EmptyString ==
+ '""
+++ The empty vector constant
+$EmptyVector ==
+ VECTOR()
+
+++ A symbol denoting failure
+$failure ==
+ GENSYM()
+
+++ The initial modemap frame
+$InitialModemapFrame ==
+ '((NIL))
+
+
+++ The constant 0.
+$Zero ==
+ '(Zero)
+
+++ The constant 1.
+$One ==
+ '(One)
+
+
+++
+$true ==
+ ''T
+
+++ Indicate absence of value
+$NoValue ==
+ "$NoValue"
+