Fat interface files?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Fat interface files?

Ben Gamari-3
Hi Edward,

While chatting with the ghc-ide folks recently I realized that it would
be useful to be able to preserve Core such that compilation can be
restarted (e.g. to be pushed down the bytecode pipeline to evaluate TH
splices).

As I recall this is precisely what you implemented in your "fat
interface file" work. Do you recall what the state of this work was? Do
you have a branch with last-known-good work? Do you recall any tricky
questions that remained outstanding?

Cheers,

- Ben

_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

signature.asc (497 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Fat interface files?

Moritz Angermann-2
Just to make sure we are aware of all the ongoing efforts. We've been working on ebedding Core into interface files as well.

Cheers,
 Moritz

On Wed, Oct 21, 2020 at 12:06 AM Ben Gamari <[hidden email]> wrote:
Hi Edward,

While chatting with the ghc-ide folks recently I realized that it would
be useful to be able to preserve Core such that compilation can be
restarted (e.g. to be pushed down the bytecode pipeline to evaluate TH
splices).

As I recall this is precisely what you implemented in your "fat
interface file" work. Do you recall what the state of this work was? Do
you have a branch with last-known-good work? Do you recall any tricky
questions that remained outstanding?

Cheers,

- Ben
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

RE: Fat interface files?

GHC - devs mailing list

Thanks Mortiz

 

That wiki page is about extensible interface files in general. It says nothing about specifically putting Core terms into interface files.

 

For the Core part, since GHC already puts Core into unfoldings, the simple thing is just to expose all unfoldings, no?

 

Simon

 

From: ghc-devs <[hidden email]> On Behalf Of Moritz Angermann
Sent: 21 October 2020 10:36
To: Ben Gamari <[hidden email]>
Cc: Edward Yang ([hidden email]) <[hidden email]>; [hidden email]
Subject: Re: Fat interface files?

 

Just to make sure we are aware of all the ongoing efforts. We've been working on ebedding Core into interface files as well.

 

Cheers,

 Moritz

 

On Wed, Oct 21, 2020 at 12:06 AM Ben Gamari <[hidden email]> wrote:

Hi Edward,

While chatting with the ghc-ide folks recently I realized that it would
be useful to be able to preserve Core such that compilation can be
restarted (e.g. to be pushed down the bytecode pipeline to evaluate TH
splices).

As I recall this is precisely what you implemented in your "fat
interface file" work. Do you recall what the state of this work was? Do
you have a branch with last-known-good work? Do you recall any tricky
questions that remained outstanding?

Cheers,

- Ben
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: Fat interface files?

Moritz Angermann-2
Right, my understanding is that they are not sufficient however, as Michael layed out here
https://gitlab.haskell.org/ghc/ghc/-/wikis/Core-interface-section#unfoldings

This should be linked together better. We'll improve this.

On Wed, Oct 21, 2020 at 5:56 PM Simon Peyton Jones <[hidden email]> wrote:

Thanks Mortiz

 

That wiki page is about extensible interface files in general. It says nothing about specifically putting Core terms into interface files.

 

For the Core part, since GHC already puts Core into unfoldings, the simple thing is just to expose all unfoldings, no?

 

Simon

 

From: ghc-devs <[hidden email]> On Behalf Of Moritz Angermann
Sent: 21 October 2020 10:36
To: Ben Gamari <[hidden email]>
Cc: Edward Yang ([hidden email]) <[hidden email]>; [hidden email]
Subject: Re: Fat interface files?

 

Just to make sure we are aware of all the ongoing efforts. We've been working on ebedding Core into interface files as well.

 

Cheers,

 Moritz

 

On Wed, Oct 21, 2020 at 12:06 AM Ben Gamari <[hidden email]> wrote:

Hi Edward,

While chatting with the ghc-ide folks recently I realized that it would
be useful to be able to preserve Core such that compilation can be
restarted (e.g. to be pushed down the bytecode pipeline to evaluate TH
splices).

As I recall this is precisely what you implemented in your "fat
interface file" work. Do you recall what the state of this work was? Do
you have a branch with last-known-good work? Do you recall any tricky
questions that remained outstanding?

Cheers,

- Ben
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: Fat interface files?

Zubin Duggal
In reply to this post by Ben Gamari-3
I found the branch here: https://github.com/ezyang/ghc/commit/13615ca4e4bf759f323de22a3d182b06c4050f38

On 20/10/20 12:06, Ben Gamari wrote:

>Hi Edward,
>
>While chatting with the ghc-ide folks recently I realized that it would
>be useful to be able to preserve Core such that compilation can be
>restarted (e.g. to be pushed down the bytecode pipeline to evaluate TH
>splices).
>
>As I recall this is precisely what you implemented in your "fat
>interface file" work. Do you recall what the state of this work was? Do
>you have a branch with last-known-good work? Do you recall any tricky
>questions that remained outstanding?
>
>Cheers,
>
>- Ben


_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

signature.asc (499 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Fat interface files?

Zubin Duggal
In reply to this post by Moritz Angermann-2
I've been considering sneaking in the Core into the iface as `mi_rules`
with specially chosen names and activation `NeverActive`. The benefit of
this is that we can hijack the compilation pipeline, but still remain
compatible with versions of GHC going quite a while back.

On 20/10/21 18:03, Moritz Angermann wrote:

>Right, my understanding is that they are not sufficient however, as Michael
>layed out here
>https://gitlab.haskell.org/ghc/ghc/-/wikis/Core-interface-section#unfoldings
>
>This should be linked together better. We'll improve this.
>
>On Wed, Oct 21, 2020 at 5:56 PM Simon Peyton Jones <[hidden email]>
>wrote:
>
>> Thanks Mortiz
>>
>>
>>
>> That wiki page is about extensible interface files in general. It says
>> nothing about specifically putting Core terms into interface files.
>>
>>
>>
>> For the Core part, since GHC already puts Core into unfoldings, the simple
>> thing is just to expose all unfoldings, no?
>>
>>
>>
>> Simon
>>
>>
>>
>> *From:* ghc-devs <[hidden email]> *On Behalf Of *Moritz
>> Angermann
>> *Sent:* 21 October 2020 10:36
>> *To:* Ben Gamari <[hidden email]>
>> *Cc:* Edward Yang ([hidden email]) <[hidden email]>;
>> [hidden email]
>> *Subject:* Re: Fat interface files?
>>
>>
>>
>> Just to make sure we are aware of all the ongoing efforts. We've been
>> working on ebedding Core into interface files as well.
>>
>> Josh has updated the Wiki page here
>> https://gitlab.haskell.org/ghc/ghc/-/wikis/Extensible-Interface-Files
>> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.haskell.org%2Fghc%2Fghc%2F-%2Fwikis%2FExtensible-Interface-Files&data=04%7C01%7Csimonpj%40microsoft.com%7C644d055c20ed4377753c08d875a4cfa1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637388698431720509%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&sdata=5xMRK5FF7OKifyceURAEkcNzo6naUzvLkRWnsCto7pc%3D&reserved=0>
>> .
>>
>>
>>
>> Cheers,
>>
>>  Moritz
>>
>>
>>
>> On Wed, Oct 21, 2020 at 12:06 AM Ben Gamari <[hidden email]> wrote:
>>
>> Hi Edward,
>>
>> While chatting with the ghc-ide folks recently I realized that it would
>> be useful to be able to preserve Core such that compilation can be
>> restarted (e.g. to be pushed down the bytecode pipeline to evaluate TH
>> splices).
>>
>> As I recall this is precisely what you implemented in your "fat
>> interface file" work. Do you recall what the state of this work was? Do
>> you have a branch with last-known-good work? Do you recall any tricky
>> questions that remained outstanding?
>>
>> Cheers,
>>
>> - Ben
>> _______________________________________________
>> ghc-devs mailing list
>> [hidden email]
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>> <https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-devs&data=04%7C01%7Csimonpj%40microsoft.com%7C644d055c20ed4377753c08d875a4cfa1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637388698431720509%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C2000&sdata=ETWa%2BwN2LQyoi4NVDdNktv%2BUiQMfWvvj5rg5HdL24Tk%3D&reserved=0>
>>
>>

_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

signature.asc (499 bytes) Download Attachment