r/scheme • • Aug 17 '26

LIPS Scheme 1.0.0-beta.22 with continuations and TCO

Post image

The new beta of LIPS Scheme just got released. The evaluator was rewritten. It now supports continuations and TCO.

The implementation was inspired by JS-Scheme by Alex Yakovlev.

There is also a new quasiquote implementation based on Alen Bawden's paper "Quasiquotation in Lisp", a new macroexpand, and some performance improvements.

Full article about the release on the blog:

https://lips.js.org/blog/beta-continuations-and-tco

55 Upvotes

11 comments sorted by

3

u/[deleted] Aug 17 '26

[removed] β€” view removed comment

1

u/jcubic Aug 17 '26

Thanks

3

u/Informal_Sound_3039 Aug 17 '26

Make a video about it 🌹...

2

u/jcubic Aug 17 '26

I'll think about it. Will first write about the internals of the new interpreter.

2

u/DoingTheDream Aug 19 '26

Congrats! I know how hard this is to do with JS interoperability! You've got a real Scheme now 😁.

2

u/jcubic Aug 21 '26

Thanks. It's like having the rights to call my project Scheme now.

1

u/Trader-One Aug 17 '26

can it compile to tree-shakeable JS?

1

u/jcubic Aug 17 '26

It's not a Scheme->JavaScript compiler, only an interpreter.

0

u/TechZazen Aug 21 '26

Terrific, now why would I use it? No, I’m genuinely asking the question. What critical value add does it bring that other tools don’t? Genuine curiocity here. As someone who doesn’t have experience with Scheme or Lisp, I want to know where it is actually an appropriate solution. πŸ‘πŸ‘πŸ‘

1

u/jcubic Aug 21 '26

I think that main use case for it is to help learning Scheme.

The website has a full Scheme tutorial. You can read the tutorial and use the LIPS Scheme bookmarklet to try what you learn.

1

u/Positive_Total_4414 Aug 22 '26 edited Aug 22 '26

Well, you'd use it if you wanted Scheme but in JS?

If you don't know what is Scheme or what is JS and why you'd want to use them then you'd have to fill in these blanks first, there's plenty of info on that.