Questions tagged [r7rs]

A project to provide a new standard for Scheme implementations.

Definition:

R7RS is a project that provides a new standard for Scheme implementations.

The R7RS small language specification was approved in May 2013.

There are two working groups; the Small Language group's goal is a specification for a compact, core implementation, while the Large Language group plan to work on a substantial set of library modules.

Important Links:

31 questions
26
votes
2 answers

As of 2016, is there a Scheme implementation which supports 100% of R7RS (small) with no deviations?

I am willing to learn Scheme. I want to stick to R7RS since it's the last standard. However, it seems that there is a lot of fragmentation on the Scheme current implementations, and most of them staying at R5RS or part of R6RS. The only one I have…
7
votes
2 answers

Chibi Scheme - Simple define-library example not working

I wrote the following example, in an attempt to experiment with R7RS libraries in Chibi Scheme 0.5.3: (define-library (example hello) (export hello-world) (import (scheme base)) (begin (define (hello-world) "hello, world")))…
Justin Ethier
  • 131,333
  • 52
  • 229
  • 284
5
votes
1 answer

How to (eval ...) in a chicken r7rs library?

I am trying to get a basic eval to work within a library of the r7rs egg. The following toplevel (not library) program work as I expected, when run with csi -R r7rs: (import (scheme base) (scheme eval)) (eval '42 (scheme-report-environment…
lubgr
  • 37,368
  • 3
  • 66
  • 117
5
votes
2 answers

Difference between load and include in Scheme R7RS

In Scheme R7RS there is both a load and include form. Include is described as: Semantics: Both include and include-ci take one or more filenames expressed as string literals, apply an implementation-specific algorithm to find corresponding…
eatonphil
  • 13,115
  • 27
  • 76
  • 133
5
votes
3 answers

Macros and internal definitions in Scheme

A good question was asked on Freenode's #scheme channel. Consider the following code in Scheme: (define alpha 1) (define-syntax foo (syntax-rules (quote alpha) ((_ alpha msg) (define bar 2)) ((_ other msg) (syntax-error msg)) ) ) (define…
Chris
  • 148
  • 1
  • 9
5
votes
6 answers

Is it possible to "extend" a function / lambda / macro in Scheme?

For example: if I want the function equal? recognize my own type or record, can I add a new behavior of equal?? without erasing or overwriting the old one? Or for example if I want to make the function "+" accept also string?
Felipe
  • 16,649
  • 11
  • 68
  • 92
5
votes
2 answers

racket/base namespace

Anyone know what is included in the racket/base language. I am looking to compare the racket/base namespace definitions with the R7RS draft to get a first hand idea of how divergent Racket is from Scheme.
cobie
  • 7,023
  • 11
  • 38
  • 60
4
votes
2 answers

Is define implementation dependent in R7RS?

I've long since known that define is scary and should be used with caution unless you know for sure how your implementation handles it. Out of interest, I recently opened up R7RS and read all that I could find about define and nothing gave me the…
J. Mini
  • 1,868
  • 1
  • 9
  • 38
4
votes
1 answer

scheme r7rs-large interesting but... is it still in progress?

I am trying to take a look at the status of r7rs large but I cannot find any information in scheme reports page, etc, just a talk from 2013. I searched around with google without success as well. Is it still alive? Where can I find…
Germán Diago
  • 7,473
  • 1
  • 36
  • 59
4
votes
1 answer

What does it mean for Scheme library to be *loaded*? When are Scheme libraries *loaded*?

I am studying the Revised7 Report on the Algorithmic Language Scheme. My question is on section 5.6 Libraries. In this section, it says: When a library is loaded, its expressions are executed in textual order. If a library's definitions are…
Marc
  • 4,327
  • 4
  • 30
  • 46
3
votes
1 answer

Reflective capabilities of R7RS Scheme

The R7RS report on the programming language Scheme describes two ways of running Scheme code in a Scheme system: 1) A scheme system can run a program as described in section 5.1 in the report. 2) A scheme system can offer a read-eval-print-loop, in…
Marc
  • 4,327
  • 4
  • 30
  • 46
2
votes
1 answer

What are valid identifiers in R7RS-small?

R7RS-small says that all identifiers must be terminated by a delimiter, but at the same time it defines pretty elaborate rules for what can be in an identifier. So, which one is it? Is an identifier supposed to start with an initial character and…
Tzvetan Mikov
  • 511
  • 3
  • 5
2
votes
1 answer

Simulate a first-class library in R7RS Scheme

I'm thinking of an implementation of Dylan-like object system for Scheme. (Preferably for a fully portable R7RS Scheme.) In Dylan there is a concept of sealed classes: one cannot inherit from a sealed class outside of the module where the class is…
Chris
  • 148
  • 1
  • 9
2
votes
2 answers

Scheme: Passing defines inside macro definition to submacro?

Consider the following macro definition in R7RS scheme: (define-syntax foo (syntax-rules () ((_ bar) (begin (define baz 42) (define-syntax bar (syntax-rules () ((_) baz))))))) I have loaded this…
Marc
  • 4,327
  • 4
  • 30
  • 46
2
votes
1 answer

When is it possible to override top-level bindings in (R7RS) scheme?

I have read the current draft of the forthcoming R7RS scheme standard (small language), but I don't understand under which conditions it is not an error to redefine top-level bindings. I guess that it is possible to define or set! a binding that has…
Marc
  • 4,327
  • 4
  • 30
  • 46
1
2 3