Linked by Thom Holwerda on Mon 5th Jun 2006 18:15 UTC, submitted by Adam Dunkels
General Development Protothreads are an extremely lightweight, stackless, thread-like programming abstraction designed for severely memory constrained embedded systems that may have as little as a few hundred bytes of RAM. Protothreads are designed to replace event-driven C code with sequential programming but without the memory overhead of full multithreading - a protothread requires only two bytes of RAM. Protothreads are implemented in ANSI C, does not require any machine code, and is therefore highly portable. Version 1.3 adds the possibility to determine if a protothread is blocked, has yielded or has ended, and can be downloaded here. Also be sure to read how protothreads work, under the hood.
Thread beginning with comment 130918
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: preprocessor forever
by zlynx on Mon 5th Jun 2006 21:43 UTC in reply to "preprocessor forever"
zlynx
Member since:
2005-07-20

If you like preprocessor tricks in C, you should love LISP. Since the language is written in its own data structure, LISP macros are actual LISP programs that process and rewrite the rest of the program (or even themselves) during compilation.

Reply Parent Score: 1

RE[2]: preprocessor forever
by transputer_guy on Tue 6th Jun 2006 02:12 in reply to "RE: preprocessor forever"
transputer_guy Member since:
2005-07-08

We are all doomed to reinvent Lisp in one way or another, though its much worse for those that don't know that.

While I wouldn't choose to write in Lisp today, I still on my most respected language list (of (lists)) and my other list of most unreadable. I was never a fan of Lambda calculus either.

I can live without self modifying (or even self constructing code on the fly) since caches & OoO cpus don't much like it but then a compiler in your project can give you some of that.

Reply Parent Score: 1