00:00:00 --- log: started forth/20.10.16 00:17:21 --- join: mtsd joined #forth 00:36:11 --- quit: WickedShell (Remote host closed the connection) 00:38:14 --- quit: deesix (Read error: Connection reset by peer) 00:40:06 --- quit: dddddd (Ping timeout: 240 seconds) 01:28:52 --- quit: jsoft (Ping timeout: 256 seconds) 02:11:41 --- quit: mtsd (Quit: Leaving) 02:17:32 --- join: f-a joined #forth 02:43:18 --- join: TCZ joined #forth 02:51:44 --- quit: X-Scale (Ping timeout: 246 seconds) 02:51:45 --- join: X-Scale` joined #forth 02:52:32 --- nick: X-Scale` -> X-Scale 03:07:20 --- quit: f-a (Ping timeout: 260 seconds) 03:07:37 --- join: f-a joined #forth 03:52:17 --- join: dddddd joined #forth 03:52:43 --- join: deesix joined #forth 05:21:17 --- mode: ChanServ set +v crc 05:22:29 --- quit: TCZ (Quit: Leaving) 05:52:35 --- quit: dave0 (Quit: dave's not here) 06:07:19 --- join: TCZ joined #forth 06:10:33 --- quit: f-a (Read error: Connection reset by peer) 06:13:00 --- join: f-a joined #forth 07:18:56 --- quit: Zarutian_HTC (Remote host closed the connection) 07:33:27 --- quit: Lord_Nightmare (Ping timeout: 258 seconds) 07:48:15 Is anyone aware of projects to bootstrap something like GCC from a tiny seed? 08:02:28 siraben: I recall something like this 08:02:31 no idea where 08:02:51 https://github.com/oriansj/stage0 probably 08:03:00 the problem is, it hasn't achieved its goal yet 08:04:56 why would you do that? 08:12:41 MrMobius: full stack reproducibility 08:15:17 dzho, what does that mean? 08:17:03 https://reproducible-builds.org/ 08:17:33 https://en.wikipedia.org/wiki/Backdoor_(computing)#Compiler_backdoors 08:18:00 https://dwheeler.com/trusting-trust/ 08:18:11 This. all this. 08:20:02 there is also a larger and more diffuse point about depending on accreted layers of technology that may not be reproducible in a more sociological sense, in that we ingest and rely on work from the past that might become in some ways a lost art 08:21:26 dzho: have you heard of Nix? https://www.tweag.io/blog/2020-06-18-software-heritage/ 08:21:32 it feels funny explaining this stuff in a forth channel of all places, but so it goes 08:21:33 website: nixos.org/ 08:21:36 siraben: I have, yes 08:21:39 also guix 08:21:50 Great, do you use them? 08:21:54 not yet 08:22:04 siraben: you use nix? 08:22:06 Yeah, Forthers should know best about bootstrapping! 08:22:10 I use Nix, yes. 08:22:14 It's excellent. 08:23:18 siraben: I have for a long time used chroot environments for some of my infrastructure, often building the chroot environment on the same base as the host for it. I'm considering using Guix as the guest environment for the next iteration. 08:23:33 s/using/trying/ 08:23:34 I've submitted several packages to nixpkgs as well, like an emulator for TI calculators, the Miranda compiler, etc. 08:23:40 nice 08:23:47 I've heard that Guix has a small bootstrap, which is nice. 08:24:00 Unfortunately the same can't be said for Nix, which uses C++ as the implementation language. 08:24:20 yeah they implement with scheme I think 08:24:26 Yeah, Guile. 08:24:33 (GNU implementation of Scheme) 08:24:35 heh, just what I was going to type 08:24:54 I tried using GuixSD on my MacBook Pro but it didn't have nonfree driver support for wifi, so that was the end of that. 08:25:09 In X years when I switch to a PC which open firmware, might give it another shot. 08:25:09 I'm looking at the Miranda Wikipedia page right now and can't remember if this is the 1st I've learned of it or if I've just forgotten having heard of it before. 08:25:14 s/which/with 08:25:23 with OF and on top of RISC-V amirite 08:25:32 Haha, maybe. 08:25:47 Miranda is a relic from the past, the mailing lists are very dead 08:25:51 sad 08:26:21 --- quit: X-Scale (Ping timeout: 258 seconds) 08:26:29 these things rarely ever really die though, I mean you just said you packaged it for Nix, yeah? 08:26:32 It wasn't very easy to get compiling too, but now it's in nixpkgs with the help of one of Nix's maintainers. 08:26:37 --- join: X-Scale` joined #forth 08:26:38 I think Guix uses Nix underneath right? 08:26:39 Yes. 08:26:55 I don't know, I think Guix is a reimplementation of the Nix approach? 08:26:56 Ugh, I'm trying to get TCC to compile 08:26:59 heh 08:27:12 Fabric Bellard is amazing 08:27:17 --- nick: X-Scale` -> X-Scale 08:27:17 Fabrice 08:28:10 dzho: oh yes 08:28:15 a one man army 08:28:22 yeah, author of legendary IOCCC entries 08:28:34 dzho: one of my favorite entries was one of last year's winners; https://www.ioccc.org/2019/lynn/hint.html 08:28:58 --- quit: f-a (Quit: leaving) 08:29:15 at the bottom of the page there's a link to his website which explains it and shows the de-obfuscated C runtime 08:29:51 "WeDontServeYourType" lol 08:31:12 I postulate that it would compile with tcc as well, or another super minimal C compiler 08:32:34 Another crazy route to try is, Hex → Forth → C compiler 08:34:29 dzho: here's a parser generator I wrote in Forth, https://github.com/siraben/meta-yacc/blob/master/meta.fs 08:35:17 dzho: here's the .yacc analog, https://github.com/siraben/meta-yacc/blob/master/meta-forth.txt 08:35:44 er, I guess it could be more appropriate to say that I wrote the original in C, got that to self-host then generate Forth code, which then could bootstrap itself 08:37:29 Now that I'm looking into it, it's actually seems somewhat silly that information about bootstrapping a C compiler from bare bones isn't very common 08:39:01 --- join: Lord_Nightmare joined #forth 08:44:59 lol sorry I got caught up in downloading blynn's git magic guide and playing https://crypto.stanford.edu/~blynn/play/netwalk.html 08:59:08 dzho: Haha. His blog is excellent by the way, has some of the best articles on Haskell. 08:59:48 --- join: f-a joined #forth 09:00:04 --- quit: TCZ (Quit: Leaving) 09:00:37 Which reminds me, I believe this is the only modern reimplementation of a large subset (typeclasses, do notation, ADTs, polymorphism, I/O, etc.) of Haskell with a single C file runtime 09:00:53 And outperforms Miranda too, https://crypto.stanford.edu/~blynn/compiler/miranda.html 09:01:05 It doesn't look too hard to port the C runtime to Forth 09:02:23 dzho: funny. I have actually spent a large share of the last few years optimising my 15 puzzle solvers and writing research papers about them 09:03:51 FUZxxl: what kinds of papers? 09:06:26 siraben: right now I've one research paper in a peer reviewed conference as well as my bachelor's and master's theses 09:06:34 you can find links on my website: http://fuz.su/~fuz 09:06:50 Ah, cool! 09:07:20 I actually solved the 24 puzzle, the 5x5 variant of the 15 puzzle, but the strategies are the same. 09:07:37 Speaking of puzzle solving, reading Knuth's paper on Dancing Links is still on my backlog. 09:08:20 oh yes, that's a fun one 09:08:31 Knuth has written a whole book "selected papers on fun and games" 09:08:53 it contains an annotated version of the old ADVENT game with a graph showing how the cave links together 09:09:49 --- part: f-a left #forth 09:46:12 Interesting 11:25:45 --- quit: gravicappa (Ping timeout: 258 seconds) 11:27:45 --- join: gravicappa joined #forth 11:30:31 --- join: TCZ joined #forth 11:35:24 --- quit: proteusguy (Remote host closed the connection) 12:06:40 --- join: Zarutian_HTC joined #forth 13:04:14 I might have an easier time doing this bootstrapping from minimal (hundreds of) hex bytes in Linux. 13:44:33 --- quit: gravicappa (Ping timeout: 256 seconds) 14:23:56 --- join: f-a joined #forth 14:27:02 --- quit: f-a (Read error: Connection reset by peer) 14:27:26 --- join: f-a joined #forth 14:36:25 --- quit: TCZ (Quit: Leaving) 14:59:54 --- quit: f-a (Ping timeout: 265 seconds) 15:00:07 --- join: f-a joined #forth 15:05:19 --- join: TCZ joined #forth 15:10:31 --- join: f-a_ joined #forth 15:11:23 --- quit: f-a (Ping timeout: 264 seconds) 15:13:10 --- join: f-a joined #forth 15:13:51 --- quit: f-a (Client Quit) 15:34:17 --- quit: f-a_ (Quit: leaving) 15:39:40 --- quit: Zarutian_HTC (Remote host closed the connection) 15:47:55 --- join: dave0 joined #forth 16:12:58 --- quit: dave0 (Read error: Connection reset by peer) 16:18:13 --- join: dave0 joined #forth 17:43:53 --- join: Zarutian_HTC joined #forth 17:58:40 --- join: jsoft joined #forth 18:07:37 --- quit: TCZ (Quit: Leaving) 18:12:38 --- quit: dave0 (Quit: dave's not here) 18:31:10 --- join: boru` joined #forth 18:31:13 --- quit: boru (Disconnected by services) 18:31:15 --- nick: boru` -> boru 18:47:36 --- join: Zarutian_HTC1 joined #forth 18:47:37 --- quit: Zarutian_HTC (Read error: Connection reset by peer) 20:37:02 --- nick: Zarutian_HTC1 -> Zarutian_HTC 20:46:13 --- join: sts-q joined #forth 20:48:24 --- nick: jedb_ -> jedb 21:20:02 --- join: gravicappa joined #forth 21:48:55 --- join: WickedShell joined #forth 23:03:24 --- quit: _whitelogger (Remote host closed the connection) 23:06:22 --- join: _whitelogger joined #forth 23:37:36 --- quit: WickedShell (Remote host closed the connection) 23:59:59 --- log: ended forth/20.10.16