-/* ../options.h. Generated automatically by configure. */
+
/* --------------------------------------------------------------------------
* Configuration options
*
- * Most configuration options are arguments to the configure script
- * (try running "configure --help"). The following options are either
- * experimental or require changes to "Prelude.hs", the standard libraries
- * and demos and therefore cannot be modified using the configure script.
- * Most users should leave them alone!
- *
* Copyright (c) The University of Nottingham and Yale University, 1994-1997.
* All rights reserved. See NOTICE for details and conditions of use etc...
* Hugs version 1.4, December 1997
*
* $RCSfile: options.h,v $
- * $Revision: 1.11 $
- * $Date: 1999/11/12 16:38:33 $
+ * $Revision: 1.27 $
+ * $Date: 2000/04/14 15:10:20 $
* ------------------------------------------------------------------------*/
* User interface options
* ------------------------------------------------------------------------*/
-/* Define if you want to use the "Hugs for Windows" GUI.
- * (Windows 3.1 and compatibles only)
- */
-#define HUGS_FOR_WINDOWS 0
-
/* Define if you want filenames to be converted to normal form by:
* o replacing relative pathnames with absolute pathnames and
* eliminating .. and . where possible.
*/
#define SMALL_BANNER 0
-/* Define if you want to be able to redirect stdout/stderr to a buffer.
- * Only necessary for the Hugs server interface (which is used in the
- * Netscape plugin and the standalone evaluator "runhugs").
- */
-#define REDIRECT_OUTPUT (!HUGS_FOR_WINDOWS)
-
/* --------------------------------------------------------------------------
- * Making Hugs smaller
+ * Language extensions
* ------------------------------------------------------------------------*/
-/* Define one of these to select overall size of Hugs
- * SMALL_HUGS for 16 bit operation on a limited memory PC.
- * REGULAR_HUGS for 32 bit operation using largish default table sizes.
- * LARGE_HUGS for 32 bit operation using larger default table sizes.
- */
-#define SMALL_HUGS 0
-#define REGULAR_HUGS 0
-#define LARGE_HUGS 1
+/* Define if T-REX; Typed Rows and EXtension should be enabled */
+/* Doesn't work in current system - I don't know what the primops do */
+#define TREX 0
+
+/* Implicit Parameters */
+#define IPARAM 1
+
+/* Multi-instance resolution */
+#define MULTI_INST 0
-#define NUM_SYNTAX 100
-#define NUM_TUPLES 20
-#define NUM_OFFSETS 1024
+
+/* --------------------------------------------------------------------------
+ * Various table sizes
+ * ------------------------------------------------------------------------*/
+
+#define NUM_TUPLES 37
#define NUM_CHARS 256
#if TREX
#define NUM_EXT 100
#endif
#define CHAR_MASK 0xff
-#if SMALL_HUGS /* the McDonalds mentality :-) */
-#define Pick(s,r,l) s
-#endif
-#if REGULAR_HUGS
-#define Pick(s,r,l) r
-#endif
-#if LARGE_HUGS
-#define Pick(s,r,l) l
-#endif
+#define MINIMUMHEAP 19000
+#define MAXIMUMHEAP 0
+#define DEFAULTHEAP 320000
-#define MINIMUMHEAP Pick(7500, 19000, 19000)
-#define MAXIMUMHEAP Pick(32765, 0, 0)
-#define DEFAULTHEAP Pick(28000, 50000, 650000)
-
-#define NUM_SCRIPTS Pick(64, 100, 100)
-#define NUM_MODULE NUM_SCRIPTS
-#define NUM_TYCON Pick(60, 160, 400)
-#define NUM_NAME Pick(1000, 2000, 16000)
-#define NUM_CLASSES Pick(30, 40, 80)
-#define NUM_INSTS Pick(200, 300, 600)
-#define NUM_TEXT Pick(12000, 20000, 100000)
-#define NUM_TEXTH Pick(1, 10, 10)
-#define NUM_TYVARS Pick(800, 2000, 4000)
-#define NUM_STACK Pick(1800, 12000, 16000)
-#define NUM_DTUPLES Pick(3, 5, 5)
+#define TEXT_SIZE 100000
+#define NUM_TEXTH 10
+#define NUM_TYVARS 4000
+#define NUM_STACK 16000
+#define NUM_DTUPLES 5
+#define NUM_MSTACK 2000
#define MAXPOSINT 0x7fffffff
#define MINNEGINT (-MAXPOSINT-1)
#define MAXHUGSWORD 0xffffffffU
-#define BIGBASE Pick(100, 10000, 10000)
-#define BIGEXP Pick(2, 4, 4)
-
-#define minRecovery Pick(1000, 1000, 1000)
-#define bitsPerWord Pick(16, 32, 32)
-#define wordShift Pick(4, 5, 5)
-#define wordMask Pick(15, 31, 31)
-
-/* Define to force a fixed size (NUM_TYVARS) for the current substitution.
- * Setting this flag places a limit on the maximum complexity of
- * expressions handled by the typechecker. It is normally turned off
- * but may be required for small machines/configurations.
- */
-#define FIXED_SUBST 0
-
-/* Define this to allocate tables dynamically.
- * This is currently just a memory saving trick, but this may be
- * extended at a later stage to allow at least some of the tables
- * to be extended dynamically at run-time to avoid exhausted space errors.
- */
-#define DYN_TABLES SMALL_HUGS
-
-/* Define this to include support for storing pointers in the heap.
- * This is required by the code generator (which has to store
- * pointers to AsmObjects).
- */
-#define PTR_ON_HEAP 1
+#define minRecovery 1000
+#define bitsPerWord 32
+#define wordShift 5
+#define wordMask 31
/* Should quantifiers be displayed in error messages.
* Warning: not consistently used.
* without attention. However, standard Haskell 98 is supported
* is supported without needing them.
*/
-#undef PROVIDE_STABLE
-#undef PROVIDE_FOREIGN
#undef PROVIDE_WEAK
-#undef PROVIDE_CONCURRENT
-#undef PROVIDE_PTREQUALITY
-#undef PROVIDE_COERCE
-
-/* Set to 1 to use a non-GMP implementation of integer, in the
- standalone Hugs. Set to 0 in the combined GHC-Hugs system,
- in which case GNU MP will be used.
-*/
-#define STANDALONE_INTEGER 1
+#define PROVIDE_STABLE 1
+#define PROVIDE_FOREIGN 1
+#define PROVIDE_COERCE 1
+#define PROVIDE_PTREQUALITY 1
+#define PROVIDE_CONCURRENT 1
/* Enable a crude profiler which counts BCO entries, bytes allocated
and bytecode insns executed on a per-fn basis. Used for assessing
*/
#undef CRUDE_PROFILING
-
-/* Is the default default (Int,Double) or (Integer,Double)?
- */
-#define DEFAULT_BIGNUM 1
-
-/* Should lambda lifter lift constant expressions out to top level?
- * Experimental optimisation.
- */
-#define LIFT_CONSTANTS 0
-
-/* Should we run optimizer on Hugs code?
- * Experimental optimisation.
- */
-#define USE_HUGS_OPTIMIZER 1
-
-/* Are things being used in an interactive setting or a batch setting?
- * In an interactive setting, System.exitWith should not call _exit
- * getProgName and getProgArgs need to be handled differently, etc.
- *
- * Warning: this flag is ignored by an awful lot of code.
- */
-#define INTERACTIVE
-
/* Turn bytecode interpreter support on/off.
*/
#define INTERPRETER 1
*/
/*#define DEBUG*/
-/* Make stack tags more informative than just their size.
- * Helps when printing the stack and when running sanity checks.
- */
-/*#define DEBUG_EXTRA*/
-
/* NB: LAZY_BLACKHOLING has been moved up to Stg.h where both Hugs and GHC can see it,
* and EAGER_BLACKHOLING has been introduced also. KSW 1999-01.
*/
+
/* Turn miniinterpreter on/off.
*
* The mininterpreter is portable but slow - if you turn it off,
#define NO_REGS
-/* --------------------------------------------------------------------------
- * Fancy features
- * ------------------------------------------------------------------------*/
-
-/* Define if T-REX; Typed Rows and EXtension should be enabled */
-/* Doesn't work in current system - I don't know what the primops do */
-#define TREX 0
-
/* Define if :xplain should be enabled */
#define EXPLAIN_INSTANCE_RESOLUTION 0
*/
#define USE_ADDR_FOR_STRINGS 1
-/* Define to include support for (n+k) patterns.
- * Warning: many people in the Haskell committee want to remove n+k patterns.
- */
-#define NPLUSK 1
-
-
-/* --------------------------------------------------------------------------
- * Debugging options (intended for use by maintainers)
- * ------------------------------------------------------------------------*/
-
-/* Define if debugging generated bytecodes or the bytecode interpreter */
-#define DEBUG_CODE 1
-
-/* Define if debugging generated supercombinator definitions or compiler */
-#define DEBUG_SHOWSC 0
-
-/* Define if you want to use a low-level printer from within a debugger */
-#define DEBUG_PRINTER 1
/* --------------------------------------------------------------------------
* Experimental features