6 ms·
I know a few of the investment banks have this kind of thing internally, implemented as a DAG: http://en.wikipedia.org/wiki/Directed_acyclic_graph http://en.wik
by mtford 12y ago
I know a few of the investment banks have this kind of thing internally, implemented as a DAG: http://en.wikipedia.org/wiki/Directed_acyclic_graph http://en.wikipedia.org/wiki/Directed_acyclic_graph. Cool stuff.
- agumonkey 12y agoMany reactive dataflow programs are DAG based (at least most major 3D/CGI packages are). Simple and powerful.
- seanmcdirmid 12y agoMy reactive programming language can handle cyclic dependencies; DAGs are too inexpressive for general use (e.g. iterative computations). Getting that to work correctly is kind of scary though (especially when non-monotonic change is also supported).
- a-saleh 12y agoWhat language would that be? I have skimmed through your papers, and they seem interesting, but can't find any downloads to play with :-)
- seanmcdirmid 12y agoYinyang still. I want to release something soon, but need to find a purpose for it; right now it's just fly by night language design. I was also thinking about porting the editor to mono.cairo so more than just win users could play with it (going to javascript is a no go given no multithreading with shared memory).
- ntoshev 12y agoI guess "working correctly" for cyclic dependencies means you need to introduce the concept of time and be careful to update everything in the proper moment? What is this useful for?
- seanmcdirmid 12y agoSee http://research.microsoft.com/apps/pubs/default.aspx?id=211297 http://research.microsoft.com/apps/pubs/default.aspx?id=2112... if you haven't already. I have both time and phases; time is used for versions and discrete updated via event handling; phases are used to ensure state doesn't get "stuck" in a cycle on a non-monotonic change. Rollback is used instead of carefully updating anything in the right order, phases however suppress when updates can be seen during processing. It's generally useful for writing reactive, incremental, iterative programs.