eschatologist has quit [Ping timeout: 264 seconds]
Oladon has joined #lisp
Rawriful has quit [Quit: WeeChat 1.4]
<pillton> Probably. I don't know of any.
smurfrobot has quit [Ping timeout: 255 seconds]
<pillton> Personally, I would just write everything to a temporary file and process the temporary file.
fikka has quit [Ping timeout: 256 seconds]
<pillton> It can be done with a single thread and there is no possibility of starvation/deadlock.
fikka has joined #lisp
Kaisyu has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
pilfink has joined #lisp
openthesky has joined #lisp
red-dot has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 276 seconds]
openthesky has quit [Ping timeout: 260 seconds]
jmercouris has joined #lisp
JenElizabeth has joined #lisp
JenElizabeth has quit [Remote host closed the connection]
JenElizabeth has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
spoken-tales has quit [Ping timeout: 276 seconds]
markong has quit [Ping timeout: 256 seconds]
jameser has joined #lisp
fikka has joined #lisp
igemnace has quit [Read error: Connection reset by peer]
igemnace has joined #lisp
fikka has quit [Ping timeout: 276 seconds]
shifty has quit [Ping timeout: 255 seconds]
fikka has joined #lisp
varjag has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
<White_Flame> in terms of wanting (defconstant +fixed-list+ '(a b c)), since the list value is not the clhs-same as the prior read list value, what's the preferred way around it?
pilfink has quit [Quit: ERC (IRC client for Emacs 25.3.1)]
<White_Flame> one would be to keep it in a file that isn't easily reloaded, another would be to wrap defconstant in a macro that tests if the constant is unbound before doing DEFCONSTANT
<White_Flame> the problem being that when editing & recompiling, the constant differs in sameness and throws errors
<Xach> White_Flame: alexandria:define-constant is a very very short macro that does that.
<Xach> a check for boundp, that is
<White_Flame> right, we wrote one, too. Just hit it again, and polling what the preference is
<White_Flame> smells like checking bound is the way to go, if it's common enough for alexandria (which we still haven't fully migrated to :-P)
varjag has quit [Ping timeout: 264 seconds]
marusich has quit [Ping timeout: 255 seconds]
pagnol has joined #lisp
<Xach> I personally use defvar instead.
<White_Flame> but muh optimizations!!11 ;)
<White_Flame> but srsly, I am working on very old code, so constraints are good
<pierpa> just don't use defconstant for non-atomic values
fikka has joined #lisp
<pagnol> has anyone here read "Object-Oriented Programming in COMMON LISP" by Sonya Keene?
<Xach> pagnol: I have read it.
<pagnol> do you recommend it? I'm wondering if I should get a copy
<Xach> pagnol: it is a good tutorial introduction
<pagnol> Does it discuss the MOP?
<Xach> pagnol: I don't recall. I don't think so.
<pagnol> Is AMOP really the only book that covers the MOP?
jstypo has joined #lisp
<Xach> pagnol: Hmm, I'm not sure. It's considered a kind of reference work.
<Xach> I would someday like to try using MOP stuff but so far have skipped it.
<Bike> i don't know of any books that cover it.
<Bike> part of it is that amop isn't even a reference, it's written like "hey, we could design clos to work like this. wouldn't that be cool? still kind of a work in progress" but then it gets used as a reference anyway.
<Xach> that sounds partly like the story of Self
<pagnol> Self?
fikka has quit [Ping timeout: 264 seconds]
<Xach> pagnol: a programming language.
<pagnol> ah
<Xach> reminds me because the story of self is kind of like "here's what we want the language to be like, let's work relentlessly to make it fast enough to be practical"
<Bike> lots of parts of mop are actually kind of loony, which more design probably could have worked out
<Bike> the parts people actually use are mostly fine, though
Tobbi has quit [Remote host closed the connection]
<pagnol> Bike, which parts seem loony to you?
<Bike> make-method-lambda is a big one
<Bike> pcos even wrote a paper on it
<Bike> But most of the reason people use mop is to interrogate classes, rather than methods or generic functions. and the metaclass stuff is pretty solid.
Tobbi has joined #lisp
<Bike> i managed to write something that mimicked a python library with class annotations and such like in like, a day. pretty good
<pagnol> Bike, is it on Github or somewhere else?
ebrasca has quit [Read error: Connection reset by peer]
<Bike> the thing i wrote?
<pagnol> yes
<Bike> yeah it's... somewhere. let me see if i can't find it for you.
<pagnol> I'm looking for some MOP sample code that I can study
<Bike> ignore the stuff with cljw:
<Bike> the comment on top explains most of it... basically it adds some things to slot definitions
ebrasca has joined #lisp
spoken-tales has joined #lisp
dddddd has quit [Remote host closed the connection]
EvW has quit [Ping timeout: 276 seconds]
nirved has quit [Quit: Leaving]
scymtym has quit [Write error: Broken pipe]
scymtym has joined #lisp
fikka has joined #lisp
eschatologist has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
<pagnol> Bike, what does the #+(or) do?
<Bike> makes the reader skip the nxt form
<pagnol> I am new to Lisp in case that's not too obvious already
<pagnol> ah
<Bike> clhs #+
turkja has joined #lisp
fikka has joined #lisp
krwq has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 248 seconds]
openthesky has joined #lisp
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 256 seconds]
<White_Flame> (and) is true, (or) is false in computer-boolean speak
SuperJen has joined #lisp
<White_Flame> AND keeps testing to see if it hits something false, so it can drop out, default to true if nothing tripped that test
<White_Flame> OR does the opposite, early exiting if it hits something true, defaulting to false if none is found
<White_Flame> the #+ and #- reader macros are sortakinda like IFDEF from C's preprocessor, including or excluding the following form based on the boolean expression
bms_ has joined #lisp
openthesky has quit [Ping timeout: 260 seconds]
openthesky_ has joined #lisp
fikka has joined #lisp
<White_Flame> so things like #+sbcl (sb-ext:something) #+clisp (something-else) will include a custom expression per implementation
<aeth> Those aren't the only ones with defaults. (*) is 1 and (+) is 0
<fiddlerwoaroof_> #+ and #- are a bit tricky when you're writing a reader macro
<White_Flame> because the symbols SBCL and CLISP are in the variable *FEATURES* on their respective plaform. #+/#- searches that list
<aeth> It's actually interesting to see things with 0 arguments that can only be 0-argument in a non-infix language
<fiddlerwoaroof_> As far as I can tell, your reader macro function gets called but its output is ignored
<Bike> indeed so.
<fiddlerwoaroof_> So, if you depend on something system-dependent, you're in for a bad time
<White_Flame> right, it has to know to consume the next form, hence it has to run the reader
rumbler31 has joined #lisp
<Bike> your reader macro function can check read-suppress and do jack shit properly
<fiddlerwoaroof_> It makes sense, it's just surprising the first time you encounter it
<White_Flame> so don't side effect in macros, reader or otherwise
JenElizabeth has quit [Ping timeout: 276 seconds]
<aeth> Writing a reader macro that returns a lambda is an interesting solution
<fiddlerwoaroof_> In my case, the problem was ccl would complain when it tried to read SB-SYS:SYSTEM-AREA-POINTER
<fiddlerwoaroof_> Hmm, that wasn't it, I wonder what it was...
<fiddlerwoaroof_> Ah, yeah, I was using destructuring-bind on the result of read-delimited-list and getting nil
<fiddlerwoaroof_> Which was surprising
kark has quit [Ping timeout: 256 seconds]
kark has joined #lisp
aene has joined #lisp
loli has quit [Ping timeout: 256 seconds]
presiden has quit [Quit: WeeChat 1.9.1]
drot has quit [Quit: Quit.]
shrdlu68 has quit [Ping timeout: 255 seconds]
terpri has quit [Ping timeout: 240 seconds]
loli has joined #lisp
ebzzry has joined #lisp
aene has left #lisp ["ERC (IRC client for Emacs 25.2.2)"]
jameser has quit [Read error: Connection reset by peer]
jameser has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
warweasle has joined #lisp
Tobbi has quit [Remote host closed the connection]
openthesky_ has quit [Quit: Page closed]
Tobbi has joined #lisp
fikka has joined #lisp
FreeBirdLjj has joined #lisp
pagnol has quit [Ping timeout: 256 seconds]
Sauvin has quit [Ping timeout: 256 seconds]
LocaMocha has joined #lisp
d4ryus1 has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
FreeBirdLjj has quit [Ping timeout: 255 seconds]
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
d4ryus has quit [Ping timeout: 276 seconds]
fikka has joined #lisp
spoken-tales has quit [Remote host closed the connection]
kolb has quit [Read error: Connection reset by peer]
mrottenkolber has joined #lisp
pierpa has quit [Quit: Page closed]
spoken-tales has joined #lisp
mrottenkolber is now known as Guest6187
spoken-tales has quit [Remote host closed the connection]
spoken-tales has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
megalography has joined #lisp
ebrasca has quit [Read error: No route to host]
damke_ has joined #lisp
ebrasca has joined #lisp
manualcrank has joined #lisp
fikka has joined #lisp
varjag has joined #lisp
fikka has quit [Ping timeout: 276 seconds]
spoken-tales has quit [Quit: ERC (IRC client for Emacs 25.3.1)]
varjag has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
epony has quit [Quit: QUIT]
damke has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
<pillton> Bike: Why is make-method-lambda loony? I thought it was needed for call-next-method.
<Bike> consider having a file with (defgeneric foo ...) and then (defmethod foo ...)
<Bike> did you know that if you compile this file, the generic function will be defined by the defmethod at macroexpansion time, so that make-method-lambda can be used?
<pillton> Yes.
<Bike> well, that's loony
shifty has joined #lisp
<Bike> and it's not the only possible solution to do call-next-method
damke_ has quit [Ping timeout: 264 seconds]
<pillton> I don't really see the difference between that and a type being made available when compiling a defclass.
<pillton> A generic function might disallow call-next-method.
dtornabene has quit [Remote host closed the connection]
<Bike> the difference is that the definition still comes from the defclass
fikka has joined #lisp
<Bike> anyway, that's just a weird tidbit, the actual problem is that make-method-lambda lets you control the exact form of the method functions, except nobody seems to really support that super well
<Bike> like, you can have a method function that takes more than two arguments, but how do you call it? call-method? call-method already has contradictory definitions between the mop and clhs
<Bike> and the mop's isn't very specific or explicit
epony has joined #lisp
<pillton> Oh wait. The defmethod creates another function object which may be different to the one specified by the previous defgeneric.
<pillton> ?
<Bike> yes, the defgeneric has to reinitialize the generic probably
<pillton> Oh. That is dumb.
epony has quit [Max SendQ exceeded]
<Bike> https://pdfs.semanticscholar.org/38b2/39e630294c2020c1de7815e0bd1f9261e508.pdf here, just read this, cos does more mop shit than i ever will
<Bike> though i'm not totally on board with his alternative either
epony has joined #lisp
<pillton> I made it an error in specialization-store to define "methods" for a non existent "generic" function.
jameser has quit [Read error: Connection reset by peer]
kark has quit [Remote host closed the connection]
sz0 has quit [Quit: Connection closed for inactivity]
jameser has joined #lisp
<pillton> I'll have a read during the week.
wigust has joined #lisp
fikka has quit [Ping timeout: 276 seconds]
<beach> Good morning everyone!
<Bike> that seems like it's probably required by your less dynamic system
<Bike> clos pretty much lets you redefine anything whenever you friggin want
<beach> pillton: Are you planning to submit an article, perhaps about specialization-store, to ELS?
<pillton> I was going to but I had a third child.
<beach> Oh!
<pillton> Well, my wife did.
<beach> Congratulations, I guess!
<pillton> Maybe next year. Who knows.
<beach> Sure. Never too late. Barring disasters from global climate change, or course.
<pillton> The other benefit you get for signalling an error for non existent generic functions is that the syntax layer can also become parameterised by the function object.
fikka has joined #lisp
kark has joined #lisp
<pillton> For example, the processing of new class options to defclass should be done by the metaclass. I don't think that is the case at present.
jameser has quit [Quit: Textual IRC Client: www.textualapp.com]
<Bike> i think they're all quoted
fikka has quit [Ping timeout: 256 seconds]
<pillton> Yeah, which is silly.
<Bike> which is a little annoying, it's true. i wanted to do something funny with methods but the extra initargs are all quoted and it stymied me
<Bike> slot definitions are probably the messiest part though
yangby has joined #lisp
heurist has quit [Read error: Connection reset by peer]
heurist has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
scottj has joined #lisp
fikka has joined #lisp
jself_ has quit [Quit: ZNC - 1.6.0 - http://znc.in]
epony has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 276 seconds]
kark has quit [Ping timeout: 276 seconds]
Oladon has quit [Quit: Leaving.]
epony has joined #lisp
epony has quit [Max SendQ exceeded]
jself has joined #lisp
epony has joined #lisp
aindilis has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
terpri has joined #lisp
nika has joined #lisp
fikka has joined #lisp
Jen has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
warweasle has quit [Quit: Leaving]
red-dot has quit [Ping timeout: 255 seconds]
presiden has joined #lisp
SuperJen has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
damke_ has joined #lisp
Hydan has joined #lisp
QualityAddict has quit [Ping timeout: 256 seconds]
damke has quit [Ping timeout: 264 seconds]
schoppenhauer has quit [Ping timeout: 276 seconds]
fikka has joined #lisp
schoppenhauer has joined #lisp
ebzzry has quit [Ping timeout: 256 seconds]
arbv has quit [Ping timeout: 256 seconds]
fikka has quit [Ping timeout: 240 seconds]
arbv has joined #lisp
smurfrobot has joined #lisp
kark has joined #lisp
damke has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
fikka has joined #lisp
smurfrobot has quit [Ping timeout: 256 seconds]
Hydan has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
varjag has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
SaganMan has joined #lisp
varjag has quit [Ping timeout: 276 seconds]
koenig1 has joined #lisp
koenig has quit [Ping timeout: 268 seconds]
fikka has joined #lisp
<pillton> Bike: Could this be the reason you have to specify the method combinator as well?
<Bike> hwhat?
<Bike> what's a method combinator
smurfrobot has joined #lisp
<Bike> specify when
<pillton> (defmethod foo append (...) ...)
<Bike> those are qualifiers
<pillton> Oh sorry.
<Bike> i'm not sure what you mean by "have to specify"
damke_ has joined #lisp
<pillton> If you specify the append method combinator in the generic function, why do you need to do it again in the method definition?
<Bike> oh, no, that's just because that's how the append method combination is defined.
<Bike> the method qualifiers aren't really relevant until a method combination is actually done, and that might be as late as when youc all the generic function
<Bike> anyway night
Bike has quit [Quit: leaving]
fikka has quit [Ping timeout: 248 seconds]
<pillton> Night.
damke has quit [Ping timeout: 264 seconds]
smurfrobot has quit [Ping timeout: 256 seconds]
SaganMan has quit [Quit: WeeChat 1.6]
kark has quit [Ping timeout: 256 seconds]
FreeBirdLjj has joined #lisp
koenig1 is now known as koenig
FreeBirdLjj has quit [Ping timeout: 255 seconds]
fikka has joined #lisp
<jmercouris> I'm trying to understand pathnames
<jmercouris> and I don't get why nesting a merge pathname doesn't result in a longer path
kark has joined #lisp
chens``` has quit [Ping timeout: 255 seconds]
<jmercouris> (merge-pathnames (merge-pathnames (uiop:xdg-config-home) #p"salmon") #p"lol")
<jmercouris> #P"/Users/jmercouris/.config/salmon"
<jmercouris> why wouldn't that produce .config/salmon/lol?
orivej has joined #lisp
<pillton> (merge-pathnames #p"salmon" (uiop:xdg-config-home))
<pillton> And it should be "salmon/"
kark has quit [Remote host closed the connection]
chens``` has joined #lisp
<jmercouris> so the first arg gets appended?
fikka has quit [Ping timeout: 256 seconds]
kark has joined #lisp
<jmercouris> thank you, I had the order wrong for some reason
<jmercouris> I was using it wrong for so many months now
<jmercouris> it now makes sense why my first one wouldnt work, there is no root dir lol/
<pillton> Read the paragraph starting with "Pathname merging treats a relative directory specially."
<pillton> clhs merge-pathnames
<jmercouris> ok, I just read it
<pillton> You also have to remember that common lisp pathnames discriminate between files and directories regardless of what the OS thinks.
<pillton> So #p"salmon" is equivalent to (make-pathname :name "salmon") which is not (make-pathname :directory '(:relative "salmon")).
<jmercouris> why do we hvae make-pathname, and pathname?
<pillton> Pathname accepts pathname-designators.
<jmercouris> and make-pathname accepts strings it seems
fikka has joined #lisp
<jmercouris> alright, so my function works: https://gist.github.com/bea205432895183d84e6a42f46215b28
<jmercouris> but I feel like I did something dirty here
<jmercouris> it's supposed to make a file relative to ~/.config/next/, so if you pass (xdg-data-home "fish") it will point to ~/.config/next/fish
<jmercouris> and it works, but I feel as if I am abusing the functions
fikka has quit [Ping timeout: 256 seconds]
khisanth_ has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
damke has joined #lisp
<pillton> I usually do (defvar *foo-data-directory* (merge-pathnames ...)) and then (defun foo-data-path (in) (merge-pathnames in *foo-data-directory*)).
scottj has left #lisp [#lisp]
damke_ has quit [Ping timeout: 264 seconds]
<jmercouris> I see
<jmercouris> Is there any advantage to that/
<jmercouris> s/\/?
oleo has quit [Quit: Leaving]
<pillton> Well, if you are nice, the variables would go in a foo-config.asd system which would allow the user to configure the pathnames before loading foo.asd.
milanj has quit [Quit: This computer has gone to sleep]
<pillton> You are essentially hard coding.
<jmercouris> wait a second, I didn't even know this was possible to set variables in an asd
<jmercouris> this changes a lot of things
<jmercouris> pillton: do you have an example I may look at?
<jmercouris> I don't want to be mean to my users, believe me :D
<pillton> The variables don't go in the asd. I meant that you create a foo-config system which loads a lisp file containing the variables.
<jmercouris> and so what exactly? My system will depend on this system?
<pillton> Yes.
<jmercouris> what if this system does not exist on the user's machine?
<pillton> You put it in the same directory as the system.
<pillton> There are two asd files in that project.
<pillton> ASDF supports multiple systems per asd file.
<mfiano> except there is a bug currently regarding this
<jmercouris> pillton: yeah, I have multiple systems in my asd file already
<jmercouris> so specialization-store-features is your system for configuration
<jmercouris> and you allow the user to set some startup specific variables basically?
khisanth_ has joined #lisp
<pillton> Yes. (Though the example I linked is a system for figuring out what an implementation supports.)
<jmercouris> Sure, at any rate, is an interesting idea
<jmercouris> I will have to think about it
<jmercouris> already the users have enough freedom by being allowed to set xdg home$
varjag has joined #lisp
<jmercouris> it's not like emacs lets you setup your configuration directory anyway :D
<pillton> We need a defacto standard for configuration in my opinion.
<pillton> The current situation with respect to shared libraries is ridiculous.
<jmercouris> well yeah, thats the whole point of xdg
<jmercouris> I didn't want to implement it as I'd rather have a nice ~/.next.d dir, but I think it is what users want
<jmercouris> and it is the future
<pillton> Maybe. It seems Linux specific.
<jmercouris> That it is, but I'm not targetting windows at the moment
<jmercouris> it also works on MacOS
sonologico has quit [Quit: WeeChat 1.9.1]
varjag has quit [Ping timeout: 256 seconds]
<jmercouris> I can't speak for all *nix
<pillton> Anyway, I think this stuff should go in a separate system. That was my point.
<jmercouris> It's a good point, I'll consider it for the future
<jmercouris> btw I like your goat picture
<pillton> It is a donkey I think.
rumbler31 has quit [Remote host closed the connection]
<jmercouris> I've seen a lot of donkeys in my life, and that would surprise me if it is one
<jmercouris> It's definitely a goat, the ears are all wrong for a donkey
varjag has joined #lisp
smurfrobot has joined #lisp
smurfrobot has quit [Ping timeout: 256 seconds]
lemonpepper24 has quit [Ping timeout: 255 seconds]
smurfrobot has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
varjag has quit [Ping timeout: 276 seconds]
jmercouris has quit [Ping timeout: 256 seconds]
Karl_Dscc has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
yeticry has quit [Ping timeout: 256 seconds]
patche has joined #lisp
patche is now known as _sebbot
yeticry has joined #lisp
fikka has joined #lisp
<borei> hi all
flamebeard has joined #lisp
<borei> quick question about :before method
Murii has joined #lisp
<borei> i have several classes generic-vector (just vector) --> r-vector (vector with double-float components) and 3d-vector (vector in our 3D space)
chens``` has quit [Read error: Connection reset by peer]
yangby has quit [Quit: Go out for a walk and buy a drink.]
<borei> i want that 3d-vector will be derivative from r-vector
failproofshark has quit [Remote host closed the connection]
<beach> A subclass you mean?
<borei> yep
<beach> What's stopping you?
<phoe> (defclass generic-vector () ()) (defclass r-vector (generic-vector) ()) (defclass 3d-vector (r-vector) ()) - this is what I understand so far
<borei> my question is will initialize-instance :before method be proper place to provide space dimension for 3d-vector
<phoe> (aside from the class slots, obviously)
<borei> so it will be passed down to r-vector
<beach> borei: Is the space going to be stored in the instance?
nullman has quit [Ping timeout: 256 seconds]
<beach> borei: as a slot?
<borei> yep
<borei> space will go to generic-vector
<beach> borei: Then just make it an :initarg in the most general class.
<borei> space dimension
<beach> .. and you are done.
<beach> No need for any :BEFORE methods.
orivej has quit [Ping timeout: 256 seconds]
<borei> hmm, intersting approach
nullman has joined #lisp
<phoe> I would rather define an INITIALIZE-INSTANCE :AFTER method on GENERIC-VECTOR with a key argument of :SPACE asking either for the vector size, or :VECTOR asking for the array itself.
scymtym has quit [Ping timeout: 256 seconds]
<phoe> This way, you can either setf the vector to the slot, or construct a new vector based on :SPACE.
<phoe> But that depends on how you want to initialize the generic-vector class, and may depend the most of the array element type of your vectors.
<phoe> because if you only pass :SPACE, then you have no chance to modify the type of the vector.
<phoe> so you may actually want to add :SIZE and :TYPE, or just :MAKE-ARRAY-ARGUMENTS for most generality.
Kevslinger has quit [Quit: Connection closed for inactivity]
smurfrobot has quit [Remote host closed the connection]
<borei> wait wait
<phoe> and (check-type size unsigned-byte) (apply #'make-array size make-array-arguments) in your constructor.
<phoe> But I'm rambling. :P
pfdietz has quit [Ping timeout: 264 seconds]
<borei> don't solve my problem completely :-) left something for me :-)
GreaseMonkey has quit [Remote host closed the connection]
<phoe> woops!
<phoe> okay~
* phoe runs off, real life is waiting
<borei> i didn't get one item (sorry, a bit slow).
<borei> when i do call make-instance 'vector-3d i don't want to supply space dimension, it's clear from the class type
<borei> but how do i pass space dimension to parent class ?
<borei> r-vector in my case
<borei> that is why i was looking toward :before method
<phoe> hmm, I see.
loli has quit [Ping timeout: 256 seconds]
<phoe> You could try to define an INITIALIZE-INSTANCE method on VECTOR-3D that calls (call-next-method :size 3).
<phoe> I *think* this should work.
pfdietz has joined #lisp
<borei> interesting
dec0n has joined #lisp
<phoe> This should work since you are allowed to define custom methods on INITIALIZE-INSTANCE.
<borei> ok, seems like i have several options how to solve my problem
<phoe> or actually...
greaser|q has joined #lisp
<phoe> (defclass 3d-vector (r-vector) () (:default-initargs :size 3))
<phoe> this also appears that it should work, with the additional side effect of making it impossible for the user to supply their own :SIZE.
<borei> for 3d-vector there is no other sizes other then 3
<phoe> wait, scratch that side effect,.
<phoe> I misunderstood the text. No, it doesn't prevent the user.
<borei> seems like :default-initargs option is exactly what im looking for
orivej has joined #lisp
Karl_Dscc has quit [Remote host closed the connection]
fcang has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
fcang has quit [Client Quit]
fcang has joined #lisp
bms_ has quit [Remote host closed the connection]
aindilis has quit [Ping timeout: 256 seconds]
kark has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
kark has joined #lisp
smurfrobot has joined #lisp
visof has joined #lisp
smurfrobot has quit [Ping timeout: 256 seconds]
ebrasca` has joined #lisp
ebrasca has quit [Read error: Connection reset by peer]
mishoo_ has joined #lisp
sthalik has joined #lisp
emacsomancer has joined #lisp
smurfrob_ has joined #lisp
hajovonta has joined #lisp
smurfrob_ has quit [Ping timeout: 248 seconds]
kark has quit [Remote host closed the connection]
fcang has left #lisp [#lisp]
kark has joined #lisp
Murii has quit [Remote host closed the connection]
smurfrobot has joined #lisp
jameser has joined #lisp
jameser has quit [Client Quit]
SaganMan has joined #lisp
smurfrobot has quit [Ping timeout: 256 seconds]
smurfrobot has joined #lisp
fikka has quit [Quit: leaving]
fikka has joined #lisp
quazimodo has quit [Ping timeout: 256 seconds]
smurfrobot has quit [Ping timeout: 256 seconds]
Cymew has joined #lisp
Hydan has joined #lisp
_sebbot has quit [Quit: Lost terminal]
varjag has joined #lisp
markong has joined #lisp
Hydan has quit [Client Quit]
aindilis has joined #lisp
Hydan has joined #lisp
turkja has quit [Ping timeout: 276 seconds]
fikka has quit [Ping timeout: 256 seconds]
vlatkoB has joined #lisp
fikka has joined #lisp
Arcaelyx has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Hydan has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
vtomole has joined #lisp
greaser|q has quit [Changing host]
greaser|q has joined #lisp
Hydan has joined #lisp
shrdlu68 has joined #lisp
Arcaelyx has joined #lisp
shka has joined #lisp
ebzzry has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
SuperJen has joined #lisp
damke_ has joined #lisp
scymtym has joined #lisp
damke has quit [Ping timeout: 264 seconds]
trittweiler has joined #lisp
Jen has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
SuperJen has quit [Ping timeout: 260 seconds]
damke has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
damke_ has quit [Ping timeout: 264 seconds]
trittweiler has quit [Read error: Connection reset by peer]
trittweiler has joined #lisp
SaganMan has quit [Quit: WeeChat 1.6]
fikka has joined #lisp
damke has quit [Ping timeout: 264 seconds]
safe has joined #lisp
ebrasca` is now known as ebrasca
Murii has joined #lisp
schweers has joined #lisp
<schweers> It seems my intuition is misguided here, maybe someone can clarify: how come SORT is marginally faster on a list than on a simple-array? Both without any type declarations and initially filled with the same random fixnums.
<schweers> I filled the list with (random most-positive-fixnum) and copied it over to the array
visof_ has joined #lisp
<beach> Just guessing, but mergesort is faster than quicksort, and mergesort is easy to implement on a list, but hard on a vector, so typically quicksort is used on vectors instead.
<Shinmera> schweers: How big are we talking?
<schweers> 1000000 elements
visof has quit [Ping timeout: 260 seconds]
<schweers> okay, I get that different algorithms may be the reason, but, admitting to have quite the gap in my knowledge … is mergesort really faster than quicksort? I guess not always, right?
<beach> It is always at least as fast.
<beach> It always divides the problem exactly in half, which is optimal.
<Shinmera> If I remember correctly Quicksort has a big problem in choosing the pivot.
hhdave has joined #lisp
<beach> Quicksort can be arbitrarily bad depending on how the pivot element is chosen.
<schweers> ah, I remember, it needs more memory
<schweers> yes, now I remember.
<schweers> thanks for the refresher
<beach> mergesort needs O(n) additional memory (except for recent research that decreases that significantly, at the cost of more operations).
damke has joined #lisp
<Shinmera> Can't mergesort also be parallelised easily? Though I doubt any implementations do that currently
<beach> But since the list already contains O(n) additional memory, no more memory is required to use mergesort on a list.
<beach> The can both be parallelized, because they are both divide-and-conquer, so they both generate two separate problems of around half the size.
kark has quit [Ping timeout: 256 seconds]
orivej has quit [Ping timeout: 256 seconds]
<beach> The interesting thing I plan to do is to implement mergesort on vectors by checking how much stack space is available and choosing an implementation that is good for that available space. In the worst case, choose a slower version that uses only O(1) additional memory as recent research shows is possible.
<schweers> beach: you mentioned that this comes at the cost of more operations. do you know off the top of your head how much more?
<beach> I don't remember. The complexity is still the same as I recall.
<beach> I can point you to the relevant paper is you are really interested.
<schweers> only if it’s no trouble. Don’t invest more than 30 seconds for me.
<schweers>
<beach> Fast Stable Merging and Sorting in Constant Extra Space, by Bing-Chao Huang and Michael A. Langston.
<schweers> thanks
<beach> Also: Practical In-place mergesort, by Jyrki Katajainen, Tomi Pasanen, and Jukka Teuhola.
Guest6187 is now known as kolb
<beach> And of course, the references of those articles.
Arcaelyx has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<schweers> hmm. that seems to be from 1992, is that correct?
<beach> Could be.
<beach> There might be something more recent. Go to dl.acm.org and do a forward search.
<beach> Do you know how to do that?
trittweiler_ has joined #lisp
<schweers> found something from 1998, but can’t read it, as I don’t have an acm subscription.
<beach> It is well worth getting one. It is not expensive and you get a discount on conferences, sometimes even on ELS.
<schweers> I have to admit that I’m not quite sure what you meant by “forward search”. I just used the search bar.
<beach> For each article entry, there is a "cited by" list. You find the entry for the article you know about, then you click on that list. That way you go forward in time.
<schweers> huh. up to 136$ … per year, I guess?
trittweiler has quit [Ping timeout: 255 seconds]
Hydan has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
EvW1 has joined #lisp
<TMA> funny that this come up a few days ago so that I still had it open
<TMA> *came
<beach> schweers: Sounds right.
<schweers> TMA: I found that one, but still, thanks :)
drot has joined #lisp
<beach> schweers: One espresso per week.
<schweers> beach: I first thought it was per month and was a little shocked
<beach> No, no. It is not very expensive at all.
smurfrobot has joined #lisp
<schweers> Well, as they ask 15$ for the paper itself, I first assumed the worst.
<beach> That's what I mean by the membership being worth it. You win after just a few articles.
<beach> And it saves time. Just log in and download the PDF.
<beach> If you don't want to be a member, sometimes you find PDFs on Google Scholar.
<Shinmera> There's also sci-hub.
<beach> I personally like the ACM, so I don't mind supporting them.
<Shinmera> Sure
smurfrobot has quit [Ping timeout: 276 seconds]
<jackdaniel> I'm not very impressed by paywalls for articles (given they don't pay scientists for whose papers they charge and which are usually written for money collected in form of taxes)
<schweers> I wonder how sci-hub can be legal
<jackdaniel> it isn't
<jackdaniel> just a matter of jurisdiction
<beach> It could be worse. Now, many journals make the authors pay to have the article published, and it is not cheap either.
<schweers> As I’m not an academic I surely lack insight, but I do wonder how this model could ever arise, let alone stay alive in the digital age
<beach> I consider the ACM membership fee as paying for the entire digital library service (in addition to getting CACM on paper).
<beach> schweers: Inertial. On-line journals need to acquire the same prestige as the established journals owned by the publishing houses.
<beach> Inertia.
<schweers> beach: that’s not what I meant (the ACM). But what I’ve heard from other publishers is that they ask for money left and right (and quite substantial amounts at that) without /seeming/ (am I wrong here, I’d love to know) to provide any real benefit.
<schweers> Am I completely mistaken here?
<jackdaniel> imho we have a broken model with this regard
<beach> No, you are right. People feel forced to pay for the prestige.
<beach> Totally.
<beach> It is only a matter of time. This is probably why they try to extract as much money as possible before they disappear.
<TMA> schweers: well, originally it was a journal subscription -- a printed, bound object containing the articles. then there was a service that mailed you a single article. boom, the world went digital -- but the inertia and inflation means you pay for it even though the costs have bottomed.
vtomole has quit [Ping timeout: 260 seconds]
heurist` has joined #lisp
pagnol has joined #lisp
<jackdaniel> schweers: you may be interested in Aaron Swartz story (especially his Guerilla Access Manifesto)
<schweers> Yes, but aparantly universities pay obscene amounts of money to access their own research. Anyways, I should be doing other stuff than complaining online ;)
<schweers> I’ve heard the name before, just can’t pinpoint what he did.
<jackdaniel> he did many things but sadly he is no longer alive
<schweers> I know :/
<schweers> That’s the one thing I remember
* schweers is reading the wikipedia page on him right now
heurist has quit [Ping timeout: 256 seconds]
<hajovonta> hi all
smurfrobot has joined #lisp
<beach> Hello hajovonta.
hiroaki has joined #lisp
smurfrobot has quit [Ping timeout: 256 seconds]
markong is now known as margeas
orivej has joined #lisp
nullman has quit [Ping timeout: 256 seconds]
nullman has joined #lisp
m00natic has joined #lisp
orivej has quit [Ping timeout: 264 seconds]
chenbin has joined #lisp
<chenbin> can somebody help this sbcl on windows issue? https://pastebin.com/raw/3gAPvJQr thanks
<Shinmera> chenbin: Make sure the SBCL_HOME environment variable isn't set.
pilfink has joined #lisp
Cymew has quit [Remote host closed the connection]
milanj has joined #lisp
chenbin has quit [Remote host closed the connection]
safe has quit [Quit: Leaving]
<beach> Wow, not even a "thank you".
pjb has joined #lisp
knobo has joined #lisp
<knobo> Which documentation generation system do you use, and which do you think I (or other) should use?
<beach> Documentation can't be generated. It has to be written.
<Shinmera> Documentation isn't generated, you write it. But you can assemble the documentation into a single file with systems like Staple.
<TMA> beach: the thanks were paid in advance
* Shinmera looks in his thanks account and finds it empty
<knobo> sorry... Documentation builder
<beach> knobo: Perhaps you are thinking of generating documentation from documentation strings? That technique has the unfortunate consequence that there is no place to put a section about goals, concepts, philosophy, etc. As a result, the documentation often becomes incomprehensible.
<Shinmera> beach: Most systems do allow such a place.
<knobo> beach: Of course I do.
Cymew has joined #lisp
Xof has joined #lisp
<beach> TMA: What do you mean?
<knobo> I'm not a native english speaker.
<knobo> But I'm not stupid.
python476 has joined #lisp
<knobo> I know that documentation is not generated by it self from the code.
<beach> Shinmera: Good. Now it has to be used as well.
<Shinmera> knobo: It's not about being stupid or not, some people genuinely believe that dumping out function signatures counts as documentation.
<beach> knobo: I think both me and Shinmera object a bit to the term "documentation generation system" and I also think we both encourage more effort into writing good documentation as opposed to collecting it from documentation strings that are often inadequate, partly because they represent noise in the source code.
sbryant has quit [Ping timeout: 248 seconds]
<Shinmera> Colleen: tell knobo look up staple
<TMA> beach: the chenbin's question was ended with some five spaces and a "thanks" --- an inadequate expression of gratitude, granted, but not absent altogether
ebrasca has quit [Read error: Connection reset by peer]
<knobo> Ok. I just tried staple. Looks good so far.
ebrasca has joined #lisp
<beach> TMA: Ah, OK.
<beach> Take this one for instance (SBCL): (documentation 'car 'function) => "Return the 1st object in a list."
<knobo> Would be good if I could write documentation in a seperate file, and include documentation from docstrings.
<beach> knobo: You can.
<Shinmera> Colleen: tell knobo look up documentation-utils
<beach> clhs documentation
<knobo> Like when referencing a class, documentation of slots and methods get's included.
Cymew has quit [Ping timeout: 240 seconds]
<beach> knobo: Notice that documentation can be used with SETF.
<beach> knobo: Slots should not be part of client-visible documentation. They are implementation details that may change over time.
<knobo> beach: right.. I forgot about that. But simple inline docstrings can be useful. So I'll not use setf.
<knobo> beach: Yes api change. But there should be an api documentation also.
<beach> knobo: Document initargs and accessors, but not slots.
Cymew has joined #lisp
<knobo> ah. right.
smurfrobot has joined #lisp
<beach> Documentation strings that are physically near code represent noise to the maintainer of the code, because, presumably he or she already knows the external interface before attempting to modify the code. I think that is the reason (the noise factor) why many documentation strings are so skimpy; you don't want to mess up the code too much.
pagnol has quit [Quit: Ex-Chat]
<knobo> I sometimes find it useful to document the format of arguments in a function.
nika has quit [Remote host closed the connection]
nika has joined #lisp
<knobo> Though it is often easy to read it from the code. If the argument is an alist or a plist or something else.
Cymew has quit [Ping timeout: 276 seconds]
smurfrobot has quit [Ping timeout: 276 seconds]
<knobo> Any project that is so good that it could be used as a reference case for writing documentation?
visof__ has joined #lisp
Cymew has joined #lisp
damke_ has joined #lisp
<Shinmera> Edi's stuff is usually documented pretty well, I think.
<Shinmera> People also tell me they like my docs, but I don't know if it's great.
<knobo> Shinmera: but Edi's stuff is just written documentation in a separate file?
<beach> knobo: I am fairly proud of Cluffer: https://github.com/robert-strandh/Cluffer
<makomo> hi everyone
<beach> Hello makomo.
visof_ has quit [Ping timeout: 248 seconds]
<Shinmera> knobo: ... yeah so? Are you asking about the act of writing documentation, or the literal way in which the strings are put into source code?
<Shinmera> Because for the former I fail to see how the place where you put your documentation matters at all
nika has quit [Ping timeout: 260 seconds]
damke has quit [Ping timeout: 264 seconds]
nullman has quit [Ping timeout: 256 seconds]
<makomo> beach: does that mean you're robert?
nullman has joined #lisp
Cymew has quit [Ping timeout: 276 seconds]
<beach> makomo: I certainly am.
<makomo> hah wow, i didn't know :-)
<makomo> good stuff indeed
<beach> Do I know you?
<makomo> nope, i'm a CL newbie, i've only joined the community around a month or so ago
<knobo> So just writing the documentation in a separate latex or html file is the best.
<beach> Right, I see that in the logs.
<makomo> beach: but i've seen your work when i was looking at clasp
<beach> Oh, I see.
<makomo> thought i might see a nickname like "rstrandh" or something on irc. i always wondered who that guy was :-)
<knobo> In javascript I use jsdoc. I just thought maybe people used a similar strategy in lisp.
<makomo> nice to meet you ;-)
<knobo> I'll use org-mode then.
<Shinmera> knobo: I write the documentation overview, concepts, etc into the README.md . This then gets combined with the docstrings into an about.html file that contains the entire documentation for a project.
<makomo> knobo: i use org-mode for literally everything, it's great
<beach> makomo: Thanks, you too. For the record, my nick is just a literal translation into English of my last name.
<makomo> beach: oh, interesting
d4ryus1 is now known as d4ryus
Cymew has joined #lisp
<makomo> beach: ah, now i remember your page also (it has a unique look). i've read your essay on lisp a few months back i think, when i was just starting out.
<beach> Yes, some of those are somewhat popular.
_cosmonaut_ has joined #lisp
Cymew has quit [Ping timeout: 255 seconds]
kark has joined #lisp
Cymew has joined #lisp
rumbler31 has joined #lisp
orivej has joined #lisp
EvW1 has quit [Ping timeout: 255 seconds]
fikka has quit [Ping timeout: 248 seconds]
rumbler31 has quit [Ping timeout: 248 seconds]
kark has quit [Remote host closed the connection]
jstypo has quit [Read error: Connection reset by peer]
smurfrobot has joined #lisp
orivej has quit [Ping timeout: 248 seconds]
araujo has joined #lisp
jantar-tobak has joined #lisp
smurfrobot has quit [Ping timeout: 276 seconds]
thinkpad has quit [Quit: lawl]
ebdreger has quit [Ping timeout: 252 seconds]
smurfrobot has joined #lisp
fikka has joined #lisp
Tobbi has joined #lisp
loli has joined #lisp
smurfrobot has quit [Ping timeout: 256 seconds]
fikka has quit [Ping timeout: 256 seconds]
visof_ has joined #lisp
jstypo has joined #lisp
visof__ has quit [Ping timeout: 255 seconds]
visof__ has joined #lisp
visof_ has quit [Ping timeout: 248 seconds]
visof_ has joined #lisp
<phoe> beach: I'd like a review of my review.
dddddd has joined #lisp
<phoe> I want to make sure that I'm not making some errors while explaining Lisp.
<phoe> Please take a look at it when you have a while.
attila_lendvai has quit [Read error: Connection reset by peer]
<phoe> #lisp is obviously invited, too. (:
thinkpad has joined #lisp
<shka> hello
<phoe> hey shka
visof__ has quit [Ping timeout: 256 seconds]
<makomo> hi
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has joined #lisp
<shka> what is the cool's kid web framework nowdays?
<shka> caveman2?
<phoe> I used lucerne some time ago, if that matters
<Shinmera> I use Radiance.
<Shinmera> I'm not a cool kid though, so I guess that disqualifies it
<shka> Shinmera: well, needless to say you are not very good at marketing :-)
<phoe> he writes decent code though
<shka> well, let's try radiance
<shka> it does not look half bad
<beach> phoe: I will.
smurfrobot has joined #lisp
orivej has joined #lisp
<phoe> beach: thanks!
<osune_> I have two questions: Is it possible (without CFFI) to pass (c-)structs between embedded ecl and c? And: how valid is ECL as replacement for LuaJit as plugin language on ARM (Cortex A9 / Cortex A53) ?
<beach> phoe: The function does not do what NTH does, it does NTHCDR does.
<phoe> beach: yes, I noted this in my review.
<beach> Oh, I should read further. Heh.
<phoe> A valid remark though. (:
<pjb> I wonder why would anybody want to do the same as cool kids. They're the adult losers in general.
loli has quit [Ping timeout: 255 seconds]
<beach> Looks good.
<phoe> beach: thanks!
smurfrobot has quit [Ping timeout: 276 seconds]
<pjb> osune_: CFFI is only a portability layer over each implementation specific FFI API. So the answer to your question is yes, but you would be silly to do that.
<schweers> sounds pretty intuitive, they had to conduct a study for that? ;-P
<pjb> ecl is very valid, it's designed to be a plug-in language.
<pjb> e = embedded in ecl.
<jackdaniel> osune_: you may inline C in ECL programs and call CL functions from C, passing structs verbaitm is possible too of course
<jackdaniel> ECL doesn't do JIT though (unless you call that way built-in compiler, but its not the same in my eyes)
Tobbi has quit [Remote host closed the connection]
ebzzry has quit [Ping timeout: 256 seconds]
trittweiler_ has quit [Ping timeout: 255 seconds]
damke has joined #lisp
FreeBirdLjj has joined #lisp
nullniverse has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
<osune_> jackdaniel: thanks for this information. I've understood by reading the examples in the ecl directory and the manual how to convert from and to cl_object primitive types. But I miss an example of how to pass arrays and structs. I tried to look at EQL but I don't know QT and it's quite big. Can you point me to an example?
damke_ has joined #lisp
<osune_> I figured I would compile a lisp plugin file on startup to fasl once and would load the fasl?
damke__ has joined #lisp
damke has quit [Ping timeout: 264 seconds]
damke_ has quit [Ping timeout: 264 seconds]
shka has quit [Quit: Konversation terminated!]
fikka has joined #lisp
shka has joined #lisp
Tobbi has joined #lisp
<jackdaniel> you can build whole library as shared_object
<jackdaniel> I'd poke examples/ directory for same useful snippets
<osune_> jackdaniel: I could do that but, this would mean I need an compiler on the device. Which I don't have. I'll try to find more examples thanks so far.
<jackdaniel> you may compile to shared object beforehand, that's not a problem
<jackdaniel> fasl files are (in reality) disguised shared objects (don't confuse that with fasc, which are bytecode)
Cymew has quit [Remote host closed the connection]
<schweers> do people here actually use template systems in an editor for lisp? like yasnippet in emacs?
Cymew has joined #lisp
Cymew has quit [Read error: Connection reset by peer]
Cymew has joined #lisp
<osune_> jackdaniel: maybe I'm missing something or we missunderstood: I want to embedd ECL in a embedded C application on ARM. I create my Linux Image with buildroot. Currently I'm assuming ECL will just build fine. Now users can write a plugin for my application by: a) write lisp code which gets just loaded (do I get here an fasl or fasc?) b) write lisp code, compile it on their machine to C with the ECL compiler , which gets compiled to an
<osune_> *.so via gcc crosscompiler, the result can be loaded via dlopen on runtime. The goal here is that users of the device don't need access to the crosscompilation toolchain to write and load Plugins. Which eliminates option b)
shifty has quit [Ping timeout: 256 seconds]
<jackdaniel> if you don't have gcc compiler and you can't compile sources beforehand you end up with fasc files indeed
<osune_> which can be compiled from *.lisp files on the embedded device via the embedded ecl code right?
<jackdaniel> yes
<jackdaniel> keep in mind though that bytecode is much slower than native binary (put that on top of the fact that ECL isn't a speed champion anyway *and* that you run on a slow arm box) – so I wouldn't put serious computations in these plugins if I were you
smurfrobot has joined #lisp
dilated_dinosaur has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 256 seconds]
<pjb> serious computation = deep loops. Anything a user can write can be interpreted or byte-compiled without ill-effects. Just provide the fast primitives the user wants.
<osune_> Thanks for the heads up. The plugin code will process some binary data mostly. I currently don't expect heavy load computations. But I have the option to embedd ECL alongside to luaJit. Even if ECL will prove as an ill fit for the plugins it might come handy for configuration tasks.
<jackdaniel> cool
FreeBirdLjj has quit [Remote host closed the connection]
dilated_dinosaur has joined #lisp
hajovonta1 has joined #lisp
FreeBirdLjj has joined #lisp
hajovonta has quit [Ping timeout: 256 seconds]
hajovonta1 is now known as hajovonta
fikka has joined #lisp
FreeBirdLjj has quit [Ping timeout: 256 seconds]
margeas has quit [Quit: Konversation terminated!]
fikka has quit [Ping timeout: 240 seconds]
hajovonta1 has joined #lisp
hajovonta has quit [Read error: Connection reset by peer]
hajovonta1 has quit [Read error: Connection reset by peer]
Tobbi has quit [Remote host closed the connection]
Tobbi has joined #lisp
nirved has joined #lisp
Kevslinger has joined #lisp
smurfrobot has quit [Remote host closed the connection]
hajovonta has joined #lisp
wxie has joined #lisp
FreeBirdLjj has joined #lisp
asarch has joined #lisp
smurfrobot has joined #lisp
fikka has joined #lisp
visof_ is now known as visof
attila_lendvai has quit [Read error: Connection reset by peer]
visof has quit [Changing host]
visof has joined #lisp
visof has quit [Quit: Leaving]
attila_lendvai has joined #lisp
Tobbi has quit [Quit: Leaving]
hajovonta1 has joined #lisp
smurfrobot has quit [Ping timeout: 276 seconds]
smurfrobot has joined #lisp
Tobbi has joined #lisp
hajovonta has quit [Quit: hajovonta]
varjagg has joined #lisp
hajovonta1 has quit [Ping timeout: 265 seconds]
smurfrobot has quit [Ping timeout: 256 seconds]
araujo has quit [Read error: Connection reset by peer]
dim` is now known as dim
varjagg has quit [Ping timeout: 256 seconds]
hajovonta has joined #lisp
raynold has quit [Quit: Connection closed for inactivity]
grumble has quit [Quit: Well, would you look at the time. I've almost missed my ambiguous, non-existent appointment that I have scheduled just when I start to lose interest in my current conversation.]
makomo has quit [Ping timeout: 256 seconds]
grumble has joined #lisp
wxie has quit [Quit: Bye.]
JuanDaugherty has joined #lisp
<shka> Shinmera: i like docs for radiance
<shka> really good job
Murii has quit [Ping timeout: 264 seconds]
smurfrobot has joined #lisp
QualityAddict has joined #lisp
markong has joined #lisp
<Shinmera> Glad to hear!
<Shinmera> shka: If you're confused about anything, or find anything lacking, don't hesitate to let me know
<shka> Shinmera: thanks, i will, I will read reader application, it seems to be elaborate example
<Shinmera> shka: The tutorial linked in the docs goes through writing an entire application (plaster)
<shka> i missed it
<Shinmera> Colleen: tell shka look up radiance in-depth
<Colleen> shka: A lengthy and in-depth example https://shirakumo.github.io/radiance#a_lengthy_and_in-depth_example
<shka> well, yeah
<shka> i see the tutorial
<shka> i will go trough it, thanks!
nowhereman_ has quit [Ping timeout: 256 seconds]
fikka has quit [Ping timeout: 255 seconds]
rippa has joined #lisp
nowhereman_ has joined #lisp
shrdlu68 has quit [Read error: Connection reset by peer]
zukunf has joined #lisp
<zukunf> hei
<zukunf> what accounts for lisp high latency in this chart?? --> https://danluu.com/input-lag/
<lieven> not enough data to tell. If his terminal on the symbolics is a CLIM listener, it is doing far more work than just putting a character on the screen.
shrdlu68 has joined #lisp
Murii has joined #lisp
ebzzry has joined #lisp
_cosmonaut_ has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
rumbler31 has joined #lisp
Bike has joined #lisp
oleo has joined #lisp
asarch has quit [Ping timeout: 256 seconds]
moei has joined #lisp
jantar-tobak has quit [Remote host closed the connection]
rumbler31 has quit [Ping timeout: 265 seconds]
oleo has quit [Quit: Leaving]
smurfrobot has quit [Remote host closed the connection]
pilfink has quit [Ping timeout: 255 seconds]
rumbler31 has joined #lisp
Jesin has joined #lisp
nika has joined #lisp
ebzzry has quit [Ping timeout: 256 seconds]
smurfrobot has joined #lisp
Jesin has quit [Quit: Leaving]
Cymew has quit [Remote host closed the connection]
QualityAddict has quit [Ping timeout: 256 seconds]
smurfrobot has quit [Ping timeout: 264 seconds]
<shka> is there a way to ensure that lisp file is always loaded from scratch and never cached in FAS?
Oladon has joined #lisp
QualityAddict has joined #lisp
<flip214> shka: "touch *.asd"
<shka> more automatic?
<flip214> or touch the source file
Cymew has joined #lisp
<shka> yes, yes, i know about that
<flip214> I'm sure there's some kind of ASDF hook you can use right after parsing
<shka> but there has to be better way to do that
<rumbler31> why does there have to be a better way?
<shka> ok, i will try to figure this out later
<Shinmera> Define a custom ASDF component that just does LOAD on both COMPILE-OP and LOAD-OP
<shka> rumbler31: because i am optimist! :D
<rumbler31> well is there some behavior you are trying to avoid?
<Shinmera> There's nothing built into ASDF to do this, unless you want to just LOAD everything, in which case there's load-source-op, if I remember correctly.
<flip214> shka: have only :serial dependencies and do something with the first component
flamebeard has quit [Quit: Leaving]
<shka> not critical
<flip214> has a :disable-cache |
Devon has joined #lisp
asarch has joined #lisp
<rumbler31> there certainly are "gotchas" that you can run into if you expect that a file will get recompiled when it will in fact not be
dec0n has quit [Read error: Connection reset by peer]
<flip214> shka: linux-only is good enough?
tetrachlorides has quit [Quit: WeeChat 2.0.1]
Cymew has quit [Ping timeout: 264 seconds]
<flip214> if it is, have the first source file "/proc/uptime" (which consists of two floats only) and use :serial T
<flip214> files in /proc are defined to have NOW as mtime, always
Cymew has joined #lisp
orivej has quit [Ping timeout: 276 seconds]
_mjl has joined #lisp
Cymew has quit [Ping timeout: 256 seconds]
<rumbler31> I would say that if you're trying to fight optimized loading, you're actively doing work to throw away a free optimization. which I would be wary of advocating unless you had a good reason, but ^ that /proc/uptime trick is cool
mjl_ has joined #lisp
<shka> flip214: funny trick
<shka> i will use it to impress ladies
mjl_ has quit [Client Quit]
FreeBirdLjj has quit [Remote host closed the connection]
<flip214> shka: I should've sold you that one over a beer at some ELS, I guess ;)
knobo has quit [Ping timeout: 256 seconds]
<shka> i will not be at ELS this year (or next year i think)
<shka> sooo :(
hhdave has quit [Ping timeout: 248 seconds]
emacsoma` has joined #lisp
Cymew has joined #lisp
emacsomancer has quit [Ping timeout: 255 seconds]
eivarv has joined #lisp
Cymew has quit [Ping timeout: 256 seconds]
makomo has joined #lisp
schweers has quit [Ping timeout: 276 seconds]
varjagg has joined #lisp
Cymew has joined #lisp
<Xach> flip214: that is a very amusing trick! can you tell me more about how you thought of it?
varjagg has quit [Ping timeout: 256 seconds]
Cymew has quit [Ping timeout: 248 seconds]
lemonpepper24 has joined #lisp
<pjb> Unfortunately /proc is not always available.
Cymew has joined #lisp
oleo2 has joined #lisp
pagnol has joined #lisp
hajovonta has quit [Quit: hajovonta]
Cymew has quit [Ping timeout: 256 seconds]
Devon has quit [Ping timeout: 256 seconds]
Cymew has joined #lisp
rpg has joined #lisp
JonSmith has joined #lisp
oleo2 has quit [Ping timeout: 255 seconds]
Cymew has quit [Ping timeout: 256 seconds]
drewc_ has joined #lisp
Cymew has joined #lisp
drewc has quit [Ping timeout: 255 seconds]
varjagg has joined #lisp
drewc_ is now known as drewc
varjag has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
Cymew has quit [Ping timeout: 255 seconds]
smurfrobot has joined #lisp
Cymew has joined #lisp
varjagg has quit [Ping timeout: 256 seconds]
pjb has quit [Ping timeout: 256 seconds]
smurfrobot has quit [Ping timeout: 260 seconds]
Cymew has quit [Ping timeout: 260 seconds]
makomo has quit [Ping timeout: 248 seconds]
Cymew has joined #lisp
Cymew has quit [Ping timeout: 256 seconds]
Cymew has joined #lisp
Cymew has quit [Ping timeout: 256 seconds]
lexa_ has joined #lisp
warweasle has joined #lisp
<lexa_> I'm looking for a library for parsing some text (Linux device treese to be specific). But most of the libraries mentioned on cliki http://cliki.net/parser%20generator are either dead or in alpha-stage.
<lexa_> Can somebody advice me on the library to use for that kind of parsing?
attila_lendvai has quit [Read error: Connection reset by peer]
osune has joined #lisp
<beach> lexa_: It depends a bit on the style of parser you want. For combinator parsing that is cl-parser-combinators, and also (I hear esrap).
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has joined #lisp
<beach> As I recall esrap supports other parsing techniques as well.
pjb has joined #lisp
<lexa_> Is that ok that esrap wasn't updated for 5 years?
Karl_Dscc has joined #lisp
<beach> Perhaps you should ask drmeister. I know he has used it recently.
<fe[nl]ix> lexa_: yes
<pjb> Why? Is there new legislation that renders esrap caducous?
<shka> lexa_: it is very ok
<shka> it did not stop working
<pjb> Incredible! Software that didn't stop working!
<pjb> Bring the champagne!
<shka> pjb: novel idea, i know
<beach> lexa_: Since the Common Lisp language is not moving, libraries that used to work still do.
<beach> It's an unusual situation these days, but that's the way it is.
<lexa_> Sorry, I just came from the world of C/C++, and there if software is not updated to recent changes in OS/Libraries it has a tendency to fall apart.
<pjb> Well, now you understand why we use lisp.
<lexa_> I guess it is not the only reason.
<pjb> (- 2018 1960) #| --> 58 |#
<shka> luckly, in lisp land you can sometimes even run 80s software after few changes to port it to the common lisp standard
smasta has joined #lisp
<shka> which is astonishing in some way…
<pagnol> can this be written more compactly using some special loop-macro foo? https://gist.github.com/anonymous/8eed8669312072879c451f5b3de550a4
<shrdlu68> Well, if a backwards-incompatible change is made to a project's dependencies...
<shka> that's another story
<pjb> I don't know if it's more compact, but (loop for x in '(1 2 3) for foo = (+ x 2) for bar = (* foo 3) for baz = (+ bar 4) collect baz) #| --> (13 16 19) |#
<pjb> alternatively: (mapcar (lambda (x) (+ (* (+ x 2) 3) 4)) '(1 2 3)) #| --> (13 16 19) |#
<pagnol> pjb, the former was what I was looking for, thank you
<shrdlu68> Isn't that generally what makes software stop working?
<pjb> the point of mapcar here is that you don't have to introduce variables: just use subexpressions.
<pjb> Fewer names, less burden.
<shka> shrdlu68: yes, but the point is that language is standardized, so it is not like conservative library that depends on other conservative library will stop working because lisp has changed and dependency was not updated
<shka> for instance, i don't think alexandria will become obsolete anytime soon
<scymtym> lexa_: quicklisp's version of esrap comes from https://github.com/scymtym/esrap
<Shinmera> beach: Just booked the flight and hotel for Till & myself.
<shka> cool
<beach> Shinmera: Out early as usual. Great!
<osune> jackdaniel: I'm sorry but I searched the EQL and ECL examples for how to translate c-structs to lisp forth and back, but in the ECL examples I found nothing and the EQL internals are really not easy to follow for me. I can see how with ffi:clines a struct can be declared, and that with ffi:c-inline I can declare the types of the arguments. But what is still unclear to me is what should be the c-type given to fii:c-inline for the struct
<osune> (eg struct foo { int a;};) . Currently I can only imagine to create where I provide explicit conversion functions, where I build a up a c-struct by accessing one slot after the other via cl_slot_value, and vice versa. Can you provide some more hints please?
<jackdaniel> if you want to introduce some C structure as a native type to ECL, you need to add it in src/h/object.h (and a few other places) and I doubt you want that. If you want to simply pass it around as an opaque object, check out src/lsp/ffi.lsp. That said, your best choice is to use CFFI which has a well-written ECL backend
<jackdaniel> C structures are not the same thing as CL structures
<jackdaniel> you can inline access to C structures with c-inline of course
Hydan has joined #lisp
Hydan has quit [Client Quit]
m00natic has quit [Ping timeout: 256 seconds]
<osune> So to get this working without CFFI I will need quite some callbacks into C. Thank you, that cleared this up to me.
<jackdaniel> osune: you may check out how ECL support is implemented in CFFI as well to find some hitns
<jackdaniel> hints*
<jackdaniel> why don't you want to use CFFI though?
knobo has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
Arcaelyx has joined #lisp
<osune> I'm on a small embedded ARM system and have to fit with some pretty big binary blobs on a 32MByte SPI Flash.
<osune> So if I can I wouldn't want any dependencies
<jackdaniel> oh, then remember to not use sstrip with ECL fasl's and libecl.so (strip is fine though)
fortitude has joined #lisp
<jackdaniel> as of cffi, you can get down to 3.3M to have it all in one fasl (dependencies included)
<osune> using the :monolithic t :LIB build options ?
<jackdaniel> http://hellsgate.pl/files/500c6b9c there for fasl which may be `load'-ed from ECL
<jackdaniel> :type :shared-object / :static-object would be less abingous than :LIB
<jackdaniel> I've got to go, good luck :)
fikka has joined #lisp
nika has quit [Quit: Leaving...]
bms_ has joined #lisp
<osune> minion: memo for jackdaniel: the :type :shared-object / :static-object is not mentioned in the Documentation? Thanks again for the hints :)
<minion> Remembered. I'll tell jackdaniel when he/she/it next speaks.
fikka has quit [Ping timeout: 256 seconds]
knicklux has joined #lisp
makomo has joined #lisp
varjagg has joined #lisp
fikka has joined #lisp
pjb has quit [Ping timeout: 256 seconds]
aphprentice has joined #lisp
rumbler3_ has joined #lisp
rumbler3_ has quit [Ping timeout: 260 seconds]
nalik891 has joined #lisp
nullniverse has quit [Read error: Connection reset by peer]
turkja has joined #lisp
warweasle has quit [Quit: Leaving]
loli has joined #lisp
oleo has joined #lisp
turkja has quit [Ping timeout: 248 seconds]
pjb has joined #lisp
vhost- has quit [Quit: WeeChat 2.0-dev]
Kaisyu has quit [Quit: Connection closed for inactivity]
fikka has quit [Ping timeout: 240 seconds]
raynold has joined #lisp
akkad is now known as Ober
turkja has joined #lisp
vhost- has joined #lisp
vhost- has quit [Client Quit]
vhost- has joined #lisp
vhost- has quit [Changing host]
vhost- has joined #lisp
smurfrobot has joined #lisp
bms_ has quit [Ping timeout: 265 seconds]
smurfrobot has quit [Ping timeout: 268 seconds]
smasta has quit [Ping timeout: 248 seconds]
warweasle has joined #lisp
ikki has joined #lisp
fikka has joined #lisp
turkja has quit [Ping timeout: 255 seconds]
fikka has quit [Ping timeout: 256 seconds]
smurfrobot has joined #lisp
hiroaki has quit [Ping timeout: 265 seconds]
pjb has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
orivej has joined #lisp
hiroaki has joined #lisp
papachan has joined #lisp
LocaMocha has quit [Ping timeout: 256 seconds]
pjb has joined #lisp
shrdlu68 has quit [Ping timeout: 248 seconds]
ikki_ has joined #lisp
shrdlu68 has joined #lisp
<flip214> Xach: well, I already knew about :serial, so I only needed something that "always" changes...
<flip214> pjb: "linux-only", but there it'll even work in a container.
<flip214> if it doesn't, do a bind-mount of /proc/uptime _only_ into the chroot/jail/container etc.
ikkitousen has joined #lisp
ikki has quit [Ping timeout: 256 seconds]
<Xach> flip214: so you put two and two together and got a wonderful treat like that?
Poeticure is now known as Poeticode
manualcrank has quit [Read error: Connection reset by peer]
ikki_ has quit [Ping timeout: 276 seconds]
bms_ has joined #lisp
manualcrank has joined #lisp
<Xach> flip214: So it seems this delight is only conceptual, as you can't have an absolute pathname as a :file component...
<Xach> flip214: or is there some other way to do it? i tried (:file "/proc/uptime")
<shrdlu68> symlink?
fikka has quit [Ping timeout: 255 seconds]
sbryant has joined #lisp
fikka has joined #lisp
<varjagg> shrdlu68: do you use your own fork of ironclad with cl-tls?
<shrdlu68> varjagg: Nope, I use sharplispers/ironclad
sebastien_ has quit [Quit: leaving]
<varjagg> oh
damke has joined #lisp
damke__ has quit [Ping timeout: 264 seconds]
<varjagg> where's quicklisp version coming from?
<varjagg> sharplispers i suppose
<varjagg> "Symbol "DESTRUCTURE-PRIVATE-KEY" not found in the IRONCLAD package."
<Xach> sharplispers ironclad latest release, not master
<varjagg> ah
<Xach> i think it's 0.37 or 0.38
ikkitousen is now known as ikki
shka has quit [Ping timeout: 276 seconds]
<varjagg> going with master helped, thanks
<drmeister> lexa_: esrap has been working fine for me
<drmeister> I’ve written some nontrivial parsers with it and will be writing another soon.
<varjagg> hm
<varjagg> shrdlu68: any idea where on osx could one find the certs bundle?
<varjagg> trying secure-sockets:connect now
<varjagg> there's /etc/ssl/cert.pem, but it is invalid
<shrdlu68> varjagg: There will likely be warnings about some of the certificates in the bundle having issues, they'll just be skipped.
marusich has joined #lisp
JonSmith has quit [Remote host closed the connection]
<varjagg> no, i get handshake error
<varjagg> this could be brew's own cert
<shrdlu68> Ah, something else's wrong then.
knobo has quit [Ping timeout: 256 seconds]
ikki_ has joined #lisp
JonSmith has joined #lisp
ikki has quit [Ping timeout: 256 seconds]
<shrdlu68> varjagg: You could try using curl's bundle: https://curl.haxx.se/docs/caextract.html
fikka has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
knobo has joined #lisp
logicmoo has quit [Read error: Connection reset by peer]
Ven`` has joined #lisp
<varjagg> shrdlu68: that got me a bit further, now it throws x509-decoding-error from x509-decode
<shrdlu68> Hmm, is it an uncaught error or does it proceed?
<varjagg> uncaught
<shrdlu68> What site did you try to connect to? Let me try to reproduce it, and get curl's ca bundle as well.
<varjagg> google.com
smasta has joined #lisp
aaronjensen has quit [Quit: Connection closed for inactivity]
ikki_ has quit [Ping timeout: 240 seconds]
<shrdlu68> varjagg: Got it as well. Let me see...
sjl has joined #lisp
smasta has quit [Ping timeout: 256 seconds]
smasta has joined #lisp
sebastien_ has joined #lisp
angavrilov has quit [Remote host closed the connection]
smurfrobot has quit [Remote host closed the connection]
bms_ has quit [Remote host closed the connection]
<sjl> Anyone know of anything that looks at the :source-control slot in ASDF systems?
<minion> sjl, memo from flip214: thanks a lot for the vlime update.... (but) I'm currently looking at spacemacs.... let's see.
<sjl> According to the ADSF manual the only correct value for this slot is (keyword string), but I see systems on Github using all kinds of things there, like:
<sjl> :source-control :git, :source-control "http://..."
<sjl> Ideally I'd like to be able to specify *multiple* entries there, e.g. :source-control ((:git "github.com/...") (:hg "bitbucket.org/..."))
thijso has joined #lisp
<sjl> I'm wondering how badly this is going to break someone's code somewhere.
<Xach> If you use something contrary to the ASDF manual, it might stop working and break in the future just out of spite.
<Xach> Even if no other software looks or cares.
<Shinmera> I also don't understand the appeal of multiple vcs in the first place
<Xach> sjl: I dig through system file forms but I don't do anything with source-control, personally.
<sjl> Shinmera: I use mercurial because git's ui is a shitshow, but want to still provide a github mirror to accept PRs.
_mjl has quit [Ping timeout: 255 seconds]
<jackdaniel> osune: I mean :shared-library and :static-library, for some complementary doc see: https://common-lisp.net/project/ecl/static/ecldoc/Extensions.html#System-building
<minion> jackdaniel, memo from osune: the :type :shared-object / :static-object is not mentioned in the Documentation? Thanks again for the hints :)
<sjl> Xach: yeah that's what I figured. I'll just leave it blank, I think. The README lists the repos anyway.
<shrdlu68> varjagg: There are non-ascii characters in the ca certificate, which is throwing off a function that tries to distinguish between DER and PEM files by the fact that PEM files are supposed to be ASCII (base64-encoded): https://github.com/shrdlu68/cl-tls/blob/master/src/utils.lisp#L125
<Shinmera> sjl: Too bad you're not using Emacs. Magit makes git pretty nice.
<shrdlu68> So changing :encoding :ascii to :encoding :utf-8 should get it working...
ikki_ has joined #lisp
<sjl> Shinmera: Vim has fugitive which makes it tolerable, but I don't like using a TUI for version control. I want shell commands with a sane syntax.
<sjl> but anyway, git/hg is offtopic for this
<sjl> channel
<sjl> and orthogonal to the question of wanting to provide more than one VCS in defsystem
vlatkoB has quit [Remote host closed the connection]
warweasle has quit [Quit: Leaving]
orivej has quit [Ping timeout: 256 seconds]
<jackdaniel> osune: manual is complete to some degree, ecldoc is wip (but has some chapters expanded)
<osune> oh I didn't knew about that.
scymtym has quit [Ping timeout: 255 seconds]
<jackdaniel> well, I'm not advertising half-baked cake ;)
<osune> well I'm glad I get to have a peak anyway :)
<osune> *peek
<shrdlu68> varjagg: I pushed changes to fix this, but that bundle still doesn't work.
<varjagg> shrdlu68: thanks
<varjagg> yep it gets the handshake error still
<varjagg> should try it on a linux box tomorrow
<shrdlu68> Path validation fails, meaning the certificate chain is invalid or something.
<varjagg> yep
varjagg has quit [Read error: Connection reset by peer]
varjag has joined #lisp
<shrdlu68> varjag: It seems to work with other sites: twitter.com, facebook.com, github.com...
<varjag> hmm you are right
<varjag> some other sites don't work too
<varjag> e.g. www.bitstamp.net
<varjag> bizarre
ikki_ is now known as ikki
<varjag> ssl is tricky
<shrdlu68> Might have something to do with OCSP.
<varjag> some of the certs are revoked?
<shrdlu68> i.e cl-tls might be too stringent when it's unable to contact OCSP responders.
<varjag> ah
<shrdlu68> It chooses to fail in that case rather than go on.
<varjag> "Error encountered while checking the certificate status. Details: Response status: unauthorized"
<varjag> that's a new one
<shrdlu68> That's OCSP. The OCSP server responded with "unauthorized", so cl-tls couldn't verify the revocation status.
<varjag> the ocsp thing i guess?
<varjag> right
<Xach> hmmmmmm
* Xach ponders replacing system-index.txt with system-index.cdb for insanely large system-index.txt files
<jackdaniel> ECL used this format for its help.doc file
<Xach> jackdaniel: CDB?
<jackdaniel> contrib/ecl-cdb/ if you are interested
<Xach> The hash table format?
<Xach> (Surely there can't be a name clash in a global three-letter system...)
<jackdaniel> yes, you'll find even in ecl-cdb.lisp file a comment:
<jackdaniel> ;;;; This file implements the CDB specification, which you find here
<jackdaniel> ;;;; http://cr.yp.to/cdb/cdb.txt and is reproduced below, replicating
<jackdaniel> ;;;; the interface developed by Zach Beane under the name ZCDB.
<jackdaniel> so I think we talk about the same format ;)
<Xach> phew!
<jackdaniel> s/used/uses/
varjag has quit [Ping timeout: 256 seconds]
zukunf has left #lisp [#lisp]
* jackdaniel drops, gn \o
varjag has joined #lisp
Murii has quit [Quit: WeeChat 1.4]
dmiles has joined #lisp
smasta has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 260 seconds]
knicklux has quit [Quit: Leaving]
knobo has quit [Ping timeout: 256 seconds]
d0peCanoe has joined #lisp
d0peCanoe has left #lisp ["WeeChat 1.6"]
<rpg> sjl: The source control metadata aren't used for anything. An issue in ASDF is that on the one hand one wants to encourage people to provide useful information, of just about any sort, but on the other hand, one wishes to provide useful error-checking to help people debug their system declarations.
<rpg> Perhaps I should have said "ASDF itself doesn't use the source control metadata for anything."
<shrdlu68> varjag: cl-tls validated every single certificate in the chain upto the root found in the trusted CA certificates. In the case of Google, it doesn't find a matching root at the last step of the chain.
<shrdlu68> s/validated/validates
<shrdlu68> Now I have to figure out why.
<shrdlu68> The last certificate presented by the server says it's issued by "Equifax Secure Certificate Authority"
<varjag> *that* equifax?
dmiles has quit [Read error: Connection reset by peer]
<shrdlu68> Haha, I don't think so.
eivarv has quit [Quit: Sleep]
wxie has joined #lisp
<shrdlu68> There's no certificate identifying itself as "Equifax Secure Certificate Authority" in the curl ca bundle, that's why validation is failing.
<varjag> i see
fikka has joined #lisp
<shrdlu68> It seems most clients are configured to validate up to just below the final level (a "depth" argument). If I do that with cl-tls, it works in this case.
shifty has joined #lisp
<varjag> aha
<varjag> i could hack that in for my specific case, or are you going to push that to the repo?
dmiles has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
scymtym has joined #lisp
<shrdlu68> I'm not sure yet, I have some more research to do.
eivarv has joined #lisp
<shrdlu68> https://github.com/shrdlu68/cl-tls/blob/master/src/x509/validate.lisp#L54 Changing (length chain) to (1- (length chain)) makes it work.
smurfrobot has joined #lisp
<varjag> thanks
fikka has joined #lisp
eivarv has quit [Quit: Sleep]
<varjag> shrdlu68: it does in the case of google.com now, www.bitstamp.net still fails
<varjag> just another factoid to your research :)
<varjag> sorry for giving you some extra headache
fikka has quit [Ping timeout: 276 seconds]
ebrasca` has joined #lisp
smurfrobot has quit [Remote host closed the connection]
ebrasca has quit [Remote host closed the connection]
Oladon has quit [Quit: Leaving.]
<shrdlu68> www.bitstampt.net fails because of OCSP. If you disable revocation checking, it'll work: https://github.com/shrdlu68/cl-tls/blob/master/src/x509/validate.lisp#L84
fikka has joined #lisp
<varjag> cool thanks
fikka has quit [Ping timeout: 256 seconds]
oleo has quit [Remote host closed the connection]
oleo has joined #lisp
earl-ducaine has joined #lisp
Ven`` has quit [Ping timeout: 265 seconds]
Ven`` has joined #lisp
fikka has joined #lisp
wxie has quit [Remote host closed the connection]
Karl_Dscc has quit [Remote host closed the connection]
oleo has quit [Remote host closed the connection]
oleo has joined #lisp
pilfink has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
pjb` has joined #lisp
hhdave has joined #lisp
sz0 has joined #lisp
pjb has quit [Ping timeout: 256 seconds]
pjb` is now known as pjb
fikka has joined #lisp
hhdave has quit [Ping timeout: 256 seconds]
hhdave_ has joined #lisp
crazyeddy has quit [Ping timeout: 240 seconds]
Ven`` has quit [Ping timeout: 264 seconds]
Ven`` has joined #lisp
moei has quit [Quit: Leaving...]
fikka has quit [Ping timeout: 256 seconds]
heurist` is now known as heurist
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
python476 has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
shrdlu68 has quit [Ping timeout: 276 seconds]
Cymew has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
pagnol has quit [Ping timeout: 256 seconds]
Bike has quit [Ping timeout: 260 seconds]
Cymew has quit [Ping timeout: 256 seconds]
rumbler31 has quit [Ping timeout: 256 seconds]
damke_ has joined #lisp
damke has quit [Ping timeout: 252 seconds]
hhdave_ has quit [Quit: hhdave_]
fikka has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
pagnol has joined #lisp
QualityAddict has quit [Ping timeout: 276 seconds]
smurfrobot has joined #lisp
QualityAddict has joined #lisp
sshirokov has joined #lisp
fikka has joined #lisp
smurfrobot has quit [Ping timeout: 256 seconds]
Kaisyu has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
smurfrobot has joined #lisp
oleo has quit [Remote host closed the connection]
oleo has joined #lisp
fikka has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.1)]
smurfrobot has quit [Ping timeout: 256 seconds]
nirved has quit [Quit: Leaving]
pierpa has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
osune has quit [Remote host closed the connection]
fikka has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
smurfrobot has joined #lisp
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has joined #lisp
fikka has joined #lisp
jonh has left #lisp ["WeeChat 0.4.2"]
smurfrobot has quit [Ping timeout: 256 seconds]
arbv has quit [Ping timeout: 256 seconds]
smurfrobot has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
Bike has joined #lisp
pagnol has quit [Ping timeout: 276 seconds]
smurfrobot has quit [Ping timeout: 256 seconds]
hiroaki has quit [Ping timeout: 255 seconds]
fikka has joined #lisp