Live data from Hacker News

Steel – An embeddable and extensible Scheme dialect

github.com

81–90 of 192 posts

Re: Steel – An embeddable and extensible Scheme dialect

#81
post #80

Earlier quoted context omitted.

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

https://trout.me.uk/gc/ - see recycler-overview.pdf and recycler-algorithm.pdf As with /lisp/ I tend to grab my own copies of papers I think I'll want to refer to later in case the original URL vanishes in a puff of bitrot :)

Heh, neat to see you've got the Perceus paper there too. That is in fact the other part (the "ARC") of Nim's memory management for those unaware - with the only differences being Nim frees memory at the end of scope, rather than last use, and and Perceus maybe might be atomic (do not fully remember. ARC isn't atomic.)

Re: Steel – An embeddable and extensible Scheme dialect

#82

Can someone explain these scheme and lisp languages to me? Every time I look at these languages, I can't grasp what you can use them for. And why one would use them. I always feel like I'm missing something. In the example scripts and code snippets, I can see that you can define functions, that you can use lists, mathematical operations, you can build some algorithms, you can print text, but it never goes further tha…

My first introduction to Lisp-like programming languages were the SICP videos with Abelson and Sussman so to me Lisps are just programming languages like any other but with a nicer syntax and great support for interactive programming.

Re: Steel – An embeddable and extensible Scheme dialect

#83
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!

Why? The properties of lisp make it suitable for both a config file, and an extension language. It can be easily embedded into existing languages and is extremely flexible.

Re: Steel – An embeddable and extensible Scheme dialect

#84
post #48

Earlier quoted context omitted.

That's ridiculous!

Why? The properties of lisp make it suitable for both a config file, and an extension language. It can be easily embedded into existing languages and is extremely flexible.

Turing-completeness in a config file is an anti-pattern. Write an external program to generate the config file instead.

Re: Steel – An embeddable and extensible Scheme dialect

#85

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,…

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, Racket (racketeering), Larceny, etc - Not a scientific analysis at all, but I found it funny at the time that Steel sounds like "steal". 3. You made the observation, Steel sounds…

No judgement (I think great puns bring great minds together so namespace clashes are inevitable), but this was similar to the thinking behind a name for "Guile Steel", the low-level Scheme being plotted about by some of the Guile Scheme folks here: https://dustycloud.org/blog/guile-steel-proposal/

Re: Steel – An embeddable and extensible Scheme dialect

#86

Can someone explain these scheme and lisp languages to me? Every time I look at these languages, I can't grasp what you can use them for. And why one would use them. I always feel like I'm missing something. In the example scripts and code snippets, I can see that you can define functions, that you can use lists, mathematical operations, you can build some algorithms, you can print text, but it never goes further tha…

Why not just program everything in assembly? High level languages give you powers of expression that lead to better programs or are simply more convenient for the particular task at hand. Lisp languages have several features that aren't found in most other programming languages. And a lot features that are found in other languages originated in Lisp.

Perhaps what you are missing is the practical part. For that you should look to the two types of Lisp in widespread usage: Common Lisp and Emacs Lisp. Common Lisp is a general-purpose language with a very large standard library and rich set of third-party libraries. Emacs Lisp is a complete language, but only really used to build text editing like stuff for Emacs. There's tons of real, effective code out there in these languages.

Or perhaps you are confused about the functional programming part. This is only strongly associated with Scheme as other Lisps support other paradigms like object-oriented programming. Functional programming is a thing that takes a while to understand, although my theory is it's actually more natural and it's only because you already learnt imperative programming, which is thoroughly unnatural, that you find it odd. Once grasped it will help you with other languages that support functional programming like JavaScript and Python.

They say learning Lisp will make you a better programmer even if you never use it again. I tend to agree with this.

Re: Steel – An embeddable and extensible Scheme dialect

#87

Can someone explain these scheme and lisp languages to me? Every time I look at these languages, I can't grasp what you can use them for. And why one would use them. I always feel like I'm missing something. In the example scripts and code snippets, I can see that you can define functions, that you can use lists, mathematical operations, you can build some algorithms, you can print text, but it never goes further tha…

Maybe look at: https://github.com/arclanguage/anarki/blob/master/apps/news/...

Re: Steel – An embeddable and extensible Scheme dialect

#88

Earlier quoted context omitted.

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.

Yeah it is a personal issue, there are people who really like Lisp syntax (I'm one of them). That doesn't mean anything bad, of course, some people like dark text on a light background, others light text on a dark background. Everyone is different and that's what makes the world so awesome.

I see something like:

  some-var: I64 := a * b - c ^ d ^ e;
...and my brain gives out, while I find:

  (let ((some-var (- (* a b)
                     (^ c d e))))
    (declare (type I64 some-var))
    ...)
...to be much more readable, YMMV.

Re: Steel – An embeddable and extensible Scheme dialect

#89
post #3

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

emacsers looking deep from afar

I would use Helix in the terminal if it supported Emacs keybindings tbh but I don't want to relearn another set of keybindings. Still I'd be interested in what it becomes.

Re: Steel – An embeddable and extensible Scheme dialect

#90

Earlier quoted context omitted.

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, Racket (racketeering), Larceny, etc - Not a scientific analysis at all, but I found it funny at the time that Steel sounds like "steal". 3. You made the observation, Steel sounds…

No judgement (I think great puns bring great minds together so namespace clashes are inevitable), but this was similar to the thinking behind a name for "Guile Steel", the low-level Scheme being plotted about by some of the Guile Scheme folks here: https://dustycloud.org/blog/guile-steel-proposal/

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 comes about.

Post reply on HN