summaryrefslogtreecommitdiff
path: root/lang/qscheme/files/patch-s.scm
diff options
context:
space:
mode:
authorWill Andrews <will@FreeBSD.org>2002-06-27 14:32:30 +0000
committerWill Andrews <will@FreeBSD.org>2002-06-27 14:32:30 +0000
commit1a388281f524ea046302e574bf981d1542f09d30 (patch)
tree8be62a37a000a94cb5ade5fdec0b4b4cdcd4dda0 /lang/qscheme/files/patch-s.scm
parentAdd durep 0.8, an utility for monitoring disk usage in a more visual (diff)
Add qscheme 0.5.1, a small and fast Scheme interpreter.
PR: 34999 Submitted by: erik@smluc.org
Notes
Notes: svn path=/head/; revision=62108
Diffstat (limited to 'lang/qscheme/files/patch-s.scm')
-rw-r--r--lang/qscheme/files/patch-s.scm30
1 files changed, 30 insertions, 0 deletions
diff --git a/lang/qscheme/files/patch-s.scm b/lang/qscheme/files/patch-s.scm
new file mode 100644
index 000000000000..9d987fc3dcd0
--- /dev/null
+++ b/lang/qscheme/files/patch-s.scm
@@ -0,0 +1,30 @@
+--- s.scm.orig Thu Dec 6 04:56:07 2001
++++ s.scm Thu Dec 6 04:56:26 2001
+@@ -252,7 +252,26 @@
+ (define hset! hash-set!)
+
+ ; General purpose functions
+-(load "sgtk/defextern.scm")
++;(load "sgtk/defextern.scm")
++
++(define *lib* "")
++
++(define-macro (extern type name . args)
++ `(make-extfunc *lib* ,type ,(symbol->string name) (quote ,@args)))
++
++; simplified exteral declarator:
++;
++; (define-extern :RETURN-TYPE CFUNC-NAME :ARG1 :ARG2... [. :ANY])
++;
++(define (cname->scheme x)
++ (string->symbol (string-translate (symbol->string x) "_" "-")))
++
++(define-macro (define-extern t n . a)
++; (write
++ `(define ,(cname->scheme n)
++ (make-extfunc *lib* ,t ,(symbol->string n) (quote ,a))))
++; )
++
+
+ ;; (load "repl.scm")
+