RDP is viable in almost any language. It could be represented with OO or procedural. Ross Angle has partially developed JavaScript implementations, and I'd like to compile to JS.
I'm currently developing a bytecode for RDP which also works well for procedural, functional.
--
You received this message because you are subscribed to the Google Groups "reactive-demand" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reactive-dema...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Arrows and static types aren't critical to RDP. They just provide some useful constraints, ensure more programs are valid before runtime.
Also Arrowized vs. Monadic APIs... this is less about syntax, more about whether you're working with and composing first class behaviors (signal -> signal) vs. directly manipulating signal values.
What arrows protect you from that monads do not, primarily, is introducing a signal value out of thin air. RDP forbids this (due to duration coupling). Fortunately, there are other ways to enforce or encourage the same property, e.g. ADTs or wrappers to prevent accidental construction of a signal.
Arrows did help me formalize RDP and understand it. But I may favor a monadic API the next time I implement RDP. It's more convenient for the ad-hoc data plumbing.
Static typing, of course, mostly prevents us from accidentally comparing apples and oranges and offers some performance benefits. I find it convenient, except when the type system isn't expressive enough (such as when modeling generic data plumbing or staged programming).
Anyhow, using Rust or Erlang should not be an issue. IIRC, a few people have partially implemented RDP in JavaScript and Arc.
--
You received this message because you are subscribed to the Google Groups "reactive-demand" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reactive-dema...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "reactive-demand" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/reactive-demand/QD4-1YBS8gM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to reactive-dema...@googlegroups.com.