unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* "Perfect Setup" for hacking on Nix?
@ 2017-04-02  1:13 Chris Marusich
  2017-04-02  9:33 ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Chris Marusich @ 2017-04-02  1:13 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 680 bytes --]

Hi,

The Guix manual has a fantastic section on the "Perfect Setup" for
hacking on Guix ((guix) The Perfect Setup).  This section provides
excellent guidance for a newbie on how they can set up their development
environment for hacking on Guix.  I found it tremendously useful when I
was starting out as a Guile and Guix newbie.

I have sometimes found myself looking at the Nix source code that is
embedded in the Guix repository.  However, I don't have a lot of
experience with C++, so I don't really know how I should set up my
development environment for hacking on (or just browsing) that code.

So, what's the "Perfect Setup" for hacking on Nix?

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: "Perfect Setup" for hacking on Nix?
  2017-04-02  1:13 "Perfect Setup" for hacking on Nix? Chris Marusich
@ 2017-04-02  9:33 ` Ludovic Courtès
  2017-04-03  6:36   ` Thomas Danckaert
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2017-04-02  9:33 UTC (permalink / raw)
  To: Chris Marusich; +Cc: guix-devel

Chris Marusich <cmmarusich@gmail.com> skribis:

> The Guix manual has a fantastic section on the "Perfect Setup" for
> hacking on Guix ((guix) The Perfect Setup).  This section provides
> excellent guidance for a newbie on how they can set up their development
> environment for hacking on Guix.  I found it tremendously useful when I
> was starting out as a Guile and Guix newbie.
>
> I have sometimes found myself looking at the Nix source code that is
> embedded in the Guix repository.  However, I don't have a lot of
> experience with C++, so I don't really know how I should set up my
> development environment for hacking on (or just browsing) that code.
>
> So, what's the "Perfect Setup" for hacking on Nix?

Good question!  :-)  I use Emacs without any of the fancy things.  M-x
compile, M-x grep, M-x rgrep, xgtags.el (for GNU GLOBAL tags) are good
enough for me.

That said, I’d be happy to hear about new tricks!  Does Semantic work
well these days?

Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: "Perfect Setup" for hacking on Nix?
  2017-04-02  9:33 ` Ludovic Courtès
@ 2017-04-03  6:36   ` Thomas Danckaert
  2017-05-07 21:06     ` Chris Marusich
  0 siblings, 1 reply; 6+ messages in thread
From: Thomas Danckaert @ 2017-04-03  6:36 UTC (permalink / raw)
  To: ludo; +Cc: guix-devel

From: ludo@gnu.org (Ludovic Courtès)
Subject: Re: "Perfect Setup" for hacking on Nix?
Date: Sun, 02 Apr 2017 11:33:16 +0200

>> I have sometimes found myself looking at the Nix source code that 
>> is
>> embedded in the Guix repository.  However, I don't have a lot of
>> experience with C++, so I don't really know how I should set up my
>> development environment for hacking on (or just browsing) that 
>> code.
>>
>> So, what's the "Perfect Setup" for hacking on Nix?
>
> Good question!  :-)  I use Emacs without any of the fancy things.  
> M-x
> compile, M-x grep, M-x rgrep, xgtags.el (for GNU GLOBAL tags) are 
> good
> enough for me.
>
> That said, I’d be happy to hear about new tricks!  Does Semantic 
> work
> well these days?

I'm quite happy with it (have been, for a number of years already!).
It's code analysis is not perfect (e.g. it doesn't always distinguish
different symbols with the same name), but helps a lot.  It can take
you to function definitions and declarations, show all uses of a
function or variable, display function signatures etc.

I did have to disable Semantic for Scheme buffers, like this:

(add-to-list 'semantic-inhibit-functions
              (lambda () (member major-mode '(scheme-mode))))

Otherwise, I get constant debugger prompts from the semantic parser
when working with (Guile) Scheme files.  I didn't submit a bug report
so far, because I'm not sure if it's purely a bug in Semantic, or if
there's some interference with Geiser.

For really excellent code analysis of even very messy C and C++ code,
I recommend KDevelop (I tend to use it just to explore and find my 
way around a code base, and then use Emacs for actual editing).

Thomas

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: "Perfect Setup" for hacking on Nix?
  2017-04-03  6:36   ` Thomas Danckaert
@ 2017-05-07 21:06     ` Chris Marusich
  2017-05-08 14:22       ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Chris Marusich @ 2017-05-07 21:06 UTC (permalink / raw)
  To: Thomas Danckaert; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2151 bytes --]

Thomas Danckaert <post@thomasdanckaert.be> writes:

> From: ludo@gnu.org (Ludovic Courtès)
> Subject: Re: "Perfect Setup" for hacking on Nix?
> Date: Sun, 02 Apr 2017 11:33:16 +0200
>
>>> I have sometimes found myself looking at the Nix source code that
>>> is
>>> embedded in the Guix repository.  However, I don't have a lot of
>>> experience with C++, so I don't really know how I should set up my
>>> development environment for hacking on (or just browsing) that
>>> code.
>>>
>>> So, what's the "Perfect Setup" for hacking on Nix?
>>
>> Good question!  :-)  I use Emacs without any of the fancy things.
>> M-x
>> compile, M-x grep, M-x rgrep, xgtags.el (for GNU GLOBAL tags) are
>> good
>> enough for me.
>>
>> That said, I’d be happy to hear about new tricks!  Does Semantic
>> work
>> well these days?
>
> I'm quite happy with it (have been, for a number of years already!).
> It's code analysis is not perfect (e.g. it doesn't always distinguish
> different symbols with the same name), but helps a lot.  It can take
> you to function definitions and declarations, show all uses of a
> function or variable, display function signatures etc.
>
> I did have to disable Semantic for Scheme buffers, like this:
>
> (add-to-list 'semantic-inhibit-functions
>              (lambda () (member major-mode '(scheme-mode))))
>
> Otherwise, I get constant debugger prompts from the semantic parser
> when working with (Guile) Scheme files.  I didn't submit a bug report
> so far, because I'm not sure if it's purely a bug in Semantic, or if
> there's some interference with Geiser.
>
> For really excellent code analysis of even very messy C and C++ code,
> I recommend KDevelop (I tend to use it just to explore and find my way
> around a code base, and then use Emacs for actual editing).
>
> Thomas
>

I asked on nix-dev, and the (limited) response was basically that you
should use whatever works best for you:

https://mailman.science.uu.nl/pipermail/nix-dev/2017-April/023416.html

I guess that means I should look into a C++ IDE (Eclipse?) or the emacs
ecosystem for C/C++.

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: "Perfect Setup" for hacking on Nix?
  2017-05-07 21:06     ` Chris Marusich
@ 2017-05-08 14:22       ` Ludovic Courtès
  2017-05-10  7:31         ` Chris Marusich
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2017-05-08 14:22 UTC (permalink / raw)
  To: Chris Marusich; +Cc: guix-devel, Thomas Danckaert

Hi,

Chris Marusich <cmmarusich@gmail.com> skribis:

> I asked on nix-dev, and the (limited) response was basically that you
> should use whatever works best for you:
>
> https://mailman.science.uu.nl/pipermail/nix-dev/2017-April/023416.html
>
> I guess that means I should look into a C++ IDE (Eclipse?) or the emacs
> ecosystem for C/C++.

Yeah.  As Thomas wrote, Semantic (part of Emacs) or KDEvelop are your
best bets.

But fundamentally, C++ doesn’t lend itself to live coding the way Lisp
does, so you’ll probably never have an environment close to the
Emacs/Geiser combo.

Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: "Perfect Setup" for hacking on Nix?
  2017-05-08 14:22       ` Ludovic Courtès
@ 2017-05-10  7:31         ` Chris Marusich
  0 siblings, 0 replies; 6+ messages in thread
From: Chris Marusich @ 2017-05-10  7:31 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel, Thomas Danckaert

[-- Attachment #1: Type: text/plain, Size: 813 bytes --]

ludo@gnu.org (Ludovic Courtès) writes:

> Hi,
>
> Chris Marusich <cmmarusich@gmail.com> skribis:
>
>> I asked on nix-dev, and the (limited) response was basically that you
>> should use whatever works best for you:
>>
>> https://mailman.science.uu.nl/pipermail/nix-dev/2017-April/023416.html
>>
>> I guess that means I should look into a C++ IDE (Eclipse?) or the emacs
>> ecosystem for C/C++.
>
> Yeah.  As Thomas wrote, Semantic (part of Emacs) or KDEvelop are your
> best bets.
>
> But fundamentally, C++ doesn’t lend itself to live coding the way Lisp
> does, so you’ll probably never have an environment close to the
> Emacs/Geiser combo.

Oh yeah, thank you for reminding me about Semantic and KDEvelop.  I'll
check those out.

Thank you for the recommendations!

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-05-10  7:31 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-02  1:13 "Perfect Setup" for hacking on Nix? Chris Marusich
2017-04-02  9:33 ` Ludovic Courtès
2017-04-03  6:36   ` Thomas Danckaert
2017-05-07 21:06     ` Chris Marusich
2017-05-08 14:22       ` Ludovic Courtès
2017-05-10  7:31         ` Chris Marusich

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).