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/NOTES/HISTORY
ViewVC logotype

Diff of /sml/trunk/NOTES/HISTORY

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

revision 1494, Thu May 20 03:09:17 2004 UTC revision 1742, Tue Dec 21 21:04:01 2004 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: 2004/12/21 15:05:00 CST
18    Tag: blume-20041221-longlong
19    Description:
20    
21    * Implemented access to signed and unsigned long long data in NLFFI.
22    (The parameter-passing part of the picture has not complete. But
23    data structure access seems to work.)
24    
25    * Fixed CM's incorrect assumption that the PPC is little-endian.
26      (On the Mac, it is big-endian.  And that's currently our only
27      PPC platform.)
28    
29    ----------------------------------------------------------------------
30    Name: Matthias Blume (blume (at) tti - c (dot) org)
31    Date: 2004/12/21 12:50:00 CST
32    Tag: blume-20041221-memory
33    Description:
34    
35    Some cleanup in the $c/memory.cm library: separated some concerns by
36    moving allocation code and memory access code each into their own
37    files.
38    
39    ----------------------------------------------------------------------
40    Name: Allen Leung (leunga (at) reservoir (dot) com)
41    Date: 2004/12/17 16:12:00 EST
42    Tag: leunga-20041217-cygwin-smlnj-home
43    Description:
44    
45        The Unix I/O library of SML/NJ on cygwin does not understand
46    Windows style pathname, so problems arise when SMLNJ_HOME is set
47    to a Windows style pathname.  _run-sml now converts SMLNJ_HOME
48    to a POSIX pathname on cygwin.
49    
50    ----------------------------------------------------------------------
51    Name: Matthias Blume (blume (at) tti - c (dot) org)
52    Date: 2004/12/16 13:35:00 CST
53    Tag: Release_110_52
54    Description:
55    
56    Last-minute changes incorporated into 110.52.  Release tag moved.
57    
58    The changes:
59       - HashString.hashString' -> HashString.hashSubstring
60       - bug fix in UnivariateStats
61    
62    ----------------------------------------------------------------------
63    Name: Matthias Blume (blume (at) tti - c (dot) org)
64    Date: 2004/12/15 23:40:00 CST
65    Tag: blume-20041215-hashSubstring
66    Description:
67    
68    - HashString.hashString' -> HashString.hashSubstring
69    - corresponding changes in atom.sml
70    - "de-compressed" (aka. un-obfuscated) code for UnivariateStats and
71      added some comments
72    
73    ----------------------------------------------------------------------
74    Name: Matthias Blume (blume (at) tti - c (dot) org)
75    Date: 2004/12/15 15:30:00 CST
76    Tag: (Release_110_52)
77    Description:
78    
79    New working version (110.52).  NEW BOOTFILES!
80    
81    ----------------------------------------------------------------------
82    Name: Matthias Blume (blume (at) tti - c (dot) org)
83    Date: 2004/12/15 12:45:00 CST
84    Tag: blume-20041215-spaces
85    Description:
86    
87    More on the space problem (this time for Win32).
88    
89    ----------------------------------------------------------------------
90    Name: Matthias Blume (blume (at) tti - c (dot) org)
91    Date: 2004/12/14 17:30:00 CST
92    Tag: blume-20041214-spaces
93    Description:
94    
95    Hacked some of the scripts (in particular: the installer) to cope with
96    spaces in filenames a bit better.  But beware: the current "solution"
97    is likely still full of bugs and inherently incomplete.  (We need to
98    do away with those shell scripts for a comprehensive solution.)
99    
100    ----------------------------------------------------------------------
101    Name: Matthias Blume (blume (at) tti - c (dot) org)
102    Date: 2004/12/13 14:45:00 CST
103    Tag: blume-20041213-ml-makedepend
104    Description:
105    
106    Fixed bug in code for ml-makedepend.
107    
108    ----------------------------------------------------------------------
109    Name: Matthias Blume (blume (at) tti - c (dot) org)
110    Date: 2004/12/09 16:30:00 CST
111    Tag: blume-20041209-statistics
112    Description:
113    
114    Added two simple but potentially useful statistics modules to SML/NJ Library.
115    (See CHANGES file there.)
116    
117    ----------------------------------------------------------------------
118    Name: Matthias Blume (blume (at) tti - c (dot) org)
119    Date: 2004/12/01 16:50:00 CST
120    Tag: blume-20041201-atom
121    Description:
122    
123    smlnj-lib:
124    
125      Added function HashString.hashString' for substrings.
126      Hand-inlined CharVector.foldl into HashString (for speed).
127      Modified implementation of structure Atom to avoid extracting
128      strings from substrings unless necessary.
129      (Also see CHANGES file for smlnj-lib.)
130    
131    ----------------------------------------------------------------------
132    Name: Matthias Blume (blume (at) tti - c (dot) org)
133    Date: 2004/11/24 22:15:00 CST
134    Tag: blume-20041124-cml
135    Description:
136    
137    Made sure CML compiles when Position = Int64.
138    
139    ----------------------------------------------------------------------
140    Name: Matthias Blume (blume (at) tti - c (dot) org)
141    Date: 2004/11/24 14:30:00 CST
142    Tag: blume-20041124-position
143    Description:
144    
145    The compiler can now be compiled in a mode that makes structure Position
146    equal to Int64.  The default, however, is unchanged (Position = Int31)
147    for the time being.
148    
149    To enable 64-bit positions, use the following procedure:
150    
151    1. Start sml
152    2. Autoload $smlnj/cmb.cm (if not already autoloaded)
153    3. Type
154          #set (CMB.symval "USE_64_BIT_POSITIONS") (SOME 1);
155    4. Run CMB.make() as usual.
156    
157    This is barely tested.  The only test so far was a little SML program
158    counting the number of characters in an 8-gigabyte file by
159    reading it character-by-character.  That test was successful.
160    
161    In support of 64-bit positions, a number of new functions have been
162    added to the runtime system.
163    
164    ----------------------------------------------------------------------
165    Name: Matthias Blume (blume (at) tti - c (dot) org)
166    Date: 2004/11/23 14:45:00 CST
167    Tag: blume-20041123-useFile
168    Description:
169    
170    Fixed a problem with unhelpful error messages related to problems with
171    .cm- or .sml files that appear as part of the sml command line.
172    
173    ----------------------------------------------------------------------
174    Name: Matthias Blume (blume (at) tti - c (dot) org)
175    Date: 2004/11/18 15:40:00 CST
176    Tag: Release_110_51
177    Description:
178    
179    New working version (110.51).  NEW BOOTFILES!
180    
181    ----------------------------------------------------------------------
182    Name: Matthias Blume (blume (at) tti - c (dot) org)
183    Date: 2004/11/18 15:35:00 CST
184    Tag: <none>
185    Description:
186    
187    Enabled dlopen and friends for FreeBSD (as recommended by Johannes 5
188    Joemann).
189    
190    ----------------------------------------------------------------------
191    Name: Allen Leung (leunga (at) reservoir (dot) com)
192    Date: 2004/11/17 16:05:21 EST 2004
193    Tag: leunga-20041117-mlrisc-live-kill
194    Description:
195    
196       Added support for MLTree constructs LIVE and KILL
197    to all the architectures.
198    
199    ----------------------------------------------------------------------
200    Name: Matthias Blume (blume (at) tti - c (dot) org)
201    Date: 2004/11/13 00:20:00 CST
202    Tag: blume-20041113-versiontool
203    Description:
204    
205    - Stripped down the versiontool: It now only handles the version number.
206      The date string is generated at bootstrap time (during makeml).
207    
208    - In a previous commit, fixed a minor issue with how polyequal is being
209      translated.  In particular, the code now "looks through" abstractions.
210      This results in slightly fewer polyEqual warnings and hopefully slightly
211      more efficient code.  Important examples for where this matters are
212      the new int64 and word64 types.
213    
214    ----------------------------------------------------------------------
215    Name: Matthias Blume (blume (at) tti - c (dot) org)
216    Date: 2004/11/12 00:30:00 CST
217    Tag: blume-20041112-int64
218    Description:
219    
220    Structure Int64 fully hooked in.  (The implementation is not very
221    efficient, though.)
222    
223    ----------------------------------------------------------------------
224    Name: Matthias Blume (blume (at) tti - c (dot) org)
225    Date: 2004/11/11 17:30:00 CST
226    Tag: blume-20041111-more64
227    Description:
228    
229    All the pieces of Word64 are now there, with the exception of the
230    conversions from and to LargeWord. (Eventually these need to be identities,
231    but for the time being they don't even make sense because LargeWord is
232    32-bit wide.)
233    
234    Also started to add similar support for Int64, but major pieces of that
235    are still missing.
236    
237    ----------------------------------------------------------------------
238    Name: Matthias Blume (blume (at) tti - c (dot) org)
239    Date: 2004/11/11 00:15:00 CST
240    Tag: blume-20041111-word64
241    Description:
242    
243    Structure Word64 is now (almost) complete, word literals and patterns
244    seem to work.  There are a few odd pieces missing.  In particular,
245    I didn't do the {from,to}LargeWord parts because LargeWord is still Word32
246    at the moment.
247    
248    Making Word64 official would mean that LargeWord becomes Word64.  But
249    this requires extreme care because most word-word conversions have to
250    go through LargeWord, so making a mistake means loss of efficiency or
251    worse.  Eventually there will be a solution similar to (but actually
252    simpler than) what I did with IntInf.
253    
254    ----------------------------------------------------------------------
255    Name: Matthias Blume (blume (at) tti - c (dot) org)
256    Date: 2004/11/10 18:12:00 CST
257    Tag: blume-20041110-64bit
258    Description:
259    
260    More 64-bit hacking (but still not even half-way there yet).
261    Also, some assorted improvements to the handling of 8-bit words.
262    
263    ----------------------------------------------------------------------
264    Name: Matthias Blume (blume (at) tti - c (dot) org)
265    Date: 2004/11/09 17:50:00 CST
266    Tag: <none>
267    Description:
268    
269    Started adding some infrastructure for supporting 64-bit int- and
270    word-types.  (Still in its very early stages.)
271    
272    ----------------------------------------------------------------------
273    Name: Matthias Blume (blume (at) tti - c (dot) org)
274    Date: 2004/10/28 10:45:00 CDT
275    Tag: Release_110_50
276    Description:
277    
278    New working version (110.50).  NEW BOOTFILES!
279    
280                 =====================
281    
282    Also:
283    
284      - Changend config/srcarchiveurl from a file just
285        containing the URL string into a file containing
286        shell script code.  The code has access to the $VERSION variable.
287      - Made corresponding changes to config/install.sh and config/unpack.
288      - Default contents of config/srcarchiveurl uses $VERSION and
289        normally does not have to be edited to reflect a version change.
290    
291      (As a result, a version change can be done by just editing
292       config/version, the rest is now automatic.)
293    
294    ----------------------------------------------------------------------
295    Name: Matthias Blume (blume (at) tti - c (dot) org)
296    Date: 2004/10/27 17:50:00 CDT
297    Tag: blume-20041027-btrace-msg
298    Description:
299    
300    BackTrace.monitor now also reports the source of the exception that
301    triggered the trace.
302    
303    ----------------------------------------------------------------------
304    Name: Matthias Blume (blume (at) tti - c (dot) org)
305    Date: 2004/10/27 17:20:00 CDT
306    Tag: blume-20041027-x86-c-calls
307    Description:
308    
309    This is the HISTORY entry for two earlier commits, both concerning
310    the x86 c-calls code in MLRISC:
311    
312      - added a missing LOAD in the code that deals with struct arguments
313      - made sure the caller does not add the wrong number of bytes to the
314        stack pointer after a call of a function returning a struct
315        (the callee already pops the implicit argument which points to
316         the space reserved for the result)
317    
318    ----------------------------------------------------------------------
319    Name: Allen Leung (leunga (at) reservoir (dot) com)
320    Date: 2004/10/24 14:00:00 EST
321    Tag: leunga-20041024-x86-gas-fucomip
322    Description:
323    
324       John discovered a bug in the syntax of fucomip.
325       The opcodes FU?COMIP? have been changed to
326    
327           fu?comip? %st(i), %st
328    
329    ----------------------------------------------------------------------
330    Name: Matthias Blume (blume (at) tti - c (dot) org)
331    Date: 2004/10/20 15:06:00 CDT
332    Tag: blume-20041020-standalone-backtrace
333    Description:
334    
335    Added a mechanism for getting back-trace information from standalone
336    programs.  Here is how it works:
337    
338       1. The part of the program from which you want to get backtrace
339          information (usually the whole program) should be wrapped with
340          BackTrace.monitor.  This is a (unit->'a)->'a function, and your
341          main program could be modified from something like
342    
343             fun main (pgm, args) = ...
344    
345         to
346    
347            fun main (pgm, args) = BackTrace.monitor (fn () => ...)
348    
349       2. To be able to access BackTrace.monitor, you have to add
350          library $smlnj-tdp/plugins.cm to the .cm file that contains your
351          main function.
352    
353       3. Remove all compiled code (i.e., all the .cm/ subdirectories that
354          CM might have created in the past for your project).
355    
356       4. Build the system using this command line:
357    
358             ml-build -Ctdp.instrument=true \$smlnj-tdp/back-trace.cm \
359                      myprog.cm MyProg.main myprog
360    
361          instead of the usual
362    
363             ml-build myprog.cm MyProg.main myprog
364    
365    I changed a library name:
366    
367       $/trace-debug-profile.cm --> $smlnj-tdp/plugins.cm
368    
369    New libraries:
370    
371       $smlnj-tdp/back-trace.cm
372          -- when loaded causes the back-trace plugin to be installed
373       $smlnj-tdp/coverage.cm
374          -- when loaded causes the coverage plugin to be installed
375    
376    ----------------------------------------------------------------------
377    Name: Matthias Blume (blume (at) tti - c (dot) org)
378    Date: 2004/10/18 16:45:00 CDT
379    Tag: blume-20041018-groupowner
380    Description:
381    
382    Added an "obsolete" warning for the "group owner" syntax to CM's parser.
383    
384    Eliminated group owner specs from .cm files throughout the source tree.
385    
386    ----------------------------------------------------------------------
387    Name: Matthias Blume (blume (at) tti - c (dot) org)
388    Date: 2004/10/15 15:45:00 CDT
389    Tag: blume-20041015-coverage
390    Description:
391    
392    * Test coverage tool added!
393    * Further reorganization of tracing-, debugging-, and profiling support:
394    
395        - moved original BTImp -- now called BackTrace -- into a separate
396          library called $/trace-debug-profile.cm
397        - eliminated all mentions of BTrace from SMLofNJ.Internals
398        - only the instrumentation mechanism is now left in the compiler proper
399        - BackTrace module is a plugin which is NOT plugged in by default
400        - Coverage module is another such plugin
401    
402    To get the benefits of any of these plugin modules, the code in
403    question must be compiled with tdp instrumentation turned on.  This
404    can be done by setting SMLofNJ.Internals.TDP.mode to true.
405    (The ref cell is also controlled via the -Ctdp.instrument=... switch.)
406    
407    Plugins are selected at link time.  (Pre-compiled instrumented code
408    can be re-loaded with different plugins in effect.)  When an
409    instrumented module is linked, whatever plugins are at that time
410    enabled will come into effect for that module.
411    
412    To enable the back-trace plugin, load library $/trace-debug-profile.cm
413    and invoke BackTrace.install() (e.g., from the interactive prompt).
414    To enable the coverage plugin, load the same library and invoke
415    Coverage.install().
416    
417    Back-traces are generated automatically on uncaught exceptions and
418    when the code in question explicitly invokes BackTrace.trigger().
419    
420    Coverage (and execution frequency-) information must be queried
421    explicitly by calling Coverage.not_covered and Coverage.hot_spots.
422    
423    ----------------------------------------------------------------------
424    Name: Matthias Blume (blume (at) tti - c (dot) org)
425    Date: 2004/10/14 17:40:00 CDT
426    Tag: blume-20041014-tdp-core
427    Description:
428    
429    Snapshot of a significant overhaul of how the trace/debug/profile support
430    is hooked into the system (specifically: Core and SMLofNJ.Internals).
431    
432    ----------------------------------------------------------------------
433    Name: Matthias Blume (blume (at) tti - c (dot) org)
434    Date: 2004/10/13 16:34:00 CDT
435    Tag: blume-20041013-tdp
436    Description:
437    
438    Some rationalization of names:
439    
440       structure BTrace -> structure TDPInstrument
441       etc.
442    
443    This is is preparation of using the original back-trace
444    instrumentation for other purposes.  "TDP" stands for
445    Trace/Debug/Profile.
446    
447    The control flag controlling whether instrumentation is on or off is now
448    registered under a different name, so instead of running sml as
449    
450     sml -Cinstrument.btrace-mode=true
451    
452    one has to say
453    
454     sml -Ctdp.instrument=true
455    
456    ----------------------------------------------------------------------
457    Name: Matthias Blume (blume (at) tti - c (dot) org)
458    Date: 2004/10/11 16:37:00 CDT
459    Tag: blume-20041011-regions
460    Description:
461    
462    Made some minor modifications to elabcore.sml to have source regions
463    be propagated more tightly -- resulting in better (i.e., smaller)
464    regions being reported in error- and debug messages.
465    
466    ----------------------------------------------------------------------
467    Name: Matthias Blume (blume (at) tti - c (dot) org)
468    Date: 2004/10/08 22:50:00 CDT
469    Tag: blume-20041008-cmkw
470    Description:
471    
472    Fixed handling of keywords in .cm files: After seeing "is" the lexer
473    treats subsequent occurrences of "group", "library", "source", "is",
474    "*", and "-" as ordinary identifiers rather than keywords.
475    
476    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
477    is supposed to accept a tool argument called "source", but this did
478    not work because of the clash with the keyword.
479    
480    ----------------------------------------------------------------------
481    Name: Matthias Blume (blume (at) tti - c (dot) org)
482    Date: 2004/10/07 16:00:00 CDT
483    Tag: blume-20041007-cleanup
484    Description:
485    
486    Assorted cleanup work:
487    
488      - got rid of intstrmap in favor of using the library's
489        hash table implementation
490      - threw out most of the pathnames stuff, as it was not used anyway
491      - simplified tokentable implementation
492      - fixed some minor spelling errors
493    
494    ----------------------------------------------------------------------
495    Name: Matthias Blume (blume (at) tti - c (dot) org)
496    Date: 2004/10/06 15:15:15 CDT
497    Tag: blume-20041006-handler
498    Description:
499    
500    Cleaned up the absyn to reflect the invariant that HANDLE always
501    carries a FNexp as part of the type definition.  This eliminates some
502    superfluous sanity checks at runtime down the road.
503    
504    Some minor cleanup of the btrace code.
505    
506    ----------------------------------------------------------------------
507    Name: Matthias Blume (blume (at) tti - c (dot) org)
508    Date: 2004/10/01 10:20:30 CDT
509    Tag: blume-20041001-slave
510    Description:
511    
512    Added hack to make slave mode work in the presence of the version
513    tool.  (Still, since the master does two passes over the code for
514    CMB.make, the release number gets bumped twice when slaves are
515    attached.  I don't know if this is worth fixing...)
516    
517    ----------------------------------------------------------------------
518    Name: Matthias Blume (blume (at) tti - c (dot) org)
519    Date: 2004/09/30 10:55:00 CDT
520    Tag: blume-20040930-version
521    Description:
522    
523    * Moved the "version" magic into its own little library under
524      src/system/smlnj/internal.  This avoids expensive reconstruction of
525      a stable src/compiler/core.cm.
526    
527    * At the same time, structure CompilerVersion is now known as
528      structure SMLNJVersion.
529    
530    * Arranged for the version tool to NOT kick in when rebuilding the system
531      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
532      Also, loading the versiontool does not work when rebuilding the system
533      because CM is not properly initialized at that time.
534    
535    ----------------------------------------------------------------------
536    Name: Matthias Blume (blume (at) tti - c (dot) org)
537    Date: 2004/09/29 14:00:00 CDT
538    Tag: blume-20040929-autoversion
539    Description:
540    
541    Implemented some CM magic to have
542        file src/compiler/TopLevel/main/version.sml
543    generated automagically.
544    The version is taken from two files: config/version and config/release.
545    The first is expected to contain a two-part version number such as 110.49.
546    The second should contain a single number, but it may be missing.
547    
548    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
549    time the version tool is loaded (which is the first time you say CMB.make),
550    then the tool will increment the value stored in config/release every
551    time CMB.make is invoked.
552    
553    The binfile format is now insensitive to anything beyond the first
554    two components of a version number, so bumping the release does not render
555    binfiles incompatible.  Auto-bumping can be used to keep track of versions
556    during development without invalidating existing binfiles.
557    
558    In any case, every CMB.make updates the date information in version.sml.
559    (This is the date that is printed in the banner.)
560    
561    ----------------------------------------------------------------------
562    Name: Matthias Blume (blume (at) tti - c (dot) org)
563    Date: 2004/09/28 10:53:00 CDT
564    Tag: blume-20040928-controls
565    Description:
566    
567    Some cleanup of the controls code.
568    
569    ----------------------------------------------------------------------
570    Name: Matthias Blume (blume (at) tti - c (dot) org)
571    Date: 2004/09/27 22:08:00 CDT
572    Tag: blume-20040927-controls
573    Description:
574    
575    Added two pieces of functionality to the Controls interface:
576    
577    1.   val save'restore: 'a control -> unit -> unit
578    
579       grabs the current value of the control in stage 1 and restores it
580       in stage 2.
581    
582    2.   val set' : 'a control * 'a -> unit -> unit
583    
584       stores the given value into the control in stage 2 (i.e., delayed)
585       but does all error checking in stage 1.
586       (This is for string controls that need to do parse their argument --
587        something that might fail.  In some cases, notably in CM, one
588        already knows the intended argument but wants to delay the actual
589        assignment until a time when error recovery would be more difficult.)
590    
591    Changed the handling of controls in tool arguments to classes "sml" and
592    "lazysml":
593       - use Controls.save'restore as a more robust way of restoring the
594         old value (in particular: without having to re-parse the string)
595       - use controls to handle the "overload" keyword in the init group
596         (I believe this change actually fixes a long-standing obscure bug.)
597    
598    ----------------------------------------------------------------------
599    Name: Matthias Blume (blume (at) tti - c (dot) org)
600    Date: 2004/09/27 17:00:00 CDT
601    Tag: blume-20040927-lazysml
602    Description:
603    
604    Added a new tool class called "lazysml" to CM's tool chest.  The only
605    difference to "sml" is that compilation is done with Control.lazysml
606    set to true.  A source of class "lazysml" is automatically recognized
607    by a file name suffix of ".lml".
608    
609    In addition to the above feature, the original class "sml" now also
610    supports a tool argument "lazy" which has the same effect.  As a
611    result, the following three lines are equivalent:
612    
613        foo.sml : lazysml
614        foo.sml : sml (lazy)
615        foo.sml (lazy)
616    
617    The setting goes into effect both during parsing and during
618    compilation.  The original setting is restored right after parsing and
619    after compilation, respectively.
620    
621    In addition to all the above, there is also a general mechanism to set
622    ANY of the "controls" that are available at the command line via
623    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
624    apply as well. (In fact, "lazy" is implemented as a special case of
625    the general mechanism.)
626    
627    The .cm file syntax uses a new keyword tool argument called "with".
628    There are several ways of indicating the desired settings:
629    
630        foo.sml (with:parser.quotations=true)
631        foo.sml (with:(name:parser.quotations value:true))
632        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
633        foo.sml (with:(name1=value1 name2=value2 ...))
634        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
635    
636        etc.
637    
638    Another possible abbreviation is to leave out the =v or value:v part
639    if the name refers to a boolean control (in which case the value is
640    taken to be true).  Thus, one could get lazy sml also by saying:
641    
642        foo.sml (with:parser.lazy-keyword=true)
643        foo.sml (with:parser.lazy-keyword)
644        foo.sml (with:(name:parser.lazy-keyword value:true))
645        foo.sml (with:(name:parser.lazy-keyword))
646    
647    ----------------------------------------------------------------------
648    Name: Matthias Blume (blume (at) tti - c (dot) org)
649    Date: 2004/09/24 16:22:00 CDT
650    Tag: blume-20040924-ppc-long-branch
651    Description:
652    
653    Turned message about "emiting long form of branch" off by default.
654    Added a control flag to turn it back on when desired.
655    
656    ----------------------------------------------------------------------
657    Name: Matthias Blume (blume (at) tti - c (dot) org)
658    Date: 2004/09/24 16:05:00 CDT
659    Tag: blume-20040924-rounding
660    Description:
661    
662    Applied patch for setting rounding modes under Mac OS X.  Thanks to
663    Melissa O'Neill for providing the code!
664    
665    ----------------------------------------------------------------------
666    Name: Matthias Blume (blume (at) tti - c (dot) org)
667    Date: 2004/09/23 17:30:00 CDT
668    Tag: blume-20040923-envvars
669    Description:
670    
671    1. Changed definition of type ControlRegistry.registry_tree to
672       include control_info (i.e., the name of the controlling environment
673       variable).
674    
675    2. Added command-line flags -e and -E to print the names of environment
676       variables that can be used to control internal settings.
677       (This uses the new API mentioned in 1.)
678    
679    ----------------------------------------------------------------------
680    Name: Matthias Blume (blume (at) tti - c (dot) org)
681    Date: 2004/09/13 16:50:00 CDT
682    Tag: Release_110_49
683    Description:
684    
685    New working version (110.49).  NEW BOOTFILES!
686    
687    ----------------------------------------------------------------------
688    Name: Matthias Blume
689    Date: 2004/09/13 16:20:00 CDT
690    Tag: blume-20040913-config-mlrisc
691    Description:
692    
693    Put target "mlrisc" back into the default list.
694    (There is no harm in having it, and some users have expressed their
695    wish to have "mlrisc" included by default.)
696    
697    ----------------------------------------------------------------------
698    Name: John Reppy
699    Date: 2004/09/13
700    Tag: jhr-20040913-signals
701    Description:
702    
703    Fixed the signal masking code to properly nest mask/unmask operations
704    on a per-signal basis.
705    
706    ----------------------------------------------------------------------
707    Name: Matthias Blume (blume (at) tti - c (dot) org)
708    Date: 2004/09/08 13:20:00 CDT
709    Tag: blume-20040908-heap-magic
710    Description:
711    
712    Bumped the heap macig number to 0x09082004 to account for the changed
713    layout of the ML frame under MacOS X.
714    
715    ----------------------------------------------------------------------
716    Name: Allen Leung (leunga (at) reservoir (dot) com)
717    Date: 2004/09/03 11:26:00 EST
718    Tag: leunga-20040903-cygwin-install
719    Description:
720    
721       Added a patch to _arch-n-opsys to enable the Cygwin runtime.
722    The Cygwin runtime is turned on by setting the environment
723    variable SMLNJ_CYGWIN_RUNTIME to 1.
724    
725    ----------------------------------------------------------------------
726    Name: Matthias Blume (blume (at) tti - c (dot) org)
727    Date: 2004/08/31 17:15:00 CDT
728    Tag: blume-20040831-core
729    Description:
730    
731    Added some exports to src/compiler/core.cm upon request by J. Joemann.
732    
733    ----------------------------------------------------------------------
734    Name: Matthias Blume (blume (at) tti - c (dot) org)
735    Date: 2004/08/30 17:55:00 CDT
736    Tag: blume-20040830-installer
737    Description:
738    
739    Upon request by Johannes Joemann:
740    
741    - improved ML code of installer to fall back to coping when renaming
742      fails (i.e., when source and target are on different file systems);
743      the code compiles but has yet to be tested in anger
744    - removed mlrisc from list of default targets (config/targets)
745    
746    ----------------------------------------------------------------------
747    Name: Matthias Blume (blume (at) tti - c (dot) org)
748    Date: 2004/08/27 17:20:00 CDT
749    Tag: blume-20040827-ptreql
750    Description:
751    
752    Added ptreql primop to structure InlineT (upon request from Larry
753    Paulson).
754    
755    ----------------------------------------------------------------------
756    Name: Allen Leung (leunga (at) reservoir (dot) com)
757    Date: 2004/08/15 21:21:00 EST
758    Tag: leunga-110_48-udgraph
759    Description:
760    
761    Another bug fix from Carl Hauser:
762    
763    diff /net/niflab/smlnj48/src/MLRISC/graphs/udgraph.sml udgraph.sml
764    > 48c48
765    > <              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then es else
766    > e::L)
767    > ---
768    > >              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then L else e::L)
769    > Without this, any deletion of an edge in an undirected graph does severe
770    > violence to the graph.
771    
772    ----------------------------------------------------------------------
773    Name: Allen Leung (leunga (at) reservoir (dot) com)
774    Date: 2004/08/10 23:35:00 EST
775    Tag: leunga-110_48-ppc
776    Description:
777    
778       The IBM/MacOS syntax switch on PPC was incorrectly swapped.
779    
780    ----------------------------------------------------------------------
781    Name: Matthias Blume (blume (at) tti - c (dot) org)
782    Date: 2004/08/10 12:00:00 CDT
783    Tag: Release_110_48
784    Description:
785    
786    New working version (110.48).  NEW BOOTFILES!
787    
788    ----------------------------------------------------------------------
789    Name: Allen Leung (leunga (at) reservoir (dot) com)
790    Date: 2004/08/09 12:21:00 EST
791    Tag: leunga-110_47-dijsktra
792    Description:
793    
794    Bug fix from Carl Hauser:
795    
796    single_source_shortest_paths in dijkstra.sml was observed to get wrong
797    answers (by comparing to single_source_shortest_paths in bellman-ford.sml).
798    
799    The problem is that following the expression A.update(dist,s,Num.zero)
800    it is necessary to update the priority queue using Q.decreaseWeight(Q,s).
801    
802    ----------------------------------------------------------------------
803    Name: Matthias Blume (blume (at) tti - c (dot) org)
804    Date: 2004/08/06 18:10:00 CDT
805    Tag: blume-20040806-cmdline
806    Description:
807    
808    Fiddled with handling of command-line options:
809    
810      * sml now quits after processing the command line
811        if -H, -S, -h<n>, or -s<n> appears as the last
812        command-line argument
813      * a new option -q terminates the session when encountered on
814        the command line; subsequent arguments will be ignored
815      * bug fixes: short (erroneous) arguments are no longer ignored
816        completely
817    
818    ----------------------------------------------------------------------
819    Name: Allen Leung (leunga (at) reservoir (dot) com)
820    Date: 2004/08/04 18:17:00 EST
821    Tag: leunga-110_47-ppc-ibm-asm
822    Description:
823    
824      - Added minimal IBM assembly syntax support for PowerPC.
825    
826      - Cygwin: manually changed the file cygwin.def.  Some exported symbols have
827        been altered in the runtime.  We need an automatic way to keep the file
828        in sync.
829    
830    ----------------------------------------------------------------------
831    Name: Matthias Blume (blume (at) tti - c (dot) org)
832    Date: 2004/08/04 14:00:00 CDT
833    Tag: Release_110_47
834    Description:
835    
836    New working version (110.47).  NEW BOOTFILES!
837    
838    ----------------------------------------------------------------------
839    Name: Matthias Blume (blume (at) tti - c (dot) org)
840    Date: 2004/08/03 14:25:00 CDT
841    Tag: blume-20040803-callingconv
842    Description:
843    
844    Added low-level support for choosing C calling conventions by
845    twiddling the type of rawccall.  (See
846    src/compiler/Semant/types/cproto.sml for details.)
847    
848    ----------------------------------------------------------------------
849    Name: Matthias Blume (blume (at) tti - c (dot) org)
850    Date: 2004/08/02 15:55:00 CDT
851    Tag: blume-20040802-backout
852    Description:
853    
854    Backed out of change to win32-filesys.c.  The earlier patch to
855    get_file_time caused CM to produce files with the wrong time stamp.
856    
857    ----------------------------------------------------------------------
858    Name: Matthias Blume (blume (at) tti - c (dot) org)
859    Date: 2004/08/02 14:45:00 CDT
860    Tag: blume-20040802-nlffi-win32
861    Description:
862    
863    Added NLFFI support for Win32, adapted from a patch provided by David
864    Hansel.  This is currently completely untested.  Also, the issue
865    concerning stdcall vs. ccall is still unresolved.
866    
867    ----------------------------------------------------------------------
868    Name: Matthias Blume (blume (at) tti - c (dot) org)
869    Date: 2004/07/30 17:55:00 CDT
870    Tag: blume-20040730-various
871    Description:
872    
873    Gearing up towards 110.47...
874    
875    - various minor bugfixes to ml-nlffigen
876    - a beginning of a manual for nlffi
877    
878    - eliminated 'export name=value' in config/install.sh as this does
879      not work with certain versions of /bin/sh
880      (Thanks to David King at Motorola for catching this.)
881    
882    - several bugfixes provided or suggested by David Hansel at Reactive Systems:
883      - added a test for tm==NULL to gmtime.c and localtime.c
884      - applied patch for incorrect GetFileTime under win32
885      - toSeconds -> toMilliseconds in Win32/win32-process.sml
886    
887    ----------------------------------------------------------------------
888    Name: Matthias Blume (blume (at) tti - c (dot) org)
889    Date: 2004/07/21 18:20:00 CDT
890    Tag: blume-20040721-nlffigen
891    Description:
892    
893    - Fixed minor issue in ml-nlffigen: Now generate structure T_foo
894      for a typedef to an incomplete type, but leave out the "typ" member.
895      (This is just for consistency.)
896    - Started to produce what is supposed to become better (i.e., comprehensive)
897      documentation of what ml-nlffigen does and produces.
898    
899    ----------------------------------------------------------------------
900    Name: Matthias Blume (blume (at) tti - c (dot) org)
901    Date: 2004/07/14 16:25:00 CDT
902    Tag: blume-20040714-union
903    Description:
904    
905    Added C_UNION to c-calls/c-types.sml and updated the machinery
906    (ml-nlffigen, cproto.sml) that conveys C function interface
907    information to the code generator.
908    
909    However, the actual architecture-specific implementation of function
910    arguments and results that are C unions is still not implemented.
911    
912    ----------------------------------------------------------------------
913    Name: Allen Leung (leunga (at) reservoir (dot) com)
914    Date: 2004/07/14 14:38:00 EST
915    Tag: leunga-110_46_1-ppc-lwzu
916    Description:
917    
918        Added these instructions to the PowerPC architecture:
919        LBZU(X), LHZU(X), LWZU(X),
920        STWU(X), STFDU, STFSU
921    
922        etc...
923    
924        Note: I haven't added their instruction encoding into the description.
925    
926    ----------------------------------------------------------------------
927    Name: Allen Leung (leunga (at) reservoir (dot) com)
928    Date: 2004/07/13 15:04:00 EST
929    Tag: leunga-110_46_1-ppc-lwarx
930    Description:
931    
932       Added the two instructions LWARX and STWCX to the PowerPC
933    instruction set.
934    
935       A (untested) rewrite of loop-structure.sml.  The old version
936    is completely broken.
937    
938    ----------------------------------------------------------------------
939    Name: Matthias Blume (blume (at) tti - c (dot) org)
940    Date: 2004/07/13 13:50:00 CDT
941    Tag: blume-20040713-nlffi
942    Description:
943    
944    - use paramAlloc to report c-calls with too many arguments
945      (for PPC version where parameter area is pre-allocated)
946    - added ccall_maxargspace to machspec (to implement the above)
947    - made "make" commend in CM's "make" tool configurable
948    - added option (default: on) for passing the name of the SML/NJ's "bin"
949      directory to "make"; the call looks like this:
950    
951         make <options> SMLNJ_BINDIR=<dir> <target>
952    
953      This can be used by the Makefile to, e.g., pick the "right" version
954      of ml-nlffigen.
955    - minor code tweaks
956    
957    ----------------------------------------------------------------------
958    Name: Matthias Blume (blume (at) tti - c (dot) org)
959    Date: 2004/07/12 22:50:00 CDT
960    Tag: blume-110_46_1-macosx-nlffi
961    Description:
962    
963    NLFFI under Mac OS X now working (sort of).  This is largely untested,
964    though.
965    
966    Note:  1. You have to make a new, clean build of the runtime system.
967           2. There are new BOOTFILES, you have to use them!
968              (Doing the bootstrap process yourself would be *very* painful!
969               If you absolutely have to do it, build the system under
970               a different architecture and then cross-compile.)
971    
972    Version bumped to 110.46.1 to account for runtime data format changes.
973    
974    ----------------------------------------------------------------------
975    Name: Matthias Blume (blume (at) tti - c (dot) org)
976    Date: 2004/06/18 14:30:00 CDT
977    Tag: blume-20040618-unix
978    Description:
979    
980    Changed the implementation of structure Unix so that the same stream
981    is returned every time one of the {text,bin}{In,Out}streamOf functions
982    is invoked on the same proc.  This is not what the spec currently
983    says -- although IMO it arguably should.  (See discussion below.)
984    
985    ----------------------------------------------------------------------
986    Name: Matthias Blume (blume (at) tti - c (dot) org)
987    Date: 2004/06/17 18:15:00 CDT
988    Tag: Release_110_46
989    Description:
990    
991    New working version (110.46).  NEW BOOTFILES!
992    
993    ----------------------------------------------------------------------
994    Name: Matthias Blume (blume (at) tti - c (dot) org)
995    Date: 2004/06/17 17:20:00 CDT
996    Tag: blume-20040617-timer-unix
997    Description:
998    
999    Changed the interface of structures Timer and Unix to match the most
1000    recent Basis spec.
1001    
1002    In the case of Unix there still seems to be an open/weird issue:
1003    
1004       The {text,bin}{In,Out}streamOf functions are supposed to create
1005       fresh streams whenever they are called -- as opposed to have them
1006       return the same stream every time.  This design is supposed to
1007       prevent space leaks caused by proc values hanging on to streams.
1008    
1009       The reap function, on the other hand, is supposed to close the
1010       streams.  This cannot be done without having a handle on the
1011       stream in proc after all...
1012    
1013    I took the liberty to implement the following stopgap solution:
1014    
1015      The proc value hangs on to the most recently created stream(s).
1016      Reap closes those.  If either or both of the two streams hadn't
1017      been created at all yet, then reap will close the corresponding
1018      file descriptors directly.
1019    
1020    PS: I don't understand the original space leak argument anymore.  If
1021    a proc hangs on to the imperative stream, then I/O operations on those
1022    will advance the state of the cached stream and avoid the space leak.
1023    
1024    ----------------------------------------------------------------------
1025    Name: Matthias Blume (blume (at) tti - c (dot) org)
1026    Date: 2004/05/28 16:45:00 CDT
1027    Tag: blume-20040528-basis
1028    Description:
1029    
1030    Added signature PACK_REAL and exported functor PrimIO.
1031    
1032    ----------------------------------------------------------------------
1033    Name: Matthias Blume (blume (at) tti - c (dot) org)
1034    Date: 2004/05/25 16:00:00 CDT
1035    Tag: blume-20040525-group-owner
1036    Description:
1037    
1038    CM now ignores (but still accepts) the "owner" information in group
1039    descriptions.  The owner of a group is its next enclosing
1040    library. Each group must have a unique owner.  (There is a virtual
1041    "toplevel" library that owns groups which are not nested within a real
1042    library.)  Previously, each group had to explicitly declare its owner,
1043    and CM would check that such a declaration is correct.  The new scheme
1044    is to have CM check that for each group there is precisely one owning
1045    library.
1046    
1047    The advantage of the new scheme is that the programmer no longer needs
1048    to maintain the somewhat annoying owner information.  The downside is
1049    that CM cannot enforce the ownership rule across multiple runs of
1050    CM.make.  Fortunately, enclosing the same group in two different
1051    libraries A and B which are not part of the same program does not
1052    cause real problems.
1053    
1054    ----------------------------------------------------------------------
1055    Name: Matthias Blume (blume (at) tti - c (dot) org)
1056    Date: 2004/05/20 16:00:00 CDT
1057    Tag: blume-20040520-win32
1058    Description:
1059    
1060    Made the win32 version work again.  (Strangely, a misplaced comma had
1061    slipped into win32-process.c which prevented the runtime from being
1062    compiled correctly.)
1063    
1064    Also, included a minor addition to ml-build.bat analogous to what was
1065    done in blume-20040519-ml-build.
1066    
1067    ----------------------------------------------------------------------
1068    Name: Matthias Blume (blume (at) tti - c (dot) org)
1069  Date: 2004/05/19 22:10:00 CDT  Date: 2004/05/19 22:10:00 CDT
1070  Tag: blume-20040519-ml-build  Tag: blume-20040519-ml-build
1071  Description:  Description:

Legend:
Removed from v.1494  
changed lines
  Added in v.1742

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