Home liberachat/#haskell: Logs Calendar

Logs on 2023-03-11 (liberachat/#haskell)

00:05:00 MacSlow joins (~MacSlow@p57bb2fc5.dip0.t-ipconnect.de)
00:05:07 <MacSlow> Greetings everybody!
00:07:02 <geekosaur> hello
00:09:23 <MacSlow> Is there a Haskell-equivalent to C/C++'s modf()? I want to split a Float into its integral and fractional part without loosing the Float type.
00:10:19 <MacSlow> x - (floor x) does not do the trick, since floor implicitly converts the Float to Integral.
00:10:28 <geekosaur> https://downloads.haskell.org/ghc/9.2.5/docs/html/libraries/base-4.16.4.0/Data-Fixed.html#v:mod-39- (which, bizarrely, is in Data.Fixed)
00:11:26 <MacSlow> Data.Fixed ... hm ok... looking thx
00:12:32 <geekosaur> (they needed to generalize it to work with Fixed types, so they went the whole way and made it work with any Real type)
00:16:24 × Albina_Pavlovna quits (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) (Quit: ZZZzzz…)
00:16:56 <c_wraith> Just for fun, I went and wrote a module that allows working interactively with monads other than IO in ghci. This feels familiar. Does it already exist somewhere on hackage?
00:17:16 <MacSlow> geekosaur: hm... modf 'splits' the input into two floats... this mod from Data.Fixed does only deal with Integral types
00:17:37 <geekosaur> @instances Real
00:17:39 <lambdabot> Double, Float, Int, Integer, Word
00:17:42 <MacSlow> geekosaur: it seems more to be like C/C++'s %
00:18:22 <geekosaur> looks to me like it takes any Real instance (see list of instances above, from base)
00:18:40 <geekosaur> @instances-importing Data.Fixed Real
00:18:41 <lambdabot> Double, Fixed a, Float, Int, Integer, Word
00:19:13 <geekosaur> @let import Data.Fixed
00:19:14 <lambdabot> Defined.
00:19:18 <geekosaur> :t mod'
00:19:19 <lambdabot> Real a => a -> a -> a
00:19:27 <geekosaur> note that the prime is part of the name
00:20:03 <c_wraith> > 3.6 `mod'` 1.2
00:20:05 <lambdabot> 4.440892098500626e-16
00:20:17 <c_wraith> sure, that looks floating-point correct
00:20:32 <c_wraith> > 3.6 `mod'` 1.5
00:20:34 <lambdabot> 0.6000000000000001
00:20:51 <MacSlow> geekosaur: geee ... :) minimal notation... *sigh* mathematicians ;)
00:21:29 <MacSlow> I need a blunt modf... ' I easily overread :)
00:21:38 <MacSlow> thx working now with mod'
00:24:29 Albina_Pavlovna joins (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com)
00:24:58 <MacSlow> mod' myFloat $ fromIntegral $ floor myFloat
00:25:25 <MacSlow> that works... but looks unusual verbose... is that the most compact form for this?
00:25:26 × Albina_Pavlovna quits (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) (Client Quit)
00:25:30 freeside joins (~mengwong@103.252.202.85)
00:25:52 <MacSlow> I mean I can live with that... just wondering.
00:27:30 <[Leary]> :t snd . properFraction
00:27:31 <lambdabot> RealFrac c => c -> c
00:27:49 <[Leary]> I don't think you need `mod'` here.
00:27:55 Albina_Pavlovna joins (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com)
00:28:57 × Albina_Pavlovna quits (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) (Client Quit)
00:29:42 <MacSlow> oh... interesting... snd $ properFraction myFloat works
00:30:01 <MacSlow> the . (function composition?!) give me an error
00:30:12 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
00:30:31 zmt01 joins (~zmt00@user/zmt00)
00:30:44 <MacSlow> ah... sorted it out... have to define this as a function
00:31:46 <[Leary]> If you've written `f . g x`, that means `f . (g x)`. You want `(f . g) x` or `f . g $ x`.
00:32:44 <MacSlow> yeah... I do not yet instinctively think in these ways
00:33:14 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Remote host closed the connection)
00:33:34 use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf)
00:33:46 <[Leary]> It's just precedence rules; function application binds tighter than any operator.
00:33:48 <MacSlow> space has the highest binding priority, right
00:33:54 Albina_Pavlovna joins (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com)
00:33:55 <MacSlow> yea
00:34:36 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 255 seconds)
00:34:56 × Albina_Pavlovna quits (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) (Client Quit)
00:35:30 Albina_Pavlovna joins (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com)
00:40:43 × gurkengl1s quits (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 276 seconds)
00:40:43 × gurkenglas quits (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 276 seconds)
00:41:54 × mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8)
00:45:15 × Albina_Pavlovna quits (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) (Quit: ZZZzzz…)
00:47:57 Albina_Pavlovna joins (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com)
00:59:54 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
01:00:19 mauke_ joins (~mauke@user/mauke)
01:02:09 × mauke quits (~mauke@user/mauke) (Ping timeout: 255 seconds)
01:02:10 mauke_ is now known as mauke
01:05:53 × Albina_Pavlovna quits (~Albina_Pa@cpe-69-203-149-67.nyc.res.rr.com) (Quit: bb)
01:11:08 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:16:00 × segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Quit: segfaultfizzbuzz)
01:16:28 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
01:16:28 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
01:16:28 wroathe joins (~wroathe@user/wroathe)
01:17:17 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:17:28 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
01:22:24 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds)
01:27:31 × vglfr quits (~vglfr@209.198.138.7) (Ping timeout: 276 seconds)
01:32:11 × Lumia quits (~Lumia@user/Lumia) (Ping timeout: 255 seconds)
01:34:28 × califax quits (~califax@user/califx) (Remote host closed the connection)
01:34:46 califax joins (~califax@user/califx)
01:36:23 <MacSlow> bbl
01:36:25 × MacSlow quits (~MacSlow@p57bb2fc5.dip0.t-ipconnect.de) (Quit: leaving)
01:41:51 vglfr joins (~vglfr@209.198.138.7)
01:48:43 freeside joins (~mengwong@103.252.202.85)
01:53:31 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds)
01:55:18 slack1256 joins (~slack1256@186.11.17.85)
02:00:31 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
02:02:17 razetime joins (~Thunderbi@117.193.5.173)
02:08:02 freeside joins (~mengwong@103.252.202.85)
02:12:39 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 268 seconds)
02:13:01 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds)
02:15:54 × razetime quits (~Thunderbi@117.193.5.173) (Quit: See You Space Cowboy)
02:25:15 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds)
02:26:19 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
02:26:45 <tusko> u wont
02:39:38 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
02:39:48 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 255 seconds)
02:45:05 Lumia joins (~Lumia@user/Lumia)
02:48:44 freeside joins (~mengwong@103.252.202.85)
02:50:23 gehmehgeh joins (~user@user/gehmehgeh)
02:53:17 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds)
02:53:58 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds)
02:57:49 roconnor parts (~quassel@coq/roconnor) ()
02:59:11 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
02:59:11 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
02:59:11 wroathe joins (~wroathe@user/wroathe)
03:02:09 freeside joins (~mengwong@103.252.202.85)
03:02:32 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
03:02:32 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
03:02:32 finn_elija is now known as FinnElija
03:06:48 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
03:15:20 gastus_ joins (~gastus@5.83.191.21)
03:15:23 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 248 seconds)
03:16:59 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection)
03:17:23 talismanick joins (~talismani@2601:200:c000:f7a0::5321)
03:18:30 × gastus quits (~gastus@5.83.191.20) (Ping timeout: 255 seconds)
03:18:59 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
03:19:14 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection)
03:25:16 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
03:26:39 × td_ quits (~td@i53870929.versanet.de) (Ping timeout: 268 seconds)
03:27:58 td_ joins (~td@i53870936.versanet.de)
03:31:51 × _xor quits (~xor@74.215.46.17) (Quit: bbiab)
03:35:09 × xff0x quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 255 seconds)
03:35:20 × dsrt^ quits (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) (Remote host closed the connection)
03:35:33 xff0x joins (~xff0x@178.255.149.135)
03:38:17 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
03:41:38 × terrorjack quits (~terrorjac@2a01:4f8:1c1e:4e8c::) (Quit: The Lounge - https://thelounge.chat)
03:41:54 × xff0x quits (~xff0x@178.255.149.135) (Ping timeout: 255 seconds)
03:42:43 terrorjack joins (~terrorjac@2a01:4f8:1c1e:4e8c::)
03:43:46 xff0x joins (~xff0x@2405:6580:b080:900:7d0a:21b:da04:25b8)
03:51:25 cassiopea joins (~cassiopea@user/cassiopea)
03:51:57 × johnw quits (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
03:51:57 × jwiegley quits (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
03:52:42 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds)
04:00:34 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
04:00:34 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
04:00:34 finn_elija is now known as FinnElija
04:00:34 × bramhaag quits (~bramhaag@134.195.121.39) (Read error: Connection reset by peer)
04:00:49 bramhaag joins (~bramhaag@134.195.121.39)
04:01:15 × xff0x quits (~xff0x@2405:6580:b080:900:7d0a:21b:da04:25b8) (Ping timeout: 248 seconds)
04:01:39 xff0x joins (~xff0x@ai098135.d.east.v6connect.net)
04:12:46 L29Ah joins (~L29Ah@wikipedia/L29Ah)
04:20:06 freeside joins (~mengwong@103.252.202.85)
04:21:43 × waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 276 seconds)
04:23:39 dsrt^ joins (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net)
04:23:57 × irrgit__ quits (~irrgit@176.113.74.138) (Remote host closed the connection)
04:24:39 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
04:27:32 irrgit__ joins (~irrgit@89.47.234.74)
04:27:44 × polyphem_ quits (~rod@2a02:810d:840:8754:224e:f6ff:fe5e:bc17) (Ping timeout: 248 seconds)
04:38:00 × Lumia quits (~Lumia@user/Lumia) (Ping timeout: 260 seconds)
04:44:04 freeside joins (~mengwong@103.252.202.85)
04:46:01 Lumia joins (~Lumia@user/Lumia)
04:51:37 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds)
05:18:03 × thegeekinside quits (~thegeekin@189.141.115.134) (Ping timeout: 248 seconds)
05:22:24 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
05:30:12 × Lumia quits (~Lumia@user/Lumia) (Quit: ,-)
05:37:21 <Inst__> is there any research
05:37:35 Inst__ is now known as Inst
05:37:40 <Inst> on streaming types with more than one nope?
05:37:53 <Inst> node?
05:37:58 <Inst> i.e, infinite binary tree?
05:38:36 <dsal> I don't think I understand what you mean. What would an streaming infinite binary tree look like?
05:39:08 <davean> ah I have no idea what you mean
05:39:08 <Inst> data LineStream a = LineStream a (LineStream a) (LineStream a)
05:39:26 <davean> what is LineStream?
05:39:26 <Inst> not node, but more than one connection
05:39:44 <Inst> result of mild fever and playing around with multi-dimensional arrays
05:39:45 <davean> it looks like a tree, I se nothing streaming about it
05:39:57 <Inst> i guess it needs some functors etc for that
05:40:18 <dsal> The functor is obvious, but how you'd traverse it as an infinite stream isn't.
05:40:22 <Inst> the definition of stream i'm working on is from https://hackage.haskell.org/package/Stream-0.4.7.2/docs/src/Data.Stream.html#Stream
05:40:42 <dsal> Yeah, that's what I'd expect. There's a thing, and then there's more stuff.
05:41:52 <Inst> yeah, i'm aware, but say, an infinite or cyclic tree of arity greater than 1 isn't really interesting, is it?
05:43:05 <dsal> To consume the tree, you'd basically have to flatten it one way or another. Just walking down one path forever is flattening it.
05:44:35 <Inst> i guess i need to learn how to do useful things with just plain cyclic data structures to begin with
05:45:28 <Inst> the consumer, as opposed to a linear stream, at least gets to choose which path to go through, in the case of a cyclic data structure
05:46:17 <Inst> if you payload IO a you might get an abstraction of control flow
05:47:00 <davean> I mean yes, there is choice
05:48:45 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
05:50:24 <Inst> i guess it's not very fun or interesting
05:54:44 <Inst> it's probably just a graph
05:54:57 <Inst> data RoseStream a = RoseStream a [RoseStream a]
05:55:33 <EvanR> to stream an infinite binary tree all you have to do is split into two universes at each step
05:55:53 <EvanR> with infinite resources it would work
05:56:30 <Inst> could do it concurrently
05:56:38 <Inst> trade time for space
05:56:41 <EvanR> yeah
05:56:53 <Inst> not sure, is this at all interesting? Or is this a boring investigation?
05:58:10 <dsal> Your design above would split at every step forever.
06:00:05 <dsal> Other way around, though, how and when would you use this? That can help you figure out what might be interesting.
06:00:18 <Inst> one way i'm thinking about it might be to model state
06:00:27 <Inst> or is the term a state machine?
06:00:51 <Inst> you build a cyclic data structure, and a function that can use both data within the cyclic data structure and data it holds through other means
06:00:53 <Inst> to choose which way to go
06:01:49 <Inst> since it's cyclic, you can easily constrain the number of possible distinct states
06:02:59 × raym quits (~ray@user/raym) (Quit: kernel update, rebooting...)
06:03:12 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds)
06:03:31 <Inst> the only positive i have about it is that while you guys don't find it that interesting, you haven't posted a paper yet where someone else is discussing it
06:05:18 vernorvintage joins (~maxsu@wsip-24-120-138-106.lv.lv.cox.net)
06:06:17 <dsal> A stream that expands infinitely in multiple dimensions may not have a lot of practical uses.
06:07:11 <Inst> it's just a cyclic graph, i guess
06:13:52 × son0p quits (~ff@181.136.122.143) (Ping timeout: 248 seconds)
06:23:55 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
06:38:03 trev joins (~trev@user/trev)
06:39:35 × manwithluck quits (~manwithlu@hoeven.dossingday.ml) (Quit: ZNC - https://znc.in)
06:39:50 manwithluck joins (manwithluc@hoeven.dossingday.ml)
06:40:29 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
06:54:15 cheater_ joins (~Username@user/cheater)
06:54:49 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:56:05 cheater__ joins (~Username@user/cheater)
06:57:33 × cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds)
06:57:40 cheater__ is now known as cheater
06:58:13 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
06:59:27 × cheater_ quits (~Username@user/cheater) (Ping timeout: 255 seconds)
07:00:08 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:44:06 Bocaneri joins (~sauvin@user/Sauvin)
07:44:09 Axma26687 joins (~Axman6@user/axman6)
07:44:30 Bocaneri is now known as Guest3094
07:45:36 × Sauvin quits (~sauvin@user/Sauvin) (Read error: Connection reset by peer)
07:45:48 theproffesor joins (~theproffe@user/theproffesor)
07:46:03 × Axman6 quits (~Axman6@user/axman6) (Ping timeout: 240 seconds)
07:51:36 × kmein quits (~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao)
07:52:26 × slack1256 quits (~slack1256@186.11.17.85) (Ping timeout: 268 seconds)
07:53:43 kmein joins (~weechat@static.173.83.99.88.clients.your-server.de)
08:00:02 × rembo10 quits (~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
08:01:43 gurkenglas joins (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de)
08:01:45 gurkengl1s joins (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de)
08:02:13 rembo10 joins (~rembo10@main.remulis.com)
08:06:00 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
08:08:33 NiceBird joins (~NiceBird@185.133.111.196)
08:13:01 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:15:03 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
08:19:36 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
08:20:05 × califax quits (~califax@user/califx) (Remote host closed the connection)
08:20:24 califax joins (~califax@user/califx)
08:23:55 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
08:24:11 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds)
08:26:48 img joins (~img@user/img)
08:27:44 Midjak joins (~Midjak@82.66.147.146)
08:33:02 × califax quits (~califax@user/califx) (Ping timeout: 255 seconds)
08:33:24 califax joins (~califax@user/califx)
08:50:46 acidjnk_new joins (~acidjnk@p200300d6e715c48418cb99816a46cc8f.dip0.t-ipconnect.de)
08:56:03 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
08:57:22 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
09:00:11 × ajf___[m] quits (~ajfmatrix@2001:470:69fc:105::2:5be3) (Quit: You have been kicked for being idle)
09:02:39 biberu joins (~biberu@user/biberu)
09:06:22 × mei quits (~mei@user/mei) (Quit: mei)
09:07:06 sus0 joins (zero@user/zeromomentum)
09:17:19 Tuplanolla joins (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi)
09:20:35 mei joins (~mei@user/mei)
09:24:38 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
09:31:26 × jrm quits (~jrm@user/jrm) (Quit: ciao)
09:31:49 jrm joins (~jrm@user/jrm)
09:39:16 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
09:43:28 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
09:45:11 × Axma26687 quits (~Axman6@user/axman6) (Remote host closed the connection)
09:51:43 Axman6 joins (~Axman6@user/axman6)
09:59:28 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
09:59:40 razetime joins (~Thunderbi@117.193.6.165)
10:01:28 <razetime> i'd like some help from people familiar with the haskell language server. I want to know the areas in the server which check for unused functions.
10:23:42 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
10:26:14 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
10:38:22 × razetime quits (~Thunderbi@117.193.6.165) (Remote host closed the connection)
10:39:11 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
10:41:23 freeside joins (~mengwong@122.11.212.91)
10:44:31 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:605c:57fb:61f1:1248)
10:44:38 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
10:47:34 Guest7045 joins (~Guest70@176.221.171.242)
10:47:46 Guest7045 parts (~Guest70@176.221.171.242) ()
10:49:00 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:605c:57fb:61f1:1248) (Ping timeout: 260 seconds)
10:50:23 <Unicorn_Princess> psa: stick a (setq lsp-haskell-plugin-ghcide-completions-config-auto-extend-on nil) somewhere in your init.el or equivalent to keep the haskell lsp from adding imports when you tab-complete something that's missing an import
10:51:17 <Unicorn_Princess> i don't know what psychopath thinks silent non-local changes are acceptable, but i had to stop the c++ lsp from adding #imports on its own too, so here we are
10:51:41 <Unicorn_Princess> *acceptable as default-enabled
10:54:01 <c_wraith> Well this is sad. I had to replace a traverse_ over a maybe with an explicit case to get rid of a space leak.
10:54:29 <c_wraith> ... in ghci. It's probable compiling would have done the same job, but I don't want to rely on the compiler...
10:57:57 × xff0x quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 255 seconds)
10:59:56 xff0x joins (~xff0x@178.255.149.135)
11:01:17 × freeside quits (~mengwong@122.11.212.91) (Read error: Connection reset by peer)
11:04:09 mechap joins (~mechap@user/mechap)
11:11:04 mastarija joins (~mastarija@188.252.199.128)
11:25:05 <DigitalKiwi> why use haskell if you don't want to rely on the compiler
11:25:22 <c_wraith> I specifically don't want to rely on the compiler to make my memory use correct.
11:25:35 <c_wraith> That's how you write code that springs "surprise" space use problems.
11:26:04 <c_wraith> The code was always wrong, but the compiler papered over it for you until you overwhelmed it.
11:29:35 <DigitalKiwi> i for one want an unreliable interpreter
11:29:49 <DigitalKiwi> cpython <3
11:32:46 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
11:36:39 <Unicorn_Princess> c and python.. even separately, they are abominations
11:36:58 <Unicorn_Princess> i shudder to think what their union birthed
11:37:06 × xff0x quits (~xff0x@178.255.149.135) (Ping timeout: 255 seconds)
11:38:48 xff0x joins (~xff0x@ai098135.d.east.v6connect.net)
11:40:30 chomwitt joins (~chomwitt@2a02:587:7a18:6d00:1ac0:4dff:fedb:a3f1)
11:41:31 × acidjnk_new quits (~acidjnk@p200300d6e715c48418cb99816a46cc8f.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
11:41:44 × mastarija quits (~mastarija@188.252.199.128) (Quit: WeeChat 3.7.1)
11:42:00 <DigitalKiwi> pypy
11:45:43 × mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8)
11:45:44 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:255c:3f40:58d6:8356)
11:47:39 mechap joins (~mechap@user/mechap)
11:47:46 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
11:50:02 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:255c:3f40:58d6:8356) (Ping timeout: 255 seconds)
11:51:33 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
11:53:03 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
11:53:59 Joao003 joins (~Joao003@2804:840:8310:4e00:c922:bc22:56e2:86fd)
11:55:59 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
11:59:06 × gurkengl1s quits (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 268 seconds)
11:59:19 × gurkenglas quits (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 276 seconds)
12:10:17 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
12:15:28 mastarija joins (~mastarija@188.252.199.128)
12:17:44 gurkenglas joins (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de)
12:18:09 cheater_ joins (~Username@user/cheater)
12:20:27 × cheater quits (~Username@user/cheater) (Ping timeout: 248 seconds)
12:20:35 cheater_ is now known as cheater
12:22:46 gurkengl1s joins (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de)
12:22:51 freeside joins (~mengwong@122.11.214.10)
12:23:02 × mastarija quits (~mastarija@188.252.199.128) (Quit: WeeChat 3.7.1)
12:26:28 <ph88> did anyone here try this package ? https://github.com/NorfairKing/sydtest
12:27:39 × tubogram44 quits (~tubogram@user/tubogram) (Quit: See ya later!)
12:28:15 × freeside quits (~mengwong@122.11.214.10) (Read error: Connection reset by peer)
12:29:31 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds)
12:30:46 tubogram44 joins (~tubogram@user/tubogram)
12:33:41 cheater_ joins (~Username@user/cheater)
12:33:47 <Hecate> never
12:34:51 qy joins (~ix@213.205.241.172)
12:35:40 × qy quits (~ix@213.205.241.172) (Read error: Connection reset by peer)
12:37:04 × cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds)
12:37:07 cheater_ is now known as cheater
12:37:57 × Axman6 quits (~Axman6@user/axman6) (Remote host closed the connection)
12:38:14 Axman6 joins (~Axman6@user/axman6)
12:38:18 × gurkengl1s quits (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 255 seconds)
12:38:58 × gurkenglas quits (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 276 seconds)
12:40:16 gurkenglas joins (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de)
12:40:17 gurkengl1s joins (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de)
12:41:05 qy joins (~ix@213.205.241.172)
12:43:23 jero98772 joins (~jero98772@2800:484:1d80:d8ce:e507:6b15:fde6:a01)
12:44:18 × tubogram44 quits (~tubogram@user/tubogram) (Quit: See ya later!)
12:46:07 × qy quits (~ix@213.205.241.172) (Read error: Connection reset by peer)
12:46:39 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
12:52:17 qy joins (~ix@213.205.241.172)
12:57:24 × qy quits (~ix@213.205.241.172) (Read error: Connection reset by peer)
12:58:18 × gurkengl1s quits (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 268 seconds)
12:58:18 × gurkenglas quits (~gurkengla@dynamic-046-114-180-230.46.114.pool.telefonica.de) (Ping timeout: 268 seconds)
12:58:45 tubogram44 joins (~tubogram@user/tubogram)
12:59:44 gurkenglas joins (~gurkengla@dynamic-089-015-236-016.89.15.236.pool.telefonica.de)
12:59:48 gurkengl1s joins (~gurkengla@dynamic-089-015-236-016.89.15.236.pool.telefonica.de)
13:03:43 qy joins (~ix@213.205.241.172)
13:05:47 × qy quits (~ix@213.205.241.172) (Read error: Connection reset by peer)
13:08:22 <DigitalKiwi> it has all of the features to exist (ever) except one Optional standard output and standard error suppression [2]! https://github.com/NorfairKing/sydtest#features--comparison-to-similar-projects
13:09:43 <DigitalKiwi> turns out nobody can figure out how to do that
13:11:10 <mauke> >/dev/null 2>&1
13:12:10 qy joins (~ix@213.205.241.172)
13:12:10 <DigitalKiwi> i should start making a list of every positive quality about me and then judging everyone only by whether or not they have that quality too
13:14:04 <DigitalKiwi> i'll soon conclude that digitalkiwi > everyone. nobody else will ever match up to me!
13:15:32 <DigitalKiwi> https://mostlyabsurd.com/about/#robert-djubek heheh
13:26:25 × qy quits (~ix@213.205.241.172) (Ping timeout: 276 seconds)
13:29:59 MajorBiscuit joins (~MajorBisc@2001:1c00:2408:a400:fe7a:e187:9542:2031)
13:30:03 × MajorBiscuit quits (~MajorBisc@2001:1c00:2408:a400:fe7a:e187:9542:2031) (Client Quit)
13:30:33 MajorBiscuit joins (~MajorBisc@2001:1c00:2408:a400:fe7a:e187:9542:2031)
13:34:34 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
13:44:43 × MajorBiscuit quits (~MajorBisc@2001:1c00:2408:a400:fe7a:e187:9542:2031) (Ping timeout: 252 seconds)
13:46:10 MajorBiscuit joins (~MajorBisc@2001:1c00:2408:a400:fe7a:e187:9542:2031)
13:51:02 × vglfr quits (~vglfr@209.198.138.7) (Read error: Connection reset by peer)
13:52:31 vglfr joins (~vglfr@209.198.138.7)
13:52:31 × MajorBiscuit quits (~MajorBisc@2001:1c00:2408:a400:fe7a:e187:9542:2031) (Ping timeout: 248 seconds)
13:57:58 × NiceBird quits (~NiceBird@185.133.111.196) (Quit: Leaving)
14:06:05 polyphem_ joins (~rod@2a02:810d:840:8754:3ca7:d087:3205:3c69)
14:07:32 __monty__ joins (~toonn@user/toonn)
14:08:18 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds)
14:14:49 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
14:16:37 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 268 seconds)
14:39:42 wootehfoot joins (~wootehfoo@user/wootehfoot)
14:43:18 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:45:37 × vglfr quits (~vglfr@209.198.138.7) (Read error: Connection reset by peer)
14:46:16 vglfr joins (~vglfr@209.198.138.7)
14:51:14 acidjnk_new joins (~acidjnk@p200300d6e715c4844872eb3a15c09e4f.dip0.t-ipconnect.de)
14:52:47 euandreh1 joins (~Thunderbi@189.6.18.7)
14:53:07 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:54:51 × euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 268 seconds)
14:54:52 euandreh1 is now known as euandreh
14:55:30 × ddellacosta quits (~ddellacos@146.70.165.157) (Quit: WeeChat 3.8)
14:56:43 ddellacosta joins (~ddellacos@146.70.165.157)
14:57:08 × Joao003 quits (~Joao003@2804:840:8310:4e00:c922:bc22:56e2:86fd) (Quit: Leaving)
15:00:25 emmanuelux joins (~emmanuelu@user/emmanuelux)
15:00:25 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
15:00:38 bramhaag joins (~bramhaag@134.195.121.39)
15:01:30 × mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8)
15:02:55 msavoritias joins (cb716af6b3@irc.cheogram.com)
15:03:50 mechap joins (~mechap@user/mechap)
15:06:22 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
15:08:55 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Client Quit)
15:09:22 <ph88> does someone know of a tool to automatically remove unused imports ?
15:09:48 <Axman6> hls
15:09:50 <geekosaur> no independent tool but hls marks and there's a code action to remove them
15:10:12 <geekosaur> that is, I don't know of such a tool. someone probably has one somewhere
15:13:50 <ph88> cool i'll check hls
15:15:12 × trev quits (~trev@user/trev) (Remote host closed the connection)
15:15:36 emmanuelux_ joins (~emmanuelu@user/emmanuelux)
15:19:23 <hammond> im interested in coding something in haskell
15:19:31 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Ping timeout: 276 seconds)
15:19:53 <hammond> whats a workspace for it.
15:19:59 <hammond> im not good at vim
15:20:14 <ph88> hammond, what do you mean workspace ?
15:20:23 <hammond> like an ide
15:20:35 <ph88> hammond, i use ubuntu, stack and vscode and it works well
15:20:51 <hammond> well
15:21:06 <hammond> sad to say, but im on windowze for now.
15:21:20 <ph88> then use windows, stack and vscode which also works well
15:21:35 <hammond> oh lemmi look into it
15:21:47 <sm> https://www.haskell.org/get-started
15:22:14 <ph88> you can also use windows subsystem for linux WSL2, which i think is better than using a virtual machine
15:22:35 <ph88> https://docs.haskellstack.org/en/stable/install_and_upgrade/
15:22:59 <ph88> in vscode you should be able to go to marketplace and search for haskell language server (i don't use it myself but i guess it's good)
15:23:08 joes joins (~joes@hardfought/member/joes)
15:23:31 <hammond> i know this is not the chan for it, but i was thinking i could have one server for the code, like on a ssh, and have the ide of diff computers login into that and code from anywhere
15:25:00 <sm> there are tools like that from microsoft, github, gitpod..
15:25:12 <hammond> https://code.visualstudio.com/docs/remote/remote-overview
15:25:17 <hammond> yeah
15:25:59 <ph88> hammond, there are such solutions like https://github.com/coder/code-server but i don't recommend it because then you have no offline support while you are travelling. I think it's better to have a git server to keep your code up to date and then share through that from different machines
15:26:23 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
15:26:51 maroloccio joins (~marolocci@90.167.243.161)
15:26:54 sm uses both
15:27:28 <ph88> only when your machine is extremely weak or low battery i guess you could do the compiling somewhere else .. but tbh buy a better machine then
15:28:20 Nosrep joins (~Nosrep@user/nosrep)
15:28:20 <hammond> well sometimes i code with dbs, and do tests, it's annoying setting that up on diff computers.
15:28:27 <sm> in fairness compiling haskell is slow and costly on most machines
15:28:27 <hammond> idk
15:28:55 <ph88> dbs databases ?
15:29:00 <hammond> yes
15:29:06 <sm> Remote Develop extension works briliiantly, can recommend
15:29:12 <hammond> the database is not remote.
15:29:32 <hammond> ok
15:29:59 <ph88> hammond, perhaps also look into putting DB into a docker container for testing and development
15:30:36 <sm> ..but I haven't used Remote Develop for haskell work, don't know how HLS works with it
15:33:46 <hammond> thx guize
15:34:59 gehmehgeh is now known as gmg
15:35:32 freeside joins (~mengwong@103.252.202.85)
15:48:43 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:255c:3f40:58d6:8356)
15:49:39 trev joins (~trev@user/trev)
15:49:41 × maroloccio quits (~marolocci@90.167.243.161) (Quit: WeeChat 3.7.1)
15:50:55 × gurkengl1s quits (~gurkengla@dynamic-089-015-236-016.89.15.236.pool.telefonica.de) (Ping timeout: 248 seconds)
15:50:56 × gurkenglas quits (~gurkengla@dynamic-089-015-236-016.89.15.236.pool.telefonica.de) (Ping timeout: 248 seconds)
15:51:34 × vernorvintage quits (~maxsu@wsip-24-120-138-106.lv.lv.cox.net) (Read error: Connection reset by peer)
15:52:43 gurkenglas joins (~gurkengla@dynamic-089-015-236-016.89.15.236.pool.telefonica.de)
15:53:01 gurkengl1s joins (~gurkengla@89.15.236.16)
15:53:30 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:255c:3f40:58d6:8356) (Ping timeout: 260 seconds)
15:59:05 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
16:00:30 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
16:00:42 bramhaag joins (~bramhaag@134.195.121.39)
16:01:43 × trev quits (~trev@user/trev) (Remote host closed the connection)
16:04:20 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:05:04 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
16:05:31 × polyphem_ quits (~rod@2a02:810d:840:8754:3ca7:d087:3205:3c69) (Ping timeout: 252 seconds)
16:06:35 polyphem_ joins (~rod@2a02:810d:840:8754:224e:f6ff:fe5e:bc17)
16:08:40 × cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds)
16:09:35 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
16:10:44 <Nosrep> can i get profiling to be more fine grained or ignore something
16:10:59 trev joins (~trev@user/trev)
16:11:14 <Nosrep> i'm trying to profile something that gets overshadowed by another function that is required but i don't really care about so the thing i actually do care about has 0.0 on everything
16:12:23 <sm> yes you can annotate specific functions and profile only those but... why do you care about a 0.0 thing
16:14:02 bitmapper joins (uid464869@id-464869.lymington.irccloud.com)
16:16:32 cheater joins (~Username@user/cheater)
16:18:22 <Nosrep> the big thing only runs once
16:18:29 <Nosrep> (in normal execution of the program)
16:18:50 <Nosrep> and im trying to profile one function call thats actually used a ton normally but i only run it one time here so its pretty fast
16:19:16 cheater_ joins (~Username@user/cheater)
16:19:29 <Nosrep> i tried to use -fno-prof-auto (stack adds -fprof-auto automatically i think) but the big thing still shows up i think because the little thing depends on the big thing
16:19:49 <Nosrep> maybe i run the little thing in a loop to get the numbers up?
16:20:38 cheater__ joins (~Username@user/cheater)
16:22:42 × cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds)
16:22:44 cheater__ is now known as cheater
16:23:59 × cheater_ quits (~Username@user/cheater) (Ping timeout: 246 seconds)
16:27:28 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
16:27:47 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
16:28:25 <ph88> Nosrep, i would say either go for the scenario where it is actually "used a ton" instead of once. Or maybe better you can create the inputs of the function and then factor that out in a test or a benchmark and profile that
16:28:57 <ph88> https://bpa.st/S6CKU i'm trying to test code with sandwich can anyone help me with these type errors ?
16:30:51 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
16:33:39 × Nosrep quits (~Nosrep@user/nosrep) (Ping timeout: 255 seconds)
16:34:40 Nosrep joins (~Nosrep@user/nosrep)
16:39:30 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds)
16:47:33 × gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer)
16:53:33 gentauro joins (~gentauro@user/gentauro)
16:56:30 mastarija joins (~mastarija@188.252.199.128)
16:59:35 <mastarija> Is there a good beginner friendly explanation of `IndexedTraversal`? I'm trying to understand how to implement one for my custom tree-like structure.
16:59:51 × hugo quits (znc@verdigris.lysator.liu.se) (Quit: ZNC 1.8.2 - https://znc.in)
17:00:07 <mastarija> From what I understand, `IndexedTraversal` allows me to have access to index of each data contained in my structure while traversing.
17:00:53 <mastarija> Something like `fmap (\ (ix, d) -> ...) $ zip [1..] myData`
17:01:22 Joao003 joins (~Joao003@2804:840:8310:4e00:c922:bc22:56e2:86fd)
17:01:23 <mastarija> Ok, maybe not the `fmap` but you get my point
17:02:33 <mastarija> And if I undertand this correctly, I can use `IndexedTraversal` to implement `Traversal` and `Ixed` class, right?
17:02:53 <mastarija> Because it's more powerful in a way.
17:07:21 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
17:10:44 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Read error: Connection reset by peer)
17:11:09 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
17:21:25 <c_wraith> mastarija: I'd just implement all the classes by hand. And while implementing Traversal in terms of IndexedTraversal seems mostly fine, implemented Ixed in terms of IndexedTraversal seems like a huge performance issue
17:22:34 <c_wraith> the latter implies Ixed would walk the entire data structure to find the one thing it cares about. Most of the time having an index available should allow you to navigate more directly to your target element
17:22:40 <mastarija> c_wraith: yes, I was just talking from the more theoretical point to check if I understood `IndexedTraversal` properly.
17:23:39 <mastarija> c_wraith: do you maybe know of an article explaining the `IndexedTraversal`? I'm not really sure how to implement it because I don't quite understand its underlying type.
17:24:45 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
17:24:49 <c_wraith> oh. Implement TraversableWithIndex and let itraversed do the hard work.
17:25:56 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Read error: Connection reset by peer)
17:26:24 <mastarija> Hm... problem is, I have this structure, and I want to have an interface for traversing several different things inside of it.
17:26:38 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
17:26:39 <mastarija> It's not as clean as a `Map`
17:27:16 <mastarija> It's kind of like a collection of points / directed graph. So I want to be able to travere each point individually, and also each edge between the points.
17:28:59 <c_wraith> well. If you really want to look at an IndexedTraversal directly, the underlying type is the same as a Traversal, except the function argument is abstracted a bit such that it supports providing an index or not.
17:29:00 <mastarija> I guess I could use `newtype` and then hide that with some aux functions...
17:29:10 <c_wraith> But yes, that's also a workable solution
17:29:49 <c_wraith> You could also look at the definition of itraversed: https://hackage.haskell.org/package/lens-5.2.1/docs/src/Control.Lens.Indexed.html#itraversed
17:29:49 <mastarija> Ok, tbh. I haven't even figured out `Traversal`, i've went directly from lenses to `IndexedTraversal` xD
17:30:04 <c_wraith> oh, then that doesn't help. :P
17:30:19 <mastarija> :)
17:30:20 <c_wraith> Uh. Traversal is not directly part of lens.
17:30:34 <mastarija> Yes, I've noticed that
17:30:53 <c_wraith> Or rather, the lens library is based on a generalization of the ideas of Traversable.
17:31:15 <mastarija> More like, I haven't figured out how all of that works together with the lens ecosystem
17:31:25 <c_wraith> Ed Kmett once described the paper talking that introduced Traversable as "the old testament of lens"
17:31:35 <mastarija> xD
17:32:07 <mastarija> I mean, the type matches that of the lenses, and I can combine then easily, so yeah...
17:32:20 <mastarija> It was cool when I've noticed it.
17:32:41 slack1256 joins (~slack1256@186.11.17.85)
17:33:13 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
17:33:48 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
17:33:51 jpds joins (~jpds@gateway/tor-sasl/jpds)
17:34:01 waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
17:34:37 <c_wraith> It look like if you want to write an IndexedTraversal by hand, the easiest way to do it is to write a normal Traversal and then one specialized to work with indices, then use conjoined to combine them so that instance resolution picks the correct one when needed.
17:34:38 NiceBird joins (~NiceBird@185.133.111.196)
17:35:24 <c_wraith> Uh, not instance resolution. Type inference in general.
17:36:05 <c_wraith> :t conjoined
17:36:06 <lambdabot> Conjoined p => ((p ~ (->)) => q (a -> b) r) -> q (p a b) r -> q (p a b) r
17:36:26 <c_wraith> that's a very funny type, don't worry about it. :)
17:37:39 <c_wraith> as I understand it, the Conjoined class is not theoretically important. rather, it's all the implementation details stuffed together into one big unhappy class.
17:37:58 × slack1256 quits (~slack1256@186.11.17.85) (Ping timeout: 276 seconds)
17:41:56 econo joins (uid147250@user/econo)
17:43:46 <mastarija> huh...
17:45:16 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
17:52:22 pareto-optimal-d joins (~pareto-op@2001:470:69fc:105::1:b61f)
17:55:11 Guest3094 is now known as Sauvin
18:00:50 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
18:00:50 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
18:00:50 wroathe joins (~wroathe@user/wroathe)
18:04:49 <tomsmeding> that is one big set of superclasses
18:06:23 <c_wraith> all that's really important about Conjoined is that (->) and (Indexed i) are instances, and they're basically going to be the only two instances ever.
18:11:56 cheater_ joins (~Username@user/cheater)
18:12:01 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
18:12:19 chexum joins (~quassel@gateway/tor-sasl/chexum)
18:13:32 cheater__ joins (~Username@user/cheater)
18:14:29 MajorBiscuit joins (~MajorBisc@2001:1c00:2408:a400:fe7a:e187:9542:2031)
18:14:32 × cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds)
18:14:38 cheater__ is now known as cheater
18:15:21 <c_wraith> Anyone know if there's an existing package on hackage for working with monads other than IO interactively in ghci?
18:16:37 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
18:17:03 × cheater_ quits (~Username@user/cheater) (Ping timeout: 248 seconds)
18:19:27 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
18:20:25 <geekosaur> do you need a package? I thought it worked with any MonadIO
18:20:43 × cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds)
18:21:06 <c_wraith> Oh. Other way around. Like to work with a StateT s IO environment interactively
18:21:40 <c_wraith> Or at least, that's the test case I've been using. More practically, things like amazonka
18:22:53 <c_wraith> But the important part is that you can run one action at a time and preserve the environment for the next action you might decide to run
18:23:13 cheater joins (~Username@user/cheater)
18:24:10 × talismanick quits (~talismani@2601:200:c000:f7a0::5321) (Remote host closed the connection)
18:25:02 talismanick joins (~talismani@2601:200:c000:f7a0::5321)
18:26:26 Sgeo joins (~Sgeo@user/sgeo)
18:26:43 cheater_ joins (~Username@user/cheater)
18:26:47 × Joao003 quits (~Joao003@2804:840:8310:4e00:c922:bc22:56e2:86fd) (Read error: Connection reset by peer)
18:28:24 × cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds)
18:28:30 cheater_ is now known as cheater
18:29:09 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
18:29:11 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:34:26 cheater_ joins (~Username@user/cheater)
18:35:40 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
18:36:03 × cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds)
18:36:35 cheater joins (~Username@user/cheater)
18:37:07 × joes quits (~joes@hardfought/member/joes) (Ping timeout: 276 seconds)
18:39:28 × cheater_ quits (~Username@user/cheater) (Ping timeout: 248 seconds)
18:40:32 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds)
18:43:11 × cheater quits (~Username@user/cheater) (Ping timeout: 248 seconds)
18:44:04 cheater joins (~Username@user/cheater)
18:50:07 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 276 seconds)
18:51:43 <Jade[m]1> Is there a haskell WASM compiler?
18:53:52 <geekosaur> there's a release candidate for one
18:54:01 <geekosaur> and it'[s still considered a tech preview
18:54:39 <Jade[m]1> cool, thanks
18:54:50 × trev quits (~trev@user/trev) (Remote host closed the connection)
18:56:28 <geekosaur> doesn't look like they have any downloads for one with the wasm backend; you'd have to build ghc from source
18:59:59 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:02:12 qy joins (~ix@213.205.241.172)
19:06:15 cheater_ joins (~Username@user/cheater)
19:08:36 ac joins (~aloiscoch@2001:470:69fc:105::65)
19:09:32 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
19:09:33 cheater_ is now known as cheater
19:14:19 × qy quits (~ix@213.205.241.172) (Ping timeout: 248 seconds)
19:17:09 qy joins (~ix@213.205.241.172)
19:21:58 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection)
19:22:11 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
19:22:11 × qy quits (~ix@213.205.241.172) (Read error: Connection reset by peer)
19:24:34 × euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 276 seconds)
19:25:19 L29Ah joins (~L29Ah@wikipedia/L29Ah)
19:26:30 <tomsmeding> c_wraith: if your M is MonadIO, spin up a thread (forkIO) that accepts 'M a' values on a Chan, runs them in the monad, and sends back the 'a' results over a second Chan; then write 'r :: M a -> IO a' that uses the Chans to get a result, then prefix your input with r$
19:26:52 <c_wraith> tomsmeding: it's a lot more complicated than that, which I know because I've done it.
19:27:00 <tomsmeding> I haven't :p
19:27:12 <c_wraith> The question is whether I'm duplicating effort or not
19:27:25 <tomsmeding> in two words, what's more complicated?
19:27:41 <c_wraith> exceptions; garbagecollection
19:27:52 <tomsmeding> I see
19:28:22 qy joins (~ix@213.205.241.172)
19:29:53 sadmax joins (~user@64.130.91.66)
19:32:35 <c_wraith> It was a bizarre amount of work to figure out how to stop the background thread when the function sending stuff to it goes out of scope.
19:34:32 <c_wraith> err. becomes unreachable. that's more precise and actually more relevant
19:42:42 caryhartline joins (~caryhartl@072-180-197-087.res.spectrum.com)
19:44:03 son0p joins (~ff@181.136.122.143)
19:51:23 × sadmax quits (~user@64.130.91.66) (Remote host closed the connection)
19:53:30 sadmax joins (~user@64.130.91.66)
20:07:09 ikervagyok[m] joins (~ikervagyo@2001:470:69fc:105::2:f119)
20:12:06 <carter> finalizers are fun
20:12:10 <carter> weak references party!
20:19:18 euandreh joins (~Thunderbi@189.6.18.7)
20:21:14 wroathe joins (~wroathe@50.205.197.50)
20:21:14 × wroathe quits (~wroathe@50.205.197.50) (Changing host)
20:21:14 wroathe joins (~wroathe@user/wroathe)
20:26:06 wroathe_ joins (~wroathe@50.205.197.50)
20:27:07 × wroathe_ quits (~wroathe@50.205.197.50) (Client Quit)
20:27:35 <c_wraith> carter: I'm not actually touching the weak reference. It isn't necessary to keep around. The big issue is that finalizers can run prematurely if attached to regular data types, and that's really bad in this case.
20:27:46 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
20:27:57 <carter> ohhcause worker wrapper stuff?
20:28:01 <c_wraith> yep
20:28:29 <c_wraith> So I need to insert a reference type in there pecifically to hook the finalizer to. It's weird, but I did check that it works!
20:28:35 <c_wraith> *specifically
20:31:25 <carter> theres other ways like "touch" or the "with" combinator
20:31:28 <carter> but yeah
20:35:59 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:255c:3f40:58d6:8356)
20:36:38 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
20:37:41 trev joins (~trev@user/trev)
20:41:01 <c_wraith> I suppose there's a good chance touch# would do what I need, but I worry that it appears completely undocumented.
20:41:08 mniip_ joins (mniip@libera/staff/mniip)
20:41:19 ub joins (~Thunderbi@p200300ecdf0c576826ee66118dae3d0d.dip0.t-ipconnect.de)
20:41:23 × trev quits (~trev@user/trev) (*.net *.split)
20:41:23 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:255c:3f40:58d6:8356) (*.net *.split)
20:41:23 × cheater quits (~Username@user/cheater) (*.net *.split)
20:41:23 × vglfr quits (~vglfr@209.198.138.7) (*.net *.split)
20:41:23 × wootehfoot quits (~wootehfoo@user/wootehfoot) (*.net *.split)
20:41:23 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:e507:6b15:fde6:a01) (*.net *.split)
20:41:23 × img quits (~img@user/img) (*.net *.split)
20:41:23 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (*.net *.split)
20:41:23 × tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (*.net *.split)
20:41:23 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (*.net *.split)
20:41:23 × Inst quits (~Inst@2601:6c4:4081:54f0:7095:1969:fc0c:ba25) (*.net *.split)
20:41:23 × lottaquestions quits (~nick@2607:fa49:503e:7100:dbe0:8110:91f3:4f25) (*.net *.split)
20:41:23 × farn__ quits (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (*.net *.split)
20:41:23 × stilgart_ quits (~Christoph@chezlefab.net) (*.net *.split)
20:41:23 × lieven quits (~mal@ns2.wyrd.be) (*.net *.split)
20:41:23 × juri_ quits (~juri@84-19-175-179.pool.ovpn.com) (*.net *.split)
20:41:23 × finsternis quits (~X@23.226.237.192) (*.net *.split)
20:41:23 × TimWolla quits (~timwolla@2a01:4f8:150:6153:beef::6667) (*.net *.split)
20:41:23 × xelxebar quits (~xelxebar@wilsonb.com) (*.net *.split)
20:41:23 × ggranberry quits (sid267884@id-267884.uxbridge.irccloud.com) (*.net *.split)
20:41:23 × yaroot quits (~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c) (*.net *.split)
20:41:24 × mixfix41 quits (~sdenynine@user/mixfix41) (*.net *.split)
20:41:24 × ubert quits (~Thunderbi@p548c84ba.dip0.t-ipconnect.de) (*.net *.split)
20:41:24 × dminuoso quits (~dminuoso@user/dminuoso) (*.net *.split)
20:41:24 × micro quits (~micro@user/micro) (*.net *.split)
20:41:24 × auri quits (~auri@fsf/member/auri) (*.net *.split)
20:41:24 × Guest975 quits (~m-mzmz6l@vmi833741.contaboserver.net) (*.net *.split)
20:41:24 × nek0 quits (~nek0@2a01:4f8:222:2b41::12) (*.net *.split)
20:41:24 × Luj quits (~Luj@2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb) (*.net *.split)
20:41:24 × geekosaur quits (~geekosaur@xmonad/geekosaur) (*.net *.split)
20:41:24 × stefan-_ quits (~cri@42dots.de) (*.net *.split)
20:41:24 × mniip quits (mniip@libera/staff/mniip) (*.net *.split)
20:41:24 × Zemyla quits (~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com) (*.net *.split)
20:41:24 × gawen quits (~gawen@user/gawen) (*.net *.split)
20:41:24 × bjobjo quits (~bjobjo@user/bjobjo) (*.net *.split)
20:41:24 × voidzero quits (~voidzero@user/voidzero) (*.net *.split)
20:41:24 × shinjipf quits (~shinjipf@2a01:4f8:1c1c:c1be::1) (*.net *.split)
20:41:24 × lisq quits (~quassel@lis.moe) (*.net *.split)
20:41:24 × nshepperd2 quits (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (*.net *.split)
20:41:24 × Unhammer quits (~Unhammer@user/unhammer) (*.net *.split)
20:41:24 × Typedfern quits (~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) (*.net *.split)
20:41:24 × chaitlatte0 quits (ea29c0bb16@user/chaitlatte0) (*.net *.split)
20:41:24 × anderson quits (~ande@user/anderson) (*.net *.split)
20:41:24 × [Ristovski] quits (~Ristovski@hellomouse/perf/ristovski) (*.net *.split)
20:41:24 × bollu quits (~bollu@159.65.151.13) (*.net *.split)
20:41:24 × mjacob quits (~mjacob@adrastea.uberspace.de) (*.net *.split)
20:41:24 × ddb quits (~ddb@tilde.club) (*.net *.split)
20:41:24 × JoelMcCracken quits (5ea8252fbb@2604:bf00:561:2000::10e3) (*.net *.split)
20:41:24 × Teacup quits (~teacup@user/teacup) (*.net *.split)
20:41:24 × cln quits (cln@wtf.cx) (*.net *.split)
20:41:24 × pierrot quits (~pi@user/pierrot) (*.net *.split)
20:41:24 × kawen quits (~quassel@static.208.191.216.95.clients.your-server.de) (*.net *.split)
20:41:24 × bwe quits (~bwe@2a01:4f8:1c1c:4878::2) (*.net *.split)
20:41:24 × darkling quits (~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space) (*.net *.split)
20:41:24 × absence quits (torgeihe@hildring.pvv.ntnu.no) (*.net *.split)
20:41:24 × madnight quits (~madnight@static.59.103.201.195.clients.your-server.de) (*.net *.split)
20:41:24 × Aleksejs quits (~Aleksejs@107.170.21.106) (*.net *.split)
20:41:24 × davean quits (~davean@davean.sciesnet.net) (*.net *.split)
20:41:24 × _________ quits (~nobody@user/noodly) (*.net *.split)
20:41:24 × sm2n quits (ae95cb1267@user/sm2n) (*.net *.split)
20:41:24 × welterde quits (welterde@thinkbase.srv.welterde.de) (*.net *.split)
20:41:24 × n1essa quits (3d621153a5@2604:bf00:561:2000::df7) (*.net *.split)
20:41:25 × ymherklotz quits (cb2c9cfbdd@2604:bf00:561:2000::29a) (*.net *.split)
20:41:25 × fluffyballoon quits (45ce440a48@2604:bf00:561:2000::e2) (*.net *.split)
20:41:25 × henrytill quits (e0180937c3@2604:bf00:561:2000::e8c) (*.net *.split)
20:41:25 × jkoshy quits (99b9359beb@user/jkoshy) (*.net *.split)
20:41:25 × probie quits (cc0b34050a@user/probie) (*.net *.split)
20:41:25 × MonsoonSecrecy quits (f78c86e960@2604:bf00:561:2000::f99) (*.net *.split)
20:41:25 × arcadewise quits (52968ed80d@2604:bf00:561:2000::3df) (*.net *.split)
20:41:25 × shreyasminocha quits (51fdc93eda@user/shreyasminocha) (*.net *.split)
20:41:25 × jakzale quits (6291399afa@user/jakzale) (*.net *.split)
20:41:25 × ggb quits (a62ffbaf4f@2604:bf00:561:2000::3ac) (*.net *.split)
20:41:25 × lukec quits (9dfd4d094e@2604:bf00:561:2000::10e) (*.net *.split)
20:41:25 × whereiseveryone quits (206ba86c98@2604:bf00:561:2000::2e4) (*.net *.split)
20:41:25 × filwisher quits (2e6936c793@2604:bf00:561:2000::170) (*.net *.split)
20:41:25 ub is now known as ubert
20:41:33 lisq joins (~quassel@lis.moe)
20:41:35 TimWolla joins (~timwolla@2a01:4f8:150:6153:beef::6667)
20:41:35 darkling joins (~darkling@savella.carfax.org.uk)
20:41:37 juri_ joins (~juri@84-19-175-179.pool.ovpn.com)
20:41:39 nek0 joins (~nek0@2a01:4f8:222:2b41::12)
20:41:41 voidzero joins (~voidzero@backspace.undo.it)
20:41:41 × voidzero quits (~voidzero@backspace.undo.it) (Changing host)
20:41:41 voidzero joins (~voidzero@user/voidzero)
20:41:42 stilgart joins (~Christoph@chezlefab.net)
20:41:43 bjobjo joins (~bjobjo@user/bjobjo)
20:41:43 shinjipf joins (~shinjipf@2a01:4f8:1c1c:c1be::1)
20:41:43 root__ joins (~m-mzmz6l@vmi833741.contaboserver.net)
20:41:45 absence joins (torgeihe@hildring.pvv.ntnu.no)
20:41:46 ggranberry joins (sid267884@id-267884.uxbridge.irccloud.com)
20:41:47 Typedfern joins (~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net)
20:41:55 lieven joins (~mal@ns2.wyrd.be)
20:41:55 jero98772 joins (~jero98772@2800:484:1d80:d8ce:e507:6b15:fde6:a01)
20:41:57 farn__ joins (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505)
20:41:58 Unhammer joins (~Unhammer@user/unhammer)
20:42:01 ddb joins (~ddb@tilde.club)
20:42:01 cln joins (~cln@wtf.cx)
20:42:03 pierrot joins (~pi@user/pierrot)
20:42:09 [Ristovski] joins (~Ristovski@hellomouse/perf/ristovski)
20:42:09 bollu joins (~bollu@159.65.151.13)
20:42:13 trev joins (~trev@109.252.35.99)
20:42:19 welterde joins (welterde@thinkbase.srv.welterde.de)
20:42:20 × trev quits (~trev@109.252.35.99) (Changing host)
20:42:20 trev joins (~trev@user/trev)
20:42:27 geekosaur joins (~geekosaur@xmonad/geekosaur)
20:42:33 cheater joins (~Username@user/cheater)
20:42:41 stefan-_ joins (~cri@42dots.de)
20:42:44 xelxebar joins (~xelxebar@wilsonb.com)
20:42:44 img joins (~img@user/img)
20:42:47 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
20:42:48 kawen joins (~quassel@static.208.191.216.95.clients.your-server.de)
20:42:49 auri joins (~auri@fsf/member/auri)
20:42:49 Teacup joins (~teacup@user/teacup)
20:42:57 chaitlatte0 joins (ea29c0bb16@user/chaitlatte0)
20:42:58 arcadewise joins (52968ed80d@2604:bf00:561:2000::3df)
20:42:58 lottaquestions joins (~nick@2607:fa49:503e:7100:df4b:8386:5d62:a084)
20:43:08 madnight joins (~madnight@static.59.103.201.195.clients.your-server.de)
20:43:11 yaroot joins (~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c)
20:43:11 geekosaur joins (~geekosaur@xmonad/geekosaur)
20:43:39 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
20:43:44 Aleksejs joins (~Aleksejs@107.170.21.106)
20:43:44 gawen joins (~gawen@user/gawen)
20:43:50 filwisher joins (2e6936c793@2604:bf00:561:2000::170)
20:43:51 ggb joins (a62ffbaf4f@2604:bf00:561:2000::3ac)
20:43:51 lukec joins (9dfd4d094e@2604:bf00:561:2000::10e)
20:43:55 shreyasminocha joins (51fdc93eda@user/shreyasminocha)
20:44:03 JoelMcCracken joins (5ea8252fbb@2604:bf00:561:2000::10e3)
20:44:03 henrytill joins (e0180937c3@2604:bf00:561:2000::e8c)
20:44:03 fluffyballoon joins (45ce440a48@2604:bf00:561:2000::e2)
20:44:03 ymherklotz joins (cb2c9cfbdd@2604:bf00:561:2000::29a)
20:44:03 probie joins (cc0b34050a@user/probie)
20:44:09 whereiseveryone joins (206ba86c98@2604:bf00:561:2000::2e4)
20:44:09 jakzale joins (6291399afa@user/jakzale)
20:44:10 anderson joins (~ande@user/anderson)
20:44:17 vglfr joins (~vglfr@209.198.138.7)
20:44:19 nshepperd2 joins (nshepperd@2600:3c03::f03c:92ff:fe28:92c9)
20:44:20 Luj joins (~Luj@2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb)
20:44:20 davean joins (~davean@davean.sciesnet.net)
20:44:21 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
20:44:45 dminuoso joins (~dminuoso@user/dminuoso)
20:45:02 bwe joins (~bwe@2a01:4f8:1c1c:4878::2)
20:45:02 _________ joins (~nobody@user/noodly)
20:45:09 sm2n joins (ae95cb1267@user/sm2n)
20:45:34 MonsoonSecrecy joins (f78c86e960@2604:bf00:561:2000::f99)
20:45:51 jkoshy joins (99b9359beb@user/jkoshy)
20:46:31 micro joins (micro@user/micro)
20:46:33 mjacob joins (~mjacob@adrastea.uberspace.de)
20:46:41 Zemyla joins (~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com)
20:46:46 <carter> touch and with just are "THIS ISNT DEAD YET"
20:46:49 finsternis joins (~X@23.226.237.192)
20:47:09 <carter> bugs with them would be like "P1 mayday"
20:47:17 <carter> not quite "we mix up registers when we shouldn't"
20:47:18 <carter> but up there
20:47:36 <c_wraith> I don't see those outside of ForeignPtr-specific stuff
20:47:45 <c_wraith> And that primop which is undocumented
20:47:58 <carter> foreign ptrs are just ptrs paired witha finalizier
20:48:17 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
20:48:18 <c_wraith> well. a list of finalizers.
20:48:20 pavonia joins (~user@user/siracusa)
20:49:38 <c_wraith> also, apparently it's not great to use and I should be looking at keepAlive# instead? https://www.haskell.org/ghc/blog/20210607-the-keepAlive-story.html
20:49:45 <carter> yes
20:49:48 <carter> thats the new one
20:49:51 <carter> i meant when i said with
20:49:55 × MajorBiscuit quits (~MajorBisc@2001:1c00:2408:a400:fe7a:e187:9542:2031) (Quit: WeeChat 3.6)
20:50:47 <carter> theres a long and storied history of primops need state token passing to not get moved around :)
20:54:05 × EsoAlgo8 quits (~EsoAlgo@129.146.136.145) (Remote host closed the connection)
20:54:24 <c_wraith> oh. that section on where touch# fails is very well-written. A good example showing how two things that seem obviously correct are obviously not correct when combined together
20:56:06 EsoAlgo8 joins (~EsoAlgo@129.146.136.145)
20:56:16 wootehfoot joins (~wootehfoo@user/wootehfoot)
20:56:36 root__ is now known as root
20:57:06 root is now known as Guest2579
20:57:33 × NiceBird quits (~NiceBird@185.133.111.196) (Quit: Leaving)
20:57:53 n1essa joins (3d621153a5@2604:bf00:561:2000::df7)
20:59:21 slack1256 joins (~slack1256@191.125.99.77)
21:00:26 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
21:00:40 bramhaag joins (~bramhaag@134.195.121.39)
21:01:14 <talismanick> On a scale of 1 to 10, how janky is xmonad-style hotswapping for Haskell?
21:01:36 × welterde quits (welterde@thinkbase.srv.welterde.de) (Quit: WeeChat 3.0.1)
21:01:48 welterde joins (welterde@thinkbase.srv.welterde.de)
21:03:13 <ac> talismanick: what do you mean by hotswapping?
21:03:25 <talismanick> or Lambdabot for that matter - the 2005 paper I just read was about Lambdabot and the Yi editor
21:03:45 <talismanick> ac: injecting new code into a running application
21:03:54 <c_wraith> lambdabot and xmonad work a lot differently
21:04:08 <talismanick> Oh?
21:04:09 <geekosaur> xmonad doesn't actually do that, it re-`exec()`s itself
21:04:10 <c_wraith> xmonad recompiles itself, quits, and restarts
21:04:14 <ac> talismanick: could you please share a link to that paper? curious to look at it
21:04:28 <talismanick> "Dynamic Applications From the Ground Up"
21:04:30 <c_wraith> lambdabot runs an external process that interprets the code
21:04:41 <talismanick> 2005, Stewart & Chakravarty
21:04:42 <ac> talismanick: ty
21:05:28 <c_wraith> admittedly, what that external process does is roughly what you'd do for dynamic code execution at run time.
21:05:29 <talismanick> Claiming a hotswappable Haskell editor outstrips Emacs in dynamicity is... a bold thesis, to say the least
21:07:16 <ac> talismanick: what aspect of dynamicity do you have in mind here? that sounds like a reasonable approach to build a dynamic editor
21:08:26 johnw joins (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
21:08:27 <c_wraith> Hmm. My code is in the neighborhood that touch# can fail in. As I don't want to commit to GHC 9+ yet, I'm sticking with using a reference to attach the finalizer to.
21:08:56 jwiegley joins (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net)
21:10:16 <talismanick> ac: so, they claim on pg1 that they've outdone Emacs in dynamicity because the core of Emacs is C for basic editing notions (buffers management, Emacs Lisp interpretation, etc) but their style of application building defines the minimum because it's only the "stub" needed to load the rest
21:10:24 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds)
21:11:37 <talismanick> Although, I've always thought of one of Emacs's strengths as deriving from a very Lisp property: that the notation for code and data are the same, so your config file is a(nother) Lisp program itself
21:11:59 <mauke> that's true for all programming languages
21:12:06 <mauke> every source file is data
21:12:22 <talismanick> In the sense of stringly-typed data, perhaps...
21:12:58 <ac> talismanick: in my opinion, the main issue to achieve such dynamicity is the lack of an efficient just in time VM for language with non-strict evaluation
21:13:00 slac78761 joins (~slack1256@186.11.43.38)
21:13:38 <talismanick> Online partial evaluation then, maybe?
21:13:38 <ac> talismanick: without that, I agree it's an overstatement to say that such approach does cover the full range of dynamicity offered by lisp and its family
21:15:10 × slack1256 quits (~slack1256@191.125.99.77) (Ping timeout: 252 seconds)
21:16:26 <ac> talismanick: I did not know about such evalutation strategy, but after checking the abstract and the basic algebra of "Tutorial on Online Partial Evaluation" by William R. Cook and Ralf Lämmel... yeah I think you are spot on.
21:16:43 × EsoAlgo8 quits (~EsoAlgo@129.146.136.145) (Remote host closed the connection)
21:18:13 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving)
21:18:24 slac78761 is now known as slack1256
21:18:43 EsoAlgo8 joins (~EsoAlgo@129.146.136.145)
21:18:57 <ac> that's a neat trick, thanks for sharing talismanick
21:22:17 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
21:23:45 × bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
21:24:04 <talismanick> :)
21:24:49 × cheater quits (~Username@user/cheater) (Ping timeout: 276 seconds)
21:25:01 cheater joins (~Username@user/cheater)
21:27:12 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
21:30:40 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 276 seconds)
21:32:54 wroathe joins (~wroathe@50.205.197.50)
21:32:54 × wroathe quits (~wroathe@50.205.197.50) (Changing host)
21:32:54 wroathe joins (~wroathe@user/wroathe)
21:46:47 × qy quits (~ix@213.205.241.172) (Ping timeout: 268 seconds)
21:52:27 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
21:54:10 × dsrt^ quits (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) (Remote host closed the connection)
22:00:34 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 276 seconds)
22:00:34 × bramhaag quits (~bramhaag@134.195.121.39) (Remote host closed the connection)
22:00:46 bramhaag joins (~bramhaag@134.195.121.39)
22:04:08 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:06:13 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
22:06:19 × EsoAlgo8 quits (~EsoAlgo@129.146.136.145) (Remote host closed the connection)
22:07:26 × perrierjouet quits (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.8)
22:08:18 EsoAlgo8 joins (~EsoAlgo@129.146.136.145)
22:10:01 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:10:04 × caryhartline quits (~caryhartl@072-180-197-087.res.spectrum.com) (Quit: caryhartline)
22:10:50 qy joins (~ix@213.205.241.172)
22:15:23 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
22:16:40 × trev quits (~trev@user/trev) (Remote host closed the connection)
22:19:09 × EsoAlgo8 quits (~EsoAlgo@129.146.136.145) (Remote host closed the connection)
22:21:10 EsoAlgo8 joins (~EsoAlgo@129.146.136.145)
22:26:27 × polyphem_ quits (~rod@2a02:810d:840:8754:224e:f6ff:fe5e:bc17) (Quit: WeeChat 3.7.1)
22:38:35 × mechap quits (~mechap@user/mechap) (Ping timeout: 248 seconds)
22:40:36 mechap joins (~mechap@user/mechap)
22:44:13 × johnw quits (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
22:44:13 × jwiegley quits (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
22:45:51 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
22:53:04 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:54:03 × qy quits (~ix@213.205.241.172) (Ping timeout: 250 seconds)
22:54:04 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
22:54:04 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
22:54:04 wroathe joins (~wroathe@user/wroathe)
22:56:22 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
23:06:39 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
23:06:57 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
23:16:40 × EsoAlgo8 quits (~EsoAlgo@129.146.136.145) (Remote host closed the connection)
23:19:58 × mastarija quits (~mastarija@188.252.199.128) (Quit: WeeChat 3.7.1)
23:26:18 × gurkenglas quits (~gurkengla@dynamic-089-015-236-016.89.15.236.pool.telefonica.de) (Ping timeout: 255 seconds)
23:27:01 × gurkengl1s quits (~gurkengla@89.15.236.16) (Ping timeout: 276 seconds)
23:27:09 × chomwitt quits (~chomwitt@2a02:587:7a18:6d00:1ac0:4dff:fedb:a3f1) (Ping timeout: 265 seconds)
23:29:43 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection)
23:34:53 perrierjouet joins (~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
23:37:11 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
23:41:17 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 250 seconds)
23:42:15 × Midjak quits (~Midjak@82.66.147.146) (Quit: Leaving)
23:43:55 Midjak joins (~Midjak@82.66.147.146)
23:45:11 × hiredman quits (~hiredman@frontier1.downey.family) (Remote host closed the connection)
23:54:13 × slack1256 quits (~slack1256@186.11.43.38) (Ping timeout: 265 seconds)
23:56:52 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:255c:3f40:58d6:8356)
23:59:53 × sadmax quits (~user@64.130.91.66) (Remote host closed the connection)

All times are in UTC on 2023-03-11.