freenode/#lisp - IRC Chatlog
Search
21:56:48
|3b|
yeah, adding git made it work, but apparently i did that wrong so i should expect it to break randomly at some point (luckily i wasn't planning to actually use this longer than just running it now)
22:33:51
TheInformaticist
de Morgan says, "...in all logical reasoning, the negation is simply negation, and nothing more, never implying affirmation of the contrary," "...since the denial of one, and the affirmation of the other, are obviously equivalent propositions." Yet, in mathematical logic, it would appear that negation is exactly that, since, for instance, to say "not equals," affirms all cases that are false under the condition of "equals." So is
22:36:02
|3b|
isn't that "law of excluded middle" or whatever it is? and what does it have to do with (common) lisp?
22:41:49
aeth
|3b|: most numbers negate as expected. -0.0f0 is counterintuitive unless you're used to floating point
22:43:51
|3b|
(pretty sure -0.0 is optional in spec, but probably exists in most current implementations)
22:45:05
TheInformaticist
The problem is, that any system that is consistent, will be incomplete, and any system that is complete, will be inconsistent.
22:46:54
White_Flame
programming is about internally complete models, not externally complete models
22:48:58
aeth
CL's escape hatch here is to have SATISFIES types which are inefficient and probably not checkable at compile time
22:53:41
TheInformaticist
<aeth>: I see. I only began studying Common Lisp yesterday, though I have studied other Lisps.
23:42:31
sveit
hi. maybe I should ask in #sbcl, but i have been trying to compile SBCL on non-rooted Android (through an app called Termux if anyone has experience). By disabling threads, and making some other small modifications to various lisp files to avoid conflicts between "linux" and "android" parts of the build, it gets somewhat far, but fails because the SBCL binary has "text relocations", which are not supported on Android. Do people know how
23:44:06
sveit
if anyone has experience with cross-compilation/compilation using the NDK or otherwise, or any other method to get a binary running on bare Android, I'd be very interested as well. I do have SBCL running under a "fake" chroot (called proot), but this is a significantly slower environment.
23:46:03
sveit
i understand it's thankless, but i wish the documentation for the SBCL build would be a bit better. for example grepping through the source i see various mysterious references to Android/NDK, so I think someone must have already figured it out
7:31:21
contrapunctus
beach: I was thinking of doing as you suggested - writing pure Lisp libraries instead of using FFI. Is it possible to write an audio library this way? Especially for programs which want to use PulseAudio or JACK? 🤔
7:33:49
beach
contrapunctus: That would be fantastic! I have never attempted to interface with those systems so, I don't know what it involves. Some reading might be required.
7:39:25
moon-child
contrapunctus: it looks like at least in the case of pulseaudio, the wire protocol is undocumented. Which /could/ mean it's unstable. (https://lists.freedesktop.org/archives/pulseaudio-discuss/2010-April/006676.html)
7:40:01
moon-child
contrapunctus: in the case of jack, I know there are multiple independent server implementations; so I expect the story there is better
7:41:45
MichaelRaskin
Yeah, Poettering is known for saying that committing to too many stable interfaces is dangerous, and «dangerous» is literally the word used (although in another context).
7:43:33
no-defun-allowed
Reminds me of another software guy that gave a talk about how he needed to break implementations in his messaging program or the world would end, so you better not write another implementation.
8:00:45
contrapunctus
It's a daunting task, especially for someone like me (no experience in programming at this level, limited available time for programming) 🤔
8:13:06
beach
contrapunctus: In fact, you could write something that uses neither Jack nor PulseAudio to start with, and just use the ALSA interface directly. You can design your own substitute for Jack and PulseAudio in the form of a CLOS protocol, designed to run in the same process as the applications. Such a thing would be useful on Mezzano and ultimately on CLOSOS.
8:14:52
beach
contrapunctus: Then you can write your applications so that the use that protocol. If you want your applications to have a GUI, all of them could be written as CLIM/McCLIM applications.
8:15:36
contrapunctus
beach: ah, that could work too (although I have no experience with using these APIs, much less designing them). The most important thing is that existing audio plugins work...but I guess that's orthogonal, because those use LADSPA/LV2/DSSI 🤔
8:19:36
beach
I was merely suggesting a way that you could concentrate on writing your applications in Common Lisp without chasing unstable protocols, at least to begin with. And your code would then be useful in different settings without modification.
8:24:55
no-defun-allowed
You could use Harmony for the protocol: <https://shirakumo.github.io/harmony/>
8:26:49
no-defun-allowed
I wrote some code with that to synthesize notes coming in from a MIDI keyboard, and it was pretty good (except that I couldn't figure out how to reduce the latency of PulseAudio, so my timing was awful). The only problem for a full Common Lisp audio system could be that it uses foreign vectors to pass buffers around, but it's not hard to imagine a Harmony with Lisp vectors.
8:59:20
beach
And the author is around, so if you have issues or suggestions for improvement, they are likely to be taken into account.
9:12:02
beach
MayheM_FAN: I know nothing about FFI, but I am guessing you are not providing enough information for anyone to help out, like what you tried in order to get that error, what Common Lisp implementation you are using, on which OS, etc.
9:14:03
beach
MayheM_FAN: That's a very unusual combination. I think most people here use SBCL on Linux.
9:14:44
MichaelRaskin
And if you are using the latest _release_ of CLisp, it's kind of expected to fail to load random things by now…
9:15:03
MichaelRaskin
(development snapshot has at least a chance, releases are too old for anything)
9:17:06
MichaelRaskin
libffi is definitely a library that exists and is used for FFI; no idea where to get a fresh Windows build
9:18:19
MayheM_FAN
loading cl-tcod with quicklisp, while it was loading cffi-features (cl-tcod requires cffi) it gave me that error
9:20:08
phoe
https://proj.goldencode.com/projects/p2j/wiki/Building_and_Installing_libffi_on_Windows
9:20:47
beach
MayheM_FAN: Wow, you really hit the jackpot. Trying to learn Common Lisp starting with FFI using CLISP on Windows.
9:21:10
phoe
I mean, if you're okay with preaching, `apt install libffi-dev` on debian would solve the issue for you
9:29:12
phoe
MayheM_FAN: I see that some chocolatey packages include libffi DLLs, maybe you could scavenge it off one of those