freenode/#lisp - IRC Chatlog
Search
15:53:40
philweb
anyone familiar with floating point exception handling in ECL? I'm having problems disabling either within ECL or from the command line and not sure if my issue is that the docs are outdated/incorrect documentation or if I'm just misunderstanding them
16:03:35
phoe
philweb: does https://github.com/Shinmera/float-features contain a solution for your problem?
16:10:56
philweb
phoe: it looks like the same thing I've tried: (si::trap-fpe :divide-by-zero nil) but then I still get an error with (/ 1 0). I also tried setting it to t rather than nil thinking I had it backwards... no change
16:23:38
flip214
has someone succeeded in using sbcl on android? so that some fasl file gets loaded as an app?
16:24:27
flip214
I just remembered that I have an ARM32 pre-build binary floating around, that might just work
16:29:17
phoe
philweb: #'/ on rationals will not output a float, but a rational, which is why, as jackdaniel said, there's no float division and therefore no float exceptions to mask
16:29:46
philweb
jackdaniel: doh! right you are. thanks... so it looks like a combination of outdated docs (the docs indicate division-by-zero rather than divide-by-zero) and then me screwing up testing it
16:31:32
philweb
fwiw, I was referring to https://common-lisp.net/project/ecl/static/manual/Numbers.html#Numbers-_002d-Floating-point-exceptions and the names related to fpe appear to be incorrect/outdated
19:06:45
mseddon
weird question- there are obviously legal copies of the CLHS and ClTl2 online, but are they hosted by particular copyright holders, or can I use e.g. their function definitions etc to create my own reference documentation?
19:10:18
mseddon
I know, for example I can install them into emacs, but I wonder does it just pull them down to bypass that?
21:16:24
gendl
Hi, if i put a (break) in my program, which lands me in the slime debugger, how can I get a repl with local variables set as in a chosen item from the backtrace ?
21:17:26
gendl
if I open the item 0 in the backtrace i'm seeing "Locals:" with the relevant local variables reported, so now i'd like a repl to be able to evaluate expressions in that environment
21:20:27
gendl
reading manual here, less daunting than I thought it would be: https://www.common-lisp.net/project/slime/doc/html/Examining-frames.html
21:28:47
gendl
phoe: got it. well, eval-in-frame one expression at a time is enough for me for now. at least i can see the exact expression the error is coming from so i can dive into its code.
21:32:01
jmercouris
anyone know of something like this for cl? https://github.com/kongaskristjan/fire-hpp
21:32:48
fwoaroof[m]
jmercouris: I've been working on something similar, but haven't gotten it exactly right yet
21:36:31
fwoaroof[m]
A system implements this generic function specialized on the uppercase version of the program name (argv[0])
21:36:57
philweb
when building an application using asdf:make-build in ECL, what information is being used to determine which packages need to be included in the resulting image? I see that it's pulling in a lot, but not everything needed.
21:37:09
fwoaroof[m]
Then, when the system starts up it loads the system corresponding to argv[0] and runs MAIN with the command line arguments
21:37:25
jmercouris
fwoaroof[m]: how do you know WHAT the arguments are without parsing all of the forms?
21:37:54
phoe
I'm asking because there's been some recent bugs on ASDF that sound similar to what you describe
21:38:15
fwoaroof[m]
here's an example user: https://github.com/fiddlerwoaroof/utilitas/blob/master/eval-args.lisp
21:38:16
jmercouris
fwoaroof[m]: yeah, the fire-hpp automatically names the arguments, though arguments in C languages are much simpler
21:38:50
fwoaroof[m]
Yeah, what I was really going for is a single convention making it easy to just run an ASDF system as a program
21:39:03
fwoaroof[m]
the idea is you'd just symlink the binary under different names and it'd pull in the right code
21:39:38
philweb
phoe: it's 3.1.8.2 and I'm running ECL 16.1.3 (that's the version currently in Debian stable)
21:41:28
jmercouris
when you funcall add, it should say "x: ?" and then "y: ?" and you can submit them
21:41:55
jmercouris
I know there is some way to determine the arguments associated with a function object, but I was told it was non portable if I remember
21:41:57
philweb
I was afraid you'd say that ;-) (the downside to running stable)... ugh, it's the same version in testing. Is there no maintainer for it on Debian?
21:42:39
phoe
philweb: I have no idea; you should try building https://common-lisp.net/project/ecl/posts/ECL-20424-release.html
21:43:00
jmercouris
phoe: Nicholas' readme makes me think there must be an exported symbol in swank for doing this
21:47:30
fwoaroof[m]
iirc the first value is the ordinary arguments, the second is optional as triples and the third is keys in some shape :)
22:04:40
jmercouris
anyone have experience doing genetic programming in CL by directly recombining sexps and bodies together?
22:04:53
jmercouris
I am just thinking about since you mentioned parse-body and parse-ordinary-lambda-list
22:06:49
aeth
Xach: This might sound like a stupid question, but is Quicklisp just for Common Lisp? I can think of two edge cases where CL libraries might be of limited utility to the broader CL community: (1) add-ons for a CL application (e.g. Nyxt Browser) or (2) libraries for a language integrated with and written in CL but not CL
22:07:54
jmercouris
I've seen how to make a quicklisp dist, and that's basically what I will do, use Zach's tools to hopefully have a dist for it
22:07:57
aeth
Yes, #1 relates to my game engine (Zombie Raptor) and #2 relates to my Scheme-in-CL, Airship Scheme.
22:08:18
jmercouris
I also looked at ultralisp to see if it would be simpler to set-up, but it seems no
22:08:26
aeth
For #2 in particular, I'm not sure if it belongs in a separate dist or as part of CL, especially since quite a lot of the Scheme should be callable from and usable in CL. You'd have to go out of your way for that not to happen
22:08:46
aeth
I've collected my current thoughts for #2 in my Airship Scheme issue tracker. https://gitlab.com/mbabich/airship-scheme/-/issues/20
22:09:33
aeth
jmercouris: I want to fork Ultralisp for Airship Scheme not because I find it useful but because it's git-enriched, and thus it can be called Git-Rich Quickscheme.
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