diff --git a/doc/fosdem/GuixSD.png b/doc/fosdem/GuixSD.png deleted file mode 100644 index 37614d95..00000000 Binary files a/doc/fosdem/GuixSD.png and /dev/null differ diff --git a/doc/fosdem/LISP-1-5-page-13-bottom.png b/doc/fosdem/LISP-1-5-page-13-bottom.png deleted file mode 120000 index 9f970811..00000000 --- a/doc/fosdem/LISP-1-5-page-13-bottom.png +++ /dev/null @@ -1 +0,0 @@ -LISP-1.5-page-13-bottom.png \ No newline at end of file diff --git a/doc/fosdem/LISP-1.5-page-13-bottom.png b/doc/fosdem/LISP-1.5-page-13-bottom.png deleted file mode 100644 index f7db7870..00000000 Binary files a/doc/fosdem/LISP-1.5-page-13-bottom.png and /dev/null differ diff --git a/doc/fosdem/LISP-1.5-page-13.pdf b/doc/fosdem/LISP-1.5-page-13.pdf deleted file mode 100644 index 24bbad88..00000000 Binary files a/doc/fosdem/LISP-1.5-page-13.pdf and /dev/null differ diff --git a/doc/fosdem/LISP-1.5-page-13.png b/doc/fosdem/LISP-1.5-page-13.png deleted file mode 100644 index aeb112fa..00000000 Binary files a/doc/fosdem/LISP-1.5-page-13.png and /dev/null differ diff --git a/doc/fosdem/README b/doc/fosdem/README deleted file mode 100644 index 99426056..00000000 --- a/doc/fosdem/README +++ /dev/null @@ -1,52 +0,0 @@ - -*- org -*- -#+TITLE: Talk @Fosdem 2017 - -Copyright © 2017 Jan (janneke) Nieuwenhuizen - - Copying and distribution of this file, with or without modification, - are permitted in any medium without royalty provided the copyright - notice and this notice are preserved. - -This talk is -Copyright © 2017 Jan (janneke) Nieuwenhuizen - -Permission is granted to copy, distribute and/or modify this talk -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in doc/fdl-1.3.texi, included in the -manual in the section entitled ``GNU Free Documentation License''. - -beamercolorthemeX.sty -beamerthemeX.sty -bootstrap-graph.png -egg.jpeg -egg.png -egg.xcf -fosdem.org -fosdem.pdf -fsb-logo-guile-guix-gnu.png -fsb-logo-guile-guix-gnu.xcf -fsb-logo-guile-guix-mes.png -fsb-logo-guile-guix-mes.xcf -fsb-logo.png -guix-build-bootstrap-tarballs.log -mes.png -mes.xcf -bootstrap-graph.png - -GuixSD.png -Copyright © 2015 Luis Felipe López Acevedo -Permission is granted to copy, distribute and/or modify -this work under the terms of the Creative Commons -Attribution-ShareAlike 4.0 International License. - -One page from -http://www.softwarepreservation.org/projects/LISP/book/LISP%25201.5%2520Programmers%2520Manual.pdf - -MIT Press: Reproduction in whole or in part is permitted for any -purpose of the of the United States Government. - -LISP-1.5-page-13.png -LISP-1.5-page-13-bottom.png -LISP-1.5-page-13.pdf diff --git a/doc/fosdem/beamercolorthemeX.sty b/doc/fosdem/beamercolorthemeX.sty deleted file mode 100644 index bd43517a..00000000 --- a/doc/fosdem/beamercolorthemeX.sty +++ /dev/null @@ -1,27 +0,0 @@ -% GNU Mes --- Maxwell Equations of Software -% Copyright © 2017 Jan (janneke) Nieuwenhuizen -% -% This file is part of GNU Mes. -% -% GNU Mes is free software; you can redistribute it and/or modify it -% under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 3 of the License, or (at -% your option) any later version. -% -% GNU Mes is distributed in the hope that it will be useful, but -% WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with GNU Mes. If not, see . - -\mode - -\usecolortheme{spruce} -\setbeamercolor*{structure}{fg=blue!25!white} -\setbeamercolor*{structure}{fg=MSUgreen!80!white} -\setbeamercolor{block title}{use=structure,fg=white,bg=structure.fg!75!black} - -\mode - diff --git a/doc/fosdem/beamerthemeX.sty b/doc/fosdem/beamerthemeX.sty deleted file mode 100644 index b5d507c7..00000000 --- a/doc/fosdem/beamerthemeX.sty +++ /dev/null @@ -1,36 +0,0 @@ -% GNU Mes --- Maxwell Equations of Software -% Copyright © 2017 Jan (janneke) Nieuwenhuizen -% -% This file is part of GNU Mes. -% -% GNU Mes is free software; you can redistribute it and/or modify it -% under the terms of the GNU General Public License as published by -% the Free Software Foundation; either version 3 of the License, or (at -% your option) any later version. -% -% GNU Mes is distributed in the hope that it will be useful, but -% WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with GNU Mes. If not, see . - -\mode - -\setbeamertemplate{navigation symbols}{} - -\newif\ifbeamer@secheader -\beamer@secheaderfalse - -\DeclareOptionBeamer{secheader}{\beamer@secheadertrue} -\ProcessOptionsBeamer - -\usecolortheme{X} -\useinnertheme[shadow]{rounded} -\useoutertheme{infolines} - -\ifbeamer@secheader\else\setbeamertemplate{headline}[default]\fi - -\mode - diff --git a/doc/fosdem/bootstrap-graph.png b/doc/fosdem/bootstrap-graph.png deleted file mode 100644 index 3af45f03..00000000 Binary files a/doc/fosdem/bootstrap-graph.png and /dev/null differ diff --git a/doc/fosdem/egg.jpeg b/doc/fosdem/egg.jpeg deleted file mode 100644 index 302ab1a8..00000000 Binary files a/doc/fosdem/egg.jpeg and /dev/null differ diff --git a/doc/fosdem/egg.png b/doc/fosdem/egg.png deleted file mode 100644 index a9d0ce0e..00000000 Binary files a/doc/fosdem/egg.png and /dev/null differ diff --git a/doc/fosdem/egg.xcf b/doc/fosdem/egg.xcf deleted file mode 100644 index ed9d7c0b..00000000 Binary files a/doc/fosdem/egg.xcf and /dev/null differ diff --git a/doc/fosdem/fosdem.org b/doc/fosdem/fosdem.org deleted file mode 100644 index 0bed9504..00000000 --- a/doc/fosdem/fosdem.org +++ /dev/null @@ -1,665 +0,0 @@ -#+TITLE: GNU Mes -#+TITLE: \\\smaller[2]{Maxwell Equations of Software} -#+DATE:2017-02-05 -#+EMAIL: janneke@gnu.org -#+AUTHOR: janneke@gnu.org -#+COPYRIGHT: Jan (janneke) Nieuwenhuizen -#+LICENSE: GNU Free Documentation License, version 1.3 or later. -#+LATEX_HEADER:\institute{FOSDEM'17} -#+LATEX_HEADER:\def\ahref#1#2{\htmladdnormallink{#2}{#1}} -#+OPTIONS: H:2 -#+LATEX_CLASS: beamer -#+LATEX_CLASS_OPTIONS: [presentation] -#+LATEX_HEADER: \usepackage{relsize} -#+LATEX_HEADER: \usepackage{hyperref} -#+LATEX_HEADER: \usepackage{html} -#+latex_header: \mode{\usetheme{X}} -#+BEAMER_THEME: X -#+BEAMER_FRAME_LEVEL: 2 -#+COLUMNS: %45ITEM %10BEAMER_ENV(Env) %10BEAMER_ACT(Act) %4BEAMER_COL(Col) %8BEAMER_OPT(Opt) - -* Mes, WHAT? - -# ** TEST -# - @@beamer:<1->@@ Item 1 -# - @@beamer:<2->@@ Item 2 - -# GNU LilyPond, Verum -# Depression: France, Netherlands, US: about 20%; 10x more than 50 years ago - -** Mes: Full Source Bootstrapping - -*** Bootstrapping :B_block:BMCOL: - :PROPERTIES: - :BEAMER_COL: 0.6 - :BEAMER_ENV: block - :END: - * Where do compilers come from? - * Who compiled the compiler? - * Chicken and Egg -*** . :B_block:BMCOL: -#+LATEX:\includegraphics[width=0.4\textwidth]{mes.png} - :PROPERTIES: - :BEAMER_COL: 0.3 - :xBEAMER_ACT: <2-> - :xBEAMER_ENV: block - :END: - - -*** mes: A tiny Scheme interpreter in Hex [or simple C?] - :PROPERTIES: - :BEAMER_ACT: <2-> - :END: - -*** mescc: A C compiler in Scheme, executed by Mes - * Mes + CC = -#+xATTR_LATEX: :=\linewidth -#+xLATEX:\includegraphics[width=0.25\textwidth]{fsb-logo.png} -#+LATEX:\rightskip=-3cm\includegraphics[width=0.2\textwidth]{fsb-logo-guile-guix-mes.png} - :PROPERTIES: - :BEAMER_ACT: <3-> - :END: - -* Mes, what NOT? - :PROPERTIES: - :xBEAMER_ENV: note - :END: - -** Mes is a strategy - * NOT a goal in itself -- only a means or proof of concept - * NOT a general purpose Scheme -- close to R6RS - * NOT an alternative for Guile -- reuse Guile modules - -* Mes, WHY? - -** Inspiration: what do you want? - -*** Meaning, Autonomy, Co-Creation, Self-Realization - * Discovering, Hacking, Motivating, Playing - :PROPERTIES: - :BEAMER_ACT: <2-> - :END: - -*** A planet of enlightened beings -# * Awakening of consciousness - * Look inward - * Be happy - * Be helpful - :PROPERTIES: - :BEAMER_ACT: <3-> - :END: -*** A world where all software is free - * Support \ahref{https://gnu.org}{GNU} - * Create free software -# * Be patient, be wise - :PROPERTIES: - :BEAMER_ACT: <4-> - :END: - -** Inspiration: when do you want it? - -*** NOW!!! - :PROPERTIES: - :BEAMER_ACT: <2-> - :END: - -** Inspiration - -*** To finally run GNU - * GuixSD: GNU in the flesh - :PROPERTIES: - :BEAMER_ACT: <1-> - :END: - -# * Michael Nielsen: \ahref{http://www.michaelnielsen.org/ddi/lisp-as-the-maxwells-equations-of-software}{Lisp as the Maxwell's Equations of Software} - -# *** recap the 4 freedoms -# :PROPERTIES: -# :BEAMER_ACT: <3-> -# :END: - -** 1941: The \ahref{https://en.wikipedia.org/wiki/Four_Freedoms}{Four Freedoms} - :PROPERTIES: - :BEAMER_ENV: note - :END: -*** for all people on our planet - - * Freedom of speech - * Freedom of worship - * Freedom from want - * Freedom from fear - --- Franklin D. Roosevelt - -** 1984 Four Software Freedoms: GNU GPL - :PROPERTIES: - :xBEAMER_ENV: note - :END: -*** The freedom to - - * 0 run the program as you wish, for any purpose - * 1 study how the program works, and change it if you wish - * 2 redistribute copies so you can help your neighbor - * 3 share copies of your modified versions with others - --- Richard M. Stallman - -# 1: Access to the source code is a precondition for this. - -# 3: By doing this you can give the whole community a chance to benefit -# from your changes. Access to the source code is a precondition for -# this. - -** 2013 Debian's \ahref{https://reproducible-builds.org}{reproducible-builds.org} - -*** Verifiable path: source -> binary -Reproducible builds are a set of software development practices that -create a verifiable path from human readable source code to the binary -code used by computers. - -*** Does this binary come from the given source? - * Always different binary...dunno? - * Same binary - * Always good, always bad? - -** 2015 GuixSD \ahref{https://www.gnu.org/software/guix/news/reproducible-builds-a-means-to-an-end.html}{Reproducible builds: a means to an end} - -# GNU Guix is committed to improving the freedom and autonomy of -# computer users. This obviously manifests in the fact that GuixSD is a -# fully free distro, and this is what GNU stands for. All the packages -# in Guix are built from source, including things like firmware where -# there is an unfortunate tendency to use pre-built binaries; that way, -# users can know what software they run. On the technical side, Guix -# also tries hard to empower users by making the whole system as -# hackable as possible, in a uniform way—making Freedom #1 practical, à -# la Emacs. - -*** A technical means to an end - * guarantee user autonomy and safety - * GNU+GuixSD: fully free distro - * NixOS: fully isolated build environment - * NixOS: full list of dependencies - * reproducible builds: bit-for-bit identical binaries - --- Ludovic Courtès - -** 2016 From GuixSD to Mes: The bootstrap binaries - -*** GuixSD ... source - * source/binary transparency - * all is built from source - * *EVERYTHING* - * starting from the ... *bootstrap binaries* - - - The distribution is fully “bootstrapped” and “self-contained”: each -package is built based solely on other packages in the distribution. - -The root of this dependency graph is a small set of “bootstrap -binaries”, provided by the ‘(gnu packages bootstrap)’ module. For more -information on bootstrapping, *note Bootstrapping::. - - -[2010]: Eelco Dolstra, Andres Löh, and Nicolas Pierron described -sources of non-determinism in their 2010 JFP paper about NixOS - - -** GuixSD bootstrap graph - -#+LATEX:\includegraphics[width=0.8\textwidth]{bootstrap-graph.png} - - -** GuixSD bootstrap tarballs -#+BEGIN_SRC bash -$ du -schx $(readlink $(guix build bootstrap-tarballs)/*) -2.1M /gnu/store/mzk1bc3pfrrf4qnfs3zkj5ch83srnvpx-binutils-static-stripped-tarball-2.27/binutils-static-stripped-2.27-x86_64-linux.tar.xz -16M /gnu/store/jddviycivycfhaqahqff6n18y9w46gpz-gcc-stripped-tarball-4.9.4/gcc-stripped-4.9.4-x86_64-linux.tar.xz -1.7M /gnu/store/x5zrmh820yc054w00cy00iixwghmly2y-glibc-stripped-tarball-2.24/glibc-stripped-2.24-x86_64-linux.tar.xz -3.1M /gnu/store/znsf5d7xbqkp4rrjgzsklmwmms8m5i3m-guile-static-stripped-tarball-2.0.12/guile-static-stripped-2.0.12-x86_64-linux.tar.xz -5.7M /gnu/store/myfikfgx74dzlm3lc217kchxnckri5qq-static-binaries-tarball-0/static-binaries-0-x86_64-linux.tar.xz -28M total -$ for i in $(readlink $(guix build bootstrap-tarballs)/*);\ - do sudo tar xf $i; done -$ du -schx * -125M bin -13M include -18M lib -43M libexec -4.3M share -202M total -#+END_SRC - - -** Inspiration - -*** To finally run GNU - * GuixSD: GNU in the flesh - :PROPERTIES: - :BEAMER_ACT: <1-> - :END: -*** Bootstrap binaries: source all the way down? - * OriansJ: \ahref{https://github.com/oriansj/stage0}{self-hosting hex assembler} - :PROPERTIES: - :BEAMER_ACT: <1-> - :END: -*** The computer revolution hasn't happened yet - * Alan Kay - :PROPERTIES: - :BEAMER_ACT: <2-> - :END: -The computer revolution is very new, and all of the good ideas have -not been universally implemented - -** Bootstrapping: Chicken and Egg - -#+LATEX:\includegraphics[width=0.3\textwidth]{egg.png} - -** Inspiration - -*** To finally run GNU - * GuixSD: GNU in the flesh - :PROPERTIES: - :BEAMER_ACT: <1-> - :END: -*** Bootstrap binaries: source all the way down? - * OriansJ: \ahref{https://github.com/oriansj/stage0}{self-hosting hex assembler} - :PROPERTIES: - :BEAMER_ACT: <1-> - :END: -*** The computer revolution hasn't happened yet - * Alan Kay - :PROPERTIES: - :BEAMER_ACT: <1-> - :END: -The computer revolution is very new, and all of the good ideas have -not been universally implemented -*** \ahref{http://queue.acm.org/detail.cfm?id=1039523}{LISP as the Maxwell's Equations of Software} - :PROPERTIES: - :BEAMER_ACT: <1-> - :END: -That was the big revelation to me when I [..] finally understood that -the half page of code on the bottom of page 13 of the Lisp 1.5 manual -was Lisp in itself. These were “Maxwell’s Equations of Software!” - - * \ahref{http://www.softwarepreservation.org/projects/LISP/book/LISP\%25201.5\%2520Programmers\%2520Manual.pdf}{LISP-1.5}: page 13 - - -** Chicken and Egg - - * the shortest path from hex to gcc - * using Maxwell's Equations of Software - -** Bootstrapping: Chicken and Egg - -#+LATEX:\includegraphics[width=0.3\textwidth]{mes.png} - - -* Mes: HOW? - -** LISP-1.5 John McCarthy: page 13 - -# convert -density 150 -quality 100 -flatten -sharpen 0x1.0 LISP-1.5-page-13.pdf LISP-1.5-page-13.png -#+BEGIN_COMMENT -[[file:LISP-1-5-page-13-bottom.png][LISP-1.5 page 13 bottom]] -#+END_COMMENT - -#+ATTR_LATEX: :width=\linewidth -#+LATEX:\includegraphics[width=\textwidth]{LISP-1-5-page-13-bottom.png} - -** Eval/Apply - * core - * apply - * eval - * helpers - * assoc - * pairlis - * evcon - * evlis - * primitives - * atom - * car - * cdr - * cons - * eq - -** LISP-1.5 in Guile Scheme: APPLY - -#+BEGIN_SRC scheme -(define (apply fn x a) - (cond - ((atom fn) - (cond - ((eq fn CAR) (caar x)) - ((eq fn CDR) (cdar x)) - ((eq fn CONS) (cons (car x) (cadr x))) - ((eq fn ATOM) (atom (car x))) - ((eq fn EQ) (eq (car x) (cadr x))) - (#t (apply (eval fn a) x a)))) - ((eq (car fn) LAMBDA) - (eval (caddr fn) (pairlis (cadr fn) x a))) - ((eq (car fn) LABEL) - (apply (caddr fn) x (cons (cons (cadr fn) - (caddr fn)) - a))))) -#+END_SRC - -** LISP-1.5 in Guile Scheme: EVAL - -#+BEGIN_SRC scheme -(define (eval e a) - (cond - ((atom e) (cdr (assoc e a))) - ((atom (car e)) - (cond ((eq (car e) QUOTE) (cadr e)) - ((eq (car e) COND) (evcon (cdr e) a)) - (#t (apply (car e) - (evlis (cdr e) a) a)))) - (#t (apply (car e) (evlis (cdr e) a) a)))) -#+END_SRC - -** LISP-1.5 in Scheme: ASSOC, PAIRLIS, EVCON, EVLIS - -#+BEGIN_SRC scheme -(define (assoc x a) - (cond ((eq (caar a) x) (car a)) - (#t (assoc x (cdr a))))) - -(define (pairlis x y a) - (cond ((null x) a) - (#t (cons (cons (car x) (car y)) - (pairlis (cdr x) (cdr y) a))))) - -(define (evcon c a) - (cond ((eval (caar c) a) (eval (cadar c) a)) - (#t (evcon (cdr c) a)))) - -(define (evlis m a) - (cond ((null m) NIL) - (#t (cons (eval (car m) a) (evlis (cdr m) a))))) -#+END_SRC - - -** LISP-1.5 in C - - * closures - * symbols - * specials? =()= =#t= =#f= =*unspecified*= =*undefined*= - * macros - * syntax-rules - * records - * modules/importing - -** Garbage/Jam Collector - -*** Abelson & Sussman -With a real computer we will eventually run out of free -space in which to construct new pairs.(1) - -*** footnote(1) - -This may not be true eventually, because memories may get large -enough so that it would be impossible to run out of free memory in the -lifetime of the computer. For example, there are about {3\cdot10^{13}} -microseconds in a year, so if we were to ‘cons’ once per microsecond we -would need about 10^{15} cells of memory to build a machine that could -operate for 30 years without running out of memory. - - -** C parser: roll your own LALR - -*** Lalr - * minimal ANSI-C parser - - =int main (){puts ("Hello, world!");return 0;}= - -** C parser: Nyacc -*** Pros - * full C99 parser - * ...including C pre-processor - * perspective of building complete C compiler in Guile - * tsunami of enthusiasm and contributors! - -** C parser: Nyacc - -*** Cons: more TODO for Mes - * keywords - * =define*=, =lambda*= - * optargs - * exeptions, =catch=, =throw= - * =call/cc= - * fluids, =with-fluid= - * =syntax-case= - * André van Tonder's 2006-2007 streak in 14 "commits" - * psyntax: another bootstrap loop?! - * R7RS's Ellipsis - * Guile-1.8 - * =#;=-comments - * =#||#=-comments - -** C parser: Nyacc - -*** Cons: more TODO for Mes - - * Cond supports ==>= - * Bugfixes - * Cond now evaluates its test clauses only once - * Append can also handle one argument - * For-each now supports 2 list arguments - * Map now supports 3 list arguments - * Backslash in string is supported - * Closure is not a pair - * All standard characters are supported - - * 36 new functions -#+BEGIN_SRC scheme - 1+, 1-, abs, and=>, append-reverse, ash, char<\=?, char=?, char>?, even?, filter, delete, delq, vector-copy, - fold, fold-right, getenv, iota, keyword->symbol list-head, - list-tail, negative?, odd?, positive?, remove!, remove, - string->number, string-copy, string-prefix?, string=, - string=?, symbol->keyword symbol-append, symbol-prefix?, - unless, write, zero? -#+END_SRC - -* Mes: WHERE? - - -** Timeline - -*** June 19: \ahref{https://lists.gnu.org/archive/html/guile-user/2016-06/msg00061.html}{on bootstrapping: introducing Mes} -# https://gnunet.org/bot/log/guile/2016-05-19 - * LISP-1.5 in Scheme and in C -*** September 25: \ahref{https://lists.gnu.org/archive/html/guile-user/2016-09/msg00061.html}{on bootstrapping: 2nd status report on Mes} -# https://gnunet.org/bot/log/guile/2016-09-25 - * Scheme primitives in C, closures, macros, 97 tests, LALR - * Produce ELF binary from -#+BEGIN_SRC C -int main () -{ - int i; - puts ("Hi Mes!\n"); - for (i = 0; i < 4; ++i) - puts (" Hello, world!\n"); - return 1; -} -#+END_SRC - * in 1'20" - -** Timeline - -*** October 23: 0.1 [not announced] - * =let-syntax=, =match= - * compile main.c in 2s (was 1'20") - * add REPL - -*** November 21: 0.2 [not announced] - * psyntax integration, =syntax-case=, =load= - -*** December 12: \ahref{https://lists.gnu.org/archive/html/guile-user/2016-12/msg00008.html}{on bootstrapping: first Mes 0.3 released} -# https://gnunet.org/bot/log/guile/2016-12-12 - * Garbage Collector/Jam Scraper - -*** December 25: \ahref{https://lists.gnu.org/archive/html/guile-user/2016-12/msg00041.html}{Mes 0.4 released} -# https://gnunet.org/bot/log/guile/2016-12-25 - * run Nyacc, PEG, reduced core - -** Status - -*** core C prototype: 1150 lines -*** non-essential C sources: -#+BEGIN_SRC bash - 210 lib.c - 157 math.c - 126 posix.c - 134 reader.c - 627 total -#+END_SRC - -** Status -*** tiny-mes.c: 270 lines - * compiles with mescc - * i386-lib: =i386:exit=, =i3886:open=, =i386:read=, =i386:write= - * tiny-libc: =getchar=, =putchar=, =puts=, =strcmp=, =strlen= - * runs -#+BEGIN_SRC bash -Hello tiny-mes! -reading: module/mes/hack-32.mo -MES *GOT MES* -(#\A(#\B)) -#+END_SRC - -** Status - -*** mini-mes.c: 800 lines - * 12kB binary - * 2500 lines assembly - * runs with gcc -#+BEGIN_SRC bash -Hello mini-mes! -reading: module/mes/hack-32.mo -MES *GOT MES* -cells read: 19 -symbols: 1 -program[10]: (cons(0(1))) -(0 . 1) -#+END_SRC - * compiles with mescc - * 83 statements skipped - -** Status - -*** - -#+BEGIN_SRC bash -01:16:51 janneke@dundal:~/src/mes -$ guix package -f guix.scm -The following package will be upgraded: - mes 0.4.f84e97fc -> 0.4.f84e97fc /gnu/store/2fsy1cd24pnwkv7a1zd0anzk3zz8ysdn-mes-0.4.f84e97fc - -#+END_SRC - - - -** Misc - :PROPERTIES: - :BEAMER_ENV: note - :END: - -civodul - -Impressive! - - Is it a goal to try interpret a language as close as possible to that of - Guile, and have the same libraries? I guess that could help in the - future: we could use (system base lalr), nyacc, etc. - - Also, currently there’s approximately 2K lines of C. How do you plan to - make sure that it doesn’t grow over time, or even that it shrinks? :-) - - This all sounds very promising, thanks a lot! - -arnebab - -This is really cool! Thank you for your work! - - > How do you compile the interpreter? - -paroneayea/cwebber -First, I'm really excited you're making progress on Mes! - - > Second, Scheme48 did something similar to this, called "Pre-Scheme", - which is how they bootstrapped Scheme48 iirc. Have you heard of it or - looked at it? - - https://en.wikipedia.org/wiki/PreScheme - - * PreScheme in Scheme48 - * \ahref{http://canonical.org/~kragen/sw/urscheme/}{Ur-Scheme} -R5RS to x86 Assembly - -** What's next? - - * psyntax - * source or binary? - * alternative syntax-case? - * rewrite Nyacc without syntax-case, R7RS-ellipsis? - * call/cc vs eval/apply/evlis? - * merge with Guile? - * compile Guile or compile Gcc? - * prototype? in C - * move from C to Hex? - * move from C to [Pre]Scheme - -** Thanks -*** Thanks :B_block:BMCOL: - :PROPERTIES: - :BEAMER_COL: 0.48 - :BEAMER_ENV: block - :END: - * John McCarthy - * Richard Stallman - * Eelco Dolstra - * Ludovic Courtès - * Rutger van Beusekom - * Christopher A. Webber -*** Thanks everyone else :B_block:BMCOL: - :PROPERTIES: - :BEAMER_COL: 0.48 - :xBEAMER_ACT: <2-> - :BEAMER_ENV: block - :END: - * LISP-1.5 - * GNU - * NixOS - * Debian reproducible builds - * GuixSD - * FOSDEM -*** Connect - * irc freenode.net [[irc://guix@freenode.net][#guix]] [[irc://guile@freenode.net][#guile]] - * mail [[mailto://guile-user@gnu.org][guile-user@gnu.org]] - * git [[https://gitlab.com/janneke/mes][git@gitlab.com:janneke/mes.git]] - -# * Copying -# :PROPERTIES: -# :COPYING: t -# :END: - -# Copyright \copy 2017 Jan (janneke) Nieuwenhuizen - -# C-c C-e l b (org-beamer-export-to-latex) -# C-c C-e l P (org-beamer-export-to-pdf) - -* Legalese - :PROPERTIES: - :COPYING: t - :END: - - Copyright \copy 2017 Jan (janneke) Nieuwenhuizen - - #+BEGIN_QUOTE - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.3 or any later version published by the Free Software - Foundation; with no Invariant Sections, with no Front-Cover Texts, - and with no Back-Cover Texts. - #+END_QUOTE diff --git a/doc/fosdem/fosdem.pdf b/doc/fosdem/fosdem.pdf deleted file mode 100644 index a127c9ba..00000000 Binary files a/doc/fosdem/fosdem.pdf and /dev/null differ diff --git a/doc/fosdem/fsb-logo-guile-guix-gnu.png b/doc/fosdem/fsb-logo-guile-guix-gnu.png deleted file mode 100644 index f4fba7fb..00000000 Binary files a/doc/fosdem/fsb-logo-guile-guix-gnu.png and /dev/null differ diff --git a/doc/fosdem/fsb-logo-guile-guix-gnu.xcf b/doc/fosdem/fsb-logo-guile-guix-gnu.xcf deleted file mode 100644 index 7dcad397..00000000 Binary files a/doc/fosdem/fsb-logo-guile-guix-gnu.xcf and /dev/null differ diff --git a/doc/fosdem/fsb-logo-guile-guix-mes.png b/doc/fosdem/fsb-logo-guile-guix-mes.png deleted file mode 100644 index 691763c0..00000000 Binary files a/doc/fosdem/fsb-logo-guile-guix-mes.png and /dev/null differ diff --git a/doc/fosdem/fsb-logo-guile-guix-mes.xcf b/doc/fosdem/fsb-logo-guile-guix-mes.xcf deleted file mode 100644 index 54cd2304..00000000 Binary files a/doc/fosdem/fsb-logo-guile-guix-mes.xcf and /dev/null differ diff --git a/doc/fosdem/fsb-logo.png b/doc/fosdem/fsb-logo.png deleted file mode 100644 index 691763c0..00000000 Binary files a/doc/fosdem/fsb-logo.png and /dev/null differ diff --git a/doc/fosdem/guix-build-bootstrap-tarballs.log b/doc/fosdem/guix-build-bootstrap-tarballs.log deleted file mode 100644 index c1a4e1ee..00000000 --- a/doc/fosdem/guix-build-bootstrap-tarballs.log +++ /dev/null @@ -1,44 +0,0 @@ -11:12:26 janneke@dundal:~/src/mes/doc -$ guix build bootstrap-tarballs -substitute: updating list of substitutes from 'http://mirror.hydra.gnu.org'... 100.0% -The following files will be downloaded: - /gnu/store/6bym1yf3x500dhzc3z8lqk0frnd5qcka-bootstrap-tarballs-0 - /gnu/store/jddviycivycfhaqahqff6n18y9w46gpz-gcc-stripped-tarball-4.9.4 - /gnu/store/myfikfgx74dzlm3lc217kchxnckri5qq-static-binaries-tarball-0 - /gnu/store/mzk1bc3pfrrf4qnfs3zkj5ch83srnvpx-binutils-static-stripped-tarball-2.27 - /gnu/store/x5zrmh820yc054w00cy00iixwghmly2y-glibc-stripped-tarball-2.24 - /gnu/store/znsf5d7xbqkp4rrjgzsklmwmms8m5i3m-guile-static-stripped-tarball-2.0.12 -@ substituter-started /gnu/store/mzk1bc3pfrrf4qnfs3zkj5ch83srnvpx-binutils-static-stripped-tarball-2.27 /gnu/store/9hhljacc22jppmjx57xc7c46by10y8gh-guix-0.12.0-4.d9da/libexec/guix/substitute -Downloading http://mirror.hydra.gnu.org/nar/mzk1bc3pfrrf4qnfs3zkj5ch83srnvpx-binutils-static-stripped-tarball-2.27 (2.0MiB installed)... - binutils-static-stripped-tarball-2.27 3.5MiB/s 00:01 | 2.0MiB transferred - -@ substituter-succeeded /gnu/store/mzk1bc3pfrrf4qnfs3zkj5ch83srnvpx-binutils-static-stripped-tarball-2.27 -@ substituter-started /gnu/store/jddviycivycfhaqahqff6n18y9w46gpz-gcc-stripped-tarball-4.9.4 /gnu/store/9hhljacc22jppmjx57xc7c46by10y8gh-guix-0.12.0-4.d9da/libexec/guix/substitute -Downloading http://mirror.hydra.gnu.org/nar/jddviycivycfhaqahqff6n18y9w46gpz-gcc-stripped-tarball-4.9.4 (15.5MiB installed)... - gcc-stripped-tarball-4.9.4 4.0MiB/s 00:04 | 15.5MiB transferred - -@ substituter-succeeded /gnu/store/jddviycivycfhaqahqff6n18y9w46gpz-gcc-stripped-tarball-4.9.4 -@ substituter-started /gnu/store/x5zrmh820yc054w00cy00iixwghmly2y-glibc-stripped-tarball-2.24 /gnu/store/9hhljacc22jppmjx57xc7c46by10y8gh-guix-0.12.0-4.d9da/libexec/guix/substitute -Downloading http://mirror.hydra.gnu.org/nar/x5zrmh820yc054w00cy00iixwghmly2y-glibc-stripped-tarball-2.24 (1.6MiB installed)... - glibc-stripped-tarball-2.24 697KiB/s 00:02 | 1.6MiB transferred - -@ substituter-succeeded /gnu/store/x5zrmh820yc054w00cy00iixwghmly2y-glibc-stripped-tarball-2.24 -@ substituter-started /gnu/store/znsf5d7xbqkp4rrjgzsklmwmms8m5i3m-guile-static-stripped-tarball-2.0.12 /gnu/store/9hhljacc22jppmjx57xc7c46by10y8gh-guix-0.12.0-4.d9da/libexec/guix/substitute -Downloading http://mirror.hydra.gnu.org/nar/znsf5d7xbqkp4rrjgzsklmwmms8m5i3m-guile-static-stripped-tarball-2.0.12 (3.1MiB installed)... - guile-static-stripped-tarball-2.0.12 3.2MiB/s 00:01 | 3.1MiB transferred - -@ substituter-succeeded /gnu/store/znsf5d7xbqkp4rrjgzsklmwmms8m5i3m-guile-static-stripped-tarball-2.0.12 -@ substituter-started /gnu/store/myfikfgx74dzlm3lc217kchxnckri5qq-static-binaries-tarball-0 /gnu/store/9hhljacc22jppmjx57xc7c46by10y8gh-guix-0.12.0-4.d9da/libexec/guix/substitute -Downloading http://mirror.hydra.gnu.org/nar/myfikfgx74dzlm3lc217kchxnckri5qq-static-binaries-tarball-0 (5.7MiB installed)... - static-binaries-tarball-0 4.1MiB/s 00:01 | 5.7MiB transferred - -@ substituter-succeeded /gnu/store/myfikfgx74dzlm3lc217kchxnckri5qq-static-binaries-tarball-0 -@ substituter-started /gnu/store/6bym1yf3x500dhzc3z8lqk0frnd5qcka-bootstrap-tarballs-0 /gnu/store/9hhljacc22jppmjx57xc7c46by10y8gh-guix-0.12.0-4.d9da/libexec/guix/substitute -Downloading http://mirror.hydra.gnu.org/nar/6bym1yf3x500dhzc3z8lqk0frnd5qcka-bootstrap-tarballs-0 (2KiB installed)... - bootstrap-tarballs-0 385KiB/s 00:00 | 520B transferred - -@ substituter-succeeded /gnu/store/6bym1yf3x500dhzc3z8lqk0frnd5qcka-bootstrap-tarballs-0 -/gnu/store/6bym1yf3x500dhzc3z8lqk0frnd5qcka-bootstrap-tarballs-0 -12:05:09 janneke@dundal:~/src/mes/doc -$ 12:05:09 janneke@dundal:~/src/mes/doc -$ \ No newline at end of file diff --git a/doc/fosdem/mes.png b/doc/fosdem/mes.png deleted file mode 100644 index 304e2760..00000000 Binary files a/doc/fosdem/mes.png and /dev/null differ diff --git a/doc/fosdem/mes.xcf b/doc/fosdem/mes.xcf deleted file mode 100644 index 8fd2793c..00000000 Binary files a/doc/fosdem/mes.xcf and /dev/null differ