#R5RS

2026-01-23

Old paper:
John Launchbury and Simon L Peyton Jones. 1995. *State in Haskell*
sci-hub.st/10.1007/BF01018827

What interests me more is that the journal used to called *LISP and Symbolic Computation*, the intersection of the two topics that I am most interested.

Later the the “LISP” in the journal name was changed to “Higher-Order” in 1998, after which the famous #R5RS
was published on it.

#Haskell #LISP #Scheme #SymbolicComputation

State in Haskell 
JOHN LAUNCHBURY 
Oregon Graduate Institute, PO Box 91000, Portland, OR 97291-1000
jl@cse.ogi.edu
SIMON L PEYTON JONES 
University of Glasgow, G12 8QQ, Scotland
simonpj@dcs.glasgow.ac.uk

Abstract

Some algorithms make critical internal use of updatable state, even though their external specification is purely functional. Based on earlier work on monads, we present a way of securely encapsulating stateful computations that manipulate multiple, named, mutable objects, in the context of a non-strict, purely-functional language. The security of the encapsulation is assured by the type system, using parametricity. The same framework is also used to handle input/output operations (state changes on the external world) and calls to C.Summary of the paper: 
We have described a small collection of: 
• Primitive state transformers, namely returnST, newVar, readVar, and writeVar; 
• "Plumbing" combinators, which compose state transformers together, namely thenST and its derivatives, thenST_, listST, mapST, and so on. 
• An encapsulator, runST, which runs a state transformer on the empty state, discards the resulting state, and returns the result delivered by the state transformer.A cover image of the journal LISP and Symbolic Computation, 1991-01: Vol 4
2025-10-03

lisp - How is Racket different from Scheme? - Stack Overflow

" #Racket is ultimately based on #R5RS, and not R6RS and not a strict superset of either. I don't think it can be called 'Scheme' because it's not backwards compatible with any Scheme standard."
stackoverflow.com/questions/33.

2024-02-09

@robinheghan I started using Guile #Scheme because it was the extension language for the gEDA electronic design suite.

The Guile manual + #R5RS were all I needed for teaching myself — the project I was working on had plenty of problems at different levels of difficulty.

blake shaw 🇵🇸rml@functional.cafe
2023-08-22

#r5rs is dying and #r7rs-large cannot be born; now is the time of #clojure(s)

#scheme #lisp

blake shaw 🇵🇸rml@functional.cafe
2023-06-14

Hot take: in terms of the language specified treated independently of the social process of standardization itself, everyone's beloved #r5rs is actually the worst post-#r4rs scheme, and #r6rs is easily the best and most revolutionary, hence the controversy surrounding it.

#lisp #srfi

blake shaw 🇵🇸rml@functional.cafe
2023-05-20

@ramin_hal9001 the thing is, I would say this is starting to change with r6 and #r7rs implementations, and #akku does a pretty job of working out the compatibility between different implementations (but the guix package needs some fixing... on my TODOs).

but I agree about the pressure to pick the right one, it drove me mad, but I also think that the idea that getting used to multiple schemes is impossible, and it should even be encouraged to work with a few of them, because once you've navigated a couple, they're all kind of the same at root. but I think people should stick to one for their first year.

it's primarily just the #r5rs implementations that differ wildly. I think theres this mythology that r5rs was this legendary, impeccable standard, and that the process went astray after that, but the truth is that #r6rs really was a massive improvement, and r7rs-large will be something like r6rs (creating an r7rs compatability later for r6rs schemes is a matter of defining a module and a few identifier-syntax macros). problems with post-r5rs are primarily social, rather than technical imo.

2020-06-19

You know #TDD ?! What? I mean #tootDrivenDevelopment ? 🤔🤔

♥️ I need help to figure out what it looks like! ♥️

I start with a simple #scheme #code #snippet and you modify it. The resulting code has to fit in one toot!
If you can't execute the code. It's broken. The last committer should fix it.
So make it portable ! 🚀

(display "hello schemers")

#scheme #schemer #schemers #lisp #lisper
#r5rs #r6rs #r7rs #coding #programming #fun #friday #guile #chezscheme #gauche #racket #chickenscheme #gambit

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst