guile-devel
[Top][All Lists]
Advanced

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

Re: JACAL, scm


From: Aubrey Jaffer
Subject: Re: JACAL, scm
Date: Sat, 22 Sep 2001 22:02:11 -0400 (EDT)

 | Date: Sat, 22 Sep 2001 15:27:33 -0500
 | From: Chris Cramer <address@hidden>
 | 
 | from the Guile manual in CVS:
 | 
 |    To make Guile case insensitive, you can type
 | 
 |      (read-enable 'case-insensitive)

Thank you; that helps.  With the appended slib/guile.init,

  guile -l /usr/local/lib/slib/guile.init -l /usr/local/lib/jacal/go.scm

(guile 1.4) runs somewhat, even multivariate factoring!  So there remain
symbol-case issues in either SLIB or JACAL.

A nice solution would be if the slib:load functions (slib:load,
slib:load-source, defmacro:load, etc.) would always do their reading
with (read-enable 'case-insensitive).  The behavior of load would not
change.  Is that possible for Guile?

Also appended is a patch for guile-core.unstable-20010920/ice-9/slib.scm
making some definitions public which SLIB expects and references.

Is a Guile release planned for the next month, or should I release an
SLIB with guile.init workarounds for Guile 1.4?

                                -=-=-=-

 ;"guile.init" Configuration file for SLIB for GUILE  -*-scheme-*-
 (read-enable 'case-insensitive)
 (use-modules (ice-9 slib))
 (define (identity x) x)
 (define (array-indexes ra)
   (let ((ra0 (apply make-array '() (array-shape ra))))
     (array-index-map! ra0 list)
     ra0))

                                -=-=-=-

cd ~/guile/guile-core.unstable-20010920/ice-9/
diff -c /home/jaffer/guile/guile-core.unstable-20010920/ice-9/slib.scm.orig 
/home/jaffer/guile/guile-core.unstable-20010920/ice-9/slib.scm
*** /home/jaffer/guile/guile-core.unstable-20010920/ice-9/slib.scm.orig Sun Jun 
 3 19:29:45 2001
--- /home/jaffer/guile/guile-core.unstable-20010920/ice-9/slib.scm      Sat Sep 
22 21:56:58 2001
***************
*** 62,85 ****
  
  
  
! (define slib:exit quit)
! (define slib:error error)
! (define slib:warn warn)
! (define slib:eval (lambda (x) (eval x slib-module)))
! (define defmacro:eval (lambda (x) (eval x (interaction-environment))))
! (define logical:logand logand)
! (define logical:logior logior)
! (define logical:logxor logxor)
! (define logical:lognot lognot)
! (define logical:ash ash)
! (define logical:logcount logcount)
! (define logical:integer-length integer-length)
! (define logical:bit-extract bit-extract)
! (define logical:integer-expt integer-expt)
! (define logical:ipow-by-squaring ipow-by-squaring)
! (define slib:eval-load eval-load)
! (define slib:tab #\tab)
! (define slib:form-feed #\page)
  
  (define slib-module (current-module))
  
--- 62,85 ----
  
  
  
! (define-public slib:exit quit)
! (define-public slib:error error)
! (define-public slib:warn warn)
! (define-public slib:eval (lambda (x) (eval x slib-module)))
! (define-public defmacro:eval (lambda (x) (eval x (interaction-environment))))
! (define-public logical:logand logand)
! (define-public logical:logior logior)
! (define-public logical:logxor logxor)
! (define-public logical:lognot lognot)
! (define-public logical:ash ash)
! (define-public logical:logcount logcount)
! (define-public logical:integer-length integer-length)
! (define-public logical:bit-extract bit-extract)
! (define-public logical:integer-expt integer-expt)
! (define-public logical:ipow-by-squaring ipow-by-squaring)
! (define-public slib:eval-load eval-load)
! (define-public slib:tab #\tab)
! (define-public slib:form-feed #\page)
  
  (define slib-module (current-module))
  
***************
*** 180,187 ****
                       (lambda args args)))
           (apply throw errinfo))))))
  
! (define slib:load-source slib:load)
! (define defmacro:load slib:load)
  
  (define slib-parent-dir
    (let* ((path (%search-load-path "slib/require.scm")))
--- 180,187 ----
                       (lambda args args)))
           (apply throw errinfo))))))
  
! (define-public slib:load-source slib:load)
! (define-public defmacro:load slib:load)
  
  (define slib-parent-dir
    (let* ((path (%search-load-path "slib/require.scm")))
***************
*** 197,207 ****
    (let ((home-path (getenv "HOME")))
      (lambda () home-path)))
  (define-public (scheme-implementation-type) 'guile)
! (define-public (scheme-implementation-version) "")
  
! (define (output-port-width . arg) 80)
! (define (output-port-height . arg) 24)
! (define (identity x) x)
  
  ;;; {Random numbers}
  ;;;
--- 197,221 ----
    (let ((home-path (getenv "HOME")))
      (lambda () home-path)))
  (define-public (scheme-implementation-type) 'guile)
! (define-public scheme-implementation-version version)
! ;;; (scheme-implementation-home-page) should return a (string) URI
! ;;; (Uniform Resource Identifier) for this scheme implementation's home
! ;;; page; or false if there isn't one.
! (define (scheme-implementation-home-page)
!   "http://www.gnu.org/software/guile/guile.html";)
! 
! (define-public (output-port-width . arg) 80)
! (define-public (output-port-height . arg) 24)
! (define-public (identity x) x)
! 
! ;;; {array-for-each}
! (define-public (array-indexes ra)
!   (let ((ra0 (apply make-array '() (array-shape ra))))
!     (array-index-map! ra0 list)
!     ra0))
  
! (define-public (array-copy! source dest)
!   (array-map! dest identity source))
  
  ;;; {Random numbers}
  ;;;
***************
*** 217,224 ****
  ;;; {Time}
  ;;;
  
! (define difftime -)
! (define offset-time +)
  
  
  (define %system-define define)
--- 231,238 ----
  ;;; {Time}
  ;;;
  
! (define-public difftime -)
! (define-public offset-time +)
  
  
  (define %system-define define)
***************
*** 236,242 ****
                          '*sc-expander*
                          '(define)))
  
! (define (software-type)
    "Return a symbol describing the current platform's operating system.
  This may be one of AIX, VMS, UNIX, COHERENT, WINDOWS, MS-DOS, OS/2,
  THINKC, AMIGA, ATARIST, MACH, or ACORN.
--- 250,256 ----
                          '*sc-expander*
                          '(define)))
  
! (define-public (software-type)
    "Return a symbol describing the current platform's operating system.
  This may be one of AIX, VMS, UNIX, COHERENT, WINDOWS, MS-DOS, OS/2,
  THINKC, AMIGA, ATARIST, MACH, or ACORN.

Diff finished at Sat Sep 22 21:57:11



reply via email to

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