<Guest74>
For those who use multiple desktops/workspaces any thoughts on strings vs keywords for naming them? Finally reworking my window manager.
<moon-child>
strings
<Guest74>
any particular reasons? spaces?
<moon-child>
keywords can have spaces
<Guest74>
with more keystrokes.
<dre>
ok then keywords
<Guest74>
I'm thinking mainly of my repl use. But I'm sure many others don't care about manipulating their wm from the repl.
<Guest74>
The only hesitance I have with keywords is how do I display them in gui tools. As a keyword? or as the symbol-name? keyword might look weird, a symbol-name might be misleading. Or once again i'm overthinking it.
VincentVega has joined #commonlisp
amb007 has quit [Ping timeout: 260 seconds]
dickbar__ has quit [Read error: Connection reset by peer]
pmwals09 has joined #commonlisp
dickbar__ has joined #commonlisp
scymtym_ has quit [Remote host closed the connection]
fitzsim has quit [Remote host closed the connection]
pranavats has left #commonlisp [Error from remote client]
epony has joined #commonlisp
szkl has quit [Quit: Connection closed for inactivity]
jth has quit [Ping timeout: 256 seconds]
rotateq has quit [Quit: ERC (IRC client for Emacs 27.2)]
pranavats has joined #commonlisp
parjanya has left #commonlisp [Using Circe, the loveliest of all IRC clients]
aeth has quit [Ping timeout: 256 seconds]
aeth has joined #commonlisp
Oladon has quit [Quit: Leaving.]
perrierjouet has joined #commonlisp
<sm2n>
I'm writing a (s-exp based of course) DSL, and trying to understand different approaches. One way to do it would be to just have a macro that expands out the entire thing, but another approach I was considering was to basically write a simple interpreter that has a compiler macro, which could be expanded recursively.
<sm2n>
Does anyone have any thoughts or recommendations for this?
<White_Flame>
it all depends on the complexity you want. macroexpansion is fine for literal expansion with no further analysis
<White_Flame>
but really, any analysis you perform could either be done at compile time or at evaluation time, all depends on where the function calls are made
<White_Flame>
s/compile time/macroexpansion time/
molson has joined #commonlisp
<White_Flame>
but once your macro reaches a certain size, it's certainly helpful to break out a bunch of functions to handle the various subclauses. these functions can either be called by the macroexpander, or by the expanded code, or externally if your macro just generates a datastructure
<sm2n>
So, no real point to the compiler macro approach?
<Josh_2>
if you have a macro that expands out the entire thing then it should be trivial to add a compiler macro
Josh_2 has quit [Ping timeout: 250 seconds]
fitzsim has joined #commonlisp
Brucio-78 has quit [Remote host closed the connection]
perrierjouet has quit [Quit: WeeChat 3.4]
Brucio-92 has joined #commonlisp
s-liao has joined #commonlisp
s-liao has quit [Ping timeout: 256 seconds]
s-liao has joined #commonlisp
<White_Flame>
sm2n: oh sorry, didn't read that as "compiler macro" originally. I haven't done that approach
jealousmonk has quit [Quit: ERC 5.4.1 (IRC client for GNU Emacs 27.1)]
<mfiano>
My original solution was to do it without walking twice. I'm not sure how remove-if/delete-if is usually implemented, but that is certainly more readable, if not more efficient than that one ^
<White_Flame>
if you walk once, you're going to be allocating as you go, and tail share the rest. if the element is not found, then those copies are redundant
<mfiano>
Well the above is going to fail in similar ways
<White_Flame>
(for a non-destructive version)
<White_Flame>
also, if you're removing the first element, that's a special case as it's not the CDR of anything
<White_Flame>
calling remove/delete will handle that for you
aartaka has joined #commonlisp
<mfiano>
Also that code is wrong is multiple ways
<mfiano>
needs to return list, not the result of setf. also needs to handle n=1 case
<mfiano>
err n=0
mon_aaraj has quit [Ping timeout: 268 seconds]
<White_Flame>
you can (let ((temp-list (cons nil list))) ...setf cdr stuff... (cdr temp-list)) to operate in full cdr mode without special case for removing the head
pranavats has left #commonlisp [Error from remote client]
<White_Flame>
bonus points for making the temp-list cell dynamic-extent
Bike has quit [Quit: Connection closed]
<mfiano>
Too tired to even think about n=0 edge case in Bike's latest code, without branching
s-liao has quit [Ping timeout: 256 seconds]
<White_Flame>
just add a cons cell to the head, and lop it off at the end
<White_Flame>
(which is what my temp-list is)
<White_Flame>
then the removed cell always has a prior cell to be the cdr of
notzmv has quit [Ping timeout: 268 seconds]
s-liao has joined #commonlisp
domovod has quit [Ping timeout: 256 seconds]
Oddity has quit [Ping timeout: 256 seconds]
raeda has quit [Ping timeout: 256 seconds]
raeda has joined #commonlisp
Jing has joined #commonlisp
s-liao has quit [Quit: Client closed]
Oddity has joined #commonlisp
wacki has joined #commonlisp
jemoka_ has quit [Ping timeout: 256 seconds]
silasfox has joined #commonlisp
aeth has quit [Ping timeout: 256 seconds]
aeth has joined #commonlisp
occ has quit [Ping timeout: 256 seconds]
frgo has quit [Ping timeout: 256 seconds]
Cymew has joined #commonlisp
iamFIREcracker has joined #commonlisp
amb007 has joined #commonlisp
MajorBiscuit has joined #commonlisp
occ has joined #commonlisp
notzmv has joined #commonlisp
ahc has joined #commonlisp
gaqwas has joined #commonlisp
Algernon91 has joined #commonlisp
Algernon91 has quit [Read error: Connection reset by peer]
Algernon666 has joined #commonlisp
iamFIREcracker has quit [Read error: Connection reset by peer]
lottaquestions has joined #commonlisp
silasfox has quit [Ping timeout: 240 seconds]
silasfox has joined #commonlisp
lottaquestions_ has quit [Ping timeout: 240 seconds]
iamFIREcracker has joined #commonlisp
pve has joined #commonlisp
Major_Biscuit has joined #commonlisp
shka has joined #commonlisp
MajorBiscuit has quit [Ping timeout: 268 seconds]
semz_ is now known as semz
gaqwas has quit [Ping timeout: 268 seconds]
mgl has joined #commonlisp
rotateq has joined #commonlisp
Dynom has joined #commonlisp
Nirmal has joined #commonlisp
<Nirmal>
hi
<phoe>
hey
<Nirmal>
U name
<Nirmal>
hey phoe
Nirmal has quit [Remote host closed the connection]
Major_Biscuit has quit [Quit: WeeChat 3.4]
aartaka has quit [Ping timeout: 256 seconds]
MajorBiscuit has joined #commonlisp
attila_lendvai has joined #commonlisp
_whitelogger has joined #commonlisp
Jing has joined #commonlisp
susam has joined #commonlisp
Oddity has quit [Ping timeout: 256 seconds]
wacki has quit [Ping timeout: 256 seconds]
Jing_ has quit [Ping timeout: 256 seconds]
attila_lendvai has quit [Ping timeout: 256 seconds]
iamFIREcracker has quit [Ping timeout: 256 seconds]
susam_ has quit [Ping timeout: 256 seconds]
fitzsim has quit [Ping timeout: 256 seconds]
attila_lendvai_ is now known as attila_lendvai
kevingal has quit [Ping timeout: 256 seconds]
kevingal has joined #commonlisp
wacki has joined #commonlisp
splittist_ is now known as splittist
taiju` has quit [Ping timeout: 250 seconds]
Oddity has joined #commonlisp
szos has joined #commonlisp
Jach has joined #commonlisp
cosimone has joined #commonlisp
s-liao has joined #commonlisp
Jing has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rgherdt has joined #commonlisp
antoszka has quit [Ping timeout: 250 seconds]
dbotton has quit [Ping timeout: 250 seconds]
antoszka has joined #commonlisp
jmercouris_ has joined #commonlisp
dbotton has joined #commonlisp
jmercouris has quit [Ping timeout: 250 seconds]
yitzi has quit [Ping timeout: 250 seconds]
jmercouris_ is now known as jmercouris
cosimone` has joined #commonlisp
Duuqnd has quit [Ping timeout: 250 seconds]
luis` has quit [Ping timeout: 250 seconds]
jgart has quit [Ping timeout: 250 seconds]
Spec` has joined #commonlisp
Mrtn[m] has quit [Ping timeout: 250 seconds]
CodeBitCookie[m] has quit [Ping timeout: 250 seconds]
saltrocklamp[m] has quit [Ping timeout: 250 seconds]
spec has quit [Ping timeout: 250 seconds]
mon_aaraj has joined #commonlisp
cosimone has quit [Ping timeout: 250 seconds]
wacki has quit [Ping timeout: 256 seconds]
wacki has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 256 seconds]
Lord_of_Life has joined #commonlisp
igemnace has joined #commonlisp
szos has quit [Ping timeout: 250 seconds]
szos has joined #commonlisp
yitzi has joined #commonlisp
Mrtn[m] has joined #commonlisp
luis` has joined #commonlisp
Duuqnd has joined #commonlisp
rgherdt has quit [Ping timeout: 260 seconds]
rgherdt_ has joined #commonlisp
aeth has quit [Ping timeout: 256 seconds]
aeth has joined #commonlisp
CodeBitCookie[m] has joined #commonlisp
rgherdt__ has joined #commonlisp
saltrocklamp[m] has joined #commonlisp
Jing has joined #commonlisp
rgherdt_ has quit [Ping timeout: 250 seconds]
dlowe has joined #commonlisp
dlowe has quit [Remote host closed the connection]
s-liao has quit [Ping timeout: 256 seconds]
s-liao has joined #commonlisp
dlowe has joined #commonlisp
dlowe has quit [Remote host closed the connection]
dlowe has joined #commonlisp
dlowe has quit [Remote host closed the connection]
<Guest50>
the decrypted bytes don't match the plaintext bytes
<flip214>
Guest50: my guess is that cipher is modified during encryption... you might need to copy it for decryption
<flip214>
Guest50: also, the ciphertext will be rounded up to the cipher block size, won't it? so 7 bytes ("testing") are too small?
shka has quit [Ping timeout: 268 seconds]
<Guest50>
flip214 I haven't read anything about the ciphertext rounding up, but I'll look into it. If that's the case then plaintext needs to be 16 bytes min?
<phoe>
won't it just get padded?
kakuhen has quit [Quit: Bridge terminating on SIGTERM]
EdLangley[m] has quit [Quit: Bridge terminating on SIGTERM]
seragold[m] has quit [Quit: Bridge terminating on SIGTERM]
Gnuxie has quit [Quit: Bridge terminating on SIGTERM]
edmrk[m] has quit [Quit: Bridge terminating on SIGTERM]
miique has quit [Quit: Bridge terminating on SIGTERM]
zbrown[m] has quit [Quit: Bridge terminating on SIGTERM]
sp has quit [Quit: Bridge terminating on SIGTERM]
Spawns_Carpet[m] has quit [Quit: Bridge terminating on SIGTERM]
katco has quit [Quit: Bridge terminating on SIGTERM]
char[m] has quit [Quit: Bridge terminating on SIGTERM]
akater[m] has quit [Quit: Bridge terminating on SIGTERM]
sepanko has quit [Quit: Bridge terminating on SIGTERM]
Arcsech has quit [Quit: Bridge terminating on SIGTERM]
loke[m] has quit [Quit: Bridge terminating on SIGTERM]
nworb has quit [Quit: Bridge terminating on SIGTERM]
linjian has quit [Quit: Bridge terminating on SIGTERM]
opalvaults[m] has quit [Quit: Bridge terminating on SIGTERM]
prov[m] has quit [Quit: Bridge terminating on SIGTERM]
Mrtn[m] has quit [Quit: Bridge terminating on SIGTERM]
yitzi has quit [Quit: Bridge terminating on SIGTERM]
Duuqnd has quit [Quit: Bridge terminating on SIGTERM]
dieggsy has quit [Quit: Bridge terminating on SIGTERM]
luis` has quit [Quit: Bridge terminating on SIGTERM]
<Guest50>
from my understanding (which is marginal) there would be no padding since this is an aes cipher with a ctr mode
saltrocklamp[m] has quit [Quit: Bridge terminating on SIGTERM]
CodeBitCookie[m] has quit [Quit: Bridge terminating on SIGTERM]
<phoe>
if the length of the ciphertext is not an exact multiple of the key size then there will be some padding nonetheless, AES operates on blocks of data of predefined size
<flip214>
yeah, but the counter gets incremented per cipher block and not per byte, so you'll need whole cipher blocks?
s-liao has quit [Ping timeout: 256 seconds]
<phoe>
for aes-256 you need 32 bytes of data per block, so for 7 bytes you'll likely get a plaintext that looks like #x(01 23 45 67 89 ab cd 00 00 00 00 00 00 00 00 00)
<phoe>
and that's what will be encrypted
<phoe>
and that's what you should get upon decryption
<Guest50>
phoe, how would you suggest I go about it?
katco has joined #commonlisp
Algernon666 has quit [Ping timeout: 268 seconds]
<Guest50>
would I need to check the length of the encrypted data to see if its a multiple of the key size and remove any extra bytes?
luis` has joined #commonlisp
sepanko has joined #commonlisp
edmrk[m] has joined #commonlisp
aeth has quit [Ping timeout: 240 seconds]
EdLangley[m] has joined #commonlisp
Mrtn[m] has joined #commonlisp
dieggsy has joined #commonlisp
rgherdt__ has quit [Ping timeout: 250 seconds]
akater[m] has joined #commonlisp
Gnuxie has joined #commonlisp
saltrocklamp[m] has joined #commonlisp
yitzi has joined #commonlisp
sp has joined #commonlisp
nworb has joined #commonlisp
kakuhen has joined #commonlisp
Duuqnd has joined #commonlisp
CodeBitCookie[m] has joined #commonlisp
Arcsech has joined #commonlisp
loke[m] has joined #commonlisp
char[m] has joined #commonlisp
Jach has quit [Quit: Leaving.]
<phoe>
you should either ignore the extra null bytes at the end of your message
<phoe>
or include a message length in your plaintext, and then truncate the decrypted output to size
<flip214>
Guest50: well, perhaps a higher-level library might be a good idea
seragold[m] has quit [Remote host closed the connection]
kakuhen has quit [Remote host closed the connection]
char[m] has quit [Remote host closed the connection]
EdLangley[m] has quit [Remote host closed the connection]
akater[m] has quit [Remote host closed the connection]
saltrocklamp[m] has quit [Write error: Connection reset by peer]
luis` has quit [Remote host closed the connection]
Mrtn[m] has quit [Read error: Connection reset by peer]
sp has quit [Read error: Connection reset by peer]
Arcsech has quit [Read error: Connection reset by peer]
yitzi has quit [Read error: Connection reset by peer]
sepanko has quit [Read error: Connection reset by peer]
Gnuxie has quit [Read error: Connection reset by peer]
katco has quit [Remote host closed the connection]
zbrown[m] has quit [Remote host closed the connection]
linjian has quit [Read error: Connection reset by peer]
dieggsy has quit [Read error: Connection reset by peer]
prov[m] has quit [Remote host closed the connection]
Duuqnd has quit [Remote host closed the connection]
opalvaults[m] has quit [Read error: Connection reset by peer]
nworb has quit [Read error: Connection reset by peer]
edmrk[m] has quit [Read error: Connection reset by peer]
Spawns_Carpet[m] has quit [Read error: Connection reset by peer]
CodeBitCookie[m] has quit [Remote host closed the connection]
loke[m] has quit [Read error: Connection reset by peer]
miique has quit [Read error: Connection reset by peer]
amb007 has quit [Ping timeout: 268 seconds]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
aartaka has joined #commonlisp
Jach has joined #commonlisp
mon_aaraj has quit [Ping timeout: 256 seconds]
katco has joined #commonlisp
katco has quit [Remote host closed the connection]
mon_aaraj has joined #commonlisp
mon_aaraj has quit [Ping timeout: 250 seconds]
katco has joined #commonlisp
mon_aaraj has joined #commonlisp
Rue has joined #commonlisp
tyson2 has joined #commonlisp
szos has quit [Ping timeout: 250 seconds]
mon_aaraj has quit [Ping timeout: 250 seconds]
random-nick has joined #commonlisp
mon_aaraj has joined #commonlisp
katco has quit [Quit: Client limit exceeded: 20000]
occ has quit [Ping timeout: 256 seconds]
luis` has joined #commonlisp
sepanko has joined #commonlisp
akater[m] has joined #commonlisp
dieggsy has joined #commonlisp
EdLangley[m] has joined #commonlisp
Gnuxie has joined #commonlisp
Mrtn[m] has joined #commonlisp
edmrk[m] has joined #commonlisp
sp has joined #commonlisp
kakuhen has joined #commonlisp
saltrocklamp[m] has joined #commonlisp
nworb has joined #commonlisp
yitzi has joined #commonlisp
Duuqnd has joined #commonlisp
CodeBitCookie[m] has joined #commonlisp
loke[m] has joined #commonlisp
char[m] has joined #commonlisp
miique has joined #commonlisp
Spawns_Carpet[m] has joined #commonlisp
zbrown[m] has joined #commonlisp
linjian has joined #commonlisp
opalvaults[m] has joined #commonlisp
seragold[m] has joined #commonlisp
Arcsech has joined #commonlisp
prov[m] has joined #commonlisp
osp has joined #commonlisp
EdLangley[m] has quit [Quit: Client limit exceeded: 20000]
kakuhen has quit [Quit: Client limit exceeded: 20000]
OlCe has joined #commonlisp
occ has joined #commonlisp
rgherdt has joined #commonlisp
OlCe has quit [Ping timeout: 252 seconds]
Algernon666 has joined #commonlisp
Bike has joined #commonlisp
chrnybo has joined #commonlisp
s-liao has joined #commonlisp
mon_aaraj has quit [Ping timeout: 252 seconds]
domovod has joined #commonlisp
rgherdt_ has joined #commonlisp
rgherdt__ has joined #commonlisp
rgherdt has quit [Ping timeout: 250 seconds]
<chrnybo>
My server process, written in Lispworks, holds too many file descriptors. Guess I'm sloppy when closing them. Can I map from the TID (thread id) listed by unix' lsof to something useful within the lisp to help me locate the error?
katco has joined #commonlisp
EdLangley[m] has joined #commonlisp
kakuhen has joined #commonlisp
rgherdt_ has quit [Ping timeout: 250 seconds]
rgherdt_ has joined #commonlisp
<phoe>
how do you open files? via CL:OPEN, or WITH-OPEN-FILE or something similar?
rgherdt__ has quit [Ping timeout: 250 seconds]
<chrnybo>
phoe: Not really files, it's sockets represented in Linux by file descriptors.
ahc has quit [Quit: Client closed]
<phoe>
oh, sockets - so it's a networking problem
<phoe>
the lisp-hug mailgroup might help you more if it's lispworks-specific
<chrnybo>
Feels like submitting a ticket to support while certain that the problem sits in my chair.
<phoe>
lisp-hug is a user group, not unlike #commonlisp is a user channel
<phoe>
it's just that #commonlisp tends to focus on the FOSS implementations
raeda has quit [Ping timeout: 256 seconds]
rgherdt__ has joined #commonlisp
robin__ is now known as robin
rgherdt_ has quit [Ping timeout: 250 seconds]
Devon has quit [Read error: Connection reset by peer]
Devon has joined #commonlisp
<Xach>
chrnybo: if you pay for lispworks, that's one of the things you get for it!
rgherdt has joined #commonlisp
<Xach>
chrnybo: professionals who listen to your problems sympathetically
s-liao has quit [Quit: Client closed]
<rotateq>
I wonder how many employees they have for that and maintaining everything.
mon_aaraj has joined #commonlisp
rgherdt__ has quit [Ping timeout: 245 seconds]
rgherdt_ has joined #commonlisp
<beach>
My guess is 1.
rgherdt has quit [Ping timeout: 250 seconds]
<rotateq>
beach: Even for all the incoming company support? ^^ Okay than one real advanced sorcerer employed for that may be cheaper.
<beach>
I am just guessing.
<chrnybo>
I suppose a sufficiently advanced GPT-n may well keep me entertained with adequate support replies.
rgherdt__ has joined #commonlisp
<chrnybo>
I hope both Dave Fox and Martin Simmons are full time at Lispworks.
rgherdt_ has quit [Ping timeout: 250 seconds]
tyson2 has quit [Remote host closed the connection]
Bike has quit [Quit: Connection closed]
mon_aaraj has quit [Ping timeout: 256 seconds]
cosimone` has quit [Ping timeout: 240 seconds]
mon_aaraj has joined #commonlisp
Bike has joined #commonlisp
ultera has quit [Ping timeout: 256 seconds]
<chrnybo>
Then there's Usha, who politely ensures bills are paid.
s-liao has joined #commonlisp
taiju` has joined #commonlisp
triffid has quit [Remote host closed the connection]
triffid has joined #commonlisp
treflip has joined #commonlisp
rgherdt__ has quit [Ping timeout: 245 seconds]
rgherdt has joined #commonlisp
gko` has joined #commonlisp
gko` has quit [Changing host]
mon_aaraj has quit [Ping timeout: 250 seconds]
mon_aaraj has joined #commonlisp
s-liao has quit [Ping timeout: 256 seconds]
rgherdt_ has joined #commonlisp
rgherdt__ has joined #commonlisp
frgo has joined #commonlisp
rgherdt has quit [Ping timeout: 256 seconds]
raeda has joined #commonlisp
rgherdt_ has quit [Ping timeout: 250 seconds]
cosimone has joined #commonlisp
mgl has quit [Quit: Client closed]
dickbar__ has quit []
rgherdt_ has joined #commonlisp
rgherdt__ has quit [Ping timeout: 245 seconds]
Guest50 has quit [Quit: Client closed]
mon_aaraj has quit [Ping timeout: 256 seconds]
mon_aaraj has joined #commonlisp
rgherdt__ has joined #commonlisp
Josh_2 has joined #commonlisp
<Josh_2>
Good afternoon
artchad has joined #commonlisp
rgherdt_ has quit [Ping timeout: 250 seconds]
rgherdt has joined #commonlisp
rgherdt__ has quit [Ping timeout: 252 seconds]
rgherdt_ has joined #commonlisp
rgherdt has quit [Ping timeout: 245 seconds]
s-liao has joined #commonlisp
s-liao has quit [Client Quit]
silasfox has quit [Ping timeout: 256 seconds]
attila_lendvai has quit [Ping timeout: 268 seconds]
rgherdt__ has joined #commonlisp
rgherdt_ has quit [Ping timeout: 245 seconds]
<phoe>
I have the first chapter of CLR2 ready for review
<Josh_2>
Very cool
<phoe>
who would be up for helping me with that in exchange for my eternal thanks, a mention in the book, and an ebook copy once that thing is done?
<artchad>
how could I help?
<artchad>
oh, probably reading it and telling you what's unclear?
<phoe>
yes, and what's broken, and what isn't working, and what's badly written, and what's missing
<phoe>
in other words, linguistic and technical review
<artchad>
sure, sounds fun. I have time.
<jcowan>
phoe: I'm volunteering as well
<sm2n>
I can look at it
tyson2 has joined #commonlisp
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #commonlisp
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #commonlisp
pranavats has joined #commonlisp
VincentVega has joined #commonlisp
<semz>
split-sequence declares (ftype (function (&rest t) (values list unsigned-byte)) for its functions. Now type declarations for public interfaces are tricky because in general violating them is undefined behavior, but this one is safe, isn't it? Afaict there is no way to violate it.
<semz>
Would it be good practice to do this for your libraries then?
<semz>
There's a ) missing, for shame. I need paredit for IRC.
<Bike>
the user of split-sequence couldn't violate it, sure
fitzsim has joined #commonlisp
Posterdati has quit [Ping timeout: 268 seconds]
easye has joined #commonlisp
cylb has joined #commonlisp
Posterdati has joined #commonlisp
utis has joined #commonlisp
<utis>
ahoi-hoi
<utis>
what does one do if one wants to call a macro with different arguments? it seems that (dolist (x '(foo bar)) (macro x))) doesn't work, since `x' is not evaluated.
<phoe>
sounds like bad macro design
<phoe>
or, perhaps, correct macro design that is used wrongly
<phoe>
what is the macro in question?
<Xach>
Sometimes the solution is another macro, e.g. with macrolet
<utis>
well, the macro is a macrolet macro, just to avoid repetition
<Bike>
but what does it do?
<utis>
but i suppose the macro should take a list instead of a single argument
<utis>
it defines a method
<phoe>
can you post its code? it'll be the quickest to figure it out this way
<utis>
yeah, but i think you may have given me a sufficient hint
<utis>
for which thanks
jeosol has quit [Quit: Client closed]
<_death>
I think a manual macrolet form is generally bad style.. it often just makes it more difficult to read the code
<utis>
_death: do you mean repetition is better?
<_death>
the thinking often goes "I don't want to write this again", but it should be "Will it be harder to read?"
<utis>
my thinking is more: it's annoying to have to look at repetition
jealousmonk has joined #commonlisp
<_death>
to each his own I guess.. there was a time when I wrote such forms as well
Cymew has quit [Ping timeout: 240 seconds]
<semz>
macrolet can work wonders sometimes but often an inline function does the job better in my experience
rgherdt has joined #commonlisp
<utis>
all right, my original attempt is at bpa.st/WIWA
<phoe>
oh, you want another macro that expands into a PROGN of DEFMETHODs
<phoe>
I've seen and used that idiom a few times
* phoe
brb
<phoe>
or rather, bbl - it'll be like 20 minutes
<beach>
utis: I haven't been following the discussion, but in that last link, the macro is used only once, so it doesn't seem to serve any purpose.
rgherdt has quit [Ping timeout: 252 seconds]
<utis>
beach: do you mean used twice with the same argument?
<_death>
instead of the double reverse, you can do (append propp (list char)) .. then compare this and simply having two defmethod forms.. if needed, you can define an auxiliary function to reduce
<beach>
utis: I see only one instance of (DFM NAME). Maybe I'm blind?
<phoe>
utis: try to macrostep your form to see where and how it goes wrong
<utis>
beach: oh, i thought you meant evaluated once
<beach>
utis: No, one occurrence.
<phoe>
it isn't (dolist (x '(foo bar)) (eval `(dfm ,x)))
clos-encounters has quit [Ping timeout: 245 seconds]
masinter has joined #commonlisp
<utis>
thanks, phoe!
<Guest74>
beach: I think you're the only person I've seen talking about a cl desktop environment. do you have your thoughts written down anywhere?
<Guest74>
or more specifically anything about multiple desktops/workspaces which is what I'm working on now.
Oladon has joined #commonlisp
jeosol has joined #commonlisp
<Guest74>
...probably too late. Oh well.
wyrd has quit [Ping timeout: 276 seconds]
<rotateq>
Do you maybe mean the paper on CLOSOS or similar?
<Guest74>
Well, I'm only working on a desktop environment, so just desktop stuff. That ones pretty much OS stuff.
attila_lendvai has joined #commonlisp
<rotateq>
But it will also be with CLIM for the desktop parts.
<rotateq>
(as far as i understood it)
<Guest74>
I don't see how considering CLIM isn't a wm let alone a desktop.
Algernon666 has quit [Read error: Connection reset by peer]
igemnace has quit [Ping timeout: 240 seconds]
wyrd has joined #commonlisp
<rotateq>
I see.
lisp123 has quit [Remote host closed the connection]
dlowe has joined #commonlisp
igemnace has joined #commonlisp
<jackdaniel>
technically speaking clim specification includes abstractions from genera called "silica", that is a windowing substrate. that includes a frame manager that may be used as a wm
<jackdaniel>
as of desktop thing, as I understand it, it is a universe of interconnected applications and utilities that share data and semantics - I gather that frames and presentations could be arranged to constitue such universe
Rue has quit [Quit: WeeChat 3.4]
Rue has joined #commonlisp
<jackdaniel>
I'm not saying that you should jump at that and write clim-desktop if you don't want to, just pointing out that the assertion was incorrect
<etimmons>
jackdaniel: I got really confused for a moment. I recently learned of another system called doors: https://github.com/Lovesan/doors
silasfox has joined #commonlisp
<phoe>
as if the only openings from a building were doors and windows; where's (ql:quickload :chimneys)!?
<masinter>
There's Rooms for Interlisp -- shouldn't be too hard to port
<etimmons>
chimneys are reserved for advent of code usage
<phoe>
oh, right; pardon
lisp123 has joined #commonlisp
kevingal has quit [Remote host closed the connection]
<Guest74>
jd: I'll leave that to the clim people. I just said 'i dont see how' wasn't asserting anything.
<jackdaniel>
"considering CLIM isn't a wm let alone a desktop" looks like an assertion to me
<jackdaniel>
but whatever
<Guest74>
I would prefer a protocol that is agnostic about the things it deals with. So people could include stuff written in other languages.
<Guest74>
you would think stating how I see things would be my opinion of what I know, not an assertion about the reality of things.
<jackdaniel>
I would think that if you state opinion you at least believe that it is true. stop playing word games
<jackdaniel>
when someone asserts something they don't present absolute truth
<Guest74>
it is HOW I SEE THINGS. which is obviously contingent on what I know, not on my opinion. But this has absolutely nothing to do with a desktop environment.
<jackdaniel>
simple "ack, I was wrong" would suffice - one you state opinion and someone shows that it is incorrect that is the most honest thing to do
<jackdaniel>
s/one you/when you/
<Guest74>
yes please do so.
lisp123 has quit [Ping timeout: 256 seconds]
* Shinmera
rolls eyes
morganw has joined #commonlisp
karlosz has joined #commonlisp
Algernon666 has joined #commonlisp
karlosz has quit [Client Quit]
karlosz has joined #commonlisp
rgherdt has joined #commonlisp
cage has joined #commonlisp
Rue has quit [Quit: WeeChat 3.4]
<Josh_2>
Does anyone have an example of using uiop:with-temporary-file ?
MajorBiscuit has quit [Ping timeout: 250 seconds]
karlosz has quit [Quit: karlosz]
pillton has quit [Ping timeout: 250 seconds]
Algernon666 has quit [Ping timeout: 250 seconds]
<Josh_2>
I can use call-with-temporary-file, that seems to work
MajorBiscuit has joined #commonlisp
silasfox has quit [Ping timeout: 260 seconds]
dlowe has quit [Ping timeout: 256 seconds]
MajorBiscuit has quit [Ping timeout: 252 seconds]
clos-encounters has joined #commonlisp
Algernon666 has joined #commonlisp
ldb has joined #commonlisp
<etimmons>
Josh_2: what are you trying to do? There's a lot of options to with-temporary-file, so it's not clear an example would be super useful
<Josh_2>
Chirp seems to only accept a file as an input for uploading to Twitter, I have the binary data itself
<Josh_2>
so I just want a quick and easy way of creating and deleting a temporary file for use by Chirp
<Shinmera>
iirc that limitation is because of drakma.
Algernon666 has quit [Ping timeout: 260 seconds]
rgherdt has quit [Remote host closed the connection]
<etimmons>
with-temporary-file creates the file for you and gives you both the stream and pathname to it (if you ask for them)
rgherdt has quit [Ping timeout: 260 seconds]
<Josh_2>
Alright cool thanks :)
treflip has quit [Quit: good night!]
lisp123 has joined #commonlisp
chrnybo has quit [Ping timeout: 250 seconds]
triffid has quit [Remote host closed the connection]
triffid has joined #commonlisp
clos-encounters has quit [Quit: ERC (IRC client for Emacs 27.1)]
lisp123 has quit [Ping timeout: 256 seconds]
pjb has quit [Ping timeout: 250 seconds]
pjb has joined #commonlisp
chrnybo has joined #commonlisp
waleee has joined #commonlisp
kpoeck has joined #commonlisp
karlosz has joined #commonlisp
karlosz has quit [Client Quit]
<Xach>
I used the :continuation option to upload stuff from memory with drakma
Oladon has quit [Quit: Leaving.]
greaser|q has joined #commonlisp
greaser|q has quit [Changing host]
greaser|q is now known as GreaseMonkey
ldb has quit [Quit: ERC (IRC client for Emacs 27.2)]
karlosz has joined #commonlisp
karlosz has quit [Ping timeout: 256 seconds]
aartaka has quit [Read error: Connection reset by peer]
amb007 has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
simendsjo has joined #commonlisp
simendsjo has quit [Remote host closed the connection]
simendsjo has joined #commonlisp
<masinter>
XCL used an in-memory file system for things like that
<masinter>
Instead of {DSK} it was called {CORE}
orestarod has joined #commonlisp
<_death>
nowadays /tmp is usually a tmpfs (backed by RAM)
rogersm has quit [Quit: Leaving...]
<masinter>
I think at the time it was novel, and tied to the residential environment
<masinter>
inspired by Multics
aeth has quit [Ping timeout: 256 seconds]
<_death>
nice
Guest74 has quit [Quit: Connection closed]
<masinter>
We've been using it ({CORE}) more lately, for the git integration
aeth has joined #commonlisp
mon_aaraj has quit [Ping timeout: 256 seconds]
<_death>
what does git integration mean? also, if I have a medley image and I want to update, what should be done? (hopefully there's a document explaining it, since I'm not sure it's on topic)
mon_aaraj has joined #commonlisp
gaqwas has joined #commonlisp
gaqwas has quit [Remote host closed the connection]
<masinter>
I think that depends on whether CLtL 1 is on topic
<_death>
right, medley does contain a CL mode, that's why I wasn't sure ;)
<masinter>
Ron's been working on a new Github interface
<dbotton>
How do I find what directories will be searched for projects by users when I do (ql:quickload :my-proj)?
<dbotton>
Currently I just people all my projects in ~/common-lisp
<dbotton>
As I plan on generating projects I'd like to see if some way to see what is available dynamically
<_death>
quicklisp at least has ql:*local-project-directories*
<White_Flame>
there's (ql:list-local-projects) for the paths, and (ql:list-local-systems) for just the names
<White_Flame>
but those obv don't include the ones in the dist, which since they automatically download, doesn't make a distinction for what's cached
<etimmons>
It's complicated. In addition to ql:_local-project-directories_, ASDF has asdf:_central-registry_ and the source registry
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
<etimmons>
The source registry is not particularly introspectable
<dbotton>
and it seems ~/common-lisp hard coded
<etimmons>
~/common-lisp is part of the source registry
<etimmons>
And can be ignored
<etimmons>
but most frequently isn't
<White_Flame>
the intended use with QL is ~/quicklisp/local-projects/
<dbotton>
where is the source registry?
<etimmons>
I'd suggest defaulting to something like ~/common-lisp or ~/quicklisp/local-projects and letting the user override it if they have a different setup
<etimmons>
It's built up from a lot of different files and an environment variable
<Xach>
You can also add to asdf:*system-definition-search-functions*!
<etimmons>
Oh yeah, forgot about that one!
<Xach>
That can get a little obscure
<White_Flame>
~/common-lisp/ is searched via ASDF, not directly by QL. QL obviously defers to ASDF if it's not under the QL paths
<Xach>
the local-projects system uses asdf:*system-definition-search-functions*
<Xach>
and dist search too
<etimmons>
I'm working on making ASDF give a justification of why it included a certain .asd file in the source registry (e.g., which config file ended up configuring ASDF to find it).
<White_Flame>
dbotton: are you trying to solve a specific problem, or just curious as to how things work?
<etimmons>
Hopefully that'll also be a springboard for just having the source registry be amenable to introspection in general
<White_Flame>
etimmons: yeah, and then QL has its own override chain of local-projects -> dist -> asdf
<dbotton>
White-Flame the clog builder generates currently just panels, it will generate whole projects soon
<White_Flame>
ok
<White_Flame>
I think the big issue around this is having your own modified versions of libraries that still have the same name, which are loaded in different images
<dbotton>
there really needs to be a simple way for a newbie to know where to put his code.
<White_Flame>
and then what of those modified libraries are visible by default, vs how to include them conditionally
<etimmons>
White_Flame: Well, QL operates outside the source registry. But that does point to an obvious next step: record for each system which particular system definition search function provided it
<etimmons>
dbotton: ~/common-lisp
<etimmons>
The only way that's not included by ASDF is if you do things a newbie is unlikely to do
<dbotton>
yes that is what I (when I started) eventually found out
<dbotton>
but confusing for a newbie who is used to choosing his own directories etc
<White_Flame>
dbotton: it's all about load priority. If you put it in ~/common-lisp, anything from QL will override it. If you put it in ~/quicklisp/local-projects/, then it'll override, but if people don't have QL they won't find it
<White_Flame>
Xach: oh, really?
<Xach>
White_Flame: always.
<White_Flame>
huh, I guess my use cases hasn't hit that conflict then
<White_Flame>
ASDF will also then override local-projects?
<EdLangley[m]>
I’ve never been able to override QL systems with ASDF:LOAD-ASD
<Xach>
White_Flame: yes. see asdf:*system-definition-search-functions*. local-projects and dist search are last.
<dbotton>
Xach when is the next update to quicklisp projects? (trying to time my 1.0 for builder)
<etimmons>
dbotton: Yeah, I think something that's missing is an "ASDF Recipes" sort of thing. where common questions like that are answered
<Xach>
dbotton: probably this week, within a few days.
<White_Flame>
so what is the expected procedure for grabbing a library, then having a copy that you're editing, without loading the asdf/ql-pathed one?
<dbotton>
awesome
silasfox has joined #commonlisp
orestarod has quit [Quit: Leaving]
orestarod has joined #commonlisp
<Xach>
White_Flame: i usually use local-projects because i understand how it works. i don't understand how the source registry configuration works.
<dbotton>
etimmons I think is critical and now a year in to using CL I still which I had a simple way to add random directories where my projects are found
<White_Flame>
but if .rc file ASDF setup overrides that, then it wouldn't see the local-projects one?
<dbotton>
wish not which
<White_Flame>
dbotton: I've been using ASDF/QL for years and apparently still don't understand it :-P
<White_Flame>
(though I haven't had load order problems per se, doing the things that I did)
<Xach>
White_Flame: i don't really understand what you mean, sorry. i would put it somewhere asdf knows about, because that would override the dist-provided one. local-projects is an augmentation of asdf's search, not something super-tied to quicklisp.
<Xach>
if there was a "conflicting" copy in asdf's search path, maybe i'd use that as my hackable version
<Xach>
or maybe i'd remove it
<etimmons>
dbotton: Some people find asdf:_central-registry_ easiest. Just push a directory into that variable and it will be searched. But that requires config to happen within CL, so if you hop back and forth between implementations it can be annoying to get it synced up and you're typically out of luck if you start an implementation without running its init file
<etimmons>
dbotton: I prefer the source registry. So make a directory ~/.config/common-lisp/source-registry.conf.d/ and add files to it
<White_Flame>
.sbclrc sets up ASDF libs that has lib FOO. I want to edit FOO's source code, without breaking other image startups that still use FOO. My edited system is still called FOO for now
<dbotton>
etimmons what would I put in that directory?
<etimmons>
dbotton: like adding the file 20-clog.conf with the contents (:tree "/path/to/clog") will let ASDF find any system belowe /path/to/clog
<etimmons>
* below
pjb has quit [Remote host closed the connection]
<White_Flame>
(however, my scenario is kinda constructed, as I rarely use ASDF raw anymore. It's all QL so I haven't had the problems. But some of our systems require repeatable build, and have their own local lib directory that we add onto the asdf path)
amb007 has quit [Read error: Connection reset by peer]
cage has quit [Quit: rcirc on GNU Emacs 27.1]
cosimone has quit [Remote host closed the connection]
cosimone has joined #commonlisp
Catie has joined #commonlisp
<Xach>
White_Flame: yeah, i guess if you want max control, different startup/config files seems plausible
aartaka has joined #commonlisp
artchad has quit [Read error: Connection reset by peer]
kathe has joined #commonlisp
<kathe>
good morning everyone. :)
<rotateq>
Good morning kathe :) Have some parentheses for breakfast.
<kathe>
:D
<Josh_2>
Hi
<kathe>
it's like 0230 out here. i just woke-up too early. :)
jess has joined #commonlisp
Brucio-92 has quit [Ping timeout: 256 seconds]
Colleen has quit [Quit: Colleen]
Colleen has joined #commonlisp
mon_aaraj has quit [Ping timeout: 250 seconds]
silasfox has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
mon_aaraj has joined #commonlisp
<kathe>
is masinter still around?
<kathe>
masinter: are you parent's friend?
simendsjo has quit [Ping timeout: 256 seconds]
Brucio-92 has joined #commonlisp
<kathe>
would the channel log maintainers provide some provision to show signoff?
Dynom has quit [Quit: WeeChat 3.4]
Algernon69 has joined #commonlisp
Algernon91 has joined #commonlisp
chrnybo has quit [Ping timeout: 256 seconds]
Algernon69 has quit [Ping timeout: 260 seconds]
<White_Flame>
Xach: I actually have a number of setup/loader functions in my .sbclrc, that I call at the repl at the beginning of an image, depending on what I'm doing
silasfox has joined #commonlisp
aartaka has quit [Ping timeout: 256 seconds]
<White_Flame>
I guess because of the global nature of the load path setup, especially if it's symlink or directory location based
<White_Flame>
however, I guess the *whatever-registry* variables could be bound just for load time, but since some dependencies might auto-load components at runtime, I don't trust that
<kathe>
masinter: are you larry?
kpoeck has quit [Quit: Client closed]
<masinter>
yes, that''s me kathe
<kathe>
masinter: parent and me were talking about you just 3 days back. :)
<masinter>
parent?
<kathe>
sean parent. adobe. c++.
<masinter>
ah ok say hi
<kathe>
definitely. :)
<kathe>
masinter: glad that you too are here. hope to learn from you. :)
attila_lendvai has quit [Ping timeout: 250 seconds]
<masinter>
i'd like to get the common lisp to be good enough to use
gaqwas has joined #commonlisp
<Bike>
what are you doing for the compiler?
<masinter>
there's a virtual machine
<kathe>
medley interlisp seems interesting.
<masinter>
it's writtein in C
<masinter>
the C has been updated to be modern C on modern OS
<Bike>
oh, i see. i was asking because the project i work on is a lisp compiler framework that i thought maybe you could use. but if the code is all in C that won't really work
<masinter>
the VM is in C
Algernon91 has quit [Read error: Network is unreachable]
mister_m has quit [Remote host closed the connection]
Posterdati has quit [Ping timeout: 256 seconds]
pillton has joined #commonlisp
kathe has quit [Quit: Leaving]
chrnybo has joined #commonlisp
mayureshkathe has joined #commonlisp
molson has quit [Ping timeout: 250 seconds]
Posterdati has joined #commonlisp
MajorBiscuit has joined #commonlisp
<mayureshkathe>
okay, i finally settled down on a code editor; it's vim.
chrnybo has quit [Ping timeout: 256 seconds]
<mayureshkathe>
i tried really hard to work with emacs, but meta (alt) is painful to reach.
akoana has joined #commonlisp
<rotateq>
you could also try spacemacs if you're more used to vim for the editing part like me
<phoe>
^
<phoe>
spacemacs is love
<rotateq>
phoe: heh I know you use it too :)
tyson2 has quit [Remote host closed the connection]
MajorBiscuit has quit [Ping timeout: 260 seconds]
<rotateq>
but on the working computer (on which I don't have root) i can deploy portacle what is also nice to have ^^
gaqwas has quit [Ping timeout: 250 seconds]
<mayureshkathe>
rotateq: i'm impressed with what "vlime" has achieved even in it's nacent state.
<mayureshkathe>
vlime just needs more love. a lot more. :)
<rotateq>
oh cool, but I haven't tried that
<rotateq>
okay to be honest, I find vim script not weirder than elisp :)
<rotateq>
mayureshkathe: do you know about the climacs project?
chrnybo has joined #commonlisp
<mayureshkathe>
rotateq: yes, i think it's interesting, but so is hemlock.
<rotateq>
or sry, not "weird" but "more different in terms of usability"
<rotateq>
ah right hemlock, or lem
<mayureshkathe>
rotateq: the real problem with me is that i've been using vi since 1997.
<rotateq>
but as I understood climacs has some additional goals
<rotateq>
mayureshkathe: Then over 20 years longer than me :D
mister_m has joined #commonlisp
<mayureshkathe>
rotateq: :)
<rotateq>
but i was already born in 1997 ^^
<mayureshkathe>
it all started under 'sco' openserver with c++ (pre 1995 enhancements).
<rotateq>
phew c++ *hiding* :)
<mayureshkathe>
rotateq: that part was pretty evident.
<mayureshkathe>
rotateq: i meant the birth year part. :)
<rotateq>
oh really? hm, I could also have been born after 1997
<rotateq>
but no, I can remember it now quite well, the same year when the ANSI CL standard was finalized
<mayureshkathe>
rotateq: then i wouldn't have been using vi 20 years more than you.
<rotateq>
yes right
<mayureshkathe>
i got exposed to emacs only in 1999, but by then, vi was firmly entrenched.
<mayureshkathe>
in my psyche, that is. :)
<rotateq>
but it was also good to have practical exercising with different types of regexes. reminds me i must go on really being able to use cl-ppcre
<rotateq>
vi is everywhere :)
<mayureshkathe>
actually, vi isn't there were 'ed' is. ;)
<mayureshkathe>
were == where
<rotateq>
ah okay, too hard for me as most things
<mayureshkathe>
'ed' -> 'ex' -> vi -> vim.
MajorBiscuit has joined #commonlisp
<rotateq>
but I got to figuring out today some more things with metaobjects
<rotateq>
mayureshkathe: and all "modern" IDEs converge to the idea of emacs (not a certain implementation)
<mayureshkathe>
phoe is considering writing a book on 'mop' and 'clos'. that's like "yay". :)
<phoe>
hey come on it's only plans and it'll only happen in like 2024 earliest gimme a break yo
<rotateq>
ohh, that would be good
<mayureshkathe>
phoe: plans are good. "yay" nevertheless. :)
<rotateq>
phoe: "I love it when a plan works."
<mayureshkathe>
phoe: if not 2024 then maybe by 2026! :)
chrnybo has quit [Ping timeout: 250 seconds]
<rotateq>
phoe: take all time you need
<mayureshkathe>
phoe: i tried to DM you on twitter, it's not allowing me.
<mayureshkathe>
phoe: i would like to be a beta tester for your upcoming book.
<phoe>
mayureshkathe: hmm
<phoe>
let me check the twitter thing
<rotateq>
in Germany "DM" stands still for "Deutsche Mark", our currency before euro
<mayureshkathe>
okay.
mayureshkathe has left #commonlisp [#commonlisp]
<phoe>
;; in D&D also stands for Dungeon Master, but that's #lispcafe material
silasfox has quit [Quit: WeeChat 3.4]
<rotateq>
mayureshkathe: ah yes as I asked heisig to read parts of his new PhD thesis and plz don't get me wrong, not for any technical things, but to look if someone on some steps lower can get the central ideas
<rotateq>
nooo :D
<rotateq>
yes phoe
<edgar-rft>
everybody in germany knows that DM is a drugstore -> https://www.dm.de
<rotateq>
haha edgar-rft, good last point for that :)
<edgar-rft>
probably nobody in germany thinks of DM as Deutsche Mark anymore
<rotateq>
and as I'm a nobody :)
<edgar-rft>
you an me are the nobodiest of all
<rotateq>
phoe: with the Common Lisp Recipes 2 book you told me about what is now laid on ice, was there a first concept what to add or change?