freenode/#lisp - IRC Chatlog
Search
19:43:46
phoe
likely because connection-timeout is only effective before the connection is established
19:44:05
phoe
the backtrace shows me that it is trying to read a byte, which means that the connection was already established...
19:52:10
theothornhill
I'm having some trouble with quicklisp on M1 Mac. Is it known that some libraries don't seem to download on it?
20:01:28
asarch
In Emacs, how do you insert all the necessary )'s to close the expression? E.g. (foo (bar (smap (baz (if (when (cond ... <- Is there a key shortcut for this?
20:04:29
theothornhill
....WARNING: /usr/local/Cellar/sbcl/2.0.11/libexec/bin/sbcl is loading libcrypto in an unsafe way
20:07:12
phoe
it seems like a bug in cl+ssl - https://github.com/cl-plus-ssl/cl-plus-ssl/blob/ff4634a2addedc033394e93a402523532e9b470a/src/reload.lisp#L44-L49
20:07:36
phoe
new versions of macos crash when libcrypto is attempted to be loaded without a version
20:08:53
theothornhill
So what is the fix? Should I provide some patch upstream or is it simple to avoid locally?
20:09:13
phoe
AFAIK you need to load a concrete version of libcrypto rather than the un-versioned one
20:09:58
phoe
I'm not a macOS user so I can't check, but I've seen this break e.g. in https://github.com/orthecreedence/cl-async/issues/181
20:33:09
nij
Hello! I have a .lisp file that works if evaluated as a buffer. How do I package it into a proper lisp project?
20:37:17
White_Flame
for an ASDF/Quicklisp compatible project, you need an .asd file that loads that lisp file
20:37:49
White_Flame
(also, get your defpackage/in-package uncommented, or make a separate package.lisp containing it)
20:40:25
White_Flame
it's an illegal function call in terms of trying to evaluate the last parameter in (foo :blah :components ((:file "main"))) before trying to call foo
20:42:23
White_Flame
huh, well I suspect the error is that it doesn't know that the "defsystem" is a macro, hence it's trying to evaluate the parameters
20:47:48
phoe
or you forgot to depend on use some packages and it tries parsing macro arguments as standard function calls.
20:51:59
phoe
CL is the only package that you can safely USE 99.9% of the time, and also the only package that you'll USE 99.9% of the time in practice
20:52:28
phoe
the remaining 0.1% is for situations where you need a variant of the CL package, e.g. with qtools
20:52:28
aeth
A defpackage at the very least needs a (:use) since apparently it's UB if there isn't any (:use) so it might implicitly (:use :cl)
20:53:34
White_Flame
basically, you implicitly defined QUESTIONNAIRE::DEFUN, and now you're trying to import CL:DEFUN which is a conflict
20:55:48
phoe
try (asdf:load-system :questionnaire :force t) - that force-reloads the system and also displays all warnings
20:56:01
aeth
QL with :verbose t will only complain on new changes, too, since most of the compiled files will be cached.
20:56:23
aeth
What's annoying, though, is that QL verbose will show verbose on all dependencies, too
20:56:33
White_Flame
since a very common case is to load other people's code, it defaults that way to not be spammed by their non-breaking issues
20:56:35
aeth
So you get to learn that some library you depend on is filled with STYLE-WARNINGs or whatever
21:00:10
theothornhill
https://lispcookbook.github.io/cl-cookbook/systems.html should provide some useful info about systems.
21:09:19
ealfonso
phoe thanks, looks cool. quickload tells me <System "flamegraph" not found>, will try installing manually
21:10:31
White_Flame
nij: and the :serial t means the files will be read in order that you list them. If it's not serial, then each file should list what peers it's dependent on, for more complex stuff
21:11:50
White_Flame
I believe that :serial t means that each file gets a dependency list of all files before it, and then it does the full dependency resolving stuff
21:21:21
pve
Is there a good workflow that lets me start slime, and once connected, automatically load a "session" lisp file that sets up my session by loading some systems, maybe running some tests and entering some package? It would also be important for me to be able to restart the session easily, like pressing a single button.
21:22:56
pve
I've written a 20% solution that does the bare minimum i need, but I was wondering if there's maybe a contrib or something
21:23:48
pfdietz
Hypothesis is a random input generation library, originally in Python. The interesting twist it has is minimizing interesting inputs by mutating the recorded random bits used by the generator.
21:24:47
pfdietz
That way, if your generator enforces some condition on the generated objects, that is maintained even as you simplify it.
21:26:18
scymtym
pve: i use this start SBCL under wine and connect SLIME: https://techfak.de/~jmoringe/start.el
21:27:44
pve
phoe: I've a couple of elisp functions that let me start slime "with the current buffer" and then by pressing a single button (I use F7) it will restart slime and load that same "session" file.
21:30:06
nij
How do I export all symbols in a file. E.g.. here is my config.lisp: https://bpa.st/UNMAK
21:30:14
pve
phoe: and I've found it so exceedingly useful that I'd like to see if there's something a bit more polished around
21:30:41
nij
The user can add more questionnaires in side. The idea is to make all questionnaires here public, automatically.
21:40:16
scymtym
pve: yeah, i didn't use or need any of this before i started working on the McCLIM windows backend under wine
0:58:24
Xach
charles`: through quicklisp, usually that's how it works. if you want intermediate updates you have to fetch it yourself, like with a git checkout or similar.
1:00:29
charles`
If a library is on ultralisp and quicklisp how does quicklisp decide which one to get? most recent?
1:02:11
Xach
charles`: you can get pretty fine-grained, but the default ordering is which dist was more recently installed
1:12:49
Xach
if you check out a project somewhere known to asdf it will always take priority over a dist-provided system
1:13:06
Xach
"always", but you can always change the asdf system search function ordering if you really want to.
1:14:37
charles`
truly amazing. So quicklisp will update a project even if the ASDF version number didn't change?
1:16:28
Xach
it will update a project if the code changes, the asdf version number does not factor in
1:16:57
Xach
actually not the code - if the project's sources change, which includes non-code files too.
2:30:44
ealfonso
Can anyone help me understand this error? "Lock on package ALEXANDRIA.1.0.0 violated when defining ALEXANDRIA.1.0.0:WHEN-LET as a macro while in package HUNCHENTOOT." It only started happening after installing (ql-dist:install-dist "http://dist.ultralisp.org/")
3:29:48
White_Flame
any time there's an unexpected function call to some CL internal, you haven't found optimality yet
3:30:26
White_Flame
also, this is assuming SBCL, which is quite good (sans the triggering lack of peephole optimizer ;) ))
3:32:11
White_Flame
also, if you're iterating that size of memory, your memory bandwidth could easily dominate performance, if you're just doing simple work per entry
3:46:21
mfiano
Having a hard time trying to figure out what such a large dataset of known values ahead of time would be used for
3:55:03
White_Flame
well, brute force techniques might call for that, now that memory is much more available
3:55:20
White_Flame
but those usually aren't used for a straight iterative streaming, but a massive lookup table
4:08:38
White_Flame
obviously depends on the data. If he's just using bytes, then cut that in half by 4 again
4:23:04
jrm
For our clx OS package, any suggestions on whether we should stick with the latest release (0.7.5) or do what quicklisp does and keep up with the master branch of https://github.com/sharplispers/clx ?
4:26:33
beach
Are there any releases at all? I would do the sharplispers version. As I recall, the good people in #clim also fix issues in CLX when they find them. But you can check with them.
7:32:05
beach
Sure, some Common Lisp systems can have many things in a shared object file. I think ECL does that.
7:33:02
beach
nij: Unix-like operating systems are a very bad fit for Common Lisp. Imagine instead that the Common Lisp REPL is the shell, and FASLs are your executable files.
7:34:26
beach
On the other hand, 42MB of RAM (assuming that everything has to be in RAM which is not true if you have demand paging) cost how much these days? A few cents?