Xach changed the topic of #commonlisp to: Common Lisp, the #1=(programmable . #1#) programming language | Wiki: <https://www.cliki.net> | IRC Logs: <https://irclog.tymoon.eu/libera/%23commonlisp> | Cookbook: <https://lispcookbook.github.io/cl-cookbook>
rgherdt has quit [Ping timeout: 265 seconds]
ebrasca has quit [Remote host closed the connection]
anddam has quit [Quit: WeeChat 3.3]
Lord_of_Life has quit [Ping timeout: 260 seconds]
Lord_of_Life has joined #commonlisp
anddam has joined #commonlisp
<dre> I want to practise my lisp
<dre> is it possible to make little shell scripts in sbcl ?
<dre> like atm I just thought "i want to make a script that finds the last file I just edited" is this possible to do in some SBCL without too much boilerplate and yak-shaving ?
<Spawns_Carpet[m]> dre: yes! put #!/usr/bin/env -S sbcl --script at the top of the file
<Spawns_Carpet[m]> i love using lisp for scripts as an alternative to python or whatever
<dre> nice! thanks!
<dre> Spawns_Carpet[m], forgive me as I am a total newb, but do you have links or something to how I can deal with the shell / interface with it / how I'd go about finding a solution to my problem?
NotThatRPG has joined #commonlisp
<NotThatRPG> My emails to common-lisp.net, sent either from my normal email or from Gmail, are bouncing with messages that common-lisp.net is not responding. Since the bug reporting email address is *also* at cl.net, I thought I would post here in the hopes someone will see it.
<NotThatRPG> "all hosts for 'common-lisp.net' have been failing for a long time"
<Spawns_Carpet[m]> when you say interface with the shell what do you mean exactly?
<Spawns_Carpet[m]> you can run shell commands somehow, i don't remember exactly how
<Spawns_Carpet[m]> looks like (uiop:run-program "echo hello")
<NotThatRPG> Yes, that's how to use `run-program`, but you will need to specify how you want to receive the shell process' output (and possibly how you want it to receive input)
NotThatRPG is now known as NotThatRPG_away
alvaro121 has joined #commonlisp
<alvaro121> Is there a way for GETF to use EQUAL when searching? My keys are strings and aren't being found.
<Bike> nope. you can use MEMBER to right it up yourself.
<Bike> rig it up
<pjb> alvaro121: there's a reason a-list exists: (assoc string-key a-list :test (function equal))
X-Scale has quit [Ping timeout: 268 seconds]
X-Scale` has joined #commonlisp
X-Scale` is now known as X-Scale
Guest7481 has joined #commonlisp
<alvaro121> Nor in an utility library somewhere?
<_death> (loop for (key value) on list by #'cddr when (equal key x) return value)
<alvaro121> Will probably change to an alist then, how do I write alist literals? When using QUOTE my values are not evaluated and using LIST and CONS gets too verbose.
<yitzi> You can use backquote.
<Guest7481> acons if you're just adding one.
<alvaro121> Thanks. Didn't know about ACONS, will switch to using alists with quasiquotes.
<Guest7481> there's also pairlis, i keep forgetting the name of that one.
ski has quit [Ping timeout: 264 seconds]
s-liao has quit [Quit: Client closed]
s-liao has joined #commonlisp
waleee has quit [Quit: WeeChat 3.3]
slyrus has quit [Quit: Leaving]
s-liao has quit [Ping timeout: 256 seconds]
s-liao has joined #commonlisp
lisp123 has joined #commonlisp
alvaro121 has quit [Ping timeout: 264 seconds]
s-liao has quit [Ping timeout: 256 seconds]
<lisp123> yitzi: Thanks for that! The code is very easy to read - just went through it now. And very portable :)
Oladon has quit [Quit: Leaving.]
taiju has quit [Ping timeout: 256 seconds]
cjb35394 has joined #commonlisp
aartaka has joined #commonlisp
cjb has quit [Ping timeout: 260 seconds]
taiju has joined #commonlisp
cjb35394 is now known as cjb
asarch has joined #commonlisp
zephyr has quit [Quit: Ping timeout (120 seconds)]
zephyr has joined #commonlisp
<beach> Good morning everyone!
cjb has quit []
ec has quit [Ping timeout: 276 seconds]
aartaka has quit [Ping timeout: 268 seconds]
dec0d3r has joined #commonlisp
bcasiello has quit [Ping timeout: 256 seconds]
s-liao has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
semz has quit [Ping timeout: 265 seconds]
asarch has quit [Quit: Leaving]
ec has joined #commonlisp
semz has joined #commonlisp
akoana has left #commonlisp [#commonlisp]
Guest7481 has quit [Ping timeout: 256 seconds]
Oddity has quit [Remote host closed the connection]
tyson2 has quit [Remote host closed the connection]
<Spawns_Carpet[m]> hey beach
<susam> Good morning!
aartaka has joined #commonlisp
<lisp123w> I have an obscure quesiton
<beach> Again?
<lisp123w> It appears MAKE-LOAD-FORM requires one to write the method for a particular class (please correct me if I'm wrong, if so, my question is invalid)
pranavats has left #commonlisp [Disconnected: Replaced by new connection]
<beach> What would be the alternative?
<lisp123w> I would have thought it would not have been too difficult for a default MAKE-LOAD-FORM to be written that works on nearly all classes
<lisp123w> So am curious if there was a reason this wasn't done
pranavats has joined #commonlisp
<beach> The system can't possibly know which slots are computed and which slots should be stored. The application programmer must decide that.
<White_Flame> if the slots of 2 objects are shared, that's not very easy to create a default function
<White_Flame> or really, any reference value sharing at all
<Bike> clhs make-load-form-saving-slots
<Bike> you can just define a method that uses that
<lisp123w> White_Flame: Ah okay, so one of the issues is shared slots
<White_Flame> and in computed slots as beach brings it up, the side effects from the computation can be very important to the state of the system
<lisp123w> What is a computer slot?
<White_Flame> eg, if the value in the slot is a key into a hashtable with more info generated at initialization time, just storing the key does nothing useful
<lisp123w> computed*
<lisp123w> Oh I see
<White_Flame> call a function, it "does stuff", and returns a value to be stored that might be contextual to other things
<lisp123w> Ok that makes sense
<White_Flame> however, for purely standalone data, you can use stuff like what Bike posted, but that's not a general solution
<lisp123w> I tried reading both MAKE-LOAD-FORM and MAKE-LOAD-FORM-SAVING-SLOTS and it was a bit hard to follow on the differences
<Bike> and making it the default would result in silent errors when it doesn't make conceptual sense for some class
<Bike> the compiler wouldn't know there was a problem, so it wouldn't report anything
karlosz has joined #commonlisp
<Bike> make-load-form is a generic function called by the compiler that the user can specify. m-l-f-s-s is a function designed to be called by users within their m-l-f method in the common case.
<lisp123w> Got it! Looks I was basically after m-l-f-s-s (for my very trivial objects) :)
<lisp123w> But thanks all for explaining why MAKE-LOAD-FORM is the way it is
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 260 seconds]
<beach> lisp123w: Here is my favorite example of "computed slots". Suppose you have a class that represents a person. One initarg is :date-of-birth. But in this application it turns out that you ask for the age quite frequently, so to avoid computing the age each time it is asked for, you store it as a slot that you then update regularly.
ec has quit [Ping timeout: 276 seconds]
<beach> lisp123w: You don't want that cached slot to be saved. You still want to create the instance with the :date-of-birth initarg.
Cymew has joined #commonlisp
<White_Flame> ah right, that'd be the more common definition
Bike has quit [Quit: sleep]
<beach> I keep saying this frequently, but slots should be considered an implementation detail. It is not a good idea to expose such details in your MAKE-LOAD-FORM. It is much better to use just the protocol aspects of your classes.
<beach> And those are the (usually generic) functions that take instances of those classes as arguments, and the initargs used to create such instances. Slots are not part of the protocol.
<lisp123w> beach: Many thanks, that is a great example
<beach> Sure.
shka has joined #commonlisp
gaqwas has joined #commonlisp
luna-is-here has quit [*.net *.split]
samebchase has quit [*.net *.split]
rdrg109 has quit [*.net *.split]
dtman34 has quit [*.net *.split]
luna-is-here has joined #commonlisp
samebchase has joined #commonlisp
dtman34 has joined #commonlisp
MetaYan has quit [*.net *.split]
okflo has quit [*.net *.split]
derelict has quit [*.net *.split]
MetaYan has joined #commonlisp
derelict has joined #commonlisp
okflo has joined #commonlisp
<mfiano> beach: as do I and we should continue to say it frequently until it's common knowledge
<mfiano> I get upset when I hear of slots being exposed
<mfiano> It is my ultimate pet peeve
<beach> Good to know I am not alone.
gxt has quit [Remote host closed the connection]
gxt has joined #commonlisp
amb007 has quit [Ping timeout: 260 seconds]
amb007 has joined #commonlisp
attila_lendvai has joined #commonlisp
s-liao has quit [Ping timeout: 256 seconds]
aartaka has quit [Ping timeout: 260 seconds]
aartaka has joined #commonlisp
rgherdt has joined #commonlisp
amb007 has quit [Ping timeout: 265 seconds]
pve has joined #commonlisp
aartaka has quit [Ping timeout: 265 seconds]
amb007 has joined #commonlisp
gaqwas has quit [Ping timeout: 260 seconds]
amb007 has quit [Ping timeout: 250 seconds]
amb007 has joined #commonlisp
aartaka has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
shka has quit [Ping timeout: 264 seconds]
karlosz has quit [Ping timeout: 268 seconds]
rogersm has joined #commonlisp
rotateq has joined #commonlisp
Jach has joined #commonlisp
occ has joined #commonlisp
rogersm has quit [Read error: Connection reset by peer]
occ has quit [Ping timeout: 265 seconds]
karlosz has joined #commonlisp
cosimone has joined #commonlisp
rgherdt_ has joined #commonlisp
rgherdt has quit [Ping timeout: 265 seconds]
attila_lendvai has quit [Ping timeout: 265 seconds]
s-liao has joined #commonlisp
rgherdt_ has quit [Ping timeout: 260 seconds]
rgherdt has joined #commonlisp
s-liao has quit [Ping timeout: 256 seconds]
s-liao has joined #commonlisp
notzmv has quit [Ping timeout: 245 seconds]
s-liao has quit [Ping timeout: 256 seconds]
s-liao has joined #commonlisp
lisp123 has joined #commonlisp
lisp123 has quit [Ping timeout: 256 seconds]
perrierjouet has quit [Quit: WeeChat 3.3]
s-liao has quit [Quit: Client closed]
perrierjouet has joined #commonlisp
VincentVega has joined #commonlisp
attila_lendvai has joined #commonlisp
Devon has quit [Ping timeout: 260 seconds]
attila_lendvai has quit [Ping timeout: 256 seconds]
attila_lendvai has joined #commonlisp
s-liao has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 250 seconds]
amb007 has joined #commonlisp
<rotateq> Good start into the week for everyone with many parentheses. :)
ahc has quit [Quit: Client closed]
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
<lisp123w> Likewise rotateq, may your week be filled with many parentheses
<rotateq> I already take care of that, in my mind anyway.
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
atgreen has joined #commonlisp
<edgar-rft> my mind is full of parentheses, no place left for useful thoughts :-(
<Alfr> And they seem unbalanced, edgar-rft. Here you go: )
notzmv has joined #commonlisp
karlosz has quit [Quit: karlosz]
<edgar-rft> Alfr: thank you for balancing my parentheses :-)
<phantomics> Morning everyone
<beach> Hello phantomics.
<rotateq> Hi there phantomics, hope you come along well with April.
tyson2 has joined #commonlisp
<rotateq> I found a book by Herbert Stoyan with a big chapter about LISP history, from 1980.
VincentVega has quit [Read error: Connection reset by peer]
yewscion98 has joined #commonlisp
yewscion98 is now known as yewscion
random-nick has joined #commonlisp
s-liao has quit [Quit: Client closed]
s-liao has joined #commonlisp
epolanski has joined #commonlisp
* edgar-rft is waiting for a book that says that Lisp had Ancient Alien FFI long before mankind existed
occ has joined #commonlisp
<rotateq> I bet so. :)
<rotateq> "Which implementation of CL is the most favorite on your planet?" and "What is C?"
s-liao has quit [Quit: Client closed]
<jackdaniel> "C" is nothing more than the first letter of the programming language name "Common Lisp" :)
<phantomics> I remember reading that Symbolics employees were pronouncing CLOS as "C lost"
<yitzi> And no human could write a spec like that of Common Lisp therefore aliens exist.
<beach> phantomics: I say "C loss", but I say "klimm"
<phantomics> Btw jackdaniel, if you have a minute I had questions about ECL, I solved my stack problem but found a couple other things
<rotateq> doing some "Klimmzüge" :P
<rotateq> and if others hear about CLOS they get CLOStrophobia. okay enough again
antonv has joined #commonlisp
Bike has joined #commonlisp
aartaka has quit [Ping timeout: 265 seconds]
aartaka has joined #commonlisp
lisp123 has joined #commonlisp
Nselm has joined #commonlisp
lisp123 has quit [Ping timeout: 250 seconds]
VincentVega has joined #commonlisp
Devon has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
ym has joined #commonlisp
perrierjouet has quit [Quit: WeeChat 3.3]
tyson2 has joined #commonlisp
<jackdaniel> phantomics: im irc asynchoronous lurkwr. just ask question and ill answer when i see it
<jackdaniel> lurjer*
<jackdaniel> lurker! ;) also on #ecl other folks may help
<phantomics> Cool, first off I noticed (acos) works differently in ECL than other CLs, (acos 2) gives a negative imaginary part. I know that either one is mathematically valid, is there a reason for this?
<phantomics> Second, ECL often has problems compiling packages. When I tried to recompile April recently I got this message: LOAD: Could not load file #P"/home/user/.cache/common-lisp/ecl-21.2.1-linux-x64/home/usr/src/lisp/april/library.fas" (Error: "/tmp/eclvnqLph: failed to map segment from shared object")
<phantomics> This compilation problem seems to happen mostly for packages that were already compiled and I'm trying to recompile, and sometimes I can get past it and have something compile by choosing the TRY-RECOMPILING, RETRY, CLEAR-CONFIGURATION-AND-RETRY options several times
<phantomics> It's puzzling what causes this, feels kind of non-deterministic, at least I haven't found any consistent way to prevent it
Guest7470 has joined #commonlisp
perrierjouet has joined #commonlisp
Nselm has quit [Quit: Client closed]
<Bike> the branch cuts of the trig functions are pretty specifically defined by the standard... i think they should always give the same results in different implementations, exception differences due to negative zero and precision
<Bike> excepting*
aartaka has quit [Ping timeout: 256 seconds]
aartaka has joined #commonlisp
rotateq has quit [Remote host closed the connection]
NotThatRPG_away is now known as NotThatRPG
<NotThatRPG> Sorry -- maybe I missed a response. Does anyone know what's going on with common-lisp.net's email service?
ec has joined #commonlisp
Cymew has quit [Ping timeout: 264 seconds]
<Guest7470> maybe #common-lisp.net would know?
waleee has joined #commonlisp
shka has joined #commonlisp
<shka> jackdaniel: i have a proposal
<shka> i think metering would benefit from using some kind of floating point as a overhead measure for time
<shka> on my fairly modern machine, it is around ~0.47
<shka> this can significantly boost up reported time for short functions taking 1 or 2 time units
<shka> which i do think can be avoided fairly easily, and i don't know if there are any counter arguments
tyson2 has quit [Remote host closed the connection]
<jackdaniel> ive heard that good programmers are lazy, so im trying to do as little as possible ;)
<jackdaniel> in that spirit i dont mind handling mainainership of metering
<jackdaniel> handling over*
<shka> i think that stuff i am forcing metering to do go against the spirit of the library, but overhead measurement surely qualifies as a patch
<jackdaniel> then submit a merge request and ill review it, thanks
<jackdaniel> im not enthusiastic not because i dont appreciate that foss work, it is just quite a long day already
<shka> i understand
<shka> have a nice evening
phantomics has quit [Ping timeout: 245 seconds]
<NotThatRPG> @Guest7470: Thanks; I didn't know that there was such a channel. Asking now.
lisp123 has joined #commonlisp
<Guest7470> np
lisp123 has quit [Ping timeout: 264 seconds]
jasom has quit [Ping timeout: 250 seconds]
phantomics has joined #commonlisp
bcasiello has joined #commonlisp
ebrasca has joined #commonlisp
jasom has joined #commonlisp
tyson2 has joined #commonlisp
dec0d3r has quit [Quit: Leaving]
cage has joined #commonlisp
lisp123 has joined #commonlisp
occ has quit [Ping timeout: 256 seconds]
waleee has quit [Ping timeout: 250 seconds]
waleee has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
lisp123 has joined #commonlisp
bcasiello_ has joined #commonlisp
bcasiello has quit [Ping timeout: 250 seconds]
amb007 has quit [Ping timeout: 250 seconds]
amb007 has joined #commonlisp
puchacz has joined #commonlisp
<puchacz> hello; if I want a "dictionary" with sorted keys, like java.util.TreeMap, what library should I use from quicklisp please?
<puchacz> I have records with timestamp that mark beginning of the validity period (valid until next record comes), so I want to quickly retrieve a record that was valid for a specific timestamp (which is of course unlikely to be equal a boundary value between records)
<puchacz> (apologies if you've seen it already on #lisp)
<shka> puchacz: hi!
<puchacz> shka: hi :)
<shka> you can use skip-list from cl-data-structures
<shka> i can give you a sample code if need be
<puchacz> I am trying to figure out now why it does not compile in lispworks...
<shka> oh, you are using lispworks
tyson2 has quit [Remote host closed the connection]
<shka> i have no access to lispworks
<shka> maybe paste error?
<puchacz> is cl-container any good?
<puchacz> it looks older
<shka> dunno, never used this one
<shka> but whatever, you can just use that https://github.com/kraison/cl-skip-list
<puchacz> it goes into a loop, which pastebin shall I use?
<shka> or something
<shka> i have no preferences
<puchacz> oh, that one looks like it can actually load
<shka> puchacz: i would appreciate that paste, i am author of the cl-data-structures and I would like to fix problem
<shka> but i have no access to lispworks
<puchacz> so it goes into a loop, I can see there is some wizardry with packages in this file :)
<puchacz> oh, congratulations!
<puchacz> and thanks for sharing/maintaining of course
<shka> ... ok, that's interesting
<puchacz> I would need to set up more verbose messages
<shka> i honestly have no idea what is wrong :D
<puchacz> I will try (ql:quickload  :cl-data-structures :verbose t)
<puchacz> hold on
<shka> it is not something that i would expect to be a problem
<puchacz> it may be a bug in lispworks
<shka> i can't tell
<shka> it clearly recurs
<shka> but... why
<puchacz> verbose was not revealing at all
<puchacz> this is how this loop starts
<shka> can i bother you to check one more thing?
<puchacz> sure
<puchacz> I have > 1yr old quicklisp as well
<shka> huh
<puchacz> and I downloaded cl-data-structures from git version 1.0.1
<shka> ok
<puchacz> so maybe something is not compatible
<puchacz> I can try new quicklisp
<shka> please, go to the aux-package file, load most of the stuff excluding the final form, and check what happens if you try to macroexpand it
<puchacz> okay
<shka> i suspect that macroexpand loops
<shka> somehow
<shka> because i dared to name my own macro defpackage :D
<puchacz> it went on a loop when I pasted this macro definition into REPL
<puchacz> but - let me try again
<shka> gotcha
<shka> i bet renaming that macro into something different would solve the problem
<puchacz> is this file the only place where you use this macro?
<shka> in this system, yes
<shka> i use it a lot in other systems
<puchacz> so you think I can try to rename it locally into something like cl-ds-defpackage ?
<puchacz> locally in this file only
<shka> yes, i think that this would do the trick
<puchacz> trying :)
<shka> i am not sure obviously
<shka> but this looks like a bug in the LW
<puchacz> I can submit it to them, but I would need a clean quicklisp for it of course
<shka> should be easy to replicate as a standalone test
<puchacz> I have a bad habit of writing a line here and line there in ql libraries :)
<shka> no need to deal with quicklisp
<shka> i mean, even this file alone demonstrates the problem
<shka> honestly, i should have not use defpackage as a name anyway
<puchacz> that one is fixed; now it complains about names
<puchacz> **++++ Error in (PACKAGE "CL-DATA-STRUCTURES.AUX-PACKAGE"):
<puchacz>   Importing these symbols into the CL-DATA-STRUCTURES.AUX-PACKAGE package causes a name conflict: SERAPEUM:PARSE-FLOAT ALEXANDRIA:IF-LET ALEXANDRIA:WHEN-LET ALEXANDRIA:WHEN-LET* ALEXANDRIA:APPENDF ALEXANDRIA:NCONCF ALEXANDRIA:REMOVEF ALEXANDRIA:WITH-UNIQUE-NAMES ALEXANDRIA:COPY-FILE.
<shka> great...
<shka> *sigh*
<shka> i think that i don't like LW
<puchacz> :)
<shka> puchacz: thanks for your time though, for what it is worth, i like skip lists for ordered dicts/sets
lisp123 has quit [Ping timeout: 250 seconds]
<puchacz> thanks as well :)
<shka> they are simpler then let's say red black trees
<shka> and have a slightly better merge
<shka> so i would try to use that cl-skip-list
<puchacz> I will for now, and I am browsing your library - plenty of useful data structures
<shka> shame that you can't use it :P
<puchacz> unless I play with it next weekend
<puchacz> something tells me it will require some though
<puchacz> thought
tyson2 has joined #commonlisp
bcasiello__ has joined #commonlisp
<puchacz> btw, if you ever use LW - the biggest gotcha for me was unicode support in separate functions; the standard ones like cl:alphanumericp don't understand unicode characters
bcasiello_ has quit [Ping timeout: 264 seconds]
<puchacz> so I had to change package definitions for cl-pprcre and similar to use my own implementations for equalp (to respect upper/lower case in unicode) and refer to alphanumericp unicode equivalent under the same names.
<puchacz> and I changed what make-hash-table meant, so I could pass on my own :test #'equalp and unicode aware hashcode function
<Guest7470> isn't equalp suppose to ignore case?
<puchacz> yes
<puchacz> so it has to understand that A and a is the same letter
<Guest7470> ah, misunderstood your wording.
lisp123 has joined #commonlisp
<lisp123> Hmmm is there such a thing as a tree shaker for ASDF / SBCL?
<lisp123> Basically if System A only uses 5% of System B (that it :depends-on), it would be good to remove the rest
<shka> puchacz: gosh, that is kinda horrific
<puchacz> shka: yes, I spent some time replacing defpackage with defunicodepackage :(
<puchacz> but it works
<puchacz> and that was the biggest issue I think
<puchacz> (of course bad example above, #\A vs #\a works out of the box, but not #\Ą vs #\ą - for these I had to "install" different functions under standard names)
frgo has joined #commonlisp
<lisp123> pjb: I'm going to adopt your package naming convention COM.INFORMATIMAGO.COMMON-LISP.... :D I have seen the light
antonv has quit [Ping timeout: 256 seconds]
<puchacz> shka, your library is tempting indeed, I can see in sbcl that these conflicting names just refer to original alexandria or serapeum, is it always the case?
<puchacz> if so, I can do some more quicklisp hacking locally.....
<puchacz> to make it work
<Guest7470> that's why i don't :use packages.
rain3 has joined #commonlisp
<shka> Guest7470: neither do i!
<puchacz> I guess I would need to enrich the macro by adding shadowing import from?
<Guest7470> unfortunately so many packages were created to be used. Makes me want to go around renaming things.
<shka> puchacz: if you are willing to do so, i would appreciate pull request
<puchacz> I will try (next weekend), but I never used pull requests, can I just mail you the new version of the file?
<puchacz> I may manage to do it earlier
<shka> sure!
<puchacz> tks
<shka> i am afraid that this is just tip of an iceberg though :P
<shka> my code is strictly CL, but those errors make me question LW
<etimmons> shka: puchacz : Try adding an empty `(:use)` in the defpackage for cl-data-structures.fancy
<etimmons> If there is no :use, it defaults to implementation specific defaults
<shka> etimmons: aaaah, you are smart!
<etimmons> Which may include cl
<shka> that's why it recurs
<shka> makes sense, thanks!
<etimmons> Yep!
<Guest7470> etimmons: that's interesting. I've kinda depended on empty :use to not pull in cl.
<puchacz> I don't understand
<puchacz> ah
<puchacz> I think I do
<etimmons> Guest7470: That behavior is implementation specific
<shka> puchacz: try pulling cl-ds
<shka> i just added empty :use
Alfr has quit [Remote host closed the connection]
<etimmons> Guest7470: Actually... do you mean an empty :use or no :use ?
<shka> i wonder if that does the trick
<puchacz> shka, I will download zip, thank you very much :)
<Guest7470> empty
<Guest7470> ah, says if :use is not supplied. so i guess i'm good.
<etimmons> That's fine then. That won't import symbols from the CL package. No :use might
<shka> puchacz: it is easier to use git...
<puchacz> downloaded already :)
<puchacz> yes, I should learn git one day
<puchacz> okay, so (:use) solved the tip of the iceberg indeed
<shka> still does not compile?
<puchacz> but plenty of
<puchacz> **++++ Error in (DEFCLASS CL-DATA-STRUCTURES.META:TAKE-OUT!-FUNCTION):
<puchacz>   #<STANDARD-CLASS DESTRUCTIVE-FUNCTION 34C0F8BB> is an invalid superclass of #<CLOSER-MOP:FUNCALLABLE-STANDARD-CLASS TAKE-OUT!-FUNCTION 2008FF9B>.
<puchacz> not finalized something?
<puchacz> wrong order in source files?
<puchacz> I can go :verbose t again
<shka> order should be fine
<shka> let me take a look
<puchacz> it is in here
amb007 has quit [Read error: Connection reset by peer]
<puchacz> #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-data-structures" "api" "meta">
<puchacz> so you don't need verbose?
<shka> lol
<shka> no need
<shka> because i am an idiot :D
<shka> no wonder this does not load
<shka> crap
<shka> i should not shit talk LW
Alfr has joined #commonlisp
<puchacz> lol. it may be that everybody thinks "common lisp", uses "sbcl"
amb007 has joined #commonlisp
<shka> i am guilty of that
<puchacz> but I will ask them one day if they plan to merge unicode into regular functions :)
<puchacz> not sure why they did not do it, maybe standard forbids...?
Alfr has quit [Remote host closed the connection]
<shka> i've just changed those metaclasses
<Guest7470> implementation dependent.
<shka> interesting that it loads in SBCL actually
Alfr has joined #commonlisp
Alfr has quit [Remote host closed the connection]
Jing_ has joined #commonlisp
Jing has quit [Ping timeout: 245 seconds]
pieguy128 has quit [Quit: ZNC 1.8.2 - https://znc.in]
pieguy128 has joined #commonlisp
specbot has quit [Remote host closed the connection]
minion has quit [Read error: Connection reset by peer]
specbot has joined #commonlisp
minion has joined #commonlisp
<puchacz> btw, is it possible to start fresh quicklisp installation and download exactly the same version that I am using now?
<puchacz> I would like to find out what I changed locally by using text comparisoin vs original as a reference
<puchacz> shka, I saw your message now, trying
Alfr has joined #commonlisp
<puchacz> if you want to keep playing, now we are down to 1 error
<puchacz> **++++ Error in (DEFCLASS CL-DATA-STRUCTURES:EXPRESSION):
<puchacz>   #<STANDARD-CLASS CHUNKING-MIXIN 250181EB> is an invalid superclass of #<CLOSER-MOP:FUNCALLABLE-STANDARD-CLASS EXPRESSION 2008246B>
<shka> oh, that should be simple
<shka> gimme a second
VincentVega has quit [Remote host closed the connection]
<shka> puchacz: yup, done, btw, xpr is really funny macro ;-)
<puchacz> trying :)
<puchacz> the next one
<puchacz> [package cl-data-structures.common.hamt]
<puchacz> **++++ Error between functions:
<puchacz>   The variable +MAXIMUM-CHILDREN-COUNT+ is unbound.
<shka> oh, really?
<puchacz> in this file  #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-data-structures" "common" "hamt" "common">
<shka> yeah, i know where it is
<puchacz> (one day I will learn git, but I refuse to read *a book* about version control system)
<puchacz> (it does not feel right)
<shka> puchacz: i think this has to be because those constants need to be evaluated at compile time...
<shka> puchacz: but i am not sure about that
<mfiano> Are these errors coming from CCL?
<shka> what do you think?
<shka> mfiano: lispworks
<puchacz> checking
<mfiano> SBCL is forgiving with regard to not requiring make-load-form
<puchacz> wrap in eval-when?
<shka> or eval-always
<puchacz> or - putting these constants in a separate file, would it help?
<shka> it is already accessible
<mfiano> Is the value a instance?
<shka> no, just a number
<puchacz> (ash 1 +hash-level+)
<shka> fixnum actually
<mfiano> Then it should be fine to define it before its use.
<shka> well, should be a fixnum
<mfiano> Assuming no macro needs it at macroexpansion time or something.
<mfiano> Just use eval-when and see
<puchacz> sorry, a typo
<puchacz> **++++ Error between functions:
<puchacz>   Unknown situation :COMPLILE-TOPLEVEL in (EVAL-WHEN (:COMPLILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) ...)).
<puchacz> again
<mfiano> mispelled compile
<shka> yup
<puchacz> yes, I did it in "dead lisp", so I had no autocomplete
<shka> i also took a liberty and made a commit
<shka> i happen to know other places using constants
<shka> so i changed it there as well
<puchacz> okay, it worked, now the same complaint in rrb common
<puchacz> I will download your newest zip
<shka> puchacz: wanna quick git lesson? :D
<puchacz> would it hurt my brain? go on
<shka> well, are you on linux?
<puchacz> yes
<shka> good, then install git
<shka> open terminal
<puchacz> puchacz@vbkub01:~/tmp$ git --version
<puchacz> git version 2.17.1
<shka> navigate to quicklisp local-projects
<shka> remove cl-data-structures folder
lisp123 has quit [Remote host closed the connection]
<puchacz> thanks, downloaded it
<puchacz> I guess I have a local branch now
<puchacz> it created .git inside
<shka> well, then cd into the fresh folder
<shka> and you should be on the master
<shka> so to pull changes i make, simply execute git pull
rain3 has quit [Ping timeout: 265 seconds]
<puchacz> ok, tks
<shka> and that's it for now
<puchacz> LW is relentless
<puchacz> Error: Defining (METHOD REINITIALIZE-INSTANCE (T)) visible from package COMMON-LISP { *handle-warn-on-redefinition* is :ERROR }
<puchacz>    1 (continue) Define it anyway.
<puchacz> we could change *handle-warn-on-redefinition* of course
<shka> it is fine i think
<puchacz> I will change it to :warn in my whole setup
<shka> just redefine it, let's see how it works out :-)
<shka> also, which file?
<puchacz> sorry, closed it
<shka> well, that's how it is
<puchacz> but it is useful to change this variable, give me a second
<puchacz> **++++ Error in (DEFCLASS CL-DATA-STRUCTURES.COMMON.EGNAT::EGNAT-RANGE):
<puchacz>   Duplicate readers among (ACCESS-STACK READ-INITIAL-STACK READ-INITIAL-STACK READ-CONTAINER) provided for (ENSURE-CLASS EGNAT-RANGE).
<shka> wow
<shka> puchacz: ok, git pull
<puchacz> faster than unzipping :)
<shka> yes
<shka> that's the point
tyson2 has quit [Remote host closed the connection]
<puchacz> another eval-when?
<puchacz> **++++ Error in (METHOD CL-DATA-STRUCTURES:AT (CL-DATA-STRUCTURES.QUEUES.2-3-TREE::2-3-QUEUE (EQL :FRONT))):
<puchacz>   The variable +BUFFER-SIZE+ is unbound.
<shka> ok, forgot about this one
<puchacz> btw, we may need to move to private... maybe I am spamming too much
<shka> yeah
<shka> good idea
Inline has joined #commonlisp
<etimmons> There's no specialization on the first argument
lisp123 has joined #commonlisp
<puchacz> I muffled it
<puchacz> etimmons: do yo think letting this through can cause some issues?
ym has quit [Ping timeout: 265 seconds]
<etimmons> It could
<puchacz> so if we specialise on T, would it be better?
<etimmons> no, T is the implicit specialization (what's there now)
<etimmons> Based on context, it's probably supposed to be RRB-RANGE
john-a-carroll has joined #commonlisp
john-a-carroll has quit [Ping timeout: 250 seconds]
cjb has joined #commonlisp
attila_lendvai has quit [Ping timeout: 264 seconds]
slyrus has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 27.1]
puchacz has quit [Quit: Client closed]
puchacz has joined #commonlisp
puchacz has quit [Client Quit]
Lycurgus has joined #commonlisp
puchacz has joined #commonlisp
<jackdaniel> n.b given that both initialize and reinitialize use it, that should probably be a single method shared-initialize
<jackdaniel> s/use it/do the same/
Mandus has quit [Ping timeout: 244 seconds]
karlosz has joined #commonlisp
Mandus has joined #commonlisp
theothornhill has joined #commonlisp
<shka> etimmons: you are really helpful
<shka> jackdaniel: yeah, you are right
<puchacz> shka, just in case, I will pull in few days
<puchacz> later this year I will rebuild my quicklisp as well, but it won't have your today's changes anyway
alvaro121 has joined #commonlisp
<etimmons> shka: (METHOD REINITIALIZE-INSTANCE (T)) looked scary (really the (T)), so I decided to just take a peek
Lycurgus has quit [Quit: Exeunt]
<shka> etimmons: i certainly should not write this :D
<shka> *should have not wrote this?
<shka> sorry, it's late
<shka> but yeah, it is scary, real scary
<puchacz> I will try without mufflihng next time then
<shka> oh, you can pull right now
alvaro121 has quit [Ping timeout: 265 seconds]
<shka> i just removed all reinitialize-instance from the code, there was no good reason to have those around
<puchacz> you will be pleased to know that it loads now without (setf lispworks:*handle-warn-on-redefinition* :warn)
<puchacz> so thanks again
<shka> etimmons: this will honestly top the list of the worst code i have ever wrote
<shka> puchacz: cheers!
<etimmons> shka: Haha, we've all been there :)
<shka> the lesson from today: test on more implementations
<etimmons> Also, I'm very surprised that Lispworks doesn't lock the CL package (and signal an error when you redefined CL:DEFPACKAGE)
<shka> i guess it is technically allowed
Lord_Nightmare has quit [Quit: ZNC - http://znc.in]
<puchacz> etimmons
<puchacz> CL-USER 5 > (+ 3 7)
<puchacz> 21
<puchacz> it is only a warning to redefine +, you can proceed
<puchacz> I mean it is an error now, which is default
Catie has joined #commonlisp
<puchacz> but with cl:defpackage, we never had any luck in LW
<puchacz> we renamed it
<puchacz> didn't we
<puchacz> ?
<shka> puchacz: no, just empty (:usev
<shka> (:use)
<puchacz> ah, ok
<puchacz> then it should not have proceeded
<shka> so LW won't figure out that we ought to use CL
<etimmons> Well, redefining CL:DEFPACKAGE (or CL:+) is "allowed" but the consequences of it are undefined
<etimmons> clhs 11.1.2.1.2
<specbot> Constraints on the COMMON-LISP Package for Conforming Programs: http://www.lispworks.com/reference/HyperSpec/Body/11_abab.htm
<shka> yup, sbcl locks CL
<shka> and it is, arguably, a good thin
<shka> *thing
<puchacz> ok, thanks guys for your help; I will be going as well :)
<puchacz> c u
<shka> bye!
<etimmons> definitely. Which is why I'm surprised LW doesn't lock it. Maybe they just don't support package locks at all
john-a-carroll has joined #commonlisp
shka has quit [Ping timeout: 250 seconds]
derelict has quit [Quit: bye]
derelict has joined #commonlisp
lisp123 has quit [Remote host closed the connection]
joe_mad has joined #commonlisp
gaqwas has joined #commonlisp
john-a-carroll has quit [Quit: Ping timeout (120 seconds)]
aartaka has quit [Ping timeout: 256 seconds]
Lord_Nightmare has joined #commonlisp
theothornhill has quit [Remote host closed the connection]
theothornhill has joined #commonlisp
joe_mad has left #commonlisp [ERC (IRC client for Emacs 27.1)]
<borodust> Xach: this is very strange, cl-flow doesn't have any ftype declamations
<borodust> Xach: and i also cannot reproduce the problem :/
<borodust> Xach: akchooaly, reproduced it, forgot to nuke fasls
elderK has joined #commonlisp
aartaka has joined #commonlisp
aartaka has quit [Ping timeout: 250 seconds]
puchacz has quit [Quit: Client closed]
jmercouris has joined #commonlisp
<jmercouris> what am I missing? http://dpaste.com/3D7J2H3XR
john__ has joined #commonlisp
slyrus has quit [Quit: Leaving]
gaqwas has quit [Read error: Connection reset by peer]
cognemo has quit [Ping timeout: 256 seconds]
john__ is now known as gaqwas
<jmercouris> oh wow, the slot symbol is not in my package
<jmercouris> that's what I get for using someone else's 'mixin'
cognemo has joined #commonlisp
peterhil_ has quit [Read error: Connection reset by peer]
peterhil_ has joined #commonlisp
peterhil_ has quit [Read error: Connection reset by peer]
peterhil_ has joined #commonlisp
<borodust> Xach: cl-flow should be fixed now
aartaka has joined #commonlisp
peterhil_ has quit [Quit: Leaving]
peterhil__ has joined #commonlisp
<etimmons> jmercouris: Hopefully they exported an accessor!
<jmercouris> etimmons: of course not, that would be too easy, I had to do "::" :-\
<etimmons> :(
aartaka has quit [Ping timeout: 265 seconds]
theothornhill has quit [Ping timeout: 265 seconds]
kevingal has joined #commonlisp
theothornhill has joined #commonlisp
epolanski has quit [Quit: Connection closed for inactivity]
gaqwas has quit [Ping timeout: 250 seconds]
cosimone has quit [Quit: ERC (IRC client for Emacs 27.1)]
rgherdt has quit [Ping timeout: 265 seconds]
theothornhill has quit [Ping timeout: 250 seconds]
perrierjouet has quit [Quit: WeeChat 3.3]
<pjb> lisp123w: do you have a domain name reserved?
<pjb> lisp123w: when I'll drop informatimago.com, I'll have to rename all my packages :-/
<pjb> Perhaps common-lisp.net could distribute domain names to lispers?
cjb has quit [Remote host closed the connection]
cjb has joined #commonlisp
perrierjouet has joined #commonlisp
<copec> Are you planning to drop informatimago.com anytime soon pjb?
yewscion has quit [Ping timeout: 260 seconds]
perrierjouet has quit [Quit: WeeChat 3.3]
jurov has joined #commonlisp
Jing_ has quit [Remote host closed the connection]
Jing has joined #commonlisp
s-liao has joined #commonlisp
taiju has quit [Ping timeout: 256 seconds]
taiju has joined #commonlisp
kevingal has quit [Remote host closed the connection]
perrierjouet has joined #commonlisp