Newest at the top
2024-11-14 23:43:10 +0100 | <geekosaur> | (and maybe a performance issue) |
2024-11-14 23:42:52 +0100 | <geekosaur> | (IIRC there were a few problems with type families back then that meant the mtl folks went with monads-fd, including a bug in older ghcs) |
2024-11-14 23:42:29 +0100 | michalz | (~michalz@185.246.207.203) (Remote host closed the connection) |
2024-11-14 23:42:21 +0100 | Everything | (~Everythin@178-133-104-20.mobile.vf-ua.net) (Ping timeout: 252 seconds) |
2024-11-14 23:41:52 +0100 | <geekosaur> | I do sometimes wonder what the Haskell ecosystem would look like now if monads-tf had won out over monads-fd as the successor to mtl1 |
2024-11-14 23:41:50 +0100 | xff0x | (~xff0x@ai080132.d.east.v6connect.net) (Ping timeout: 255 seconds) |
2024-11-14 23:40:56 +0100 | <shapr> | yeah, just curious what you thought |
2024-11-14 23:40:45 +0100 | <geekosaur> | I'm not sure they're more principled, since I'm not really a type theory or type level wonk |
2024-11-14 23:40:32 +0100 | shapr | thinks about that |
2024-11-14 23:40:22 +0100 | <geekosaur> | I think in some sense they fit Haskell better, because fundeps are a chunk of Prolog imported into the type system |
2024-11-14 23:39:47 +0100 | <shapr> | geekosaur: do you think type families are more principled? |
2024-11-14 23:38:08 +0100 | <geekosaur> | many people consider the latter mroe principled, but functional dependencies have been around longer and most standard libraries still use them |
2024-11-14 23:37:39 +0100 | <geekosaur> | they are, and yes, they're essentially identical. one uses a functional dependency to establish a relationship between types, the other a type family that is associated with the typeclass ("associated type family") |
2024-11-14 23:24:36 +0100 | emfrom | (~emfrom@78.243.183.111) (Remote host closed the connection) |
2024-11-14 23:23:09 +0100 | CoolMa7_ | (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2024-11-14 23:22:02 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds) |
2024-11-14 23:21:47 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-11-14 23:19:37 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-11-14 23:19:15 +0100 | CoolMa7 | (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
2024-11-14 23:17:36 +0100 | CoolMa7_ | (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) CoolMa7 |
2024-11-14 23:16:00 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2024-11-14 23:13:10 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-11-14 23:12:41 +0100 | <carbolymer> | what's the difference between Foo1 and Foo2 here: https://paste.tomsmeding.com/HEZo1ic4 ? aren't they expressing the same thing basically? |
2024-11-14 23:06:47 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-14 23:06:25 +0100 | Everything | (~Everythin@178-133-104-20.mobile.vf-ua.net) Everything |
2024-11-14 22:58:54 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2024-11-14 22:58:28 +0100 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-11-14 22:57:14 +0100 | dolio | (~dolio@130.44.140.168) dolio |
2024-11-14 22:52:25 +0100 | Smiles | (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2024-11-14 22:51:46 +0100 | <haskellbridge> | <Bowuigi> Yeah you definitely need a blog lol |
2024-11-14 22:51:00 +0100 | <haskellbridge> | <Bowuigi> Hmmm I think I get it now |
2024-11-14 22:46:42 +0100 | dolio | (~dolio@130.44.140.168) (Ping timeout: 252 seconds) |
2024-11-14 22:45:10 +0100 | guy | (~guy@2a01:4b00:d007:ed00:81c3:85aa:e2c9:6027) (Quit: Client closed) |
2024-11-14 22:44:04 +0100 | <guy> | https://chatgpt.com/share/67366f04-9d30-800b-82c2-fe23ab9d5e09 |
2024-11-14 22:44:03 +0100 | <guy> | chatGPT does an okish job of groking the summary. but i think its way infirior to the voice note |
2024-11-14 22:43:53 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2024-11-14 22:39:34 +0100 | guy | (~guy@2a01:4b00:d007:ed00:81c3:85aa:e2c9:6027) |
2024-11-14 22:38:42 +0100 | guy_ | (~guy@2a01:4b00:d007:ed00:81c3:85aa:e2c9:6027) (Quit: Client closed) |
2024-11-14 22:38:41 +0100 | <guy_> | peace x |
2024-11-14 22:38:39 +0100 | <guy_> | stopping now for the deluge. |
2024-11-14 22:38:34 +0100 | <guy_> | woot, i think i gave the text based version |
2024-11-14 22:38:27 +0100 | <guy_> | breaks the traversal laws and introduces the concept of "nonlinearity" |
2024-11-14 22:38:13 +0100 | <guy_> | this is where the idea of "functor scheduling" which might not have visitation of each element only once |
2024-11-14 22:37:54 +0100 | <guy_> | the point here is that you can also overwrite data ie, have the same position mentioned several times |
2024-11-14 22:37:36 +0100 | <guy_> | so when you put it into a list, with each value having the structure directing information aswell, then you can put it back from a list and rebuild the graph. like folding through the list with the seti constructor |
2024-11-14 22:37:00 +0100 | <guy_> | seti+geti are abstractions extending around pattern matching on (:) where you get an extra piece of data |
2024-11-14 22:36:28 +0100 | <guy_> | its more like basically "because its foldable there is a toList" so its "linearizable" |
2024-11-14 22:36:10 +0100 | <guy_> | but yeah, totally different concept of linearity |
2024-11-14 22:36:02 +0100 | <guy_> | i think basically, because the state is updated each time, thats where the linearity comes in |
2024-11-14 22:35:34 +0100 | <guy_> | and then its weird because your functions are replaced by something that has concrete and variable data associated |