Last modified: $Date: 2008/04/23 16:37:56 $
Gauche-mode is a major mode for Gauche(A Scheme Implementation). This mode is derived from XEmacs' scheme-mode. Here is screenshot, current codes and README.
You will be able to use some scheme-mode functions and following gauche-mode functions.
Key in C-ca and type `car'.
Gauche Apropos(regexp): car
You will get following message in help window.
Apropos search for: "car" p car (scheme) p car+cdr (srfi-1) p car-sxpath (sxml.sxpath) p cartesian-product (util.combinations) p cartesian-product-for-each (util.combinations) p cartesian-product-right (util.combinations) p cartesian-product-right-for-each (util.combinations) p if-car-sxpath (sxml.sxpath) p set-car! (scheme)
show apropos
(gauche function) result in xemacs
window.
On editing buffer | You'll get | ||
---|---|---|---|
(lam C-cC-i |
=> | (lambda |
Or compeletion list in help window. |
(use g C-cC-i |
=> | (use gauche |
Same as gauche-complete-symbol.(This version query to gosh.)
On editing buffer;
(car C-cC-d
You will get following message in help window.
Function: car pair Function: cdr pair [R5RS] Returns car and cdr of pair, respectively.
On editing buffer;
(call-with-client-socket C-cm
You will get following message in the echo area.
`call-with-client-socket' is defined in `gauche.net'.
start gauche process.(C-c s)
Show describe
(gauche function) result in xemacs window.
Send the current definition to the inferior gauche process.(M-C-x)
Send the current region to the inferior gauche process.(C-c C-r)
Send the previous sexp to the inferior Scheme process.(C-x C-e)
Send interrupt signal to gauche process.(M-C-g)
This function is not interactive lisp function. Some functions
call this to indent line/region/defun. gauche-indent-function
uses
gauche-indent-regexp-alist for indentation. You can
customize the indentation by using regexp. It is not necessary to
put a symbol property at every macro definition. Default value of
gauche-indent-regexp-alist is'(("^define-\\w"
. defun) ("^call-with-\\w" . 1) ("^with-\\w" . 1))
.
If you want to override the indent style, you can use
gauche-indent-prop-list.
for example:
(setq gauche-indent-prop-list '(((gauche-indent-function 0) call-with-something with-something) ((gauche-indent-function 2) call-with-x with-x)))