IRC Log - 2025-01-10 - ##forth

Channel: ##forth
Total messages: 39
Time range: 16:26:02 - 17:08:40
Most active: xentrac (21), pgimeno (13), yakubin (4)
16:26:02 ##forth <pgimeno> the Forth interpreter I've been working on is now fully tested and published: https://codeberg.org/pgimeno/JAForth
16:38:48 ##forth <xentrac> pgimeno: congratulations!
16:39:03 ##forth <xentrac> this yogurt came out very tasty, but too runny
16:52:41 ##forth <pgimeno> heh
16:54:08 ##forth <xentrac> the first step in writing a compiler is usually to get a compiler
16:54:13 ##forth <xentrac> to compile it with
16:54:33 ##forth <xentrac> somewhat similarly, the first step in making yogurt is to get some yogurt
16:55:10 ##forth <xentrac> I think the supermarket yogurt I was using for my seed culture was rather deficient in Lactobacillus
16:55:20 ##forth <pgimeno> oh indeed
16:55:32 ##forth <xentrac> there must be an analogy to Forth metacompilation here somewhere
16:55:38 ##forth <pgimeno> hehe
16:56:12 ##forth <pgimeno> hm, Forth might be a good language to bootstrap a self-compiler
16:57:31 ##forth <xentrac> that's been Virgil's hypothesis
16:57:39 ##forth <xentrac> he seems to have done okay with it
16:57:56 ##forth <pgimeno> I mean, e.g. FreePascal is a self-compiler: you need a previous version, and I believe that the first versions were written with Turbo Pascal until it was able of compiling itself. Turbo Pascal in time was based on previous versions, the first one of which was in assembler.
16:58:48 ##forth <pgimeno> But a Forth interpreter/compiler is simple enough as to be implementable in assembler with ease, and then the bootstrap compiler could be written in Forth
16:58:59 ##forth <yakubin> The first Pascal compiler was compiled by Wirth in his head.
16:59:06 ##forth <yakubin> It was written in Pascal.
16:59:22 ##forth <yakubin> And punched on punched card manually after being compiled by Wirth by hand.
16:59:27 ##forth <yakubin> cards*
16:59:32 ##forth <vms14> good old times
16:59:34 ##forth <xentrac> really? I'm surprised he didn't write it in Algol-W or something
16:59:47 ##forth <pgimeno> heh well, I'm talking about the bootstrapping process of Free Pascal in particular, not going that far away :)
17:00:05 ##forth <xentrac> Turbo Pascal was also written in (8080) assembly
17:00:39 ##forth <xentrac> not in Pascal
17:00:47 ##forth <xentrac> or PL/M
17:01:29 ##forth <xentrac> (I believe from looking at some of the disassembly, anyway. this is somewhat less than optimally reliable since I'm very weak on 8080 assembly)
17:01:42 ##forth <pgimeno> yes, definitely in assembler
17:02:16 ##forth <pgimeno> I don't know if the DOS or the CP/M version was first, but it's likely it was the CP/M one
17:02:28 ##forth <pgimeno> anyway, way off topic, sorry
17:02:39 ##forth <xentrac> I'm pretty sure it was the CP/M one
17:02:55 ##forth <xentrac> because it shipped in November 01983
17:03:32 ##forth <xentrac> the IBM PC shipped in August 01981 so developing the DOS version first wouldn't have been impossible
17:03:53 ##forth <pgimeno> yeah but I agree it's unlikely to have been the case
17:04:11 ##forth <xentrac> just that there were still a lot more CP/M machines around
17:05:34 ##forth <xentrac> https://en.wikipedia.org/wiki/Borland#The_1980s:_Foundations says that Borland Ltd. was founded in 01981 to sell CP/M software
17:05:59 ##forth <pgimeno> "The compiler was first released as Compas Pascal for CP/M, and then released on 20 November 1983[2] as Turbo Pascal for CP/M [...], CP/M-86, and DOS machines." https://en.wikipedia.org/wiki/Turbo_Pascal
17:07:43 ##forth <xentrac> yeah, I was just about to paste that too
17:08:40 ##forth <xentrac> that page also says the compiler was written in assembly