freenode/#lisp - IRC Chatlog
Search
8:45:03
thijso
he was just checking if anyone was here, so if not, he could steal the silverware... ;)
9:03:33
beach
Ae_Mc: Several of us meet once a year at the European Lisp Symposium, so many of us know each other. There are usually nearly 100 participants at that conference.
9:05:31
beach
Ae_Mc: ELS2020 has not been announced yet, but we happen to know that it is going to be held in Zürich, probably at the end of March.
9:09:20
beach
... and the steering committee. And especially by the program chair and the local chair, that are also different each year.
9:19:04
ck_
Can anyone help me with an ABCL question? I think I'm missing something very basic on the java side.
9:21:02
ck_
The problem is "Don't know how to REQUIRE ABCL-CONTRIB." -- I'm trying to run this code: https://gist.github.com/fsmunoz/5850260
9:21:45
ck_
I think I set the classpath correctly (tried both the -cp argument and the environment variable), but the messages "Added jar:file:..." that those files comments talk about don't happen
9:26:46
jackdaniel
could you paste somewhere exact invocation (copy paste from the terminal) and contents of: a) abcl directory, b) directory with abcl-contrib (possibly the same directory)
9:28:02
ck_
java -cp ~/opt/abcl-bin-1.5.0/abcl.jar:~/opt/abcl-bin-1.5.0/abcl-contrib.jar:org.eclipse.paho.client.mqttv3.jar org.armedbear.lisp.Main --noinform --noinit --nosystem --load abcl-mqtt.lisp
9:29:41
ck_
the directory contents of ~/opt/abcl-bin-1.5.0 are the following 6 files: "CHANGES" "README" "abcl-1.5.0.pdf" "abcl-contrib.jar" "abcl.jar" "asdf.pdf"
9:32:28
ck_
jackdaniel: okay I'll try (and I think I did before) -- but the "Don't know how to ... -CONTRIB" messages is produced from the abcl repl, so abcl.jar is found correctly
9:33:08
jackdaniel
I gather that when you invoke repl and type (require 'abcl-contrib) the problem is the same?
9:33:35
ck_
yes -- well, not exactly, because the quote syntax produces a different error message -- but it fails either way
9:35:56
jackdaniel
I think that abcl does not work *at all* on some recent Java versions because bytecode has changed and compiler has not been adapted? I'm not certain, maybe interpreter works there
10:20:58
ghard
Gday! Prior to pulling the CFFI sock up libcrypto, I'd like to check if anybody's seen a working ECDSA signing library out in the wild.
10:22:12
ghard
Asking for a friend who's got to be verifying the darned Apple Sign On JWS pronto. ;)
10:24:39
no-defun-allowed
https://gitlab.com/cal-coop/netfarm/netfarm/blob/master/Code/Crypto/keys.lisp might be good as an example of how to use it.
11:39:18
ym
Can't find mention of ChrysaLisp in logs. Wasn't discussed yet or I'm doing something wrong?
11:45:27
no-defun-allowed
https://github.com/vygr/ChrysaLisp/blob/master/apps/films/app.lisp This indentation scares me.
11:46:15
ck_
loading cl-async through quicklisp fails with "#:libuv-grovel is unbound" -- is that expected?
11:55:07
ym
no-defun-allowed, yes, but I'm more interested in bare-metal implementations. Mezzano seems cool though.
11:58:33
no-defun-allowed
It runs on an x86_64 machine, the only non Lisp part being the bootloader.
12:02:07
no-defun-allowed
And the CADR runs Lisp Machine Lisp, which is not awfully far from Common Lisp as things go.
12:04:41
ym
CADR is for retro fanboys. Variation of RISC-V and SBCL optimized for each other - that's perfect case.
12:10:29
no-defun-allowed
So you want a C machine that has been adjusted slightly to run SBCL, which in turn is adjusted to run on that C machine better?
12:12:10
no-defun-allowed
Maybe I am too pessimistic, but if I was able to fab my own processor, I would definitely have it run a more Lisp-friendly instruction set.
12:12:29
no-defun-allowed
And I am never going to be able to fab my own processor, so we have to settle on running Lisp well on C machines.
12:19:40
jackdaniel
praise the stock hardware: it gives you a reasonable price which individual can afford with good performance disregarding the language you chose
12:22:07
no-defun-allowed
It wouldn't be anywhere close to a proper fab job in terms of efficiency or performance.
12:24:52
aap
there's a project to make a reincarnation of the lambda that executes macrocode directly from C instead of emulating the microcode
12:25:09
aap
once that is running lisp code, maybe the macrocode could be executed directly from an fpga perhaps
12:33:16
jackdaniel
behold the prophecy: one day we'll have stock hardware with powerful fpga boards being their peripherals (similar to zynq) and we'll synthesize hardware at real time
15:46:18
gendl
ACTION shoutout to Roswell and SBCL. I've been developing an elaborate thing for the past 6 months or so exclusively on Allegro and CCL. Tomorrow I'm talking to a firm who is already an SBCL shop and may have a use for our stuff. So
15:47:44
gendl
So I proceeded to do 'brew install roswell', 'ros install sbcl', added the newly installed 1.5.6 to my slime-lisp-implementations, and 5 minutes later my thing is up and running under SBCL, no changes, no visible diffferences (knock wood).
15:50:04
gendl
I even did (setf (readtable-case *readtable*) :invert), so everything looks the same as in Allegro in modern-mode (maybe I should start doing the same thing in Allegro and ditching modern-mode, although I have to see if abandoning modern-mode support would break any of our stuff for the few people who i think are using it under modern-mode )...
17:23:27
mfiano
If I supply the initargs argument to CHANGE-CLASS with an initarg not present in the target class, but instead defined by an initialize-instance :after method, it fails with "Invalid initialization argument" on SBCL. I could do (apply #'change-class instance class :allow-other-keys t initargs), but also, initialize-instance is never called. Do I have to explicitly call initialize-instance as well?
17:25:02
Bike
if you want the method to happen both on initialization and change-class it should be on shared-initialize.
17:26:38
mfiano
No I mean this code in general. I'm using the MOP to plug in topologically sorted mixin classes into a progn/most-specific-last protocol
17:32:04
mfiano
I've actually never used shared-initialize before. In this case, what should the slot-names argument be?
17:35:18
mfiano
In this case, I'm defining additional initargs for make-instance/change-class with the keyword arguments, and I will be setting slot values using them.
17:35:21
Bike
the thing to understand about initialization is that the primary method on make-instance is (initialize-instance (allocate-instance class ...initargs) ...initargs), and the primary method on initialize-instance is (shared-initialize instance t ...initargs), i.e. initialize-instance doesn't actually do anything by itself
17:36:31
Bike
with change-class the slot-names argument will be a list of the slot names added by the new class. meaning that you're not supposed to touch the existing slots.
17:40:59
mfiano
How does reinitialize-instance come into play? I do have a reinitialize-instance method defined for 1 class that I may change an instance to, and would like this called too.
17:41:59
Bike
in that case the list of slot-names will be nil, so you're not supposed to update any slots that don't have an initarg
17:42:14
Bike
sorry, i explained that poorly before, the list of slot names is the ones you're not supposed to touch if there's no initarg.
17:42:25
Bike
if there is an initarg you do change the slot because it's been explicitly given a new value
17:43:22
Bike
so for example if you have an instance with a slot that's unbound, initialize-instance will give that slot a value from the initform, but reinitialize-instance will not
17:45:38
Bike
if you redefine the class, shared-initialize will also be called, by update-instance-for-redefined-class. may or may not be relevant
17:48:05
mfiano
I normally use an :after method for initialize-instance for this type of thing. With shared-initialize does that still make sense?
17:49:08
Bike
initialize-instance methods make sense when you want something to happen only during initialization (like through make-instance) but not other times (change-class, reinitialize-instance, make-instances-obsolete)
18:28:48
Xach
before when i was interactively kicking off builds, cutting the time down made a huge difference
18:31:05
Xach
I'd still like to pursue it. It would be nice to come up with a system that I could run on e.g. 100 cloud servers and complete in 5 minutes or something.
18:33:53
srji
I am trying to extract elements from a sequence and want to copy them to a new list. https://gitlab.com/snippets/1896440
18:35:38
ck_
Xach: well, its about to be the season for more indoor activities. maybe you will be coerced into continuing .. by snow for example
18:36:18
Xach
ck_: it's possible but that is also the best time to harvest trees for firewood and lumber - less sap to dry later.
20:02:34
thijso
I'm looking for a system/library to facilitate kind of a disk-backed memory store. Something that saves the data to disk regularly, but a little loss is acceptable. Is there something like that for Lisp already? Might cl-prevalence be a good fit? Ubiquitous looks kinda like something also, except it's documentation is about persistent _configuration_ storage. Any other suggestions?
20:03:18
thijso
I'm thinking I might just start out with plists (or maybe a hash) and just serialize that to disk with alexandria or something.