freenode/#lisp - IRC Chatlog
Search
10:56:05
frodef
I'm thinking to start using github (with emacs, slime etc), any tips on tools or techniques I might find useful?
11:03:22
heisig
frodef: I'm not sure I understand your question. But my two pieces of advice would be to use Magit for managing Git from Emacs, and to prepare for leaving Github as soon as Microsoft starts acting weird.
11:04:47
scymtym
frodef: if you are not already using it, the magit package for emacs is a great interface to git. it requires a time investment to reach "fluency", but that is well worth it in my experience. if you want to go further down that road, there is the forge package which adds github-specific information and actions to magit (it also supports gitlab and other "forges")
11:16:33
scymtym
i think the main consideration is whether to rely heavily on features beyond git such as issues, wiki, package hosting, continuous integration and so on
11:40:38
ex_nihilo
Given a file in a Slime buffer containing only: (let ((msg "Foo.")) (format t "~A~%" msg))
11:40:47
ex_nihilo
When slime-compile-and-load-file is invoked with C-c C-k, "Foo." is printed before the repl prompt.
11:41:00
ex_nihilo
after C-c C-k the point is left following the repl prompt, waiting for input; and after input is given it is echoed, but then the point is left at the beginning of a blank line and ENTER must be pressed again to get back to the repl prompt even though evaluation of the file should now be completed.
11:41:06
ex_nihilo
I get the same behavior if I evaluate the LET form with slime-eval-region using C-c C-r.
11:41:12
ex_nihilo
Running the same file as a script, or entering the same LET form at the repl, the code behaves as expected without exhibiting this blocking behavior after echoing the input.
11:41:17
ex_nihilo
This seems to be i/o related, but I don't understand why this would work when entered directly in the repl, but not when evaluated from a file; is it just a quirk of the Slime repl, or am I missing something about how code is sent to the repl?
13:40:10
Cthulhux
doom emacs is a good starter package (although i cant stand the evil-mode anymore)
15:41:44
Cthulhux
"modal" editing is a waste of time. when i open a text editor, i usually want to type something.
18:04:00
recalloc
setf totally works with defgeneric. I even think CLOS secretly uses generic setf's when defining slot writers.
18:05:14
recalloc
`(defparameter +whitespace-p+ (cl-unicode:property-test "whitespace"))` feels silly. Is there a way I could "defparameter" a function?
18:08:33
recalloc
(property-test) returns a function, and I'd want to call tha function like (whitespace-p char) instead of (funcall +whitespace-p+ char).
18:09:27
Bike
and yes, when you define slot readers and writers through defclass they are generic functions.
18:16:33
Bike
oh, yeah, if you only want to change the global binding you can just do (setf (fdefinition 'whitespace-p) (cl-unicode:property-test "whitespace"))
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