
Hello all, Recently I was wondering something: is there any reason to keep -fext-core around? In particular, it's been broken for a while at this point, see GHC bug #5630[1] As far as I'm aware there really aren't any users of it still around these days, at least none working with a modern GHC. And it seems like if people were to need access to Core, they could use a plugin or some such to get direct access to what they want. Simon mentioned removing ExtCore in face of replacing it with IfaceSyn in the compiler. I'm not entirely sure how much work that would be to bring it all up to scratch if people needed it, but maybe it's worth thinking about. One other issue is a notion of semantics which is present in External Core, but we also now have a documented semantics for GHC's core language as well (which has evolved quite a bit), so I don't know how much that matters. So long story short: I don't think anyone is using it, maintaining it, and it seems subsumed by more recent events. Therefore, if nobody objects, I'd vote to remove -fext-core from GHC, unless someone is willing to step up and really maintain it. If you're using it, you should probably speak up soon I'd imagine... [1] https://ghc.haskell.org/trac/ghc/ticket/5630 -- Regards, Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/

+1 from me
I’ve been meaning to say essentially the same thing as you just did. We all seem to concentrate on *adding* things to GHC; it’s a bit refreshing to consider *removing* something.
Echoing Austin somewhat:
- Anyone using external core is either working with an old GHC or is kludging quite a bit, as it’s horribly rotten compared to “internal” core.
(For what it’s worth, I’m responsible for much of the rot. When I started working on Core, external core was just enough rotten already that I didn’t feel compelled to keep it up to date... but now it’s in a sorry state, indeed.)
- With the GHC API, the ability for plugins, and HERMIT[1], I think external core’s utility has been eclipsed.
- GHC actually contains a parser for external core, which is type-checked during compilation, but its functions are never actually called anywhere! This is a sure sign of Something Wrong.
Richard
[1]: http://www.ittc.ku.edu/csdl/fpg/software/hermit.html
On Apr 27, 2014, at 9:14 AM, Austin Seipp
Hello all,
Recently I was wondering something: is there any reason to keep -fext-core around? In particular, it's been broken for a while at this point, see GHC bug #5630[1]
As far as I'm aware there really aren't any users of it still around these days, at least none working with a modern GHC. And it seems like if people were to need access to Core, they could use a plugin or some such to get direct access to what they want.
Simon mentioned removing ExtCore in face of replacing it with IfaceSyn in the compiler. I'm not entirely sure how much work that would be to bring it all up to scratch if people needed it, but maybe it's worth thinking about.
One other issue is a notion of semantics which is present in External Core, but we also now have a documented semantics for GHC's core language as well (which has evolved quite a bit), so I don't know how much that matters.
So long story short: I don't think anyone is using it, maintaining it, and it seems subsumed by more recent events.
Therefore, if nobody objects, I'd vote to remove -fext-core from GHC, unless someone is willing to step up and really maintain it. If you're using it, you should probably speak up soon I'd imagine...
[1] https://ghc.haskell.org/trac/ghc/ticket/5630
-- Regards,
Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/ _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs

In principle I think it's a pity to lose External Core. It provides an interface to GHC that is based on the simplest possibly connector (a text file), and allows GHC's front end or back end to be used by other systems written in different languages. However, as you say, it has received no love for many years. I have repeatedly sought someone to support and maintain External Core, but no one has stepped forward. That doesn't mean that no one is using it! But the absence of bug reports, given how much it has bit-rotted, is a strong indicator that no one is. So I'd like hear from our users, but I won't stand in the way of removing it. Simon | -----Original Message----- | From: Glasgow-haskell-users [mailto:glasgow-haskell-users- | bounces@haskell.org] On Behalf Of Austin Seipp | Sent: 27 April 2014 14:14 | To: ghc-devs@haskell.org; glasgow-haskell-users@haskell.org | Subject: Removing -fext-core | | Hello all, | | Recently I was wondering something: is there any reason to keep -fext- | core around? In particular, it's been broken for a while at this point, | see GHC bug #5630[1] | | As far as I'm aware there really aren't any users of it still around | these days, at least none working with a modern GHC. And it seems like | if people were to need access to Core, they could use a plugin or some | such to get direct access to what they want. | | Simon mentioned removing ExtCore in face of replacing it with IfaceSyn | in the compiler. I'm not entirely sure how much work that would be to | bring it all up to scratch if people needed it, but maybe it's worth | thinking about. | | One other issue is a notion of semantics which is present in External | Core, but we also now have a documented semantics for GHC's core | language as well (which has evolved quite a bit), so I don't know how | much that matters. | | So long story short: I don't think anyone is using it, maintaining it, | and it seems subsumed by more recent events. | | Therefore, if nobody objects, I'd vote to remove -fext-core from GHC, | unless someone is willing to step up and really maintain it. If you're | using it, you should probably speak up soon I'd imagine... | | [1] https://ghc.haskell.org/trac/ghc/ticket/5630 | | -- | Regards, | | Austin Seipp, Haskell Consultant | Well-Typed LLP, http://www.well-typed.com/ | _______________________________________________ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

For people keeping score, I created a branch with this already done
the other day:
https://github.com/ghc/ghc/tree/wip/kill-extcore
Again, unless someone speaks up *real* soon, I'm probably going to get
rid of it before the end of the week - so your timeframe is something
like 72 hours to make a peep before it goes away....
On Mon, Apr 28, 2014 at 4:09 AM, Simon Peyton Jones
In principle I think it's a pity to lose External Core. It provides an interface to GHC that is based on the simplest possibly connector (a text file), and allows GHC's front end or back end to be used by other systems written in different languages.
However, as you say, it has received no love for many years. I have repeatedly sought someone to support and maintain External Core, but no one has stepped forward. That doesn't mean that no one is using it! But the absence of bug reports, given how much it has bit-rotted, is a strong indicator that no one is.
So I'd like hear from our users, but I won't stand in the way of removing it.
Simon
| -----Original Message----- | From: Glasgow-haskell-users [mailto:glasgow-haskell-users- | bounces@haskell.org] On Behalf Of Austin Seipp | Sent: 27 April 2014 14:14 | To: ghc-devs@haskell.org; glasgow-haskell-users@haskell.org | Subject: Removing -fext-core | | Hello all, | | Recently I was wondering something: is there any reason to keep -fext- | core around? In particular, it's been broken for a while at this point, | see GHC bug #5630[1] | | As far as I'm aware there really aren't any users of it still around | these days, at least none working with a modern GHC. And it seems like | if people were to need access to Core, they could use a plugin or some | such to get direct access to what they want. | | Simon mentioned removing ExtCore in face of replacing it with IfaceSyn | in the compiler. I'm not entirely sure how much work that would be to | bring it all up to scratch if people needed it, but maybe it's worth | thinking about. | | One other issue is a notion of semantics which is present in External | Core, but we also now have a documented semantics for GHC's core | language as well (which has evolved quite a bit), so I don't know how | much that matters. | | So long story short: I don't think anyone is using it, maintaining it, | and it seems subsumed by more recent events. | | Therefore, if nobody objects, I'd vote to remove -fext-core from GHC, | unless someone is willing to step up and really maintain it. If you're | using it, you should probably speak up soon I'd imagine... | | [1] https://ghc.haskell.org/trac/ghc/ticket/5630 | | -- | Regards, | | Austin Seipp, Haskell Consultant | Well-Typed LLP, http://www.well-typed.com/ | _______________________________________________ | Glasgow-haskell-users mailing list | Glasgow-haskell-users@haskell.org | http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
-- Regards, Austin Seipp, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/
participants (4)
-
Austin Seipp
-
Johan Tibell
-
Richard Eisenberg
-
Simon Peyton Jones