freenode/#lisp - IRC Chatlog
Search
4:50:02
fiddlerwoaroof
(asdf:initialize-configuration (:source-registry :inherit-configuration (:tree "/path/to/directory/"))) works too
5:06:05
no-defun-allowed
One solution is to do (funcall (find-symbol "NAME" "PACKAGE") ...) but I'd rather ask why you need to do that.
5:06:41
no-defun-allowed
Can you load the other files required beforehand, or at least the file defining the package?
5:07:11
dbotton
So I want to give a way for someone to load and run a tutorial file in my quicklisp project without needed to known where it is installed
5:08:33
no-defun-allowed
One approach is to define another ASDF system for the tutorial, which depends-on your actual system, and have the user load that.
5:08:56
no-defun-allowed
So, (asdf:defsystem #:clog-user :depends-on (#:clog) ...) then the user types (ql:quickload :clog-user)
11:55:10
jackdaniel
how about making minion greet everyone entering the channel with "good morning"? and if that person answers, add some meaningful quote, like a fortune file
13:04:33
nij
Hello! I'm trying out this script, but couldn't (ql:quickload :com.informatimago.command) https://github.com/informatimago/commands/blob/master/generate-commands.lisp#L26
13:20:05
nij
How to get com.informatimago.common-lisp.cesarum? I searched in pjb's repo @@ but it doesn't seem that there's a def.
13:24:30
ck_
nij: I don't know what you mean exactly, but the package definition is right there https://gitlab.com/com-informatimago/com-informatimago/-/blob/master/common-lisp/cesarum/package.lisp
13:56:37
beach
The debugging situation for free Common Lisp implementations and tools is not that great.
13:57:11
phoe
it's about ASDF not showing the real error(s) and just going "file failed to compile but I won't tell you why"
13:59:55
jackdaniel
asdf is being continously improved; maybe such suggestion should be made to rpgoldman?
14:00:46
beach
I think it was lukego who said recently that the situation is much better now than a decade ago.
14:01:26
_death
nij: at the point this error happens, you can try to compile-file the graph.lisp file yourself
14:04:37
_death
nij: I have a small patch to informatimago whose commit message is "made to compile and load", though I don't know if it's related to your issue
14:04:52
nij
when I (ql:quickload :something-great), does it got compiled only into the running repl? or the compiled file is put somewhere?
14:05:46
jackdaniel
afaik it does compare modification dates of the source file to determine whether file needs compiling (and a dependency graph)
14:06:03
jackdaniel
modification date is not so great way of doing this, because of how reader works, i.e #+my-brilliant-feature
14:12:36
jackdaniel
"feature conditionals consider harmful for anything that is not intrinsic to the common lisp implementation" - anyone inspired - I waive rights to the article title :-)
14:15:02
jackdaniel
nij: backtraces of errors encountered when loading stuff without asdf are useless
14:15:04
phoe
this is one particular case when the backtrace tells you nothing because the compilation errors have already happened
14:15:17
jackdaniel
it doesn't mean that all backtraces are useless - usually you go to the file that errors and compile it by hand
14:16:50
beach
jackdaniel: Krystof has an article about read-time conditionals, but the emphasis is a bit different.
14:18:45
lukego
beach: yeah the CL ecosystem is in amazing shape these days. I've actually been writing Lisp code all week without once pausing to deal with any bug or rough edge in any tool or dependency.
14:19:04
nij
so for https://github.com/informatimago/commands/tree/master/sources , what i did is (ql:quickload :com.informatimago.command)
14:19:33
phoe
I assume that it could hijack *error-output* while compiling stuff, and use this information inside the error report mayhaps?
14:20:29
lukego
aside: I'm experimenting with dumping Lisp application data structures into Blender for visualization at the moment. it's pretty fun. https://twitter.com/lukego/status/1355153534275231747. maybe headed towards having a two-way bridge where Blender can request more data from Lisp. Or maybe the novelty will wear off.
14:21:37
lukego
that basically we should all be in awe every moment that we're able to run Lisp on an x86/ARM instead of a refurbish DEC Alpha :)
14:23:42
beach
phoe: Instead of that message in the REPL, there could have been a window with the source code and some colored arrow or something like that, pointing to the error.
14:25:40
jackdaniel
I have a weak recollection of asdf-slime integration which did exactly that (as when you call compile-file)
14:25:48
_death
when you C-c C-k you get red underlines.. there is also a slime-compilation window with the errors
14:30:48
phoe
when you get an ASDF compilation error while swank is hooked up, the buffer in question opens and the underlines appear
14:32:39
lukego
yeah I guess in hindsight waiting a couple of decades until emulating a Symbolics would become performant might have been a lower effort strategy for lisp
14:33:41
nij
I believe I have furthur narrowed the issue: https://github.com/informatimago/commands/blob/master/sources/script.lisp#L343
14:34:34
_death
phoe: yes.. my first thought when looking at nij's compilation error was that asdf's compile-file-error condition should include a list of conditions it has encountered, but I've not thought about it much
14:35:14
phoe
more or less what I was thinking of; it can then report their reports and locations or something
14:35:25
beach
lukego: I am afraid an environment based on Symbolics would be very vulnerable to attacks from the net. That wasn't much of an issue at the time.
14:51:04
_death
nij: if you're using sbcl, that #+clisp form should not be relevant.. you can check *features* to make sure it doesn't contain :clisp
14:55:03
nij
The error occured in line 319 (https://github.com/informatimago/commands/blob/master/sources/script.lisp#L319), and in which only those lines under #+clisp have VERSION.
15:02:27
phoe
"Dispatching macro characters continue to parse an infix numerical argument, and invoke the dispatch function."
15:07:11
_death
I think the issue is that #+ "should" (not required by CL, apparently?) act differently when the form is skipped
15:10:51
_death
#+(or) [now *read-suppress* is bound to true] #+ [sbcl rebinds *read-suppress* to nil] #.(foo) [oops] [most recent binding is undone] 42
15:18:17
_death
even if it's not on purpose btw, pjb's code should be fixed so that the symbols used are qualified with the right package
15:32:46
theothornhill
What's the general consensus regarding fukamachiware vs edweitzware? Dexador vs drakma, Woo vs Hunchentoot etc. Is one of them regarded as "better"?
15:34:46
jackdaniel
theothornhill: e.weitz wrote very clean code with documentation, e.fukamachi usually focused on scratching his own itch (and that is perfectly fine)
15:35:42
Josh_2
I'm not really a fan of ningle of ningle, although in a high performance situation the fact it works on Woo is good as Woo is pretty darn fast
15:41:58
jackdaniel
because there is quite a few unusual implementation choices (and hacks), plus undocumented dependencies
15:42:51
jackdaniel
sometimes you encounter a memory leak that can't be easily fixed, because the function only pushed to closed over variable