simonmar [Wed, 18 Dec 2002 16:29:25 +0000 (16:29 +0000)]
[project @ 2002-12-18 16:29:25 by simonmar]
"Auto" packages.
The big change here is that it is no longer necessary to explicitly
say '-package X' on the command line if X is a package containing
hierarchical Haskell modules. All packages marked "auto" contribute
to the import path, so their modules are always available. At link
time, the compiler knows which packages are actually used by the
program, and it links in only those libraries needed.
There's one exception: one-shot linking. If you link a program using
ghc -o prog A.o B.o ...
then you need to explicitly add -package flags for each package
required (except base & haskell98) because the compiler has no
information about the package dependencies in this case.
Package configs have a new field: auto, which is either True or False.
Non-auto packages must be mentioned on the command-line as usual.
Non-auto packages are still required for:
- non-hierarchical libraries (to avoid polluting the module namespace)
- packages with no Haskell content
- if you want more than one version of a package, or packages
providing overlapping functionality where the user must decide
which one to use.
Doc changes to follow...
malcolm [Wed, 18 Dec 2002 10:45:33 +0000 (10:45 +0000)]
[project @ 2002-12-18 10:45:31 by malcolm]
Now compiles with nhc98.
malcolm [Wed, 18 Dec 2002 10:43:38 +0000 (10:43 +0000)]
[project @ 2002-12-18 10:43:38 by malcolm]
Make it compilable with nhc98, although for now it omits all instances.
malcolm [Wed, 18 Dec 2002 10:42:54 +0000 (10:42 +0000)]
[project @ 2002-12-18 10:42:54 by malcolm]
With nhc98, avoid overlap between Prelude defns and Control.Monad defns.
malcolm [Wed, 18 Dec 2002 10:42:09 +0000 (10:42 +0000)]
[project @ 2002-12-18 10:42:09 by malcolm]
Make it work with nhc98.
malcolm [Wed, 18 Dec 2002 10:34:28 +0000 (10:34 +0000)]
[project @ 2002-12-18 10:34:28 by malcolm]
Add a bunch more libraries to the nhc98 build.
malcolm [Mon, 16 Dec 2002 11:00:53 +0000 (11:00 +0000)]
[project @ 2002-12-16 11:00:53 by malcolm]
Un-break for nhc98. `bracket' now comes from IO, not System.IO.
simonmar [Fri, 13 Dec 2002 14:23:42 +0000 (14:23 +0000)]
[project @ 2002-12-13 14:23:42 by simonmar]
Fix bugs caused by missing casts in arithmetic expressions in
stg_integerToInt64 and stg_integerToWord64.
malcolm [Fri, 13 Dec 2002 13:36:36 +0000 (13:36 +0000)]
[project @ 2002-12-13 13:36:36 by malcolm]
Add #ifdef around import Control.Exception, which does not exist in nhc98.
ross [Thu, 12 Dec 2002 13:42:47 +0000 (13:42 +0000)]
[project @ 2002-12-12 13:42:46 by ross]
Changes to the exception interface, as discussed on the libraries list.
1) Move bracket and bracket_ from GHC.Exception (and hence System.IO)
to haskell98/IO.hs. These two should now never be used (except in
all-H98 programs), and this will save users of the new libraries from
having to hide them. Use the ones in Control.Exception instead.
2) Define
type IOError = IOException -- was Exception
leaving the type of Prelude.ioError as IOError -> IO a,
but adding to Control.Exception
throwIO :: Exception -> IO a
The result is a type distinction between the variants of catch and try:
Prelude.catch :: IO a -> (IOError -> IO a) -> IO a
Control.Exception.catch :: IO a -> (Exception -> IO a) -> IO a
System.IO.Error.try :: IO a -> IO (Either IOError a)
Control.Exception.try :: IO a -> IO (Either Exception a)
These are breaking changes: the first one affects only import lists,
but the second will bite in the following situations:
- using ioError on general Exceptions: use throwIO instead.
- using throw on IOErrors: if in the IO monad, use ioError instead.
Otherwise, use throw (IOException e), but why are you throwing
IO exceptions outside of the IO monad?
Minor changes:
- System.IO.Error now exports catch and try
- moved try from GHC.Exception to System.IO.Error, because it's
portable and can be shared by Hugs.
ross [Thu, 12 Dec 2002 13:32:06 +0000 (13:32 +0000)]
[project @ 2002-12-12 13:32:06 by ross]
Add an import for Hugs, and change some #ifdef __GLASGOW_HASKELL__ to
#ifndef __NHC__
ross [Thu, 12 Dec 2002 13:29:07 +0000 (13:29 +0000)]
[project @ 2002-12-12 13:29:07 by ross]
Hugs only: add an import.
ross [Wed, 11 Dec 2002 16:12:22 +0000 (16:12 +0000)]
[project @ 2002-12-11 16:12:22 by ross]
non-GHC: keep the old definition of Obj.
simonmar [Wed, 11 Dec 2002 15:55:17 +0000 (15:55 +0000)]
[project @ 2002-12-11 15:55:17 by simonmar]
Obj type must be forall a.a now, to avoid confusing GHC's new
tail-calling scheme.
stolz [Thu, 5 Dec 2002 14:44:02 +0000 (14:44 +0000)]
[project @ 2002-12-05 14:44:02 by stolz]
Don't forget peeking signal handlers (nothing to see here, please move along)
stolz [Thu, 5 Dec 2002 14:20:56 +0000 (14:20 +0000)]
[project @ 2002-12-05 14:20:56 by stolz]
Add SA_RESETHAND (aka SA_ONESHOT) support.
Requested by: John Meacham
> module Main where
> import System.Posix.Signals
> main = do
> installHandler sigUSR1 (Catch (print "usr1")) Nothing
> installHandler sigUSR2 (CatchOnce (print "usr2")) Nothing
> _ <- getLine
> return ()
simonmar [Thu, 5 Dec 2002 09:49:38 +0000 (09:49 +0000)]
[project @ 2002-12-05 09:49:38 by simonmar]
annotateIOError was somehow missing from the export list...
simonmar [Tue, 3 Dec 2002 14:30:12 +0000 (14:30 +0000)]
[project @ 2002-12-03 14:30:12 by simonmar]
Eeek! A nasty bug has been lurking in waitQSemN, which as far as I
can make out has been there for ever. Presumably no-one uses this
abstraction...
The bug is that waitQSemN would discard any other blocked threads
(presumably waiting for a larger chunk of the semaphore) if it
succeeds.
It still looks to me like the quantity semaphores in here can suffer
from starvation: if one thread requests a large chunk, while lots of
other threads are requesting smaller chunks, then the thread
requesting the large chunk might never get to run. I'm sure this must
be a well-known problem.
MERGE TO STABLE
ross [Tue, 26 Nov 2002 17:32:33 +0000 (17:32 +0000)]
[project @ 2002-11-26 17:32:33 by ross]
added missing _ == _ = False to Eq Exception.
stolz [Fri, 22 Nov 2002 10:52:23 +0000 (10:52 +0000)]
[project @ 2002-11-22 10:52:23 by stolz]
Add 'mapException' as proposed in "A semantics for imprecise exceptions"
Reminded by: Lauri Alanko
simonmar [Wed, 20 Nov 2002 13:45:20 +0000 (13:45 +0000)]
[project @ 2002-11-20 13:45:20 by simonmar]
Add experimental hDuplicate and hDuplicateTo.
simonmar [Wed, 20 Nov 2002 13:44:41 +0000 (13:44 +0000)]
[project @ 2002-11-20 13:44:41 by simonmar]
Allow opening a character special device; we treat it as a stream,
even though it might be seekable. This allows opening /dev/stdin,
/dev/null, etc.
MERGE TO STABLE
simonmar [Tue, 19 Nov 2002 11:28:51 +0000 (11:28 +0000)]
[project @ 2002-11-19 11:28:51 by simonmar]
Doc fix for unsafeInterleaveIO
simonmar [Wed, 13 Nov 2002 10:35:18 +0000 (10:35 +0000)]
[project @ 2002-11-13 10:35:18 by simonmar]
Remove superfluous escaping of quotation marks in the example code
(Haddock interprets bird-tracked code literally).
MERGE
simonpj [Fri, 8 Nov 2002 09:04:35 +0000 (09:04 +0000)]
[project @ 2002-11-08 09:04:35 by simonpj]
---------------------------------
Tiny H98 fix to numericEnumFromThenTo
---------------------------------
This was a late fix to the H98 report: it only affects
[a,b..c]
where a=b, which isn't exactly common
stolz [Thu, 7 Nov 2002 10:41:59 +0000 (10:41 +0000)]
[project @ 2002-11-07 10:41:59 by stolz]
- Explicitely document order of parameters in addToFM_C.
ross [Wed, 6 Nov 2002 23:47:16 +0000 (23:47 +0000)]
[project @ 2002-11-06 23:47:16 by ross]
Minor #elif adjustment (__HUGS__ vs __NHC__).
ross [Wed, 6 Nov 2002 20:30:26 +0000 (20:30 +0000)]
[project @ 2002-11-06 20:30:26 by ross]
Hugs only: move the dummy implementation of evaluate here, to avoid ambiguity.
simonmar [Wed, 6 Nov 2002 10:38:16 +0000 (10:38 +0000)]
[project @ 2002-11-06 10:38:16 by simonmar]
- Add a Show instance for ForeignPtr
- Fix the Eq instance for ForeignPtr to match the behaviour specified
by the spec. Two ForeignPtrs are equal iff their underlying Ptrs
are equal (previously they were equal iff they were the same
ForeignPtr).
MERGE TO STABLE
ross [Sat, 2 Nov 2002 11:56:30 +0000 (11:56 +0000)]
[project @ 2002-11-02 11:56:30 by ross]
Hugs only: export throwIO :: Exception -> IO a instead of a generalized
ioError. This is an interim measure to keep Hugs working until it's
decided what to do about IOError.
ross [Wed, 30 Oct 2002 18:21:25 +0000 (18:21 +0000)]
[project @ 2002-10-30 18:21:25 by ross]
(Hugs only) fix silly slip in last commit.
ross [Wed, 30 Oct 2002 14:53:40 +0000 (14:53 +0000)]
[project @ 2002-10-30 14:53:39 by ross]
#ifdef's for Hugs
sof [Fri, 25 Oct 2002 13:07:41 +0000 (13:07 +0000)]
[project @ 2002-10-25 13:07:41 by sof]
Only interested in a subset when used in w/ Hugs
mthomas [Thu, 24 Oct 2002 07:49:40 +0000 (07:49 +0000)]
[project @ 2002-10-24 07:49:40 by mthomas]
Unchecked quick fix. Hope to test tonight after getting home.
simonmar [Tue, 22 Oct 2002 10:59:40 +0000 (10:59 +0000)]
[project @ 2002-10-22 10:59:40 by simonmar]
Don't bogusly cast ThreadId# to Ptr (). The right way to fix these
warnings is to change the type signatures of cmp_thread and
rts_getThreadId to take StgPtr rather than StgTSO *, since the
compiler now has no internal distinction between the two in the
backend (it used to, but recent simplifications removed the
distinction).
malcolm [Fri, 18 Oct 2002 16:29:18 +0000 (16:29 +0000)]
[project @ 2002-10-18 16:29:18 by malcolm]
Implement atomicModifyIORef for nhc98.
simonpj [Fri, 18 Oct 2002 13:32:57 +0000 (13:32 +0000)]
[project @ 2002-10-18 13:32:56 by simonpj]
Move Typable IORef instance to Dynamic; stops IORef.hs being an oprhan module
ross [Fri, 18 Oct 2002 12:28:38 +0000 (12:28 +0000)]
[project @ 2002-10-18 12:28:38 by ross]
Hugs only: simple version of atomicModifyIORef, relying on the absence
of preemption from Hugs. If Hugs gets Haskell finalizers, they'll have
to be blocked during this operation.
simonmar [Fri, 18 Oct 2002 09:51:04 +0000 (09:51 +0000)]
[project @ 2002-10-18 09:51:04 by simonmar]
Add atomicModifyIORef, as discussed on the FFI list.
ross [Wed, 16 Oct 2002 13:48:24 +0000 (13:48 +0000)]
[project @ 2002-10-16 13:48:24 by ross]
Remove special treatment of Hugs.
ross [Mon, 14 Oct 2002 10:06:28 +0000 (10:06 +0000)]
[project @ 2002-10-14 10:06:28 by ross]
#ifdef tweaks
simonpj [Fri, 11 Oct 2002 14:33:58 +0000 (14:33 +0000)]
[project @ 2002-10-11 14:33:58 by simonpj]
Fix cpp syntax
stolz [Fri, 11 Oct 2002 12:23:41 +0000 (12:23 +0000)]
[project @ 2002-10-11 12:23:41 by stolz]
Add even more #ifdefs for nhc98.
malcolm [Fri, 11 Oct 2002 11:05:20 +0000 (11:05 +0000)]
[project @ 2002-10-11 11:05:20 by malcolm]
Make some more libraries buildable with nhc98.
malcolm [Wed, 9 Oct 2002 17:24:13 +0000 (17:24 +0000)]
[project @ 2002-10-09 17:24:12 by malcolm]
Add #ifdefs for nhc98.
malcolm [Wed, 9 Oct 2002 17:08:19 +0000 (17:08 +0000)]
[project @ 2002-10-09 17:08:18 by malcolm]
Add #ifdefs for nhc98.
malcolm [Wed, 9 Oct 2002 16:55:30 +0000 (16:55 +0000)]
[project @ 2002-10-09 16:55:30 by malcolm]
Add a little infrastructure for building the hierarchical libraries
with nhc98.
wolfgang [Tue, 8 Oct 2002 08:03:02 +0000 (08:03 +0000)]
[project @ 2002-10-08 08:03:01 by wolfgang]
Make the new Posix bindings compile on Mac OS X.
Most notable, Mac OS X lacks
*) lchown
*) SIGPOLL
I don't know of a replacement of either, so they are just left out when
they are not detected by configure.
ross [Thu, 3 Oct 2002 15:19:15 +0000 (15:19 +0000)]
[project @ 2002-10-03 15:19:15 by ross]
Reinstate the exports of the function names, because the module must
export them, even though Hugs doesn't define them here. The old module
export they overlapped with was there to pick up the tuple definitions
for GHC, but that probably isn't necessary with the recent GHC changes.
panne [Thu, 3 Oct 2002 13:56:12 +0000 (13:56 +0000)]
[project @ 2002-10-03 13:56:12 by panne]
Warning police #9: Nuked modules from the export list which are
already implied by other exported modules. Still quite a few warnings
left here, though... >:-(
panne [Thu, 3 Oct 2002 13:41:35 +0000 (13:41 +0000)]
[project @ 2002-10-03 13:41:35 by panne]
Warning police #8: Exporting Foo(..) exports Foo's field selector
functions, too, so let's nuke the latter from the export list.
panne [Thu, 3 Oct 2002 13:29:07 +0000 (13:29 +0000)]
[project @ 2002-10-03 13:29:07 by panne]
Warning police #7: Improved typing of TSOs a bit, getting rid of a
bunch of C compiler warnings.
panne [Thu, 3 Oct 2002 13:04:58 +0000 (13:04 +0000)]
[project @ 2002-10-03 13:04:58 by panne]
Warning police #6: Add prototype for writeErrString__, which is used
by GHC.TopHandler.
panne [Thu, 3 Oct 2002 12:57:42 +0000 (12:57 +0000)]
[project @ 2002-10-03 12:57:42 by panne]
Warning police #5: Nuked duplicate exports, simplifying (i.e. nuking
:-) the export list on the way. The deep and arcane reasons for the
strange #ifdef-ery in this module are not clear to me, so I hope no
damage is done by this commit. :-}
panne [Thu, 3 Oct 2002 12:43:50 +0000 (12:43 +0000)]
[project @ 2002-10-03 12:43:50 by panne]
Warning police #4: To use uname, we should try to #include
<sys/utsname.h>.
ross [Tue, 1 Oct 2002 16:29:47 +0000 (16:29 +0000)]
[project @ 2002-10-01 16:29:47 by ross]
Removed the strict ST instance (already in Control.Monad.ST) and moved
the lazy ST instance to Control.Monad.ST.Lazy, so Control.Monad.Fix
contains only instances for Prelude types, and is portable.
erkok [Tue, 1 Oct 2002 15:58:12 +0000 (15:58 +0000)]
[project @ 2002-10-01 15:58:11 by erkok]
Merge Fix.hs with MonadRec.hs, and remove the latter.
As agreed, the class is now called "MonadFix", and the
library is called "Control.Monad.Fix".
Note: The old Control.Monad.Fix used to export the function
fix :: (a -> a) -> a
I retained that behavior, but I don't think it should export it.
ross [Tue, 1 Oct 2002 10:32:11 +0000 (10:32 +0000)]
[project @ 2002-10-01 10:32:11 by ross]
Hugs only: reinstate infix declarations. It seems the Hugs limitation
this was working around no longer exists.
ross [Mon, 30 Sep 2002 14:31:03 +0000 (14:31 +0000)]
[project @ 2002-09-30 14:31:02 by ross]
Portability tweak.
simonmar [Mon, 30 Sep 2002 10:27:49 +0000 (10:27 +0000)]
[project @ 2002-09-30 10:27:49 by simonmar]
s/rm -f/$(RM)/
panne [Sun, 29 Sep 2002 20:24:00 +0000 (20:24 +0000)]
[project @ 2002-09-29 20:24:00 by panne]
Warning police #1: Nuke duplicate export of CSsize(..)
erkok [Fri, 27 Sep 2002 23:10:23 +0000 (23:10 +0000)]
[project @ 2002-09-27 23:10:23 by erkok]
The MonadRec.hs library, stolen from the Hugs release.
Note: There's a clear overlap with the library Control.Monad.Fix.
Unfortunately, the names of the classes are different, mainly
for historical reasons (MonadFix vs MonadRec.) There was some
discussion on how to resolve this a while back, but I guess
Hugs and GHC went their own ways. Once the dust settles, we
can agree on something common, and make Hugs and GHC use the same
names. (Note that this duplication also exists in the current
release of Hugs as well.) For the time being, this file helps
keep things simple with regard to the already existing code
that uses the mdo-notation.. (i.e., it also defines instances
for the LazyST, ST, and list monads in addition
to the ones defined in Fix.hs: IO and maybe.)
We can also name this file just "Rec", but "MonadRec" sounds less
confusing, and more inline with the Hugs release.
simonpj [Thu, 26 Sep 2002 09:16:33 +0000 (09:16 +0000)]
[project @ 2002-09-26 09:16:33 by simonpj]
Comments
ross [Wed, 25 Sep 2002 23:06:30 +0000 (23:06 +0000)]
[project @ 2002-09-25 23:06:30 by ross]
(Hugs only) use StorableArray as a poor man's IOUArray.
ross [Wed, 25 Sep 2002 23:01:11 +0000 (23:01 +0000)]
[project @ 2002-09-25 23:01:11 by ross]
(Hugs only) conform to the current FFI spec. This code makes the
additional assumption that a finalizer added with addForeignPtrFinalizer
runs before any existing finalizers on the same object.
ross [Wed, 25 Sep 2002 22:55:41 +0000 (22:55 +0000)]
[project @ 2002-09-25 22:55:41 by ross]
Switch to mallocForeignPtr.
ross [Wed, 25 Sep 2002 22:49:17 +0000 (22:49 +0000)]
[project @ 2002-09-25 22:49:17 by ross]
Hugs only (but being considered for the ffi spec): added finalizerFree,
a pointer to a foreign function equivalent to free, for use as a finalizer.
simonmar [Wed, 25 Sep 2002 15:24:07 +0000 (15:24 +0000)]
[project @ 2002-09-25 15:24:07 by simonmar]
Re-instate the checking for the values of errno constants at configure
time. The problem with doing it using foreign calls is simply that
this tickles a bad case in the code gen machinery, which in this case
results in an extra 10-20k of goop ending up in pretty much every
binary, and it impacts GC performance too.
This has some portability implications, but the situation is no worse
than before. To reliably cross-compile for a new platform you need to
build a set of .hc files for the libraries using a config.h generated on
the *target* machine. (at some point we'll formalise the
cross-compilation story, but that's another thing on the todo list...)
simonpj [Wed, 25 Sep 2002 15:16:30 +0000 (15:16 +0000)]
[project @ 2002-09-25 15:16:30 by simonpj]
Remove readList__
sof [Tue, 24 Sep 2002 19:01:55 +0000 (19:01 +0000)]
[project @ 2002-09-24 19:01:55 by sof]
userErrors: don't barf on non-IOExceptions.
Merge to STABLE.
sof [Tue, 24 Sep 2002 16:07:50 +0000 (16:07 +0000)]
[project @ 2002-09-24 16:07:50 by sof]
ioeGetErrorType(error case): don't pose as ioeGetHandle.
Merge to STABLE.
ross [Mon, 23 Sep 2002 09:19:53 +0000 (09:19 +0000)]
[project @ 2002-09-23 09:19:53 by ross]
remove unnecessary #ifndef __HUGS__
ross [Fri, 20 Sep 2002 13:15:07 +0000 (13:15 +0000)]
[project @ 2002-09-20 13:15:07 by ross]
Make Data.Array.Base more portable (no semantic changes, I hope) by
* replacing neat pattern guards with clunky case's
* putting #ifdef __GLASGOW_HASKELL__ around the unboxed stuff
* aliasing GHC.Arr
Note that the reliance on RULES for specialization of general definitions,
rather than a class for e.g. the unsafe freeze/thaw things, means that
other implementations can't specialize them with efficient versions.
simonmar [Thu, 19 Sep 2002 13:24:52 +0000 (13:24 +0000)]
[project @ 2002-09-19 13:24:52 by simonmar]
Put this below the Prelude in the dependency tree. I accidentally
created a loop with the latest change to Foreign.hs; this fixes it.
simonmar [Thu, 19 Sep 2002 10:47:21 +0000 (10:47 +0000)]
[project @ 2002-09-19 10:47:21 by simonmar]
re-export unsafePerformIO
simonmar [Wed, 18 Sep 2002 11:32:44 +0000 (11:32 +0000)]
[project @ 2002-09-18 11:32:43 by simonmar]
Sort out the divide-by-zero situation.
Some integer division operations called error on a divide by zero, and
some didn't test for it. Now we always raise the DivideByZero
exception.
MERGE TO STABLE
ross [Mon, 16 Sep 2002 11:29:39 +0000 (11:29 +0000)]
[project @ 2002-09-16 11:29:39 by ross]
Moved some stuff from Hugs.Prelude to Hugs.Char.
simonpj [Mon, 16 Sep 2002 11:24:36 +0000 (11:24 +0000)]
[project @ 2002-09-16 11:24:36 by simonpj]
Fix bug in Read instance for Maybe
simonpj [Mon, 16 Sep 2002 11:24:20 +0000 (11:24 +0000)]
[project @ 2002-09-16 11:24:20 by simonpj]
Comments only
panne [Sat, 14 Sep 2002 09:27:21 +0000 (09:27 +0000)]
[project @ 2002-09-14 09:27:21 by panne]
Make Haddock happy
panne [Fri, 13 Sep 2002 18:25:07 +0000 (18:25 +0000)]
[project @ 2002-09-13 18:25:07 by panne]
Not quite sure about this one: Export builtin stuff like [], (), and
(->) only for NHC, not for GHC anymore.
panne [Fri, 13 Sep 2002 18:21:46 +0000 (18:21 +0000)]
[project @ 2002-09-13 18:21:46 by panne]
It looks like we need assert again...?!
simonpj [Wed, 11 Sep 2002 11:06:05 +0000 (11:06 +0000)]
[project @ 2002-09-11 11:06:05 by simonpj]
Add documentation about unsafePerformIO
panne [Tue, 10 Sep 2002 20:45:50 +0000 (20:45 +0000)]
[project @ 2002-09-10 20:45:50 by panne]
Fixed slashification in Haddock comment
ross [Tue, 10 Sep 2002 11:36:04 +0000 (11:36 +0000)]
[project @ 2002-09-10 11:36:04 by ross]
non-GHC: import Control.Monad (needed by INSTANCE_STORABLE).
ross [Tue, 10 Sep 2002 11:07:23 +0000 (11:07 +0000)]
[project @ 2002-09-10 11:07:23 by ross]
#ifdef's for Hugs, which only allows one import in the Prelude at the moment.
malcolm [Tue, 10 Sep 2002 10:50:28 +0000 (10:50 +0000)]
[project @ 2002-09-10 10:50:28 by malcolm]
Export the builtin syntax for []((:),[]), ()(()), and (->) in nhc98
as well as ghc.
ross [Tue, 10 Sep 2002 09:13:52 +0000 (09:13 +0000)]
[project @ 2002-09-10 09:13:52 by ross]
H98 conformance: fill out (..)'s, and make the [] export GHC-only.
simonmar [Tue, 10 Sep 2002 09:06:07 +0000 (09:06 +0000)]
[project @ 2002-09-10 09:06:07 by simonmar]
Remove CBlkCnt and add it to the ToDo list; it clearly isn't present
on several systems yet. Fortunately we weren't using it.
ross [Mon, 9 Sep 2002 16:04:10 +0000 (16:04 +0000)]
[project @ 2002-09-09 16:04:10 by ross]
More imports for non-GHC platforms.
ross [Mon, 9 Sep 2002 15:30:58 +0000 (15:30 +0000)]
[project @ 2002-09-09 15:30:58 by ross]
Hugs-only changes: explicit imports + use approxRational.
simonmar [Mon, 9 Sep 2002 15:13:47 +0000 (15:13 +0000)]
[project @ 2002-09-09 15:13:47 by simonmar]
Comments only
sof [Mon, 9 Sep 2002 03:50:39 +0000 (03:50 +0000)]
[project @ 2002-09-09 03:50:38 by sof]
(hugs only): PrelImpl -> Hugs.Prelude
sof [Sun, 8 Sep 2002 02:35:34 +0000 (02:35 +0000)]
[project @ 2002-09-08 02:35:33 by sof]
Hugs updates + fixes
simonmar [Fri, 6 Sep 2002 15:00:04 +0000 (15:00 +0000)]
[project @ 2002-09-06 15:00:04 by simonmar]
Disable the whole contents on mingw32. At some point we might be able
to provide cut-down signal support, but I'll leave that for later.
simonmar [Fri, 6 Sep 2002 14:38:15 +0000 (14:38 +0000)]
[project @ 2002-09-06 14:38:15 by simonmar]
Make it build on mingw32, with a cut-down set of types
simonmar [Fri, 6 Sep 2002 14:34:15 +0000 (14:34 +0000)]
[project @ 2002-09-06 14:34:15 by simonmar]
Partial rewrite of the POSIX library.
The main purpose of this sweep is to remove the last dependencies of
the compiler on hslibs. When I've committed the associated compiler
changes, only the 'base' package will be required to bootstrap the
compiler. Additionally to build GHCi, the 'readline' and 'unix'
packages will be required.
The new POSIX library lives mostly in libraries/unix, with a few bits
required for compiler bootstrapping in libraries/base. The 'base'
package is mostly free of hsc2hs code to make bootstrapping from HC
files easier, but the 'unix' package will use hsc2hs liberally.
The old POSIX library continues to provide more-or-less the same
interface as before, although some of the types are more correct now
(previously lots of POSIX types were just mapped to Int). The new
interface is largely the same as the old, except that some new
functionality from the latest POSIX spec has been added (eg. symbolic
links).
So far, the new POSIX library has signal support, directory/file
operations and lots of stuff from unistd.h. The module names are:
System.Posix
The main dude, exports everything
System.Posix.Types
All the POSIX types, using the same naming scheme as
Foreign.C.Types, Eg. CUid, COff, etc. Many of these types
were previously exported by GHC.Posix.
Additionally exports the "nicer" names used by the old POSIX
library for compatibility (eg. ProcessID == CPid, FileMode ==
CMode, etc.)
All reasonable instances are derived for these types.
System.Posix.Signals
Signal support, contains most of which was in PosixProcPrim before.
The RTS interface to the signal handling support has been
rationalised slightly.
System.Posix.Directory
Directory support, most were in PosixFiles before.
System.Posix.Files
File operations, most were in PosixFiles before.
System.Posix.Unistd
(for want of a better name) Miscellaneous bits that mostly come
from the unistd.h header file. PosixProcEnv before.
The rest of the library should pan out like so:
System.Posix.IO
System.Posix.Error (maybe)
System.Posix.Process
System.Posix.Terminal
(I've no doubt broken Win32 support, but I'm checking the build at the moment).
simonmar [Fri, 6 Sep 2002 14:08:45 +0000 (14:08 +0000)]
[project @ 2002-09-06 14:08:45 by simonmar]
Implement
mallocForeignPtr :: Storable a => IO (ForeignPtr a)
mallocForeignPtrBytes :: Int -> IO (ForeignPtr a)
as GHC extensions for the time being. I strongly recommend using
these if you need some garbage-collected memory to pass to a foreign
function.
ross [Wed, 4 Sep 2002 16:51:34 +0000 (16:51 +0000)]
[project @ 2002-09-04 16:51:33 by ross]
Foreign.C.TypesISO needs to import Foreign.Storable.
Also added some imports for non-GHC platforms.
ross [Wed, 4 Sep 2002 16:46:40 +0000 (16:46 +0000)]
[project @ 2002-09-04 16:46:40 by ross]
Fix typo.