freenode/#lisp - IRC Chatlog
Search
18:38:30
mseddon
I wonder, is there a nice way in CL and emacs to do something equivalent to elisp's (declare (indent indent-spec))?
18:39:25
mseddon
https://www.gnu.org/software/emacs/manual/html_node/elisp/Indenting-Macros.html#Indenting-Macros
18:40:03
jackdaniel
you may hint slime about indentation from swank package (I don't remember the interface)
4:58:12
beach
Today, for my daily exercise, I watched the first half of a presentation by Brandon Rhodes, entitles "Python as C++'s limiting case", given at code::dive 2018. It reminded me of something I frequently repeat, namely "People spend a lot of time and energy to avoid learning Common Lisp."
4:58:59
beach
This presentation also reminded me of the sorry state of the fields of computing, programming, and software engineering.
5:01:40
aeth
The most disappointing part of modern software seems to be design. Every time there's a new update that changes the design, usability and feature discoverability go way down. Most recently, with Firefox for Android.
5:02:32
aeth
And any feature that telemetry shows is uncommonly used will eventually get removed, no matter how useful it is
5:04:16
beach
Well, I was mostly referring to the time and energy spent by the developers, project leaders, etc. But maybe this minimalism trend is due tot he fact that their tools are so complex that they can't do otherwise.
5:16:55
aeth
beach: Well, cutting features seems to be incredibly common these days, so perhaps the issue is maintaining software.
5:32:54
beach
That's part of what I was referring to. The hypothesis was that, in order to simplify their work (design, first-time development, maintenance), since their main tool (i.e., the programming language) makes their task so hard, they need to cut down on the features.
5:41:03
beach
What was so "interesting" about this presentation was that the speaker took features of C, C++, Perl, Awk, JavaScript, etc. and for each one stated why it was problematic. Then he pretended to design a new and improved scripting language that fixed the problem. It so happened that the fix was exactly what Python does.
5:41:05
beach
However, what he failed to mention was that Lisp had fixed these problems ages ago, and in a better way than Python does. Too bad that his fixes are going to result in a scripting language rather than a general-purpose programming language like Common Lisp.
5:43:52
beach
I mean, I think he failed to mention that, not as a deliberate omission, but by simple ignorance. Hence my analysis about the sorry state of the fields of computing.
5:48:45
ggole-
Actually C's scoping rules (for variables) are also fine, that's not really the part of C that is bad
5:50:08
aeth
C/C++ let you do a { /* foo */ } i.e. brackets with no preceding keyword, and it behaves not too unlike a LET
5:55:26
beach
aeth: I would not attribute popularizing scoping rules to Scheme. Pretty much every language invented in the spirit of Algo60 got it right. Like Simula, Pascal, etc.
6:02:28
beach
aeth: And, when I programmed in C, I considered local scope to be an important tool for limiting the portion of the code where variables are in scope. It is (or should be) an important tool for every developer in every language. But, again, ignorance strikes in the field of computing.