2025/11/21

Newest at the top

2025-11-21 15:06:54 +0100 <kuribas> You can somewhat emulate this in haskell, by lifting the computations into type level haskell, but it gets cumbersome to do type level computations.
2025-11-21 15:05:10 +0100 <kuribas> The "n" in vector can be considered a static value, or something dynamic that can be manipulated at runtime.
2025-11-21 15:04:47 +0100 <kuribas> Hecate: it's there where the flexbility comes from, by putting your schema in the type.
2025-11-21 15:04:01 +0100 <Hecate> kuribas: they blur the line only if you don't take advantage of them, by putting conditions in the type like 'Vector n where n > 3" or something
2025-11-21 15:03:51 +0100 <kuribas> However with a dependent types (idris) I can treat the schema as a description of the value, which can be manipulated at runtime, so it's both a static and dynamic value.
2025-11-21 15:02:46 +0100 <kuribas> Other than messing with generics, you lose flexibility by putting values in data.
2025-11-21 15:02:23 +0100 <kuribas> But the two approaches are mutual exclusive.
2025-11-21 15:02:16 +0100 <kuribas> Interesting how dependent types blur the line between dynamic and static. For example, in haskell I can choose to pass JSON Value as opaque values, or to parse them into datatypes.
2025-11-21 14:51:09 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-11-21 14:50:49 +0100ljdarj(~Thunderbi@user/ljdarj) (Quit: ljdarj)
2025-11-21 14:33:39 +0100fp(~Thunderbi@2001:708:20:1406::1370) fp
2025-11-21 14:33:18 +0100fp(~Thunderbi@130.233.70.141) (Quit: fp)
2025-11-21 14:26:37 +0100ft(~ft@p4fc2aaeb.dip0.t-ipconnect.de) ft
2025-11-21 14:25:08 +0100fp(~Thunderbi@130.233.70.141) fp
2025-11-21 14:23:51 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-11-21 14:20:57 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) kuribas
2025-11-21 14:18:15 +0100ringo_(~ringo@157.230.117.128) ringo_
2025-11-21 14:13:23 +0100Nachtgespenst(~user@user/siracusa) (Quit: Bye!)
2025-11-21 14:04:49 +0100ringo_(~ringo@157.230.117.128) (Ping timeout: 264 seconds)
2025-11-21 14:03:14 +0100trickard_trickard
2025-11-21 14:02:03 +0100 <lucabtz> https://en.wikipedia.org/wiki/Domain_theory this page doesnt make much of a connection to haskell and im not even sure it is the same thing you mean because it is still speaking about sets in the end
2025-11-21 13:59:07 +0100tromp(~textual@2001:1c00:3487:1b00:697a:bc7a:f580:408c)
2025-11-21 13:59:05 +0100fp(~Thunderbi@dhcp-86-136.eduroam.aalto.fi) (Remote host closed the connection)
2025-11-21 13:58:57 +0100 <lucabtz> c_wraith any resource with precise definitions for domain theory?
2025-11-21 13:58:43 +0100aditya_an1l(~aditya_an@user/aditya-an1l:63825) (Quit: WeeChat 4.7.1)
2025-11-21 13:55:31 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-11-21 13:54:23 +0100bwe(~bwe@2a01:4f8:1c1c:4878::2) bwe
2025-11-21 13:53:59 +0100bwe(~bwe@2a01:4f8:1c1c:4878::2) (Remote host closed the connection)
2025-11-21 13:51:23 +0100qqe(~qqq@185.54.21.140) (Quit: Lost terminal)
2025-11-21 13:51:02 +0100 <dminuoso> And it may easily differ between GHC versions or other GHC flags.
2025-11-21 13:50:50 +0100 <dminuoso> But its really hard to predicte whether that actually ends up triggering.
2025-11-21 13:50:37 +0100 <[exa]> yeah
2025-11-21 13:50:31 +0100 <dminuoso> [exa]: There seem to be quite a bunch of RULES that could facilitate shortcut fusion.
2025-11-21 13:49:44 +0100 <[exa]> turns out `streaming` kinda measured that for me, see below in the readme https://github.com/haskell-streaming/streaming
2025-11-21 13:49:43 +0100Googulator66(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-21 13:48:24 +0100 <dminuoso> It's best to just take your hot path and stare at the generated Core for way too much of your time.
2025-11-21 13:48:06 +0100 <dminuoso> Ultimately its tough to make predictions about when fusion occurs externally, even in case of text.
2025-11-21 13:47:12 +0100 <[exa]> hm yeah good point
2025-11-21 13:46:27 +0100 <dminuoso> But should be easy to check: Just look for how many rewrite rules are in pipes.
2025-11-21 13:46:06 +0100Googulator7(~Googulato@81.183.235.203)
2025-11-21 13:45:58 +0100 <dminuoso> Text fusion is so adhoc.. heh
2025-11-21 13:44:29 +0100bwe(~bwe@2a01:4f8:1c1c:4878::2) bwe
2025-11-21 13:44:25 +0100 <[exa]> like, main question probably is that if some kind of fusion works in there, like with Text
2025-11-21 13:43:17 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2025-11-21 13:42:56 +0100 <dminuoso> From what I read, pipes is on the faster side of things, but conduit/streaming generally are much faster.
2025-11-21 13:42:03 +0100 <dminuoso> The answer is clearly "Yes, no, maybe"
2025-11-21 13:41:57 +0100 <dminuoso> [exa]: "OK-ish" and "bazillion" are very subjective terms.
2025-11-21 13:39:44 +0100bwe70296(~bwe@2a01:4f8:1c1c:4878::2) (Read error: Connection reset by peer)
2025-11-21 13:38:22 +0100fp(~Thunderbi@dhcp-86-136.eduroam.aalto.fi) fp
2025-11-21 13:36:19 +0100trickard_(~trickard@cpe-88-98-47-163.wireline.com.au)