!djTaTBQyWEPRQxrPTb:nixos.org

Nixpkgs Architecture Team

236 Members
https://github.com/nixpkgs-architecture, weekly public meetings on Wednesday 15:00-16:00 UTC at https://meet.jit.si/nixpkgs-architecture52 Servers

Load older messages


SenderMessageTime
2 Aug 2022
@qyliss:fairydust.spaceAlyssa RossOh that's interesting.13:29:41
@infinisil:matrix.orginfinisilOh yeah, I wanted to go into that too13:29:50
@sandro:supersandro.deSandro 🐧the verbosity https://git.savannah.gnu.org/cgit/mediagoblin.git/tree/guix-env.scm#n19113:29:52
@infinisil:matrix.orginfinisil Similarly, nix-shell is also bash-specific, it runs some bash stdenv hook stuff by default 13:30:03
@sandro:supersandro.deSandro 🐧nix-shell more or less opens a stdenv shell13:30:24
@kevincox:matrix.orgkevincox I would love to "fix" that. I frequently use nix-shell ... --run zsh 13:31:14
@sandro:supersandro.deSandro 🐧🌚 switch to bash13:31:42
@infinisil:matrix.orginfinisil
In reply to @sandro:supersandro.de
the verbosity https://git.savannah.gnu.org/cgit/mediagoblin.git/tree/guix-env.scm#n191
inherit in Nix fixes this at least
13:31:47
@infinisil:matrix.orginfinisilI guess guix scheme doesn't have something like that13:32:12
@infinisil:matrix.orginfinisilIs the reason guix uses a scheme because they can easily serialize functions for the daemon to read and execute?13:41:43
@infinisil:matrix.orginfinisil * Is the reason guix uses a scheme because this allows them to easily serialize functions for the daemon to read and execute?13:41:52
@infinisil:matrix.orginfinisilUm, I mean s/scheme/lisp13:42:38
@infinisil:matrix.orginfinisilYeah looks like it, this section is very interesting: https://guix.gnu.org/en/manual/devel/en/guix.html#G_002dExpressions13:48:22
@infinisil:matrix.orginfinisil

To describe a derivation and its build actions, one typically needs to embed build code inside host code. It boils down to manipulating build code as data, and the homoiconicity of Scheme—code has a direct representation as data—comes in handy for that. But we need more than the normal quasiquote mechanism in Scheme to construct build expressions.

13:48:47
@qyliss:fairydust.spaceAlyssa RossI think the reason Guix uses Lisp is that it's a GNU project, and Lisp is intended to be the scripting/etc language of the GNU system13:52:51
@infinisil:matrix.orginfinisilAbove-linked section does give a good reason for why guix specifically benefits from it being lisp though13:53:55
@infinisil:matrix.orginfinisilhomoiconicity is the keyword13:55:14
@profpatsch:augsburg.oneprofpatsch kevincox: Not to be too offtopic, but in fish I just have an alias like with foobar which puts foobar on PATH https://gist.github.com/Profpatsch/037e4f527e37ecfcf0b6e365b78b917d 13:56:43
@profpatsch:augsburg.oneprofpatsch And for using my own shell for nix-shell environments, direnv works like a charm 13:56:58
@infinisil:matrix.orginfinisilHmm, so as far as I can see, if we want something as nice as Guix, only needing a single language for both evaluation and building, we need a "homoiconic" language. The only somewhat popular class of languages that are homoiconic is lisps though, which I don't think is viable because it's lisp13:58:34
@profpatsch:augsburg.oneprofpatschinfinisil: fwiw the homowhatever stuff is just a fancy way of saying “macros”, and in my experience macros make code really hard to read & understand13:58:56
@infinisil:matrix.orginfinisil Also it would require switching away from bash and Nix 13:59:04
@profpatsch:augsburg.oneprofpatschas opposed to plain old functions13:59:08
@profpatsch:augsburg.oneprofpatschinfinisil: homoiconic just means that the syntax is the AST13:59:31
@infinisil:matrix.orginfinisil profpatsch: I don't think that's what matters 13:59:38
@profpatsch:augsburg.oneprofpatschwhich is only useful if you want macros13:59:43
@profpatsch:augsburg.oneprofpatschi.e. functions from code to code13:59:56
@qyliss:fairydust.spaceAlyssa RossWhy would we need macros?14:00:04
@qyliss:fairydust.spaceAlyssa RossLisp people are very fond of insisting everything needs macros, IME.14:00:18
@profpatsch:augsburg.oneprofpatschI don’t think you need them in a lazy language without compilation pass14:00:18

Show newer messages


Back to Room ListRoom Version: 9