Some people in the weblocks community have been thinking about some of the things I’ve been pondering. No real answers. I need to play with the continuations in arnesi and cl-cont, but if we can’t move them between address spaces (either distributed or in different unix processes) it ...
read the whole post »matching Erlang’s receive semantics
On Sunday and Monday I patched our version of receive. It now matches the Erlang semantics of blocking until a suitable match is found. This works in the unix-process and thread based concurrency models (it required changes to the API, but shows how we should grow the pluggable concurrency API ...
read the whole post »the great CLOS experiment
I just committed the last touches on some pretty major changes in the erlang-in-lisp epmd branch. I was distracted from my linking/registering work on Tuesday by the fragility of the original design. I had an idea to use CLOS and hoped this would help achieve our goals of pluggable ...
read the whole post »sname, name, self, node
One of the things I’ve always been unclear on is how a server binds to particular address. This became apparent today in my erlang-in-lisp work with iolib and erlang itself. I had been messing around with distributing the ping-pong example last week and things were not going as smoothly ...
read the whole post »ping-pong
The ping-pong example is working with one caveat. Matches against patterns with just one atom must still be wrapped in a list. This is annoying, but we can fix it.
This first step happened a bit more slowly than I’d like, but I can see where we’re going ...
read the whole post »eil: top-level
One of the things we may want to think about for erlang-in-lisp is a top level. In erlang, one can send and receive messages right at the REPL because it is a process with a mailbox. For us, we have to do some additional bookkeeping (thus the standard REPL is ...
read the whole post »simple example working
I have a very simple example (sort of) working in erlang-in-lisp/examples.lisp. I did a quick hack to integrate fare-match into send/receive. The matching really isn’t working because the message is being mangled before it is sent over the socket. More tomorrow…
read the whole post »process graphs and trees
One of the interesting things about processes in Unix is that they are tree structured. This is easily seen with the pstree command; init is the root of all processes. Several things, can, however go wrong with this tree. Defunct or zombie processes show up when a child process dies ...
read the whole post »make-socket-pair: remember to flush
As I suspected, make-socket-pair worked just fine. I discovered this yesterday when I set the input and output buffer sizes to 1. Then, I had the sinking sensation that while I’d already tried flushing the buffer, I had been flushing the wrong side.
I think one of the side ...
read the whole post »eil: week one report
Well the first week of SoC has come and gone. I’m disappointed with my progress. I had hoped to have some simple ping/pong examples working by the end of the first week, but I’ve yet to resolve some issues with iolib and message passing. Realistically, I think ...
read the whole post »