Perflosopher0 has quit [Ping timeout: 260 seconds]
<craigbro>
CL is from a land of vendor, you better clone, or you better submodule
<craigbro>
for the australians... or those at work
chum-cha has quit [Ping timeout: 272 seconds]
shmorg83 has quit [Ping timeout: 260 seconds]
yaneko has quit [Ping timeout: 265 seconds]
amb007 has joined #commonlisp
rkazak has joined #commonlisp
amb007 has quit [Ping timeout: 265 seconds]
teesquare_ has joined #commonlisp
teesquare has quit [Ping timeout: 252 seconds]
rkazak has quit [Ping timeout: 265 seconds]
random-nick has quit [Ping timeout: 252 seconds]
yaneko has joined #commonlisp
rkazak has joined #commonlisp
alfiee has joined #commonlisp
alfiee has quit [Ping timeout: 252 seconds]
rkazak has quit [Ping timeout: 252 seconds]
Perflosopher03 has joined #commonlisp
JuanDaugherty has joined #commonlisp
rkazak has joined #commonlisp
<NotThatRPG>
dnhester26: Sorry to have missed your note -- try to catch me tomorrow or more likely the day after: I have a lot of meetings tomorrow.
notzmv has quit [Remote host closed the connection]
livoreno has joined #commonlisp
rkazak has quit [Ping timeout: 260 seconds]
phantomics has joined #commonlisp
Pixel_Outlaw has joined #commonlisp
alfiee has joined #commonlisp
rkazak has joined #commonlisp
alfiee has quit [Ping timeout: 252 seconds]
zwr has quit [Remote host closed the connection]
Inline has quit [Ping timeout: 244 seconds]
rkazak has quit [Ping timeout: 252 seconds]
fe[nl]ix has quit [Quit: Valete!]
fe[nl]ix has joined #commonlisp
rkazak has joined #commonlisp
puke has quit [Ping timeout: 260 seconds]
rkazak has quit [Ping timeout: 260 seconds]
puke has joined #commonlisp
alfiee has joined #commonlisp
notzmv has joined #commonlisp
alfiee has quit [Ping timeout: 260 seconds]
akoana has joined #commonlisp
surabax has quit [Quit: Leaving]
rkazak has joined #commonlisp
JuanDaugherty has quit [Read error: Connection reset by peer]
vardhan has joined #commonlisp
vardhan_ has joined #commonlisp
shmorg83 has joined #commonlisp
vardhan_ has quit [Ping timeout: 260 seconds]
vardhan has quit [Ping timeout: 260 seconds]
pranav has quit [Read error: Connection reset by peer]
rkazak has quit [Ping timeout: 252 seconds]
pranav has joined #commonlisp
rkazak has joined #commonlisp
alfiee has joined #commonlisp
vardhan has joined #commonlisp
vardhan_ has joined #commonlisp
alfiee has quit [Ping timeout: 252 seconds]
akoana has quit [Quit: leaving]
istewart has joined #commonlisp
dustinm` has quit [Ping timeout: 244 seconds]
GalaxyNova has joined #commonlisp
rkazak has quit [Ping timeout: 265 seconds]
dustinm` has joined #commonlisp
rkazak has joined #commonlisp
bpanthi977 has quit [Ping timeout: 260 seconds]
alfiee has joined #commonlisp
shmorg83 has quit [Ping timeout: 252 seconds]
pranav has quit [Remote host closed the connection]
edgar-rft` has joined #commonlisp
alfiee has quit [Ping timeout: 260 seconds]
mishoo has joined #commonlisp
ec has quit [Remote host closed the connection]
pranav has joined #commonlisp
ec has joined #commonlisp
Guest47 has joined #commonlisp
edgar-rft_ has quit [Ping timeout: 245 seconds]
shmorg83 has joined #commonlisp
rkazak has quit [Ping timeout: 260 seconds]
puke has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
puke has joined #commonlisp
amb007 has quit [Ping timeout: 272 seconds]
rkazak has joined #commonlisp
vardhan_ has quit [Remote host closed the connection]
rkazak has quit [Ping timeout: 252 seconds]
vardhan has quit [Ping timeout: 260 seconds]
triffid has quit [Remote host closed the connection]
vardhan has joined #commonlisp
triffid has joined #commonlisp
vardhan_ has joined #commonlisp
amb007 has joined #commonlisp
ebrasca has quit [Remote host closed the connection]
alfiee has joined #commonlisp
rkazak has joined #commonlisp
alfiee has quit [Ping timeout: 260 seconds]
wvc has joined #commonlisp
AetherWind has joined #commonlisp
rkazak has quit [Ping timeout: 248 seconds]
Guest47 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
Pixel_Outlaw has quit [Quit: Leaving]
bpanthi977 has joined #commonlisp
shmorg83 has quit [Ping timeout: 265 seconds]
amb007 has quit [Ping timeout: 260 seconds]
zwr has joined #commonlisp
gnoo has quit [Ping timeout: 248 seconds]
rainthree has joined #commonlisp
gnoo has joined #commonlisp
bpanthi977 has quit [Ping timeout: 276 seconds]
ColinRobinson has joined #commonlisp
pve has joined #commonlisp
alfiee has joined #commonlisp
rkazak has joined #commonlisp
vardhan has quit [Quit: Leaving]
alfiee has quit [Ping timeout: 248 seconds]
amb007 has joined #commonlisp
wvc has quit [Quit: wvc]
amb007 has quit [Ping timeout: 248 seconds]
amb007 has joined #commonlisp
livoreno has quit [Quit: Connection closed for inactivity]
rkazak has quit [Ping timeout: 260 seconds]
thuna` has joined #commonlisp
rainthree has quit [Ping timeout: 260 seconds]
<thuna`>
If SYMBOL names a constant variable, is (EVAL SYMBOL) equivalent to (SYMBOL-VALUE SYMBOL)?
vardhan_ has quit [Ping timeout: 260 seconds]
alternateved has joined #commonlisp
<beach>
It would have to be (SYMBOL-VALUE 'SYMBOL).
<beach>
Unless I am not thinking straight, they should give the same result, but the amount of work would be different.
vardhan_ has joined #commonlisp
bendersteed has joined #commonlisp
<thuna`>
Right, that was what I meant, SYMBOL holds a symbol which names a constant variable. I had missed the note for SYMBOL-VALUE, but yeah, that says definitively that the two are equivalent: "SYMBOL-VALUE can be used to get the value of a constant variable."
King_julian has joined #commonlisp
Guest47 has joined #commonlisp
<beach>
Yes, I see.
Devon has quit [Remote host closed the connection]
istewart has quit [Quit: Konversation terminated!]
Devon has joined #commonlisp
King_julian has quit [Ping timeout: 272 seconds]
alfiee has joined #commonlisp
rkazak has joined #commonlisp
rainthree has joined #commonlisp
Devon has quit [Ping timeout: 246 seconds]
livoreno has joined #commonlisp
vardhan_ has quit [Ping timeout: 260 seconds]
alfiee has quit [Ping timeout: 260 seconds]
jrx has joined #commonlisp
parjanya has quit [Ping timeout: 246 seconds]
rkazak has quit [Ping timeout: 246 seconds]
GalaxyNova has quit [Ping timeout: 260 seconds]
jrx has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)]
<smlckz>
phoe: why was plist tightly coupled with symbols, is there some historical reasons behind it? why not just let plist be used standalone?
Guest47 has joined #commonlisp
<beach>
smlckz: It was used for various things associated with symbols that we now have SYMBOL-FUNCTION, SYMBOL-VALUE, etc for.
<beach>
If all you had were standalone plists, then you would need another dictionary (like a hash table) to associate the plist with the symbol.
<smlckz>
Let me rephrase, what was/is the usecase of symbol-plist?
rainthree has quit [Ping timeout: 260 seconds]
<jackdaniel>
you may think of symbols as an ancestor of instances and plist as an ad-hoc list of slots
bpanthi977 has quit [Ping timeout: 260 seconds]
<beach>
smlckz: Suppose you have a function call like (F ...). Then the evaluator would search for the function definition of F on the property list of the symbol F.
alfiee has joined #commonlisp
<jackdaniel>
interestingly enough some protocols define a slot storing the object's plist for that reason -- you may associate any type of additional information with the object (i.e it is forward-extensible without subclassing)
rkazak has joined #commonlisp
<beach>
smlckz: The property list of a symbol could then have a property SUBR for a compiled function, EXPR for an interpreted function, FSUBR for something similar to a macro, FEXPR, etc.
bendersteed has quit [Quit: bendersteed]
alfiee has quit [Ping timeout: 252 seconds]
<smlckz>
beach: Can you show me some relevant code to clearly understand what you are saying?
<jackdaniel>
my troll-sense is tingling :) /me gets back to work
<beach>
smlckz: Not really, this is what the compiler does, so it is not used so much in application code. If the compiler sees (F ...) it generates code like (funcall (getprop 'F 'SUBR) ..)
<thuna`>
To implement symbol properties you either maintain a separate mapping from symbols to values for each property or you maintain a single mapping from symbols to _mappings from properties to values_, which also allows you to use new properties without having to explicitly create and maintain a separate mapping.
<thuna`>
From there the choice of mapping from properties to values is for the most part arbitrary. It may as well have been an alist, but it ended up a plist.
AetherWind has quit [Quit: Lost terminal]
<thuna`>
(This is disregarding historical context so do correct me if I'm misunderstanding something)
<beach>
smlckz: And something like (DEFUN F (...) ...) would expand to (PUTPROP 'F 'SUBR (COMPILE (LAMBDA (...) ...).
<beach>
smlckz: Exactly as we would now use SYMBOL-FUNCTION and (SETF SYMBOL-FUNCTION).
<smlckz>
So, have I understood it correctly? instead of seperate *tables* (hash or otherwise) of values, functions and so forth.. you associate tables with individual symbols (in a single table of (global? package?) environment), each holding the properties they need..
<beach>
smlckz: Yes, as thuna` explained. But it works only for mappings where the keys are symbols then.
<smlckz>
Ah
<smlckz>
Then what was jackdaniel talking about with 'ancestor of instances' or 'forward-extensible without subclassing'?
notzmv has quit [Read error: Connection reset by peer]
<beach>
Well, jackdaniel probably used the term "instance" to mean standard object, so you could used the property list of a symbol to store what you would now use slots in standard objects for.
<beach>
*could use
rkazak has quit [Ping timeout: 260 seconds]
<smlckz>
Oh..
<beach>
But standalone property lists would probably be a better choice then, because objects don't always have global names.
<smlckz>
So much to learn ;)
<beach>
There is a lot of historical baggage that explains some features of Common Lisp.
<beach>
I know Maclisp used symbol property lists for the stuff I listed. Not sure about other Lisp dialects that were used as inspiration for Common Lisp.
<jackdaniel>
I've meant any instance with slots
<thuna`>
Going from environments of the form ((SYMBOL . VALUE)...) to ((SYMBOL PROP1 VALUE1...)...) seems like the natural step when adding additional namespaces. I always assumed the process went something along those lines
mivanchev has joined #commonlisp
<mivanchev>
hey, i know this is sbcl specific but does someone know what the difference between unix-fast-select and unix-select is?
<mivanchev>
they are in the sb-unix package
<smlckz>
All instances of (subclasses of) standard-class is value of (sub)type of standard-object: have I understood it correctly?
<smlckz>
No, isn't standard-class a metaclass.. ugh
<jackdaniel>
instances of instances of standard class are standard objects, but instances of standard class are also standard objects ,)
<jackdaniel>
(because class itself is a standard object); that said structure instances and built-in instances doesn't have to be standard objects
ColinRobinson has quit [Quit: praxis.meansofproduction.biz (juan@acm.org)]
Devon has joined #commonlisp
vardhan has joined #commonlisp
<mivanchev>
anyone to recommend a good way to destructure (cons 1 2) ?
<mivanchev>
destructuring-bind complains it's not a list
<beach>
,(destructuring-bind (a . b) (cons 1 2) (list b a))
<ixelp>
=> (2 1)
<mivanchev>
thanks beach! if only this would work with dolist too :/
<beach>
Well, it is not a proper list because the CDR is not a CONS nor NIL.
<mivanchev>
yeah I got it, I was complaining dolist doesn't support destructuring :)
Devon has quit [Ping timeout: 244 seconds]
<beach>
I don't understand. Do you have a list of CONS cells?
<mivanchev>
yes
<beach>
Then use DESTRUCTURING-BIND on each element.
<mivanchev>
yes
<beach>
Why should that support be in DOLIST?
<mivanchev>
convenience
<beach>
So should DOLIST also support destructuring arbitrary other objects like symbols and standard objects according to this reasoning?
<beach>
That doesn't seem reasonable. It is better to have orthogonal operators that combine in arbitrary ways.
<mivanchev>
well loop supports it
<beach>
Indeed it does.
<beach>
So use LOOP instead.
<mivanchev>
yes i think that'll be the way to go
rkazak has joined #commonlisp
Equill has joined #commonlisp
<mange>
I appreciate Clojure's decision to make most (all?) bindings permit destructuring. It's convenient. Using DESTRUCTURING-BIND is annoying to do in the middle of a let*.
<phoe>
which is why various user-written binding macros do that too, it's pretty darn convenient
<phoe>
I can kind-of get the idea that sometimes you just want to bind ten values in a row, rather than think whether to use let, let*, flet, labels, macrolet, destructuring-bind, multiple-value-bind, with-slots, with-accessors, cffi:with-foreign-object and all that
<jackdaniel>
the next step is to make it work on sequences, by expanding body to cont and calling map
<phoe>
as long as you're willing to pay the overhead of understanding your custom* binding macro, that's gonna be useful
<phoe>
*take note of "xkcd standards" of course
Guest47 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
<jackdaniel>
nest macro mitigates the pain somehow, given that you often need to supply the information about the binding type anyway
parjanya has joined #commonlisp
mivanchev has quit [Remote host closed the connection]
Guest47 has joined #commonlisp
vn36 has joined #commonlisp
alfiee has joined #commonlisp
rkazak has quit [Ping timeout: 260 seconds]
alfiee has quit [Ping timeout: 260 seconds]
vn36 has quit [Ping timeout: 245 seconds]
rkazak has joined #commonlisp
rkazak has quit [Ping timeout: 260 seconds]
alfiee has joined #commonlisp
rainthree has joined #commonlisp
alfiee has quit [Ping timeout: 248 seconds]
random-nick has joined #commonlisp
varjag has joined #commonlisp
rkazak has joined #commonlisp
mwnaylor has quit [Ping timeout: 260 seconds]
mange has quit [Remote host closed the connection]
pranav has quit [Remote host closed the connection]
rkazak has quit [Ping timeout: 272 seconds]
zwr has joined #commonlisp
Devon has joined #commonlisp
Devon has quit [Ping timeout: 265 seconds]
alfiee has joined #commonlisp
alfiee has quit [Ping timeout: 252 seconds]
rkazak has joined #commonlisp
rkazak has quit [Ping timeout: 246 seconds]
ingeniot has joined #commonlisp
livoreno has quit [Quit: Connection closed for inactivity]
zwr has quit [Remote host closed the connection]
Devon has joined #commonlisp
pranav has joined #commonlisp
Devon has quit [Ping timeout: 244 seconds]
yitzi has joined #commonlisp
rkazak has joined #commonlisp
alfiee has joined #commonlisp
alfiee has quit [Ping timeout: 260 seconds]
Thermoriax has quit [Remote host closed the connection]
shmorg83 has joined #commonlisp
Thermoriax has joined #commonlisp
Inline has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
rkazak has quit [Ping timeout: 248 seconds]
ColinRobinson has joined #commonlisp
fe[nl]ix has quit [Quit: Valete!]
fe[nl]ix has joined #commonlisp
AetherWind has joined #commonlisp
surabax has joined #commonlisp
King_julian has joined #commonlisp
fe[nl]ix has quit [Remote host closed the connection]
fe[nl]ix has joined #commonlisp
rkazak has joined #commonlisp
alfiee has joined #commonlisp
rainthree has quit [Quit: Leaving]
fe[nl]ix has quit [Quit: Valete!]
fe[nl]ix has joined #commonlisp
alfiee has quit [Ping timeout: 246 seconds]
King_julian has quit [Ping timeout: 244 seconds]
rkazak has quit [Ping timeout: 246 seconds]
Guest47 has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
zwr has joined #commonlisp
terrorjack45 has quit [Ping timeout: 265 seconds]
Devon has joined #commonlisp
bpanthi977 has joined #commonlisp
mivanchev has joined #commonlisp
<mivanchev>
hey, is (declare (integer foo)) a legal type hint of foo is a variable holding the result of (get-internal-real-time) ? This is regarding this rewrite of StumpWM's IO loop I'm doing https://github.com/stumpwm/stumpwm/pull/1222/files
NotThatRPG has quit [Read error: Connection reset by peer]
NotThatRPG has joined #commonlisp
rkazak has joined #commonlisp
NotThatRPG has quit [Ping timeout: 248 seconds]
zwr has quit [Ping timeout: 248 seconds]
pve has quit [Quit: leaving]
rkazak has quit [Ping timeout: 252 seconds]
decweb has joined #commonlisp
jonatack has quit [Ping timeout: 260 seconds]
jonatack has joined #commonlisp
NotThatRPG has joined #commonlisp
bpanthi977 has joined #commonlisp
screwlisp has joined #commonlisp
bpanthi977 has quit [Ping timeout: 260 seconds]
mulk has joined #commonlisp
alternateved has quit [Remote host closed the connection]
rkazak has joined #commonlisp
<screwlisp>
Lispy gopher climate today is going to be low energy, I just want to talk about how myself and others basically use computers (emacs slime, recompiling asdf systems, and so forth) after Kent's haiku. https://anonradio.net:8443/anonradio in about half an hour.
alfiee has joined #commonlisp
<craigbro>
oh hey, I was wondering if you were around, us emacs.ch refugees...
rkazak has quit [Ping timeout: 260 seconds]
dnhester26 has joined #commonlisp
rkazak has joined #commonlisp
alfiee has quit [Ping timeout: 260 seconds]
<dnhester26>
NotThatRPG: just saw your message, will try tomorrow
dnhester26 has quit []
screwlisp has quit [Remote host closed the connection]
rkazak has quit [Ping timeout: 260 seconds]
screwlisp has joined #commonlisp
zoonTarF has quit [Remote host closed the connection]
rkazak has joined #commonlisp
rkazak has quit [Ping timeout: 252 seconds]
amb007 has joined #commonlisp
amb007 has quit [Ping timeout: 272 seconds]
troojg has joined #commonlisp
livoreno has quit [Quit: Connection closed for inactivity]
wobbol has joined #commonlisp
amb007 has joined #commonlisp
rkazak has joined #commonlisp
amb007 has quit [Read error: Connection reset by peer]
amb007 has joined #commonlisp
<tux0r>
time for another noob question! :-) assuming i have a list of cons like ((url . "https://foo.bar") (store . 1)) and i want to map that to a postmodern insert query, i.e. (postmodern:query (:insert-into 'my-table :set 'url "https://foo.bar" 'store 1)), do i have to traverse the list with (loop) and (car)/(cdr) or is there a more elegant solution?