phoe changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language | <http://cliki.net/> <https://irclog.tymoon.eu/freenode/%23lisp> <https://irclog.whitequark.org/lisp> <http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.4.14, CMUCL 21b, ECL 16.1.3, CCL 1.11.5, ABCL 1.5.0
Bike has joined #lisp
troydm has quit [Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset]
mfiano has joined #lisp
troydm has joined #lisp
sloanr has quit [Quit: ERC (IRC client for Emacs 27.0.50)]
Kundry_Wag has joined #lisp
zotan has quit [Ping timeout: 240 seconds]
themsay has quit [Ping timeout: 244 seconds]
themsay has joined #lisp
zotan has joined #lisp
findiggle has quit [Remote host closed the connection]
cantstanya has quit [Remote host closed the connection]
Kundry_Wag has quit [Ping timeout: 244 seconds]
Kundry_Wag has joined #lisp
mfiano has quit [Ping timeout: 268 seconds]
robdog has quit [Remote host closed the connection]
mfiano has joined #lisp
cantstanya has joined #lisp
Kundry_Wag has quit [Ping timeout: 250 seconds]
mfiano has quit [Ping timeout: 240 seconds]
robdog has joined #lisp
orivej has quit [Ping timeout: 245 seconds]
mfiano has joined #lisp
themsay has quit [Ping timeout: 246 seconds]
themsay has joined #lisp
robdog has quit [Ping timeout: 268 seconds]
robdog has joined #lisp
ntbre has quit [Quit: ntbre]
robdog has quit [Ping timeout: 240 seconds]
iovec has joined #lisp
Kaisyu has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 245 seconds]
robdog has joined #lisp
kdas_ is now known as kushal
ntbre has joined #lisp
Mr-Potter has quit [Quit: Leaving]
robdog has quit [Ping timeout: 240 seconds]
mathpacka has joined #lisp
robdog has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
robdog has quit [Ping timeout: 252 seconds]
robdog has joined #lisp
amerlyq has quit [Quit: amerlyq]
rumbler31 has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
loli has quit [Quit: WeeChat 2.3]
rumbler31 has quit [Ping timeout: 240 seconds]
loli has joined #lisp
robdog has joined #lisp
robdog has quit [Ping timeout: 268 seconds]
robdog has joined #lisp
markoong has quit [Ping timeout: 246 seconds]
megalography has quit [Quit: Leaving.]
Kundry_Wag has joined #lisp
dale has quit [Quit: dale]
robdog has quit [Ping timeout: 244 seconds]
mfiano has quit [Ping timeout: 268 seconds]
mfiano has joined #lisp
megalography has joined #lisp
Kundry_Wag has quit [Ping timeout: 250 seconds]
mfiano has quit [Ping timeout: 240 seconds]
robdog has joined #lisp
mfiano has joined #lisp
Kundry_Wag has joined #lisp
abhixec has joined #lisp
Kundry_Wag has quit [Ping timeout: 250 seconds]
robdog has quit [Ping timeout: 268 seconds]
robdog has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
_whitelogger has joined #lisp
kajo has quit [Ping timeout: 264 seconds]
Kundry_Wag has joined #lisp
themsay has quit [Ping timeout: 245 seconds]
robdog has joined #lisp
mfiano has quit [Ping timeout: 268 seconds]
Kundry_Wag has quit [Ping timeout: 250 seconds]
mfiano has joined #lisp
Oladon has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
esrse has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
mfiano has quit [Ping timeout: 240 seconds]
robdog has joined #lisp
mfiano has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
Kundry_Wag has joined #lisp
mfiano has quit [Ping timeout: 268 seconds]
mfiano has joined #lisp
travv0 has left #lisp [#lisp]
zotan has quit [Ping timeout: 244 seconds]
Kundry_Wag has quit [Ping timeout: 245 seconds]
zotan has joined #lisp
Arcaelyx has joined #lisp
zotan has quit [Ping timeout: 244 seconds]
zotan has joined #lisp
mfiano has quit [Ping timeout: 240 seconds]
robdog has joined #lisp
ntbre has left #lisp [#lisp]
zotan has quit [Ping timeout: 268 seconds]
mfiano has joined #lisp
zotan has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
zotan has quit [Ping timeout: 244 seconds]
robdog has joined #lisp
Kundry_Wag has joined #lisp
zotan has joined #lisp
quazimodo has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
robdog has quit [Ping timeout: 240 seconds]
anamorphic has joined #lisp
robdog has joined #lisp
impulse has quit [Quit: Lost terminal]
jeosol_ has joined #lisp
<jeosol_> morning guys
robdog has quit [Ping timeout: 250 seconds]
anamorphic_ has joined #lisp
anamorphic has quit [Ping timeout: 272 seconds]
anamorphic_ is now known as anamorphic
robdog has joined #lisp
kirkwood has quit [Remote host closed the connection]
robdog has quit [Ping timeout: 240 seconds]
mason has joined #lisp
robdog has joined #lisp
anamorphic has quit [Quit: anamorphic]
robdog has quit [Ping timeout: 240 seconds]
mfiano has quit [Ping timeout: 244 seconds]
mfiano has joined #lisp
robdog has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
<beach> Good morning everyone!
Kundry_Wag has joined #lisp
mfiano has quit [Ping timeout: 246 seconds]
<jeosol_> morning beach
mfiano has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
karlosz has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
aindilis has quit [Ping timeout: 245 seconds]
rumbler31 has joined #lisp
Kundry_Wag has joined #lisp
<makomo> morning
<beach> Hello makomo.
nanoz has joined #lisp
<jeosol_> anyone knows if there is a cl library with features similar to panda?
Kundry_Wag has quit [Ping timeout: 245 seconds]
Necktwi has quit [Quit: leaving]
anewuser has joined #lisp
aindilis has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
jeosol_ has quit [Ping timeout: 256 seconds]
madrik has joined #lisp
Bike has quit [Quit: leaving]
Kundry_Wag has joined #lisp
Bike has joined #lisp
Bike has quit [Client Quit]
mfiano has quit [Ping timeout: 246 seconds]
Kundry_Wag has quit [Ping timeout: 246 seconds]
mfiano has joined #lisp
iAmDecim has quit [Ping timeout: 250 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 268 seconds]
karlosz has quit [Quit: karlosz]
dale has joined #lisp
dddddd has quit [Remote host closed the connection]
Oladon has quit [Quit: Leaving.]
nanoz has quit [Ping timeout: 268 seconds]
robdog has joined #lisp
jbayardo has quit [Ping timeout: 252 seconds]
mfiano has quit [Ping timeout: 244 seconds]
mfiano has joined #lisp
webdog has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 272 seconds]
robdog has joined #lisp
karlosz has joined #lisp
rumbler31 has quit [Remote host closed the connection]
robdog_ has joined #lisp
Kundry_Wag has joined #lisp
Inline has quit [Quit: Leaving]
Kundry_Wag has quit [Ping timeout: 240 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
karlosz has quit [Quit: karlosz]
emaczen has joined #lisp
emaczen has quit [Client Quit]
emaczen has joined #lisp
<emaczen> What is the common workaround in terms of C FFI for returning and passing structs?
mfiano has quit [Ping timeout: 272 seconds]
robdog has quit [Ping timeout: 252 seconds]
mfiano has joined #lisp
<emaczen> I am using CFFI and the return value and arguments require types
robdog has joined #lisp
abhixec has quit [Ping timeout: 246 seconds]
mfiano has quit [Ping timeout: 250 seconds]
mfiano has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
robdog has joined #lisp
frodef has joined #lisp
Kundry_Wag has joined #lisp
<p_l> emaczen: you might want to experiment with using libffi?
<emaczen> p_l: cffi-libffi worked with CCL but not SBCL
robdog has quit [Ping timeout: 250 seconds]
<emaczen> but I also checked the SBCL specific FFI and struct return values and arguments are unimplemented
<p_l> emaczen: how did cffi-libffi fail on SBCL?
<fiddlerwoaroof> cffi-libffi is a bit tricky to use, ime
Kundry_Wag has quit [Ping timeout: 246 seconds]
<fiddlerwoaroof> I've occasionally written small shims to convert structs passed/returned by value to structs returned/passed by reference.
<fiddlerwoaroof> But, that's not ideal for performance sensitive applications
<emaczen> #P"/home/user/.cache/common-lisp/sbcl-1.4.6-1.fc28-linux-x64/home/user/common-lisp/src/gnustep/gui/gnustep.fasl" is missing I think
<fiddlerwoaroof> What are you trying to do?
dale has quit [Quit: dale]
<emaczen> I'm trying to call initWithContentRect: via the C runtime library
<emaczen> lol, you read my mind
<fiddlerwoaroof> Ah, I've done that sorta
robdog has joined #lisp
<fiddlerwoaroof> I believe this works on OSX
<fiddlerwoaroof> objc_msg_send is a bit tricky to work with because you're supposed to cast it to the appropriate type for the selector you're trying to call
<fiddlerwoaroof> Anyways, if you want to debug my objc-lisp-bridge library on GNUstep, It'd be great to make it semi cross-platform ;)
mfiano has quit [Ping timeout: 272 seconds]
<emaczen> fiddlerwoaroof: I just started, but I've been using sel_registerName, class_getMethodImplementation and then calling the function pointer returned by class_getMethodImplementation
<fiddlerwoaroof> hmm, I'm not sure if that's going to be reliable
<emaczen> why?
mathpacka has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
<fiddlerwoaroof> I don't know the details of how this works: https://github.com/fiddlerwoaroof/objc-lisp-bridge/blob/master/objc-runtime.lisp#L102 but I have a suspicion you're sort of bypassing a level
<fiddlerwoaroof> I suspect what you're doing is like trying to invoke the methods of a generic function directly and you might run into issues with more complicated components
karlosz has joined #lisp
<fiddlerwoaroof> but, what do I know, the objc-runtime is only barely documented as it is
mfiano has joined #lisp
<emaczen> Anyway it looks like in nsrect-expose, you avoided the struct, by writing C code that takes a pointer?
Kundry_Wag has quit [Ping timeout: 268 seconds]
undiscovered has joined #lisp
<emaczen> How does cffi-libffi get around this?
FreeBirdLjj has joined #lisp
Kundry_Wag has joined #lisp
robdog has quit [Ping timeout: 268 seconds]
robdog has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
mathpacka has joined #lisp
anewuser has quit [Ping timeout: 240 seconds]
Kundry_Wag has joined #lisp
mfiano has quit [Ping timeout: 240 seconds]
mfiano has joined #lisp
robdog has quit [Ping timeout: 268 seconds]
Kundry_Wag has quit [Ping timeout: 268 seconds]
edgar-rft has quit [Quit: Leaving]
<mathpacka> is there a lisp begginer channel?
<mathpacka> *beginner
<no-defun-allowed> #clschool
<mathpacka> ok, thanks!
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
shrdlu68 has joined #lisp
quazimodo has quit [Ping timeout: 246 seconds]
robdog has joined #lisp
karlosz has quit [Quit: karlosz]
makomo has quit [Ping timeout: 250 seconds]
karlosz has joined #lisp
quazimodo has joined #lisp
karlosz has quit [Client Quit]
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
ravenousmoose has joined #lisp
ravenousmoose has quit [Client Quit]
<fiddlerwoaroof> emaczen: Im not sure, I think libffi uses a magic C library that is allowed to know things that the C standard doesnt specify
robdog has quit [Ping timeout: 244 seconds]
FreeBirdLjj has quit [Ping timeout: 240 seconds]
scymtym has quit [Ping timeout: 245 seconds]
robdog has joined #lisp
nowhere_man has quit [Ping timeout: 252 seconds]
vertigo has quit [Ping timeout: 250 seconds]
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
vertigo has joined #lisp
Kundry_Wag has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
webdog has left #lisp ["ERC (IRC client for Emacs 27.0.50)"]
robdog has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
robdog_ has quit [Ping timeout: 240 seconds]
mfiano has quit [Ping timeout: 240 seconds]
undiscovered has quit [Ping timeout: 256 seconds]
rumbler31 has joined #lisp
mfiano has joined #lisp
rumbler31 has quit [Ping timeout: 244 seconds]
josemanuel has joined #lisp
schweers has joined #lisp
nowhere_man has joined #lisp
cantstanya has quit [Remote host closed the connection]
cantstanya has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 245 seconds]
Kundry_Wag has joined #lisp
mfiano has quit [Ping timeout: 240 seconds]
mfiano has joined #lisp
emaczen has quit [Quit: ERC (IRC client for Emacs 26.1)]
Kundry_Wag has quit [Ping timeout: 246 seconds]
quazimodo has quit [Ping timeout: 245 seconds]
scymtym has joined #lisp
shka_ has joined #lisp
Mr-Potter has joined #lisp
Kundry_Wag has joined #lisp
pierpal has quit [Quit: Poof]
pierpal has joined #lisp
Kundry_Wag has quit [Ping timeout: 245 seconds]
mathpacka has quit [Remote host closed the connection]
bendersteed has joined #lisp
<shrdlu68> Does there exist syntax highlighting for format strings?
kajo has joined #lisp
Kundry_Wag has joined #lisp
ravenousmoose has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
q3d has joined #lisp
<phoe> shrdlu68: I don't think so
<splittist> shrdlu68: it's a fascinating idea, though
iAmDecim has joined #lisp
pierpal has quit [Ping timeout: 244 seconds]
<flip214> I'd like to see some translation into plain lisp -- so ~{~} etc. gets "macroexpanded" to DOLIST or IF etc.; that would be quite helpful sometimes.
<flip214> A bit like the representation CL-PPCRE:PARSE-STRING gives.
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 272 seconds]
akoana has left #lisp ["Leaving"]
fernandobasso has joined #lisp
robdog has quit [Remote host closed the connection]
kajo has quit [Ping timeout: 246 seconds]
mfiano has quit [Ping timeout: 272 seconds]
mfiano has joined #lisp
heisig has joined #lisp
Kaisyu has quit [Quit: Connection closed for inactivity]
robdog has joined #lisp
robdog has quit [Ping timeout: 252 seconds]
Kundry_Wag has joined #lisp
robdog has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
notzmv has quit [Read error: No route to host]
robdog has quit [Ping timeout: 240 seconds]
robdog has joined #lisp
igemnace has quit [Quit: WeeChat 2.3]
robdog has quit [Ping timeout: 250 seconds]
mfiano has quit [Ping timeout: 250 seconds]
mfiano has joined #lisp
robdog has joined #lisp
spoeplau has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
Kundry_Wag has joined #lisp
robdog has joined #lisp
Kundry_Wag has quit [Ping timeout: 268 seconds]
Kundry_Wag has joined #lisp
ravenousmoose is now known as ravenousmoose[aw
ravenousmoose[aw has quit [Quit: Taking a quick nap...ZZzzz]
robdog_ has joined #lisp
Kundry_Wag has quit [Ping timeout: 268 seconds]
orivej has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
varjag has joined #lisp
robdog_ has quit [Ping timeout: 250 seconds]
JetJej has joined #lisp
mfiano has quit [Ping timeout: 250 seconds]
mfiano has joined #lisp
mfiano has quit [Client Quit]
makomo has joined #lisp
ravenousmoose has joined #lisp
robdog has quit [Read error: Connection timed out]
robdog_ has joined #lisp
<p_l> flip214: tried using CL:FORMATTER?
robdog has joined #lisp
mfiano has joined #lisp
Kundry_Wag has joined #lisp
notzmv has joined #lisp
pierpal has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
Selwyn has joined #lisp
Lord_of_Life has quit [Ping timeout: 272 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Read error: Connection reset by peer]
Kundry_Wag has joined #lisp
Lord_of_Life has joined #lisp
robdog_ has quit [Ping timeout: 268 seconds]
robdog_ has joined #lisp
Kundry_Wag has quit [Read error: Connection reset by peer]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
robdog has quit [Ping timeout: 240 seconds]
ravenousmoose has quit [Ping timeout: 252 seconds]
robdog_ has quit [Ping timeout: 240 seconds]
ravenousmoose has joined #lisp
robdog_ has joined #lisp
pierpal has quit [Ping timeout: 244 seconds]
robdog has joined #lisp
pierpal has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
robdog_ has quit [Ping timeout: 264 seconds]
matijja has joined #lisp
scymtym has quit [Ping timeout: 240 seconds]
Kundry_Wag has joined #lisp
Essadon has joined #lisp
Essadon has quit [Max SendQ exceeded]
Essadon has joined #lisp
dddddd has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
markoong has joined #lisp
Kundry_Wag has joined #lisp
esrse has quit [Ping timeout: 240 seconds]
robdog has joined #lisp
Kundry_Wag has quit [Ping timeout: 268 seconds]
makomo has quit [Quit: WeeChat 2.2]
robdog has quit [Ping timeout: 268 seconds]
<flip214> p_l: yes, that "just" gives me a #<FUNCTION ...>
FreeBirdLjj has joined #lisp
<p_l> flip214: macroexpand it?
m00natic has joined #lisp
<flip214> p_l: ah, yeah. right. Thanks!
wanz has joined #lisp
<pjb> disassemble it!
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 245 seconds]
shrdlu68 has quit [Ping timeout: 272 seconds]
robdog has joined #lisp
josemanuel has quit [Quit: leaving]
dddddd has quit [Ping timeout: 245 seconds]
robdog has quit [Ping timeout: 264 seconds]
robdog has joined #lisp
dddddd has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
anewuser has joined #lisp
robdog has joined #lisp
ravenousmoose has quit [Ping timeout: 252 seconds]
robdog has quit [Ping timeout: 264 seconds]
xkapastel has joined #lisp
robdog has joined #lisp
ravenousmoose has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
Kaisyu has joined #lisp
robdog has joined #lisp
wxie has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
moei has joined #lisp
kushal has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
kushal has joined #lisp
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 245 seconds]
kajo has joined #lisp
robdog has joined #lisp
nowhereman has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
Bike has joined #lisp
nowhere_man has quit [Ping timeout: 246 seconds]
varjag has quit [Remote host closed the connection]
varjag has joined #lisp
S3ven has joined #lisp
S3ven has quit [Client Quit]
Selwyn has quit [Read error: Connection reset by peer]
wxie has quit [Ping timeout: 246 seconds]
robdog has joined #lisp
heisig has quit [Quit: Leaving]
bendersteed has quit [Remote host closed the connection]
wanz has quit [Ping timeout: 250 seconds]
LiamH has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
m00natic has quit [Ping timeout: 252 seconds]
LiamH has quit [Client Quit]
amerlyq has joined #lisp
varjag has quit [Ping timeout: 240 seconds]
rippa has joined #lisp
FreeBirdLjj has joined #lisp
kirkwood has joined #lisp
Inline has joined #lisp
terpri_ has joined #lisp
terpri has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Ping timeout: 240 seconds]
varjag has joined #lisp
ravenousmoose has quit [Quit: Taking a quick nap...ZZzzz]
ravenousmoose has joined #lisp
igemnace has joined #lisp
FreeBirdLjj has joined #lisp
varjag has quit [Ping timeout: 240 seconds]
FreeBird_ has joined #lisp
FreeBirdLjj has quit [Ping timeout: 250 seconds]
orivej has quit [Ping timeout: 246 seconds]
sjl_ has joined #lisp
FreeBird_ has quit [Ping timeout: 268 seconds]
JetJej has quit [Quit: [Quit]]
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 240 seconds]
FreeBirdLjj has joined #lisp
matijja has quit [Ping timeout: 246 seconds]
LiamH has joined #lisp
FreeBirdLjj has quit [Ping timeout: 240 seconds]
moei has quit [Ping timeout: 268 seconds]
dale_ has joined #lisp
dale_ is now known as dale
Zaab1t has joined #lisp
cage_ has joined #lisp
ravenousmoose has quit [Quit: Taking a quick nap...ZZzzz]
rozenglass has joined #lisp
akoana has joined #lisp
Kundry_Wag has joined #lisp
mishoo has joined #lisp
SaganMan has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
robdog has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
nowhereman has quit [Ping timeout: 246 seconds]
scymtym has joined #lisp
robdog has joined #lisp
igemnace has quit [Read error: Connection reset by peer]
igemnace_ has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
ravenousmoose has joined #lisp
robdog has joined #lisp
nowhereman has joined #lisp
robdog has quit [Ping timeout: 268 seconds]
<phoe> Does CCL have thread-safe hash tables?
<phoe> I have found lock-free ones but I don't know if that's what I want to use in this case.
shka_ has quit [Quit: Konversation terminated!]
<jackdaniel> if :shared is t, then they are thread-safe
<jackdaniel> lock-free only gives you the actual implementation of how synchronization is implemented
<phoe> Got it
Bronsa has joined #lisp
mtreis86 has joined #lisp
schweers has quit [Ping timeout: 264 seconds]
prite has quit [Ping timeout: 268 seconds]
fkac has joined #lisp
fusagi has joined #lisp
SaganMan has left #lisp ["WeeChat 1.6"]
ravenousmoose has quit [Quit: Taking a quick nap...ZZzzz]
orivej has joined #lisp
fusagi has quit [Quit: Leaving]
fusagi has joined #lisp
ravenousmoose has joined #lisp
kushal has quit [Remote host closed the connection]
kushal has joined #lisp
Kaisyu has quit [Quit: Connection closed for inactivity]
warweasle has joined #lisp
ravenousmoose has quit [Ping timeout: 252 seconds]
shifty has quit [Ping timeout: 240 seconds]
robdog has joined #lisp
mtreis86 has quit [Quit: Quit]
robdog has quit [Ping timeout: 250 seconds]
robdog has joined #lisp
fusagi has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Remote host closed the connection]
robdog has quit [Ping timeout: 250 seconds]
FreeBirdLjj has joined #lisp
jlarocco has joined #lisp
robdog has joined #lisp
FreeBirdLjj has quit [Ping timeout: 245 seconds]
anewuser has quit [Read error: Connection reset by peer]
robdog has quit [Ping timeout: 240 seconds]
Jesin has quit [Quit: Leaving]
wigust has joined #lisp
prite has joined #lisp
wigust- has quit [Ping timeout: 245 seconds]
karlosz has joined #lisp
q3d has quit [Ping timeout: 256 seconds]
karlosz has quit [Client Quit]
<rme> ccl hash tables are thread-safe (using a lock-free algorithm) by default.
prite has quit [Read error: Connection reset by peer]
prite has joined #lisp
rozenglass has quit [Ping timeout: 244 seconds]
<phoe> rme: thanks.
robdog has joined #lisp
ebrasca has joined #lisp
nanoz has joined #lisp
robdog has quit [Ping timeout: 250 seconds]
jbayardo has joined #lisp
jbayardo has quit [Client Quit]
<phoe> I now have the local nicknames stored in the package system, as in, the accessors seem to be working correctly now.
<phoe> I'll try modifying the symbol reader now.
karlosz has joined #lisp
spoeplau has quit [Ping timeout: 250 seconds]
frodef has quit [Ping timeout: 246 seconds]
robdog has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
robdog has joined #lisp
karlosz has quit [Quit: karlosz]
veinofstars has left #lisp [#lisp]
robdog has quit [Ping timeout: 268 seconds]
jprajzne has quit [Quit: jprajzne]
figurehe4d has joined #lisp
varjag has joined #lisp
Jesin has joined #lisp
Zaab1t has quit [Quit: bye bye friends]
ravenousmoose has joined #lisp
bendersteed has joined #lisp
robdog has joined #lisp
fernandobasso has quit [Ping timeout: 256 seconds]
robdog has quit [Ping timeout: 240 seconds]
Lycurgus has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
<LdBeth> Good morning everyone
chipolux has quit [Ping timeout: 244 seconds]
chipolux has joined #lisp
amerlyq has quit [Quit: amerlyq]
robdog has joined #lisp
shka_ has joined #lisp
robdog has quit [Ping timeout: 240 seconds]
<phoe> Hey people interested in package-local nicknames in CCL - I have some bad news to announce in the comment above. I'll want your feedback.
<Bike> "doing package lookup at runtime" for stuff like intern doesn't really seem that bad
<cage_> i am ok for slower :)
<dlowe> phoe: fwiw, I don't expect interning a symbol to be an especially fast operation
<phoe> dlowe: intern, find-symbol, find-package will be affected.
<Bike> anything taking a package-designator, i guess
<phoe> yes
<Bike> but none of them are really things i'd expect fastspeedocity from
<Bike> i'm surprised ccl bothers to optimize. what's it do, compute the hash code ahead of time or something?
<phoe> I think so, yes
rozenglass has joined #lisp
cage_ has quit [Remote host closed the connection]
<phoe> I see this as the reason for introducing the lookup in the first place
<phoe> and that assumption in the second paragraph is correct indeed
<Bike> yes, it would be difficult or impossible to preserve that optimization.
<phoe> impossible in general - (intern "FOO" :bar) means different things depending on whose nickname "BAR" is.
<phoe> and that may change with a simple *PACKAGE* rebinding.
<phoe> so, that's always a runtime lookup.
<phoe> UNLESS
<phoe> ...can we actually make a minor runtime check? If the package has any PLNs, then do the full call; otherwise, use the optimized variant.
<Bike> i guess that would work.
<phoe> If a package has no PLNs, then all package bindings are global.
<phoe> So, (if (package-local-nicknames package) (slow-call) (fast-call))
<phoe> Whereas (slow-call) is just the function call, and (fast-call) is the form computed by the compiler macro.
<phoe> Lemme try.
<phoe> Well, I just blew my stack while expanding the compiler macro. One second...
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
<jackdaniel> to keep thigns positive, don't call these things like that. (if (p-l-n package) (fast-call) (faster-call)) ;-)
milanj has joined #lisp
<phoe> s/slow/to-be-optimized/g
<phoe> s/to-be-optimized/waiting-for-you-to-make-it-faster~/g
<phoe> or rather
<phoe> to keep it positive
<phoe> (if (< thing 0) (- thing) thing)
<jackdaniel> is 0 positive though? ,)
<phoe> sigh
<jackdaniel> also, is (< 0- 0+);?
<jackdaniel> (< -0.0 +0.0)
<no-defun-allowed> I thought least-p-s-f and l-n-s-f were non-zero.
<jackdaniel> as of compilation time things, nicknames are known from the start, so why pln calls can't be precompiled too?
<jackdaniel> when you add a local nickname you invalidate cache and populate it anew
<phoe> (defun foo () (find-package :bar))
<jackdaniel> no-defun-allowed: you are right, that's what I'm joking about
<phoe> if you compile this FIND-PACKAGE call into something static, and then rebind *PACKAGE*, you must now recompile FOO
<ebrasca> Hi I have read last day about this package-local nicknames but don't understand them.
<phoe> since the value of FIND-PACKAGE now depends on a dynamic variable, the lookup must take the current value of that dynamic variable into account
<jackdaniel> ebrasca: the gist of it is that in your package you declare how you call packages you use
<phoe> hence, it must be done at runtime.
<jackdaniel> so I may have a local nickname "gl" for cl-opengl package, while you may have a local nickname "gl" for clx-gl package
<phoe> ebrasca: it's the thing that will finally allow you to use pjb's packages in your code without losing your sanity or code clarity. (;
<jackdaniel> and both our packages may coexist
<jackdaniel> dynamic variable?
<phoe> jackdaniel: yes
<phoe> *PACKAGE*
<phoe> (let ((*package* (find-package :frob))) (foo)) may result in a different thing than (foo)
<jackdaniel> ah, right
<phoe> right now I'm trying to figure out where and how this macro blows my stack...
<jackdaniel> that part may be part of the hash though if you think about it
<phoe> Can a compiler macro be invoked recursively?
<jackdaniel> (list symbol-name package-name *package*)
<ebrasca> So If I like to use 2 packages with same name , can I use both?
<phoe> jackdaniel: yes, as long as you statically provide package objects in all FIND-PACKAGE, FIND-SYMBOL, and INTERN calls
<jackdaniel> ebrasca: not exactly, two packages can't exist with the same name on the system. but packages may have much longer names without much impact on client code
<phoe> Oh well. How can I prevent a compiler macro from being invoked recursively?
<jackdaniel> for instance eu.freestyle.ebrasca.libraries.super-bfs-utilities could be accessed as (bfs:some-utility)
<phoe> I want to expand into something like `(if (foo) (bar) ,whole)
makomo has joined #lisp
<phoe> But, if I understand correctly, this will cause WHOLE to be compiler-macro-expanded again.
<phoe> And hence will set my stack on fire.
<ebrasca> But it don't make it harder to read code?
<jackdaniel> I think it doesn't
<jackdaniel> phoe: you want a compiler macro for XXX, which does `(if (foo) (bar) (%xxx))
<jackdaniel> where %xxx is your fast variant
<phoe> jackdaniel: damn. CCL, ya make it hard for me to refactor you, don'tcha?
<jackdaniel> otherwise as you have pointed out, you get into infinite expansion
<phoe> This is DEFINE-COMPILER-MACRO for INTERN.
<phoe> Meaning that I now have to (defun intern (...) (%intern ...))
<phoe> Except %INTERN is already defined as a function elsewhere
<ebrasca> Instead of x: I going to have a: in one package and b: in other and/or other names.
<jackdaniel> compiler macro provides faster alternative *if* you can decide it at the compilation time
<phoe> Hm
<jackdaniel> and you try to make compiler macro, which tries to decide after the compilation
<phoe> So do I want a compiler macro at all?
<phoe> Or do I want to stuff this logic into the actual function?
<jackdaniel> if you can't decide it at compilation time you don't want a compiler macro
<phoe> Well then.
<phoe> Time for even more refactoring, it seems.
<ebrasca> I think I like local names. Some day I going to need to lear how to use them with quicklisp.
<scymtym> phoe: you can also expand into `(if … (fast-path) (locally (declare (notinline intern)) ,whole)) to avoid recursive expansion
<phoe> scymtym: ooooh
FreeBirdLjj has joined #lisp
<phoe> I didn't know that NOTINLINE inhibits compiler macro expansion
<phoe> clhs notinline
<phoe> "In the presence of a compiler macro definition for function-name, a notinline declaration prevents that compiler macro from being used."
<phoe> Fancy!
<phoe> Thanks for that.
<makomo> that's fancy indeed, cool
Lycurgus has quit [Quit: Exeunt]
FreeBirdLjj has quit [Ping timeout: 268 seconds]
prite has quit [Ping timeout: 250 seconds]
varjag has quit [Ping timeout: 240 seconds]
mathpacka has joined #lisp
<phoe> ...I just realized that this option is going to break
<phoe> Bike: we can delete PLNs, which may cause code that previously was doing full calls to start doing fast calls
<phoe> And I have no idea how this is going to behave
<phoe> Can this cause a different package to be chosen?
<phoe> In the worst case, if a package has no more local nicknames, then... the package with the original name will be chosen.
<phoe> What would have been the case anyway.
<phoe> Whew.
mishoo has quit [Ping timeout: 245 seconds]
ravenousmoose has quit [Quit: Taking a quick nap...ZZzzz]
<phoe> This is wlowly coming togetherrrr
<phoe> ;; 15 tests run, 6 failures.
varjag has joined #lisp
drolax has joined #lisp
varjag has quit [Ping timeout: 244 seconds]
edgar-rft has joined #lisp
scymtym has quit [Ping timeout: 268 seconds]
<phoe> ;; 16 tests run, 4 failures.
nanoz has quit [Ping timeout: 246 seconds]
Josh_2 has joined #lisp
frodef has joined #lisp
aindilis has quit [Ping timeout: 245 seconds]
<Josh_2> Anyone know where I can find Shinmera on IRC? He just told me his IRC username and I forgot it
<shka_> Josh_2: here
<shka_> but not now
<Josh_2> Rip
<phoe> Josh_2: #shirakumo
<phoe> also, his IRC name is Shinmera
<shka_> yeah
<shka_> he is on #sicl as well
<shka_> but i suspect he may be offline at the moment
<Josh_2> All is good
karlosz has joined #lisp
Mr-Potter has quit [Ping timeout: 272 seconds]
shka_ has quit [Ping timeout: 246 seconds]
aindilis has joined #lisp
frodef has quit [Read error: Connection reset by peer]
scymtym has joined #lisp
karlosz has quit [Quit: karlosz]
drl has joined #lisp
charh has quit [Ping timeout: 246 seconds]
ravenousmoose has joined #lisp
ravenousmoose is now known as ravenousmoose[aw
ravenousmoose[aw has quit [Client Quit]
quazimodo has joined #lisp
Mr-Potter has joined #lisp
charh has joined #lisp
Bike has quit []
drolax has quit [Ping timeout: 252 seconds]
LiamH has quit [Quit: Leaving.]
iovec has quit [Quit: Connection closed for inactivity]
slightlycyborg has quit [Ping timeout: 250 seconds]
igemnace_ has quit [Read error: Connection reset by peer]
igemnace_ has joined #lisp
moei has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
orivej_ has joined #lisp
Bike has joined #lisp
bendersteed has quit [Ping timeout: 268 seconds]
makomo has quit [Ping timeout: 245 seconds]
FreeBirdLjj has joined #lisp
Kaisyu has joined #lisp
iAmDecim has quit [Ping timeout: 244 seconds]
longshi has joined #lisp
FreeBirdLjj has quit [Ping timeout: 245 seconds]
robdog has joined #lisp
sjl_ has quit [Ping timeout: 244 seconds]
robdog has quit [Ping timeout: 240 seconds]
karlosz has joined #lisp
robdog has joined #lisp
shifty has joined #lisp
Lord_of_Life_ has joined #lisp
Lord_of_Life has quit [Ping timeout: 246 seconds]
Lord_of_Life_ is now known as Lord_of_Life
robdog has quit [Ping timeout: 268 seconds]
Kundry_Wag has joined #lisp
robdog has joined #lisp
Kundry_Wag has quit [Ping timeout: 268 seconds]
iAmDecim has joined #lisp
ebrasca has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
iAmDecim has quit [Ping timeout: 245 seconds]
longshi has quit [Ping timeout: 240 seconds]
robdog has quit [Ping timeout: 240 seconds]