binghe changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language <http://cliki.net/> logs:<https://irclog.whitequark.org/lisp, http://ccl.clozure.com/irc-logs/lisp/> | SBCL 1.4.0, CMUCL 21b, ECL 16.1.3, CCL 1.11.5
kozy has quit [Remote host closed the connection]
kozy has joined #lisp
smurfrobot has quit [Remote host closed the connection]
pmc_ has joined #lisp
quazimodo has joined #lisp
TriBeck34 has joined #lisp
TriBeck34 is now known as pinkertonmall
lnostdal_ has quit [Remote host closed the connection]
lnostdal has joined #lisp
erikc has joined #lisp
pinkertonmall has quit [Quit: http://www.okay.uz/ (Ping timeout)]
borei has joined #lisp
Josh_2 has quit [Remote host closed the connection]
JohnnyL has quit [Quit: leaving]
kundry_wag has joined #lisp
makomo_ has quit [Ping timeout: 255 seconds]
smurfrobot has joined #lisp
troydm has quit [Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset]
kundry_wag has quit [Ping timeout: 260 seconds]
Baggers has quit [Remote host closed the connection]
red-dot has joined #lisp
smurfrobot has quit [Remote host closed the connection]
python476 has quit [Ping timeout: 240 seconds]
kundry_wag has joined #lisp
smurfrobot has joined #lisp
smurfrobot has quit [Remote host closed the connection]
kundry_wag has quit [Ping timeout: 265 seconds]
Ukari has joined #lisp
Cthulhux has quit [Ping timeout: 256 seconds]
Cthulhux has joined #lisp
smurfrobot has joined #lisp
Cthulhux has quit [Changing host]
Cthulhux has joined #lisp
smurfrobot has quit [Remote host closed the connection]
Ukari has quit [Remote host closed the connection]
dieggsy has quit [Ping timeout: 255 seconds]
porky11 has quit [Remote host closed the connection]
karswell_ has joined #lisp
pmc_ has quit [Quit: Leaving]
smurfrobot has joined #lisp
ckonstanski has joined #lisp
smasta has quit [Ping timeout: 260 seconds]
dtornabene has joined #lisp
ckonstanski has quit [Remote host closed the connection]
attila_lendvai has quit [Quit: Leaving.]
fikka has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
Oladon has quit [Quit: Leaving.]
<stacksmith> Bike: it was different and I was mislead by a layer of macros that I forgot about... I take it back.
josemanuel has quit [Quit: leaving]
fikka has quit [Ping timeout: 264 seconds]
smurfrobot has quit [Remote host closed the connection]
smurfrobot has joined #lisp
pierpa has joined #lisp
krwq has joined #lisp
marusich has quit [Ping timeout: 276 seconds]
wxie has joined #lisp
<krwq> why does (let ((foo '(a b))) ``(,,@foo)) evaluate to `(,A ,B) and not to `(a b)? is there any way to do this except for ,@',foo?
fikka has joined #lisp
arescorpio has joined #lisp
kundry_wag has joined #lisp
arescorpio has quit [Max SendQ exceeded]
fikka has quit [Ping timeout: 248 seconds]
isoraqathedh_ is now known as isoraqathedh
kundry_wag has quit [Ping timeout: 276 seconds]
pagnol has quit [Ping timeout: 252 seconds]
fikka has joined #lisp
Rawriful has quit [Quit: WeeChat 1.4]
arescorpio has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
ghard` has quit [Remote host closed the connection]
ghard`` has joined #lisp
EvW has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
markong has quit [Ping timeout: 276 seconds]
fikka has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
damke_ has joined #lisp
vaporatorius has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 248 seconds]
d4ryus1 has joined #lisp
deng_cn has quit [Read error: Connection reset by peer]
d4ryus has quit [Ping timeout: 240 seconds]
deng_cn has joined #lisp
smurfrobot has quit [Remote host closed the connection]
wxie2 has joined #lisp
quazimodo has quit [Ping timeout: 264 seconds]
wxie has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
mfiano has quit [Quit: WeeChat 2.0.1]
mfiano has joined #lisp
wxie2 has quit [Ping timeout: 264 seconds]
guicho has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
mfiano has quit [Client Quit]
mfiano has joined #lisp
smurfrobot has joined #lisp
fikka has joined #lisp
smurfrobot has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 256 seconds]
mfiano has quit [Quit: WeeChat 2.0.1]
smurfrobot has joined #lisp
ThUnD3R256 has quit [Ping timeout: 248 seconds]
mfiano has joined #lisp
deng_cn has quit [Read error: Connection reset by peer]
damke has joined #lisp
zmt00 has quit [Quit: Leaving]
Karl_Dscc has joined #lisp
orivej has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
zmt00 has joined #lisp
<pfdietz> Don't use nested backquotes. Break the parts out into a separate form. Nested backquotes are write-only code.
mlf|2 has joined #lisp
fikka has joined #lisp
ckonstanski has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
borei has quit [Quit: Leaving.]
<krwq> pfdietz: how do you write a macro generating a macro? split into fake func?
deng_cn has joined #lisp
<stacksmith> Depends on how you define 'generating'. You can make a macro that returns a defmacro form, but I suspect that's not what you mean...
<stacksmith> If you mean a something that returns an expression that can be expanded by a macro, such as a backquoted form, that doesn't even require a macro - it can be a function.
<stacksmith> And generally speaking, a macro is just a function that runs at compile time and is expected to return something that lisp can process in its place.
<stacksmith> Roughly speaking.
fikka has joined #lisp
<beach> Good morning everyone!
<stacksmith> Good morning to you as well.
<krwq> stacksmith: i meant macro outputting the macro otherwise I'd go with regular list
Oladon has joined #lisp
<stacksmith> I am confused. What do you mean by 'outputting'?
<stacksmith> How do you output a macro?
fisxoj has joined #lisp
fikka has quit [Ping timeout: 268 seconds]
<krwq> (defmacro foo (...) `(defmacro ... (...) ...))
<krwq> macro generating macro
<krwq> i don't know how else you could say it - it's not returning it
<Bike> macro expanding into a defmacro
<stacksmith> It does not generate it. It just returns a list '(defmacro ...).
<krwq> Bike: thanks - I'm not good with nomenclature
<stacksmith> ` is just syntactic sugar for listmaking.
<stacksmith> `(defmacro ...) is the same as (list 'defmacro ...)
<krwq> stacksmith: I know the question was very specific: why does (let ((foo '(a b))) ``(,,@foo)) evaluate to
<krwq> `(,A ,B) and not to `(a b)
<stacksmith> I see. It has absolutely nothing to do with macros then.
<krwq> stacksmith: i need to for macro but it was not related
<Bike> like pfdietz said, i avoid nested backquotes
<Bike> try replacing the inner backquote with calls to list/append/etc instead
<Bike> if that's too complicated, move the macroexpander into some other function
<krwq> as i said, i did ,@',foo - I just wanted to learn how to do it, not planning to use it too extensively
<stacksmith> Conser that (let ((foo '(a b))) `(,@foo)) expands to a list (a b). Why would ``(,,@foo) do the same?
<krwq> stacksmith: I'd expect ``(,@,foo) to do the same since in this case ,foo would be a list and ,@ inline expands it
<krwq> that's not the case though
<krwq> on the other hand it evals it so the version with quote is probably correct but not best
<krwq> anyways double backquotes are confusing but still would like to understand them more to at least be able to read the code with them faster
Devon has joined #lisp
fikka has joined #lisp
<beach> krwq: My experience is that you need to understand the algorithm for expanding backquoted expressions.
megeve has joined #lisp
megeve has quit [Excess Flood]
megeve has joined #lisp
Karl_Dscc has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 256 seconds]
<krwq> beach: thanks beach - i will take a look in clhs
<stacksmith> ``(,,@foo) = ``(,,a ,,b)
fikka has joined #lisp
Devon has quit [Ping timeout: 248 seconds]
<krwq> stacksmith: i noticed but not a clue why
<beach> clhs 2.4.6
<beach> krwq: Did you read this page?
<krwq> beach: haven't started on clhs yet, in the middle of something :)
<beach> I think you need to read and understand that page in order to understand the result of your exercise.
<krwq> beach: will do my homework :)
arescorpio has quit [Quit: Leaving.]
guicho has quit [Remote host closed the connection]
<stacksmith> krwq: take a look at http://repository.readscheme.org/ftp/papers/pepm99/bawden.pdf especially 3.3 Nested Splicing.
drcode has joined #lisp
<stacksmith> ""intuitively, an at-sign has the effect of causing the comma to be mapped over the elements ..."
<stacksmith> ergo `(,@foo) = `(,a ,b) and ``(,,@foo) = ``(,,a ,,b)
Ukari has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
fikka has joined #lisp
<stacksmith> And since foo quotes a and b, the real equations are `(,@foo) = `(,'a ,'b) and ``(,,@foo) = ``(,,'a ,,'b)
schoppenhauer has quit [Ping timeout: 276 seconds]
fikka has quit [Ping timeout: 240 seconds]
schoppenhauer has joined #lisp
nosefouratyou has quit [Ping timeout: 260 seconds]
<pfdietz> If you want to write code that you won't understand later, go ahead and nest your backquotes.
<mfiano> Is there an easy format control string that comma-separates a list of elements, and inserts the word "and" before the last? Something with ~{ and ~^ perhaps, such as: (format nil "..." '(1 2 3)) ; => "1, 2, and 3"
Arcaelyx_ has joined #lisp
<krwq> stacksmith: I think I get the idea now - the pdf you sent is easier to understand than clhs. I think I wanted something like this: (let ((foo '(a b c))) ``(,,@(mapcar #'(lambda (x) `',x) foo))) (btw. not sure why (mapcar #'quote '(a b c)) is not working)
jonh has joined #lisp
Arcaelyx has quit [Ping timeout: 265 seconds]
fikka has joined #lisp
<mfiano> Nevermind, it's in PCL
<mfiano> krwq: What makes you think it's not working?
<stylewarning> mfiano: ~{~A~^, ~}
<stylewarning> super common idiom
<mfiano> stylewarning: read again :)
<pierpa> CLHS is not a tutorial!
<stylewarning> mfiano: I read that you found it but you never said the answer!
<krwq> mfiano: (mapcar #'quote '(a b c)) => Cannot FUNCALL the SYMBOL-FUNCTION of special operator QUOTE.
<mfiano> stylewarning: page 229 of PCL has the answer
<pierpa> MAPCAR expects to be passed a function. QUOTE is not a function
<stylewarning> krwq: why that doesn't work can be understood by what pierpa said, but also by reading it as it means
<Bike> (lambda (x) `',x) is (lambda (x) (list 'quote x))
<Bike> no reason for any kind of quote function to do that
<krwq> pierpa: I get it might not work but not getting why does #' work on quote: #' => #<CLOSURE (:SPECIAL QUOTE) {10014D72DB}>
<stylewarning> which is: evaluate the first argument, evaluate the second argument, then map "don't evaluate" across the evaluated list
<stylewarning> which makes no sense of course!
<Bike> krwq: clhs defines #'quote as an error. your implementation is just a bit lazy.
<Bike> (which is allowed)
<pierpa> krwq: that's some implementation dependent detail
fisxoj has quit [Quit: fisxoj]
fikka has quit [Ping timeout: 268 seconds]
<krwq> pierpa: Bike: ok makes sense then, #'quote result has confused me
<pierpa> for example, I get: #'quote ==> Error: QUOTE names a special form -- bad arg for FUNCTION.
<krwq> I think when apropos says QUOTE (fbound) it should be funcallable though
<Bike> special operators are still fbound
<krwq> (fboundp 'quote) => T
<Bike> you can't use #'quote, but you can do (fdefinition 'quote), and you will get something
<pierpa> krwq: you are too late to change how CL works :)
<Bike> what that something is is implementation dependent
<Bike> i don't know why it's all defined this way
<Bike> anyway, quote is definitely not a function; the entire point of its semantics is that (quote x) is not evaluated like a function call
<krwq> pierpa: at least (special-operator-p 'quote) is T too - makes sense it doesn't work now - i'd rather have it always not work than work on half of the implementations :P
damke_ has joined #lisp
<pierpa> perhaps QUOTE is fdefined in some implementations only to give a better error message, rather than a nonspecific undefined function
<krwq> but still would be nice if some of the special operators worked with mapcar i.e. #'or
<Bike> or is a macro, not a special operator
<Bike> what would it even do with mapcar though...
<krwq> omg
damke has quit [Ping timeout: 264 seconds]
<Bike> well, what you probably have in mind is some
<Bike> clhs some
<krwq> (mapcar #'or '(t t nil) '(nil nil t))
<Bike> oh, right, multiple arguments
<krwq> logxor
<Bike> well, that's some
<krwq> logor
<pierpa> krwq: do you know SOME?
mlf|2 has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
<Bike> (some #'identity '(t t nil) '(nil nil t))
<Bike> errrr
<Bike> wow, i am mxied up.
igemnace has joined #lisp
<Bike> i guess that would be (mapcar (lambda (x y) (or x y)) ...), sux
<krwq> pierpa: i knew at one point and forgot about it existance - too many functions :)
<Bike> or (defun f-or (&rest arguments) (some #'identity arguments)) then (mapcar #'f-or ...)
<mfiano> stylewarning: The solution PCL gives is a bit annoying but it'll do: (format nil "~{~a~#[~;, and ~:;, ~]~}" list)
<Bike> ~#[... fancy
<stylewarning> mfiano: that's too complicated if you don't need the "and"
<mfiano> This is to generate docstrings for ~4000 functions. I'd like them to read like English, so yeah.
<stylewarning> just ~{~a~^, ~} if you just want a comma and space between everything
<Bike> i thought mfiano specifically said they wanted the and
<mfiano> That is correct
<stylewarning> sorry im not following along closely
<mfiano> stylewarning: Indeed, I've used that idiom for years, but this requires an "and"
<stylewarning> as a favor for my fault, check out the newest problem i've posted http://www.watrophy.com/posts/37-Staircase-Paths.html
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
vsync has quit [Ping timeout: 260 seconds]
<stylewarning> (if you have cool lisp, functional programming, or meta-syntactic problems, pm me! :D)
<krwq> mfiano since you're here, this was yours right? https://git.axity.net/axion/net.axity.common-lisp.gamedev.git
fikka has joined #lisp
<krwq> mfiano: your certificate has expired
vsync has joined #lisp
<krwq> or something else is wrong
<krwq> mfiano: either way firefox complains about your cert
aindilis has quit [Ping timeout: 256 seconds]
<mfiano> krwq: That domain hasn't been up for about 6 months
<mfiano> and also, that CL system was deprecated and removed even longer ago
<krwq> mfiano: I have a copy of that repo, but had it as one of the remotes setup and git started complaining
aindilis` has joined #lisp
<krwq> mfiano: don't remember what I used it for
<beach> Maclisp had a KWOTE function as I recall. :)
<mfiano> I do. You were troubled with transposed PNG image loading, because OpenGL has an origin at the bottom-left instead of top-left
<mfiano> err y-flipped, not transposed
<krwq> mfiano: yep - that was it
<krwq> mfiano: explains why I have a fork :P
<mfiano> krwq: Good news then. I solved the problem entirely
<krwq> mfiano: where is the new version of that code?
damke has joined #lisp
<krwq> mfiano: how did you solve it? did you manually transpose or was there some deeper problem?
vaporatorius has joined #lisp
vaporatorius has joined #lisp
vap1 has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
<mfiano> There isn't. That code is horrible. Use this instead, and pay particular attention to the README options, :flip-y, :flatten, and :static-vector...all useful for OpenGL, and the first solves your issue. https://github.com/HackerTheory/pngload
<mfiano> 3b and I wrote that out of much frustration
LocaMocha is now known as Sauvin
<krwq> mfiano: nice, thanks!
<krwq> mfiano: is opticl consuming it?
<mfiano> Yes it is, but not the OpenGL options. Use pngload directly please.
vaporatorius has quit [Client Quit]
damke_ has quit [Ping timeout: 264 seconds]
<krwq> mfiano: do you have any story for lazy load any image type? :)
<krwq> mfiano: your own fork of opticl or something else
<mfiano> Once upon a time I implemented a lazy memoization with a hash table. The end.
<mfiano> Oh any image type. I missed that part. Sadly, I no longer support non-PNG types
<mfiano> I was using TGA for the larger images, but that was due to the only native CL option, png-read, being incredibly slow. That is solved with pngload, being x times (i forget exactly how much) faster
les has quit [Quit: ""]
<krwq> mfiano: makes sense - I usually use 1 type anyways but like generic heavier solutions - png being most common so thanks for writing that :)
<mfiano> Before I wrote pngload, I had an attempt at writing SBCL-specific compiler optimizations for png-read, until I got so disgusted with the quality of the codebase and didn't want to spend anymore time. I did manage quite a bit of success though: https://lispcoder.net/blog/article/7
les has joined #lisp
<mfiano> and pngload is even faster than the optimized png-read hacks, so I'd say I solved my frustration with how slow PNG parsing was in Common Lisp :)
damke_ has joined #lisp
Pixel_Outlaw has quit [Quit: Leaving]
damke has quit [Ping timeout: 264 seconds]
erikc has quit []
fikka has joined #lisp
pierpa has quit [Quit: Page closed]
Kevslinger has quit [Quit: Connection closed for inactivity]
drewc has quit [Ping timeout: 265 seconds]
les has quit [Quit: ""]
fikka has quit [Ping timeout: 268 seconds]
les has joined #lisp
deng_cn has quit [Read error: Connection reset by peer]
FreeBirdLjj has joined #lisp
deng_cn has joined #lisp
Bike has quit [Quit: Lost terminal]
fikka has joined #lisp
les has quit [Quit: ""]
AxelAlex has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 255 seconds]
igemnace has quit [Ping timeout: 256 seconds]
krwq has quit [Ping timeout: 248 seconds]
krwq has joined #lisp
AX31_A13X has joined #lisp
fikka has joined #lisp
FreeBirdLjj has joined #lisp
AxelAlex has quit [Ping timeout: 240 seconds]
aindilis` has quit [Remote host closed the connection]
les has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
aindilis` has joined #lisp
JenElizabeth has joined #lisp
BitPuffin has joined #lisp
fikka has joined #lisp
Arathnim has quit [Quit: leaving]
aindilis` has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 268 seconds]
AX31_A13X has quit [Quit: AX31_A13X]
drewc has joined #lisp
fikka has joined #lisp
kundry_wag has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
kundry_wag has quit [Ping timeout: 265 seconds]
deng_cn has quit [Read error: Connection reset by peer]
Arcaelyx_ is now known as Arcaelyx
deng_cn has joined #lisp
fikka has joined #lisp
Ukari has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
dddddd has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 240 seconds]
shrdlu68 has joined #lisp
fikka has joined #lisp
Oladon has quit [Quit: Leaving.]
fikka has quit [Ping timeout: 240 seconds]
damke has joined #lisp
SuperJen has joined #lisp
fikka has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
JenElizabeth has quit [Ping timeout: 276 seconds]
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 276 seconds]
kundry_wag has joined #lisp
vlatkoB has joined #lisp
mjl_ has joined #lisp
terpri has quit [Ping timeout: 256 seconds]
kundry_wag has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
wigust has joined #lisp
elazul has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
<jack_rabbit> I'm building an executable lisp image for my program. I'm planning on distributing it in a tarball, and want it to be launchable via either direct execution or launcher script.
<jack_rabbit> I'm trying to figure out how best to figure out where the resources are. They will be located in a subdirectory of the unpacked tarball.
<jack_rabbit> But if I'm not sure how best to figure out a path to that directory.
Arcaelyx_ has joined #lisp
fikka has joined #lisp
Arcaelyx has quit [Ping timeout: 240 seconds]
<jack_rabbit> I could force the user to run an install program, which puts things in predictable places, but I'd prefer to be able to run it without that kind of "install"
<Shinmera> (uiop:argv0) will give you the path to the binary.
fikka has quit [Ping timeout: 260 seconds]
megeve has quit [Ping timeout: 264 seconds]
<jack_rabbit> Shinmera, oh, great! I couldn't find that for some reason.
fikka has joined #lisp
quazimodo has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
FreeBirdLjj has joined #lisp
ninegrid has quit [Ping timeout: 256 seconds]
krwq has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
FreeBirdLjj has quit [Ping timeout: 276 seconds]
safe has quit [Read error: Connection reset by peer]
fikka has quit [Ping timeout: 260 seconds]
lerax has joined #lisp
<jack_rabbit> hmm :/ seems to be returning nil consistently. I'll have to dig through the asdf docs.
fikka has joined #lisp
Arcaelyx_ has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Shinmera> It returns NIL if you're not a binary.
<jackdaniel> jack_rabbit: if you build binaries it may be worth directing your attention at library clon (on quicklisp: net.diderverna.clon)
* jack_rabbit looks
<jack_rabbit> ahh, yeah. That may be the way to go.
<jack_rabbit> IIRC, asdf provided some facilities for binary building, but I can't find any docs about that. Or am I mistaken?
fikka has quit [Ping timeout: 248 seconds]
<jackdaniel> Shinmera: uiop seems to have a bug wrt argv0
<jackdaniel> CL-TEST> (ext:argv 0) ;-> /home/jack/bin/ecl-develop"
<jackdaniel> CL-TEST> (uiop:argv0) ; -> NIL
<phoe> jackdaniel: not really
<Shinmera> As I said. It intentionally returns NIL if you are not operating from a deployed binary.
<phoe> look at its source, it first checks if--- what Shinmera said
<Shinmera> I don't agree with that being a good idea, but it's not a bug.
<jack_rabbit> what does it mean to be a "deployed binary"
<jackdaniel> ah, OK
<phoe> created via save-lisp-and-die
<phoe> or similar facilities
<jackdaniel> jack_rabbit: asdf considers binaries created with asdf's make-image sacred ;-)
<Shinmera> You can do (first (uiop:raw-command-line-arguments)) to always get it
<jack_rabbit> jackdaniel, That makes sense. My image created with save-lisp-and-die still returns nil for (uiop:argv0)
<jackdaniel> I'd stick to clon, it is less, hm, asdf
<jack_rabbit> :) sounds good to me
solyd has joined #lisp
<jackdaniel> (and has a good abstraction for parsing cli arguments)
<jack_rabbit> Thanks, everyone.
pillton has quit [Remote host closed the connection]
hhdave has joined #lisp
troydm has joined #lisp
fikka has joined #lisp
hhdave has quit [Client Quit]
mlf has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
fikka has quit [Ping timeout: 260 seconds]
deng_cn has quit [Quit: deng_cn]
jameser has joined #lisp
jameser has quit [Client Quit]
mishoo__ has joined #lisp
makomo has joined #lisp
igemnace has joined #lisp
fikka has joined #lisp
FreeBirdLjj has joined #lisp
damke_ has joined #lisp
shka has joined #lisp
Chream_ has quit [Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org]
Chream_ has joined #lisp
damke has quit [Ping timeout: 264 seconds]
fikka has quit [Ping timeout: 260 seconds]
FreeBird_ has joined #lisp
FreeBirdLjj has quit [Ping timeout: 268 seconds]
hhdave has joined #lisp
fikka has joined #lisp
shifty has joined #lisp
marusich has joined #lisp
hhdave has quit [Ping timeout: 248 seconds]
pilfink has joined #lisp
FreeBird_ has quit [Ping timeout: 240 seconds]
fikka has quit [Ping timeout: 248 seconds]
hhdave has joined #lisp
FreeBirdLjj has joined #lisp
hhdave has quit [Ping timeout: 240 seconds]
FreeBirdLjj has quit [Ping timeout: 276 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
ludston has quit [Remote host closed the connection]
terpri has joined #lisp
marusich has quit [Ping timeout: 256 seconds]
FreeBirdLjj has joined #lisp
quazimodo has quit [Ping timeout: 264 seconds]
FreeBirdLjj has quit [Ping timeout: 265 seconds]
milanj has quit [Quit: This computer has gone to sleep]
fikka has joined #lisp
FreeBirdLjj has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
FreeBirdLjj has quit [Ping timeout: 255 seconds]
SuperJen has quit [Remote host closed the connection]
FreeBirdLjj has joined #lisp
fikka has joined #lisp
FreeBirdLjj has quit [Ping timeout: 256 seconds]
FreeBirdLjj has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
random-nick has joined #lisp
<shrdlu68> I'm getting "doing signed word to integer coercion (cost 20)" while doing (make-array n...)
<shrdlu68> What type should I declare for n to fix this?
<shrdlu68> I'm currently declaring n as fixnum
FreeBirdLjj has quit [Ping timeout: 248 seconds]
<phoe> shrdlu68: post your code
<phoe> post the make-array call, that is
hhdave has joined #lisp
<shrdlu68> phoe: Hmm, I think I've caught it. There was a possibility that n would be negative.
<shrdlu68> (make-array (- x y)...)
fikka has joined #lisp
hhdave has quit [Ping timeout: 260 seconds]
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
elazul has quit [Quit: Lost terminal]
nirved has joined #lisp
<phoe> shka: (the unsigned-byte (- x y))
<phoe> I mean shrdlu68
FreeBirdLjj has joined #lisp
<jackdaniel> (truly (the unsinged-byte (- x y)) :seriously t)
<beach> I like that.
fikka has quit [Ping timeout: 248 seconds]
<phoe> (declare (trust-me-im-a-lisper))
<_death> (the unsung-byte)
<loke> SBCL has TRULY-THE
Chream has joined #lisp
elazul has joined #lisp
FreeBirdLjj has quit [Ping timeout: 248 seconds]
pagnol has joined #lisp
pilfink has quit [Quit: ERC (IRC client for Emacs 26.0.91)]
fikka has joined #lisp
Murii has joined #lisp
Ven`` has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
Ven`` has quit [Client Quit]
varjag has joined #lisp
Ven`` has joined #lisp
Tobbi has quit [Remote host closed the connection]
damke has joined #lisp
fikka has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
wg1024 has joined #lisp
FreeBirdLjj has joined #lisp
Tobbi has joined #lisp
fikka has quit [Ping timeout: 255 seconds]
fikka has joined #lisp
hhdave has joined #lisp
wg1024 has quit [Quit: Leaving.]
fikka has quit [Ping timeout: 240 seconds]
hhdave has quit [Ping timeout: 264 seconds]
shrdlu68 has quit [Ping timeout: 260 seconds]
orivej has quit [Ping timeout: 260 seconds]
scymtym has quit [Ping timeout: 260 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
fikka has quit [Ping timeout: 276 seconds]
Chream has quit [Ping timeout: 252 seconds]
damke has quit [Ping timeout: 264 seconds]
nowhereman_ has joined #lisp
scymtym has joined #lisp
Amplituhedron has joined #lisp
fikka has joined #lisp
nowhere_man has quit [Ping timeout: 276 seconds]
pmden has quit [Ping timeout: 255 seconds]
pmden has joined #lisp
pmden has joined #lisp
pmden has quit [Changing host]
milanj has joined #lisp
FreeBirdLjj has quit [Remote host closed the connection]
Kundry_W_ has joined #lisp
FreeBirdLjj has joined #lisp
Josh_2 has joined #lisp
markong has joined #lisp
solyd has quit [Read error: Connection reset by peer]
Amplituhedron has quit [Read error: Connection reset by peer]
FreeBirdLjj has quit [Remote host closed the connection]
saki has quit [Ping timeout: 255 seconds]
FreeBirdLjj has joined #lisp
hhdave has joined #lisp
Kundry_W_ has quit [Remote host closed the connection]
AntiSpamMeta has quit [Read error: Connection reset by peer]
FreeBirdLjj has quit [Ping timeout: 268 seconds]
AntiSpamMeta has joined #lisp
hhdave has quit [Ping timeout: 248 seconds]
nowhereman_ has quit [Ping timeout: 268 seconds]
solyd has joined #lisp
hhdave has joined #lisp
FreeBirdLjj has joined #lisp
saki has joined #lisp
AntiSpamMeta has quit [Read error: Connection reset by peer]
AntiSpamMeta has joined #lisp
moei has joined #lisp
hhdave has quit [Ping timeout: 240 seconds]
damke has joined #lisp
random-nick has quit [Read error: Connection reset by peer]
FreeBirdLjj has quit [Ping timeout: 260 seconds]
Kundry_W_ has joined #lisp
hhdave has joined #lisp
python476 has joined #lisp
ludston has joined #lisp
Bike has joined #lisp
hhdave has quit [Ping timeout: 276 seconds]
fikka has quit [Ping timeout: 260 seconds]
<phoe> (verily (the unsigned-byte (- x y)))
EvW1 has joined #lisp
hhdave has joined #lisp
heurist`_` has joined #lisp
heurist_ has quit [Ping timeout: 268 seconds]
<White_Flame> wouldn't (integer 0) be more appropriate than unsigned?
<White_Flame> if you were informing the system that it would never be negative
<White_Flame> ah, nevermind
<White_Flame> "unsigned" still makes me think of -1 => ffffffff style wraparound
hhdave has quit [Ping timeout: 256 seconds]
FreeBirdLjj has joined #lisp
Baggers has joined #lisp
fikka has joined #lisp
random-nick has joined #lisp
Karl_Dscc has joined #lisp
FreeBirdLjj has quit [Ping timeout: 260 seconds]
fikka has quit [Ping timeout: 260 seconds]
dieggsy has joined #lisp
dieggsy has quit [Remote host closed the connection]
fikka has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
dieggsy has joined #lisp
fikka has joined #lisp
rippa has joined #lisp
dtornabene has quit [Ping timeout: 248 seconds]
fikka has quit [Ping timeout: 265 seconds]
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
shifty has quit [Ping timeout: 256 seconds]
fikka has joined #lisp
Kevslinger has joined #lisp
fikka has quit [Ping timeout: 276 seconds]
Murii has quit [Ping timeout: 240 seconds]
dddddd has joined #lisp
specbot has quit [Disconnected by services]
specbot has joined #lisp
minion has quit [Disconnected by services]
specbot has quit [Disconnected by services]
specbot has joined #lisp
minion has joined #lisp
minion has quit [Disconnected by services]
minion has joined #lisp
hhdave has joined #lisp
minion has quit [Disconnected by services]
jealousmonk has joined #lisp
fikka has joined #lisp
minion has joined #lisp
hhdave has quit [Ping timeout: 240 seconds]
yaewa has joined #lisp
moei has quit [Ping timeout: 255 seconds]
fikka has quit [Ping timeout: 240 seconds]
makomo has quit [Ping timeout: 264 seconds]
fikka has joined #lisp
Baggers has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 248 seconds]
shrdlu68 has joined #lisp
guicho has joined #lisp
fikka has joined #lisp
Ven`` has joined #lisp
red-dot has quit [Quit: Going offline, see ya! (www.adiirc.com)]
fikka has quit [Ping timeout: 248 seconds]
froggey has quit [Ping timeout: 260 seconds]
igemnace has quit [Ping timeout: 268 seconds]
specbot has quit [Ping timeout: 264 seconds]
solyd has quit [Ping timeout: 240 seconds]
fikka has joined #lisp
specbot has joined #lisp
minion has quit [Disconnected by services]
minion has joined #lisp
minion has quit [Disconnected by services]
hhdave has joined #lisp
specbot has quit [Read error: No route to host]
specbot has joined #lisp
Chream has joined #lisp
minion has joined #lisp
hhdave has quit [Ping timeout: 256 seconds]
hhdave has joined #lisp
<mfiano> jack_rabbit: Assuming you dump your image with UIOP, or you manually set uiop:*image-dumped-p* to T before you dump, this will work. It accepts the name of a system and a relative path. This will do the right thing whether dumped or not, solving your NIL problem. https://gist.github.com/mfiano/e215b3e6414c0d003b8c6b00215963ca
hhdave has quit [Ping timeout: 256 seconds]
Ukari has joined #lisp
froggey has joined #lisp
Oladon has joined #lisp
raynold has quit [Quit: Connection closed for inactivity]
rumbler31 has quit [Remote host closed the connection]
<mgsk> Running this ascii math edito here https://github.com/tarballs-are-good/formulador/tree/master/editor Trying to connect to it over swank, using (swank:create-server :port 4008). When I connect with M-x slime-connect, the variable formulador-editor:*editor-initialized* is always set to its default NIL where it should obviously be T. How do I access the runtime variables over swank?
<mgsk> obviously equiv. i expect
Murii has joined #lisp
makomo has joined #lisp
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Chream has quit [Ping timeout: 256 seconds]
Kundry_W_ has quit [Remote host closed the connection]
kundry_wag has joined #lisp
Ven`` has joined #lisp
kundry_wag has quit [Ping timeout: 256 seconds]
<Josh_2> The C library I'm trying to use has an example that starts with "struct libevdev *dev = NULL" libevdev is a struct defined in the library, am I able to use this struct?
<Bike> Sure?
<Josh_2> Does that mean yah?
<Bike> yes. do you mean, can you manipulate objects of that type, like from cffi? sure
hhdave has joined #lisp
<Josh_2> I would like to pretty much just translate that C code into CL using CFFI
<Josh_2> Is it with-foreign-object?
<Bike> well, there is no object, given that it's null
<Bike> maybe with-foreign-pointer
<Josh_2> Well it is set to null then another function sets all the values in the struct afterwards
<Bike> what allocates space for the object?
<Josh_2> A function called "libevdev_new_from_fd(fd, &dev);"
hhdave has quit [Ping timeout: 240 seconds]
<Bike> so i guess with foreign object, and then in the body call that.
<Josh_2> fd is an opened device like /dev/input/mouse0
<Bike> (with-foreign-object (dev :libevdev) (libevdev-new-from-fd fd dev) ...) or something.
mjl_ has quit [Quit: leaving]
mjl_ has joined #lisp
<Bike> though that doesn't actually have the allocation, does it
<Josh_2> I don't know
<Bike> right, you're passing &dev, not dev. my mistake.
<Bike> (with-foreign-object (dev (:pointer :libevdev)) ...) i guess.
hhdave has joined #lisp
Ukari has quit [Remote host closed the connection]
hhdave has quit [Ping timeout: 256 seconds]
<Josh_2> Right, I'll try that.
puchacz has joined #lisp
<puchacz> hi, what function call is #p"/home/puchacz/foo.txt" equivalent of please?
<Bike> function call? it's a literal.
<puchacz> Bike: if it was a regular macro, I would ctrl+enter on it to macroexpand in slime
<puchacz> I don't know how to check reader macros
<Bike> i mean, what are you trying to do
<Bike> get a pathname from a string?
<puchacz> yes, in the same way as #p"string" does
<Bike> clhs #p
<puchacz> Bike - thanks
<Bike> oh, that's pretty convenient
<Shinmera> It also knows about format directives
<Shinmera> clhs ~{
<Bike> yeah, i meant it was convenient that the page gives a form equivalent to #p, though.
<Shinmera> Ah
<puchacz> indeed
<Josh_2> When the docs for with-foreign-object say "bind var to a pointer" does that mean it is now a global variable or is it destroyed when I leave the body of with-foreign-object?
<Bike> the latter
<puchacz> so the answer to my question is parse-namestring, roughly
hhdave has joined #lisp
junes2 has joined #lisp
makomo has quit [Quit: WeeChat 1.9.1]
<junes2> displaced-array(gigabytes_in_size) in Portacle?
<junes2> SBCL?
<beach> junes2: I don't understand your questions.
hhdave has quit [Ping timeout: 260 seconds]
<junes2> going to install Portacle, it uses SBCL. I'm new to LISP. want to use a -displaced-array ;assumed to be gigabytes in its size
<beach> Shouldn't be a problem on a 64-bit machine, but you have to start SBCL with a big-enough heap.
makomo has joined #lisp
<beach> junes2: Also we quit writing it LISP a few decades ago. Nowadays we write it Lisp.
hhdave has joined #lisp
<Josh_2> although the throwback LISP is fun
<beach> junes2: I just did (defparameter *a* (make-array 1000000000 :element-type '(unsigned-byte 8))) and it worked no problem. I use a 10GB heap for other reasons.
<junes2> see how new I am,but not in life. so this heap. is it a buffer?
<beach> Buffer? Are you confusing Common Lisp with Emacs Lisp?
<shrdlu68> junes2: It's like how much storage your implementation can malloc
<beach> The heap is whatever Common Lisp uses to allocate objects.
<junes2> probably. malloc is?
<beach> Nothing to worry about if you don't already know it.
<beach> It is a C function.
<jackdaniel> minion: tell junes2 about gentle
<minion> junes2: look at gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/
hhdave has quit [Ping timeout: 260 seconds]
<beach> junes2: This explains the heap: https://en.wikipedia.org/wiki/Memory_management#HEAP
Oladon has quit [Quit: Leaving.]
EvW1 has quit [Ping timeout: 240 seconds]
hhdave has joined #lisp
<junes2> new also to OOP(s).old 1995-COBOL. like the idea of data=code.read some of the Lisp hyperspec
<junes2> what is the "it" your supposed to "finally get"?
SaganMan has joined #lisp
<junes2> Portacle chatroom says "dump an executable" huh?
<beach> junes2: I think you need to be a bit more explicit in your phrases. Using complete sentences would help, for starters. I, for one, am having a hard time understanding.
<junes2> Lisp makes executables new to object-oriented-programming
pagnol has quit [Ping timeout: 276 seconds]
<junes2> COBOL world 1995
<beach> junes2: I wouldn't want you to get the impression that we are ignoring you as opposed to just having a hard time understanding.
<junes2> that's ok. been visiting jwz.org for some free Lispy insights
hhdave has quit [Ping timeout: 256 seconds]
<junes2> what's the "when you finally get it" is it relative to Lisp ?
<beach> I don't know what you are referring to. I searched for `get' in the scrollbacks and didn't see anything relevant.
Chream_2 has joined #lisp
pagnol has joined #lisp
nowhereman_ has joined #lisp
Chream_ has quit [Ping timeout: 240 seconds]
<junes2> hello each. read an article on Lisp somewhere that mentioned "when "one" finally gets it. Is it functional programming?data=code?dat
hhdave has joined #lisp
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<beach> Hard to say. People can write and publish anything on the web, so it may not make sense.
<Josh_2> I think this peep is talking about the idea that Lisp is really confusing for a while then boop you get it, or maybe the more advanced, you've been coding in lisp for a while and then boop you understand how everything fits together. Kinda like this https://www.xkcd.com/224/
nika has joined #lisp
hhdave has quit [Ping timeout: 268 seconds]
trocado has joined #lisp
elazul has quit [Ping timeout: 260 seconds]
<junes2> Want to build a data structure.In my Lisp readings a displaced-array seems to fit what I'd want. But its size and incorporating keys seem threating
<phoe> incorporating keys?
<phoe> what do you mean?
<SaganMan> is there any good material to study socket and web related programming with lisp or in general?
porky11 has joined #lisp
<Josh_2> Yes there is a book called "Using Common Lisp to Build Web Applications"
hhdave has joined #lisp
<Shinmera> Web applications typically don't deal with sockets or anything that low level themselves.
<Shinmera> "Web applications" refers to software built on top of an HTTP server.
<junes2> when thinking about Lisp sometimes those boops hit me. keys=pointers? :::Each list is called an entry, and the car of each entry is its key.need to open
<beach> junes2: You make absolutely no sense.
<Josh_2> Aye you are correct that was my bad :O I do remember a book I had that had a lot of CL socket programming in it though
<SaganMan> Josh_2: what's the book?
<Josh_2> I don't know, I thought it was that but obviously not
hhdave has quit [Ping timeout: 240 seconds]
Rawriful has joined #lisp
pagnol has quit [Ping timeout: 276 seconds]
<junes2> openned my "agentle-lisp_book.pdf"- 6.8 LISTS AS TABLES copy-pasted a key reference. boops was response to Josh_2
<Josh_2> SaganMan: This isn't a book but it helped me http://cl-cookbook.sourceforge.net/sockets.html
<SaganMan> ah thanks Josh_2
<junes2> the data-structure desired seems to need key-values
<SaganMan> I'm completely new to this stuff. Don't know about how to go on with sockets, http and all other stuff
<Josh_2> It's pretty similar to how you handle file i/o
makomo has quit [Quit: WeeChat 1.9.1]
makomo has joined #lisp
hhdave has joined #lisp
<Shinmera> TCP sockets provide a stream abstraction, so it's like reading/writing a file. The only significant differences are: 1) it's much slower 2) the stream might close at any point in time
fikka has quit [Ping timeout: 256 seconds]
<Shinmera> So you need to design your protocol to deal with 2)
<Shinmera> If you want to do UDP, then it's pretty different. UDP only offers fixed size datagrams, and they may or may not arrive, and may or may not arrive in the order you send them.
<SaganMan> what about accessing websites online and pass login details and such
<Shinmera> That has nothing to do with sockets. That's HTTP.
<SaganMan> isn't there some kind of protocal or datastream format for these things?
<SaganMan> ohh
<Shinmera> There's many different protocols to handle authentication.
<Shinmera> HTTP is built on top of TCP. Typically you'll use libraries like drakma to handle the protocol for you.
milanj has quit [Quit: This computer has gone to sleep]
<Shinmera> That is, if you're on the client side. On the server side you'd use hunchentoot or similar.
hhdave has quit [Ping timeout: 256 seconds]
caladrius has joined #lisp
rumbler31 has joined #lisp
<junes2> It's ok.Until I actually implement some Lisp code, I'm in "The CADT Model" -"cascade of attention-deficit teenagers" model -from jwz.org
<Shinmera> Anyhoo, the lesson to take away is that the web is built on layers. For a website those would be ETH/802.11 > IP > TCP > HTTP > HTML
hhdave has joined #lisp
<Shinmera> Usually you only want to care about the topmost layer and let libraries and other parts deal with the rest.
<junes2> read somewhere the a-list was less than an optimal use case, but keys seem necessary,even in my top layer
trocado has quit [Ping timeout: 240 seconds]
hhdave has quit [Ping timeout: 268 seconds]
fikka has joined #lisp
junes2 has quit [Ping timeout: 260 seconds]
fikka has quit [Ping timeout: 256 seconds]
<SaganMan> I see
<SaganMan> brb, need to shutdown
SaganMan has quit [Quit: WeeChat 1.6]
fikka has joined #lisp
fikka has quit [Ping timeout: 252 seconds]
fikka has joined #lisp
Ven`` has joined #lisp
junes2 has joined #lisp
junes2 has quit [Client Quit]
junes2 has joined #lisp
SaganMan has joined #lisp
<SaganMan> Shinmera: you still here?
scymtym has quit [Ping timeout: 260 seconds]
puchacz has quit [Read error: Connection reset by peer]
SaganMan has quit [Client Quit]
damke_ has joined #lisp
damke has quit [Ping timeout: 264 seconds]
<Shinmera> Ah well
<junes2> hello Saganman. what is -query in the user list? I seem frozen too
chiyosaki has joined #lisp
saki has quit [Ping timeout: 255 seconds]
<pjb> junes2: use heating elements to unfreeze.
<junes2> maybe freenode not free today
<junes2> maybe I need to turn back on my HotspotShield
<pjb> junes2: indeed, today there's a fee; send 0.001 btc to bitcoin:1KVKurHKV7jDjVqPSz6ATLEy8TY7iMnxRb
<pjb> junes2: the standard data structures in Common Lisp for key-value associations are a-list, p-list and hash-table.
<junes2> ok. have you heard of hashed-array-tree?
<pjb> junes2: a-list and p-list are O(n) and equivalent in space and time. p-list may be more convenient in some cases since this the format used to pass &key arguments, but the provided operators assume the keys are always compared with EQL, while for a-list, this is parameterizable.
<pjb> junes2: hash-tables are also O(n), but amortized, which means that they're slower for small tables, (about 5 to 35 entries depending on the implementation), and foremost, they have a much bigger space overhead.
<pjb> junes2: otherwise, you can find all kind of data structures in libraries, or you can implement your own. You're a big boy programmer!
fikka has quit [Ping timeout: 276 seconds]
<junes2> no so big coming from COBOL and no OOP(s). 0(n) remind me. is this space or time?
<pjb> both in this case
<pjb> junes2: and you still are not making much sense.
kobain has joined #lisp
<Josh_2> I'm a small boy programmer.
xrash has joined #lisp
<junes2> I want to implement a displaced-array with &keys. New to Object-Oriented-Programming paradyn.Only familar with EXCEL and COBOL ?data structures?
<junes2> no Lisp experience
<pjb> I want to implement a bycicle with whipped cream.
<Josh_2> Sounds like a good bicycle to me
<Josh_2> junes2: Lisp doesn't make you use OO.
<jackdaniel> minion: tell junes2 about gentle.
<minion> junes2: please look at gentle: "Common Lisp: A Gentle Introduction to Symbolic Computation" is a smoother introduction to lisp programming. http://www.cs.cmu.edu/~dst/LispBook/
<pjb> junes2: you've been advised to read Gentle. It should take you at least a few weeks. Come back when you've learned lisp by reading it and practicing.
damke has joined #lisp
<Josh_2> To be fair, I've read that and idk what I'm doing.
<Josh_2> lel
mjl_ has quit [Quit: leaving]
<pjb> junes2: forget about cobol and excel. It's like telling us that you've learned how to cook an omlet, and asking now how do snorkel to the corail barrier.
Arcaelyx has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
nika has quit [Quit: Leaving...]
<junes2> Oh, and it'll also be transistor-laser PIC(photonic-integrated-circuit) backplane for a photonic-swtch-fabric in the SDN north-bound-controller plane :)
<junes2> just that LISP allows me to make my on data-structure
jmercouris has joined #lisp
<jmercouris> Shinmera: is there tracking and/or logging in radiance?
<Shinmera> tracking or logging of what
<jmercouris> routes hit by a user
<jmercouris> I guess this can be achieved by a hook?
fikka has joined #lisp
<Shinmera> It uses the logger interface to log events
<Shinmera> Which request are executed are on the trace log level
<Shinmera> So consult whichever logger implementation is active to figure out how to make them visible
<Shinmera> By default that's Verbose, so http://shinmera.github.io/verbose
hhdave has joined #lisp
<pjb> junes2: Now, if you insist on using LISP, please provide pictures of your punched cards: http://www.kloth.net/services/cardpunch.php
<jmercouris> Okay, so basically what you're suggesting is, logger writes to log file for events, I write some information in that log file about the request, I then look at the log files?
<Shinmera> What
<jmercouris> What's your confusion?
<Shinmera> I have no idea how you got any part of that out of any of what I ever said.
<junes2> no can do actually used AS/400
<jmercouris> Shinmera: I said "I'm trying to log which routes are hit"
<jmercouris> Shinmera: Then you said "There is a logger interface"
<jmercouris> I assume therefore you imply I should use this logger interface to persist that information
makomo has quit [Ping timeout: 276 seconds]
<jmercouris> otherwise it would be something really random to bring up, no?
<Shinmera> Radiance already logs requests
<Shinmera> by using that interface
<Shinmera> I don't know where files came in in any part of this
fikka has quit [Ping timeout: 240 seconds]
Oladon has joined #lisp
<jmercouris> I'm not sure what format your logs take, but I expect a log to be a log file
<Shinmera> Then you expect wrong
<jmercouris> Okay, so what will the logs produce?
<junes2> pjb:will try Portacle. hoping the GUI gets me past driving a cli
<jmercouris> Are they just written to some stream?
<Shinmera> Whatever the implementation of the logger interface does. May be writing to the repl/stdout, may be sending it to a database, may be telling google about it, whatever.
hhdave has quit [Ping timeout: 248 seconds]
<jmercouris> Ah, so it is configurable
<jmercouris> Okay cool, I have a good picture of how to do this really easily then
<jmercouris> thanks
<Shinmera> Colleen: tell jmercouris look up radiance 2.6
<Colleen> jmercouris: 2.6 logger https://shirakumo.github.io/radiance#2.6_logger
<junes2> josh_2:CLOS does the OOPs?
makomo has joined #lisp
<junes2> should I say OO?
<Shinmera> The default implementation for the logger interface is i-verbose, which uses verbose as I already mentioned.
orivej has joined #lisp
<jmercouris> Right, time to go through your tutorials now then :D
erikc has joined #lisp
<jmercouris> I just wanted to make sure it was possible before embarking on this journey
<Shinmera> Logging every request ever is probably not very constructive though. You'll get lots of spam. Probably better to log requests to your pages instead.
<Josh_2> Getting lost on the 5th page of CFFI's tutorial page Q_Q
<jmercouris> I have a really specific use case for a specific route, I don't imagine it will get hit very often
sabrac has quit [Remote host closed the connection]
<jmercouris> As it will not be a crawlable/published address anywhere
<Shinmera> Okey.
<jmercouris> well, anything is crawlable I guess, but it would be hard to find at least
mjl_ has joined #lisp
random-nick has quit [Remote host closed the connection]
<junes2> PJB: OK :"It is imperative, procedural and, since 2002, object-oriented. COBOL is".So I;m off to implement this Portacle to try some Lisp
<junes2> pjb:making my marshmellow bike
fikka has joined #lisp
random-nick has joined #lisp
Ven`` has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
junes2 has quit [Quit: Page closed]
rumbler31 has quit [Remote host closed the connection]
fikka has quit [Ping timeout: 264 seconds]
junes2 has joined #lisp
mlf has joined #lisp
<junes2> here it is ""Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot."- http://www.defmacro.org/ramblings/lisp.html and I'm gone
ghard`` has quit [Remote host closed the connection]
pagnol has joined #lisp
mjl_ has quit [Quit: Lost terminal]
dieggsy has quit [Quit: ERC (IRC client for Emacs 27.0.50)]
<junes2> pjb:"when you finally get it", it?
<lerax> There is a way to look for the available packages on the REPL? Like apropos but for packages
<lerax> (really packages, not systems)
<Bike> (list-all-packages), but you have to filter it yourself.
mjl_ has joined #lisp
<lerax> Thank you Bike
<lerax> This is enough
<Bike> glad to help
junes2 has quit [Quit: Page closed]
<lerax> :)
fikka has joined #lisp
damke_ has joined #lisp
damke has quit [Ping timeout: 264 seconds]
trocado has joined #lisp
lerax has quit [Remote host closed the connection]
guicho has quit [Remote host closed the connection]
smasta has joined #lisp
scymtym has joined #lisp
fikka has quit [Ping timeout: 252 seconds]
EvW has joined #lisp
jstypo has joined #lisp
rumbler31 has joined #lisp
random-nick has quit [Ping timeout: 240 seconds]
milanj has joined #lisp
kajo has quit [Remote host closed the connection]
drcode has quit [Quit: ZNC 1.6.5 - http://znc.in]
kajo has joined #lisp
dieggsy has joined #lisp
fikka has joined #lisp
fikka has quit [Ping timeout: 265 seconds]
<drmeister> Hey folks - are there any Javascript programmers who could take a look at something and maybe tell me why it's not working? I've got a Common Lisp program that is generating HTML incorporating Javascript and I want it to render on a web page
<drmeister> This CL string contains the code - I can remove the escaping if you like
<drmeister> The idea is to create a canvas within which it renders the graph that is constructed by the javascript
<pjb> Bike: com.informatimago.common-lisp.interactive.interactive:lspack is a nicer interactive alternative to list packages in the REPL.
<fortitude> drmeister: I'm wholly unfamiliar with the library you're using, but onLoad isn't being used anywhere in that paste
fikka has joined #lisp
<drmeister> fortitude: Thanks for responding - yeah - I cooked up the name "onLoad" and stuck it in there with the hope that it would do what I meant - I'm a babe in the woods here.
<drmeister> Is the HTML <canvas ...> tag appropriate here? How do you get the script to start?
<fortitude> drmeister: I'm no web expert, but if you want that function called when the page is ready for dom manipulation, you could load jquery and use $.ready(onLoad)
aindilis has joined #lisp
<fortitude> I think the canvas part is ok, but it depends on what that library is expecting (and it looks like that uses another library, raphael.js, to do the actual rendering)
fikka has quit [Ping timeout: 256 seconds]
<fortitude> looks like the syntax might actually be $(onLoad) these days
d4ryus1 is now known as d4ryus
Oladon has quit [Read error: Connection reset by peer]
Oladon has joined #lisp
fikka has joined #lisp
<drmeister> Ok, I'll try something simpler first.
mjl_ has quit [Quit: Lost terminal]
damke has joined #lisp
erikc has quit []
Ven`` has joined #lisp
damke_ has quit [Ping timeout: 264 seconds]
fikka has quit [Ping timeout: 248 seconds]
random-nick has joined #lisp
Kundry_W_ has joined #lisp
knicklux has joined #lisp
fikka has joined #lisp
jmercouris has quit [Ping timeout: 248 seconds]
jstypo has quit [Remote host closed the connection]
zooey has quit [Remote host closed the connection]
zooey has joined #lisp
clog has quit [Ping timeout: 264 seconds]
hhdave has joined #lisp
<razzy> hi, is there graphical explanation how quicklisp and slime works?
fisxoj has joined #lisp
hhdave has quit [Ping timeout: 255 seconds]
<razzy> i have got many libraries downloaded from git and quicklisp, and i am bit lost :]
junes2 has joined #lisp
<razzy> i would like to know how packaging work :]
junes2 has quit [Client Quit]
mjl_ has joined #lisp
damke_ has joined #lisp
Ven`` has quit [Ping timeout: 240 seconds]
<pjb> slime: [CL implementation]<->[swank]<->[slime]<->[emacs]
<pjb> quicklisp: [git-repo]->[quicklisp-aws]->[~/quicklisp]->[CL-implementation]
<pjb> What else is there to know?
<pjb> razzy: read the source.
damke has quit [Ping timeout: 264 seconds]
jstypo has joined #lisp
Pixel_Outlaw has joined #lisp
alexmlw has quit [Ping timeout: 276 seconds]
fikka has quit [Ping timeout: 248 seconds]
openthesky has joined #lisp
jack_rabbit has quit [Ping timeout: 276 seconds]
damke has joined #lisp
mjl_ has quit [Ping timeout: 260 seconds]
damke_ has quit [Ping timeout: 264 seconds]
<razzy> pjb: when i call package, is it first checking running CL, than local /quicklisp then remote QL?
Chream has joined #lisp
<jackdaniel> packages and packaging are two different concepts (the latter may refer to distributing libraries etc)
<jackdaniel> razzy: ↑ check out this
fikka has joined #lisp
BitPuffin has quit [Remote host closed the connection]
jack_rabbit has joined #lisp
drewc has quit [Read error: Connection reset by peer]
<pjb> razzy: packages cannot be called. Only functions can be called.
damke_ has joined #lisp
<pjb> [git-repo]--(Xach's magic)-->[quicklisp-aws]--(ql:quickload)-->[~/quicklisp]--(ql:quickload(asdf:oos))-->[CL-implementation]
fikka has quit [Ping timeout: 260 seconds]
<razzy> pjb: i heard that CL have only data and functions :] (bad troling, i am not sure about terminology)
<pjb> Yes, you shouldn't be concerned about libraries and packaging, before knowing how to program in lisp, knowing the terminology and being able to write your own library and packaging system.
damke has quit [Ping timeout: 264 seconds]
damke__ has joined #lisp
<razzy> i am trying to digest some working code :]
<pjb> Not before learning the language.
<pjb> You're telling us you're trying to digest La Comédie Humaine, but you've not learned French first.
<pjb> Fat chance!
damke_ has quit [Ping timeout: 264 seconds]
<pjb> http://cliki.net/Getting+Started tells you what French Grammar and French Dictionary to fetch, and http://cliki.net/Online+Tutorial teaches you French 101.
vlatkoB has quit [Remote host closed the connection]
fikka has joined #lisp
eatonphil has joined #lisp
<razzy> pjb: trying to digest broken code would be like trying to digest La Comedie Humaine. trying to digest working functional code is like trying to understand french people in french restaurant :]
parjanya has joined #lisp
pierpa has joined #lisp
<razzy> first year of trying you only interrupt ongoing conversation :]
dieggsy has quit [Ping timeout: 276 seconds]
<razzy> on the plus side, you learn how it is done in the wild :]
S has joined #lisp
S is now known as Guest8636
Guest8636 has quit [Client Quit]
Chream has quit [Ping timeout: 260 seconds]
jack_rabbit has quit [Quit: Leaving]
random-nick has quit [Ping timeout: 268 seconds]
fikka has quit [Ping timeout: 255 seconds]
mishoo__ has quit [Ping timeout: 260 seconds]
sabrac has joined #lisp
easye has quit [Read error: Connection reset by peer]
shrdlu68 has quit [Ping timeout: 256 seconds]
specbot has quit [Disconnected by services]
specbot has joined #lisp
fikka has joined #lisp
minion has quit [Disconnected by services]
minion has joined #lisp
minion has quit [Disconnected by services]
specbot has quit [Disconnected by services]
shka has quit [Ping timeout: 256 seconds]
hhdave has joined #lisp
fikka has quit [Ping timeout: 260 seconds]
orivej has quit [Ping timeout: 256 seconds]
damke has joined #lisp
specbot has joined #lisp
minion has joined #lisp
hhdave_ has joined #lisp
hhdave has quit [Ping timeout: 256 seconds]
hhdave_ is now known as hhdave
fikka has joined #lisp
Kundry_W_ has quit [Remote host closed the connection]
hhdave has quit [Read error: Connection reset by peer]
damke__ has quit [Ping timeout: 264 seconds]
hhdave has joined #lisp
shifty has joined #lisp
damke_ has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
dtornabene has joined #lisp
fikka has joined #lisp
makomo_ has joined #lisp
damke has quit [Ping timeout: 264 seconds]
makomo has quit [Ping timeout: 255 seconds]
fisxoj has quit [Quit: fisxoj]
troydm has quit [Ping timeout: 268 seconds]
Denommus has joined #lisp
troydm has joined #lisp
clog has joined #lisp
fikka has quit [Ping timeout: 248 seconds]
smurfrobot has quit [Remote host closed the connection]
Denommus has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #lisp
igemnace has joined #lisp
<aeth> What's the naming convention for a multiple values version of a function? I don't think there is one.
<Shinmera> What does that even mean?
<Shinmera> What is a "multiple values version" of a function?
attila_lendvai has quit [Read error: Connection reset by peer]
<aeth> a function that's (foo-vec+ 1f0 2f0 3f0 4f0 5f0 6f0) -> (values 5f0 7f0 9f0) instead of (vec+ (vec 1f0 2f0 3f0) (vec 4f0 5f0 6f0)) -> (vec 5f0 7f0 9f0)
<Shinmera> Returning a whole structure as multiple values sounds like a terrible idea
fikka has joined #lisp
<aeth> It's not like CL compilers are smart enough to optimize the alternatives.
<Shinmera> CL compilers do optimise the one-value return case.
<Shinmera> multiple values are always going to be a performance penalty.
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
knicklux has quit [Quit: Leaving]
<aeth> I implement multiple versions of the same function with an inline function on multiple return values
<aeth> e.g. vec+ and vec+-into!
wigust has quit [Quit: ZNC 1.6.5 - http://znc.in]
Kundry_W_ has joined #lisp
<aeth> The performance penalty is not noticable, and it makes the whole thing more elegant. At the moment, I call it %vec+
smurfrobot has joined #lisp
fikka has quit [Ping timeout: 256 seconds]
attila_lendvai has quit [Read error: Connection reset by peer]
hhdave has quit [Quit: hhdave]
raynold has joined #lisp
<Josh_2> The CFFI tutorial seems like more of a demonstration of Lisp not CFFI. Idk
fikka has joined #lisp
<aeth> Oh, and it's probably not always a performance penalty because working with multiple return values is non-allocating.
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
<Shinmera> Well, if it's inlined, maybe.
<Shinmera> If it's a standard call it'll allocate.
rippa has quit [Quit: {#`%${%&`+'${`%&NO CARRIER]
smurfrobot has quit [Ping timeout: 256 seconds]
caladrius_ has joined #lisp
smurfrobot has joined #lisp
attila_lendvai has quit [Read error: Connection reset by peer]
minion has quit [Ping timeout: 256 seconds]
drewc has joined #lisp
smurfrobot has quit [Remote host closed the connection]
caladrius has quit [Ping timeout: 248 seconds]
smurfrobot has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
igemnace has quit [Ping timeout: 240 seconds]
<aeth> Shinmera: The multiple value code does not seem noticably slower, and in some cases can be faster. (In the latter case, though, it tends to be a lot uglier. It wins in functions with lots of multiple-value-bind temporary variables instead of temporary dynamic-extent vectors.)
<aeth> It won't (afaik) allocate, though, because it's single-float.
pillton has joined #lisp
<aeth> It's very hard to profile things that are already very fast, though.
<Shinmera> It needs to stuff the values somewhere to cross the function boundary, regardless of what the values are. They can't all be in registers.
Josh_2 has quit [Remote host closed the connection]
attila_lendvai has quit [Read error: Connection reset by peer]
<aeth> 3 values can afaik be free.
<aeth> Doing this for a 4x4 matrix, that's another story.
caladrius_ has quit [Quit: Leaving]
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
rumbler31 has quit [Read error: Connection reset by peer]
attila_lendvai has quit [Read error: Connection reset by peer]
rumbler31 has joined #lisp
Karl_Dscc has quit [Remote host closed the connection]
<pjb> Shinmera: unless you have a good processor instead of some Intel shit. (And even, I hear some 64-bit Intel processors have a lot of registers too). it may be a good idea to return multiple values instead of small vectors or lists.
<aeth> My rule of thumb is to stop at 4 for multiple return values.
<pjb> aeth: there's no convention. Make up one.
<pjb> You may use perhaps foo/mv
<aeth> I considered using multiple-value-foo but that's far too verbose.
attila_lendvai has joined #lisp
<pjb> mv-foo
<pjb> it can be a big win if the function called with multiple-value-call is inlined, so that multiple-value-call can be inlined too.
<aeth> pjb: Up to 2x a win, but *only* because SIMD support is weak in current CL implementations. I don't think anything is done automatically.
<aeth> And it looks really ugly and hard to read with all of those multiple-value-calls and multiple-value-binds
<pjb> (multiple-value-call 3d+/mv (multiple-value-call 3d+/mv (vec-values a) (vec-values b)) (vec-values c))
Murii has quit [Quit: WeeChat 1.4]
<pjb> Of course, you would write a (with-mv (3d+ (3d+ a b) c)) macro to expand to the previous.
Arcaelyx has quit [Ping timeout: 260 seconds]
Arcaelyx_ has joined #lisp
<aeth> The problem is that I'm going to add length 2 and 4 variants and possibly double float variants for the 2, 3, 4. The vector versions are fine, I can just use specialization-store. The mv versions need many different names.
<aeth> (I might not do double float multiple value versions. It might be too easy to carelessly cons with them.)
quazimodo has joined #lisp
<aeth> I guess it's fine if I stick to single float. By my convention "vec" and "vec3" are equivalent, and the other lengths are "vec2" and "vec4". So vec4+, vec2+ and vec+
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #lisp
yaewa has quit [Quit: Leaving...]
xrash has quit [Remote host closed the connection]
<aeth> pjb: is mv-vec+ or vec+/mv more idiomatic?
damke_ has quit [Ping timeout: 260 seconds]
<aeth> I think the latter might actually be clearer.
troydm has quit [Ping timeout: 255 seconds]
troydm has joined #lisp
Amplituhedron has joined #lisp
nirved has quit [Quit: Leaving]
attila_lendvai has quit [Read error: Connection reset by peer]
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
rumbler31 has quit [Remote host closed the connection]
quazimodo has quit [Ping timeout: 256 seconds]
attila_lendvai has quit [Read error: Connection reset by peer]
<whoman> SVO subject-object-verb
<razzy> I am spend
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
<whoman> rest ^_^
<razzy> good advice :]
<whoman> i find it is especially important to let the hands and eyes idle
attila_lendvai has quit [Read error: Connection reset by peer]
<whoman> (and stomach and face and feet if aiming for full charge^_^)
attila_lendvai has joined #lisp
attila_lendvai has joined #lisp
attila_lendvai has quit [Changing host]
<razzy> i learned to distribute workload at different parts of body :]
rumbler31 has joined #lisp
Pixel_Outlaw has quit [Quit: Leaving]
rumbler31 has quit [Ping timeout: 252 seconds]
varjag has quit [Ping timeout: 255 seconds]
makomo_ has quit [Ping timeout: 248 seconds]
rumbler31 has joined #lisp
red-dot has joined #lisp
rumbler31 has quit [Ping timeout: 256 seconds]
EvW has quit [Ping timeout: 255 seconds]
stacksmith has quit [Read error: Connection reset by peer]
jealousmonk has quit [Quit: Leaving]
rumbler31 has joined #lisp
<sabrac> postmodern
<sabrac> ignore that
rumbler31 has quit [Ping timeout: 240 seconds]
shifty has quit [Ping timeout: 248 seconds]