On Wed, 2007-04-18 at 04:23 +1000, skaller wrote: > On Tue, 2007-04-17 at 10:24 -0400, Chris King wrote:
> Stackless Python has been able to do that for ages. Generators > are based on it, but they didn't go the whole way for the > same reason Felix can't interleave function execution: > the C stack gets in the way. To say this another way: Felix functions and C functions can nest inside each other, that is, C code called BY Felix can happily call Felix functions which call C functions .. etc. So the machine stack has alternate layers of C and Felix stack. You can't do this with fibres. More precisely C can embed a complete Felix system in a callback, but that system can't communicate with other such systems: by that I mean you can't use channels to interleave control and pass data outside the local fibre set. You can of course use shared memory, pthreads, pchannels, and async I/O streams. [BTW: schannels, pchannels, and async I/O streams should be unified by Felix 1.1.4] -- John Skaller <skaller at users dot sf dot net> Felix, successor to C++: http://felix.sf.net ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Felix-language mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/felix-language
