[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: reppar: More ideas for the talk.
From: |
Ludovic Courtès |
Subject: |
01/01: reppar: More ideas for the talk. |
Date: |
Sat, 25 Jul 2015 20:59:57 +0000 |
civodul pushed a commit to branch master
in repository maintenance.
commit a07fe6410ae0d06f1696b4300aac46a6fa59cbde
Author: Ludovic Courtès <address@hidden>
Date: Sat Jul 25 22:59:37 2015 +0200
reppar: More ideas for the talk.
---
doc/reppar-2015/talk-outline.org | 22 +++++++++++++++++++++-
1 files changed, 21 insertions(+), 1 deletions(-)
diff --git a/doc/reppar-2015/talk-outline.org b/doc/reppar-2015/talk-outline.org
index 213e6eb..43ae387 100644
--- a/doc/reppar-2015/talk-outline.org
+++ b/doc/reppar-2015/talk-outline.org
@@ -64,6 +64,8 @@
the source they claim to come from?
+ in both cases, inspection is difficult: we're given a cake, but
not its recipe
+ * {image of good cake/rotten cake}
+ * {image of a very detailed recipe}
+ not composable:
* the full system image is standalone by definition, no way to use
the software alongside other software packages i may need
@@ -90,15 +92,33 @@
* recipes are incomplete: lots of untold expectations (such as
tool chain) => uncontrolled environment, definitely not
bit-reproducible packages
+ * {image of a recipe with missing lines and/or coffee stains}
* if we make several cakes, they tend to "blend together": /ad
hoc/, half-baked handling of package variants, build environment
not captured
* enter functional package management & Guix
- - explain
+ - functional package management
+ + at its core: referential transparency
+ + slide #1: constant folding + CSE on: x = (2 + 4) * 5 + 2 * y + y
+ + slide #2: f = ./configure && make && make install
+ * p = f(openblas, f(coreutils, gcc, glibc, binutils), gcc, glibc)
+ - Nix vs. Guix (quickly)
+ + ELS 2013 slides showing build daemon + clients + build tools in Nix
+ and then Guix
+ + "why do we do this?"
+ + general-purpose language & environment: compiler, debugger,
+ libraries, Emacs integration, etc.
+ + *embedded* DSL means we can write domain-specific programs
+ (guix-web, active papers), write functions of packages,
+ programmatically inspect/modify the DAG, etc.
+ + code reuse thanks to use of the same language on both sides
- demo 'guix build' and 'guix environment'
- use cases
+ - conclude:
+ + Guix's job is not only to provide cakes, but also to provide
+ /complete/ recipes that chefs can not only inspect but also modify
* limitations