summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2010-11-09 21:35:50 +0100
committerJose Antonio Ortega Ruiz <jao@gnu.org>2010-11-09 21:35:50 +0100
commita7ad5704722b7fab966ac8fb4e6b62fe2e424756 (patch)
tree4eb5a379a7fc4a70e946c082ddc6c2f33a8c7eb0 /bin
parent6cf1ce0e924fc231b1f51a3ce4eb23e35e9eaf25 (diff)
downloadgeiser-a7ad5704722b7fab966ac8fb4e6b62fe2e424756.tar.gz
geiser-a7ad5704722b7fab966ac8fb4e6b62fe2e424756.tar.bz2
Racket: remote REPLs
Diffstat (limited to 'bin')
-rw-r--r--bin/Makefile.am15
-rwxr-xr-xbin/geiser-racket.sh19
2 files changed, 34 insertions, 0 deletions
diff --git a/bin/Makefile.am b/bin/Makefile.am
new file mode 100644
index 0000000..9f6ee2b
--- /dev/null
+++ b/bin/Makefile.am
@@ -0,0 +1,15 @@
+EXTRA_DIST = geiser-racket.sh
+dist_bin_SCRIPTS = geiser-racket
+noinst_SCRIPTS = geiser-racket-noinst
+
+CLEANFILES = $(dist_bin_SCRIPTS) $(noinst_SCRIPTS)
+
+geiser-racket: $(srcdir)/geiser-racket.sh
+ @sed -e "s|top=\".*\"|top=$(datarootdir)/geiser|" \
+ $(srcdir)/geiser-racket.sh >$@
+ @chmod +x $@
+
+geiser-racket-noinst: $(srcdir)/geiser-racket.sh
+ @sed -e "s|top=\".*\"|top=$(abs_top_srcdir)/scheme|" \
+ $(srcdir)/geiser-racket.sh >$@
+ @chmod +x $@
diff --git a/bin/geiser-racket.sh b/bin/geiser-racket.sh
new file mode 100755
index 0000000..4f16383
--- /dev/null
+++ b/bin/geiser-racket.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+#|
+top="$(dirname $0)/../scheme"
+exec racket -i -S "$top/racket" -l errortrace -cu "$0" ${1+"$@"}
+|#
+
+#lang racket/base
+
+(require (lib "cmdline.rkt"))
+
+(define port (make-parameter 1969))
+
+(command-line
+ "run-racket.sh" (current-command-line-arguments)
+ (once-each
+ (("-p" "--port") p "Geiser server port" (port (string->number p)))))
+
+(and ((dynamic-require 'geiser/server 'start-geiser) (port))
+ (printf "Geiser server running at port ~a~%" (port)))