jackdaniel 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> | Pastebin: <https://plaster.tymoon.eu/>
chowder has quit [Quit: Leaving.]
earl-ducaine has quit [Ping timeout: 260 seconds]
flip214 has quit [Read error: Connection reset by peer]
chowder has joined #commonlisp
earl-ducaine has joined #commonlisp
occ has joined #commonlisp
chowder has quit [Quit: Leaving.]
chowder has joined #commonlisp
avocadoist has quit [Remote host closed the connection]
avocadoist has joined #commonlisp
X-Scale has quit [Quit: Client closed]
repeter` has joined #commonlisp
repeter has quit [Ping timeout: 260 seconds]
dale has joined #commonlisp
dale has quit [Remote host closed the connection]
dale has joined #commonlisp
dale has quit [Remote host closed the connection]
dale has joined #commonlisp
dale has quit [Remote host closed the connection]
random-nick has quit [Ping timeout: 246 seconds]
earl-ducaine has quit [Ping timeout: 260 seconds]
dale has joined #commonlisp
chowder has quit [Quit: Leaving.]
hrberg has quit [Ping timeout: 255 seconds]
hrberg has joined #commonlisp
chowder has joined #commonlisp
chowder has left #commonlisp [#commonlisp]
occ has quit [Ping timeout: 252 seconds]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
marsia has quit [Ping timeout: 246 seconds]
marsia has joined #commonlisp
occ has joined #commonlisp
osmium has joined #commonlisp
corncob_ has joined #commonlisp
corncob_ has quit [Quit: Igloo IRC: https://iglooirc.com]
corncob_ has joined #commonlisp
corncob_ has quit [Client Quit]
corncob_ has joined #commonlisp
corncob_ has quit [Remote host closed the connection]
corncob has joined #commonlisp
corncob has quit [Client Quit]
azimut has quit [Ping timeout: 255 seconds]
asarch has joined #commonlisp
osmium has quit [Read error: Connection reset by peer]
<mfiano> Hello all. I'm happy to say I'm finally writing some CL code again after close to a year. Can I rely on (find-symbol "FOO") evaluated at macro-expansion time in some macro in some provider package, called by some client package, to always refer to CLIENT-PACKAGE::FOO, and never PROVIDER-PACKAGE::FOO?
<mfiano> supplier, provider, dependency package, ..., what you wish
pawa2 has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
<hayley> That is correct.
Inline has quit [Remote host closed the connection]
Inline has joined #commonlisp
igemnace has joined #commonlisp
rgherdt has joined #commonlisp
kenran has joined #commonlisp
asarch has quit [Quit: Leaving]
<jackdaniel> jcowan: I think that trouble start when something gets in your way, not when you are aesthetically displeased about terminology
aartaka has joined #commonlisp
Alfr has quit [Read error: Connection reset by peer]
Alfr has joined #commonlisp
aartaka has quit [Ping timeout: 248 seconds]
frgo_ has quit [Ping timeout: 268 seconds]
Cymew has joined #commonlisp
pranavats has left #commonlisp [Error from remote client]
<mfiano> hayley: Thanks.
pve has joined #commonlisp
Posterdati has quit [Read error: Connection reset by peer]
shka has joined #commonlisp
pranavats has joined #commonlisp
Posterdati has joined #commonlisp
vitovan has joined #commonlisp
vitovan has quit [Changing host]
vitovan has joined #commonlisp
vitovan is now known as lavitno
lavitno is now known as vitovan
occ has quit [Ping timeout: 246 seconds]
MajorBiscuit has joined #commonlisp
MajorBiscuit has quit [Quit: WeeChat 3.6]
earl-ducaine has joined #commonlisp
ritchie101 has joined #commonlisp
ritchie101 has quit [Remote host closed the connection]
LW has joined #commonlisp
vitovan has quit [Ping timeout: 248 seconds]
Guest2914 has joined #commonlisp
azimut has joined #commonlisp
Guest2914 has quit [Quit: Client closed]
pranavats has left #commonlisp [Disconnected: Hibernating too long]
random-nick has joined #commonlisp
vitovan has joined #commonlisp
vitovan has quit [Ping timeout: 248 seconds]
<pjb> mfiano: symbols are usually interned at read-time, which occurs when compiling or loading files. defpackage and in-package have compilation-time effects, to ensure that packages are defined in the compilation environment, so that symbols can be interned in them.
<pjb> mfiano: the symbol returned by (find-symbol "FOO") will therefore depend on the package definitions, and the current package. You can use (find-symbol "FOO"CLIENT-PACKAGE") to search it in the specified package. (it can still return PROVIDER-PACKAGE::FOO if this is the symbol present in CLIENT-PACKAGE, according to the package definition).
<pjb> mfiano: you can have (EQL 'CLIENT-PACKAGE::FOO 'PROVIDER-PACKAGE::FOO) --> T
<pjb> * (find-symbol "FOO" "CLIENT-PACKAGE")
earl-ducaine has quit [Ping timeout: 252 seconds]
vitovan has joined #commonlisp
jmdaemon has quit [Ping timeout: 252 seconds]
earl-ducaine has joined #commonlisp
mingus1 has joined #commonlisp
mingus has quit [Ping timeout: 246 seconds]
mingus1 is now known as mingus
vitovan has quit [Ping timeout: 246 seconds]
pawa2 has quit [Ping timeout: 255 seconds]
jello_pudding has quit [Ping timeout: 255 seconds]
tyson2 has joined #commonlisp
mjoerg has joined #commonlisp
mjoerg has quit [Remote host closed the connection]
vitovan has joined #commonlisp
earl-ducaine has quit [Quit: No Ping reply in 180 seconds.]
earl-ducaine has joined #commonlisp
pranavats has joined #commonlisp
earl-ducaine has quit [Ping timeout: 246 seconds]
earl-ducaine has joined #commonlisp
vitovan has quit [Ping timeout: 246 seconds]
<jcowan> jackdaniel: In principle I agree, but badly chosen terminology can interfere with your thinking. As a very crude example: "In language foo, we use the + sign to represent multiplication". That would tangle my thoughts every time I wrote an arithmetic expression.
<jcowan> All of us who survived seccondary school came out with, say, "the sine function", and we know without even being told that "sin x" is a number and just one number. It's implicit. In Lisp we write (sin x), fine. Now we are asked to look at (exact-integer-sqrt y), which is also called a function, and grasp that it gives you not one value but two (the square root and the remainder).
<pjb> jcowan: well, sin can also be applied on vectors and matrices: sin [[0 pi/4] [pi/3 pi/2]] = [[0 sqrt(2)/2] [sqrt(3)/2 1]]
<pjb> etc.
<jcowan> Okay, then it takes one vector and returns one vector. Vectors are objects, that's fine too
<jcowan> (damn, I keep trying to wipe the mouse pointer off my screen with a finger)
peterhil has quit [Quit: WeeChat 3.8]
mathrick has quit [Ping timeout: 256 seconds]
<earl-ducaine> Out of curiosity, how many people DON'T use Emacs + Slime for developing CL? What do you use? Are there any vi users?
_cymew_ has joined #commonlisp
<Mrtn[m]> earl-ducaine: What's wrong with sly?
<earl-ducaine> Mrtn[m]: No judgements, I exclusively use Emacs + Slime, just curious if there are other environments out there people find productive.
tasty has quit [Quit: rebooting for kernel updates]
<phoe> there's many vimfolk who use their own tooling
<phoe> the lispworks IDE is also common among LW users
<Mrtn[m]> earl-ducaine: What can you do with slime, that you cannot do with sly?
<Mrtn[m]> Phoe: Is that in melpa?
<phoe> Mrtn[m]: right click a presentation
* phoe ducks
<phoe> Mrtn[m]: lispworks ide is not an emacs program so it is not in melpa; neither is vim tooling
<Mrtn[m]> I don't always bother to configure gpt or what it's called.
<earl-ducaine> Mrtn[m]: I've never tried used sly, that's why I'm asking the question broadly, to find out what's out there.
vitovan has joined #commonlisp
tasty has joined #commonlisp
tasty has joined #commonlisp
tasty has quit [Changing host]
<Mrtn[m]> GPM*
<Mrtn[m]> earl-ducaine: I thought sly was slime on turbo or similar.
<an_origamian[m]> GPM meaning mouse in terminal?
<Mrtn[m]> an_origamian @an_origamian:matrix.org: On the console, I thought?
<an_origamian[m]> That's what I meant. Why not run Emacs in graphical mode?
mathrick has joined #commonlisp
Inline has quit [Ping timeout: 268 seconds]
vitovan has quit [Ping timeout: 255 seconds]
vitovan has joined #commonlisp
kenran has quit [Remote host closed the connection]
quoosp has joined #commonlisp
vitovan has quit [Ping timeout: 246 seconds]
morganw has joined #commonlisp
azimut has quit [Ping timeout: 255 seconds]
Inline has joined #commonlisp
rgherdt_ has joined #commonlisp
rgherdt has quit [Remote host closed the connection]
<masinter> Why, I use Medley Interlisp for developing CL :)
<masinter> that to answer earl-ducaine
<earl-ducaine> masinter: actually I tried to use Medley, I was curious to try the structured code editor. But I couldn't get it to work.
<earl-ducaine> Medley ran fine but I had no luck with the editor.
<masinter> we're doing intro videos
<masinter> you don't edit text file in Medley
<earl-ducaine> Yes, I was very curious about it.
<earl-ducaine> This was maybe two years ago? Things were still in flux and unstable.
<masinter> things are still in flux but hopefully improving
<ixelp> Orientation to Medley | Medley Interlisp Project
<earl-ducaine> I'm definitely putting it on my todo to try it out again.
<ixelp> Orientation to Medley | Medley Interlisp Project
<masinter> I'm especially interested in feedback about roadblocks to trying it out
<masinter> now you can just use your browser https://online.interlisp.org -- no install
<ixelp> Interlisp Online
<earl-ducaine> That's crazy! Did you compile it to webassembly?
<masinter> no, it runs on an AWS intstance and uses vnc
<masinter> if you log in it will keep your files
<earl-ducaine> o.O That's even crazier! lol
eddof13 has joined #commonlisp
<masinter> there's a docker container if you want to run disconnected
<masinter> you should only need to install docker desktop
<masinter> the docker stuff is new as of yesterday, i haven't had a chance to try it
<masinter> apparently the new docs haven't been pushed? I'll ask
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<earl-ducaine> I forgot about the on-line document browser. Amazing!
mrcom_ has joined #commonlisp
mrcom has quit [Read error: Connection reset by peer]
<jackdaniel> oi, some nice lisp references here: https://sdf.org/~vito/jack.html :)
<ixelp> Jack's Ass
<White_Flame> yeah, I've railed against long/complex installation instructions for a while
<White_Flame> but the lack of good OS design tends to bring that length and complexity, so it's up to devs to try to mitigate it manually, which sucks
<jackdaniel> maybe it is complex, but it cures
<White_Flame> more ways that we end up spending time serving the machines, instead of the machines serving us
tyson2 has quit [Remote host closed the connection]
<masinter> I added a clhs lookup to the man command
cage has joined #commonlisp
Lord_of_Life_ has joined #commonlisp
Lord_of_Life has quit [Ping timeout: 255 seconds]
earl-ducaine_ has joined #commonlisp
Lord_of_Life_ is now known as Lord_of_Life
Equill has quit [Quit: KVIrc 5.0.1 Aria http://www.kvirc.net/]
igemnace has quit [Quit: WeeChat 3.8]
quoosp has quit [Ping timeout: 255 seconds]
tyson2 has joined #commonlisp
Catie has quit [Changing host]
Catie has joined #commonlisp
<_death> (setf (cdr jack) nil)
earl-ducaine_ has quit [Ping timeout: 260 seconds]
pranavats has left #commonlisp [Disconnected: Hibernating too long]
amoroso has joined #commonlisp
repeter` is now known as repeter
attila_lendvai has joined #commonlisp
kdlv has quit [Quit: The Lounge - https://thelounge.chat]
rtoy has joined #commonlisp
tyson2 has quit [Remote host closed the connection]
varjagg has joined #commonlisp
jmdaemon has joined #commonlisp
<jcowan> Well, of course, if you have jack, and you get rid of the first part, what's left is nil.
random-jellyfish has joined #commonlisp
Cymew has quit [Ping timeout: 255 seconds]
_cymew_ has quit [Ping timeout: 246 seconds]
eddof13 has joined #commonlisp
<random-jellyfish> The package cl-containers exports a class priority-queue-heap, I can see that in the package.lisp file on github, I load cl-containers with quicklisp (ql:quickload 'cl-containers), then I require it (require 'cl-containers), then I try to create an instance of this class, (defparameter h (make-instance 'containers:priority-queue-heap :sorter #'<
<random-jellyfish> :test #'=)), and it says that the class doesn't exist? Why?!?
<random-jellyfish> the strange thing is, it worked once, but now it doesn't, I don't understand what I did to make it work
<Bike> the require probably doesn't add anything
<random-jellyfish> it returns nil when I do it in the repl
<Bike> the return value of require is meaningless. the function iss pretty much obsolete. you probably shouldn't use it. i would try again without using require just to eliminate a variable (i doubt it's what causing your problem though)
Gleefre has joined #commonlisp
<Bike> as for your actual error, what exactly does it say?
<random-jellyfish> debugger invoked on a SB-PCL:CLASS-NOT-FOUND-ERROR in thread
<random-jellyfish> #<THREAD "main thread" RUNNING {1000560083}>:
<random-jellyfish>   There is no class named METABANG.CL-CONTAINERS:PRIORITY-QUEUE-HEAP.
cosimone has joined #commonlisp
<ixelp> cl-containers/package.lisp at master · gwkkwg/cl-containers · GitHub
<random-jellyfish> priority-queue-heap is exported
<Bike> Sure, but that doesn't necessarily mean a class exists.
<Bike> looking at the code... do you have EKSL-PRIORITY-QUEUE in features? you can check with (member :eksl-priority-queue *features*)
<ixelp> cl-containers/eksl-priority-queue.lisp at master · gwkkwg/cl-containers · GitHub
<random-jellyfish> returns nil
<Bike> okay, so as you can see from the code, without that feature, cl-containers does not actually define the priority queue heap.
<random-jellyfish> the class exists in the source code, I find it if I grep for it
<random-jellyfish> is there a way to load that feature?
<Bike> you can do (push :eksl-priority-queue *features*) before loading cl-containers
<random-jellyfish> tried it, doesn't work
<random-jellyfish> same error
<jackdaniel> first remove cache, then push before loading the system, then load the system
tyson2 has joined #commonlisp
<jackdaniel> if asdf picks fasls from cache then defining a feature /now/ is too late, the code is already red
<jackdaniel> read*
<random-jellyfish> how do you remove cache?
<jackdaniel> rm -rf ~/.cache/common-lisp
<jackdaniel> then restart the lisp process
<jackdaniel> push to *features* and load cl-containers
<Bike> you can also do (asdf:compile-system :cl-containers :force t). wiping fasls is probably honestly more reliable though
<random-jellyfish> okay, removed cache, opened new sbcl repl, pushed to *features*, loaded ~/quicklisp/setup.lisp, (ql:quickload 'cl-containers), (defparameter h (make-instance 'cl-containers:priority-queue-heap :sorter #'< :test #'=))
<random-jellyfish> still get an error
<random-jellyfish>  There is no class named METABANG.CL-CONTAINERS:PRIORITY-QUEUE-HEAP.
<Bike> sanity check: does the (member ...) return something now?
<random-jellyfish> after I push yes
<random-jellyfish> returns a list (:EKSL-PRIORITY-QUEUE :QUICKLISP :SB-BSD-SOCKETS-ADDRINFO :ASDF3.3 ...
<Bike> alright. what if you manually compile and load the file i linked?
zyni-moe has joined #commonlisp
rogersm has quit [Quit: Leaving...]
<random-jellyfish> (load "~/quicklisp/dists/quicklisp/software/cl-containers-20200427-git/dev/eksl-priority-queue.lisp")
<random-jellyfish>   READ error during LOAD:
<random-jellyfish>     Package U does not exist.
<Bike> sounding more and more like this code is unsupported.
<phoe> sounding more like an unresolved local nickname?
zyni-moe has quit [Remote host closed the connection]
<Bike> yes, but the package definition doesn't have anything obvious there
<Bike> and, i see why reloading didn't work: that entire file is not part of the asd system
<Bike> if you want to figure out what is going on you will probably have to read the code and/or have a chat with the maintainers, although the readme says there are no maintainers
<ixelp> cl-containers/notes.text at 3d1df53c22403121bffb5d553cf7acb1503850e7 · gwkkwg/cl-containers · GitHub
<phoe> hmmm
<Bike> that's also rather discouraging, isn't it
<random-jellyfish> at some point it worked, I could create an instance of that class, I explored its internals in sly, I could see it's a heap, it had a vector of values inside that respected the heap property
<random-jellyfish> I just don't understand what made it work
<random-jellyfish> I guess I'll have to implement my own heap
<random-jellyfish> or look for another package :(
<random-jellyfish> I just need a heap of numbers
<phoe> random-jellyfish: (ql:quickload :damn-fast-priority-queue)
<phoe> ;; shameless plug
<phoe> if the constraints are okay with you though, most importantly if the numbers are ub32
<yitzi> Its too fast for me, so I think I'll insert some sleep calls in my local clone. :)
attila_lendvai_ has joined #commonlisp
<random-jellyfish> phoe can it be made to support ub64?
attila_lendvai has quit [Remote host closed the connection]
<semz> A bit of a survey question directed at the people who dislike FFI in libraries: Do you dislike SBCL-specific custom VOPs similarly? More? Less?
<phoe> I guess, you should be able to fork it and modify https://github.com/phoe/damn-fast-priority-queue/blob/main/damn-fast-priority-queue/src.lisp#L32 to be ub64
<ixelp> damn-fast-priority-queue/src.lisp at main · phoe/damn-fast-priority-queue · GitHub
attila_lendvai_ has quit [Read error: Connection reset by peer]
attila_lendvai_ has joined #commonlisp
cage has quit [Quit: rcirc on GNU Emacs 28.2]
<phoe> I was thinking of generifying DFPQ, like, making it possible to macroexpand all of DFPQ code with custom priority and element types for vector specialization so you can have queues and accessors specialized for different types
<phoe> that would solve the arbitrary choice of ub32 as a priority, but would also be one hell of a microoptimization
<jfloren> masinter, I'm interested in your mention of developing CL inside Interlisp. Is it easy to work in such a way that your code can also be loaded / hacked on in SLIME, and managed in a git repo? I have only played with the online Medley stuff very very briefly
<phoe> ...and a mess to implement in a meaningful manner
<semz> phoe: reminiscent of C++'s STL, that idea
<random-jellyfish> phoe thanks
<phoe> semz: yes
<phoe> template metaprogramming, except with less templates and more macros
<phoe> (define-dfpq-package #:org.phoe.dfpq.ub64 :priority-type (unsigned-byte 64) :element-type t) that expands into a big ole progn containing all of dfpq code
<phoe> horrible, but what don't people do for efficiency
<Fade> ... as long as I'm not on the hook for debugging the expansion, it can hide in its macro identifier. :)
<Bike> yeah, i'd mostly be worried about source info being hooked up properly.
* Fade nods
<phoe> I have no idea how I'd achieve that - a single trivial-with-current-source-form would be enough, or...?
<phoe> because source info would probably all point towards this single (define-dfpq-package ...) form
<Bike> right, which sucks.
mariari has quit [Ping timeout: 264 seconds]
<phoe> and I have no idea how to fix this other than writing an ASDF plugin that autogenerates files containing DFPQ sources
<phoe> which would be a massive yak shave and also mean I get to define custom ASDF parts
<phoe> like, how did I even get from writing a fast but generic prioqueue to extending ASDF
* phoe screams into the void* and brbs
quoosp has joined #commonlisp
robin has quit [Remote host closed the connection]
robin has joined #commonlisp
cosimone has quit [Ping timeout: 252 seconds]
tyson2 has quit [Remote host closed the connection]
waleee has joined #commonlisp
amoroso has quit [Quit: Client closed]
azathough has quit [Quit: Connection closed for inactivity]
phantomics has quit [Quit: Ex-Chat]
Gleefre has quit [Remote host closed the connection]
mariari has joined #commonlisp
son0p has quit [Ping timeout: 246 seconds]
attila_lendvai_ has quit [Ping timeout: 246 seconds]
* VOID[m] 😔
morganw has quit [Remote host closed the connection]
jello_pudding has joined #commonlisp
varjagg has quit [Ping timeout: 268 seconds]
<phoe> oops sorry
tyson2 has joined #commonlisp
LW has quit [Quit: WeeChat 3.6]
pillton has joined #commonlisp
White_Flame has quit [Remote host closed the connection]
White_Flame has joined #commonlisp
pve has quit [Quit: leaving]
shka has quit [Ping timeout: 255 seconds]
son0p has joined #commonlisp
phantomics has joined #commonlisp
vitovan has joined #commonlisp
rgherdt_ has quit [Remote host closed the connection]
emacsomancer[m] has joined #commonlisp
quoosp has quit [Ping timeout: 248 seconds]
eddof13 has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
vitovan has quit [Ping timeout: 255 seconds]
inline__ has joined #commonlisp
vitovan has joined #commonlisp
Inline has quit [Ping timeout: 246 seconds]
pawa2 has joined #commonlisp
markb1 has joined #commonlisp
markb1 has quit [Remote host closed the connection]
eddof13 has joined #commonlisp