freenode/#lisp - IRC Chatlog
Search
17:42:42
Araly
hello, I was wondering, how do you run something written in lisp outside of a repl, once compiled for example
17:43:34
Xach
araly: some options involve turning your lisp program into a kind of script that runs like a shell or perl or ruby script.
17:43:45
araly
I see a .fasl next to my .lisp files, I thought that might be the executable or something
17:43:53
Xach
i like the binary file way, if i have to, but prefer to work within the repl whenever feasible.
17:44:08
Xach
araly: .fasl is a compiled file, but one that is meant to quickly load into lisp, rather than run directly.
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