freenode/#lisp - IRC Chatlog
Search
5:53:53
ck_
I looked it up because I wasn't sure; there are two US islands in UTC-12. And also I did the arithmetic the wrong way, it's six hours from now.
6:01:11
beach
Most islands in that zone made a choice to be among the first to celebrate the new year.
6:19:44
ck_
According to a map, most of them are in +12, or even +13, that's what I meant earlier, was surprised that there even are marked islands in UTC-12. But ok. I guess it's off topic unless they do lisp
6:37:44
thmprover
Say, is there an abstract machine (or virtual machine) that's particularly well suited for Lisp to target?
6:43:39
aeth
You're talking about places where (= 12 (nth 8 (multiple-value-list (get-decoded-time)))) and talking about it like it's -12 while talking about (= -13 (nth 8 (multiple-value-list (get-decoded-time)))) like it's +13
6:46:22
thmprover
Lycurgus: I don't know much about the Lisp Machines, is there some "toy model" describing their architecture?
6:46:40
ck_
aeth: so your point is that I got the lisp terminology wrong with respect to delta to UTC, and 24.1.4.1?
6:47:00
thmprover
moon-child: ah, well, I'm more interested in the theory side, gc and caching are very...applied...
6:47:42
Lycurgus
thmprover, unclear what you mean but wouldn't know. FWIU, the ancient archives have complete sources
6:49:48
thmprover
Lycurgus: I mean, something similar to the SECD machine, in the sense of simple and minimal while demonstrating the key parts of the instruction set for a Lisp Machine. (Or is that just an SECD machine?)
6:52:01
Lycurgus
as an implementor, in practice either you want a real lisp machine to target or you will likely prefer a pragmatic approach to produce good code on
6:54:26
thmprover
I just wasn't sure if there was some "obvious virtual machine" like CAM/FAM/ZINC for ML, but for Lisp.
6:58:23
beach
thmprover: For a theoretical machine to be applicable, you also need a very simple "Lisp" language.
7:00:18
thmprover
Well, I know the SECD machine can be the target for a simple-ish Lisp compiler, which piqued my interest about what needs to be added to handle more complex Lisp constructs.
7:03:18
beach
thmprover: simple compiler, but also a very simple subset of what we think of as "Lisp" today.
7:04:39
thmprover
beach: I should also mention, my curiosity really is strictly academic (for use in a case-study in compiler correctness)
7:06:09
beach
thmprover: But then you are in trouble because 1. There is no widely agreed-upon definition of "Lisp", and 2. The channel topic is Common Lisp.
7:09:00
thmprover
beach: trouble is my business ;) In all seriousness, I've been thinking about how to move from "A simple toy Scheme interpreter" to "A simple toy Common Lisp interpreter", what would need to change.
7:10:38
beach
thmprover: Common Lisp is such a complex language, in particular with lots of imperative constructs, that I am pretty sure that there is no simple abstract machine that will help, unless, of course, you accept that the result will be so slow that it's unusable.
7:14:29
thmprover
beach: like CLISP? Yeah, I have no illusions about performance, my goal is correctness. This is more an experiment with literate programming plus formal proofs, than a fancy new tool for production.
7:20:25
thmprover
beach: true, but that may be too simple. I'm looking for a happy medium between the extremely simple pure lambda calculus VM, and the complicated real world.
7:20:59
beach
That's a very tough thing to help you with, because it is not obvious what is too simple and what is too complicated for you.
7:22:23
beach
thmprover: For instance, something like RISC-V or a tiny subset of x86-64 can run Common Lisp just fine.
7:27:19
thmprover
beach: well, as I understand it (and I don't fully), a Lisp Machine boiled down to a sort of virtual machine atop a Risc processor.
7:29:10
beach
Sort of. I think it was a machine that could be microprogrammed. But the Lisp machine was not designed to be simple. It was designed to run Lisp efficiently, given the existing general-purpose processors and the compiler technology we had at the time.
7:31:08
beach
Take "CDR coding", for example. It makes things horribly complicated for the only reason that memory was expensive at the time.
7:32:33
beach
Didn't it also have out-of-band tag bits? Now, you can use the lower few bits of a 64-bit word without any problem, because machines are byte addressed, so there are more bits than you need.
7:37:35
alexshendi
I am trying to build SBCL 2.1.0 under NetBSD/arm64. I have tried to bootstrap using ecl and abcl. Both ultimately fail in the warm init phase (make-target-2.sh).
7:38:14
thmprover
beach: right, and while "CDR coding" is an important optimization, it's not a necessary component for an "abstract Lisp machine". I suppose my lack of knowledge about Lisp Machines may be the crux of my [immediate] problem.
7:39:37
saturn2
i believe the lisp machine had special instructions for accessing the various lisp data types, so you didn't have to choose between speed and memory safety
7:40:38
beach
But checking the type is easy these days, and type inference often makes it not necessary.
8:48:15
jeosol
I haven't installed on a NetBSD/arm64 before. What command are you running? There is also a #sbcl channel and the guys may be able to address this.
8:52:30
alexshendi
Actually both. Note that the error isn't from the host lisp implementation, but from the sbcl binary that was built using it.
9:06:53
solideogloria[m]
<lotuseater "ah no, #\DOWNWARDS_ARROW is a va"> that is the unicode character ↓
10:45:59
Krystof
beach: another thing about RMLL, at least as I recall it was implemented in our track, was that the plenary-type talks did not take up all that much time (1 day of the 4 or 5, perhaps) and so the rest of the time was spent however the delegates wanted... which led to some good hacking times
10:47:14
Krystof
it was also great because a bunch of us were able to meet in person for the first time. I'd met dan_b before (I think) but those meetings were my first encounter with gilbert, eric marsden, marc battyani, tim daly, ...
10:57:13
Krystof
and I had a great time! I remember going to Bordeaux twice for RMLL, and somewhere else once, I think
10:58:57
beach
The entire idea was fantastic. The first year there were less than 200 participants, as I recall, but it grew to more than 1000 pretty fast.
11:01:25
beach
It was just amazing to walk into the main entry hall of ENSERB and see all these people hacking away.
14:17:52
beach
But Scheme is a good idea to learn as well if you want to try something different from C.
14:18:25
beach
People here use Common Lisp for all kinds of things. It is a general-purpose programming language.
14:19:11
murtagh
Could you give me a reason why ppl would use C and why would they use Scheme or Common Lisp
14:19:54
beach
Globally speaking, C is closer to the machine, and Common Lisp is much better for writing applications.
14:22:36
beach
C is a very unsafe language, whereas most Common Lisp implementations are safe by default.
14:24:10
beach
murtagh: There is no widely agreed-upon definition of "Lisp", which is part of the reason why this channel is about Common Lisp, which is quite well defined.
14:24:12
phoe
Lisp is a whole family of languages, including dialects like Scheme, Racket, Common Lisp, Clojure, Shen, Hy, Lisp Flavored Erlang, and what else
14:24:54
beach
murtagh: I believe there is a channel #lispgames that is dedicated to games in Common Lisp.
14:25:21
Xach
Furthermore, #lisp is the place where people who *like* common lisp congregate - not simply people who use it. It's not a support group for people who are forced to use it and hate it.
14:27:43
Xach
common lisp has a well-written standard, multiple mature implementations, the possibility of commercial support, examples of successful companies and applications with CL at their core (though not a zillion, they do exist), potential for fast code
14:28:59
Xach
i sometimes wish there were multiple multibillion-dollar companies racing to improve it, but then i think the result would not really be recognizable as the thing i like for very long.
14:58:53
VincentVega
Happy 2021, folks! A bit late to the party, but now that quickdocs is closed. what do you use? I just want to explore the existing projects. For emacs, there's MELPA which makes it easy as every project there has a very short description and you can search it.
15:02:36
contrapunctus
VincentVega: awesome-cl/cl-cookbook, but I'm just a newcomer. Would the querying functions of Quicklisp work?