Home liberachat/#haskell: Logs Calendar

Logs on 2024-04-10 (liberachat/#haskell)

00:13:49 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
00:15:22 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
00:15:37 × nullobject quits (~josh@user/nullobject) (Quit: WeeChat 3.5)
00:15:43 chexum joins (~quassel@gateway/tor-sasl/chexum)
00:19:38 ddellacosta joins (~ddellacos@ool-44c73d29.dyn.optonline.net)
00:34:13 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds)
00:36:17 × ddellacosta quits (~ddellacos@ool-44c73d29.dyn.optonline.net) (Quit: WeeChat 4.2.1)
00:38:34 × phma quits (phma@2001:5b0:211c:1c38:cf4e:d6e:98f0:9ef7) (Read error: Connection reset by peer)
00:39:01 phma joins (phma@2001:5b0:211c:1c38:d0a3:2736:ae8b:8902)
00:39:19 Sgeo joins (~Sgeo@user/sgeo)
00:43:49 ddellacosta joins (~ddellacos@ool-44c73d29.dyn.optonline.net)
00:44:07 × ystael quits (~ystael@user/ystael) (Ping timeout: 246 seconds)
00:46:47 sadie_ joins (~sadie@c-76-155-235-153.hsd1.co.comcast.net)
01:02:31 × pointlessslippe- quits (~pointless@212.82.82.3) (Ping timeout: 256 seconds)
01:02:35 × TonyStone31 quits (~TonyStone@user/TonyStone) (Remote host closed the connection)
01:04:24 TonyStone joins (~TonyStone@user/TonyStone)
01:05:58 pointlessslippe1 joins (~pointless@212.82.82.3)
01:33:44 × xff0x quits (~xff0x@2405:6580:b080:900:847:f391:691d:6dc4) (Ping timeout: 260 seconds)
01:34:35 pavonia joins (~user@user/siracusa)
01:36:27 <Axman6> I also find those instructions quite confusing - so they want data SR v = Add (SR v) (SR v) | Mul (SR v) (SR v) | Aid | Mid | V v?
01:36:31 <Axman6> do*
01:41:22 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
01:45:18 × sadie_ quits (~sadie@c-76-155-235-153.hsd1.co.comcast.net) (Remote host closed the connection)
01:47:29 hsw joins (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
01:48:46 jinsun joins (~jinsun@user/jinsun)
01:53:59 × otto_s quits (~user@p5b044870.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
01:55:21 otto_s joins (~user@p5de2f4c0.dip0.t-ipconnect.de)
02:14:53 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 240 seconds)
02:21:51 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 256 seconds)
02:25:20 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
02:45:57 crook1389 joins (uid581388@id-581388.ilkley.irccloud.com)
02:51:33 × emergence quits (emergence@2607:5300:60:5910:dcad:beff:feef:5bc) (Quit: emergence)
02:52:29 × td_ quits (~td@i53870916.versanet.de) (Ping timeout: 240 seconds)
02:54:26 td_ joins (~td@i53870930.versanet.de)
02:55:32 <jcarpenter2> Is there a function that's like fmap, but with state? I'm looking for a type signature like: (a -> b -> (a, c)) -> a -> f b -> f c
02:56:30 <jcarpenter2> So you pass in a function that takes the "state" a, an instance b, and returns new state and an output (a, c); an initial state; and a container, and get back the mapped container
02:56:54 acidjnk_new joins (~acidjnk@p200300d6e714dc00c12ceadbd6a85e80.dip0.t-ipconnect.de)
02:56:57 <jcarpenter2> like a fold, but maps instead of reduces
02:58:32 raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
02:59:59 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
03:01:08 <geekosaur> :t mapAccumL
03:01:10 <lambdabot> Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c)
03:01:27 <geekosaur> same thing except you also get back the final state
03:01:52 <jcarpenter2> oh my gosh, thank you
03:03:42 × acidjnk_new quits (~acidjnk@p200300d6e714dc00c12ceadbd6a85e80.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
03:06:41 harveypwca joins (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288)
03:15:45 emergence joins (emergence@2607:5300:60:5910:dcad:beff:feef:5bc)
03:18:54 <jackdk> You could probably also do it with `traverse` using `State s` as your `Applicative`, but `mapAccumL` is going to be easier
03:21:03 <jcarpenter2> that makes sense
03:21:35 <jcarpenter2> boy, I haven't written Haskell in years, and now my brain is getting warped (un-warped?)
03:27:04 igemnace joins (~ian@user/igemnace)
03:29:56 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
03:30:30 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
03:38:46 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
03:39:16 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
03:45:09 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 256 seconds)
03:47:32 hsw_ joins (~hsw@112-104-87-22.adsl.dynamic.seed.net.tw)
03:48:59 × hsw quits (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Ping timeout: 256 seconds)
03:49:38 <EvanR> I didn't know about mapAccumL for a long time
03:50:22 <EvanR> @src mapAccumL
03:50:22 <lambdabot> mapAccumL _ s [] = (s, [])
03:50:22 <lambdabot> mapAccumL f s (x:xs) = (s'',y:ys)
03:50:23 <lambdabot> where (s', y ) = f s x
03:50:23 <lambdabot> (s'',ys) = mapAccumL f s' xs
03:50:35 <EvanR> cmon nothing involving scanl?
03:51:28 poollovernathan joins (~u0_a408@108.145.176.65)
03:51:45 aforemny joins (~aforemny@2001:9e8:6ce2:e300:a070:17b7:ef89:325a)
03:52:54 × aforemny_ quits (~aforemny@i59F516D1.versanet.de) (Ping timeout: 252 seconds)
03:53:08 <Axman6> jcarpenter2: welcome back :)
03:53:38 <jcarpenter2> thanks :)
03:54:18 <mauke> :t (runState .) . traverse . (state .)
03:54:19 <lambdabot> Traversable t => (a -> s -> (b, s)) -> t a -> s -> (t b, s)
03:54:34 <jcarpenter2> It's rare things in life that genuinely give me the feeling of getting smarter. Haskell is one, The Witness was another
03:54:48 <poollovernathan> is there a way to ‘switch’ monads during a do-block? I'm playing with linear types (purely for fun/excercise) and want to make a linear-compatible State and I think I can do this by taking a `Maybe *` as a type parameter and making `get` switch from a `State (Just t) a` to a `State Nothing a`. I think the best way I can think of so far would be to use RebindableSyntax and change (>>=) to do
03:54:54 <poollovernathan> this; does anyone have ideas for other possibilities?
03:55:41 <Axman6> hmm, the first thing that comes to mind is indexed monads
03:56:57 <Axman6> https://wespiser.com/posts/2020-05-06-IxMonad.html
03:57:12 <Axman6> (an arbitrary post that looks relevant after skimming it)
03:57:53 <poollovernathan> those seem interesting! they seem simultaneously more general and concrete than my half-baked idea
03:59:54 <Axman6> and also https://kseo.github.io/posts/2017-01-12-indexed-monads.html which seems very close to your usecase
04:00:34 <Axman6> so rather than having a state of Maybe *, you'd just use the type or ()
04:01:08 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
04:02:57 <poollovernathan> so I could make a `class IxMonad (s ∷ ★) (m ∷ s → s → ★ → ★) where (>>=) ∷ m p i a → (a → m i f b) → m p f b` and rewrite the standard library?
04:03:39 <poollovernathan> (if I had a nickel for every time I've had to rewrite a language's stdlib for a slightly different use case, I'd have two nickels)
04:05:41 <Axman6> perhaps, I'm not sure I understand the example, but it looks about right
04:07:37 <poollovernathan> oh, for example purposes I'd `instance IxMonad (Maybe ★) StateL where (>>=) = _`
04:09:19 <poollovernathan> then I'd define `get ∷ StateL (Just a) Nothing a` and `put ∷ a ⊸ StateL Nothing (Just a) ()`
04:09:43 <Axman6> Oh nice - type level MVars :p
04:10:06 <Axman6> that feels very much like linear types indeed
04:10:11 <poollovernathan> yeah, my main goal was to get this checking (no `get` twice in a row) at compile-time
04:11:38 <poollovernathan> time to make a working example…
04:12:03 <poollovernathan> or even some form of working code that appears useful when quickly glanced at
04:14:11 <jackdk> Most stuff I've read about Indexed Monads predates the QualifiedDo extension, which means you can ergonomically use them without RebindableSyntax
04:15:40 × jinsun quits (~jinsun@user/jinsun) (Ping timeout: 256 seconds)
04:16:46 <c_wraith> QualifiedDo is a fantastic extension for enabling not-quite-monads to work pleasantly without really heavy stuff
04:17:01 <Axman6> https://wickstrom.tech/2017-10-27-motor-finite-state-machines-haskell.html looks interesting and possibly related
04:20:32 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
04:21:51 <Axman6> I miss Oskar's work, I remember he had a really good video series on Haskell on youtube and his haskell-at-work website (which appears to now be all spam)
04:22:16 jinsun joins (~jinsun@user/jinsun)
04:22:19 <EvanR> QualifiedDo
04:22:22 <EvanR> wwwwwhat
04:22:28 <poollovernathan> got Functor, IxApplicative, and IxMonad defined in session 2's ghci instance; time to see how much catches fire actually implenting them
04:22:37 <poollovernathan> oh! qualifieddo exists
04:26:48 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
04:32:30 michalz joins (~michalz@185.246.207.201)
04:43:57 × ski quits (~ski@ext-1-033.eduroam.chalmers.se) (Ping timeout: 256 seconds)
04:52:29 ski joins (~ski@ext-1-033.eduroam.chalmers.se)
05:04:45 × monochrom quits (trebla@216.138.220.146) (Quit: ZNC 1.8.2+deb3.1 - https://znc.in)
05:08:16 × notzmv quits (~daniel@user/notzmv) (Ping timeout: 255 seconds)
05:09:26 monochrom joins (trebla@216.138.220.146)
05:12:29 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
05:13:40 euleritian joins (~euleritia@77.22.252.56)
05:14:51 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds)
05:16:37 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
05:24:08 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
05:27:35 × euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 264 seconds)
05:27:54 euleritian joins (~euleritia@dynamic-176-006-199-030.176.6.pool.telefonica.de)
05:29:42 ht_ joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
05:29:52 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Read error: Connection reset by peer)
05:29:52 ht_ is now known as _ht
05:35:01 × crook1389 quits (uid581388@id-581388.ilkley.irccloud.com) (Quit: Connection closed for inactivity)
05:46:41 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:49:15 × random-jellyfish quits (~developer@user/random-jellyfish) (Ping timeout: 256 seconds)
05:52:19 philopsos joins (~caecilius@user/philopsos)
05:55:01 danza joins (~francesco@an-19-170-7.service.infuturo.it)
06:00:03 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:02:28 danza_ joins (~francesco@fi-19-203-251.service.infuturo.it)
06:04:03 × danza quits (~francesco@an-19-170-7.service.infuturo.it) (Read error: Connection reset by peer)
06:07:19 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:08:07 × puke quits (~puke@user/puke) (Ping timeout: 255 seconds)
06:10:33 × Inst quits (~Inst@user/Inst) (Read error: Connection reset by peer)
06:10:54 Inst joins (~Inst@user/Inst)
06:15:06 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
06:16:47 × _d0t quits (~{-d0t-}@user/-d0t-/x-7915216) (Remote host closed the connection)
06:17:01 _d0t joins (~{-d0t-}@user/-d0t-/x-7915216)
06:19:21 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
06:24:02 akegalj joins (~akegalj@89-164-104-236.dsl.iskon.hr)
06:28:17 sord937 joins (~sord937@gateway/tor-sasl/sord937)
06:50:04 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
06:50:41 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
06:50:59 gmg joins (~user@user/gehmehgeh)
06:51:34 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
06:54:03 zetef joins (~quassel@5.2.182.99)
06:54:36 × zetef quits (~quassel@5.2.182.99) (Remote host closed the connection)
06:58:35 julie_pilgrim joins (~julie_pil@user/julie-pilgrim/x-1240752)
06:59:31 cfricke joins (~cfricke@user/cfricke)
07:02:26 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
07:03:55 gmg joins (~user@user/gehmehgeh)
07:05:01 × julie_pilgrim quits (~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection)
07:06:21 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:07:51 × igemnace quits (~ian@user/igemnace) (Read error: Connection reset by peer)
07:09:31 × danza_ quits (~francesco@fi-19-203-251.service.infuturo.it) (Ping timeout: 260 seconds)
07:10:32 puke joins (~puke@user/puke)
07:11:59 × philopsos quits (~caecilius@user/philopsos) (Ping timeout: 252 seconds)
07:19:10 notzmv joins (~daniel@user/notzmv)
07:19:12 acidjnk_new joins (~acidjnk@p200300d6e714dc00c12ceadbd6a85e80.dip0.t-ipconnect.de)
07:20:05 × sudden quits (~cat@user/sudden) (Ping timeout: 272 seconds)
07:21:46 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
07:22:26 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
07:24:55 igemnace joins (~ian@user/igemnace)
07:28:47 × amjoseph quits (~amjoseph@static-198-44-128-146.cust.tzulo.com) (Ping timeout: 264 seconds)
07:30:51 × p3n quits (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Quit: ZNC 1.8.2 - https://znc.in)
07:32:30 p3n joins (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1)
07:32:59 × euleritian quits (~euleritia@dynamic-176-006-199-030.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
07:34:46 sudden joins (~cat@user/sudden)
07:35:17 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
07:40:04 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
07:41:47 crvs joins (~crvs@185.147.238.3)
07:44:52 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
07:47:58 kenran joins (~user@user/kenran)
07:55:20 danse-nr3 joins (~danse-nr3@fi-19-203-251.service.infuturo.it)
07:55:54 × danse-nr3 quits (~danse-nr3@fi-19-203-251.service.infuturo.it) (Remote host closed the connection)
07:56:19 danse-nr3 joins (~danse-nr3@fi-19-203-251.service.infuturo.it)
07:56:48 julie_pilgrim joins (~julie_pil@user/julie-pilgrim/x-1240752)
07:59:56 × tertek quits (~tertek@user/tertek) (Quit: %quit%)
08:06:15 sroso joins (~sroso@user/SrOso)
08:09:52 × julie_pilgrim quits (~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection)
08:11:02 tertek joins (~tertek@user/tertek)
08:11:23 Inst_ joins (~Inst@user/Inst)
08:14:14 × Inst quits (~Inst@user/Inst) (Ping timeout: 256 seconds)
08:14:28 julie_pilgrim joins (~julie_pil@user/julie-pilgrim/x-1240752)
08:14:50 ksqsf joins (~user@2409:8a70:3c10:a520:176:3882:ab3:70d1)
08:15:59 __monty__ joins (~toonn@user/toonn)
08:16:04 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
08:16:07 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
08:17:42 × tzh quits (~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz)
08:21:04 × julie_pilgrim quits (~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection)
08:23:33 julie_pilgrim joins (~julie_pil@user/julie-pilgrim/x-1240752)
08:23:49 × ft quits (~ft@p4fc2a20e.dip0.t-ipconnect.de) (Quit: leaving)
08:23:51 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
08:27:19 ksqsf parts (~user@2409:8a70:3c10:a520:176:3882:ab3:70d1) (ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.2.50))
08:28:05 chele joins (~chele@user/chele)
08:36:11 × jcarpenter2 quits (~lol@2603:3016:1e01:b940:c420:b928:a6e:e519) (Read error: Connection reset by peer)
08:43:22 × dcoutts quits (~duncan@82.13.254.239) (Ping timeout: 255 seconds)
08:46:18 × kenran quits (~user@user/kenran) (Remote host closed the connection)
08:49:27 dcoutts joins (~duncan@cpc69400-oxfd27-2-0-cust750.4-3.cable.virginm.net)
08:52:11 simendsjo joins (~user@84.209.170.3)
08:52:12 × danse-nr3 quits (~danse-nr3@fi-19-203-251.service.infuturo.it) (Ping timeout: 256 seconds)
08:55:11 danse-nr3 joins (~danse-nr3@fi-19-203-251.service.infuturo.it)
08:59:46 meltedbrain2000a joins (~meltedbra@47.61.135.12)
09:04:01 ubert joins (~Thunderbi@2a02:8109:ab8a:5a00:6204:3278:f8ee:2deb)
09:19:50 × noumenon quits (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving)
09:22:16 × hugo- quits (znc@quicksilver.lysator.liu.se) (Ping timeout: 260 seconds)
09:23:44 MajorBiscuit joins (~MajorBisc@2001:610:450:a0::5:3)
09:28:58 zetef joins (~quassel@5.2.182.99)
09:35:35 ryanbooker joins (uid4340@id-4340.hampstead.irccloud.com)
09:41:39 sawilagar joins (~sawilagar@user/sawilagar)
09:42:11 × julie_pilgrim quits (~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection)
09:51:21 julie_pilgrim joins (~julie_pil@user/julie-pilgrim/x-1240752)
10:03:37 × danse-nr3 quits (~danse-nr3@fi-19-203-251.service.infuturo.it) (Read error: Connection reset by peer)
10:04:14 × zetef quits (~quassel@5.2.182.99) (Remote host closed the connection)
10:04:31 danse-nr3 joins (~danse-nr3@151.47.176.108)
10:07:23 amjoseph joins (~amjoseph@static-198-44-128-146.cust.tzulo.com)
10:08:00 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 260 seconds)
10:08:04 hugo- joins (znc@quicksilver.lysator.liu.se)
10:10:28 × julie_pilgrim quits (~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection)
10:10:49 julie_pilgrim joins (~julie_pil@user/julie-pilgrim/x-1240752)
10:17:41 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
10:18:31 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
10:22:29 × amjoseph quits (~amjoseph@static-198-44-128-146.cust.tzulo.com) (Ping timeout: 272 seconds)
10:23:07 Square joins (~Square4@user/square)
10:24:42 × meltedbrain2000a quits (~meltedbra@47.61.135.12) (Ping timeout: 250 seconds)
10:27:43 × mei quits (~mei@user/mei) (Quit: mei)
10:31:17 zetef joins (~quassel@5.2.182.99)
10:31:25 mei joins (~mei@user/mei)
10:32:27 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 256 seconds)
10:33:01 random-jellyfish joins (~developer@2a02:2f04:11e:c600:5410:fc52:e418:506d)
10:33:01 × random-jellyfish quits (~developer@2a02:2f04:11e:c600:5410:fc52:e418:506d) (Changing host)
10:33:01 random-jellyfish joins (~developer@user/random-jellyfish)
10:33:31 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 246 seconds)
10:35:24 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
10:36:36 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
10:36:46 Lord_of_Life_ is now known as Lord_of_Life
10:42:22 amjoseph joins (~amjoseph@static-198-44-128-146.cust.tzulo.com)
10:44:41 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
10:45:24 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
10:47:07 × notzmv quits (~daniel@user/notzmv) (Ping timeout: 255 seconds)
10:55:12 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
10:56:46 × julie_pilgrim quits (~julie_pil@user/julie-pilgrim/x-1240752) (Ping timeout: 250 seconds)
10:59:49 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:03:49 × visilii quits (~visilii@188.254.110.118) (Quit: ZNC 1.9.0 - https://znc.in)
11:04:39 visilii joins (~visilii@188.254.110.118)
11:07:43 xff0x joins (~xff0x@2405:6580:b080:900:8f14:ae0b:51f2:7dcb)
11:08:42 × zetef quits (~quassel@5.2.182.99) (Ping timeout: 255 seconds)
11:11:17 ksqsf joins (~user@2409:8a70:3c10:a520:176:3882:ab3:70d1)
11:14:09 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
11:16:08 × ksqsf quits (~user@2409:8a70:3c10:a520:176:3882:ab3:70d1) (Ping timeout: 260 seconds)
11:17:09 ksqsf joins (~user@2409:8a70:3c10:a520:176:3882:ab3:70d1)
11:17:53 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
11:18:26 barak joins (~barak@2a0d:6fc2:68c1:7200:3cf2:a87d:a02b:3e21)
11:19:09 × barak quits (~barak@2a0d:6fc2:68c1:7200:3cf2:a87d:a02b:3e21) (Client Quit)
11:21:48 × ksqsf quits (~user@2409:8a70:3c10:a520:176:3882:ab3:70d1) (Ping timeout: 256 seconds)
11:23:08 ksqsf joins (~user@2409:8a70:3c10:a520:176:3882:ab3:70d1)
11:24:53 × MajorBiscuit quits (~MajorBisc@2001:610:450:a0::5:3) (Ping timeout: 240 seconds)
11:25:28 yeitrafferin joins (~user@2a04:4540:7215:3000:5e2b:485e:c52:a866)
11:27:20 × sawilagar quits (~sawilagar@user/sawilagar) (Remote host closed the connection)
11:27:38 sawilagar joins (~sawilagar@user/sawilagar)
11:31:56 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
11:35:48 × sroso quits (~sroso@user/SrOso) (Quit: Leaving :))
11:39:56 × danse-nr3 quits (~danse-nr3@151.47.176.108) (Ping timeout: 256 seconds)
11:45:07 × ryanbooker quits (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
11:46:13 notzmv joins (~daniel@user/notzmv)
11:46:23 × yeitrafferin quits (~user@2a04:4540:7215:3000:5e2b:485e:c52:a866) (Remote host closed the connection)
11:49:56 hallucinagen joins (~prodmezha@123.63.203.210)
11:51:19 × cyphase quits (~cyphase@user/cyphase) (Ping timeout: 268 seconds)
11:52:07 × hallucinagen quits (~prodmezha@123.63.203.210) (Remote host closed the connection)
11:52:25 hallucinagen joins (~prodmezha@123.63.203.210)
11:57:06 cyphase joins (~cyphase@user/cyphase)
12:02:45 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
12:03:43 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit)
12:05:40 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
12:09:34 raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
12:11:21 MajorBiscuit joins (~MajorBisc@2001:610:450:a0::5:3)
12:11:55 liamzy__ joins (~Inst@user/Inst)
12:14:28 × Inst_ quits (~Inst@user/Inst) (Ping timeout: 260 seconds)
12:15:18 × ddellacosta quits (~ddellacos@ool-44c73d29.dyn.optonline.net) (Ping timeout: 255 seconds)
12:15:41 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
12:17:22 × hallucinagen quits (~prodmezha@123.63.203.210) (Remote host closed the connection)
12:17:45 hallucinagen joins (~prodmezha@123.63.203.210)
12:24:05 × random-jellyfish quits (~developer@user/random-jellyfish) (Ping timeout: 240 seconds)
12:26:56 danse-nr3 joins (~danse-nr3@151.47.176.108)
12:27:25 × xdej quits (~xdej@quatramaran.salle-s.org) (Quit: reboot mise à jour du noyau)
12:28:11 × hallucinagen quits (~prodmezha@123.63.203.210) (Ping timeout: 264 seconds)
12:28:21 × danse-nr3 quits (~danse-nr3@151.47.176.108) (Remote host closed the connection)
12:28:45 danse-nr3 joins (~danse-nr3@151.47.176.108)
12:30:53 hallucinagen joins (~prodmezha@123.63.203.210)
12:36:51 xdej joins (~xdej@quatramaran.salle-s.org)
12:37:49 × sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 255 seconds)
12:39:49 random-jellyfish joins (~developer@2a02:2f04:11e:c600:8c4:718b:9124:5ae4)
12:39:49 × random-jellyfish quits (~developer@2a02:2f04:11e:c600:8c4:718b:9124:5ae4) (Changing host)
12:39:49 random-jellyfish joins (~developer@user/random-jellyfish)
12:40:12 sawilagar joins (~sawilagar@user/sawilagar)
12:45:59 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:53:12 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 260 seconds)
12:53:45 Maxdamantus joins (~Maxdamant@user/maxdamantus)
12:56:18 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
12:59:37 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
13:00:42 × ksqsf quits (~user@2409:8a70:3c10:a520:176:3882:ab3:70d1) (Ping timeout: 268 seconds)
13:01:15 × woffs quits (3cd46299b2@woffs.de) (Quit: Gateway shutdown)
13:01:52 woffs joins (3cd46299b2@woffs.de)
13:07:03 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 255 seconds)
13:16:11 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
13:17:38 euleritian joins (~euleritia@dynamic-176-006-187-042.176.6.pool.telefonica.de)
13:23:18 raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
13:27:53 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
13:30:21 tri joins (~tri@ool-18bbef1a.static.optonline.net)
13:34:59 × tri quits (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 260 seconds)
13:38:41 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
13:40:14 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 260 seconds)
13:47:27 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 252 seconds)
13:57:28 × simendsjo quits (~user@84.209.170.3) (Ping timeout: 255 seconds)
14:00:02 ystael joins (~ystael@user/ystael)
14:04:58 × danse-nr3 quits (~danse-nr3@151.47.176.108) (Ping timeout: 256 seconds)
14:05:12 noumenon joins (~noumenon@113.51-175-156.customer.lyse.net)
14:05:54 danse-nr3 joins (~danse-nr3@151.43.44.121)
14:06:29 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
14:10:41 tri joins (~tri@ool-18bbef1a.static.optonline.net)
14:14:56 × tri quits (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 252 seconds)
14:17:54 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.2)
14:23:48 jcarpenter2 joins (~lol@2603:3016:1e01:b940:3051:a3eb:ad4f:f66)
14:24:38 burnsidesLlama joins (~burnsides@119247164140.ctinets.com)
14:24:44 × burnsidesLlama quits (~burnsides@119247164140.ctinets.com) (Client Quit)
14:25:06 × akegalj quits (~akegalj@89-164-104-236.dsl.iskon.hr) (Quit: leaving)
14:26:54 tri joins (~tri@ool-18bbef1a.static.optonline.net)
14:27:34 tzh joins (~tzh@c-73-164-206-160.hsd1.or.comcast.net)
14:29:02 raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
14:38:24 barzo joins (~hd@2a02:ff0:220:8248:52f4:9bb7:16c8:c90e)
14:45:25 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:46:59 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1)
14:48:02 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 4.1.2)
14:57:35 × danse-nr3 quits (~danse-nr3@151.43.44.121) (Ping timeout: 264 seconds)
14:58:16 × remmie quits (ianremsen@tilde.team) (Ping timeout: 256 seconds)
14:58:48 zer0bitz_ joins (~zer0bitz@user/zer0bitz)
15:02:45 × zer0bitz quits (~zer0bitz@user/zer0bitz) (Ping timeout: 256 seconds)
15:05:18 × igemnace quits (~ian@user/igemnace) (Read error: Connection reset by peer)
15:09:51 zetef joins (~quassel@5.2.182.99)
15:11:47 × barzo quits (~hd@2a02:ff0:220:8248:52f4:9bb7:16c8:c90e) (Quit: Leaving)
15:16:52 × euleritian quits (~euleritia@dynamic-176-006-187-042.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
15:17:10 × MajorBiscuit quits (~MajorBisc@2001:610:450:a0::5:3) (Quit: WeeChat 4.2.1)
15:17:12 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
15:18:50 remmie joins (ianremsen@tilde.team)
15:19:05 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:22:21 igemnace joins (~ian@user/igemnace)
15:22:57 zer0bitz_ is now known as zer0bitz
15:34:02 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
15:37:59 × hallucinagen quits (~prodmezha@123.63.203.210) (Remote host closed the connection)
15:38:27 hallucinagen joins (~prodmezha@123.63.203.210)
15:41:40 × random-jellyfish quits (~developer@user/random-jellyfish) (Ping timeout: 260 seconds)
15:44:28 × hallucinagen quits (~prodmezha@123.63.203.210) (Ping timeout: 260 seconds)
15:52:37 <jcarpenter2> So I'm writin' an AST in Haskell (big surprise /s)
15:53:30 <jcarpenter2> Not really sure how best to do it. I could do a regular expression tree like `data Expr = Const Int | Sum Expr Expr | ...`. Or I could use some kind free monad.
15:54:17 <jcarpenter2> I'd like to be able to map over this thing, reduce over it, and do all sorts of interesting things. As if `Expr` implements `Functor Expr`, `Traversable Expr`, and so on.
15:54:31 × crvs quits (~crvs@185.147.238.3) (Read error: Connection reset by peer)
15:54:38 simendsjo joins (~user@84.209.170.3)
15:55:49 <jcarpenter2> Right now I'm just writing a regular ADT, but I might try switching to something else
15:56:52 <ski> `Functor Expr' presupposes `Expr :: * -> *'
15:57:06 <jcarpenter2> Oh I'm sorry, you're right. I mis-phrased that.
15:59:51 <probie> I've found that simply adding an annotation to each node `data Expr a = Const Int a | Sum (Expr a) (Expr a) a | ...` strikes a good balance between "simple" and "extensible"
16:00:36 <jcarpenter2> I mean, it's like a functor with the contained type also fixed as itself. So you could write a function that recurses through the tree, and replacing sub-expressions with other sub-expressions.
16:01:52 <jcarpenter2> I was assuming Int as the type of values, not `a`.
16:03:04 <jcarpenter2> I think if I wanted to move away from an ADT, it would be to a monad. I want a sort of fixed point of `Expr (Expr (Expr ...))`
16:03:16 <jcarpenter2> to a *free monad.
16:03:40 <ncf> probie: isn't that the same as (Expr, a)
16:03:49 <ncf> oh no nvm
16:03:58 <ski> @where DecoratingStructures
16:03:58 <lambdabot> <http://web.archive.org/web/20051126143527/http://haskell.org/hawiki/DecoratingStructures>
16:04:07 <ski> @where IndirectComposite
16:04:07 <lambdabot> <http://web.archive.org/web/20051126141834/http://haskell.org/hawiki/IndirectComposite>
16:06:34 <ski> "it's like a functor with the contained type also fixed as itself" -- `fmap :: forall a b. (a -> b) -> (f a -> f b)' in `Functor f' is declared to be polymorphic in `a' and `b', you can't "fix those to be any particular types". there is a `MonoFunctor' class in some package, though ..
16:06:36 × simendsjo quits (~user@84.209.170.3) (Ping timeout: 255 seconds)
16:08:04 hallucinagen joins (~prodmezha@123.63.203.210)
16:10:08 <jcarpenter2> Thanks for the ideas ski !
16:10:37 <jcarpenter2> I should mention, I'm still playing, I'm not even really sure what I want. I'm hoping I'll discover what I want as I write some code.
16:11:04 <ski> @hackage mono-traversable
16:11:04 <lambdabot> https://hackage.haskell.org/package/mono-traversable
16:11:27 <ski> class MonoFunctor mono
16:11:29 <ski> where
16:11:31 <ski> omap :: (Element mono -> Element mono) -> mono -> mono
16:11:37 <ski> type family Element mono
16:19:18 danse-nr3 joins (~danse-nr3@151.43.44.121)
16:19:21 × danse-nr3 quits (~danse-nr3@151.43.44.121) (Remote host closed the connection)
16:19:46 danse-nr3 joins (~danse-nr3@151.43.44.121)
16:21:21 <probie> In my own personal code, I'm a big fan of `data Expr r = Const Int | Sum r r | ...` and then annotating via my choice of "fixed point" (e.g. `Fix Expr` `Fix (Compose ((,) SourceLoc) Expr)`), but I think that's a harder sell, and you hit issues if your type is mutually recursive
16:21:23 × zetef quits (~quassel@5.2.182.99) (Read error: Connection reset by peer)
16:21:51 zetef joins (~quassel@5.2.182.99)
16:21:51 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
16:22:25 <jcarpenter2> Interesting
16:23:12 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
16:24:01 <ski> yea, that's IndirectComposite
16:25:31 <ski> probie : you can encode a record of types, all of the same kind, say `*', by parameterizing over a tag kind, like `Tag -> *', stuffing all the `data' constructors into the same declaration
16:27:30 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
16:28:08 <ski> data AST (ast :: Tag -> *) :: Tag -> *
16:28:09 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
16:28:10 <ski> where
16:28:13 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
16:28:43 <ncf> hmm... i don't like this "mono functor" terminology at all
16:28:55 <ncf> this is more like a "thing equipped with a setter"
16:29:08 <ski> Assign :: ast RValue -> ast RValue -> AST ast Command
16:29:14 <ski> &c.
16:29:47 <ski> er, s/ast RValue/ast LValue/ for the first one
16:32:21 × danse-nr3 quits (~danse-nr3@151.43.44.121) (Ping timeout: 272 seconds)
16:39:54 euphores joins (~SASL_euph@user/euphores)
16:41:04 tititest joins (~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de)
16:44:29 × hallucinagen quits (~prodmezha@123.63.203.210) (Ping timeout: 240 seconds)
16:46:06 × ubert quits (~Thunderbi@2a02:8109:ab8a:5a00:6204:3278:f8ee:2deb) (Quit: ubert)
16:54:08 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:00:45 × Square quits (~Square4@user/square) (Ping timeout: 256 seconds)
17:01:14 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
17:02:54 × euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.)
17:03:00 euleritian joins (~euleritia@dynamic-176-006-187-042.176.6.pool.telefonica.de)
17:05:41 biberu joins (~biberu@user/biberu)
17:07:11 hallucinagen joins (~prodmezha@123.63.203.210)
17:08:31 euphores joins (~SASL_euph@user/euphores)
17:10:21 target_i joins (~target_i@user/target-i/x-6023099)
17:10:41 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:12:31 × sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 246 seconds)
17:16:09 ft joins (~ft@p4fc2a20e.dip0.t-ipconnect.de)
17:19:19 × zetef quits (~quassel@5.2.182.99) (Remote host closed the connection)
17:21:57 × tri quits (~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection)
17:27:08 CiaoSen joins (~Jura@2a05:5800:29e:cd00:e6b9:7aff:fe80:3d03)
17:28:06 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
17:29:49 × euleritian quits (~euleritia@dynamic-176-006-187-042.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
17:30:09 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
17:31:26 tri joins (~tri@ool-18bbef1a.static.optonline.net)
17:32:27 × tititest quits (~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de) (Remote host closed the connection)
17:34:36 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 252 seconds)
17:37:46 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
17:52:01 pentanol joins (~pentanol@185.57.29.142)
18:00:10 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 260 seconds)
18:01:24 pentanol72 joins (~pentanol@185.57.29.142)
18:03:01 gmg joins (~user@user/gehmehgeh)
18:04:03 × chele quits (~chele@user/chele) (Remote host closed the connection)
18:04:39 simendsjo joins (~user@84.209.170.3)
18:05:20 × pentanol quits (~pentanol@185.57.29.142) (Ping timeout: 250 seconds)
18:16:56 wootehfoot joins (~wootehfoo@user/wootehfoot)
18:24:25 Inst_ joins (~Inst@user/Inst)
18:25:45 × igemnace quits (~ian@user/igemnace) (Quit: WeeChat 4.2.2)
18:27:13 × liamzy__ quits (~Inst@user/Inst) (Ping timeout: 268 seconds)
18:32:13 × tri quits (~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection)
18:32:25 tri joins (~tri@ool-18bbef1a.static.optonline.net)
18:33:27 × tri quits (~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection)
18:33:59 tri joins (~tri@ool-18bbef1a.static.optonline.net)
18:35:51 × CiaoSen quits (~Jura@2a05:5800:29e:cd00:e6b9:7aff:fe80:3d03) (Ping timeout: 272 seconds)
18:38:14 × tri quits (~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection)
18:38:26 tri joins (~tri@ool-18bbef1a.static.optonline.net)
18:42:42 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
18:58:13 × dcoutts quits (~duncan@cpc69400-oxfd27-2-0-cust750.4-3.cable.virginm.net) (Ping timeout: 246 seconds)
18:58:23 × mei quits (~mei@user/mei) (Remote host closed the connection)
18:58:29 random-jellyfish joins (~developer@2a02:2f04:11e:c600:fb64:bd82:5e40:c390)
18:58:30 × random-jellyfish quits (~developer@2a02:2f04:11e:c600:fb64:bd82:5e40:c390) (Changing host)
18:58:30 random-jellyfish joins (~developer@user/random-jellyfish)
18:58:58 × hallucinagen quits (~prodmezha@123.63.203.210) (Read error: Connection reset by peer)
19:00:47 mei joins (~mei@user/mei)
19:08:32 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
19:08:46 raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
19:10:49 × tri quits (~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection)
19:11:21 tri joins (~tri@ool-18bbef1a.static.optonline.net)
19:12:56 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
19:17:56 wootehfoot joins (~wootehfoo@user/wootehfoot)
19:18:35 × euphores quits (~SASL_euph@user/euphores) (Ping timeout: 264 seconds)
19:26:25 × random-jellyfish quits (~developer@user/random-jellyfish) (Ping timeout: 268 seconds)
19:26:51 <raehik> Is there a way to attach Haddock descriptions to type arguments in type families? The regular `-- ^ bla bla` syntax in the kind signature doesn't seem to work.
19:27:30 philopsos joins (~caecilius@user/philopsos)
19:29:42 <raehik> reworded, can I do the same Haddock docs for kind signatures as in type signatures
19:32:47 Square joins (~Square4@user/square)
19:36:55 random-jellyfish joins (~developer@2a02:2f04:11e:c600:d3de:7f3b:ff:6065)
19:36:56 × random-jellyfish quits (~developer@2a02:2f04:11e:c600:d3de:7f3b:ff:6065) (Changing host)
19:36:56 random-jellyfish joins (~developer@user/random-jellyfish)
19:39:49 <jle`> jcarpenter2: btw i think you're looking for something more like a fixed point than a free monad
19:40:15 <jle`> jcarpenter2: an Expr type like that is actually a common "tutorial" toy type for recursion-schemes
19:40:39 <jle`> jcarpenter2: ie https://blog.sumtypeofway.com/posts/introduction-to-recursion-schemes.html
19:41:01 <jle`> a lot of introductions to recursion schemes in different languages use an ADT like that as a tutorial
19:45:12 × pentanol72 quits (~pentanol@185.57.29.142) (Quit: Client closed)
19:46:24 ania123 joins (~ania123@94-43-231-47.dsl.utg.ge)
19:50:22 euphores joins (~SASL_euph@user/euphores)
19:52:04 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:53:53 × hgolden quits (~hgolden@2603-8000-9d00-3ed1-2678-8497-aa5c-7fa9.res6.spectrum.com) (Remote host closed the connection)
19:55:42 hgolden joins (~hgolden@2603-8000-9d00-3ed1-2678-8497-aa5c-7fa9.res6.spectrum.com)
19:55:52 sawilagar joins (~sawilagar@user/sawilagar)
20:03:05 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:08:08 dcoutts joins (~duncan@cpc69400-oxfd27-2-0-cust750.4-3.cable.virginm.net)
20:09:10 × random-jellyfish quits (~developer@user/random-jellyfish) (Ping timeout: 255 seconds)
20:09:39 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
20:11:55 × poollovernathan quits (~u0_a408@108.145.176.65) (Read error: Connection reset by peer)
20:13:55 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
20:15:29 poollovernathan joins (~u0_a408@pool-100-7-100-131.rcmdva.fios.verizon.net)
20:27:55 causal joins (~eric@50.35.88.207)
20:28:26 × hammond quits (proscan@gateway02.insomnia247.nl) (Changing host)
20:28:27 hammond joins (proscan@user/hammond2)
20:28:31 × poollovernathan quits (~u0_a408@pool-100-7-100-131.rcmdva.fios.verizon.net) (Quit: Lost terminal)
20:29:09 × philopsos quits (~caecilius@user/philopsos) (Ping timeout: 256 seconds)
20:29:27 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
20:29:30 random-jellyfish joins (~developer@2a02:2f04:11e:c600:d034:602e:6d2b:5c6e)
20:29:30 × random-jellyfish quits (~developer@2a02:2f04:11e:c600:d034:602e:6d2b:5c6e) (Changing host)
20:29:30 random-jellyfish joins (~developer@user/random-jellyfish)
20:46:46 × mei quits (~mei@user/mei) (Remote host closed the connection)
20:49:10 mei joins (~mei@user/mei)
20:54:06 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
20:55:25 liamzy__ joins (~Inst@user/Inst)
20:58:06 × Inst_ quits (~Inst@user/Inst) (Ping timeout: 252 seconds)
20:59:48 × euphores quits (~SASL_euph@user/euphores) (Ping timeout: 256 seconds)
21:00:39 × dcoutts quits (~duncan@cpc69400-oxfd27-2-0-cust750.4-3.cable.virginm.net) (Ping timeout: 260 seconds)
21:02:31 destituion joins (~destituio@84.208.69.255)
21:02:38 × sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 256 seconds)
21:03:25 × simendsjo quits (~user@84.209.170.3) (Ping timeout: 272 seconds)
21:10:11 × ania123 quits (~ania123@94-43-231-47.dsl.utg.ge) (Quit: Client closed)
21:17:08 dcoutts joins (~duncan@cpc69400-oxfd27-2-0-cust750.4-3.cable.virginm.net)
21:18:51 × michalz quits (~michalz@185.246.207.201) (Quit: ZNC 1.8.2 - https://znc.in)
21:33:48 × berberman quits (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
21:34:13 berberman joins (~berberman@user/berberman)
21:37:41 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 240 seconds)
21:38:17 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.2)
21:40:26 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
21:42:26 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Quit: WeeChat 4.2.1)
21:47:24 × random-jellyfish quits (~developer@user/random-jellyfish) (Remote host closed the connection)
21:47:36 random-jellyfish joins (~developer@user/random-jellyfish)
21:53:09 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
21:54:40 nuh^ joins (~cd@c-98-242-74-66.hsd1.ga.comcast.net)
21:55:48 × tri quits (~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 255 seconds)
22:00:57 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:05:45 × destituion quits (~destituio@84.208.69.255) (Ping timeout: 252 seconds)
22:07:06 destituion joins (~destituio@2a02:2121:107:22da:bbaf:a6d8:6599:5221)
22:10:11 × n8n quits (n8n@user/n8n) (Quit: WeeChat 4.2.2)
22:10:43 × harveypwca quits (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Quit: Leaving)
22:14:00 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 252 seconds)
22:14:01 Sgeo joins (~Sgeo@user/sgeo)
22:17:05 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
22:21:39 philopsos joins (~caecilius@user/philopsos)
22:23:07 sadie_ joins (~sadie@c-76-155-235-153.hsd1.co.comcast.net)
22:25:44 <liamzy__> oh cool, i never knew about this
22:25:45 <liamzy__> https://mmhaskell.com/blog/2021/10/18/using-io-without-the-io-monad
22:25:47 liamzy__ is now known as Inst
22:26:20 <Inst> better way to do it would be newtype over IO and use... wait, that was the whole MTL pattern, wasn't it? ;_;
22:28:39 n8n joins (n8n@user/n8n)
22:42:49 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:49:21 × Noinia quits (~Frank@77-162-168-71.fixed.kpn.net) (Ping timeout: 255 seconds)
23:03:09 yin_ joins (~yin@user/zero)
23:04:41 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
23:05:36 × acidjnk_new quits (~acidjnk@p200300d6e714dc00c12ceadbd6a85e80.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
23:05:47 yin_ is now known as yin
23:06:10 acidjnk_new joins (~acidjnk@p200300d6e714dc00fd5385a2196456e3.dip0.t-ipconnect.de)
23:08:59 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 260 seconds)
23:16:27 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
23:19:03 × oo_miguel quits (~Thunderbi@78-11-181-16.static.ip.netia.com.pl) (Quit: oo_miguel)
23:43:23 jamesmartinez joins (uid6451@id-6451.helmsley.irccloud.com)
23:47:32 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds)

All times are in UTC on 2024-04-10.