
Hello! Alexey wrote:
One question: the runtime checks in traverse are for internal consistency only, right?. I could not think of runtime errors arising from gmap2-calls. Furthermore, I think the issue of unfold errors is solved, right? (Although these properties are not known by the type system.)
Yes, this is correct. Although gmap2 could be given a more general type, like (a -> b) -> f x -> f y in which case the run-time errors are significant. Such errors will arise when mapping id on [Int] and expect [Bool] in the result. The mapping will succeed btw on empty lists. Alexey wrote:
I will mention this in the presentation though (and update the technical report, which admittedly is rather delayed).
Thank you! Perhaps the journal version of the comparison paper (which several people suggested) could discuss the issue in some detail (at least from the perspective of performance and static-dynamic trade-off). It seems there might be a possibility of a five-minute presentation about gmap during the `Hot Topics' discussion at the Generic Programming Workshop in Victoria in September -- provided the organizers will schedule the hot topics session and deem gmap hot enough. Should we inquire the workshop organizers? I will be back on Aug 18. I was in Japan and Taiwan in July, and will be in Germany (Hamburg) in August. I guess I get a chance to compare German trains with Japanese ones. Claus wrote:
if I had followed my own choice of metaphor to the end, I would have known that X marks the spot only on a map, not on the real thing (or else everyone could find the treasure..).
I really like that metaphor! Cheers, Oleg