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 1479, Thu Apr 22 21:37:35 2004 UTC revision 1644, Sat Oct 9 03:50:36 2004 UTC
# Line 7  Line 7 
7    
8  The form of an entry should be:  The form of an entry should be:
9    
10    Name:
11    Date: yyyy/mm/dd
12    Tag: <post-commit CVS tag>
13    Description:
14    
15    ----------------------------------------------------------------------
16    Name: Matthias Blume (blume (at) tti - c (dot) org)
17    Date: 2004/10/08 22:50:00 CDT
18    Tag: blume-20041008-cmkw
19    Description:
20    
21    Fixed handling of keywords in .cm files: After seeing "is" the lexer
22    treats subsequent occurrences of "group", "library", "source", "is",
23    "*", and "-" as ordinary identifiers rather than keywords.
24    
25    Most seriously, this fixes a problem with CM's "shell" tool.  The tool
26    is supposed to accept a tool argument called "source", but this did
27    not work because of the clash with the keyword.
28    
29    ----------------------------------------------------------------------
30    Name: Matthias Blume (blume (at) tti - c (dot) org)
31    Date: 2004/10/07 16:00:00 CDT
32    Tag: blume-20041007-cleanup
33    Description:
34    
35    Assorted cleanup work:
36    
37      - got rid of intstrmap in favor of using the library's
38        hash table implementation
39      - threw out most of the pathnames stuff, as it was not used anyway
40      - simplified tokentable implementation
41      - fixed some minor spelling errors
42    
43    ----------------------------------------------------------------------
44    Name: Matthias Blume (blume (at) tti - c (dot) org)
45    Date: 2004/10/06 15:15:15 CDT
46    Tag: blume-20041006-handler
47    Description:
48    
49    Cleaned up the absyn to reflect the invariant that HANDLE always
50    carries a FNexp as part of the type definition.  This eliminates some
51    superfluous sanity checks at runtime down the road.
52    
53    Some minor cleanup of the btrace code.
54    
55    ----------------------------------------------------------------------
56    Name: Matthias Blume (blume (at) tti - c (dot) org)
57    Date: 2004/10/01 10:20:30 CDT
58    Tag: blume-20041001-slave
59    Description:
60    
61    Added hack to make slave mode work in the presence of the version
62    tool.  (Still, since the master does two passes over the code for
63    CMB.make, the release number gets bumped twice when slaves are
64    attached.  I don't know if this is worth fixing...)
65    
66    ----------------------------------------------------------------------
67    Name: Matthias Blume (blume (at) tti - c (dot) org)
68    Date: 2004/09/30 10:55:00 CDT
69    Tag: blume-20040930-version
70    Description:
71    
72    * Moved the "version" magic into its own little library under
73    src/system/smlnj/internal.  This avoids expensive reconstruction
74    of a stable src/compiler/core.cm.
75    
76    * At the same time, structure CompilerVersion is now known as structure
77    SMLNJVersion.
78    
79    * Arranged for the version tool to NOT kick in when rebuilding the system
80      (makeml -rebuild, fixpt).  Otherwise one would never reach a fixpoint.
81      Also, loading the versiontool does not work when rebuilding the system
82      because CM is not properly initialized at that time.
83    
84    ----------------------------------------------------------------------
85    Name: Matthias Blume (blume (at) tti - c (dot) org)
86    Date: 2004/09/29 14:00:00 CDT
87    Tag: blume-20040929-autoversion
88    Description:
89    
90    Implemented some CM magic to have
91        file src/compiler/TopLevel/main/version.sml
92    generated automagically.
93    The version is taken from two files: config/version and config/release.
94    The first is expected to contain a two-part version number such as 110.49.
95    The second should contain a single number, but it may be missing.
96    
97    If the environment variable VERSIONTOOL_BUMP_RELEASE is defined at the
98    time the version tool is loaded (which is the first time you say CMB.make),
99    then the tool will increment the value stored in config/release every
100    time CMB.make is invoked.
101    
102    The binfile format is now insensitive to anything beyond the first
103    two components of a version number, so bumping the release does not render
104    binfiles incompatible.  Auto-bumping can be used to keep track of versions
105    during development without invalidating existing binfiles.
106    
107    In any case, every CMB.make updates the date information in version.sml.
108    (This is the date that is printed in the banner.)
109    
110    ----------------------------------------------------------------------
111    Name: Matthias Blume (blume (at) tti - c (dot) org)
112    Date: 2004/09/28 10:53:00 CDT
113    Tag: blume-20040928-controls
114    Description:
115    
116    Some cleanup of the controls code.
117    
118    ----------------------------------------------------------------------
119    Name: Matthias Blume (blume (at) tti - c (dot) org)
120    Date: 2004/09/27 22:08:00 CDT
121    Tag: blume-20040927-controls
122    Description:
123    
124    Added two pieces of functionality to the Controls interface:
125    
126    1.   val save'restore: 'a control -> unit -> unit
127    
128       grabs the current value of the control in stage 1 and restores it
129       in stage 2.
130    
131    2.   val set' : 'a control * 'a -> unit -> unit
132    
133       stores the given value into the control in stage 2 (i.e., delayed)
134       but does all error checking in stage 1.
135       (This is for string controls that need to do parse their argument --
136        something that might fail.  In some cases, notably in CM, one
137        already knows the intended argument but wants to delay the actual
138        assignment until a time when error recovery would be more difficult.)
139    
140    Changed the handling of controls in tool arguments to classes "sml" and
141    "lazysml":
142       - use Controls.save'restore as a more robust way of restoring the
143         old value (in particular: without having to re-parse the string)
144       - use controls to handle the "overload" keyword in the init group
145         (I believe this change actually fixes a long-standing obscure bug.)
146    
147    ----------------------------------------------------------------------
148    Name: Matthias Blume (blume (at) tti - c (dot) org)
149    Date: 2004/09/27 17:00:00 CDT
150    Tag: blume-20040927-lazysml
151    Description:
152    
153    Added a new tool class called "lazysml" to CM's tool chest.  The only
154    difference to "sml" is that compilation is done with Control.lazysml
155    set to true.  A source of class "lazysml" is automatically recognized
156    by a file name suffix of ".lml".
157    
158    In addition to the above feature, the original class "sml" now also
159    supports a tool argument "lazy" which has the same effect.  As a
160    result, the following three lines are equivalent:
161    
162        foo.sml : lazysml
163        foo.sml : sml (lazy)
164        foo.sml (lazy)
165    
166    The setting goes into effect both during parsing and during
167    compilation.  The original setting is restored right after parsing and
168    after compilation, respectively.
169    
170    In addition to all the above, there is also a general mechanism to set
171    ANY of the "controls" that are available at the command line via
172    "-C..." on a per-sml-file basis.  The same rules that apply for "lazy"
173    apply as well. (In fact, "lazy" is implemented as a special case of
174    the general mechanism.)
175    
176    The .cm file syntax uses a new keyword tool argument called "with".
177    There are several ways of indicating the desired settings:
178    
179        foo.sml (with:parser.quotations=true)
180        foo.sml (with:(name:parser.quotations value:true))
181        foo.sml (with:(name:name1 value:value1 name:name2 value:value2 ...))
182        foo.sml (with:(name1=value1 name2=value2 ...))
183        foo.sml (with:(name1=value1 name:name2 value:value2 name3=value3 ...))
184    
185        etc.
186    
187    Another possible abbreviation is to leave out the =v or value:v part
188    if the name refers to a boolean control (in which case the value is
189    taken to be true).  Thus, one could get lazy sml also by saying:
190    
191        foo.sml (with:parser.lazy-keyword=true)
192        foo.sml (with:parser.lazy-keyword)
193        foo.sml (with:(name:parser.lazy-keyword value:true))
194        foo.sml (with:(name:parser.lazy-keyword))
195    
196    ----------------------------------------------------------------------
197    Name: Matthias Blume (blume (at) tti - c (dot) org)
198    Date: 2004/09/24 16:22:00 CDT
199    Tag: blume-20040924-ppc-long-branch
200    Description:
201    
202    Turned message about "emiting long form of branch" off by default.
203    Added a control flag to turn it back on when desired.
204    
205    ----------------------------------------------------------------------
206    Name: Matthias Blume (blume (at) tti - c (dot) org)
207    Date: 2004/09/24 16:05:00 CDT
208    Tag: blume-20040924-rounding
209    Description:
210    
211    Applied patch for setting rounding modes under Mac OS X.  Thanks to
212    Melissa O'Neill for providing the code!
213    
214    ----------------------------------------------------------------------
215    Name: Matthias Blume (blume (at) tti - c (dot) org)
216    Date: 2004/09/23 17:30:00 CDT
217    Tag: blume-20040923-envvars
218    Description:
219    
220    1. Changed definition of type ControlRegistry.registry_tree to
221       include control_info (i.e., the name of the controlling environment
222       variable).
223    
224    2. Added command-line flags -e and -E to print the names of environment
225       variables that can be used to control internal settings.
226       (This uses the new API mentioned in 1.)
227    
228    ----------------------------------------------------------------------
229    Name: Matthias Blume (blume (at) tti - c (dot) org)
230    Date: 2004/09/13 16:50:00 CDT
231    Tag: Release_110_49
232    Description:
233    
234    New working version (110.49).  NEW BOOTFILES!
235    
236    ----------------------------------------------------------------------
237    Name: Matthias Blume
238    Date: 2004/09/13 16:20:00 CDT
239    Tag: blume-20040913-config-mlrisc
240    Description:
241    
242    Put target "mlrisc" back into the default list.
243    (There is no harm in having it, and some users have expressed their
244    wish to have "mlrisc" included by default.)
245    
246    ----------------------------------------------------------------------
247    Name: John Reppy
248    Date: 2004/09/13
249    Tag: jhr-20040913-signals
250    Description:
251    
252    Fixed the signal masking code to properly nest mask/unmask operations
253    on a per-signal basis.
254    
255    ----------------------------------------------------------------------
256    Name: Matthias Blume (blume (at) tti - c (dot) org)
257    Date: 2004/09/08 13:20:00 CDT
258    Tag: blume-20040908-heap-magic
259    Description:
260    
261    Bumped the heap macig number to 0x09082004 to account for the changed
262    layout of the ML frame under MacOS X.
263    
264    ----------------------------------------------------------------------
265    Name: Allen Leung (leunga (at) reservoir (dot) com)
266    Date: 2004/09/03 11:26:00 EST
267    Tag: leunga-20040903-cygwin-install
268    Description:
269    
270       Added a patch to _arch-n-opsys to enable the Cygwin runtime.
271    The Cygwin runtime is turned on by setting the environment
272    variable SMLNJ_CYGWIN_RUNTIME to 1.
273    
274    ----------------------------------------------------------------------
275    Name: Matthias Blume (blume (at) tti - c (dot) org)
276    Date: 2004/08/31 17:15:00 CDT
277    Tag: blume-20040831-core
278    Description:
279    
280    Added some exports to src/compiler/core.cm upon request by J. Joemann.
281    
282    ----------------------------------------------------------------------
283    Name: Matthias Blume (blume (at) tti - c (dot) org)
284    Date: 2004/08/30 17:55:00 CDT
285    Tag: blume-20040830-installer
286    Description:
287    
288    Upon request by Johannes Joemann:
289    
290    - improved ML code of installer to fall back to coping when renaming
291      fails (i.e., when source and target are on different file systems);
292      the code compiles but has yet to be tested in anger
293    - removed mlrisc from list of default targets (config/targets)
294    
295    ----------------------------------------------------------------------
296    Name: Matthias Blume (blume (at) tti - c (dot) org)
297    Date: 2004/08/27 17:20:00 CDT
298    Tag: blume-20040827-ptreql
299    Description:
300    
301    Added ptreql primop to structure InlineT (upon request from Larry
302    Paulson).
303    
304    ----------------------------------------------------------------------
305    Name: Allen Leung (leunga (at) reservoir (dot) com)
306    Date: 2004/08/15 21:21:00 EST
307    Tag: leunga-110_48-udgraph
308    Description:
309    
310    Another bug fix from Carl Hauser:
311    
312    diff /net/niflab/smlnj48/src/MLRISC/graphs/udgraph.sml udgraph.sml
313    > 48c48
314    > <              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then es else
315    > e::L)
316    > ---
317    > >              | rmv((e as (k,_))::es,L) = rmv(es,if k = i then L else e::L)
318    > Without this, any deletion of an edge in an undirected graph does severe
319    > violence to the graph.
320    
321    ----------------------------------------------------------------------
322    Name: Allen Leung (leunga (at) reservoir (dot) com)
323    Date: 2004/08/10 23:35:00 EST
324    Tag: leunga-110_48-ppc
325    Description:
326    
327       The IBM/MacOS syntax switch on PPC was incorrectly swapped.
328    
329    ----------------------------------------------------------------------
330    Name: Matthias Blume (blume (at) tti - c (dot) org)
331    Date: 2004/08/10 12:00:00 CDT
332    Tag: Release_110_48
333    Description:
334    
335    New working version (110.48).  NEW BOOTFILES!
336    
337    ----------------------------------------------------------------------
338    Name: Allen Leung (leunga (at) reservoir (dot) com)
339    Date: 2004/08/09 12:21:00 EST
340    Tag: leunga-110_47-dijsktra
341    Description:
342    
343    Bug fix from Carl Hauser:
344    
345    single_source_shortest_paths in dijkstra.sml was observed to get wrong
346    answers (by comparing to single_source_shortest_paths in bellman-ford.sml).
347    
348    The problem is that following the expression A.update(dist,s,Num.zero)
349    it is necessary to update the priority queue using Q.decreaseWeight(Q,s).
350    
351    ----------------------------------------------------------------------
352    Name: Matthias Blume (blume (at) tti - c (dot) org)
353    Date: 2004/08/06 18:10:00 CDT
354    Tag: blume-20040806-cmdline
355    Description:
356    
357    Fiddled with handling of command-line options:
358    
359      * sml now quits after processing the command line
360        if -H, -S, -h<n>, or -s<n> appears as the last
361        command-line argument
362      * a new option -q terminates the session when encountered on
363        the command line; subsequent arguments will be ignored
364      * bug fixes: short (erroneous) arguments are no longer ignored
365        completely
366    
367    ----------------------------------------------------------------------
368    Name: Allen Leung (leunga (at) reservoir (dot) com)
369    Date: 2004/08/04 18:17:00 EST
370    Tag: leunga-110_47-ppc-ibm-asm
371    Description:
372    
373      - Added minimal IBM assembly syntax support for PowerPC.
374    
375      - Cygwin: manually changed the file cygwin.def.  Some exported symbols have
376        been altered in the runtime.  We need an automatic way to keep the file
377        in sync.
378    
379    ----------------------------------------------------------------------
380    Name: Matthias Blume (blume (at) tti - c (dot) org)
381    Date: 2004/08/04 14:00:00 CDT
382    Tag: Release_110_47
383    Description:
384    
385    New working version (110.47).  NEW BOOTFILES!
386    
387    ----------------------------------------------------------------------
388    Name: Matthias Blume (blume (at) tti - c (dot) org)
389    Date: 2004/08/03 14:25:00 CDT
390    Tag: blume-20040803-callingconv
391    Description:
392    
393    Added low-level support for choosing C calling conventions by
394    twiddling the type of rawccall.  (See
395    src/compiler/Semant/types/cproto.sml for details.)
396    
397    ----------------------------------------------------------------------
398    Name: Matthias Blume (blume (at) tti - c (dot) org)
399    Date: 2004/08/02 15:55:00 CDT
400    Tag: blume-20040802-backout
401    Description:
402    
403    Backed out of change to win32-filesys.c.  The earlier patch to
404    get_file_time caused CM to produce files with the wrong time stamp.
405    
406    ----------------------------------------------------------------------
407    Name: Matthias Blume (blume (at) tti - c (dot) org)
408    Date: 2004/08/02 14:45:00 CDT
409    Tag: blume-20040802-nlffi-win32
410    Description:
411    
412    Added NLFFI support for Win32, adapted from a patch provided by David
413    Hansel.  This is currently completely untested.  Also, the issue
414    concerning stdcall vs. ccall is still unresolved.
415    
416    ----------------------------------------------------------------------
417    Name: Matthias Blume (blume (at) tti - c (dot) org)
418    Date: 2004/07/30 17:55:00 CDT
419    Tag: blume-20040730-various
420    Description:
421    
422    Gearing up towards 110.47...
423    
424    - various minor bugfixes to ml-nlffigen
425    - a beginning of a manual for nlffi
426    
427    - eliminated 'export name=value' in config/install.sh as this does
428      not work with certain versions of /bin/sh
429      (Thanks to David King at Motorola for catching this.)
430    
431    - several bugfixes provided or suggested by David Hansel at Reactive Systems:
432      - added a test for tm==NULL to gmtime.c and localtime.c
433      - applied patch for incorrect GetFileTime under win32
434      - toSeconds -> toMilliseconds in Win32/win32-process.sml
435    
436    ----------------------------------------------------------------------
437    Name: Matthias Blume (blume (at) tti - c (dot) org)
438    Date: 2004/07/21 18:20:00 CDT
439    Tag: blume-20040721-nlffigen
440    Description:
441    
442    - Fixed minor issue in ml-nlffigen: Now generate structure T_foo
443      for a typedef to an incomplete type, but leave out the "typ" member.
444      (This is just for consistency.)
445    - Started to produce what is supposed to become better (i.e., comprehensive)
446      documentation of what ml-nlffigen does and produces.
447    
448    ----------------------------------------------------------------------
449    Name: Matthias Blume (blume (at) tti - c (dot) org)
450    Date: 2004/07/14 16:25:00 CDT
451    Tag: blume-20040714-union
452    Description:
453    
454    Added C_UNION to c-calls/c-types.sml and updated the machinery
455    (ml-nlffigen, cproto.sml) that conveys C function interface
456    information to the code generator.
457    
458    However, the actual architecture-specific implementation of function
459    arguments and results that are C unions is still not implemented.
460    
461    ----------------------------------------------------------------------
462    Name: Allen Leung (leunga (at) reservoir (dot) com)
463    Date: 2004/07/14 14:38:00 EST
464    Tag: leunga-110_46_1-ppc-lwzu
465    Description:
466    
467        Added these instructions to the PowerPC architecture:
468        LBZU(X), LHZU(X), LWZU(X),
469        STWU(X), STFDU, STFSU
470    
471        etc...
472    
473        Note: I haven't added their instruction encoding into the description.
474    
475    ----------------------------------------------------------------------
476    Name: Allen Leung (leunga (at) reservoir (dot) com)
477    Date: 2004/07/13 15:04:00 EST
478    Tag: leunga-110_46_1-ppc-lwarx
479    Description:
480    
481       Added the two instructions LWARX and STWCX to the PowerPC
482    instruction set.
483    
484       A (untested) rewrite of loop-structure.sml.  The old version
485    is completely broken.
486    
487    ----------------------------------------------------------------------
488    Name: Matthias Blume (blume (at) tti - c (dot) org)
489    Date: 2004/07/13 13:50:00 CDT
490    Tag: blume-20040713-nlffi
491    Description:
492    
493    - use paramAlloc to report c-calls with too many arguments
494      (for PPC version where parameter area is pre-allocated)
495    - added ccall_maxargspace to machspec (to implement the above)
496    - made "make" commend in CM's "make" tool configurable
497    - added option (default: on) for passing the name of the SML/NJ's "bin"
498      directory to "make"; the call looks like this:
499    
500         make <options> SMLNJ_BINDIR=<dir> <target>
501    
502      This can be used by the Makefile to, e.g., pick the "right" version
503      of ml-nlffigen.
504    - minor code tweaks
505    
506    ----------------------------------------------------------------------
507    Name: Matthias Blume (blume (at) tti - c (dot) org)
508    Date: 2004/07/12 22:50:00 CDT
509    Tag: blume-110_46_1-macosx-nlffi
510    Description:
511    
512    NLFFI under Mac OS X now working (sort of).  This is largely untested,
513    though.
514    
515    Note:  1. You have to make a new, clean build of the runtime system.
516           2. There are new BOOTFILES, you have to use them!
517              (Doing the bootstrap process yourself would be *very* painful!
518               If you absolutely have to do it, build the system under
519               a different architecture and then cross-compile.)
520    
521    Version bumped to 110.46.1 to account for runtime data format changes.
522    
523    ----------------------------------------------------------------------
524    Name: Matthias Blume (blume (at) tti - c (dot) org)
525    Date: 2004/06/18 14:30:00 CDT
526    Tag: blume-20040618-unix
527    Description:
528    
529    Changed the implementation of structure Unix so that the same stream
530    is returned every time one of the {text,bin}{In,Out}streamOf functions
531    is invoked on the same proc.  This is not what the spec currently
532    says -- although IMO it arguably should.  (See discussion below.)
533    
534    ----------------------------------------------------------------------
535    Name: Matthias Blume (blume (at) tti - c (dot) org)
536    Date: 2004/06/17 18:15:00 CDT
537    Tag: Release_110_46
538    Description:
539    
540    New working version (110.46).  NEW BOOTFILES!
541    
542    ----------------------------------------------------------------------
543    Name: Matthias Blume (blume (at) tti - c (dot) org)
544    Date: 2004/06/17 17:20:00 CDT
545    Tag: blume-20040617-timer-unix
546    Description:
547    
548    Changed the interface of structures Timer and Unix to match the most
549    recent Basis spec.
550    
551    In the case of Unix there still seems to be an open/weird issue:
552    
553       The {text,bin}{In,Out}streamOf functions are supposed to create
554       fresh streams whenever they are called -- as opposed to have them
555       return the same stream every time.  This design is supposed to
556       prevent space leaks caused by proc values hanging on to streams.
557    
558       The reap function, on the other hand, is supposed to close the
559       streams.  This cannot be done without having a handle on the
560       stream in proc after all...
561    
562    I took the liberty to implement the following stopgap solution:
563    
564      The proc value hangs on to the most recently created stream(s).
565      Reap closes those.  If either or both of the two streams hadn't
566      been created at all yet, then reap will close the corresponding
567      file descriptors directly.
568    
569    PS: I don't understand the original space leak argument anymore.  If
570    a proc hangs on to the imperative stream, then I/O operations on those
571    will advance the state of the cached stream and avoid the space leak.
572    
573    ----------------------------------------------------------------------
574    Name: Matthias Blume (blume (at) tti - c (dot) org)
575    Date: 2004/05/28 16:45:00 CDT
576    Tag: blume-20040528-basis
577    Description:
578    
579    Added signature PACK_REAL and exported functor PrimIO.
580    
581    ----------------------------------------------------------------------
582    Name: Matthias Blume (blume (at) tti - c (dot) org)
583    Date: 2004/05/25 16:00:00 CDT
584    Tag: blume-20040525-group-owner
585    Description:
586    
587    CM now ignores (but still accepts) the "owner" information in group
588    descriptions.  The owner of a group is its next enclosing
589    library. Each group must have a unique owner.  (There is a virtual
590    "toplevel" library that owns groups which are not nested within a real
591    library.)  Previously, each group had to explicitly declare its owner,
592    and CM would check that such a declaration is correct.  The new scheme
593    is to have CM check that for each group there is precisely one owning
594    library.
595    
596    The advantage of the new scheme is that the programmer no longer needs
597    to maintain the somewhat annoying owner information.  The downside is
598    that CM cannot enforce the ownership rule across multiple runs of
599    CM.make.  Fortunately, enclosing the same group in two different
600    libraries A and B which are not part of the same program does not
601    cause real problems.
602    
603    ----------------------------------------------------------------------
604    Name: Matthias Blume (blume (at) tti - c (dot) org)
605    Date: 2004/05/20 16:00:00 CDT
606    Tag: blume-20040520-win32
607    Description:
608    
609    Made the win32 version work again.  (Strangely, a misplaced comma had
610    slipped into win32-process.c which prevented the runtime from being
611    compiled correctly.)
612    
613    Also, included a minor addition to ml-build.bat analogous to what was
614    done in blume-20040519-ml-build.
615    
616    ----------------------------------------------------------------------
617    Name: Matthias Blume (blume (at) tti - c (dot) org)
618    Date: 2004/05/19 22:10:00 CDT
619    Tag: blume-20040519-ml-build
620    Description:
621    
622    Arranged for ml-build to clean up after itself a little bit better.
623    The script generates a temporary SML source file and compiles it using
624    CM, so CM generates metadata (GUID, SKEL, objectfile) for it.  It now
625    gets rid of those at the end, so they don't accumulate under .cm.
626    
627    This required a minor change to install.sh because the name of the
628    metadata directory (default: .cm) is actually configurable at
629    installation time.
630    
631    ----------------------------------------------------------------------
632    Name: Matthias Blume (blume (at) tti - c (dot) org)
633    Date: 2004/05/18 15:50:00 CDT
634    Tag: blume-20040518-mkreader
635    Description:
636    
637    Added Posix.IO.mk{Bin,Text}{Reader,Writer} by lifting their respective
638    implementations from internal modules PosixBinPrimIO and PosixTextPrimIO.
639    
640    ----------------------------------------------------------------------
641    Name: Matthias Blume (blume (at) tti - c (dot) org)
642    Date: 2004/05/11 14:35:00 CDT
643    Tag: blume-20040511-win32sock
644    Description:
645    
646    Added previously missing support for many socket-related functions
647    under win32.  Thanks to David Hansel <hansel@reactive-systems.com>
648    for the voluminous patch!
649    
650    (I have not tested this patch under win32 yet.)
651    
652    Here is David's e-mail:
653    
654    Hi,
655    
656    Attached to this email you find a diff against sml/nj 110.45
657    that will enable socket support under Windows.
658    
659    To apply the patch (using unix or cygwin)
660    1) gunzip runtime.diff.gz
661    2) "cd" into "src/runtime" in the source tree of a fresh
662       110.45 installation.
663    3) patch -p 1 < [your/path/to]runtime.diff
664    
665    The code compiles fine but has NOT yet been extensively tested.
666    I only ran a few tests for basic socket client functionality
667    (which worked fine).  Especially the functions that use ioctl
668    are not tested at all and might not work (see below).
669    
670    I implemented this since we want to move to a newer version of sml/nj
671    but need socket support in order to use it.  This is the first time I
672    even had a look at the sml/nj source,  so please review my changes
673    before making this part of the distribution!  Here are a few issues
674    that I think might be better for someone to solve who is more
675    familiar with the sml/nj source (and socket programming):
676    
677    - getnetbyaddr.c and getnetbyname.c will raise a "not implemented"
678      exception since I could not figure out what the windows equivalent
679      of these functions is
680    
681    - In sockets-osdep.h there are a some #include statements that are
682      only used in a few files that include sockets-osdep.h
683    
684    - In smlnj-sock-lib.c, function init_fn() calls WSAStartup() but
685      does not process its return value since I don't know how to
686      report an error upwards.
687    
688    - It would probably be good to have a call to WSACleanup() when
689      the library is unloaded (if there is such a possibility).
690      Otherwise I think Windows will take care of this automatically
691      when the process finishes.
692    
693    - I used ioctlsocket() as a replacement for ioctl() but I have
694      no idea if that is actually the proper replacement on Windows.
695    
696    - All these issues are marked in the code by "FIXME" comments.
697    
698    We use sml/nj extensively in our products and are quite happy
699    with it.  I hope this contribution will help you.
700    
701    Keep up the good work!
702    
703    David
704    
705    ----------------------------------------------------------------------
706    Name: Matthias Blume (blume (at) tti - c (dot) org)
707    Date: 2004/05/11 14:20:00 CDT
708    Tag: blume-20040511-installml
709    Description:
710    
711    Fixed two bugs in installml script.  (Thanks to Vesa A. Norrman for
712    the patch.)
713    
714    ----------------------------------------------------------------------
715    Name: Matthias Blume (blume (at) tti - c (dot) org)
716    Date: 2004/05/11 14:05:00 CDT
717    Tag: blume-20040511-nlffi-netbsd
718    Description:
719    
720    Added support for nlffi under netbsd.  (Thanks to Vesa A. Norrman for
721    the patch.)
722    
723    ----------------------------------------------------------------------
724    Name: Matthias Blume (blume (at) tti - c (dot) org)
725    Date: 2004/05/11 12:05:00 CDT
726    Tag: blume-20040511-exports
727    Description:
728    
729    As per request by Adam Chlipala <adam@hcoop.net>, extended various
730    export lists in compiler-related .cm-files.
731    
732    ----------------------------------------------------------------------
733    Name: Matthias Blume (blume (at) tti - c (dot) org)
734    Date: 2004/05/11 11:35:00 CDT
735    Tag: blume-20040511-allsource
736    Description:
737    
738    The installer now honors the "src-smlnj" target again, although its meaning
739    has changed from "all sources required for the compiler" to "all sources
740    the installer knows about".  In other words, if you enable "src-smlnj"
741    in the "targets" file, then the installer will pull in sources for
742    everything.  (Notice that this refers to source code only.  Compiled
743    code is still only installed for modules that were requested explicitly
744    or which are required for other modules that were requested explicitly.)
745    
746    ----------------------------------------------------------------------
747    Name: Matthias Blume (blume (at) tti - c (dot) org)
748    Date: 2004/04/23 17:40:00 CDT
749    Tag: blume-20040423-ieee-scan
750    Description:
751    
752    Fixed IEEEReal.scan (and .fromString) so that if there is an overflow
753    in the exponent calculation we get INF or ZERO (depending on the mantissa
754    and the sign of the exponent).
755    
756    ----------------------------------------------------------------------
757    Name: Matthias Blume (blume (at) tti - c (dot) org)
758    Date: 2004/04/23 10:40:00 CDT
759    Tag: blume-20040423-ml-build
760    Description:
761    
762    The ml-build script now terminates with a non-0 status when something
763    goes wrong.
764    
765    ----------------------------------------------------------------------
766  Name: Matthias Blume (blume (at) tti - c (dot) org)  Name: Matthias Blume (blume (at) tti - c (dot) org)
767  Date: 2004/04/22 16:35:00 CDT  Date: 2004/04/22 16:35:00 CDT
768  Tag: blume-20040422-Option  Tag: blume-20040422-Option
# Line 16  Line 772 
772  (as it should be).  (as it should be).
773    
774  ----------------------------------------------------------------------  ----------------------------------------------------------------------
 Name:  
 Date: yyyy/mm/dd  
 Tag: <post-commit CVS tag>  
 Description:  
   
 ----------------------------------------------------------------------  
775  Name: Allen Leung (leunga (at) reservoir (dot) com)  Name: Allen Leung (leunga (at) reservoir (dot) com)
776  Date: 2004/03/19 14:40:00 EST  Date: 2004/03/19 14:40:00 EST
777  Tag: leunga-20040319-cygwin-nlffi  Tag: leunga-20040319-cygwin-nlffi

Legend:
Removed from v.1479  
changed lines
  Added in v.1644

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