SRFI 216 "SICP Prerequisites" vs #lang sicp

44 views
Skip to first unread message

Tim Lee

unread,
Mar 9, 2021, 2:38:34 PM3/9/21
to racket...@googlegroups.com
I noticed that SRFI 216 "SICP Prerequisites" reached "final" status in
January 2021. How will this affect #lang sicp? What are the differences
between these two SICP aids?

SRFI 216 link: https://srfi.schemers.org/srfi-216/srfi-216.html
#lang sicp link: https://docs.racket-lang.org/sicp-manual/SICP_Language.html

Jens Axel Søgaard

unread,
Mar 9, 2021, 3:55:50 PM3/9/21
to Racket list
The goal in each case is to provide an easy way to try the examples in the book.

The documentation of `#lang sicp` is here:
https://docs.racket-lang.org/sicp-manual/SICP_Language.html

The code is here:
https://github.com/sicp-lang/sicp/blob/master/sicp/main.rkt

Note that  `sicp-pict` provides a modern implementation of the Henderson picture language.
With colors and high resolution as well as support for pens and brushes.

https://github.com/sicp-lang/sicp/blob/master/sicp-pict/main.rkt

/Jens Axel

Lockywolf __

unread,
Mar 9, 2021, 9:03:52 PM3/9/21
to Racket Users
I am the author of srfi-216. (and srfi-203 for the pictures)
The difference between the two is in the target audience, I presume.
 
If you are trying to pass the SICP course using Racket, it's likely that
#lang sicp is is what  you need, because it was written specifically for
this purpose and, afaik, people have stormed SICP-on-Racket successfully,
using this package.

SRFI-216 (and 203), on the other hand, is aimed at developers who would like
to make their Schemes compatible with SICP at the minimum cost.
The specification is intentionally minimalist. If you are making your own
Scheme, it's likely that porting  srfi-216 to your scheme is easier
than porting #lang sicp.

How much those two are interoperable, I don't know, I never tested my srfis
code on Racket. Again, that's because in order to make things portable,
I had to resort to a few dirty tricks, so any "native" implementation would
be better. But the code from the book should run similarly on both.

Lockywolf

Reply all
Reply to author
Forward
0 new messages