[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-users] To whom it may concern: Working on TinT
From: |
Kon Lovett |
Subject: |
[Chicken-users] To whom it may concern: Working on TinT |
Date: |
Tue, 14 Feb 2006 12:06:17 -0800 |
Hello List,
I am working on TinT (Tint is not Termite), a Chicken specific
Termite workalike. Alike in the sense that is generally shares syntax
& semantics, but I feel under no constraint to be 100% faithful. (How
could I be, Termite is still evolving.)
Concepts
- Follows "impure" Actor model.
- Messages are sent & received. A message is any serializable scheme
object. Message objects are immutable.
Non-serializable objects are proxied by a process.
All messages are typed with a parallel message typing system. (Non-
Termite)
- Message Receiver is a process. Message Sender is a process.
- A process belongs to a Process Runner. A process runner is on a
node. (Non-Termite)
Node corresponds to Machine. Process Runner to OS Process.
- A node is local or remote. All local nodes share physical
resources, especially memory. A remote node only shares a network.
The current process runner on a local node is called the This Node.
- A this node process is an active procedure (SRFI-18 threads).
- A non-this node process is handled by a this node proxy process.
- The physical method of message passing is node locale dependent.
This node processes share objects in the OS process space.
Local node processes share objects in a shared memory space. (Non-
Termite)
Remote node processes serialize objects and use a network protocol,
not necessarialy reliable.
- Multiple naming systems, with scope of this, local & remote nodes.
(Non-Termite)
- Identifiers are names (as defined by a naming system).
- A node identifier could be (IP TCP-PORT).
- A process identifier could be (SERIAL-NUMBER NODE-ID).
- Out-of-band messages are used for Exception Conditions (SRFI-12
conditions).
The Naming & Typing Systems are to help abstract away possible
support for non-Chicken Processes, and therefore Messages, etc.
No time table. Ready when it's ready.
Feedback welcome. Doesn't mean I will act on all suggestions,
criticisms, ...
Hell, I already don't like This Node.
Best Wishes,
Kon
- [Chicken-users] To whom it may concern: Working on TinT,
Kon Lovett <=