6 ms·
We're building the GNU system [pdf]
- aw3c2 12y agoDirect link instead of Google creep: http://git.savannah.gnu.org/cgit/guix/maintenance.git/plain/talks/ghm-2014/guix-ghm-2014.20140815.pdf http://git.savannah.gnu.org/cgit/guix/maintenance.git/plain/...
- JohnnyGrey 12y agoThanks for the link mate
- mrottenkolber 12y agoI had seen the talk at ELS in 2013 (really? that was last year?) and was pretty intrigued back then. Might be some time before it replaces my beloved Slackware but I must say Guix is darn sexy already! Also, finally, Lisp as a GNU systems programming language is becoming reality. :)
- melling 12y agoGuile? Great idea. Can someone fix Emacs so that Guile (Scheme) is the default language? Stallman was pretty shortsighted with elisp. http://www.emacswiki.org/emacs/GuileEmacs http://www.emacswiki.org/emacs/GuileEmacs
- wtetzner 12y agoI wouldn't blame Stallman for being shortsighted with elisp. He began work on GNU Emacs in 1984. Scheme wasn't standardized until 1990. I agree that Scheme would be a better choice of an extension language, and honestly I think Stallman would probably agree. It's more that changing the extension language would cause a lot of compatibility problems. I hope the Guile Emacs guys can pull it off.
- melling 12y agoYes, it was standardized 24 years ago. I think Stallman's argument was that too much code was already written in elisp. For example, calc is a huge elisp app. He didn't want to lose apps like this: http://www.gnu.org/software/emacs/manual/html_mono/calc.html http://www.gnu.org/software/emacs/manual/html_mono/calc.html
- BugBrother 12y agoI don't know much about Guile, but can't it compile elisp too? But you would need dynamic scope in Scheme to mix elisp/Guile code in Emacs? Edit: Ah, this was discussed in your link at the top of this comment thread.
- nn3 12y agoNot sure if calc already existed in 1984. But Stallman argued (in one of the early emacs papers) that dynamic scope is much more convenient for a editor than lexical scoping (as implemented in scheme or Common Lisp) Dynamic scope makes it easier to change some variable per buffer. With lexical scoping you would need to simulate dynamic scope somehow to be able to change state per buffer.
- wtbob 12y agoCommon Lisp supports both dynamic and lexical scope. Emacs-like editors have been implemented in it, and there's no fundamental reason that a true Emacs couldn't be. Scheme is more of a toy; I'd not prefer it to Common Lisp for a production system, whether that system is an OS or an editing environment.
- hga 12y agoScheme was plenty standardized by the mid-80s when RMS forked (James) Gosling Emacs and replaced its Mocklisp with a real LISP. Very few if any pay attention to the 1990 IEEE standard; for one thing, you've got to pay money to get it (currently $138 for a PDF, $110 if you're a member), vs. the free RnRS series. RMS could in theory have adopted a Scheme, or even a lexicaly scoped version of mainline LISP, but by then he was so experienced with normal, pre-Common Lisp mainline LISP (Maclisp and Lisp Machine Lisp) I'd wonder if it even occurred to him.
- whyenot 12y agoFrom its earliest days, one of the selling points of Guile was that eventually it should be possible to use it to run Emacs Lisp. This is one of the reasons RMS chose it as the GNU's official extension language. For some of the other reasons, google "Tcl war".
- leoc 12y agoThere have been efforts in that direction for a long time: http://www.emacswiki.org/emacs-en/GuileEmacsHistory http://www.emacswiki.org/emacs-en/GuileEmacsHistory . The current push seems to have reached the "80% done, 80% to go" stage.
- justinmk 12y agoNot really. Look at the "Current State" section here: http://www.emacswiki.org/emacs-en/GuileEmacs http://www.emacswiki.org/emacs-en/GuileEmacs > As of the end of GoogleSummerOfCode 2014, the Elisp engine of Emacs is fully replaced with that of libguile, and most things Just Work™. Some performance regression of dynamic scoping (lexically scoped code should be fine), and broken corner cases (like crazy Elisp macros that directly output legacy Elisp bytecode) remain.
- tbirdz 12y agoJust curious. For anyone who has used both Nix and Guix, which one do you prefer, and which do you think is more likely to gain traction (ignoring the 800lb gorillas of deb and rpm, for the moment)?
- hjek 12y agoGuix seems nice in that it is all-free and is configurable in Scheme, but packages for quite common stuff like Java and Haskell and Jack-audio server are not present yet, although they are in NixOS. Looking forward to Guix 1.0 as I like Scheme and GNU :-)
- nextos 12y agoI've been using NixOS and Nix to install things in my servers. It's very mature. Most things I need are packaged, including not so popular utilities like isync or notmuch. However, I'm curious about containers. For example systemd-nspawn seems like a simple way to achieve many of the functionality NixOS brings into the table.
- baumbart 12y agoNote that you can use Nix packages in Guix. They are compatible.
- pmahoney 12y agoI've not used Guix, but looking at those slides, the ability to take the build definition of the "hello" program, inherit everything but change the version, looks very interesting. I'm not aware of a way to do that in Nix, but I think it's more a consequence that the convention is to call stdenv.mkDerivation { descriptor } (where the descriptor includes things like the upstream url, version, etc.) without providing a direct handle to the descriptor (which one might inherit and modify just the upstream url, for example). (In practice, I find it an order of magnitude easier to create custom packages in Nix compared to .deb.)
- vertex-four 12y ago
- Quequau 12y agoThis looks like it's the slides from a presentation... does anyone happen to have link to a video of it?
- tobik 12y agoThere is a video of a similar presentation here: http://www.gnu.org/software/guix/#talks http://www.gnu.org/software/guix/#talks
- rev 12y agoVideos from the GHM 2014 aren't online yet. They will probably be posted at http://www.gnu.org/ghm/previous.html http://www.gnu.org/ghm/previous.html eventually. You can find video and slides of Ludovic Courtès' talk on Guix from the GHM 2013 at http://www.gnu.org/ghm/2013/paris/ http://www.gnu.org/ghm/2013/paris/.
- Quequau 12y agoThanks!
- vezzy-fnord 12y agoIt appears that we're quite close to having a usable, if not production-ready, pure GNU distribution. The vast majority of Debian packages have already been ported to its GNU/Hurd. On the other hand, they made the unorthodox decision to switch from dmd to sysvinit. Probably one of the very little systems to switch to SysV, rather than from it.
- 1_player 12y agoThe PDF talks about dmd. Do you mean they recently decided to switch to sysvinit? Got any link to the discussion?
- vezzy-fnord 12y agoI'm referring to Debian GNU/Hurd specifically, though it is the de facto main hub for Hurd development. Yes, here's the announcement: https://lists.debian.org/debian-devel-announce/2014/05/msg00006.html https://lists.debian.org/debian-devel-announce/2014/05/msg00... This is the blog of the person who did it, which features detailed development logs: https://teythoon.cryptobitch.de/ https://teythoon.cryptobitch.de/
- deleted 12y ago[deleted]
- buovjaga 12y agoI can't find any mention of dmd in those. Only "proof-of-concept upstream shell scripts" I started to think: if dmd was revived in 2013, how could Debian/Hurd have started the effort to switch away from it in the same year? This post talks of Debian/Hurd having "relied on its own init and rc system": http://osdir.com/ml/general/2014-01/msg61628.html http://osdir.com/ml/general/2014-01/msg61628.html
- justincormack 12y agoAre you sure? AFAIK Hurd is pretty much dead.
- astrodust 12y agoMaybe it's just me, but I find -- style flags that are actually commands to be extremely irritating. The new firewall-cmd system is an example of how obnoxious this can be, where every operation requires arbitrary -- prefixes. While git has received a lot of well-deserved criticism for it's complexity, "git commit" is a lot better than "git --commit".
- davexunit 12y agoI knew someone would complain about the longopts shown in the slides. That was done to make it easier to understand. Normally, you'd just use the short flag, '-i' instead of '--install'. Also, in Guix, you would say 'guix package', not 'guix --package'. A full example would be 'guix package -i emacs', which looks fine to me.
- zimbatm 12y agoYou're missing the point, it's not about the longopts. install is a command, not an option of a command.
- davexunit 12y agoInstall is not a command, it's a possible transaction type of 'guix package'. Since Guix is transactional, it's perfectly valid to install and remove software at the same time: guix package -i emacs -r zile
- zimbatm 12y agoI suppose you could see it like that although I don't see the use of it. Why not just have straight-forward commands like `guix install` `guix uninstall` `guix search` `guix update`
- dllthomas 12y agoIt's going to be much easier to read something like the above, guix package -i emacs -r zile than your alternative: guix package install emacs remove zile Bear in mind that a transaction could get arbitrarily long.
- fizixer 12y agoRacket is getting pretty popular. Emacs is built on emacs-lisp. And now this is based on guile. I wonder how different these three lisps/schemes are. I feel lisp enlightenment is long overdue for me. I'm just too busy for the past few years.
- gkya 12y agoElisp is quite old and lacking some modern features like lexical scoping and tail recursion as far as I know. I recall a project for replacing Elisp with Guile: http://www.emacswiki.org/emacs/GuileEmacs http://www.emacswiki.org/emacs/GuileEmacs
- malisper 12y agoElisp recently gained optional lexical scoping[0]. [0] https://www.gnu.org/software/emacs/manual/html_node/elisp/Using-Lexical-Binding.html#Using-Lexical-Binding https://www.gnu.org/software/emacs/manual/html_node/elisp/Us...
- aristidb 12y agoFor your convenience, the link to the "mothership" NixOS: http://nixos.org/ http://nixos.org/ I've been using NixOS happily for over a year now. The "secret sauce" is the same between Guix and NixOS. The main differences are: * Programming language (Guile vs Nix) * Choice of basic building blocks such as dmd / systemd * Strong preference for GNU tools in Guix * No support for unfree packages at all in Guix (in NixOS, they're disabled by default, but you can enable them)
- ausjke 12y agoWill give Guix a spin now, interested in anything posix/real-unix style, which means I'd like to avoid systemd, that also means no nixos.
- rev 12y agoYes, that's one of the reasons Guix attracts me as well. By the way, it's interesting to note here that when it comes to directory structure POSIX is much less strict than FHS [0], which NixOS and Guix largely abandon. [0] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap10.html http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_...
- papaf 12y agoIs there a VM image for a system running guix? I am having trouble finding one.
- papaf 12y agoftp://alpha.gnu.org/gnu/guix/ It requires QEMU.