freenode/#lisp - IRC Chatlog
Search
16:05:00
Josh_2
Unfortunately I need to write all these bindings to implement a feature for my CL program
16:06:28
Josh_2
Obviously the megolm protocol could be implemented in CL, but I don't think I'm capable of that
16:08:18
beach
Your time struggling with CFFI seems comparable to that of learning a fairly complicated subject.
16:09:32
Josh_2
I did consider rewriting the C++ and C code that implements Megolm in CL but I took a look and I didn't understand a bit of it
16:27:58
lisp-machine
Is it acceptable practice to bundle other programs inside my program? I would do it for stability and ease of installation. I.E., include pacapt for easy installation of dependencies.
16:29:07
lisp-machine
I'm thinking of writing an app that would need sbcl and buildapp, but I want to provide as easy installation as possible, hence the idea of putting a local copy of pacapt in my project.
16:35:18
warweasle
Is there a quicklisp project generator? Using trivial-project failed because of a missing file.
16:55:29
kevingal
@lisp-machine: I don't see why not, as long as the license of the program permits it.
16:58:37
warweasle
Josh_2: Dumb question: How do I add my local project to quicklisp so I can just call (ql:quickload :weasle)?
16:59:35
kevingal
@warweasle: there's a folder where you've installed quicklisp called local-projects, you can create a link to your project there.
17:00:15
Josh_2
Yes, you can just use a symlink to wherever and Quicklisp will recurse through the directories
17:00:47
kevingal
I always forget the order of the arguments to create a soft link...but it should be something like 'ln -s /path/to/your/project /path/to/quicklisp/local-projects/'.
17:10:05
fe[nl]ix
marcoxa: ASDF's load order is fixed and it doesn't distinguish between manually loaded systems and the ones found in the search path
17:10:37
Josh_2
marcoxa: you can just put your version in local-projects and that will be prioritized by quicklisp when you load it
17:11:12
kevingal
I was gonna suggest that, but might catch you out if you forget to remove it from local-projects when you're done.
17:28:07
kevingal
I'm sure people have written plenty of linear algebra libraries over the past 40-odd years, haha.
17:29:23
Xach
marcoxa: if asdf can find a system through any other means, it will not load the quicklisp version.
17:29:40
_death
I guess magicl is used for Serious Work, though I've not used it myself (but then, I don't do Serious Work ;)
17:29:44
Xach
marcoxa: sometimes there is confusion because people add all of quicklisp's downloaded software to their asdf configuration, which i do not recommend
17:43:05
Xach
marcoxa: In my experience, if you load an .asd file, it does record where it is loaded from.
17:55:00
Xach
marcoxa: I hate to get too meta, but your IRC client produces terrible output that is difficult to read.
18:00:42
marcoxa
@Xach almost. I am doing a "Load" from the GUI. But I just tried to do a plain LOAD. Same result.
18:37:05
marcoxa
@Xach I just tried loading the .asd file with asdf:load-asd. No luck. Call me obnoxious but I am chaclking this up to a problem with ASDF.
18:39:01
marcoxa
@Cthulhux Thanks for the hint. I just downloaded it from MELPA; I will give it a spin...
18:57:07
Xach
marcoxa: (asdf:map-systems 'asdf:clear-system) (asdf:load-asd "/path/to/bordeaux-threads.asd") (asdf:system-source-file "bordeaux-threads")
18:58:39
marcoxa
I am starting a fresh image. Note that I di do a quickload of BT in the past, so I have it in the QL installation. Stay tuned.
19:04:18
marcoxa
The second form looked into the quicklisp folders and loaded the system from there.
19:13:23
marcoxa
Ok. I figured out. The transcript is there. I am ready to chalk it up to an ASDF problem.
19:29:45
marcoxa
I believe the problem is the shenanigans that ASDF does, as it does not seem to change if I just CL:LOAD. Basically, it seems that it finds the system form and then it forgets that it found it there.
19:39:41
didi
Can I loop a list of lisps using a single LOOP --e.g. (loop for x in list for y in x do ...)-- or do I need two LOOPs --e.g. (loop for x in list do (loop for y in x do ...))?
20:24:43
marcoxa
@_death Probably asdf:load-asd is doing something funky, but then again I do not think that's the problem. I tried in fresh LW instance changing the ASDF:LOAD-ASD with CL:LOAD in the sequence of operations. Same result. The only difference appears to be *when* the FIND-SYSTEM takes place. But the result is always wrong. I'd wager the problem is in FIND-SYSTEM.
20:25:47
Xach
Does anyone happen to remember chapter and verse of where the ";;;;" ";;;" ";;" ";" comment convention is described? Is it in the CLHS? Or only CLtL2? Or somewhere else?
20:33:00
_death
marcoxa: I'd just (push #p"/path/to/bordeaux-threads/" asdf:*central-registry*) and quickload, if it's temporary
20:35:32
_death
marcoxa: well, actually I'd not do that.. I'd use the git repo of bordeaux-threads without quicklisp dist versions.. and switch branches
20:53:18
marcoxa
@_death that's what I did. I ql:uninstall BT and then loaded the plain .asd from my non-ql version. In any case, this is a problem with FIND-SYSTEM and the time it looks for systems. I may be old and quaint, but myself and madhu fixed a very similar problem with mk:defsystem a long time a go.
21:14:47
jasom
didi: Just anticipating a question, if you need to collect into a single list while looping over such a thing you want (loop for x in list nconc (loop for y in x collect ...)))
21:17:08
jasom
marcoxa: I think if you have a system in your search path and manually load a different one, it will still go for the system in your search path.
21:21:15
jasom
and as _death says, the simplest way to preempt the default search behavior is to add paths to asdf:*central-registry*