2024/12/22

Newest at the top

2024-12-22 17:07:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-12-22 17:07:11 +0100 <haskellbridge> <thirdofmay18081814goya> ski: I see! ty
2024-12-22 17:04:26 +0100 <albet70> what that is called?
2024-12-22 17:03:23 +0100 <albet70> like it capture k1 inside f, then call g with k1, then capture g's rest as k2, it jumps to k1 with k2
2024-12-22 17:03:14 +0100 <int-e> . o O ( deadlocks are bad, let's starve instead )
2024-12-22 17:03:12 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-22 17:02:54 +0100 <geekosaur> otherwise you risk deadlocks
2024-12-22 17:02:25 +0100 <geekosaur> anyway, AIUI one shared var in entire program is atomicModifyIORef, one shared between two given threads is MVar, anything more requires something more complex and STM is preferred these days
2024-12-22 17:02:09 +0100 <albet70> I learned scheme a few years ago, I saw a article about call/cc to do coroutine, it can jump between two functions with variable, but I can't find that article now
2024-12-22 17:01:21 +0100 <ski> thirdofmay18081814goya : "possible"-type modalities would be the ones which could be monadic, while "neccesary"-type ones could be comonadic
2024-12-22 17:01:15 +0100 <int-e> MutVar# != MVar# (MutVar# is STRef/IORef)
2024-12-22 17:00:26 +0100 <geekosaur> but it's a very low level thing
2024-12-22 17:00:08 +0100 <geekosaur> well, not primitive, MutVar# is the primitive
2024-12-22 16:59:54 +0100 <geekosaur> it's a primitive synchronization variable
2024-12-22 16:59:03 +0100 <albet70> what mvar is based on?
2024-12-22 16:53:03 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-12-22 16:52:13 +0100 <probie> If it's just a single variable, `MVar`s might be sufficient
2024-12-22 16:51:42 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-22 16:51:32 +0100lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 265 seconds)
2024-12-22 16:47:25 +0100Digit(~user@user/digit) Digit
2024-12-22 16:47:13 +0100 <geekosaur> STM is the usual method
2024-12-22 16:45:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-22 16:40:29 +0100 <albet70> how to share or passing one variable between two async function? like there are async function f and g, jump between f and g with one variable so that f and g can both modify
2024-12-22 16:39:21 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-12-22 16:38:00 +0100 <albet70> hello everyone
2024-12-22 16:36:08 +0100 <haskellbridge> <thirdofmay18081814goya> well this could be a way to make that precise: a monad-encoding of a modal type is inhabited iff it's corresponding modal type is inhabited
2024-12-22 16:35:04 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-12-22 16:34:57 +0100 <ncf> do you mean anything precise by that
2024-12-22 16:33:26 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-12-22 16:32:17 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2024-12-22 16:31:49 +0100 <haskellbridge> <thirdofmay18081814goya> can Haskell monads simulate modal types?
2024-12-22 16:31:38 +0100 <haskellbridge> <thirdofmay18081814goya> I recall reading somewhere that modal types are given by monads
2024-12-22 16:30:04 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-22 16:19:09 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-22 16:18:40 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Ping timeout: 265 seconds)
2024-12-22 16:14:40 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-22 16:07:42 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-12-22 16:06:02 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-12-22 16:04:10 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-22 16:03:25 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-12-22 15:59:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-22 15:51:08 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-12-22 15:48:22 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-12-22 15:47:12 +0100xff0x(~xff0x@p3704193-ipxg12201sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 252 seconds)
2024-12-22 15:45:30 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-12-22 15:43:16 +0100manwithluck(~manwithlu@194.177.28.164) manwithluck
2024-12-22 15:42:39 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-22 15:36:28 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-22 15:35:21 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
2024-12-22 15:31:57 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn