sigmoid.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A social space for people researching, working with, or just interested in AI!

Server stats:

579
active users

#commonlisp

14 posts7 participants1 post today
Replied in thread

@plantarum hey, I’m the author of Schemacs.

Yes, there are Emacs-like editors written in a whole other language which make no attempt to clone Emacs Lisp.

  • Lem is a text editor written in Common Lisp, but it relies on SBCL-specific features so you can only build it on SBCL. The nice thing about Lem is that you have access to the entire SBCL ecosystem, which is pretty close to Python in the number of useful packages you can use with it. It uses SDL2 to display. It at one point had an Electron front-end but I think they abandoned that.

  • Edwin is a text editor written in Scheme, and comes bundled with the MIT Scheme implementation, which is compliant with the R7RS-Small Scheme standard. I believe it includes some of the original code used to teach the Scheme course at MIT back in the late 80s, and it is still minimally maintained even today. When I say “minimal,” I mean there have really been almost no new features added to it in like 30 years. It clones Emacs version 18 which was released back in 1992. All the maintainers do is make sure it runs on modern computers, and they otherwise leave it alone.

  • Lite is a text editor implemented and scriptable in Lua on top of a minimal C-language kernel. This makes it more like Emacs, which is Lisp running on top of a small C-language kernel. I think you can even use libluagit5 to JIT-compile your Lua packages, which probably makes it extremely fast.

That said, I don’t find any of these especially useful because they lack the huge package ecosystem that exists for Emacs. Emacs “apps” that I use all the time include Magit (Git porcelain), Hyperbole (a cross-referencing app), TRAMP (remote access), Org-Mode, Mastodon-Mode, ERC chat, Elfeed (RSS), as well as the built-in Dired, Proced, and Shell modes, plus all the integrations Emacs has for shell utilities like Find, Grep, GPG, SSH, Tar, Zip, and so on. Without these, I would not have nearly as easy a time getting my work done.

That is why I have put so much effort into cloning Emacs Lisp. I want Emacs users to be able to use the Emacs code they have already written for themselves, and rely on, while being able to transition over to an editor with a better scripting language.

@llewelly

Summary card of repository ramin_hal9001/schemacs
Codeberg.orgschemacsA clone of Emacs and Emacs Lisp written in Scheme

#classicalAI ( #gof_ai ) and #deeplearning #AI . A minimal #programming #example in #commonLisp for identifying the artist of famous pictures with either approach.

The code fits on the back of a cereal box. (Barely. Argh, numerically encoding data for DL..).

screwlisp.small-web.org/fundam

I think this is as clear an example as can be. Though I look forward to your feedback and criticisms.

screwlisp.small-web.orgCommon lisp Classical AI and deep learning ai the difference in two clear example implementations
Replied in thread

I wish this article pointed out explicitly that Lisp (if we need to be concrete, Common Lisp) has two levels of syntax:
the simple syntax of S-expressions
and
the idiosyncratic syntax of each special operator.

I wish this article considered XSLT, an ugly but homoiconic language.

I wish it mentioned that what is _usually_ called the Lisp reader _also_ does a scanner's job of constructing tokens.

Etc., which will remain for another time.

#CommonLisp

@monkey1 @simon_brooke @screwlisp

Replied to screwlisp

On Lisp Macros

My thesis is that they become easy
once you realize they extend the language
_without_ touching the language implementation,
no more and no less.
That is, macros extend the compiler _without_ modifying it.

It so _happens_ in Lisp that they are functions mapping lists to lists.

They are related to backquotes only because
they necessarily need to construct nested lists
and backquotes are one of the tools for that.

#CommonLisp
#Lisp

@screwlisp

Spacetime boxes and #NicCLIM #gamedev : An ordeal #devlog #commonLisp

screwlisp.small-web.org/lispga

I made a gamedev-my-NicCLIM-oriented spacetime-box class to try and figure upon Olum's stuff. I got tied up making two spacetime boxes, then making one spacetime-box every neighbor of the other, which was a huge problem actually. It seemed to be working at the end. Skip quickly to the extensive and far-ranging if poorly-named conclusions.

Has it occurred to you that an #LLM is a very good for generating boilerplate code? It's especially very good in frontend development.

But have you sometimes thought that the language shouldn't require you to write a lot of duplicated codes? And it should instead provide #metaprogramming capabilities like #macros so you could summarize multiple similar patterns?

I really miss macros in #Typescript and other frontend applications.

I mean using an LLM with like 400B parameters to autogenerate some frontend stuff is insane when you could simply fix the underlying tech instead of introducing new massive size tech to go around the problem, instead of solving it.

I think I really need to get back to #CommonLisp or maybe some other #Lisp languages. #Rust also has got macros and I could learn more advanced usages of them.

Replied in thread

@jeremy_list haha, I probably should have warned you I wouldn't be putting haikuos on anything ;p.
#commonLIsp
Threads: bordeaux-threads.common-lisp.d de factow standard, proposed by Barlow,
multiple event loops and the GUI: (honestly I would throw both of these in McCLIM which does both of these) mcclim.common-lisp.dev/

Surely it would still be Theseus' habitat though ;p.

For me I would quite like to hold onto the fact that your code is C++ in that magicaly ECL sffi way. C++ compatibility is good

bordeaux-threads.common-lisp.devBordeaux Threads project