User loginNavigation |
archivesThe Left Hand of EqualsThe Left Hand of Equals, by James Noble, Andrew P. Black, Kim B. Bruce, Michael Homer, Mark S. Miller:
This covers a lot of ground, not only historical, but conceptual, like the meaning of equality and objects. For instance, they consider Ralph Johnson on what object oriented programming means:
And constrast with William Cook's autognosis/procedural-abstraction view, which we've discussed here before. The paper's goal then becomes clear: "What can we do to provide an equality operator for a pure, autognostic object-oriented language?" They answer this question in the context of the Grace programming language. As you might expect from some of the authors, security and trust are important considerations. GADTs as gaurdsIs there some reason Haskell didn't expose GADTs as guards?
-- Haskell
data Term t
Lit Int :: Term Int
App (Term (a -> b)) Term a :: Term b
...
-- Guards
data Term t
Lit Int where t = Int
App (Term (a -> b)) Term a where t = b
...
It seems equivalent and semantically simpler. |
Browse archivesActive forum topics |
Recent comments
2 days 2 hours ago
2 days 23 hours ago
4 days 3 hours ago
4 days 4 hours ago
1 week 2 days ago
1 week 2 days ago
1 week 2 days ago
4 weeks 2 days ago
5 weeks 1 day ago
5 weeks 1 day ago