Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
mattparas
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
4 ms
·
1.
▲
by
mattparas
3y ago
Thanks! I'll trying plugging this in
2.
▲
by
mattparas
3y ago
They're using hash array mapped tries. I don't have my own personal implementation, I have been using https://github.com/bodil/im-rs until I can get around to making my own implementation (not that I really n
3.
▲
by
mattparas
3y ago
I learned to code primarily through school - I had the privilege of studying at Northwestern where a lot of the Racket people teach, so my first programming class was in Racket. I have worked through some of SICP and How to Design Programs.
4.
▲
by
mattparas
3y ago
At least for me, there is a certain appeal in building the world. With scheme you get a very small set of functionality, but you use that to implement the rest of the language, and build abstractions on top of abstractions. Seeing how the w
5.
▲
by
mattparas
3y ago
Ah yes I remember seeing that when it was posted on HN - I think Steel predated that post by a few years :) All of the work done by the guile folks is incredible, I wouldn't mind the name clash at all if there is a Guile steel that com
6.
▲
by
mattparas
3y ago
Originally started it as a school project, which then during the pandemic morphed into something to work on while cooped up. It is really a passion project, working on it is fun! There are some interesting design things I wanted to explore,
7.
▲
by
mattparas
3y ago
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
8.
▲
by
mattparas
3y ago
Not at all! I agree it is a useful feature, I'd be curious how much it is necessary if not using any mutation, but the best way for me to find out is to try it out :)
9.
▲
by
mattparas
3y ago
Thank you - I appreciate the kind words :)
10.
▲
by
mattparas
3y ago
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
11.
▲
by
mattparas
3y ago
I'll make a tracking issue for it - new GC work is fun! I'll do some research, I have on my back log to integrate Steel into Bevy or some other Rust game engine, would give me a reason to make some fun GCs
12.
▲
by
mattparas
3y ago
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 th
13.
▲
by
mattparas
3y ago
Yes, I don't have a link handy but I based it off the Phil Bagwell paper
14.
▲
by
mattparas
3y ago
Hopefully the linked README provides a general overview (I know I need to write some more documentation!), but Steel is an implementation of the scheme programming language (not entirely compliant yet, but aiming for R5RS and R7RS complianc
15.
▲
by
mattparas
3y ago
At the moment I only have 1 SRFI package, and its just to check against compatibility :) - my plan is to wrap the SRFI packages with friendly names and just include the metadata in the package spec so someone searching for it can find it ea
16.
▲
by
mattparas
3y ago
So here is the history: 1. Guy Steele (along with Gerald Sussman) created scheme, and Steel is close to Steele, just drop the e. 2. Steel is a scheme, and I observed that scheme names have a tendency to be named things crime related: Scheme
17.
▲
by
mattparas
3y ago
Immutable values are reference counted, so for most code, things will be dropped when they exit scope. For captured mutable values, there is a fairly mundane mark and sweep collector. It is possible to manually control the garbage collector
18.
▲
by
mattparas
3y ago
To answer each of these: 1. I do support parameters now, syntax parameters not yet. I would like to! But Racket has a pretty hefty head start on me so it'll take some time. 2. Right now I have syntax-rules macros, I also have defmacro
19.
▲
by
mattparas
3y ago
This is a surprise! Steel is my project, happy to answer any questions anyone might have