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
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
<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
<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]