freenode/#lisp - IRC Chatlog
Search
16:58:36
Fare
jasom: ok, so between 2013 and early 2017 --- I removed the name recently. Is anyone using it directly?
17:53:47
_user
one of them that looks pretty good to me is this one: https://github.com/fukamachi/prove
17:57:04
_user
I see a lot of reccomendations for FiveAm as well, but I haven't seen active dev on it
17:57:59
rpg
_user: I thought it had been recently overhauled to remove its ancient arnesi dependency. But TBH, I haven't been tracking it that carefully.
17:59:05
rpg
For reasons of stability, we use a local copy, and haven't had much time to pull changes from upstream. Which is actually a good sign that it isn't broken!
17:59:44
rpg
I would avoid RT, which is interesting, but crude (e.g., doesn't take well to multiple bits of testable software sharing the same image).
18:00:11
_user
yeah, I was going to avoid RT, based on your feedback I'm now considering prove/fiasco
18:00:36
rpg
we also have a "FiveAM ASDF" system that provides the ability to use 5AM to supply the TEST-OP for ASDF systems.
18:09:40
Shinmera
rpg: You can do (define-test foo (define-test bar)) which is the same as (define-test foo) (define-test bar :parent foo)
18:10:04
Shinmera
rpg: I implemented the 5Am compat layer so I should know what it means exactly in terms of 5Am, but I don't anymore.
18:10:10
jasom
minion: memo for Fare: quux-hunchentoot uses asdf/package and it appears to still be present in the most recent QL version
18:10:37
rpg
PS one suggestion: for ASDF I also added a test count, so that you can check and make sure that the expected number of checks is run. After being burned by that before.
18:11:14
rpg
:-( have to leave this interesting discussion because I'm getting temporarily evicted from my office by cleaners....
18:24:14
jasom
in doing ql2nix I have come up with a number of patches for various projects; it will be interesting to see if any of them are accepted upstream
18:26:41
jasom
Shinmera: I don't think so; the list so far (I'm about 70% of the way through all systems in QL) is here: http://paste.lisp.org/+7KTZ
18:27:44
jasom
which isn't *wrong* but is also usually unnecessary since asdf has an output directory
18:30:34
jasom
IIRC it's something like load-asd sets up a specific package for .asd files to be executed in and then the various fancy features added recently can be confused by it. This is all stuff I only slighty understood 6 months ago and have now forgotten, so may be 100% wrong now.
18:34:10
minion
Fare, memo from jasom: quux-hunchentoot uses asdf/package and it appears to still be present in the most recent QL version
18:45:53
Shinmera
I just had it in my template, so it's in pretty much every single ASD I've ever written
18:47:34
jasom
Shinmera: it's very nearly a non-problem; I think I can handle it now with ql2nix (bundling was broken on enough packages that now I fall back to a more traditional load structure).
18:50:37
jasom
however the architecture for ql2nix that was 90% complete when I stopped working on it last fall appears to be a good choice; There is one nix package for each "project" (I think that's the term quicklisp uses for a single source tarball) that just installs the source, and then each ASDF system gets its own nix package, which depends on the project package (and possibly other things).
19:43:25
Shinmera
I realised that i need to go back and rework some lower systems though, so I've been kinda stuck on that and progress is painfully slow
20:05:25
copec
This is what I have completed of my first real CL program: http://paste.lisp.org/display/353593
20:05:51
copec
I would appreciate any feedback and/or shooting down of things that anyone could offer.
20:10:33
copec
I know I could have just kept lexically binding the same names over, I was trying to make it readable for when I come back to it at some arbitrary future date
20:11:40
Shinmera
As for making it more readable, the nesting of m-v-b/push-fragment screams for a macro.
20:14:01
pillton
The CLHS entry for COMPILE says "is false if no conditions of type error or warning were detected by the compiler, and true otherwise."
20:14:18
specbot
Exceptional Situations in the Compiler: http://www.lispworks.com/reference/HyperSpec/Body/03_be.htm
20:14:28
pillton
But CLHS 3.2.5 says "Both compile and compile-file return three values, the second two indicating whether the source code being compiled contained errors and whether style warnings were issued."
20:16:08
Shinmera
copec: Anyway, if you really want the plus in the names, you still don't need to use ||. nfa+begin+a-in+a-out is a valid variable name.
20:17:08
copec
yeah, that came about from me experimenting with reading it when I wasn't in "the mode"
20:17:11
Shinmera
I'm too tired to give a more in-depth review of your code, so that's all the advice I can give. Sorry.
20:19:29
copec
FWIW I used caps to emphasize acronyms, Sets, and Capital Greek letters, with that other ugly symbol |NFA+begin+A-in+A-out+B-in+B-out+end| to help me keep track of where I was at when I was writing it.
20:22:10
copec
If I ever want to write code for more than just myself then I'll defer to your experience
23:21:07
White_Flame
if I load stuff through quicklisp, save an image, and run that image on another machine, will quicklisp have problems between the homedir being "/home/user1" on the first box, and "/home/user2" ont he second?
23:21:31
White_Flame
specifically, with intent to load new quicklisp systems after the image has been saved & moved
0:02:11
White_Flame
out of simplicity, I think I'll load quicklisp after deployment, just to be safe
1:37:08
anticrisis
About deployment, I saw this page about Chicken Scheme. Is there an equivalent piece of documentation about CL or a particular implementation? Google was (as usual) completely unhelpful. https://wiki.call-cc.org/man/4/Deployment
1:45:39
rpg
Fare has put into ASDF some semi-portable operations for building executables on platforms that support it. I say semi-portable, because some implementations do not support delivery of standalone executables.
1:46:30
rpg
TBH, I am not sure if the ASDF manual really documents how those operations are to be used. It might, but it might now.
1:48:47
rpg
Have a look at the ASDF manual (on common-lisp.net), and if it doesn't answer your questions, please submit them to the asdf-devel mailing list. That will help us improve the docs for everyone.
1:49:07
Fare
cl-launch also provides a portable wrapper around this functionality, accessible from the Unix command line
1:49:30
rpg
Fare: no -- I'm still banging out my proposal. I was hoping to get to the changelog, but I have 2 more sections to write, and it's looking like a long night. I was over-optimistic earlier.
3:06:44
beach
copec: You just did write for more than just yourself; you submitted it for others to read.
3:31:07
jasom
anticrisis: uiop and asdf have some delivery options that are very useful, but I don't recall how much is in the manual; let me check
3:33:20
jasom
hmm is there docstring-generated manuals online for uiop? quickdocs doesn't seem to work for it
3:35:58
jasom
anticrisis: https://github.com/fare/asdf/blob/master/uiop/image.lisp#L334 <-- this function is what I do. The docstring is less useful if you don't understand the idea of images, but other than that should explain things
3:40:20
jasom
anticrisis: The really short version is: (uiop:dump-image filename :executable t) will save a complete executable that will call the the function stored in uiop:*image-entry-point* when launched. This will work on any lisp that supports images (so not ecl, gcl, mkcl, or abcl). Should work on ccl, clisp, sbcl, cmucl.
3:43:17
jasom
... less than 200 systems to go on this run of ql2nix. Then I get to update quicklisp and wait for 20+ hours again.