Hi,

I talked a bit with Janus about possible transformations which a VIFF
compiler should do -- this is just off the top of my head:

* The if-statement desugaring, but done correctly, not with the bugs
  of my little prototype as pointed out by Tomas :-)

* Rebalacing of associative operations. A program like this

    x = a * b * c * d * e * f * g * h

  is executed using 8 rounds, but it can be executed with 3 rounds if
  the compiler evaluates things as

    x = ((a * b) * (c * d)) * ((e * f) * (g * h))

  that is, as a tree. This should work for any associative operator.

* We can do a number of exclusive-or's more efficiently if we batch
  them together -- VIFF cannot do this since it evaluates the program
  statement by statement, so a compiler would be very helpful here.

* Probably more... :-)

-- 
Martin Geisler
_______________________________________________
viff-devel mailing list (http://viff.dk/)
[email protected]
http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk

Reply via email to