libera/#lisp - IRC Chatlog
Search
21:02:11
thymage
Hey I've just started using lisp. I wrote a asd package for my software and I have empty source files for now. I would like to know how to use asd to compile my source and how to install my package locally.
21:04:41
mfiano
You might find #clschool a good channel for beginner help with the Common Lisp dialect, but just follow the instructions at quicklisp.org
21:15:22
thymage
I am writing my own package. I don't think I can use the quicklisp site instructions because they involve just installing quicklisp and using it to install packages.
21:16:14
mfiano
You are writing a system, not a package. And quicklisp manages installing your own systems as well.
21:18:18
thymage
I tried to quickload my package name. quicklisp didn't find it even when sbcl was started in the package directory
21:18:31
mfiano
Right. A package is something else entirely unrelated to managing dependencies and files.
21:19:20
thymage
Where are the directions for quicklisp to support this? I've read the entire front webpage of quicklisp
21:20:20
thymage
I've done that for some github repos that didn't have their stuff out on ultralisp or the quicklisp repos.
21:20:53
Alfr
thymage, quicklisp uses asdf for finding and loading installed packages, as for where asdf looks for packages -- it's complicated: https://asdf.common-lisp.dev/asdf.html#Controlling-where-ASDF-searches-for-systems
22:09:17
thymage
And I would like that error to be automatically resolved; I would like to clean away fasl files and completely rebuild the package.
22:13:25
thymage
But also... I'm getting compile errors on code when I'm using it as an asdf system that weren't there when I was using it in a fresh sbcl instance
22:33:05
thymage
So basically, I have a code fragment that works fine, a to z when I copy paste it in a fresh sbcl instance. But if I try to load my asd system using quicklisp with the softlink in place, I get an illegal function error
22:34:32
thymage
But I don't know why identical code would have an illegal function in one context as opposed to another
22:39:03
thymage
Like literally the strcmp function that it defines on the front page of the github repo.
22:45:04
mfiano
That's sort of expected. asd files are not compiled. and your lisp code has to defpackage with :use :cl and switch to your package with in-package
23:00:09
thymage
I'm happy with that. I only need to grammatically manipulate some of the language. I don't really want to change away from c-mera
23:03:05
thymage
Let's say I were going to make a minimal reproduction. Could I paste a couple of files, a lisp file and a system definition?
23:03:35
thymage
Oh ok, so I have to have both defsystem and defpackage. RIght now I only have defsystem
23:38:39
kagevf
thymage: I think you can add a condition handler to ignore errors ... and the condition system let's you add all kinds of features for condition handling and restarts
23:39:11
kagevf
you can think of the CL condition system like a superset of try/catch in other languages
0:21:47
jcowan
Blub in Lisp syntax is an idea that keeps appearing. I designed a few myself. Bottom Scheme is a tiny subset of Scheme that is fairly easy to compile to C, partly because it doesn't have Scheme's special magic: no call/cc, only restricted closures. CL/R is analogous, but for CL, and I have one for SQL scalar expressions. None of these have working implementations: ars longa, vita brevis.
0:25:17
jcowan
Then there is one to solve the problem of Scheme floating point: the default precision in almost all Schemes is double, so they can't be boxed without heavy compiler inference. Flopsy uses sigils for typing, and its types are floats and float vectors, procedures, and integers. The idea is that you write your code in Flopsy, which is valid Scheme, and debug it there. Then the Flopsy compiler converts it to C, and you access it through
2:22:44
jcowan
moon-child: Yes, but (a) nobody had thought of nanboxing then; (b) to this day, no Scheme implementation implements it