-
Notifications
You must be signed in to change notification settings - Fork 0
/
2002.08.13.html
473 lines (356 loc) · 19.1 KB
/
2002.08.13.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
<html><body>
<a href="2002.07.23.html">Previous week</a> <a href="index.html">Up</a> <a href="2002.08.20.html">Next week</a>
<pre>
Hello,
Here is the latest Caml Weekly News, weeks 23 july to 14 august, 2002.
(Sorry for the lack of updates recently, I was in vacations)
1) <a href="#1">Mlfuse 1.0</a>
2) <a href="#2">yet another xml parser</a>
3) <a href="#3">lablglut 1.0.1, lablglut-1.1.0, lablglut-1.1.1, lablglut-1.1.2, and</a>
lablglut-1.1.3
4) <a href="#4">mlchat 0.3</a>
5) <a href="#5">caml_vrml 1.0</a>
6) <a href="#6">OCaml 3.05 released</a>
7) <a href="#7">MLGMP upgraded for GMP 4.1</a>
8) <a href="#8">OCam'OLE pre-release and OCam'OLE pre.2</a>
9) <a href="#9">XML Light update</a>
10) <a href="#10">LablGTK 1.2.4</a>
11) <a href="#11">LablGL 0.98</a>
12) <a href="#12">ocamldsort 0.1 release</a>
13) <a href="#13">Cryptokit for Win32</a>
14) <a href="#14">ocaml-classes-3.05</a>
15) <a href="#15">ocaml-mode-3.05</a>
16) <a href="#16">ICFP programming contest 2002 announcement</a>
<a name="1"/>======================================================================
1) Mlfuse 1.0
----------------------------------------------------------------------
Nadji announced:
I am pleased to announce that a binding for Fuse
is now available. From mlfuse/Readme's overview :
Mlfuse is a binding for the Fuse (File System in User Space)
library. The purpose is to be able to mount your own filesystem
in a directory just like when using the "mount" utility.
The system calls for reading, writing, creating files etc ...
are then redirected to your own routines. With Mlfuse your
routines are functions created in Ocaml. Check the examples
to get a more precise idea.
This enables to create nice stuff like infinite files,
transparent access to compressed files, filesystem-like
access to data for compatibility with other tools etc ...
I think it demonstrates quite well the ability to write
low-level kernel stuff in an efficient high-level languages.
I think Ocaml's typing discipline makes a _far_ better
documentation and permits a _lot_ more control of what can
be or should be done with functions (see differences between
fuse.h and fuse.mli to see what I mean ... and I'm not a guru).
I also made benchmarks and I get a throughput of 80Mo/s (with
all assertions, bounds checking and threads ...) with
this library, while today's disks have a throughput of around 5Mo/s.
So speed is not much of a concern, and Ocaml brings safety on top
of this, which is the best one could hope.
You can download Mlfuse at a friend's :
<a href="http://www-connex.lip6.fr/~binsztok/files.php">http://www-connex.lip6.fr/~binsztok/files.php</a>
Mail me at [email protected] if you have problems.
PS :
I have tried to be compatible with Ocaml's Unix library data structures
but there are nearly no functions available from C that can transform an
ocaml value of a Unix type from the C unix corresponding type. This makes
low-level bindings somewhat specific to an Ocaml version, which is a shame
... even if I doubt that the Unix layer is rapidly evolving :)
If someone is interested, I have implemented separately those that I lacked
in the files mlfuse/lib/unix_ml2c*
<a name="2"/>======================================================================
2) yet another xml parser
----------------------------------------------------------------------
Mike Lin announced:
none of the ocaml xml parsers out there quite served my needs, so i
wrote my own. for anyone who's interested, i put up a page about it.
<a href="http://mikelin.mit.edu/yaxpo/">http://mikelin.mit.edu/yaxpo/</a>
the most interesting thing about the parser is that it is all hand
written in explicit continuation-passing style (CPS) instead of using
recursion or iteration. this allows one to do some amusing things in
clever ways; for example, it is possible to "pause" parsing, returning
control to the caller, and then pick up where it left off at some later
time.
i am using the parser in conjunction with another project i'm working
on. it's still quite preliminary, but i'm using it already to do some
'real' stuff, so i hope it can eventually be useful standalone.
<a name="3"/>======================================================================
3) lablglut 1.0.1, lablglut-1.1.0, lablglut-1.1.1, lablglut-1.1.2, and
lablglut-1.1.3
----------------------------------------------------------------------
Issac Trotts announced:
lablglut 1.0.1:
The new version features
- more demos
- bundling with a slightly modified version of LablGL
without dependencies on Tcl/Tk
- easier installation
Available now at
<a href="http://www.issactrotts.net/libs/lablglut-1.0.1.tgz">http://www.issactrotts.net/libs/lablglut-1.0.1.tgz</a>
lablglut is an OCaml binding for a subset of GLUT
(GL Utility Toolkit) for OpenGL (Graphics Library).
lablglut-1.1.0:
The latest version is available here:
<a href="http://www.issactrotts.net/libs/lablglut-1.1.0.tgz">http://www.issactrotts.net/libs/lablglut-1.1.0.tgz</a>
It includes the rest of the functions from GLUT 3.7,
support for multiple windows, and ported tests 1
through 5 from the GLUT distribution. This version
still comes with a Tk-independent modification of
lablGL-0.96. The next revision will support lablGL-0.98.
lablglut-1.1.1:
A new release of lablglut is available at
<a href="http://www.issactrotts.net/libs/lablglut-1.1.1.tgz">http://www.issactrotts.net/libs/lablglut-1.1.1.tgz</a>
Here are the changes:
- bundled a modified version of lablGL-0.98 without Tcl/Tk dependencies
- removed a segmentation fault from having incorrect callback in mouseFunc
- removed ezgl, converted draw2d.ml to use lablGL
lablglut-1.1.2:
Here's the latest edition of lablglut, the OCaml binding for
GLUT:
<a href="http://www.issactrotts.net/libs/lablglut-1.1.2.tgz">http://www.issactrotts.net/libs/lablglut-1.1.2.tgz</a>
The highlights of the latest release are:
- bindings for all GLUT 4 functions included in the GLUT 3.7 distribution
- ports of more GLUT tests
- a Python script (lgport.py) to help with porting C GLUT demos to lablglut
- bug fixes
and lablglut-1.1.3:
A new release of the lablglut binding for GLUT is available at
<a href="http://www.issactrotts.net/libs/lablglut-1.1.3.tgz">http://www.issactrotts.net/libs/lablglut-1.1.3.tgz</a>
This release features nehe demos ported by Jeffrey Palmer,
ports of all the numbered GLUT tests, and more bug fixes.
<a name="4"/>======================================================================
4) mlchat 0.3
----------------------------------------------------------------------
Maxence Guesdon announced:
I'm (guess what) pleased to announce the first release of mlchat,
a simple chat application written in LablGtk. It does not need
a server and thus it can be used on a local network.
You will find it here :
<a href="http://www.maxence-g.net/Tools/mlchat/mlchat.html">http://www.maxence-g.net/Tools/mlchat/mlchat.html</a>
<a name="5"/>======================================================================
5) caml_vrml 1.0
----------------------------------------------------------------------
Issac Trotts announced:
I'm pleased to announce the first release of my new
VRML (Virtual Reality Modeling Language) library for
OCaml. This revision reads and writes the following
VRML node types:
Coordinate3
IndexedFaceSet
Info
Material
Separator
ShapeHints
in addition to the USE and DEF constructs. The library can
be downloaded from
<a href="http://www.issactrotts.net/libs/caml_vrml-1.0.tgz">http://www.issactrotts.net/libs/caml_vrml-1.0.tgz</a>
<a name="6"/>======================================================================
6) OCaml 3.05 released
----------------------------------------------------------------------
Xavier Leroy announced:
Version 3.05 of the Objective Caml system is now available from
<a href="http://caml.inria.fr/ocaml/distrib.html">http://caml.inria.fr/ocaml/distrib.html</a>
The main novelty in this release is the addition of first-class
polymorphism for methods and record fields. Also, the ocamldoc
documentation generator is now included in the release, and the
modules Complex and Scanf were added to the standard library. This
comes in addition to the usual amount of bug fixes, which are
described in more details below.
For general info on Objective Caml, see <a href="http://caml.inria.fr.">http://caml.inria.fr.</a> Bug
reports go to [email protected], messages for the implementors to
[email protected], and general discussions to the mailing-list
[email protected], or the comp.lang.ml or comp.lang.functional
newsgroups.
(The full announcement is here:
<a href="http://caml.inria.fr/archives/200207/msg00558.html">http://caml.inria.fr/archives/200207/msg00558.html</a> )
<a name="7"/>======================================================================
7) MLGMP upgraded for GMP 4.1
----------------------------------------------------------------------
David Monniaux announced:
GNU MP (<a href="http://swox.com/gmp/">http://swox.com/gmp/</a>) is a multiprecision computation library
supporting integer, rational and floating-point types.
MLGMP is the Caml interface for this library.
The latest version of MLGMP supports GMP 4.1, including the integrated
MPFR. It only supports this version, since maintaining support for
multiple GMP versions is difficult (especially for MPFR) because of some
incompatible changes. The new functions are not supported yet.
<a href="http://www.di.ens.fr/~monniaux/download/mlgmp-20020729.tar.gz">http://www.di.ens.fr/~monniaux/download/mlgmp-20020729.tar.gz</a>
<a name="8"/>======================================================================
8) OCam'OLE pre-release and OCam'OLE pre.2
----------------------------------------------------------------------
Nicolas Cannasse announced:
I'm pleased to announce the .pre release of OCam'OLE, an OLE binding for
OCaml.
OCam'OLE enable you to control remote COM objects with OCaml and is
provided with OLEGen, a program that generate ML/MLI static type
interface from the OLE Type Libraries.
The current distribution include a sample that demonstrate the combined
usage of OCam'OLE and OLEGen to enable the creation and the control of
an MS Excel sheet in a few lines of OCaml code.
This release is ".pre" because it hasn't been heavily tested, so some bugs
could remain
and are waiting for some serious users to discover them :)
You can download it at <a href="http://tech.motion-twin.com">http://tech.motion-twin.com</a>
I would like to thanks Lexifi (www.lexifi.com) for supporting this project
then added:
The server is actually really getting slow, so I put a mirror on
<a href="http://warplayer.free.fr/files/ocamole-pre.zip">http://warplayer.free.fr/files/ocamole-pre.zip</a> for people interested in
downloading the release.
and a new version was announced:
The new pre-release of OCam'OLE is now available at :
<a href="http://tech.motion-twin.com/ocamole">http://tech.motion-twin.com/ocamole</a>
Makefile have been rewritten and some bugs have been corrected in order to
support both bytecode and native code compilation mode.
...but compiling excel.ml with ocamlopt is causing a Stack Overflow ( a bug
report have been submited at the ocaml team ).
<a name="9"/>======================================================================
9) XML Light update
----------------------------------------------------------------------
Nicolas Cannasse announced:
XML Light, a minimal XML parser for OCaml, has been updated. The release
now include the documentation generated by ocamldoc.
You can get it at <a href="http://tech.motion-twin.com">http://tech.motion-twin.com</a>
<a name="10"/>======================================================================
10) LablGTK 1.2.4
----------------------------------------------------------------------
Jacques Garrigue announced:
LablGTK 1.2.4 has just been released.
You can find it at
<a href="http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html">http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html</a>
ftp://ftp.kurims.kyoto-u.ac.jp/pub/lang/olabl/lablgtk-1.2.4.tar.gz
LablGTK is a GTK+ interface for Objective Caml.
It supports almost all base widgets, and many GDK functions, and has
been used in a number of Objective Caml applications.
The main novelty in this release is better windows support:
precompiled binaries are available at the above address
(lablgtk-1.2.4-ocamlwin-3.05.zip), along with the needed GTK+ dlls
(gtk-win32-dlls.zip). With those you can start developping on top of a
raw Objective Caml installation.
Other changes:
* g_io_add_watch support (unix only)
* GdkPixbuf support
* handling of images in various formats: string, bigarray, LablGL's raw;
a uniform interface (supporting memory management) was added
* GtkPreview support
* various missing functions
An IRC client, contributed by Nobuaki Yoshida, was added to the
applications directory.
<a name="11"/>======================================================================
11) LablGL 0.98
----------------------------------------------------------------------
Jacques Garrigue announced:
LablGL 0.98 has just been released.
You can find it at
<a href="http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgl.html">http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgl.html</a>
ftp://ftp.kurims.kyoto-u.ac.jp/pub/lang/olabl/lablgl-0.98.tar.gz
LablGL is an OpenGL interface for Objective Caml.
It supports many implementations of OpenGL, including Mesa, Xfree86
DRI, SGI, MacOSX, and now windows.
The GUI logic can be built using LablTk (included in the
distribution), LablGTK, or Isaac Trotts Lablglut.
Precompiled binaries for windows are available at the above address
(lablgl-0.98-ocamlwin-3.05.zip). With those you can start developping
on top of a raw Objective Caml installation.
The only other changes from previous versions are a few bug fixes.
<a name="12"/>======================================================================
12) ocamldsort 0.1 release
----------------------------------------------------------------------
Dimitri Ara announced:
ocamldsort (dsort stands for dependency sorting) is a tiny command line
tool to sort .ml files according to their dependencies in order
to link the corresponding .cmo files.
ocamldsort was thought to be used in makefiles. Here is a typical makefile:
OCAMLC=ocamlc
OCAMLDEP=ocamldep
OCAMLDSORT=ocamldsort
PPFLAGS=-pp camlp4o
SORTED_ML_FILES=$(shell cat .depsort >/dev/null || echo ERROR)
CMO_FILES=$(SORTED_ML_FILES:.ml=.cmo)
a.out: $(CMO_FILES)
$(OCAMLC) ...
ERROR:
@echo Did you run `make depend'?
@false
depend:
$(OCAMLDEP) $(PPFLAGS) *.ml *.mli > .depend
< .depend $(OCAMLDSORT) *.ml *.mli > .depsort
In fact, ocamldep doesn't need any .depend. It can be used this way:
$ ocamldsort -pp camlp4o *.ml *.mli > .depsort
Beware: if your program relies on linking order because of side effects,
ocamldsort can't help you.
You can download it at <a href="http://dimitri.mutu.net/ocaml.html">http://dimitri.mutu.net/ocaml.html</a>
<a name="13"/>======================================================================
13) Cryptokit for Win32
----------------------------------------------------------------------
Mike Lin announced:
hello. i did a quick port of xavier's cryptokit library to the native
windows version of ocaml. i put it up at
<a href="http://mikelin.mit.edu/code/">http://mikelin.mit.edu/code/</a>
the only thing that works differently is that the secure_rng now returns
data from the CryptGenRandom function in the windows CryptoAPI.
<a name="14"/>======================================================================
14) ocaml-classes-3.05
----------------------------------------------------------------------
Jacques Garrigue announced:
O'Caml classes 3.05 is now available at
<a href="http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/classes/">http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/classes/</a>
ftp://ftp.kurims.kyoto-u.ac.jp/pub/lang/olabl/ocaml-classes-3.05.tar.gz
ftp://ftp.inria.fr/lang/caml-light/bazar-ocaml/ocaml-classes-3.05.tar.gz
This is a small library of wrappers around standard library classes,
to allow a somehow object-oriented use.
Since ocaml 3.05, collection classes have also polymorphic fold
methods.
<a name="15"/>======================================================================
15) ocaml-mode-3.05
----------------------------------------------------------------------
Jacques Garrigue announced:
A snapshot of O'Caml emacs mode 3.05 is now available at
<a href="http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/ocaml.html">http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/ocaml.html</a>
ftp://ftp.kurims.kyoto-u.ac.jp/pub/lang/olabl/ocaml-mode-3.05.tar.gz
ftp://ftp.inria.fr/lang/caml-light/bazar-ocaml/ocaml-mode-3.05.tar.gz
This is just a snapshot of the emacs directory in the distribution
(fixing only one minor bug). This is intended for users of binary
distributions, who did not get this directory.
By the way, if you're still using older versions of the ocaml mode,
you want to update for better indentation, better interaction with the
caml subprocess, and other improvements by Didier Remy.
<a name="16"/>======================================================================
16) ICFP programming contest 2002 announcement
----------------------------------------------------------------------
Iavor S. Diatchki announced:
The Fifth Annual
ICFP PROGRAMMING CONTEST
August 30 - September 2, 2002
<a href="http://icfpcontest.cse.ogi.edu/">http://icfpcontest.cse.ogi.edu/</a>
Convinced your favorite programming language provides unbeatable
productivity? Convinced you and your friends are world-class programmers?
If so, we're providing you the opportunity to prove it! We are pleased
to announce the Fifth Annual ICFP Programming Contest to be held in
conjunction with the 2002 International Conference on Functional
Programming (ICFP 2002). All programmers are invited to enter the
contest, either individually or in teams; we especially encourage
students to enter. You may use any programming language (or
combination of languages) to show your skill.
On Friday, August 30, 2002 at 12:00 Noon (PDT), we will publish a
challenge task on the Web site and by e-mail to registered participants.
Teams will have until Monday, 02 September 2002, 12:00 Noon (PDT) (72
hours) to implement a program to perform this task and submit it to the
contest judges. We've designed the contest for direct, head-to-head
comparison of language technology and programming skill. We have a
range of prizes for the winners: cash awards, special student prizes,
and, of course, unlimited bragging rights.
For more information about the contest, prizes, and registration,
point your browser to:
<a href="http://icfpcontest.cse.ogi.edu/">http://icfpcontest.cse.ogi.edu/</a>
For more information about ICFP 2002, see:
<a href="http://icfp2002.cs.brown.edu/">http://icfp2002.cs.brown.edu/</a>
======================================================================
Old cwn
----------------------------------------------------------------------
If you happen to miss a cwn, you can send me a message
([email protected]) and I'll mail it to you. If you also wish to
receive it every week by mail, just tell me so.
======================================================================
Alan Schmitt
</pre></body></html>