jackdaniel changed the topic of #commonlisp to: Common Lisp, the #1=(programmable . #1#) programming language | Wiki: <https://www.cliki.net> | IRC Logs: <https://irclog.tymoon.eu/libera/%23commonlisp> | Cookbook: <https://lispcookbook.github.io/cl-cookbook> | Pastebin: <https://plaster.tymoon.eu/>
nij- has joined #commonlisp
tyson2` has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
euouae has quit [Ping timeout: 246 seconds]
cognemo has quit [Read error: Software caused connection abort]
cognemo has joined #commonlisp
X-Scale` has joined #commonlisp
X-Scale has quit [Ping timeout: 248 seconds]
X-Scale` is now known as X-Scale
_death has quit [Read error: Software caused connection abort]
ski has quit [Read error: Software caused connection abort]
adeht has joined #commonlisp
ski has joined #commonlisp
jolby has joined #commonlisp
xantoz has joined #commonlisp
Fare has joined #commonlisp
jolby has quit [Quit: Client closed]
GreaseMonkey has quit [Read error: Software caused connection abort]
greaser|q has joined #commonlisp
zoglesby has quit [Read error: Software caused connection abort]
zoglesby has joined #commonlisp
nij- has quit [Ping timeout: 246 seconds]
nij- has joined #commonlisp
bilegeek has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 255 seconds]
Lord_of_Life_ has joined #commonlisp
Lord_of_Life_ is now known as Lord_of_Life
nij- has quit [Ping timeout: 276 seconds]
Fare has quit [Ping timeout: 255 seconds]
pillton has joined #commonlisp
nij- has joined #commonlisp
cognemo has quit [Ping timeout: 252 seconds]
cognemo has joined #commonlisp
Fare has joined #commonlisp
greaser|q has joined #commonlisp
greaser|q has quit [Changing host]
greaser|q is now known as GreaseMonkey
Fare has quit [Ping timeout: 248 seconds]
tyson2 has quit [Remote host closed the connection]
Sauvin has quit [Ping timeout: 248 seconds]
genpaku has quit [Read error: Connection reset by peer]
genpaku has joined #commonlisp
waleee has quit [Ping timeout: 255 seconds]
xantoz has quit [Ping timeout: 252 seconds]
xantoz has joined #commonlisp
akoana has quit [Quit: leaving]
asarch has joined #commonlisp
euouae has joined #commonlisp
<euouae> hey
asarch has quit [Quit: Leaving]
<nij-> o/
<euouae> How can I iterate through asdf systems in an .asd file?
<euouae> I'd like to load them and run DO-EXTERNAL-SYMBOLS and output some statistics
<euouae> for each system in the asd file
<euouae> Perhaps the simple thing would be to walk the sexps and parse it myself?
<Bike> systems or packages?
<Bike> usually an .asd file has only one system. i think asdf complains otherwise.
<euouae> Bike: There is a primary system and secondary subsystems
<euouae> foo and foo/tests and foo/my-utility etc
<euouae> foo/my-options
<Bike> but you're supposed to put them in different files. i think.
<euouae> Are you thinking of packages?
<euouae> I remember reading one package per file as a recommendation
<Bike> no, defining multiple packages in the same file isn't an issue, and in fact is pretty common
<euouae> ah so we're in complete disagreement
<euouae> complete total utter catastrophic disagreement :D
<euouae> just kidding. I don't know
<Bike> oh, i see, asdf lets you put multiple systems in the same file without whining if they have slashes. okay then.
<euouae> Bike, please tell me if this makes sense: I wrote a small lisp program that checks external-symbols for documentation and reports percentage of documented code
<euouae> I thought I'd run it over the systems to have a view of % of doc coverage
<pillton> Bike euouae: It is buried in Section 6.3.3 of the ASDF manual.
<Bike> the reason i asked about systems and packages is that an asdf system may correspond to any number of packages
<euouae> Right
<Bike> and there's no direct way to get the list of packages a system defines, as far as i know
<euouae> I see. I just realized that my systems load files that use define-package
<euouae> but there's no reason that'd be the case
<Bike> and exotically you could have a system that does things like add symbols to a package defined by some other symbol, though of course that's really rare
<Bike> by some other system*
<euouae> I suppose I need to put constraints on the code base then
<euouae> to ensure my tool works as intented.
<euouae> Right now I have a (docs-coverage package) function. How should I apply this over the code base?
<euouae> it uses FIND-PACKAGE
<Bike> most obviously you could tell the user they have to list the packages. more smartly i guess you could do something like quicklisp or staple where they record which packages are defined while a system is loaded, through *macroexpand-hook* i think.
<Alfr> ... and then there's shared-initialize and company; when we consider CL to be a system for the sake of argument.
<euouae> Bike: okay, fair enough, I'll go with that
<euouae> Should I use Roswell to create a script that prints that docs coverage? Seems good enough
<euouae> ah, hm... roswell installs its own lisp
<kakuhen> iirc roswell lets you specify a preexisting lisp but by default itll provide one for you
<euouae> I'll just do #!/bin/sh with sbcl --script <(cat<<EOF ...)
<euouae> I don't know how terrible that is
bilegeek has quit [Quit: Leaving]
nij- has quit [Ping timeout: 276 seconds]
euouae has quit [Ping timeout: 252 seconds]
euouae has joined #commonlisp
<euouae> I have a list of strings and I'd like to pass them as symbol arguments to FIND-PACKAGE
<euouae> I've tried using combinations of import/intern/make-symbol but none worked thusfar
<euouae> I'm not sure how to do this
<euouae> Ah, hm... it allows for string designators but it's case-sensitive
<euouae> asdf:load-system is case-sensitive but on the other way. E.g. (asdf:load-system "my-system") and then (find-package "MY-PACKAGE")... ugh
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
<Nilby> euouae: Both asdf:load-system and find-package take symbols, so then you can use a typical solution like alexandria:symbolicate.
<Nilby> which is basicly (intern (string-upcase x))
<euouae> ah, I didn't realize intern is also case sensitive
<euouae> thank you
<Nilby> yup, you wanted to wear out the vertial bar, you could type everything in |cAmEl cAsE|
igemnace has joined #commonlisp
<Nilby> (๐–‹๐–”๐–—๐–’๐–†๐–™ ๐š—๐š’๐š• "Lisp can be in ~a." '๐“พ๐“ท๐“ฒ๐“ฌ๐“ธ๐“ญ๐“ฎ-๐•ฅ๐• ๐• )
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
<euouae> lol
<euouae> If I have a call such as (format t "foo") is there a way to tab it 2 spaces so that it appears as " foo"?
<euouae> Or should I prepend to (format nil ...) instead?
<beach> (format t " foo")?
<euouae> suppose it happens inside a blackbox (func)
<euouae> actually clhs says exactly which variables format is affected by. I should just read that
enzuru has quit [Quit: ZNC 1.8.2 - https://znc.in]
enzuru has joined #commonlisp
shka has joined #commonlisp
lisp123 has joined #commonlisp
azimut has quit [Ping timeout: 255 seconds]
pve has joined #commonlisp
lisp123 has quit [Quit: Leaving]
stylewarning has quit [Ping timeout: 268 seconds]
stylewarning has joined #commonlisp
ttree has quit [Ping timeout: 246 seconds]
causal has quit [Quit: WeeChat 3.7.1]
jdz has quit [Ping timeout: 240 seconds]
szkl has quit [Quit: Connection closed for inactivity]
Cymew has joined #commonlisp
jdz has joined #commonlisp
random-nick has joined #commonlisp
mfiano has quit [Quit: WeeChat 3.7.1]
mfiano has joined #commonlisp
mfiano has quit [Quit: WeeChat 3.7.1]
mfiano has joined #commonlisp
mfiano has quit [Client Quit]
mfiano has joined #commonlisp
enzuru has quit [Ping timeout: 252 seconds]
enzuru has joined #commonlisp
Dynom_ has joined #commonlisp
Dynom_ is now known as Guest8420
rendar has joined #commonlisp
euouae has quit [Remote host closed the connection]
Brucio-61 has quit [Ping timeout: 248 seconds]
scymtym has quit [Ping timeout: 248 seconds]
jmdaemon has quit [Ping timeout: 276 seconds]
pve has quit [Ping timeout: 252 seconds]
pve has joined #commonlisp
mfiano has quit [Quit: WeeChat 3.7.1]
mfiano has joined #commonlisp
mfiano has quit [Client Quit]
mfiano has joined #commonlisp
mfiano has quit [Client Quit]
mfiano has joined #commonlisp
ec has quit [Ping timeout: 255 seconds]
anticomputer has quit [Ping timeout: 255 seconds]
anticomputer has joined #commonlisp
ec has joined #commonlisp
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
scymtym has joined #commonlisp
Brucio-61 has joined #commonlisp
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
MajorBiscuit has joined #commonlisp
random-nick has quit [Ping timeout: 252 seconds]
bitmapper has joined #commonlisp
Fare has joined #commonlisp
dipper has quit [Remote host closed the connection]
dipper has joined #commonlisp
ec has quit [Ping timeout: 255 seconds]
<frodef> Does anyone know in SBCL how to get at a function's code-vector?
<hayley> I know SBCL has code objects, but not Lisp-level vectors per se.
ec has joined #commonlisp
<frodef> I really just want to heuristically detect if some function has changed.
<hayley> Would the function be not EQ to a previously stashed copy of it?
<frodef> hayley: probably not, but I'd prefer not to stash anything.
<hayley> I'm not sure what we'd compare to then. Assuming you are going to compare objects, like the code vectors.
<pjb> frodef: you can use the function object!
<frodef> I want to generate a hash value.
<frodef> pjb: it seems (sxhash #'foo) => 42 for any FOO...
<pjb> (defun foo () 1) (defparameter *fun* (fdefinition 'foo)) (defun foo () 2) (eql *fun* (fdefinition 'foo)) #| --> nil |#
<pjb> Depends on the implementation. (sxhash #'foo) #| --> 1866918272 |#
<hayley> Have a look at something like (sb-vm:hexdump (lambda () 42)); but moving GC could sporadically cause "updates" if you just look at the bytes in a function.
<pjb> If you have a bad implementation of sxhash, you could try: (sxhash (prin1-to-string (function foo))) #| --> 912173348 |#
<hayley> Oh, yes, if you have a SBCL with an immobile space, hashing the address of the function could work.
cosimone has joined #commonlisp
<scymtym> for only SBCL and only named functions: SB-INT:*SETF-FDEFINITION-HOOK* might work (with the obvious caveats): "A list of functions that (SETF FDEFINITION) invokes before storing the new value. The functions take the function name and the new value."
<frodef> scymtym: thanks, that might be a better approach. Seems SBCL machine code is divided into segments and whatnot.
Fare has quit [Ping timeout: 255 seconds]
Guest8420 has quit [Ping timeout: 252 seconds]
<frodef> scymtym: works perfectly, thanks.
Bungg has joined #commonlisp
<scymtym> frodef: sure
pillton has quit [Quit: ERC 5.4 (IRC client for GNU Emacs 28.2)]
Guest8420 has joined #commonlisp
<frodef> The point is, I'm writing dynamic web-pages, and I want the browser to reload stuff automagically when server-side things change.
<phoe> you mean that every time you redefine a function you want to do something?
<phoe> ...like, in your server framework?
seok has joined #commonlisp
<frodef> right. Well, actually I want the browser/client-side javascript do do something.
<phoe> so this sounds like, redefinition โ†’ executing some server-side code โ†’ sending a message to the browser โ†’ executing the change on the browser
<frodef> right, except of course the browser needs to poll the server.
<pjb> frodef: have a look at cells. This may help you track changes.
<phoe> frodef: or you can open a websocket and send a message from the server to the browser
<phoe> rather than poll
<frodef> phoe: right, but for now I think polling is more practical.
<phoe> yep, whatever works
<phoe> so r/executing some server-side code/adding a message to some queue to be polled by the browser/
Sauvin has joined #commonlisp
frgo_ has quit [Remote host closed the connection]
frgo has joined #commonlisp
mingus has quit [Ping timeout: 246 seconds]
<frodef> phoe: browser polls for server state (a hash-code) and does a refresh if server state changed compared to browser's previous server state.
<frodef> ...so it's all nice and stateless, mostly.
rogersm has joined #commonlisp
<phoe> I see, nice
<frodef> phoe: So each poll can fail, but display remains. Browser displays a warning if server state is stale, and removes warning when next poll succeeds.
Brucio-61 has quit [Remote host closed the connection]
tyson2 has joined #commonlisp
Brucio-61 has joined #commonlisp
Brucio-61 has quit [Read error: Connection reset by peer]
Brucio-61 has joined #commonlisp
Brucio-61 has quit [Read error: Connection reset by peer]
Brucio-61 has joined #commonlisp
nij- has joined #commonlisp
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
mingus has joined #commonlisp
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
<nij-> Ambrevar used to have a (developing?) article on lisp repl as my main shell. But now it seems to be gone. What happen?
Bungg has quit [Ping timeout: 255 seconds]
waleee has joined #commonlisp
Brucio-61 has quit [Ping timeout: 255 seconds]
scymtym has quit [Ping timeout: 255 seconds]
Bungg has joined #commonlisp
dipper has quit [Ping timeout: 252 seconds]
dipper_ has joined #commonlisp
nij- has quit [Ping timeout: 255 seconds]
nicmollel[m] is now known as nicm[m]
cosimone has quit [Remote host closed the connection]
doyougnu has joined #commonlisp
robin_ has joined #commonlisp
nij- has joined #commonlisp
<Josh_2> 0001394410
<Josh_2> got my rfid scanner :joy:
robin has quit [Remote host closed the connection]
cosimone has joined #commonlisp
Fare has joined #commonlisp
copec has quit [*.net *.split]
knusbaum has quit [*.net *.split]
anddam has quit [*.net *.split]
<Josh_2> It does act as a keyboard which is quite annoying.
doyougnu has quit [Ping timeout: 248 seconds]
<Josh_2> Am I able to isolate keyboard inputs with McCLIM?
thuna` has joined #commonlisp
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
Brucio-61 has joined #commonlisp
tyson2` has joined #commonlisp
tyson2 has quit [Ping timeout: 252 seconds]
Fare has quit [Ping timeout: 252 seconds]
cosimone has quit [Remote host closed the connection]
tyson2` has quit [Remote host closed the connection]
cage has joined #commonlisp
copec has joined #commonlisp
knusbaum has joined #commonlisp
anddam has joined #commonlisp
Brucio-61 has quit [Read error: Connection reset by peer]
Brucio-61 has joined #commonlisp
Brucio-61 has quit [Ping timeout: 255 seconds]
Brucio-61 has joined #commonlisp
Fare has joined #commonlisp
igemnace has quit [Ping timeout: 255 seconds]
<jackdaniel> Josh_2: hat do you mean by "isolate"?
Brucio-61 has quit [Read error: Connection reset by peer]
Brucio-61 has joined #commonlisp
scymtym has joined #commonlisp
eddof13 has joined #commonlisp
_cymew_ has joined #commonlisp
eddof13 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzzโ€ฆ]
ec has quit [Ping timeout: 255 seconds]
ttree has joined #commonlisp
ec has joined #commonlisp
Cymew has quit [Ping timeout: 255 seconds]
Brucio-61 has quit [Read error: Connection reset by peer]
Brucio-61 has joined #commonlisp
igemnace has joined #commonlisp
thuna` has quit [Remote host closed the connection]
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
igemnace has quit [Remote host closed the connection]
igemnace has joined #commonlisp
mingus1 has joined #commonlisp
nij- has joined #commonlisp
<nij-> Any working package to serialize hash tables to a human readable file?
Brucio-61 has quit [Remote host closed the connection]
mingus has quit [Ping timeout: 246 seconds]
mingus1 is now known as mingus
<phoe> nij-: *print-readably*, or do you need something better?
<nij-> Tried trivial-hashtable-serialize, but it gave an error https://bpa.st/GAYA
<ixelp> View paste GAYA
Brucio-61 has joined #commonlisp
<nij-> ? oh what is *print-readably*?
<phoe> nij-: might need to hit restart 0, it looks like quicklisp did not manage to download it
<phoe> clhs *print-readably*
<ixelp> CLHS: Variable *PRINT-READABLY*
<Bike> i don't think it's guaranteed that there's a representation for hash tables
<Bike> nij-: looks like your download failed. could try wiping it and trying again.
<phoe> Bike: oh, TIL - this is correct
<ixelp> phoe-toolbox/phoe-toolbox.lisp at master ยท phoe/phoe-toolbox ยท GitHub
<White_Flame> simplest would be alexandria's hash table to plist|alist, but the real problem is serializing whatever data is held in the keys/values, when it comes to EQ identity, closures, etc
<Bike> if you want to serialize closures to text you have other problems.
<nij-> woah *print-readably* is amazing. Thanks for sharing.
<nij-> By the way, there's a typo in the CLHS page
<nij-> (setf (gethash table 1) 'one) => ONE
<nij-> it should be (gethash 1 table)
<phoe> yes, there's plenty of them
<White_Flame> actually, *print-circle* would solve the EQ identity issue assuming everything is readably printable
<fitzsim> m
<phoe> White_Flame: only if you serialize all of your object graph at once every time, which is doable but kinda nasty
<beach> nij-: There is a page on Cliki for those. If this one is not already there, you may want to add it.
<White_Flame> phoe: yeah, this is assuming serializing a single hash table which is the root of all your intended data
Brucio-61 has quit [Read error: Connection reset by peer]
Brucio-61 has joined #commonlisp
phadthai has quit [Ping timeout: 240 seconds]
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
attila_lendvai has joined #commonlisp
<Josh_2> jackdaniel: well if someone is using my McCLIM app with keyboard to input a name and someone else comes along and scans their RFID chip onto the scanner, it'll input the RFID number into the name field...
<phoe> this sounds more like a problem of figuring out which device actually performed the keyboard input
<phoe> maybe you want the keyboard to act "normally" but redirect the rfid stuff to always be written to a given pane or something
<Josh_2> Yes this is what I mean
<phoe> so that's a question of whether McCLIM has support for figuring out which native device is doing keyboard input
<phoe> which sounds very platform-specific
igemnace has quit [Ping timeout: 255 seconds]
sp has quit [Quit: You have been kicked for being idle]
phadthai has joined #commonlisp
MajorBiscuit has quit [Ping timeout: 248 seconds]
<Josh_2> Yes
<Josh_2> bit of a PITA really
nij- has left #commonlisp [Using Circe, the loveliest of all IRC clients]
<jackdaniel> Josh_2: if the display server provides some info that allows to distinguish the "rffid" input from the "keyboard" input, then the backend is free to generate distinct type of an event; but you still need to recognize the difference
<jackdaniel> when rffid device is presented as a keyboard, then it is a keyboard :D
dipper_ has quit [Remote host closed the connection]
<Josh_2> Right well I can do that
<phoe> but which keyboard is it? maybe you can discriminate based on that
<phoe> if you can somehow "pin" different devices to different roles based on that
<jackdaniel> that's a bit about "allows to distinguish the ..."
<phoe> oh - yes, I re-read your comment and I see now
thuna` has joined #commonlisp
<Josh_2> Xorg allows to make that distinguish
<Josh_2> Xorg allows me to make that distinction
<beach> In English, a noun phrase is required between "allows" and "to". My French colleagues get (got?) this wrong all the time.
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
attila_lendvai has quit [Ping timeout: 246 seconds]
<aeth> it's one of those things that distinguishes between formal writing and informal writing, too
<aeth> "allows one to" (formal only); "allows you to" (probably informal)
<Josh_2> I made a mistake because I was talking to someone and typing at the same time
<Josh_2> one of those things
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
<Josh_2> I can find the keyboard in /proc/bus/input/devices but what info is required for McCLIM t make a distinction?
<phoe> Josh_2: you probably need to go all the way to the X layer, find the part that processes X events, extract device information from this and store it in the event
<phoe> and then in other parts of your code you can dispatch based on event type and/or device
Brucio-61 has quit [Read error: Connection reset by peer]
Brucio-61 has joined #commonlisp
<Josh_2> Well that is certainly possible
tyson2 has joined #commonlisp
<phoe> or maybe make a PR to McCLIM that automatically does this for all events, or only when some flag is set?... I have no idea if/how that would work
<Josh_2> I guess I will have to play with CLX
Brucio-61 has quit [Read error: Connection reset by peer]
Brucio-61 has joined #commonlisp
Brucio-61 has quit [Read error: Connection reset by peer]
Brucio-61 has joined #commonlisp
sp has joined #commonlisp
ec has quit [Ping timeout: 255 seconds]
ec has joined #commonlisp
euouae has joined #commonlisp
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
<euouae> Hello, suppose an object has multiple representations
<Colleen> euouae: drmeister said 3 hours, 4 minutes ago: It should be all of llvm - although we haven't tested other architectures, but we have removed all (I think) X86 architecture and ABI specific code. Apple Silicon M1 still has an issue that should be resolved soon.
<phoe> representations, what do you mean?
<beach> euouae: I am pretty sure the class of an object determines how it is represented.
<euouae> For example, an object (foo :value 1) has representations "FOO-1" and 1
<euouae> I don't mean that kind of representation
<phoe> OK, so you mean, there's some sort of keys that identify that object in some sort of namespace
<beach> euouae: No, that object is a list of three sub-objects with a unique representation.
<beach> Oh, sorry. That's the only meaning I know of "representation" in the context of programming language implementations.
_cymew_ has quit [Ping timeout: 272 seconds]
<phoe> so, if we had a hashtable, both (gethash 1 *namespace*) and (gethash "FOO-1" *namespace*) would get us your FOO with :VALUE 1
<phoe> am I understanding this correctly?
<euouae> No that's not what I mean either
<phoe> okay then, tell me more!
<euouae> What I mean is this, suppose I have the list (1 2 3 ...) that I wish to print either in a single line or to fit in 80 character width
<euouae> So this list has two textual "representations", either one is useful for printing it. How is this idiomatically done in lisp?
ttree_ has joined #commonlisp
Brucio-61 has quit [Read error: Connection reset by peer]
Brucio-61 has joined #commonlisp
<phoe> hmmm
<phoe> euouae: do you mean something like this?
ttree has quit [Ping timeout: 252 seconds]
<euouae> I am not looking for a format recipe though
<phoe> no, I mean, do these two Lisp forms have different "textual representations"?
<euouae> yes
<phoe> OK, so I get it now
<phoe> after evaluating these two forms, the two lists are EQUAL to one another
<phoe> so the question to ask is, "what does this form evaluate to?"
<phoe> (alexandria:iota 32 :start 1) is yet another way of getting an object that is EQUAL to these two
<euouae> I think you have not understood me
Brucio-61 has quit [Read error: Connection reset by peer]
<euouae> and I'm not sure why we're talking about reading it back
Brucio-61 has joined #commonlisp
<phoe> because I do not understand what you mean by textual representation and I completely don't get what's the relationship between FOO, 1, and "FOO-1" in that case
<beach> euouae: Are you talking about something like the pretty printer?
<euouae> I'm asking if there's a way to have the pretty printer have two formats or if there's a naming convention for functions that convert objects of a class to string representations
<euouae> for example (foo-to-html) and (foo-to-markup)?
<euouae> or is it foo->markup? I don't know
<phoe> sounds like serializers to me
<phoe> and I guess you can print objects differently e.g. depending on some value of a dynamic variable
<euouae> do dynamic variables work with concurrency?
<euouae> or do I need mutex locks?
<phoe> dynamic bindings are effectively thread-local
<phoe> whereas their global bindings are global
<euouae> okay
<euouae> and yeah serializing was the word -- I couldn't think of it
<euouae> Is there a naming convention for serializers? Or do people prefer pretty printers with dynamic variable configurations?
causal has joined #commonlisp
<phoe> I don't think there is a naming convention, can't answer about the pretty printer because this is the part of the spec that is more or less magic to me
azimut has joined #commonlisp
<euouae> To be honest I'm not talking about a serializer, I just realized
<yitzi> Are you asking about a "naming convention" because you want to write your own or are you asking about currently available pre-built serializers?
<euouae> I don't want the capability of reading it back necessarily
<euouae> yitzi: yes, write my own
Fare has quit [Ping timeout: 276 seconds]
<euouae> It's just a very specific part of code I'm fixing and the name of the function is awkward and I'm trying to understand how to make it better
<euouae> So for me the question is simple, you have a class and you have two printing functions on it, maybe HTML and MARKUP, for example, but it's not serializing as you don't de-serialize (or is it?) how would you go about it? assuming from scratch, how to name it? or use pretty printer?
causal has quit [Ping timeout: 255 seconds]
<yitzi> Then just follow the pattern of naming in the CLHS more or less and you will be fine. What you are intending on writing may have already been done. I'd look on CLiki or Quicklisp.
<euouae> what's that pattern? I'm not very familiar with the functions of CL
<euouae> I'm just getting back into it after a long time
attila_lendvai has joined #commonlisp
Brucio-61 has quit [Ping timeout: 268 seconds]
Brucio-61 has joined #commonlisp
<euouae> Like COERCE?
prokhor has joined #commonlisp
mingus has quit [Quit: mingus]
<yitzi> Well, I don't really know what you are trying do, but it sounds as if you are talking about write-html or write-markup or something.
<euouae> okay, I might keep the original name. I think write-html, if it worked like write-char, would take a stream and by default write to stdout
<euouae> whereas by default I want a string representation, so it's a bit more awkward
<phoe> yes, at which moment you could compose it with W-O-T-S and all the standard machinery
<euouae> yeah but it's just more verbose
<phoe> and you could provide something like write-html-to-string as a simple wrapper
skeemer has joined #commonlisp
<euouae> okay, thank yo
causal has joined #commonlisp
<euouae> That's what I will do
<Josh_2> Can anyone here quickload cl-libusb?
<phoe> Josh_2: fails at #include <usb.h>
<phoe> because my machine has no such header
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
<phoe> `apt install libusb-dev` or something
<Josh_2> Yes I tried that
<phoe> after installing this, I could load the system
<yitzi> Loaded fine here
<Josh_2> Hmm
<phoe> do you have a C compiler installed on your machine?
attila_lendvai has quit [Ping timeout: 272 seconds]
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
<Josh_2> Yes
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
<phoe> what is the error then?
<Josh_2> Something about grovel
<phoe> post the error and the contents of the REPL on plaster maybe
<phoe> if we are lucky, the REPL will contain the full CC invocation that you should be able to call in a unix shell to get the error message in question
<Josh_2> I found an article that explains how to read /dev/input/eventN
<Josh_2> its pretty simple
Brucio-61 has quit [Read error: Connection reset by peer]
Brucio-61 has joined #commonlisp
phadthai has quit [Ping timeout: 252 seconds]
phadthai has joined #commonlisp
Brucio-61 has quit [Remote host closed the connection]
ttree_ has quit [Quit: Leaving]
ttree has joined #commonlisp
Brucio-61 has joined #commonlisp
<Josh_2> How do I convert an array of bytes into an integer?
<Josh_2> Oh Ironclad has octet to integers
<phoe> serapeum:unoctets too
<Shinmera> nibbles, too
Brucio-61 has quit [Remote host closed the connection]
<Shinmera> nibbles is likely to be fastest, if thta maters.
Brucio-61 has joined #commonlisp
<euouae> Shinmera: hey! I'll be giving your software a try soon! deploy & staple
<Shinmera> cool
<euouae> :)
tyson2 has quit [Remote host closed the connection]
euouae has quit []
skeemer has quit [Quit: Leaving]
Bungg is now known as Bung
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
cosimone has joined #commonlisp
tane has joined #commonlisp
tane has quit [Changing host]
tane has joined #commonlisp
<Josh_2> I'll try nibbles thanks
cosimone has quit [Remote host closed the connection]
Fare has joined #commonlisp
Brucio-61 has quit [Ping timeout: 268 seconds]
Brucio-61 has joined #commonlisp
cosimone has joined #commonlisp
Brucio-61 has quit [Remote host closed the connection]
Brucio-61 has joined #commonlisp
markb1 has quit [Ping timeout: 255 seconds]
Brucio-61 has quit [Read error: Connection reset by peer]
Brucio-61 has joined #commonlisp
Brucio-61 has quit [Read error: Connection reset by peer]
Brucio-61 has joined #commonlisp
Fare has quit [Ping timeout: 272 seconds]
markb1 has joined #commonlisp
scymtym has quit [Ping timeout: 276 seconds]
Brucio-61 has quit [Ping timeout: 268 seconds]
tyson2 has joined #commonlisp
jolby has joined #commonlisp
scymtym has joined #commonlisp
Brucio-61 has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 27.1]
cosimone has quit [Remote host closed the connection]
Bung has quit [Quit: Leaving]
ttree_ has joined #commonlisp
phadthai has quit [Ping timeout: 252 seconds]
phadthai has joined #commonlisp
ttree has quit [Ping timeout: 252 seconds]
akoana has joined #commonlisp
puhi has quit [Quit: (;ยดะ”`)]
jolby has quit [Quit: Client closed]
copec has quit [Remote host closed the connection]
jolby has joined #commonlisp
tane has quit [Quit: Leaving]
<Josh_2> Well I got it to work
<Josh_2> I can read the values directly from /dev/input/eventX
<pjb> Great.
copec has joined #commonlisp
<Josh_2> But perhaps I should try and get cl-libusb to work, otherwise I have to change the perms of /dev/input/eventX :(
<Josh_2> When trying to load cl-libusb uiop/run-program errors with the code 1
prokhor has quit [Remote host closed the connection]
prokhor has joined #commonlisp
morganw has joined #commonlisp
<Josh_2> Well
<Josh_2> thats annoying
<Josh_2> I run the command manually and it says usb.h not found despite installing libusb :facepalm:
<Josh_2> yitzi: what version of libusb do you have?
pfd has joined #commonlisp
Guest8420 has quit [Quit: WeeChat 3.7.1]
ttree_ has quit [Quit: Leaving]
ttree has joined #commonlisp
<Josh_2> Well I have usb.h installed at /usr/include/libusb-1.0/libusb.h so I assume the groveller will look here?
<Josh_2> I checked and gcc looks in /usr/include for header files so I dont know why this is failing
random-nick has joined #commonlisp
<Josh_2> hnng
<Josh_2> the new version is libusb.h rather than usb.h
<Josh_2> welll idk
Brucio-61 has quit [Ping timeout: 252 seconds]
scymtym_ has joined #commonlisp
jmdaemon has joined #commonlisp
Brucio-61 has joined #commonlisp
scymtym has quit [Ping timeout: 252 seconds]
aartaka has joined #commonlisp
aartaka has quit [Ping timeout: 246 seconds]
<Josh_2> Well I give up
akonai has quit [Quit: Quit.]
tasty has quit [Read error: Connection reset by peer]
akonai has joined #commonlisp
tasty has joined #commonlisp
tasty has quit [Changing host]
tasty has joined #commonlisp
jolby has quit [Quit: Client closed]
pve has quit [Quit: leaving]
jolby has joined #commonlisp
<yitzi> Josh_2: v1.0.26
epony has quit [Remote host closed the connection]
epony has joined #commonlisp
prokhor__ has joined #commonlisp
morganw` has joined #commonlisp
morganw has quit [Ping timeout: 252 seconds]
prokhor has quit [Ping timeout: 252 seconds]
shka has quit [Ping timeout: 255 seconds]
pillton has joined #commonlisp
cosimone has joined #commonlisp
thuna` has quit [Remote host closed the connection]
morganw` has quit [Quit: ERC 5.4 (IRC client for GNU Emacs 28.2)]
hineios has joined #commonlisp
yottabyte has joined #commonlisp
random-nick has quit [Ping timeout: 248 seconds]
cosimone has quit [Remote host closed the connection]
hineios has quit [Quit: The Lounge - https://thelounge.chat]
nij- has joined #commonlisp
<nij-> Anyone uses lisp repl as your shell?
<nij-> (daily)
cosimone has joined #commonlisp
hineios has joined #commonlisp