[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
10/14: gpce-2017: Adjust as suggested by the reviewers.
From: |
Ludovic Courtès |
Subject: |
10/14: gpce-2017: Adjust as suggested by the reviewers. |
Date: |
Fri, 1 Sep 2017 11:57:55 -0400 (EDT) |
civodul pushed a commit to branch master
in repository maintenance.
commit 832e95ad0012cd09e5713268fe1dca98bda95fe2
Author: Ludovic Courtès <address@hidden>
Date: Fri Sep 1 14:02:21 2017 +0200
gpce-2017: Adjust as suggested by the reviewers.
---
doc/gpce-2017/gpce.skb | 22 +++++++++++++++-------
doc/gpce-2017/staging.sbib | 29 +++++++++++++++++++++++++++++
2 files changed, 44 insertions(+), 7 deletions(-)
diff --git a/doc/gpce-2017/gpce.skb b/doc/gpce-2017/gpce.skb
index b58eafc..8a98b27 100644
--- a/doc/gpce-2017/gpce.skb
+++ b/doc/gpce-2017/gpce.skb
@@ -79,7 +79,7 @@
"\\usepackage{microtype}\n"
;; "\\usepackage[hypcap]{caption}\n"
;; "\\DeclareCaptionType{copyrightbox}\n"
- ;; "\\usepackage{balance}\n"
+ "\\usepackage{balance}\n"
;; Recognize ‘⇒’ and ‘â‡â€™ in LaTeX input.
"\\DeclareUnicodeCharacter{21D2}{$\\Rightarrow$}\n"
@@ -245,8 +245,8 @@ rollback “for free.†While Guix and Nix are package
managers, the
Guix System Distribution (or GuixSD) as well as NixOS extend the
functional paradigm to whole operating system deployments ,(ref :bib
'dolstra2010:nixos).])
- (p [While Guix implements this functional deployment paradigm
-pioneered by Nix, we explained in previous work that its
+ (p [Guix implements this functional deployment paradigm
+pioneered by Nix but, as explained in previous work, its
implementation departs from Nix in interesting ways ,(ref :bib
'courtes2013:functional). First, while Nix relies on a custom
domain-specific language (DSL), the Nix language, Guix instead
@@ -325,7 +325,7 @@ concludes.]))
:ident "origins"
(p [Scheme is a dialect of Lisp, and Lisp is famous for its
-homoiconicity—the fact that code has a direct representation as a data
+its direct representation of code as a data
structure using the same syntax. “S-expressions†or “sexpsâ€, Lisp’s
parenthecal expressions, thus look like they lend themselves to code
staging.
@@ -420,7 +420,9 @@ cases.])
:start ";!begin-imagemagick-gexp"
:stop ";!end-imagemagick-gexp")))
- (p [G-expressions ,(emph [bind software deployment to staging]).
+ (p [G-expressions ,(emph [bind software deployment to
+staging]): when a gexp is staged, the software and artifacts it refers
+to are guaranteed to be deployed as well.
A gexp bundles an sexp and its inputs
and outputs, and it can be serialized with ,(tt [/gnu/store]) file
names substituted as needed. We first define two operators:
@@ -689,7 +691,7 @@ Guix.])
the history of Guix. Package definitions like that of Figure ,(ref
:figure "fig-package-def") rely on the previous ad-hoc staging
mechanism, as can be seen in the use of labels in the ,(tt
-[inputs]) field of definitions. Guix today includes more than 5,500
+[inputs]) field of definitions. Guix today includes more than 6,000
packages, which still use this old, pre-gexp style. We are
considering a migration to a new style but given the size of the
repository, this is a challenging task and we must make sure every use
@@ -711,7 +713,7 @@ flexibility.]))
(p [GuixSD, the Guix-based GNU/Linux distribution, was one of
the main motivations behind gexps. The principle behind GuixSD is
that, given a high-level ,(tt [operating-system]) declaration that
-specifies user accounts, system services, and other OS settings, the
+specifies user accounts, system services, and other settings, the
complete system is instantiated to the store. To achieve that, a lot
of files must be generated: start/stop script for all the system
services (daemons, operations such as file system mounts, etc.),
@@ -890,6 +892,11 @@ escaping syntax. The “code-as-string†paradigm also has
other side
effects: comments and whitespace in those strings is preserved, and
changing those triggers a rebuild of the derivation, which is
inconvenient.])
+ (p [There are similarities between GuixSD and MirageOS, which both
+aim to unify configuration and deployment into a single high-level
+language framework ,(ref :bib 'madhavapeddy2013:unikernels). Mirage
+uses code staging through MetaOCaml, though that is limited to the
+implementation of its data storage layer.])
(p [Code staging is often studied in the context of optimized code
generation ,(ref :bib '(rompf2012:lms wang2002:s2 aktemur2013:shonan)),
or that of hygienic macros ,(ref :bib '(kohlbecker1986:hygienic
@@ -955,6 +962,7 @@ the assembly of operating system components in GuixSD.
Using a
single-language framework with staging has proved to enable new ways
of code reuse and composition.]))
+ (!latex "\n\\newpage\n\\balance\n")
(references))
;;; Local Variables:
diff --git a/doc/gpce-2017/staging.sbib b/doc/gpce-2017/staging.sbib
index 33b277d..12c8e1b 100644
--- a/doc/gpce-2017/staging.sbib
+++ b/doc/gpce-2017/staging.sbib
@@ -147,6 +147,35 @@ Evaluation and Semantics-Based Program Manipulation (PEPM
1999)")
(keywords "code generation, domain-specific languages, generative
programming, high-performance computing, staging"))
+(article madhavapeddy2013:unikernels
+ (author "Anil Madhavapeddy and David J. Scott")
+ (title "Unikernels: Rise of the Virtual Library Operating System")
+ (journal "Queue")
+ (issue_date "November 2013")
+ (volume "11")
+ (number "11")
+ (month "December")
+ (year "2013")
+ (issn "1542-7730")
+ (pages "30:30--30:44")
+ (articleno "30")
+ (numpages "15")
+ (url "http://doi.acm.org/10.1145/2557963.2566628")
+ (doi "10.1145/2557963.2566628")
+ (acmid "2566628")
+ (publisher "ACM")
+ (address "New York, NY, USA"))
+
+#|
address@hidden,
+ (author "Thomas Gazagnaire and Anil Madhavapeddy")
+ (title " Statically-typed value persistence for ML")
+ (booktitle "1st Workshop on Generative Technologies")
+ (month "March")
+ year = {2010}
+}
+|#
+
#|
(defun skr-from-bibtex ()
"Vaguely convert the BibTeX snippets after POINT to SBibTeX."
- branch master updated (036cd84 -> fb91f64), Ludovic Courtès, 2017/09/01
- 11/14: gpce-2017: Enable hyphenation at hyphens., Ludovic Courtès, 2017/09/01
- 10/14: gpce-2017: Adjust as suggested by the reviewers.,
Ludovic Courtès <=
- 14/14: gpce-2017: Adjust ACM boilerplate., Ludovic Courtès, 2017/09/01
- 05/14: gpce-2017: Shrink., Ludovic Courtès, 2017/09/01
- 01/14: doc: Add GPCE paper., Ludovic Courtès, 2017/09/01
- 08/14: gpce-2017: Add an explicit license., Ludovic Courtès, 2017/09/01
- 09/14: gpce-2017: Fix typo., Ludovic Courtès, 2017/09/01
- 03/14: gpce-2017: Write some more., Ludovic Courtès, 2017/09/01
- 04/14: gpce-2017: Fixlets., Ludovic Courtès, 2017/09/01
- 07/14: gpce-2017: Deanonymize., Ludovic Courtès, 2017/09/01
- 13/14: gpce-2017: Shrink to 7 pages (10pt font)., Ludovic Courtès, 2017/09/01
- 06/14: gpce-2017: Tweak some more., Ludovic Courtès, 2017/09/01