summaryrefslogtreecommitdiff
path: root/ghc/interpreter
Commit message (Collapse)AuthorAgeFilesLines
...
* [project @ 2000-04-07 16:22:12 by sewardj]sewardj2000-04-071-5/+5
| | | | route debugging messages via FPrintf, not fprintf
* [project @ 2000-04-07 16:20:53 by sewardj]sewardj2000-04-071-3/+3
| | | | Fix silly bug with option setting: :s _S --> segfault
* [project @ 2000-04-07 10:00:28 by sewardj]sewardj2000-04-072-16/+14
| | | | Get correct line numbers in type/static error messages.
* [project @ 2000-04-07 09:59:36 by sewardj]sewardj2000-04-071-24/+39
| | | | Use data decl context to qualify selector types.
* [project @ 2000-04-07 09:58:34 by sewardj]sewardj2000-04-071-3/+3
| | | | print(STAR) wibble.
* [project @ 2000-04-07 09:57:37 by sewardj]sewardj2000-04-072-2/+2
| | | | Update path to nofib suite.
* [project @ 2000-04-06 15:05:30 by sewardj]sewardj2000-04-063-8/+10
| | | | | | | More constructors-with-context fixes: * Don't inline bytecode constructor calls if constructor has a context * Fix bug in startGHCDataDecl which caused loss of context in iface constructor types.
* [project @ 2000-04-06 14:23:55 by sewardj]sewardj2000-04-065-22/+43
| | | | | | | Align Hugs' constructor-building with that of GHC. Always pass dictionaries to the constructor function, even if they are ignored. Generate a constructor function which expects dictionaries. And ignore dictionaries in constructor types when desugaring patterns containing them.
* [project @ 2000-04-06 00:36:12 by andy]andy2000-04-063-56/+16
| | | | Removing the "import privileged" implementation from hugs.
* [project @ 2000-04-06 00:01:26 by andy]andy2000-04-068-33/+31
| | | | Changing PrimPrel to PrelPrim.
* [project @ 2000-04-05 16:57:18 by sewardj]sewardj2000-04-054-110/+100
| | | | | Clean up the storage manager a little, and reinstate the compile time garbage collector. Then pray.
* [project @ 2000-04-05 14:14:51 by sewardj]sewardj2000-04-051-8/+2
| | | | Nuke inexplicable calls to moduleThisScript.
* [project @ 2000-04-05 14:13:58 by sewardj]sewardj2000-04-052-18/+124
| | | | Restore +Q and -Q operation, so we can run nofib again.
* [project @ 2000-04-05 10:25:08 by sewardj]sewardj2000-04-057-36/+41
| | | | | | | | Correctly handle constructors with strict fields, which was broken by overenthusiastic constructor inlining some time back: * notice if a constructor has strict fields, and set name(n).hasStrict, both for source modules and interfaces * if a constr has strict fields, do not inline applications of it
* [project @ 2000-04-05 09:22:28 by sewardj]sewardj2000-04-051-4/+9
| | | | | processInterfaces: use dupOnto to create constructor_list, not appendOnto. Ignore strictness annotations on iface constructor sigs. (Probably wrong).
* [project @ 2000-04-04 18:27:46 by andy]andy2000-04-041-2/+2
| | | | Observe wibble.
* [project @ 2000-04-04 17:35:04 by sewardj]sewardj2000-04-043-16/+28
| | | | | Restore ability to load a script which doesn't have a module header, ie doesn't start module M where ...
* [project @ 2000-04-04 17:07:15 by sewardj]sewardj2000-04-041-19/+43
| | | | | | Fix various small bugs in module chasing & error handling. Report a static analysis error if a module's name does not match its file name.
* [project @ 2000-04-04 15:41:56 by sewardj]sewardj2000-04-047-134/+182
| | | | | | | | | | | | | | | | * Enforce downward closure rule (first attempt :-) If both object and source of a module are available, be simple and choose the more recent. If that causes a subsequent violation of the DCR, complain to the user at the time the violation is detected. The alternative is to have a clever algorithm which makes clever choices now to avoid conflicts later, but that looks complicated to do, and I think it would also confuse users. * As a side effect of the above, enforce the rule that the Prelude must be all source or all object, but not a combination. * Rationalise signature and semantics for findFilesForModule, so as to make client code simpler.
* [project @ 2000-04-04 11:24:48 by sewardj]sewardj2000-04-041-3/+3
| | | | identToStr(): use whatIs(), not fst in switch.
* [project @ 2000-04-04 01:19:07 by andy]andy2000-04-042-10/+8
| | | | | Making expressions inport Prelude, not PrimPrel, fixing the implicit import Prelude back to the Haskell semantics.
* [project @ 2000-04-04 01:07:49 by andy]andy2000-04-048-46/+66
| | | | | | | Adding in support for split Hugs Prelude. There are now two preludes. (1) PrimPrel - the Prelude defintions, and the extra magic datatypes. (2) Prelude - the external interface for Prelude.
* [project @ 2000-04-03 23:43:13 by andy]andy2000-04-031-3/+3
| | | | | Fixing problem withn "Prelude> take.P" which was causing Hugs to crash. The new abstraction for the Text segment was not being observed.
* [project @ 2000-04-03 17:27:10 by sewardj]sewardj2000-04-033-6/+8
| | | | | Track recent renaming of True_static_closure ---> True_closure, etc, and avoid segfault with filename extension handling.
* [project @ 2000-04-03 16:22:51 by sewardj]sewardj2000-04-031-342/+0
| | | | Spotted this piece of ancient history and decided to delete it.
* [project @ 2000-03-31 04:13:27 by andy]andy2000-03-314-22/+27
| | | | | | | | | | | | | | Fixing a couple of problems with Quantified identifiers. (1) The string building routine for Qid's was not using the new abstraction for showing names. The old abstraction worked most of the time in the new system, so was only getting tickled sometimes. (2) Fixing the local module that top level expressions evaluate in. By importing quantified Prelude, this allows top level expressions like Prelude.take And a trivial Makefile change.
* [project @ 2000-03-30 12:04:13 by simonmar]simonmar2000-03-301-3/+3
| | | | update for extra parameter to startupHaskell().
* [project @ 2000-03-30 09:02:12 by andy]andy2000-03-301-3/+3
| | | | | | | | | | | | | Fixing bug with import privileged clashing with import hidden. This caused a rather nasty name-leak, where catch from the prelude was being given the type of catch from Exceptions. Now, when you use import privileged Prelude (...) you also need to do import Prelude, allowing you the option of import Prelude hiding (...). A bucket load of wibbles will follow in various libraries, implementing this restriction.
* [project @ 2000-03-28 10:20:55 by andy]andy2000-03-282-7/+8
| | | | Restoring Hugs ability to accept the -98/+98 and -h<heap> options.
* [project @ 2000-03-24 14:51:50 by sewardj]sewardj2000-03-241-3/+3
| | | | Win32 signal wibbles.
* [project @ 2000-03-24 14:32:03 by sewardj]sewardj2000-03-248-158/+106
| | | | | Reimplement interrupt handling in a way compatible with the revised module chaser, etc.
* [project @ 2000-03-24 12:36:43 by sewardj]sewardj2000-03-242-36/+59
| | | | Fix various bugs with module chasing and reloading.
* [project @ 2000-03-23 14:54:20 by sewardj]sewardj2000-03-2320-68/+68
| | | | | Make Hugs compile on Win32 again after recent changes. Also, rename prelude.h to hugsbasictypes.h to avoid conflicts with includes/Prelude.h.
* [project @ 2000-03-23 12:19:22 by sewardj]sewardj2000-03-233-23/+43
| | | | | | Allow clients of the linker library (object.[ch]) to specify, portably, symbols they wish to ignore in calls to ocGetNames(). Use this modification to support ignoring the multiple occurrences of ghc_cc_ID.
* [project @ 2000-03-23 10:53:26 by sewardj]sewardj2000-03-231-0/+22
| | | | | storage.h needs to see a machine-dependant file-timestamp type for use in Module symbol table entries -- hence this file.
* [project @ 2000-03-22 18:14:22 by sewardj]sewardj2000-03-2217-2421/+2438
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Initial commit of major changes to module chasing and storage management: * Total reimplementation of module chasing (see achieveTargetModules in hugs.c). Build, maintain and use module dependency graphs to decide what needs reloading when. The old mechanism with a stack of scripts, etc, is gone forever. All the rest of these points are in support of the module-chasing change: * The result of parsing a module is now a parse tree, rather than a half-baked parse tree and a bunch of side-effects. Hooray! * Redo symbol tables for Names, Tycons, Classes, Instances and Modules. They are now dynamically expandable, doubling in size automatically when full, and use a freelist system to keep track of available slots. * Allow arbitrary modules to be deleted from the system. The main honcho here is nukeModule(). * Not strictly necessary, but ... unify the address space for all compile-time entities. See revised whatIs(). Text is part of the unified address space. This is very convenient for debugging. print() can now print practically anything. Generally simplify storage management as much as possible, and zap the years of elaborate hacks needed to make Hugs work well in 16-bit systems. Added a load of sanity-checking support to storage.[ch]. * We don't support project files any more. They were useful for a while, but no longer seem relevant. * Nuked a large bunch of irrelevant options in rts/options.h. As of this commit, the system can load and chase modules, both in standalone and combined modes. The :l (load), :a (also), :r (refresh), :i (info), :t (show type) and :m (set eval module) commands appear to work. There are also several temporary limitations which will be fixed soon: * Anything to do with external editors, etc, doesn't work. * The downward-closure-of-object-code (if M is object, all modules below M must be too) is not enforced nor checked for. It needs to be. * Module M _must_ reside in M.hs/M.o (sigh). To be fixed. * Error handling is probably flaky, and interrupt handling very likely is. * Error messages don't have line numbers. (A 5-minute fix). * Progress messages are all at sea; needs re-thinking now that the order in which things are done is radically different. * Compile-time GC is temporarily disabled whilst I figure out how to stress-test the GC. * Freed-up symbol table entries are never re-entered on the free lists -- a debugging measure. * :% is given a bad type in combined mode. To be investigated.
* [project @ 2000-03-20 04:26:23 by andy]andy2000-03-204-10/+22
| | | | | | | Second attack at supporting threads inside STG Hugs. We now support most of the concurrency primitives. Also a wibble in Evaluator.c, letting Hugs compile.
* [project @ 2000-03-15 23:27:16 by andy]andy2000-03-155-14/+96
| | | | | | | | | | Adding in internal support for assert, that gives optional assertion messages with file and line numbers. Changing the default build style to stand alone. Thinking: People building the combined system are likly to be hackers already, so can make a one line change. We should discuss this...
* [project @ 2000-03-14 14:34:47 by sewardj]sewardj2000-03-144-15/+36
| | | | | | Update Hugs so as to work with the new way of referencing Prelude symbols from the RTS. The main action is in fixupRTStoPreludeRefs() in rts/Prelude.c.
* [project @ 2000-03-13 14:11:14 by sewardj]sewardj2000-03-132-6/+4
| | | | #include wibbles.
* [project @ 2000-03-13 14:10:24 by sewardj]sewardj2000-03-131-4/+4
| | | | Win32 wibble.
* [project @ 2000-03-13 11:37:16 by sewardj]sewardj2000-03-1322-1108/+1081
| | | | | Further cleanups of connect.h. Also, zap the Args macro. We really don't need to support K&R C any more.
* [project @ 2000-03-10 22:11:39 by lewie]lewie2000-03-101-189/+0
| | | | Removing backend.h for Julian.
* [project @ 2000-03-10 20:03:36 by sewardj]sewardj2000-03-1020-319/+62
| | | | Update .c files to reflect reorganisation of .h files in this directory.
* [project @ 2000-03-10 19:50:44 by sewardj]sewardj2000-03-105-455/+609
| | | | | | Major cleanup of header files. Merge the 5 deleted files into connect.h. Organise connect.h to gather declarations into roughtly related categories.
* [project @ 2000-03-10 17:30:36 by lewie]lewie2000-03-104-27/+12
| | | | | | | | First stab at reviving TREX - just fixing some header wibbles. Also one small fix to get implicit parameters working (`textOf' needed to be taught that IPCELLs are also OK). Moved #defines for TREX, IPARAM, etc, into options.h (in their previous location at the end of prelude.h, they were being defined too late).
* [project @ 2000-03-10 14:53:00 by sewardj]sewardj2000-03-1013-88/+45
| | | | | | Compilation cleanups: * Add some prototypes to header files, to avoid compilation warnings. * Remove irrelevant #ifdeffery (#if NPLUSK, + various others)
* [project @ 2000-03-09 21:35:38 by andy]andy2000-03-091-3/+2
| | | | Rm debugging printf.
* [project @ 2000-03-09 10:19:33 by andy]andy2000-03-092-32/+17
| | | | | | | Porting bug fix from Classic Hugs to STG Hugs. This was causing crashes when compiling large examples. Removing some dead code from static.c
* [project @ 2000-03-09 06:14:38 by andy]andy2000-03-092-19/+52
| | | | | | | | | | | | | | | improving the synatax and semantics of the privileged import Typical use might be: import Prelude import privileged Prelude ( IORef , unsafePerformIO ) Which means please ignore the export that comes with Prelude, and let me at compiler internal magic operations, IORef and unsafePerformIO (both are later exported by IOExt) I've also updated the stdlib files to use this (hugs only :-).