libera/#commonlisp - IRC Chatlog
Search
7:47:12
jackdaniel
White_Flame: pjb: kakuhen: phoe: thanks. yes, after examining a bit closer the protocol, there is always a surrounding logand operator, so the negative value will be yanked either way, so I'm good with (logand #<something> (lognot #<the number>)) ; the issue was that the negation was used with unqualified integer values (i.e 3), so I couldn't know how many bits the number had
12:45:35
jackdaniel
there is a game recently published by Shinmera called kandria. I was commenting about the boot screen (which had an easter egg claiming that the system is genera)
12:46:22
jackdaniel
spoiler for an easter egg, these things generally are meant to be found personally
12:47:05
jackdaniel
Reinhilde: when you watch sci-fi movies you also make comments about how uncommon people outfits are? ;)
12:49:09
hayley
(Or Symbolics 1 is still doing government contracts in 2396 - guess we'll have to wait and find out which happens.)
14:12:34
pjb
hayley: it's not surprising, Symbolics and other people at the time doing government contracts were caught in some affair related to time travel, so you can find them spread out over several hundred years in the future…
15:07:35
utis
thanks! is there a direct way to get it with cffi, or does one have to make a function that returns the address or something on the c side?
15:38:03
beach
Didier Verna is looking for people to teach object-oriented programming (using CLOS) at four different EPITA sites in France (Lyon, Rennes, Strasbourg, Toulouse), with 6x2 hours per site. If I understand things right, he is teaching the first 2 hour session, and the second session is between March 6 and April 3, with more flexibility for the remaining ones.
15:39:07
beach
I think it is great that there are still universities in France that teach Common Lisp, and CLOS in particular.
15:41:25
beach
He asked me to announce this information here, and you should contact him if you are interested, available, and qualified.
16:08:24
Demosthenex
i'm pleased to reach day 6 of AOC in CL! woo! boy my code is ugly compared to some of the reddit posts though
16:10:13
pjb
utis: a-priori, I would say that (defcffi foo …) (function foo) should give you what you want in lisp. Now it may not be possible to pass that back as a int(*) parameter to a C function. To pass a lisp function to C we use defcallback and (callback foo).
16:11:36
nij-
Anyone using sly? In the default setting from doomemacs all of the texts printed to standard output has a certain color. How do I change that color?
16:13:03
pjb
utis: you can also use dlsym to get a pointer to a C function, if it's in the symbol table.
16:16:50
pjb
utis: from the sources, it seems you can use foreign-symbol-pointer to get a pointer to the C function, and you can call it with foreign-funcall. Try it.
16:19:38
nij-
Grep changes the matched texts in terminal programatically. I wonder if I can replicate that in sly, pjb.
16:36:17
VincentVega
It's an ecosystem aiming to displace Emacs, terminal emulators, contemporary Lisp IDEs, git, interactive notebooks (ala Jupyter), and all and any note-taking applications. And not just /displace/, but do so with /verve and panache/. It's a lofty goal, but I believe I can do a basic working system in 5 years:
16:36:17
VincentVega
*Fern*: A tree-fiddling GUI toolkit w/ prototypes & constraints (already half-way there for the fundamentals; based on Garnet) -- 1 year.
16:36:23
VincentVega
All form a homogeneous power-user environment with a high degree of flexibility and composition. Majorly, there will be a specification for working with text /seamlessly/ -- *Rune*. That's a major differentiating aspect for the project.
16:36:27
VincentVega
Some of you may wonder why I am not using McCLIM for GUI: many reasons. I have written a review here:
16:36:33
VincentVega
(beach, jackdaniel: if you find it misrepresents the state of things, I don't want to spread misinfo, so don't hesitate to tell me I am wrong)
16:36:41
VincentVega
I am not going to mince words: I need funding for me to be able to work on this. So, if you think you could use this, please, support the project. For a quick overview, see: https://patreon.com/projectmage
16:36:44
VincentVega
And my apologies for the dump of text. I will stick around in this chat for a few days, so feel free to ask or criticize anything.
16:40:33
jackdaniel
VincentVega: your paraphrasing mcclim manual actually misrepresents the intention; it is not that the user is stupid - beating estabilished conventions is simply hard, and clim approaches building graphical applications from a different direction than widgets and callbacks
16:41:08
jackdaniel
it is like trying to understand common lisp references after learning about C, pointers, copy by value, copy by something etc
16:41:48
jackdaniel
I will read the article in more detail later, always happy to read critical remarks; I've just wanted to address that part since I've read it first :)
16:45:12
VincentVega
jackdaniel: I understand, but I still find it an insincere way of putting it, because it's still not the reason why they have a hard time with it ¯\_(ツ)_/¯. I talk about it more down the line, though. And yeh, clim doesn't have callbacks?
16:47:18
jackdaniel
I read it as an sincere admitting, that CLIM is unusual and if you don't understand it then don't feel stupid, quite contrary to what you have summarized but oh well
16:48:02
jackdaniel
regarding callbacks, some gadgets define callbacks because clim 2 spec tries to cater to traditional gui expectations too, but that's somewhat glued to the clim as it is
16:54:03
VincentVega
Alright, I understand. I referred this to as an ambition to subsume native toolkitry, which it itself a mess. I think this is a fundamental flexibility problem, where the backends don
16:57:07
VincentVega
Toolkitry, of course. But due to the ambition, the effect ripples down the consuming system, e.g. callbacks jackdaniel just mentioned. But I give an example of that in the article.
16:59:28
jackdaniel
I think that backend can customize plenty of things, especially because a backend may define both the port and the frame manager
16:59:59
jackdaniel
(including core abstractions that is), but I'll comment more after reading the thing
17:03:27
VincentVega
Sure, it can. What I refer to is mostly the problem of CLOS, where you can't add/remove slots/beaviours of the existing objects/classes at runtime, dynamically. I think CLOS is the biggest downside of CLIM, for many aspects.
17:08:04
VincentVega
Or, you know, screw that review, if you want to see where I am coming from, just read the Fern section here:
17:09:16
nij-
It's been many times. While I load a library that requires some dynamic lib, usually the program looks at the wrong place for *dylib files. https://bpa.st/RC4EE
17:10:02
nij-
I know where the dylib it wants is located. But I don't want to hack that specific library (in this case it's cl-lib). Is there a better way to tell my lisp about the default dirs to look for dylibs?
17:14:03
nij-
In the manual of CFFI (https://cffi.common-lisp.dev/manual/html_node/Tutorial_002dLoading.html#Tutorial_002dLoading), there doesn't seem to be a way to assign load path for it.
18:43:57
jackdaniel
VincentVega: I agree with remarks about poor humor (which is mine:) and that clim is quite complex and hard to bite (partially because it tries to cover a big scope going beyond guis)
18:45:23
jackdaniel
for example when you criticize output records and say that they duplicate what a tree widget would do, you miss the fact that output records create such a tree - easily composable at that
18:46:09
jackdaniel
and when you criticize inks, you completely miss the concept of an indirect ink which achives precisely what you ask for