Home liberachat/#haskell: Logs Calendar

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

00:00:20 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
00:01:32 ChaiTRex joins (~ChaiTRex@user/chaitrex)
00:04:50 × lottaquestions quits (~nick@2607:fa49:503e:7100:fd11:b240:caa3:7177) (Ping timeout: 268 seconds)
00:10:20 <EvanR> ByteString can't do it?
00:11:44 LukeHoersten joins (~LukeHoers@user/lukehoersten)
00:20:15 <moonsheep> huh?
00:20:18 <moonsheep> what do you mean?
00:20:49 <moonsheep> I use that function to convert cryptonite's ByteArrayAccess stuff into ByteStrings
00:21:03 <moonsheep> instead of some cursed unsafeio homebrew solution
00:22:07 <EvanR> oh, that is specifically for cryptonite
00:24:21 <janus> apropos cryptonite, funny how nobody seems to hit this infinite loop https://github.com/haskell-foundation/foundation/issues/569
00:27:23 <moonsheep> EvanR: yeah that was the issue I was having this morning
00:27:54 <moonsheep> janus: always used stock prelude, so no idea
00:28:47 <janus> moonsheep: what is the relation to the prelude?
00:28:57 <moonsheep> you linked foundation
00:29:01 <moonsheep> isn't that an alternative prelude?
00:29:05 <moonsheep> or am I misremembering?
00:29:49 <EvanR> actually yeah basement is like, the foundation of ... foundation
00:29:57 <janus> it's not really an alternative prelude, even though i see it does use that kinda of terminology
00:30:09 <EvanR> an alternative base?
00:30:27 <janus> doesn't really matter what we call it, the gist of it is that cryptonite uses it
00:30:35 <moonsheep> oh right
00:30:47 <moonsheep> well either way I haven't hit any infinite loop
00:32:46 ddellacosta joins (~ddellacos@143.244.47.77)
00:34:16 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
00:34:16 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
00:34:16 wroathe joins (~wroathe@user/wroathe)
00:36:33 <Axman6> janus: more worrying than the fact it exists is the fact is hasn't been fixed yet...
00:48:51 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
00:49:33 × LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:51:26 <johnw> how can I ask GHC what the HOST_ARCH flag is for my system?
00:51:41 <monochrom> I am going to troll the world and name my alternative prelude RoofGarden. :)
00:52:47 <monochrom> I think System.Info has it.
00:52:57 <johnw> ah, thank you
00:52:59 <johnw> just found that too
00:53:11 <geekosaur> or ghc --info (look for "Host platform")
00:53:32 × beteigeuze quits (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 268 seconds)
00:55:05 × mikoto-chan quits (~mikoto-ch@85-76-146-167-nat.elisa-mobile.fi) (Ping timeout: 252 seconds)
00:55:36 × moonsheep quits (~user@user/moonsheep) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.2))
01:06:13 <johnw> ah, that's what I was looking for
01:06:29 × waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 268 seconds)
01:06:53 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
01:07:43 × ellensol quits (~ellen@ua-84-216-129-63.bbcust.telenor.se) (Read error: Connection reset by peer)
01:09:37 × xff0x quits (~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 265 seconds)
01:12:24 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 264 seconds)
01:14:30 × mvk quits (~mvk@2607:fea8:5ce3:8500::778c) (Ping timeout: 268 seconds)
01:26:31 <Clinton[m]> I feel like I can simplify this but I'm not sure exactly how:
01:26:31 <Clinton[m]> ```
01:26:31 <Clinton[m]> foldl' (.) id . map f
01:26:31 <Clinton[m]> ```
01:31:01 <monochrom> foldl' (\a x -> a . f x) id
01:32:24 mikoto-chan joins (~mikoto-ch@2001:999:250:8e97:e6cf:477a:ca0:6032)
01:33:05 × gustik quits (~gustik@2a01:c844:2457:2220:475d:34f:d571:996f) (Quit: Leaving)
01:33:10 <monochrom> appEndo . foldMap (Endo . f) >:)
01:33:20 × lyle quits (~lyle@104.246.145.85) (Ping timeout: 244 seconds)
01:33:24 matsurago joins (~matsurago@p0092944-vcngn.tkyo.nt.ngn.ppp.ocn.ne.jp)
01:34:15 _leo92_ joins (~emmanuelu@2a01cb0000f3930098a404e84c4b65b7.ipv6.abo.wanadoo.fr)
01:34:20 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
01:35:56 × emmanuelux quits (~emmanuelu@2a01cb0000f3930028bb2a9bfdb59a78.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds)
01:36:38 <Clinton[m]> monochrom: I deleted because I thought I worked it out but I didn't.
01:36:39 <Clinton[m]> Basically I want to write `f :: (a -> b -> b) -> [a] -> b -> b`
01:42:56 <jackdk> :t flip . foldl' . flip
01:42:57 <lambdabot> Foldable t => (a -> c -> c) -> t a -> c -> c
01:43:58 <EvanR> :t \f -> flip . f . flip
01:43:59 <lambdabot> ((b1 -> a1 -> c1) -> a2 -> b2 -> c2) -> (a1 -> b1 -> c1) -> b2 -> a2 -> c2
01:44:04 <EvanR> handy
01:56:44 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
02:04:56 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
02:04:56 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
02:04:56 wroathe joins (~wroathe@user/wroathe)
02:12:15 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 258 seconds)
02:14:09 × td_ quits (~td@muedsl-82-207-238-028.citykom.de) (Ping timeout: 244 seconds)
02:14:58 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal)
02:15:14 × mmhat quits (~mmh@p200300f1c70623c9ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.6)
02:16:18 td_ joins (~td@muedsl-82-207-238-058.citykom.de)
02:16:41 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
02:23:58 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 244 seconds)
02:24:54 frost joins (~frost@user/frost)
02:26:30 × jargon quits (~jargon@184.101.186.15) (Remote host closed the connection)
02:28:00 jargon joins (~jargon@184.101.186.15)
02:32:21 rockymarine joins (~rocky@user/rockymarine)
02:34:06 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 258 seconds)
02:38:35 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
02:41:47 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds)
02:42:26 × ddellacosta quits (~ddellacos@143.244.47.77) (Ping timeout: 260 seconds)
02:42:37 × terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
02:43:00 × Henson quits (~kvirc@207.136.101.195) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
02:43:57 terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1)
02:46:49 rockymarine joins (~rocky@user/rockymarine)
02:47:53 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
02:48:07 nate3 joins (~nate@98.45.169.16)
02:57:52 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection)
02:59:03 <Square> I'd imagine cabal command list quite confusing for beginners. cabal build/new-build/v1-build/v2-build !!
02:59:07 L29Ah joins (~L29Ah@wikipedia/L29Ah)
03:00:21 L29Ah wishes there was a function to pin/unpin a ByteString in O(<length(s))
03:01:48 <EvanR> we should make a new build system to manage all the ways build with the build systems
03:02:46 <EvanR> pinning out of the blue seems hard because it's probably sitting in the GC region which is dynamic
03:02:57 <EvanR> unpinning though
03:04:36 <pavonia> What is pinning?
03:05:58 <sm> Square: yup
03:06:16 L29Ah rewrites his stuff to use ShortByteString for everything that lives longer than a few hundreds of syscalls
03:11:55 <jackdk> EvanR: Nix! (And I say that with great affection)
03:12:54 <janus> pavonia: "Pinning is the ability to tell the garbage collector not to move a specific object. "
03:13:23 <EvanR> heap objects are normally moved around regularly by the garbage collector, unless they are pinned. Which is handy for interfacing with e.g. C
03:13:42 <pavonia> Thanks
03:20:31 ddellacosta joins (~ddellacos@89.45.224.53)
03:26:31 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
03:41:53 × nate3 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds)
03:43:36 × vglfr quits (~vglfr@145.224.100.190) (Ping timeout: 264 seconds)
03:43:36 × Vajb quits (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) (Read error: Connection reset by peer)
03:44:52 Vajb joins (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi)
03:45:34 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
03:45:59 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
03:46:36 × sagax quits (~sagax_nb@user/sagax) (Ping timeout: 260 seconds)
03:48:42 vglfr joins (~vglfr@145.224.100.190)
03:49:56 off^ joins (~off@173-160-76-137-atlanta.hfc.comcastbusiness.net)
03:53:03 × ddellacosta quits (~ddellacos@89.45.224.53) (Ping timeout: 250 seconds)
03:57:51 P1RATEZ joins (~piratez@user/p1ratez)
04:02:06 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
04:03:27 zaquest joins (~notzaques@5.130.79.72)
04:05:36 × Vajb quits (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer)
04:05:55 sagax joins (~sagax_nb@user/sagax)
04:06:01 Vajb joins (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57)
04:09:09 segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
04:10:22 <Axman6> I'm sure there's a function for this that doesn't involve a guard or an if statement: safe n = if n >= 0 then n `mod` 256 else 256 - (n `mod` 256)
04:12:06 <dolio> abs n `mod` 256?
04:13:04 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
04:13:44 <Axman6> nah:
04:14:01 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection)
04:14:41 <Axman6> for n = -234567, the result should be 185 but that gives 71
04:15:19 <dolio> > 256 - (-234567) `mod` 256
04:15:21 <lambdabot> 71
04:17:46 <monochrom> > (-234567) `div` 256
04:17:48 <lambdabot> -917
04:18:12 <monochrom> err quot
04:18:17 <monochrom> > (-234567) `rem` 256
04:18:19 <lambdabot> -71
04:18:36 <monochrom> close enough? :)
04:18:53 <Axman6> it might be with a cast via word8...
04:20:41 <Axman6> > let let f :: Int -> Int; f n = fromIntegral @Word8 @Int (fromIntegral (n `rem` 256)) in (f 234567, f (-234567))
04:20:42 <lambdabot> <hint>:1:32: error:
04:20:42 <lambdabot> Pattern syntax in expression context: fromIntegral@Word8
04:20:42 <lambdabot> Did you mean to enable TypeApplications?
04:20:46 <Axman6> % let let f :: Int -> Int; f n = fromIntegral @Word8 @Int (fromIntegral (n `rem` 256)) in (f 234567, f (-234567))
04:20:46 <yahb2> <interactive>:144:112: error: ; parse error (possibly incorrect indentation or mismatched brackets)
04:20:54 <Axman6> % let f :: Int -> Int; f n = fromIntegral @Word8 @Int (fromIntegral (n `rem` 256)) in (f 234567, f (-234567))
04:20:54 <yahb2> <interactive>:146:43: error: ; Not in scope: type constructor or class ‘Word8’ ; Perhaps you meant ‘Word’ (imported from Prelude)
04:20:59 <Axman6> :(
04:21:02 <Axman6> anyway, that works
04:21:40 × dontdieych quits (~quassel@146.56.130.54) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
04:22:35 dontdieych joins (~quassel@146.56.130.54)
04:23:00 nate3 joins (~nate@98.45.169.16)
04:23:06 <monochrom> if n>=0 then n `mod` 256 else (-n) `rem` (-256) >:)
04:23:45 <monochrom> err nevermind
04:24:22 <monochrom> No that's actually right haha.
04:24:42 <Axman6> branchless bro
04:24:51 <Axman6> PR submitted: https://github.com/haskell-foundation/foundation/pull/570
04:28:12 × nate3 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
04:30:12 <janus> cool, thanks for working on a PR
04:38:34 ardell joins (~ardell@user/ardell)
04:39:00 fef joins (~thedawn@user/thedawn)
04:39:27 × jargon quits (~jargon@184.101.186.15) (Remote host closed the connection)
04:43:40 × fef quits (~thedawn@user/thedawn) (Ping timeout: 258 seconds)
04:45:21 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 252 seconds)
04:51:25 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
04:56:18 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 265 seconds)
04:58:36 × ardell quits (~ardell@user/ardell) (Quit: Leaving)
05:00:02 kenran joins (~user@user/kenran)
05:00:34 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
05:01:40 × matsurago quits (~matsurago@p0092944-vcngn.tkyo.nt.ngn.ppp.ocn.ne.jp) (Quit: Leaving)
05:03:15 × P1RATEZ quits (~piratez@user/p1ratez) (Remote host closed the connection)
05:06:51 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection)
05:07:03 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
05:10:49 × Ram-Z quits (~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 265 seconds)
05:11:42 gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de)
05:12:57 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
05:13:04 × segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Quit: segfaultfizzbuzz)
05:19:34 <Axman6> I had some time waiting for some benchmarking to run at work
05:30:24 chomwitt joins (~chomwitt@2a02:587:dc14:f500:9e6a:c6cb:5be3:53b3)
05:36:37 coot joins (~coot@213.134.165.79)
05:37:47 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds)
05:49:32 <hololeap> what's the relationship between Simon Peyton Jones and Michael Peyton Jones?
05:49:59 <hololeap> just curious
06:04:11 jco joins (~jco@90-228-194-139-no542.tbcn.telia.com)
06:05:37 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 244 seconds)
06:10:30 <kenran> Do you usually define -O2 in your .cabal files? Our "deployment" overrides the optimization flags anyway, so I'd guess purely for development it would be better to not use img
06:10:34 <kenran> it*
06:11:28 gmg joins (~user@user/gehmehgeh)
06:18:22 rockymarine joins (~rocky@user/rockymarine)
06:18:29 <hololeap> no, using -02 as a default is discouraged, unless you have benchmarks that show it actually increases performance above -O1
06:18:35 <hololeap> *-O2
06:20:39 michalz joins (~michalz@185.246.207.197)
06:21:37 <hololeap> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/using-optimisation.html#ghc-flag--O2
06:21:55 <kenran> hololeap: ty!
06:22:16 <hololeap> speaking of, I heard that omitting any -O? options was the same as -O1, but this makes it sound like it's actually -O0
06:23:06 titibandit joins (~titibandi@xdsl-212-8-150-57.nc.de)
06:25:15 × titibandit quits (~titibandi@xdsl-212-8-150-57.nc.de) (Remote host closed the connection)
06:27:58 titibandit joins (~titibandi@xdsl-212-8-150-57.nc.de)
06:34:06 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
06:35:28 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection)
06:39:56 nate3 joins (~nate@98.45.169.16)
06:44:48 × nate3 quits (~nate@98.45.169.16) (Ping timeout: 264 seconds)
06:46:58 mncheck joins (~mncheck@193.224.205.254)
06:48:03 × mikoto-chan quits (~mikoto-ch@2001:999:250:8e97:e6cf:477a:ca0:6032) (Ping timeout: 248 seconds)
06:48:50 jakalx parts (~jakalx@base.jakalx.net) ()
06:51:37 jonathanx joins (~jonathan@h-98-128-168-222.NA.cust.bahnhof.se)
06:59:58 zeenk joins (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f)
07:01:00 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 265 seconds)
07:02:05 rockymarine joins (~rocky@user/rockymarine)
07:06:19 ellensol joins (~ellen@178-78-210-152.customers.ownit.se)
07:09:42 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 265 seconds)
07:10:33 × ellensol quits (~ellen@178-78-210-152.customers.ownit.se) (Ping timeout: 252 seconds)
07:11:21 lortabac joins (~lortabac@2a01:e0a:541:b8f0:8192:f682:3bfc:a7a0)
07:12:17 acidjnk_new joins (~acidjnk@p200300d6e7137a441827c7a2ee98ef4a.dip0.t-ipconnect.de)
07:12:21 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
07:16:43 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 250 seconds)
07:24:17 rockymarine joins (~rocky@user/rockymarine)
07:28:55 × m5zs7k quits (aquares@web10.mydevil.net) (Ping timeout: 268 seconds)
07:33:23 m5zs7k joins (aquares@web10.mydevil.net)
07:35:07 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds)
07:36:47 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
07:39:44 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:47:52 rockymarine joins (~rocky@user/rockymarine)
07:49:43 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
07:51:02 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 244 seconds)
07:52:17 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
07:54:24 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 264 seconds)
07:55:00 fserucas joins (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7)
07:55:47 akegalj joins (~akegalj@93-139-191-226.adsl.net.t-com.hr)
07:58:24 MajorBiscuit joins (~MajorBisc@c-001-013-022.client.tudelft.eduvpn.nl)
08:08:52 waldo joins (~waldo@user/waldo)
08:10:35 × shriekingnoise quits (~shrieking@186.137.167.202) (Quit: Quit)
08:17:57 jakalx joins (~jakalx@base.jakalx.net)
08:19:18 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 265 seconds)
08:21:32 __monty__ joins (~toonn@user/toonn)
08:26:51 <phma> dminuoso: Constant-time ladder rungs are made by computing two numbers (EC points or RSA numbers) and discarding one. Laziness results in the unneeded number not being computed.
08:27:49 probie joins (cc0b34050a@user/probie)
08:30:38 × piele_ quits (~piele@tbonesteak.creativeserver.net) (Quit: Ciao!)
08:31:01 piele joins (~piele@tbonesteak.creativeserver.net)
08:31:18 rockymarine joins (~rocky@user/rockymarine)
08:33:02 nschoe joins (~quassel@178.251.84.79)
08:35:31 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
08:36:01 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 250 seconds)
08:37:24 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
08:38:57 <dminuoso> phma: Like I said, lazyness can be gotten rid of.
08:39:17 <dminuoso> You can make things strict by using BangPatterns or seq/pseq
08:39:58 cfricke joins (~cfricke@user/cfricke)
08:40:06 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 244 seconds)
08:40:21 <DigitalKiwi> hololeap: father son i think
08:40:53 <Franciman> dminuoso: that's not enough
08:41:09 <Franciman> even if you use bang patterns, there is still laziness going on
08:41:39 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
08:41:54 <dminuoso> Franciman: Given the specific situation mentioned, its fine though.
08:42:19 × ft quits (~ft@p3e9bc57b.dip0.t-ipconnect.de) (Quit: leaving)
08:42:21 <Franciman> furthermore, completely removing laziness can be undesirable sometimes
08:42:52 <Franciman> because you would make the runtime an hard time to figure how to optimise your code
08:42:54 <Franciman> for speed
08:43:29 <dminuoso> Franciman: Yes, but given the topic discussed thats absolutely desirable.
08:43:58 <Franciman> no i was commenting on my comment
08:44:00 <Franciman> sorry
08:44:02 <Franciman> don't worry
08:44:03 <dminuoso> Without some peer reviewed research, which sadly does not exist currently, you should not write cryptographic code in Haskell - especially more so with optimization enabled.
08:44:14 <dminuoso> But I dont want to rant about cryptonite today.
08:45:51 × _leo92_ quits (~emmanuelu@2a01cb0000f3930098a404e84c4b65b7.ipv6.abo.wanadoo.fr) (Quit: au revoir)
08:46:09 emmanuelux joins (~emmanuelu@2a01cb0000f3930098a404e84c4b65b7.ipv6.abo.wanadoo.fr)
08:46:46 <probie> If you do crypto entirely over unboxed types, how is it much different to other programming languages?
08:47:23 <dminuoso> probie: The simplifier can do extremely far reaching optimizations in Haskell.
08:48:11 rockymarine joins (~rocky@user/rockymarine)
08:48:21 <dminuoso> Can can easily affect execution time and caching behavior.
08:49:15 {-d0t-} joins (~q_q@user/-d0t-/x-7915216)
08:49:36 <{-d0t-}> ohai! Is it possible to make stack checkout repos from extra-deps into a particular path, rather than /tmp?
08:50:01 <dr_merijn> probie: It isn't, because security kinda demands something along those lines
08:50:16 × emmanuelux quits (~emmanuelu@2a01cb0000f3930098a404e84c4b65b7.ipv6.abo.wanadoo.fr) (Changing host)
08:50:16 emmanuelux joins (~emmanuelu@user/emmanuelux)
08:50:26 <dr_merijn> I suppose linear haskell might allow a higher level approach to be secure, but then that's fairly niche
08:50:46 <probie> dminuoso: Isn't that also true for any language with an aggressive optimiser?
08:51:16 <dr_merijn> probie: Yes, consider C which (up until basically this year) had no spec compliant way to guarantee data was zeroed out
08:51:22 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir)
08:52:15 <dminuoso> probie: Yup. That's why in robust cryptographic implementations the optimizations are very carefully chosen, and machine output analysed to ensure constant time guarantees remain.
08:52:26 emmanuelux joins (~emmanuelu@user/emmanuelux)
08:52:54 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Remote host closed the connection)
08:53:13 <probie> dminuoso: cool - I think we're on the same page. I thought you were saying Haskell in particular is bad, not that it belongs to a class of languages which are bad
08:53:16 <dminuoso> At least -O0 might not even be enough, as GHC will apply a variety of optimizations too
08:53:18 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds)
08:53:41 <dminuoso> probie: Im just saying its terrible for cryptography simply because no peer-reviewed research or into viability for robust cryptographic implementations exist.
08:53:45 <dr_merijn> dminuoso: Although, I don't entirely agree with "don't write cryptographic code in Haskell", more like: "Don't write *security sensitive* cryptographic code in Haskell" :p
08:53:52 <dminuoso> Sure.
08:54:00 chele joins (~chele@user/chele)
08:54:15 <dr_merijn> I'm fairly sure cryptonite's hashes are perfectly fine
08:54:44 <dminuoso> dr_merijn: Again, that depends. If you use them for password validation they probably are not.
08:54:53 <dminuoso> Wouldn't trust anything but libsodium for that.
08:55:43 <__monty__> probie: It is particularly unsuited probably. AFAIK there has been no serious analysis of all the side-channels the run-time causes.
08:56:48 <dminuoso> Which is another thing, I would rather trust Berinstein, Lange and Schwage to do this. Vincent just does not seem to have any publications in cryptography at all.
08:57:12 ellensol joins (~ellen@178-78-210-152.customers.ownit.se)
09:02:10 <probie> I've always thought that cryptographic code would best be written in purpose-built languages which have appropriate primitives (e.g. constant time eq, if which executes both branches etc.)
09:02:48 <dminuoso> And ideally executed on special purpose hardware. :>
09:02:53 <__monty__> Vive la cryptol!
09:02:58 <dr_merijn> probie: Like Ivory ;)
09:03:05 <dr_merijn> (it was ivory, I think?)
09:03:25 <dr_merijn> Which is a DSL implemented in haskell for generating C code for cryptographic stuff
09:03:42 <dminuoso> Modern super scalar CPUs are horrible, given that different instructions have different latencies, you have multiple execution units, stalling the pipeline can leak information about the internal pipeline stages
09:03:47 <dminuoso> And the worst is: every CPU is different.
09:04:24 <dminuoso> There's not a lot of research into the various side-channels of cryptographic code running on modern super scalar machines as far as I know
09:04:35 <dminuoso> (Or constant power consumption!)
09:05:37 <dminuoso> And its nearly impossible to do well, since much of these microarchitecture details are secret. There's no documentation about what microops exist, how they perform, which instruction is compiled into which microop...
09:11:27 Ram-Z joins (Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df)
09:11:55 luffy joins (~chenqisu1@183.217.201.220)
09:12:14 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
09:13:51 × luffy quits (~chenqisu1@183.217.201.220) (Max SendQ exceeded)
09:14:12 madjestic joins (~madjestic@213.208.229.226)
09:14:13 × inversed quits (~inversed@90.209.137.56) (Ping timeout: 246 seconds)
09:14:15 ubert joins (~Thunderbi@178.165.181.139.wireless.dyn.drei.com)
09:14:49 luffy joins (~chenqisu1@183.217.201.220)
09:15:31 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
09:15:59 × luffy quits (~chenqisu1@183.217.201.220) (Remote host closed the connection)
09:16:32 rockymarine joins (~rocky@user/rockymarine)
09:16:48 luffy joins (~chenqisu1@183.217.201.220)
09:16:52 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds)
09:17:29 × luffy quits (~chenqisu1@183.217.201.220) (Remote host closed the connection)
09:17:57 luffy joins (~chenqisu1@183.217.201.220)
09:19:07 × waldo quits (~waldo@user/waldo) (Ping timeout: 246 seconds)
09:19:30 × luffy quits (~chenqisu1@183.217.201.220) (Remote host closed the connection)
09:20:15 luffy joins (~chenqisu1@183.217.201.220)
09:20:52 waldo joins (~waldo@user/waldo)
09:21:01 × luffy quits (~chenqisu1@183.217.201.220) (Remote host closed the connection)
09:21:40 luffy joins (~chenqisu1@183.217.201.220)
09:21:48 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds)
09:22:29 × luffy quits (~chenqisu1@183.217.201.220) (Remote host closed the connection)
09:22:33 inversed joins (~inversed@90.209.137.56)
09:22:58 luffy joins (~chenqisu1@183.217.201.220)
09:24:16 mniip joins (mniip@libera/staff/mniip)
09:27:11 <lortabac> I have -Werror in the cabal config, how do I disable it on the command line? (I always forget this)
09:32:37 nate3 joins (~nate@98.45.169.16)
09:33:20 rockymarine joins (~rocky@user/rockymarine)
09:35:27 zxx7529 joins (~Thunderbi@user/zxx7529)
09:36:22 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
09:37:33 × nate3 quits (~nate@98.45.169.16) (Ping timeout: 250 seconds)
09:38:14 jakalx joins (~jakalx@base.jakalx.net)
09:39:32 × {-d0t-} quits (~q_q@user/-d0t-/x-7915216) (Ping timeout: 265 seconds)
09:46:05 beteigeuze joins (~Thunderbi@bl14-81-220.dsl.telepac.pt)
09:51:40 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
09:52:36 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds)
09:52:42 <lortabac> it worked with -Wwarn
10:00:39 <kenran> I'm having a strange problem with code that works fine in seemingly all cases on Linux, while it fails on macOS. It looks like writing into a named pipe (fifo) - it doesn't seem to happen for normal pipes - blocks indefinitely, depending on the size of data. I'll spend the next time trying to minimize the problem, as our setup is way too complicated to reason about, but maybe one of you has stumbled over something similar?
10:01:13 <dr_merijn> kenran: Writing into pipes blocks when there's no reader, yes
10:01:23 <kenran> So far I know that the default maximum capacity of pipes is smaller on macOS than it is on Linux, but then again, if I just send more data on Linux I never get it to fail.
10:01:32 <dr_merijn> kenran: Might be difference in kernel buffer size between linux and macOS?
10:02:09 <kenran> There always is a reader (that is, I am the reader and I _think_ [logs tell me] that the reader is ready and trying to read).
10:02:36 thyriaen joins (~thyriaen@2a02:8109:8340:686c:7383:e0e2:ad95:9fce)
10:02:52 thyriaen_ joins (~thyriaen@2a02:8109:8340:686c:7383:e0e2:ad95:9fce)
10:02:53 <dr_merijn> kenran: I would test with your code on one side and a dirty shell script or something on the other to see if anything actually goes through
10:03:06 <dr_merijn> (i.e. your code writing, some quick script reading and vice versa)
10:03:20 <kenran> There's more to my problem which I will try to minimize away, like we're using the serialise library and its hPutSerialise to write, while similarly reading on the other side, and I really get confused with where laziness comes in there.
10:04:16 mrmr9 joins (~mrmr@user/mrmr)
10:04:45 <kenran> dr_merijn: yeah good advice, thanks! I'll need quite some time to get there, as the named pipe is used for communication between two processes, and the one that's started is not easily startable without its parent giving it data in a very specific manner. I mean, it's really hard to even attach a shell script/C reader.
10:04:58 DavidBinder joins (~DavidBind@134.2.10.18)
10:05:11 × madjestic quits (~madjestic@213.208.229.226) (Ping timeout: 260 seconds)
10:05:40 × mrmr quits (~mrmr@user/mrmr) (Ping timeout: 268 seconds)
10:05:40 mrmr9 is now known as mrmr
10:06:30 <kenran> I've thought about trying to confirm the capacity thing first by trying to increase it and see if it still fails. Then I'd at least know that I'll always have to work around that and send the data "some other way".
10:06:48 <fendor[m]> anyone opinions on sensible warnings for beginners? -Wall is from time to time too much
10:07:20 <kenran> fendor[m]: got an example of what might be too much? Missing top-level type signatures or such?
10:07:44 <fendor[m]> Missing top-level signatures is the one I desperately want since they have to add the signatures 😄
10:08:15 <edm> (beginner question) - on the implementation of length with foldr in graham hutton's course, it's presented as: length xs = foldr (\_ n -> n+1) 0 xs
10:08:31 <kenran> :D yeah that's great when teaching I suppose
10:09:26 <edm> i sort of accept how it works but i'm not really sure how n is initialised nor more broadly how the lambda function can accept two arguements when it's only being presented with each element of the list each time
10:09:46 mrmr2 joins (~mrmr@user/mrmr)
10:10:07 <fendor[m]> I am not entirely sure whether -Wall is really too much, and I don't have an example from the top of my head what warning might be bad/misleading/too much
10:11:12 × mrmr quits (~mrmr@user/mrmr) (Ping timeout: 264 seconds)
10:11:12 mrmr2 is now known as mrmr
10:11:29 <talismanick> Which library best models transactional IO operations rolled back and retried until they succeed? Presumably one of the effect libraries.
10:11:37 × [exa] quits (exa@user/exa/x-3587197) (Ping timeout: 260 seconds)
10:12:51 <talismanick> With similarity to logic programming idioms, treating the file system as a successively more-instantiated monotoniclogic variable
10:13:10 <talismanick> (well, that'd be convenient, but that's an interface detail)
10:13:22 <dr_merijn> fendor[m]: the only one I personally dislike is -Wwarn-unused-do-bind, so I turn that off, the rest of Wall seems fine
10:14:10 <kenran> fendor[m]: I've used -Wall plus -Werror=incomplete-patterns and -Werror=missing-fields in a project with multiple people who had never done Haskell before. I mean it's not real evidence for anything but I can't remember them ever having been confused by one of the warnings (as opposed to some of the genuine error messages :))
10:14:22 <edm> forget the above, I now see
10:14:25 <talismanick> e.g. say I wanted to recurse up the current directory's parents and try editing their contents until a satisfactory state is reached
10:14:45 <dminuoso> talismanick: STM?
10:15:14 <fendor[m]> thanks, these are great points. I wasn't sure whether I should use -Werror, since while it might be good coding practice, while learning it might forbid code that is valid
10:15:17 <dminuoso> Ah hold on, I was scrolled up and didnt see anything past your first message
10:15:36 <dminuoso> fendor[m]: -Wcompat should be a default too.
10:16:13 <dminuoso> I recall a proposal to do that even
10:16:15 <talismanick> dminuoso: STM is great, until it gets muddled with IO business :)
10:16:28 <dminuoso> talismanick: well you can do unsafely perform in STM.
10:16:33 <dminuoso> *unsafely perform IO
10:16:39 <__monty__> kenran: Maybe you can wedge something like tee(1) in between two named pipes?
10:16:49 <dminuoso> talismanick: Actually the more I think about it, it *could* be an option for you
10:17:21 <dminuoso> The biggest problem is that in STM you might have transient *incorrect* transactions
10:17:23 <__monty__> edm: You probably realized but it's just partial application. Building up a function that takes a single argument.
10:17:56 <talismanick> "there's got to be a better way!"
10:18:04 <edm> __monty__: i think in my case i thought n had to be initialised as 0 first then incremented up until it found a []
10:18:14 <dminuoso> fendor[m]: and -Wcompat is not even in -Wall, though I feel it should be.
10:18:15 <talismanick> Introducing: new, Kitchen Gun!
10:18:29 <edm> __monty__: but of course it's more that it's 1+1+... until it's terminated with 0. i just wasn't visualising it correctly
10:18:53 <talismanick> https://www.youtube.com/watch?v=6-7NDP8V-6A
10:18:53 <edm> and so yes, n does indeed represent the tail of the list
10:19:47 × ubert quits (~Thunderbi@178.165.181.139.wireless.dyn.drei.com) (Remote host closed the connection)
10:20:31 <talismanick> (I don't really know what algebraic effects are, and at this point I'm afraid to ask)
10:20:57 <kenran> __monty__: I'll have to read more about how to do that, interesting idea! Maybe that is really applicable in my case.
10:21:21 <talismanick> well, they seemed somewhat similar operationally to CL's stack unwinding, the last I read a little
10:21:23 <fendor[m]> -Wcompat feels like overkill a bit to me... We are using recent enough GHC versions anyway, except for the class Eq proposal (removing (/=)), I don't think we should run into any big issues for the students
10:23:02 × akegalj quits (~akegalj@93-139-191-226.adsl.net.t-com.hr) (Quit: leaving)
10:24:26 <dminuoso> fendor[m]: Ah fair. I consider Wcompat to be helpful in general software, since it lets you know when primitives that you are using are deprecated.
10:24:53 <dminuoso> Lets you migrate to upstream changes more easily, rather than deciphering compilation errors *when* things get removed or changed.
10:25:02 <kenran> dminuoso: I didn't even know about -Wcompat, I'll definitely add this at work, thanks
10:25:05 <dminuoso> But probably not so useful in a student setting
10:25:24 × waldo quits (~waldo@user/waldo) (Ping timeout: 268 seconds)
10:26:29 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 268 seconds)
10:29:20 <DigitalKiwi> -j -threaded -Wall -Wcompat -W -Wtabs -rtsopts
10:29:20 <DigitalKiwi> ---j -threaded -Werror -Wall -Wcompat -W -Wtabs -rtsopts
10:30:05 <DigitalKiwi> ghc-options: -j -threaded -Wall -Wcompat -W -Wtabs -rtsopts -fno-max-valid-hole-fits -fno-max-relevant-binds -fwarn-unused-imports -fwarn-unused-binds -ddump-minimal-imports -fmax-pmcheck-models=5000000
10:30:28 <dr_merijn> DigitalKiwi: unused imports and binds are default, I'm pretty sure?
10:30:29 <DigitalKiwi> i don't always use -Werror but I always eventually use -Werror
10:31:48 <DigitalKiwi> well i wouldn't want them to go and change the default without me knowing now would i
10:34:25 <edm> __monty__: thank you for the foldr nudge, that made me go and explicitly right out the application step by step and forced me to look at the foldr implementation, which cleared up a slight confusion about how it terminates. _now_ i think i get it, though i reserve the right to be wrong
10:36:55 takuan joins (~takuan@178-116-218-225.access.telenet.be)
10:37:50 × vglfr quits (~vglfr@145.224.100.190) (Remote host closed the connection)
10:38:12 vglfr joins (~vglfr@145.224.100.190)
10:38:21 × vglfr quits (~vglfr@145.224.100.190) (Remote host closed the connection)
10:39:05 vglfr joins (~vglfr@145.224.100.190)
10:39:16 waldo joins (~waldo@user/waldo)
10:39:24 × vglfr quits (~vglfr@145.224.100.190) (Remote host closed the connection)
10:41:58 vglfr joins (~vglfr@145.224.100.190)
10:44:36 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
10:44:55 <__monty__> > foldr f z [a,b,c]
10:44:57 <lambdabot> f a (f b (f c z))
10:45:02 <__monty__> ; )
10:45:19 <__monty__> > foldl f z [a,b,c] -- Just in case.
10:45:20 <lambdabot> f (f (f z a) b) c
10:49:03 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 250 seconds)
10:49:18 × gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
10:52:34 × mniip quits (mniip@libera/staff/mniip) (Ping timeout: 615 seconds)
10:56:22 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
10:58:15 × vglfr quits (~vglfr@145.224.100.190) (Remote host closed the connection)
10:59:26 lottaquestions joins (~nick@2607:fa49:503e:7100:79b4:8afd:9b25:f433)
10:59:52 vglfr joins (~vglfr@145.224.100.190)
11:00:35 madjestic joins (~madjestic@213.208.229.226)
11:08:32 xff0x joins (~xff0x@2405:6580:b080:900:2f8c:7144:6283:fa6)
11:10:57 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
11:12:27 × zxx7529 quits (~Thunderbi@user/zxx7529) (Ping timeout: 250 seconds)
11:12:46 king_gs joins (~Thunderbi@2806:103e:29:5a6:d0be:f9c4:80c9:e8c5)
11:12:58 × king_gs quits (~Thunderbi@2806:103e:29:5a6:d0be:f9c4:80c9:e8c5) (Client Quit)
11:13:33 <edm> __monty__: oh cool, thanks
11:14:07 fef joins (~thedawn@user/thedawn)
11:19:00 × talismanick quits (~talismani@2601:200:c100:c9e0::24ac) (Ping timeout: 264 seconds)
11:33:36 nate3 joins (~nate@98.45.169.16)
11:35:07 kuribas joins (~user@silversquare.silversquare.eu)
11:37:57 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 268 seconds)
11:38:26 × nate3 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds)
11:40:58 zxx7529 joins (~Thunderbi@user/zxx7529)
11:41:39 lyle joins (~lyle@104.246.145.85)
11:47:04 × frost quits (~frost@user/frost) (Ping timeout: 252 seconds)
11:48:44 × zxx7529 quits (~Thunderbi@user/zxx7529) (Quit: zxx7529)
11:48:48 × lyle quits (~lyle@104.246.145.85) (Quit: WeeChat 3.6)
11:50:16 rockymarine joins (~rocky@user/rockymarine)
11:50:38 lyle joins (~lyle@104.246.145.85)
11:55:05 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds)
11:57:40 × luffy quits (~chenqisu1@183.217.201.220) (Ping timeout: 246 seconds)
12:05:55 × Kaiepi quits (~Kaiepi@142.68.249.28) (Ping timeout: 248 seconds)
12:06:50 rockymarine joins (~rocky@user/rockymarine)
12:12:47 notzmv joins (~zmv@user/notzmv)
12:14:31 × waldo quits (~waldo@user/waldo) (Ping timeout: 252 seconds)
12:16:34 × xff0x quits (~xff0x@2405:6580:b080:900:2f8c:7144:6283:fa6) (Ping timeout: 246 seconds)
12:19:55 × thyriaen quits (~thyriaen@2a02:8109:8340:686c:7383:e0e2:ad95:9fce) (Quit: Leaving)
12:25:09 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:32:54 × off^ quits (~off@173-160-76-137-atlanta.hfc.comcastbusiness.net) (Remote host closed the connection)
12:33:42 Kaiepi joins (~Kaiepi@142.68.249.28)
12:37:16 infinity0_ joins (~infinity0@185.112.146.113)
12:37:21 infinity0 is now known as Guest5988
12:37:21 × Guest5988 quits (~infinity0@185.112.146.113) (Killed (tungsten.libera.chat (Nickname regained by services)))
12:37:22 infinity0_ is now known as infinity0
12:39:46 × jco quits (~jco@90-228-194-139-no542.tbcn.telia.com) (Quit: leaving)
12:40:02 gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de)
12:40:03 xff0x joins (~xff0x@2405:6580:b080:900:2f8c:7144:6283:fa6)
12:40:59 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
12:43:52 × madjestic quits (~madjestic@213.208.229.226) (Ping timeout: 246 seconds)
12:45:11 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
12:46:05 jakalx parts (~jakalx@base.jakalx.net) ()
12:46:07 × mestre quits (~mestre@191.177.181.194) (Quit: Lost terminal)
12:47:03 <jonathanx> is there any tool for moving stuff between modules? data-definitions, newtypes, functions etc. I'd like to automate the process of adding/removing language extensions & required imports, as well as updating all references
12:47:27 <jonathanx> Right now when I move sth I need to go through all callsites and update the import statements, which makes refactoring a hassle
12:48:02 <jonathanx> I'm on ghc 9.0.2 if that helps
12:48:02 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 265 seconds)
12:50:57 zebrag joins (~chris@user/zebrag)
12:54:51 <geekosaur> I don't think so. HLS hasn't gotten there yet (it still doesn't even adjust imports for suggested typ signatures, much less that). yi was working on that kind of thing but was abandoned
12:55:39 <geekosaur> *type
12:57:07 [exa] joins (exa@user/exa/x-3587197)
12:57:42 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
12:58:00 × Kaiepi quits (~Kaiepi@142.68.249.28) (Ping timeout: 264 seconds)
13:00:22 rockymarine joins (~rocky@user/rockymarine)
13:01:02 <DigitalKiwi> https://mostlyabsurd.com/posts/2019/06/03/minimal-imports-maximal-imports/
13:01:24 <DigitalKiwi> https://www.haskellforall.com/2018/10/detailed-walkthrough-for-beginner.html
13:05:03 jakalx joins (~jakalx@base.jakalx.net)
13:08:32 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
13:09:22 × coot quits (~coot@213.134.165.79) (Quit: coot)
13:10:27 dsrt^ joins (~dsrt@173-160-76-137-atlanta.hfc.comcastbusiness.net)
13:13:21 yvan-sraka joins (~yvan-srak@2a02:a03f:699d:4700:c5fb:5d64:4081:4f77)
13:16:46 slac65237 joins (~slack1256@191.125.99.77)
13:18:58 × slack1256 quits (~slack1256@186.11.98.123) (Ping timeout: 265 seconds)
13:20:12 coot joins (~coot@213.134.165.79)
13:21:31 <DigitalKiwi> lol so i did a thing https://www.redbubble.com/shop/ap/126166515?ref=studio-promote
13:23:03 <DigitalKiwi> i for one thing my tagging is hilarious https://mostlyabsurd.com/files/2022-09-29-082240_2350x713_scrot.png
13:23:30 o-90 joins (~o-90@gateway/tor-sasl/o-90)
13:24:19 <DigitalKiwi> https://www.redbubble.com/shop/ap/126086308 is also tagged pink lol
13:24:49 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 246 seconds)
13:26:10 waldo joins (~waldo@user/waldo)
13:26:25 × o-90 quits (~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection)
13:36:10 <DigitalKiwi> https://www.redbubble.com/shop/ap/126167868?ref=studio-promote ehehe
13:36:35 <DigitalKiwi> where's noan when you need them lol :(
13:37:09 wroathe joins (~wroathe@user/wroathe)
13:39:57 rockymarine joins (~rocky@user/rockymarine)
13:40:13 waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
13:44:43 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 252 seconds)
13:46:13 rockymarine joins (~rocky@user/rockymarine)
13:46:33 Kaiepi joins (~Kaiepi@142.68.249.28)
13:50:56 infinity0_ joins (~infinity0@185.112.146.113)
13:51:01 infinity0 is now known as Guest9697
13:51:01 × Guest9697 quits (~infinity0@185.112.146.113) (Killed (copper.libera.chat (Nickname regained by services)))
13:51:02 infinity0_ is now known as infinity0
13:53:34 × yvan-sraka quits (~yvan-srak@2a02:a03f:699d:4700:c5fb:5d64:4081:4f77) (Ping timeout: 252 seconds)
13:54:26 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection)
13:55:10 yvan-sraka joins (~yvan-srak@37.171.4.168)
13:57:33 × waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 252 seconds)
13:57:56 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds)
14:05:51 razetime joins (~quassel@117.254.35.180)
14:06:49 × kuribas quits (~user@silversquare.silversquare.eu) (Ping timeout: 265 seconds)
14:07:00 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
14:09:15 kuribas joins (~user@silversquare.silversquare.eu)
14:09:54 shriekingnoise joins (~shrieking@186.137.167.202)
14:10:22 × yvan-sraka quits (~yvan-srak@37.171.4.168) (Remote host closed the connection)
14:15:16 × gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
14:16:58 × thyriaen_ quits (~thyriaen@2a02:8109:8340:686c:7383:e0e2:ad95:9fce) (Quit: Leaving)
14:18:52 yvan-sraka joins (~yvan-srak@37.171.4.168)
14:24:58 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
14:25:25 Sgeo joins (~Sgeo@user/sgeo)
14:34:05 <kenran> Using `openFile path WriteMode` throws "file does not exist" for a named pipe created with System.Posix.Files.createNamedPipe path. Using ReadWriteMode works though. I don't really see where that's coming from, looking at the documentation. Any pointers?
14:37:38 <geekosaur> named pipes are odd. you can't open for write unless something else has it open for read; see the system docs for named pipes
14:38:20 <kenran> Ah, then it's because the "reader" opens it a little bit later. Thanks, exactly what I was looking for geekosaur!
14:38:24 <geekosaur> it ends up that the first opener should use ReadWriteMode and you send complete messages over it rather than relying on close
14:38:42 <geekosaur> because once closed you have to close and reopen
14:39:02 <geekosaur> named pipes are *really* annoying, they're not at all what you might hope for
14:39:32 <geekosaur> I'm tempted to say that in most cases where you think you want a named pipe, you really want an AF_UNIX socket
14:39:48 <kenran> I've tried debugging the problem I had earlier and we've gotten it down to some code <100 lines that _sometimes_ works on macOS, sometimes doesn't work (blocks indefinitely), and always works on Linux.
14:40:05 × dr_merijn quits (~dr_merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds)
14:40:47 <kenran> and yeah, it's *really* annoying. it was good to refresh what little knowledge I had of lower-level things, lazy bytestring IO and such.
14:40:57 <kenran> though*
14:41:32 waleee joins (~waleee@192.165.44.49)
14:42:48 <kenran> geekosaur: yeah, I was tempted to try using domain sockets for this. But I think I could also break this whole problem down into bits and pieces and make do with just stdin, stdout, stderr communication with my child process (and get rid of the named pipe altogether).
14:49:10 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
14:51:36 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds)
14:55:38 kimjetwav joins (~user@2607:fea8:235e:b600:fded:756d:e09c:6c2d)
14:55:44 Tuplanolla joins (~Tuplanoll@91-159-69-34.elisa-laajakaista.fi)
14:57:11 × yvan-sraka quits (~yvan-srak@37.171.4.168) (Remote host closed the connection)
14:57:32 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
14:58:36 rockymarine joins (~rocky@user/rockymarine)
14:59:48 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection)
15:02:24 × waleee quits (~waleee@192.165.44.49) (Ping timeout: 265 seconds)
15:03:25 tmiller joins (~tmiller@199.241.26.152)
15:06:44 dr_merijn joins (~dr_merijn@86-86-29-250.fixed.kpn.net)
15:15:17 × shapr quits (~user@68.54.166.125) (Ping timeout: 252 seconds)
15:20:01 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 244 seconds)
15:20:54 × titibandit quits (~titibandi@xdsl-212-8-150-57.nc.de) (Remote host closed the connection)
15:23:49 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
15:26:29 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
15:29:45 Everything joins (~Everythin@37.115.210.35)
15:30:14 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:8192:f682:3bfc:a7a0) (Quit: WeeChat 2.8)
15:30:46 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
15:31:03 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
15:33:12 × waldo quits (~waldo@user/waldo) (Quit: quit)
15:34:56 nate3 joins (~nate@98.45.169.16)
15:38:10 × jonathanx quits (~jonathan@h-98-128-168-222.NA.cust.bahnhof.se) (Ping timeout: 265 seconds)
15:39:49 × nate3 quits (~nate@98.45.169.16) (Ping timeout: 250 seconds)
15:42:02 × nschoe quits (~quassel@178.251.84.79) (Ping timeout: 265 seconds)
15:43:22 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Remote host closed the connection)
15:50:38 jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
15:58:53 moonsheep joins (~user@user/moonsheep)
15:59:31 × cyphase quits (~cyphase@user/cyphase) (Ping timeout: 268 seconds)
16:03:17 cyphase joins (~cyphase@user/cyphase)
16:03:52 titibandit joins (~titibandi@xdsl-212-8-150-57.nc.de)
16:13:08 × rburkholder quits (~blurb@96.45.2.121) (Remote host closed the connection)
16:15:21 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
16:17:08 × kuribas quits (~user@silversquare.silversquare.eu) (Remote host closed the connection)
16:19:47 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 248 seconds)
16:20:50 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
16:21:26 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
16:28:30 EnchanterTim is now known as Linux
16:29:11 × dsrt^ quits (~dsrt@173-160-76-137-atlanta.hfc.comcastbusiness.net) (Remote host closed the connection)
16:29:53 × moonsheep quits (~user@user/moonsheep) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1))
16:31:21 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:33:57 × acidjnk_new quits (~acidjnk@p200300d6e7137a441827c7a2ee98ef4a.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
16:35:43 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
16:37:47 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
16:38:40 jmdaemon joins (~jmdaemon@user/jmdaemon)
16:47:24 econo joins (uid147250@user/econo)
17:00:00 waldo joins (~waldo@user/waldo)
17:02:07 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
17:02:07 rockymarine joins (~rocky@user/rockymarine)
17:06:16 × chele quits (~chele@user/chele) (Remote host closed the connection)
17:08:41 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 260 seconds)
17:11:36 × slac65237 quits (~slack1256@191.125.99.77) (Read error: Connection reset by peer)
17:12:33 slack1256 joins (~slack1256@186.11.53.123)
17:12:40 Midjak joins (~Midjak@82.66.147.146)
17:14:49 × razetime quits (~quassel@117.254.35.180) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
17:18:25 fmgornick joins (~fmgornick@2607:ea00:107:3407:20f6:c57b:5fbd:b156)
17:18:29 × kjak quits (~kjak@pool-108-31-114-135.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
17:18:31 <fmgornick> ?src zipWith
17:18:31 <lambdabot> zipWith f (a:as) (b:bs) = f a b : zipWith f as bs
17:18:31 <lambdabot> zipWith _ _ _ = []
17:19:07 <ski> fmgornick : btw, you can private message lambdabot too, you know
17:19:12 sympt joins (~sympt@user/sympt)
17:19:40 × beteigeuze quits (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 265 seconds)
17:19:45 × fmgornick quits (~fmgornick@2607:ea00:107:3407:20f6:c57b:5fbd:b156) (Client Quit)
17:20:19 kjak joins (~kjak@pool-108-31-114-135.washdc.fios.verizon.net)
17:21:42 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
17:22:47 acidjnk_new joins (~acidjnk@p200300d6e7137a84f9679ba27a252492.dip0.t-ipconnect.de)
17:23:14 <EvanR> quit stealing our codez!
17:24:48 <ski> @keal
17:24:49 <lambdabot> Keal was so happy with T, coded in basic so run on anything, and does lot
17:25:32 <monochrom> the usual quip about duplicating data does not cause anyone losing the data therefore doesn't count as stealing, and the connection with linear logics and types!
17:28:23 <geekosaur> could also just download the database (https://github.com/lambdabot/lambdabot/blob/master/lambdabot/State/source)
17:28:33 <geekosaur> or look at the haskell libraries report
17:29:34 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 258 seconds)
17:30:04 <ski> (presumably it's someone working through basics, has noticed lambdabot has a `src' command, but don't know / think of using it in PM)
17:30:23 <ski> (i've seen them do the same thing, three times, now)
17:30:34 <geekosaur> more than three
17:30:42 <geekosaur> been doing it for several weeks
17:31:08 <ski> i see
17:31:34 waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
17:32:00 <geekosaur> oh, they left already
17:32:19 <ski> they did, soon after, the other times i saw, too
17:32:22 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:f03d:9d14:c4b1:e7e0)
17:32:27 <geekosaur> yep
17:32:46 <geekosaur> was hoping they'd stick around a bit since they'd been addressed
17:33:03 <ski> maybe i wasn't fast enough for them to notice ..
17:33:42 <monochrom> Eventually they will automate it with a script. join-msg-quit no gap. Then you will never be fast enough.
17:34:34 <ski> i fear you may be assuming too much ability (or desire) to automate such things
17:34:42 <probie> If that script is written in Haskell it's probably paid off
17:35:17 <EvanR> monochrom, you wouldn't download source code
17:35:19 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
17:35:44 <ski> .. but rather object code or executables/binaries ?
17:35:48 mikoto-chan joins (~mikoto-ch@2001:999:250:807f:e0f2:d3da:3e99:a813)
17:36:00 <EvanR> with a suitable EULA yes
17:36:05 <EvanR> get the facts
17:36:15 <monochrom> I have downloaded a lot of source code, and likely will still do.
17:36:46 <monochrom> I have downloaded all kinds of things.
17:36:55 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:f03d:9d14:c4b1:e7e0) (Ping timeout: 244 seconds)
17:37:16 <EvanR> maybe you have, but you wouldn't
17:37:19 <ski> facts would sometimes be stated in source code, sometimes in a binary format
17:37:22 <monochrom> OK why?
17:37:44 <EvanR> *hangs up the phone*
17:37:53 <ski> (logic programming source vs. deductive DB)
17:38:08 <monochrom> Is this one of those prank phone calls?
17:38:30 <monochrom> *ring ring* "hello time to pee haha" *hang up*
17:39:14 <EvanR> more like an intellectual property arnold schwarzenegger sound board
17:39:30 <monochrom> (I and my sisters did that after seeing it done on TV)
17:39:47 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:f03d:9d14:c4b1:e7e0)
17:40:57 ski only recalls listening to a CD with recorded prank calls (sent over radio) in school
17:41:09 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 250 seconds)
17:41:30 <geekosaur> my cousin had several LPs of things like that
17:41:34 <ski> (iirc, one of them involved calling two pizza places, getting them to talk to each other, each thinking the other was the customer)
17:41:51 <geekosaur> and radio bloopers ("excuse me while I take a leak out the window" and such)
17:42:12 × DavidBinder quits (~DavidBind@134.2.10.18) (Quit: Leaving)
17:42:46 <ski> (in another, they called a hot dog place, asked about mashed potatoes, heard they claimed it was home-made, asked how they transported it to the kiosk place, learned that it was made there, then asked if they lived in the kiosk ..)
17:47:09 beteigeuze joins (~Thunderbi@a79-169-109-107.cpe.netcabo.pt)
17:50:11 learner-monad joins (~ehanneken@cpe-174-105-47-100.columbus.res.rr.com)
17:50:40 × learner-monad quits (~ehanneken@cpe-174-105-47-100.columbus.res.rr.com) (Changing host)
17:50:40 learner-monad joins (~ehanneken@user/learner-monad)
17:53:06 × fef quits (~thedawn@user/thedawn) (Quit: Killer)
17:54:42 cfricke joins (~cfricke@user/cfricke)
17:55:18 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
17:55:27 × cfricke quits (~cfricke@user/cfricke) (Client Quit)
17:55:55 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
18:00:20 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
18:01:09 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
18:03:15 × mikoto-chan quits (~mikoto-ch@2001:999:250:807f:e0f2:d3da:3e99:a813) (Ping timeout: 250 seconds)
18:12:40 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:f03d:9d14:c4b1:e7e0) (Remote host closed the connection)
18:13:40 × learner-monad quits (~ehanneken@user/learner-monad) (Quit: Textual IRC Client: www.textualapp.com)
18:14:16 ft joins (~ft@p3e9bc57b.dip0.t-ipconnect.de)
18:14:39 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:f03d:9d14:c4b1:e7e0)
18:15:28 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
18:19:14 learner-monad joins (~ehanneken@user/learner-monad)
18:21:37 × MajorBiscuit quits (~MajorBisc@c-001-013-022.client.tudelft.eduvpn.nl) (Ping timeout: 246 seconds)
18:21:45 × learner-monad quits (~ehanneken@user/learner-monad) (Client Quit)
18:23:07 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:f03d:9d14:c4b1:e7e0) (Remote host closed the connection)
18:27:07 × kenran quits (~user@user/kenran) (Remote host closed the connection)
18:27:21 × Alex_test quits (~al_test@94.233.240.222) (Ping timeout: 265 seconds)
18:27:47 × AlexZenon quits (~alzenon@94.233.240.222) (Ping timeout: 252 seconds)
18:32:32 Alex_test joins (~al_test@94.233.240.222)
18:33:31 AlexZenon joins (~alzenon@94.233.240.222)
18:36:29 AlexZenon_2 joins (~alzenon@94.233.240.222)
18:38:03 × AlexZenon quits (~alzenon@94.233.240.222) (Ping timeout: 252 seconds)
18:41:22 × raym quits (~aritra@user/raym) (Quit: new kernel)
18:42:07 AlexZenon_2 is now known as AlexZenon
18:43:46 × Midjak quits (~Midjak@82.66.147.146) (Ping timeout: 265 seconds)
18:45:05 raym joins (~aritra@user/raym)
18:49:37 SridharRatnakuma joins (~sridmatri@2001:470:69fc:105::1c2)
18:50:35 <SridharRatnakuma> ping
18:51:12 <[exa]> pong
18:51:59 <edmundnoble> ding
18:52:08 <darkling> squerp
18:52:26 <[exa]> is my knowledge of ICMP incomplete?
18:52:33 <ski> @ping
18:52:33 <lambdabot> pong
18:52:38 madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net)
18:53:34 <darkling> I think my packet had the Evil bit set. :)
18:56:19 jakalx parts (~jakalx@base.jakalx.net) (Disconnected: Replaced by new connection)
18:56:20 jakalx joins (~jakalx@base.jakalx.net)
18:57:48 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds)
18:58:48 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
18:59:35 <geekosaur> you can clal it whatever you want; ICMP calls it ECHO REPLY, after all
18:59:50 ardell joins (~ardell@user/ardell)
19:03:27 <sm> woo, found a stray 33G ghci
19:03:49 <sm> I thought things were feeling a bit sluggish
19:04:13 <ski> what was it doing ?
19:05:27 pavonia joins (~user@user/siracusa)
19:05:29 <sm> I couldn't actually find the window. It might have been running hledger-ui
19:06:25 × fserucas quits (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Ping timeout: 246 seconds)
19:09:47 Sose joins (~sose@mobile-access-567367-206.dhcp.inet.fi)
19:19:56 × Sose quits (~sose@mobile-access-567367-206.dhcp.inet.fi) (Ping timeout: 268 seconds)
19:20:58 Sose joins (~sose@mobile-access-567367-206.dhcp.inet.fi)
19:23:27 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 260 seconds)
19:23:27 × Vajb quits (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57) (Read error: Connection reset by peer)
19:23:37 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:f03d:9d14:c4b1:e7e0)
19:23:59 Vajb joins (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi)
19:25:00 × Vajb quits (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer)
19:25:51 k8yun joins (~k8yun@user/k8yun)
19:25:57 rockymarine joins (~rocky@user/rockymarine)
19:27:01 Vajb joins (~Vajb@2001:999:504:1841:9e47:1ec7:a52e:1d57)
19:28:00 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:f03d:9d14:c4b1:e7e0) (Ping timeout: 244 seconds)
19:30:21 rburkholder joins (~blurb@96.45.2.121)
19:30:47 × Maeda quits (~Maeda@91-161-10-149.subs.proxad.net) (Quit: leaving)
19:34:02 × beteigeuze quits (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Ping timeout: 265 seconds)
19:36:28 nate3 joins (~nate@98.45.169.16)
19:41:14 kavvadias joins (~kavvadias@2001:9e8:6302:c600:cf66:4db0:f8a4:a055)
19:41:17 × nate3 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds)
19:43:41 <kavvadias> hey everyone, im stuck with something and any help would be appreciated, how would i find the same elements of two lists and then take them out of both?
19:44:31 LukeHoersten joins (~LukeHoers@user/lukehoersten)
19:45:36 <monochrom> The \\ operator can do it in one direction. Perhaps use it twice for two directions.
19:46:02 Everything parts (~Everythin@37.115.210.35) ()
19:46:23 <monochrom> If it is not already in Prelude, you can get it from Data.List
19:49:20 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
19:50:00 <kavvadias> thank you monochrom
19:51:04 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
19:54:41 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds)
19:59:59 nschoe joins (~quassel@2a01:e0a:8e:a190:c8a4:5e1e:f73c:a515)
19:59:59 × nschoe quits (~quassel@2a01:e0a:8e:a190:c8a4:5e1e:f73c:a515) (Client Quit)
20:00:01 × madjestic quits (~madjestic@88-159-247-120.fixed.kpn.net) (Remote host closed the connection)
20:01:54 × waldo quits (~waldo@user/waldo) (Ping timeout: 264 seconds)
20:06:26 justsomeguy joins (~justsomeg@user/justsomeguy)
20:06:50 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
20:07:09 ChaiTRex joins (~ChaiTRex@user/chaitrex)
20:07:36 × mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 264 seconds)
20:08:39 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 258 seconds)
20:12:30 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
20:15:22 × waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 246 seconds)
20:16:03 mixphix joins (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
20:17:11 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
20:19:37 × slack1256 quits (~slack1256@186.11.53.123) (Ping timeout: 252 seconds)
20:21:04 shapr joins (~user@68.54.166.125)
20:24:07 <DigitalKiwi> П> import Data.List.Unique
20:24:09 <DigitalKiwi> П> list1 =[1,2,3,4,5] ; list2 =[5,6,7,8,9]
20:24:11 <DigitalKiwi> П> unique $ list1++list2
20:24:13 <DigitalKiwi> [1,2,3,4,6,7,8,9]
20:24:38 × Unhammer quits (~Unhammer@user/unhammer) (Ping timeout: 255 seconds)
20:25:17 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.5)
20:27:34 <DigitalKiwi> П> list1' = repeated $ list1++list3
20:27:35 <DigitalKiwi> П> list2' = repeated $ list2++list3
20:27:38 <DigitalKiwi> П> list1'
20:27:40 <DigitalKiwi> [1,2,3,4]
20:27:42 <DigitalKiwi> П> list2'
20:27:44 <DigitalKiwi> [6,7,8,9]
20:32:27 × LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:34:38 waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
20:37:28 × ardell quits (~ardell@user/ardell) (Quit: Leaving)
20:38:36 Unhammer joins (~Unhammer@user/unhammer)
20:40:50 emmanuelux joins (~emmanuelu@user/emmanuelux)
20:42:52 Maeda joins (~Maeda@91-161-10-149.subs.proxad.net)
20:45:25 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:50:33 × k8yun quits (~k8yun@user/k8yun) (Ping timeout: 268 seconds)
20:53:18 × Sose quits (~sose@mobile-access-567367-206.dhcp.inet.fi) (Remote host closed the connection)
20:54:01 Sose joins (~sose@mobile-access-567367-206.dhcp.inet.fi)
20:56:32 talismanick joins (~talismani@2601:200:c100:c9e0::24ac)
20:56:44 k8yun joins (~k8yun@user/k8yun)
20:57:24 × coot quits (~coot@213.134.165.79) (Quit: coot)
20:58:45 levitating joins (~irc@user/levitating)
20:59:27 <levitating> Hey, I have a program which reads stdin on a loop using getChar. How can I terminate this safely when it reaches EOF?
21:01:46 × kavvadias quits (~kavvadias@2001:9e8:6302:c600:cf66:4db0:f8a4:a055) (Quit: Client closed)
21:03:15 <Hecate> levitating: match on EOF? or use `getLine`?
21:03:33 <monochrom> getChar does not return EOF, there is nothing to match.
21:03:47 <Hecate> damn
21:03:51 <Hecate> then yeah I guess getLine
21:04:15 <levitating> using getLine still terminates with an error
21:04:24 <levitating> Unless there is a way to check for EOF that I don't know about
21:04:36 <monochrom> isEOF can "predict" whether the next read will be EOF.
21:04:58 <levitating> I was looking for something like that yeah
21:05:05 <levitating> I'll try it out, thanks
21:05:18 <monochrom> The truth is of course isEOF actually reads (and if successful, caches for the next read)
21:05:26 nate3 joins (~nate@98.45.169.16)
21:06:38 <DigitalKiwi> https://hackage.haskell.org/package/readline-1.0.3.0/docs/System-Console-Readline.html
21:07:17 Guest2990 joins (~Guest29@2601:281:d47e:a4c0:a09a:346e:21e1:c743)
21:08:19 <c_wraith> if you don't mind being really sketchy, getContents probably has the simplest interface
21:09:24 <monochrom> or deeply understanding the interplay between evaluation order and getContents so your usage is not sketchy, which is what I do.
21:10:10 <monochrom> (I feed getContents to an incremental parser, works simple and great for ACM ICPC style I/O)
21:10:12 <c_wraith> sure, but that's not simple anymore. It's *correct*
21:10:46 <monochrom> Oh! Tautologically, a program is either sketchy or correct :)
21:11:13 <darkling> Damn you! I'm now trying to think of something that's both.
21:11:16 <levitating> isEOF worked fine for now
21:11:19 <levitating> Thanks guys
21:11:45 <monochrom> Although, beyond ACM ICPC style I/O (which is very simpleton), getContents becomes hard to predict quickly.
21:12:07 <DigitalKiwi> https://markkarpov.com/tutorial/megaparsec.html#forcing-consumption-of-input-with-eof
21:12:42 × b0o quits (0e4a0bf4c9@2604:bf00:561:2000::1bf) (Ping timeout: 264 seconds)
21:12:56 <monochrom> darkling: We can have subjective qualitative assessment of proof quality, if a proof of correctness is sketchy, you can have both sketchy and correct :)
21:12:58 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
21:13:59 <monochrom> Actually I don't use getContents for that, I use interact.
21:14:05 <darkling> I was thinking something like optimisation heuristics. Never going to get the optimum, but will do well enough if you get it right.
21:14:06 b0o joins (0e4a0bf4c9@2604:bf00:561:2000::1bf)
21:14:35 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
21:15:35 <monochrom> Most people would call that "that's being practical, don't be an anal perfectionist" :)
21:15:40 ski . o O ( `isEOF' forces the current tail )
21:15:46 <darkling> (Revealing an earlier life as an operational researcher)
21:15:47 <ski> "ACM ICPC style I/O" ?
21:16:58 <c_wraith> where the input is all some trivial format and adheres to it rigidly
21:18:25 <ski> what's "ICPC" ?
21:18:55 <ski> (some conference ?)
21:18:55 × fjMSX quits (~hypni2p@2.92.213.55) (Ping timeout: 265 seconds)
21:19:02 <DigitalKiwi> curl -sO https://raw.githubusercontent.com/NixOS/nixpkgs/master/maintainers/maintainer-list.nix && nix-instantiate maintainer-list.nix --eval --strict --json|jq '[.[]]'|jq '.[]'|jq '[.name,.email,.github]' -c|cut -f2- -d '['|cut -f1 -d ']'|sed 's|,"| <|1'|sed 's|","|>,|1'|rev|cut -f2- -d','|rev > maintainer-list-nix.txt
21:19:03 <c_wraith> international collegiate programming competition
21:19:11 <ski> hm, okay
21:19:14 <ski> (never heard)
21:19:15 <DigitalKiwi> i am pretty sure that is sketchy and correct
21:19:39 <DigitalKiwi> arguably anything i do with jq fits the bill lol
21:19:45 <monochrom> So it is only stdin and stdout. It usually goes like "the input has 0 or more lines, each line has 0 or more numbers separated by spaces". Sometimes there are prefixes telling you how many to expect, or sentinels telling you where it ends; other times you have to check for end of line or EOF.
21:19:46 darkling awards DigitalKiwi the gold medal
21:19:59 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 250 seconds)
21:20:03 <monochrom> And then "for each case, output a line for the answer".
21:20:41 <DigitalKiwi> https://twitter.com/grhmc/status/1573093735868801025
21:21:24 × ellensol quits (~ellen@178-78-210-152.customers.ownit.se) (Ping timeout: 264 seconds)
21:21:40 <jackdk> Why not do the wrangling in a nix expression?
21:22:07 <DigitalKiwi> jq > nix
21:22:33 <ski> ic
21:23:43 × k8yun quits (~k8yun@user/k8yun) (Read error: Connection reset by peer)
21:23:47 <monochrom> https://byorgey.wordpress.com/category/competitive-programming/ is byorgey solving a lot of ACM ICPC problems in Haskell. Look for how he does I/O, namely, interact and a simple parser library.
21:24:08 k8yun joins (~k8yun@user/k8yun)
21:24:53 <monochrom> the Scanner module
21:24:53 <jackdk> no
21:27:24 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 264 seconds)
21:28:14 <byorgey> (as an aside, ICPC has been independent of ACM since 2017, so now it is just "ICPC", not "ACM ICPC")
21:29:08 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
21:29:50 × shapr quits (~user@68.54.166.125) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1))
21:34:04 × hpc quits (~juzz@ip98-169-32-242.dc.dc.cox.net) (Ping timeout: 244 seconds)
21:35:01 <DigitalKiwi> nix shell nixpkgs#jq nixpkgs#fzf -c bash -c "nix-instantiate --eval --json -E 'builtins.attrNames (import <nixpkgs> {}).haskellPackages' | jq '.[]' -r | fzf"
21:35:32 <DigitalKiwi> nix shell nixpkgs#jq nixpkgs#fzf nixpkgs#peco -c bash -c "nix-instantiate --eval --json -E 'builtins.attrNames (import <nixpkgs> {}).haskellPackages' | jq '.[]' -r|peco"
21:35:47 <DigitalKiwi> can have peco as a treat
21:36:11 hpc joins (~juzz@ip98-169-32-242.dc.dc.cox.net)
21:37:18 <darkling> I've got some spectacularly sketchy pipelines for work using sed...
21:38:18 <geekosaur> I've done a number of scary things using sed
21:38:20 <darkling> (Although I once saw a ray-tracer written in sed. Haven't been able to track it down, sadly.)
21:39:01 <geekosaur> in fact I used to have to do them, as I was working on ancient systems which didn't have /usr mounted during boot
21:39:06 <monochrom> That is truly the next level heh.
21:39:20 <geekosaur> sed's got all that stuff for a reason
21:40:29 <darkling> The first time I got my hands on a Linux system, back in the mid '90s, I knew very little about Unix.
21:40:41 × rockymarine quits (~rocky@user/rockymarine) (Ping timeout: 265 seconds)
21:40:43 <darkling> I couldn't find an interactive text editor, but I did find sed.
21:41:02 <darkling> So I configured an entire X11 setup using nothing but sed. All learned from the man pages.
21:41:10 <geekosaur> hardcore
21:41:25 <darkling> It taught me a lot that I still use. :)
21:41:47 <geekosaur> https://funarg.nfshost.com/r2/code/sed/ray/ray.html ?
21:42:49 <darkling> Quite possibly.
21:43:23 <darkling> Looks denser than I remember, but it was 20+ years ago, so memory may not be all that reliable.
21:49:46 <monochrom> The lost art of using sed for xmonad config >:)
21:50:23 <monochrom> Coming this April, "my favourite Haskell IDE is sed"
21:50:23 <darkling> Some arts deserve to be lost. :)
21:51:13 <darkling> Everyone at work thinks I'm weird for using emacs and a shell for my development environment.
21:51:53 <darkling> "Where's this function used?" "grep -r app functionName"...
21:52:43 <darkling> I'm fairly sure I've failed at least one job interview for admitting that.
21:52:44 <monochrom> "vscode still can't auto-convert `f (g (x + 1))` to `f $ g $ x + 1` but it can be done in 2 lines of sed"
21:53:20 <smol-hors> can you write vscode plugins in sed?
21:53:36 <smol-hors> everything is a plugin in vscode :c
21:53:41 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 258 seconds)
21:53:57 <jackdk> darkling: while not as impressive in your efforts, I once wrote an entire nixos config using `ed`. Then I realised that the reason no other editor was working was that `$TERM` wasn't set to something the base system understood.
21:54:08 <monochrom> sed script > vscode script > vim script
21:54:27 <jackdk> darkling: I do a lot of `rg 'functionName ::'` too.
21:55:08 <monochrom> ed is the 2nd most hardcore, yeah :)
21:55:16 <darkling> Bonus points for TECO?
21:56:17 ChaiTRex joins (~ChaiTRex@user/chaitrex)
21:56:22 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
21:56:46 × Tuplanolla quits (~Tuplanoll@91-159-69-34.elisa-laajakaista.fi) (Quit: Leaving.)
21:59:13 <geekosaur> btdt but at this point I've mostly forgotten it
22:00:09 × Guest2990 quits (~Guest29@2601:281:d47e:a4c0:a09a:346e:21e1:c743) (Quit: Client closed)
22:00:14 <darkling> TECO's somewhat before my time, sadly|fortunately
22:00:58 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 265 seconds)
22:02:40 <geekosaur> TV and a command prompt when I was blowing off time in the computer center my senior year of HS, when I was spending half-days at CWRU taking accelerated calculus
22:02:49 <geekosaur> (TV being DEC's visual TECO)
22:03:31 × nate3 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds)
22:03:32 <darkling> I started my computing career on a ZX80.
22:03:43 <geekosaur> the dialup machine I was using from home was too small for emacs, although IIRC I did manage to get Jove running at some point
22:04:50 <darkling> I first met microEmacs squeezed into a DOS system alongside DBase IV in.. 1992? Kind of got stuck on the UI :)
22:09:01 <sm> darkling: high five! my first home computer
22:09:47 <geekosaur> Ohio Scientific SuperBoard II
22:10:15 <geekosaur> (C1P as a build-it-yourself kit, but dad had someone at work assemble it)
22:10:38 <sm> that sounds fun, and early
22:11:04 <geekosaur> late 70s
22:11:05 <sm> before apple I guess ?
22:11:26 <geekosaur> I think Apple was around but already overpriced 🙂
22:11:42 <darkling> Looks about the same time. WP has a Superboard II in a wooden case to match the Apple II.
22:11:48 <geekosaur> so the not-cool-kids got to play with C1Ps, KIM-1s, etc.
22:12:24 tdfpsws^ joins (~tdfpsws@173-160-76-137-atlanta.hfc.comcastbusiness.net)
22:12:30 <monochrom> Yeah Apple II was probably overpriced. We guys in Hong Kong etc made and sold/bought clones for one tenth the price.
22:12:52 <darkling> The 8-bit home micro era was weird, spectacular, and regrettably short-lived.
22:13:16 <geekosaur> I remember the KayPro 1 coming out
22:13:31 <geekosaur> huge luggable for several thousand dollars
22:14:08 <monochrom> Then again we went on to do the same to IBM PCs and XTs and ATs too so I guess everything was overpriced.
22:14:08 <geekosaur> who'd have imagined we'd have more computing power on our smartphones when we grew up?
22:14:48 <darkling> More computing power than a *Cray*...
22:15:07 Guest89 joins (~Guest89@2a10:8012:11:bcba:9076:128d:d21b:9a21)
22:15:17 × Guest89 quits (~Guest89@2a10:8012:11:bcba:9076:128d:d21b:9a21) (Client Quit)
22:15:27 <EvanR> this programming textbook from 1980 has a remark to that effect, about the increasing complexity, density, speed of computers
22:15:43 <EvanR> let me see what the exact wording is
22:15:45 <darkling> I did a lecture on the history of supercomputing a couple of times. I started with Seymour Cray's first machine, the CDC6600.
22:16:14 <geekosaur> flip side, crays were never about the computing power as such. similarly IBM mainframes were fairly weak, slow CPUs; it was the I/O channels that made them serious mainframes
22:16:40 <darkling> I then passed round a board with the best match of spec to that (4x the clock rate, 2x the RAM). €8 each in quantities of 1000...
22:16:45 <EvanR> "At present, integrated-circuit technology is rapidly developing, and one can only guess where the future will lead."
22:16:53 <geekosaur> and very low memory, but memory was used for scratchpad: all the real data was on tape
22:16:55 <EvanR> (Assembly Language for the PDP-11)
22:16:57 <monochrom> I am most happy that the days of "so which 5 CDs should I bring with me today?" are over because the flash memory on my phone stores the entirety of my music library.
22:17:08 <darkling> :)
22:17:44 <geekosaur> and then we moved on from music libraries and use Pandora/Spotify instead 🙂
22:17:53 × michalz quits (~michalz@185.246.207.197) (Remote host closed the connection)
22:18:11 <monochrom> I think PCIe 4.0 or 5.0 or 6.0 or whatever beats Cray or mainframe I/O speeds too.
22:18:14 <darkling> I've got a script that runs once every three months, to build images for the 6 DVDs that I can fit in my car's audio system...
22:18:14 <EvanR> moved on from music library to the sane 2 genres on youtube + gratuitous ads
22:18:25 <EvanR> same*
22:18:51 <geekosaur> monochrom, simultaneously?
22:19:07 <EvanR> I miss pirating terabytes of music and not listening to any of it
22:19:15 <geekosaur> if you have a separate bus for every peripheral, *now* you're talking mainframe
22:19:16 <darkling> monochrom: I think the Cray^H^H^H^HIntel node interconnects are still pretty impressive.
22:20:20 <geekosaur> oh, and each its own CPU so you can just blast data at it and let the IOCP deal
22:20:24 <DigitalKiwi> EvanR: i have over 20GB of trance music lol
22:20:26 <darkling> I did some work on them about a decade ago. Very interesting stuff.
22:21:05 <darkling> The butterfly/dragonfly architectures were pretty spectacular.
22:21:40 × titibandit quits (~titibandi@xdsl-212-8-150-57.nc.de) (Remote host closed the connection)
22:22:06 <darkling> A major step up from the hypertoruses everyone was using before then.
22:23:55 × mixphix quits (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds)
22:24:09 <DigitalKiwi> https://chromium.googlesource.com/chromiumos/third_party/u-boot/+/firmware-butterfly-2788.B
22:24:22 <DigitalKiwi> that one?
22:24:31 <DigitalKiwi> https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/hp-pavilion-14-chromebook/#introduction
22:25:13 <darkling> Neither of those. :)
22:25:47 × tdfpsws^ quits (~tdfpsws@173-160-76-137-atlanta.hfc.comcastbusiness.net) (Remote host closed the connection)
22:26:00 <darkling> This sort of thing: https://www.cs.umd.edu/class/fall2019/cmsc714/slides/10-cmsc714-fattree-dragonfly.pdf
22:26:11 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:f03d:9d14:c4b1:e7e0)
22:26:56 rockymarine joins (~rocky@user/rockymarine)
22:27:34 jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff)
22:27:41 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
22:28:07 <DigitalKiwi> this is the cpu it has lol https://ark.intel.com/content/www/us/en/ark/products/56056/intel-celeron-processor-847-2m-cache-1-10-ghz.html i upgraded it to 16GB of ram and a 500GB SSD
22:29:09 <darkling> Although the actual implementation looked a bit different. Basically you could guarantee 9 hops to any node in the network, with about 1.5 million CPUs available on the largest configuration.
22:29:13 × lyle quits (~lyle@104.246.145.85) (Ping timeout: 268 seconds)
22:29:22 mixphix joins (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
22:30:13 <sm> yow
22:30:14 <darkling> On a 3-torus of that size, you'd be looking at 170 hops.
22:30:41 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:f03d:9d14:c4b1:e7e0) (Ping timeout: 260 seconds)
22:32:21 <EvanR> now that's cray
22:32:26 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 260 seconds)
22:37:28 × mixphix quits (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 246 seconds)
22:39:08 <DigitalKiwi> if i were designing silicon i would simply arrange it in a hypercube
22:39:41 gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de)
22:40:12 <darkling> Pushes up the cost of your routers quote a lot.
22:40:19 <darkling> log(N) in the CPUs.
22:40:34 <DigitalKiwi> https://mostlyabsurd.com/files/2022-09-29-174013_914x858_scrot.png
22:40:44 <DigitalKiwi> https://en.wikipedia.org/wiki/10-cube#/media/File:10-cube.svg
22:40:53 <DigitalKiwi> they came so close
22:41:35 <darkling> The CM-1 and CM-2 got up to 2^16 nodes, but that's small change these days.
22:42:02 <darkling> Big deal in 1987, though.
22:42:50 <DigitalKiwi> i'm sick of them giving us silicon chips/wafers! i want silicon lasagna/baklava
22:43:01 <DigitalKiwi> https://en.wikipedia.org/wiki/Baklava#/media/File:Baklava_-_Turkish_special,_80-ply.JPEG
22:43:02 <darkling> Hehe.
22:43:35 <darkling> So if you keep folding the baklava, does it eventually get really really sharp?
22:44:19 <DigitalKiwi> it's impossible to have more than 9 layers of baklava due to the laws of physics
22:44:40 <darkling> Did you mean 2^9 layers?
22:44:59 <hpc> i keep my 9-layer baklava next to my spherical souffles
22:45:00 <DigitalKiwi> i think i mean it's impossible to fold it more than 9 times heh
22:45:13 <EvanR> nuclear baklava is one region of neutron star interior
22:45:21 darkling turns on his baklava lamp.
22:45:26 <DigitalKiwi> s/9/7/
22:46:05 × causal quits (~user@50.35.83.177) (Quit: WeeChat 3.6)
22:46:24 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
22:46:26 <DigitalKiwi> https://www.sciencefocus.com/science/whats-the-maximum-number-of-times-that-you-can-fold-a-piece-of-paper/
22:46:58 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
22:47:45 <jackdk> The real reason that baklava admits a finite number of foldings is that they keep getting eaten.
22:48:56 <monochrom> :)
22:52:23 <DigitalKiwi> if it doesn't come from the nuclear baklava region of the neutron star it's just sparkling biscuit
22:54:02 mikoto-chan joins (~mikoto-ch@193.184.30.141)
22:55:01 <DigitalKiwi> tired: silicon chips, wired: silicon pringles chips
22:55:45 × acidjnk_new quits (~acidjnk@p200300d6e7137a84f9679ba27a252492.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
23:03:30 LukeHoersten joins (~LukeHoers@user/lukehoersten)
23:06:39 mixphix joins (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
23:06:52 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
23:07:13 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
23:08:09 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 265 seconds)
23:08:33 thyriaen joins (~thyriaen@2a02:8109:8340:686c:7383:e0e2:ad95:9fce)
23:08:34 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
23:09:11 × mikoto-chan quits (~mikoto-ch@193.184.30.141) (Ping timeout: 250 seconds)
23:09:29 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
23:10:17 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
23:10:55 × mixphix quits (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 250 seconds)
23:11:14 mikoto-chan joins (~mikoto-ch@2001:999:500:5a8f:6292:d4f9:57fd:9538)
23:13:08 mixphix joins (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca)
23:13:47 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds)
23:15:05 <hpc> heh, print circuits on ruffled silicon for air flow
23:17:49 × mixphix quits (~cigsender@bras-base-otwaon237cw-grc-11-174-91-129-69.dsl.bell.ca) (Ping timeout: 252 seconds)
23:19:26 jargon joins (~jargon@184.101.88.60)
23:20:30 × mikoto-chan quits (~mikoto-ch@2001:999:500:5a8f:6292:d4f9:57fd:9538) (Ping timeout: 244 seconds)
23:27:11 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
23:28:54 × zeenk quits (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!)
23:29:47 fjMSX joins (~hypni2p@2.92.213.55)
23:41:06 kenaryn joins (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr)
23:41:22 × gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
23:42:22 burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk)
23:44:21 <kenaryn> Hello! Please which one is the superclass of the other between `Ord` and `Eq`?
23:45:07 × thyriaen quits (~thyriaen@2a02:8109:8340:686c:7383:e0e2:ad95:9fce) (Quit: Leaving)
23:45:10 Midjak joins (~Midjak@82.66.147.146)
23:46:21 <Axman6> Eq is a superclass of Ord - you must be able to test for equality to be able to compare ordering
23:46:25 <Axman6> @src Ord
23:46:25 <lambdabot> class (Eq a) => Ord a where
23:46:25 <lambdabot> compare :: a -> a -> Ordering
23:46:25 <lambdabot> (<), (<=), (>), (>=) :: a -> a -> Bool
23:46:25 <lambdabot> max, min :: a -> a -> a
23:46:47 × burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Ping timeout: 252 seconds)
23:46:59 × phma quits (phma@2001:5b0:210b:aca8:55c3:ae:c6b9:e9a1) (Read error: No route to host)
23:47:26 phma joins (phma@2001:5b0:210b:aca8:ecff:405c:745f:81a2)
23:48:40 × shreyasminocha quits (51fdc93eda@user/shreyasminocha) (Read error: Connection reset by peer)
23:48:48 shreyasminocha joins (51fdc93eda@user/shreyasminocha)
23:49:41 × Arsen quits (arsen@managarm/dev/Arsen) (Remote host closed the connection)
23:50:51 Arsen joins (arsen@managarm/dev/Arsen)
23:55:26 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
23:55:43 berberman joins (~berberman@user/berberman)
23:57:02 mvk joins (~mvk@2607:fea8:5ce3:8500::778c)

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