are replaced with .include "../../devel/readline/buildlink3.mk", and
USE_GNU_READLINE are removed,
* .include "../../devel/readline/buildlink3.mk" without USE_GNU_READLINE
are replaced with .include "../../mk/readline.buildlink3.mk".
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
to the versions corresponding to the 2006-09 release. This should have
been done when the main hugs package was updated to this version back in
October of past year.
the creation of packages for Hugs modules libraries. The former provides
the dependency on hugs and the latter an easy way to launch the Cabal
build utility.
- November 2002
Feature highlights of this new release are:
* Much improved FFI support (contributed by Alastair Reid), bringing Hugs
really very close to the Haskell FFI specification.
* Adoption of a significant subset of GHC's hierarchical libraries
(contributed by Ross Paterson).
* An (allegedly) complete implementation of the Haskell98 module system
(Sigbjorn Finne).
* Numerous bug fixes since the previous major release in Dec 2001.
- November 2003
There has been substantial internal restructuring. In addition to numerous
bug fixes, user-visible changes include:
* The beginnings of a User's Guide (though still incomplete).
* The Double type is now double-precision on most architectures.
* Hugs now relies on the same hierarchical libraries as GHC and Nhc98, and
provides almost all of them. For now, compatibility with the old libraries
is provided by stub modules, but users are encouraged to migrate to the
new libraries.
* Full support for imprecise exceptions (but not asynchronous ones). Most
runtime errors are now reported by applying print to an Exception
(formerly the built-in printer was applied to the faulty redex).
* Integrated .NET support (on Windows platforms).
* The -e, -f, -i, -N, -W and -X options and the :project command have been
removed.
* A searchpath may include an entry of the form "directory/*", meaning all
the immediate subdirectories of directory (see -Pstr).
- March 2005
This release is primarily targeted at Unix systems to gain experience with
new features. The new Cabal-based library build system has the potential to
make building on Windows easier, but it's not there yet. Volunteers welcome.
In addition to numerous bug fixes, user-visible changes include:
* The default current module is now the empty module Hugs.Base instead of
the Prelude (see Section 2.2).
* The Char type and the Char module now support Unicode as specified in the
Haskell 98 Report (contributed by Dmitry Golubovsky). Character oriented
I/O uses a byte encoding of characters determined by the current locale
(see Section 3.3).
* The new -X option can be used to group several options into one argument.
This is now needed for executable runhugs scripts (using the Unix "#!"
feature) that require two or more options (see Section 4.1).
* The syntax of the ffihugs command has changed (see Section 4.2). The +G
and +L options are gone, and a new -i option can be used to specify
include files.
* Hugs now has basic support for the Cabal packaging system (see Section 3.4).
- May 2006
* The default current module is now the empty module Hugs (see Section 2.2).
* The compatibility libraries are no longer included on the default search
path. You can access them by adding "{Hugs}/oldlib" to the search path
(see -Pstr), but they will be removed in the next release.
* Rewritten graphical Windows interface (contributed by Neil Mitchell; see
Section 4.3).
* New :main command (contributed by Neil Mitchell).
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
Changes are:
- The incompatibilities between Hugs and the Haskell Graphics Library
have been fixed, and binaries for the HGL are now available on the
Hugs download page.
- The missing standard libraries Directory, CPUTime, Time and Locale
have been added along with a complete implementation of Haskell98 IO.
- Hugs is now delivered with most of the hslibs libraries installed
in the lib/exts/ directory. The added modules cover the Edison,
Parsec, HaXml, QuickCheck, concurrent, monad, and html subdirectories
of hslibs.
- The :set option now refuses the user to set a module search path
that doesn't contain the Prelude. This is to protect users from
accidentally rendering their Hugs setups unusable, esp. so on
Windows machines where the options are persisted to the Registry.
- MacOS X is now one of the supported unix ports, with pre-built
binaries available on the download page.
- Experimental support is provided for hierarchical module names,
where a module name A.B.C is mapped onto the file path
A/B/C{.hs,.lhs} and appended to each of the path prefixes in
HUGSPATH until the name of a readable file is found.
Pr 13866 by Brian Gregor.
New Features Include:
- A Foreign Function Interface closely modeled after the one
provided by GHC.
- Built-in, Hood-like debugging support.
- A new syntax for recursive monad bindings.
- A new GUI under Windows that doesn't consume all CPU time.
CXXFLAGS, and LDFLAGS by the buildlink.mk files so remove the extra
definitions to add them from the package Makefiles. As advised by the
bsd.buildlink.mk file, also ensure that the buildlink.mk files are
included prior to defining any package-specific CFLAGS/LDFLAGS to ensure
that the buildlink directories are at the head of the compiler search
paths.
Use BUILDLINK_INCDIR, BUILDLINK_LIBDIR for locations of linked headers
and libraries. Create a variable BUILDLINK_TARGETS whose value is the
list of build-link targets to execute.