Scripts merged for easily loading and running GHC in GHCi, for fast development iterations

Michael Sloan mgsloan at gmail.com
Wed Aug 8 22:53:31 UTC 2018


Good point, I have added a note about it to the wiki page.  Surprising
that it would be hard to kill.  Do you have swap setup?

For me it takes ~2.7GB initially and 3.5GB after the first reload.  In
the past I've seen it get all the way up to 9GB so there may be some
memory leakage.

I have 40GB of ram in my laptop, so I don't notice this much.  I
highly recommend investing in more memory if it's within your
financial means.  The productivity boon of being able to use GHCi on
large projects, or run multiple concurrent docker containers or VMs,
is huge.

A bit off topic, but sometimes folks are surprised that I spend
hundreds of dollars on keyboards like the kinesis advantage 2 (which
is fantastic, btw) or the keyboard.io (really nice too!).  My answer
is that if I'm using some equipment many hours per day, the cost
amortizes out.  I ask myself "Would I pay 3 cents to use this keyboard
for an hour?", in the case of those keyboards, my answer is an
emphatic YES!  I apply similar reasoning to my main computer hardware,
though people are used to that being $$$ vs the surprise of $350
keyboards.

-Michael

On Wed, Aug 8, 2018 at 3:31 PM, Matthew Pickering
<matthewtpickering at gmail.com> wrote:
> In practice, how much memory does this use?
>
> I find that with 4gb of memory that it is unusable and hard to kill.
> Perhaps we should add some sort of warning to the page about this.
>
> Cheers
>
> Matt
>
> On Wed, Aug 8, 2018 at 11:12 PM, Michael Sloan <mgsloan at gmail.com> wrote:
>> Now that [D5015] is merged (thanks, monoidal!), -fobject-code no
>> longer needs to be provided manually.  This also means that you can
>> run [ghcid] directly in the root of the repo without any arguments.  I
>> have updated https://ghc.haskell.org/trac/ghc/wiki/Building/InGhci to
>> use the simpler invocations.
>>
>> [D5015]: https://phabricator.haskell.org/D5015
>> [ghcid]: https://github.com/ndmitchell/ghcid
>>
>> On Mon, Aug 6, 2018 at 1:03 AM, Michael Sloan <mgsloan at gmail.com> wrote:
>>> Thanks a bunch for updating the wiki page, Artem!  It was on my todo
>>> list, but it's been a rather busy week.  I've added an update
>>> mentioning that it will be possible to run "ghcid" directly without
>>> args once D5105 is merged.
>>>
>>> On Mon, Aug 6, 2018 at 12:55 AM, Artem Pelenitsyn
>>> <a.pelenitsyn at gmail.com> wrote:
>>>> I added this to the wiki. It would be nice to have a wrapper similar to
>>>> `run.sh` but for starting ghcid, I believe.
>>>>
>>>> --
>>>> Best wishes,
>>>> Artem
>>>>
>>>> On Sun, 29 Jul 2018 at 10:41 Matthew Pickering <matthewtpickering at gmail.com>
>>>> wrote:
>>>>>
>>>>> Can you please update the wiki page?
>>>>>
>>>>> https://ghc.haskell.org/trac/ghc/wiki/Building/InGhci
>>>>>
>>>>> Matt
>>>>>
>>>>> On Sun, Jul 29, 2018 at 6:18 AM, Michael Sloan <mgsloan at gmail.com> wrote:
>>>>> > Hello GHC developers!
>>>>> >
>>>>> > Now that D4904 and D4986 are merged, if you have recently built GHC
>>>>> > then you can use "./utils/ghc-in-ghci/run.sh -fobject-code" to load
>>>>> > GHC into GHCi (throwing on a "-j8" helps too).  For me, this makes
>>>>> > development far more pleasant, as often I can make a change and try it
>>>>> > out in only 15 or 20 seconds.  Thanks to Csongor Kiss for writing the
>>>>> > initial ghci script, and Matthew Pickering for posting about it to the
>>>>> > mailinglist, as otherwise I probably wouldn't have known about it.
>>>>> >
>>>>> > I wrote a blog post about the topic on my new blog:
>>>>> > http://www.mgsloan.com/posts/ghcinception/
>>>>> >
>>>>> > Once D5015 is merged, the explicit "-fobject-code" won't be needed.
>>>>> > Once https://ghc.haskell.org/trac/ghc/ticket/15454 is addressed, it
>>>>> > might not be needed at all, leading to even faster loading ;)
>>>>> >
>>>>> > Happy ghci-ing!
>>>>> > -Michael
>>>>> > _______________________________________________
>>>>> > 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