Live data from Hacker News

Steel – An embeddable and extensible Scheme dialect

github.com

61–70 of 192 posts

Re: Steel – An embeddable and extensible Scheme dialect

#61
post #44

Earlier quoted context omitted.

You might find the Recycler algorithm interesting - nim's ORC collector is ARC + Recycler and seems to be working out rather well.

Thanks for the recommendation, with some brief poking around it does seem promising! It looks like the algorithm is this? https://github.com/fitzgen/bacon-rajan-cc The link to the paper seems dead unfortunately from this blog post https://nim-lang.org/blog/2020/12/08/introducing-orc.html I could see how it works as a drop in replacement for Rc

The bacon-rajan-cc link says it's stop-the-world. Samsara seems to be fully concurrent.

Re: Steel – An embeddable and extensible Scheme dialect

#62

Which Scheme is this implementing? R7RS? Any SRFIs? Is there a library reference document?

Starting with R5RS compliance, then once that is achieved moving on to R7RS.

I borrowed the R5RS test suite from chibi here - https://github.com/mattwparas/steel/blob/master/cogs/r5rs.sc... - only a few of these tests don't yet pass. Something like 135 pass, 4 fail, 20 skipped since I haven't implemented the primitives yet.

I've only tested against a few SRFIs so far, but am also attempting to run the R7RS benchmark suite https://ecraven.github.io/r7rs-benchmarks/ - So far you can view the progress here https://github.com/mattwparas/steel/tree/master/r7rs-benchma...

There are some more that aren't yet checked in. I plan to get a document up with the exact state of compliance soon.

The biggest difference right now is that, like Racket, Steel lists are immutable, so there I need a compatibility layer when running portable scheme.

Re: Steel – An embeddable and extensible Scheme dialect

#63

I wonder where the name came from. Being HN, here is my nitpicking imperative: Names are important. Our inheritance is wit, self-awareness, and irony; names that puncture ego and power and that appeal to joy: C, C++, GNU, Rust, Google, Yahoo!, Vim, Git, awk, etc. Others are beautiful, evocative images, like Apple and Amazon. Names communicate our culture and ideals to each other and to the next generation. Careless,…

> beautiful, evocative images, like Apple

Is this a joke?

Re: Steel – An embeddable and extensible Scheme dialect

#64
post #48
post #3

Helix Editor plans to use Steel as a plugin language [0]. [0]: https://github.com/helix-editor/helix/pull/8675

That's ridiculous!

I saw your comment on the thread.

A. Most WebAssembly implementations are bigger than Helix itself.

B. WebAssembly is immature.

C. Lisp is perfectly fine. Even if you don't like it, it's not the end of the world if you have to use it to configure Helix.

Re: Steel – An embeddable and extensible Scheme dialect

#66
post #48
post #3

Helix Editor plans to use Steel as a plugin language [0]. [0]: https://github.com/helix-editor/helix/pull/8675

That's ridiculous!

It's perfectly viable as a MVP. WebAssembly plugins for Helix had been proposed many times but without an actual implementation being worked on.

Re: Steel – An embeddable and extensible Scheme dialect

#67

Which Scheme is this implementing? R7RS? Any SRFIs? Is there a library reference document?

Starting with R5RS compliance, then once that is achieved moving on to R7RS. I borrowed the R5RS test suite from chibi here - https://github.com/mattwparas/steel/blob/master/cogs/r5rs.sc... - only a few of these tests don't yet pass. Something like 135 pass, 4 fail, 20 skipped since I haven't implemented the primitives yet. I've only tested against a few SRFIs so far, but am also attempting to run the R7RS benchmark…

Thanks! Was this originally a "just because" project, or do you expect it to offer some improvements or advantages over existing embeddable Schemes like Chibi (as you mentioned)?

Re: Steel – An embeddable and extensible Scheme dialect

#68
post #52

Is it possible to avoid rust completely when programming using Steel?

Yep - you can write standalone steel code without interacting with Rust at all, just interacting with the interpreter. I've done the first few days of the advent of code in Steel without needing to touch any Rust. Now, I will say that Steel has gotten visibility faster than I've been able to keep up with, so you might find a native function missing, or something that you would like to use that isn't implemented yet -…

Solving Advent of Code problems in a language you implemented yourself should earn you an extra good star or something. Nice work, and cool project!

Re: Steel – An embeddable and extensible Scheme dialect

#69

Earlier quoted context omitted.

Counterpoint: why are people under any obligation to try?

They're not. But they're also not required to flaunt their own ignorance as though it's a well-formed opinion. Also, in a professional setting, I find it a bit unprofessional and rude to poo poo technical ideas over trivialities.

I’ve written a large application in Lisp. Hated parentheses before, hate them even more now. It needlessly obscures code.

Maybe it’s a personal issue, idk. But it’s not out of ignorance nor is code readability a trivial point.

Re: Steel – An embeddable and extensible Scheme dialect

#70

Earlier quoted context omitted.

> But they're also not required to flaunt their own ignorance as though it's a well-formed opinion. I don’t like the parenthesis. I’m not flaunting anything. Is it “flaunting” to calmly and respectfully share an opinion? To you it’s trivial, to me it’s not. It seems like you’re interested in creating conflict with people that don’t like a thing that you like. Which, I would cast this behavior as unprofessional, tbh.

I'm not a fan of the parenthesis either, but when I learned about s-expressions and how lisp programs are also a data structures that piqued my interest and helped me look past them. I question people's judgement who can't look past the syntax when there is a very good, and interesting technical reason behind them.

A-expressions are a choice, and it is fine to argue whether it is a good one. There are plenty of other ways of achieving honiconic syntax.
Post reply on HN