Live data from Hacker News

Steel – An embeddable and extensible Scheme dialect

github.com

101–110 of 192 posts

Re: Steel – An embeddable and extensible Scheme dialect

#101
post #97

Earlier quoted context omitted.

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.

The keybindings is one of the major selling points of helix. It uses kakoune style object-verb action (like vim visual mode) by default with multiple selections. If you're comfortable with emacs bindings then you're better off with a lightweight emacs alternative.

Fair enough

Re: Steel – An embeddable and extensible Scheme dialect

#102

Earlier quoted context omitted.

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.

[deleted]

Re: Steel – An embeddable and extensible Scheme dialect

#103

Earlier quoted context omitted.

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.

Code as data is interesting, but mostly orthogonal to S expressions. For example, Prolog code has the same property without S expressions, and more esoterically TeX (which is succinctly explained to a lisper as programming with defmacro but not defun).

Also raw machine code and XML, even.

Though it's just more powerful in Lisp precisely because the code is just lists in a language designed around working with lists.

So you can actually leverage this property in Lisp without the code becoming inscrutable for it, which in my experience doesn't usually happen in other languages.

Re: Steel – An embeddable and extensible Scheme dialect

#104

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

I don't think it's particularly careless: SBCL is short for 'Steel Bank Common Lisp', which is a reference to how the CMU university, named after Carnegie Mellon, could be respectively substituted with 'Steel' (Carnegie) and 'Bank' (Mellon).

I, somehow, never put together the SB -> CM link! That's awesome, thanks for sharing

Re: Steel – An embeddable and extensible Scheme dialect

#105

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

>Perhaps what you are missing is the practical part.

I think that's it. Thanks, I'll take a look at common lisp, especially at projects written in it.

Re: Steel – An embeddable and extensible Scheme dialect

#106
post #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/...

Thanks, good hint!

Re: Steel – An embeddable and extensible Scheme dialect

#107

Earlier quoted context omitted.

Why? Emacs has Emacs Lisp and Neovim has Lua, it's great to be able to configure, write plugins and helper functions, in the same language.

If you're target audience are not progmmers versed in your wacky config language, it's a tremendous foot gun. Also a huge security hole.

It's possible to write declarative configuration in scheme. You can see that in Guix. Eventually someone will write a macro to create something purely declarative, like use-package in emacs.

> it's a tremendous foot gun

I've never seen this footgun in action with elisp in Emacs, lua in neovim or vimscript in vim. Is this anything more than hypothetical?

> Also a huge security hole.

If you put an editor in a position where its Turing-complete configuration is a security hole, you'll be in a lot more trouble than you imagine. Editors by definition are meant to modify stuff in a filesystem. With those privileges, it wont matter what the config language is. The plugins, even in webassembly, will cause serious issues.

Re: Steel – An embeddable and extensible Scheme dialect

#108

Earlier quoted context omitted.

Why? Emacs has Emacs Lisp and Neovim has Lua, it's great to be able to configure, write plugins and helper functions, in the same language.

If you're target audience are not progmmers versed in your wacky config language, it's a tremendous foot gun. Also a huge security hole.

It's a text editor specifically made for writing code.

Re: Steel – An embeddable and extensible Scheme dialect

#109

Earlier quoted context omitted.

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.

Out of curiosity, if you’re familiar with Emacs, what’s your motivation for wanting to use Helix? Built-in LSP support?

Re: Steel – An embeddable and extensible Scheme dialect

#110
post #78

Earlier quoted context omitted.

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

The bacon-rajan-cc link has only -implemented- a stop-the-world version, but notes right at the top of the README that it -can- be concurrent, and the stop-the-world-only-ness is only 'Currently.' https://trout.me.uk/gc/ has two Recycler papers if you want more details.

Samsara is implementing the same algorithm and seems to be further along. Though there's also 'shredder' https://github.com/Others/shredder with a different overall approach.
Post reply on HN