freenode/#lisp - IRC Chatlog
Search
2:12:45
Josh_2
I lead you all on, sorry, I am stuck but I'm totally burned out so I think Im going to go to sleep instead
9:26:53
beach
nullx002: What is the reason for your question? I am asking because you seem to be new here. I don't recognize your nick.
9:28:29
nullx002
yes, using bit of lisp and emacslisp for few years, but nothing special. was off the grid for 3 years..
10:16:39
pyc
how can I get the "CL-USER>" prompt that I see in most documentations. If I run CLISP I get only "[1]>" prompt and SBCL gives me "*" prompt. Where does "CL-USER>" come from?
10:18:53
beach
pyc: Unless you use something like SLIME, programming in Common Lisp is going to be very painful, and you will be disgusted and abandon it.
10:19:43
pyc
beach: why is that? I have been writing standalone .lisp files and executing them as "clisp foo.lisp". Seems to work just fine. Not much different from Python or C.
10:20:35
pyc
beach: can you explain why you would be disgusted? Maybe as a beginner I don't realize why my way of doing Lisp is suboptimal.
10:21:01
beach
I guess if you are used to inferior programming languages, you don't know what you are missing.
10:21:07
pyc
drbluefall: Which one is more popular between SLIME and SLY? And for what reasons would one recommend SLY over SLIME or vice versa?
10:22:17
beach
pyc: In Common Lisp, you develop code interactively, one definition at a time. You often compile top-level forms immediately after you type them.
10:23:04
beach
pyc: You often switch between the code and the REPL to test a single function after you typed it.
10:23:20
pyc
beach: thanks! I will stick to SLIME then. I tried SLIME once briefly but did not know enough to be able to realize its usefulness.
10:24:56
Nilby
pyc: In CLisp you can set the prompt with the custom:*prompt-.. variables, e.g. (setf custom:*prompt-start* "foo")
10:26:27
pyc
beach: yes, thanks. that is convincing enough. i will stick with SLIME and learn it more.
10:29:00
beach
Well, I guess it sort of is, if you count realizing a wet dream by an incompetent hacker without training.
10:29:47
beach
Oh, and convincing incompetent management about what programmers to hire, and what language to use for the next project.
10:30:18
carkh
i remember reading a blog post about some company that couldn't get out of cobol because of its outstanding decimal numbers processing
10:31:26
drbluefall
Like, say when it comes to web, I will be the first to admit that I will sooner reach for Rust
10:33:04
carkh
yes, i think i'll stick to clojure for the web, rust is annoyingly low level for that kind of stuff
10:35:07
carkh
that borrow checker gymnastic seemed annoying to me. Though i can see how this is all usefull for low level work
10:38:01
drbluefall
For me, the draw was more the ecosystem than the language itself (although the language felt much nicer than what I was using before).
10:39:05
carkh
that's one thing missing here, a competent packge system (even if quicklisp is a big step in the right direction)
10:40:35
drbluefall
quicklisp I find usually sufficient, although something akin to cargo would be absolutely *amazing*
10:41:57
drbluefall
I think the most painful experience with packages and dependencies was in C/C++.
10:42:59
moon-child
the main essential complexity with c is that they tried to make dynamic linking work. Dynamic linking is a really nice idea, but it's proven itself to be unworkable
10:44:40
beach
moon-child: Dynamic linking was the norm in Multics and it worked great. The problem you see are very likely due to the fact that Unix imposes a programming model that makes the process look like the naked machines from 70 years ago or so.
10:46:59
beach
I was horrified when I learned about Unix-style dynamic linking in the book "Linkers and Loaders" by John Levine.
10:47:33
jdz
Nilby: And also multiple return values. That way code is much easier to update without breaking existing users.
10:47:35
kevingal
I miss virtual environments from Python, though I guess that's not something that's missing from quicklisp.
10:48:52
beach
marcoxa: Unix was meant to mimic as many features as they could from Multics, but on a very small PDP machine at the time. I guess they managed to use `ls' and a few more things.
10:50:00
beach
I am not in favor of a return to Multics, because it had similar (but not as severe) address-space limitations as 16 or 32-bit machines do. But we can do better now.
10:51:06
drbluefall
Admittedly I'm not entirely familiar with Multics, since it seems to be entirely before my time
10:51:14
beach
By the way, the Common Lisp condition system was largely inspired by that of Multics PL/I. All other languages seem to have forgotten about that.
10:51:56
beach
So the exception-handling of most languages is indeed inferior to that of Common Lisp and Multics PL/I.
10:52:41
beach
Or else, you will think that what we have now is the greatest thing since sliced bread.
10:54:37
drbluefall
I intend to double down on CL and Rust, since both appeal to me in their own ways enough that I want to invest time in both
10:55:39
beach
carkh: I said nothing about being an "expert". But it is important to know what we had and that was lost in favor of the truly inferior stuff we are forced to use today.
10:55:41
moon-child
drbluefall: rust is mostly ocaml and c++, with bits of cyclone and clean mixed in. Not worth the effort. If you want to learn about the interesting things in rust, I recommend ocaml and ats
10:56:40
carkh
beach: i think it might depend on your goals, i can see how you may be interested, due to your endeavours
10:57:42
beach
carkh: Oh, it definitely depend on your goals. Like if all you want is to make money by doing what everyone else does while being ignorant of what we could have, then sure, just use the tools you need.
10:58:34
beach
carkh: Luckily, I find that Common Lisp programmers often want more than that, and that's why I like to hang out here in #lisp.
10:58:43
drbluefall
Like, other languages may have features that Rust also has, but it ain't just the features of a language that matter. It's also the experience developing in it
11:00:20
kevingal
Speaking of history, I read this the other day: https://twobithistory.org/2018/07/22/dawn-of-the-microcomputer.html
11:01:39
kevingal
It refers to an Altair emulator that lets you enter a program using virtual switches.
11:01:40
jackdaniel
I've wanted to learn rust some time ago, but my "Hello world" program still compiles ;)
11:23:36
marcoxa
I wasted a lot of ti.... er, had a loto of fun with those the past year. Hey. I learned JCL :)
11:23:39
beach
So, according to Land of Lisp, page 40, if you type (cons 'pork (cons 'beef (cons 'chicken ()))) to the REPL, it would be "perfectly correct" for the REPL to answer (cons 'pork (cons 'beef (cons 'chicken ()))) in addition to (pork beef chicken).
11:26:20
marcoxa
beach: as I said, it has been fun. I also veered off a tangent and wrote the missing JCL mode for Emacs :)
11:27:44
marcoxa
beach: I am sick. I know. https://within-parens.blogspot.com/2020/12/iron-handling-with-emacs-lisp.html
11:29:55
jackdaniel
I'm not reprimending anyone, I was just curious if we've reached this point of the year when this discussion theme starts another cycle!
11:37:20
kevingal_
Are you planning to get a job programming mainframes? The thought crossed my mind when I read those articles about the lack of COBOL programmers.
11:49:12
marcoxa
Let's say that I am in the right age group to apply for a COBOL programmer position :) I do have other plans though :)
11:59:16
kevingal_
I had a little daydream about walking through air-conditioned halls and learning the secrets of the mainframes from the ancient sages. But maybe I'll try out this emulator instead, haha.
12:03:22
rogersm
folks, any recommendation on changing Common Lisp colouring in emacs? After some time using the standard emacs colours I would like to try something different.
13:01:22
marcoxa
kevingal I can be your guide, but only to point out the dangers, not to fight them :) Plus, you will need a button down shirt (white), thick rimmed glasses, a skinny tie and, above all, some pens in your shirt pockets. Dilbert is an amateur.
13:04:51
marcoxa
Check this out: https://www.reddit.com/r/emacs/comments/kgw96j/experimental_command_prompt_in_the_header_line/
13:07:54
jmercouris
backtrace just reveals: 0: Foreign function gsignal, pc = 0x7fbf3cdcf08a, fp = 0x7fbf19cf7778