[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: A Forum for Guix Users
From: |
Attila Lendvai |
Subject: |
Re: A Forum for Guix Users |
Date: |
Mon, 17 Jul 2023 17:41:33 +0000 |
> Like I've mentioned on fedi before, advocates of Lispy languages tend to
> talk a lot about what's possible with the language, but the truth is
> that the actual tooling that matters simply isn't very good, and having
> an S-expression based syntax doesn't magically make writing the kinds of
> refactoring tools that Java developers have been enjoying for 10+ years
> significantly easier.
> For that we need good static analysis, and unbounded dynamism and too
> much syntax magic makes that more difficult.
> At the very least I want to be able to rename variables across the whole
> project and jump to definitions reliably.
i came to Common Lisp from that world, and i don't miss those tools one bit.
those refactoring tools in the java world feel so useful exactly because of the
linguistic inability to formally express abstractions in the language. when
lisp is used properly (which includes discipline while naming abstractions!)
then one doesn't miss those tools.
a related quote that captures this sentiment:
“[Design] Patterns mean "I have run out of language."”
— Rich Hickey
but i agree that there's plenty of room for improvement in the lisp tooling,
even for just Guile + Geiser to catch up with CL + Slime.
and i also agree that the learning curve is way too steep with Emacs + lisp
tools. ultiamtely, i think it's worth it, but it does require quite some
determination and frustration tolerance.
> ps.: As far as I can tell, the Lisps with good IDEs are image based, not
> source based, that's why they have an easier time doing metaprogramming,
> because the runtime helps a lot. But an image based system is not
> exactly in line with Guix's goal of reproducibility.
all lisps are image based in the sense that they are a VM once the source has
been loaded... no? but, unfortunately, all (non-obsolete) lisps use flat text
files to represent the source code. java tools turn that flat text source code
into a graph and work on the graph, and does this text-graph-text conversion
transparently for the user.
but it's only possible to do this conversion in languages that have a
relatively little degree of freedom... which translates to less freedom to
express abstractions... which in turn translates to a greater need for
refactoring tools.
again, i most agree with you. what i wanted to express is that there's much
more to this topic.
--
• attila lendvai
• PGP: 963F 5D5F 45C7 DFCD 0A39
--
“It's surprising how many persons go through life without ever recognizing that
their feelings toward other people are largely determined by their feelings
toward themselves, and if you're not comfortable within yourself, you can't be
comfortable with others.”
— Sydney J. Harris
- Re: A Forum for Guix Users, (continued)
- Re: A Forum for Guix Users, Attila Lendvai, 2023/07/15
- Re: A Forum for Guix Users, Tobias Geerinckx-Rice, 2023/07/15
- Re: A Forum for Guix Users, Msavoritias, 2023/07/15
- Re: A Forum for Guix Users, Attila Lendvai, 2023/07/15
- Re: A Forum for Guix Users, MSavoritias, 2023/07/15
- Re: A Forum for Guix Users, Julien Lepiller, 2023/07/16
Re: A Forum for Guix Users, Felix Lechner, 2023/07/14
Re: A Forum for Guix Users, Ricardo Wurmus, 2023/07/17
Re: A Forum for Guix Users, MSavoritias, 2023/07/17
Re: A Forum for Guix Users, Csepp, 2023/07/17
Re: A Forum for Guix Users, vidak, 2023/07/13
Re: A Forum for Guix Users, Andrea Rossi, 2023/07/15
Re: A Forum for Guix Users, Wilko Meyer, 2023/07/18
Re: A Forum for Guix Users, Andy Tai, 2023/07/14