Changes between Version 1 and Version 2 of Ticket #66

May 4, 2006 7:46:54 PM (11 years ago)
Sven Moritz Hallberg

Changed project goal to preparing a new Yampa release.


  • Ticket #66

    • Property Summary changed from Add support for "incremental evaluation" (lazy processing) to Yampa to Prepare a new Yampa release, including GADT optimizations
  • Ticket #66 – Description

    v1 v2  
    11The [ Yampa] library for functional reactive programming
    2 always uses CPU time, continuously updating the signal output,
    3 even while nothing is happening.
    4 This makes it undesirable to use for most applications
    5 which cannot assume to have the machine all to themselves.
    6 While this problem can be lessened by iterating the reactimation loop at a reduced
    7 frequency (the approach taken by e.g.
    8 [ wxFruit]),
    9 it still leaves some waste overhead and requires special attention to
    10 areas needing lower update latency.
     2has not had a public release for some time.
     3Henrik Nilsson has recently published
     4[ a paper]
     5on further optimizing the framework using GADTs.
     6However, some work remains to be done on the code before a new
     7proper release can be made.
    12 This project would enable Yampa to make some judgement as to when output needs to be recomputed,
    13 allowing it to blocking-wait for now input during periods of inactivity.
     9This project would entail:
     11 * Clean and polish Nilsson's code.
     12 * Revise the library's API.
     13 * Isolate the GADT-based optimizations and
     14   make them a compile-time option,
     15   to avoid portability regress.
     16 * Replace the current build system with a Cabal-based one.
     17 * As far as time permits, investigate further optimizations
     18   (such as those hinted in the paper).
     20NB. This project idea was originally "Add support for incremental
     21evaluation (lazy processing) to Yampa". Unfortunately,
     22correspondence with Henrik Nilsson, as well as the poster's
     23own experimentation, have left the feasability of that
     24project uncertain.
     27== References ==
     29 * Yampa. []
     31 * Henrik Nilsson: "Dynamic Optimization for Functional Reactive 
     32   Programming using Generalized Algebraic Data Types".
     33   []
    1535== Interested Mentors ==