Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/HISTORY
ViewVC logotype

Diff of /sml/trunk/HISTORY

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1249, Tue Jun 25 21:23:40 2002 UTC revision 1537, Tue Jul 13 18:49:54 2004 UTC
# Line 13  Line 13 
13  Description:  Description:
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16    Name: Matthias Blume (blume (at) tti - c (dot) org)
17    Date: 2004/07/13 13:50:00 CDT
18    Tag: blume-20040713-nlffi
19    Description:
20    
21    - use paramAlloc to report c-calls with too many arguments
22      (for PPC version where parameter area is pre-allocated)
23    - added ccall_maxargspace to machspec (to implement the above)
24    - made "make" commend in CM's "make" tool configurable
25    - added option (default: on) for passing the name of the SML/NJ's "bin"
26      directory to "make"; the call looks like this:
27    
28         make <options> SMLNJ_BINDIR=<dir> <target>
29    
30      This can be used by the Makefile to, e.g., pick the "right" version
31      of ml-nlffigen.
32    - minor code tweaks
33    
34    ----------------------------------------------------------------------
35    Name: Matthias Blume (blume (at) tti - c (dot) org)
36    Date: 2004/07/12 22:50:00 CDT
37    Tag: blume-110_46_1-macosx-nlffi
38    Description:
39    
40    NLFFI under Mac OS X now working (sort of).  This is largely untested,
41    though.
42    
43    Note:  1. You have to make a new, clean build of the runtime system.
44           2. There are new BOOTFILES, you have to use them!
45              (Doing the bootstrap process yourself would be *very* painful!
46               If you absolutely have to do it, build the system under
47               a different architecture and then cross-compile.)
48    
49    Version bumped to 110.46.1 to account for runtime data format changes.
50    
51    ----------------------------------------------------------------------
52    Name: Matthias Blume (blume (at) tti - c (dot) org)
53    Date: 2004/06/18 14:30:00 CDT
54    Tag: blume-20040618-unix
55    Description:
56    
57    Changed the implementation of structure Unix so that the same stream
58    is returned every time one of the {text,bin}{In,Out}streamOf functions
59    is invoked on the same proc.  This is not what the spec currently
60    says -- although IMO it arguably should.  (See discussion below.)
61    
62    ----------------------------------------------------------------------
63    Name: Matthias Blume (blume (at) tti - c (dot) org)
64    Date: 2004/06/17 18:15:00 CDT
65    Tag: Release_110_46
66    Description:
67    
68    New working version (110.46).  NEW BOOTFILES!
69    
70    ----------------------------------------------------------------------
71    Name: Matthias Blume (blume (at) tti - c (dot) org)
72    Date: 2004/06/17 17:20:00 CDT
73    Tag: blume-20040617-timer-unix
74    Description:
75    
76    Changed the interface of structures Timer and Unix to match the most
77    recent Basis spec.
78    
79    In the case of Unix there still seems to be an open/weird issue:
80    
81       The {text,bin}{In,Out}streamOf functions are supposed to create
82       fresh streams whenever they are called -- as opposed to have them
83       return the same stream every time.  This design is supposed to
84       prevent space leaks caused by proc values hanging on to streams.
85    
86       The reap function, on the other hand, is supposed to close the
87       streams.  This cannot be done without having a handle on the
88       stream in proc after all...
89    
90    I took the liberty to implement the following stopgap solution:
91    
92      The proc value hangs on to the most recently created stream(s).
93      Reap closes those.  If either or both of the two streams hadn't
94      been created at all yet, then reap will close the corresponding
95      file descriptors directly.
96    
97    PS: I don't understand the original space leak argument anymore.  If
98    a proc hangs on to the imperative stream, then I/O operations on those
99    will advance the state of the cached stream and avoid the space leak.
100    
101    ----------------------------------------------------------------------
102    Name: Matthias Blume (blume (at) tti - c (dot) org)
103    Date: 2004/05/28 16:45:00 CDT
104    Tag: blume-20040528-basis
105    Description:
106    
107    Added signature PACK_REAL and exported functor PrimIO.
108    
109    ----------------------------------------------------------------------
110    Name: Matthias Blume (blume (at) tti - c (dot) org)
111    Date: 2004/05/25 16:00:00 CDT
112    Tag: blume-20040525-group-owner
113    Description:
114    
115    CM now ignores (but still accepts) the "owner" information in group
116    descriptions.  The owner of a group is its next enclosing
117    library. Each group must have a unique owner.  (There is a virtual
118    "toplevel" library that owns groups which are not nested within a real
119    library.)  Previously, each group had to explicitly declare its owner,
120    and CM would check that such a declaration is correct.  The new scheme
121    is to have CM check that for each group there is precisely one owning
122    library.
123    
124    The advantage of the new scheme is that the programmer no longer needs
125    to maintain the somewhat annoying owner information.  The downside is
126    that CM cannot enforce the ownership rule across multiple runs of
127    CM.make.  Fortunately, enclosing the same group in two different
128    libraries A and B which are not part of the same program does not
129    cause real problems.
130    
131    ----------------------------------------------------------------------
132    Name: Matthias Blume (blume (at) tti - c (dot) org)
133    Date: 2004/05/20 16:00:00 CDT
134    Tag: blume-20040520-win32
135    Description:
136    
137    Made the win32 version work again.  (Strangely, a misplaced comma had
138    slipped into win32-process.c which prevented the runtime from being
139    compiled correctly.)
140    
141    Also, included a minor addition to ml-build.bat analogous to what was
142    done in blume-20040519-ml-build.
143    
144    ----------------------------------------------------------------------
145    Name: Matthias Blume (blume (at) tti - c (dot) org)
146    Date: 2004/05/19 22:10:00 CDT
147    Tag: blume-20040519-ml-build
148    Description:
149    
150    Arranged for ml-build to clean up after itself a little bit better.
151    The script generates a temporary SML source file and compiles it using
152    CM, so CM generates metadata (GUID, SKEL, objectfile) for it.  It now
153    gets rid of those at the end, so they don't accumulate under .cm.
154    
155    This required a minor change to install.sh because the name of the
156    metadata directory (default: .cm) is actually configurable at
157    installation time.
158    
159    ----------------------------------------------------------------------
160    Name: Matthias Blume (blume (at) tti - c (dot) org)
161    Date: 2004/05/18 15:50:00 CDT
162    Tag: blume-20040518-mkreader
163    Description:
164    
165    Added Posix.IO.mk{Bin,Text}{Reader,Writer} by lifting their respective
166    implementations from internal modules PosixBinPrimIO and PosixTextPrimIO.
167    
168    ----------------------------------------------------------------------
169    Name: Matthias Blume (blume (at) tti - c (dot) org)
170    Date: 2004/05/11 14:35:00 CDT
171    Tag: blume-20040511-win32sock
172    Description:
173    
174    Added previously missing support for many socket-related functions
175    under win32.  Thanks to David Hansel <hansel@reactive-systems.com>
176    for the voluminous patch!
177    
178    (I have not tested this patch under win32 yet.)
179    
180    Here is David's e-mail:
181    
182    Hi,
183    
184    Attached to this email you find a diff against sml/nj 110.45
185    that will enable socket support under Windows.
186    
187    To apply the patch (using unix or cygwin)
188    1) gunzip runtime.diff.gz
189    2) "cd" into "src/runtime" in the source tree of a fresh
190       110.45 installation.
191    3) patch -p 1 < [your/path/to]runtime.diff
192    
193    The code compiles fine but has NOT yet been extensively tested.
194    I only ran a few tests for basic socket client functionality
195    (which worked fine).  Especially the functions that use ioctl
196    are not tested at all and might not work (see below).
197    
198    I implemented this since we want to move to a newer version of sml/nj
199    but need socket support in order to use it.  This is the first time I
200    even had a look at the sml/nj source,  so please review my changes
201    before making this part of the distribution!  Here are a few issues
202    that I think might be better for someone to solve who is more
203    familiar with the sml/nj source (and socket programming):
204    
205    - getnetbyaddr.c and getnetbyname.c will raise a "not implemented"
206      exception since I could not figure out what the windows equivalent
207      of these functions is
208    
209    - In sockets-osdep.h there are a some #include statements that are
210      only used in a few files that include sockets-osdep.h
211    
212    - In smlnj-sock-lib.c, function init_fn() calls WSAStartup() but
213      does not process its return value since I don't know how to
214      report an error upwards.
215    
216    - It would probably be good to have a call to WSACleanup() when
217      the library is unloaded (if there is such a possibility).
218      Otherwise I think Windows will take care of this automatically
219      when the process finishes.
220    
221    - I used ioctlsocket() as a replacement for ioctl() but I have
222      no idea if that is actually the proper replacement on Windows.
223    
224    - All these issues are marked in the code by "FIXME" comments.
225    
226    We use sml/nj extensively in our products and are quite happy
227    with it.  I hope this contribution will help you.
228    
229    Keep up the good work!
230    
231    David
232    
233    ----------------------------------------------------------------------
234    Name: Matthias Blume (blume (at) tti - c (dot) org)
235    Date: 2004/05/11 14:20:00 CDT
236    Tag: blume-20040511-installml
237    Description:
238    
239    Fixed two bugs in installml script.  (Thanks to Vesa A. Norrman for
240    the patch.)
241    
242    ----------------------------------------------------------------------
243    Name: Matthias Blume (blume (at) tti - c (dot) org)
244    Date: 2004/05/11 14:05:00 CDT
245    Tag: blume-20040511-nlffi-netbsd
246    Description:
247    
248    Added support for nlffi under netbsd.  (Thanks to Vesa A. Norrman for
249    the patch.)
250    
251    ----------------------------------------------------------------------
252    Name: Matthias Blume (blume (at) tti - c (dot) org)
253    Date: 2004/05/11 12:05:00 CDT
254    Tag: blume-20040511-exports
255    Description:
256    
257    As per request by Adam Chlipala <adam@hcoop.net>, extended various
258    export lists in compiler-related .cm-files.
259    
260    ----------------------------------------------------------------------
261    Name: Matthias Blume (blume (at) tti - c (dot) org)
262    Date: 2004/05/11 11:35:00 CDT
263    Tag: blume-20040511-allsource
264    Description:
265    
266    The installer now honors the "src-smlnj" target again, although its meaning
267    has changed from "all sources required for the compiler" to "all sources
268    the installer knows about".  In other words, if you enable "src-smlnj"
269    in the "targets" file, then the installer will pull in sources for
270    everything.  (Notice that this refers to source code only.  Compiled
271    code is still only installed for modules that were requested explicitly
272    or which are required for other modules that were requested explicitly.)
273    
274    ----------------------------------------------------------------------
275    Name: Matthias Blume (blume (at) tti - c (dot) org)
276    Date: 2004/04/23 17:40:00 CDT
277    Tag: blume-20040423-ieee-scan
278    Description:
279    
280    Fixed IEEEReal.scan (and .fromString) so that if there is an overflow
281    in the exponent calculation we get INF or ZERO (depending on the mantissa
282    and the sign of the exponent).
283    
284    ----------------------------------------------------------------------
285    Name: Matthias Blume (blume (at) tti - c (dot) org)
286    Date: 2004/04/23 10:40:00 CDT
287    Tag: blume-20040423-ml-build
288    Description:
289    
290    The ml-build script now terminates with a non-0 status when something
291    goes wrong.
292    
293    ----------------------------------------------------------------------
294    Name: Matthias Blume (blume (at) tti - c (dot) org)
295    Date: 2004/04/22 16:35:00 CDT
296    Tag: blume-20040422-Option
297    Description:
298    
299    Made exception Option to be the same as exception Option.Option
300    (as it should be).
301    
302    ----------------------------------------------------------------------
303    Name: Allen Leung (leunga (at) reservoir (dot) com)
304    Date: 2004/03/19 14:40:00 EST
305    Tag: leunga-20040319-cygwin-nlffi
306    Description:
307    
308    Fixed the runtime so that ml-nlffi-lib runs on the cygwin version
309    of SML/NJ.  The problem is that
310    
311       lib = dlopen(NULL, ...)
312       f   = dlsym(lib, "malloc");
313    
314    does not work on Windows unless we explicitly export symbols
315    such as 'malloc' during linking.  We fixed this by explicitly
316    exporting the required symbols with the magic gcc incantation:
317    
318        -Wl,--export-all cygwin.def
319    
320    where cygwin.def is a file containing all the symbols that
321    we wish to export.
322    
323    I suspect this is a Windows problem and we'll have to
324    do the same (somehow with windows compilers) when
325    we build the native win32 version with the system
326    calls LoadLibrary/GetProcAddress.
327    
328    ----------------------------------------------------------------------
329    Name: Matthias Blume (blume (at) tti - c (dot) org)
330    Date: 2004/03/04 16:35:00 CST
331    Tag: blume-20040304-intinf-fmt
332    Description:
333    
334    Fixed problem with IntInf.fmt (sign would show up on the right instead
335    of on the left for BIN, OCT, and HEX).
336    
337    ----------------------------------------------------------------------
338    Name: Matthias Blume (blume (at) tti - c (dot) org)
339    Date: 2004/03/04 11:25:00 CST
340    Tag: blume-20040304-symlinks
341    Description:
342    
343    Fixed problem with installer script (unix only) where bin/ml-yacc and
344    friends pointed (via symlinks) to absolute locations instead of just
345    .run-sml.  This was reported by Vesa A Norrman.
346    
347    ----------------------------------------------------------------------
348    Name: Matthias Blume (blume (at) tti - c (dot) org)
349    Date: 2004/02/13 14:50:00 CST
350    Tag: Release_110_45
351    Description:
352    
353    New working version (110.45). New bootfiles.
354    
355    ----------------------------------------------------------------------
356    Name: Matthias Blume (blume (at) tti - c (dot) org)
357    Date: 2004/01/26 15:15:15 CST
358    Tag: blume-20040126-toplevel
359    Description:
360    
361    Improved handling of exceptions at the interactive toplevel.
362    
363    ----------------------------------------------------------------------
364    Name: Matthias Blume (blume (at) tti - c (dot) org)
365    Date: 2004/01/26 11:25:00
366    Tag: blume-20040126-app
367    Description:
368    
369    Type of top-level "app" corrected.
370    Added code for setting vp_limitPtrMask to Win32-specific runtime.
371    
372    ----------------------------------------------------------------------
373    Name: Matthias Blume (blume (at) tti - c (dot) org)
374    Date: 2003/11/18 17:10 CST
375    Tag: blume-20031118-basis-fiddle
376    Description:
377    
378    - changed Timer interface to what might become the spec
379    - POSIX_FLAGS -> BIT_FLAGS according to spec
380    - some other minor discrepancies wrt. spec eliminated
381    
382    ----------------------------------------------------------------------
383    Name: Matthias Blume (blume (at) tti - c (dot) org)
384    Date: 2003/11/06 12:00:00 CST
385    Tag: Release_110_44
386    Description:
387    
388    New working version (110.44). New bootfiles.
389    
390    ----------------------------------------------------------------------
391    Name: Matthias Blume (blume (at) tti - c (dot) org)
392    Date: 2003/11/04 11:50:00 CST
393    Tag: blume-20031104-move-libraries
394    Description:
395    
396    Eliminated the "dont_move_libraries" directive in config/targets.
397    (The mechanism was broken and could not be fixed easily.  Moreover,
398    there does not seem to be any reason not to move all libraries into
399    lib during installation.  I originally implemented this directive as a
400    backward-compatibility feature when I first introduced the new CM.
401    Now that things have been stable for a long time and going back to the
402    old CM is not an option, there is no reason to keep it around.)
403    
404    ----------------------------------------------------------------------
405    Name: Matthias Blume (blume (at) tti - c (dot) org)
406    Date: 2003/11/03 16:00:00 CST
407    Tag: blume-20031103-installdir
408    Description:
409    
410    Made installer honor INSTALLDIR variable again.  (Thanks to Chris
411    Richards for pointing out the problem and providing the solution.)
412    
413    ----------------------------------------------------------------------
414    Name: Matthias Blume (blume (at) tti - c (dot) org)
415    Date: 2003/10/01 17:05:00 CDT
416    Tag: blume-20031001-lal-mlrisc
417    Description:
418    
419    MLRISC bug fix from Lal.
420    
421    ----------------------------------------------------------------------
422    Name: Matthias Blume (blume (at) tti - c (dot) org)
423    Date: 2003/09/30 16:10:00 CDT
424    Tag: blume-20030930-primio-bat
425    Description:
426    
427    1. Added openVector, nullRd, and nullWr to PRIM_IO.
428    2. Improved .bat files (for Win32 port) to make things work under Win95.
429       (thanks to Aaron S. Hawley for this one)
430    
431    ----------------------------------------------------------------------
432    Name: Matthias Blume (blume (at) tti - c (dot) org)
433    Date: 2003/09/26 16:05:00 CDT
434    Tag: blume-20030926-wrappriv
435    Description:
436    
437    Added missing wrapper for privilege "primitive" in $smlnj/viscomp/core.cm.
438    
439    ----------------------------------------------------------------------
440    Name: Matthias Blume (blume (at) tti - c (dot) org)
441    Date: 2003/09/26 15:00:00 CDT
442    Tag: blume-20030926-110_43_3
443    Description:
444    
445    - additional cleanup
446    - version number bump, NEW BOOTFILES
447    
448    ----------------------------------------------------------------------
449    Name: Matthias Blume (blume (at) tti - c (dot) org)
450    Date: 2003/09/26 12:00:00 CDT
451    Tag: blume-20030926-ppautoload
452    Description:
453    
454    I modified the read-eval-print loop so that the autoloader gets
455    invoked whenever the prettyprinter tries to look up a symbol that
456    is not currently defined in the toplevel environment but which
457    appears in CM's autoload registry.  As a result, we see far fewer of
458    those ?.Foo.Bar.xxx names in the prettyprinter's output.
459    
460    In addition to this I tried to clean up some pieces of the Basis
461    implementation (e.g., Socket, Word8Array) in order to prevent other
462    instances of these ?.Foo.Bar.xxx names from being printed.
463    
464    The mechanism that picks names for types still needs some work, though.
465    (Right now it seems that if there is a type A.t which is defined to
466    be B.u, but B is unavailable at toplevel, then A.t gets printed as
467    "?.B.u" although the perhaps more sensible solution would be to use
468    "A.t" in this case.  In other words, the prettyprinter should follow
469    a chain of DEFtycs not farther than there are corresponding toplevel
470    names in the current environment.)
471    
472    ----------------------------------------------------------------------
473    Name: Matthias Blume (blume (at) tti - c (dot) org)
474    Date: 2003/09/24 16:31:00 CDT
475    Tag: blume-20030924-installer
476    Description:
477    
478    Another installer tweak:  All the ML code for the installer is now
479    compiled during CMB.make and put into a little library called
480    $smlnj/installer.cm.  The installation then simply invokes
481    
482       sml -m $smlnj/installer.cm
483    
484    and everything happens automagically.
485    
486    Win32:  ML code senses value of environment variable SMLNJ_HOME.
487    Unix:   ML code senses values of environment variables ROOT, CONFIGDIR,
488            and BINDIR.
489    
490    The new scheme guarantees that the ML code responsible for the installation
491    is in sync with the APIs of the main system.  Also, the installer is
492    somewhat faster because the installer script is precompiled.
493    
494    ----------------------------------------------------------------------
495    Name: Matthias Blume (blume (at) tti - c (dot) org)
496    Date: 2003/09/24 15:35:00 CDT
497    Tag: blume-20030924-synsock
498    Description:
499    
500    Added a signature SYNCHRONOUS_SOCKET to basis.cm.  This is like SOCKET
501    but excludes all non-blocking operations.  Defined SOCKET (in Basis)
502    and CML_SOCKET in terms of SYNCHRONOUS_SOCKET.  Removed superfluous
503    implementations of non-blocking operations from CML's Socket
504    structure.
505    
506    ----------------------------------------------------------------------
507    Name: Matthias Blume (blume (at) tti - c (dot) org)
508    Date: 2003/09/24 15:10:05 CDT
509    Tag: blume-20030924-sockets
510    Description:
511    
512    1. Fixed SOCKET API and implementation to match Basis spec.
513       This required changing the internal representation of sockets to one
514       that remembers (for each socket file descriptor) whether it is currently
515       blocking or non-blocking.  This state is maintained lazily (i.e., a system
516       call is made only if the state actually needs to change).
517    
518    2. OS-specific details of sockets were moved into separate files, thus
519       making it possible to unify the bulk of the socket implementations
520       between Unix and Win32.
521    
522    3. CML's socket API changed accordingly.
523       (Note that we need to remove non-blocking functions from this API
524       since they are redundant in the case of CML!)
525    
526    4. CML's socket implementation now makes use of non-blocking functions
527       provided by Basis, thus removing all OS-dependent code from this part
528       of CML.
529    
530    5. Changed Real64.precision from 52 to 53.  Minor cleanup in Real64 code.
531    
532    ----------------------------------------------------------------------
533    Name: Matthias Blume (blume (at) tti - c (dot) org)
534    Date: 2003/09/22 12:10:00 CDT
535    Tag: blume-20030922-110_43_2
536    Description:
537    
538    Made a new interim version and bootfiles for developer's bootstrapping
539    convenience.
540    
541       110.43.2 -- NEW BOOTFILES
542    
543    ----------------------------------------------------------------------
544    Name: Matthias Blume (blume (at) tti - c (dot) org)
545    Date: 2003/09/19 15:55:00 CDT
546    Tag: blume-20030919-cmdir
547    Description:
548    
549    1. new-install.sh -> install.sh
550    2. changed default CM "metadata" directory name to ".cm" (instead of "CM")
551    3. tweaked installer so that another name instead of .cm can be chosen
552       at install time (by setting the CM_DIR_ARC environment variable
553       during installation); once installation is complete, the name is
554       fixed
555    
556    ----------------------------------------------------------------------
557    Name: Matthias Blume (blume (at) tti - c (dot) org)
558    Date: 2003/09/18 16:00:00 CDT
559    Tag: blume-20030918-110_43_1
560    Description:
561    
562    Made a new interim version and bootfiles for developer's bootstrapping
563    convenience.
564    
565       110.43.1 -- NEW BOOTFILES
566    
567    ----------------------------------------------------------------------
568    Name: Matthias Blume (blume (at) tti - c (dot) org)
569    Date: 2003/09/18 15:20:00 CDT
570    Tag: blume-20030918-misc
571    Description:
572    
573    1. Exported fractionsPerSecond etc. from TimeImp (but not from Time as
574       this seems to be controversial at the moment) and used those in
575       Posix.ProcEnv.times.
576    
577    2. Added Time.{from,to}Nanoseconds to Time.
578    
579    3. Improved Real.{from,to}LargeInt by avoiding needless calculations.
580       For example, fromLargeInt never needs to look at more than 3 "big
581       digits" to get its 53 bits of precision.
582    
583    ----------------------------------------------------------------------
584    Name: Matthias Blume (blume (at) tti - c (dot) org)
585    Date: 2003/09/17 16:30:00 CDT
586    Tag: blume-20030917-real32-slices
587    Description:
588    
589    Added an entry to the primitive environment
590    (compiler/Semant/statenv/prim.sml) for int32->real64 conversion and
591    added code to compiler/CodeGen/main/mlriscGen.sml to implement it.
592    
593    Removed some of the "magic" constants in real64.sml and replaced them
594    with code that generates these values from their corresponding
595    integer counterparts.
596    
597    Made all(?) the slice-related changes to the Basis and made everything
598    compile again...
599    
600    ----------------------------------------------------------------------
601    Name: Matthias Blume (blume (at) tti - c (dot) org)
602    Date: 2003/09/15 17:45:00 CDT
603    Tag: blume-20030915-rbase
604    Description:
605    
606    Fixed bug in Real.fromLargeInt.
607    
608    ----------------------------------------------------------------------
609    Name: Matthias Blume (blume (at) tti - c (dot) org)
610    Date: 2003/09/13 18:11:00 CDT
611    Tag: blume-20030913-libinstall
612    Description:
613    
614    Minor bugfix in config/libinstall (set anchor with path to
615    standalone tool after installing it, otherwise libraries that
616    need ml-lex or ml-yacc won't compile the first time the installer
617    runs).
618    
619    ----------------------------------------------------------------------
620    Name: Matthias Blume (blume (at) tti - c (dot) org)
621    Date: 2003/09/12 11:45:00 CDT
622    Tag: blume-20030912-various
623    Description:
624    
625     - fixed bug in Real.toLargeInt
626     - fixed bug in Posix.ProcEnv.times
627     - changed inputLine functions to return an option
628     - minor installer improvements / bugfixes
629     - changed default @SMLalloc parameter for x86/celeron to 64k
630    
631    ----------------------------------------------------------------------
632    Name: Matthias Blume (blume (at) tti - c (dot) org)
633    Date: 2003/09/09 22:00:00 CDT
634    Tag: Release_110_43
635    Description:
636    
637        New working release 110.43.  New bootfiles.
638    
639    ----------------------------------------------------------------------
640    Name: Matthias Blume (blume (at) tti - c (dot) org)
641    Date: 2003/09/09 19:20:00 CDT
642    Tag: blume-20030909-installer
643    Description:
644    
645    Rewrote large parts of config/install.sh in SML (config/libinstall.sml).
646    Modified config/install.bat to take advantage of it.  Also modified
647    config/install.sh (and called it config/new-install.sh) to take advantage
648    of it on Unix systems.  (The SML code is (supposed to be) platform-
649    independent.)
650    
651    The installer can now install everything under Win32
652    as well as under *nix as long as it compiles.
653    
654    Other changes:
655    
656      - made CML compile again under Win32
657      - made eXene compile under Win32 (by providing a fake structure UnixSock
658        and by using OS.Process.getEnv instead of Posix.ProcEnv.getenv)
659      - fixed a bug in nowhere: it assumed that type OS.Process.status is the
660        same as type int;  under Win32 it isn't
661      - fixed some slice-related problems in the win32-specific parts of CML
662      - added a functor argument "sameVol" to os-path-fn.sml in the Basis
663        (under Win32, the volume name is case-insensitive, and the
664        OS.Path code compares volume names for equality)
665    
666    ----------------------------------------------------------------------
667    Name: Matthias Blume (blume (at) tti - c (dot) org)
668    Date: 2003/09/08 11:55:00 CDT
669    Tag: blume-20030908-fullpath
670    Description:
671    
672    Made Win32 version of OS.FileSys.fullPath return current directory
673    when given an empty string.  This is what the spec says, and incidentally,
674    CM depends on it.  (CM otherwise goes into an infinite loop in certain
675    cases when presented with the name of a non-existing .cm file.)
676    
677    ----------------------------------------------------------------------
678    Name: Matthias Blume (blume (at) tti - c (dot) org)
679    Date: 2003/09/04 16:30:00 CDT
680    Tag: blume-20030905-slices-etc
681    Description:
682    
683      1. Changed interface to vectors and arrays in Basis to match
684         (draft) Basis spec.
685      2. Added signatures and implementations of slices according to
686         Basis spec.
687      3. Edited source code throughout the system to make it compile again
688         under 1. and 2.  (In some cases code had to be added to have it
689         match the new signatures.)
690      4. MLRISC should be backward-compatible: the copies of the originals
691         of files that needed to change under 3. were retained, the .cm files
692         check the compiler version number and use old versions when
693         appropriate.
694      5. Changed type of OS.FileSys.readDir and Posix.FileSys.readdir to
695         dirstream -> string option (in accordance with Basis spec).
696      6. When generating code that counts lines, ml-lex used function
697         CharVector.foldli, taking advantage of its old interface.
698         This has been replaced with the corresponding code from
699         CharVectorSlice.  (html-lex must be re-lexed!)
700      7. BitArray in smlnj-lib/Util has been extended/modified to match the
701         new MONO_ARRAY signature.  (Do we need BitArraySlice?)
702      8. Removed temporary additions (fromInternal, toInternal) from the
703         (now obsolete) IntInf in smlnj-lib/Util.
704      9. Cleaned up structure Byte.
705     10. Added localOffset, scan, and fromString to Date (according to spec).
706         Cleaned/corrected implementation of Date.
707         (Still need to check for correctness; implement better canonicalizeDate.)
708     11. Added "scan" to signature IEEE_REAL.
709     12. Some improvements to IntInf [in particular: efficiency-hack for
710         mod and rem when second operand is 2 (for parity checks).]
711     13. Changed representation of type Time.time, using a single IntInf.int
712         value counting microseconds.  This considerably simplified the
713         implementation of structure Time.  We now support negative time
714         values; scan and fromString handle signs.
715     14. Functor PrimIO now takes two additional arguments (VectorSlice and
716         ArraySlice).
717    
718    ----------------------------------------------------------------------
719    Name: Matthias Blume (blume (at) tti - c (dot) org)
720    Date: 2003/08/28 17:00:00 CDT
721    Tag: blume-20030828-intinf
722    Description:
723    
724    This is a major update which comes with a version number bump
725    (110.42.99 -- yes, we are really close to 110.43 :-), NEW BOOTFILES,
726    and an implementation of IntInf in the Basis.
727    
728    There are a fairly large number of related changes and updates throughout
729    the system:
730    
731    Basis:
732            - Implemented IntInf.
733            - Made LargeInt a projection of IntInf (by filtering through INTEGER).
734            - Added some missing Real64 operations, most notably Real.toLargeInt.
735            - Added FixedInt as a synonym for Int32.
736    
737    compiler:
738            * Added support for a built-in intinf type.
739              - literals
740              - pattern matching
741              - conversion shortcuts (Int32.fromLarge o Int.toLarge etc.)
742              - overloading on literals and operations
743    
744            This required adding a primitive type intinf, some additional
745            primops, and implementations for several non-trivial intinf
746            operations in Core.  (The intinf type is completely abstract
747            to the compiler; all operations get delegated back to the Core.)
748    
749            * Intinf equality is handled by polyequal.  However, the compiler
750            does not print its usual warning in this case (since polyequal
751            is the right thing to do there).
752    
753            * Improved the organization of structure InlineT.
754    
755            * A word about conversion primops:
756            If conversions involving intinf do not cancel out during
757            CPS contract, then the compiler must insert calls to Core functions.
758            Since all core access must be resolved already during the FLINT
759            translate phase, it would be too late a the time of CPS contract
760            to add new Core calls.  For this reason, conversion primops
761            for intinf carry two arguments:  1. the numeric argument that
762            they are supposed to convert, and 2. the Core function that
763            can help with this conversion if necessary.  If CPS contract
764            eliminates a primop, then the associated Core function becomes
765            dead and goes away.  Intinf conversion primops that do not get
766            eliminated by CPS contract get rewritten into calls of their
767            core functions by a separate, new phase.
768    
769    interactive system:
770            - Control.Print.intinfDepth controls max length of intinf constants
771            being printed. (Analogous to Control.Print.stringDepth.)
772            - Cleanup in printutil and pputil: got rid of unused stuff and
773            duplicates; replaced some of the code with code that makes better
774            use of library functionality.
775    
776    CM:
777            Bugfix: parse-errors in init group (system/smlnj/init/init.cmi)
778            are no longer silent.
779    
780    CKIT:
781            Fixed mismatched uses of Int32 and LargeInt.  I always decided
782            in favor of LargeInt -- which is now the same as IntInf.
783            CKIT-knowledgable people should check whether this is what's
784            intended and otherwise change things back to using Int32 or
785            FixedInt.
786    
787    Throughout the code:
788            Started using IntInf.int literals and built-in operations
789            (e.g., comparison with 0) where this seems appropriate.
790    
791    
792    ----------------------------------------------------------------------
793    Name: Dave MacQueen (dbm@cs.uchicago.edu)
794    Date: 2003/08/13 11:36:00 CDT
795    Tag: dbm-20030813-mcz-merge1
796    Description:
797    
798    Merging changes from the mcz-branch development branch into trunk.
799    These changes involve replacement of the emulated old prettyprinter
800    interface with direct use of the SML/NJ Lib PP library, and fixing
801    of a couple of bugs (895, 1186) relating to error messages.  A new
802    prettyprinter for ast datatypes (Elaborator/print/ppast.{sig,sml})
803    has been added.
804    
805    ----------------------------------------------------------------------
806    Name: Matthias Blume (blume (at) tti - c (dot) org)
807    Date: 2003/08/11 15:45:00 CDT
808    Tag: blume-20030811-windows
809    Description:
810    
811    Version number bumped to 110.42.9.  NEW BOOTFILES!!!
812    
813        http://smlnj.cs.uchicago.edu/dist/working/110.42.9/
814    
815    This patch restores SML/NJ's ability to run under win32.  There are a
816    number of changes, including fixes for several bugs that had gone
817    unnoticed until now:
818    
819      - uname "CYGWIN_NT*" is recognized as win32 (This is relevant only when
820        trying to run the win32 version from within cygwin.)
821    
822      - There are a number of simple .bat scripts that substitute for their
823        corresponding Unix shell-scripts.  (See below.)
824    
825      - The internals of ml-build have been modified slightly.  The main
826        difference is that instead of calling ".link-sml" (or link-sml.bat)
827        using OS.Process.system, the ML process delegates this task back
828        to the script.  Otherwise problems arise in mixed environments such
829        as Cygwin where scripts look and work like Unix scripts, but
830        where OS.Process.system cannot run them.
831    
832      - In CM, the srcpath pickler used native pathname syntax -- which
833        is incorrect in the case of cross-compilation.  The new pickle format
834        is independent of platform-specific naming conventions.
835    
836      - Path configuration files (such as lib/pathconfig) can now choose
837        between native and standard syntax.  Placing a line of the form
838    
839            standard!
840    
841        into the file causes all subsequent paths to be interpreted using
842        CM standard pathname syntax (= Unix conventions); a line
843    
844            native!
845    
846        switches back to native style.  This was needed so that
847        path config files can be written portably, see src/system/pathconfig.
848    
849      - Runtime system:
850    
851          - win32-filesys.c:  get_file_time and set_file_time now
852            access modification time, not creation time.
853    
854          - I/O code made aware of new array representation.
855    
856          - Bug fixes in X86.prim.masm.
857    
858       - src/system/makeml made aware of win32. (For use under cygwin
859            and other Unix-environments for windows.)
860    
861       - In Basis, fixed off-by-one error in win32-io.sml (function vecF)
862         which caused BinIO.inputAll to fail consistently.
863    
864    .bat scripts:
865    
866       Windows .bat scripts assume that SMLNJ_HOME is defined.
867    
868       - sml.bat, ml-yacc.bat, ml-lex.bat:  Driver scripts for standalone
869         applications (sml, ml-yacc, ml-lex).
870       - ml-build.bat: analogous to ml-build.
871       - config\install.bat:  Analogous to config/install.sh.  This requires
872         that SMLNJ_HOME is set and that Microsoft Visual C is ready to use.
873         (nmake etc. must be on the path, and vcvars32 must have been run.)
874         Moreover, sources for ml-lex and ml-yacc need to exist under src,
875         and the bootfile hierarchy must have been unpacked under
876         sml.boot.x86-win32.
877         The script is very primitive and does a poor job at error checking.
878         It only installs the base system, ml-lex, and ml-yacc.  No other
879         libraries are being installed (i.e., you get only those that
880         are part of the compiler.)
881       - link-sml.bat:  analogous to .link-sml, but not currently used
882    
883    Unrelated bug fixes:
884    
885      - ml-nlffigen now exports structures ST_* corresponding to incomplete
886        types.
887      - Added getDevice to PP/src/pp-debug-fn.sml.  (Would not compile
888        otherwise.)
889    
890    ----------------------------------------------------------------------
891    Name: Dave MacQueen (macqueen@cs.uchicago.edu)
892    Date: 2003/06/17
893    Tag: macqueen-20030617-bug895
894    Description:
895    
896    Modified compiler/Elaborator/print/pptype.sml to fix bug 895.
897    Tag will be used for new development branch (mcz-branch) for
898    use by MacQueen, (Lucasz) Zairek, and (George) Cao at uchicago.
899    
900    ----------------------------------------------------------------------
901    Name: Matthias Blume (blume (at) tti - c (dot) org)
902    Date: 2003/05/27 16:55:00 CDT
903    Tag: blume-20030527-polyeq
904    Description:
905    
906    Tried to eliminated most cases of polymorphic equality.
907    
908    ----------------------------------------------------------------------
909    Name: Matthias Blume (blume (at) tti - c (dot) org)
910    Date: 2003/05/21 17:45:00 CDT
911    Tag: blume-20030517-complete
912    Description:
913    
914    Two changes:
915    
916      1. Added a flag for controlling whether non-exhaustive bindings will
917         be treated as errors (default is false).
918      2. Cleaned up the *entire* source tree so that CMB.make goes through
919         without a single non-exhaustive match- or bind warning.
920    
921    ----------------------------------------------------------------------
922    Name: Matthias Blume (blume (at) tti - c (dot) org)
923    Date: 2003/05/17 10:20:00 CDT
924    Tag: blume-20030517-absyn
925    Description:
926    
927    1. Added cases for IF, WHILE, ANDALSO, and ORELSE to Absyn.
928    
929       This mainly affects the quality of error messages.  However, some
930       of the code is now more straightforward than before. (Treatment of
931       the above four constructs in translate.sml is much simpler than
932       the "macro-expansion" that was going on before.  Plus, the mach-
933       compiler no longer gets invoked just to be able to compile an
934       if-expression.)
935    
936    2. The ErrorMsg.Error exception is now caught and absorbed by the
937       interactive loop.
938    
939    ----------------------------------------------------------------------
940    Name: Allen Leung
941    Date: 2003/05/16 13:05:00 CDT
942    Tag: leunga-20030516-cygwin-runtime
943    Description:
944    
945        Ported the runtime system to cygwin, which uses the unix
946    x86-unix bin files.  Missing/buggy features:
947    
948       o getnetbyname, getnetbyaddr: these functions seem to be missing in
949         the Cygwin library.
950       o Ctrl-C handling may be flaky.
951       o Windows system calls and Windows I/O are not supported.
952    
953       A new set of binfiles is located at:
954    
955         http://www.dorsai.org/~leunga/boot.x86-unix.tgz
956    
957       This is only needed for bootstrapping the cygwin version of smlnj.
958       Other x86 versions can use the existing binfiles.
959    
960    ----------------------------------------------------------------------
961    Name: Matthias Blume
962    Date: 2003/04/08 15:42:00 CDT
963    Tag: blume-20030408-listpair
964    Description:
965    
966    1. Added a target 'mlrisc' to installer.
967    
968    2. Added missing elements to structure ListPair.
969    
970    ----------------------------------------------------------------------
971    Name: Allen Leung
972    Date: 2003/01/07 10:40:00 EST
973    Tag: leunga-20030107-int-rem
974    Description:
975    
976    Fixed a bug in Int.rem(x,y) where y is a power of 2 on x86.
977    The arguments to the SUBL instruction were swapped.
978    
979    ----------------------------------------------------------------------
980    Name: Matthias Blume
981    Date: 2002/12/12 16:25:00 EST
982    Tag: blume-20021212-risc-ra
983    Description:
984    
985    Fixed a serious bug in the rewrite code for FP spilling/reloading that
986    sent the RA into an infinite loop when floating point registers get
987    spilled.  (Because of this bug, e.g., nucleic stopped compiling between
988    110.37 and 110.38.)
989    There was another set of potential problems related to the handling of
990    MLRISC annotations (but those did not yet cause real problems, apparently).
991    
992    ----------------------------------------------------------------------
993    Name: Matthias Blume
994    Date: 2002/12/06 22:40:00 EST
995    Tag: blume-20021206-cm-fileid
996    Description:
997    
998    Added a call of SrcPath.sync at the beginning of Parse.parse (in CM).
999    This fixes the problem of CM getting confused by files that suddenly
1000    change their identity (e.g., by getting unlinked and recreated by some
1001    text editor such as vi).  There might be a better/cheaper/cleaner way
1002    of doing this, but for now this will have to do.
1003    
1004    ----------------------------------------------------------------------
1005    Name: Matthias Blume
1006    Date: 2002/10/28 09:50:00 EST
1007    Tag: blume-20021028-typecheck
1008    Description:
1009    
1010    Exported structure Typecheck from $smlnj/viscomp/core.cm.
1011    
1012    ----------------------------------------------------------------------
1013    Name: Matthias Blume
1014    Date: 2002/10/17 09:10:00 EDT
1015    Tag: Release_110_42
1016    Description:
1017    
1018    In good old tradition, there has been a slight hiccup so that we have
1019    to patch 110.42 after the fact.   The old release tag has been replaced
1020    (see below).
1021    
1022    The change solves a problem with two competing approaches the
1023    configuration problem regarding MacOS 10.1 vs. MacOS 10.2 which got in
1024    each other's way.
1025    
1026    This change only affects the runtime system code and the installer script.
1027    (No new bootfiles.)
1028    
1029    ----------------------------------------------------------------------
1030    Name: Matthias Blume
1031    Date: 2002/10/16 12:00:00 EDT
1032    Tag: Release_110_42_removed
1033    Description:
1034    
1035    New working release.  New bootfiles.
1036    
1037    ----------------------------------------------------------------------
1038    Name: Matthias Blume
1039    Date: 2002/10/10 13:10:00 EDT
1040    Tag: blume-20021010-ppc-divs
1041    Description:
1042    
1043    The mltree operator DIVS must be implemented with an overflow check on
1044    the PPC because the hardware indicates divide-by-zero using "overflow" as
1045    well.
1046    
1047    ----------------------------------------------------------------------
1048    Name: Matthias Blume
1049    Date: 2002/07/23 11:45:00
1050    Tag: blume-20020723-smlnj-home
1051    Description:
1052    
1053    Sml now senses the SMLNJ_HOME environment variable.  If this is set,
1054    then the bin dir is assumed to be in $SMLNJ_HOME/bin and (unless
1055    CM_PATHCONFIG is also set), the path configuration file is assumed
1056    to be in $SMLNJ_HOME/lib/pathconfig.  This way one can easily move
1057    the entire tree to some other place and everything will "just work".
1058    
1059    (Companion commands such as ml-build and ml-makedepend also sense this
1060    variable.)
1061    
1062    ----------------------------------------------------------------------
1063    Name: Matthias Blume
1064    Date: 2002/07/12 21:19:00 EDT
1065    Tag: blume-20020712-liveness
1066    Description:
1067    
1068    Exported two useful "step" functions from liveness module (MLRISC).
1069    
1070    ----------------------------------------------------------------------
1071    Name: Matthias Blume
1072    Date: 2002/07/05 16:00 EDT
1073    Tag: Release_110_41
1074    Description:
1075    
1076    New working release.  New bootfiles.
1077    
1078    ----------------------------------------------------------------------
1079    Name: Matthias Blume
1080    Date: 2002/07/05 10:25:00 EDT
1081    Tag: blume-20020705-btimp
1082    Description:
1083    
1084    Exported structure BTImp from $smlnj/viscomp/debugprof.cm so that
1085    other clients can set up backtracing support.
1086    
1087    ----------------------------------------------------------------------
1088  Name: Matthias Blume  Name: Matthias Blume
1089  Date: 2002/06/25 17:23:00 EDT  Date: 2002/06/25 17:23:00 EDT
1090  Tag: blume-20020625-fpmax  Tag: blume-20020625-fpmax

Legend:
Removed from v.1249  
changed lines
  Added in v.1537

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0