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

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

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