Gauche
Gauche copied to clipboard
Scheme Scripting Engine
Even though Gauche allows a port to work both binary and textual I/O, we can flag whether it is opened as textual or binary port, and skip port line/column tracking...
I'd like to write a SRFI that adds a `main` declaration to R7RS libraries. For example: ``` (define-library (hello) (import (scheme base)) (main) ;
In Gauche, is it possible to have Racket's [@-expression](https://docs.racket-lang.org/scribble/reader.html)? E.g. ``` '@f[1 2]{ a @(+ 1 2) b cd ef} ``` becomes ``` '(f 1 2 "a " (+ 1...
Currently, only the toplevel form of macro output, or a chunk of input form inserted as is, get source info attached. We can do better. For `syntax-rules`, each subform of...
One of the weakness of Gauche's object system is that class is so dynamic that slot must be looked up dynamically. It is a huge overhead when slots are accessed...
Probably the issue of order of initializaiton. If we use descriptive types e.g. `(assume-type arg ( ))` in a built-in precompiled procedure, initialization fails with this: ``` *** ERROR: ctor...
Shell's `case` can be translated to `rxmatch-case`, though the former is easier to read for simpler cases. It is also easier to port shell scripts.
It requires C classname for specializers. It is assymetric to Scheme method specializers, and simply ugly. We need a good way to associate Scheme names and C names of built-in...
Currently we rely on GCC's `__attribute__((aligned ...))` feature for some internal types that requires certain alignments. Macros such as `SCM_ALIGN8` and `SCM_ALIGN_PAIR` hides the details (in `gauche.h`). C11 has `_Alignas`...
Currently, in-between snapshots are made manually to be avaiable for `get-gauche.sh`. We could automate the process. One thing we need to plan is versioning scheme, though. Each snapshot can be...