Home liberachat/#haskell: Logs Calendar

Logs on 2022-09-19 (liberachat/#haskell)

00:00:04 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 265 seconds)
00:06:53 Axman6 joins (~Axman6@user/axman6)
00:08:54 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 258 seconds)
00:11:36 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
00:13:07 × johnw quits (~johnw@2600:1700:cf00:db0:f056:f097:9c2d:4e24) (Quit: ZNC - http://znc.in)
00:14:10 rockymarine joins (~rocky@user/rockymarine)
00:16:08 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
00:17:54 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
00:18:38 chexum joins (~quassel@gateway/tor-sasl/chexum)
00:26:24 × gay9 quits (~quassel@94-168-123-190.static.v4.ziggozakelijk.nl) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
00:27:36 janus joins (janus@anubis.0x90.dk)
00:27:51 <janus> how do i declare an ffi function that doesn't take any arguments?
00:28:06 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 265 seconds)
00:28:54 <EvanR> you could give it the type IO () or IO A if it returns something
00:29:26 <EvanR> where A is the return type
00:30:00 <EvanR> () -> IO () is also valid but possibly pointless
00:31:43 rockymarine joins (~rocky@user/rockymarine)
00:32:05 gay9 joins (~quassel@94-168-123-190.static.v4.ziggozakelijk.nl)
00:32:17 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
00:36:11 <hpc> alternatively, it is extra pointy ;)
00:37:34 <janus> if i used "IO CLong" which part of the FFI declaration would state that it is a function? i'd think it would be just a long to the FFI then
00:37:56 <janus> just because it says "ccall", it must be a function?
00:43:48 <EvanR> the type IO Whatever means it's a function
00:43:57 <EvanR> the type IO Whatever means it's a (foreign) function
00:44:10 <EvanR> oh, this isn't discord
00:44:38 <EvanR> in C, it couldn't be anything else
00:50:16 <janus> but surely a symbol in C isn't necessarily a function?
00:50:58 <monochrom> "IO" already states that it's a C "function".
00:51:23 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 268 seconds)
00:53:06 <hpc> in C, only functions can perform IO
00:54:18 <monochrom> https://www.haskell.org/onlinereport/haskell2010/haskellch8.html#x15-1620008.5.1
00:54:24 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal)
00:55:12 <monochrom> So actually "ccall" and absence of "&" together say that it's a C "function".
00:56:10 <monochrom> Becasue even "foreign import ccall foo :: CInt" is "int foo(void)". This one assumes that foo is pure.
00:57:50 <EvanR> cool, a pure function that takes no arguments is just a constant
00:58:25 <janus> oh, does that mean that is no difference between 'unsafePerformIO ioFun' and 'funNotInIO'?
00:59:20 <monochrom> Yes.
00:59:24 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.6)
01:01:14 <EvanR> :thonk: if ioFun :: IO A, and isn't "pure", then there might be a difference depending on how the uPIO expression is used?
01:01:58 <janus> i'm trying to fix up ghc-0.29 to compile with nhc98, and they use a pre-haskell98 ffi mechanism using a '_call_' keyword
01:02:25 <janus> s/_call_/_ccall_/
01:02:49 <monochrom> EvanR, I believe that the question means that if my foo example turns out to be impure, then lying that it is pure gets the same illness as using unsafePerformIO.
01:02:54 azimut_ joins (~azimut@gateway/tor-sasl/azimut)
01:03:06 <EvanR> yeah makes sense in context of foo
01:03:56 <monochrom> But yeah now the result depends on how the impure thing is used and funny things done by code optimizations.
01:04:46 <monochrom> _ccall_ is likely a precursor of ccall.
01:05:14 <janus> nhc98 supports haskell98 all right, so i converting things to standard ffi
01:05:41 <janus> but this is for the NameSupply, and genSymZh is probably impure
01:06:01 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
01:06:22 <EvanR> when in doubt, FFI your stuff as IO
01:06:27 <janus> but they use it to construct initialNameSupply where "data NameSupply Name NameSupply NameSupply"
01:06:29 <EvanR> impure until proven pure
01:06:47 <janus> problem is that they use unsafePerformIO or some interleaving variant of it
01:06:54 <EvanR> welp
01:07:01 <janus> so maybe they are relying on it getting repeatedly evaluated somehow
01:07:08 <EvanR> o_O
01:07:23 <EvanR> sounds insane
01:08:39 <janus> here is the file i am currently trying to port: https://paste.sr.ht/~janus/4429f882ec90027f116a576540beed5d01d0d21c
01:09:44 <janus> so i thought i'd adapt the GLASGOW_HASKELL variant, since i have h98 ccall but i don't have Yale's Symbol or __gensym from HBC
01:10:24 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:10:25 <janus> don't have LMLgensym either? (btw does anyone know where i can get LML?)
01:11:31 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
01:12:04 <EvanR> LML, that's going back to the beginning isn't it
01:12:55 <EvanR> is old software being impossible to build proof that time travel isn't possible
01:13:18 <janus> i don't think LML is available anywhere on the web? nhc98 is pretty good imho, and was maintained for a long time
01:13:19 × vglfr quits (~vglfr@145.224.94.16) (Ping timeout: 252 seconds)
01:14:07 <janus> and it was almost bootsrapped
01:15:42 <janus> i suppose i could try and keep it impure, since the YALE_HASKELL path suggests that they tried that
01:16:31 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:18:24 <EvanR> hmm https://github.com/GunterMueller/Rio
01:19:14 <janus> oooh that sounds like it is exactly meant for this use case
01:23:04 frost joins (~frost@user/frost)
01:28:07 <janus> surely i can't unconditionally recurse on myself in haskell98's IO?
01:28:43 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
01:29:46 <janus> seems like the monadic equivalent of "initialNameSupply = NameSupply <$> genSymZh <*> initialNameSupply <*> initialNameSupply" can't work
01:29:47 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 258 seconds)
01:31:14 chexum joins (~quassel@gateway/tor-sasl/chexum)
01:32:05 × nunggu quits (~q@user/nunggu) (Ping timeout: 258 seconds)
01:32:37 <EvanR> could be an especially lazy monad
01:33:06 <janus> yeah i guess PrimIO could be lazy like that... ah bummer..
01:33:45 × azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
01:34:06 azimut joins (~azimut@gateway/tor-sasl/azimut)
01:34:19 <janus> but Yale uses the 'IO' name and still has this construction
01:35:09 <EvanR> um did <*> exist in ghc-0.29
01:35:33 <janus> no, it didn't. that's why i said the 'monadic equivalent'. just used applicative for brevity
01:36:38 <janus> as you can see, Monad didn't even exist in GHC, they have monomorphized binders for all monads. oh the calamity
01:36:54 <EvanR> it does look like an infinite binary tree of syms generated via unsafeIO evaluation
01:37:33 <janus> yeah, not sure how to express this with NHC98... i will have to see how this is used, maybe i can avoid the infinite tree somehow
01:38:29 <EvanR> how you learned to stop worrying and love the infinite tree
01:38:33 <EvanR> of unsafePerformIO
01:39:16 jinsun__ joins (~jinsun@user/jinsun)
01:39:17 jinsun is now known as Guest4828
01:39:17 jinsun__ is now known as jinsun
01:42:06 × Guest4828 quits (~jinsun@user/jinsun) (Ping timeout: 244 seconds)
01:43:18 <janus> SplitUniq mentions how this part of the code is the most performance sensitive
01:44:03 <janus> but given that i just need to run this compiler a couple of times, and our machines are so much faster than in the 90's, maybe i could get away with some naive version
01:46:26 <janus> a Name is an Int, so it could be NameSupply 0 (NameSupply (-1) ...) (NameSupply 1 ...)
01:47:42 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
01:50:59 <EvanR> what's this, enumerating the plane
01:51:42 <janus> yeah, i think Name's just need to be unique, i don't think that there are any other requirements
01:52:22 <janus> so i just need to make a binary tree that enumerates the 32-bit integers breadth first
01:52:24 × _xor quits (~xor@74.215.182.83) (Quit: bbiab)
01:53:53 <EvanR> interval bisection
01:55:17 ddellacosta joins (~ddellacos@89.45.224.130)
01:55:48 <EvanR> [a,c] yields b=(a+c)/2, continue with [a,b] and [b,c] or something
01:56:08 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
01:56:09 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
01:56:09 wroathe joins (~wroathe@user/wroathe)
01:56:21 <janus> thanks that seems like it fits the bill
01:57:14 <EvanR> left side + width probably makes more sense instead of overflowing
01:57:27 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection)
02:02:19 <EvanR> since you can start with clean -2^31 and width/2 = 2^31
02:02:47 <EvanR> the first number is zero
02:03:00 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
02:03:33 × ddellacosta quits (~ddellacos@89.45.224.130) (Ping timeout: 252 seconds)
02:05:37 ddellacosta joins (~ddellacos@86.106.143.161)
02:13:26 × emmanuelux quits (~emmanuelu@2a01cb0000f39300c038d63b00f83cab.ipv6.abo.wanadoo.fr) (Quit: au revoir)
02:17:29 × frost quits (~frost@user/frost) (Quit: Client closed)
02:21:29 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
02:25:26 frost joins (~frost@user/frost)
02:26:17 × td_ quits (~td@muedsl-82-207-238-056.citykom.de) (Ping timeout: 252 seconds)
02:28:03 td_ joins (~td@muedsl-82-207-238-061.citykom.de)
02:28:47 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
02:32:12 × xff0x quits (~xff0x@2405:6580:b080:900:dd90:9b38:b496:ed23) (Ping timeout: 264 seconds)
02:35:52 nate1 joins (~nate@98.45.169.16)
02:36:21 vglfr joins (~vglfr@145.224.94.16)
02:39:19 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:39:19 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:39:19 finn_elija is now known as FinnElija
02:43:04 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 244 seconds)
02:45:17 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
02:49:44 × gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
02:51:47 <mrianbloom> Is there a standard function with the type :: (MonadTrans t, Monad m) => (m a -> m b -> m c) -> t m a -> t m b -> t m c
02:54:47 xff0x joins (~xff0x@2405:6580:b080:900:1f6b:da1d:cffe:2329)
02:55:22 <Axman6> Not that I'm aware of - I'm not sure it would be generally possible to write one either. it would have to be specific to each t
02:55:44 rockymarine joins (~rocky@user/rockymarine)
02:55:54 <Axman6> @unmty ExceptT e m a
02:55:54 <lambdabot> m (Either e a)
02:58:37 <Axman6> l* to be able to write unliftT2 :: (m a -> m b -> m c) -> ExceptT e m a -> ExceptT e m b -> ExceptT e m c, you need to know that the inner m's are actually returning Either, to then run them, see if either returned Left, then if not, call the function on the Right values, and lift that result back into ExceptT. It could be a type class, but I'm not sure how common it is for that to come up in practice
02:59:44 <mrianbloom> Axman6: I see, that makes sense. What about a typeclass function for t?
03:00:06 <Axman6> I don't understand the question
03:00:51 <mrianbloom> A typeclass whose parameter is t
03:01:02 <Axman6> you could have class MonadTrans t => MonadApply t where unliftA2 :: (m a -> m b -> m c) -> t m a -> t m b -> t m c, but you would need instances for each t
03:01:25 × ddellacosta quits (~ddellacos@86.106.143.161) (Ping timeout: 268 seconds)
03:01:38 <mrianbloom> Is there a standard typeclass like that?
03:01:51 <mrianbloom> I'm just trying no to reinvent the wheel.
03:02:09 <mrianbloom> *not
03:03:27 <Axman6> Not that I'm aware of
03:04:00 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
03:04:10 <[Leary]> mrianbloom: You can take advantage of the fact that Applicatives compose to write things like this generally, given that your Monad transformer is just the composition of a particular Monad.
03:04:17 <Axman6> this was announced last weel, maybe it's in there :) https://hackage.haskell.org/package/monadology
03:04:34 azimut joins (~azimut@gateway/tor-sasl/azimut)
03:04:37 <Axman6> week*
03:04:52 <mrianbloom> Nice
03:05:01 <mrianbloom> I'll check that out.
03:05:09 <Axman6> in fact https://hackage.haskell.org/package/monadology-0.1/docs/Control-Monad-Ology-General-Trans-Tunnel.html looks very relevant
03:06:13 <mrianbloom> I'll give this a shot.
03:07:33 <[Leary]> % :t liftA2 @(Compose _ _)
03:07:33 <yahb2> liftA2 @(Compose _ _) ; :: (Applicative _1, Applicative _2) => ; (a -> b -> c) ; -> Compose _1 _2 a -> Compose _1 _2 b -> Compose _1 _2 c
03:07:51 <[Leary]> Hmm, not quite right.
03:09:35 <[Leary]> I guess it's just regular `liftA2`, once your `t m a` has been reduced to some `tf (m a)`.
03:13:34 <mrianbloom> Is it the case that for both tunnel and hoist, the underlying function must be an endomorph
03:20:55 × dtman34 quits (~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
03:26:16 nunggu joins (~q@user/nunggu)
03:27:11 jargon joins (~jargon@184.101.186.15)
03:37:35 × Batzy quits (~quassel@user/batzy) (Read error: Connection reset by peer)
03:37:51 Batzy joins (~quassel@user/batzy)
03:45:06 × nunggu quits (~q@user/nunggu) (Ping timeout: 258 seconds)
03:46:12 × Batzy quits (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
03:46:49 Batzy joins (~quassel@user/batzy)
03:50:13 × Vajb quits (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) (Read error: Connection reset by peer)
03:51:09 Vajb joins (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi)
03:53:48 × Batzy quits (~quassel@user/batzy) (Ping timeout: 264 seconds)
03:54:30 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds)
03:55:54 × rembo10 quits (~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
03:58:02 rembo10 joins (~rembo10@main.remulis.com)
04:01:11 shriekingnoise joins (~shrieking@186.137.167.202)
04:06:08 × Vajb quits (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer)
04:06:58 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
04:06:58 × tdsdp^ quits (~tdsdp@173-160-76-137-atlanta.hfc.comcastbusiness.net) (Remote host closed the connection)
04:12:11 Vajb joins (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57)
04:12:34 × wroathe quits (~wroathe@user/wroathe) (Quit: leaving)
04:12:34 × shriekingnoise quits (~shrieking@186.137.167.202) (Read error: Connection reset by peer)
04:15:32 shriekingnoise joins (~shrieking@186.137.167.202)
04:15:46 nate1 joins (~nate@98.45.169.16)
04:18:14 × rembo10 quits (~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
04:20:19 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
04:20:22 rembo10 joins (~rembo10@main.remulis.com)
04:31:50 nate1 joins (~nate@98.45.169.16)
04:33:49 × shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit)
04:34:12 shriekingnoise joins (~shrieking@186.137.167.202)
04:35:47 × shriekingnoise quits (~shrieking@186.137.167.202) (Read error: Connection reset by peer)
04:36:18 shriekingnoise joins (~shrieking@186.137.167.202)
04:37:50 × shriekingnoise quits (~shrieking@186.137.167.202) (Client Quit)
04:40:05 × mvk quits (~mvk@2607:fea8:5ce3:8500::6e80) (Ping timeout: 268 seconds)
04:41:30 × Null_A quits (~null_a@c-73-93-244-42.hsd1.ca.comcast.net) ()
04:42:26 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds)
04:53:59 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
04:55:46 nate1 joins (~nate@98.45.169.16)
05:00:26 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
05:00:46 × Luj quits (~Luj@2a01:e0a:5f9:9681:b08d:568b:3590:6640) (Quit: Ping timeout (120 seconds))
05:01:06 Luj joins (~Luj@2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb)
05:05:42 titibandit joins (~titibandi@xdsl-87-78-162-143.nc.de)
05:08:49 Maeda joins (~Maeda@91-161-10-149.subs.proxad.net)
05:09:32 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:09:51 × tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 260 seconds)
05:10:12 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 258 seconds)
05:13:38 jinsun__ joins (~jinsun@user/jinsun)
05:13:38 jinsun is now known as Guest7632
05:13:39 × Guest7632 quits (~jinsun@user/jinsun) (Killed (calcium.libera.chat (Nickname regained by services)))
05:13:39 jinsun__ is now known as jinsun
05:16:40 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
05:16:59 jinsun joins (~jinsun@user/jinsun)
05:17:08 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 265 seconds)
05:27:05 gmg joins (~user@user/gehmehgeh)
05:27:47 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds)
05:28:03 jinsun__ joins (~jinsun@user/jinsun)
05:28:04 jinsun is now known as Guest7366
05:28:04 jinsun__ is now known as jinsun
05:29:20 jinsun__ joins (~jinsun@user/jinsun)
05:29:21 jinsun is now known as Guest214
05:29:21 jinsun__ is now known as jinsun
05:31:19 `2jt joins (~jtomas@86.red-88-17-188.dynamicip.rima-tde.net)
05:31:31 × Guest7366 quits (~jinsun@user/jinsun) (Ping timeout: 244 seconds)
05:32:32 × Guest214 quits (~jinsun@user/jinsun) (Ping timeout: 244 seconds)
05:44:43 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
05:45:58 rockymarine joins (~rocky@user/rockymarine)
05:48:12 × causal quits (~user@50.35.83.177) (Quit: WeeChat 3.6)
05:50:00 × analoq quits (~yashi@user/dies) (Ping timeout: 265 seconds)
05:51:25 analoq joins (~yashi@user/dies)
05:53:08 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 258 seconds)
05:54:23 gmg joins (~user@user/gehmehgeh)
05:56:01 nate1 joins (~nate@98.45.169.16)
06:00:47 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
06:16:00 nunggu joins (~q@user/nunggu)
06:20:17 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 250 seconds)
06:27:58 × perdent quits (~perdent@125.7.37.86) (Ping timeout: 252 seconds)
06:28:24 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 258 seconds)
06:29:18 c209e6dc-4d76-47 joins (~aditya@2601:249:4300:1296:195:dac6:592c:a55a)
06:29:33 <c209e6dc-4d76-47> is there something like networkx for haskell?
06:29:47 <Axman6> what is networkx?
06:30:05 <c209e6dc-4d76-47> library to work on graphs/networks
06:30:09 gmg joins (~user@user/gehmehgeh)
06:30:23 <c209e6dc-4d76-47> i am working on spectral graph theory
06:30:29 <Axman6> perhaps fgl?
06:31:04 <c209e6dc-4d76-47> let me take a look, does it support for linear algebra related stuff - eigenvalues, laplacian, etc?
06:31:43 <Axman6> No idea I'm sorry, I've never done much with graphs, a mate of mine is/was the maintainer of fgl and did a lot of his PhD work using it
06:32:58 <c209e6dc-4d76-47> no problem, but thanks for helping out!
06:33:30 <Axman6> it's worth taking a look around hackage and seeing what turns up
06:33:46 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 258 seconds)
06:34:27 chexum joins (~quassel@gateway/tor-sasl/chexum)
06:39:29 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:48:11 zeenk joins (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f)
06:49:53 nate1 joins (~nate@98.45.169.16)
06:50:37 chomwitt joins (~chomwitt@2a02:587:dc14:f500:b602:1ca2:8fdc:ffae)
06:54:46 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds)
06:56:23 × nunggu quits (~q@user/nunggu) (Ping timeout: 258 seconds)
06:58:01 nunggu joins (~q@user/nunggu)
06:58:57 × oldsk00l quits (~znc@ec2-18-134-177-246.eu-west-2.compute.amazonaws.com) (Ping timeout: 260 seconds)
07:00:59 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
07:01:21 lortabac joins (~lortabac@2a01:e0a:541:b8f0:f304:45a9:c72c:4fdd)
07:01:23 × chomwitt quits (~chomwitt@2a02:587:dc14:f500:b602:1ca2:8fdc:ffae) (Ping timeout: 268 seconds)
07:01:29 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:09:45 coot joins (~coot@213.134.176.158)
07:14:58 EvanR_ joins (~EvanR@user/evanr)
07:15:21 × EvanR quits (~EvanR@user/evanr) (Ping timeout: 244 seconds)
07:21:48 <alp> c209e6dc-4d76-47: you can find haskell igraph bindings out there, maybe as close as it gets. but nothing shockingy polished and comprehensive like networkx sadly, should however cover quite a bit of ground.
07:23:35 × hochata quits (~user@user/hochata) (Ping timeout: 268 seconds)
07:24:58 dtman34 joins (~dtman34@2601:446:4400:2ad9:49aa:be6d:b3ac:4bab)
07:27:33 <siers> ski, I have gotten to the F-algebra portion of "basic category theory for computer scientists" and I'm so excited that I'll be able to follow your F-algebra fueled explanations you sent me from like a month or two ago. :)
07:30:07 odnes joins (~odnes@ppp089210198232.access.hol.gr)
07:31:17 × califax quits (~califax@user/califx) (Remote host closed the connection)
07:31:53 califax joins (~califax@user/califx)
07:34:50 jakalx parts (~jakalx@base.jakalx.net) ()
07:34:54 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
07:34:54 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Read error: Connection reset by peer)
07:35:30 ChaiTRex joins (~ChaiTRex@user/chaitrex)
07:35:34 ec joins (~ec@gateway/tor-sasl/ec)
07:39:23 toeffel joins (~toeffel@user/toeffel)
07:43:54 × odnes quits (~odnes@ppp089210198232.access.hol.gr) (Ping timeout: 268 seconds)
07:44:58 × c209e6dc-4d76-47 quits (~aditya@2601:249:4300:1296:195:dac6:592c:a55a) (Quit: Konversation terminated!)
07:46:36 odnes joins (~odnes@ppp089210198232.access.hol.gr)
07:46:57 × titibandit quits (~titibandi@xdsl-87-78-162-143.nc.de) (Remote host closed the connection)
07:46:59 × johnjaye quits (~pi@173.209.64.74) (Ping timeout: 265 seconds)
07:47:06 jakalx joins (~jakalx@base.jakalx.net)
07:48:42 johnjaye joins (~pi@173.209.64.74)
07:50:13 MajorBiscuit joins (~MajorBisc@145.94.160.96)
07:51:25 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
07:53:08 king_gs joins (~Thunderbi@2806:103e:29:ac5e:a16e:4ac9:a89b:4d)
07:53:18 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
07:57:07 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
07:57:10 Pickchea joins (~private@user/pickchea)
07:59:41 × cheater quits (~Username@user/cheater) (Quit: (BitchX) A gentleman is one who knows how to play the bagpipes, but chooses not to.)
08:03:42 <ski> cheers, siers :)
08:04:07 shriekingnoise joins (~shrieking@186.137.167.202)
08:08:59 cheater joins (~Username@user/cheater)
08:12:45 × shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit)
08:14:18 × odnes quits (~odnes@ppp089210198232.access.hol.gr) (Quit: Leaving)
08:17:13 razetime joins (~quassel@117.254.35.177)
08:17:28 yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:df30:9337:5d21:828)
08:17:58 razetime_ joins (~quassel@117.254.35.177)
08:17:59 × razetime_ quits (~quassel@117.254.35.177) (Client Quit)
08:18:05 × razetime quits (~quassel@117.254.35.177) (Client Quit)
08:18:28 razetime joins (~quassel@117.254.35.177)
08:18:48 × yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:df30:9337:5d21:828) (Remote host closed the connection)
08:20:13 yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:8fe3:ee0f:6df3:aee0)
08:29:30 × califax quits (~califax@user/califx) (Remote host closed the connection)
08:30:49 × vglfr quits (~vglfr@145.224.94.16) (Remote host closed the connection)
08:31:24 vglfr joins (~vglfr@145.224.94.16)
08:34:27 × toeffel quits (~toeffel@user/toeffel) (Quit: quit)
08:36:22 califax joins (~califax@user/califx)
08:42:21 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:49:20 × mestre quits (~mestre@191.177.181.194) (Ping timeout: 265 seconds)
08:49:45 × ft quits (~ft@p3e9bc57b.dip0.t-ipconnect.de) (Quit: Lost terminal)
08:50:04 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
08:51:03 × king_gs quits (~Thunderbi@2806:103e:29:ac5e:a16e:4ac9:a89b:4d) (Quit: king_gs)
08:53:55 __monty__ joins (~toonn@user/toonn)
08:57:12 × frost quits (~frost@user/frost) (Ping timeout: 252 seconds)
09:02:36 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
09:03:21 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
09:03:26 × yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:8fe3:ee0f:6df3:aee0) (Remote host closed the connection)
09:03:44 yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:2047:c85a:1d1e:f109)
09:05:57 × nunggu quits (~q@user/nunggu) (Ping timeout: 258 seconds)
09:06:09 mestre joins (~mestre@191.177.181.194)
09:09:25 nunggu joins (~q@user/nunggu)
09:13:14 × yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:2047:c85a:1d1e:f109) (Remote host closed the connection)
09:13:33 yvan-sraka joins (~yvan-srak@2a02:2788:224:71c:b243:152c:3096:7d25)
09:18:50 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 244 seconds)
09:19:21 kuribas joins (~user@ptr-17d51epqora8ux5p3qo.18120a2.ip6.access.telenet.be)
09:19:38 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
09:21:00 zaquest joins (~notzaques@5.130.79.72)
09:22:06 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
09:23:22 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
09:40:47 × jargon quits (~jargon@184.101.186.15) (Remote host closed the connection)
09:42:52 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
09:44:32 ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
09:50:36 × yvan-sraka quits (~yvan-srak@2a02:2788:224:71c:b243:152c:3096:7d25) (Remote host closed the connection)
09:51:14 <carbolymer> does ghc have two runtimes?
09:51:49 <dminuoso> Yes and no. The threaded and non-threaded runtime.
09:51:52 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:52:06 <carbolymer> ah right
09:56:20 <carbolymer> what are the downsides of using threaded rutime?
09:57:23 <dminuoso> Ask the opposide
09:57:31 <dminuoso> The non-threaded runtime is, officially, not even supported, despite being the default.
09:57:52 × perrierjouet quits (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.6)
09:57:56 <dminuoso> I dont even know why it is the way it is
09:58:46 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
09:58:48 <dminuoso> carbolymer: But, consult https://gitlab.haskell.org/ghc/ghc/-/merge_requests/538 for a list of reasons why it is not yet the default.
09:59:46 perrierjouet joins (~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
10:00:09 <dminuoso> carbolymer: In reality, using the non-threaded RTS will make quite a few things block or not work.
10:03:02 <carbolymer> dminuoso: thanks for that link. That's why I'm asking, I don't see the reason to still keep non-threaded rts around
10:05:32 <dminuoso> Well keeping it around is necessary for compatibility with some systems as far as I understand it
10:08:24 <ski> @quote optimization.of.infinity
10:08:24 <lambdabot> sipa says: it can optimize non-terminating programs into programs that output "<<loop>>" and quit; that's an optimization of infinity% !
10:11:47 akegalj joins (~akegalj@93.138.18.60)
10:12:58 nate1 joins (~nate@98.45.169.16)
10:13:09 luffy joins (~chenqisu1@183.217.201.192)
10:16:23 cfricke joins (~cfricke@user/cfricke)
10:17:45 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 250 seconds)
10:21:10 × `2jt quits (~jtomas@86.red-88-17-188.dynamicip.rima-tde.net) (Ping timeout: 265 seconds)
10:22:08 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 265 seconds)
10:25:26 × vglfr quits (~vglfr@145.224.94.16) (Quit: Quit)
10:25:33 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
10:25:39 vglfr joins (~vglfr@145.224.94.16)
10:25:52 doyougnu joins (~doyougnu@2001:7c0:921:0:6078:e539:2d7c:fa86)
10:32:48 × doyougnu quits (~doyougnu@2001:7c0:921:0:6078:e539:2d7c:fa86) (Ping timeout: 268 seconds)
10:43:26 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
10:46:34 <maerwald[m]> New stack release
10:48:19 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
11:01:23 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:04:31 `2jt joins (~jtomas@86.red-88-17-188.dynamicip.rima-tde.net)
11:05:22 toeffel joins (~toeffel@user/toeffel)
11:05:41 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
11:08:42 chomwitt joins (~chomwitt@2a02:587:dc14:f500:b006:2ebc:491e:e6d5)
11:14:57 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:16:40 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
11:18:58 × nunggu quits (~q@user/nunggu) (Ping timeout: 258 seconds)
11:19:39 nunggu joins (~q@user/nunggu)
11:20:39 toeffel is now known as billcosby
11:23:54 doyougnu joins (~doyougnu@2001:7c0:921:0:85c2:c19d:1c67:c8bc)
11:24:23 × doyougnu quits (~doyougnu@2001:7c0:921:0:85c2:c19d:1c67:c8bc) (Remote host closed the connection)
11:24:41 doyougnu joins (~doyougnu@2001:7c0:921:0:85c2:c19d:1c67:c8bc)
11:25:30 × billcosby quits (~toeffel@user/toeffel) (Quit: quit)
11:29:36 × doyougnu quits (~doyougnu@2001:7c0:921:0:85c2:c19d:1c67:c8bc) (Ping timeout: 260 seconds)
11:30:01 WaxCPU is now known as Andrew
11:31:05 NieDzejkob joins (~quassel@178-37-215-128.adsl.inetia.pl)
11:34:59 × NieDzejkob quits (~quassel@178-37-215-128.adsl.inetia.pl) (Client Quit)
11:35:25 Maja_ joins (~quassel@178-37-215-128.adsl.inetia.pl)
11:36:40 × Maja_ quits (~quassel@178-37-215-128.adsl.inetia.pl) (Client Quit)
11:37:01 Maja_ joins (~quassel@178-37-215-128.adsl.inetia.pl)
11:40:33 Maja_ is now known as Maja
11:43:48 × coot quits (~coot@213.134.176.158) (Ping timeout: 265 seconds)
11:48:25 frost joins (~frost@user/frost)
12:09:44 doyougnu joins (~doyougnu@2001:7c0:921:0:85c2:c19d:1c67:c8bc)
12:12:23 lyle joins (~lyle@104.246.145.85)
12:12:36 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:15:19 × nunggu quits (~q@user/nunggu) (Ping timeout: 258 seconds)
12:17:00 hgolden joins (~hgolden@cpe-172-251-233-141.socal.res.rr.com)
12:22:12 gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de)
12:22:42 × MajorBiscuit quits (~MajorBisc@145.94.160.96) (Ping timeout: 260 seconds)
12:23:29 <dminuoso> Mmm, I wish optparse-applicative would get rid of this silly monoid interface everywhere, and just accept [Mod T a] instead
12:23:36 wootehfoot joins (~wootehfoo@user/wootehfoot)
12:23:56 <dminuoso> Its visually disrupting with no real benefit. Seeing as we can interpret list as the free monoid, it's more than equivalent. :)
12:23:59 vorpuni joins (~pvorp@2001:861:3881:c690:ce8:83c1:1cb7:4be9)
12:25:16 MajorBiscuit joins (~MajorBisc@145.94.160.96)
12:26:19 <dminuoso> Things like `idm` just add more confusion to unsuspecting newcomers as well
12:35:52 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
12:36:04 jakalx joins (~jakalx@base.jakalx.net)
12:42:39 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 252 seconds)
12:46:12 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
12:50:40 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 244 seconds)
12:53:27 coot joins (~coot@213.134.176.158)
12:58:39 toeffel joins (~toeffel@user/toeffel)
13:06:17 × toeffel quits (~toeffel@user/toeffel) (Quit: quit)
13:10:07 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
13:10:19 × razetime quits (~quassel@117.254.35.177) (Ping timeout: 265 seconds)
13:12:08 × res0nat0r084490 quits (~Fletch@dia.whatbox.ca) (Quit: Ping timeout (120 seconds))
13:12:23 res0nat0r084490 joins (~Fletch@dia.whatbox.ca)
13:13:37 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
13:18:33 × luffy quits (~chenqisu1@183.217.201.192) (Ping timeout: 265 seconds)
13:21:35 razetime joins (~quassel@117.254.35.161)
13:28:59 <ski> dminuoso : hm, there was some recentish blag which talked about something like that (except, i think, for HTML or XML generation, rather than option parsing)
13:29:02 PiDelport joins (uid25146@id-25146.lymington.irccloud.com)
13:29:22 <ski> (about whether to use `m' where `Monoid m', or use `[m]')
13:29:57 <ski> (.. if i could find it, that would be nice)
13:30:18 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
13:30:24 matthewmosior joins (~matthewmo@173.170.253.91)
13:33:26 jero98772 joins (~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c)
13:38:42 <[Leary]> ski: https://blog.ocharles.org.uk/posts/2022-06-22-list-of-monoids-pattern.html
13:38:54 <[Leary]> I don't find it very compelling though.
13:40:27 <ski> ty
13:44:55 × `2jt quits (~jtomas@86.red-88-17-188.dynamicip.rima-tde.net) (Ping timeout: 244 seconds)
13:45:06 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
13:46:01 `2jt joins (~jtomas@86.red-88-17-188.dynamicip.rima-tde.net)
13:51:21 <int-e> Hmm. So basically they're pushing an mconcat from the call site into the implementation, with the idea that if you need only one argument, [x] to pass a singleton is light-weight compared to mconcat [x,y] for combining multiple arguments?
13:52:41 × tcard quits (~tcard@p1772079-ipngn12801hodogaya.kanagawa.ocn.ne.jp) (Ping timeout: 250 seconds)
13:53:14 × doyougnu quits (~doyougnu@2001:7c0:921:0:85c2:c19d:1c67:c8bc) (Ping timeout: 268 seconds)
13:53:16 <int-e> . o O ( Cute, but not much of a pattern; those tend to run deeper. )
13:58:34 × mestre quits (~mestre@191.177.181.194) (Quit: Lost terminal)
14:06:50 × razetime quits (~quassel@117.254.35.161) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
14:06:51 benin08 joins (benin@gateway/vpn/protonvpn/benin)
14:08:48 × benin0 quits (~benin@183.82.204.58) (Ping timeout: 265 seconds)
14:08:49 benin08 is now known as benin0
14:10:20 × frost quits (~frost@user/frost) (Ping timeout: 252 seconds)
14:14:30 nate1 joins (~nate@98.45.169.16)
14:16:07 benin02 joins (~benin@183.82.207.175)
14:17:39 × benin0 quits (benin@gateway/vpn/protonvpn/benin) (Ping timeout: 248 seconds)
14:17:39 benin02 is now known as benin0
14:19:05 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
14:20:12 × ezzieyguywuf quits (~Unknown@user/ezzieyguywuf) (Quit: leaving)
14:20:28 ezzieyguywuf joins (~Unknown@user/ezzieyguywuf)
14:25:48 Sgeo joins (~Sgeo@user/sgeo)
14:32:24 <dminuoso> I think for most uses of optparse-applicative, there will be more than just a singleton in most uses of Mod.
14:32:53 <dminuoso> (Or there will be often exactly none in case of InfoMod)
14:36:21 weier joins (~z@219.70.204.146)
14:38:59 acidjnk joins (~acidjnk@p200300d6e7137a147dd3ef2b14c15b4a.dip0.t-ipconnect.de)
14:40:56 × akegalj quits (~akegalj@93.138.18.60) (Quit: leaving)
14:49:32 × benin0 quits (~benin@183.82.207.175) (Remote host closed the connection)
14:58:20 rockymarine joins (~rocky@user/rockymarine)
15:03:29 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
15:04:16 matthewmosior joins (~matthewmo@173.170.253.91)
15:16:09 EvanR_ is now known as Evanr
15:16:11 Evanr is now known as EvanR
15:18:51 DavidBinder joins (~davidbind@134.2.10.18)
15:19:49 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:23:00 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.6)
15:25:35 × raym quits (~raym@user/raym) (Quit: gonna try artix)
15:27:14 × DavidBinder quits (~davidbind@134.2.10.18) (Quit: Leaving)
15:29:51 DavidBinder joins (~DavidBind@134.2.10.18)
15:29:59 David_Binder joins (~DavidBind@134.2.10.18)
15:29:59 × David_Binder quits (~DavidBind@134.2.10.18) (Client Quit)
15:30:21 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:30:50 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c) (Ping timeout: 244 seconds)
15:36:12 raehik joins (~raehik@zone3.jesus.cam.ac.uk)
15:38:04 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 244 seconds)
15:39:48 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
15:44:00 jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff)
15:49:49 k` joins (~user@152.7.255.205)
15:50:00 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:50:43 EashanHatti parts (~Thunderbi@c-24-126-44-70.hsd1.wv.comcast.net) ()
15:51:00 <k`> How do folks normally use Storable with CStringLen? Just manually peek and poke at the length and the length and the string, and assume the alignment will be right?
15:54:51 hochata joins (~user@user/hochata)
16:01:40 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:03:23 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:03:32 doyougnu joins (~doyougnu@2001:7c0:921:0:f282:6ee3:55a:e90f)
16:06:46 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
16:06:47 × califax quits (~califax@user/califx) (Write error: Broken pipe)
16:07:12 ChaiTRex joins (~ChaiTRex@user/chaitrex)
16:07:12 califax joins (~califax@user/califx)
16:10:45 × doyougnu quits (~doyougnu@2001:7c0:921:0:f282:6ee3:55a:e90f) (Ping timeout: 268 seconds)
16:13:25 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:13:46 tcard joins (~tcard@p696070-ipngn8501hodogaya.kanagawa.ocn.ne.jp)
16:15:15 × DavidBinder quits (~DavidBind@134.2.10.18) (Remote host closed the connection)
16:16:16 causal joins (~user@50.35.83.177)
16:19:59 raym joins (~raym@user/raym)
16:20:14 nate1 joins (~nate@98.45.169.16)
16:21:36 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
16:21:44 azimut joins (~azimut@gateway/tor-sasl/azimut)
16:28:52 titibandit joins (~titibandi@xdsl-87-78-162-143.nc.de)
16:34:35 <ski> @hoogle withCStringLen
16:34:36 <lambdabot> Foreign.C.String withCStringLen :: String -> (CStringLen -> IO a) -> IO a
16:34:36 <lambdabot> GHC.Foreign withCStringLen :: TextEncoding -> String -> (CStringLen -> IO a) -> IO a
16:34:36 <lambdabot> Data.Text.Foreign withCStringLen :: Text -> (CStringLen -> IO a) -> IO a
16:34:45 × MajorBiscuit quits (~MajorBisc@145.94.160.96) (Ping timeout: 250 seconds)
16:34:59 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
16:35:23 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
16:37:15 ec joins (~ec@gateway/tor-sasl/ec)
16:42:36 matthewmosior joins (~matthewmo@173.170.253.91)
16:42:48 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:f304:45a9:c72c:4fdd) (Quit: WeeChat 2.8)
16:44:11 johnw joins (~johnw@2600:1700:cf00:db0:7521:269e:c5d9:26aa)
16:44:59 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:49:03 × k` quits (~user@152.7.255.205) (Ping timeout: 252 seconds)
16:49:47 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 258 seconds)
16:51:21 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:52:35 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:53:30 × TonyStone quits (~TonyStone@2603-7080-8607-c36a-c1e9-cb91-01c1-e3d9.res6.spectrum.com) (Ping timeout: 244 seconds)
16:55:25 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
16:55:38 azimut joins (~azimut@gateway/tor-sasl/azimut)
16:57:29 × titibandit quits (~titibandi@xdsl-87-78-162-143.nc.de) (Quit: Leaving.)
16:57:59 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 265 seconds)
17:00:02 × weier quits (~z@219.70.204.146) (Quit: Konversation terminated!)
17:00:39 rockymarine joins (~rocky@user/rockymarine)
17:00:53 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
17:01:33 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
17:03:35 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:05:31 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 250 seconds)
17:05:39 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:05:40 TonyStone joins (~TonyStone@2603-7080-8607-c36a-61f2-c7b2-cd95-6846.res6.spectrum.com)
17:10:00 waldo joins (~waldo@user/waldo)
17:10:18 wootehfoot joins (~wootehfoo@user/wootehfoot)
17:13:48 jmdaemon joins (~jmdaemon@user/jmdaemon)
17:17:31 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
17:18:40 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
17:19:28 econo joins (uid147250@user/econo)
17:19:37 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in)
17:20:16 azimut joins (~azimut@gateway/tor-sasl/azimut)
17:20:49 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
17:21:05 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:21:07 azimut joins (~azimut@gateway/tor-sasl/azimut)
17:24:23 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
17:25:53 rockymarine joins (~rocky@user/rockymarine)
17:32:18 <sm> @where operators
17:32:18 <lambdabot> I know nothing about operators.
17:32:56 <sm> @where+ operators https://www.fpcomplete.com/haskell/tutorial/operators
17:32:56 <lambdabot> Done.
17:33:59 × `2jt quits (~jtomas@86.red-88-17-188.dynamicip.rima-tde.net) (Ping timeout: 268 seconds)
17:34:16 <sm> good article (found via https://news.ycombinator.com/item?id=32893762)
17:35:53 matthewmosior joins (~matthewmo@173.170.253.91)
17:37:43 × kuribas quits (~user@ptr-17d51epqora8ux5p3qo.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
17:39:57 ski just saw it in another channel, some hour or two ago
17:40:28 <ski> (someone seemed to think it contained a bewildering plethora of operators .. but it mostly seemed pretty tame to me)
17:40:36 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
17:41:28 <geekosaur> my observation is that those who come from a fixed-operators background are often bewildered by the number of haskell operators, not to mention that it's trivial to define new ones
17:43:49 <EvanR> I made this YMMV https://github.com/haskellcats/haskell-operators
17:43:53 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection)
17:44:52 <EvanR> "too many operators" debunked!
17:45:00 `2jt joins (~jtomas@86.red-88-17-188.dynamicip.rima-tde.net)
17:45:11 × hochata quits (~user@user/hochata) (Ping timeout: 268 seconds)
17:46:43 ski . o O ( "but I do try to avoid doing that because it does sound arrogant and patronizing" -- "yeah, the ignorant tend to misunderstand and incorrectly infer intent" )
17:46:48 × raehik quits (~raehik@zone3.jesus.cam.ac.uk) (Ping timeout: 265 seconds)
17:48:15 ski also mentioned <https://github.com/ekmett/lens/wiki/Operators> as a larger maze to get lost in
17:48:37 <EvanR> wow there's no so many in lens as I thought
17:48:50 <EvanR> oh, it's 4 columns...
17:49:06 <glguy> EvanR: <> is in Prelude now
17:49:13 <EvanR> yeah I realize that
17:49:16 <geekosaur> but in lens at least they follow patterns and if you learn the patterns you get pretty much the entire suite of operators
17:49:31 <EvanR> I need to dust off my table
17:49:32 <geekosaur> and there's only like 4 patterns iirc
17:49:38 <ski> (plus a few more in the Notes)
17:51:32 <dolio> Clearly it's much less bewildering to overload the same small collection of operators in many different, incoherent ways depending on the context.
17:53:46 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:55:10 <EvanR> that's kind of how alphabets work too
17:55:38 matthewmosior joins (~matthewmo@173.170.253.91)
17:56:05 <EvanR> most of the image space of a 8x13 pixel grid is going unused!
17:56:14 <geekosaur> enh. it's incoherent in English but not Spanish
17:56:34 <geekosaur> (or at least much less incoherent)
17:56:54 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
17:57:00 <int-e> EvanR: ink is expensive
17:57:47 titibandit joins (~titibandi@xdsl-87-78-162-143.nc.de)
17:57:51 <sm> I think the article did a great job explaining the most common and useful operators, with motivating examples.. good writing
17:59:09 <sm> bad at displaying date and author alas
17:59:21 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 265 seconds)
18:00:09 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
18:04:11 jakalx joins (~jakalx@base.jakalx.net)
18:10:10 Tuplanolla joins (~Tuplanoll@91-159-69-34.elisa-laajakaista.fi)
18:13:00 × Techcable quits (~Techcable@user/Techcable) (Remote host closed the connection)
18:13:08 Techcable joins (~Techcable@user/Techcable)
18:15:29 redviking joins (~redviking@24.48.51.166)
18:17:23 rockymarine joins (~rocky@user/rockymarine)
18:21:56 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
18:23:25 haskell_is_no_ha joins (~haskell_i@c-73-169-221-60.hsd1.wa.comcast.net)
18:23:54 tomboy64 joins (~tomboy64@user/tomboy64)
18:29:02 × haskell_is_no_ha quits (~haskell_i@c-73-169-221-60.hsd1.wa.comcast.net) (Remote host closed the connection)
18:31:21 × waldo quits (~waldo@user/waldo) (Ping timeout: 252 seconds)
18:36:11 Pickchea joins (~private@user/pickchea)
18:36:55 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:37:36 × Linux quits (~kernel@user/OpenSource) (Ping timeout: 268 seconds)
18:39:16 Guest|59 joins (~Guest|59@80.143.205.77.rev.sfr.net)
18:39:51 × Guest|59 quits (~Guest|59@80.143.205.77.rev.sfr.net) (Client Quit)
18:40:11 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 258 seconds)
18:44:55 <zzz> @type (, 7 ())
18:44:56 <lambdabot> Num (() -> t1) => t2 -> (t2, t1)
18:45:02 <zzz> can anyone explain this to me?
18:46:00 <geekosaur> (, x) for some x is a tuple section (requires TupleSections extension), which takes a parameter and produces a tuple
18:46:14 <zzz> yes
18:46:27 matthewmosior joins (~matthewmo@173.170.253.91)
18:46:32 <geekosaur> `7 ()` reads `7` as a function which is passed a parameter `()`; this means a Num instance for a function i srequired
18:46:44 <geekosaur> thus `Num (() -> t1)`
18:46:51 <zzz> that's the part i'm having trouble with
18:47:51 <geekosaur> Haskell does not know what a "number" is; any type for which you can write fromInteger can conceivably have a Num instance
18:47:56 <geekosaur> including functions
18:48:14 <geekosaur> :t 7
18:48:15 <lambdabot> Num p => p
18:48:40 <geekosaur> numeric literals are treated specially: they are stored as Integer and fromInteger is called on them at runtime
18:49:31 <geekosaur> btw it *is* possible to write a function instance of Num. moreover, it's possible to write a Num instance for any Applicative, not just functions
18:50:29 <zzz> ah i get it
18:50:31 <zzz> thanks
18:50:39 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
18:51:08 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds)
18:51:13 <geekosaur> (if it's got a decimal point, it's stored as a Rational and fromRational is called on them)
18:52:38 MoC joins (~moc@user/moc)
18:53:26 Lord_of_Life_ is now known as Lord_of_Life
18:54:55 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
18:55:27 <geekosaur> @let instance Num a => Num (b -> a) where (+) = liftA2 (+); (-) = liftA2 (-); (*) = liftA2 (*); negate = fmap negate; abs = fmap abs; signum = fmap signum; fromInteger = pure . fromInteger
18:55:29 <lambdabot> Defined.
18:55:44 <geekosaur> there's your instance for any Applicative including functions
18:56:06 ec joins (~ec@gateway/tor-sasl/ec)
18:57:15 <geekosaur> well, wibble on "any Applicative": it has to have something with a Num instance "inside" it
18:57:47 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
18:57:50 <geekosaur> so `7 ()` won't work with it unless you give () a Num instance (which is possible, just pretty useless)
18:58:54 × MoC quits (~moc@user/moc) (Quit: Konversation terminated!)
18:59:05 × chomwitt quits (~chomwitt@2a02:587:dc14:f500:b006:2ebc:491e:e6d5) (Ping timeout: 268 seconds)
19:00:14 <geekosaur> @let instance Num () where _ + _ = (); _ - _ = (); negate = id; abs = id; signum = id; fromInteger _ = ()
19:00:15 <lambdabot> /sandbox/tmp/.L.hs:172:10: error: [-Wmissing-methods, -Werror=missing-methods]
19:00:15 <lambdabot> • No explicit implementation for
19:00:15 <lambdabot> ‘*’
19:00:30 <geekosaur> @let instance Num () where _ + _ = (); _ - _ = (); _ * _ = (); negate = id; abs = id; signum = id; fromInteger _ = ()
19:00:31 <lambdabot> Defined.
19:01:05 <geekosaur> > (0, 7 ())
19:01:07 <lambdabot> ((),())
19:03:34 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 258 seconds)
19:03:43 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:04:34 <geekosaur> (this is partly because ExtendedDefaultRules is enabled in lambdabot so () is also the default type instead of Integer; accordingly, that Num instance for () produces a lot of surprises in lambdabot and ghci)
19:04:44 <EvanR> a numeric constant like 1.234e308 is stored as a Rational ? xD
19:05:00 <geekosaur> iirc yes
19:05:47 × `2jt quits (~jtomas@86.red-88-17-188.dynamicip.rima-tde.net) (Ping timeout: 244 seconds)
19:06:17 <geekosaur> maybe someone who knows more about ghc internals can chime in about it; I think this might work out to be 1.234 stored as Rational and e becomes ^?
19:06:26 <zzz> ok i'm bending my mind with the Num (b -> a) instance
19:06:31 <zzz> thanks
19:06:51 <geekosaur> function instances for anything are pretty mindbending
19:07:13 <EvanR> even if the compiler is smart about it, now I'm scared about doing conversions at runtime through Rational heh
19:07:26 <geekosaur> good, I think
19:07:43 <geekosaur> it's not recommended for a number of reasons iirc
19:07:57 <geekosaur> not just the chance for memory-filling denoms
19:09:09 × redviking quits (~redviking@24.48.51.166) (Quit: Client closed)
19:11:33 sagri__ joins (~cpli@77.47.62.180)
19:11:39 <zzz> f <*> g = \x -> f x (g x) -- this is fun
19:11:42 × raym quits (~raym@user/raym) (Remote host closed the connection)
19:12:27 <Rembane> Which bird is that?
19:12:51 <geekosaur> `ap` / S combinator
19:13:14 ec joins (~ec@gateway/tor-sasl/ec)
19:13:27 <Rembane> Sweet! Thank you!
19:13:53 sagri__ is now known as sai
19:14:01 sai is now known as saii
19:14:09 <Rembane> Starling!
19:14:33 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
19:15:46 <EvanR> that combinator comes up a lot
19:16:03 <EvanR> so you use <*> and then no one understands the code
19:19:14 <zzz> Rembane: https://gist.github.com/jrvieira/69c2af44f04cd6924aaf976f2a8d0fc3
19:20:40 raym joins (~raym@user/raym)
19:21:29 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Remote host closed the connection)
19:21:35 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 258 seconds)
19:22:22 <Rembane> zzz: Thank you!
19:22:54 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:23:38 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
19:23:51 <ski> > sortBy (comparing length <> compare) (words "The quick brown fox jumps over the lazy dog") -- sorting primarily by length, secondarily by usual lexicographic ordering
19:23:52 × saii quits (~cpli@77.47.62.180) (Quit: WeeChat 3.6)
19:23:54 <lambdabot> ["The","dog","fox","the","lazy","over","brown","jumps","quick"]
19:23:55 <ski> @where monoids
19:23:55 <lambdabot> comment on "Monoids? In my programming language?" by Cale in 2008 (or 2009 ?) at <http://www.reddit.com/r/programming/comments/7cf4r/monoids_in_my_programming_language/c06adnx> about a use of `
19:23:55 <lambdabot> instance Monoid a => Monoid (rho -> a)'
19:24:09 <ski> zzz : see ^ for another use of function instance
19:24:09 sagri_ joins (~cpli@77.47.62.180)
19:24:19 sagri_ is now known as sai
19:24:27 <zzz> i love that one
19:25:20 <ski> > map (id^2 + 1) [0 .. 9] :: [Integer]
19:25:22 <lambdabot> [1,2,5,10,17,26,37,50,65,82]
19:25:44 matthewmosior joins (~matthewmo@173.170.253.91)
19:25:54 × raym quits (~raym@user/raym) (Remote host closed the connection)
19:25:56 <ski> > map (cos^2 + sin^2) [0,pi/4 .. 2*pi]
19:25:58 <lambdabot> [1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]
19:26:48 <ski> > map (fst^2 - fst*snd + snd^2) [(x,y) | [x,y] <- replicateM 2 [-1 .. 2]9
19:26:49 <lambdabot> <hint>:1:72: error:
19:26:49 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
19:26:53 <ski> > map (fst^2 - fst*snd + snd^2) [(x,y) | [x,y] <- replicateM 2 [-1 .. 2]]
19:26:54 <lambdabot> [()]
19:27:04 <ski> > map (fst^2 - fst*snd + snd^2) [(x,y) | [x,y] <- replicateM 2 [-1 .. 2]] :: [Integer]
19:27:06 <lambdabot> [1,1,3,7,1,0,1,4,3,1,1,3,7,4,3,4]
19:27:23 pavonia joins (~user@user/siracusa)
19:27:38 <dminuoso> Is there builtin support for exceptions in ST?
19:27:53 <dminuoso> Im almost convinced there is not, but maybe Im overlooking something
19:27:58 <dminuoso> (Beyond using say ExceptT of course)
19:28:24 <ski> afaik, no
19:29:03 <ski> (hm .. how about `STM' ?)
19:29:20 sai is now known as saii
19:29:32 <ski> (not counting `retry', of course)
19:30:12 <dminuoso> STM has exceptions yeah (throwSTM), but its not usable for me
19:30:12 <ski> how are exceptions arising ? or you'd like to raise some yourself ?
19:30:16 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
19:30:18 <dminuoso> I would like to raise some myself
19:30:25 <ski> ok
19:30:29 MoC joins (~moc@user/moc)
19:30:40 <dminuoso> But I can address it by switching from `traverse_` over a list into just recursing into that list, and producing an Either at the end
19:30:57 <ski> probably `ExceptT', or some CPS variant, is where it is at
19:32:10 cg1 joins (~cg1@199.241.26.152)
19:32:36 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds)
19:34:33 beteigeuze joins (~Thunderbi@p5090d00a.dip0.t-ipconnect.de)
19:38:11 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
19:39:10 gmg joins (~user@user/gehmehgeh)
19:40:39 raym joins (~raym@user/raym)
19:41:46 × gmg quits (~user@user/gehmehgeh) (Client Quit)
19:44:56 waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
19:45:09 OpenSource joins (~kernel@user/OpenSource)
19:45:09 trcc joins (~trcc@87-57-134-11-cable.dk.customer.tdc.net)
19:46:54 <ski> @type (runState .) . mapM . (state .)
19:46:56 <lambdabot> Traversable t => (a -> s -> (b, s)) -> t a -> s -> (t b, s)
19:47:05 <ski> @type flip . (((swap .) . runState) .) . mapM . ((state . (swap .)) .) . flip
19:47:07 <lambdabot> Traversable t => (s -> a -> (s, b)) -> s -> t a -> (s, t b)
19:47:14 <ski> @hoogle mapAccumL
19:47:15 <lambdabot> Data.List mapAccumL :: Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c)
19:47:15 <lambdabot> Data.Traversable mapAccumL :: Traversable t => (a -> b -> (a, c)) -> a -> t b -> (a, t c)
19:47:15 <lambdabot> GHC.OldList mapAccumL :: (acc -> x -> (acc, y)) -> acc -> [x] -> (acc, [y])
19:47:26 <ski> @type (execState .) . mapM . (state .)
19:47:27 <lambdabot> Traversable t => (a -> s -> (b, s)) -> t a -> s -> s
19:47:37 <ski> @type flip . ((execState) .) . mapM . ((state . (swap .)) .) . flip
19:47:38 <lambdabot> Traversable t => (s -> a -> (s, b)) -> s -> t a -> s
19:47:44 <ski> @hoogle mapAccumL_
19:47:45 <lambdabot> Stream mapAccumL_ :: Monad m => (c -> a -> m (c, b)) -> c -> Stream m a r -> Stream m b (c, r)
19:47:53 <ski> @type (runExcept .) . mapM . (except .)
19:47:55 <lambdabot> Traversable t => (a -> Either e b) -> t a -> Either e (t b)
19:48:02 <ski> @type (runExceptT .) . mapM . (ExceptT .)
19:48:03 <lambdabot> (Traversable t, Monad m) => (a -> m (Either e b)) -> t a -> m (Either e (t b))
19:48:12 <ski> @type (runExceptT .) . mapM_ . (ExceptT .)
19:48:13 <lambdabot> (Foldable t, Monad m) => (a -> m (Either e b)) -> t a -> m (Either e ())
19:48:20 <ski> @type (execExceptT .) . mapM_ . (ExceptT .)
19:48:21 <lambdabot> (Foldable t, Monad m) => (a -> m (Either e b)) -> t a -> m (Maybe e)
19:50:12 × waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 244 seconds)
19:51:44 <trcc> I have this: https://paste.tomsmeding.com/h8D57ics and I am wondering why I get an error with line 32 whereas lines 29-31 works fine. It is hspec with shouldSatisfy
19:54:44 <ski> it apparently wants to be able to `Show' `result'
19:54:54 <geekosaur> because `shouldSatisfy` wants to do `show` on the left parameter if the right parameter isn't satisfied. The one that works unwraps the Cmd.Failure and shows its contents; that and the error suggests that Cmd doesn't have a Show instance
19:54:57 <ski> presumably if the check fails
19:55:22 <geekosaur> which is different from its unwrapped content having one
19:55:39 <trcc> geekosaur okay. Weird requirement in my opinion. Thank you though
19:56:26 <geekosaur> why? it makes sense that a failure case would be displayed
19:56:34 adanwan_ joins (~adanwan@gateway/tor-sasl/adanwan)
19:56:43 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
19:58:35 <trcc> hm yes
19:58:41 matthewmosior joins (~matthewmo@173.170.253.91)
19:59:20 ec joins (~ec@gateway/tor-sasl/ec)
19:59:37 <geekosaur> it just doesn't necessarily fit with a parser where a success case might include non-`show`able components
19:59:42 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 265 seconds)
20:00:05 <trcc> just avoided the shouldsatisfy and called the function directly
20:02:40 <ski> perhaps there could be a variant that is supplied with a (partial) accessor for the part to check
20:03:07 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
20:04:06 <ski> shouldSatisfyPart :: (HasCallStack,Show b) => (a -> Maybe b) -> a -> (b -> Bool) -> Expectation -- or somesuch
20:05:40 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 258 seconds)
20:06:49 × trcc quits (~trcc@87-57-134-11-cable.dk.customer.tdc.net) (Quit: Connection closed)
20:15:39 × tomboy64 quits (~tomboy64@user/tomboy64) (Read error: Connection reset by peer)
20:15:48 × lyle quits (~lyle@104.246.145.85) (Quit: WeeChat 3.6)
20:16:16 tomboy64 joins (~tomboy64@user/tomboy64)
20:17:38 × titibandit quits (~titibandi@xdsl-87-78-162-143.nc.de) (Remote host closed the connection)
20:17:56 hochata joins (~user@user/hochata)
20:23:30 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
20:24:58 ft_ joins (~ft@p3e9bc57b.dip0.t-ipconnect.de)
20:25:54 waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
20:26:03 matthewmosior joins (~matthewmo@173.170.253.91)
20:26:50 × waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Read error: Connection reset by peer)
20:26:55 jakalx parts (~jakalx@base.jakalx.net) ()
20:28:13 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
20:29:03 ft_ is now known as ft
20:30:18 rockymarine joins (~rocky@user/rockymarine)
20:31:55 ec joins (~ec@gateway/tor-sasl/ec)
20:34:10 jakalx joins (~jakalx@base.jakalx.net)
20:38:15 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 258 seconds)
20:39:41 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds)
20:41:14 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
20:45:59 waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
20:46:29 × gay9 quits (~quassel@94-168-123-190.static.v4.ziggozakelijk.nl) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
20:47:22 gay9 joins (~quassel@94-168-123-190.static.v4.ziggozakelijk.nl)
20:49:29 matthewmosior joins (~matthewmo@173.170.253.91)
20:56:51 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
20:58:02 × MoC quits (~moc@user/moc) (Quit: Konversation terminated!)
20:59:03 rockymarine joins (~rocky@user/rockymarine)
21:06:05 LukeHoersten joins (~LukeHoers@user/lukehoersten)
21:08:48 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:09:37 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
21:10:57 mestre joins (~mestre@191.177.181.194)
21:11:09 × LukeHoersten quits (~LukeHoers@user/lukehoersten) (Ping timeout: 268 seconds)
21:11:41 × johnjaye quits (~pi@173.209.64.74) (Ping timeout: 268 seconds)
21:12:49 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
21:13:04 johnjaye joins (~pi@173.209.64.74)
21:16:35 jinsun__ joins (~jinsun@user/jinsun)
21:16:36 jinsun is now known as Guest9638
21:16:36 × Guest9638 quits (~jinsun@user/jinsun) (Killed (sodium.libera.chat (Nickname regained by services)))
21:16:36 jinsun__ is now known as jinsun
21:21:58 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
21:26:06 matthewmosior joins (~matthewmo@173.170.253.91)
21:30:34 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 265 seconds)
21:40:23 OpenSource is now known as QNX
21:42:03 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:43:21 LukeHoersten joins (~LukeHoers@user/lukehoersten)
21:45:33 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:47:29 ec joins (~ec@gateway/tor-sasl/ec)
21:51:44 × coot quits (~coot@213.134.176.158) (Quit: coot)
21:59:34 × LukeHoersten quits (~LukeHoers@user/lukehoersten) (Ping timeout: 265 seconds)
22:00:13 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
22:00:47 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
22:01:13 × vorpuni quits (~pvorp@2001:861:3881:c690:ce8:83c1:1cb7:4be9) (Remote host closed the connection)
22:10:11 matthewmosior joins (~matthewmo@173.170.253.91)
22:11:35 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
22:12:12 matthewmosior joins (~matthewmo@173.170.253.91)
22:14:49 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
22:21:21 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:23:09 matthewmosior joins (~matthewmo@173.170.253.91)
22:27:36 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
22:29:12 × acidjnk quits (~acidjnk@p200300d6e7137a147dd3ef2b14c15b4a.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
22:29:24 × mestre quits (~mestre@191.177.181.194) (Quit: Lost terminal)
22:30:53 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
22:31:03 × zeenk quits (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!)
22:31:54 <zzz> how do i benchmark a function that takes the contents of a file as an input using criterion?
22:32:26 × johnjaye quits (~pi@173.209.64.74) (Ping timeout: 265 seconds)
22:34:55 <zzz> nvm i got over my problem
22:35:24 <glguy> zzz: do you know about https://hackage.haskell.org/package/criterion-1.6.0.0/docs/Criterion-Main.html#v:env ?
22:35:52 johnjaye joins (~pi@173.209.64.74)
22:36:18 × Tuplanolla quits (~Tuplanoll@91-159-69-34.elisa-laajakaista.fi) (Ping timeout: 265 seconds)
22:37:47 <zzz> ah this is even nicer
22:37:48 <zzz> thanks!
22:40:55 × PiDelport quits (uid25146@id-25146.lymington.irccloud.com) (Quit: Connection closed for inactivity)
22:54:15 LukeHoersten joins (~LukeHoers@user/lukehoersten)
22:59:01 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 265 seconds)
23:00:59 matthewmosior joins (~matthewmo@173.170.253.91)
23:02:44 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
23:04:22 rockymarine joins (~rocky@user/rockymarine)
23:07:14 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 265 seconds)
23:16:46 nate1 joins (~nate@98.45.169.16)
23:20:35 × LukeHoersten quits (~LukeHoers@user/lukehoersten) (Read error: Connection timed out)
23:21:45 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds)
23:22:43 jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff)
23:22:53 LukeHoersten joins (~LukeHoers@user/lukehoersten)
23:26:10 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
23:27:12 × LukeHoersten quits (~LukeHoers@user/lukehoersten) (Ping timeout: 244 seconds)
23:30:35 LukeHoersten joins (~LukeHoers@user/lukehoersten)
23:30:55 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
23:35:57 matthewmosior joins (~matthewmo@173.170.253.91)
23:40:35 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 265 seconds)
23:40:48 EashanHatti joins (~Thunderbi@c-24-126-44-70.hsd1.wv.comcast.net)
23:41:49 mvk joins (~mvk@2607:fea8:5ce3:8500::c9e3)
23:46:12 nate1 joins (~nate@98.45.169.16)
23:53:38 × waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 265 seconds)
23:54:12 edrx joins (~Eduardo@2804:56c:d2dc:ac00:e2ec:2fa5:102b:401a)
23:55:32 waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
23:59:19 <edrx> hi all, I am the author of this - <http://angg.twu.net/emacsconf2020.html>, "On why most of the best features in eev look like 5-minute hacks" - and now that I am learning cabal I am working on

All times are in UTC on 2022-09-19.