week-long boycott of Amazon and virtual picket line starts this Sunday, March 7

support your fcomrades and their efforts to organize against a corporate juggernaut - don't use Amazon next week


Work is sure different these days! It's largely the same that it was a year ago; but compared to my last gig, and especially the last ~3 months of that gig, wow!

I swear, boredom and lack of responsibility on the job is horrendous. I'm sure some folks can deal with it alright, but not me! It brings nice perspective, though. When things go crazy it's much easier to appreciate having a plethora of choice for what to focus attention on instead of the angst of wanting to contribute _somehow_.

@mdhughes Do you have a go-to repository for Chez-scheme compatible libraries?

@mdhughes My point is more that I don't really know what I'm looking for here; and Chez scheme probably suits all my thoeretical needs just fine.

@mdhughes Cool!

Ah, I think I read about distributing applications with petit-chez like you say.

I have immature thoughts on this stuff.
I like how easy it is to cross-compile Go programs and then you have a static executable you can run hassle-free.

With scripting languages you have to consider the size of the interpreter itself; although this is usually small on disk. But then again, it's usually dynamically linked; so you need to think about the size of the dynamic dependencies, too.

@mdhughes I also see that it support OS threads: scheme.com/csug8/threads.html#

While not a deal breaker for me, green threads in CHICKEN does make it seem less desirable.

@mdhughes Thanks!

I took a look at Chez Scheme; it was what I tried to decide on previously. It looks good.
I see it has a bytecode interpreter and the incremental compiler; so you get some flexibility there.

I was looking for how to create a standalone executable with it, and the best I could find was github.com/gwatt/chez-exe although I have not tried it yet.

I'm also not certain I need that functionality; but I've made no commitments to anything yet; so I'm exploring what I can. 🙂

Ah, a simple test illustrated similarly poor video conferencing results on my personal laptop.
That more or less confirms this is something to do with my internal network configuration; or _potentially_ something with my ISP.

14.3Mbps down, 4.7Mbps up on the Macbook Pro.
20.7Mbps down, 5.5Mbps up on my Oryx Pro.
Theoretical service I pay for is 60Mbps down and 6Mbps up.

The download delta could be congestion. Up seems okay.

I did a quick search and it seems like docstrings are supported in CL, but not Scheme (I could be wrong!). I do like "always online" help system in Emacs; so that kinda pushes me toward CL.

There's also what appears to be a non-standard way of building libraries for Scheme. I guess R6RS addresses this, but nobody implements that? Presumably R7RS addresses it as well; but I think there are few R7RS compliant impls.

Show thread

Maybe that's a good starting point here.

CL: sbcl + ecl
Scheme: chicken + guile

Not a requirement to use both implementations for either language; but each listed implementation targets a different application of the language.

So then the question becomes CL or Scheme?

And I'm honestly not sure. Scheme does feel a little more modern and light. For some reason I prefer separate namespaces for functions and variables like in CL.

Show thread

You can do ECL if you want to build a standalone executable with CL; but primary development perhaps in SBCL.

I'm not sure about porting to non-spec-adhering Lisps like Hedgehog; presumably possible; but fraught with danger, as porting across languages always is.

Show thread

I'm burning a lot of mental cycles evaluating different implementations of Common Lisp and Scheme; but I think this is counterproductive for _many_ reasons. One that I never really considered until just now is that both Common Lisp and Scheme have language specifications, so if you program to spec then you are free to run your code on whatever implementation you want.

Chicken scheme is great for delivering standalone executables, but maybe you want Guile for running scripts in the shell.

Okay, I went down a little bit of a lisp and scheme rabbit hole today and flip-flopped a few times.

Chicken scheme wins today.

Dolphin is Windows-only. There used to be a "pro" version but the maintainers had to stop selling it. Presumably the community is still maintaining the non-pro version, but the development page link seems to be gone and there are only Windows executables AFAICT.

Cuis is another Smalltalk focused on being small and lean, and focusing solely on supporting Smalltalk-80: github.com/Cuis-Smalltalk/Cuis

Apparently Pharo is like a dialect of Smalltalk - not adhering to a specification, but smalltalk-like.

Show thread

@rebel_luddite I've been using syncthing + keepass for ~7 years now and I mostly don't even think about it anymore.
Occasionally there are some syncing issues; but usually it's because the syncthing service has been killed for some reason on one of the devices.

I run syncthing on all my computers, on my android phone and on my pine64 server.

So which Smalltalk is the one to use?
It seems like Pharo supercedes Squeak. VisualWorks is apparently the enterprise Smalltalk and maybe kinda frowned upon if you're not in an enterprise context?
And there's Dolphin Smalltalk which I know nothing about.

I also see talk of Morphic as a clunky, difficult to use GUI API but maybe Bloc is a successor? I think this only applies to Pharo and Sqeak, though?

Show older

A instance dedicated - but not limited - to people with an interest in the GNU+Linux ecosystem and/or general tech. Sysadmins to enthusiasts, creators to movielovers - Welcome!