freenode/#lisp - IRC Chatlog
Search
18:56:02
jasom
can anyone point me to the best way to develop lisp software on a remote linux system? I'm thinking tramp-mode for editing plus connecting to a swank server, but maybe there's a better way?
19:00:02
Xach
jasom: lately i've been using remote emacs, with xterm-mode for mouse click/drag, two vertical panes on a wide terminal, and mosh.
19:00:32
Xach
jasom: some terminals can also transparently sync the remote kill ring with the local clipboard (not my xterm, though)
19:01:23
jasom
you use screen and mosh? I thought they both did detachment, so is the screen just for multiplexing?
19:02:52
Xach
Anyway, screen gives some flexibility to connect from ssh or something else in a pinch.
19:05:24
jasom
in this case the machine is plugged into the same ethernet switch, so latency not an issue
19:05:30
flip214_
beach: I'll be having discussions for some time yet... I delivered my paper and had a few meetings already
19:08:44
Xach
jasom: ah. for me, tramp had too much latency, and i had trouble getting the translation to work. i've found it simpler to use a remote emacs with mouse support instead.
19:09:02
Xach
it took me until late 2020 to find out that there was a way to get mouse clicks on a remote emacs :(
19:09:40
Xach
i use and like mac GUI emacs, and hate how X emacs looks on a Mac display, and the keys didn't map right and I didn't want to figure it out.
19:19:45
recalloc
Is there any chance of optimization by declaiming an ftype? I want to indicate the intended parameter type (and promised return type if filled), but I don't want it to error if the wrong type is passed in.
19:22:39
Bike
optimizations that use the parameter type information would in general result in undefined behavior if an object of the wrong type is passed in
19:24:19
Bike
e.g., you have (lambda (a b) (+ a b)), you declare that A and B are fixnums - the optimization would be using a fixnum addition routine instead of a general addition routine - you call it with floats, it tries to interpret them as fixnums, problems happen.
20:44:06
|3b|
remote in my case is only a few feet though, so i'd probably use gui emacs over ssh tunnel if i were working from linux
21:08:45
Krystof
jasom: they're not in the function namespace, but neither are variables. (invoke-restart '<name>) is not that different from (funcall *<name>*)
21:47:51
phoe
I have a remote directory like /project/foo/ that contains my lisp code and I sshfs-mount the directory at the same location locally
21:48:18
phoe
pros are that no tramp is required, everything works automagically and I can open all the files with all the local editors and such as well
21:48:35
phoe
cons are that I'm constrained with regard to where I must place my files on the remote and where I can bind on the local
21:52:23
jasom
phoe: I suppose you could bind-mount /{usr,bin,home,etc} into /remote-hostname/ on the remote and then sshfs mount the remote root to /remote-hostname/ on the local machine
21:54:32
jasom
would have to set SBCL_HOME appropraitely to get M-. to work on internal sources as well
22:57:59
Josh_2
The original python library is apache license 2, obviously I haven't modified or used any of their original code as the code is basically just FFI calls, do I have to use the apache license 2?
23:06:04
hjudt
phoe: sshfs is really slow when having to deal with lots of files, especially with git operations. that's were emacs/tramp shines.
6:33:12
azrazalea2
I've noticed in my sbcl 2.10 from the debian package the *evalhook* global doesn't exist. Is this intended behavior? From what I could tell, *evalhook*/*applyhook* was part of standard but I haven't used it before so might be wrong?
6:36:35
azrazalea2
So I was looking into it because I'm wanting to make a simple bot calculator by accepting lisp forms as a string from a user and then evaluating and returning them. I wanted those hooks so I could validate what types of data they had sent using *evalhook* to check overall types (numbers and symbols only) and *applyhook* to validate the functions
6:36:36
azrazalea2
are in a whitelist. Is the best way to do this going to be to use `read` and then walk the forms myself?