# New Ticket Created by  Andreas Rottmann 
# Please include the string:  [perl #52618]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=52618 >



The attached patch adds Gauche support for Eclectus.

 gauche/prelude.scm |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 t/harness          |    1 +
 2 files changed, 49 insertions(+)

Add Gauche support

From: Andreas Rottmann <[EMAIL PROTECTED]>


---

 MANIFEST                              |    1 +
 languages/eclectus/gauche/prelude.scm |   48 +++++++++++++++++++++++++++++++++
 languages/eclectus/t/harness          |    1 +
 3 files changed, 50 insertions(+), 0 deletions(-)
 create mode 100644 languages/eclectus/gauche/prelude.scm


diff --git a/MANIFEST b/MANIFEST
index 32b584c..242cbc1 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1312,6 +1312,7 @@ languages/eclectus/src/pmc/eclectusstring.pmc               [eclectus]
 languages/eclectus/src/pmc/eclectusvector.pmc               [eclectus]
 languages/eclectus/test-wrapper.pl                          [eclectus]
 languages/eclectus/guile/prelude.scm                        [eclectus]
+languages/eclectus/gauche/prelude.scm                       [eclectus]
 languages/eclectus/t/binary_primitives.pl                   [eclectus]
 languages/eclectus/t/binary_primitives.t                    [eclectus]
 languages/eclectus/t/booleans.pl                            [eclectus]
diff --git a/languages/eclectus/gauche/prelude.scm b/languages/eclectus/gauche/prelude.scm
new file mode 100644
index 0000000..b95897c
--- /dev/null
+++ b/languages/eclectus/gauche/prelude.scm
@@ -0,0 +1,48 @@
+(use srfi-9)
+(use gauche.parameter)
+(use gauche.process)
+
+(define-syntax unless
+  (syntax-rules ()
+    ((unless condition body1 body ...)
+     (if (not condition)
+         (begin body1 body ...)))))
+
+(define-macro (define-record name fields)
+  (define (symbol-append . symbols)
+    (string->symbol (apply string-append (map symbol->string symbols))))
+  `(define-record-type name
+     (,(symbol-append 'make- name) ,@fields)
+     ,(symbol-append name '?)
+     ,@(map (lambda (field)
+              `(,field ,(symbol-append name '- field)))
+            fields)))
+
+(define (make-eq-hashtable)
+  (make-hash-table))
+
+(define (hashtable-ref tbl key default)
+  (hash-table-get tbl key default))
+
+(define (hashtable-set! tbl key value)
+  (hash-table-put! tbl key value))
+
+(define (printf fmt . args)
+  (apply format #t fmt args))
+
+(define (fprintf port fmt . args)
+  (apply format port fmt args))
+
+(define (flush-output-port . port-opt)
+  (apply flush port-opt))
+
+(define open-output-file
+  (let ((gauche:open-output-file open-output-file))
+    (lambda (filename mode)
+      (gauche:open-output-file filename))))
+
+(define (system command)
+  (process-exit-status (run-process (list "sh" "-c" command) :wait #t)))
+
+(define (atom? x)
+  (not (pair? x)))
diff --git a/languages/eclectus/t/harness b/languages/eclectus/t/harness
index 4f93a6a..c74367a 100644
--- a/languages/eclectus/t/harness
+++ b/languages/eclectus/t/harness
@@ -32,6 +32,7 @@ use Parrot::Test::Harness
   language => 'eclectus',
   exec     => [ 'petite', '--script' ],
   #exec     => [ 'guile', '--debug', '-l', 'guile/prelude.scm', '-s' ],
+  #exec	    => [ 'gosh', '-fcase-fold', '-I', '.',  '-l', 'gauche/prelude.scm' ],
   files    => [ 't/*.pl' ];
 
 =head1 SEE ALSO
Regards, Rotty
-- 
Andreas Rottmann         | [EMAIL PROTECTED]      | [EMAIL PROTECTED] | [EMAIL 
PROTECTED]
http://rotty.uttx.net    | GnuPG Key: http://rotty.uttx.net/gpg.asc
Fingerprint              | C38A 39C5 16D7 B69F 33A3  6993 22C8 27F7 35A9 92E7
v2sw7MYChw5pr5OFma7u7Lw2m5g/l7Di6e6t5BSb7en6g3/5HZa2Xs6MSr1/2p7 hackerkey.com

The best way to accelerate a Windows machine is at 9.81 m/s^2

Reply via email to