freenode/#lisp - IRC Chatlog
Search
21:08:23
jmarciano
It somehow makes sense to run Window Manager in SBCL, where runs Emacs and CLISP in background.
21:11:45
tetero
jmarciano: Oh I typically tend to split when I have more than one window, and mode-line helps if you're into that
21:12:34
jmarciano
My laptop is smaller for splitting. And I enlarge all letters to watch easy from more than 1 meter with extended keyboard.
21:16:18
tetero
Although, what is it that you need to copy/paste between? Your terminal and most apps should support that
21:16:25
jmarciano
(define-key *root-map* (kbd "=") "rcd-paste") I have that like this, but is not getting into terminal
21:34:55
PuercoPop
jmarciano: you can use the xtest extension to send mouse clicks from lisp. its implemented in CLX
21:40:21
jmarciano
I don't need a mouse, programs need a mouse more than me, like some make programs for sake of programs, and not of people.
21:55:59
phoe
beach: You have your style guide in the SICL repository. Do you think you could extract it into a separate document?
8:15:38
phoe
I am asking because I asked a question which style guide should be on top at https://www.reddit.com/r/lisp/comments/6nf3g4/ and currently the most upvoted comment is "none", which is troublesome.
8:20:46
beach
jack_rabbit: On the contrary, it is probably one of the languages with the most agreed-upon conventions.
8:22:02
phoe
Yes, that's exactly why the question about a style guide does not have a good answer up there.
8:22:44
phoe
I think so, yes, though there is an argument against it being on top in the link that I put up there.
8:22:56
jackdaniel
but it is true that people have their preferences and find constructs more convenient than others. For instance style guides like: "never use DO, use LOOP", "use structures over classes" (or vice versa), "don't use aux" etc. doesn't make good style guide, but I've found some remarks like that in some guides afair
8:23:37
beach
jack_rabbit: It does. The number of times that I have recited a large part of it to people who post code for us to read here is more than I would have preferred.
8:23:41
jackdaniel
on the other hand, some conventions about indent, variable naming *earmuffs*, +constants+ make a lot of sense and many people agree on them
8:25:34
jackdaniel
the most important style advice I've had (not CL-specific) is to follow conventions used in the project you contribute to
8:25:41
phoe
on the yet another hand there is a notion of <classes> that is not common, I have only seen it used in clack for example.
8:25:48
beach
jackdaniel: That's why in the SICL documentation, I split it into two parts, general guidelines and SICL-specific ones.
8:26:58
jackdaniel
phoe: this convention was stated in EuLisp standard draft. It is important for lisp-1, where functions, variables and classes share the same namespace
8:27:17
beach
phoe: I think it was invented by fukamachi, or rather, copied from Dylan, and then a few other Lispers adopted it, like eudoxia.
8:31:44
loke
I kinda like the <foo> convention, but I don't ahdere to it since no one else does. :-)
8:31:44
beach
EuLisp: Language definition process first began in a meeting in 1985 in Paris and took a long time. The complete specification and a first implementation (interpreted-only) was available in 1990.
8:32:28
loke
beach: I'm not entirely sure if you'r ebeing sarcastic, and if you are, which part you're being sarcastic about :-)
8:32:40
beach
I recommend the book and talks by Steven Pinker. He is not talking about programming languages, but the idea is the same.
8:33:36
beach
Pinker says that acceptable style is a matter of "tacit conventions" susceptible to slow evolution over time.
8:33:59
jackdaniel
For instance if nobody used *earmuffs* in '80s, and nobody would use them, because nobody uses them, we wouldn't have this visual aid for special variables
8:34:49
loke
I have a personal style which it comes to naming accessor methods though, which I stick to, but I'm not actually convinced is good. I don' thave a better one though... I name my accessors using the form CLASS/NAME, So bar slot in foo is named foo/bar.
8:34:54
beach
jackdaniel: It evolves SLOWLY as a result of SOME individuals OCCASIONALLY invent a new convention that MOST others find useful.
8:36:16
beach
loke: It has the problem that when you do that with the baz subclass of foo, you get (foo/bar baz) which looks very strange. Check for instance (clim:sheet-parent gadget).
8:36:28
jackdaniel
beach: given that there is no communication between every pair of programmers, and say fukamachi uses <class> - most of them find it useful yet nobody uses it, because nobody uses it. My point is - it's hard to determine synchronically that MOST others find it useful. So either it is adopted gradually (one-by-one), or not at all
8:38:28
loke
beach: Yes. I changed to a slash after I had too many annoying names where both the class name and slot names had minus signs in them, like user-manager-status-signature-type (just an invented name)
8:38:28
beach
jackdaniel: Yes, natural languages evolve despite the existence of a centralized mechanism.
8:39:44
loke
beach: Yes. I'm starting to agree with that. It's just that I haven't reached the point where I change yet.
8:41:17
beach
Structs probably typically didn't have as deep an inheritance graph as standard classes do, which is why it was less problematic for structs.
8:43:55
loke
Is there any rational reason to even have structs in CL (other than backwards compatibility?)
8:45:33
jackdaniel
I believe (that would require proper research to claim it though), that new words start with an individual who comes up with new word / construct, then with his closest circle of friends (internet speeds it up) - sometimes despised by others (i.e adults) as not clean language, and then it spreads further - gradually
8:45:36
beach
shka: You (and everyone else) can of course do whatever you want in your own code. The problems arise when unconventional code is submitted to others.
8:46:19
beach
jackdaniel: Pinker did the research. again, I recommend his writing and hist talks related to his book about style.
8:46:24
jackdaniel
sometimes it is that only the next generation uses the new word / construct, but with time it becomes part of the "official" and "agreed" language
8:47:55
jackdaniel
so it is withtout the centralized mechanism, yet it is not: most people find it useful, so they start to use it. It's just more and more people use it until it is acceptable
8:48:40
jackdaniel
if the circle of the individual friend wouldn't spread the new word, it wouldn't exist outside his own dictionary, hence language evolution would be stopped
8:50:11
shka
but at the very least it would be nice to point out one and say "this one does not totally suck"