Bourne has quit [Read error: Connection reset by peer]
karen-chan has joined #lisp
karen-chan has left #lisp [#lisp]
devrtz has joined #lisp
rpg has joined #lisp
akoana has joined #lisp
voidlily has quit [Ping timeout: 252 seconds]
iAmDecim has quit [Ping timeout: 250 seconds]
SGASAU has quit [Remote host closed the connection]
Oladon has quit [Quit: Leaving.]
Oladon has joined #lisp
SGASAU has joined #lisp
zaquest has quit [Quit: Leaving]
ayuce has quit [Remote host closed the connection]
ayuce has joined #lisp
zaquest has joined #lisp
voidlily has joined #lisp
Kundry_Wag has joined #lisp
shukryzablah has joined #lisp
<shukryzablah>
Is there another way to see quicklisp download stats other than the sporadic posts in blog.quicklisp.org?
ayuce has quit [Remote host closed the connection]
ayuce has joined #lisp
<Xach>
shukryzablah: no
<Xach>
shukryzablah: what stats info interests you?
akoana has quit [Ping timeout: 256 seconds]
<shukryzablah>
i wanted to make a quick plot of daily downloads or monthly downloads, for specific packages, through time
X-Scale has quit [Ping timeout: 256 seconds]
iAmDecim has joined #lisp
akoana has joined #lisp
[X-Scale] has joined #lisp
[X-Scale] is now known as X-Scale
Kundry_Wag has quit [Read error: Connection reset by peer]
iAmDecim has quit [Ping timeout: 240 seconds]
<shukryzablah>
Xach: just wanted to check if there was an easier way to get them
bitmapper has quit [Ping timeout: 250 seconds]
ntqz has quit [Remote host closed the connection]
ahungry has joined #lisp
madage has quit [Ping timeout: 240 seconds]
madage has joined #lisp
Jeanne-Kamikaze has joined #lisp
MightyJoe has joined #lisp
cyraxjoe has quit [Ping timeout: 260 seconds]
renzhi has joined #lisp
cyraxjoe has joined #lisp
Inline has quit [Ping timeout: 272 seconds]
MightyJoe has quit [Ping timeout: 240 seconds]
MightyJoe has joined #lisp
cyraxjoe has quit [Ping timeout: 265 seconds]
efm has joined #lisp
iAmDecim has joined #lisp
iAmDecim has quit [Ping timeout: 256 seconds]
slyrus_ has joined #lisp
slyrus has quit [Ping timeout: 256 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mangul has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
gko has joined #lisp
<alandipert>
are there alternatives to asdf?
[rg] has joined #lisp
<[rg]>
are you guys familiar with car and cdr origins?
<Bike>
nothing from this millenium, i think... maybe allegro or whoever has something?
<Bike>
[rg]: the names? sure
<[rg]>
what about the assembly code behind it
<Bike>
you mean on a PDP or on a modern machine?
<[rg]>
I'm reading ken thompsons regular expression paper and it's been hard to parse, folks in #asm have been kind enough though
<[rg]>
it was on an ibm acutally
<no-defun-allowed>
CAR and CDR refer to "contents of the address part of register" and "contents of the decrement part of register", which are names that refer to parts of a word on the IBM 704.
<Bike>
oh, my mmistake
<Bike>
ancient machines from before the beginning of time, as far as i'm concerned
<[rg]>
lol yeah :P
<no-defun-allowed>
"Type A instructions have, in sequence, a 3-bit prefix (instruction code), a 15-bit decrement field, a 3-bit tag field, and a 15-bit address field." I would presume those names refer to those two fields.
<[rg]>
hm, I assumed this channel would be full of compiler enthusiasts, is that true?
<no-defun-allowed>
There are a few, yes.
<[rg]>
no-defun-allowed yes I'm reading that now as well
<[rg]>
have you seen this technique implemented on x86?
<[rg]>
I also don't get the index by decrement
<no-defun-allowed>
On older machines, a word could fit two pointers, whereas now we usually have one pointer per word, so the representation is a bit different.
<Bike>
by "this technique" what do you mean? CAR? This paper about regular expressions? I'm sorry, it's hard to follow your point.
<[rg]>
car and cdr
<Bike>
usually they're just regular memory loads.
<Bike>
a cons consists of two words, both tagged pointers.
<no-defun-allowed>
A CONS is usually represented as a pointer (with the low bits set to something that tells us we have a CONS) to two words in memory next to each other.
<Bike>
x86 doesn't have dedicated tag bits or anything, but you can just use regular bit instructions to get the same effects
<[rg]>
so it's not a real pointer?
<no-defun-allowed>
To take the CAR or CDR of this CONS, you would want to take off the bits, and load the value at the pointer plus the offset from that value to the field you want.
<[rg]>
"low bits tells us its CONS"
<Bike>
Yeah, it'll be a pointer + 1, or something.
<Bike>
since pointers are generally word aligned anyway, the low bits would be all zeroes normally
<no-defun-allowed>
It's not usable directly, no. But after some simple bit manipulation, you can get a "real" pointer.
<[rg]>
interesting
<no-defun-allowed>
On a x86 machine, you can perform that manipulation in the load, eg MOV RAX, [RBX - 1] for a CAR or MOV RAX, [RBX + 7] for a CDR
<[rg]>
ok ok
<[rg]>
so it's just that this architecture was perfect for cons car and cdr
<alandipert>
also it doesn't have to be a pointer, it can be an integer for example, with the appropriate tag
ahungry has quit [Remote host closed the connection]
<[rg]>
that makes more sense
<Bike>
x86 is an adequate lisp machine, as they say
Oladon has quit [Quit: Leaving.]
<[rg]>
damn holding two address in one register move though
<[rg]>
when people do lisp in fpga are they aware of this?
<no-defun-allowed>
"Do you intend to hire your own engineers and buy your own machines to make a 7nm lispm", as they probably don't say.
Oladon has joined #lisp
<[rg]>
also another unrelated question, how do you handle the cache in lisp when you use linked lists?
<no-defun-allowed>
I think Lisp machines had CONS representations in two words. One needs to be a pointer away to the values of a CONS to allow for mutation, anyway.
<Bike>
switch to vectors
<LdBeth>
CDR coding
<no-defun-allowed>
If you're lucky, you have a good garbage collector that allocates CONSes next to each other.
<pjb>
alandipert: yes, there is poiu; it's even better than asdf, since it can compile in parallel!
<Bike>
CDR coding is "switch to vectors" with extra steps
<no-defun-allowed>
s/a good garbage collector/a good memory system/
<pjb>
alandipert: but it's not maintained anymore. no battery included. And quicklisp doesn't use it.
<[rg]>
interesting
<[rg]>
cool
<alandipert>
pjb thanks, i'll check it out. i'm interested in other paradigms too, whether contemporary or historical, abandoned or in use
<pjb>
alandipert: the precursor was the defsystem macro. There was several versions. They can be found in archives.
<LdBeth>
Sure, but they made Tetris by first construct a programmable computer and use DMA so there’s no actual display
<aeth>
life is also turing complete
<LdBeth>
Thus not very elegant.
<aeth>
has anyone implemented Life in life?
<beach>
aeth: pjb just showed you that.
<beach>
aeth: And also said that it is Turing complete.
<aeth>
beach: It was a joke. pjb posted "Life in Life" as in "The Game of Life in the Game of Life"
<aeth>
So I said "Life in life" as in, "The Game of Life in biological life"
<beach>
Ah.
<beach>
Sorry.
<White_Flame>
you could implement it on xkcd's field of stones
<pjb>
We'd have to implement microbiology in microbiology. This could be interesting, to probe molecules (and viruses) before they can infect the "real" life.
<Bike>
i can't think of any reason warn is stricter.
<aeth>
e.g. if I have a macro language and it removes duplicates as part of its processing, then I'll put that as a WARN since the second, duplicate one won't ever result in executable code... an error would be overkill there since it still works. Sort of like the "deleting unreachable code" note or style-warning or whatever it is (might vary based on implementations, anyway)
<Bike>
it would be nice to know that a muffle-warning restart has been established if you handle a warning, but i guess that's not even true since error can signal a warning and not establish the restart.
<Bike>
a warning is probably a bit strong for unreachable code.
<Bike>
since, again, compile-file signaling (or returning in the extra values) a warning means it failed, and the runtime behavior will have undefined consequences or fail
Bike has quit [Quit: Lost terminal]
Kundry_Wag has quit [Ping timeout: 240 seconds]
<no-defun-allowed>
drmeister: but why?
<drmeister>
So other people can work with it.
<drmeister>
I'm implementing it in Common Lisp.
libertyprime has joined #lisp
vlatkoB has joined #lisp
_whitelogger has joined #lisp
rpg has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
libertyprime has quit [Read error: Connection reset by peer]
Kundry_Wag has joined #lisp
<no-defun-allowed>
So the spreadsheet is some kind of template?
libertyprime has joined #lisp
<drmeister>
Yeah - it's describing the chemistry that my company will be doing.
Intensity has joined #lisp
<no-defun-allowed>
I see. Good luck with that.
iAmDecim has joined #lisp
Kundry_Wag has quit [Ping timeout: 256 seconds]
Bourne has quit [Read error: Connection reset by peer]
ayuce has quit [Remote host closed the connection]
iAmDecim has quit [Ping timeout: 265 seconds]
phlim has joined #lisp
phlim has quit [Remote host closed the connection]
<beach>
I see. Well, I don't think I will invest in learning R or Python in order to answer the question.
<shukryzablah>
it's a concept in julia, python, and R from what I know.
<beach>
Nor Julia.
<no-defun-allowed>
Is it a 2d array where both "indices" are strings or some other value?
<alandipert>
yeah, numpy and pandas incorporate various R ideas. the closest thing in CL i believe is a list of arrays but you'd have to look to some (library i'm unaware of) for the relational operators you probably want
Jeanne-Kamikaze has quit [Remote host closed the connection]
<aeth>
it probably exists because everything probably exists
<aeth>
but it also sounds like a lot of work to implement, from what I've encountered in Python
efm has joined #lisp
Oladon has joined #lisp
<drmeister>
Is all of this necessary in a PRINT-OBJECT method?
<drmeister>
The (print-unreadable-object ...). The (class-name (class-of obj))
<no-defun-allowed>
I think you can give PRINT-UNREADABLE-OBJECT :TYPE T to print the class name for you.
<drmeister>
I pasted a typo
<pjb>
drmeister: print-unreadable-object returns nil, but print-object must return the object.
Necktwi has quit [Ping timeout: 265 seconds]
<pjb>
drmeister: you can also have a printable readably form of your object (for example, using #. or some custom reader macro), so you may have a if *print-readably* an use print-unreadable-object only in the else branch.
<pjb>
You can use: (print-unreadable-object (obj stream :identity t :type t) …) so you don't have to print the class-of yourself.
phlim has quit [Remote host closed the connection]
Bourne has joined #lisp
<shukryzablah>
tbh i would like to create the equivalent of R's dplyr, the core is a well thought out data manipulation interface that under the hood could be acting on a database, a spark dataframe, or other sources of data. but in all of this it seems i need to at least be able to start within a data structure in lisp itself, which is why i wanted a data frame
<no-defun-allowed>
"print-unreadable-object (object stream &key type identity) form* => nil"
<drmeister>
Argh - ok. Sorry. I've been coding for several days for many hours each day. I'm getting bleary eyed.
narimiran_ has joined #lisp
<alandipert>
shukryzablah i think that effort is equivalent to writing an in-memory database, so you may consider finding one and extending and/or using it. starting with a Lisp dataframe and implementing your own language/query engine atop it is another way. are you familiar with apache arrow btw?
Oladon has quit [Quit: Leaving.]
Oladon has joined #lisp
gravicappa has joined #lisp
JohnMS_WORK has joined #lisp
gko has quit [Ping timeout: 260 seconds]
<shukryzablah>
i've only read about it. i felt it would be easier to first work with a lisp data frame instead of some other tool (like arrow) underneath. i'll look into it more
ober has joined #lisp
<alandipert>
shukryzablah though it depends on your needs, i agree a lisp dataframe is almost probably the easiest way to get going. seems like a fun project, enjoy and good luck!
akoana has left #lisp ["Leaving"]
<shukryzablah>
alandipert: thx!
buffergn0me has quit [Quit: ERC (IRC client for Emacs 26.2)]
shifty has joined #lisp
torbo has quit [Remote host closed the connection]
<pjb>
drmeister: clhs print-unreadable-object !
<pjb>
;-)
ATuin has joined #lisp
iAmDecim has joined #lisp
Cymew has joined #lisp
<phoe>
Xach: wait what where
<phoe>
< Xach> phoe: lispm replied on twitter to a bot about your post
Kundry_Wag has joined #lisp
<phoe>
oooooh, yes. I see.
random-nick has joined #lisp
mangul is now known as shangul
Kundry_Wag has quit [Ping timeout: 256 seconds]
msk has joined #lisp
<phoe>
Fixed! Thanks.
<phoe>
(It worked on the kmp condition code, for what it's worth.)
Oladon has quit [Quit: Leaving.]
msk has quit [Remote host closed the connection]
mathrick has quit [Remote host closed the connection]
revtintin has joined #lisp
mathrick has joined #lisp
ggole has joined #lisp
Lycurgus has joined #lisp
jonatack has quit [Remote host closed the connection]
msk has joined #lisp
jonatack has joined #lisp
revtintin has quit [Ping timeout: 256 seconds]
ebrasca has joined #lisp
<phoe>
Xach: somewhat fixed. If possible, please edit the planetlisp post with the new content
Kundry_Wag has joined #lisp
pve has joined #lisp
Guest66872 has joined #lisp
Guest66872 has quit [Remote host closed the connection]
Kundry_Wag has quit [Ping timeout: 256 seconds]
revtintin has joined #lisp
varjag has joined #lisp
jonatack_ has joined #lisp
<phoe>
Is there any TRIVIAL-DEBUGGER library that allows one to define behaviour when the debugger is entered while *DEBUGGER-HOOK* is NIL?
jonatack has quit [Ping timeout: 240 seconds]
iAmDecim has quit [Ping timeout: 265 seconds]
anticrisis has quit [Read error: Connection reset by peer]
Necktwi has quit [Read error: Connection reset by peer]
Bourne has quit [Ping timeout: 256 seconds]
Necktwi has joined #lisp
ljavorsk has joined #lisp
Bourne has joined #lisp
jprajzne has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
msk_ has joined #lisp
msk has quit [Ping timeout: 256 seconds]
revtintin has quit [Ping timeout: 250 seconds]
Necktwi has quit [Ping timeout: 256 seconds]
Lycurgus has quit [Quit: Exeunt]
Necktwi has joined #lisp
dddddd has joined #lisp
ukari has quit [Remote host closed the connection]
ukari has joined #lisp
Kundry_Wag has joined #lisp
<phoe>
let me make one, then, by gutting out swank...
Kundry_Wag has quit [Ping timeout: 264 seconds]
revtintin has joined #lisp
libertyprime has quit [Ping timeout: 258 seconds]
dale has quit [Quit: My computer has gone to sleep]
libertyprime has joined #lisp
karlosz has quit [Quit: karlosz]
<Shinmera>
Dissect was supposed to be able to deliver the basis for that.
<phoe>
But it was not implemented there yet, was it?
<phoe>
I might submit a PR that does so.
<Shinmera>
'there'?
<phoe>
In Dissect, that is.
<Shinmera>
I don't understand.
<Shinmera>
Dissect provides a portability library for the stack and restarts (and in the future maybe eval-in-frame)
<phoe>
Dissect does not have a way to define my own debugger that will be invoked on #'error or #'break. Is that correct?
<Shinmera>
A portable debugger could be implemented on top of it.
<Shinmera>
That is correct.
<phoe>
OK - I'll work on that then.
<Shinmera>
I've been meaning to make a portable debugger (and a portable repl) for years now but you know how these things go.
<phoe>
oh yes I wholeheartedly do know
shangul has quit [Remote host closed the connection]
aap_ has joined #lisp
Josh_2` has joined #lisp
Josh_2 has quit [Read error: Connection reset by peer]
aap has quit [Read error: Connection reset by peer]
mgr- has joined #lisp
mgr_ has quit [Read error: Connection reset by peer]
notzmv has quit [Remote host closed the connection]
mrcom has quit [Ping timeout: 265 seconds]
ukari has quit [Remote host closed the connection]
igemnace has joined #lisp
ukari has joined #lisp
Lord_of_Life_ has joined #lisp
Kundry_Wag has joined #lisp
notzmv has joined #lisp
troydm has joined #lisp
aap_ is now known as aap
narimiran_ is now known as narimiran
Lord_of_Life has quit [Ping timeout: 260 seconds]
Lord_of_Life_ is now known as Lord_of_Life
Kundry_Wag has quit [Ping timeout: 256 seconds]
iAmDecim has quit [Ping timeout: 256 seconds]
<phoe>
it's mostly dead, sadly. I'll continue to gut out swank.
libertyprime has quit [Remote host closed the connection]
iAmDecim has joined #lisp
<jackdaniel>
how do you determine deadness of a library?
<jackdaniel>
does it smell funny? that only means that it is a lisp library ,-)
* jackdaniel
imagines a library which dies, screaming in agony
<phoe>
jackdaniel: it forked from swank at some point, but it seems that no one's been porting swank modifications to it.
<jackdaniel>
so how about libraries which are not forked from swank? are they immortal?
<phoe>
bleh
<phoe>
fine - compared to swank, conium has much less activity
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
mrcom has joined #lisp
Kundry_Wag has joined #lisp
jonatack__ has joined #lisp
msk_ has quit [Remote host closed the connection]
msk_ has joined #lisp
jonatack_ has quit [Ping timeout: 260 seconds]
Kundry_Wag has quit [Ping timeout: 260 seconds]
revtintin has joined #lisp
<LdBeth>
find the book I ordered in email trashbin...
_jrjsmrtn has quit [Ping timeout: 265 seconds]
__jrjsmrtn__ has joined #lisp
joshcom has joined #lisp
<p_l>
ok, where qt-libs standalone are built for commonqt?
<Shinmera>
eh?
<jackdaniel>
on trustme.example.com
<p_l>
Shinmera: I might gather enough anger at the world to channel it into fixes
<Shinmera>
I don't understand your question
<phoe>
p_l: built? what do you mean? I don't think they're built by any sort of CI
<p_l>
Shinmera: I need to change bits of how the dynamic libraries included in qt-libs downloads are built
<p_l>
cause they have hardcoded paths to /User/linus on macos
<p_l>
(as of latest QL dist)
<Shinmera>
They should not, that's a bug.
<Shinmera>
Anyway that fix does not require rebuilding
<p_l>
Shinmera: yeah, that's a bug. it's not the first time I hit it, and I was wondering where I should look for the build scripts so I could help fix it instead of being unpleasant complainer only
<Shinmera>
There are no build scripts because building Qt is a god damn nightmare on every platform and requires manual setup.
<Shinmera>
The fix is to make fix-dylib-collection work better.
<p_l>
Shinmera: at the very least, I need to grab the process that packages them into QL installable release tarball, and inject some changes to the packages
<Shinmera>
You can try running (fix-dylib-collection (uiop:directory-files standalone-dir (make-pathname :type "dylib" :defaults uiop:*wild-path*)))
<Shinmera>
first to see if that changes things.
<Shinmera>
But yes, rolling back to an earlier release for OS X is a fix. I think QL allows pinning packages to a certain release?
<p_l>
Shinmera: it's something that happened to me more than once, so while it would work as temporary fix, I really want to make it stable
<Shinmera>
The way to make it stable is 1) ensure fix-dylib-collection works 2) bother me to update the release binaries on github to include the ones with the properly fixed paths.
<phoe>
p_l: sounds like setting up build infrastructure for qt4
<Shinmera>
phoe: it is not necessary.
<phoe>
god sped you
<phoe>
Shinmera: OK
<p_l>
phoe: I built Qt4 in the past. I also binary patched qt-libs once in the past
<Shinmera>
There used to be build scripts in the past for everything but Qt4, but they were brittle, and now that Qt4 isn't readily available anymore either it's just a mess.
Kundry_Wag has joined #lisp
scymtym has joined #lisp
Kundry_Wag has quit [Ping timeout: 264 seconds]
jonatack__ has quit [Read error: Connection reset by peer]
jonatack__ has joined #lisp
<p_l>
weeee, got binary patches for qtlibs working
<p_l>
now I'm failing on unknown class in qtools-ui
<p_l>
> There is no class named QTOOLS-UI:FIXED-QTEXTEDIT.
<p_l>
in file qtools-ui-20200218-git/fixed-qtextedit.lisp
<moewe>
So if it would have lets say 2 elements it would be: (#<HASH-TABLE :TEST EQUAL :COUNT 6 {1004776073}> (scnd . NIL))?
<phoe>
;; and also the *MORE* popular one - you will rarely ever see the latter notation in practice
<beach>
phoe: Hey, you are getting good at explaining stuff!
<phoe>
it would be (a . (b . nil))
<moewe>
oh, right
<phoe>
yours is (a (b . nil)) which is somewhat different
<phoe>
beach: thanks, trying my best!
<moewe>
thanks man, awesome explanation, really! next time I'll go to clschool ^^"
<phoe>
moewe: (a (b . nil)) is (a (b))
<phoe>
which is (a . ((b . nil) . nil))
<phoe>
basically the second element of that list is wrapped in one more list
revtintin has quit [Ping timeout: 264 seconds]
bitmapper has joined #lisp
jonatack__ has quit [Quit: jonatack__]
revtintin has joined #lisp
jonatack has joined #lisp
rixard has quit [Read error: Connection reset by peer]
rixard has joined #lisp
scymtym has quit [Remote host closed the connection]
scymtym has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
revtintin has quit [Ping timeout: 264 seconds]
iAmDecim has quit [Ping timeout: 260 seconds]
jmercouris has joined #lisp
pilne has quit [Read error: Connection reset by peer]
revtintin has joined #lisp
Josh_2` has quit [Quit: ERC (IRC client for Emacs 26.3)]
pilne has joined #lisp
Josh_2 has joined #lisp
cosimone has joined #lisp
azimut__ has quit [Remote host closed the connection]
azimut__ has joined #lisp
Bike has joined #lisp
keep_learning has quit [Quit: This computer has gone to sleep]
<_death>
another day, another use of PROGV
decent-username has joined #lisp
<jmercouris>
progv?
<Bike>
how exotic.
<jmercouris>
what did you do with it
gargaml has joined #lisp
<_death>
used it in a regression tester to bind the value of a *verbose* flag to nil in the testee (the regression tester does not directly reference symbols from the testee)
<beach>
jmercouris: Did you see the link I gave you to the freely available AMOP chapters?
Lycurgus has joined #lisp
pilne has quit [Read error: Connection reset by peer]
<Xach>
phoe: automagically updated
<phoe>
Xach: thankeeee
<phoe>
progv is useless in 99% of cases and unavoidable in 1% of cases
<jmercouris>
beach: yes, thank you!
<phoe>
I don't think there is any other part of the standard that allows you to bind dynavars fully at runtime where the user can dynamically specify both the dynavar name and the value for the new binding
<jcowan>
well, eval
<_death>
you could use SETs and hope for the best
<Bike>
you can do it yourself with symbol-value and unwind-protect
revtintin has quit [Ping timeout: 258 seconds]
<Bike>
although local bindings are generally different on most implementations due to threading
<Bike>
don't think the language designers anticipated that
iAmDecim has joined #lisp
pilne has joined #lisp
<phoe>
Bike: eh, that's kinda cheating
<phoe>
it mutates old bindings instead of creating new ones
<Bike>
what's the difference?
<phoe>
functionally equivalent, but still
<phoe>
in practice? absolutely nothing
revtintin has joined #lisp
<Bike>
even theoretically, what's the difference? other than the threading i mentioned.
<_death>
there was a LETF operator once...
<jcowan>
Dynavars are reliably reset without taking special precautions with unwind-protect, for one thing.
<Lycurgus>
was war einmal!
<Bike>
jcowan: i don't understand what you mean?
<Xach>
phoe: can you tell me why the indentation in the rss is what it is?
<jcowan>
If you want to do your own binding-equivalent using `set`, you have to make sure you always `set` it back using unwind-protect.
<phoe>
Xach: no idea, let me check.
<Bike>
sure.
<Bike>
but i mean, that's not different? i don't know what you're getting at. the implementation has to do something like unwind-protect for special bindings too.
<phoe>
Xach: it does seem okay in the atom feed - download and inspect the XML file from https://nl.movim.eu/?feed/phoe%40movim.eu
<beach>
Bike: Not with an explicit representation of the dynamic environment + deep binding. :)
<Bike>
mm... right...
cylb has quit [Remote host closed the connection]
cosimone has quit [Remote host closed the connection]
<_death>
I guess one difference is that it only works for special variables, so you lose uniformity
cosimone has joined #lisp
<jcowan>
This is more or less why Scheme decided to give up on dynamic variables and go with bindable objects: (parameterize ((foo bar) (baz zam) ... (foo) ... (baz) ...)
<jcowan>
where foo and bar are not bound by the construct, rather their values (functions of a specialized kind) are bound.
cosimone_ has joined #lisp
cosimone has quit [Read error: Connection reset by peer]
EvW has quit [Ping timeout: 240 seconds]
pilne has quit [Read error: Connection reset by peer]
<phoe>
LispWorks is the only implementation whose debugger I have not enslaved yet
cosimone_ has quit [Remote host closed the connection]
<phoe>
...and I have no real idea how to achieve it
cosimone_ has joined #lisp
<engblom>
Do you know about any dynamic tiling window manager written by any Lisp dialect (CL, scheme, Clojure, etc)? Something that would be similar to dwm or xmonad?
<phoe>
engblom: stumpwm?
ayuce has joined #lisp
revtintin has quit [Ping timeout: 258 seconds]
<engblom>
phoe: Stumpwm is not a dynamic tiling window manager. You have to take care of the tiling manually.
<phoe>
ooh, I see
<phoe>
TIL
gargaml has quit [Ping timeout: 246 seconds]
<engblom>
phoe: With a dynamic you do not need to think about frames. You open a window and it will automatically take full screen. You open another one and the screen will automatically split in two. You open a third and it will again split according to the chosen layout. You close two windows and you are back again to fullscreen one window without needing to do anything yourself.
ayuce has quit [Remote host closed the connection]
revtintin has joined #lisp
lxbarbosa has joined #lisp
ayuce has joined #lisp
<_death>
maybe it shouldn't be hard to write a stumpwm contrib to do that..
<_death>
stumpwm does have an "expose" that to auto tile current windows
<engblom>
Currently I am using xmonad and it works for me but it is also the only thing I need Haskell installed for. While diskspace is cheap, it is still many of extra Gb wasted and making upgrades slower and just a bit annoying to have around. This is why I am searching for an alternative. I do not not program much so I kind of wish to have a ready solution that I can just try to tweak to fit my needs.
<_death>
do you really need haskell installed to use xmonad?
Inline has joined #lisp
<Shinmera>
this is well off-topic.
<engblom>
_death: Xmonad is more like a "window manager framework". You write the configuration in Haskell and it will compile a window manager for you.
<beach>
Shinmera: Thanks. There has been more off-topic stuff than usual here.
gargaml has joined #lisp
<Shinmera>
Yeah. :/
EvW has joined #lisp
ahungry has joined #lisp
<Lycurgus>
debian buster installs ghc 8.4 with xmonad
<engblom>
To take it back to Lisp topic, besides stumpwm and the clfswm fork of stumpwm, what other window managers are written in any lisp dialect?
<beach>
Eclipse is written in Common Lisp.
<beach>
engblom: This channel is dedicated to Common Lisp.
<_death>
there was ratpoison
<Lycurgus>
is or was xfce in cl?
<beach>
engblom: There is no widely agreed-upon definition of what language is a Lisp dialect.
<_death>
it's implemented in C but I think it had some lisp variant
<Lycurgus>
ah
<engblom>
beach: I am sorry, I thought it was a lisp in general channel. I thought the comment about offtopic was because of xmonad. I will not discuss this topic further here.
<dlowe>
##lisp is a lisp in general channel
<_death>
(ah, I confused ratpoison with sawfish)
leo_song has quit [Ping timeout: 250 seconds]
lxbarbosa has quit [Remote host closed the connection]
pilne has quit [Ping timeout: 258 seconds]
<_death>
engblom: if stumpwm's expose command is not too bad about persistence of windows already exposed, then a quick solution could be to call it on window creation and destruction (there are likely hooks for that, or they could be added).. I write this because it's somewhat Lisp related, but you likely want to visit the stumpwm channel if you have further questions
lxbarbosa has joined #lisp
pilne has joined #lisp
<engblom>
_death: When reading https://stumpwm.github.io/git/stumpwm-git_6.html it says that no window can exists outside of any frame. When reading the "expose" part, it says nothing about creating or destroying frames to satisfy the layout. Is this done automatically by expose?
<_death>
stumpwm channel is that way -> #stumpwm
<engblom>
_death: I am going there :)
ATuin has quit [Ping timeout: 256 seconds]
moewe has quit [Ping timeout: 240 seconds]
<phoe>
Do we have any Lispworks hackers here? I am trying to prevent entry into the system-provided debugger and instead invoke my own trivial one. My current slime-based code is at https://plaster.tymoon.eu/view/1747#1747 but I cannot reproduce what slime is doing.
<drmeister>
pjb: Thanks for the heads up on print-unreadable-object
efm has quit [Ping timeout: 256 seconds]
<Bike>
why on earth does print-unreadable-object not return the object
cylb has joined #lisp
<_death>
yes, it's a pet peeve
efm has joined #lisp
<Bike>
phoe: i see it's ':debugger-hoook' in slime as well but like... is that seriously not a typo...?
<phoe>
Bike: yes, both in slime and sly!!
<phoe>
it makes sense because the typo is then repeated
sjl_ has joined #lisp
pilne has quit [Read error: Connection reset by peer]
kimq has quit [Ping timeout: 260 seconds]
<Bike>
that's "sense", huh.
<phoe>
s/makes sense/works for whatever reason/
pilne has joined #lisp
rpg has joined #lisp
engblom has left #lisp [#lisp]
efm has quit [Ping timeout: 265 seconds]
efm has joined #lisp
efm has quit [Client Quit]
Kundry_Wag has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
<rpg>
I have been told we usually don't have a banner, but maybe we could announce that ELS 2020 has moved on-line?
EvW has quit [Ping timeout: 256 seconds]
shifty has quit [Ping timeout: 256 seconds]
retropikzel has joined #lisp
pilne has quit [Read error: Connection reset by peer]
revtintin has joined #lisp
EvW has joined #lisp
monokrom has joined #lisp
pilne has joined #lisp
notzmv has quit [Read error: Connection reset by peer]
jfrancis_ has joined #lisp
jfrancis has quit [Read error: Connection reset by peer]
revtintin has quit [Ping timeout: 250 seconds]
rippa has joined #lisp
ljavorsk has quit [Ping timeout: 264 seconds]
iAmDecim has quit [Ping timeout: 250 seconds]
lxbarbosa has quit [Ping timeout: 272 seconds]
cosimone_ is now known as cosimone
sunwukong has quit [Quit: Leaving]
sahara3 has joined #lisp
sahara3 has left #lisp [#lisp]
notzmv has joined #lisp
lisper29 has left #lisp [#lisp]
revtintin has joined #lisp
Bourne has quit [Ping timeout: 250 seconds]
ArthurStrong has joined #lisp
ayuce has quit [Read error: Connection reset by peer]
revtintin has quit [Ping timeout: 258 seconds]
EvW has quit [Ping timeout: 240 seconds]
jmercouris has quit [Remote host closed the connection]
vlatkoB has quit [Remote host closed the connection]
vlatkoB has joined #lisp
ljavorsk has joined #lisp
<Shinmera>
Bike: regarding your question a while ago about slot order in mop, if I remember correctly the order needs to be as they appear in the list of effective slots. It does not say that slot locations have to be consecutive, however.
<Bike>
what determines the order of the list of effective slots?
<Shinmera>
I believe it's the return value of compute-slots.
<Shinmera>
Indeed, they show an example on the same page that reorders the slots
<Bike>
and compute-slots sorts by CPL order, i see
gko has quit [Ping timeout: 256 seconds]
revtintin has joined #lisp
Lycurgus has joined #lisp
efm has joined #lisp
<Bike>
...okay, i'm missing something here.
<Bike>
no, i see. CPL order means that classes /later/ in the CPL have their slots /first/
<beach>
Makes sense.
<beach>
Then slot locations are more likely to be shared.
<Bike>
mm, well, it's having confusing consequences for me with mixins.
<Bike>
i have a class with supers (instruction one-successor-mixin allocation-mixin). instruction and allocation-mixin both have slots. But allocation-mixin's slots come first, so the locations are different from a class that only has instruction as a super.
<beach>
What if you put the mixins first in the list?
<Bike>
yeah, i mean, that would do it. or have instruction be a superclass of the mixins.
shukryzablah has quit [Quit: ERC (IRC client for Emacs 27.0.90)]
Cymew has quit [Ping timeout: 256 seconds]
starcrATI has joined #lisp
buffergn0me has joined #lisp
slyrus__ has joined #lisp
cosimone has quit [Quit: Quit.]
slyrus_ has quit [Ping timeout: 256 seconds]
cosimone has joined #lisp
cosimone has quit [Client Quit]
cosimone has joined #lisp
Inline has quit [Ping timeout: 246 seconds]
EvW has joined #lisp
karlosz has joined #lisp
ggole has quit [Quit: Leaving]
retropikzel has quit [Quit: Leaving]
retropikzel has joined #lisp
revtintin has quit [Ping timeout: 260 seconds]
panji has joined #lisp
<phoe>
I guess I solved my LispWorks issue
<phoe>
;; by setting internal symbols, as usual
EvW has quit [Ping timeout: 256 seconds]
panji has left #lisp [#lisp]
ayuce has joined #lisp
<_death>
Bike: putting mixins first is actually a documented practice.. I think I read about it in Cannon's FLAVORS paper
revtintin has joined #lisp
EvW has joined #lisp
<pjb>
minion: memo for engblom: there's exwm written in emacs lisps.
<minion>
Remembered. I'll tell engblom when he/she/it next speaks.
Lycurgus has quit [Ping timeout: 240 seconds]
retropikzel has quit [Quit: Leaving]
retropikzel has joined #lisp
<Bike>
i guess putting the mixin first means it'll specialize on methods first, too
<Bike>
so probably good to do
smazga has joined #lisp
<phoe>
one of the greatest yak shaves of this mini-project has been me creating a true named-lambda macro
<phoe>
one of the greatest yak shaves of this mini-project has been me creating a true named-lambda macro
<phoe>
it's true because it hurts my eyes to look at it, and truth always hurts
heisig has quit [Quit: Leaving]
<MichaelRaskin>
You don't like (labels) ?
mathrick has quit [Ping timeout: 260 seconds]
<phoe>
I do, and I'm well aware that e.g. alexandria has it
<phoe>
I just wanted to use the implementation internals for that one for no good reason whatsoever
<MichaelRaskin>
Grrr.
* phoe
ducks
<MichaelRaskin>
I guess for most implementations you could just macroexpand defun
pilne has quit [Read error: Connection reset by peer]
EvW has quit [Ping timeout: 256 seconds]
<phoe>
;; that's what I did
<phoe>
the only weird thing is that ACL drops the function name after #'COMPILEing it
<phoe>
but I didn't care to dig deeper
vhost- has joined #lisp
vhost- has joined #lisp
vhost- has quit [Changing host]
pilne has joined #lisp
<MichaelRaskin>
I mean, automatically, in compile-time
<phoe>
on one hand, it's a dangerous idea
<phoe>
on the other hand, it's Michael "Codewalker" Raskin who proposes that
<phoe>
now I am somewhat tempted
EvW has joined #lisp
gigetoo has quit [Ping timeout: 240 seconds]
gigetoo has joined #lisp
sauvin has quit [Read error: Connection reset by peer]
luni has joined #lisp
<MichaelRaskin>
phoe: it is an interesting approach!
mathrick has joined #lisp
mathrick has quit [Ping timeout: 240 seconds]
mathrick has joined #lisp
vhost- has quit [Quit: WeeChat 2.6]
orivej has quit [Ping timeout: 264 seconds]
<phoe>
okay, time to yak shave
Aurora_iz_kosmos has joined #lisp
Kevslinger has quit [Quit: Connection closed for inactivity]
<phoe>
Shinmera: will you be willing to accept https://plaster.tymoon.eu/view/1750#1750 into Dissect? (possibly without that NAMED-LAMBDA macro, since it's ugly.)
<Shinmera>
Hm, not sure. I'd have to rename Dissect into a general debugger thing rather than being limited to dealing with the stack.
<phoe>
OK - I'll create a separate package then.
<phoe>
s/package/system/
<Shinmera>
Yeah, probably better.
<phoe>
does a name like CUSTOM-DEBUGGER sound well?
<Shinmera>
sounds more like a trivial-debugger-hook or something in my opinion.
<phoe>
hmmm
<phoe>
that is a better name
<phoe>
but wait
<phoe>
debugger-hook is an already established name
kimq has joined #lisp
<jackdaniel>
trivial-debugger-hack
<phoe>
and we aren't really doing much to the debugg--
<phoe>
jackdaniel: tempting
<dlowe>
debugger-line-and-sinker
efm has quit [Read error: Connection reset by peer]
<phoe>
trivial-custom-debugger it'll be then
<jackdaniel>
phoe: as of debugging, you may consider extending and contributing to clim-debugger
<jackdaniel>
currently it piggybacks to sldb
<jackdaniel>
s/to/on/
<jackdaniel>
unless of course you want to be your own captain, ship and the sail
efm has joined #lisp
<phoe>
jackdaniel: the goal of this particular library is supposed to be as small and as dependency-free as possible, since I don't think that someone who reads my WIP book will want to pull all of clim-debugger in order to play with a custom system debugger function
<phoe>
however, that's a very good idea - I'll put that on my TODO list
<jackdaniel>
you may write a backend system and a graphical frontend, the former would be simple in terms of dependencies
<phoe>
jackdaniel: the backend system sounds like trivial-custom-debugger
<phoe>
it might in the future get extended with things like backtraces, e.g. via Dissect
<phoe>
and other things that allow for a generally pleasant debugging experience
efm has quit [Ping timeout: 258 seconds]
izh_ has joined #lisp
Inline has joined #lisp
ljavorsk has quit [Ping timeout: 256 seconds]
efm has joined #lisp
izh_ has quit [Remote host closed the connection]
izh_ has joined #lisp
shifty has joined #lisp
<phoe>
hah
<phoe>
I need to find a test framework that does not mind unhandled errors
karlosz has quit [Quit: karlosz]
<Shinmera>
'does not mind'?
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
SGASAU has quit [Remote host closed the connection]
dale_ has joined #lisp
SGASAU has joined #lisp
dale_ is now known as dale
<phoe>
yes
<phoe>
does not have a global (handler-bind ((error ...)) ...)
<phoe>
I explicitly need an error to bubble all the way to toplevel and invoke the debugger
<phoe>
...since it's the debugger that I am testing
<Shinmera>
you can do that with a custom parachute report.
* phoe
reads parachute source
<Shinmera>
the interactive report bubbles failures and introduces additional errors when the tests fail, for instance.
<Shinmera>
I often use it when I get a failure in a test and want the backtrace.
<phoe>
wait a second though
<phoe>
won't INTERACTIVE be fully enough
<phoe>
let me double-check...
<Shinmera>
depends. It'll signal an error if a test fails
<Shinmera>
rather than a test erroring.
lassy has joined #lisp
izh_ has quit [Remote host closed the connection]
iAmDecim has joined #lisp
izh_ has joined #lisp
EvW has quit [Read error: Connection reset by peer]
<phoe>
I've decided to use CL:ASSERT for the tests
cosimone has quit [Quit: Quit.]
mrcom has quit [Ping timeout: 265 seconds]
pve has quit [Quit: leaving]
narimiran has quit [Ping timeout: 260 seconds]
Lycurgus has joined #lisp
decent-username has quit [Quit: ERC (IRC client for Emacs 26.3)]
cosimone has joined #lisp
decent-username has joined #lisp
ayuce has quit [Remote host closed the connection]
mrcom has joined #lisp
Lycurgus has quit [Remote host closed the connection]
choegusung has joined #lisp
anticrisis has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
karlosz has quit [Quit: karlosz]
Ven`` has joined #lisp
<phoe>
Xach: I know why the formatting is so broken. Let me file a movim bugticket.
jonatack has quit [Ping timeout: 260 seconds]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
jonatack has joined #lisp
buffergn0me has joined #lisp
decent-username has quit [Ping timeout: 272 seconds]
kimq has quit [Ping timeout: 250 seconds]
ayuce has joined #lisp
ahungry has quit [Remote host closed the connection]
gravicappa has quit [Ping timeout: 256 seconds]
scymtym has quit [Read error: Connection reset by peer]
buffergn0me has quit [Ping timeout: 252 seconds]
<Xach>
more like lessvim
shifty has quit [Ping timeout: 240 seconds]
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
<phoe>
nice
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 258 seconds]
Oladon has joined #lisp
Lord_of_Life_ is now known as Lord_of_Life
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
buffergn0me has joined #lisp
luni has quit [Quit: Connection closed]
efm has quit [Read error: Connection reset by peer]
ayuce has quit [Remote host closed the connection]
jonatack has quit [Ping timeout: 265 seconds]
ayuce has joined #lisp
jonatack has joined #lisp
smasta has joined #lisp
sjl_ has quit [Ping timeout: 258 seconds]
joshcom has joined #lisp
buffergn0me has quit [Ping timeout: 272 seconds]
frgo has quit [Remote host closed the connection]
frgo has joined #lisp
joshcom has quit [Ping timeout: 256 seconds]
kimq has joined #lisp
<Inline>
asdf is buggy
jprajzne has quit [Quit: jprajzne]
ArthurStrong has left #lisp [#lisp]
<Inline>
exclusion for :tree via :exclude does not work
smazga has quit [Quit: leaving]
equwal has joined #lisp
equwal has quit [Remote host closed the connection]
iAmDecim has joined #lisp
kimq has quit [Changing host]
kimq has joined #lisp
<Xach>
Inline: i've found that the line between "asdf does not work as i expect" and "asdf is buggy" is hard to find
SGASAU has quit [Remote host closed the connection]
<Xach>
i have not usually been able to inform my expectations with the documentation
starcrATI has quit [Ping timeout: 240 seconds]
SGASAU has joined #lisp
buffergn0me has joined #lisp
rpg has quit [Remote host closed the connection]
SGASAU has quit [Remote host closed the connection]
iAmDecim has quit [Ping timeout: 258 seconds]
SGASAU has joined #lisp
<Inline>
no, the implementation even the release version of the git source here over, does not match it's spec
<Inline>
previously it all worked fine
<Inline>
then all of a sudden at some point changing asdf versions to higher and higher numbers something has gone wrong
<Inline>
when i specify an exclusion pattern, eithe before or after the :tree enty, the exclusion pattern does not have any effect on the outcome
<Inline>
that was not so previously, it all happened to work seemlessly
<Inline>
btw i'd like to be able to use 2 different caches for 2 different implementation of mcclim in my local-projects directory
<Inline>
not the same cache for both
<Inline>
but i suppose that's on my side to specify how and where etc
keep_learning has joined #lisp
<Inline>
so what happens is when i load mcclim it loads the mcclim-git directory tho it's in the :exclusion entry
<Inline>
there's mcclim and mcclim-git both in local-projects
SGASAU has quit [Remote host closed the connection]
<Inline>
i want to be able to load both from different repls
<Inline>
and i have configuration made for mutual exclusion
rpg has joined #lisp
SGASAU has joined #lisp
<rpg>
inline: if you have an ASDF bug report, please submit it through the common-lisp.net gitlab.
<Inline>
so one repl loads one and ignores the other, or so the idea but now asdf is not working anymore
keep_learning has quit [Client Quit]
<Inline>
rpg: i don't have a bug report
<Inline>
rpg: and i won't submit anything
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
Bourne has joined #lisp
<buffergn0me>
Inline: It sounds like you have encountered a bug. You need to write down what it is, what ASDF version you are using, and steps to reproduce it
shukryzablah has joined #lisp
keep_learning has joined #lisp
X-Scale` has joined #lisp
X-Scale has quit [Ping timeout: 240 seconds]
X-Scale` is now known as X-Scale
SGASAU has quit [Remote host closed the connection]
SGASAU` has joined #lisp
Oladon has quit [Quit: Leaving.]
keep_learning has quit [Quit: This computer has gone to sleep]
<Inline>
oO
<Inline>
:exclude uses setf
<Inline>
bah
<Inline>
:also-exclude uses append
epony has quit [Read error: Connection reset by peer]
<Inline>
heh
<Inline>
oh man
<Inline>
but that's not it, didn't change anything
SGASAU` has quit [Quit: ERC (IRC client for Emacs 26.3)]
SGASAU has joined #lisp
karlosz has joined #lisp
epony has joined #lisp
epony has quit [Remote host closed the connection]
leo_song has joined #lisp
gxt has quit [Remote host closed the connection]
gxt_ has joined #lisp
SGASAU has quit [Remote host closed the connection]
SGASAU has joined #lisp
random-nick has quit [Ping timeout: 260 seconds]
iAmDecim has joined #lisp
epony has joined #lisp
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]