freenode/#lisp - IRC Chatlog
Search
21:53:45
fiddlerwoaroof
If anyone wants a docker image with sbcl built to work with CFFI:STATIC-IMAGE-OP, here's a Dockerfile: https://fwoar.co/pastebin/9b30249f564662b48b1612759c2328204fe4bb04.nil.html
21:54:58
fiddlerwoaroof
This will essentially let you generate a binary that has no dependencies on any shared objects loaded by CFFI
21:58:59
fiddlerwoaroof
That one's slightly wrong, this one's better: https://fwoar.co/pastebin/7893627c963cdbd4b63de76ef72240dd22bb58e9.nil.html
23:35:44
fiddlerwoaroof
The reason I did all this work is that CFFI generates runtime dependencies on shared objects that make it hard to transfer a dumped lisp image to someone else's system
23:36:08
fiddlerwoaroof
(osicat is the worst offender here, ime, because it generates a so as part of its build in the ASDF cache directories)
23:37:58
fiddlerwoaroof
(you asked me about it a couple months ago, but things have been kinda crazy around here)
3:51:27
LdBeth
Currently it is https://github.com/LdBeth/CLFSWM/blob/f3250a3dde2c8b2a6fb1017210f2c614abee5c0d/src/xlib-util.lisp#L202
3:52:16
no-defun-allowed
is there a print depth variable which has the levels of recursion that the printer has done to get to print the current object?
3:53:38
no-defun-allowed
damn! i guess i could wrap my own depth value since the conditions when it'll be printed shouldn't be too broad
3:56:14
Bike
you can bind *print-depth* but it'll just replace compound objects at that depth with # or something
3:56:45
no-defun-allowed
yeah, i'm trying to make the CL printer emit LLVM representations out of boredom
3:56:51
LdBeth
beach: it expands to a DEFUN handle-event-fun-'mode'-'keyword', and uses frequent unintern & intern symbols in keyword packages to archive something close OOP paradigm
3:57:18
no-defun-allowed
so if we recurse into something like an arithmetic operator, we have to make another line before the current line
3:59:55
no-defun-allowed
well, it'd be nice to do so since i could examine results using the usual REPL stuff, but it's not necessary
4:00:56
no-defun-allowed
i suppose to print a LLVM instruction though, i have to check if any arguments in the instruction are instructions themselves and create temporary values for them at least
4:02:24
no-defun-allowed
well, my strange smalltalk-lookalike parser worked out alright so i wanted to make a compiler for the parser :P
4:04:04
no-defun-allowed
since i did write out some examples that i'd test the parser with, and they look pretty good and readable to me
4:05:32
no-defun-allowed
my first plan was to write a compiler to C, but i realised it wouldn't work too nicely for local variables and mutating code, and i found out LLVM had GC hooks too
4:51:05
no-defun-allowed
however, i could do that printer trick, but if i temporarily rewrite the values in an operator
5:11:46
beach
It used to be easy to produce simple sounds on GNU/Linux, but I don't know how to do it anymore. I only need it for some testing purposes, so does anyone know a simple way of producing short sound snippets from, say, SBCL? Specifically, I need to know how to open (and perhaps initialize) a sound device.
5:16:51
beach
But don't get me started on that. I just need to generate a sine wave from Common Lisp and listen to it.
5:17:44
LdBeth
There's a package called alsa-oss provide that device, you'd be able to find it in Ubuntu's package manager