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 1427, Tue Nov 18 23:08:15 2003 UTC revision 1506, Thu Jun 17 22:19:15 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/06/17 17:20:00 CDT
18    Tag: blume-20040617-timer-unix
19    Description:
20    
21    Changed the interface of structures Timer and Unix to match the most
22    recent Basis spec.
23    
24    In the case of Unix there still seems to be an open/weird issue:
25    
26       The {text,bin}{In,Out}streamOf functions are supposed to create
27       fresh streams whenever they are called -- as opposed to have them
28       return the same stream every time.  This design is supposed to
29       prevent space leaks caused by proc values hanging on to streams.
30    
31       The reap function, on the other hand, is supposed to close the
32       streams.  This cannot be done without having a handle on the
33       stream in proc after all...
34    
35    I took the liberty to implement the following stopgap solution:
36    
37      The proc value hangs on to the most recently created stream(s).
38      Reap closes those.  If either or both of the two streams hadn't
39      been created at all yet, then reap will close the corresponding
40      file descriptors directly.
41    
42    PS: I don't understand the original space leak argument anymore.  If
43    a proc hangs on to the imperative stream, then I/O operations on those
44    will advance the state of the cached stream and avoid the space leak.
45    
46    ----------------------------------------------------------------------
47    Name: Matthias Blume (blume (at) tti - c (dot) org)
48    Date: 2004/05/28 16:45:00 CDT
49    Tag: blume-20040528-basis
50    Description:
51    
52    Added signature PACK_REAL and exported functor PrimIO.
53    
54    ----------------------------------------------------------------------
55    Name: Matthias Blume (blume (at) tti - c (dot) org)
56    Date: 2004/05/25 16:00:00 CDT
57    Tag: blume-20040525-group-owner
58    Description:
59    
60    CM now ignores (but still accepts) the "owner" information in group
61    descriptions.  The owner of a group is its next enclosing
62    library. Each group must have a unique owner.  (There is a virtual
63    "toplevel" library that owns groups which are not nested within a real
64    library.)  Previously, each group had to explicitly declare its owner,
65    and CM would check that such a declaration is correct.  The new scheme
66    is to have CM check that for each group there is precisely one owning
67    library.
68    
69    The advantage of the new scheme is that the programmer no longer needs
70    to maintain the somewhat annoying owner information.  The downside is
71    that CM cannot enforce the ownership rule across multiple runs of
72    CM.make.  Fortunately, enclosing the same group in two different
73    libraries A and B which are not part of the same program does not
74    cause real problems.
75    
76    ----------------------------------------------------------------------
77    Name: Matthias Blume (blume (at) tti - c (dot) org)
78    Date: 2004/05/20 16:00:00 CDT
79    Tag: blume-20040520-win32
80    Description:
81    
82    Made the win32 version work again.  (Strangely, a misplaced comma had
83    slipped into win32-process.c which prevented the runtime from being
84    compiled correctly.)
85    
86    Also, included a minor addition to ml-build.bat analogous to what was
87    done in blume-20040519-ml-build.
88    
89    ----------------------------------------------------------------------
90    Name: Matthias Blume (blume (at) tti - c (dot) org)
91    Date: 2004/05/19 22:10:00 CDT
92    Tag: blume-20040519-ml-build
93    Description:
94    
95    Arranged for ml-build to clean up after itself a little bit better.
96    The script generates a temporary SML source file and compiles it using
97    CM, so CM generates metadata (GUID, SKEL, objectfile) for it.  It now
98    gets rid of those at the end, so they don't accumulate under .cm.
99    
100    This required a minor change to install.sh because the name of the
101    metadata directory (default: .cm) is actually configurable at
102    installation time.
103    
104    ----------------------------------------------------------------------
105    Name: Matthias Blume (blume (at) tti - c (dot) org)
106    Date: 2004/05/18 15:50:00 CDT
107    Tag: blume-20040518-mkreader
108    Description:
109    
110    Added Posix.IO.mk{Bin,Text}{Reader,Writer} by lifting their respective
111    implementations from internal modules PosixBinPrimIO and PosixTextPrimIO.
112    
113    ----------------------------------------------------------------------
114    Name: Matthias Blume (blume (at) tti - c (dot) org)
115    Date: 2004/05/11 14:35:00 CDT
116    Tag: blume-20040511-win32sock
117    Description:
118    
119    Added previously missing support for many socket-related functions
120    under win32.  Thanks to David Hansel <hansel@reactive-systems.com>
121    for the voluminous patch!
122    
123    (I have not tested this patch under win32 yet.)
124    
125    Here is David's e-mail:
126    
127    Hi,
128    
129    Attached to this email you find a diff against sml/nj 110.45
130    that will enable socket support under Windows.
131    
132    To apply the patch (using unix or cygwin)
133    1) gunzip runtime.diff.gz
134    2) "cd" into "src/runtime" in the source tree of a fresh
135       110.45 installation.
136    3) patch -p 1 < [your/path/to]runtime.diff
137    
138    The code compiles fine but has NOT yet been extensively tested.
139    I only ran a few tests for basic socket client functionality
140    (which worked fine).  Especially the functions that use ioctl
141    are not tested at all and might not work (see below).
142    
143    I implemented this since we want to move to a newer version of sml/nj
144    but need socket support in order to use it.  This is the first time I
145    even had a look at the sml/nj source,  so please review my changes
146    before making this part of the distribution!  Here are a few issues
147    that I think might be better for someone to solve who is more
148    familiar with the sml/nj source (and socket programming):
149    
150    - getnetbyaddr.c and getnetbyname.c will raise a "not implemented"
151      exception since I could not figure out what the windows equivalent
152      of these functions is
153    
154    - In sockets-osdep.h there are a some #include statements that are
155      only used in a few files that include sockets-osdep.h
156    
157    - In smlnj-sock-lib.c, function init_fn() calls WSAStartup() but
158      does not process its return value since I don't know how to
159      report an error upwards.
160    
161    - It would probably be good to have a call to WSACleanup() when
162      the library is unloaded (if there is such a possibility).
163      Otherwise I think Windows will take care of this automatically
164      when the process finishes.
165    
166    - I used ioctlsocket() as a replacement for ioctl() but I have
167      no idea if that is actually the proper replacement on Windows.
168    
169    - All these issues are marked in the code by "FIXME" comments.
170    
171    We use sml/nj extensively in our products and are quite happy
172    with it.  I hope this contribution will help you.
173    
174    Keep up the good work!
175    
176    David
177    
178    ----------------------------------------------------------------------
179    Name: Matthias Blume (blume (at) tti - c (dot) org)
180    Date: 2004/05/11 14:20:00 CDT
181    Tag: blume-20040511-installml
182    Description:
183    
184    Fixed two bugs in installml script.  (Thanks to Vesa A. Norrman for
185    the patch.)
186    
187    ----------------------------------------------------------------------
188    Name: Matthias Blume (blume (at) tti - c (dot) org)
189    Date: 2004/05/11 14:05:00 CDT
190    Tag: blume-20040511-nlffi-netbsd
191    Description:
192    
193    Added support for nlffi under netbsd.  (Thanks to Vesa A. Norrman for
194    the patch.)
195    
196    ----------------------------------------------------------------------
197    Name: Matthias Blume (blume (at) tti - c (dot) org)
198    Date: 2004/05/11 12:05:00 CDT
199    Tag: blume-20040511-exports
200    Description:
201    
202    As per request by Adam Chlipala <adam@hcoop.net>, extended various
203    export lists in compiler-related .cm-files.
204    
205    ----------------------------------------------------------------------
206    Name: Matthias Blume (blume (at) tti - c (dot) org)
207    Date: 2004/05/11 11:35:00 CDT
208    Tag: blume-20040511-allsource
209    Description:
210    
211    The installer now honors the "src-smlnj" target again, although its meaning
212    has changed from "all sources required for the compiler" to "all sources
213    the installer knows about".  In other words, if you enable "src-smlnj"
214    in the "targets" file, then the installer will pull in sources for
215    everything.  (Notice that this refers to source code only.  Compiled
216    code is still only installed for modules that were requested explicitly
217    or which are required for other modules that were requested explicitly.)
218    
219    ----------------------------------------------------------------------
220    Name: Matthias Blume (blume (at) tti - c (dot) org)
221    Date: 2004/04/23 17:40:00 CDT
222    Tag: blume-20040423-ieee-scan
223    Description:
224    
225    Fixed IEEEReal.scan (and .fromString) so that if there is an overflow
226    in the exponent calculation we get INF or ZERO (depending on the mantissa
227    and the sign of the exponent).
228    
229    ----------------------------------------------------------------------
230    Name: Matthias Blume (blume (at) tti - c (dot) org)
231    Date: 2004/04/23 10:40:00 CDT
232    Tag: blume-20040423-ml-build
233    Description:
234    
235    The ml-build script now terminates with a non-0 status when something
236    goes wrong.
237    
238    ----------------------------------------------------------------------
239    Name: Matthias Blume (blume (at) tti - c (dot) org)
240    Date: 2004/04/22 16:35:00 CDT
241    Tag: blume-20040422-Option
242    Description:
243    
244    Made exception Option to be the same as exception Option.Option
245    (as it should be).
246    
247    ----------------------------------------------------------------------
248    Name: Allen Leung (leunga (at) reservoir (dot) com)
249    Date: 2004/03/19 14:40:00 EST
250    Tag: leunga-20040319-cygwin-nlffi
251    Description:
252    
253    Fixed the runtime so that ml-nlffi-lib runs on the cygwin version
254    of SML/NJ.  The problem is that
255    
256       lib = dlopen(NULL, ...)
257       f   = dlsym(lib, "malloc");
258    
259    does not work on Windows unless we explicitly export symbols
260    such as 'malloc' during linking.  We fixed this by explicitly
261    exporting the required symbols with the magic gcc incantation:
262    
263        -Wl,--export-all cygwin.def
264    
265    where cygwin.def is a file containing all the symbols that
266    we wish to export.
267    
268    I suspect this is a Windows problem and we'll have to
269    do the same (somehow with windows compilers) when
270    we build the native win32 version with the system
271    calls LoadLibrary/GetProcAddress.
272    
273    ----------------------------------------------------------------------
274    Name: Matthias Blume (blume (at) tti - c (dot) org)
275    Date: 2004/03/04 16:35:00 CST
276    Tag: blume-20040304-intinf-fmt
277    Description:
278    
279    Fixed problem with IntInf.fmt (sign would show up on the right instead
280    of on the left for BIN, OCT, and HEX).
281    
282    ----------------------------------------------------------------------
283    Name: Matthias Blume (blume (at) tti - c (dot) org)
284    Date: 2004/03/04 11:25:00 CST
285    Tag: blume-20040304-symlinks
286    Description:
287    
288    Fixed problem with installer script (unix only) where bin/ml-yacc and
289    friends pointed (via symlinks) to absolute locations instead of just
290    .run-sml.  This was reported by Vesa A Norrman.
291    
292    ----------------------------------------------------------------------
293    Name: Matthias Blume (blume (at) tti - c (dot) org)
294    Date: 2004/02/13 14:50:00 CST
295    Tag: Release_110_45
296    Description:
297    
298    New working version (110.45). New bootfiles.
299    
300    ----------------------------------------------------------------------
301    Name: Matthias Blume (blume (at) tti - c (dot) org)
302    Date: 2004/01/26 15:15:15 CST
303    Tag: blume-20040126-toplevel
304    Description:
305    
306    Improved handling of exceptions at the interactive toplevel.
307    
308    ----------------------------------------------------------------------
309    Name: Matthias Blume (blume (at) tti - c (dot) org)
310    Date: 2004/01/26 11:25:00
311    Tag: blume-20040126-app
312    Description:
313    
314    Type of top-level "app" corrected.
315    Added code for setting vp_limitPtrMask to Win32-specific runtime.
316    
317    ----------------------------------------------------------------------
318    Name: Matthias Blume (blume (at) tti - c (dot) org)
319  Date: 2003/11/18 17:10 CST  Date: 2003/11/18 17:10 CST
320  Tag: blume-20031118-basis-fiddle  Tag: blume-20031118-basis-fiddle
321  Description:  Description:

Legend:
Removed from v.1427  
changed lines
  Added in v.1506

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