freenode/#lisp - IRC Chatlog
Search
4:38:44
beach
gendl: Starting in 2000, my colleague organized the "Libre Software Meeting" or "Rencontres Mondiales de Logiciel Libre" in Bordeaux. It was a strange "conference" where people did not pay to attend, and some where in fact invited so they had their trip paid for.
4:38:51
beach
I volunteered to chair the track called "Very high-level languages for application development", which I turned into a mostly Common Lisp track. So from the start we had danb, Krystof, gilberth, and many others present.
4:38:55
beach
This meeting was were McCLIM was essentially created. We sketched how special variables were to be implemented in the presence of threads in SBCL. danb did Bordeaux threads and maybe also ASDF then. Over a few years, probably, because we organized the LSM/RMLL for a few years in Bordeaux before it became an even that moved every year.
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?