On Tue, Nov 8, 2011 at 4:54 PM, Dan Amelang <daniel.amel...@gmail.com>wrote:
> On Tue, Nov 8, 2011 at 4:22 PM, David Barbour <dmbarb...@gmail.com> wrote: > > Can you elucidate the distinctions between Nile and Gezira? > > Nile is the programming language. Its syntax is a bit like Haskell. > The high-level model of computation is a variation of Kahn process > networks. The low-level part is a single-assignment, > mathematics-oriented language for specifying the internal behavior of > a process. > I've been reading through Nile and Gezira code and understand the model better at this point. It's basically pure functional stream processing, consuming and generating streams. I understand that `>>` generates one output, and `<<` seems to push something back onto the input stream for re-processing. Which Nile operators do you anticipate would translate poorly to shaders? I guess `zip` might be a problem. SortBy and pushback operators - at least if finite - could be modeled using shader global state, but that would be a bit of a hack (e.g. receive some sort of EOF indicator to emit final elements). Hmmm.... I think I'd be in trouble actually writing Nile code... I don't have a text editor with easy Unicode macros. Which do you use? > > None of Conal Elliot's "pure functional graphics" > projects ever tried to perform, say, anti-aliased rasterization > (AFAIK). They always relied on non-"pure functional" systems > underneath to do the heavy lifting. > I agree that Conal Elliott's focus has certainly been on composable, morphable, zoomable graphics models - primarily, everything that happens before rasterization. Anti-aliased rasterization can certainly be modeled in a purely functional system, or even via shaders in a graphics pipeline. Are you trying anything like sub-pixel AA? (seems a bit too system dependent for me, but it's an interesting subject.) My own interest in this: I've been seeking a good graphics model for reactive systems, i.e. rendering not just one frame, but managing incremental computations and state or resource maintenance for future frames. I don't think Gezira is the right answer for my goals, but I'll study and learn more from it.
_______________________________________________ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc