Research - urschleim/scream GitHub Wiki
Resources
User interface
Goal is to offer a simple-to-use UI. Elements are:
Scratch window
A window that allows to edit source code and to pass elements of the source code to execution. The window should keep the entered source code across invocations. Note that this is not a REPL, since source code is only executed on an explicit trigger.
Console windows
Console windows should be avail for the stdin/out/err streams. All should be connected to the interpreter engine. The consoles should support vt100 so to support more elaborate output scenarios like implementation of an editor.
- vt100
- State of the Terminal
- It should be clarified which UI-toolkit to be used for the UI.
- JLine 3.22.0
Scheme language: Continuations and Multiple Values
Multiple Values
The basic concept is similar to the 'multiple return values'-features of other languages like golang.
Returning multiple values is done by the values
procedure. This needs to be executed in a context that installed a continuation able to accept multiple values. The canonical procedure that install this continuation is call-with-values
.
- https://legacy.cs.indiana.edu/~dyb/pubs/mrvs.pdf
- https://idiomdrottning.org/multiple-values
- https://man.scheme.org/values.3scheme
- https://www.gnu.org/software/guile/manual/html_node/Multiple-Values.html
macros / define-syntax
Continuations
- Oberlin College | local - Good examples
Apple Dylan classic
- Dr Dobbs 1992 : David Betz : https://www.drdobbs.com/architecture-and-design/a-taste-of-dylan/184408854?queryText=dylan
- Dr Dobbs 1994 : https://www.drdobbs.com/tools/the-dylan-programming-language/184409404?queryText=dylan
- Dylan Reference Manual : Infix : https://jim.studt.net/dirm/interim-contents.html