freenode/#lisp - IRC Chatlog
Search
18:50:48
jasom
I think the latest CFFI in QL doesn't have that issue either, so perhaps sebboh needs to update his quicklisp dist
18:51:58
rpg
jasom: No, the EVAL-WHEN would not have caused an ASDF failure. But your change makes things potentially better.
19:23:30
sebboh
jasom, there's an unused variable warning in the C grovel stuff. Not important to me, only mentioning it because I'm already here. /home/hobbes/.cache/common-lisp/sbcl-1.4.2.debian-linux-x64/home/hobbes/quicklisp/local-projects/clinenoise/termios-grovel__grovel.c:13:7: warning: unused variable ‘autotype_tmp’ [-Wunused-variable]
19:30:07
emaczen
If slime and SBCL have trouble finding my sources what should I do? I think I've had this problem before and for some odd reason it keeps reoccuring...
19:31:18
jmercouris
Shinmera: If I run "ls -la ~/" for example, it doesn't show the contents of my home dir
19:31:27
jmercouris
Shinmera: These docs lol? https://gitlab.common-lisp.net/asdf/asdf/blob/master/uiop/README.md
19:35:16
Bike
if you just tried to give it "ls -la ~/" that's not going to work, it's not a shell, yeah?
19:37:08
Bike
i don't have an sbcl installed from source on this system, so i can't tell you the directory tree off the top of my head
19:38:14
jasom
jmercouris: contrast with (uiop:run-program `("ls" "-la" ,(uiop:native-namestring (user-homedir-pathname))) :output :string)
19:49:55
jasom
jmercouris: it's implementation dependent, but usually /bin/sh on *nix and cmd.exe on windows
19:50:45
jasom
jmercouris: if you want a specific shell then do something like: (uiop:run-program ("/bin/bash" "-c" "ls -la ~/")) ;; though this breaks on e.g. nixos that has no /bin/bash
22:42:33
sebboh
Where are the McCLIM people at? Hey, I'm sure you've heard about how BountySource has been eaten by some ICO jerks who apparently think that they now own us "users" of BountySource. So, are you going to accept donations via some other mechanism?
23:13:14
sebboh
What were those modern aliases for (car ...) and (cdr ...)? (first ...) and? (rest ...)? Any other convention?
23:24:57
aeth
I'm not sure there's any other convention other than head/tail (not in standard) and the in-standard car/cdr first/rest. Possibly "next" instead of "tail", but that's more of a doubly linked list thing ("previous" and "next" for the links)
23:26:30
aeth
When you use "next" as the convention, you usually use "data" instead of "car" or "head" or "first".
23:26:54
aeth
Knowing alternative names can be helpful, e.g. when you want to implement your own doubly linked list or something.
1:11:06
peterppp
so I just installed sbcl and usocket on ubuntu and am trying to load usocket with the line (require :usocket)
1:12:50
aeth
ASDF knows where to find usocket, if it's installed in a place where it looks for ASDF system definition files. And Quicklisp uses ASDF to go beyond that, downloading dependencies for you.
1:13:02
aeth
Generally the only reason not to use Quicklisp for handling your dependencies is if you're packaging something.
1:15:59
aeth
Usually, the way to handle dependencies is to create a your-project.asd file (just look how existing projects set up their ASDF files) at the top level of the directory, and put a link to that directory in ~/quicklisp/local-projects/ so you can treat your project as if it's included in Quicklisp and just (ql:quickload :your-project)
1:16:26
aeth
There's actually a library that can automate this. https://www.xach.com/lisp/quickproject/
1:30:24
aeth
I do just this: cp -t . ../some-old-project/LICENSE.txt ../some-old-project/.gitignore ../some-old-project/some-old-project.asd
1:30:37
aeth
And base everything on some old project of mine, with edits to update the name, copyright year, etc.
3:24:28
jack_rabbit
Results from a little toy I built in CL: https://www.youtube.com/watch?v=T2ODLTn3ifk&list=PLvoUoqQqEHItOnsGSmiVDp2iMFyU9yUmK
3:27:33
jack_rabbit
loke, Not quite. The process in the second half is similar to the reverse of the first.
3:28:46
loke
Xach_: thanks for merging my zs3 fixes. I'm starting to have some concerns that I might have introduced a small bug, and I need your opinion on this:
3:29:55
loke
Xach_: Specifically, it's the fix to REGION-ENDPOINT. It now returns *S3-ENDPOINT* if it's set. The question is if this will be a problem if *S3-ENDPOINT* is set to a bucket-domain (such as foo.s3.amazonaws.com)
3:31:38
loke
Xach_: Yes, but I'm not sure I know how to test all permutations. The ones I've tested works fine.
3:32:17
loke
I guess my problem is that I'm not sure about the exact purpose of *S3-ENDPOINT*. When would you need to set it to a name of the form bucketname.s3.amazonaws.com?
3:33:14
Xach_
Hmm, I don't see that it is documented anywhere, so I don't know if anyone is using it except you.
3:53:43
loke
It's a very convenient way to use alternative S3 providers though. Google also uses the same API
5:14:20
Xach_
i wrote my own sha stuff for quicklisp's pgp verification. have not done hmac. tempted to spin it into its own library.
5:16:36
drmeister
Clasp struggles mightily to compile ironclad because of terrible scaling in llvm and slowness in the Clasp runtime and Cleavir (working on it).
5:17:00
drmeister
I got so desperate I added C++ header libraries for hashing and hmac and exposed those functions.
5:17:38
Xach_
drmeister: not a bad approach in a pinch. better than having a terribly slow runtime for those too.
5:22:39
loke
drmeister: What is it about clasp that makes is particularly slow for Ironclad? I mean, Irconclad is always slow to compile, since, as I understand it, it generates a lot of code through macros.
5:23:55
drmeister
I haven't drilled into it carefully to figure it out and so I have to be careful where I attribute blame. It takes something like 7 hours to compile full ironclad.
5:24:12
beach
loke: My personal guess is that the Cleavir-based compiler does not yet implement most of the planned optimizations, so the entire native code base is just not good enough.
5:24:31
drmeister
Some of the time is in llvm - we know that it has terrible scaling for large functions.
5:26:08
beach
loke: The theory that the Cleavir-based compiler has some bottlenecks because it is using a lot of generic functions might be somewhat true, but I think it would be counterproductive to look for such bottlenecks before the optimizations are implemented.
5:27:36
beach
loke: But yeah, there is also the LLVM possibility. Many compiler optimization techniques require quadratic time in the size of the code, so if code is generated using macros, then that could very well be a big problem.
5:28:37
loke
I thought that ironclad generated massive functions, but I have to admit that I have never actually confirmed the sizes myself. So some of it could be just assumptions.
5:30:19
loke
drmeister&beach: How fast is ironclad running in Clasp after this 7 hour compile? Is the generated code any good?
5:30:55
drmeister
Yeah - that's fine. I haven't benchmarked it - but I haven't noticed any problems.
5:31:05
beach
loke: Like I said, the code generator of the Cleavir-based compiler is not good enought.
5:32:02
beach
loke: So that affects both the execution time of code that is compiled with it, and, of course, the time to execute the compiler itself, because that code is itself compiled with the compiler.
5:32:07
drmeister
I dunno beach - this looks like some n^m power scaling with the size of the function.
5:33:56
drmeister
I've been using it a lot interactively - the performance is good enough for what I've been doing.
5:44:37
drmeister
Is it typical for compilers to decide NOT to inline code if the resulting function becomes too large?
5:45:59
beach
Usually, inlining is done against some kind of "budget", and size is one consideration. In fact, the cost function typically reflects the cost of further optimizations, so it might take the size squared.