freenode/#lisp - IRC Chatlog
Search
23:42:35
aeth
As far as problems with ASDF, the (nitpick) problem I have with it is that it's not at all easy to add support for other languages, even though it seems to be theoretically possible.
23:49:01
Fare
though if I were still maintainer, I'd consider moving this support from a cffi gadget to asdf itself. Maybe. Or then again maybe not.
23:50:03
aeth
Well, my main complaint is that it seems to require adding a lot of different things in many different places, which requires a decent understanding of ASDF internals, at least when I was looking into it. There isn't just one or two places to add methods.
23:51:18
Fare
the ASDF internals are still underdocumented. But at least there are documents that explain them nowadays. That used not to be the case.
23:52:57
Fare
I would recommend my 25-page ASDF 3 essay if you want to grok ASDF internals. At least the parts that discuss the object model.
23:53:44
Fare
it's weird, but it was a very interesting invention by danb (as inspired by Kent Pitman).
23:57:46
jasom
aeth: I've settled for just adding a dummy lisp file that invokes a native build system (such as make) when loaded.
23:58:45
Fare
Retrospectively, one thing that surprised me most was that in the old MIT Lisper vs Unix hacker debate, the Lisper claimed to be seeking the "Right Thing" when the hacker was looking for "good enough", but ASDF 1 and most Lisp libraries I've seen were much more "good enough" than "the Right Thing". Maybe it's a generational thing, too. I became a Lisper in the 2000s, when that debate was from the 1980s.
23:59:39
jasom
Fare: though it should be said that nearly all build systems are more "good enough" than the "Right Thing"
0:00:03
jasom
at least partly because it's very hard to be both very general while still doing the "Right Thing"
0:01:11
Fare
and as far as ASDF goes, there was a clear mission creep as to what makes it "good enough" from danb's ASDF 1.85 to Gary King's 1.369 to my 2.000 to my 2.26 to my 3.0.1 to my 3.1.2 to my 3.2.0 to my 3.3.0.
0:03:18
aeth
jasom: adding a dummy lisp file doesn't work for my purposes because this is a language that's compiled to CL so there is a two step foo.bar -> foo.lisp -> foo.fasl process.
0:04:18
jasom
aeth: that should still work just fine, as dependencies are loaded before a given file is compiled, right?
0:05:54
Fare
I remember doing that. Maybe it was for the Python to CL implementation, maybe for the FORTRAN to CL compiler. Or maybe some FFI that compiled to C.
0:09:38
Fare
aeth, if generated, the foo.lisp will typically be redirected by the OUTPUT-TRANSLATIONS.
0:27:40
aeth
jasom: The problem is that to transparently use ASDF to have foreign-to-CL dependencies you need to be able to have a simple foo.bar -> foo.lisp -> foo.fasl and have ASDF treat those FASLs as if they were CL
0:29:21
aeth
Fare: output-translations doesn't sound familiar so I think I might have been missing that.
0:30:42
aeth
Fare: Another problem I was getting a lot iirc is that I couldn't modify ASDF and use those modifications in the same place iirc. The issue was adding support for .scm files in general in cl-scheme while also having some of the implementation of cl-scheme be in .scm files
0:31:28
aeth
(cl-scheme is not my intended final name but if I say the intended final name that I have in mind, the likelihood of the domain names being grabbed greatly increases)
0:32:01
aeth
(I say intended because I can't even search for the domain name without increasing the chance of it being camped by expressing interest in the domain name so it could already be taken...)
1:10:36
verisimilitude
You haven't matured much from what I see, Xach, with my experiences with you.
1:15:25
no-defun-allowed
Immaturity isn't a problem, but to not seem unfriendly you have to hide it behind a lot of wit at least.
1:41:41
Fare
aeth, I sorry was not on IRC. I don't know what you're trying to do, but whatever it is, I will gladly help with telling you what to do and not to do with ASDF.
1:42:39
Fare
I also have suggestions of names for a Scheme implementation. Such as "Agley" (because "The best laid schemes o' mice an' men / Gang aft a-gley.").
2:00:35
aeth
Fare: One reason why I want to do proper ASDF integration is that then you could run any library in Quicklisp that doesn't use elaborate (especially tree-walking) macros with a few wrapper files that could probably even be semi-automated.
2:03:49
aeth
One of the reasons it's incomplete is because I need to solve the integration and performance issues before finishing it.
2:05:58
aeth
Fare: it looks like what I was trying to do last time I attempted anything was a perform compile-op and perform load-op for a new scheme-source-file class. I was also looking into output-files. I wasn't aware of output-translations.
2:07:10
aeth
Iirc, what made me stop experimenting is that I didn't know where to put the method definitions. These have to somehow run *before* the defsystem afaik, but I can't just put them above the defsystem in the .asd file.
2:08:40
aeth
The real challenge is that probably half of the code implementing the Scheme will eventually be in Scheme .scm files, but the scm-to-lisp compilation function will be done in a .lisp file as part of the implementation details.
2:08:54
aeth
I guess I'll have to break it into at least two systems, possibly with two separate .asd files.
2:20:45
Fare
aeth, do you want to discuss it on a video call? It might be faster to get information through.
2:22:26
Fare
And yes, often separating your code in multiple .asd files can help, especially if you need to use defsystem-depends-on.
2:26:04
aeth
hmm... I don't think I have a functional web cam on my desktop. I purchased a microphone for gaming, but not a camera. Years ago, I plugged in a bunch of old webcams from probably pre-2005 and none of them had functional Linux drivers.
5:50:39
beach
Hey gilberth. I am preparing my ELS talks, so I spend more time in #sicl than here in #lisp.
6:51:44
dtw
There are several command-line parser packages in Quicklisp distribution but I have been unhappy with all of them: too fancy object system which I don't want to use, too much automatic messages or return value is unnecessarily complicated to parse. So I have used my own parsers which I have now generalized and published as a package: https://github.com/tlikonen/cl-just-getopt-parser Maybe someone wil find that useful.
7:08:28
verisimilitude
This only affects those who live in countries that don't recognize public domain.
7:21:52
flip214
Is there a YAML parser that records line numbers on the input, so that meaningful error messages on _semantically_ invalid data can be thrown?
11:05:55
Th30n
Does anyone know why SBCL's sb-profile report different "consed" numbers for different calls of same function (or code)?