freenode/lisp - IRC Chatlog
Search
0:47:24
nij
Hello! After I start a swank/slynk server, how do I check (in that repl) how many ports have been listening, and how many ports have been connected to how many instances?
4:00:00
pagnol
Anyone here who has done natural language generation? Maybe in languages other than English?
4:01:04
beach
pagnol: If you have a question, it is usually better just to ask it than to wait for someone to admit to working in that domain.
5:26:09
jackdaniel
I generate natural language every day with my vocal cords and fingers, does it qualify for a beer? :)
7:15:32
Shinmera
You can use cl-mixed for that. https://github.com/Shirakumo/cl-mixed/blob/master/examples/tone.lisp
7:20:14
Shinmera
There's also Harmony which presents a higher-level interface. Unfortunately I haven't gotten around to writing extensive docs for either :(
8:41:03
Shinmera
Uh, sure. All the transforms and inputs spiral works with are human made. There's a lot of engineering ingenuity behind it.
8:42:54
Shinmera
The theory behind Spiral that allows it to generate code this efficient is quite interesting, but also quite off-topic.
8:44:33
Nilby
Yes. I was just wondering if there would be any hope to write such things like ffts and dcts and such in lisp and have any understanding when looking at a #'disassemble output
8:48:23
scymtym
there is https://github.com/pkhuong/Napa-FFT3 which also makes heavy use of domain knowledge instead of relying on the compiler
8:51:02
Nilby
scymtym: Thanks. That actually makes me feel better, even if pkhuong is too smart for me to fully understand.
8:55:17
Nilby
Shinmera: One could just fairly mechanically translate it's C into Lisp, since it's incomprehensible anyway, but I'm not sure it would retain it's properties.
8:56:05
Shinmera
It would not. It would also be hard because at least te x86 generated code makes use of vector extensions
8:58:55
Shinmera
I've still put a bunch of stuff into Lisp land, mostly the I/O parts at the ends that are cl-mixed extensions.
8:59:24
Shinmera
and libmixed is written in such a way that you can still integrate with it from lisp if you want to prototype.
9:00:49
Nilby
I'm still trying to keep my code all Lisp above the kernel, so I a can someday port to a LispOS, but I'm sure you know the difficulties.
9:02:18
Shinmera
I'm now in the business of having to sell stuff to people, and the sales numbers for people on a lispos would be way too low to bother supporting :)
9:04:50
Shinmera
In fact I'm even strongly considering dropping support for macOS, because the amount of effort required to keep up with Apple's constant stream of turds is probably not worth the earnings.
9:07:27
splittist
Shineraware is like an Aladdin's cave of goodness, by the way. So many thanks for all that.
9:07:51
no-defun-allowed
A Lisp port of JEP 338 could be nice, except that a fallback without vector registers would probably be dog slow.
9:13:18
Shinmera
no-defun-allowed: by the way have you looked into using intel vtune to instrumetn your hash table efforts? I've found it quite useful to see what the processor is spending its time doing back when I had to do a project for low level optimisation.
9:13:59
no-defun-allowed
I have not. Would it work well with SBCL (and knowing Intel, an AMD processor)?
9:14:52
no-defun-allowed
Though I was bummed out to read that Zen 1 only has a 128-bit vector doohickey, so I wouldn't have much of a chance at getting better throughput moving to AVX2 on this desktop.
9:18:57
no-defun-allowed
Then if you have a NUMA machine, a metadata table is often a bad idea. And the trained eye will notice resizing is not wait-free. Lots of fun stuff.
9:23:06
Nilby
I feel like all this harware that makes things hard is actually crap, there's a much better architecture, that doesn't have a bit width, and where we don't have to push electrons around so hard.
9:25:15
no-defun-allowed
Usually, eh, I don't mind it so much, but I took a peep at register allocation today, and x86-64 has a bit of what us software people might call "cruft". But if you have backwards compatibility with the original IBM PC, then cruft is what you get.