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

Reply via email to