anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
icer has left #commonlisp [WeeChat 2.8]
aartaka has quit [Ping timeout: 258 seconds]
<beach>
Good morning everyone!
aartaka has joined #commonlisp
livoreno has joined #commonlisp
dec0d3r has joined #commonlisp
zacque has joined #commonlisp
zacque has quit [Client Quit]
zacque has joined #commonlisp
zacque has quit [Client Quit]
dec0d3r has quit [Quit: Leaving]
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 246 seconds]
Bike has quit [Quit: Lost terminal]
yauhsien has quit [Read error: Connection reset by peer]
yauhsien_ has joined #commonlisp
azimut has quit [Remote host closed the connection]
azimut has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
Demosthenex has quit [Ping timeout: 260 seconds]
miique has joined #commonlisp
Demosthenex has joined #commonlisp
hineios2 has joined #commonlisp
hineios has quit [Ping timeout: 256 seconds]
hineios2 is now known as hineios
igemnace has joined #commonlisp
akoana has quit [Quit: leaving]
mon_aaraj has joined #commonlisp
artchad has joined #commonlisp
mon_aaraj has quit [Ping timeout: 248 seconds]
mon_aaraj has joined #commonlisp
lisp123 has joined #commonlisp
leeb has quit [Ping timeout: 248 seconds]
bilegeek has joined #commonlisp
leeb has joined #commonlisp
mon_aaraj has quit [Quit: WeeChat 3.5]
lisp123 has quit [Ping timeout: 248 seconds]
mon_aaraj has joined #commonlisp
frgo has quit [Remote host closed the connection]
<contrapunctus>
Good morning, beach
<contrapunctus>
So... `(uiop:hidden-pathname-p #P".foo")` returns T, `(uiop:hidden-pathname-p #P".foo/")` returns NIL, `uiop:subdirectories` returns pathnames in the second format (i.e. with the trailing slash), and I can't seem to find anything to remove that trailing slash...
artchad has quit [Read error: Connection reset by peer]
<contrapunctus>
Any suggestions?
mon_aaraj has quit [Ping timeout: 256 seconds]
mon_aaraj has joined #commonlisp
<mfiano>
Lots of ways: (uiop:ensure-pathname (string-right-trim '(#\/) (namestring #p".foo/")))
<contrapunctus>
thanks, but also...ick :\
<mfiano>
Then reimplement hidden-pathname-p with the directory component
<Nilby>
(remove-if-not #'nos:directory-p (nos:read-directory :omit-hidden t)) or even better/worse (glob+ "*" "d")
Aquarne has joined #commonlisp
silasfox has joined #commonlisp
silasfox has quit [Ping timeout: 246 seconds]
Aquarne has quit [Quit: leaving]
frgo has joined #commonlisp
frgo has quit [Remote host closed the connection]
betonmischa has quit [Ping timeout: 260 seconds]
ec has quit [Remote host closed the connection]
ec has joined #commonlisp
frgo has joined #commonlisp
frgo_ has joined #commonlisp
frgo__ has joined #commonlisp
frgo has quit [Ping timeout: 248 seconds]
frgo_ has quit [Ping timeout: 244 seconds]
xaltsc has quit [Remote host closed the connection]
rendar has quit [Ping timeout: 248 seconds]
igemnace has quit [Ping timeout: 240 seconds]
<contrapunctus>
aha! `cl-fad:pathname-as-file` :D
<Nilby>
contrapunctus: sorry for my typically "furui dame baka" useless suggestions
<contrapunctus>
haha, better than no responses at all. Thanks mfiano and Nilby
<pjb>
contrapunctus: IMO, cl-fad:pathname-as-file is very dirty. The pathname of a file shouldn't have been a directory pathname in the first place. The bug is upstream! It should be better to correct the bug where it is, rather than rectify the data later with pathname-as-file.
MajorBiscuit has joined #commonlisp
shka has joined #commonlisp
ttree has quit [Ping timeout: 260 seconds]
<contrapunctus>
pjb: I was certainly wondering if Fare would like PRs for `hidden-pathname-p`...I'll probably make an issue
<pjb>
and we could also have names with two or more prefix dots…
<Nilby>
pjb: yes, the \\ in ccl is particularly troublesome
<pjb>
IMO, we should write a specification of how CL pathnames should behave on posix systems, (eg as a CDR), and push for implementations to be patched to match the specification.
<Nilby>
pjb: i'd be interested to see if there's a way to make it sane, and retain backward compatibility. but i'm doubtful
<pjb>
Well, making it sane would only require removing kludges in old programs…
lisp123 has quit [Remote host closed the connection]
<Nilby>
pjb: i guess if you ignore some big problems (like meta characters namestrings)
kpoeck has quit [Quit: Client closed]
Brucio-61 has joined #commonlisp
<Nilby>
ecl's last NIL is disturbing, let's not even mention (namestring (make-pathnaem :host "very-foo"))
leeb has quit [Ping timeout: 246 seconds]
* Nilby
stops complaining about pathnames and gets back to work
lisp123 has joined #commonlisp
karlosz has quit [Quit: karlosz]
karlosz has joined #commonlisp
MajorBiscuit has quit [Quit: WeeChat 3.5]
notzmv has quit [Ping timeout: 244 seconds]
lisp123 has quit [Remote host closed the connection]
yauhsien has joined #commonlisp
<pjb>
Nilby: the only meta character in posix namestrings are / and \0
<pjb>
because there's no characters in posix paths, only bytes.
<Nilby>
in theory, but i can't say: (pathname #(102 111 111)) and (equal "foo:*.*" (pathname-name (pathname "foo:*.*"))) is probably NIL
<lisp123>
looks like normal matching - see line 25
<mfiano>
It parses the CL with tree-sitter-commonlisp
<lisp123>
in terms of indentation?
<mfiano>
a diff tool unaware of the grammar would not be able to line up changes and ignore whitespace. it would also not know that line 25 only resulted in the removal of a specialization.
<lisp123>
ok
<lisp123>
thats nifty then
<lisp123>
any good recursive descent parser libraries in CL? My implementation works but the code is ugly
<mfiano>
recursive descent parsers are very mechanical in nature. A good parser generator would do, like esrap
Bike has joined #commonlisp
<lisp123>
thanks, will have a look
<lisp123>
the documentation seems quite good
<lisp123>
oh damn, looking at the author, no wonder why ;)
<mfiano>
Who?
<lisp123>
scymtym
<beach>
Of course. It probably uses Eclector.
<mfiano>
Ok, just making sure you're looking at the right fork :)
<beach>
It's an ideal application for something like Eclector.
<beach>
Or, rather, Eclector is the ideal tool for making such an application.
<mfiano>
No it doesn't use Eclector
<beach>
Oh?
<beach>
That would be surprising.
<mfiano>
esrap is much older than Eclector
<beach>
Ah, so this application is older than Eclector. That must be why.
mon_aaraj has quit [Ping timeout: 248 seconds]
<lisp123>
How does eclector recover from errors?
mon_aaraj has joined #commonlisp
<lisp123>
guess I'll read the chapter
<beach>
It probably depends on what kind of error is signaled.
<scymtym>
grammatech used to have a CL diff based on eclector
<lisp123>
Does eclector use the condition system to recover from errors?
<lisp123>
Looks like it from the manual, wanted to confirm
anticomputer has quit [Write error: Connection reset by peer]
gxt has quit [Write error: Connection reset by peer]
ec has quit [Write error: Connection reset by peer]
<scymtym>
lisp123: eclector uses conditions and restarts to report and recover from errors respectively
anticomputer has joined #commonlisp
<beach>
scymtym: Thanks.
* scymtym
can't find the diff now
<lisp123>
scymtym: Thanks for confirming
<_death>
is there a difference between (lambda (x) (f x x)) and (lambda (y) (f y y)), given that neither x nor y are special... if not, then even eclector is insufficient.. if yes (say, argument about "intention"), then even a single space can make a difference
<lisp123>
That might be the most elegant use of the condition system I've seen
<_death>
(you can also assume that F is the name of a function)
<lisp123>
_death: don't quite follow
<mfiano>
likewise
<_death>
well, you can think it through while I take a shower ;)
<beach>
lisp123: In Cleavir terms, I think _death would like to compare ASTs rather than source code.
<scymtym>
i guess the point is that the decision which differences are significant depends on the context or intention
<beach>
... which is not a bad idea.
alvaro121_ has joined #commonlisp
<beach>
scymtym: Yes, I was thinking myself about package prefixes.
alvaro121 has quit [Ping timeout: 256 seconds]
<beach>
scymtym: It would be interesting to compare symbols rather than sequences of characters.
<beach>
... or at least to have that option.
<lisp123>
beach: Thanks, I get it now
<scymtym>
beach: definitely. however, for working on other aspects, say proof reading and fixing comments, abstracting all difference below the AST level away may not be appropriate
<beach>
Exactly. So it would have to be controlled by some kind of options.
<scymtym>
yeah
<beach>
Sounds like a nice project! :)
kpoeck has quit [Quit: Client closed]
lisp123 has quit [Quit: Leaving...]
<_death>
the example could be more extreme, like (+ 1 2) and 3.. so yeah, what constitutes a difference is contextual.. if we're talking about a general "source code diff", a textual diff is at one end of the scale, and a logical impossibility is at the other.. in specialized contexts, a structured diff makes a lot of sense of course
scymtym has quit [Remote host closed the connection]
Brucio-61 has quit [Remote host closed the connection]
scymtym has joined #commonlisp
Brucio-61 has joined #commonlisp
<_death>
(well, not at the _end_ of that scale; there's also a chinese-ignorant oracle that works on the principle of "it's all chinese to me")
<Nilby>
i feel like the usefulness of structured diff vs textual, isn't that great for normal code you write, but is best for generated code, or with someone else's complex patches. but how about a diff that generated sensible release notes, or at least incompatibility change reports
<_death>
that's something that uses a diff as input
<Nilby>
too bad the training set of good release notes is so small
morganw has joined #commonlisp
<phantomics>
Hey everyone, I managed to isolate and reproduce the problem I was having with dynamic variable bindings, see this paste: https://dpaste.com/FLM97H7BN
<phantomics>
Now I'm curious as to the best way to proceed; I have functions that expect certain lexical states at given times, but deferring execution makes this tricky
<_death>
that's one way to look at it.. maybe you can construct a model and generate explanations from that model.. whether you need a training set and how big it should be to construct such a model have no fixed answers
<Bike>
phantomics: so wait, were you expecting the symbol-macrolet to work dynamically? that's kind of what it looks like?
<phantomics>
I wasn't expecting that per se, it was a workaround that fixed cases where inline functions were being deferred
<phantomics>
In the case that works, I have an inline function whose deferred execution works because the "item" symbol is used there explicitly
pranavats has left #commonlisp [Error from remote client]
<phantomics>
However, (incr-item) doesn't work, this is because it doesn't pick up the symbol-macro alias of 'item
<phantomics>
The symbol-macrolet is not the correct solution for this, the best I can think of is giving #'incr-item an option to set a value for *item-val* that would be passed in from the dynamic context
<beach>
Perhaps you need to turn incr-item into a closure?
<phantomics>
Like (incr-item item) and have that return the function that gets called on i?
<_death>
Nilby: anyway, such a thing could probably benefit from working on a repository (or a forest of them) and not just files
<beach>
phantomics: Er, wait, INCR-ITEM doesn't even mention a variable named ITEM.
<beach>
Yeah, and then perhaps create that closure by a function call.
shka has quit [Quit: Konversation terminated!]
shka has joined #commonlisp
<phantomics>
Bike: that works, however it has incr-item called on i, this is modeling a case in April where a function itself (i.e. #'incr-item) is passed as an argument to another function
<_death>
Nilby: then there would be all the extra stuff like issues bug reports tickets meeting records (maybe a video of the programmer face and blood pressure measurement when he hears about making this or that change) etc.
<Nilby>
_death: yes, but even in good release notes with a long history like e.g. emacs, i frequently find things omitted. one would hope using a structured diff could remedy that, and just have a statistical/ml way to describe diffs
<Nilby>
_death: lol
<phantomics>
It seems like I may need to create a "lexical assignment mode" for these functions where I can pass the local variable state into the function without calling it, which is basically what beach suggests
<hayley>
@Josh_2: L + Peter Deutsch + (find-class 'ratio) + fell off + Heap exhausted, game over.
Bike has quit [Quit: Connection closed]
Bike has joined #commonlisp
<Josh_2>
seethe, the answer was seethe :sob:
frgo__ has quit [Ping timeout: 244 seconds]
MajorBiscuit has quit [Ping timeout: 255 seconds]
ldb has joined #commonlisp
<ldb>
good morning
pranavats has joined #commonlisp
mon_aaraj has quit [Ping timeout: 276 seconds]
mon_aaraj has joined #commonlisp
edgar-rft has quit [Ping timeout: 276 seconds]
anticomputer has quit [Remote host closed the connection]
edgar-rft has joined #commonlisp
anticomputer has joined #commonlisp
MajorBiscuit has joined #commonlisp
Oladon has joined #commonlisp
saura has joined #commonlisp
saura has quit [Ping timeout: 248 seconds]
shka has quit [Quit: Konversation terminated!]
prokhor__ has quit [Ping timeout: 240 seconds]
MajorBiscuit has quit [Ping timeout: 248 seconds]
Volt_ has joined #commonlisp
kpoeck has quit [Quit: Client closed]
shka has joined #commonlisp
MajorBiscuit has joined #commonlisp
MajorBiscuit has quit [Client Quit]
aruscher[m] has joined #commonlisp
akoana has joined #commonlisp
frgo has joined #commonlisp
rodicm has joined #commonlisp
ldb has quit [Ping timeout: 256 seconds]
ldb has joined #commonlisp
rodicm has quit [Ping timeout: 248 seconds]
Oladon has quit [Quit: Leaving.]
ldb has quit [Ping timeout: 240 seconds]
ldb has joined #commonlisp
ldb has quit [Ping timeout: 248 seconds]
mon_aaraj has quit [Ping timeout: 246 seconds]
leeb has quit [Ping timeout: 246 seconds]
mon_aaraj has joined #commonlisp
<dirtcastle>
is there a lisp or haskell version of dmenu? if not why doesn't this exist.
<Josh_2>
If it doesn't exist the reason is because you haven't made it
<Josh_2>
But there is StumpWM
<dirtcastle>
adding modules is the easiest in Lisp and haskell. when compared to patching dmenu.
ttree has joined #commonlisp
<dirtcastle>
Josh_2: lol. I decided I'll ask once here before doing that exactly.
<dirtcastle>
maybe it's there and I can't find
ldb has joined #commonlisp
<Guest74>
my menus haven't had fonts for ages now.
ldb has quit [Ping timeout: 276 seconds]
ldb has joined #commonlisp
ldb has quit [Ping timeout: 244 seconds]
mon_aaraj has quit [Ping timeout: 240 seconds]
ttree has quit [Remote host closed the connection]
ttree has joined #commonlisp
mon_aaraj has joined #commonlisp
Guest74 has quit [Quit: Connection closed]
ttree has quit [Ping timeout: 240 seconds]
asarch has joined #commonlisp
ldb has joined #commonlisp
ldb has quit [Ping timeout: 256 seconds]
mon_aaraj has quit [Ping timeout: 276 seconds]
anticomputer has quit [Remote host closed the connection]
mon_aaraj has joined #commonlisp
anticomputer has joined #commonlisp
ldb has joined #commonlisp
ec_ has quit [Remote host closed the connection]
yauhsien has joined #commonlisp
ldb has quit [Ping timeout: 246 seconds]
ec_ has joined #commonlisp
yauhsien has quit [Ping timeout: 256 seconds]
vassenn has joined #commonlisp
mon_aaraj has quit [Ping timeout: 256 seconds]
anticomputer has quit [Remote host closed the connection]
anticomputer has joined #commonlisp
notzmv has quit [Ping timeout: 244 seconds]
ldb has joined #commonlisp
mon_aaraj has joined #commonlisp
ldb has quit [Ping timeout: 248 seconds]
aartaka has quit [Ping timeout: 240 seconds]
mon_aaraj has quit [Ping timeout: 246 seconds]
morganw has quit [Remote host closed the connection]
mon_aaraj has joined #commonlisp
ldb has joined #commonlisp
ldb has quit [Ping timeout: 240 seconds]
vassenn has quit [Remote host closed the connection]
Guest74 has joined #commonlisp
mon_aaraj has quit [Ping timeout: 256 seconds]
mon_aaraj has joined #commonlisp
rotateq has quit [Ping timeout: 248 seconds]
ldb has joined #commonlisp
ldb has quit [Ping timeout: 276 seconds]
jmdaemon has joined #commonlisp
ldb has joined #commonlisp
ldb has quit [Ping timeout: 248 seconds]
rotateq has joined #commonlisp
yauhsien has joined #commonlisp
homie has quit [Quit: WeeChat 3.5]
yauhsien has quit [Ping timeout: 246 seconds]
rodicm has joined #commonlisp
mon_aaraj has quit [Ping timeout: 256 seconds]
<contrapunctus>
So I was kind of intrigued by the `mgl-pax` library, and wanted to see how many projects used it. So I searched GitHub for Common Lisp projects containing the text `defsection`, and came across this - https://github.com/40ants/doc
mon_aaraj has joined #commonlisp
ldb has joined #commonlisp
mon_aaraj has quit [Ping timeout: 246 seconds]
mon_aaraj has joined #commonlisp
ldb has quit [Ping timeout: 248 seconds]
aartaka has joined #commonlisp
brettgilio has joined #commonlisp
yauhsien has joined #commonlisp
yauhsien has quit [Ping timeout: 248 seconds]
ldb has joined #commonlisp
kpoeck has joined #commonlisp
aartaka has quit [Ping timeout: 240 seconds]
aartaka has joined #commonlisp
ldb has quit [Ping timeout: 248 seconds]
Guest74 has quit [Quit: Connection closed]
rodicm has quit [Quit: Leaving]
dra has joined #commonlisp
ldb has joined #commonlisp
ldb has quit [Ping timeout: 248 seconds]
dra has quit [Ping timeout: 244 seconds]
<theothornhill>
Are there any reliable jwt/jws libraries for common lisp? I've tried the fukamachi jose library, but it cannot parse tokens from the aws load balancer, unfortunately
ldb has joined #commonlisp
ldb has quit [Client Quit]
asarch has quit [Read error: Connection reset by peer]
asarch has joined #commonlisp
aartaka has quit [Ping timeout: 240 seconds]
kpoeck has quit [Quit: Client closed]
asarch has quit [Remote host closed the connection]
Madsy has joined #commonlisp
asarch has joined #commonlisp
asarch has quit [Remote host closed the connection]
asarch has joined #commonlisp
artchad has quit [Read error: Connection reset by peer]
Dynom has quit [Quit: WeeChat 3.5]
nytpu_ is now known as nytpu
livoreno has joined #commonlisp
anticomputer has quit [Remote host closed the connection]