Update to SBCL 1.1.8


changes in sbcl-1.1.8 relative to sbcl-1.1.7:
  * notice: The implementation of MAP-ALLOCATED-OBJECTS (the heart of
    ROOM, plus a few SB-INTROSPECT functions) has been completely
    rewritten; it may now exhibit different bugs than before.
  * new feature: minimal runtime/compiler intrastructure support for SSE
    SIMD values, as SB-EXT:SIMD-PACK. Enabled on x86-64 via the build-time
    feature :sb-simd-pack. This should enable intrinsics extensions as
    libraries, without patching SBCL itself. Thanks to Alexander Gavrilov
    for maintaining a branch for so long.
  * enhancement: RUN-PROGRAM supports a :DIRECTORY argument to set
    the working directory of the spawned process.
    (lp#791800) (patch by Matthias Benkard)
  * enhancement: boxed vectors (vectors of T or of FIXNUM) can now be
    stack-allocated on PPC.
  * enhancement: "fixed objects" can now be stack-allocated on PPC.
  * enhancement: WITH-PINNED-OBJECTS no longer conses on PPC/GENCGC.
  * enhancement: (sb-introspect:find-definition-sources-by-name x :vop) now
    also returns VOPs which do not translate any functions, and finds
    defoptimizer types ir2convert and stack-allocate-result.
  * enhancement: better type derivation for APPEND, NCONC, LIST.
    (lp#538957)
  * enhancement: MAP-ALLOCATED-OBJECTS (the heart of ROOM) now walks the
    heap in a manner similar to the GC rather than its previous ad-hoc
    scheme, and is therefore no less and possibly more accurate.
  * fixes and enhancements related to Unicode:
    ** the character database information has been updated to Unicode 6.2;
    ** support for canonical and compatibility decomposition of characters has
       been added, along with support for primary composition;
    ** support for Unicode normalization forms of strings (NFC, NFKC, NFD and
       NFKD) has been included;
    ** querying the character database for code points not defined by Unicode
       gives less wrong answers (lp#1178038, reported by Ken Harris)
  * enhancement: print intermediate evaluation results for some ASSERTed
    expressions. (lp#789497) (patch by Alexandra Barchunova)
  * enhancement: x86-64 disassemblies are annotated with unboxed constant
    values when there are references to (RIP-relative) unboxed constants.
  * bug fix: type derivation for LOG{AND,IOR,XOR} scales linearly instead
    of quadratically with the size of the input in the worst case.
    (lp#1096444)
  * bug fix: handle errors when initializing *default-pathname-defaults*,
    sb-ext:*runtime-pathname*, sb-ext:*posix-argv* on startup, like character
    decoding errors, or directories being deleted.
  * bug fix: Loading a core with a discontiguous dynamic space now correctly
    computes the amount of dynamic space used.
  * bug fix: disassembler missing ",8" on SHLD
  * bug fix: backtracing through INTERNAL-ERROR signal handlers on systems
    that provide an "invalid" stack frame link for the signal handler
    itself now use the saved-fp-and-pc mechanism to pick up from the stack
    frame in the interrupt (signal) context.  This is known to affect
    threaded FreeBSD/x86-64.
  * bug fix: some LOOP statements couldn't be compiled.
    (lp#1178989)
  * bug fix: sb-sequence:dosequence works on literal vectors.
  * bug fix: errors in generic arithmetic show the assembly routine's
    caller on x86 and x86-64. (lp#800343)
  * bug fix: Compile-time type errors should never result in COMPILE-FILE
    failure. (lp#943953)
  * bug fix: Known bad local calls do not cause strange failures when
    emitting or dumping code. (lp#504121)
  * bug fix: Multiply-inlined structure constructor don't cause IR2-time
    codegen errors: type checks are inserted as necessary. (lp#1177703)
  * bug fix: Unsigned modular arithmetic is correctly converted into signed
    modular arithemtic (mostly to exploit fixnum-width VOPs). (lp#1026634)
  * bug fix: a combination of inlined local function with &optional and
    recursion no longer causes undescriptive compiler errors. (lp#1180992)
  * bug fix: sub-word BOOLEAN alien types now disregard higher order bits
    when testing for non-zero-ness.
  * bug fix: (CONCATENATE 'null ...) no longer fails for generic sequences.
    (lp#1162301)
  * bug fix: Type mismatch for the value of conditional expressions are
    correctly reported when detected at compile-time, instead of complaining
    about a constant NIL (similar for non-EQ-comparable catch tags).
  * bug fix: Referring to INLINE global functions as values should not result
    in a compilation failure. (lp#1035721)
  * optimization: faster ISQRT on fixnums and small bignums
  * optimization: faster and smaller INTEGER-LENGTH on fixnums on x86-64.
  * optimization: On x86-64, the number of multi-byte NOP instructions used
    for code alignment is now always minimal.
  * optimization: On 64-bit targets, the compiler generates much faster
    code for type checks for types known at compile time that are smaller
    than (SIGNED-BYTE 64) or (UNSIGNED-BYTE 64) and larger than FIXNUM, and
    their COMPLEX variants.
  * optimization: On x86 targets, more uses of ALIEN-FUNCALL during cross
    compilation now inline the INVOKE-WITH-SAVED-FP-AND-PC dance.
  * optimization: ROOM no longer conses so egregiously on non-x86oid
    systems.
  * optimization: associative bitwise operations reassociate patterns like
    (f (f x k1) k2) to expose (f x (f k1 k2)).  Same for + and * of
    rational values.
  * optimization: quasiquote expressions now perform more constant folding,
    instead of consing equal lists at runtime. (lp#1026439)
  * optimization: local call analysis of inlined higher-order function
    should converge more quickly, resulting in better code for complex
    functions.
  * optimization: On x86-64, medium (word-sized but wider than 32 bits)
    integer constants are handled more cleverly, especially when they
    can be represented as sign-extended (signed-byte 32). (Based on a
    patch by Douglas Katzman)
  * optimization: IF/IF conversion should reliably result in sane code
    when (some of) the results of the inner IF are always false or
    always true.
  * optimization: On x86oids, variable right shifts of machine words are
    compiled into straight SAR/SHR, instead of going through the generic
    VOP. (lp#1066204)


changes in sbcl-1.1.7 relative to sbcl-1.1.6:
  * enhancement: TRACE :PRINT-ALL handles multiple-valued forms.
    (lp#457053)
  * bug fix: :allocation slot option works for condition slots
    (lp#1049404)
  * bug fix: redefining conditions does not lead to multiple evaluations of
    hairy slot initfunctions anymore (lp#1164969)
  * bug fix: CLASS-DIRECT-DEFAULT-INITARGS now works for condition classes
    (lp#1164970)
  * bug fix: function constants now work as initforms and default initarg
    values of conditions (lp#539517)
  * bug fix: svref/(setf svref) on symbol macros don't crash the compiler
    anymore. (Minimal test case provided by James M. Lawrence on sbcl-devel)
  * bug fix: no more bogus ## references when pretty printing backquoted
    forms with non-trivial structure sharing. (lp#1161218)
  * bug fix: Don't signal an error on (setf (documentation nil 'function)
    "doc").  Signal a style-warning instead when trying to set documentation
    of NIL for all other documentation types.  (Reported by Zach
    Beane; regression since 2e52fa05.)
  * bug fix: modular arithmetic involving large constants and conditionals
    should no longer result in spurious dead code elimination.  (Reported by
    Eric Marsden).
  * bug fix: our mach exception handler can seemingly called very early in
    the program execution process on OS X 10.8.0. Try and handle that case
    robustly, without potentially leaking mach ports too much.
  * optimization: LOGBITP and LOGTEST optimizations from x86 ported to x86_64.


changes in sbcl-1.1.6 relative to sbcl-1.1.5:
  * enhancement: the continuable error when defknown-ing over extant
    fndb entries can be ignored by passing :overwrite-fndb-silently t
    as a keyword argument to sb-c:defknown (after attributes). Useful
    to allow defknown to be re-loaded. Use with :allow-other-keys t
    for backward compatibility.
  * optimization: compiler is much faster in compiling SVREF and (SETF SVREF)
    forms.
  * bug fix: Prevent a make-array transform from modifying source forms
    causing problems for inlined code. Thanks to Bart Botta.
    (regression since 1.0.42.11-bis)
  * bug fix: clear-output calls the correct gray stream routine,
    sb-gray:stream-clear-output. (lp#1153257)
  * bug fix: an error is signalled for an invalid format modifier: ~<~@>.
    (lp#1153148)
  * bug fix: Better error messages for package operations (lp#1154776)
  * bug fix: delete-package on a nonexistent package should signal a cerror.
    (regression since 1.0.37.44).
  * bug fix: accessing &MORE (stack allocated &REST) arguments checks bounds.
    (lp#1154946, lp#1072112)
  * bug fix: compiling make-array no longer signals an error when the
    element-type is an uknown type, a warning is issued instead.
    Thanks to James Kalenius (lp#1156095)
  * bug fix: SEARCH on generic (non-VECTOR non-LIST) sequence types no longer
    produces wrong results for some inputs.  (Thanks to Jan Moringen.)
    (lp#1153312)


changes in sbcl-1.1.5 relative to sbcl-1.1.4:
  * minor incompatible change: SB-SPROF:WITH-PROFILING no longer loops
    by default.
  * new feature: package local nicknames. See manual for details.
  * new feature: SB-EXT:MAP-DIRECTORY provides a powerful interface for
    directory traversal: it is the backend used by SBCL for CL:DIRECTORY.
  * enhancement: easier to use restarts for resolving name-conflicts
    resulting from IMPORT, EXPORT, or USE-PACKAGE.
  * enhancement: variant DEFPACKAGE forms now signal a full error with
    restarts provided for resolving the situation. (lp#891351)
  * enhancement: by setting SB-EXT:*ON-PACKAGE-VARIANCE* appropriately variant
    DEFPACKAGE forms can now signal a full error with restarts provided for
    resolving the situation. See manual for details. (lp#891351)
  * enhancement: make-random-state now uses CryptGenRandom as a seed on Windows.
    (Thanks to Anton Kovalenko.) (lp#1102748)
  * enhancement: backtrace improvements
    ** secondary CLOS dispatch functions have better debug names (lp#503081)
    ** easier to read method names in backtraces. See
       SB-DEBUG:*METHOD-FRAME-STYLE*.
    ** SB-DEBUG:PRINT-BACKTRACE and SB-DEBUG:LIST-BACKTRACE are available as
       forwards-compatible replacements for SB-DEBUG:BACKTRACE and
       SB-DEBUG:BACKTRACE-AS-LIST.
    ** SB-DEBUG:*SHOW-ENTRY-POINT-DETAILS** has been deprecated, as the same
       information is available in less intrusive form as frame annotations.
  * enhancement: SB-POSIX now provides MAP-ANON.
  * enhancement: test-suite results are colorized, failures in red, unexpected
    success in green. Works on Windows and on terminals with ANSI escape code
    support. Can be disabled with --no-color.
  * optimization: SB-CONCURRENCY:QUEUE implementation is more efficient.
    (thanks to James M. Lawrence)
  * bug fix: no more unused variable style warnings from RESTART-CASE
    macroexpansion (lp#1113859)
  * bug fix: no more unused variable style warnings when loading
    sb-bsd-sockets.asd (lp#1114681)
  * bug fix: deleting a package removes it from implementation-package
    lists of other packages.
  * bug fix: SB-SPROF:WITH-PROFILING is now usable in the Slime REPL on Darwin.
    This does not fix the occasional "interrupt already pending" issue, though.
  * bug fix: (setf (documentation 'x 'function)) and
    (setf (documentation #'x t)) set documentation in different places.
    (regression since 1.0.43.63)
  * bug fix: build on newer glibc. (lp#1095036)


changes in sbcl-1.1.4 relative to sbcl-1.1.3:
  * optimization: LOOP expressions using "of-type character" have slightly
    more efficient expansions.
  * bug fix: very long (or infinite) constant lists in DOLIST do not result
    in very long compile times or heap exhaustion anymore. (lp#1095488)
  * bug fix: `#3(1) is read as #(1 1 1), not as #(1). (lp#1095918)
  * bug fix: adjust-array ignored :initial-element for simple-vectors.
    (lp#1096359)
  * bug fix: optimizations to MAKE-INSTANCE with literal list initargs no
    longer cause infinite loops (on circular data) or violate eqlity
    constraints.  (lp#1099708)
  * bug fix: FIRST was not being open coded. (regression from 1.1.0)


changes in sbcl-1.1.3 relative to sbcl-1.1.2:
  * enhancement: warnings about bad locale settings, LANG, LC_CTYPE, etc.
    (lp#727625)
  * enhancement: support for C-c to interrupt the foreground thread
    on Windows.  (Thanks to Anton Kovalenko.)
  * enhancement: STDCALL alien callbacks. (Thanks to Anton Kovalenko.)
  * enhancement: Safepoint builds on POSIX platforms can now optionally be
    built without pseudo-atomic sequences and their run-time overhead.
  * enhancement: Threads created outside of Lisp can enter Lisp through
    alien callbacks and appear as Lisp threads for the duration of that
    function invocation.  On safepoint builds only.
  * enhancement: Miscellaneous improvements to namestrings and underlying
    calls to OS functions for file system access on Windows.  (Thanks to
    Anton Kovalenko.)
  * enhancement: The MSI installer support for Windows now uses Windows
    Installer XML at least version 3.5 and includes various usability
    improvements.  (Thanks to Dmitry Kalyanov and Anton Kovalenko.)
  * enhancement: The sb-bsd-sockets contrib now supports non-blocking-mode
    on Windows.  (Thanks to Anton Kovalenko.)
  * enhancement: The Windows backend now supports the x86-64 platform.
    (Thanks to Anton Kovalenko.)
  * bug fix: fasls are now once again directly executable (on platforms
    supporting shebang lines, with a suitably-installed sbcl).
  * bug fix: make.sh --help no longer runs clean.sh. (lp#937001)
  * bug fix: Fix CAS access to slots of direct instances of structure classes
    in the presence of subclasses sharing the same conc-name.
  * bug fix: Logical pathname namestrings on Windows have been changed to
    be lower-case, to minimize differences between POSIX and Windows.
Updated lang/sbcl to 1.1.8
Update to Mercury 13.05.1 Beta


NEWS for Mercury 13.05.1
------------------------

Changes to the Mercury standard library:

* We have added the function bimap.count/1.


NEWS for Mercury 13.05
----------------------

Changes to the Mercury standard library:

* We have swapped the argument order of the predicates set.singleton_set/2,
  set_bbbtree.singleton_set/2, set_ordlist.singleton_set/2 and
  set_unordlist.singleton_set/2 so that it conforms with the order in the
  other set modules.

* All the modules that operate on sets now have two new predicates.
  One is insert_new: if the item is not already in the set, it inserts
  the item, otherwise it fails. The other is all_true: it succeeds if
  and only if all elements in the set pass a test.

* The map and varset modules each have a new predicate that deletes
  a sorted list of items from a map or varset, and can do so faster than
  usual by exploiting the order.

* The map, bimap and tree234 modules each have a new predicate that does
  a search, and if the search is unsuccessful, does an insertion during
  the *same* traversal.

* The argument order of the following predicates has been changed so as to
  make them more conducive to the use of state variable notation:
  pqueue.insert/4, pqueue.remove/4, stack.push/3, stack.push_list/3,
  stack.pop/3 and stack.det_pop/3.

* We have added versions of the operations in the math module that omit the
  domain checks.

* We have added new predicates to the parsing_utils module:
  input_string/3, get_skip_whitespace_pred/2 and next_char_no_progress/4.

* The lexer module returns base 10 integer literals in the string
  representation, if the integer is too large for an `int'.

* We have add the following new predicates to the list module:
  list.all_true_corresponding/3, list.all_false_corresponding/3 and
  list.same_length3/3.

* We have added the type maybe.maybe_error/2 which is polymorphic in the
  error type.

* We have added predicates to the calendar module for folding over the days
  in a given range of dates: foldl_days/5, foldl2_days/7 and foldl3_days/9.

* We have added two functions to both the hash_table and version_hash_table
  modules: copy/1 and from_assoc_list/4.

Changes to the Mercury compiler:

* Generation of 64-bit code on Windows using the MinGW64 port of GCC
  is now supported, i.e. the x86_64-w64-mingw32 architecture is now
  supported.

* We have improved compilation times for very large programs.  In
  particular, compilation times for predicates containing the following
  have been improved:
      - large ground terms
      - large disjunctions
      - large numbers of higher order constructs and/or code that uses
        large hierarchies of type classes

* We have implemented a type representation optimisation, where a functor
  with exactly one argument can be represented by a tagged pointer to the
  argument value, which itself does not require the tag bits.

* In C grades, consecutive enumeration arguments in discriminated
  union types can now be packed into a single word.

* Double-precision `float' constructor arguments are now stored in
  unboxed form in high-level C grades.

* Double-precision `float' constructor arguments are now stored in
  unboxed form on 32-bit architectures in the low-level C grades.
  This was previously so for 64-bit architectures.

* Double-precision float arguments can now be passed via dedicated Mercury
  abstract machine registers to avoid boxing, in low-level C grades on
  32-bit architectures. Float variables can occupy two words on the
  Mercury stack to avoid boxing.

* The option `--warn-non-tail-recursion' no longer requires
  `--high-level-code'.

* A new option, `--sign-assembly', provides supports for signing
  assemblies generated by the C# backend with a strong name.

* A new option, `--cstack-reserve-size', allows the size of the C
  stack for executables to be changed on Microsoft Windows systems.

Changes to the Mercury debugger:

* We have added new capabilities to the "level", "retry" and "finish" mdb
  commands. If these commands are given the argument "clentry", they will
  operate on the ancestor of the current call that represents entry to the
  clique of mutually recursive procedures that the current call belongs to.
  If they are given the argument "clparent", they will operate on the parent
  of that call.

* The mdb command "stack" can now find and mark cliques of mutually recursive
  calls on the stack, and can (and by default, will) impose a limit on the
  number of lines it prints for each clique.

Changes to the extras distribution:

* We have added a binding to the GLFW library.


NEWS for Mercury 11.07.2, 3 August 2012
---------------------------------------

This is a bug-fix release: it fixes the following:

* The name of the C# compiler in newer versions of Mono is now recognised.

* The configure script now distinguishes between the MS C# compiler and the
  Chicken Scheme compiler.

* Thread local storage now works on Mac OS X when using clang as the C
  compiler.

* Various build issues on Solaris 10 have been resolved.

* The --erlang option now sets all the relevant grade components correctly.

* The binary input and output streams are now set to binary translation
  mode when using the MSVC CRT.

* The standard library's lexer module now correctly tokenizes binary, octal
  and hexadecimal integer literals.

* Some bugs in the UTF-8 routines used by the C grades have been fixed.
  Also, the performance of these routines has been improved.

* The exit status is now correctly set when --warn-non-tail-recursion
  is being used.

Changes to the Mercury standard library:

* We have added additional modes to map.foldr/4, map.foldr/6 and the
  list.foldl<N>_corresponding3 predicates.

* The predicates parsing_utils.float_literal/3 and
  parsing_utils.float_literal_as_string/4 now accept an optional plus sign in
  the exponent.

* The obsolete predicates string.remove_suffix_det/2 and string.index_det/2
  have been removed.

* The predicate time.times/4 is now implemented for the csharp grade.

* The version_hash_table module is now supported in the csharp and java
  grades.

* The unsafe versions of the predicates in the array2d module are now more
  efficient.

Changes to the Mercury compiler:

* The compiler now outputs #line directives in C# code it generates.


NEWS for Mercury 11.07.1, 2 March 2012
--------------------------------------

This is a bug-fix release.  It fixes a problem that was preventing the standard
library from building in the csharp grade on Cygwin and also adds support for
using GCC in C99 (or GNU99) mode with Mercury.  In addition, there are a number
of minor changes to the standard library.

Changes to the Mercury standard library:

* We have added the predicate map.keys_and_values/3.

* We have added the predicates set.is_singleton/2, set_bbbtree.is_singleton/2,
  set_ctree234.is_singleton/2 and set_unordlist.is_singleton/2.

* We have added the function list.foldl_corresponding/4.
Update to algol68g 2.6


Version 2.6 November 2012
* Larger test set.
* Hyperlinked manual.
* Fixes several reported issues.

Version 2.5 October 2012
* FHS 2.3 compliant.
* Larger test set.
* Fixes minor issues.
* Adds routine "abend" (exits with runtime error).
Updated lang/algol68g to 2.6
Update to Clojure 1.5.1


Changes to Clojure in Version 1.5.1

* fix for leak caused by ddc65a96fdb1163b


Changes to Clojure in Version 1.5

 1 Deprecated and Removed Features
    1.1 Clojure 1.5 reducers library requires Java 6 or later
 2 New and Improved Features
    2.1 Reducers
    2.2 Reader Literals improved
    2.3 clojure.core/set-agent-send-executor!, set-agent-send-off-executor!,
        and send-via
    2.4 New threading macros
    2.5 Column metadata captured by reader
    2.6 gen-class improvements
    2.7 Support added for marker protocols
    2.8 clojure.pprint/print-table output compatible with Emacs Org mode
    2.9 clojure.string/replace and replace-first handle special characters
        more predictably
    2.10 Set and map constructor functions allow duplicates
    2.11 More functions preserve metadata
    2.12 New edn reader, improvements to *read-eval*
 3 Performance Enhancements
 4 Improved error messages
 5 Improved documentation strings
 6 Bug Fixes
 7 Binary Compatibility Notes
Updated lang/clojure to 1.5.1
Update to GNU Prolog 1.4.4


Changes in GNU Prolog version 1.4.4:

* add Prolog flags c_cc_version_data
* fix a regression bug in linedit
* fix a little bug in the debugger
* add subtract/3 built-in predicate


Changes in GNU Prolog version 1.4.3:

* add new C foreign interface functions converting term to/from C strings
* modify top-level banner to show 32/64 bits, compile date, C compiler name
* modify Linedit: fix Prolog prompt when Linedit is not activated
* modify linedit: accept gui=silent in env var LINEDIT
  (does not warn if the windows gui DLL is not found)
* fixes for Windows 8 (i686 and x86_64) with MSVS 2012, mingw64 gcc > 4.5.3
* add Prolog flags address_bits, compiled_at, c_cc, c_cflags, c_ldflags
* fix a bug in the FD solver (option backtracks in fd_labeling)
* improve the FD solver (better propagation for reified constraints at labeling)
* improve the FD solver (add labeling option: value_method(bisect))
* improve the FD solver (avoid some cases of C stack overflow, improved fd_domain/3)
* fix a bug in the FD solver (regression bug in 1.4.2)
* add PlULong to gprolog.h and PlThrow(ball) to C foreign interface