Structs (was RE: Record selectors)

Luke Gorrie <>
Mon Jan 20 14:40:04 CET 2003

Chris Pressey <> writes:

> An example of this sort of 'use processes for *everything*' approach might
> be a project I want to try sometime this year, that is, to write a digital
> circuit simulator in Erlang.  Instead of messing with nasty physics
> equations, I think the problem could be modelled with one process per gate
> (or chip). Each chip process would receive a message every time one of
> it's pins changed state, so messages would essentially look like {N, M}
> where N is the pin number and M is either rising_edge or falling_edge. 
> The process itself would take care of 'steady' state by tracking it every
> time a new message came in, and would also produce new messages to send to
> other chips wired to its output pins.
> Doing this with one process per truly concurrent unit should make it
> simple (almost trivial) to implement - but the thought of doing it this
> way with any language besides Erlang gives me shivers.

Have you seen the lovely Scheme one in SICP?

Along with the next little section (3.3.5) that's got to be one of the
coolest things I've seen.


More information about the erlang-questions mailing list