←back to thread

141 points winkywooster | 2 comments | | HN request time: 0.533s | source
1. titanomachy ◴[] No.40218025[source]
> At its core is a new programming language implementing a new programming paradigm, at the same level as the “object-oriented”, “imperative”, “logic”, and “functional” paradigms... Rama generalizes the concept of a function into something called a “fragment”... a fragment can output many times (called “emitting”), can output to multiple “output streams”, and can do more work between or after emitting.

This sounds really similar to programming with observables (e.g. RxJS), is a "fragment" an even more general concept?

I used observables when I did frontend development, I found it a useful paradigm (once I got my head around the idea).

replies(1): >>40218157 #
2. nathanmarz ◴[] No.40218157[source]
A fragment itself is a generic programming construct that serves the same purpose as a function (just more general). When used in Rama topologies, they serve a similar role as observables in terms of reacting to new data as it flows through and sending any amount of information downstream to any number of output streams.