* Hugs version 1.4, December 1997
*
* $RCSfile: options.h,v $
- * $Revision: 1.19 $
- * $Date: 2000/03/09 06:14:38 $
+ * $Revision: 1.20 $
+ * $Date: 2000/03/10 14:53:00 $
* ------------------------------------------------------------------------*/
/* --------------------------------------------------------------------------
- * Making Hugs smaller
+ * Various table sizes
* ------------------------------------------------------------------------*/
-/* 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 NUM_SYNTAX 100
#define NUM_TUPLES 37
#define NUM_OFFSETS 1024
#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 Pick(7500, 19000, 19000)
-#define MAXIMUMHEAP Pick(32765, 0, 0)
-#define DEFAULTHEAP Pick(28000, 50000, 350000)
+#define MINIMUMHEAP 19000
+#define MAXIMUMHEAP 0
+#define DEFAULTHEAP 350000
-#define NUM_SCRIPTS Pick(64, 100, 100)
+#define NUM_SCRIPTS 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 NUM_TYCON 400
+#define NUM_NAME 16000
+#define NUM_CLASSES 80
+#define NUM_INSTS 600
+#define NUM_TEXT 100000
+#define NUM_TEXTH 10
+#define NUM_TYVARS 4000
+#define NUM_STACK 16000
+#define NUM_DTUPLES 5
#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 minRecovery 1000
+#define bitsPerWord 32
+#define wordShift 5
+#define wordMask 31
/* Define to force a fixed size (NUM_TYVARS) for the current substitution.
* Setting this flag places a limit on the maximum complexity of
* 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 DYN_TABLES 0
/* Should quantifiers be displayed in error messages.
* Warning: not consistently used.
*/
#define DEFAULT_BIGNUM 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 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 you want to use a low-level printer from within a debugger */
-#define DEBUG_PRINTER 1
-
/* --------------------------------------------------------------------------
* Experimental features
* These are likely to disappear/change in future versions and should not