It's quite some time now that a substantial piece of work was published or discussed here, and I apologize for having 2 or 3 eMails that have been send to my private eMail-addresses about wxCL in the meantime let go unanswered.
However, it's time to announce that version 0.0.2 of the wxCL microsystem will be available for download from Sourceforge from around the 36th week, 2004:
> The count of source code files for the code that has already been included in wxCL 0.0.1 was reduced, and the extensive use of the depreciated symbols PROVIDE and REQUIRE was removed.
> The code now follows the broadly accepted style of one package per file. A loader file was added to take over the functionality of the PROVIDE and REQUIRE features.
> CLOS classes are replaced by structures, but generic functions are still used. (But I would prefer to change to another object system at some later stage of development, see below.)
> Version 0.0.2 should actually run on some implementation(s) of Common Lisp. ===;->
> The packages are conceptionally organized in a tree hierarchy by their name.
__________________________________
New, previously unreleased packages:
> wxcl.wr.main:
Web-A-Rama, a syntax generator („downstream“) and parser („upstream“).
The downstream modules of Web-A-Rama take Lisp symbolic expressions in exactly the style of Franz Allegro's LHTML and produce or interpret Lisp code to emit streams of „foreign language syntax“. The upstream modules parse foreign syntax into symbolic expressions.
Web-A-Rama is needed to generate C or CPP code, to enable bootstrapping of a subset of wxCL widgets to the combination of xHTML/JavaScript/Apache/mod_lisp/Common Lisp/wxCL, by SDF (wxCL's source documentation facility) to auto-generate source code documentation, , and eventually to import C / CPP function headers from SWIG via XML.
> wxcl.wr.down.xml:
A downstream module to produce XML syntax.
> wxcl.wr.down.html:
A downstream module to produce xHTML syntax.
> wxcl.wr.down.css:
A downstream module to produce CSS2 syntax.
> wxcl.wr.down.javascript:
A downstream module to procude JavaScript syntax.
> wxcl.wr.up.xml
An unpstream module providing a non-validating XML parser.
[I have the following downstream modules growing, but they will probably to surely not make it into wxCL 0.0.2:
> control codes for the Epson TM-T88 series of receipt printers,
> Epson's ESC/P2 printer control codes (for certain high-speed pinwriters),
> HPGL/2 (oh yes, it's still alive)
> C programming language
> SVG
> X3D (the successor to VRML) ]
> wxcl.types:
The package to contain some additional complex types, as suggested in section 15 of On wxCL ( http://www.olivfabric.de/content/on-wxcl.html#021 ).
It currently only contains an implementation of „true tries“, build with arrays instead of the usual a-lists, in order to find without searching.
> wxcl.meter:
A package with various tests on the low-level performance of the CL implementation at hand (like the speed of hash tables or the compiler treatment of type declarations), on the conformance and interpretation of the CL standard (like the redefinition of structures), and on increasingly higher levels of the wxCL implementation (as it grows).
Also contains a file of random sequences of Common Lisp standard chars, in order to base the tests on the same data at various installations.
> wxcl.visual.bitmaps:
A simple im- and export facility for Portable Graymaps (PGM, magic number „P5“ ; „raw“ or „normal“, not „plain“), for visualising statistical data derived by metering, and to get work on symbology recognition started. (Symbologies are 1-dimensional barcodes like EAN as well as 2-dimensional „barcodes“ like Aztec Code. Providing symbology recognition is perfectly reasonable if you think of wxCL situated "on-board" or "embedded" like at a point-of-sale or around a job-shop.)
A completly revised version of On wxCL is also on its way and will be included in the distro of wxCL 0.0.2. The hypertext will be seperatly marked up for screen and print using CSS2, which should render to proper output on not-to-dated browsers. The layout will be less intrusive, the style less offensive, and the sentences less lengthy and easier to translate. I will also provide a german translation step by step.
The next revision of On wxCL includes the outline of an object and constraint system for wxCL called „Thing Tang Object System“ (or „Tango“, for short) and first sketches of its API. The concepts of Tango take inspiration from the work on the programming languages SELF, Slate, Dylan, NewtonScript and JavaScript, the X3D (or VRML) scenegraph, and the Garnet and Amulet Graphical Toolkits for Common Lisp and CPP.
Among the features of Tango are sealing, lazy and eager constraint solving, prototype-instance- / part-owner-paradigm („is-a“ / „is-in“) with multiple inheritance, generic functions, a simple algorithm for prototype-precedence-lists, declarations to aid optimizing precompilation, and instance cloning (in order to allow SELF-like „maps“).
I hope everyone on this board is well;
ciao ragazzi!
( Joerg )
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It's quite some time now that a substantial piece of work was published or discussed here, and I apologize for having 2 or 3 eMails that have been send to my private eMail-addresses about wxCL in the meantime let go unanswered.
However, it's time to announce that version 0.0.2 of the wxCL microsystem will be available for download from Sourceforge from around the 36th week, 2004:
> The count of source code files for the code that has already been included in wxCL 0.0.1 was reduced, and the extensive use of the depreciated symbols PROVIDE and REQUIRE was removed.
> The code now follows the broadly accepted style of one package per file. A loader file was added to take over the functionality of the PROVIDE and REQUIRE features.
> CLOS classes are replaced by structures, but generic functions are still used. (But I would prefer to change to another object system at some later stage of development, see below.)
> Version 0.0.2 should actually run on some implementation(s) of Common Lisp. ===;->
> The packages are conceptionally organized in a tree hierarchy by their name.
__________________________________
New, previously unreleased packages:
> wxcl.wr.main:
Web-A-Rama, a syntax generator („downstream“) and parser („upstream“).
The downstream modules of Web-A-Rama take Lisp symbolic expressions in exactly the style of Franz Allegro's LHTML and produce or interpret Lisp code to emit streams of „foreign language syntax“. The upstream modules parse foreign syntax into symbolic expressions.
Web-A-Rama is needed to generate C or CPP code, to enable bootstrapping of a subset of wxCL widgets to the combination of xHTML/JavaScript/Apache/mod_lisp/Common Lisp/wxCL, by SDF (wxCL's source documentation facility) to auto-generate source code documentation, , and eventually to import C / CPP function headers from SWIG via XML.
> wxcl.wr.down.xml:
A downstream module to produce XML syntax.
> wxcl.wr.down.html:
A downstream module to produce xHTML syntax.
> wxcl.wr.down.css:
A downstream module to produce CSS2 syntax.
> wxcl.wr.down.javascript:
A downstream module to procude JavaScript syntax.
> wxcl.wr.up.xml
An unpstream module providing a non-validating XML parser.
[I have the following downstream modules growing, but they will probably to surely not make it into wxCL 0.0.2:
> control codes for the Epson TM-T88 series of receipt printers,
> Epson's ESC/P2 printer control codes (for certain high-speed pinwriters),
> HPGL/2 (oh yes, it's still alive)
> C programming language
> SVG
> X3D (the successor to VRML) ]
> wxcl.types:
The package to contain some additional complex types, as suggested in section 15 of On wxCL ( http://www.olivfabric.de/content/on-wxcl.html#021 ).
It currently only contains an implementation of „true tries“, build with arrays instead of the usual a-lists, in order to find without searching.
> wxcl.meter:
A package with various tests on the low-level performance of the CL implementation at hand (like the speed of hash tables or the compiler treatment of type declarations), on the conformance and interpretation of the CL standard (like the redefinition of structures), and on increasingly higher levels of the wxCL implementation (as it grows).
Also contains a file of random sequences of Common Lisp standard chars, in order to base the tests on the same data at various installations.
> wxcl.visual.bitmaps:
A simple im- and export facility for Portable Graymaps (PGM, magic number „P5“ ; „raw“ or „normal“, not „plain“), for visualising statistical data derived by metering, and to get work on symbology recognition started. (Symbologies are 1-dimensional barcodes like EAN as well as 2-dimensional „barcodes“ like Aztec Code. Providing symbology recognition is perfectly reasonable if you think of wxCL situated "on-board" or "embedded" like at a point-of-sale or around a job-shop.)
> wxcl.tools:
You guessed it. Otherwise, see Section 13 of On wxCL ( ( http://www.olivfabric.de/content/on-wxcl.html#019 ).
__________________________________
A completly revised version of On wxCL is also on its way and will be included in the distro of wxCL 0.0.2. The hypertext will be seperatly marked up for screen and print using CSS2, which should render to proper output on not-to-dated browsers. The layout will be less intrusive, the style less offensive, and the sentences less lengthy and easier to translate. I will also provide a german translation step by step.
The next revision of On wxCL includes the outline of an object and constraint system for wxCL called „Thing Tang Object System“ (or „Tango“, for short) and first sketches of its API. The concepts of Tango take inspiration from the work on the programming languages SELF, Slate, Dylan, NewtonScript and JavaScript, the X3D (or VRML) scenegraph, and the Garnet and Amulet Graphical Toolkits for Common Lisp and CPP.
Among the features of Tango are sealing, lazy and eager constraint solving, prototype-instance- / part-owner-paradigm („is-a“ / „is-in“) with multiple inheritance, generic functions, a simple algorithm for prototype-precedence-lists, declarations to aid optimizing precompilation, and instance cloning (in order to allow SELF-like „maps“).
I hope everyone on this board is well;
ciao ragazzi!
( Joerg )