gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnunet-scheme] 04/16: Add infrastructure for Racketifying source code.


From: gnunet
Subject: [gnunet-scheme] 04/16: Add infrastructure for Racketifying source code.
Date: Mon, 05 Sep 2022 21:33:56 +0200

This is an automated email from the git hooks/post-receive script.

maxime-devos pushed a commit to branch master
in repository gnunet-scheme.

commit 9381d0d2b56fe664778f1d27a7c1a1ea08930b75
Author: Maxime Devos <maximedevos@telenet.be>
AuthorDate: Sat Sep 3 21:34:52 2022 +0200

    Add infrastructure for Racketifying source code.
    
    .gitignore: Ignore generated .ss
    Makefile.am (racketify,guilify): New targets.
    * doc/contributing.tm: Start documenting Racket-Guile compatibility.
---
 .gitignore          |  3 ++-
 Makefile.am         |  7 +++++++
 doc/contributing.tm | 15 ++++++++++++++-
 3 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/.gitignore b/.gitignore
index d3e08a3..0965466 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,4 +31,5 @@
 /doc/scheme-gnunet-*.png
 /.cache
 /.TeXmacs
-/.dbus
\ No newline at end of file
+/.dbus
+*.ss
\ No newline at end of file
diff --git a/Makefile.am b/Makefile.am
index 3a643ea..a9ebd4e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -247,3 +247,10 @@ nodist_pdf_DATA = doc/scheme-gnunet.pdf
 
 clean-local:
        rm -f $(GOBJECTS)
+
+# Convert the code from Guile Scheme into Racket Scheme
+racketify:
+       sed -i -e 's/;#!r6rs/#!r6rs/' $(modules) && for m in $(modules); do ln 
-f -s "$$(basename "$$m")" "$$(echo "$$m" | sed s/\\.scm/.ss/)"; done
+# Convert the code from Racket Scheme to Guile Scheme
+guilify:
+       sed -i -e 's/#!r6rs/;#!r6rs/' $(modules)
diff --git a/doc/contributing.tm b/doc/contributing.tm
index 0a8863e..d79bce2 100644
--- a/doc/contributing.tm
+++ b/doc/contributing.tm
@@ -18,7 +18,10 @@
 
     <item><hlink|GNU Guile|https://www.gnu.org/software/guile/> (at least
     version 3), with the patch from 
<slink|https://debbugs.gnu.org/cgi/bugreport.cgi?bug=49623>
-    applied
+    applied <todo|make optional, choice between Racket and Guile>
+
+    <item>Optionally, Racket <todo|link, version, finish>, to build the
+    Racket port
 
     <item><hlink|Purely Functional Data Structures in Scheme
     (pfds)|https://github.com/ijp/pfds/>
@@ -45,6 +48,8 @@
 
     ./configure
 
+    <todo|make racketify>
+
     make
 
     make check
@@ -58,6 +63,8 @@
 
   <\shell-code>
     $ guile -L . -C . -l examples/nse-web.scm
+
+    \ \ <todo|TODO racket equivalent>
   </shell-code>
 
   <subsection|Authenticating new source code><index|authentication>
@@ -116,6 +123,12 @@
   <verbatim|SCM_TESTS> in <verbatim|Makefile.am> and use <scm|srfi
   :64>.<space|1em>To run the test suite, run <verbatim|make check>.
 
+  <section|Writing portable Scheme code>
+
+  Scheme-GNUnet aims to be portable between Schemes. It primarily supports
+  Guile Scheme, but also supports Racket Scheme. However, the two different
+  Schemes are incompatible.
+
   <section|Contact>
 
   Scheme-GNUnet is currently maintained on NotABug:

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]