The default memory size that Squeak allocates is a bit low for the newest version ( we shoudl change that).
sqXWindow.c(91): #define DefaultHeapSize (20*1024*1024) /* 20 megabytes */
Ian
In a recent e-mail, I was asked why should anyone produce an external library, such as rePlugin, that links to a program that could obviously be coded in Smalltalk, since the latter would be more reuseable.
A salient point. However, I have an answer in the case of a regular expression libary.
I was unable to find a readily usable Smalltalk library with all of the functionality and performance of PCRE, and wasn't inclined at this moment to write one myself. I am not sure that adapting an existing Smalltalk library not specifically designed to be a Squeak plugin is a cakewalk either.
My key reasons for building rePlugin were these:
(1) There is an active ongoing OSS constituency that maintains and updates PCRE, with a solid track record. The library is fully functional, up to speed with contemporary Perl-style semantics, fast for a "Traditional NFA" regexp library, and is likely to be kept up to date. Maintaining a parallel track in a different language seems to me wasteful. Philip Hazel did an excellent job in producing and maintaing PCRE over many years, which is why Guido adopted it in Python to replace his regex library, even though there was a substantial existing base of code using regex.
(2) To show one way that integrating such a library can be done for Squeak in OSS-land. Note that the code here is readily adaptable to a variety of existing libraries; and that the code still works even though the library makes use of malloc/free.
[PCRE is a gentle library in this regard, in that its memory allocation is well-localized, and the buffers it produces contain relocatable data that can then be loaded into a Squeak ByteArray -- a more nasty package in this sense (such as Gnu's rx library) requires a "two worlds" approach, complete with finalization, startUp and shutDown issues. I chose PCRE primarily because I can't deal with the Posix re syntax, but also for this reason as well.]
I have also built a PluginPlugin, for connecting to standalone preexisting shared libraries for hacking to C from Squeak. Its still not ready for prime-time, but works just fine in my existing tests. Write if you are interested.
My next project is slightly more ambitious, but I think achievable and possibly quite useful -- Tk.
Make sure the changes and image files are rw access for the active user.
You need to explicitly send the VM a parameter to enlarge the memory it grabs for execution -
../<vmfilename> -memory 32m <imagefilename>
Works fine for me on Linux. Hope this helps...
Daniel
squeak-dev@lists.squeakfoundation.org