Add missing copyright headers and READMEs.

* ChangeLog: Add copyright header.
* build-aux/GNUmakefile.in (generate-ChangeLog): Append it as copyright footer.
* BOOTSTRAP: Add copyright header.
* scaffold/boot/2f-define-second-lambda.scm: Likewise.
* scaffold/boot/39-global-define-override.scm: Likewise.
* scaffold/boot/3a-global-define-lambda-override.scm: Likewise.
* scaffold/boot/4f-string-split.scm: Likewise.
* scaffold/boot/numbers.scm: Likewise.
* scaffold/gc.scm: Likewise.
* scaffold/b-0.mes: Remove.
* doc/GNU-EVAL-APPLY: Remove.
* doc/announce/README: New file.
* doc/announce/ANNOUNCE: Move from doc/ANNOUNCE.
* doc/announce/ANNOUNCE-0.10: Likewise.
* doc/announce/ANNOUNCE-0.11: Likewise.
* doc/announce/ANNOUNCE-0.12: Likewise.
* doc/announce/ANNOUNCE-0.13: Likewise.
* doc/announce/ANNOUNCE-0.14: Likewise.
* doc/announce/ANNOUNCE-0.15: Likewise.
* doc/announce/ANNOUNCE-0.16: Likewise.
* doc/announce/ANNOUNCE-0.3: Likewise.
* doc/announce/ANNOUNCE-0.4: Likewise.
* doc/announce/ANNOUNCE-0.5: Likewise.
* doc/announce/ANNOUNCE-0.6: Likewise.
* doc/announce/ANNOUNCE-0.7: Likewise.
* doc/announce/ANNOUNCE-0.8: Likewise.
* doc/announce/ANNOUNCE-0.9: Likewise.
* doc/announce/ANNOUNCE-2: Likewise.
* doc/announce/UPDATE-0.13: Likewise.
* doc/fosdem/README: New file.
* doc/fosdem/fosdem.org: Add legalese.
* doc/fosdem/fosdem.pdf: Regenerate.
* doc/images/README: New file.
* mes/module/mes/psyntax.pp.header: New file.
* mes/module/mes/psyntax.pp: Add it to generated file.
This commit is contained in:
Jan Nieuwenhuizen 2018-07-26 19:17:12 +02:00
parent f18e1fea36
commit f68b169feb
No known key found for this signature in database
GPG key ID: F3C1A0D9C1D65273
36 changed files with 266 additions and 167 deletions

View file

@ -1,4 +1,11 @@
bootstrappable.org project -*- org -*-
-*- org -*-
#+TITLE: bootstrappable.org project
Copyright © 2016, 2017, 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
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.
* What?
** Full source bootstrapping for GuixSD
@ -93,7 +100,6 @@ be source.
* TODO
** upstream mes-boot to GuixSD.
** add full source gcc-4.7 package build.
** replace GuixSD bootstrap for x86.
** remove or upstream patches from tcc-boot
** prepare src/mes.c for M2-Planet transpiler.
@ -103,6 +109,7 @@ be source.
** x86_64, arm, the Hurd
* DONE
** add full source gcc-4.7 package build.
** bootstrap gcc+glibc-built binutils-20.1, gcc-4.1.0.
** have tcc-boot compile gnutools triplet: binutils-2.14, gcc-2.95.3, glibc-2.2.5.
** have tcc-boot's mes-tcc compile a fully functional tcc

View file

@ -1,4 +1,12 @@
-*- org -*-
#+TITLE: ChangeLog
Copyright © 2016,2017,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
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.
Normally a ChangeLog is generated at "make dist" time and available in
source tarballs.
If not, see the Git commit log at <http://git.savannah.gnu.org/cgit/mes.git/>

View file

@ -242,7 +242,9 @@ tree-clean-p:
@echo commit:$(COMMIT)
generate-ChangeLog:
$(PERL) ${srcdest}build-aux/gitlog-to-changelog --srcdir=${srcdir} > ChangeLog
$(PERL) ${srcdest}build-aux/gitlog-to-changelog --srcdir=${srcdir} > $@
cat ChangeLog >> generate-ChangeLog
mv generate-ChangeLog ChangeLog
$(TARBALL): .tarball-version | generate-ChangeLog
($(GIT_LS_FILES)\

View file

@ -103,6 +103,7 @@ tests="
4c-quasiquote.scm
4d-let-map.scm
4e-let-global.scm
4f-string-split.scm
50-primitive-load.scm
51-module.scm

View file

@ -1,135 +0,0 @@
* General Information
** Do you agree to follow GNU policies?
Yes, of course.
** Package name and version:
Mes 0.16
** Author Full Name <Email>:
Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
** URL to package home page (if any): https://gitlab.com/janneke/mes
I'm happy to move to savannah when Mes becomes a GNU package.
** URL to source tarball:
https://gitlab.com/janneke/mes/-/archive/v0.16/mes-0.16.tar.gz
or: git clone https://gitlab.com/janneke/mes
** Brief description of the package:
Mes aims to help create full source bootstrapping for GuixSD as part of
the bootstrappable builds effort (See https://bootstrappable.org/).
It currently consists of a mutual self-hosting Scheme interpreter
prototype written in C and a Nyacc-based C compiler written in Scheme.
This C prototype is being simplified to be transpiled by M2-Planet.
Mes+MesCC can compile an only lighty patched TinyCC that is
self-hosting. Using this tcc and the Mes C library we now have a
reduced-binary-seed bootstrap for the gnutools triplet: glibc-2.2.5,
binutils-2.20.1, gcc-4.1.0.
* Code
** Dependencies:
Mes can be built as a regular package, or as part of the full source
(currently: reduced binary seed) bootstrap process.
*** Regular build
- https://github.com/mescc-tools, 0.5 is known to work.
- https://savannah.gnu.org/projects/nyacc, 0.80.42 is known to work.
- GNU Gcc, 4.9.3 is known to work.
- GNU Guile, version 2.0.12 or is know to work.
- SH, /bin/sh, GNU Bash 4.3 is known to work.
- GNU coreutils
- sed, GNU sed 4.2 is known to work.
- git, 2.10 is known to work.
- Perl, 5.22 is known to work.
*** Bootstrap build
- https://github.com/oriansj/mescc-tools, 0.5 is known to work.
- https://savannah.gnu.org/projects/nyacc, 0.80.42 is known to work.
- https://gitlab.com/janneke/mes-seed, 0.16 is known to work.
** Configuration, building, installation:
*** Guix build, install
guix build mes, guix package --install mes
*** Regular build
./configure; make; make check; make install
*** Bootstrap build
<set env vars>
sh build.sh
sh check.sh
sh install.sh
** Documentation:
Mes does not yet have any documentation other than AUTHORS, HACKING,
INSTALL, NEWS, README. When it does, it will be in Texinfo: I live in
Emacs. I have initiated the GNU LilyPond documentation and website,
which are written in texinfo.
** Internationalization:
Mes does not have Internationalization. As it's an early bootstrap
package, it's unsure if it will ever get that. I do have experience
with adding Internationalization to GNU LilyPond.
** Accessibility:
None.
** Security:
Mes will be used as a critical link in our GNU bootstrapping chain.
It is essential for Mes to get a proper review before it is put in
place.
* Licensing:
GNU GPL 3, or later.
* Similar free software projects:
There are similarities with GNU Guile and to a lesser extent also with
MIT/GNU Scheme and SCM; in fact Mes' scheme tries to be compatible with
Guile Scheme. GNU Guile is about 30x faster than Mes.
The main difference is that mes.c is ~5,000LOC of very simple C and can
can be bootstrapped almost entirely from source, without any binary
seed. Currently, it needs a ~1MB ASSCI seed.
Guile is ~100,000LOC of full-blown C, not counting its dependencies
such as libgc.
Another difference with regular Scheme implementations, is that Mes does
not strive for RXRS compliance, instead it strives for minimalism and
Guile compatibility.
If in doubt, please contact the GuixSD or Guile maintainers.
* Any other information, comments, or questions:
I am an original author of GNU LilyPond and current GuixSD developer. I
have regular discussions about Mes and GuixSD with GuixSD and Guile
maintainers.
Mes currently targets only x86-linux, I would like some help to look at
other architectures and esp. at targeting the Hurd.
Greetings,
janneke

11
doc/announce/README Normal file
View file

@ -0,0 +1,11 @@
-*- org -*-
#+TITLE: GNU Mes Announcements
Copyright © 2016, 2017, 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
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.
Files are emails sent to public mailing lists. The notice above
applies to these files too.

View file

@ -1,9 +1,45 @@
All files except the files listed below
-*- org -*-
#+TITLE: Talk @Fosdem 2017
Copyright © 2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
Images imported from GNU Guix
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 <janneke@gnu.org>
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
@ -13,4 +49,4 @@ 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
LISP-1.5-page-13.pdf

View file

@ -1,8 +1,10 @@
#+TITLE: Mes
#+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 <janneke@gn.org>
#+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
@ -69,7 +71,7 @@
* NOT an alternative for Guile -- reuse Guile modules
* Mes, WHY?
** Inspiration: what do you want?
*** Meaning, Autonomy, Co-Creation, Self-Realization
@ -500,11 +502,11 @@ int main ()
*** 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:
*** non-essential C sources:
#+BEGIN_SRC bash
210 lib.c
157 math.c
@ -546,10 +548,10 @@ program[10]: (cons(0(1)))
** Status
***
***
#+BEGIN_SRC bash
01:16:51 janneke@dundal:~/src/mes
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
@ -646,3 +648,18 @@ R5RS to x86 Assembly
# 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 <janneke@gnu.org>
#+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

Binary file not shown.

View file

@ -0,0 +1,14 @@
-*- org -*-
#+TITLE: GNU Mes images
Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
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.
gcc-mesboot-graph.dot
This graph is generated from Guix wip-bootstrap, doing:
sed -i s,package-with-bootstrap-guile,identity, gnu/packages/{commencement,mes}.scm
~/src/guix-bootstrap/pre-inst-env guix graph gcc-mesboot > doc/images/gcc-mesboot-graph.dot
dot -T png doc/images/gcc-mesboot-graph.dot > doc/images/gcc-mesboot-graph.png

View file

@ -1,3 +1,27 @@
;;; -*-scheme-*-
;;; GNU Mes --- Maxwell Equations of Software
;;; Copyright (C) 2016, 2017, 2018 Free Software Foundation, Inc.
;;;
;;; 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 <http://www.gnu.org/licenses/>.
;;; Commentary:
;;; This file is generated from psyntax.ss.
;;; Code:
(letrec ((syntmp-lambda-var-list-167
(lambda (syntmp-vars-552)
(let syntmp-lvl-553 ((syntmp-vars-554 syntmp-vars-552)
@ -9626,4 +9650,3 @@
syntmp-tmp-2044
'(any any))))
syntmp-x-2043)))

View file

@ -0,0 +1,24 @@
;;; -*-scheme-*-
;;; GNU Mes --- Maxwell Equations of Software
;;; Copyright (C) 2016, 2017, 2018 Free Software Foundation, Inc.
;;;
;;; 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 <http://www.gnu.org/licenses/>.
;;; Commentary:
;;; This file is generated from psyntax.ss.
;;; Code:

View file

@ -1,15 +0,0 @@
;;; -*-scheme-*-
(define (newline) (core:display "\n"))
(core:display "b-00\n")
(define save (current-input-port))
(core:display "save=")(core:display save)(newline)
(core:display "b-0111\n")
(set-current-input-port (open-input-file "scaffold/t-0.mes"))
;;(set-current-input-port (open-input-file "mes/t-0.mes"))
(core:display "ipp=")(core:display (current-input-port))(newline)
(core:display "b-02\n")
(primitive-load)
(core:display "b-03\n")
(set-current-input-port save)
(core:display "b-04\n")
"42\n"

View file

@ -1,3 +1,21 @@
;;; GNU Mes --- Maxwell Equations of Software
;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; 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 <http://www.gnu.org/licenses/>.
(define display core:display)
(define write core:write)

View file

@ -1,3 +1,21 @@
;;; GNU Mes --- Maxwell Equations of Software
;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; 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 <http://www.gnu.org/licenses/>.
(define (read) 1)
(define read (lambda () 0))
(exit (read))

View file

@ -1,3 +1,21 @@
;;; GNU Mes --- Maxwell Equations of Software
;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; 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 <http://www.gnu.org/licenses/>.
(define (read) 1)
(exit
((lambda ()

View file

@ -1,3 +1,20 @@
;;; GNU Mes --- Maxwell Equations of Software
;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; 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 <http://www.gnu.org/licenses/>.
(define (cons* . rest)
(if (null? (cdr rest)) (car rest)

View file

@ -1 +1,19 @@
;;; GNU Mes --- Maxwell Equations of Software
;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; 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 <http://www.gnu.org/licenses/>.
(cdr '(0 . 1))

View file

@ -1,3 +1,20 @@
;;; GNU Mes --- Maxwell Equations of Software
;;; Copyright © 2016,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; 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 <http://www.gnu.org/licenses/>.
(define-module (guile gc))
@ -212,7 +229,7 @@
(if (eq? scan gc-free) (gc-flip)
(let ((old (vector-ref new-cars scan)))
(let ((new (gc-relocate old)))
(let ((old (gc-update-car scan new)))
(let ((old (gc-update-car scan new)))
(let ((new (gc-relocate old)))
(let ((scan (gc-update-cdr scan new)))
(gc-loop scan))))))))
@ -230,7 +247,7 @@
(define (gc-relocate old) ; old -> new
(display "gc-relocate old=") (display old) (newline)
(display "gc-relocate old is pair?=") (display (gc-pair? old)) (newline)
(if (not (gc-pair? old)) old
(let ((oldcr (vector-ref the-cars (cell-index old))))
(display "gc-relocate oldcr=") (display oldcr) (newline)