Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,803,989 events total
2021-08-03 20:14:33 × mattil quits (~mattilinn@62-113-176-119.bb.dnainternet.fi) (Quit: Leaving)
2021-08-03 20:17:38 × Null_A quits (~null_a@2601:645:8700:2290:7da4:a1bb:6c20:daba) (Remote host closed the connection)
2021-08-03 20:17:47 <drakonis> davean: do you have any other questions you'd like to get an answer for?
2021-08-03 20:17:52 <drakonis> im here all day :V
2021-08-03 20:18:14 <davean> lol, I'm pretty tangled up on this question now!
2021-08-03 20:18:18 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-08-03 20:18:36 <drakonis> things i should say i appreciate about guix
2021-08-03 20:18:44 <drakonis> changing inner machinery is a hoot with them
2021-08-03 20:18:50 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-03 20:19:35 <drakonis> they modified a bunch of things a week back and it was smooth sailing
2021-08-03 20:19:48 <drakonis> there's #guix btw
2021-08-03 20:19:59 <drakonis> just so i don't take over the channel with this discussion
2021-08-03 20:20:30 <drakonis> as well as #nonguix if you need some of that sweet sweet software that doesnt obey their policies moolah
2021-08-03 20:20:41 Null_A joins (~null_a@2601:645:8700:2290:7da4:a1bb:6c20:daba)
2021-08-03 20:20:45 <davean> policies?
2021-08-03 20:21:02 × Atum_ quits (IRC@user/atum/x-2392232) (Quit: Atum_)
2021-08-03 20:21:10 <DigitalKiwi> non-free
2021-08-03 20:21:19 <drakonis> basically, they have really strong policies on things like reproducibility, bootstrapping and nonfreeness
2021-08-03 20:21:34 <drakonis> ie: they have standards
2021-08-03 20:21:39 <drakonis> actual goddamn standrds
2021-08-03 20:21:41 <drakonis> standards.
2021-08-03 20:21:42 <davean> drakonis: what does "bootstrapping" mean?
2021-08-03 20:21:53 <davean> I don't think anyone has bootstrapped a system fully in decades ...
2021-08-03 20:21:54 <drakonis> it means building software from scratch
2021-08-03 20:21:58 <davean> like ... more then 4
2021-08-03 20:22:02 <drakonis> they have been doing that for compilers
2021-08-03 20:22:21 <drakonis> they have a haskell bootstrap
2021-08-03 20:22:21 <davean> I mean you have to get machine code from somewhere
2021-08-03 20:22:28 <drakonis> well, they've done that too
2021-08-03 20:22:35 <drakonis> see gnu mes
2021-08-03 20:22:45 <drakonis> https://www.gnu.org/software/mes/
2021-08-03 20:22:58 Huw joins (~Huw@pa49-179-73-201.pa.nsw.optusnet.com.au)
2021-08-03 20:23:04 <drakonis> honestly, it is very impressive.
2021-08-03 20:23:13 <DigitalKiwi> https://www.bootstrappable.org/ is this part of guix project?
2021-08-03 20:23:16 <davean> I mean, that sure looks like code you have to compile - so it has to get compiled somehow
2021-08-03 20:23:22 <davean> we don't exactly have toggle switches anymore
2021-08-03 20:23:25 <drakonis> it is run by guix people
2021-08-03 20:23:32 <davean> you can't just toggle code into the computer
2021-08-03 20:23:38 × fendor_ quits (~fendor@77.119.205.218.wireless.dyn.drei.com) (Remote host closed the connection)
2021-08-03 20:23:49 <drakonis> rather, it is predominantly guix adjacent people
2021-08-03 20:24:06 <davean> Ok, they say "reduced binary seed"
2021-08-03 20:24:11 <davean> so they're still not actually bootstrapping it fully
2021-08-03 20:24:17 <davean> they're just reducing the hold over
2021-08-03 20:24:23 <drakonis> they've been cutting it down
2021-08-03 20:24:44 <drakonis> https://savannah.nongnu.org/projects/stage0 they have this now
2021-08-03 20:24:59 <drakonis> https://www.bootstrappable.org/projects/mes.html
2021-08-03 20:25:00 <drakonis> Stage0 starts with just a 280 byte Hex monitor and builds up the infrastructure required to start some serious software development.
2021-08-03 20:25:40 <davean> so you put those 200 bytes on disk, and boot into it?
2021-08-03 20:25:57 <drakonis> https://guix.gnu.org/en/blog/2020/guix-further-reduces-bootstrap-seed-to-25/
2021-08-03 20:26:03 <drakonis> they've been using it to compile things
2021-08-03 20:26:09 <drakonis> not boot into it i guess?
2021-08-03 20:26:13 × Huw quits (~Huw@pa49-179-73-201.pa.nsw.optusnet.com.au) (Read error: Connection reset by peer)
2021-08-03 20:26:50 <davean> ok, so you still have an entire kernel then, but ok
2021-08-03 20:27:10 <davean> anyway, got Haskell they do GHC with the via-c backend and compiler that result to compile future GHCs?
2021-08-03 20:28:21 <drakonis> haskell doesnt go that far back yet
2021-08-03 20:28:42 acidjnk_new joins (~acidjnk@p200300d0c72b95287d3c8ae91691b72a.dip0.t-ipconnect.de)
2021-08-03 20:29:17 <drakonis> but they do that
2021-08-03 20:29:24 <drakonis> they use the previous one to compile the next
2021-08-03 20:30:27 <davean> Oh thats how it always works though
2021-08-03 20:30:57 <drakonis> indeed
2021-08-03 20:31:57 Atum_ joins (IRC@user/atum/x-2392232)
2021-08-03 20:31:59 <drakonis> there's an interesting thing that comes out of this
2021-08-03 20:32:16 <drakonis> it means they can offer a very wide variety of compiler versions
2021-08-03 20:32:16 <davean> ?
2021-08-03 20:32:32 <drakonis> since they aim to bootstrap as early as possible
2021-08-03 20:32:34 <davean> I don't see how that comes out of this - most platforms do
2021-08-03 20:32:55 <drakonis> they don't nuke the definitions for the older compilers in the chain
2021-08-03 20:33:10 <drakonis> they're just hidden from public consumption
2021-08-03 20:33:50 <drakonis> its an indirect result of it
2021-08-03 20:34:09 <drakonis> but as far as i'm concerned, the other linux distributions dont really care a whole lot about bootstrapping things so deeply
2021-08-03 20:34:33 <davean> but offering versions has nothing to do with bootstrapping, and most distros offer a whole pile of versions
2021-08-03 20:35:03 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-03 20:35:16 × Atum_ quits (IRC@user/atum/x-2392232) (Client Quit)
2021-08-03 20:35:36 burnsidesLlama joins (~burnsides@dhcp168-023.wadham.ox.ac.uk)
2021-08-03 20:36:18 Atum_ joins (~IRC@user/atum/x-2392232)
2021-08-03 20:37:45 × Null_A quits (~null_a@2601:645:8700:2290:7da4:a1bb:6c20:daba) (Remote host closed the connection)
2021-08-03 20:38:33 <davean> drakonis: so one of the things "mes" says its inspired by seems to actually fully bootstrap?
2021-08-03 20:39:16 <drakonis> it's part of the chain
2021-08-03 20:39:41 jgeerds joins (~jgeerds@55d45555.access.ecotel.net)
2021-08-03 20:40:11 × burnsidesLlama quits (~burnsides@dhcp168-023.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
2021-08-03 20:40:44 Null_A joins (~null_a@2601:645:8700:2290:7da4:a1bb:6c20:daba)
2021-08-03 20:41:14 <ixlun> Does anyone know how I can use `mapM_` with a bytestring? I don't think it's an instance of `Traversable`
2021-08-03 20:41:16 × Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-08-03 20:41:38 Vajb joins (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-08-03 20:41:40 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
2021-08-03 20:42:04 <davean> ixlun: you can unpack it
2021-08-03 20:42:51 tommd joins (~tommd@cpe-76-179-204-251.maine.res.rr.com)
2021-08-03 20:42:59 <davean> ixlun: and mapM_ is off foldable, not traversable
2021-08-03 20:43:56 <ixlun> Ah, yes, I didn't think about unpacking it!
2021-08-03 20:44:49 <ixlun> What's the difference between `Traversable` and `Foldable`, they seem very similar?
2021-08-03 20:46:19 <davean> ixlun: traversable is significantly more powerful, and thus restrictive
2021-08-03 20:46:37 <davean> ByteString could almost be a foldable, it could never imagine being a traversable
2021-08-03 20:47:20 acidjnk_new3 joins (~acidjnk@p200300d0c72b95281da3f9599f9b27a2.dip0.t-ipconnect.de)
2021-08-03 20:47:30 <davean> I tihnk you could make a wrapper type that could hold a bytestring and be a foldable actually ...
2021-08-03 20:47:52 sheepduck joins (~sheepduck@user/sheepduck)
2021-08-03 20:48:52 <davean> ixlun: Taversable has to be able to hold arbitrary things
2021-08-03 20:49:22 × reumeth quits (~reumeth@user/reumeth) (Ping timeout: 240 seconds)
2021-08-03 20:49:24 lavaman joins (~lavaman@98.38.249.169)
2021-08-03 20:50:30 × Null_A quits (~null_a@2601:645:8700:2290:7da4:a1bb:6c20:daba) (Remote host closed the connection)
2021-08-03 20:50:40 <geekosaur> there is a mono-traversable package out there, intended specifically to resolve this issue for ByteString and Text

All times are in UTC.