freenode/#lisp - IRC Chatlog
Search
22:15:00
aeth
jmercouris: I just updated with your note. https://gitlab.com/mbabich/airship-scheme/-/issues/20
22:17:01
aeth
jmercouris: re opening up libraries for usage... to be fair, someone has been implementing Scheme SRFIs in Common Lisp and that might be more directly useful for Common Lispers. https://github.com/g000001/srfi-47
22:18:07
aeth
hmm... so weird seeing a different define-function that's not my gigantic zr-utils:define-function macro.
22:18:39
aeth
jeosol: SRFI is a mix between CDRs (specifications of things to implement, sort of like bordeaux-threads but at the implementation level, more like if sb-unicode was a formal library implemented in more than one place)
22:19:42
jeosol
I like the path of being able to use libraries from scheme. When I use to go to comp.lang.lisp, some quotes srfi- and a number, that I 'll find a function, I wondered how they remembered the numbers after the srfi
22:20:24
aeth
A bunch are being integrated to R7RS-large and being renamed as part of the process, though
22:21:38
aeth
e.g. for Fibonacci you can just call them A000045 and not everything is important enough to have a name like "Fibonacci" https://oeis.org/A000045
22:22:04
minion
jmercouris: does torturing a poor bot with things beyond its comprehension please you?
22:23:34
jeosol
meaning of SRFI above. I don't remember the name, but one contributor over comp.lang that offered scheme answers seemed to have a good handle on the numbering. Good to see list as compiled.
22:26:33
pve
jmercouris: not sure of your requirements, but you could check out https://github.com/pve1/shell-utility (SBCL only for now)
22:26:38
jeosol
So this is how libraries are developed in the scheme universe? Their increasing numbering system
22:27:37
aeth
(1) portable versions of an implementation's libraries like (chibi test), which would be the equivalent of e.g. making sb-unicode into a library (which would be *really* nice, if anyone needs any ideas)
22:28:26
jeosol
As one of the goals is to be able to run both scheme and CL, what is the space of intersection of libraries like?
22:29:16
jeosol
I haven't used scheme at all, and I remember in a previous discussion with Fare, he said he was using (I think) gerbil scheme
22:29:22
aeth
jeosol: Ideally, every public Scheme procedure will be automatically exposed as a CL function, which will also serve as an entry point into the Airship Scheme runtime (to handle tail recursion and continuations).
22:30:01
aeth
jeosol: Going the other direction, it's not as simple because of the ambiguity between nil-as-false and nil-as-empty-list in CL. (It's easy to turn both nil and #f into CL:NIL, but not easy to determine whether CL:NIL should be nil or #f)
22:30:29
aeth
Stuff that heavily uses macros or reader macros (or SRFI-specified syntax extensions in the case of Scheme) or continuations will complicate things
22:30:49
aeth
Perhaps Scheme macros could automatically make CL macros as well, since I control this, but the other way around is just... probably not going to work.
22:32:01
phoe
aeth: if a piece of Scheme code is loadable and useful from CL then I see no reason why it shouldn't be in Quicklisp; look at all the foreign code that is written in C and is loadable and useful from CL
22:32:57
aeth
phoe: Yes, but what if I wrote a library that solely deals with continuations, which are emulated in Scheme via continuation passing style?
22:35:28
aeth
Hopefully I can get a left-pad situation going where nearly every CL project depends on some Brainfuck :-p
22:36:34
jeosol
phoe: not to digress to much, how is the process with clcs. I have been out for a while
22:37:14
phoe
jeosol: the book is still in production. I'll notify everyone on GitHub when we have something to look at.
22:42:11
aeth
jeosol, phoe: I will probably go above and beyond what's required to just get Scheme running on CL to try to get the interop working better, e.g. I'll try to use trivial-extensible-sequences (if they work!) for the sequences available in Scheme but not in CL (lazy lists? maybe a few others).
22:44:45
aeth
I'm also considering writing a reader macro that blends Scheme and CL (since the readers are slightly incompatible with each other) by extending CL to support some Scheme syntax (like "foo\n" to end a string with a newline)
22:52:56
fwoaroof[m]
jmercouris: if you have ideas about extending my protocol to handle your use case, I'd be interested, BTW
22:52:57
fwoaroof[m]
minione: memo for jmercouris: if you have ideas about extending my protocol to handle your use case, I'd be interested, BTW
22:53:01
fwoaroof[m]
minion: memo for jmercouris: if you have ideas about extending my protocol to handle your use case, I'd be interested, BTW
22:53:43
fwoaroof[m]
I've been thinking of integrating clon, because I like how it handles command line arguments alot
23:47:13
philweb
I've installed ECL 20.4.24 and attempted asdf:make-build again. Now it's complaining about a couple of UIOP packages referenced in compiled file nil
4:39:18
u0_a156
Pleased to meet you bleach. Concerning CL, I'm awfully... lost when it comes to quicklisp and ASDF and what the difference is. :/
4:41:26
u0_a156
That explains why it was able to load... On another machine I tried to (ql:quickload "youtube") but it said ASDF wasn't new enough.
4:41:33
aeth
Quicklisp's abstraction is the project, which is the top level directory, probably from a git repository. This can contain one or more ASDF systems, defined in DEFSYSTEMs in .asd files
4:42:22
aeth
The complete mapping is here, but it has the long name (which is probably the last update from the, probably git, repository) https://www.quicklisp.org/beta/releases.html
4:42:55
aeth
e.g. 1am-20141106-git is the project release of the project 1 am which provides the system 1am, but they don't always have to align, e.g. a few later you see 3bmd provides a bunch
4:46:13
aeth
I'll give a more dramatic example, much further down on that page. You can see on that page I linked to that "cl-sdl2" is the project name, but "sdl2" is the ASDF system name.
4:48:07
u0_a156
In other words, an extra opportunity for misconfiguration...Never mess with configuration files, let the installer do it!
6:45:03
philweb
jackdaniel: I added asdf to dependencies thinking that would pull them in (apparently it didn't work) then I tried adding the named packages (uiop/os and uiop/pathname) but that results in component not found when loading my top-level system
9:31:30
phoe
because here you have a situation where you're redefining methods that were already present in Lisp
9:38:31
phoe
I actually don't know; it seems like an issue with cl-jupyter, since I assume that's what you are using
9:39:16
Inline
btw jupyter:install from a running repl has problems establishing a server connection, the server times out or whatever and gets killed