freenode/#lisp - IRC Chatlog
Search
2:58:01
aeth
(defun foo (x) (car x)) ; x is going to have to be a list or a type error, and SBCL knows this
3:06:29
aeth
Oh, and afaik most of the second case can probably be avoided if everything was put it one compilation-unit (e.g. one file).
3:08:37
White_Flame
pjb: i-cache pressure would have an upper bound by type. d-cache pressure is by footprint, which I'd think would hurt more for non-specialized
3:10:59
White_Flame
really, the only thing that makes sense for specialization is unboxed numeric types, IMO
3:12:08
aeth
White_Flame: What about structs that primarily contain unboxed numeric types? They could also benefit from specialization.
3:13:04
White_Flame
hmm, yeah I guess. As long as the types are known by whoever's accessing the array
3:13:22
aeth
Also, arrays and structs can unbox things that are normally boxed, e.g. double-float and even (unsigned-byte 64)
4:08:46
red-dot
Is anyone aware of CL libraries for working with Google cloud? With the exception of https://github.com/death/gcm, nothing seems to turn up in searches.
4:24:36
p_l
red-dot: nothing available at the moment, should be quite quickly doable as they all follow REST quite well
4:41:14
red-dot
For anyone interested in Google APIs in Swagger (Google has its own version of Swagger): https://groups.google.com/forum/#!topic/google-apis-discovery/NdreD8_xWOk
4:48:04
red-dot
Finally, for someone wanting to generate a client via Swagger, this seem to be the only option out there for CL: https://github.com/incjung/cl-swagger-codegen
5:32:11
stylewarning
Open sourced MAGICL, a linear algebra library. Definitely a WIP and the high-level interface is rough around the edges. Please send improvements, PRs, issues, or design suggestions! https://github.com/rigetticomputing/magicl
5:55:38
aeth
stylewarning: Did your team consider using :downcase help with the readability of your generated files like blas-cffi.lisp?
6:23:46
|3b|
ACTION usually tries to make generated code look nice if possible, going to see it from M-. often enough :)
10:09:58
aeth
return-from works in functions, apparently. And apparently this works: (defun foo () (return-from foo 42) "Hi")
10:15:18
Shinmera
_death: Confusing how? And yes, there's no lisp type, just a common-lisp one. I'll see about completion.
10:17:03
aeth
paule32: Use cond and and instead of two ifs and then you can get rid of the return-froms and just use the implicit return without changing really anything else in your structure.
10:19:59
Shinmera
beach: I'm more astounded that people in here don't learn that helping in this case is pointless and only increases overall suffering.
10:27:40
stylewarning
aeth: it has been preferable to do things like (defun foo () (when condition (return-from foo 42)) [ ... long logic code ... ])
10:29:04
aeth
shrdlu68: This should probably be taken to #clnoobs where the exact same question was asked by paule32
10:31:26
aeth
stylewarning: off topic here, but there is a ##python-friendly that is "like #python, but friendlier" according to its topic
10:32:09
shrdlu68
return-from is a simple way to exit from necessarily complex functions with a given value.
10:32:12
aeth
This is an endless source of wisdom (as long as the topic of the channel is SEOed enough). http://irc.netsplit.de/channels/?net=freenode
10:32:28
beach
Shinmera: I am willing to give them the benefit of the doubt, assuming they haven't seen the recurring behavior.
10:33:07
stylewarning
I wonder if I can hijack beach's compiler work to help make static analyzers for code style
10:33:41
Shinmera
stylewarning: I wouldn't call it "hijack", I'm pretty sure such a thing is within his interests.
10:35:36
aeth
stylewarning: It's interesting that you use return-from heavily. I've used early return statements a lot in most other languages, but in CL.
10:36:42
stylewarning
aeth: Maybe "heavily" is too strong a word, but it occurs frequently enough in code that didn't manage to lend itself well to functional style
10:39:18
stylewarning
aeth: I'll see if I can dig up an example later, but they all fall into the category of rewriting a top-level IF/COND like (if condition <short result> <long processing code>) to (when condition (return-from ...)) <long code>
10:39:41
aeth
Shinmera: I was going to say that that's still quite a bit but then I remembered how large your Github is.
10:41:05
aeth
stylewarning: Yeah, I've seen and used that pattern in other languages, it's just that I guess idiomatic CL for some reason tends to avoid that sort of thing, at least in my CL.
10:41:37
stylewarning
aeth: it's true with my CL as well. Ideally code is refactored that you can return to expression-oriented thinking
10:54:41
borodust
Xach: in a tweet you mentioned suggestions, so... :) would be awesome if there will be a quicklisp badge that tells whether system is building or not (not unlike travis and appveyor badges)
11:05:44
azrazalea
Ha :P, nice job me. Not a command prompt!!! Anyway: https://gitlab.com/snippets/1695720 is my .sbclrc and for some reason i'm getting https://gitlab.com/snippets/1695721 when it tries to load linedit. Is linedit broken right now or something? I checked and as far as I can tell i'm not using a local version or anything like that.
11:06:06
azrazalea
(also hi, i've been gone forever (and for the most part still am) cause life and stuff)
11:15:11
stylewarning
man oh man, old lisp code from ca. 1980s is so terrible. Half the files are custom load scripts
11:16:15
azrazalea
borodust: Thanks <3. I'll probably dissapear again for a bit. I _do_ plan on being around again once my life settles.
11:16:29
stylewarning
(before people jump on me for making a bold, offensive claim, i don't mean all code from the 80s is terrible and the state of affairs was any better in any other language)
12:07:24
Xach
borodust: where to put this badge? like make a png and host it to include in readme.md or something?
12:08:35
Xach
stylewarning: i haven't spelunked *too* much, but the custom load scripts i saw were usually pretty simple. like, a list of files to load in a loop.
12:28:36
borodust
Xach: yeah, like return different png/svg by the same url depending on the build status
12:29:14
borodust
Xach: like those on top of readme here: https://github.com/borodust/bodge-chipmunk/blob/master/README.md
12:29:53
borodust
url is always the same but services return different images depending on the build status
12:30:22
Shinmera
borodust: Usually you want to have a link to the respective project's page as well
12:32:50
shrdlu68
I'm not sure, reading the clhs page on order of execution (loop macro) whether a while clause in the middle of for clauses is executed after the for clauses before it and before the for clauses after it.
13:24:00
stylewarning
I wonder if there’s an expedient way to compile something like Standard ML into Lisp with existing implementations.
13:26:41
scymtym
stylewarning: you may be interested in http://www.ccs.neu.edu/home/stchang/pubs/ckg-popl2017.pdf
13:47:49
phoe
I want to inspect two different objects at a time. I can work around it by opening a second emacs, but I don't want to overkill.
14:51:38
pjb
That's because irc is like google's mapreduce: you ask one question, you get a hundred of answers, and you have to reduce it to a single meaningful information.