Newest at the top
2024-10-08 21:29:12 +0200 | <tomsmeding> | and there are actually other data types, such as Bag, that are better in certain circumstances |
2024-10-08 21:28:59 +0200 | <tomsmeding> | [] is surely the canonical free monoid. But that doesn't mean I _need_ [] in order to represent a free monoid; I can easily write my own data type that does the same thing |
2024-10-08 21:28:25 +0200 | <haskellbridge> | <thirdofmay18081814goya> hm right |
2024-10-08 21:28:07 +0200 | <tomsmeding> | but "need" is too strong, I think |
2024-10-08 21:27:59 +0200 | <tomsmeding> | perhaps |
2024-10-08 21:27:51 +0200 | <haskellbridge> | <thirdofmay18081814goya> aren't free monads their canonical abstract implementation-independent representation |
2024-10-08 21:27:33 +0200 | <tomsmeding> | which is what "free monad" means to me |
2024-10-08 21:27:29 +0200 | <tomsmeding> | as in: you don't need to actually reify the computation as a data type |
2024-10-08 21:27:06 +0200 | <tomsmeding> | sure, free monads are one way to implement that semantics |
2024-10-08 21:26:59 +0200 | <tomsmeding> | I would not call that "giving rise to free monads" |
2024-10-08 21:26:39 +0200 | <dolio> | And it's up to the handler whether that satisfies the expected equations for state or not. |
2024-10-08 21:26:16 +0200 | <dolio> | They can do get/put |
2024-10-08 21:25:46 +0200 | tomsmeding | has difficulty parsing that |
2024-10-08 21:25:03 +0200 | <dolio> | E.G. they cannot do state. |
2024-10-08 21:24:50 +0200 | <dolio> | Most of the time what you see of algebraic effects showing up in actual languages, they are by definition giving rise to free monads. |
2024-10-08 21:21:56 +0200 | <tomsmeding> | there's also 'eff' based on delimited continuations |
2024-10-08 21:21:42 +0200 | <tomsmeding> | this cannot model nondeterminism (search for "Any downsides" here https://hackage.haskell.org/package/effectful-core-2.3.1.0 ), but can implement many of the common "practical" effects |
2024-10-08 21:20:40 +0200 | Pixi | (~Pixi@user/pixi) Pixi |
2024-10-08 21:20:06 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-10-08 21:20:06 +0200 | <tomsmeding> | for example |
2024-10-08 21:20:04 +0200 | <tomsmeding> | https://hackage.haskell.org/package/effectful-core-2.3.1.0/docs/src/Effectful.Internal.Monad.html#… |
2024-10-08 21:19:18 +0200 | <tomsmeding> | if you are willing to give up some of the more exotic effects, ReaderT r IO can suffice just fine, with the right API |
2024-10-08 21:18:49 +0200 | <tomsmeding> | and they are traditional vehicle in haskell, but not all effects libraries use them |
2024-10-08 21:18:32 +0200 | <tomsmeding> | goya: You don't _need_ a free monad to model algebraic effects; free monads _can be used_ to model algebraic effects |
2024-10-08 21:17:55 +0200 | machinedgod | (~machinedg@d50-99-47-73.abhsia.telus.net) machinedgod |
2024-10-08 21:17:34 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 272 seconds) |
2024-10-08 21:15:33 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-08 21:08:14 +0200 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-10-08 21:07:43 +0200 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-10-08 21:01:51 +0200 | CiaoSen | (~Jura@2a05:5800:225:700:ca4b:d6ff:fec1:99da) (Ping timeout: 276 seconds) |
2024-10-08 21:00:37 +0200 | caconym | (~caconym@user/caconym) caconym |
2024-10-08 21:00:01 +0200 | caconym | (~caconym@user/caconym) (Quit: bye) |
2024-10-08 20:59:54 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
2024-10-08 20:56:25 +0200 | Pixi | (~Pixi@user/pixi) (Quit: Leaving) |
2024-10-08 20:54:42 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-08 20:50:38 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) raehik |
2024-10-08 20:43:55 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
2024-10-08 20:38:57 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-08 20:35:24 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-10-08 20:27:01 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-10-08 20:24:22 +0200 | mrtz | (~moe@lewi-19-b2-v4wan-169604-cust1264.vm4.cable.virginm.net) (Ping timeout: 265 seconds) |
2024-10-08 20:21:34 +0200 | jcarpenter2 | (~lol@2603:3016:1e01:b9e0:9c4e:1030:31bf:f76b) (Ping timeout: 260 seconds) |
2024-10-08 20:20:51 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 244 seconds) |
2024-10-08 20:20:24 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 252 seconds) |
2024-10-08 20:19:19 +0200 | samanklesaria | (~samankles@68-168-167-245.fttp.usinternet.com) (Remote host closed the connection) |
2024-10-08 20:17:45 +0200 | lol_ | (~lol@2603:3016:1e01:b9e0:835:2698:e6f:bd82) |
2024-10-08 20:17:17 +0200 | briandaed | (~root@185.234.210.211.r.toneticgroup.pl) (Remote host closed the connection) |
2024-10-08 20:16:13 +0200 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
2024-10-08 20:14:16 +0200 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2024-10-08 20:11:47 +0200 | samanklesaria | (~samankles@68-168-167-245.fttp.usinternet.com) |