zachk has quit [Quit: night]
quazimodo has joined #lisp
brendyn has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
cromachina has joined #lisp
<mrottenkolber> pillton: maybe I will be yours one day, then we’d be even (-:
Ukari has quit [Ping timeout: 240 seconds]
damke has joined #lisp
neoncontrails has quit [Remote host closed the connection]
jmercouris has quit [Ping timeout: 268 seconds]
damke_ has joined #lisp
damke has quit [Ping timeout: 240 seconds]
manualcrank has joined #lisp
damke_ has quit [Ping timeout: 240 seconds]
sz0 has joined #lisp
attila_lendvai has quit [Ping timeout: 252 seconds]
neoncontrails has joined #lisp
broccolistem has joined #lisp
hifitim has joined #lisp
fluter has quit [Ping timeout: 250 seconds]
damke_ has joined #lisp
fluter has joined #lisp
ajarmst has joined #lisp
damke has joined #lisp
ajarmst has left #lisp ["ERC (IRC client for Emacs 24.5.1)"]
neoncontrails has quit [Remote host closed the connection]
carleos has joined #lisp
damke_ has quit [Ping timeout: 240 seconds]
aoeu1024 has joined #lisp
damke_ has joined #lisp
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
damke has quit [Ping timeout: 240 seconds]
hifitim has quit [Quit: Leaving]
damke_ has quit [Ping timeout: 240 seconds]
resttime has joined #lisp
xfwduke has joined #lisp
Arcaelyx has quit [Ping timeout: 250 seconds]
ajarmst has joined #lisp
Ukari has joined #lisp
Denommus has joined #lisp
markong has quit [Ping timeout: 248 seconds]
sjl has quit [Quit: WeeChat 1.9.1]
Ukari has quit [Ping timeout: 248 seconds]
damke has joined #lisp
orivej has quit [Remote host closed the connection]
fikka has joined #lisp
damke__ has joined #lisp
damke has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 240 seconds]
voidlily has quit [Remote host closed the connection]
mn3m has joined #lisp
ajarmst has quit [Read error: Connection reset by peer]
ajarmst has joined #lisp
damke__ has quit [Ping timeout: 246 seconds]
voidlily has joined #lisp
fikka has joined #lisp
fikka has quit [Read error: Connection reset by peer]
ajarmst has quit [Quit: void]
neoncontrails has joined #lisp
mn3m has quit [Remote host closed the connection]
damke__ has joined #lisp
fikka has joined #lisp
damke_ has joined #lisp
damke__ has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 248 seconds]
damke has joined #lisp
SaganMan has joined #lisp
damke_ has quit [Ping timeout: 240 seconds]
shifty has joined #lisp
damke has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 258 seconds]
fikka has joined #lisp
igemnace has quit [Read error: Connection reset by peer]
chu has joined #lisp
jameser has joined #lisp
Arcaelyx has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
jameser has quit [Read error: Connection reset by peer]
fikka has joined #lisp
jameser has joined #lisp
jameser has quit [Read error: Connection reset by peer]
jameser has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
dvdmuckle is now known as cdmuckle
cdmuckle is now known as cavepaintingmuck
cavepaintingmuck is now known as dvdmuckle
fikka has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
dvdmuckle is now known as floppymuckle
floppymuckle is now known as dvdmuckle
fikka has quit [Ping timeout: 268 seconds]
heurist has quit [Ping timeout: 240 seconds]
klltkr has joined #lisp
python476 has quit [Ping timeout: 268 seconds]
jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
SaganMan is now known as blackadder
Ukari has joined #lisp
d4ryus1 has joined #lisp
jameser has joined #lisp
test1600 has joined #lisp
Ukari has quit [Ping timeout: 248 seconds]
d4ryus has quit [Ping timeout: 255 seconds]
lemonpepper24 has joined #lisp
fikka has joined #lisp
safe has joined #lisp
Josh_2 has quit [Remote host closed the connection]
k-stz has quit [Remote host closed the connection]
Karl_Dscc has joined #lisp
cromachina_ has joined #lisp
aoeu1024_ has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
damke_ has joined #lisp
cromachina has quit [Ping timeout: 248 seconds]
aoeu1024 has quit [Ping timeout: 248 seconds]
Ukari has joined #lisp
Ukari has quit [Ping timeout: 248 seconds]
mrottenkolber has quit [Read error: Connection reset by peer]
Ukari has joined #lisp
mrottenkolber has joined #lisp
Ukari has quit [Remote host closed the connection]
Ukari has joined #lisp
mrottenkolber is now known as Guest2347
heurist has joined #lisp
igemnace has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
damke_ has quit [Ping timeout: 240 seconds]
resttime has quit [Quit: Leaving]
mson has quit [Quit: Connection closed for inactivity]
bugrum has joined #lisp
kenster has joined #lisp
<kenster> Hi there, does anyone have experience working with CommonQt as opposed to EQL5?
fikka has joined #lisp
<kenster> I'm very interested in the possibility of QML <-> JavaScript <-> C++ <-> Common Lisp interop
Reinhilde has quit [Quit: ... Sometimes, you just don't know if life is even a thing.]
fikka has quit [Ping timeout: 248 seconds]
klltkr has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
klltkr has joined #lisp
klltkr has quit [Client Quit]
Ellenor has joined #lisp
terpri has quit [Ping timeout: 248 seconds]
vaporatorius has quit [Remote host closed the connection]
damke_ has joined #lisp
fikka has joined #lisp
zaquest_ is now known as zaquest
fikka has quit [Ping timeout: 240 seconds]
caseyowo has joined #lisp
Ukari has quit [Ping timeout: 255 seconds]
damke_ has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
jameser has quit [Read error: Connection reset by peer]
fikka has quit [Ping timeout: 240 seconds]
jameser has joined #lisp
Ukari has joined #lisp
fikka has joined #lisp
dieggsy has joined #lisp
caseyowo has quit [Ping timeout: 240 seconds]
sz0 has quit [Quit: Connection closed for inactivity]
caseyowo has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
<beach> Good morning everyone!
<blackadder> Good Morning beach
dddddd has quit [Remote host closed the connection]
jstoddard has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
fikka has joined #lisp
KarlDscc has joined #lisp
KarlDscc has quit [Remote host closed the connection]
Karl_Dscc has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 248 seconds]
bugrum has quit [Remote host closed the connection]
heurist has quit [Ping timeout: 240 seconds]
damke_ has joined #lisp
Bike has quit [Quit: Lost terminal]
mson has joined #lisp
kenster has quit [Remote host closed the connection]
xfwduke has quit [Ping timeout: 248 seconds]
kenster has joined #lisp
fikka has joined #lisp
ahungry has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
Xal has quit [Ping timeout: 260 seconds]
heurist has joined #lisp
Xal has joined #lisp
fikka has joined #lisp
vlatkoB has joined #lisp
pierpa has quit [Quit: Page closed]
d4ryus1 has quit [Ping timeout: 268 seconds]
blackadder has quit [Ping timeout: 248 seconds]
quazimodo has quit [Ping timeout: 248 seconds]
shenghi has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 248 seconds]
shenghi has joined #lisp
neoncontrails has quit [Remote host closed the connection]
aoeu256 has quit [Ping timeout: 252 seconds]
aoeu1024_ has quit [Ping timeout: 268 seconds]
Xal has quit [Ping timeout: 268 seconds]
Xal has joined #lisp
ahungry has quit [Remote host closed the connection]
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
terpri has joined #lisp
fikka has joined #lisp
Ukari has quit [Ping timeout: 250 seconds]
damke_ has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 260 seconds]
sjl has joined #lisp
damke_ has joined #lisp
orivej has joined #lisp
fikka has joined #lisp
sjl has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 255 seconds]
carleos has quit [Ping timeout: 248 seconds]
fikka has joined #lisp
kammd[m] has joined #lisp
<kammd[m]> Hey guys I need to write some software for multiple platforms.. I am thinking of choosing lisp as I have had some good experience in the past
<kammd[m]> But I am not sure which implementation supports AIX,HP-UX, Solaris, Linux and Windows
fikka has quit [Ping timeout: 248 seconds]
<kammd[m]> I came across clisp but it doesn't seem to be maintained..
lemonpepper24 has quit [Ping timeout: 240 seconds]
dieggsy has quit [Ping timeout: 250 seconds]
<Ober> kammd[m]: you have access to hpux?
damke_ has quit [Ping timeout: 240 seconds]
* Ober ponders if lw/allegro ever release their dead platform stuff to the public.
<pjb> kammd[m]: what makes you say it's not maintained?
damke_ has joined #lisp
<pjb> kammd[m]: you are a filthy liar!
<pjb> [pjb@despina :0.0 clisp-hg]$ hg log |head -20
<pjb> changeset: 16181:c89b4d1adf8a
<pjb> tag: tip
<pjb> user: Sam Steingold <sds@gnu.org>
<pjb> date: Tue Nov 21 15:40:15 2017 -0500
<pjb> summary: Avoid gcc/clang warnings -Wformat
<pjb>
fikka has joined #lisp
kenster has quit [Remote host closed the connection]
asarch has quit [Quit: Leaving]
fikka has quit [Ping timeout: 255 seconds]
mishoo_ has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
damke has joined #lisp
thebardian has joined #lisp
damke_ has quit [Ping timeout: 240 seconds]
oleo has quit [Quit: Leaving]
fikka has joined #lisp
<Ober> clisp is all we run in prod.
panji has joined #lisp
damke has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 240 seconds]
resttime has joined #lisp
shifty has quit [Ping timeout: 248 seconds]
pfdietz_ has joined #lisp
flamebeard has joined #lisp
damke has joined #lisp
<pjb> That said, ecl might work too on those systems (as long as gcc works on them).
pfdietz has quit [Ping timeout: 258 seconds]
mishoo_ has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
<dmiles> (type-of (find-class 'hash-table )) ==> STRUCTURE-CLASS would this be bad?
damke has quit [Ping timeout: 246 seconds]
<dmiles> instead of a BUILT-IN-CLASS
<beach> dmiles: What makes you think it might?
<dmiles> just because it might not be preventing something
<dmiles> or just wondering if i should priortize making sure i separate out BUILT-IN-CLASS
fikka has quit [Ping timeout: 240 seconds]
<beach> clhs glossary/system class
<beach> "may be of type built-in-class"
<beach> Notice the "may".
<dmiles> ok good! btw i was thinking of making built-in-class a subclass of structure-class
<beach> As I recall, an implementation is free to implement system classes as built-in classes, standard classes, structure classes, or something else.
<dmiles> ok yeah that is what i wanted to hear
<beach> I don't think it is a good idea to make built-in-class a subclass of structure-class.
<dmiles> oops meant the other way arround
<dmiles> oops naw i think you answered right
<beach> I would put structure-class, condition, etc. at the same level as standard-class, funcallable-standard-class, built-in-class, and forward-referenced-class.
fikka has joined #lisp
<dmiles> i see .. (i think)
<dmiles> whgat this will come down to is making sure i have a single api that lets everything access and operat the same way as on a structure class
<dmiles> example would be liek a copy-structure
<dmiles> meaning some code might was to copy-structure on a condition
fikka has quit [Ping timeout: 240 seconds]
<dmiles> like a copy-standard-object
<beach> I guess you haven't read what Kent Pitman wrote about copying and equality.
<dmiles> well more like (slot-value obj symbol)
arquebus has joined #lisp
<beach> How is that related to copying?
<dmiles> yeah i shouldnt conflate the issue with equality :P
arquebus has left #lisp [#lisp]
<dmiles> (or conflate with copying)
fikka has joined #lisp
safe has quit [Read error: Connection reset by peer]
d4ryus has joined #lisp
<beach> If you want a similar API for all objects, then I suggest you do what I do in SICL, i.e., all heap-allocated objects (except CONSes) have a two-word header containing (a reference to) the class of the object and (a reference to) the "rack" which is what I call the contents vector.
<beach> Then you can use the same code to access the class of every such object and the same code to access a slot of every such object.
<dmiles> exactly the point yes
fikka has quit [Ping timeout: 240 seconds]
<dmiles> though now with such a system we have to make these object all feel differnt right?
<beach> How so?
<dmiles> for example as in we cant let symbols feel like slotted classes
<beach> Why not?
<beach> Symbols do have slots after all.
<beach> At least the package and the name.
<dmiles> oh we can.. but we have to raise conditions if someone tried to do (get-slot-vlaue 'foo 'name)
<dmiles> or (elt 'sym 0)
<beach> That's a different issue though.
<beach> You make sure that slot-value-using-class has no method specialized to SYMBOL.
<beach> Or, you can make the slot name a symbol in some private package so that someone would have to do (slot-value 'foo 'special-private-package::name).
<dmiles> oh 'special-private-package::name is a neat idea
mishoo has joined #lisp
<beach> It's standard software-engineering practice.
<beach> (in-package #:dmiles-implementation-symbol) (defclass symbol (t) ((name :reader common-lisp:symbol-name) (package :reader common-lisp:symbol-package)))
fikka has joined #lisp
mishoo_ has joined #lisp
<beach> I even do this: (defclass symbol (t) ((%name :reader common-lisp:symbol-name) (%package :reader common-lisp:symbol-package))) so that the programmer would have to write (slot-value 'foo 'dmiles-implementation-symbol::%name), where both :: and % indicate something that you might not want to do.
BigSafari has joined #lisp
mishoo has quit [Ping timeout: 250 seconds]
thebardian has quit [Remote host closed the connection]
shka has joined #lisp
<dmiles> makes good sense
fikka has quit [Ping timeout: 248 seconds]
<beach> By the way, you don't "raise" a condition in Common Lisp. You "signal" a condition.
<beach> And the name of the function is SLOT-VALUE, not GET-SLOT-VALUE.
xfwduke has joined #lisp
<beach> The GET prefix looks pretty silly when used with SETF, as in (SETF (GETHASH ...) ...)
<dmiles> :)
Mandus has joined #lisp
damke has joined #lisp
scymtym has quit [Ping timeout: 268 seconds]
fikka has joined #lisp
dec0n has joined #lisp
damke has quit [Ping timeout: 240 seconds]
nicdev has quit [Remote host closed the connection]
chu has quit [Quit: WeeChat 1.9]
nicdev has joined #lisp
caseyowo has quit [Quit: WeeChat 1.9.1]
fikka has quit [Ping timeout: 248 seconds]
zmt00 has quit [Quit: Leaving]
varjag has joined #lisp
zooey has quit [Remote host closed the connection]
zooey has joined #lisp
angavrilov has joined #lisp
mson has quit [Quit: Connection closed for inactivity]
eschatologist has quit [Ping timeout: 240 seconds]
Cymew has joined #lisp
shka has quit [Ping timeout: 246 seconds]
mishoo_ has quit [Remote host closed the connection]
mishoo_ has joined #lisp
carleos has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 246 seconds]
kami has joined #lisp
<kami> Good morning.
<kami> I'm trying to ql:quickload iolib (v0.8.1) with SBCL 1.4.1 and get a lot of errors during compilation of ffi-types-unix.c. Are there any known issues?
<kami> Anything beyond libfixposix headers which I should install?
<loke`> kami: libffi
carleos has quit [Read error: Connection reset by peer]
<kami> loke`: I have libfffi version 3.2.1 installed
<kami> and the header file package
<loke`> kami: then you have to provide the full erorr output
Cymew has quit [Remote host closed the connection]
<kami> paste.lisp.org is gone :(
fikka has joined #lisp
<Ober> bused?
<Ober> it was abused?
<kami> Ober: yes. "Due to continued abuse, this service has been disabled"
<loke`> kami: that looks like an erorr in the code using the FFI.
<kami> loke`: thanks. I'll first check, whether there are any open issues on iolib's github page.
fikka has quit [Ping timeout: 268 seconds]
Cymew has joined #lisp
davsebamse has quit [Ping timeout: 260 seconds]
<jdz> That looks like an error of using SBCL's printed representation of base strings.
<jdz> (let ((*print-readably* t)) (prin1-to-string (coerce "foo" 'base-string)))
solene has quit [Quit: bye]
murii_ has joined #lisp
<kami> jdz: yes, thanks for spotting it.
<loke`> Interesting. I didn't know about the special #A syntax. This must be an SBCL extension.
<jdz> It's fairly recent.
davsebamse has joined #lisp
<kami> I checked out iolib's master branch and don't see this #A error any more, but another one:
<_death> I've had trouble with it as well.. seems like a bad decision to me
hhdave has joined #lisp
fikka has joined #lisp
<jdz> _death: like with most things where humans are involved it's not possible to please everybody.
eschatologist has joined #lisp
<loke`> _death: I think it's acceptable according to the spec though. I think *PRINT-READBLY* onyl has to be readable by itself.
fikka has quit [Ping timeout: 240 seconds]
sjl has joined #lisp
fikka has joined #lisp
mishoo_ has quit [Remote host closed the connection]
mishoo_ has joined #lisp
solene has joined #lisp
arbv has quit [Ping timeout: 252 seconds]
arbv has joined #lisp
sjl has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 250 seconds]
wxie has joined #lisp
<jdz> I'm pretty sure that's how SBCL prints specialized arrays readably.
<_death> yeah, it's a quality-of-implementation issue
Ukari has joined #lisp
<jdz> Well, other implementations can't even print them.
<_death> "there are worse"
fikka has joined #lisp
<jdz> Just checked ECL, and it has similar printed representation for specialized arrays, but it does not distinguish STRING from BASE-STRING, so this issue does not trigger.
<jackdaniel> ECL has distinction between string and base-string
Ukari has quit [Remote host closed the connection]
<jackdaniel> base-string is ordinary char array, while string is unicode
<_death> I have the feeling that string/base-string distinction is silly nowadays, but I need to sometime delve into the matter in more depth
<jackdaniel> well, arrays of char * is something what system functions accept for instance (or foreign functions if you play with cffi)
<jdz> jackdaniel: right, my wording is wrong then. ECL does not use the specialized array printing when printing strings.
<jackdaniel> ah OK
fikka has quit [Ping timeout: 260 seconds]
<jackdaniel> _death: moreover unicode support is a big addition which is not negligible, so being able to build only with ascii support may speed things up when you work on some dinky embedded device
<jackdaniel> etc etc
<jackdaniel> so distinction is far from silly
<_death> jackdaniel: good point about FFI..
<_death> jackdaniel: maybe just using utf-8 will be sufficient for many cases
<jdz> "Just using UTF-8"?
_cosmonaut_ has joined #lisp
fikka has joined #lisp
solene has quit [Quit: bye]
<jackdaniel> that may sound seemingly easy, to just use utf-8. it is better to support multibyte encodings, than only utf-8, isn't it?
<Shinmera> Well, with utf-8 character access becomes O(n)
<jackdaniel> but yes, I tend to agree that utf-8 is sufficient for most cases, yet supporting only utf-8 is incomplete
<_death> I mean for the default encoding of strings
fikka has quit [Ping timeout: 248 seconds]
<jackdaniel> standard mandates, that reader returns string, not base-string
<jackdaniel> so if they are the same (happens if you build ecl with --disable-unicode flag), then it doesn't make a difference (because string and base-string are the same type)
solene has joined #lisp
<jdz> jackdaniel: standard mandates that for what? double quote?
<jackdaniel> I believe so, I had a ticket a few years ago for that
<jackdaniel> let me see
<jackdaniel> I can't find it now
Guest2347 has quit [Quit: ZNC 1.6.3+deb1 - http://znc.in]
<jackdaniel> yup, double quote is bandated to return simple-string
<_death> in any case, I don't mind base-string as a distinct representational type, but think it should print as an ordinary string literal when printed readably
mrottenkolber has joined #lisp
<jdz> In any case I think cffi-grovel should not bind *print-readably* to make strings readable for C preprocessor.
mrottenkolber is now known as Guest75719
<jackdaniel> yes, sounds like a wrong thing
<Shinmera> Generally using the printer for anything but printing for the reader or human to be read is a bad idea.
fikka has joined #lisp
<_death> even when you're printing for the reader you may want to avoid the distinction.. so then you need to install a new dispatch for base-strings
<_death> I guess in my case I wanted to print for both the reader and the human
fikka has quit [Ping timeout: 255 seconds]
jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<jdz> If it's good for reader, it's good for human. Not the other way around.
_cosmonaut_1 has joined #lisp
<Shinmera> I'd argue that when you start having a lot of #= ## and #xA etc it starts becoming good for the reader but bad for the human.
_cosmonaut_ has quit [Ping timeout: 248 seconds]
davsebamse has quit [Ping timeout: 248 seconds]
<jdz> What I'm saying is that it's not really possible to have something that's good for human (first) and also good for computer.
<Shinmera> Right.
<jdz> Until DWIM is implemented.
fikka has joined #lisp
<jdz> Also, nobody said that doing the right thing is easy.
<jdz> But somehow people tend to go for the easy, not the right...
brendyn has left #lisp ["WeeChat 1.9.1"]
fikka has quit [Ping timeout: 240 seconds]
xfwduke has quit [Quit: WeeChat 1.9.1]
attila_lendvai has joined #lisp
fikka has joined #lisp
mishoo__ has joined #lisp
mishoo_ has quit [Read error: Connection reset by peer]
fikka has quit [Ping timeout: 250 seconds]
damke has joined #lisp
neoncontrails has joined #lisp
heurist has quit [Ping timeout: 268 seconds]
fikka has joined #lisp
heurist has joined #lisp
igemnace has quit [Quit: WeeChat 1.9.1]
fikka has quit [Ping timeout: 260 seconds]
heurist has quit [Ping timeout: 260 seconds]
m00natic has joined #lisp
heurist has joined #lisp
fikka has joined #lisp
neoncontrails has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
Tobbi has joined #lisp
test1600 has quit [Read error: Connection reset by peer]
pfdietz_ has quit [Ping timeout: 248 seconds]
mikecheck has joined #lisp
pfdietz has joined #lisp
wigust has quit [Ping timeout: 246 seconds]
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<kammd[m]> pjb: Hmm I might have missed that.. So clisp it is?
damke_ has joined #lisp
DGASAU has quit [Remote host closed the connection]
DGASAU has joined #lisp
damke has quit [Ping timeout: 240 seconds]
trosa-work has joined #lisp
trosa-work has quit [Remote host closed the connection]
Achylles has joined #lisp
okflo has joined #lisp
mishoo_ has joined #lisp
yeticry_ has joined #lisp
Cymew has quit [Remote host closed the connection]
mishoo__ has quit [Read error: Connection reset by peer]
yeticry has quit [Ping timeout: 240 seconds]
alpert has joined #lisp
markong has joined #lisp
shifty has joined #lisp
jmercouris has joined #lisp
aoeu256 has joined #lisp
aoeu1024 has joined #lisp
jmercouris has quit [Read error: Connection reset by peer]
Bike has joined #lisp
damke has joined #lisp
damke_ has quit [Ping timeout: 240 seconds]
Cymew has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
milanj has joined #lisp
Xof has joined #lisp
zooey has quit [Ping timeout: 248 seconds]
Denommus has quit [Ping timeout: 255 seconds]
zooey has joined #lisp
mishoo_ has quit [Read error: Connection reset by peer]
mishoo_ has joined #lisp
AntiSpamMeta has quit [Read error: Connection reset by peer]
AntiSpamMeta has joined #lisp
resttime has quit [Quit: Leaving]
knobo has quit [Quit: WeeChat 1.7]
Karl_Dscc has joined #lisp
Ukari has joined #lisp
zooey has quit [Remote host closed the connection]
zooey has joined #lisp
wxie has quit [Quit: Bye.]
Denommus has joined #lisp
gtuser has joined #lisp
Guest75719 has left #lisp [#lisp]
mrottenkolber has joined #lisp
BigSafari has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
nowolfer has joined #lisp
EvW has joined #lisp
damke_ has joined #lisp
sz0 has joined #lisp
damke has quit [Ping timeout: 240 seconds]
EvW has quit [Quit: EvW]
EvW has joined #lisp
SaganMan has joined #lisp
jameser has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
Tobbi has joined #lisp
Jesin has quit [Quit: Leaving]
fikka has joined #lisp
mishoo_ has quit [Read error: Connection reset by peer]
mishoo_ has joined #lisp
jameser has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
dec0n has quit [Read error: Connection reset by peer]
dec0n_ has joined #lisp
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
panji has quit [Ping timeout: 240 seconds]
Ukari has quit [Ping timeout: 248 seconds]
rumbler31 has quit [Remote host closed the connection]
BigSafari has joined #lisp
Ukari has joined #lisp
BigSafari has quit [Client Quit]
jfb4 has quit [Ping timeout: 255 seconds]
jfb4 has joined #lisp
mishoo_ has quit [Ping timeout: 248 seconds]
papachan has joined #lisp
BigSafari has joined #lisp
<drmeister> I have a collection of quicklisp packages that I would like to compile into a single fasl file - is there any facility in ASDF or quicklisp to do that?
<jackdaniel> yes
<jackdaniel> I don't remember the name
<jackdaniel> but it basically concatenates all files into single file
<jackdaniel> and then compiles it
Bicyclidine has joined #lisp
<jackdaniel> concatenate-source-op, not sure where you should put it (in delivery-op, or something even more mysterious) and how, but code is there
<jackdaniel> that may lead to some obscure bugs (i.e due to shared variables like *readtable*), dunno if asdf deals with that
<jackdaniel> for ECL there is bundle-op, which is used to produce fasb (which are bundled fasls)
<jackdaniel> might work just fine for clasp
nowhere_man has quit [Remote host closed the connection]
nowhere_man has joined #lisp
<drmeister> jackdaniel: Thank you
<drmeister> jackdaniel: ECL doesn't have a way to save and restore a snapshot of a running ECL - correct? I imagine that ECL has the same challenges that Clasp has in that regard.
JuanDaugherty has quit [Quit: Ex Chat]
fikka has quit [Ping timeout: 240 seconds]
<Shinmera> I think it's called a asdf:monolithic-compile-concatenated-source-op or something
<Shinmera> I only ever used a source concatenate OP as seen here for Ubiquitous: https://github.com/Shinmera/ubiquitous/blob/master/ubiquitous.asd#L22
fikka has joined #lisp
Tristam has joined #lisp
Colleen has joined #lisp
xfwduke has joined #lisp
<drmeister> Is the idea that I build a system that depends on a bunch of systems and uses asdf:monolithic-concatenate-source-op and then load that?
fikka has quit [Ping timeout: 240 seconds]
Tristam has quit [Ping timeout: 248 seconds]
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 255 seconds]
fikka has joined #lisp
Ukari has quit [Remote host closed the connection]
rumbler31 has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
dddddd has joined #lisp
fikka has joined #lisp
murii_ has quit [Ping timeout: 264 seconds]
alpert has quit [Remote host closed the connection]
alpert has joined #lisp
mishoo has joined #lisp
BigSafari has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<drmeister> So I created this system:
<drmeister> Then I use:
<drmeister> (asdf:load-asd "/Users/meister/Development/cando/tools/prebuild/jupyter/cando-jupyter.asd")
<drmeister> (asdf:load-system "cando-jupyter" :print t)
<drmeister> I still get a lot of REPL loading/compiling - and this is what I'm trying to avoid.
<drmeister> I have Clasp set up to print each top level form as it evaluates it.
fikka has quit [Ping timeout: 240 seconds]
<Shinmera> drmeister: No, you use (asdf:make :system) to run the build-op.
<drmeister> What I was hoping is that ASDF would bundle up everything as a single fasl file and load that.
<drmeister> Ah - thank you.
alpert has quit [Ping timeout: 248 seconds]
Jesin has joined #lisp
Cymew has quit [Remote host closed the connection]
sjl__ has joined #lisp
warweasle has joined #lisp
xfwduke has quit [Ping timeout: 268 seconds]
Cymew has joined #lisp
mson has joined #lisp
wigust has joined #lisp
dtornabene has joined #lisp
mikecheck has left #lisp ["part"]
FreeBirdLjj has joined #lisp
oleo has joined #lisp
Tristam has joined #lisp
LiamH has joined #lisp
juki has joined #lisp
fikka has joined #lisp
cromachina_ has quit [Read error: Connection reset by peer]
rippa has joined #lisp
rumbler3_ has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
Cymew has quit [Remote host closed the connection]
Cymew has joined #lisp
eudoxia has joined #lisp
rumbler3_ has quit [Ping timeout: 240 seconds]
zmt00 has joined #lisp
Cymew has quit [Ping timeout: 248 seconds]
aoeu1024 has quit [Ping timeout: 248 seconds]
aoeu256 has quit [Ping timeout: 248 seconds]
Tobbi has joined #lisp
sjl__ is now known as sjl
payphone has quit [Ping timeout: 240 seconds]
dec0n_ has quit [Read error: Connection reset by peer]
jmercouris has joined #lisp
<jmercouris> When you use a function, or a set of functions from another project with a compatible license, how do you show which pieces of code are from that other project/license?
<jmercouris> I guess that would depend on the license
<jmercouris> Let's say it is both BSD "simplified" projects
FreeBirdLjj has quit [Remote host closed the connection]
<beach> Put the used functions in a separate file.
yrk has left #lisp ["ERC (IRC client for Emacs 25.3.2)"]
<beach> Write a comment first in that file explaining the origin.
juki` has joined #lisp
<jmercouris> beach: Where do I put a copy of their license?
<beach> I guess you can put it in the same file, or in a separate file, referring to it.
<beach> I don't think it matters much as long as attributions and license are clear.
<jmercouris> Yeah, that's probably true
juki has quit [Ping timeout: 260 seconds]
Ukari has joined #lisp
<Shinmera> jmercouris: By "use" I assume you mean copying into your project rather than simply calling?
<jmercouris> Shinmera: Yes
<Shinmera> beach's advice is sound, then.
FreeBirdLjj has joined #lisp
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Arcaelyx has quit [Ping timeout: 240 seconds]
Arcaelyx_ has joined #lisp
flamebeard has quit [Quit: Leaving]
jstypo has joined #lisp
alpert has joined #lisp
shrdlu68 has joined #lisp
fikka has joined #lisp
milanj has quit [Quit: This computer has gone to sleep]
alpert has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 248 seconds]
edgar-rft has quit [Quit: edgar-rft]
<jmercouris> How much can the code be modified before it is considered new code?
<jmercouris> Let's say I leave only 25% of the "original" implementation, do you think I still have to include the other license and a reference?
<Shinmera> Well, ideally never.
<Shinmera> But in practise, ask a lawyer.
<Shinmera> Depending on who your opponent and lawyer are, the answer may be very different.
<jmercouris> Yeah, this is the tricky bit with licensing isn't it
<jmercouris> I guess it also depends on which country I reside in and which country they do
<Shinmera> Sure.
fikka has joined #lisp
<jmercouris> I think I'll probably okay, I don't think people in the Lisp community will sue me into oblivion
<Shinmera> What I've seen done is include a reference or history of modifications being made by whom.
<jmercouris> Maybe I'll include their license as well anyway
<jmercouris> Shinmera: Can you expand on that? Do you mean per file? or in a master "changes" file?
<Shinmera> I've seen both.
<jmercouris> I know you are not a lawyer, but what do you think of this idea: 1. Create a Licenses folder including all licensees from all projects 2. Create references in the source code to each applicable license
<Shinmera> Some licenses force you to state the changes made
milanj has joined #lisp
<jmercouris> I'm only working with BSD/MIT licenses, so I'm fine in that respect
<Shinmera> I think that's fine, if you also include a list of authors/contributors in the files that contain the included code.
thinkpad has quit [Ping timeout: 248 seconds]
<jmercouris> I think I'll do something like that then
<jmercouris> Seems a little cleaner, and easier than having to break apart their functions into separate files
<jmercouris> It would really break the organization of some of my code
fikka has quit [Ping timeout: 260 seconds]
neoncontrails has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 24.5.1)]
Ukari has quit [Ping timeout: 246 seconds]
scymtym has joined #lisp
WorldControl has joined #lisp
Oladon has quit [Read error: Connection reset by peer]
dmiles has quit [Read error: Connection reset by peer]
Oladon has joined #lisp
dmiles has joined #lisp
Ukari has joined #lisp
eudoxia has quit [Quit: Leaving]
<pjb> jmercouris: let's have fun, take a program under GPL, and write an anagram of it, licensed under BSD.
damke has joined #lisp
<jmercouris> pjb: Lol, that's just asking for trouble, I prefer to just stay away from GPL sources
<pjb> jmercouris: you could write a tool to help, it would add or remove comments to adjust :-)
damke_ has quit [Ping timeout: 240 seconds]
<pjb> jmercouris: and of course you could use that tool to check if two programs are anagram on of the other, and thus demonstrate a CLEAR derivation of your BSD or proprietary code from any GPL program >:->
<jmercouris> pjb: I'm pretty sure such a program already exists, it's called moss or something
<pjb> Or we could present an expert to the court, a physicist demonstrating that there is only one electron in the whole universe, zig-zapping between the start and end of times, and weaving the universe; therefore all your so called new code is actually reusing the same electron as my GPL code! BAM!
EvW has quit [Ping timeout: 255 seconds]
mson has quit [Quit: Connection closed for inactivity]
fikka has joined #lisp
mson has joined #lisp
juki` has left #lisp ["ERC (IRC client for Emacs 25.3.1)"]
fikka has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
raynold has quit [Quit: Connection closed for inactivity]
<flip214> If a loop gets too long, what's the best way to split a big COND into separate subroutines?
<flip214> Having to pass quite a few calculated variables into the functions, using a few specials, and some lambdas (to do COLLECT clauses etc.)
<flip214> doesn't make the code any nicer.
<flip214> and moving all the calculated variables to specials so that I don't have to pass them along means they won't show up in stack traces
<beach> Sounds messy.
<pjb> flip214: flet/labels.
<beach> pjb: I suspect he means that the code has too many lines as it is.
<pjb> Yes, but it doesn't matter. What matters is to have short function bodies.
<beach> I see what you mean.
<flip214> pjb: but I can't have FLET within the loop (because of the COLLECT clauses), and I can't have it easily outside (because of the variables)
<flip214> at the same level isn't possible
<pjb> Oh, I see, you have a lot of loop variables…
<beach> flip214: collect (flet ...) is entirely possible
<flip214> yeah, complex machinery there
<flip214> beach: yes. but then the function bodies are again _within_ the loop body, and so it becomes quite long...
<pjb> Well, either pass them all to functions, or use something else than loop. I mean, if you use local lexical variable defined in a surrounding let, you can have (let (flet (loop)))
<flip214> pjb: yeah, right.
<flip214> still, the FLETs can't do COLLECT unless I pass them a lambda for that...
<flip214> hmmm
<pjb> Also you can implement a collect as functions.
hhdave has quit [Ping timeout: 248 seconds]
<flip214> I even pondered having all that calculated state in some struct, and have a macro expand to WITH-SLOTS of that...
<pjb> (let ((collected '()) (flet ((collect (x) (push x collected)) (collected () (reverse collected))) (loop … (collect foo) finally (return (collected)))))
<pjb> +) in the right place.
<flip214> pjb: yeah, but that looses a bit of clarity.
<pjb> Not really. It all depends on your choice of function names ;-)
<flip214> and I prefer (FOR var = (expression)) in the loop (it's an iterate) over (SETF var (expression))
<flip214> but that might just be me
<flip214> it just feels "more functional" if you know what I mean
aeth has quit [Read error: Connection reset by peer]
<pjb> You have a code complexity problem and it should be resolved with macros. If the loop macro doesn't help, use another or your own macros (and macrolet).
aeth has joined #lisp
_cosmonaut_1 has quit [Ping timeout: 255 seconds]
Ukari has quit [Ping timeout: 240 seconds]
davsebamse has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
knicklux has joined #lisp
FreeBirdLjj has joined #lisp
wigust has quit [Ping timeout: 240 seconds]
<flip214> can I tell ITERATE to use outer bindings in (FOR var = ) forms, or do they need?
FreeBirdLjj has quit [Ping timeout: 255 seconds]
<flip214> pjb: beach: thanks for the help. do you mind me pasting that conversation into the source file?
<pjb> no problem.
<pjb> it's already in the logs :-)
SaganMan has quit [Quit: laters]
shka has joined #lisp
<sjl> flip214: if you're using ITERATE, a FLET in the body can access loop variables
<sjl> (iterate (for x :from 1 :to 10) (flet ((foo () (collect x))) (foo)))
<jmercouris> How could I call JSON.stringify from within parenscript?
<jmercouris> if I do (ps:chain -json (stringify some-object)) It'll output Json.stringify(some-object);
<jmercouris> Of course It needs to be JSON and not Json
<|3b|> *json* or -j-s-o-n
<jmercouris> |3b|: Thanks, that did the trick
Achylles has quit [Ping timeout: 240 seconds]
Ukari has joined #lisp
<|3b|> or +json+ if it feels more like a constant than a global
<jmercouris> |3b|: Do similar things exist for -math? or othrs?
* |3b| thought there was some way to configure specific words to translate like that, but not seeing it in docs... maybe was some other lib
<|3b|> ++ and ** translate to all caps
<jmercouris> |3b|: There is some discussion here: https://www.mail-archive.com/search?l=parenscript-devel@common-lisp.net&q=subject:%22Re%5C%3A+%5C%5Bparenscript%5C-devel%5C%5D+How+to+call+constructor%5C%3F%22&o=newest&f=1
<jmercouris> Not exactly what you are talking about, but related
kmb has joined #lisp
jstypo has quit [Read error: Connection reset by peer]
jstypo has joined #lisp
Achylles has joined #lisp
shifty has quit [Ping timeout: 258 seconds]
python476 has joined #lisp
lemonpepper24 has joined #lisp
raynold has joined #lisp
pseudonymous has joined #lisp
m00natic has quit [Read error: Connection reset by peer]
<raynold> ahh it's a wonderful day
<whaack> hi i'm looking at an sexpr that looks like '("this" . "that")
<whaack> what is the . for?
<Shinmera> Denoting a cons cell
<shka> whaack: this is a list that ends with "that" instead of nil
<Shinmera> (0 . (1 . (2 . NIL))) <=> (0 1 2)
<whaack> i see
<whaack> so (cddr '("this" . "that")) is going to error while (cddr '("this" "that")) will not
<whaack> the latter will return nill
<Shinmera> Mhm.
<sjl> correct
<whaack> ty
<whaack> pjb: nifty
fikka has quit [Ping timeout: 240 seconds]
<jmercouris> Reccomendations for cl json type lib? I've been personally looking at cl-json (https://github.com/hankhero/cl-json)
milanj has quit [Quit: This computer has gone to sleep]
milanj has joined #lisp
zachk has joined #lisp
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
<jmercouris> Shinmera: Alright, cl-json it is! Seems like my use case is already described in that article. Thanks for the link!
vap1 has joined #lisp
damke_ has joined #lisp
pseudonymous has quit [Ping timeout: 260 seconds]
damke has quit [Ping timeout: 240 seconds]
<jmercouris> Does there exist an article someone can reccomend that compares and contrasts different common lisp graphical toolkits and bindings? E.g. why might someone choose mcclim over gtk etc
<Shinmera> Toolkits are huge things, so comparing them would be very hard.
<Shinmera> I did a 5 minute talk two years ago about Qtools.
jstypo has quit [Read error: Connection reset by peer]
jstypo has joined #lisp
eudoxia has joined #lisp
MrBusiness has quit [Quit: https://www.youtube.com/watch?v=xIIqYqtR1lY -- Suicide is Painless - Johnny Mandel]
jstypo has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
jstypo has joined #lisp
LocaMocha has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
Kaisyu has quit [Quit: Connection closed for inactivity]
asarch has joined #lisp
<whaack> How do I turn ('(a b c) '(d e f) '(g (h i))) -> (a b c d e f g (h i))
<shka> whaack: apply #'append
<whaack> i'm not trying to append per say i'm trying to pull out the list one level, like loop through and append
fikka has quit [Ping timeout: 255 seconds]
<pjb> (mapcan (function second) (copy-tree '('(a b c) '(d e f) '(g (h i))))) #| --> (a b c d e f g (h i)) |#
<pjb> whaack: Please, go read: Common Lisp: A Gentle Introduction to Symbolic Computation http://www.cs.cmu.edu/~dst/LispBook/ http://www-cgi.cs.cmu.edu/afs/cs.cmu.edu/user/dst/www/LispBook/index.html
<whaack> ty for link
jstypo has quit [Read error: Connection reset by peer]
<shka> whaack: (append '(a b c) '(d e f) '(g (h i)))
<shka> that works as well
<pjb> but doesn't make a copy of the last element…
<pjb> and is not what was asked.
Tobbi has joined #lisp
pseudonymous has joined #lisp
Winwin has joined #lisp
fikka has joined #lisp
shka has quit [Ping timeout: 240 seconds]
hhdave has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
lemonpepper24 has quit [Quit: Leaving]
<aeth> In case anyone's wondering, mapl is similar to mapcan if you want to mess with side effects directly instead of using the automatic nconc.
Winwin has quit []
<aeth> i.e. mapl returns NIL
<Bicyclidine> it returns the first list you passed to it. not that this matters to the point.
fikka has joined #lisp
<aeth> describe is wrong for SBCL then!
<aeth> "Apply FUNCTION to successive CDRs of a list. Return NIL."
<aeth> It does in fact return the first list
<aeth> (I'm using an old SBCL, perhaps that was fixed already)
<Bicyclidine> docstrings on sbcl are kind of haphazard, for functions you can just look up in the clhs.
<aeth> I use mapl like map nil if I need to look ahead because I can e.g. do something to the car of x unless the cdr of x is endp and otherwise treat it like map nil (except with the restriction that I have to be taking the car, of course)
<aeth> Bicyclidine: I didn't have internet access when I looked it up
<Shinmera> That's why you keep a local copy of the clhs
<aeth> I was going off of memory of the docstring that I looked up when I was on my laptop in an area without Internet
<Bicyclidine> i'm just telling you why the docstring is wrong.
fikka has quit [Ping timeout: 268 seconds]
knicklux has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
BigSafari has joined #lisp
marciol has joined #lisp
vlatkoB has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 240 seconds]
jmercouris has quit [Ping timeout: 248 seconds]
shrdlu68 has quit [Ping timeout: 240 seconds]
jmercouris has joined #lisp
jstypo has joined #lisp
EvW1 has joined #lisp
dtornabene has quit [Remote host closed the connection]
marciol has quit [Quit: Textual IRC Client: www.textualapp.com]
marciol has joined #lisp
<drmeister> jackdaniel: What's the difference between a .fasb file and a .fasl file in ECL?
<Shinmera> bytecode and compiled, probably?
jmercouris has quit [Ping timeout: 240 seconds]
<drmeister> Then I googled the right word combination and I think ECL doesn't have .fasl extensions. .fasb is a native fasl and .fasc is a portable fasl.
marciol has quit [Client Quit]
<drmeister> I'm working on mimicking the C:BUILDER function in ECL and my version is being called with a .fasb extension and I'm not sure where it's coming from.
<drmeister> ASDF - it's everywhere.
knicklux has joined #lisp
<scymtym> aeth: documentation strings of CL:MAP* functions were improved recently. it says "... Return LIST." now
fikka has joined #lisp
jstypo has quit [Read error: Connection reset by peer]
jstypo has joined #lisp
<dmiles> CLOS without MOP .. is that really possible?
fikka has quit [Ping timeout: 260 seconds]
<dmiles> i mean in that wouldnt implementor end up making a Meta Object Protocol when they are implementing CLOS?
<dmiles> i am finding it hard to do one without the other (if i understand MOP at all)
* dmiles would be surprised if he didn't
* dmiles would *not* be surprised if he didn't
<pjb> It is certainly easier to write CLOS in CLOS rather than in CL or worse, in C++!
<pjb> But if you were to write CLOS in C++, you could very well write it without providing a MOP.
<dmiles> MOP is the reflective asplect of CLOS ?
<dmiles> MOP is the reflective aspect of CLOS, right?
<pjb> yes.
<dmiles> is it anything more than just that?
<pjb> Also, you may want to have a look at OpenC++, a MOP for C++
k-stz has joined #lisp
<Bicyclidine> you could do it in a different way.
<Bicyclidine> like, standardly speaking, standard-class is a standard-class, that's "meta". but there's nothing about compute-effective-method or make-method-lambda.
<pjb> Anyways, given the usefulness of the MOP, you should prefer implementing it.
mishoo has quit [Ping timeout: 240 seconds]
<dmiles> is it anything more than just that ? = reflective exploration and definitions to CLOS
<dmiles> LPP feals like what happens when you are coding tranlated lisp
<pjb> Well it would allow user code to define their own object system! With their own implementation choices. So it can be quite sophisticated.
<dmiles> translated*
<dmiles> (as lpp should ;P)
<dmiles> pjb.. i suppose an example of that is allwoing their programs to use ALIENS
<dmiles> like "With their own implementation choices." ? to use C++ imported ALIENs ?
* dmiles is asking basic questions .. but to ensure sane understandings
<dmiles> (that last question was not connected to life-save)
<drmeister> Shinmera: I was able to get asdf:monolithic-compile-bundle-op to work with Clasp.
<Shinmera> Cool.
<drmeister> I had to write some code to get Clasp to fully mimic ECL's C::BUILDER function - which is invoked by ASDF.
fikka has joined #lisp
<drmeister> Thank you very much.
<Shinmera> Wish I had gotten anything done today
Denommus has quit [Remote host closed the connection]
<drmeister> So - just to recap - this is what people do when they want to bundle up a bunch of ASDF systems into a single fasl file and load them all at once.
<dmiles> Bicyclidine: *nod* so make-method-lambda is that possible extra
mson has quit [Quit: Connection closed for inactivity]
<Bicyclidine> like, the MOP is a particular protocol (though it's not as solidly defined as CL itself). it's not the only way to have reflection in CLOS.
fikka has quit [Ping timeout: 240 seconds]
knicklux has quit [Quit: Leaving]
<dmiles> it feels liek (i am probably wrong) that if one Common Lisp the Language, 2nd Edition .. they've walked into MOP?
<dmiles> but not all the way through it?
<dmiles> if one implements Common Lisp the Language, 2nd Edition
Xal has quit [Ping timeout: 260 seconds]
warweasle has quit [Quit: rcirc on GNU Emacs 24.4.1]
<dmiles> Oh "The Common Lisp Object System (CLOS) is an object-oriented extension to Common Lisp. It is based on generic functions, multiple inheritance, declarative method combination, and a meta-object protocol."
<dmiles> "based on having a MOP"
* dmiles laughs that he only just quoted himself
varjag has joined #lisp
* Ober hunts for live coding examples of slime goodness
Xal has joined #lisp
<Ober> Shinmera: you did roswell?
<Shinmera> ... no? What ever gave you that idea?
<dmiles> oh "The third part, The Common Lisp Object System Meta-Object Protocol, explains how the Common Lisp Object System can be customized. [The third part has not yet been approved by X3J13 for inclusion in the forthcoming Common Lisp standard "
<dmiles> in other words one can claim to have implemented common lisp dispite missing that third part
eudoxia has quit [Quit: Leaving]
<Xach> dmiles: that is out of date.
* dmiles needs someone to say "dmiles, exactly"
<Xach> dmiles: CLtL is good prose but not the spec and is outdated as a reference.
<dmiles> is there a non outdated spec?
<Xach> dmiles: yes. the spec is not outdated. html form available as the hyperspec.
jstypo has quit [Read error: Connection reset by peer]
pmetzger has joined #lisp
jstypo has joined #lisp
<Xach> Common Lisp: The Language is an interim document with an interesting history but not fully reliable as a reference
<dmiles> so if one really implments all of what is there .. such as http://www.lispworks.com/documentation/HyperSpec/Body/m_defi_4.htm#define-method-combination
fikka has joined #lisp
<dmiles> is there some part of MOP they are missing?
* dmiles should ahve linked to COMPUTE-APPLICABLE-METHODS
Baggers has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
<Xach> dmiles: the MOP is not part of the formal standard, but each implementation has its own MOP and there are generally few differences between them
<Xach> but they are different enough to require a portability layer for max convenience
<Xach> that is what closer-mop does
jstypo has quit [Read error: Connection reset by peer]
fikka has joined #lisp
<Bicyclidine> you can have define-method-combination without having a compute-effective-method that takes the same arguments, or that is a generic function.
<dmiles> i think (cant tell for sure) is that CLOSER-MOP has its own package that wraps each impl?
<Bicyclidine> yeah.
fikka has quit [Read error: Connection reset by peer]
jstypo has joined #lisp
<dmiles> (ok good, the reason i asked is it could ahve created an *altranate protocol* that wraps each)
jstypo has quit [Read error: Connection reset by peer]
edgar-rft has joined #lisp
* dmiles mixed up compute-effective-method and compute-applicable-methods :P
* dmiles is almost ready to work now..
<dmiles> but where should i put structure-object in the class heirary?
<dmiles> if someone does (defstruct foo ... ) i want it to have an automatic superclass
<Xach> dmiles: http://l1sp.org/cl/structure-object seems to suggest where, to me...
<dmiles> right under t?
* dmiles secretly wishes it was standard-object instead
* dmiles secretly wishes it was *under* standard-object instead or at the same level as condition
<dmiles> i think i was asking this last night.. buit not sure if i understand if it was a bad idea
fikka has joined #lisp
<dmiles> or maybe the opposite now
terpri has quit [Ping timeout: 248 seconds]
<dmiles> is if standard-object could have a class precidence order structure-object,t
pmetzger has quit [Read error: Connection reset by peer]
<dmiles> right now is have something called a "slotted-class" which both standard-object and structure-object is
<Bicyclidine> that's basically what sbcl does.
okflo has quit [Remote host closed the connection]
<dmiles> aha, i think that is sane
fikka has quit [Ping timeout: 248 seconds]
<Bicyclidine> it might be standard-conforming to have one be a subclass of the other, alternately, but it doesn't seem like a good idea to me. they have some pretty distinct behaviors.
gtuser has quit [Remote host closed the connection]
<dmiles> can you give one or two distinctive behavious?
<dmiles> (examples)
<Shinmera> Most severely, structures can't be (portably) redefined.
neoncontrails has quit [Remote host closed the connection]
* dmiles real secret agenda is to allow standard-classes to be read back with #S( )
whoman has quit [Read error: Connection reset by peer]
<dmiles> maybe that is already allowable?
<Bicyclidine> how would that work? it calls make-instance with the given arguments?
<dmiles> yes
<Bicyclidine> what if a slot has no initarg?
<Shinmera> what if initialize-instance or shared-initialize run some code?
* dmiles was going to create initargs for everything
* dmiles was *hoping* that a shared-initialize would be synthesized like :include superclass
<dmiles> running first the parent most initiualizer
<dmiles> an initializer for instance is jut to populate the LAYOUT field
<dmiles> an initializer (for instance) would populate the LAYOUT field
<dmiles> so by the time initialize-instance is ran the structure object is formed
<Bicyclidine> the user can define methods on shared-initialize.
fikka has joined #lisp
<dmiles> if a user defines methods on shared-initialize i would assume that those would need defined before #S( ) (calls make-instance) is read
kami has quit [Ping timeout: 255 seconds]
<dmiles> i need to .. #S( #S(standard-class ..) ... ) ?
<jackdaniel> drmeister: natively compiled files have extension fas, bytecode compiled files have extension fasc, multiple systems compiled and bundled together into single file have extension fasb
<drmeister> Got it.
<jackdaniel> (and of course extensions *.o, *.a and *.so are also possibilities)
<drmeister> I added the extension 'fasb' to Clasp as a valid library extension.
<jackdaniel> if you are interested in builder overview, here is some documentation on it: https://common-lisp.net/project/ecl/static/ecldoc/Extensions.html#Compiling-with-ECL
fikka has quit [Ping timeout: 260 seconds]
<drmeister> Thank you - I saw that and it didn't jive with my (incorrect) recollection that ECL also had a .fasl extension.
<drmeister> I added a BUILDER function to Clasp that ASDF invokes and now Clasp builds .fasb libraries as well.
<jackdaniel> ecl compiled files only have fas extension
<jackdaniel> "fasl file" label relates to the full name (fast load) as it is commonly named, not to extension
<jackdaniel> in the diagram in this doc
<drmeister> Understood.
safe has joined #lisp
<jackdaniel> I'm going to take some rest, I'm exhausted atm.
mson has joined #lisp
<jackdaniel> btw, Happy Thanksgiving day to all in the US :-)
<Xach> so many turkeys
* drmeister is going straight to the turkey sandwiches this year.
zmt00 has quit [Quit: Leaving]
stacksmith has quit [Quit: stacksmith]
fikka has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
pmetzger has joined #lisp
nmg has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
fikka has joined #lisp
pseudonymous has quit [Ping timeout: 248 seconds]
Amplituhedron has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
attila_lendvai has quit [Quit: Leaving.]
zachk has quit [Ping timeout: 240 seconds]
JenElizabeth has joined #lisp
Tobbi has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Baggers has left #lisp ["Killed buffer"]
vzerda has joined #lisp
kmb has quit [Quit: kmb]
whoman has joined #lisp
Tobbi has joined #lisp
BigSafari has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
dyelar has quit [Quit: Leaving.]
florin96 has joined #lisp
<florin96> Hello. Does anyone know why do I get "line 6 should be lambda" on this small code? https://paste.ofcode.org/FtHhckzjyp2Sj8FasszuiM
fikka has joined #lisp
angavrilov has quit [Remote host closed the connection]
<pjb> florin96: it means you should read a tutorial.
rumbler31 has quit [Ping timeout: 240 seconds]
<pjb> florin96: also, it may help to use different CL implementations, some may provide better error messages than others…
mejja has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
bmgxc9 has joined #lisp
<pjb> florin96: what implementation do you use? I know no CL implementation reporting errors by line number.
Bicyclidine has quit [Ping timeout: 260 seconds]
wigust has joined #lisp
raphaelss has joined #lisp
<florin96> common lisp pjb
<pjb> Common Lisp is a language, not an implementation. Languages don't signal errors. Implementations do!
vzerda has quit [Ping timeout: 258 seconds]
python476 has quit [Ping timeout: 248 seconds]
<florin96> clisp
pierpa has joined #lisp
<pjb> my clisp says: SYSTEM::%EXPAND-FORM: (LOOP (IF (= 1 (LENGTH L)) (RETURN T) (IF (> (FIRST L) (SECOND L) (RETURN NIL))) (REMOVE 0 L))) should be a lambda expression
fikka has joined #lisp
Jesin has quit [Quit: Leaving]
<pjb> what version of clisp do you use?
<pjb> I have 2.49.
LiamH has quit [Quit: Leaving.]
sjl has quit [Ping timeout: 248 seconds]
<florin96> 2.44
nmg has quit [Remote host closed the connection]
<pjb> Yep. It's almost 10 years old. At least, 2.49 is only 7 years old…
<pjb> Anyways, can you see what's the problem?
fikka has quit [Ping timeout: 255 seconds]
<florin96> Not really. I just want to send that lambda as an argument.
<florin96> I use this tutorial
<pjb> Pass your way, this is not the lambda you're searching for.
wxie has joined #lisp
<k-stz> hey im having trouble using (cffi:foreign-array-to-lisp <pointer> <array-type>), I can't figure out in what way to pass the 'array-type' argument. I have an array of :unsigned-char's with 1000 elements
<pjb> florin96: how can you do advanced functionnal programming in lisp when you don't even know the basic syntax of lisp?
fikka has joined #lisp
<k-stz> sadly the manual doesn't mention the function anywhere
<pjb> k-stz: I would try '(cffi:array :unsigned-char 1000) and if that doesn't work, I would read the user manual.
<florin96> I am learning the syntax now. This is the first problem that I encounter
<k-stz> oh thanks pjb, it wanted exactly '(:array :unsigned-char 1000)
<pjb> florin96: you should read chapter and chapter 3 of clhs. in particular: http://www.lispworks.com/documentation/HyperSpec/Body/03_aba.htm
<pjb> florin96: or one of the tutorial mentionned in the cliki above.
fikka has quit [Ping timeout: 240 seconds]
damke has joined #lisp
damke_ has quit [Ping timeout: 240 seconds]
thinkpad has joined #lisp
hhdave has quit [Quit: hhdave]
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.1)]
wxie has quit [Remote host closed the connection]
Bicyclidine has joined #lisp
fikka has joined #lisp
Karl_Dscc has quit [Remote host closed the connection]
Kaisyu has joined #lisp
Achylles has quit [Quit: Leaving]
fikka has quit [Ping timeout: 248 seconds]
terpri has joined #lisp
neoncontrails has joined #lisp
QualityAddict has quit [Quit: Leaving]
papachan has quit [Quit: Saliendo]
fikka has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
Bicyclidine has quit [Ping timeout: 240 seconds]
terpri has quit [Ping timeout: 248 seconds]
rumbler31 has joined #lisp
klltkr has joined #lisp
fikka has joined #lisp
bmgxc9 has quit [Quit: Leaving]