simonmar [Fri, 14 Apr 2000 09:37:03 +0000 (09:37 +0000)]
[project @ 2000-04-14 09:37:03 by simonmar]
Don't bother printing the HiVersion in the __interface line (it's
added by ghc-iface later on anyway).
simonmar [Fri, 14 Apr 2000 08:58:00 +0000 (08:58 +0000)]
[project @ 2000-04-14 08:58:00 by simonmar]
Text => Show
_ByteArray => ByteArray
simonmar [Fri, 14 Apr 2000 08:55:42 +0000 (08:55 +0000)]
[project @ 2000-04-14 08:55:42 by simonmar]
fix up imports of ForeignObj(..).
simonmar [Fri, 14 Apr 2000 08:52:35 +0000 (08:52 +0000)]
[project @ 2000-04-14 08:52:35 by simonmar]
_ForeignObj ==> ForeignObj
simonmar [Fri, 14 Apr 2000 08:29:49 +0000 (08:29 +0000)]
[project @ 2000-04-14 08:29:49 by simonmar]
we should be using hPutBufFull here.
sewardj [Thu, 13 Apr 2000 23:03:12 +0000 (23:03 +0000)]
[project @ 2000-04-13 23:03:12 by sewardj]
Changed NO_REGS to NO_MACHREGS to avoid inexplicable gcc warnings when
building the rts for Hugs.
panne [Thu, 13 Apr 2000 20:41:32 +0000 (20:41 +0000)]
[project @ 2000-04-13 20:41:30 by panne]
GHC has instance amnesia again, so a bunch of funny
`import Ppr{Core,Type} ()? had to be added. Sorry,
but I need a bootstrapping GHC.
panne [Thu, 13 Apr 2000 19:44:22 +0000 (19:44 +0000)]
[project @ 2000-04-13 19:44:22 by panne]
Again: Addr is an abstract type in Addr, so import from PrelAddr instead.
Told you so...
panne [Thu, 13 Apr 2000 19:31:05 +0000 (19:31 +0000)]
[project @ 2000-04-13 19:31:05 by panne]
Bootstrapping fun:
* Addr is an abstract type in Addr, so import from PrelAddr instead
* Ignore the (recently introduced) return value of hPutBuf{,BA}
Probably more to come. No problem, as long as I don't run out of malt
first... %-)
panne [Thu, 13 Apr 2000 19:12:17 +0000 (19:12 +0000)]
[project @ 2000-04-13 19:12:17 by panne]
Ooops, forgot one -syslib => -package
panne [Thu, 13 Apr 2000 18:49:21 +0000 (18:49 +0000)]
[project @ 2000-04-13 18:49:21 by panne]
HS_cbits => HSstd_cbits
panne [Thu, 13 Apr 2000 15:37:11 +0000 (15:37 +0000)]
[project @ 2000-04-13 15:37:11 by panne]
StgStablePtr is now void*, as required by The Happy Bit Fiddlers
rrt [Thu, 13 Apr 2000 15:00:49 +0000 (15:00 +0000)]
[project @ 2000-04-13 15:00:49 by rrt]
Added details of packages.
panne [Thu, 13 Apr 2000 14:27:15 +0000 (14:27 +0000)]
[project @ 2000-04-13 14:27:15 by panne]
Removed the useless (and hard to implement) readForeignObjOffAddr#
simonmar [Thu, 13 Apr 2000 14:11:00 +0000 (14:11 +0000)]
[project @ 2000-04-13 14:11:00 by simonmar]
remove accidentally committed stuff.
simonpj [Thu, 13 Apr 2000 11:56:37 +0000 (11:56 +0000)]
[project @ 2000-04-13 11:56:35 by simonpj]
Add support for 'packages'.
* A package is a group of modules.
* A package has a name (e.g. std)
* A package is built into a single library (Unix; e.g. libHSstd.a)
or a single DLL (Windows; e.g. HSstd.dll)
* The '-package-name foo' flag tells GHC that the module being compiled
is destined for package foo.
* The '-package foo' flag tells GHC to make available modules
from package 'foo'. It replaces '-syslib foo' which is now deprecated.
* Cross-package references cost an extra indirection in Windows,
but not Unix
* GHC does not maintain detailed cross-package dependency information.
It does remember which modules in other packages the current module
depends on, but not which things within those imported things.
All of this tidies up the Prelude enormously. The Prelude and
Standard Libraries are built into a singl package called 'std'. (This
is a change; the library is now called libHSstd.a instead of libHS.a)
simonmar [Thu, 13 Apr 2000 08:58:27 +0000 (08:58 +0000)]
[project @ 2000-04-13 08:58:27 by simonmar]
Move block/unblockAsyncExceptions here, now that they're used in PrelHandle.
simonmar [Wed, 12 Apr 2000 17:33:17 +0000 (17:33 +0000)]
[project @ 2000-04-12 17:33:16 by simonmar]
This commit fixes the trace/stderr problem, and also fixes some other
problems with the I/O library.
- handles now contain a list of free buffers, which are
guaranteed to be the same size as the primary handle buffer.
- hPutStr now doesn't evaluate any part of the input string with
the handle locked. Instead, it acquires a buffer from the handle
copies characters into it, then commits the buffer. This is
better for concurrency too, because the handle is only locked
while we're actually reading/writing, not while evaluating.
- there were an even number of off-by-one errors in the I/O system
which compensated for each other. This has been fixed.
- made the I/O subsystem a little more exception-safe. It still
isn't totally exception-safe, but I can't face doing that
without a complete rewrite of this thing in Haskell.
- add hPutBufFull and hGetBufFull. The compiler probably needs to
be updated to use these too.
simonmar [Wed, 12 Apr 2000 17:12:23 +0000 (17:12 +0000)]
[project @ 2000-04-12 17:12:23 by simonmar]
add takeMaybeMVarzh_fast decl.
simonmar [Wed, 12 Apr 2000 17:11:38 +0000 (17:11 +0000)]
[project @ 2000-04-12 17:11:38 by simonmar]
add takeMaybeMVarzh_fast
simonmar [Wed, 12 Apr 2000 17:08:15 +0000 (17:08 +0000)]
[project @ 2000-04-12 17:08:15 by simonmar]
add takeMaybeMVar
simonmar [Wed, 12 Apr 2000 16:22:48 +0000 (16:22 +0000)]
[project @ 2000-04-12 16:22:48 by simonmar]
add takeMaybeMVar#
simonmar [Wed, 12 Apr 2000 16:15:35 +0000 (16:15 +0000)]
[project @ 2000-04-12 16:15:35 by simonmar]
hack to fix bootstrapping
simonmar [Wed, 12 Apr 2000 15:35:18 +0000 (15:35 +0000)]
[project @ 2000-04-12 15:35:18 by simonmar]
Add takeMaybeMVarzh (I'm doing this commit in bits, since my working
sources are so full of changes I can't easily unpick them...)
panne [Wed, 12 Apr 2000 15:32:11 +0000 (15:32 +0000)]
[project @ 2000-04-12 15:32:11 by panne]
Cleaned up Addr, AddrOff added
sewardj [Wed, 12 Apr 2000 11:49:50 +0000 (11:49 +0000)]
[project @ 2000-04-12 11:49:50 by sewardj]
Add -fcompiling-prelude so as to get right dependencies in the interface.
sewardj [Wed, 12 Apr 2000 09:43:10 +0000 (09:43 +0000)]
[project @ 2000-04-12 09:43:10 by sewardj]
Cygwin wibbles.
sewardj [Wed, 12 Apr 2000 09:37:19 +0000 (09:37 +0000)]
[project @ 2000-04-12 09:37:19 by sewardj]
More infotable cleanups: zap the debugging table of info table names.
This can be cleanly done by looking at the .itbl field on Names and Tycons.
sewardj [Wed, 12 Apr 2000 09:34:46 +0000 (09:34 +0000)]
[project @ 2000-04-12 09:34:46 by sewardj]
checkClosureShallow: allow Hugs constructor itbls
panne [Tue, 11 Apr 2000 20:44:20 +0000 (20:44 +0000)]
[project @ 2000-04-11 20:44:17 by panne]
Cleaning up the foreign object naming mess:
* Renamed the primop from makeForeignObj# to mkForeignObj#, this
is more consistent with the old Foreign.mkForeignObj.
* PrelForeign now exports makeForeignObj with the new signature.
* freeFile.c now uses StgAddr instead of StgForeignObj, this
removes the need for some fixIOs.
* Lots of import tweaking to prepare The Big Foreign Renamer,
which will move most of Foreign to ForeignObj, and FFI to Foreign.
Note: I've tried to track the changes in the interpreter sources, but
didn't test them.
sewardj [Tue, 11 Apr 2000 16:51:44 +0000 (16:51 +0000)]
[project @ 2000-04-11 16:51:44 by sewardj]
Pull init_stack outside #ifdef INTERPRETER.
sewardj [Tue, 11 Apr 2000 16:49:20 +0000 (16:49 +0000)]
[project @ 2000-04-11 16:49:20 by sewardj]
Fix bitrot to allow (standalone) StgHugs to be built on Solaris, so we
can Purify it.
sewardj [Tue, 11 Apr 2000 16:36:54 +0000 (16:36 +0000)]
[project @ 2000-04-11 16:36:53 by sewardj]
Ensure that when Hugs decides to unload a module (nukeModule()), there are
no closures anywhere in the system which refers to infotables defined
in that module. That means reverting all CAFs and doing a major GC
prior to deleting the module. A flag is used to avoid redundant GCs.
keithw [Tue, 11 Apr 2000 15:34:04 +0000 (15:34 +0000)]
[project @ 2000-04-11 15:34:04 by keithw]
Render formatting consistent with the Glasgow Style (vapour-)Guide.
simonmar [Tue, 11 Apr 2000 11:54:22 +0000 (11:54 +0000)]
[project @ 2000-04-11 11:54:22 by simonmar]
remove syslib misc.
simonmar [Tue, 11 Apr 2000 11:53:47 +0000 (11:53 +0000)]
[project @ 2000-04-11 11:53:47 by simonmar]
not the dmgob_ guys; we don't have the Native library anymore.
simonmar [Tue, 11 Apr 2000 11:51:17 +0000 (11:51 +0000)]
[project @ 2000-04-11 11:50:33 by simonmar]
syslib wibble
simonmar [Tue, 11 Apr 2000 11:48:13 +0000 (11:48 +0000)]
[project @ 2000-04-11 11:48:13 by simonmar]
don't try to recurse into non-directories.
simonmar [Tue, 11 Apr 2000 11:38:44 +0000 (11:38 +0000)]
[project @ 2000-04-11 11:38:44 by simonmar]
update expected output
simonmar [Tue, 11 Apr 2000 11:34:40 +0000 (11:34 +0000)]
[project @ 2000-04-11 11:34:40 by simonmar]
update expected output
simonmar [Tue, 11 Apr 2000 11:32:32 +0000 (11:32 +0000)]
[project @ 2000-04-11 11:32:32 by simonmar]
Use STArray instead of MutableArray.
simonmar [Tue, 11 Apr 2000 11:27:19 +0000 (11:27 +0000)]
[project @ 2000-04-11 11:27:19 by simonmar]
update expected output.
simonmar [Tue, 11 Apr 2000 11:24:42 +0000 (11:24 +0000)]
[project @ 2000-04-11 11:24:42 by simonmar]
oops, this output is bogus.
simonmar [Tue, 11 Apr 2000 11:20:25 +0000 (11:20 +0000)]
[project @ 2000-04-11 11:18:21 by simonmar]
update expected output
simonmar [Tue, 11 Apr 2000 11:12:44 +0000 (11:12 +0000)]
[project @ 2000-04-11 11:11:18 by simonmar]
update expected output
simonmar [Tue, 11 Apr 2000 11:06:34 +0000 (11:06 +0000)]
[project @ 2000-04-11 11:06:34 by simonmar]
Update for Haskell 1.4 (!!!) and update expected output.
simonmar [Tue, 11 Apr 2000 11:02:31 +0000 (11:02 +0000)]
[project @ 2000-04-11 11:02:31 by simonmar]
String isn't a valid _ccall_ argument type anymore.
simonmar [Tue, 11 Apr 2000 10:45:55 +0000 (10:45 +0000)]
[project @ 2000-04-11 10:45:55 by simonmar]
Add io subdir
andy [Tue, 11 Apr 2000 09:45:36 +0000 (09:45 +0000)]
[project @ 2000-04-11 09:45:36 by andy]
Wibble
simonmar [Tue, 11 Apr 2000 09:40:19 +0000 (09:40 +0000)]
[project @ 2000-04-11 09:40:19 by simonmar]
Add nested hPutStr/tracing test
sewardj [Mon, 10 Apr 2000 16:49:15 +0000 (16:49 +0000)]
[project @ 2000-04-10 16:49:15 by sewardj]
When building way=u, merge cbits/*.o into ./libHS_cbits.u_o, for Hugs.
simonpj [Mon, 10 Apr 2000 16:02:58 +0000 (16:02 +0000)]
[project @ 2000-04-10 16:02:58 by simonpj]
Make it so that -fcompiling-prelude applies only
for Prelude modules (i.e. ones called Prelxxx).
I've done this with an {-# OPTIONS #-} line in each
such module (they all has -fno-implicit-prelude anyway)
but a less repetitive approach in the Makefile would
be welcome.
sewardj [Mon, 10 Apr 2000 15:39:09 +0000 (15:39 +0000)]
[project @ 2000-04-10 15:39:09 by sewardj]
Load the compiled Prelude directly from its build location, ghc/lib/std.
sewardj [Mon, 10 Apr 2000 15:24:26 +0000 (15:24 +0000)]
[project @ 2000-04-10 15:24:26 by sewardj]
Update EXTERN_SYMS_linux/EXTERN_SYMS_ALLPLATFORMS to fix Win32 build.
sewardj [Mon, 10 Apr 2000 14:28:14 +0000 (14:28 +0000)]
[project @ 2000-04-10 14:28:14 by sewardj]
Make getArgs and getProgName behave identically in combined and standalone
modes.
simonmar [Mon, 10 Apr 2000 14:05:57 +0000 (14:05 +0000)]
[project @ 2000-04-10 14:05:57 by simonmar]
Text => Show
simonmar [Mon, 10 Apr 2000 13:59:17 +0000 (13:59 +0000)]
[project @ 2000-04-10 13:59:17 by simonmar]
Text => Show
simonmar [Mon, 10 Apr 2000 13:49:48 +0000 (13:49 +0000)]
[project @ 2000-04-10 13:49:48 by simonmar]
Text => Show
simonmar [Mon, 10 Apr 2000 13:35:45 +0000 (13:35 +0000)]
[project @ 2000-04-10 13:35:45 by simonmar]
Add Array exceptions (out-of-bounds and undefined element), not used yet.
simonmar [Mon, 10 Apr 2000 13:31:00 +0000 (13:31 +0000)]
[project @ 2000-04-10 13:31:00 by simonmar]
change Text to Show, several years too late
simonpj [Mon, 10 Apr 2000 13:18:13 +0000 (13:18 +0000)]
[project @ 2000-04-10 13:18:13 by simonpj]
Complete the previous commit. I think things should
be OK now; but the Hugs versioning may well need
adjusting.
NOTE: I've added PrelIO.lhs; it contains all the GHC parts
of what was IO.lhs.
simonpj [Mon, 10 Apr 2000 12:12:28 +0000 (12:12 +0000)]
[project @ 2000-04-10 12:12:27 by simonpj]
Make it so that
(A) All modules imported by Prelude are PrelXXX modules,
not library modules (notably Ix, Monad were culprits).
This lines up with the Hugs story, and is more intuitive.
(B) All things needed implicitly by syntax (e.g. do-notation
needs Monad) come from PrelXXX modules, even if they aren't
visible when you say 'import Prelude'.
These changes simplify the story, and fix the 'looking for [boot]
interface for Ix' problem.
This change is not quite complete. I'm committing it so
Simon can finish it off.
sewardj [Mon, 10 Apr 2000 09:40:03 +0000 (09:40 +0000)]
[project @ 2000-04-10 09:40:03 by sewardj]
Nuke USE_REGISTRY and all the code it protects. We can reinstate this
stuff later if we so decide.
andy [Mon, 10 Apr 2000 02:28:08 +0000 (02:28 +0000)]
[project @ 2000-04-10 02:28:08 by andy]
Removing the -DUSE_REPORT_PRELUDE for Hugs, so Hugs can use quicksort for
its sorting function.
Related wibbles in the libraries.
sewardj [Fri, 7 Apr 2000 16:25:20 +0000 (16:25 +0000)]
[project @ 2000-04-07 16:25:19 by sewardj]
If an object symbol is not found via the usual methods, search absolutely
every object symbol table in the system before giving up on it.
Motivation: searching for Arch_x86_foobar_closure generates a search for
x86_foobar_closure in module Arch, whereas we really want to search for
foobar_closure in module Arch_x86. Sigh.
sewardj [Fri, 7 Apr 2000 16:22:12 +0000 (16:22 +0000)]
[project @ 2000-04-07 16:22:12 by sewardj]
route debugging messages via FPrintf, not fprintf
sewardj [Fri, 7 Apr 2000 16:20:53 +0000 (16:20 +0000)]
[project @ 2000-04-07 16:20:53 by sewardj]
Fix silly bug with option setting: :s _S --> segfault
simonpj [Fri, 7 Apr 2000 15:24:15 +0000 (15:24 +0000)]
[project @ 2000-04-07 15:24:15 by simonpj]
* Make it so that interface files track dependencies on
all modules except Prelude modules.
(Was "library" modules, distinguished by a gross hack
but that messed up StgHugs.)
simonmar [Fri, 7 Apr 2000 13:50:06 +0000 (13:50 +0000)]
[project @ 2000-04-07 13:50:06 by simonmar]
don't refer to PrimIO, it is deprecated (since about 2 years ago)
simonpj [Fri, 7 Apr 2000 13:45:48 +0000 (13:45 +0000)]
[project @ 2000-04-07 13:45:46 by simonpj]
* Fix 'foreign export' and 'foreign export dynamic' so
that we can export pure (non-IO) functions as well as IO-ish ones
NB: There's a change to PrelIOBase, so you'll
need to recompile the Prelude
* Add Type.mkDictTys and call it in various places.
simonmar [Fri, 7 Apr 2000 13:40:15 +0000 (13:40 +0000)]
[project @ 2000-04-07 13:40:15 by simonmar]
Fix up some cross-refs.
simonmar [Fri, 7 Apr 2000 13:34:03 +0000 (13:34 +0000)]
[project @ 2000-04-07 13:34:03 by simonmar]
use ghc/docs/set instead of ghc/docs/users_guide and hslibs/doc
simonmar [Fri, 7 Apr 2000 13:26:33 +0000 (13:26 +0000)]
[project @ 2000-04-07 13:26:33 by simonmar]
Small updates, and link to the Concurrent section in the Hslibs docs.
sewardj [Fri, 7 Apr 2000 11:57:31 +0000 (11:57 +0000)]
[project @ 2000-04-07 11:57:31 by sewardj]
Make datatype field selectors take (and ignore) dictionaries.
simonmar [Fri, 7 Apr 2000 11:13:37 +0000 (11:13 +0000)]
[project @ 2000-04-07 11:13:37 by simonmar]
Add a wrapper for building the GHC Documentation Set (currently
contains the Users' Guide and the HsLibs documentation).
We can finally have cross references between these docs! Woo-hoo!
But we still want to build at least HsLibs as a stand-alone book, so
for now we'll only have references from the Users' Guide to the Hslibs
doc, not the other way around.
simonmar [Fri, 7 Apr 2000 10:56:18 +0000 (10:56 +0000)]
[project @ 2000-04-07 10:56:18 by simonmar]
correct _S_ to __S.
sewardj [Fri, 7 Apr 2000 10:19:02 +0000 (10:19 +0000)]
[project @ 2000-04-07 10:19:02 by sewardj]
IO was mentioned twice in the export list.
sewardj [Fri, 7 Apr 2000 10:00:28 +0000 (10:00 +0000)]
[project @ 2000-04-07 10:00:28 by sewardj]
Get correct line numbers in type/static error messages.
sewardj [Fri, 7 Apr 2000 09:59:36 +0000 (09:59 +0000)]
[project @ 2000-04-07 09:59:36 by sewardj]
Use data decl context to qualify selector types.
sewardj [Fri, 7 Apr 2000 09:58:34 +0000 (09:58 +0000)]
[project @ 2000-04-07 09:58:34 by sewardj]
print(STAR) wibble.
sewardj [Fri, 7 Apr 2000 09:57:37 +0000 (09:57 +0000)]
[project @ 2000-04-07 09:57:37 by sewardj]
Update path to nofib suite.
simonmar [Fri, 7 Apr 2000 09:47:38 +0000 (09:47 +0000)]
[project @ 2000-04-07 09:47:38 by simonmar]
Restore deadlock detection code commented out by a certain
Mr. H. W. Loidl, and fix up some of the debugging output while I'm here.
rrt [Thu, 6 Apr 2000 17:54:01 +0000 (17:54 +0000)]
[project @ 2000-04-06 17:54:01 by rrt]
Fixed getCPUTime for Windows, which was seriously broken (arithmetically,
logically &c. &c.).
showTime now calls tzset under Cygwin just as timezone.c does.
rrt [Thu, 6 Apr 2000 17:50:58 +0000 (17:50 +0000)]
[project @ 2000-04-06 17:50:58 by rrt]
Fixed a tyop.
simonmar [Thu, 6 Apr 2000 17:34:24 +0000 (17:34 +0000)]
[project @ 2000-04-06 17:34:24 by simonmar]
Rename some entities so they don't clash with hslibs.
simonmar [Thu, 6 Apr 2000 17:28:39 +0000 (17:28 +0000)]
[project @ 2000-04-06 17:28:39 by simonmar]
Split the entities and the top-level book out into separate files, so
we can compose this book as part of a set.
sewardj [Thu, 6 Apr 2000 17:14:08 +0000 (17:14 +0000)]
[project @ 2000-04-06 17:14:08 by sewardj]
pprInstr (ASCII True str): avoid escapery probs by translating into hex
simonmar [Thu, 6 Apr 2000 15:05:38 +0000 (15:05 +0000)]
[project @ 2000-04-06 15:05:37 by simonmar]
Kill the libraries chapter, and move the material on
<literal>PrelGHC</literal> into the section on language extensions.
sewardj [Thu, 6 Apr 2000 15:05:30 +0000 (15:05 +0000)]
[project @ 2000-04-06 15:05:30 by sewardj]
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.
sewardj [Thu, 6 Apr 2000 14:23:55 +0000 (14:23 +0000)]
[project @ 2000-04-06 14:23:55 by sewardj]
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.
panne [Thu, 6 Apr 2000 13:41:16 +0000 (13:41 +0000)]
[project @ 2000-04-06 13:41:16 by panne]
added reminder to keep StgTypes.h in synch with HsFFI.h
panne [Thu, 6 Apr 2000 13:40:15 +0000 (13:40 +0000)]
[project @ 2000-04-06 13:40:15 by panne]
added autoconf magic for integral limits
simonmar [Thu, 6 Apr 2000 13:37:30 +0000 (13:37 +0000)]
[project @ 2000-04-06 13:37:30 by simonmar]
a few updates
simonmar [Thu, 6 Apr 2000 13:37:10 +0000 (13:37 +0000)]
[project @ 2000-04-06 13:37:10 by simonmar]
fix ccall argument ordering
simonmar [Thu, 6 Apr 2000 13:31:09 +0000 (13:31 +0000)]
[project @ 2000-04-06 13:31:09 by simonmar]
remove instance for CCallable [Char]
simonmar [Thu, 6 Apr 2000 10:45:11 +0000 (10:45 +0000)]
[project @ 2000-04-06 10:45:11 by simonmar]
add a note about POSIX compliance.
rrt [Thu, 6 Apr 2000 10:33:07 +0000 (10:33 +0000)]
[project @ 2000-04-06 10:33:06 by rrt]
K&R is long dead
So why do its prototypes still live?
rrt [Thu, 6 Apr 2000 10:26:09 +0000 (10:26 +0000)]
[project @ 2000-04-06 10:26:09 by rrt]
POSIX has not heard
of S_IWRITE
It uses S_IWSR.
andy [Thu, 6 Apr 2000 00:36:12 +0000 (00:36 +0000)]
[project @ 2000-04-06 00:36:12 by andy]
Removing the "import privileged" implementation from hugs.
andy [Thu, 6 Apr 2000 00:28:31 +0000 (00:28 +0000)]
[project @ 2000-04-06 00:28:31 by andy]
Version of PrelPrim with all the primitives listed.