branch: elpa/geiser-chicken
commit 6adf5fd4afcf75ee83ffecc297779aee6725234a
Author: Dan Leslie <[email protected]>
Commit: Dan Leslie <[email protected]>
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)