aboutsummaryrefslogtreecommitdiff
path: root/gendoc.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gendoc.scm')
-rwxr-xr-xgendoc.scm57
1 files changed, 57 insertions, 0 deletions
diff --git a/gendoc.scm b/gendoc.scm
new file mode 100755
index 0000000..f493b42
--- /dev/null
+++ b/gendoc.scm
@@ -0,0 +1,57 @@
+#!/usr/bin/guile \
+-e main -s
+!#
+
+(add-to-load-path (dirname (current-filename)))
+
+(use-modules (texinfo reflection)
+ (texinfo serialize)
+ (texinfo indexing)
+ (sxml simple))
+
+(define name "Haskell-like Monads")
+(define filename "monad.info")
+(define infile "monad.texi")
+(define version "0.7")
+(define years '(2019))
+
+(define last-updated (strftime "%Y-%m-%d" (localtime (current-time))))
+
+(define modules
+ '(((monad) "Base module")
+ ((monad optional) "Optional (Maybe) type")
+ ((monad state) "State monad")
+ ((monad stack) "Stacks implemented on top of the state monad")
+ ))
+
+(define prolog
+ (package-stexi-standard-prologue
+ name filename
+ "The Algorithmic Language Scheme" ; (dir) Top category
+ "Haskell like monads in Scheme" ; For (dir) Top
+
+ (package-stexi-standard-copying
+ name version last-updated years
+ "Hugo Hörnquist" "Permissions?")
+
+ (package-stexi-standard-titlepage
+ name
+ version last-updated
+ '(("Hugo Hörnquist" . "hugo@lysator.liu.se")))
+
+ (package-stexi-standard-menu
+ name
+ (map car modules)
+ (map cdr modules)
+ '())))
+
+(define stexi-doc
+ (package-stexi-documentation
+ (map car modules)
+ name filename
+ prolog
+ '()))
+
+(define (main args)
+ (with-output-to-file infile
+ (lambda () (display (stexi->texi stexi-doc-real)))))