<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?
<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.
<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]
<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>
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]
<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>
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!
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...
<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
<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]
<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]
<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++
<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
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
<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.
<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
* 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.
<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)