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 1390, Wed Sep 24 20:34:06 2003 UTC revision 1759, Thu Feb 24 22:46:30 2005 UTC
# Line 14  Line 14 
14    
15  ----------------------------------------------------------------------  ----------------------------------------------------------------------
16  Name: Matthias Blume (blume (at) tti - c (dot) org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
17    Date: 2005/02/24 16:50:00 CST
18    Tag: blume-20050224-cml-atom
19    Description:
20    
21    Simpler and at the same time more general implementation of structure
22    Atom in CML.
23    
24    ----------------------------------------------------------------------
25    Name: Matthias Blume (blume (at) tti - c (dot) org)
26    Date: 2005/02/15 17:35:00 CST
27    Tag: blume-20050215-tools
28    Description:
29    
30    Created new "tools" directory under "src" and moved "TraceDebugProf"
31    there.
32    
33    ----------------------------------------------------------------------
34    Name: Matthias Blume (blume (at) tti - c (dot) org)
35    Date: 2005/02/10 17:55:00 CST
36    Tag: blume-20050210-longlong
37    Description:
38    
39    Implemented "long long" arguments and results for NLFFI.  (Only the
40    PPC/MacOS implementation is complete, the other backends still need to
41    be updated.)
42    
43    ----------------------------------------------------------------------
44    Name: Matthias Blume (blume (at) tti - c (dot) org)
45    Date: 2005/01/24 17:40:00 CST
46    Tag: blume-20050124-mlyacc
47    Description:
48    
49    Minor cleanup in ML-Yacc rule printing mechanism.  This should fix a
50    problem with certain "as" patterns which previously got rendered
51    using incorrect syntax.
52    
53    ----------------------------------------------------------------------
54    Name: Matthias Blume (blume (at) tti - c (dot) org)
55    Date: 2005/01/18 12:00:00 CST
56    Tag: blume-20050118-profile
57    Description:
58    
59    Made time profiling code (interrupt handler) in runtime system aware
60    of new array representation.
61    
62    ----------------------------------------------------------------------
63    Name: Matthias Blume (blume (at) tti - c (dot) org)
64    Date: 2005/01/14 18:00:00 CST
65    Tag: blume-20050114-heap2exec
66    Description:
67    
68    Implemented new (but still experimental) heap2exec facility.  This is
69    tested under Mac OS X and should work under Linux (will test shortly).
70    It will probably also work on the Sparc (will test some time later).
71    
72      - removed old "HACKED_STANDALONE" hack from runtime
73    
74    To be able to test this, uncomment the request for "heap2asm" in
75    config/targets prior to installation.  (Notice that this is different
76    from "heap2exec" mentioned below.  Not a typo.)
77    
78    To perform an actual test, run the command
79    
80       $ bin/heap2exec heapfile execfile
81    
82    (You can put heap2exec on your shell's path.)
83    
84    For example, run
85    
86      $ bin/heap2exec bin/.heap/ml-yacc.ppc-darwin mly
87    
88    This will create a standalone executable called "mly" which you can
89    then invoke directly as a command.
90    
91    ----------------------------------------------------------------------
92    Name: Matthias Blume (blume (at) tti - c (dot) org)
93    Date: 2005/01/07 11:44:00 CST
94    Tag: blume-20050107-mlstring
95    Description:
96    
97    fixed off-by-one error in ML_STRING macro (globals.c)
98    
99    ----------------------------------------------------------------------
100    Name: Matthias Blume (blume (at) tti - c (dot) org)
101    Date: 2004/12/23 18:00:00 CST
102    Tag: blume-20041223-santa
103    Description:
104    
105    Made ml-build script "smarter" (but only very little).
106    
107    ----------------------------------------------------------------------
108    Name: Matthias Blume (blume (at) tti - c (dot) org)
109    Date: 2004/12/21 15:05:00 CST
110    Tag: blume-20041221-longlong
111    Description:
112    
113    * Implemented access to signed and unsigned long long data in NLFFI.
114    (The parameter-passing part of the picture has not complete. But
115    data structure access seems to work.)
116    
117    * Fixed CM's incorrect assumption that the PPC is little-endian.
118      (On the Mac, it is big-endian.  And that's currently our only
119      PPC platform.)
120    
121    ----------------------------------------------------------------------
122    Name: Matthias Blume (blume (at) tti - c (dot) org)
123    Date: 2004/12/21 12:50:00 CST
124    Tag: blume-20041221-memory
125    Description:
126    
127    Some cleanup in the $c/memory.cm library: separated some concerns by
128    moving allocation code and memory access code each into their own
129    files.
130    
131    ----------------------------------------------------------------------
132    Name: Allen Leung (leunga (at) reservoir (dot) com)
133    Date: 2004/12/17 16:12:00 EST
134    Tag: leunga-20041217-cygwin-smlnj-home
135    Description:
136    
137        The Unix I/O library of SML/NJ on cygwin does not understand
138    Windows style pathname, so problems arise when SMLNJ_HOME is set
139    to a Windows style pathname.  _run-sml now converts SMLNJ_HOME
140    to a POSIX pathname on cygwin.
141    
142    ----------------------------------------------------------------------
143    Name: Matthias Blume (blume (at) tti - c (dot) org)
144    Date: 2004/12/16 13:35:00 CST
145    Tag: Release_110_52
146    Description:
147    
148    Last-minute changes incorporated into 110.52.  Release tag moved.
149    
150    The changes:
151       - HashString.hashString' -> HashString.hashSubstring
152       - bug fix in UnivariateStats
153    
154    ----------------------------------------------------------------------
155    Name: Matthias Blume (blume (at) tti - c (dot) org)
156    Date: 2004/12/15 23:40:00 CST
157    Tag: blume-20041215-hashSubstring
158    Description:
159    
160    - HashString.hashString' -> HashString.hashSubstring
161    - corresponding changes in atom.sml
162    - "de-compressed" (aka. un-obfuscated) code for UnivariateStats and
163      added some comments
164    
165    ----------------------------------------------------------------------
166    Name: Matthias Blume (blume (at) tti - c (dot) org)
167    Date: 2004/12/15 15:30:00 CST
168    Tag: (Release_110_52)
169    Description:
170    
171    New working version (110.52).  NEW BOOTFILES!
172    
173    ----------------------------------------------------------------------
174    Name: Matthias Blume (blume (at) tti - c (dot) org)
175    Date: 2004/12/15 12:45:00 CST
176    Tag: blume-20041215-spaces
177    Description:
178    
179    More on the space problem (this time for Win32).
180    
181    ----------------------------------------------------------------------
182    Name: Matthias Blume (blume (at) tti - c (dot) org)
183    Date: 2004/12/14 17:30:00 CST
184    Tag: blume-20041214-spaces
185    Description:
186    
187    Hacked some of the scripts (in particular: the installer) to cope with
188    spaces in filenames a bit better.  But beware: the current "solution"
189    is likely still full of bugs and inherently incomplete.  (We need to
190    do away with those shell scripts for a comprehensive solution.)
191    
192    ----------------------------------------------------------------------
193    Name: Matthias Blume (blume (at) tti - c (dot) org)
194    Date: 2004/12/13 14:45:00 CST
195    Tag: blume-20041213-ml-makedepend
196    Description:
197    
198    Fixed bug in code for ml-makedepend.
199    
200    ----------------------------------------------------------------------
201    Name: Matthias Blume (blume (at) tti - c (dot) org)
202    Date: 2004/12/09 16:30:00 CST
203    Tag: blume-20041209-statistics
204    Description:
205    
206    Added two simple but potentially useful statistics modules to SML/NJ Library.
207    (See CHANGES file there.)
208    
209    ----------------------------------------------------------------------
210    Name: Matthias Blume (blume (at) tti - c (dot) org)
211    Date: 2004/12/01 16:50:00 CST
212    Tag: blume-20041201-atom
213    Description:
214    
215    smlnj-lib:
216    
217      Added function HashString.hashString' for substrings.
218      Hand-inlined CharVector.foldl into HashString (for speed).
219      Modified implementation of structure Atom to avoid extracting
220      strings from substrings unless necessary.
221      (Also see CHANGES file for smlnj-lib.)
222    
223    ----------------------------------------------------------------------
224    Name: Matthias Blume (blume (at) tti - c (dot) org)
225    Date: 2004/11/24 22:15:00 CST
226    Tag: blume-20041124-cml
227    Description:
228    
229    Made sure CML compiles when Position = Int64.
230    
231    ----------------------------------------------------------------------
232    Name: Matthias Blume (blume (at) tti - c (dot) org)
233    Date: 2004/11/24 14:30:00 CST
234    Tag: blume-20041124-position
235    Description:
236    
237    The compiler can now be compiled in a mode that makes structure Position
238    equal to Int64.  The default, however, is unchanged (Position = Int31)
239    for the time being.
240    
241    To enable 64-bit positions, use the following procedure:
242    
243    1. Start sml
244    2. Autoload $smlnj/cmb.cm (if not already autoloaded)
245    3. Type
246          #set (CMB.symval "USE_64_BIT_POSITIONS") (SOME 1);
247    4. Run CMB.make() as usual.
248    
249    This is barely tested.  The only test so far was a little SML program
250    counting the number of characters in an 8-gigabyte file by
251    reading it character-by-character.  That test was successful.
252    
253    In support of 64-bit positions, a number of new functions have been
254    added to the runtime system.
255    
256    ----------------------------------------------------------------------
257    Name: Matthias Blume (blume (at) tti - c (dot) org)
258    Date: 2004/11/23 14:45:00 CST
259    Tag: blume-20041123-useFile
260    Description:
261    
262    Fixed a problem with unhelpful error messages related to problems with
263    .cm- or .sml files that appear as part of the sml command line.
264    
265    ----------------------------------------------------------------------
266    Name: Matthias Blume (blume (at) tti - c (dot) org)
267    Date: 2004/11/18 15:40:00 CST
268    Tag: Release_110_51
269    Description:
270    
271    New working version (110.51).  NEW BOOTFILES!
272    
273    ----------------------------------------------------------------------
274    Name: Matthias Blume (blume (at) tti - c (dot) org)
275    Date: 2004/11/18 15:35:00 CST
276    Tag: <none>
277    Description:
278    
279    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
280    Joemann).
281    
282    ----------------------------------------------------------------------
283    Name: Allen Leung (leunga (at) reservoir (dot) com)
284    Date: 2004/11/17 16:05:21 EST 2004
285    Tag: leunga-20041117-mlrisc-live-kill
286    Description:
287    
288       Added support for MLTree constructs LIVE and KILL
289    to all the architectures.
290    
291    ----------------------------------------------------------------------
292    Name: Matthias Blume (blume (at) tti - c (dot) org)
293    Date: 2004/11/13 00:20:00 CST
294    Tag: blume-20041113-versiontool
295    Description:
296    
297    - Stripped down the versiontool: It now only handles the version number.
298      The date string is generated at bootstrap time (during makeml).
299    
300    - In a previous commit, fixed a minor issue with how polyequal is being
301      translated.  In particular, the code now "looks through" abstractions.
302      This results in slightly fewer polyEqual warnings and hopefully slightly
303      more efficient code.  Important examples for where this matters are
304      the new int64 and word64 types.
305    
306    ----------------------------------------------------------------------
307    Name: Matthias Blume (blume (at) tti - c (dot) org)
308    Date: 2004/11/12 00:30:00 CST
309    Tag: blume-20041112-int64
310    Description:
311    
312    Structure Int64 fully hooked in.  (The implementation is not very
313    efficient, though.)
314    
315    ----------------------------------------------------------------------
316    Name: Matthias Blume (blume (at) tti - c (dot) org)
317    Date: 2004/11/11 17:30:00 CST
318    Tag: blume-20041111-more64
319    Description:
320    
321    All the pieces of Word64 are now there, with the exception of the
322    conversions from and to LargeWord. (Eventually these need to be identities,
323    but for the time being they don't even make sense because LargeWord is
324    32-bit wide.)
325    
326    Also started to add similar support for Int64, but major pieces of that
327    are still missing.
328    
329    ----------------------------------------------------------------------
330    Name: Matthias Blume (blume (at) tti - c (dot) org)
331    Date: 2004/11/11 00:15:00 CST
332    Tag: blume-20041111-word64
333    Description:
334    
335    Structure Word64 is now (almost) complete, word literals and patterns
336    seem to work.  There are a few odd pieces missing.  In particular,
337    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
338    at the moment.
339    
340    Making Word64 official would mean that LargeWord becomes Word64.  But
341    this requires extreme care because most word-word conversions have to
342    go through LargeWord, so making a mistake means loss of efficiency or
343    worse.  Eventually there will be a solution similar to (but actually
344    simpler than) what I did with IntInf.
345    
346    ----------------------------------------------------------------------
347    Name: Matthias Blume (blume (at) tti - c (dot) org)
348    Date: 2004/11/10 18:12:00 CST
349    Tag: blume-20041110-64bit
350    Description:
351    
352    More 64-bit hacking (but still not even half-way there yet).
353    Also, some assorted improvements to the handling of 8-bit words.
354    
355    ----------------------------------------------------------------------
356    Name: Matthias Blume (blume (at) tti - c (dot) org)
357    Date: 2004/11/09 17:50:00 CST
358    Tag: <none>
359    Description:
360    
361    Started adding some infrastructure for supporting 64-bit int- and
362    word-types.  (Still in its very early stages.)
363    
364    ----------------------------------------------------------------------
365    Name: Matthias Blume (blume (at) tti - c (dot) org)
366    Date: 2004/10/28 10:45:00 CDT
367    Tag: Release_110_50
368    Description:
369    
370    New working version (110.50).  NEW BOOTFILES!
371    
372                 =====================
373    
374    Also:
375    
376      - Changend config/srcarchiveurl from a file just
377        containing the URL string into a file containing
378        shell script code.  The code has access to the $VERSION variable.
379      - Made corresponding changes to config/install.sh and config/unpack.
380      - Default contents of config/srcarchiveurl uses $VERSION and
381        normally does not have to be edited to reflect a version change.
382    
383      (As a result, a version change can be done by just editing
384       config/version, the rest is now automatic.)
385    
386    ----------------------------------------------------------------------
387    Name: Matthias Blume (blume (at) tti - c (dot) org)
388    Date: 2004/10/27 17:50:00 CDT
389    Tag: blume-20041027-btrace-msg
390    Description:
391    
392    BackTrace.monitor now also reports the source of the exception that
393    triggered the trace.
394    
395    ----------------------------------------------------------------------
396    Name: Matthias Blume (blume (at) tti - c (dot) org)
397    Date: 2004/10/27 17:20:00 CDT
398    Tag: blume-20041027-x86-c-calls
399    Description:
400    
401    This is the HISTORY entry for two earlier commits, both concerning
402    the x86 c-calls code in MLRISC:
403    
404      - added a missing LOAD in the code that deals with struct arguments
405      - made sure the caller does not add the wrong number of bytes to the
406        stack pointer after a call of a function returning a struct
407        (the callee already pops the implicit argument which points to
408         the space reserved for the result)
409    
410    ----------------------------------------------------------------------
411    Name: Allen Leung (leunga (at) reservoir (dot) com)
412    Date: 2004/10/24 14:00:00 EST
413    Tag: leunga-20041024-x86-gas-fucomip
414    Description:
415    
416       John discovered a bug in the syntax of fucomip.
417       The opcodes FU?COMIP? have been changed to
418    
419           fu?comip? %st(i), %st
420    
421    ----------------------------------------------------------------------
422    Name: Matthias Blume (blume (at) tti - c (dot) org)
423    Date: 2004/10/20 15:06:00 CDT
424    Tag: blume-20041020-standalone-backtrace
425    Description:
426    
427    Added a mechanism for getting back-trace information from standalone
428    programs.  Here is how it works:
429    
430       1. The part of the program from which you want to get backtrace
431          information (usually the whole program) should be wrapped with
432          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
433          main program could be modified from something like
434    
435             fun main (pgm, args) = ...
436    
437         to
438    
439            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
440    
441       2. To be able to access BackTrace.monitor, you have to add
442          library $smlnj-tdp/plugins.cm to the .cm file that contains your
443          main function.
444    
445       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
446          CM might have created in the past for your project).
447    
448       4. Build the system using this command line:
449    
450             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
451                      myprog.cm MyProg.main myprog
452    
453          instead of the usual
454    
455             ml-build myprog.cm MyProg.main myprog
456    
457    I changed a library name:
458    
459       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
460    
461    New libraries:
462    
463       $smlnj-tdp/back-trace.cm
464          -- when loaded causes the back-trace plugin to be installed
465       $smlnj-tdp/coverage.cm
466          -- when loaded causes the coverage plugin to be installed
467    
468    ----------------------------------------------------------------------
469    Name: Matthias Blume (blume (at) tti - c (dot) org)
470    Date: 2004/10/18 16:45:00 CDT
471    Tag: blume-20041018-groupowner
472    Description:
473    
474    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
475    
476    Eliminated group owner specs from .cm files throughout the source tree.
477    
478    ----------------------------------------------------------------------
479    Name: Matthias Blume (blume (at) tti - c (dot) org)
480    Date: 2004/10/15 15:45:00 CDT
481    Tag: blume-20041015-coverage
482    Description:
483    
484    * Test coverage tool added!
485    * Further reorganization of tracing-, debugging-, and profiling support:
486    
487        - moved original BTImp -- now called BackTrace -- into a separate
488          library called $/trace-debug-profile.cm
489        - eliminated all mentions of BTrace from SMLofNJ.Internals
490        - only the instrumentation mechanism is now left in the compiler proper
491        - BackTrace module is a plugin which is NOT plugged in by default
492        - Coverage module is another such plugin
493    
494    To get the benefits of any of these plugin modules, the code in
495    question must be compiled with tdp instrumentation turned on.  This
496    can be done by setting SMLofNJ.Internals.TDP.mode to true.
497    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
498    
499    Plugins are selected at link time.  (Pre-compiled instrumented code
500    can be re-loaded with different plugins in effect.)  When an
501    instrumented module is linked, whatever plugins are at that time
502    enabled will come into effect for that module.
503    
504    To enable the back-trace plugin, load library $/trace-debug-profile.cm
505    and invoke BackTrace.install() (e.g., from the interactive prompt).
506    To enable the coverage plugin, load the same library and invoke
507    Coverage.install().
508    
509    Back-traces are generated automatically on uncaught exceptions and
510    when the code in question explicitly invokes BackTrace.trigger().
511    
512    Coverage (and execution frequency-) information must be queried
513    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
514    
515    ----------------------------------------------------------------------
516    Name: Matthias Blume (blume (at) tti - c (dot) org)
517    Date: 2004/10/14 17:40:00 CDT
518    Tag: blume-20041014-tdp-core
519    Description:
520    
521    Snapshot of a significant overhaul of how the trace/debug/profile support
522    is hooked into the system (specifically: Core and SMLofNJ.Internals).
523    
524    ----------------------------------------------------------------------
525    Name: Matthias Blume (blume (at) tti - c (dot) org)
526    Date: 2004/10/13 16:34:00 CDT
527    Tag: blume-20041013-tdp
528    Description:
529    
530    Some rationalization of names:
531    
532       structure BTrace -> structure TDPInstrument
533       etc.
534    
535    This is is preparation of using the original back-trace
536    instrumentation for other purposes.  "TDP" stands for
537    Trace/Debug/Profile.
538    
539    The control flag controlling whether instrumentation is on or off is now
540    registered under a different name, so instead of running sml as
541    
542     sml -Cinstrument.btrace-mode=true
543    
544    one has to say
545    
546     sml -Ctdp.instrument=true
547    
548    ----------------------------------------------------------------------
549    Name: Matthias Blume (blume (at) tti - c (dot) org)
550    Date: 2004/10/11 16:37:00 CDT
551    Tag: blume-20041011-regions
552    Description:
553    
554    Made some minor modifications to elabcore.sml to have source regions
555    be propagated more tightly -- resulting in better (i.e., smaller)
556    regions being reported in error- and debug messages.
557    
558    ----------------------------------------------------------------------
559    Name: Matthias Blume (blume (at) tti - c (dot) org)
560    Date: 2004/10/08 22:50:00 CDT
561    Tag: blume-20041008-cmkw
562    Description:
563    
564    Fixed handling of keywords in .cm files: After seeing "is" the lexer
565    treats subsequent occurrences of "group", "library", "source", "is",
566    "*", and "-" as ordinary identifiers rather than keywords.
567    
568    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
569    is supposed to accept a tool argument called "source", but this did
570    not work because of the clash with the keyword.
571    
572    ----------------------------------------------------------------------
573    Name: Matthias Blume (blume (at) tti - c (dot) org)
574    Date: 2004/10/07 16:00:00 CDT
575    Tag: blume-20041007-cleanup
576    Description:
577    
578    Assorted cleanup work:
579    
580      - got rid of intstrmap in favor of using the library's
581        hash table implementation
582      - threw out most of the pathnames stuff, as it was not used anyway
583      - simplified tokentable implementation
584      - fixed some minor spelling errors
585    
586    ----------------------------------------------------------------------
587    Name: Matthias Blume (blume (at) tti - c (dot) org)
588    Date: 2004/10/06 15:15:15 CDT
589    Tag: blume-20041006-handler
590    Description:
591    
592    Cleaned up the absyn to reflect the invariant that HANDLE always
593    carries a FNexp as part of the type definition.  This eliminates some
594    superfluous sanity checks at runtime down the road.
595    
596    Some minor cleanup of the btrace code.
597    
598    ----------------------------------------------------------------------
599    Name: Matthias Blume (blume (at) tti - c (dot) org)
600    Date: 2004/10/01 10:20:30 CDT
601    Tag: blume-20041001-slave
602    Description:
603    
604    Added hack to make slave mode work in the presence of the version
605    tool.  (Still, since the master does two passes over the code for
606    CMB.make, the release number gets bumped twice when slaves are
607    attached.  I don't know if this is worth fixing...)
608    
609    ----------------------------------------------------------------------
610    Name: Matthias Blume (blume (at) tti - c (dot) org)
611    Date: 2004/09/30 10:55:00 CDT
612    Tag: blume-20040930-version
613    Description:
614    
615    * Moved the "version" magic into its own little library under
616      src/system/smlnj/internal.  This avoids expensive reconstruction of
617      a stable src/compiler/core.cm.
618    
619    * At the same time, structure CompilerVersion is now known as
620      structure SMLNJVersion.
621    
622    * Arranged for the version tool to NOT kick in when rebuilding the system
623      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
624      Also, loading the versiontool does not work when rebuilding the system
625      because CM is not properly initialized at that time.
626    
627    ----------------------------------------------------------------------
628    Name: Matthias Blume (blume (at) tti - c (dot) org)
629    Date: 2004/09/29 14:00:00 CDT
630    Tag: blume-20040929-autoversion
631    Description:
632    
633    Implemented some CM magic to have
634        file src/compiler/TopLevel/main/version.sml
635    generated automagically.
636    The version is taken from two files: config/version and config/release.
637    The first is expected to contain a two-part version number such as 110.49.
638    The second should contain a single number, but it may be missing.
639    
640    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
641    time the version tool is loaded (which is the first time you say CMB.make),
642    then the tool will increment the value stored in config/release every
643    time CMB.make is invoked.
644    
645    The binfile format is now insensitive to anything beyond the first
646    two components of a version number, so bumping the release does not render
647    binfiles incompatible.  Auto-bumping can be used to keep track of versions
648    during development without invalidating existing binfiles.
649    
650    In any case, every CMB.make updates the date information in version.sml.
651    (This is the date that is printed in the banner.)
652    
653    ----------------------------------------------------------------------
654    Name: Matthias Blume (blume (at) tti - c (dot) org)
655    Date: 2004/09/28 10:53:00 CDT
656    Tag: blume-20040928-controls
657    Description:
658    
659    Some cleanup of the controls code.
660    
661    ----------------------------------------------------------------------
662    Name: Matthias Blume (blume (at) tti - c (dot) org)
663    Date: 2004/09/27 22:08:00 CDT
664    Tag: blume-20040927-controls
665    Description:
666    
667    Added two pieces of functionality to the Controls interface:
668    
669    1.   val save'restore: 'a control -> unit -> unit
670    
671       grabs the current value of the control in stage 1 and restores it
672       in stage 2.
673    
674    2.   val set' : 'a control * 'a -> unit -> unit
675    
676       stores the given value into the control in stage 2 (i.e., delayed)
677       but does all error checking in stage 1.
678       (This is for string controls that need to do parse their argument --
679        something that might fail.  In some cases, notably in CM, one
680        already knows the intended argument but wants to delay the actual
681        assignment until a time when error recovery would be more difficult.)
682    
683    Changed the handling of controls in tool arguments to classes "sml" and
684    "lazysml":
685       - use Controls.save'restore as a more robust way of restoring the
686         old value (in particular: without having to re-parse the string)
687       - use controls to handle the "overload" keyword in the init group
688         (I believe this change actually fixes a long-standing obscure bug.)
689    
690    ----------------------------------------------------------------------
691    Name: Matthias Blume (blume (at) tti - c (dot) org)
692    Date: 2004/09/27 17:00:00 CDT
693    Tag: blume-20040927-lazysml
694    Description:
695    
696    Added a new tool class called "lazysml" to CM's tool chest.  The only
697    difference to "sml" is that compilation is done with Control.lazysml
698    set to true.  A source of class "lazysml" is automatically recognized
699    by a file name suffix of ".lml".
700    
701    In addition to the above feature, the original class "sml" now also
702    supports a tool argument "lazy" which has the same effect.  As a
703    result, the following three lines are equivalent:
704    
705        foo.sml : lazysml
706        foo.sml : sml (lazy)
707        foo.sml (lazy)
708    
709    The setting goes into effect both during parsing and during
710    compilation.  The original setting is restored right after parsing and
711    after compilation, respectively.
712    
713    In addition to all the above, there is also a general mechanism to set
714    ANY of the "controls" that are available at the command line via
715    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
716    apply as well. (In fact, "lazy" is implemented as a special case of
717    the general mechanism.)
718    
719    The .cm file syntax uses a new keyword tool argument called "with".
720    There are several ways of indicating the desired settings:
721    
722        foo.sml (with:parser.quotations=true)
723        foo.sml (with:(name:parser.quotations value:true))
724        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
725        foo.sml (with:(name1=value1 name2=value2 ...))
726        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
727    
728        etc.
729    
730    Another possible abbreviation is to leave out the =v or value:v part
731    if the name refers to a boolean control (in which case the value is
732    taken to be true).  Thus, one could get lazy sml also by saying:
733    
734        foo.sml (with:parser.lazy-keyword=true)
735        foo.sml (with:parser.lazy-keyword)
736        foo.sml (with:(name:parser.lazy-keyword value:true))
737        foo.sml (with:(name:parser.lazy-keyword))
738    
739    ----------------------------------------------------------------------
740    Name: Matthias Blume (blume (at) tti - c (dot) org)
741    Date: 2004/09/24 16:22:00 CDT
742    Tag: blume-20040924-ppc-long-branch
743    Description:
744    
745    Turned message about "emiting long form of branch" off by default.
746    Added a control flag to turn it back on when desired.
747    
748    ----------------------------------------------------------------------
749    Name: Matthias Blume (blume (at) tti - c (dot) org)
750    Date: 2004/09/24 16:05:00 CDT
751    Tag: blume-20040924-rounding
752    Description:
753    
754    Applied patch for setting rounding modes under Mac OS X.  Thanks to
755    Melissa O'Neill for providing the code!
756    
757    ----------------------------------------------------------------------
758    Name: Matthias Blume (blume (at) tti - c (dot) org)
759    Date: 2004/09/23 17:30:00 CDT
760    Tag: blume-20040923-envvars
761    Description:
762    
763    1. Changed definition of type ControlRegistry.registry_tree to
764       include control_info (i.e., the name of the controlling environment
765       variable).
766    
767    2. Added command-line flags -e and -E to print the names of environment
768       variables that can be used to control internal settings.
769       (This uses the new API mentioned in 1.)
770    
771    ----------------------------------------------------------------------
772    Name: Matthias Blume (blume (at) tti - c (dot) org)
773    Date: 2004/09/13 16:50:00 CDT
774    Tag: Release_110_49
775    Description:
776    
777    New working version (110.49).  NEW BOOTFILES!
778    
779    ----------------------------------------------------------------------
780    Name: Matthias Blume
781    Date: 2004/09/13 16:20:00 CDT
782    Tag: blume-20040913-config-mlrisc
783    Description:
784    
785    Put target "mlrisc" back into the default list.
786    (There is no harm in having it, and some users have expressed their
787    wish to have "mlrisc" included by default.)
788    
789    ----------------------------------------------------------------------
790    Name: John Reppy
791    Date: 2004/09/13
792    Tag: jhr-20040913-signals
793    Description:
794    
795    Fixed the signal masking code to properly nest mask/unmask operations
796    on a per-signal basis.
797    
798    ----------------------------------------------------------------------
799    Name: Matthias Blume (blume (at) tti - c (dot) org)
800    Date: 2004/09/08 13:20:00 CDT
801    Tag: blume-20040908-heap-magic
802    Description:
803    
804    Bumped the heap macig number to 0x09082004 to account for the changed
805    layout of the ML frame under MacOS X.
806    
807    ----------------------------------------------------------------------
808    Name: Allen Leung (leunga (at) reservoir (dot) com)
809    Date: 2004/09/03 11:26:00 EST
810    Tag: leunga-20040903-cygwin-install
811    Description:
812    
813       Added a patch to _arch-n-opsys to enable the Cygwin runtime.
814    The Cygwin runtime is turned on by setting the environment
815    variable SMLNJ_CYGWIN_RUNTIME to 1.
816    
817    ----------------------------------------------------------------------
818    Name: Matthias Blume (blume (at) tti - c (dot) org)
819    Date: 2004/08/31 17:15:00 CDT
820    Tag: blume-20040831-core
821    Description:
822    
823    Added some exports to src/compiler/core.cm upon request by J. Joemann.
824    
825    ----------------------------------------------------------------------
826    Name: Matthias Blume (blume (at) tti - c (dot) org)
827    Date: 2004/08/30 17:55:00 CDT
828    Tag: blume-20040830-installer
829    Description:
830    
831    Upon request by Johannes Joemann:
832    
833    - improved ML code of installer to fall back to coping when renaming
834      fails (i.e., when source and target are on different file systems);
835      the code compiles but has yet to be tested in anger
836    - removed mlrisc from list of default targets (config/targets)
837    
838    ----------------------------------------------------------------------
839    Name: Matthias Blume (blume (at) tti - c (dot) org)
840    Date: 2004/08/27 17:20:00 CDT
841    Tag: blume-20040827-ptreql
842    Description:
843    
844    Added ptreql primop to structure InlineT (upon request from Larry
845    Paulson).
846    
847    ----------------------------------------------------------------------
848    Name: Allen Leung (leunga (at) reservoir (dot) com)
849    Date: 2004/08/15 21:21:00 EST
850    Tag: leunga-110_48-udgraph
851    Description:
852    
853    Another bug fix from Carl Hauser:
854    
855    diff /net/niflab/smlnj48/src/MLRISC/graphs/udgraph.sml udgraph.sml
856    > 48c48
857    > <              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then es else
858    > e::L)
859    > ---
860    > >              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then L else e::L)
861    > Without this, any deletion of an edge in an undirected graph does severe
862    > violence to the graph.
863    
864    ----------------------------------------------------------------------
865    Name: Allen Leung (leunga (at) reservoir (dot) com)
866    Date: 2004/08/10 23:35:00 EST
867    Tag: leunga-110_48-ppc
868    Description:
869    
870       The IBM/MacOS syntax switch on PPC was incorrectly swapped.
871    
872    ----------------------------------------------------------------------
873    Name: Matthias Blume (blume (at) tti - c (dot) org)
874    Date: 2004/08/10 12:00:00 CDT
875    Tag: Release_110_48
876    Description:
877    
878    New working version (110.48).  NEW BOOTFILES!
879    
880    ----------------------------------------------------------------------
881    Name: Allen Leung (leunga (at) reservoir (dot) com)
882    Date: 2004/08/09 12:21:00 EST
883    Tag: leunga-110_47-dijsktra
884    Description:
885    
886    Bug fix from Carl Hauser:
887    
888    single_source_shortest_paths in dijkstra.sml was observed to get wrong
889    answers (by comparing to single_source_shortest_paths in bellman-ford.sml).
890    
891    The problem is that following the expression A.update(dist,s,Num.zero)
892    it is necessary to update the priority queue using Q.decreaseWeight(Q,s).
893    
894    ----------------------------------------------------------------------
895    Name: Matthias Blume (blume (at) tti - c (dot) org)
896    Date: 2004/08/06 18:10:00 CDT
897    Tag: blume-20040806-cmdline
898    Description:
899    
900    Fiddled with handling of command-line options:
901    
902      * sml now quits after processing the command line
903        if -H, -S, -h<n>, or -s<n> appears as the last
904        command-line argument
905      * a new option -q terminates the session when encountered on
906        the command line; subsequent arguments will be ignored
907      * bug fixes: short (erroneous) arguments are no longer ignored
908        completely
909    
910    ----------------------------------------------------------------------
911    Name: Allen Leung (leunga (at) reservoir (dot) com)
912    Date: 2004/08/04 18:17:00 EST
913    Tag: leunga-110_47-ppc-ibm-asm
914    Description:
915    
916      - Added minimal IBM assembly syntax support for PowerPC.
917    
918      - Cygwin: manually changed the file cygwin.def.  Some exported symbols have
919        been altered in the runtime.  We need an automatic way to keep the file
920        in sync.
921    
922    ----------------------------------------------------------------------
923    Name: Matthias Blume (blume (at) tti - c (dot) org)
924    Date: 2004/08/04 14:00:00 CDT
925    Tag: Release_110_47
926    Description:
927    
928    New working version (110.47).  NEW BOOTFILES!
929    
930    ----------------------------------------------------------------------
931    Name: Matthias Blume (blume (at) tti - c (dot) org)
932    Date: 2004/08/03 14:25:00 CDT
933    Tag: blume-20040803-callingconv
934    Description:
935    
936    Added low-level support for choosing C calling conventions by
937    twiddling the type of rawccall.  (See
938    src/compiler/Semant/types/cproto.sml for details.)
939    
940    ----------------------------------------------------------------------
941    Name: Matthias Blume (blume (at) tti - c (dot) org)
942    Date: 2004/08/02 15:55:00 CDT
943    Tag: blume-20040802-backout
944    Description:
945    
946    Backed out of change to win32-filesys.c.  The earlier patch to
947    get_file_time caused CM to produce files with the wrong time stamp.
948    
949    ----------------------------------------------------------------------
950    Name: Matthias Blume (blume (at) tti - c (dot) org)
951    Date: 2004/08/02 14:45:00 CDT
952    Tag: blume-20040802-nlffi-win32
953    Description:
954    
955    Added NLFFI support for Win32, adapted from a patch provided by David
956    Hansel.  This is currently completely untested.  Also, the issue
957    concerning stdcall vs. ccall is still unresolved.
958    
959    ----------------------------------------------------------------------
960    Name: Matthias Blume (blume (at) tti - c (dot) org)
961    Date: 2004/07/30 17:55:00 CDT
962    Tag: blume-20040730-various
963    Description:
964    
965    Gearing up towards 110.47...
966    
967    - various minor bugfixes to ml-nlffigen
968    - a beginning of a manual for nlffi
969    
970    - eliminated 'export name=value' in config/install.sh as this does
971      not work with certain versions of /bin/sh
972      (Thanks to David King at Motorola for catching this.)
973    
974    - several bugfixes provided or suggested by David Hansel at Reactive Systems:
975      - added a test for tm==NULL to gmtime.c and localtime.c
976      - applied patch for incorrect GetFileTime under win32
977      - toSeconds -> toMilliseconds in Win32/win32-process.sml
978    
979    ----------------------------------------------------------------------
980    Name: Matthias Blume (blume (at) tti - c (dot) org)
981    Date: 2004/07/21 18:20:00 CDT
982    Tag: blume-20040721-nlffigen
983    Description:
984    
985    - Fixed minor issue in ml-nlffigen: Now generate structure T_foo
986      for a typedef to an incomplete type, but leave out the "typ" member.
987      (This is just for consistency.)
988    - Started to produce what is supposed to become better (i.e., comprehensive)
989      documentation of what ml-nlffigen does and produces.
990    
991    ----------------------------------------------------------------------
992    Name: Matthias Blume (blume (at) tti - c (dot) org)
993    Date: 2004/07/14 16:25:00 CDT
994    Tag: blume-20040714-union
995    Description:
996    
997    Added C_UNION to c-calls/c-types.sml and updated the machinery
998    (ml-nlffigen, cproto.sml) that conveys C function interface
999    information to the code generator.
1000    
1001    However, the actual architecture-specific implementation of function
1002    arguments and results that are C unions is still not implemented.
1003    
1004    ----------------------------------------------------------------------
1005    Name: Allen Leung (leunga (at) reservoir (dot) com)
1006    Date: 2004/07/14 14:38:00 EST
1007    Tag: leunga-110_46_1-ppc-lwzu
1008    Description:
1009    
1010        Added these instructions to the PowerPC architecture:
1011        LBZU(X), LHZU(X), LWZU(X),
1012        STWU(X), STFDU, STFSU
1013    
1014        etc...
1015    
1016        Note: I haven't added their instruction encoding into the description.
1017    
1018    ----------------------------------------------------------------------
1019    Name: Allen Leung (leunga (at) reservoir (dot) com)
1020    Date: 2004/07/13 15:04:00 EST
1021    Tag: leunga-110_46_1-ppc-lwarx
1022    Description:
1023    
1024       Added the two instructions LWARX and STWCX to the PowerPC
1025    instruction set.
1026    
1027       A (untested) rewrite of loop-structure.sml.  The old version
1028    is completely broken.
1029    
1030    ----------------------------------------------------------------------
1031    Name: Matthias Blume (blume (at) tti - c (dot) org)
1032    Date: 2004/07/13 13:50:00 CDT
1033    Tag: blume-20040713-nlffi
1034    Description:
1035    
1036    - use paramAlloc to report c-calls with too many arguments
1037      (for PPC version where parameter area is pre-allocated)
1038    - added ccall_maxargspace to machspec (to implement the above)
1039    - made "make" commend in CM's "make" tool configurable
1040    - added option (default: on) for passing the name of the SML/NJ's "bin"
1041      directory to "make"; the call looks like this:
1042    
1043         make <options> SMLNJ_BINDIR=<dir> <target>
1044    
1045      This can be used by the Makefile to, e.g., pick the "right" version
1046      of ml-nlffigen.
1047    - minor code tweaks
1048    
1049    ----------------------------------------------------------------------
1050    Name: Matthias Blume (blume (at) tti - c (dot) org)
1051    Date: 2004/07/12 22:50:00 CDT
1052    Tag: blume-110_46_1-macosx-nlffi
1053    Description:
1054    
1055    NLFFI under Mac OS X now working (sort of).  This is largely untested,
1056    though.
1057    
1058    Note:  1. You have to make a new, clean build of the runtime system.
1059           2. There are new BOOTFILES, you have to use them!
1060              (Doing the bootstrap process yourself would be *very* painful!
1061               If you absolutely have to do it, build the system under
1062               a different architecture and then cross-compile.)
1063    
1064    Version bumped to 110.46.1 to account for runtime data format changes.
1065    
1066    ----------------------------------------------------------------------
1067    Name: Matthias Blume (blume (at) tti - c (dot) org)
1068    Date: 2004/06/18 14:30:00 CDT
1069    Tag: blume-20040618-unix
1070    Description:
1071    
1072    Changed the implementation of structure Unix so that the same stream
1073    is returned every time one of the {text,bin}{In,Out}streamOf functions
1074    is invoked on the same proc.  This is not what the spec currently
1075    says -- although IMO it arguably should.  (See discussion below.)
1076    
1077    ----------------------------------------------------------------------
1078    Name: Matthias Blume (blume (at) tti - c (dot) org)
1079    Date: 2004/06/17 18:15:00 CDT
1080    Tag: Release_110_46
1081    Description:
1082    
1083    New working version (110.46).  NEW BOOTFILES!
1084    
1085    ----------------------------------------------------------------------
1086    Name: Matthias Blume (blume (at) tti - c (dot) org)
1087    Date: 2004/06/17 17:20:00 CDT
1088    Tag: blume-20040617-timer-unix
1089    Description:
1090    
1091    Changed the interface of structures Timer and Unix to match the most
1092    recent Basis spec.
1093    
1094    In the case of Unix there still seems to be an open/weird issue:
1095    
1096       The {text,bin}{In,Out}streamOf functions are supposed to create
1097       fresh streams whenever they are called -- as opposed to have them
1098       return the same stream every time.  This design is supposed to
1099       prevent space leaks caused by proc values hanging on to streams.
1100    
1101       The reap function, on the other hand, is supposed to close the
1102       streams.  This cannot be done without having a handle on the
1103       stream in proc after all...
1104    
1105    I took the liberty to implement the following stopgap solution:
1106    
1107      The proc value hangs on to the most recently created stream(s).
1108      Reap closes those.  If either or both of the two streams hadn't
1109      been created at all yet, then reap will close the corresponding
1110      file descriptors directly.
1111    
1112    PS: I don't understand the original space leak argument anymore.  If
1113    a proc hangs on to the imperative stream, then I/O operations on those
1114    will advance the state of the cached stream and avoid the space leak.
1115    
1116    ----------------------------------------------------------------------
1117    Name: Matthias Blume (blume (at) tti - c (dot) org)
1118    Date: 2004/05/28 16:45:00 CDT
1119    Tag: blume-20040528-basis
1120    Description:
1121    
1122    Added signature PACK_REAL and exported functor PrimIO.
1123    
1124    ----------------------------------------------------------------------
1125    Name: Matthias Blume (blume (at) tti - c (dot) org)
1126    Date: 2004/05/25 16:00:00 CDT
1127    Tag: blume-20040525-group-owner
1128    Description:
1129    
1130    CM now ignores (but still accepts) the "owner" information in group
1131    descriptions.  The owner of a group is its next enclosing
1132    library. Each group must have a unique owner.  (There is a virtual
1133    "toplevel" library that owns groups which are not nested within a real
1134    library.)  Previously, each group had to explicitly declare its owner,
1135    and CM would check that such a declaration is correct.  The new scheme
1136    is to have CM check that for each group there is precisely one owning
1137    library.
1138    
1139    The advantage of the new scheme is that the programmer no longer needs
1140    to maintain the somewhat annoying owner information.  The downside is
1141    that CM cannot enforce the ownership rule across multiple runs of
1142    CM.make.  Fortunately, enclosing the same group in two different
1143    libraries A and B which are not part of the same program does not
1144    cause real problems.
1145    
1146    ----------------------------------------------------------------------
1147    Name: Matthias Blume (blume (at) tti - c (dot) org)
1148    Date: 2004/05/20 16:00:00 CDT
1149    Tag: blume-20040520-win32
1150    Description:
1151    
1152    Made the win32 version work again.  (Strangely, a misplaced comma had
1153    slipped into win32-process.c which prevented the runtime from being
1154    compiled correctly.)
1155    
1156    Also, included a minor addition to ml-build.bat analogous to what was
1157    done in blume-20040519-ml-build.
1158    
1159    ----------------------------------------------------------------------
1160    Name: Matthias Blume (blume (at) tti - c (dot) org)
1161    Date: 2004/05/19 22:10:00 CDT
1162    Tag: blume-20040519-ml-build
1163    Description:
1164    
1165    Arranged for ml-build to clean up after itself a little bit better.
1166    The script generates a temporary SML source file and compiles it using
1167    CM, so CM generates metadata (GUID, SKEL, objectfile) for it.  It now
1168    gets rid of those at the end, so they don't accumulate under .cm.
1169    
1170    This required a minor change to install.sh because the name of the
1171    metadata directory (default: .cm) is actually configurable at
1172    installation time.
1173    
1174    ----------------------------------------------------------------------
1175    Name: Matthias Blume (blume (at) tti - c (dot) org)
1176    Date: 2004/05/18 15:50:00 CDT
1177    Tag: blume-20040518-mkreader
1178    Description:
1179    
1180    Added Posix.IO.mk{Bin,Text}{Reader,Writer} by lifting their respective
1181    implementations from internal modules PosixBinPrimIO and PosixTextPrimIO.
1182    
1183    ----------------------------------------------------------------------
1184    Name: Matthias Blume (blume (at) tti - c (dot) org)
1185    Date: 2004/05/11 14:35:00 CDT
1186    Tag: blume-20040511-win32sock
1187    Description:
1188    
1189    Added previously missing support for many socket-related functions
1190    under win32.  Thanks to David Hansel <hansel@reactive-systems.com>
1191    for the voluminous patch!
1192    
1193    (I have not tested this patch under win32 yet.)
1194    
1195    Here is David's e-mail:
1196    
1197    Hi,
1198    
1199    Attached to this email you find a diff against sml/nj 110.45
1200    that will enable socket support under Windows.
1201    
1202    To apply the patch (using unix or cygwin)
1203    1) gunzip runtime.diff.gz
1204    2) "cd" into "src/runtime" in the source tree of a fresh
1205       110.45 installation.
1206    3) patch -p 1 < [your/path/to]runtime.diff
1207    
1208    The code compiles fine but has NOT yet been extensively tested.
1209    I only ran a few tests for basic socket client functionality
1210    (which worked fine).  Especially the functions that use ioctl
1211    are not tested at all and might not work (see below).
1212    
1213    I implemented this since we want to move to a newer version of sml/nj
1214    but need socket support in order to use it.  This is the first time I
1215    even had a look at the sml/nj source,  so please review my changes
1216    before making this part of the distribution!  Here are a few issues
1217    that I think might be better for someone to solve who is more
1218    familiar with the sml/nj source (and socket programming):
1219    
1220    - getnetbyaddr.c and getnetbyname.c will raise a "not implemented"
1221      exception since I could not figure out what the windows equivalent
1222      of these functions is
1223    
1224    - In sockets-osdep.h there are a some #include statements that are
1225      only used in a few files that include sockets-osdep.h
1226    
1227    - In smlnj-sock-lib.c, function init_fn() calls WSAStartup() but
1228      does not process its return value since I don't know how to
1229      report an error upwards.
1230    
1231    - It would probably be good to have a call to WSACleanup() when
1232      the library is unloaded (if there is such a possibility).
1233      Otherwise I think Windows will take care of this automatically
1234      when the process finishes.
1235    
1236    - I used ioctlsocket() as a replacement for ioctl() but I have
1237      no idea if that is actually the proper replacement on Windows.
1238    
1239    - All these issues are marked in the code by "FIXME" comments.
1240    
1241    We use sml/nj extensively in our products and are quite happy
1242    with it.  I hope this contribution will help you.
1243    
1244    Keep up the good work!
1245    
1246    David
1247    
1248    ----------------------------------------------------------------------
1249    Name: Matthias Blume (blume (at) tti - c (dot) org)
1250    Date: 2004/05/11 14:20:00 CDT
1251    Tag: blume-20040511-installml
1252    Description:
1253    
1254    Fixed two bugs in installml script.  (Thanks to Vesa A. Norrman for
1255    the patch.)
1256    
1257    ----------------------------------------------------------------------
1258    Name: Matthias Blume (blume (at) tti - c (dot) org)
1259    Date: 2004/05/11 14:05:00 CDT
1260    Tag: blume-20040511-nlffi-netbsd
1261    Description:
1262    
1263    Added support for nlffi under netbsd.  (Thanks to Vesa A. Norrman for
1264    the patch.)
1265    
1266    ----------------------------------------------------------------------
1267    Name: Matthias Blume (blume (at) tti - c (dot) org)
1268    Date: 2004/05/11 12:05:00 CDT
1269    Tag: blume-20040511-exports
1270    Description:
1271    
1272    As per request by Adam Chlipala <adam@hcoop.net>, extended various
1273    export lists in compiler-related .cm-files.
1274    
1275    ----------------------------------------------------------------------
1276    Name: Matthias Blume (blume (at) tti - c (dot) org)
1277    Date: 2004/05/11 11:35:00 CDT
1278    Tag: blume-20040511-allsource
1279    Description:
1280    
1281    The installer now honors the "src-smlnj" target again, although its meaning
1282    has changed from "all sources required for the compiler" to "all sources
1283    the installer knows about".  In other words, if you enable "src-smlnj"
1284    in the "targets" file, then the installer will pull in sources for
1285    everything.  (Notice that this refers to source code only.  Compiled
1286    code is still only installed for modules that were requested explicitly
1287    or which are required for other modules that were requested explicitly.)
1288    
1289    ----------------------------------------------------------------------
1290    Name: Matthias Blume (blume (at) tti - c (dot) org)
1291    Date: 2004/04/23 17:40:00 CDT
1292    Tag: blume-20040423-ieee-scan
1293    Description:
1294    
1295    Fixed IEEEReal.scan (and .fromString) so that if there is an overflow
1296    in the exponent calculation we get INF or ZERO (depending on the mantissa
1297    and the sign of the exponent).
1298    
1299    ----------------------------------------------------------------------
1300    Name: Matthias Blume (blume (at) tti - c (dot) org)
1301    Date: 2004/04/23 10:40:00 CDT
1302    Tag: blume-20040423-ml-build
1303    Description:
1304    
1305    The ml-build script now terminates with a non-0 status when something
1306    goes wrong.
1307    
1308    ----------------------------------------------------------------------
1309    Name: Matthias Blume (blume (at) tti - c (dot) org)
1310    Date: 2004/04/22 16:35:00 CDT
1311    Tag: blume-20040422-Option
1312    Description:
1313    
1314    Made exception Option to be the same as exception Option.Option
1315    (as it should be).
1316    
1317    ----------------------------------------------------------------------
1318    Name: Allen Leung (leunga (at) reservoir (dot) com)
1319    Date: 2004/03/19 14:40:00 EST
1320    Tag: leunga-20040319-cygwin-nlffi
1321    Description:
1322    
1323    Fixed the runtime so that ml-nlffi-lib runs on the cygwin version
1324    of SML/NJ.  The problem is that
1325    
1326       lib = dlopen(NULL, ...)
1327       f   = dlsym(lib, "malloc");
1328    
1329    does not work on Windows unless we explicitly export symbols
1330    such as 'malloc' during linking.  We fixed this by explicitly
1331    exporting the required symbols with the magic gcc incantation:
1332    
1333        -Wl,--export-all cygwin.def
1334    
1335    where cygwin.def is a file containing all the symbols that
1336    we wish to export.
1337    
1338    I suspect this is a Windows problem and we'll have to
1339    do the same (somehow with windows compilers) when
1340    we build the native win32 version with the system
1341    calls LoadLibrary/GetProcAddress.
1342    
1343    ----------------------------------------------------------------------
1344    Name: Matthias Blume (blume (at) tti - c (dot) org)
1345    Date: 2004/03/04 16:35:00 CST
1346    Tag: blume-20040304-intinf-fmt
1347    Description:
1348    
1349    Fixed problem with IntInf.fmt (sign would show up on the right instead
1350    of on the left for BIN, OCT, and HEX).
1351    
1352    ----------------------------------------------------------------------
1353    Name: Matthias Blume (blume (at) tti - c (dot) org)
1354    Date: 2004/03/04 11:25:00 CST
1355    Tag: blume-20040304-symlinks
1356    Description:
1357    
1358    Fixed problem with installer script (unix only) where bin/ml-yacc and
1359    friends pointed (via symlinks) to absolute locations instead of just
1360    .run-sml.  This was reported by Vesa A Norrman.
1361    
1362    ----------------------------------------------------------------------
1363    Name: Matthias Blume (blume (at) tti - c (dot) org)
1364    Date: 2004/02/13 14:50:00 CST
1365    Tag: Release_110_45
1366    Description:
1367    
1368    New working version (110.45). New bootfiles.
1369    
1370    ----------------------------------------------------------------------
1371    Name: Matthias Blume (blume (at) tti - c (dot) org)
1372    Date: 2004/01/26 15:15:15 CST
1373    Tag: blume-20040126-toplevel
1374    Description:
1375    
1376    Improved handling of exceptions at the interactive toplevel.
1377    
1378    ----------------------------------------------------------------------
1379    Name: Matthias Blume (blume (at) tti - c (dot) org)
1380    Date: 2004/01/26 11:25:00
1381    Tag: blume-20040126-app
1382    Description:
1383    
1384    Type of top-level "app" corrected.
1385    Added code for setting vp_limitPtrMask to Win32-specific runtime.
1386    
1387    ----------------------------------------------------------------------
1388    Name: Matthias Blume (blume (at) tti - c (dot) org)
1389    Date: 2003/11/18 17:10 CST
1390    Tag: blume-20031118-basis-fiddle
1391    Description:
1392    
1393    - changed Timer interface to what might become the spec
1394    - POSIX_FLAGS -> BIT_FLAGS according to spec
1395    - some other minor discrepancies wrt. spec eliminated
1396    
1397    ----------------------------------------------------------------------
1398    Name: Matthias Blume (blume (at) tti - c (dot) org)
1399    Date: 2003/11/06 12:00:00 CST
1400    Tag: Release_110_44
1401    Description:
1402    
1403    New working version (110.44). New bootfiles.
1404    
1405    ----------------------------------------------------------------------
1406    Name: Matthias Blume (blume (at) tti - c (dot) org)
1407    Date: 2003/11/04 11:50:00 CST
1408    Tag: blume-20031104-move-libraries
1409    Description:
1410    
1411    Eliminated the "dont_move_libraries" directive in config/targets.
1412    (The mechanism was broken and could not be fixed easily.  Moreover,
1413    there does not seem to be any reason not to move all libraries into
1414    lib during installation.  I originally implemented this directive as a
1415    backward-compatibility feature when I first introduced the new CM.
1416    Now that things have been stable for a long time and going back to the
1417    old CM is not an option, there is no reason to keep it around.)
1418    
1419    ----------------------------------------------------------------------
1420    Name: Matthias Blume (blume (at) tti - c (dot) org)
1421    Date: 2003/11/03 16:00:00 CST
1422    Tag: blume-20031103-installdir
1423    Description:
1424    
1425    Made installer honor INSTALLDIR variable again.  (Thanks to Chris
1426    Richards for pointing out the problem and providing the solution.)
1427    
1428    ----------------------------------------------------------------------
1429    Name: Matthias Blume (blume (at) tti - c (dot) org)
1430    Date: 2003/10/01 17:05:00 CDT
1431    Tag: blume-20031001-lal-mlrisc
1432    Description:
1433    
1434    MLRISC bug fix from Lal.
1435    
1436    ----------------------------------------------------------------------
1437    Name: Matthias Blume (blume (at) tti - c (dot) org)
1438    Date: 2003/09/30 16:10:00 CDT
1439    Tag: blume-20030930-primio-bat
1440    Description:
1441    
1442    1. Added openVector, nullRd, and nullWr to PRIM_IO.
1443    2. Improved .bat files (for Win32 port) to make things work under Win95.
1444       (thanks to Aaron S. Hawley for this one)
1445    
1446    ----------------------------------------------------------------------
1447    Name: Matthias Blume (blume (at) tti - c (dot) org)
1448    Date: 2003/09/26 16:05:00 CDT
1449    Tag: blume-20030926-wrappriv
1450    Description:
1451    
1452    Added missing wrapper for privilege "primitive" in $smlnj/viscomp/core.cm.
1453    
1454    ----------------------------------------------------------------------
1455    Name: Matthias Blume (blume (at) tti - c (dot) org)
1456    Date: 2003/09/26 15:00:00 CDT
1457    Tag: blume-20030926-110_43_3
1458    Description:
1459    
1460    - additional cleanup
1461    - version number bump, NEW BOOTFILES
1462    
1463    ----------------------------------------------------------------------
1464    Name: Matthias Blume (blume (at) tti - c (dot) org)
1465    Date: 2003/09/26 12:00:00 CDT
1466    Tag: blume-20030926-ppautoload
1467    Description:
1468    
1469    I modified the read-eval-print loop so that the autoloader gets
1470    invoked whenever the prettyprinter tries to look up a symbol that
1471    is not currently defined in the toplevel environment but which
1472    appears in CM's autoload registry.  As a result, we see far fewer of
1473    those ?.Foo.Bar.xxx names in the prettyprinter's output.
1474    
1475    In addition to this I tried to clean up some pieces of the Basis
1476    implementation (e.g., Socket, Word8Array) in order to prevent other
1477    instances of these ?.Foo.Bar.xxx names from being printed.
1478    
1479    The mechanism that picks names for types still needs some work, though.
1480    (Right now it seems that if there is a type A.t which is defined to
1481    be B.u, but B is unavailable at toplevel, then A.t gets printed as
1482    "?.B.u" although the perhaps more sensible solution would be to use
1483    "A.t" in this case.  In other words, the prettyprinter should follow
1484    a chain of DEFtycs not farther than there are corresponding toplevel
1485    names in the current environment.)
1486    
1487    ----------------------------------------------------------------------
1488    Name: Matthias Blume (blume (at) tti - c (dot) org)
1489    Date: 2003/09/24 16:31:00 CDT
1490    Tag: blume-20030924-installer
1491    Description:
1492    
1493    Another installer tweak:  All the ML code for the installer is now
1494    compiled during CMB.make and put into a little library called
1495    $smlnj/installer.cm.  The installation then simply invokes
1496    
1497       sml -m $smlnj/installer.cm
1498    
1499    and everything happens automagically.
1500    
1501    Win32:  ML code senses value of environment variable SMLNJ_HOME.
1502    Unix:   ML code senses values of environment variables ROOT, CONFIGDIR,
1503            and BINDIR.
1504    
1505    The new scheme guarantees that the ML code responsible for the installation
1506    is in sync with the APIs of the main system.  Also, the installer is
1507    somewhat faster because the installer script is precompiled.
1508    
1509    ----------------------------------------------------------------------
1510    Name: Matthias Blume (blume (at) tti - c (dot) org)
1511  Date: 2003/09/24 15:35:00 CDT  Date: 2003/09/24 15:35:00 CDT
1512  Tag: blume-20030924-synsock  Tag: blume-20030924-synsock
1513  Description:  Description:

Legend:
Removed from v.1390  
changed lines
  Added in v.1759

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