safe maps within GHC?

Norman Ramsey nr at cs.tufts.edu
Mon Mar 28 17:29:03 UTC 2022


 > Feel free to have a try, so we can evaluate whether the
 > cost (in understanding what's going on) is worth the benefit.

Sounds good.  This experiment goes on my "someday/maybe" list.


Norman


 > On Fri, 25 Mar 2022 at 19:26, Richard Eisenberg <lists at richarde.dev> wrote:
 > 
 > > I've tried once or twice to introduce more static checking in the GHC
 > > source code. My limited experience with this is that the effort is large,
 > > and the payoff small. Maybe your experience will be different -- I haven't
 > > tried the particular technique in that paper -- but I probably wouldn't
 > > personally invest much energy in this direction.
 > >
 > > Richard
 > >
 > > > On Mar 22, 2022, at 2:10 PM, Norman Ramsey <nr at cs.tufts.edu> wrote:
 > > >
 > > > A blog post of lexi-lambda's recently put me onto Matt Noonan's
 > > > technique "Ghosts of Departed Proofs" [1], which appeared in the 2018
 > > > Haskell Symposium.  One example that intrigued me was a safe `Map`,
 > > > which uses the type system to guarantee that lookup does not fail.
 > > > Maps are used pretty extensively in Cmm-land; for example, I recently
 > > > have been using them to get information like the dominator set or the
 > > > reverse postorder number of every node in a `CmmGraph`.  In these
 > > > maps, every `Label` that appears in the `CmmGraph` is expected to have
 > > > an entry.  For the moment, I am just using the standard lookup
 > > > function; if an entry should be missing, my code calls `panic`.
 > > > The idea of eliminating these calls and getting compile-time type
 > > > safety is intriguing, but I'm not sure the game is worth the candle.
 > > >
 > > > What do other GHC devs think?
 > > >
 > > >
 > > > Norman
 > > >
 > > >
 > > >
 > > >
 > > > [1]
 > > https://iohk.io/en/research/library/papers/ghosts-of-departed-proofsfunctional-pearls/
 > > > _______________________________________________
 > > > ghc-devs mailing list
 > > > ghc-devs at haskell.org
 > > > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
 > >
 > > _______________________________________________
 > > ghc-devs mailing list
 > > ghc-devs at haskell.org
 > > http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
 > >
 > 


More information about the ghc-devs mailing list