libera/#commonlisp - IRC Chatlog
Search
0:37:35
aeth
fe[nl]ix: my assumption is that it would have to go back 5 years? or would that be too stable?
0:37:48
yitzi
fe[nl]ix: Do you maintain bordeaux-threads? If so, I opened a PR to add atomic support for Clasp if have time to review sometime.
0:39:14
aeth
fe[nl]ix: Is it worth supporting Debian 8 (7 years) instead of Deiban 9 (5 years)? I'm assuming that's going to be the oldest.
1:17:20
fe[nl]ix
aeth: that seems too old. I'll compile it on a Ubuntu 18.04 LTS and you'll tell me if any users complains
2:46:18
nij-
Hi! A new line is printed whenever the main function is called. This gets annoying when the main function has to be called several times. However, I cannot locate where the printer is..
2:49:14
aeth
(defun foo () (print "hi")) (defun bar () (print "hello")) (defun main () (foo) (bar)) (trace main) (main)
2:53:40
Bike
honestlly, whenever i've run into this i just grep my sources for whatever's being printed.
3:32:33
aeth
nij-: trace what you think the midpoint call is, see if the newline shows before or after the midpoint
3:48:43
doulos05
I cannot figure out how to install it. I've tried `yum install sbcl`, but it didn't work.
3:52:17
doulos05
beach: Yeah, I was just hoping to be able to use a package manager to handle keeping it up to date
3:52:47
doulos05
But since it isn't really wanting to work, I'm just going to curl the binary onto the server
3:53:17
doulos05
If I figure out how to get it via dnf or yum, I can always just rm the binary and that should work
3:58:14
aeth
that's probably the modern Red Hat approach and Oracle Linux is just Ctrl+C Ctrl+V RHEL so that would be the way to go, I think.
3:59:02
aeth
then you'd just take the smallest docker image (but through podman) that has the latest SBCL
3:59:11
aeth
I use https://hub.docker.com/r/daewok/lisp-devel in CI but that might be too heavyweight and it might not have the latest
4:01:02
mason
doulos05: sbcl is in EPEL 7: https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/s/sbcl-1.4.0-1.el7.x86_64.rpm
4:01:18
doulos05
I was developing a project in Django (only because I didn't have time to learn Hutchentoot before the deployment date) and despite using a venv, managed to get all my system packages into my virtual env
4:01:55
doulos05
Ment I had to spend about 20 minutes going through my requirements.txt nuking `thefuck` and other apps that I don't need on a server.
4:03:07
doulos05
mason: Yeah, I think I'll just do the podman setup. Part of the point of these servers is to figure out proper partitioning for services, and docker/pods is one of the more straightforward way to do that.
4:03:54
kakuhen
I would help maintain the Fedora package but I have no idea where to even begin with the package repos... that and I need to learn how RPMs work.
4:04:38
kakuhen
MacPorts is also fairly out of date (2.2.6 i believe?) but I won't comment on it to prevent venting frustration with the process of updating it.
4:04:51
mason
doulos05: Hrm, another option would be to download https://sourceforge.net/projects/sbcl/files/sbcl/2.2.8/sbcl-2.2.8-x86-64-linux-binary.tar.bz2/download and manage it with GNU Stow or something. Fewer moving parts than a container.
4:05:58
doulos05
mason: Thanks! The joy of learning on hardware you aren't using for anything important is that if I fuck it up, I can just nuke the instance and start over.
4:06:21
aeth
Fedora has clisp, ecl, and sbcl, but no ccl. Only the sbcl seems particularly out of date. The clisp is a random one from git rather than the last stable version (from July 2010).
4:07:08
kakuhen
I know this because I recently modified the MacPorts package to pull source code from that commit
10:22:56
pjb
pkal: I use: (define-symbol-macro ll (load "loader.lisp")) so I only have to type ll to load the loader.lisp file in the current directory.
10:27:58
pjb
pkal: if you want to reload the file while loading the file: (load *load-pathname*) but beware of infinite recursive loads!
10:42:18
pkal
pjb: By current file I mean the file that is currently being loaded. I want to have a function that will reload the file it was defined in.
11:33:07
nij-
It has completed 20% of its task. In the end, it should return a hash table that contains all info I want.
11:38:04
nij-
I tried (break)ing in the inferior lisp, but it doesn't let me inspect the hash table :(
11:42:00
nij-
Oh, I can peek into the info :) But is there anyway to dump those into a file from the debugger?
11:47:02
beach
nij-: Or you can it `e' in a debugger stack frame and evaluate a form relative to that frame.
11:52:19
nij-
Just curious. Suppose I hit C-c C-c during (let ((x 3)) (sleep 3)), is there any way to inspect the local var X?
11:52:55
beach
With a high enough DEBUG quality, the variable might be available for inspection in the stack frame where it is created.
11:54:16
nij-
Can I press 'e', evaluate some form, and write the value of the local X into some file?
11:57:15
pve
pkal: in that case, you might want to have a look at *load-pathname* and *compile-file-pathname* or the truename variants.
12:07:19
kaskal-
quick question, I did not find any info on cffi docs or source about static library archives, like `libblas.a`, is there not support for it ?
12:13:16
nij-
I'm deeply amazed. Is this feature available for other langs, like python? I never thought I could do this..
12:16:33
beach
Well, with GCC and GDB, the functions have to be in the program for you to be able to call them. But if the program is linked with the right stuff, then sure.
12:17:12
beach
When I taught a course in development tools, I had the students link with Xlib, and from GDB in an empty main() I had them open windows and such.
12:17:13
kaskal-
beach yes I think so too, however I would have expected cffi to be passed a static archive or `.so` without much trouble, or at least if the implementation supports it that cffi wraps it, just like in gcc and clang I can just compile like `$CC my-file.o whatever.a`
12:21:05
hayley
beach: In my GC foolery with SBCL I keep a few useful functions for debugging with me. One prints out a "visualisation" of the page table, and another generates a Netpbm image file of the line table.
12:21:53
hayley
When things go wrong, I call those functions from GDB to figure out help what went wrong.
12:23:28
hayley
There was a story that Marvin Minsky did the same sort of debugger programming, but starting from an empty program and writing more and more assembler code.