The interactive file manager requires Javascript. Please enable it or use sftp or scp.
You may still browse the files here.
| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| mlton_20011006.1-2_i386.deb | 2002-02-23 | 3.3 MB | |
| mlton-20011006-1.rhat6x.i386.tgz | 2001-10-07 | 3.4 MB | |
| mlton-20011006-1.i386.tgz | 2001-10-07 | 3.5 MB | |
| mlton-20011006-1.rhat6x.i386.rpm | 2001-10-07 | 3.4 MB | |
| mlton-20011006-1.i386.rpm | 2001-10-07 | 3.5 MB | |
| mlton-20011006-1.rhat6x.src.rpm | 2001-10-07 | 2.4 MB | |
| mlton-20011006-1.src.rpm | 2001-10-07 | 2.4 MB | |
| mlton-20011006-1.src.tgz | 2001-10-07 | 2.4 MB | |
| README.txt | 2001-10-07 | 4.1 kB | |
| Totals: 9 Items | 24.1 MB | 1 | |
Here are the changes from version 20010806 to version 20011006.
Summary:
+ Added MLton.Exn.history, which is similar to SMLofNJ.exnHistory.
+ Support for #line directives of the form (*#line line.col "file"*).
+ Performance improvements in native codegenerator.
+ Bug fixes in front-end, optimizer, register allocator,
Real.{maxFinite, minPos, toManExp}, and in heap save and restore.
* 2001-10-5
- Fixed a bug in polymorphic layered patterns, like
val 'a a as b = []
These would always fail due to the variable "a" not being handled correctly.
- Fixed the syntax of "val rec" so that a pattern is allowed on the left-hand
side of the =. Thus, we used to reject, but now accept, the following.
val rec a as b as c = fn _ => ()
val rec a : unit -> unit : unit -> unit = fn () => ()
Thanks again to Andreas Rossberg's test files. This is now tested for in
valrec.sml.
- Fixed dynamic semantics of "val rec" so that if "val rec" is used to
override constructor status, then at run time, the Bind exception is raised
as per rule 126 of the Definition. So, for example, the following program
type checks and compiles, but raises Bind at run time.
val rec NONE = fn () => ()
val _ = NONE ()
Again, this is checked in valrec.sml.
- Added '\r\n' to ml.lex so that Windows style newlines are acceptable in
input files.
* 2001-10-4
- Fixed bug in the implementation of "open" declarations, which in the case of
"open A B" had opened A and then looked up B in the resulting environment.
The correct behaviour (see rule 22 of the Definition) is to lookup each
longstrid in the current environment, and then open them all in sequence.
This is now checked for in the open.sml regression test. Thanks to Andreas
Rossberg for pointing this bug out.
- Fixed bug that caused tyvars of length 1 (i.e. ') to be rejected. This is
now checked in the id.sml regression test. Again, thanks to Andreas
Rossberg for the test.
* 2001-10-2
- Fixed bugs in Real.toManExp (which always returned the wrong result because
the call to frexp was not treated as side-effecting by the optimizer) and
in Real.minPos, which was zero because of a mistake with extra precision
bits.
* 2001-10-1
- Added MLton.Exn.history.
- Fixed register allocation bug with fucom instruction. Was
allowing fucomp when the first source was not removable.
- Changed Real.isFinite to use the C math.h finite function. This fixed the
nontermination bug which occurred in any program that used Real.maxFinite.
* 2001-9-22
- Bug fixes found from Ramsey's lrtl in contify.fun and unused-args.fun, both
of which caused compile-time exceptions to be raised.
* 2001-9-21
- Fixed MLton.World.{load,save} so that the saved world does not store the
max heap size. Instead, the max heap size is computed upon load world in
exactly the same way as at program startup. This fixes a long standing (but
only recently noticed) problem in which mlton (which uses a saved world)
would attempt to use as much memory as was on the machine used to build
world.mlton.
* 2001-8-22
- Added support for #line directives of the form
(*#line line.col "file"*)
These directives only affect error messages produced by the parser and
elaborator.
* 2001-8-17
- Fixed bug in removeUnused optimzation that caused the following program to
fail to compile.
fun f l = case l of [] => f l | _ :: l => f l
val _ = f [13]
* 2001-8-14
- New x86-codegen infrastructure.
o support for tracking liveness of stack slots and carrying them
in registers across basic blocks
o more specific Entry and Transfer datatypes to make calling convention
distinctions more explicit
o new heuristic for carrying values in registers across basic blocks
(look Ma, no Overflows!)
o new "predict" model for generating register allocation hints
o additional bug fixes
* 2001-8-7
- MLton.Socket.shutdownWrite flushes the outstream.