<antonv>
I subscribed to the mailing list, got a confirmation email and confirmed, and the final "Welcome to the "cmucl-imp" mailing list". But when I post, the server rejects emails.
<antonv>
It looks CMUCL is trying to resolve the foreign symbol when reading the form representation in fasl, not when execuring the form
Kundry_Wag has quit [Ping timeout: 250 seconds]
<pjb>
That doesn't seem excessively out of this world.
<pjb>
Said otherwise, if you want to use a library, you better load it first.
<mathpacka>
how do you run lisp from command line?
orivej has quit [Ping timeout: 240 seconds]
<antonv>
pjb: the library is loaded, but different versions of the library provide different functions. I'd like to use ones corresponding to the loaded version
<mathpacka>
ok
<antonv>
e.g. (when (openssl-version> 1 1 0) (cffi:defcfun ...))
<antonv>
but with CMUCL, it's difficult to do - it fails even if the definition is conditionalized
<pjb>
You will have to split the defcfun forms into different files, and load only the files matching the library version.
sauvin has joined #lisp
<pjb>
You can do: #+#.(cl:if (the-package-where-openssl-version>-is-defined:openssl-version> 1 1 0) '(:and) '(:or)) (progn (cffi:defcfun …) (cffi:defcfun …) …)
<antonv>
Yes, it came to my mind, but it's very complicated way
<pjb>
or <
<pjb>
Yes, better split out files.
<antonv>
OpenSSL develoeprs renamed the function which returns version number
<antonv>
In old versions it was called SSLEay
igemnace has joined #lisp
<antonv>
in new versions it's OpenSSL_version_num
<antonv>
So I would need to place these two openssl versiond definitions in two files, try load one - if no errors happen the use it, otherwise try to load another one
iovec has joined #lisp
<antonv>
How to express that in ASDF ...
<antonv>
It's paradoxal that a dynamic language lisp is so inflexible when dealing with ffi
<pjb>
Only cmucl, since its FFI works at compilation-time.
<antonv>
I was hoping there is a flag or other way to prefent the failures in CMUCL
<pjb>
You can use dlopen dlsym to find which symbol is available "without error".
<pjb>
And it's possible, check cmucl documentation.
<antonv>
dlopen dlsym are absent on Winddows...
<pjb>
Their equivalent.
<antonv>
> ant it is possible
<antonv>
what is possible - dlsym or a flag / other way do disable the failure?
mathpacka has quit [Remote host closed the connection]
Kundry_Wag has quit [Ping timeout: 240 seconds]
marvin2 has quit [Ping timeout: 240 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
madrik has joined #lisp
asarch has joined #lisp
<madrik>
Greetings.
<beach>
Hello madrik.
<beach>
Good morning everyone!
<madrik>
beach: A very good morning to you, too.
<fiddlerwoaroof>
My experience with OpenSSL is that
serichsen has quit [Ping timeout: 252 seconds]
<fiddlerwoaroof>
antonv: ASDF has :if-feature for components now
<fiddlerwoaroof>
So, if you can arrange to set the features to correspond to SSL versions, you can pull in the appropriate version.
<fiddlerwoaroof>
Or, you might be able to rig something with the #. reader macro
ggole has joined #lisp
dale has joined #lisp
iAmDecim has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
dacoda has quit [Ping timeout: 240 seconds]
adam4567 has joined #lisp
antonv has quit [Ping timeout: 244 seconds]
notzmv has joined #lisp
keep_learning_M has joined #lisp
Bike has quit [Quit: leaving]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 245 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
dddddd has quit [Remote host closed the connection]
nanoz has joined #lisp
prite has joined #lisp
_whitelogger has joined #lisp
Necktwi has quit [Ping timeout: 240 seconds]
xkapastel has quit [Quit: Connection closed for inactivity]
Lycurgus has joined #lisp
rippa has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
Lycurgus has quit [Remote host closed the connection]
Josh_2 has quit [Remote host closed the connection]
Josh_2 has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 272 seconds]
wigust has quit [Remote host closed the connection]
<no-defun-allowed>
Erm, are there any websocket libraries that don't use fast-io and thus don't use CFFI?
nanozz has joined #lisp
<no-defun-allowed>
s/libraries/clients. hunchensocket works fine for servers.
wigust has joined #lisp
nanoz has quit [Ping timeout: 244 seconds]
<no-defun-allowed>
Welp, I'm writing one then.
<beach>
Excellent idea!
Kundry_Wag has joined #lisp
<no-defun-allowed>
I think the easiest way is to get a stream from Drakma, then I can start writing frames through that stream.
Kundry_Wag has quit [Ping timeout: 250 seconds]
Kundry_Wag has joined #lisp
<no-defun-allowed>
I got a text message sent so far.
Kundry_Wag has quit [Ping timeout: 268 seconds]
<p_l>
no-defun-allowed: you can also try to hijack Drakma's connection, but I'd probably recommend adding a condition or such to HTTP code that escapes for protocol switch used by websocket
<no-defun-allowed>
so far, i have been hijacking drakma's connection, but that's a good idea
<no-defun-allowed>
but when you use a websocket, you absolutely expect a websocket, and when you don't use a websocket, you don't get a websocket since you must set headers to get one
Kundry_Wag has joined #lisp
<no-defun-allowed>
and i read a message, that'll do for starters
Kundry_Wag has quit [Ping timeout: 268 seconds]
orivej has joined #lisp
FreeBirdLjj has joined #lisp
<fiddlerwoaroof>
no-defun-allowed: I started writing one at one point, but the spec was too daunting
<fiddlerwoaroof>
... and I didn't really feel like yak-shaving because I had a project I wanted to do
<no-defun-allowed>
that's fair
<fiddlerwoaroof>
I've always had mixed results with raw sockets in CL
<fiddlerwoaroof>
I remember running into some edge cases where, no matter what I did, the server wouldn't respond but it would respond to fukamachi websocket-driver
<no-defun-allowed>
websocket-driver won't run on my server, because of something to do with cffi and fast-io, and it's not too fun to program with, compared to hunchensocket
<fiddlerwoaroof>
Interesting, I wrote a thin wrapper around it, but I didn't find it too painful to program against
smokeink has quit [Remote host closed the connection]
smokeink has joined #lisp
<no-defun-allowed>
attaching state to a websocket is basically impossible without closures
<no-defun-allowed>
closures work, but you can't pull the variables out after
dale has quit [Quit: dale]
<fiddlerwoaroof>
I had a little "daemon" that essentially took the websocket messages and put them on a queue
<no-defun-allowed>
with hunchensocket you just subclass the socket
<fiddlerwoaroof>
And listened to another queue for messages going the other direction
<no-defun-allowed>
that's what i ended up doing too
<no-defun-allowed>
though i think i just wrote outgoing messages
<fiddlerwoaroof>
And then I wrote my app to just pull stuff from one queue and put stuff on the other
<beach>
Remarks here are fine, or by email to my gmail account.
<ecraven>
thanks, those look like interesting papers!
Kundry_Wag has joined #lisp
<beach>
ecraven: Thank you!
<makomo>
yup, interesting stuff
robdog_ has quit [Remote host closed the connection]
Kundry_Wag has quit [Ping timeout: 268 seconds]
random-nick has joined #lisp
robdog has joined #lisp
FreeBirdLjj has joined #lisp
FreeBirdLjj has quit [Ping timeout: 246 seconds]
nicdev has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 245 seconds]
<madrik>
beach: Glad to know your papers are done. I hope they will be well received.
atgreen has quit [Ping timeout: 246 seconds]
<ggole>
beach: '“something like” the follow form' should be following
<ggole>
'this form can contain additional lexical definitions into the method body' also doesn't look right
Oladon has quit [Quit: Leaving.]
ravenousmoose has quit [Quit: Taking a quick nap...ZZzzz]
Zaab1t has joined #lisp
atgreen has joined #lisp
sjl has joined #lisp
<Bike>
maybe you should mention that this still requires the method class to exist at compile time.
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 250 seconds]
Kundry_Wag has joined #lisp
robdog has quit [Remote host closed the connection]
ravenousmoose[aw has joined #lisp
Kundry_Wag has quit [Ping timeout: 268 seconds]
ravenousmoose[aw has quit [Client Quit]
ghard has quit [Ping timeout: 250 seconds]
<makomo>
Bike: the same holds for the generic function's class specified with :generic-function-class, right?
robdog has joined #lisp
<makomo>
i.e. both of those class metaobjects must exist in order for us to call CLASS-PROTOTYPE on them
robdog has quit [Remote host closed the connection]
robdog has joined #lisp
robdog_ has joined #lisp
robdog has quit [Ping timeout: 264 seconds]
bendersteed has quit [Ping timeout: 244 seconds]
Kundry_Wag has joined #lisp
fusagi has quit [Read error: Connection reset by peer]
Kundry_Wag has quit [Ping timeout: 272 seconds]
voidlily has quit [Ping timeout: 264 seconds]
robdog_ has quit [Remote host closed the connection]
<Bike>
sure
Kundry_Wag has joined #lisp
voidlily has joined #lisp
Kundry_Wag has quit [Ping timeout: 244 seconds]
ravenousmoose has joined #lisp
fusagi has joined #lisp
ggole has quit [Quit: ggole]
notzmv has quit [Ping timeout: 250 seconds]
nitrix has joined #lisp
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
Kundry_Wag has joined #lisp
Kundry_Wag has quit [Ping timeout: 246 seconds]
McParen has left #lisp [#lisp]
nitrix has quit [Ping timeout: 256 seconds]
Kundry_Wag has joined #lisp
* sjl
sighs, adds 15 minutes to "number of minutes wasted figuring out why a method isn't getting called because you forgot to export the symbol and the defmethod implicitly created a separate generic function"
tizbac has joined #lisp
Kundry_Wag has quit [Ping timeout: 240 seconds]
<aeth>
sjl: I actually put several DEFGENERICs in my util file that comes (practically) first and that is imported by (practically) everything because it would be too hard to find a proper place for them and always import them. Especially #'name
<sjl>
This time I forgot to export the name, so that wouldn't have helped me :(
makomo has quit [Quit: WeeChat 2.2]
<aeth>
sjl: It would have narrowed down what could have gone wrong.
notzmv has joined #lisp
<aeth>
Of course, not every DEFGENERIC belongs in such a general place.
<sjl>
I'm not sure how. I did have the DEFGENERICs, but the symbols were never exported. Doesn't matter what package they live in if you forget to export them.
<void_pointer>
it is probably also possible to stuff tinyscheme on a number of microcontrollers. I've seen one person on the web claiming doing it or seeing it done on one in particular.
cage_ has quit [Remote host closed the connection]
Kundry_Wag has joined #lisp
<void_pointer>
tizbac: lisp has been used everywhere over the long years, from machines with so little RAM that an arduino uno's 2 KB looks generous to gigantic modern systems. Though, most of the ones meant for small systems are quite out of date and using dialects that predate the ones alive today
<void_pointer>
tizbac: but probably still possible to get up and running, and possibly modify for a new environment
<void_pointer>
assuming bitrot hasn't claimed them
Kundry_Wag has quit [Ping timeout: 245 seconds]
kajo has quit [Ping timeout: 252 seconds]
ravenousmoose has quit [Quit: Taking a quick nap...ZZzzz]
drolax has joined #lisp
Krystof has joined #lisp
xkapastel has quit [Quit: Connection closed for inactivity]
kajo has joined #lisp
AroPar has joined #lisp
lemoinem has quit [Ping timeout: 268 seconds]
Kundry_Wag has joined #lisp
AroPar has quit [Remote host closed the connection]
xkapastel has joined #lisp
abhixec is now known as group
group is now known as abhixec
Kundry_Wag has quit [Ping timeout: 246 seconds]
gxt has joined #lisp
dacoda has joined #lisp
fusagi has quit [Ping timeout: 240 seconds]
MichaelRaskin has quit [Quit: MichaelRaskin]
<aeth>
CL implementations seem to be happiest with 64 MB to 128 MB minimum, but that's 64-bit. 32-bit might be better, I think? I don't think there's a current 32-bit CL implementation that would be happy with being provided with less than 16 MB RAM, though.
<aeth>
A blank ECL seems to start up with 50.5 MB RAM, but that's x86-64 and everything default. I wonder if there's a way to get it under 16 MB. It'd still be too much for a microcontroller by several orders of magnitude, though.
<pjb>
emacs is only 8 megas and constantly swapping.
<pjb>
So there's a lisp that can stand in this small space.
<aeth>
If only. My graphical (X11) Emacs is 86.5 MB on start, a bloat of more than 10x, and it can easily go into the hundreds when actually in use
<aeth>
The terminal is 65 MB so most of it isn't X11.
mathpacka has joined #lisp
<pjb>
/Applications/Emacs.app/Contents/MacOS/Emacs-x86_64-10_10 is only 18 MB.
<pjb>
Emacs-i386-10_5 is only 12 MB.
<aeth>
Are you talking about the binary size? For my system it's 39 MB, and I'm guessing the other 30 is all of the Emacs Lisp it loads.
<aeth>
I wonder why there's a huge difference there.
<aeth>
Maybe compression? There's always a space and speed tradeoff and people tend to prefer speed these days.
random-nick has quit [Ping timeout: 246 seconds]
Kundry_Wag has joined #lisp
<pjb>
Anyways, it'd be easy to make a small emacs. But why? (and there are alread hundred of emacsen, most of them small).
drolax has quit [Remote host closed the connection]
<void_pointer>
lispworks has a tree-shaker if I remember correctly which can probably knock its RAM usage on load down quite a bit, but I don't know how big it would be to start with
<void_pointer>
due to not ever having lispworks
X-Scale has joined #lisp
dacoda has quit [Remote host closed the connection]
dacoda has joined #lisp
markoong has joined #lisp
lemoinem has joined #lisp
q3d has quit [Ping timeout: 256 seconds]
drolax has quit [Ping timeout: 252 seconds]
makomo has joined #lisp
notzmv has quit [Ping timeout: 268 seconds]
notzmv has joined #lisp
marusich has joined #lisp
phoe has quit [Ping timeout: 264 seconds]
Kundry_Wag has joined #lisp
joast has quit [Quit: Leaving.]
terpri has quit [Remote host closed the connection]
Kundry_Wag has quit [Ping timeout: 240 seconds]
Lycurgus has quit [Ping timeout: 244 seconds]
joast has joined #lisp
Kundry_Wag has joined #lisp
monokrom has quit [Remote host closed the connection]