freenode/#lisp - IRC Chatlog
Search
17:44:43
Xach
repl functions are compiled and fast and have a much richer interactive experience in general.
17:45:03
Xach
you pass objects and return objects, rather than pass strings and stream inputs and receive strings and stream outputs.
17:45:29
Xach
but since i don't want to interact and intercede from e.g. cron, that's when i use a compiled binary.
17:46:20
araly
I'm learning some lisp on my own, and I thought it could be interesting to try and re write a discord.js bot I have in lisp using lispcord, a library I found. I can run the discord.js bot in a server, as it's nodejs, I thought how was I going to make that work in lisp
17:46:47
beach
araly: Creating an executable is something you need to do one single time very late in a project, so you almost never have to do it.
17:47:12
beach
araly: In particular, if you are learning Common Lisp, that is definitely not the way to run the programs you develop.
17:48:42
araly
beach: so should I not write a bot or another program that is supposed to run on a server in common lisp ?
17:49:30
beach
araly: I am saying that it is best to test most of your functions, not the entire program, interactively.
17:50:14
beach
araly: Since you can run incomplete Common Lisp programs, you don't have this idea that you need the full code and link it before you can run it.
17:50:28
araly
beach: oh, while theyt are developed okay. but that would be the way once they are finished, or is there another better way ?
17:51:19
beach
araly: What Xach said I guess. But since you are still learning, you won't need it for some time.
17:52:02
araly
beach: sure okay. While I'm at it, do you know if it's possible to use a bitmap font in emacs ?
17:52:34
beach
araly: I don't, and that would be a question for #emacs rather than #lisp, which is dedicated to Common Lisp.
18:21:29
Ukari
for example, when i input cffi: and TAB, symbols in cffi package will show in another frame
18:25:44
Xach
I am hoping that after perhaps 48 to 72 days of recovery my urge to hack created by ELS will be equaled by my energy to hack
18:31:39
easye
Xach: is there no longer a mailing list to discuss Quicklisp related items? <https://groups.google.com/forum/#!forum/quicklisp> seems to be retired, right?
18:33:09
easye
Alright. I'll try to move along the :DEFSYSTEM-DEPENDS-ON problems via a mesage there.
18:39:35
beach
makomo: That is very hard to say, even for the person in charge of doing it. It depends a lot on the time at their disposal.
18:42:37
makomo
i guess so. i just went to check when it was uploaded in the previous years -- after 20 days in 2016, after almost 2 months in 2017 :^/
18:48:15
Shinmera
A better in some respects and worse in other respects version of my talk has been up for a while at least. https://www.youtube.com/watch?v=od6WI7JIJcQ
19:22:36
Kevslinger
What are the biggest pros and cons of programming in Lisp? Is that a reasonable question to ask?
19:24:19
phoe
I think it had two words of tag or something and then two words for two pointers to its car and cdr
19:26:24
shka_
pros: some decent libs are present, multithreading with system threads (and lparallel), decent performance most of the time, not that many libs written in C
19:27:04
MichaelRaskin
You can mix and match various paradigms in your code; you might not want to have code like that, but you could gain some perspective.
19:27:47
phoe
pros: you end up with a very pleasant hacking&prototyping platform that CL is, when you use it properly (interactive environment like slime, debugger, inspector, stepper)
19:29:23
MichaelRaskin
Weaklings. I once converted a Python job into a Common Lisp job, and afterwards my direct superior sometimes uses Racket for isolated projects.
19:32:53
MichaelRaskin
That means that as long as you produce reliable correct code, nobody dares to discuss style.
19:33:29
MichaelRaskin
Then you show why writing Python as if it were a Lisp makes some part of the system faster to beat into submission in a tense situation
19:40:13
MichaelRaskin
Then it becomes clear that the amount of local libraries needed for a system is high enough that language is the least of the worries…
20:11:19
jmercouris
hi, Shinmera has some package for building binaries IIRC, but I can't remember the name
20:21:31
jmercouris
I just wanted something to make a .app bundle on OSX that wouldn't require any work from myself
20:23:09
jasom
jmercouris: yeah, it's pretty easy and you can drop the executable in the .app bundle that automator makes (I think it's called automator, I stopped using macs much about a year ago)
20:24:41
MichaelRaskin
It seems not random, but carefully planned to inflict the optimal amount of pain
20:25:33
Shinmera
I'm not, but programs randomly break between versions and it fucking pisses me off
20:26:11
jmercouris
I think the compatibility is quite good, I can launch applications from 5-10 years ago
20:27:21
jasom
https://github.com/jasom/plush/blob/master/plush-parser.lisp#L746 that turns a glob into input for cl-ppcre
20:30:17
fourier
yep just to convert wildcards to cl-pprcre regexp i have already, im more interested with proper implementation taking care of whenever it has trailing /, ** for recursive subdirectory search etc
20:31:02
jasom
Ah it doesn't implement ** since that's not in posix and plush was just implementing posix
20:31:53
jasom
and plush splits the path into directories before matching the PCRE, so that implementation is probably useless for you
20:38:41
jasom
It's up on github primarily because it's easier to post links to code than to pastebin bits and pieces when it comes up in conversation
22:08:49
pierpa
I'd think it's an obvious choice for a a macro defining a rule, that it must have been used million of times in unrelated projects
23:49:48
adlai
Bike: I've been thinking (on and off, for years, absolutely years) about method combinations for specifying nonsequential behavior.
23:51:17
adlai
there's a rather broken and not quite useless version at https://github.com/adlai/chanl/blob/master/src/actors.lisp#L88
23:54:31
adlai
it's inspired by the idea that a process can specify its behaviors relative to various event sinks and sources, then block
23:55:24
adlai
the consequences of changing a select-combined method's effective behavior from within a process executing itself is a bad idea
23:59:27
Bike
well i'm going to guess basically it means the methods are evaluated in some arbitrary order and possibly simultaneously
0:00:23
Bike
the select macro itself is a loop, so having an effective method doing that seems fine to me
2:17:56
jasom
minion: memo for dtornabene: the defrule in plush is from esrap (a packrat parsing library)
3:06:56
Bike
does anyone know how slime parses arglists? if i do (defmethod test (&key ((:foo bar))) bar), (swank-backend:arglist 'test) => (&KEY ((:FOO BAR))), but it displays in the minibuffer as &key foo
5:39:29
SaganMan
beach: does your job also involves lisp or lisp is something you like to do as fun?
5:42:26
beach
I always try to solve some practical problem. To do that, I have to invent some theory or some technique that needs to be proven to work. Then I use that theory or technique to create an implementation. Finally, I measure performance (often compared to existing techniques), and show that the new technique is better than existing ones.
5:44:05
beach
This formula works well for Common Lisp, because very little serious fundamental work has been done since the AI winter, and the reality of processors has changed radically since, so new techniques can be invented.