jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
k-stz has quit [Remote host closed the connection]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.1)]
Guest32558 has quit [Quit: WeeChat 1.9.1]
pseudonymous has quit [Ping timeout: 268 seconds]
resttime has joined #lisp
margeas has quit [Ping timeout: 240 seconds]
Elronnd has joined #lisp
<Elronnd>
I'm trying a to learn webdev with lisp. I looked at a few frameworks, and what I found were clack and ningle, which seemed nice and simple. But I have problems with both of them
<Elronnd>
with ningle, with this simple script, http://sprunge.us/aYTF, when I run it it says it worked and it's listening. But it's definitely not listening
<Elronnd>
with clack, there's a minimal example that says to pass it a lambda taking an env. But it doesn't tell you what things are in the 'env', so how tf do you get at the env?
<resttime>
Elronnd: I'm running your example and I get "HHHG" when I visit localhost:5000
<Elronnd>
resttime: yeah I'm using slimv+vim. It's meh but it does the job
astronavt has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 268 seconds]
<jasom>
Elronnd: If you have the time to get it setup, I strongly recommend emacs+slime+evil (evil is a vim compatibility package for emacs).
<jasom>
Elronnd: it's not urgent since slimv+vim "does the job" as you say, but slime is definitely less "meh" and more "wow"
<Elronnd>
ok
<Elronnd>
is there a guide to emacs somewhere? Or should I just dive in?
<resttime>
The Paredit package would be a nice addition to check out as well if you're not too overwhelmed with new stuff. It helps with manipulating/balancing parenthesis.
zachk has quit [Quit: g'night]
<resttime>
I'd say learn how to configure the emacs to manage packages, get the recommended ones, and then dive in.
<resttime>
So in VIM that would be like "Go get pathogen and install ctrl-p" etc.
<Elronnd>
ok
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Tobbi has joined #lisp
Tobbi has quit [Client Quit]
<pierpa>
when you launch emacs it display some useful informations, including pointers to tutorials
<_death>
phoe: there are utility libraries for the mop, like moptilities
<beach>
Shinmera: Yes. Always use the most specific construct that will do the job.
<Shinmera>
beach: I specifically don't use pushnew because the unless also prevents re-traversing the subclasses if the class was already traversed.
<beach>
Ah, right, I see that now. Funny what lack of indentation will do.
<Shinmera>
:)
<beach>
You should definitely do (let ((r '())) ...) though, rather than (let (r) ...).
<Shinmera>
Sure. I should also not use single-letter names.
<beach>
True, dat.
<Shinmera>
I wrote it as concisely as I could directly in IRC.
<beach>
I understand. And I will now go back to more important stuff. :)
FreeBirdLjj has quit [Remote host closed the connection]
python476 has quit [Read error: Connection reset by peer]
froggey has quit [Ping timeout: 240 seconds]
froggey has joined #lisp
motersen has joined #lisp
motersen has quit [Client Quit]
FreeBirdLjj has joined #lisp
k-stz has joined #lisp
smurfrobot has quit [Remote host closed the connection]
motersen has joined #lisp
raynold has quit [Quit: Connection closed for inactivity]
NaNDude has joined #lisp
motersen has quit [Client Quit]
motersen has joined #lisp
karswell has joined #lisp
jstoddard has joined #lisp
eSVG has quit [Ping timeout: 250 seconds]
red-dot has joined #lisp
terpri has joined #lisp
<osune>
where do i find videos of the european lisp symposium from 2014 ?
ikki has quit [Ping timeout: 268 seconds]
<Shinmera>
There probably aren't any.
smurfrobot has joined #lisp
damke has joined #lisp
<osune>
bummer
<phoe>
_death: ooh, thanks.
damke_ has quit [Ping timeout: 240 seconds]
damke has quit [Ping timeout: 240 seconds]
motersen has quit [Ping timeout: 248 seconds]
knobo3 has joined #lisp
moei has quit [Quit: Leaving...]
knobo2 has quit [Ping timeout: 260 seconds]
joast has quit [Ping timeout: 268 seconds]
dddddd has quit [Remote host closed the connection]
fikka has joined #lisp
ebrasca has quit [Read error: Connection reset by peer]
ebrasca has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
palter has joined #lisp
smurfrobot has quit [Remote host closed the connection]
ngqrl has quit [Changing host]
ngqrl has joined #lisp
<phoe>
Can I put any kind of hook that will execute whenever a class is being defined via DEFCLASS?
<Xach>
phoe: I haven't done that much, but my first instinct is via a metaclass and the standard initialize-instance stuff on it.
myrkraverk_ has joined #lisp
smurfrobot has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
myrkraverk has quit [Ping timeout: 250 seconds]
myrkraverk_ is now known as myrkraverk
angavrilov has quit [Ping timeout: 240 seconds]
angavrilov has joined #lisp
<phoe>
Xach: I mean, I want to execute code every time a DEFCLASS is issued.
<Xach>
phoe: Right. That is what I mean too.
mson has quit [Quit: Connection closed for inactivity]
<phoe>
Hmmm. This means that my classes would need custom metaclasses.
<Xach>
Yes. I think that might be the only standardly way.
<phoe>
My problem is, I'm defining some protocol classes that are not meant to be instantiated. This class can be subclassed, both by other protocol classes and by concrete classes.
<phoe>
I want a programmatic way to get all concrete subclasses of a given protocol class. So, for example, if there's a protocol class A, a concrete class B that subclasses A, a protocol class C that subclasses A, and a concrete class D that subclasses C, (class-concrete-classes 'a) should return (B D).
<pjb>
you can get them using the MOP at runtime.
<phoe>
pjb: I don't know how to differentiate protocol classes from concrete classes.
<pjb>
You could use a different metaclass.
<pjb>
That could be useful to do some other things, if you need to differentiate them.
<phoe>
I have power over how I define protocol classes, so I can just enumerate them in some sort of list or hash table or whatever. But I have no power over redefining classes, so if the user defines class A as a concrete class, then my records are no longer valid.
<pjb>
Alternatively, protocol classes or concrete classes, or both, could inherit from a protocol or concrete abstract superclass.
<phoe>
pjb: I'm using Qtools which uses its own custom metaclass, already.
<pjb>
So, using a specific superclass for protocols.
<phoe>
pjb: this won't work, because each concrete class would be a subclass of a protocol class which would be a subclass of that specific superclass for protocols.
<phoe>
So each concrete class would be an indirect subclass of that specific protocol class.
<phoe>
Just like all protocol classes.
<pjb>
If you have control over defining protocol classes, then you can use a specific macro that will record them as such.
<phoe>
Like, I have a protocol class LOGGER, a concrete class STANDARD-LOGGER subclassing LOGGER, a protocol class FANCY-LOGGER subclassing LOGGER, a concrete class STANDARD-FANCY-LOGGER subclassing FANCY-LOGGER.
<pjb>
(in addition to expand to a defclass).
<phoe>
Yes, I have already said, I have control over recording them.
<phoe>
I have no control over the user removing or redefining them.
<phoe>
So I wish I had some standard means of introducing global hooks whenever a class is (re)defined.
jstoddard has quit [Ping timeout: 260 seconds]
<Shinmera>
Provide a facility to define your protocol classes that maintains the state, rather than letting them use just defclass.
<Shinmera>
so a wrapper around defclass.
<Shinmera>
and then: document and trust
<phoe>
Hah, so what I'm already doing.
jstoddard has joined #lisp
<phoe>
Fine.
<pjb>
phoe: McCLIM does this by providing its own defclass macro.
<Shinmera>
Generally if you tell your users how to do something, they won't go against you unless they already have good reason to, or are somehow oblivious. In the latter case you did not document well enough
<Shinmera>
And in the former case there's no reason to struggle anyway because they will do what they want no matter.
damke has joined #lisp
moei has joined #lisp
<pjb>
phoe: then I would say, you should think about what makes a protocol class vs. a concrete class, if the user can redefine them.
jstoddar` has joined #lisp
jstoddard has quit [Remote host closed the connection]
<pjb>
phoe: also when it's done. Granted, one can define or redefine classes at run-time, but defclass is a macro, so clearly, creating classes at run-time is rather a rare occurence (changing classes may be more frequent).
damke_ has joined #lisp
<pjb>
phoe: so perhaps you want a pair of run-time functions: register-protocol-class unregister-protocol-class
damke has quit [Ping timeout: 240 seconds]
eudoxia has joined #lisp
yurichev has joined #lisp
<phoe>
I think so, yes.
serviteur has joined #lisp
foschia has joined #lisp
foschia has quit [Quit: Leaving]
juki has joined #lisp
saemcro has left #lisp [#lisp]
wigust_ has joined #lisp
wigust has quit [Ping timeout: 248 seconds]
DeadTrickster has quit [Read error: Connection reset by peer]
DeadTrickster has joined #lisp
asarch has quit [Quit: Leaving]
joast has joined #lisp
ikki has joined #lisp
gargaml has joined #lisp
osune has quit [Quit: rl needs me]
fikka has joined #lisp
nowhere_man has quit [Ping timeout: 255 seconds]
damke_ has quit [Ping timeout: 240 seconds]
damke_ has joined #lisp
fikka has quit [Ping timeout: 250 seconds]
Josh_2 has joined #lisp
ryanwatkins has joined #lisp
<borodust>
hi Xach, do you have a couple of moments for quick debug session?
<borodust>
hello #lisp
<Josh_2>
Evening borodust
<Xach>
borodust: Sure!
<Xach>
I can try stuff
<borodust>
i'll pm you
<Xach>
Ok
* Xach
waits patiently
SaganMan has joined #lisp
<borodust>
forgot how to open a query buffer for a moment ;p
gargaml has quit [Quit: WeeChat 1.9.1]
knobo4 has joined #lisp
wanzohanzo has joined #lisp
knobo3 has quit [Ping timeout: 248 seconds]
smurfrobot has quit [Remote host closed the connection]
<Elronnd>
jasom: neat, bookmarked, thanks!
smurfrobot has joined #lisp
nowhere_man has joined #lisp
wanzohanzo has quit [Remote host closed the connection]
FreeBirdLjj has quit [Remote host closed the connection]
motersen has joined #lisp
ikki has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
mejja has joined #lisp
brendyn has quit [Ping timeout: 240 seconds]
shenghi has quit [Read error: Connection reset by peer]
shenghi has joined #lisp
eudoxia has quit [Quit: Leaving]
fikka has quit [Ping timeout: 260 seconds]
smurfrobot has quit [Remote host closed the connection]
jmsb has joined #lisp
jstoddar` has quit [Remote host closed the connection]
atlan has joined #lisp
<SaganMan>
Good Morning peeps
atlan has left #lisp [#lisp]
nowhere_man has quit [Ping timeout: 248 seconds]
atlan has joined #lisp
motersen has quit [Ping timeout: 260 seconds]
<atlan>
Hi, I'm having trouble with quickload trying to find something from sbcl 1.4.1 when I've got 1.4.2 locally. Could I tell it to look in a different dir? I'm running brewed sbcl on macos sierra
zmt00 has joined #lisp
jstoddard has joined #lisp
karswell has quit [Ping timeout: 240 seconds]
didi has joined #lisp
<didi>
Does SERIES have a maintainer?
Arcaelyx has quit [Remote host closed the connection]
AlexeyKamenew has joined #lisp
smurfrobot has joined #lisp
AlexeyKamenew has quit [Remote host closed the connection]
AlexeyKamenew has joined #lisp
EvW has quit [Quit: EvW]
AlexeyKamenew is now known as Green___
Green___ is now known as Rebo
Rebo is now known as Green___
Green___ is now known as Rebo
pfdietz has joined #lisp
ryanwatkins has quit [Read error: Connection reset by peer]
wheelsucker has quit [Quit: Client Quit]
damke has joined #lisp
shifty has joined #lisp
damke_ has quit [Ping timeout: 240 seconds]
alexmlw has quit [Quit: alexmlw]
damke_ has joined #lisp
EvW has joined #lisp
damke has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
SaganMan has quit [Quit: laters]
fikka has quit [Ping timeout: 260 seconds]
OinkOink- has joined #lisp
tomw has quit [Ping timeout: 260 seconds]
ryan_vw has quit [Read error: Connection reset by peer]
turkja has quit [Ping timeout: 248 seconds]
narendraj9 has joined #lisp
DeadTrickster has quit [Read error: Connection reset by peer]
DeadTrickster has joined #lisp
Guest84297 has quit [Remote host closed the connection]
Guest84297 has joined #lisp
narendraj9 has quit [Ping timeout: 268 seconds]
Tobbi has quit [Quit: Leaving]
Tobbi has joined #lisp
DeadTrickster has quit [Read error: Connection reset by peer]
DeadTrickster has joined #lisp
damke_ has quit [Ping timeout: 240 seconds]
smurfrobot has quit [Remote host closed the connection]
Arcaelyx has joined #lisp
dddddd has joined #lisp
aijony has quit [Read error: Connection reset by peer]
aijony has joined #lisp
damke has joined #lisp
smurfrobot has joined #lisp
damke_ has joined #lisp
damke has quit [Ping timeout: 240 seconds]
Jesin has joined #lisp
ikki has joined #lisp
<phoe>
quicklisp fetches it from sourceforce, where it has not been updated since 2010
<Xach>
borodust: hi, when i try to dist-update it does not think there is anything new. version issue maybe?
varjag has joined #lisp
Guest84297 has quit [Ping timeout: 260 seconds]
<Xach>
i am very excited to try the fix
<whoman>
_death, cool thanks
raynold has joined #lisp
smurfrobot has joined #lisp
fikka has joined #lisp
ikki has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 248 seconds]
varjag has quit [Ping timeout: 255 seconds]
<borodust>
Xach: need to replace the dist
<borodust>
quicklisp doesn't support same day updates iirc
<Xach>
borodust: sure it does. just add more numbers.
<borodust>
i see
<Xach>
the version is an arbitrary string
<borodust>
need to patchup quickdist then
<Xach>
you could append "00" and go to "01" or whatever
<borodust>
nice
<borodust>
i guess is8601 would do
<borodust>
*iso
varjag has joined #lisp
Karl_Dscc has quit [Remote host closed the connection]
<borodust>
Xach: lemme know if replacing a dist worked for you
<borodust>
while i'm patching up quickdist for having a better precision ;p
<Shinmera>
I made a bunch of fixes for quickdist to allow that like years ago
<Shinmera>
Never submitted them. Whoops.
<borodust>
Shinmera: :(
<earl-ducaine>
Lispologists! q: getting an SBCL warning that I'm using an obsolete form of do when I try and compile the following: (defun my-do-old () (do ((alfa 0.0)) () (return (list alfa))))
<earl-ducaine>
I'm guessing that that's the old way of writing: (defun my-do-ansi () (do ((alfa 0.0)) (nil) (return (list alfa))))
eazar001 has joined #lisp
<earl-ducaine>
i.e. exit condition for 'do forever' used to be just the empty list now the exit clause must have the condition to be checked, even if it's constant.
<earl-ducaine>
Can anyone confirm that is in fact the old behavior?
<earl-ducaine>
(mucking about with some ancient code)
devon has joined #lisp
<earl-ducaine>
i.e. 'asking for a friend' :)
pseudonymous has quit [Ping timeout: 248 seconds]
<phoe>
earl-ducaine: I think so, yes. I think the return condition must be explicitly stated, even if it's always NIL.
<phoe>
;; Though that function could be obviously optimized to (defun my-do-old () (list 0.0)) - but I don't think that's what your question is about.
atlan has quit [Quit: Leaving.]
<borodust>
Xach: not that you had any doubt but that indeed works ;p
<borodust>
i've updated dist with more precise "versions"
<Bike>
ducaine is asking about how do worked before CL, i think.
<phoe>
Bike: In this case, I have no idea. It could perhaps be possible to study CLtL1 and earlier Lisp manuals.
<earl-ducaine>
Thanks phoe just too lazy to qualify my example as being for illustritave purposes only! Bike: yes that's correct.
<earl-ducaine>
Just refered back to the Chinual and it seems even in Zeta Lisp (nil) was normative for 'do forever'
<Bike>
cltl2 has a required end-test.
<earl-ducaine>
So, it must of been a syntax error that just happened to work in older implementations.
<Bike>
figures.
zu22 has joined #lisp
borei has quit [Quit: Leaving.]
smurfrobot has quit [Remote host closed the connection]
smurfrobot has joined #lisp
devon has quit [Ping timeout: 240 seconds]
nowhere_man has joined #lisp
damke has joined #lisp
wxie has joined #lisp
damke_ has quit [Ping timeout: 240 seconds]
hel-io has joined #lisp
smurfrobot has quit [Remote host closed the connection]
wxie has quit [Remote host closed the connection]
bigos_ has joined #lisp
damke_ has joined #lisp
smurfrobot has joined #lisp
damke has quit [Ping timeout: 240 seconds]
mishoo_ has quit [Ping timeout: 255 seconds]
damke has joined #lisp
orivej has quit [Ping timeout: 240 seconds]
damke_ has quit [Ping timeout: 240 seconds]
eSVG has joined #lisp
DeadTrickster has quit [Read error: Connection reset by peer]
random-nick has quit [Remote host closed the connection]
DeadTrickster has joined #lisp
resttime has joined #lisp
EvW has quit [Ping timeout: 258 seconds]
mathi_aihtam has quit [Quit: mathi_aihtam]
mathi_aihtam has joined #lisp
mson has quit [Quit: Connection closed for inactivity]
osune has joined #lisp
hel-io has quit [Remote host closed the connection]
hel-io has joined #lisp
hel-io has quit [Remote host closed the connection]
hel-io has joined #lisp
hel-io has quit [Remote host closed the connection]
hel-io has joined #lisp
hel-io has quit [Remote host closed the connection]
hel-io has joined #lisp
hel-io has quit [Remote host closed the connection]
SuperJen has quit [Remote host closed the connection]
SuperJen has joined #lisp
zulu_inuoe has joined #lisp
smurfrobot has quit [Remote host closed the connection]
Josh_2 has quit [Remote host closed the connection]