libera/#commonlisp - IRC Chatlog
Search
6:42:51
Nilby
dbotton: Here's my highly unsatisfactory code for geting loadable systems https://plaster.tymoon.eu/view/3335#3335
6:49:46
Shinmera
dbotton: you can steal this https://github.com/Shirakumo/dist/blob/master/asdf.lisp
6:50:37
Shinmera
note that while what I do covers almost every case, in general what you're asking for is impossible. you need to load the ASDs (and thus potential systems) to determine what systems there are.
7:14:03
Nilby
Shinmera: A good demonstration that CL easy readability is convenient fiction. I feel like this could have been fixed a long time ago with few tweaks like a standard walker and *read-intern*, but how to fix stuff like eclector.reader:find-character => (code-char #xFFFD) ? Maybe more reader error conditions?
7:15:11
Shinmera
ASD files can be any arbitrary code, and system definitions could look like literally anything. The only way to get stuff out is to evaluate it.
7:16:49
beach
Nilby: Your code has several occurrences of incorrect indentation, and there are several violations of the rules stated on page 13 of the LUV slides.
7:18:09
Nilby
Shinmera: Yes. I completely agree, but even if everyone omitted any evaled code in ASD's it's trouble.
7:18:33
beach
Nilby: There are also some questionable practices in terms of software engineering, i.e., a function silently doing nothing when the input is not what it expects.
7:19:21
hayley
Now I wonder if there are enough hooks in ASDF, that just gleaning at the DEFSYSTEM form would give wrong results, even if the form fits the "shape" one expects.
7:24:50
Nilby
hayley: as you may know, ASDF was eventually made so you can do nearly everything without evaling, and it turns out it's possible to load much of quicklisp dist without eval, but still just the reading probalems that Shinmera has to work around. e.g. undefined package prefixes, unknown character names. I guess nobody puts structure literals in ASDs.
7:38:35
Nilby
but there's still things like :version (:read-file-form "version.sexp") or even the popular :long-description #.(uiop:read-file-string #P"README")
8:24:18
Nilby
beach: Thanks, but you can probably save your critiquing effort, since I have always been incorrigible.
9:41:56
Seok__
I found cl-intbytes useful for processing integer bytes, is there a similar library for single and double floats?
9:42:59
jackdaniel
Shinmera's library has a casting function that is a portability layer for the implementation-specific casts extension (which are cheap)
11:48:16
dbotton
I've decided to scale my project idea to still use .asd but if systems not setup up "right" as a project you will have to edit it by hand, but can still with in reason click to open files.
13:36:53
jeosol
just came here to thank all the sbcl devs, upgraded from 2.2.6 to 2.2.7 without any issues
13:38:15
jeosol
I work with Python (no language wars) but I very much appreciate this about working with CL/SBCL, most upgrades give no issues except small ones (like compression lib change with 2.2.6*)
14:18:58
rendar
i guess that getting '(' while reading a symbol name is an error, all must be space separated, right?
14:20:26
NotThatRPG
ASDF is ready for a 3.3.6 bugfix release, with a bunch of fixes. Per semantic versioning, this should be entirely backwards compatible. I encourage people to download a copy of 3.3.5.10 and try it out with their systems. Bugs can be reported at https://gitlab.common-lisp.net/asdf/asdf/-/issues Thanks!
14:26:44
phantomics
Morning everyone, does anyone know the fastest way to keep a count of active workers in an lparallel kernel? I want to make the count frequently so I can efficiently assign tasks to inactive workers and frequently calling (task-categories-running) seems like it will have substantial overhead
14:26:47
White_Flame
rendar: and the main term involved here is that #\( is a terminating macro character, eg it will terminate any token being built and start a new one
14:27:28
NotThatRPG
Get your pre-release ASDF here: https://gitlab.common-lisp.net/asdf/asdf/-/wikis/Pre-release-ASDF