2025/11/21

Newest at the top

2025-11-21 15:41:11 +0100 <kuribas> yes
2025-11-21 15:34:09 +0100Googulator7(~Googulato@81.183.235.203) (Ping timeout: 250 seconds)
2025-11-21 15:32:01 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 255 seconds)
2025-11-21 15:30:45 +0100Googulator83(~Googulato@team.broadbit.hu)
2025-11-21 15:27:48 +0100humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2025-11-21 15:25:28 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
2025-11-21 15:24:56 +0100Inline(~inlinE@2001-4dd7-ae97-0-4674-ae6d-2607-c022.ipv6dyn.netcologne.de) (Quit: Leaving)
2025-11-21 15:23:28 +0100 <tomsmeding> though with singletons, you indeed either have to lift the computation to the type-level too, or have to deal with some kind of forgetfulness on the type level and use existentials
2025-11-21 15:22:52 +0100 <tomsmeding> also GADTs and singletons allow you to simulate dependencies to a certain extent
2025-11-21 15:22:36 +0100 <tomsmeding> you can also create existentials, which sometimes allow you to do things that seem dependent
2025-11-21 15:18:55 +0100Frostillicus(~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 250 seconds)
2025-11-21 15:17:04 +0100biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2025-11-21 15:12:02 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
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.