-
Notifications
You must be signed in to change notification settings - Fork 257
Description
I'm happy with the local details of #2833 , but I'm starting (since already a while now) to be very dissatisfied with each of the underlying design decisions, notwithstanding my own refactorings which, like that one, have perpetuated suboptimal choices...
Vector
rather thanVec
(but this ought to be inessential, in view of the following ... but see also DefineAlgebra.Definitions.RawMonoid.sum
usingData.Vec.Vec
#1886 on the topic)sum
as an instance of aFoldable
operation/operation on aFoldable
functor.
I'm grateful to Oleg Kiselyov for drawing my attention to various invited talks by Guy Steele over the 2010s about this in the context of parallel programming in general, and FORTRAN/Fortress in particular, but also to a (much) longer history (1970s? 1980s?) in the Dijkstra et al. lineage of so-called "Eindhoven Quantifier Notation" (discussed eg here), as well as Bertot et al. "Canonical Big Operators" in Coq/SSReflect (as it then was) in the 2000s.
Shoutouts also to Johannes Waldmannn for his bracing 2018 essay on lists in haskell ...
We can, and should, do better!
Originally posted by @jamesmckinna in #2833 (comment)
Cf. the proposed v3.0 breaking
changes in #2553 ...