Activity Not Available


  Analyzed 9 months ago based on code collected 9 months ago.
Posted almost 6 years ago by (Luca Bruno aka Lethalman)
Hello,I'm officializing the change of web hosting and git hosting from googlecode to berlios:
The new website is up!For several reasons, including reliability, we switched both the website and git hosting to berlios. Also the purpose of this ... [More] change is to rewrite the website backend using Syx.The mailing list and the bug tracker are still hosted at googlecode.
Some progress news in the while We're working on a new memory management, object representation and garbage collector. On the other side the lack of time is making things harder for releasing the new version. Together with the above changes, new Smalltalk standard pieces will implemented as usual. I remind you the new code is inthe object branch.
Website: http://syx.berlios.deGIT: git:// page: [Less]
Posted over 6 years ago by (Luca Bruno aka Lethalman)
lately I've been interviewed by the new clubsmalltalk. Hey, I know, I'm not so good with English ;)
I'm glad of this, thanks to Hernan Galante.
Posted over 6 years ago by (Luca Bruno aka Lethalman)
in the new branches of Syx (an open source Smalltalk-80 implementation) we're working to try a new kind of memory management and add many features that have been missed until now to focus on other stuff.

The new faster and more ... [More] modern v0.1.8 release will contain the following refactoring:
Objects will be variable-length (minumum 12 bytes on 32-bit processors and 16 bytes on 64-bit processors)By changing the objects also the GC changed to a mark and compact GC
Threaded-switch statement to run processesMore efficient method cache (maybe a simple global cache lookup for this release)
API for primitives will only change slightly.

Suggestions for any new particular technologies are welcome. [Less]
Posted over 6 years ago by (Luca Bruno aka Lethalman)
after several months a new version of Syx has been released. This release contains mostly VM changes and some changes to the Smalltalk Collections. As usual, release notes follow:

This versions enhances a new version of the ... [More] interpreter, major updates to the scheduler, and as usual a lot of bug fixes. Syx left the Google Code SVN repositories because of many connection problems.

You can find informations about the new GIT repository here:

Installation instructions:

API and environment:

SYX_ROOT_PATH and SYX_PLUGIN_PATH environment variables have been introduced. Process and context creation changed. New functions have been added for the scheduler, for manually do events iteration and adding idle functions to wake up semaphores. Startup responsibility has been dropped from libsyx. Added syx errors for system signals to be used with syx_signal. Image recovering has been fixed. Smalltalk:

Covered several standard methods for Collections, Numbers and Object printing/storing. Error reporting from the VM now drops the exception to the Smalltalk environment when the interpreter is running. Random class has been added. Signal handling improvements for the GTK+ plugin. #display family methods have been introduced for Smalltalk objects. Interpreter:

System signal handling has been improved. Cache hash code of Symbols. The interpreter has been refactored to use one stack per Process. Contexts are now created only on demand. Optimized Symbols creation. Signal class has been abstracted. Parser:

The parser have been changed for handling new interpreter specifications. Several fixes to the parser for special cases. Fixed blocks scope. Support Image:

Image snapshot will nullify C pointers Image format has been changed for handling new interpreter specifications. Handle internal interpreter C pointers to be restored the right way. Scheduler:

Different behavior of the scheduler for POSIX and Windows systems has been introduced. Scheduler external idle sources have been added. Asyncronous command line and GTK+ loop using semaphores. This leads to dropping readline. A simple round robin scheduler has been added. Dropped image saving of POSIX fd poll Documentation:

Added lots of new comments. Started documentation project including a manual still under development and a manpage. Thanks to everyone contributing to the project.

See the ChangeLog for a complete list of things that changed. [Less]
Posted almost 7 years ago by (Luca Bruno aka Lethalman)
you all know that Gtk+ has locks for the GUI when dealing with the X server and prevent async events to be sent. This is done by manually acquiring/releasing the lock on Gdk. Many Gtk+ ports don't do this automatically.

Syx used ... [More] gtk_main() into a thread and automatically put gdk enter/leave for each function in its wrapper. It would be somewhat ugly in Smalltalk code having to enter/leave each time.
Of course, on Windows everything leads to troubles with threads.

But Smalltalk has Processes, handled by an internal scheduler. I decided then to not create a thread but cycle through Gtk+ events in the scheduler itself. Now everything works correctly.

Difference with other wrappers? The way Smalltalk is thought let you perform multi-tasking without the need to use OS threads, which means no problems on Windows and no need to take care of the Gdk lock everytime.

In addition, I rewrote part of the Console (Smalltalk-side) to be asyncronous using Semaphores. Now you can work on widgets after you run Gtk main! A small example:

Smalltalk YX 0.1.7 is ready.
Type "help!" to get help.
> Smalltalk loadPlugin: 'gtk'!
> | w |
> w := GtkWindow new.
> Gtk main.
> w add: (GtkLabel new: 'hello').
> w showAll!
a GtkWindow
You can imagine the result ;)
If you want to try it out you can download the scheduler branch snapshot.

Stay tuned for next 0.1.7 release. [Less]
Posted almost 7 years ago by (Luca Bruno aka Lethalman)
I report the post on the mailing list below:

with the next release 0.1.7, once I get a working interpreter and updated all the parts of Syx,
I will move output of doxygen to doc/reference and start a texinfo manual ... [More] in doc/manual.
My idea is to have this kind of manual:
1) What is Smalltalk
2) Why Smalltalk YX
3) Introduction to the language
4) Introduction the Syx environment
5) COMPLETE Class and methods documentation, EACH non private method will be documented with examples
and EACH class will have usage examples
6) Embedding
7) Advanced topics, internal documentation

I know it's not the time yet for Smalltalk YX to get such documentation but I think it will be
a nice boost for the project and also for the entire Smalltalk community.
Since I don't have such fantasy now I will start directly with all except the 5th topic.

Any hint will be appreciated.

The Smalltalk reference will be created automatically from Smalltalk itself. [Less]
Posted almost 7 years ago by (Luca Bruno aka Lethalman)
Smalltalk YX is currently working on refactoring a part of the interpreter, relative to contexts and stack management.
The current version uses one stack per process but always create contexts for each method or block entered.
The ... [More] new branch, called newinterp, won't create those contexts anymore but they will be created only on-demand (e.g. thisContext). This means both less resources and garbage collector usage, and a possible speedup.

More informations on the mailing list here. [Less]
Posted about 7 years ago by (Luca Bruno aka Lethalman)
as usual these release notes follows.

This is a major bug fixes release, but introduce as usual many features. First of all this release put the GNU build (autotools) as first build system, and SCons as secondary which is still ... [More] useful for MingW and the WinCE port.

Full GNU build support X11 plugin A basic CommandLine class for parsing the command line Basic support for handling foreign C pointers and structs/unions from Smalltalk has been added Several fixes for building on Sparc 64 using SCons The -e option from command line has been added Some help and Syx status will be printed in console mode FileStream fileIn has been fixed Class declaration from Smalltalk has been fixed Lexer fixes for symbols, identifier and strings FileStream now handles FILE* instead of file descriptors and this fixed several bugs System startup has been fixed when fileing in files Dictionary rehashing has been fixed Basic support for handling foreign C structs and unions from Smalltalk has been added Thanks to everyone contributing to the project.

See the ChangeLog for a complete list of things that changed. [Less]
Posted about 7 years ago by (Luca Bruno aka Lethalman)
lately i received a request to show how to print Hello world from Syx and a small example on how to open a GTK+ window.

Here are the two examples:
Hello WorldOpening a Gtk WindowHave fun!
Posted about 7 years ago by (Luca Bruno aka Lethalman)
after a few months of low activity due to the university, i finally released the new version of Syx. Release notes follows.

This version includes yet more features, compatibility with other build systems on different platforms ... [More] , important bug fixes and a great performance boost, which will be continued in next releases. A list of the major changes:

MSVC support has been improved ANSI C and strict ISO compilation External declarations for C++ The ST runtime compiler has been replaced with a C-side compiler Class creation issues from ST has been fixed Tracebacks and error reporting have been improved Install desktop files on GNU/Linux platforms Support for the GNU building system has been added as an alternative to SCons Build under MSYS has been fixed Block ensuring has been fixed New examples have been added such as web code browser and a simple GTK+ application Dictionary rehashing has been fixed A better implentation of OrderedCollection? has been enhanced Internal profiling and gprof support at compile-time Created one stack per process against one stack per context This version breaks the API for creating new processes and contexts from C and ST too. Thanks for anyone who contributed to Syx. [Less]