CLIM-USER> (accept-from-string '(completion (("rock" :rock)) :value-key cadr) "ro")
:ROCK
(COMPLETION (("rock" :ROCK)) :VALUE-KEY CADR)
3
CLIM-USER> (accept-from-string '(completion (("rock" :rock)) :value-key cadr) "ro")
:ROCK
(COMPLETION (("rock" :ROCK)) :VALUE-KEY CADR)
3
#CommonLisp question: is anyone specifying dependencies for every single file instead of using :SERIAL? And if yes, how is this even used? I have never used anything but ASDF:RELOAD-SYSTEM which will reload all files anyway.
@amoroso #commonlisp #lisp
there is also its "Exotic Language of the Month Club" on page 99: CRL, a knowledge representation language (implemented in Common Lisp). Then the PowerLisp ad on page 62. SCOOPS on page 49ff. The KEEConnection ad on page 23ff. The "Personal Consultant Plus" (written in PC Scheme) ad from TI with support for the TI Explorer Lisp Machine on page 6/7. The GoldWorks ad on page 145. Plus: a bunch of Prolog articles...
Some important acronyms to know. Feel free to add some of your own.
Lisp:
Logic In Symbolic Paradigms
Lisp Inspires Strange People
Lisp Is Secretly Perfect
Python:
Pseudocode You’d Teach Hordes Of Newbies
Probably You'll Try Harder On Next-lang
Python: You'd Think Hardware's Optional Now
Emacs:
Editor Maintained As Community Shrine
Ecosystem Mainly Acquired by Cult Sysadmins
Emacs Means Always Configuring Something
Vim:
Vaguely Interactive Misery
Very Irritating Macros
Vim Isn't Modern
Linux:
Legendary Interface, Notoriously Unforgiving eXperience
Loyal In Nature, Unmatched eXtensibility
Linux Is Natural Under X
In 2009, I had to cancel a scheduled keynote talk at the European Lisp Symposium (ELS) in Italy because I was due to be in surgery at that exact time for my thyroid cancer. (Surgery went well, and I've seemed thankfully free of it since.) They were kind enough to ask me to speak in Lisbon in 2010 instead. But I didn't at the time, in 2009, speak publicly about the surgery or the cancer. Instead I made a vague excuse about an illness in the family (not technically untrue) being the reason I couldn't do the talk.
On the evening before the surgery, I wrote a somewhat metaphorically cryptic post to my blog that I figured would at least capture my apprehension in case the surgery did not go well, or even if it did, I suppose. It's still interesting to have a window back into my thoughts.
https://netsettlement.blogspot.com/2009/05/over-edge.html?
Back to modern day, I do have a planned procedure (not tomorrow, not dire and far more routine, so not to worry, but please don't ask for additional details just now) that I've been reflecting about just a bit.
Though in all honesty, I and all of us are probably at more risk just walking around on the streets in our emerging fascism (here in the US, though other places are not exactly immune either), and that's on my mind all the time now as well. Any one of us could become an unperson, certainly anyone with decent ethics anyway, as that seems to almost be the criterion for who they're going after.
The tanka I wrote is not specific to one thing in particular, just the sum total of various such things that point to the ephemeral nature of each of our existences.
It's both frightening and infuriating to live in a society where we are at risk merely because of our very existence or nature being seen as a crime.
There may be some among us that don't feel at risk. I wish I could say that's good. But I worry it's obliviousness/denial, or privilege, or something darker, perhaps even being comforted by being on the winning side of bigotry. Maybe give it some thought, because I don't want people to be disempowered by what's afoot, but neither should they feel it's someone else's problem. We have real problems that need to really be addressed. It's a time to feel uncomfortable because no one should be comfortable with what's happening. It's a time for people to empathize and contribute to getting the world back onto an even keel.
Meanwhile we are all individually fragile, too. I had a philosophy class in which the professor told us we could not say with certainty that we would have lunch with someone tomorrow. The future is intrinsically less than certain, we're just talking degree here. But the things going on now are good cause to appreciate those we love, and make sure that we've got things in order in case things get wonky.
And even beyond the politics of the day, the state of climate is dire. I talk enough of that elsewhere, so won't belabor it, but its spectre is ever-present.
Still, it also makes it a time to live, not to put off living to some mythical future time when things will be better. (I wrote a different haiku about that earlier this evening as part of this same pondering.) Let's work toward creating a bright future, but let's also not fail to appreciate that today is all we know we have for sure. Make the best of it. And be the person you want others to remember fondly.
Lamber, my #LambdaCalculus -> Lisp compiler (https://github.com/aartaka/lamber) didn't handle big enough numbers (> 10-bit,) so I decided to implement some optimizations, reusing underlying #CommonLisp compiler to speed up and save space on numerics. It's not particularly reliable, because big LC numbers consume too much of the stack, but at least it's better than it used to be, almost reliably handling 12-bit numbers.
@rzeta0 since you have gone through introductions to quite a few different languages, including recently #commonLisp, I wonder if you might provide some comments and questions live in next week's #lispyGopherClimate where we'll have @ramin_hal9001, and treat the many different facets of the #lisp family (now and through history). I just think you might have something interesting to say.
Web developer KILLIAN.arts posted a review of Common Lisp: A Gentle Introduction to Symbolic Computation by David Touretzky. They read the book because:
"While I like web development, I have worried about specializing too much as a frameworker or a UI builder, missing out on more fundamental knowledge of computers and programming."
https://killianarts.online/en/articles/common-lisp-a-gentle-introduction-to-symbolic-computation
SpinPro™ was an expert system to design procedures for Beckman Instruments ultracentrifugation machines at biochemistry labs. Developed in Interlisp-D on Xerox 1108 workstations, SpinPro™ was deployed to IBM PC/XT computers as an application that ran under Golden Common Lisp by Gold Hill.
To learn more about SpinPro™ see this 1985 paper:
http://www.bitsavers.org/pdf/xerox/interlisp-d/newsletters/Masterscope_1-03_Aug85.pdf#page=2
Joe Marshall on the granularity of Common Lisp packages and why he prefers coarse-grained packages.
https://archives.anonradio.net/202503260000_screwtape.mp3 #archive
#LispyGopherClimate #weekly #technology #podcast
- #climateCrisis #haiku by @kentpitman
- Kent vs billionaires' #welfare payments
https://netsettlement.blogspot.com/
- "Shark restaurant" a simple, original sanity test of 32B high performance #AI
https://codeberg.org/tfw/shark-restaurant-ai-sanity-test/src/branch/master/sanity-test.lisp
- My own #commonLisp #gamedev #programming trajectory, upsides and downsides.
- More short live-action #McCLIM video requests noted.
https://toobnix.org/w/qAnmJAKv1mhuwem7jJ1cJz
- More lisp history from @symbolics @rzeta0
#programming #McCLIM #commonLisp #emacs #animating #graph #video.
https://toobnix.org/w/qAnmJAKv1mhuwem7jJ1cJz
Silent, two minutes thirty of just what me being at a computer is like. I write a closure that has an example graph tree in it, open the frame, hand-write a tree into the interactor the frame draws, start a background loop that randomly changes between graph frames.
The code demonstrates a way of asyncronously running animations in mcclim.
Source https://codeberg.org/tfw/lineage-tracing/src/branch/master/grapher.lisp
Comments, thoughts(, prayers)?
Graph animating Lisp McCLIM Emacs fiddling
https://toobnix.org/videos/watch/c727c72d-b3c9-49a1-b7c3-229ac7a1e491
Sgolovin is experimenting with calling Rust functions and libraries from Common Lisp via FFI.
The main things you have learned: LISP is called "List Processor" for a reason, it is interactive (REPL) and extensible (macros).
Congratulations for completing the book!
Learning the basics of Haskell is a great next step!
@rzeta0
#CommonLisp is not minimal, because it wants to be "practical" and it comes from a tradition of very *rich* programming systems. It includes a library for meta programming, sophisticated interactive error handling, an interactive object system (CLOS) and a lot of other stuff integrated into the language. Stuff which one often needs when writing programs.
The main things you have learned: LISP is called "List Processor" for a reason, it is interactive (REPL) and extensible (macros).
@abuseofnotation
Yes, having spent a painful afternoon revising my approach, I guess so. I'll do an acl2 mutual-recursion like yours later.
The series version I experimented with today: https://codeberg.org/tfw/lineage-tracing/src/branch/master/lineage-tracing.lisp
lineage tracing, #programming #commonLisp #series
@jeremy_list @me
@shinmera Is an amazing friend and one of the most talented devs I know. She maintains a significant portion of the best common lisp packages, and she also draws sometimes (she made this adorable pfp for me!). If you can, please consider supporting her here https://www.patreon.com/shinmera or here https://ko-fi.com/shinmera/ . It would mean a lot to me, as I would like to support her but am personally in a suboptimal financial situation. Thanks so much :D
@jeremy_list I also wrote this #commonLisp one (rather than acl2) before looking at yours properly as a point of comparison.
(defun ancestorp
(a b f)
(loop
:with candidates := `(,a)
:for name := (pop candidates)
:for subtree := (assoc name f)
:if (member b (cdr subtree)) :return subtree
:else :Do
(setf candidates (append (cdr subtree) candidates))
:while candidates))