emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[nongnu] elpa/geiser-chicken 6adf5fd 018/102: Adds recognition of the 'c


From: Philip Kaludercic
Subject: [nongnu] elpa/geiser-chicken 6adf5fd 018/102: Adds recognition of the 'crunch' R5RS subset
Date: Sun, 1 Aug 2021 18:26:47 -0400 (EDT)

branch: elpa/geiser-chicken
commit 6adf5fd4afcf75ee83ffecc297779aee6725234a
Author: Dan Leslie <dan@ironoxide.ca>
Commit: Dan Leslie <dan@ironoxide.ca>

    Adds recognition of the 'crunch' R5RS subset
    
    Crunch is a subset of R5RS that the crunch egg can heavily optimize via
    c++ compilation. This change allows geiser to report to chicken
    programmers whether the function is found within that subset, easing
    development.
    
    Details on the crunch egg can be found at:
    http://wiki.call-cc.org/eggref/4/crunch
---
 geiser/emacs.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/geiser/emacs.scm b/geiser/emacs.scm
index cddf8da..0993812 100644
--- a/geiser/emacs.scm
+++ b/geiser/emacs.scm
@@ -172,6 +172,10 @@
                 require-extension select set! unless use when 
with-input-from-pipe match
                 match-lambda match-lambda* match-let match-let* receive)))
 
+  (define geiser-chicken-crunch-symbols
+    (make-parameter
+     '(not eq? eqv? equal? + - * / = > < >= <= abs acos asin atan ceiling cos 
display even? exact? exact->inexact exp expt floor inexact? inexact->exact 
integer? log max min modulo negative? odd? positive? quotient remainder round 
sin sqrt tan truncate zero? char=? char>? char<? char>=? char<=? char->integer 
char-alphabetic? char-ci=? char-ci>? char-ci<? char-ci>=? char-ci<=? 
char-downcase char-lower-case? char-numeric? char-upper-case? char-upcase 
char-whitespace? integer->char number-> [...]
+
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;; Utilities
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -308,7 +312,10 @@
          '())
      (if (any (cut eq? <> sym) (geiser-chicken-builtin-symbols))
          '(chicken)
-         '())))
+         '())
+     (if (any (cut eq? <> sym) (geiser-chicken-crunch-symbols))
+        '(crunch)
+        '())))
 
   ;; Locates any paths at which a particular symbol might be located
   (define (find-library-paths sym types)



reply via email to

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