Logs: liberachat/#haskell
| 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.