Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
GHC
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Gesh
GHC
Commits
ba48b900
Commit
ba48b900
authored
27 years ago
by
sof
Browse files
Options
Downloads
Patches
Plain Diff
[project @ 1997-06-06 22:43:21 by sof]
2.04 updates
parent
2773693e
Loading
Loading
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
ghc/PATCHLEVEL
+1
-2
1 addition, 2 deletions
ghc/PATCHLEVEL
ghc/RELEASE
+124
-63
124 additions, 63 deletions
ghc/RELEASE
with
125 additions
and
65 deletions
ghc/PATCHLEVEL
+
1
−
2
View file @
ba48b900
The Glamorous Glasgow Haskell Compiler, version 2.01, patchlevel 0
The Glamorous Glasgow Haskell Compiler, version 2.04, patchlevel 0
(for Haskell 1.3)
This diff is collapsed.
Click to expand it.
ghc/RELEASE
+
124
−
63
View file @
ba48b900
This is the release notes for GHC-2.0
3
, describing what's new since the
This is the release notes for GHC-2.0
4
, describing what's new since the
previous release:
previous release:
GHC 2.03 is a minor upgrade of GHC 2.02. It differs in the following
GHC 2.04 is a minor upgrade of GHC 2.02 (and the bugfix release,
ways:
2.03), representing work done through May '97. This new release
adds the following:
* A slew of small bugs are fixed. You can find the complete list at
* Data constructors can now have polymorphic fields, and ordinary
functions can have polymorphic arguments. Details on
http://www.cse.ogi.edu/~simonpj/
ghc-bugs
.html
http://www.cse.ogi.edu/~simonpj/
quantification
.html
One bug remains un-fixed, namely the crash when there's an empty
Existential types coming, but not done yet.
comment at the end of file.It's wierd!
* Pattern guards implemented, see
* Last-minute language changes have been implemented (minor changes
to the libraries, and to module export/hiding scope rules)
http://www.cse.ogi.edu/~simonpj/guards.html
* It is only available as a source distribution. If you want to
* Compiler can now compile itself.
use it you'll have to build it from source. Nowadays this is
a well-documented process (see the build and installation guide, but
* INLINE pragmas honoured (caveat: not yet
note that this release is still not self-booting, you still need
working on instance-decl methods)
to have The Good Old Compiler (0.29) at your disposal).
* Simplifier improvements and better inlining gives
None of the bugs in GHC 2.02 are show-stoppers, so you'll only want
better code; not sure how *much* better.
to upgrade if you are a build-from-source junkie and the bugs are
irritating you.
* -dshow-rn-stats print out amusing statistics about what
the renamer does.
Apart from bug-fixes, which are itemized elsewhere,
the exact language and standard-library changes are as follows:
* When compiling without -O, the renamer (the pass responsible for
slurping in interface file and making sure everything is in scope
* A hiding clause hides the unqualified name, but not the qualified name.
etc.) is now more careful about what it will bring in (especially
data constructors and instance declarations). The upshot of this
* There's a new @Numeric@ library, containing mostly mildly marginal
change is that a lot of the (unnecessary) work this pass did in
code for showing and reading numbers. Parts of its exports used to be
2.02/2.03 is now avoided.
exported by @Prelude@, but now you'll have to import them explicitly.
It also defines some functions that weren't provided before; have a
-fno-prune-tydecls and -fno-prune-instdecls switch off these
look in the Haskell library report for details of complete interface.
renamer optimisations. You can try the effect with the renamer
statistics. War stories welcome.
* The following extra functions are exported from IO:
* The Heroic Efforts of \tr{Andr\'e Santos <alms@di.ufpe.br>} have
try, bracket, bracket_, hGetLine, hWaitForInput
been included, AIX/RS6000 is now a supported \tr{ghc}
platform! Bug reports concerning this port to (as always)
In addition, we've made following changes to GHC libraries/GHC's
glasgow-haskell-bugs@dcs.gla.ac.uk
implementation of the Haskell standard prelude:
* A lot of the bugs that were present in versions 2.02/2.03
have been fixed (thanks to everyone that reported bugs!).
* The function fromRational__, exported from PrelNum, is now called fromRat
A list of the reported problems with 2.02/2.03 can be found at
(And it's exported by @Numeric@).
http://www.dcs.gla.ac.uk/fp/software/ghc/ghc-bugs.html
* Documentation for the Glasgow specific interfaces plus the system
libraries have been re-instated. Posix library documentation
No doubt entries for 2.04 will be added here as well :-)
included also.
* This release is available in source format only. To build it you'll
* `maybe' is now exported from Prelude, as it should have been in 2.02.
need to have either a copy of GHC~0.29 or GHC~2.02/3 installed.
For people either doing porting work or work on a (supported)
* Equality on IO.Handle is now defined as specified by the library report.
platform for which there is no GHC binary bundles available, the
necessary intermediate files are also available (.hc and .hi files).
* Ix.rangeSize returns `0' on an empty range;previously it failed.
Consult the installation guide for more information on how
* The new interface GlaExts which is meant to be the gateway to the
to build or bootstrap. The guide is included in the distribution
various Glasgow extensions has now been documented.
(in the fptools/docs directory), and an on-line version of the
document can be found at
* GlaExts now exports the representation of Char
http://www.dcs.gla.ac.uk/fp/software/ghc/ghc-doc/install-guide.html
* The mutable variable interface, MutVar, has also been documented,
together with ByteArray, MutableArray and Foreign.
In addition to the above, we've made the following minor changes to
* Added documentation on how to compile mutually recursive modules with
the GHC libraries/our implementation of the Haskell standard prelude:
2.03.
* `isPrefixOf' and `isSuffixOf' has been added to `List'
* The empty type `Void' is now exported from the prelude.
* `GlaExts' exports the `Lift' data type:
data Lift a = Lift a
you might need it someday...
* The `Foreign' interface now also exports the representations
for `Word' and `Addr'
* The low-level file handle interface in the POSIX system
library has been reworked a bit, most notably is the renaming of
`Channel' to `Fd' and the introduction of operations for converting
to and from `Handle' and `Fd' values. The changes are:
--Renamed functions (old name in square brackets)
openFd :: FilePath
-> OpenMode
-> Maybe FileMode
-> OpenFileFlags
-> IO Fd
-- [openChannel]
fdSeek :: Fd -> SeekMode -> FileOffset -> IO FileOffset
--[seekChannel]
fdRead :: Fd -> ByteCount -> IO (String, ByteCount)
--[readChannel]
fdWrite :: Fd -> String -> IO ByteCount
--[writeChannel]
fdClose :: Fd -> IO ()
--[closeChannel]
setFdOption :: Fd -> FdOption -> Bool -> IO ()
--[setChannelOption]
queryFdOption :: Fd -> FdOption -> IO Bool
--[queryChannelOption]
dup :: Fd -> IO Fd
--[dupChannel]
dupTo :: Fd -> Fd -> IO ()
--[dupChannelTo]
data FdOption = AppendOnWrite | CloseOnExec | NonBlockingRead
--[ChannelOption]
getFdStatus :: Fd -> IO FileStatus
--[getChannelStatus]
-- New data structure collecting together misc flags passed to openFd
data OpenFileFlags =
OpenFileFlags {
append :: Bool,
exclusive :: Bool,
noctty :: Bool,
nonBlock :: Bool,
trunc :: Bool
}
--New ops for converting between Fd and Handle:
fdToHandle :: Fd -> IO Handle
handleToFd :: Handle -> IO Fd
intToFd :: Int -> Fd -- use with care.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment