From a321c55e554ff1196cf6707e6e9353110968724e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franc=CC=A7ois=20Pottier?= Date: Thu, 2 Mar 2017 18:19:27 +0100 Subject: [PATCH] TODO. --- TODO | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/TODO b/TODO index ec4635a..819a16d 100644 --- a/TODO +++ b/TODO @@ -9,10 +9,16 @@ Investigate a way of generating (most of) the code in VisitorsRuntime. Implement mapreduce(2) in VisitorsRuntime. +Finish and document the implementation of [polymorphic]. + ------------------------------------------------------------------------------ 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? 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, in a clean way, as a base class that could be inherited, 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], the build_ methods could take not only the results of the recursive calls, but also their arguments (for added expressive power). -- GitLab