Personal info for cyberlync

This person is currently certified at Apprentice level.

Name: Eric Merritt

No personal information is available.

Recent diary entries for cyberlync:
RSS

13 Jul 2004  »

Well, after a long sojourn with Lisp and Forth I am back with squeak. I love both of these langauges but squeak has one major thing that these langauges lack. That thing is a world class tool suite. This is just not something you will get with any other langauge available today. Even langauges with the powerful features of Lisp and forth.

13 Nov 2003  »

Well I've decided to jump into squeak a little more then I have in the past. I am afraid that I have been a little contaminated by erlang. Its a great process oriented functional language thats really about the best there is as far as process oriented langauges go. You can literally have hundreds of thousands of individual processes running at any time. Now this sounds like a big nightmare to those people used to mainstream langauges. I can hear the gasps now "All those semaphores! How do you keep them strait" or "Just think of all the deadlock issues!". Well, guess what, you don't have to worry about these issues at all. How can that be you ask? well erlang process cannot share data at all nor can they call each other directly. Each process has its own mailbox, which you can think of as a message queue. Within the process each message is processed synchronously. There are a few drawbacks, one of the big ones is that messages cannot return values a new message must be sent to the original process that sent the message. The other big problem (at least in my mind) is that there isn't an OO capability or any development environment.

Well, after using erlang I tend to think in terms of concurrent activities and its hard to leverage my mind back into a single process program or a multi-process program that uses semaphores and mutexes. So I have been vacilating do I use squeak, a great langauge that has an awesome development environment and really nice OO semantics or do I use Erlang, an excellent process based function language with no development environment (outside of emacs)? Well I think I have finally come to a conclusion. I will use squeak, but I will also try to add some to the benifits of erlang processes to the squeak environment.

My first and simplest goal will be the creation of active objects. This will just be a proxy object that allows and object to site in a thread and process messages in a single threaded manner. The proxy object will use #doesNotUnderstand to catch message and put them in the active objects mailbox. There will also need to be an active object manager that tries to emulate a preemtive thread system for all managed active objects.

Next I would like to spend a bit of time making the current threading system as efficient as possible. It may be that its already at max efficiency and nothing more is need, but if nothing else this will give me a chance to get familiar with the internals of squeaks process model.

Finally, and I am not even sure this is even possible. I would like to modify squeaks process model to be a true preemtpive multi-process system. This may never make it into the distro, becuase I am not sure most people want it and it may cause some serious problems with multi-process programs written for the old system.

There are a few problems with this approach. Probably the biggest is that I know very little about squeaks internals another is that I don't know too much about how a mutlprocess system is implemented. Fortunatly I have some resources to draw on and it shouldn't take too long to get up to speed on the subject.

The other big issues is that squeak will never have the general safe mutli-processing that Erlang has. There is just to much shared state all over the place. I do think it will be possible, however, to create a very safe and easy threading subsystem that anyone could make use of.

This person has certified others as follows:

Others have certified this person as follows:

[ Certification disabled because you're not logged in. ]

[ Home | Articles | Login/Account | People | Projects ]