Ricchi has quit [Remote host closed the connection]
karlosz has quit [Quit: karlosz]
adip has quit [Ping timeout: 265 seconds]
shifty has quit [Ping timeout: 276 seconds]
shifty has joined #lisp
vap1 has quit [Read error: Connection reset by peer]
Aruseus has quit [Remote host closed the connection]
vaporatorius has joined #lisp
vaporatorius has quit [Changing host]
vaporatorius has joined #lisp
superkumasan has quit [Ping timeout: 245 seconds]
lucasb has quit [Quit: Connection closed for inactivity]
Aruseus has joined #lisp
elfmacs has joined #lisp
fragamus has joined #lisp
shifty has quit [Ping timeout: 258 seconds]
shifty has joined #lisp
raghavgururajan has joined #lisp
bitmapper has quit [Ping timeout: 240 seconds]
makomo has quit [Ping timeout: 265 seconds]
semz has quit [Ping timeout: 245 seconds]
anewuser has quit [Ping timeout: 240 seconds]
semz has joined #lisp
fragamus has quit [Ping timeout: 265 seconds]
fragamus has joined #lisp
saravia has quit [Remote host closed the connection]
Argely has joined #lisp
<Argely>
ddd
EvW has joined #lisp
mathrick has quit [Ping timeout: 250 seconds]
Argely has left #lisp ["Closing Window"]
mathrick has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
Blukunfando has quit []
adip has joined #lisp
abhixec has joined #lisp
devon has joined #lisp
<devon>
Earlier I got non-sequitur responses to this question, so I ask again:
<devon>
Can slime hack -*- Package: foo -*- lines?
seok has quit [Remote host closed the connection]
<pjb>
devon: you would have to define "to hack".
raghavgururajan has quit [Remote host closed the connection]
georgie_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<edgar-rft>
Is foo an Emacs package or a Common LIsp package?
mindthelion has joined #lisp
<pjb>
edgar-rft: this concerns CL packages.
mindthelion has quit [Client Quit]
<pjb>
emacs packages are some kind of (CL) system. There's nothing like CL packages in emacs lisp. (there are obarray which are some low-level stuff that could be used to implement CL packages in emacs lisp, if there was hooks in the reader available).
techquila has quit [Ping timeout: 245 seconds]
karlosz has joined #lisp
rople has joined #lisp
Aruseus has quit [Remote host closed the connection]
<edgar-rft>
My problem is more that I cannot find any documentation about a -*- Package: foo -*- file vaiable. Neither in the Emacs manuals nor in the Slime manual. I just simply have no idea where this variable comes from.
<pjb>
edgar-rft: those are file local variables. Check that in the emacs manual.
<edgar-rft>
pjb: yes, I know, but there is no Package variable mentioned anywhere.
<pjb>
it is possible the variable names are downcased first. Read the emacs manual.
<pjb>
edgar-rft: slime checks for in-package forms to read and evaluate things in the right package. Without an in-package, I guess it will fall back to the package name bond to package.
<edgar-rft>
pjb: That's how Common Lisp handles packages, what has nothing to do at all with file local Emacs variables.
<devon>
pjb, edgar-rft: Emacs *should* downcase all file-local variables but stupidly does it only for those variables where someone complained.
<devon>
pjb, edgar-rft: Another wheel to re-invent, [rolls eyes] but it beats editing thousands of files starting with -*- base: 10; package: foo; readtable: CL -*-
karlosz has quit [Quit: karlosz]
count3rmeasure has joined #lisp
rople has quit [Quit: rople]
torbo has quit [Remote host closed the connection]
<beach>
Good morning everyone!
EvW has quit [Ping timeout: 245 seconds]
Bike has quit [Quit: Lost terminal]
adip has quit [Ping timeout: 265 seconds]
adip has joined #lisp
dddddd has quit [Remote host closed the connection]
<rigidus>
Yep, good morning
vap1 has joined #lisp
sgithens has joined #lisp
vaporatorius has quit [Ping timeout: 240 seconds]
<beach>
rigidus: Are you new here? I don't recognize your nick.
<devon>
beach: g'day!
ravenousmoose has joined #lisp
ravenousmoose has quit [Ping timeout: 276 seconds]
gravicappa has joined #lisp
devon has quit [Ping timeout: 240 seconds]
elfmacs has quit [Ping timeout: 268 seconds]
paul0 has joined #lisp
shka_ has joined #lisp
rople has joined #lisp
shifty has quit [Ping timeout: 265 seconds]
shifty has joined #lisp
Lord_of_Life has quit [Ping timeout: 258 seconds]
orivej has quit [Ping timeout: 265 seconds]
sindan has quit [Remote host closed the connection]
sindan has joined #lisp
vlatkoB has joined #lisp
Lord_of_Life has joined #lisp
user____ has joined #lisp
shifty has quit [Ping timeout: 265 seconds]
shifty has joined #lisp
wigust- has joined #lisp
wigust has quit [Read error: Connection reset by peer]
adip has quit [Ping timeout: 276 seconds]
shifty has quit [Ping timeout: 258 seconds]
orivej has joined #lisp
marusich has quit [Remote host closed the connection]
Cymew has joined #lisp
Kaisyu7 has quit [Quit: ERC (IRC client for Emacs 26.2)]
rople has quit [Ping timeout: 268 seconds]
shka_ has quit [Quit: Konversation terminated!]
shka_ has joined #lisp
Kaisyu7 has joined #lisp
Inline has quit [Quit: Leaving]
Cymew has quit [Read error: No route to host]
Cymew has joined #lisp
krid has quit [Ping timeout: 276 seconds]
<count3rmeasure>
morning
manualcrank has quit [Quit: WeeChat 1.9.1]
jprajzne has joined #lisp
<beach>
Hello count3rmeasure.
elfmacs has joined #lisp
igemnace has joined #lisp
ggole has joined #lisp
igemnace has quit [Read error: Connection reset by peer]
orivej has quit [Ping timeout: 265 seconds]
<rigidus>
beach: yep, i am new boy in this place
rigidus has quit [Remote host closed the connection]
flamebeard has joined #lisp
raghavgururajan has joined #lisp
<flip214>
when using the access library, can I tell it to do NTHCAR? (access:accesses ...) gives me a list, but with 0 as additional path specifier I only get NIL.
user____ has quit [Ping timeout: 258 seconds]
varjag has joined #lisp
scymtym has quit [Ping timeout: 268 seconds]
shifty has joined #lisp
dpl has joined #lisp
ljavorsk has joined #lisp
dpl_ has joined #lisp
raghavgururajan has quit [Read error: Connection reset by peer]
ljavorsk_ has joined #lisp
ljavorsk has quit [Ping timeout: 240 seconds]
ltriant has quit [Ping timeout: 245 seconds]
dpl has quit [Ping timeout: 276 seconds]
dpl_ has quit [Ping timeout: 245 seconds]
dpl has joined #lisp
scymtym has joined #lisp
ravenousmoose has joined #lisp
makomo has joined #lisp
jonatack has quit [Ping timeout: 276 seconds]
ravenousmoose has quit [Ping timeout: 246 seconds]
ebrasca has joined #lisp
ravenousmoose has joined #lisp
shka__ has joined #lisp
ralt has joined #lisp
scymtym has quit [Ping timeout: 258 seconds]
ljavorsk_ has quit [Ping timeout: 268 seconds]
hhdave has joined #lisp
<shka__>
hello
<shka__>
is coercing adjustable array of characters to simple-string guaranteed to work on a standard CL implementation?
ravenousmoose has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
j`ey has left #lisp [#lisp]
<saturn2>
i believe so
dmiles_afk has quit [Read error: Connection reset by peer]
makomo has quit [Ping timeout: 276 seconds]
dmiles has joined #lisp
dim has joined #lisp
dpl has quit [Ping timeout: 265 seconds]
nostoi has joined #lisp
dpl has joined #lisp
scymtym has joined #lisp
asdf_asdf_asdf has joined #lisp
libertyprime has joined #lisp
gravicappa has quit [Ping timeout: 268 seconds]
count3rmeasure has quit [Quit: Leaving]
DGASAU has joined #lisp
ltriant has joined #lisp
ljavorsk has joined #lisp
ltriant has quit [Ping timeout: 240 seconds]
<beach>
asdf_asdf_asdf: I am reading your questions in the channel logs, and I don't quite understand why you program in Common Lisp, given that you seem to want to treat it as just another language in the C family, where you can take the address of variables, and manipulate pointers explicitly.
<beach>
I think you would be much better off using a language in that family, rather than trying to twist Common Lisp into something it really is not in the first place.
SaganMan has quit [Ping timeout: 265 seconds]
igemnace has joined #lisp
<beach>
Perhaps you are under the impression that Common Lisp is just another language in the same family, only with a different syntax. That is not the case. It is fundamentally different with automatic memory management and uniform reference semantics.
<shka__>
asdf_asdf_asdf approaches CL in a weird fashion in all sorts of ways
<shka__>
including reading a "Let Over Lambda" as an introduction book
<shka__>
but so far he proved to be resistant to suggestions
cosimone has joined #lisp
<beach>
Well, I am afraid that asdf_asdf_asdf is wasting time because of a fundamental misunderstanding about what Common Lisp is.
<shka__>
this is a distinct possiblity, yes
<beach>
And I don't understand this desire of simultaneously using Common Lisp and treating is at something it is not.
afidegnum has quit [Quit: leaving]
<asdf_asdf_asdf>
Some lack me theory, so that not understand that probably reference not exists in CL.
Necktwi has joined #lisp
<beach>
In Common Lisp, the semantics are defined as if every datum is a reference.
<beach>
asdf_asdf_asdf: I understand you might not quite understand the semantics, but why are you using Common Lisp in the first place if you want to program as if you are using C, and, as I recall, also accessing C code from Common Lisp?
<beach>
asdf_asdf_asdf: If you are using Common Lisp in order to learn how to program in it, I strongly recommend you not try to interface to C in the beginning.
<asdf_asdf_asdf>
No, I rewrite code from C to Common Lisp [SBCL].
<beach>
asdf_asdf_asdf: Oh dear!
<beach>
asdf_asdf_asdf: If you use Common Lisp that way, the code you are going to end up with (if you succeed at all) is going to be very ugly.
<beach>
You should absolutely not try to program in Common Lisp the way you program in C.
<beach>
What is the purpose of this rewrite?
igemnace has quit [Read error: Connection reset by peer]
<asdf_asdf_asdf>
Nothing. Later maybe conversation.
gxt has quit [Quit: WeeChat 2.6]
<beach>
asdf_asdf_asdf: It is a *huge* mistake to think that all programming languages are fundamentally the same and that you can translate code from one to the other while preserving the overall organization of that code.
<beach>
asdf_asdf_asdf: To make things worse, C is often used in ways that the standard says is undefined behavior, but which is traditional behavior of C compilers. Such code is even less possible to translate to Common Lisp directly than conforming C code.
<saturn2>
even if you succeed, you would just end up with the same program but slower and incomprehensible to anyone but you
cosimone has quit [Quit: Terminated!]
<beach>
asdf_asdf_asdf: So, it is highly likely that your questions such as "what is the equivalent in Common Lisp of the C construct <mumble>" will be answered by "there is no equivalent". I therefore advise you to learn Common Lisp as a language in its own right.
<Nistur>
saturn2: is that not called "job security"?
cosimone has joined #lisp
<saturn2>
ha
dpl has quit [Read error: Connection reset by peer]
<beach>
asdf_asdf_asdf: You will learn more about idiomatic Common Lisp, and you will annoy people here a lot less that your current questions result in.
<asdf_asdf_asdf>
@beach; I know not must be equivalent, code in different languages another is written.
dpl has joined #lisp
<beach>
asdf_asdf_asdf: Then quit trying to interface to C as part of your learning Common Lisp, and start using Common Lisp as a language in its own right, so that you can learn how it works, what the idioms are, and how you structure Common Lisp code.
jonatack has joined #lisp
<aeth>
The main line, I'd say, is garbage collected vs. not. But of the non GCed languages, C is about as far fron CL as you get. Even C++ has a lambda now!
* no-defun-allowed
laughs in upwards funargs
<aeth>
Your code still wouldn't be idiomatic if you translated Ruby or Python or JavaScript, but at least it'd be easier to find equivalents.
<Shinmera>
You can port C code to Lisp just fine, as long as you don't try to do pointer arithmetic or other crap they like to do. In order to be able to do such a port you need a good grasp on both languages and understand how concepts translate.
<aeth>
C's all about using stuff not exposed in CL to implement stuff that practically everyone else gives you as part of the language.
<aeth>
You can translate stuff from C if it's something that can be written in any language, of course.
cosimone has quit [Quit: Terminated!]
<aeth>
You can also do fun hacks to e.g. fake foo(&x) in CL by e.g. using 0-dimensional arrays or other fun obscure corners of the language, but as you said, you need to know both languages well first.
<beach>
My point is that I am quite convinced that asdf_asdf_asdf does not currently have the required knowledge to port C code to Common Lisp code, not to do any sophisticated emulation of the C runtime environment in Common Lisp.
<beach>
"nor" to do
arduo has joined #lisp
nostoi has quit [Quit: Verlassend]
elinow has joined #lisp
rigidus has joined #lisp
stepnem has quit [Read error: Connection reset by peer]
stepnem has joined #lisp
<beach>
rigidus: OK, welcome then! What brings you to #lisp?
superkumasan has joined #lisp
<rigidus>
beach: There are one and a half people left in my lisp-language jabber conference
raghavgururajan has joined #lisp
cosimone has joined #lisp
<rigidus>
beach: And I thought that the real old lispers can be found only in IRC
user____ has joined #lisp
<jackdaniel>
I've heard that discord is also pretty popular among real new lispers ,)
<jackdaniel>
and there are also reddit's lisp and common_lisp channels
<rigidus>
What are you recomend me for reading after PCL and ANSI-CL?
<jackdaniel>
"On Lisp" and PAiP
<jackdaniel>
PAIP*
nanoz has quit [Ping timeout: 245 seconds]
<jackdaniel>
minion: tell rigidus about onlisp
<minion>
rigidus: have a look at onlisp: An advanced textbook on Common Lisp, with special focus on macros. at http://www.cliki.net/On%20Lisp
<jackdaniel>
minion: tell rigidus about paip
<minion>
rigidus: paip: Paradigms of Artificial Intelligence Programming. More about Common Lisp than Artificial Intelligence. Now freely available at https://github.com/norvig/paip-lisp
makomo has joined #lisp
<rigidus>
I already read PAIP. Great book!
<jackdaniel>
then it is time to start contributing to the ecosystem ;-)
<jackdaniel>
and read the actual code
dale has quit [Quit: My computer has gone to sleep]
<rigidus>
jackdaniel: Contribute to which project for example?
<jackdaniel>
what are you most interested in?
<jackdaniel>
like: graphics, algorithms, integrated development environments, some paticular kind of applications?
<jackdaniel>
common lisp implementations themself
<rigidus>
robots, expert systems and making programming languages
cosimone has quit [Quit: Terminated!]
nanoz has joined #lisp
<jackdaniel>
for the last part I could recommend studying source code of cl-ppcre which implements regular expressions for Common Lisp
<jackdaniel>
regarding robots and expert systems I'm not familiar with libraries concerned with these topics
amerlyq has joined #lisp
<rigidus>
jackdaniel: I was able to write the FORT in assembler 86, but I had difficulty trying to write a lisp on this FORT
gravicappa has joined #lisp
<rigidus>
I will definitely study cl-ppcre
<no-defun-allowed>
What FORT?
<rigidus>
*forth
elfmacs has quit [Ping timeout: 276 seconds]
nanozz has joined #lisp
<rigidus>
gravicappa: Hello, familiar nickname! What project are you working on in Ufa now?
<shka__>
once i figure out how can i optimize list unification it should be also pretty fast
Posterdati has joined #lisp
<no-defun-allowed>
Just saying, Hugin (with one N) is the name of an image-stitching program I've used before, but I don't think a Prolog and an image tool are easily conflatable.
adip has joined #lisp
dpl has quit [Remote host closed the connection]
<rigidus>
shka_: It’s hard for me to understand where to start with it
<shka__>
rigidus: well, unification function is a good start
<shka__>
this is unfolding implementation with shared representation for code and data on the heap
<rigidus>
shka__: Before I start reading this code, I have to get enough sleep)
cosimone has joined #lisp
dpl has joined #lisp
gravicappa has quit [Ping timeout: 246 seconds]
gareppa has quit [Quit: Leaving]
elfmacs has joined #lisp
<shka__>
rigidus: sweet dreams!
arduo has quit [Read error: Connection reset by peer]
EvW1 has joined #lisp
jonatack has quit [Ping timeout: 268 seconds]
orivej has joined #lisp
nowhereman has quit [Ping timeout: 276 seconds]
<ebrasca>
Hi
<asdf_asdf_asdf>
Hello.
longshi has joined #lisp
EvW1 has quit [Ping timeout: 245 seconds]
orivej has quit [Ping timeout: 240 seconds]
georgie has quit [Remote host closed the connection]
elinow has quit [Remote host closed the connection]
ebrasca has quit [Remote host closed the connection]
orivej has joined #lisp
elinow has joined #lisp
raghavgururajan has quit [Remote host closed the connection]
zaquest has quit [Ping timeout: 245 seconds]
jonatack has joined #lisp
gabiruh has joined #lisp
georgie has joined #lisp
varjag has quit [Quit: ERC (IRC client for Emacs 25.2.2)]
Necktwi has quit [Ping timeout: 268 seconds]
ljavorsk has quit [Ping timeout: 240 seconds]
__jrjsmrtn__ has quit [Ping timeout: 265 seconds]
elinow has quit [Read error: Connection reset by peer]
elinow has joined #lisp
__jrjsmrtn__ has joined #lisp
orivej has quit [Ping timeout: 246 seconds]
asdf_asdf_asdf has quit [Remote host closed the connection]
Necktwi has joined #lisp
cosimone has quit [Remote host closed the connection]
cosimone has joined #lisp
orivej has joined #lisp
LiamH has joined #lisp
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 268 seconds]
cosimone has quit [Quit: Quit.]
asdf_asdf_asdf has joined #lisp
Bike has joined #lisp
fragamus has quit [Ping timeout: 240 seconds]
<fouric>
is it better to use the slime version from quicklisp or (m)elpa?
dpl_ has joined #lisp
<dlowe>
I use the one from quicklisp, since it's guaranteed to be in synch with the swank version
<fouric>
that's exactly what i want
<fouric>
ty!
* fouric
was getting warnings about slime-swank version mismatches
georgie has quit [Read error: Connection reset by peer]
dpl has quit [Ping timeout: 245 seconds]
<dlowe>
I also don't know how up-to-date the melpa version is kept
georgie has joined #lisp
dpl_ has quit [Ping timeout: 240 seconds]
cosimone has joined #lisp
dpl has joined #lisp
bitmapper has joined #lisp
krid has joined #lisp
xkapastel has joined #lisp
longshi has quit [Quit: WeeChat 2.5]
Cymew has quit [Ping timeout: 268 seconds]
lucasb has joined #lisp
manualcrank has joined #lisp
fragamus has joined #lisp
superkumasan has quit [Ping timeout: 240 seconds]
zulu-inuoe has joined #lisp
paul0 has quit [Read error: Connection reset by peer]
flamebeard has quit []
cosimone has quit [Quit: Quit.]
paul0 has joined #lisp
flamebeard has joined #lisp
emacsomancer has quit [Read error: Connection reset by peer]
mindCrime_ has joined #lisp
Cymew has joined #lisp
retropikzel has joined #lisp
krid has quit [Ping timeout: 245 seconds]
emacsomancer has joined #lisp
<Shinmera>
I've been using the melpa one for years without issue.
<Shinmera>
Dunno what you mean with out of sync either, slime from melpa bundles swank just as the one from ql does.
dpl has quit [Ping timeout: 250 seconds]
<sukaeto>
I think dlowe is referring to situations where you run your own Lisp image outside of Emacs and then slime-connect to that
<dlowe>
I didn't say the melpa one would get out of sync
<shka__>
i do that quite often, usually swank and slime are at most 1 version apart and so far it worked for me without a problem
<sukaeto>
in that case, if you've got the melpa SLIME package installed, you'll get a version mismatch if you're ql:quickload'ing swank from your Lisp image
<dlowe>
and yeah, it almost always still works
Oladon_work has joined #lisp
<sukaeto>
that being said, this is what I've been doing for a long time now with no issues
georgie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<sukaeto>
you get a warning on connect that there's a version mismatch, you tell it OK, and it connects and works
<sukaeto>
fwiw, I only do it this way because when I set it up I didn't know about quicklisp-slime-helper
<sukaeto>
and I haven't bothered "fixing" working systems
<shka__>
well, i would say that this is good enough for development env
<sukaeto>
yeah, I mean, if you're using swank<->slime communications in a production system maybe you'd want to extensively test before doing this?
<sukaeto>
I'm not clever enough to imagine why you'd do that, though
georgie has joined #lisp
orivej_ has joined #lisp
orivej has quit [Ping timeout: 265 seconds]
<Shinmera>
sukaeto: Even in that situation you'd have to guarantee that you're running the same QL dist version locally, too.
<sukaeto>
Shinmera: oh yes, of course. If you're juggling multiple systems all pinned to different QL dists, I can believe you'll run into this problem all the time
rippa has joined #lisp
raghavgururajan has joined #lisp
<remexre>
weird behavior: I'm trying to do :perform (test-op (o c) (symbol-call :fiveam '#:run! :foobar)) in an asd file I'm loading with ABCL, but I'm getting "There is no class named TEST-OP."
<dlowe>
try asdf:test-op
<remexre>
oh, that did it; thanks
<remexre>
should I have (use-package :asdf) at the top of my asd files then?
<remexre>
or is that horrifying
varjag has joined #lisp
<asdf_asdf_asdf>
Rather asdf::test-op - double-colon.
<Shinmera>
no
<dlowe>
I'd just keep the prefix
<Shinmera>
also no to what asdf_asdf_asdf is saying
<Bike>
test-op is exported
<asdf_asdf_asdf>
So, what should be use one colon, maybe double-colon?
<Bike>
one colon if the symbol is exported
<asdf_asdf_asdf>
@Bike; thanks. And double-colon if not exported?
<Bike>
yes, and in that case you're treading in dangerous territory by using things the developer doesn't expect you to use and may change without warning
<asdf_asdf_asdf>
OK.
bitmapper has quit []
bitmapper has joined #lisp
raghavgururajan has quit [Remote host closed the connection]
bitmapper has quit [Remote host closed the connection]
elfmacs has quit [Ping timeout: 246 seconds]
cosimone has joined #lisp
bitmapper has joined #lisp
<Xach>
I am 3000 miles from the quicklisp build server and it is not pinging :(
<Xach>
ah well, no quicklisp update this week!
<Xach>
frabjous day! it was temporary!
catchme has joined #lisp
q9929t has joined #lisp
gareppa has joined #lisp
bitmapper has quit [Remote host closed the connection]
bitmapper has joined #lisp
bitmappe_ has joined #lisp
bitmapper has quit [Read error: Connection reset by peer]
EvW has joined #lisp
bitmappe_ is now known as bitmapper
dpl has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
flamebeard has quit []
asdf_asdf_asdf has quit [Remote host closed the connection]
q9929t has quit [Quit: q9929t]
Necktwi has quit [Ping timeout: 276 seconds]
asdf_asdf_asdf has joined #lisp
gravicappa has joined #lisp
gxt has quit [Ping timeout: 260 seconds]
zaquest has joined #lisp
bitmapper has quit []
scymtym has quit [Ping timeout: 250 seconds]
EvW has quit [Ping timeout: 245 seconds]
paul0 has quit [Ping timeout: 245 seconds]
elinow has quit [Read error: Connection reset by peer]
gareppa has quit [Quit: Leaving]
shifty has quit [Ping timeout: 265 seconds]
yoja has joined #lisp
hhdave has quit [Quit: hhdave]
Necktwi has joined #lisp
Lord_of_Life has quit [Ping timeout: 265 seconds]
<mfiano>
Xach: no idea about osicat. I only test on SBCL and CCL for the most part
<Xach>
a lot of stuff depends on pngload and i worry that making it narrowly loadable will break a lot of stuff.
Lord_of_Life has joined #lisp
emacsomancer has quit [Read error: Connection reset by peer]
<mfiano>
Well, if you want to hold pngload back 1 release, I'm fine with that. We're actually in the middle of a major change that should be ready in a couple days. pngload will be close to the speed of libpng very soon
<Xach>
everyone has their own priorities, but i would rather have a pure CL library that was slower than have something that only builds if you have gcc
mtreis86 has joined #lisp
<Xach>
that's me wearing my library user hat
<Xach>
i will of course add anything when wearing my quicklisp hat
mtreis86 has left #lisp [#lisp]
<mfiano>
I understand. pngload's goal has always been performance, as most of its users, myself included, use it for game development -- streaming multiple 4096x4096 or 8192x8192 RGBA images. Some trade-offs had to be made in that area.
<Xach>
pngload is used by many other projects that might have different priorities
<Xach>
mcclim for example
<mfiano>
But you're not the first with such a concern, and we are already looking into it. mmap for example is a POSIX-compatible thing. Mezzano doesn't even have CFFI
<_death>
maybe try gcc and fallback to lisp if not?
<Xach>
the only thing i like less than foreign dependencies is complex build paths :)
<_death>
Xach: is this wearing quicklisp hat or user hat? (or both?)
<Xach>
_death: a bit of both
<mfiano>
Xach: Are you able to source from a particular SHA1?
notzmv has quit [Ping timeout: 268 seconds]
<Xach>
mfiano: i may have misunderstood - i interpreted your issue as "mezzano has switched to 3bz" - but i think I should have read it as "mezzano uses pngload"?
<Xach>
mfiano: if necessary
<mfiano>
I'm sorry. We actually didn't realize the issue until it was pointed out to us after being merged into master.
<mfiano>
Well kind of
<mfiano>
McCLIM on Mezzano uses pngload
<Xach>
So does mcclim everywhere else
<mfiano>
Point being though, McCLIM doesn't have any C layer at all, and so the mmap library or any CFFI won't work at all.
<mfiano>
err Mezzano
<Xach>
Ok. I'm glad that you're aware of it. In a situation like this it seems like maybe a fork with a new name for people who are happy to use ffi to get the best performance...is that feasible?
<Xach>
Or maybe not a fork, but an additional system within pngload? Or something?
akoana has joined #lisp
<mfiano>
Yes that is feasible. I actually wasn't aware of the issue until after it was merged. It was just pointed out to me yesterday. 3b wasn't aware either.
<Xach>
I should make a bot that posts alarming levels of new failures somewhere
<Xach>
(but where?)
<dlowe>
planet lisp?
<dlowe>
your email address?
<dlowe>
a mailing list?
<dlowe>
oh, oh, web push notifications
gravicappa has quit [Ping timeout: 240 seconds]
<mfiano>
Xach: Would a separate branch work just as well. I sort of don't want to split the trees up into separate repositories, but I will if I must.
<mfiano>
?
<Oladon_work>
We could build a websockets-based browser extension that receives such notifications from Xach and displays them to everyone using the extension in real time!!
<Xach>
mfiano: I can pull from a specific branch. Are you thinking of having a branch with the old pngload and add new code to master?
<Xach>
Oladon_work: YES!
<mfiano>
Xach: yes
<Xach>
mfiano: would you consider doing it the other way instead, where master has the old stuff and the new stuff is on a branch?
<Xach>
that would save me a little bit of hassle. (not a ton.)
<mfiano>
Xach: I think that would be doable. Now the age old problem of nomenclature
<mfiano>
Xach: Also you mentioned osicat. Who depends on that?
<dlowe>
just rename one to slow-pngload and the other to c-pngload
* dlowe
should be in marketing.
<Xach>
mfiano: i think it is via mmap
<mfiano>
slow-pngload, while speaks relatively, conveys that pngload itself is slow compared to say png-read :)
<Xach>
sloping load and seeping load?
<_death>
pngloading and pngloaded
<mfiano>
The alternative is to conditionalize for platforms without ffi
<mfiano>
Never thought a simple mmap would cause so much grief
<mfiano>
Oh well
<dlowe>
If it's just the mmap, someone could theoretically make a trivial-mmap that interfaced with the OS syscalls
<Xach>
does mezzano have a mmap syscall?
gxt has joined #lisp
<mfiano>
No
Blukunfando has joined #lisp
asdf_asdf_asdf has quit [Remote host closed the connection]
hiroaki has joined #lisp
zaquest has quit [Remote host closed the connection]
<mfiano>
Hmm. I think it would be a burden for me to maintain two versions. It's already a burden maintaining the one. It is pretty complex code in order to be fast. I'm considering sending pngload-legacy to sharplispers or something.
<mfiano>
Most of the changes I would make would need to be done in parallel, which is why I mentioned a branch rather than a fork, but even that is still a bit of a burden
<Xach>
It would make life easier for me and anyone else who uses pngload now if pngload remainded the same and a new fast version had a new name. (Not saying this is worth changing what you want to do.)
<mfiano>
That is acceptable, assuming someone else wants to host pngload
<mfiano>
I am juggling too many projects is all, and pngload takes a lot of brain cells when something needs to change. Sadly, I am no Shinmera
EvW1 has joined #lisp
<mfiano>
Xach: For now, how about we just hold back pngload this month as to not break anything while I talk to 3b about perhaps conditionalizing 3bz and pngload to be compatible everywhere.
yoja has quit [Ping timeout: 246 seconds]
<Xach>
Shinmera is actually a loose collective of dozens of lisp hackers, do not compare yourself to that! It's no-win!
zaquest has joined #lisp
sjl_ has joined #lisp
nowhereman has joined #lisp
<dlowe>
Shinmera also finds the time to draw cute pictures.
mathrick has quit [Ping timeout: 245 seconds]
karswell has joined #lisp
* |3b|
plans to split cffi/mmap dependency of 3bz into a separate system by next month, any idea if nibbles is a problem too?
<Xach>
I don't know about nibbles, sorry
akoana has left #lisp ["Leaving"]
Ricchi has joined #lisp
asdf_asdf_asdf has joined #lisp
<|3b|>
looks like nibbles has portable implementations of integer functions, so might work on mezzano... don't think i would have used the float functions in 3bz
<verisimilitude>
Am I to understand there's a library for manipulating PNGs written entirely in Common Lisp, already existing?
<|3b|>
a few of them (though read and write are separate libs)
<|3b|>
pngload and png-read for reading, zpng for writing
<verisimilitude>
That's interesting; I never looked much, but only saw C bindings. I'll probably focus on some format without a pure Common Lisp solution whenever I get around to manipulating images, then.
<Fade>
why without a common lisp implementation?
<Xach>
vecto has a higher-level PDF-like API for drawing and saving as PNG
<verisimilitude>
What I meant is, whenever I do finally get around to working with some image file format, I'd prefer to write a Common Lisp library that serves a format where that currently isn't done.
<Shinmera>
Xach: I didn't know I had schizophrenia
<Shinmera>
mfiano: |3b|: Xach: I would be more than fine with removing the Osicat dependency in mmap.
<Fade>
ah. cool. I didn't track what you were saying.
<Shinmera>
I loathe libraries that invoke foreign compilers
<Xach>
"m'fiano" is italian for "more than fine"
<verisimilitude>
As do I, Shinmera.
<Shinmera>
Xach: hah
<Shinmera>
The only reason I used osicat was because I was too lazy to do a survey of the necessary constants and types myself.
<verisimilitude>
I see there's already an implementation of a tar format handler in Common Lisp, although that won't stop me from writing my own at some point; the name I thought of is too good to glance over.
<Shinmera>
dlowe: I don't seem to find much time anymore recently :(
ravenousmoose has joined #lisp
mathrick has joined #lisp
amerlyq has quit [Quit: amerlyq]
<mfiano>
Xach: Okay, master now reflects the state before 3bz, and the fast branch is the new one.
dale_ has joined #lisp
dale_ is now known as dale
<mfiano>
Hope that works now. Sorry for the trouble.
yoja has joined #lisp
<Xach>
mfiano: thanks
EvW1 has quit [Ping timeout: 250 seconds]
adip has quit [Ping timeout: 240 seconds]
anewuser has joined #lisp
adip has joined #lisp
alexande` has joined #lisp
gravicappa has joined #lisp
Necktwi has quit [Quit: leaving]
<mfiano>
Xach: I screwed up that commit. Please don't pull yet
asdf_asdf_asdf has quit [Remote host closed the connection]
asdf_asdf_asdf has joined #lisp
sauvin has quit [Read error: Connection reset by peer]
<Xach>
No rush!
<Xach>
i probably won't check for another 16 hours or so, automatically
<Xach>
and every 24 hours after that
shka_ has quit [Ping timeout: 276 seconds]
alexanderbarbosa has quit [Ping timeout: 276 seconds]
<mfiano>
Xach: Ok fixed. I had to do a sin and revite the last commit from the git history.
<mfiano>
rewrite*
<Fade>
github needs a 'repo locked for historioectomy' toggle.
rozenglass has joined #lisp
karlosz has joined #lisp
<Fade>
s/github/git
karlosz has quit [Client Quit]
lavaflow has quit [Ping timeout: 276 seconds]
orivej_ has quit [Ping timeout: 265 seconds]
EvW has joined #lisp
gravicappa has quit [Ping timeout: 265 seconds]
vhost- has quit [Remote host closed the connection]
vhost- has joined #lisp
cosimone has quit [Quit: Terminated!]
orivej has joined #lisp
vlatkoB has quit [Remote host closed the connection]
flazh has quit [Read error: Connection reset by peer]
shka_ has joined #lisp
retropikzel has quit [Remote host closed the connection]
anewuser has quit [Ping timeout: 258 seconds]
asdf_asdf_asdf has quit [Ping timeout: 240 seconds]
ltriant has joined #lisp
ltriant has quit [Ping timeout: 276 seconds]
alexande` has quit [Read error: Connection reset by peer]
alexanderbarbosa has joined #lisp
lavaflow has joined #lisp
shangul has joined #lisp
orivej has quit [Ping timeout: 265 seconds]
frgo has quit [Ping timeout: 246 seconds]
ggole has quit [Quit: Leaving]
frgo has joined #lisp
scymtym has joined #lisp
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
orivej has joined #lisp
shka_ has quit [Ping timeout: 268 seconds]
shangul has quit [Quit: sudo rm -rf /usr/*]
cosimone has joined #lisp
henrikk has joined #lisp
ravenousmoose has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
lavaflow has quit [Ping timeout: 276 seconds]
lavaflow has joined #lisp
bitmapper has joined #lisp
dpl has quit [Read error: Connection reset by peer]
Ven`` has joined #lisp
dpl has joined #lisp
alexande` has joined #lisp
alexanderbarbosa has quit [Ping timeout: 246 seconds]
ravndal has quit [Remote host closed the connection]
ravndal has joined #lisp
henrikk has quit [Remote host closed the connection]
varjag has quit [Ping timeout: 246 seconds]
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
paul0 has joined #lisp
<ralt>
is there an easy way to access an element by name, e.g.: `((:server . "nginx") (:etag . "foo"))` looping through every element looks ugly. Want to get a drakma response header.