lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Thijs Schreijer wrote:
How does this compare to LTN12?

LTN12 is completely passive. It describes the successive steps: who produces data (sources), hwo transforms them (filters), who consumes them (sinks). But none of those elements actively decide to request or emit data: once you source+filters+sink chain is built, pass it to the LTN12 pump, which will actually force data to move across the chain.

It forces you, in your design to decouple "how data are produces" from "by whom and how are they actually moved around". You're also pretty much forced to keep the latter part trivial. We've found more than once that it forces to refactor our code in much cleaner ways.

Conversely, concurrent programming systems such as LuaCSP are mostly about taking decisions about what moves where, when and why: channels are intrinsically active whereas ltn12 sources and sinks are intrinsically passive.

Cuero Bugot wrote:
We actually worked on a similar topic [...] https://github.com/SierraWireless/luasched


Indeed!
Can you detail the reasons why you developped LuaCSP? Just for fun, or is it part of a bigger project?