libera/#lisp - IRC Chatlog
Search
19:07:28
wasamasa
have you considered to just learn bits and pieces of the language as you work on a project?
19:07:53
wasamasa
if you want a language to be simple enough to be comprehended by going through its manual, you end up with something like lua or python
19:08:34
wasamasa
and even then the bunch of advanced concept will be very nebulous until you spent serious time trying to use them
19:25:19
wasamasa
the practical common lisp book does follow a moderately complex project exercising most parts of the language
19:26:28
wasamasa
but with projects, it's most important that the topic motivates the student, so highly dependent on the person what topic that would be
19:37:39
kiliro
(defun cause_laughing commentary (interactive) "Surprizes the peer with something happily unexpected." (msg %s%))
19:44:06
kiliro
(defun cause_laughing (commentary) "Surprizes the peer with something happily unexpected." (interactive) (msg %s))
19:56:29
jcowan
kiliro: the fact that PRINT prints something is a side effect, but it is what you want.
20:01:14
jcowan
https://gist.github.com/johnwcowan/98f5b500759a72863c1b103db9f6d0ef shows the problem,
20:01:41
jcowan
and the answer turns out to be that when you run a module from the shell, its name is __main__, not the name of whatever file you are running.
20:46:15
kiliro
Does this still hold true in 2026? "Common Lisp sports as fine an array of modern data types as you can ask for: a condition system that, as you'll see in Chapter 19, provides a whole level of flexibility missing from the exception systems of languages such as Java, Python, and C++; powerful facilities for doing object-oriented programming; and
21:09:06
jcowan
Yes. In the case of the condition system, the C++ community (mostly Stroustrup personally) rejected it, so C++ exceptions are much weaker than CLs
21:23:47
aeth
The general trend in languages is towards less flexibility. See e.g. the decline of Perl, the failure of Perl 6 (now Raku) to find an audience, the popularity of languages such as Haskell and (especially) Rust, etc.
21:27:07
jcowan
Yes. That's a defense against the danger of good programmers to their employers, namely that they become less replaceable.
21:31:22
aeth
Well, my particular chosen examples of Haskell and Rust aren't deskilling (except when they're advertised as having LLM-friendly type systems so you can take a more hands-off approach) as opposed to some languages (Java, Go) that do seem more directly designed at deskilling
21:32:14
aeth
Haskell kind of comes at it from two sides, being statically typed, but also not having a more flexible static type system like e.g. the dependently typed ones.
21:32:49
aeth
So you can see it as more restrictive than Scheme, or more restrictive than the four or so dependently typed competitors of which there is no real one clear leader.
21:35:12
aeth
Meaning that there are things easily expressible either with dynamic types or with a more powerful type system.
22:55:21
jcowan
Which depends on whether you think of static types as powerful, or a powerful restriction.
22:56:27
aeth
Yes, everything is a tradeoff and a more powerful type system prevents you from doing things. This is why subtypes have fallen out of favor.