Commit a321c55e authored by POTTIER Francois's avatar POTTIER Francois

TODO.

parent a607ad3a
...@@ -9,10 +9,16 @@ Investigate a way of generating (most of) the code in VisitorsRuntime. ...@@ -9,10 +9,16 @@ Investigate a way of generating (most of) the code in VisitorsRuntime.
Implement mapreduce(2) in VisitorsRuntime. Implement mapreduce(2) in VisitorsRuntime.
Finish and document the implementation of [polymorphic].
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
TODO (PERHAPS) TODO (PERHAPS)
Think about enabling [polymorphic] and [fold] together.
That would require letting the user specify the result type
associated with each type constructor.
Implement and document endoreduce? Implement and document endoreduce?
Share code by using "Map endo" internally where endo : bool. Share code by using "Map endo" internally where endo : bool.
...@@ -39,12 +45,6 @@ This could be used to define visit_hash_consed once and for all, ...@@ -39,12 +45,6 @@ This could be used to define visit_hash_consed once and for all,
in a clean way, as a base class that could be inherited, in a clean way, as a base class that could be inherited,
taking the memoization table as an argument. taking the memoization table as an argument.
If [iter] and [reduce] inherited from [fold],
with implementations of the [build_] methods,
then it would be possible to override one of these methods
to obtain custom behavior.
Unfortunately, in the case of [map], this seems impossible.
In [fold], In [fold],
the build_ methods could take not only the results of the recursive calls, the build_ methods could take not only the results of the recursive calls,
but also their arguments (for added expressive power). but also their arguments (for added expressive power).
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment