Skip to content

[ design ] use higher-level programming abstractions #2834

@jamesmckinna

Description

@jamesmckinna

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...

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 ...

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions