Home liberachat/#haskell: Logs Calendar

Logs on 2022-02-01 (liberachat/#haskell)

00:00:15 burnsidesLlama joins (~burnsides@dhcp168-030.wadham.ox.ac.uk)
00:00:27 × Gurkenglas quits (~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de) (Ping timeout: 268 seconds)
00:01:35 × max22- quits (~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Remote host closed the connection)
00:02:05 noiobeforebed joins (~noiobefor@2001:470:69fc:105::1:3c2d)
00:08:28 × Midjak quits (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Ping timeout: 268 seconds)
00:09:52 chenqisu1 joins (~chenqisu1@183.217.200.249)
00:10:27 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
00:12:27 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
00:12:30 Midjak joins (~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
00:14:38 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
00:14:39 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
00:14:39 wroathe joins (~wroathe@user/wroathe)
00:19:55 machinedgod joins (~machinedg@24.105.81.50)
00:20:31 deadmarshal joins (~deadmarsh@95.38.231.118)
00:24:03 × y04nn quits (~y04nn@92.223.89.196) (Ping timeout: 256 seconds)
00:24:30 × soxen quits (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 268 seconds)
00:25:11 × deadmarshal quits (~deadmarsh@95.38.231.118) (Ping timeout: 256 seconds)
00:28:37 alx741 joins (~alx741@157.100.197.240)
00:28:45 × jgeerds quits (~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 250 seconds)
00:29:35 <carbolymer> hmm
00:29:42 <carbolymer> Axman6: memory' is a Map
00:29:58 <carbolymer> Axman6: varName is a key in this map
00:30:31 <geekosaur> at varName <$> use memory -- ?
00:30:51 <Axman6> the way you'e written it, it looks like you're executing the value returned from the map
00:31:13 <jackdk> `use memory >>= at varName`?
00:31:15 <Axman6> sounds like you just want uses (memory . at varName)
00:31:46 <Axman6> but the most concise answer will depend on what you're doing with the result
00:31:52 <glguy> s/uses/use/
00:32:04 <Axman6> sorry, yes
00:32:16 <glguy> clarifying because there's also a "uses"
00:33:47 <Axman6> jackdk, geekosaur: at is also an optic
00:34:20 <carbolymer> Axman6: yes, `use (memory' . at varName)` is what I was looking for, thanks
00:34:33 carbolymer needs to stare into lenses longer
00:35:14 × lep quits (~lep@94.31.89.203) (Read error: Connection reset by peer)
00:35:46 <Axman6> if l1 takes an a and focuses on a b, and l2 takes a b and focuses on a c then l1 . l2 takes an a and focuses on a c
00:36:52 × hueso quits (~root@user/hueso) (Quit: hueso)
00:37:02 lep joins (~lep@94.31.89.203)
00:37:35 × alx741 quits (~alx741@157.100.197.240) (Quit: leaving)
00:37:36 merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
00:40:38 × noiobeforebed quits (~noiobefor@2001:470:69fc:105::1:3c2d) (Quit: Reconnecting)
00:40:51 noiobeforebed joins (~noiobefor@2001:470:69fc:105::1:3c2d)
00:46:25 lavaman joins (~lavaman@98.38.249.169)
00:46:56 × forell quits (~forell@user/forell) (Ping timeout: 256 seconds)
00:48:08 hueso joins (~root@user/hueso)
00:51:15 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
00:53:08 noiobeforebed parts (~noiobefor@2001:470:69fc:105::1:3c2d) ()
00:58:16 <oscurochu> whats wrong here? https://dpaste.com/7Z2N27RT3
00:59:37 <Axman6> which version of GHC are you using?
00:59:54 <oscurochu> The Glorious Glasgow Haskell Compilation System, version 8.10.7
01:00:37 × emf quits (~emf@2620:10d:c090:400::5:7499) (Ping timeout: 240 seconds)
01:01:40 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 256 seconds)
01:02:50 <geekosaur> base-4.11.1.0 is ghc 8.4.4
01:03:47 <geekosaur> it would be nice if cabal were smart enough to tell you this; but I had to go dig through https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history to determine it
01:04:06 × califax quits (~califax@user/califx) (Remote host closed the connection)
01:04:22 <oscurochu> so what should i do? i just installed haskell last night
01:04:39 <glguy> geekosaur: in the future "ghcup tui" is a really easy to find base versions
01:04:58 <glguy> easy way to*
01:05:06 califax joins (~califax@user/califx)
01:06:02 <monochrom> No no no. I would blame it on lambdacube-gl wanting an old version of vector-algorithms. That started the snowball of wanting everything else old.
01:06:02 <oscurochu> so i should downgrade to 8.4.4?
01:06:07 wombat875 joins (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
01:06:22 <geekosaur> oscurochu, if you used ghcup as we recommend then you can use that to install 8.4.4 and set it active for this package.
01:06:43 <geekosaur> that said, I looked it up and it's a library. you don't install libraries directly any more, you let cabal manage them for you
01:07:03 × merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
01:07:21 <oscurochu> im new to haskell and i wanted to learn 3D. idc how ambitious that sounds. i need a challenge. lol
01:07:43 <oscurochu> so how do i install 8.4.4 and set it active for that package?
01:07:45 <geekosaur> this thing wants old everything
01:08:05 <geekosaur> and hasn't been updated since 2017. it's probably not the way you want to go
01:08:24 <glguy> Using an unmaintained library to learn Haskell and 3D rendering at the same time certainly sounds like a path to a challenge
01:09:01 <oscurochu> well yeah i dont want that kind of challenge, but challenge within reason
01:09:25 <monochrom> I might try "--allow-newer". If it works it works. If it fails it fails.
01:09:55 <wavemode> lovely tautology
01:10:31 <Axman6> I'm unsure whether to recommend Ed's gl library... it implements _all_ of OpenGL, but whether that's a good place to start when learning 3D graphics I have no idea
01:10:55 <oscurochu> yeah i dont think this is happening https://dpaste.com/938SLX7FS
01:11:35 <jackdk> Axman6: it is an up-to-date set of generated bindings, so it shouldn't be too bad to work to an existing tutorial
01:11:39 <Axman6> al mentioned elsewhere, running cabal install lambdacube-gl is probably something you don't want to do
01:11:45 <Axman6> as*
01:12:02 <oscurochu> is haskell for 3d a bad choice?
01:12:04 <Axman6> you can make a new cabal projest and add it as a dependency and see if that helps
01:12:48 <monochrom> That said, using an old GHC is not bad at the beginning.
01:13:01 <oscurochu> im just following what is written here. http://lambdacube3d.com/getting-started
01:13:18 <oscurochu> and it has examples i can run
01:13:39 <Axman6> I think had is probably a more accurate way to say that, the project is quite old and bitrotted
01:13:49 <geekosaur> niot updated since 2017, still using cabal v1, probably not a good way to go
01:15:16 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
01:15:37 × Sgeo_ quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
01:16:03 × kaph quits (~kaph@net-2-47-208-144.cust.vodafonedsl.it) (Remote host closed the connection)
01:16:14 forell joins (~forell@user/forell)
01:16:16 Sgeo_ joins (~Sgeo@user/sgeo)
01:16:21 kaph joins (~kaph@net-2-47-208-144.cust.vodafonedsl.it)
01:16:44 × simpleauthority quits (~simpleaut@user/simpleauthority) (Quit: ZNC 1.8.2 - https://znc.in)
01:17:02 × erisco quits (~erisco@d24-57-249-233.home.cgocable.net) (Read error: Connection reset by peer)
01:17:03 simpleauthority joins (~simpleaut@user/simpleauthority)
01:17:10 shapr` joins (~user@pool-173-73-44-80.washdc.fios.verizon.net)
01:17:21 erisco joins (~erisco@d24-57-249-233.home.cgocable.net)
01:17:26 × deni quits (~deni@user/deni) (Quit: bye...)
01:17:46 × fiddlerwoaroof quits (~fiddlerwo@user/fiddlerwoaroof) (Quit: Gone.)
01:18:03 fiddlerwoaroof joins (~fiddlerwo@user/fiddlerwoaroof)
01:18:30 × zebrag quits (~chris@user/zebrag) (Remote host closed the connection)
01:18:37 × micro_ quits (~micro@user/micro) (Ping timeout: 240 seconds)
01:18:53 zebrag joins (~chris@user/zebrag)
01:19:07 × mncheckm quits (~mncheck@193.224.205.254) (Remote host closed the connection)
01:19:18 mncheckm joins (~mncheck@193.224.205.254)
01:19:37 micro joins (~micro@user/micro)
01:19:50 <oscurochu> I'm not sure that lib is going to help me with my goals anyways. I want to try making my own 3d rasturizer. where should i begin?
01:20:00 × jjhoo quits (~jahakala@user/jjhoo) (Ping timeout: 268 seconds)
01:20:40 jjhoo joins (~jahakala@user/jjhoo)
01:21:07 ncopa1 joins (~ncopa@gbr2-dev1.alpinelinux.org)
01:22:04 × ncopa quits (~ncopa@alpine/developer/ncopa) (Ping timeout: 256 seconds)
01:22:04 ncopa1 is now known as ncopa
01:23:37 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
01:23:37 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
01:23:37 wroathe joins (~wroathe@user/wroathe)
01:24:54 × shapr` quits (~user@pool-173-73-44-80.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
01:26:21 <perro_> a raytracer?
01:26:26 <perro_> depends on what you want to do
01:26:49 <perro_> you want to do realtime 3d graphics, don't use haskell to elarn
01:27:04 <perro_> you want to learn basic rendering like raycasting, you can do that in any language becuase it's jsut writing to a bitmap
01:28:22 <perro_> https://raytracing.github.io/books/RayTracingInOneWeekend.html
01:28:38 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds)
01:28:45 <Axman6> I don't see why HAskell wouldn't be ok for real time 3d graphics, it's definitely been done before
01:28:59 <perro_> it's beend one but the person learning doesn't need that overhead
01:29:53 <perro_> even just js and webgl is a much quicker way to learn that
01:30:13 <perro_> it's then much easier to move to haskell with those concepts...just my take
01:30:13 soxen joins (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
01:30:15 × jao quits (~jao@static-68-235-44-23.cust.tzulo.com) (Remote host closed the connection)
01:33:32 fruitfly joins (~fruitfly@host-79-121-42-70.kabelnet.hu)
01:34:10 <wavemode> Maybe if you followed a C opengl tutorial but used the gl/glfw packages in haskell? the functions would have the same names
01:34:16 <wavemode> would be challenging though
01:37:45 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
01:38:51 <perro_> that's prob the easieast way to jump between languages since everything has to map down to that
01:40:02 <oscurochu> perro_ which way?
01:40:17 <Axman6> I made the mistake of looking at the course for gl in my browser... it is chonky
01:40:22 <perro_> by grokking and using the opengl api
01:40:24 <Axman6> my browser is not happy
01:41:31 <perro_> webgl maps very closely to it, also
01:42:28 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
01:43:26 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 268 seconds)
01:44:47 vysn joins (~vysn@user/vysn)
01:45:04 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
01:51:46 × fruitfly quits (~fruitfly@host-79-121-42-70.kabelnet.hu) (Quit: Client closed)
01:53:13 Topsi joins (~Tobias@dyndsl-095-033-094-250.ewe-ip-backbone.de)
01:54:09 × soxen quits (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds)
01:56:23 × CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
01:56:32 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
01:59:41 × burnsidesLlama quits (~burnsides@dhcp168-030.wadham.ox.ac.uk) (Remote host closed the connection)
02:00:13 burnsidesLlama joins (~burnsides@client-8-90.eduroam.oxuni.org.uk)
02:04:34 × burnsidesLlama quits (~burnsides@client-8-90.eduroam.oxuni.org.uk) (Ping timeout: 256 seconds)
02:07:07 × lbseale quits (~ep1ctetus@user/ep1ctetus) (Quit: Leaving)
02:10:04 × Midjak quits (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep)
02:10:24 <oscurochu> i've cloned the raytracing repo, and i cant figure out how to compile it. this stuff makes me feel so dumb lol
02:12:38 × V quits (~v@anomalous.eu) (Remote host closed the connection)
02:13:23 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
02:13:23 allbery_b joins (~geekosaur@xmonad/geekosaur)
02:13:26 allbery_b is now known as geekosaur
02:14:36 × LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 276 seconds)
02:17:07 LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao)
02:17:58 × neurocyte0917090 quits (~neurocyte@user/neurocyte) (Ping timeout: 268 seconds)
02:19:18 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
02:23:36 califax- joins (~califax@user/califx)
02:23:40 × Codaraxis quits (~Codaraxis@user/codaraxis) (Read error: Connection reset by peer)
02:26:18 × califax quits (~califax@user/califx) (Ping timeout: 276 seconds)
02:26:18 califax- is now known as califax
02:28:11 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
02:28:55 ChaiTRex joins (~ChaiTRex@user/chaitrex)
02:28:56 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
02:29:29 Sgeo__ joins (~Sgeo@user/sgeo)
02:29:56 <oscurochu> i've finally figured it out. i had to make a build directory... lol
02:30:21 × xff0x quits (~xff0x@2001:1a81:5330:2600:3a82:23bb:1178:cc83) (Ping timeout: 245 seconds)
02:32:26 xff0x joins (~xff0x@2001:1a81:536e:b500:97e8:b6a:74e2:dc96)
02:32:54 × Sgeo_ quits (~Sgeo@user/sgeo) (Ping timeout: 256 seconds)
02:42:32 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
02:45:59 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
02:45:59 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
02:45:59 wroathe joins (~wroathe@user/wroathe)
02:47:09 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4)
02:49:37 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
02:50:42 jao joins (~jao@static-68-235-44-23.cust.tzulo.com)
02:52:07 geekosaur joins (~geekosaur@xmonad/geekosaur)
02:57:22 × acidsys quits (~LSD@2.lsd.systems) (Excess Flood)
02:58:04 acidsys joins (~LSD@2.lsd.systems)
03:00:03 V joins (~v@anomalous.eu)
03:03:13 merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
03:05:29 [_] joins (~itchyjunk@user/itchyjunk/x-7353470)
03:08:57 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds)
03:09:10 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
03:10:16 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
03:10:16 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
03:10:16 finn_elija is now known as FinnElija
03:14:55 × jao quits (~jao@static-68-235-44-23.cust.tzulo.com) (Remote host closed the connection)
03:19:41 Codaraxis joins (~Codaraxis@user/codaraxis)
03:20:14 cynomys joins (~cynomys@user/cynomys)
03:22:48 fef joins (~thedawn@user/thedawn)
03:23:52 × Codaraxis quits (~Codaraxis@user/codaraxis) (Remote host closed the connection)
03:24:11 Codaraxis joins (~Codaraxis@user/codaraxis)
03:25:22 × Codaraxis quits (~Codaraxis@user/codaraxis) (Remote host closed the connection)
03:27:57 × nshepperd quits (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Quit: quit)
03:27:57 × nshepperd2 quits (~nshepperd@li364-218.members.linode.com) (Quit: The Lounge - https://thelounge.chat)
03:28:40 × raym quits (~raym@user/raym) (Quit: kernel update, rebooting...)
03:29:00 nshepperd2 joins (~nshepperd@li364-218.members.linode.com)
03:29:03 nshepperd joins (nshepperd@2600:3c03::f03c:92ff:fe28:92c9)
03:30:02 × cynomys quits (~cynomys@user/cynomys) (Quit: leaving)
03:30:07 yauhsien joins (~yauhsien@118-167-40-21.dynamic-ip.hinet.net)
03:31:38 raym joins (~raym@user/raym)
03:34:40 × yauhsien quits (~yauhsien@118-167-40-21.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
03:37:31 × merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
03:42:09 × terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
03:43:23 terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1)
03:45:26 × td_ quits (~td@muedsl-82-207-238-222.citykom.de) (Ping timeout: 256 seconds)
03:47:02 td_ joins (~td@94.134.91.76)
03:51:28 jao joins (~jao@static-68-235-44-23.cust.tzulo.com)
03:57:52 × vglfr quits (~vglfr@46.96.158.194) (Ping timeout: 268 seconds)
04:04:43 soxen joins (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
04:05:40 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 250 seconds)
04:08:46 × cjb quits (~cjb@user/cjb) (Quit: rcirc on GNU Emacs 29.0.50)
04:18:13 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds)
04:18:45 × fef quits (~thedawn@user/thedawn) (Ping timeout: 276 seconds)
04:23:09 × soxen quits (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 268 seconds)
04:26:01 × Topsi quits (~Tobias@dyndsl-095-033-094-250.ewe-ip-backbone.de) (Read error: Connection reset by peer)
04:26:26 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
04:26:26 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
04:26:26 wroathe joins (~wroathe@user/wroathe)
04:30:39 fef joins (~thedawn@user/thedawn)
04:30:44 mbuf joins (~Shakthi@171.61.172.103)
04:31:07 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
04:32:04 dut joins (~dut@user/dut)
04:38:35 Erutuon joins (~Erutuon@user/erutuon)
04:48:11 lavaman joins (~lavaman@98.38.249.169)
04:48:26 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 268 seconds)
04:50:32 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
04:50:45 Erutuon joins (~Erutuon@user/erutuon)
04:52:45 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
04:53:51 dust_ joins (~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2)
04:59:59 [_] is now known as [itchyjunk]
05:00:46 × waleee quits (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 268 seconds)
05:08:28 × jao quits (~jao@static-68-235-44-23.cust.tzulo.com) (Remote host closed the connection)
05:08:32 × phma quits (phma@2001:5b0:211f:83e8:ceab:d757:d3e2:cd8f) (Read error: Connection reset by peer)
05:08:52 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
05:09:55 phma joins (phma@2001:5b0:211c:a988:8f1d:f7a6:3d8d:dc0c)
05:14:58 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 256 seconds)
05:15:00 × hyiltiz_ quits (~quassel@31.220.5.250) (Quit: hyiltiz_)
05:15:16 hyiltiz joins (~quassel@31.220.5.250)
05:15:38 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
05:16:17 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
05:16:27 RMSBach is now known as RSBach
05:16:44 yauhsien_ joins (~yauhsien@118-167-40-21.dynamic-ip.hinet.net)
05:20:13 ardell joins (~ardell@user/ardell)
05:20:25 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 256 seconds)
05:20:59 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 256 seconds)
05:23:07 hyiltiz joins (~quassel@31.220.5.250)
05:27:17 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
05:31:53 deadmarshal joins (~deadmarsh@95.38.231.118)
05:32:18 × ProfSimm quits (~ProfSimm@87.227.196.109) (Remote host closed the connection)
05:33:51 merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
05:40:21 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
05:45:10 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds)
05:59:35 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
06:00:18 × chenqisu1 quits (~chenqisu1@183.217.200.249) (Ping timeout: 256 seconds)
06:00:33 y04nn joins (~y04nn@92.223.89.196)
06:03:57 × vysn quits (~vysn@user/vysn) (Ping timeout: 240 seconds)
06:05:06 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
06:05:28 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
06:05:45 cheater joins (~Username@user/cheater)
06:07:40 × merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
06:11:34 × son0p quits (~ff@2800:484:1d81:b700:d40b:900:b387:320) (Ping timeout: 260 seconds)
06:13:02 arjun joins (~arjun@user/arjun)
06:14:45 myme joins (~myme@2a01:799:d5a:cd00:fb5a:85b7:3647:e056)
06:19:42 × yauhsien_ quits (~yauhsien@118-167-40-21.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
06:25:52 × Ekho quits (~Ekho@user/ekho) (Quit: CORE ERROR, SYSTEM HALTED.)
06:26:09 × infinity0 quits (~infinity0@occupy.ecodis.net) (Ping timeout: 256 seconds)
06:26:42 kadobanana joins (~mud@user/kadoban)
06:26:43 × mud quits (~mud@user/kadoban) (Ping timeout: 256 seconds)
06:27:27 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 276 seconds)
06:28:48 jpds joins (~jpds@gateway/tor-sasl/jpds)
06:29:23 infinity0 joins (~infinity0@occupy.ecodis.net)
06:29:36 Jing joins (~hedgehog@240e:390:7c53:a7e1:1164:2854:8a6e:b4e3)
06:31:45 × modnar quits (~modnar@shell.sonic.net) (Quit: farewell)
06:33:59 × dust_ quits (~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2) (Quit: Konversation terminated!)
06:34:09 Ekho joins (~Ekho@user/ekho)
06:37:35 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:41:17 × kaph quits (~kaph@net-2-47-208-144.cust.vodafonedsl.it) (Ping timeout: 268 seconds)
07:04:09 × ncopa quits (~ncopa@gbr2-dev1.alpinelinux.org) (Changing host)
07:04:09 ncopa joins (~ncopa@alpine/developer/ncopa)
07:05:07 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
07:06:40 × califax quits (~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in)
07:06:50 lavaman joins (~lavaman@98.38.249.169)
07:06:53 califax joins (~califax@user/califx)
07:11:08 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
07:11:42 × wombat875 quits (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
07:11:45 kaph joins (~kaph@an-19-174-100.service.infuturo.it)
07:17:25 thevishy joins (~Nishant@2405:201:f005:c007:f4c6:4183:fabe:3b64)
07:20:31 × kaph quits (~kaph@an-19-174-100.service.infuturo.it) (Read error: Connection reset by peer)
07:20:34 dust_ joins (~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2)
07:20:56 kaph joins (~kaph@an-19-174-100.service.infuturo.it)
07:22:21 <energizer> i'm doing some code gen. what's a good type for representing these type declaration things from C-like languages? `int y[N];`
07:22:50 × quintasan quits (~quassel@quintasan.pl) (Ping timeout: 250 seconds)
07:23:35 coot joins (~coot@213.134.190.95)
07:23:49 michalz joins (~michalz@185.246.204.75)
07:24:40 × y04nn quits (~y04nn@92.223.89.196) (Read error: Connection reset by peer)
07:25:28 MajorBiscuit joins (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e)
07:30:57 × shriekingnoise quits (~shrieking@201.231.16.156) (Quit: Quit)
07:32:55 notzmv joins (~zmv@user/notzmv)
07:33:13 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
07:33:52 <dsal> It depends on what all you're trying to encode. That's a fixed size array of int, so you'd need to encode that it's an array, of what, and how big.
07:34:11 quintasan joins (~quassel@quintasan.pl)
07:36:23 fendor joins (~fendor@77.119.206.49.wireless.dyn.drei.com)
07:36:31 <dsal> You have to kind of look at all of them, though. The answer changes if you just have that, or also scalars or different types of arrays, or more dimensions, etc...
07:36:47 × tcard quits (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving)
07:39:44 <energizer> let's say i want to support all of those things
07:39:58 <energizer> no pointers tho
07:41:00 _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl)
07:41:10 kaph_ joins (~kaph@151.57.50.182)
07:41:17 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 240 seconds)
07:41:21 Midjak joins (~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
07:41:33 tcard joins (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp)
07:41:55 × kaph quits (~kaph@an-19-174-100.service.infuturo.it) (Read error: Connection reset by peer)
07:42:51 <dsal> Well, a sum type with different constructors would be straightforward. I suppose an array might be a recursion. I'm afk, though, so I don't know for sure. I'd just start typing up what I see and then look for patterns to remove things.
07:46:28 lortabac joins (~lortabac@2a01:e0a:541:b8f0:5ffd:7ea2:ced5:7680)
07:50:18 gehmehgeh joins (~user@user/gehmehgeh)
07:51:22 × arjun quits (~arjun@user/arjun) (Ping timeout: 256 seconds)
07:52:00 briandaed joins (~jaroslawj@185.234.208.208.r.toneticgroup.pl)
07:53:57 × dust_ quits (~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2) (Ping timeout: 240 seconds)
07:55:13 dust_ joins (~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2)
07:55:30 cfricke joins (~cfricke@user/cfricke)
07:58:20 × kaph_ quits (~kaph@151.57.50.182) (Remote host closed the connection)
08:04:26 kaph joins (~kaph@151.57.50.182)
08:04:37 merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
08:05:00 × kaph quits (~kaph@151.57.50.182) (Remote host closed the connection)
08:06:35 neurocyte0917090 joins (~neurocyte@IP-094046082248.dynamic.medianet-world.de)
08:06:35 × neurocyte0917090 quits (~neurocyte@IP-094046082248.dynamic.medianet-world.de) (Changing host)
08:06:35 neurocyte0917090 joins (~neurocyte@user/neurocyte)
08:07:19 mc47 joins (~mc47@xmonad/TheMC47)
08:07:31 Major_Biscuit joins (~MajorBisc@c-001-020-005.client.tudelft.eduvpn.nl)
08:09:54 kaph joins (~kaph@151.57.50.182)
08:10:06 Tuplanolla joins (~Tuplanoll@91-159-68-166.elisa-laajakaista.fi)
08:11:19 × MajorBiscuit quits (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 268 seconds)
08:11:40 alp joins (~alp@user/alp)
08:11:46 × quintasan quits (~quassel@quintasan.pl) (Ping timeout: 256 seconds)
08:11:48 × Sgeo__ quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:25:54 jgeerds joins (~jgeerds@55d4a547.access.ecotel.net)
08:27:25 × kaph quits (~kaph@151.57.50.182) (Ping timeout: 256 seconds)
08:28:05 Gurkenglas joins (~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de)
08:28:47 chele joins (~chele@user/chele)
08:31:12 × jgeerds quits (~jgeerds@55d4a547.access.ecotel.net) (Remote host closed the connection)
08:31:23 jgeerds joins (~jgeerds@55d4a547.access.ecotel.net)
08:36:15 <tomsmeding> EvanR: indeed if d' < d, then the number of externally bound variables decreased, probably because some variables were inlined
08:36:59 <tomsmeding> or perhaps two variables x and y were now expressed as 'fst z' and 'snd z', for z a new bound variable -- I know the language doesn't have fst and snd, but then Church-encoded variants of them :D
08:38:17 × merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
08:39:18 whatif joins (~user@123.180.40.237)
08:40:07 <whatif> runghc test.hs, it tells me that utf8-string is hidden package, I run `ghc-pkg export utf8-string', still the same, why?
08:40:28 <whatif> those expose/hidden package is really anonying
08:40:51 <whatif> no cabal in current path, just a test file
08:49:31 quintasan joins (~quassel@quintasan.pl)
08:50:04 machinedgod joins (~machinedg@24.105.81.50)
08:50:21 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
08:52:04 <kuribas> going to be downvoted to hell for this, but just having fun: https://www.reddit.com/r/programming/comments/sh9uif/software_development_languages_haskell/
08:57:09 <lortabac> kuribas: :)
08:59:04 mikoto-chan joins (~mikoto-ch@84.199.144.235)
09:00:06 × prrxddq[m] quits (~prrxddqma@2001:470:69fc:105::1:4f72) (Quit: You have been kicked for being idle)
09:02:29 <whatif> https://hackage.haskell.org/package/scotty-0.9.0/docs/Web-Scotty-Trans.html#v:scottyT
09:02:57 <yushyin> kuribas: sure i can give you my downvote ;)
09:03:00 <whatif> what is this (m Response -> IO Response)
09:03:16 <kuribas> yushyin: do what you want :)
09:03:37 × dust_ quits (~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2) (Ping timeout: 240 seconds)
09:03:53 <whatif> or how to construct (m Response -> IO Response)?
09:04:16 <yushyin> tl;dr but if you want some by all means
09:04:37 <whatif> @hoogle Response
09:04:37 <lambdabot> Network.HTTP.Client data Response body
09:04:37 <lambdabot> Network.HTTP.Client.Internal data Response body
09:04:37 <lambdabot> Network.HTTP.Client.Internal Response :: Status -> HttpVersion -> ResponseHeaders -> body -> CookieJar -> ResponseClose -> Response body
09:05:33 <kuribas> whatif: by "running" your monad.
09:05:58 <whatif> kuribas: what does that mean?...
09:06:10 dust_ joins (~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2)
09:06:23 vysn joins (~vysn@user/vysn)
09:06:27 <kuribas> whatif: If you have a ReaderT, you can use runReaderT...
09:06:31 × jgeerds quits (~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 256 seconds)
09:06:44 <whatif> kuribas: StateT
09:06:52 <whatif> evalStateT
09:07:26 <kuribas> whatif: yes. But that could give problems with concurrency.
09:07:41 <whatif> scottyT 3000 $ flip evalStateT "msg" $ get "/" $ test "hello"
09:07:42 <kuribas> whatif: put an IORef in a ReaderT
09:08:13 <kuribas> ReaderT MyState (IO a)
09:08:25 <whatif> Couldn't match expected type `StateT [Char] ((->) (m Response)) (IO Response)' with actual type `ScottyT e1 m1 ()'
09:08:59 <kuribas> type MyState = IORef AppState
09:09:54 <kuribas> whatif: does your state need to persist?
09:10:05 <whatif> kuribas: put and get with StateT could not do the same like IORef?
09:10:35 <kuribas> I don't think the pure state will persist between requests.
09:10:35 <whatif> kuribas: yes
09:11:23 <kuribas> So you'll need a IORef, or MVar, TVar, ...
09:11:29 <whatif> kuribas: because requests are?
09:11:36 <kuribas> requests are in IO.
09:12:12 <whatif> kuribas: StateT could work on IO?
09:12:17 <whatif> couldn't?
09:13:08 <kuribas> no, StateT encapsulates IO.
09:13:12 <kuribas> Not the other way around.
09:14:14 <kuribas> and a Wai Application is basically "Request -> IO Response"
09:14:49 <kuribas> whatif: you could keep your StateT and wrap it in a ReaderT with IORef.
09:15:06 <kuribas> whatif: but that's probably not easier that simply using an IORef.
09:16:25 merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
09:18:58 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
09:18:58 allbery_b joins (~geekosaur@xmonad/geekosaur)
09:19:01 allbery_b is now known as geekosaur
09:19:02 <kuribas> whatif: note that a toplevel "ReaderT IO a" is a common pattern for a toplevel application monad.
09:19:20 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
09:20:06 akegalj joins (~akegalj@185.230.83.17)
09:20:07 <whatif> kuribas: what I'm confused is why not use StateT s IO a
09:20:32 <kuribas> because the "s" doesn't persist.
09:20:37 <kuribas> between requests.
09:21:06 <whatif> kuribas: why "s" dones't persist between requests?
09:21:14 <kuribas> In other words, the s is "readonly", so you can use ReaderT isntead.
09:21:14 <whatif> just because of IO?
09:21:17 <kuribas> yes.
09:21:44 <kuribas> whatif: look at the Application type above, and tell me how you could persist state.
09:21:50 <ephemient> you provide s to every evalStateT
09:22:10 <kuribas> ephemient: yes, so you get a ReaderT disguised as a StateT.
09:22:39 <ephemient> in theory you could runStateT, pull it out, stuff it in an IORef, read it back the next request and put it into state again, but…
09:22:47 <ephemient> why would you do that instead of just using IORef?
09:23:11 <whatif> just using IORef would be easier than StateT or ReaderT?
09:23:34 <whatif> could we have global variable in Haskell?
09:23:46 <whatif> that would be so easy with global variable to do this
09:23:47 <kuribas> whatif: not without unsafePerformIO.
09:24:05 <whatif> kuribas: but IORef is safe?
09:24:24 <kuribas> Putting an IORef in a ReaderT isn't hard.
09:24:26 <ephemient> in the ReaderT IO pattern, you'd put references to your "global" variables in the "reader" environment
09:24:41 <kuribas> You can write a helper to extract or update this state from your app monad.
09:25:03 × Major_Biscuit quits (~MajorBisc@c-001-020-005.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.4)
09:25:11 <kuribas> whatif: also, "ReaderT AppState IO a " is the idiomatic way to do this.
09:25:19 <whatif> ephemient: what if I have two threads want to share the same variable?
09:25:19 <ephemient> they're not *global* global, just hoisted outside to outside of the app loop
09:25:28 <ephemient> they are shared this way
09:27:16 <kuribas> whatif: this is also better than global state, because you could for example run two servers with different state.
09:27:31 MajorBiscuit joins (~MajorBisc@c-001-020-005.client.tudelft.eduvpn.nl)
09:28:11 <whatif> kuribas: that better question is how to save inner value within a function out of it?
09:28:45 <kuribas> whatif: modifyIORef
09:30:50 sterni joins (~lukas@user/sterni)
09:34:49 <whatif> g x = do {o <- get; let {n=o+1}; put n; return (n+x);}
09:34:59 <whatif> runState (traverse g [1,1,1]) 0 == ([2,3,4],3)
09:35:06 <whatif> this s persist?
09:36:28 <kuribas> no?
09:37:56 <kuribas> whatif: the question doesn't make sense without context.
09:43:16 × spider__ quits (~spider@vps-951ce37a.vps.ovh.ca) (Ping timeout: 245 seconds)
09:43:43 arjun joins (~arjun@103.57.87.139)
09:44:19 <ephemient> if you have main = do varRef <- newIORef ...; let env = Env { varRef = varRef }; loop $ evalStateT foo env or whatever. then foo gets the same varRef across all invocations of foo from the same main. foo can gets varRef >>= liftM modifyIORef' (+ 1) or whatever it wants with that
09:52:31 son0p joins (~ff@2800:484:1d81:b700:d40b:900:b387:320)
09:56:56 spider__ joins (~spider@vps-951ce37a.vps.ovh.ca)
09:57:34 × dust_ quits (~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2) (Quit: Konversation terminated!)
09:59:00 max22- joins (~maxime@2a01cb0883359800761b1c69d9198b7f.ipv6.abo.wanadoo.fr)
10:01:37 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
10:02:45 Pickchea joins (~private@user/pickchea)
10:03:27 geekosaur joins (~geekosaur@xmonad/geekosaur)
10:07:56 zincy joins (~zincy@host86-151-99-97.range86-151.btcentralplus.com)
10:09:47 yhsiveht joins (~Nishant@2405:201:f005:c007:f4c6:4183:fabe:3b64)
10:10:35 eggplant_ joins (~Eggplanta@2600:1700:bef1:5e10:693a:de00:38ae:dac2)
10:10:37 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Ping timeout: 240 seconds)
10:10:37 × yaroot quits (~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953) (Ping timeout: 240 seconds)
10:10:37 × Adran quits (adran@botters/adran) (Ping timeout: 240 seconds)
10:10:53 aplainze1akind joins (~johndoe@captainludd.powered.by.lunarbnc.net)
10:10:57 yaroot joins (~yaroot@57.48.30.125.dy.iij4u.or.jp)
10:10:57 × agander_m quits (sid407952@id-407952.tinside.irccloud.com) (Ping timeout: 240 seconds)
10:10:57 × mtjm quits (~mutantmel@2604:a880:2:d0::208b:d001) (Ping timeout: 240 seconds)
10:10:57 × SrPx quits (sid108780@id-108780.uxbridge.irccloud.com) (Ping timeout: 240 seconds)
10:10:57 × joeyh quits (joeyh@kitenet.net) (Ping timeout: 240 seconds)
10:10:57 × tito quits (tito@tilde.team) (Ping timeout: 240 seconds)
10:11:04 Jing_ joins (~hedgehog@125.105.15.211)
10:11:06 agander_m joins (sid407952@id-407952.tinside.irccloud.com)
10:11:08 lightandlight_ joins (sid135476@id-135476.helmsley.irccloud.com)
10:11:08 asivitz_ joins (uid178348@id-178348.tinside.irccloud.com)
10:11:10 tritlo_ joins (sid58727@user/tritlo)
10:11:17 bbhoss_ joins (sid18216@id-18216.tinside.irccloud.com)
10:11:17 × lightandlight quits (sid135476@id-135476.helmsley.irccloud.com) (Ping timeout: 240 seconds)
10:11:17 × img quits (~img@user/img) (Ping timeout: 240 seconds)
10:11:17 × asivitz quits (uid178348@id-178348.tinside.irccloud.com) (Ping timeout: 240 seconds)
10:11:17 × catern quits (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (Ping timeout: 240 seconds)
10:11:17 × bbhoss quits (sid18216@id-18216.tinside.irccloud.com) (Ping timeout: 240 seconds)
10:11:17 × flukiluke quits (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Ping timeout: 240 seconds)
10:11:17 lightandlight_ is now known as lightandlight
10:11:17 asivitz_ is now known as asivitz
10:11:18 bbhoss_ is now known as bbhoss
10:11:20 joeyh joins (~joeyh@kitenet.net)
10:11:29 newhoggy_ joins (sid198874@id-198874.helmsley.irccloud.com)
10:11:30 aristid_ joins (sid1599@uxbridge.irccloud.com)
10:11:32 caasih_ joins (sid13241@id-13241.ilkley.irccloud.com)
10:11:37 × SwarmCollective quits (~joseph@2603-6011-bc02-b600-9258-c9a6-2983-1208.res6.spectrum.com) (Ping timeout: 240 seconds)
10:11:37 × Ram-Z quits (Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df) (Ping timeout: 240 seconds)
10:11:37 × caasih quits (sid13241@id-13241.ilkley.irccloud.com) (Ping timeout: 240 seconds)
10:11:37 caasih_ is now known as caasih
10:11:38 feliix42_ joins (~felix@gibbs.uberspace.de)
10:11:43 conjunctive_ joins (sid433686@id-433686.helmsley.irccloud.com)
10:11:48 Ram-Z_ joins (~Ram-Z@li1814-254.members.linode.com)
10:11:48 ehamberg_ joins (sid18208@id-18208.hampstead.irccloud.com)
10:11:49 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
10:11:49 obviyus_ joins (sid415299@user/obviyus)
10:11:52 truckasaurus_ joins (sid457088@id-457088.helmsley.irccloud.com)
10:11:55 SwarmCollective joins (~joseph@2603-6011-bc02-b600-8c82-3804-1c4b-e932.res6.spectrum.com)
10:11:57 × Jing quits (~hedgehog@240e:390:7c53:a7e1:1164:2854:8a6e:b4e3) (Ping timeout: 240 seconds)
10:11:57 × nshepperd quits (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (Ping timeout: 240 seconds)
10:11:57 × aristid quits (sid1599@id-1599.uxbridge.irccloud.com) (Ping timeout: 240 seconds)
10:11:57 × beaky quits (~beaky@2a03:b0c0:0:1010::1e:a001) (Ping timeout: 240 seconds)
10:11:57 × noddy quits (~user@user/noddy) (Ping timeout: 240 seconds)
10:11:58 aristid_ is now known as aristid
10:12:00 SrPx joins (sid108780@id-108780.uxbridge.irccloud.com)
10:12:17 × thevishy quits (~Nishant@2405:201:f005:c007:f4c6:4183:fabe:3b64) (Ping timeout: 240 seconds)
10:12:17 × conjunctive quits (sid433686@id-433686.helmsley.irccloud.com) (Ping timeout: 240 seconds)
10:12:17 × tritlo quits (sid58727@user/tritlo) (Ping timeout: 240 seconds)
10:12:17 × Flow quits (~none@gentoo/developer/flow) (Ping timeout: 240 seconds)
10:12:18 × obviyus quits (sid415299@user/obviyus) (Ping timeout: 240 seconds)
10:12:18 × aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 240 seconds)
10:12:18 × Hafydd quits (~Hafydd@user/hafydd) (Ping timeout: 240 seconds)
10:12:18 × hays quits (rootvegeta@fsf/member/hays) (Ping timeout: 240 seconds)
10:12:18 × landonf quits (landonf@mac68k.info) (Ping timeout: 240 seconds)
10:12:18 obviyus_ is now known as obviyus
10:12:18 conjunctive_ is now known as conjunctive
10:12:18 tritlo_ is now known as tritlo
10:12:37 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Ping timeout: 240 seconds)
10:12:37 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:f579:9b2b:4d0d:2d44) (Ping timeout: 240 seconds)
10:12:37 × n3rdy1 quits (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 240 seconds)
10:12:37 × newhoggy quits (sid198874@id-198874.helmsley.irccloud.com) (Ping timeout: 240 seconds)
10:12:37 × truckasaurus quits (sid457088@id-457088.helmsley.irccloud.com) (Ping timeout: 240 seconds)
10:12:37 × ehamberg quits (sid18208@id-18208.hampstead.irccloud.com) (Ping timeout: 240 seconds)
10:12:37 × feliix42 quits (~felix@gibbs.uberspace.de) (Ping timeout: 240 seconds)
10:12:37 × remexre quits (~remexre@user/remexre) (Ping timeout: 240 seconds)
10:12:37 newhoggy_ is now known as newhoggy
10:12:37 truckasaurus_ is now known as truckasaurus
10:12:38 ehamberg_ is now known as ehamberg
10:12:47 dut_ joins (~dut@user/dut)
10:13:00 tcard_ joins (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp)
10:13:00 hays joins (rootvegeta@fsf/member/hays)
10:13:16 remexre joins (~remexre@user/remexre)
10:13:59 mtjm joins (~mutantmel@2604:a880:2:d0::208b:d001)
10:14:07 Jing joins (~hedgehog@125.105.15.211)
10:14:08 beaky joins (~beaky@2a03:b0c0:0:1010::1e:a001)
10:14:14 nshepperd joins (nshepperd@2600:3c03::f03c:92ff:fe28:92c9)
10:14:15 noddy joins (~user@user/noddy)
10:14:21 Adran joins (adran@botters/adran)
10:14:31 × Alex_test quits (~al_test@178.34.151.37) (Ping timeout: 256 seconds)
10:14:31 × matijja quits (~matijja@193.77.181.201) (Ping timeout: 256 seconds)
10:14:31 × jespada quits (~jespada@87.74.36.188) (Ping timeout: 256 seconds)
10:14:41 flukiluke joins (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
10:14:48 joeyh_ joins (joeyh@kitenet.net)
10:15:05 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 256 seconds)
10:15:05 × michalz quits (~michalz@185.246.204.75) (Ping timeout: 256 seconds)
10:15:24 matijja joins (~matijja@193.77.181.201)
10:15:39 × Jing_ quits (~hedgehog@125.105.15.211) (Ping timeout: 256 seconds)
10:15:39 × yaroot quits (~yaroot@57.48.30.125.dy.iij4u.or.jp) (Ping timeout: 256 seconds)
10:15:39 × quintasan quits (~quassel@quintasan.pl) (Ping timeout: 256 seconds)
10:15:39 × tcard quits (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Ping timeout: 256 seconds)
10:15:39 × cheater quits (~Username@user/cheater) (Ping timeout: 256 seconds)
10:15:53 img joins (~img@user/img)
10:15:58 cheater joins (~Username@user/cheater)
10:16:10 quintasan joins (~quassel@quintasan.pl)
10:16:13 × joeyh quits (~joeyh@kitenet.net) (Ping timeout: 256 seconds)
10:16:13 × Pickchea quits (~private@user/pickchea) (Ping timeout: 256 seconds)
10:16:13 × Tuplanolla quits (~Tuplanoll@91-159-68-166.elisa-laajakaista.fi) (Ping timeout: 256 seconds)
10:16:13 × dut quits (~dut@user/dut) (Ping timeout: 256 seconds)
10:16:13 × nshepperd2 quits (~nshepperd@li364-218.members.linode.com) (Ping timeout: 256 seconds)
10:16:13 × Morrow quits (~user@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 256 seconds)
10:17:22 jespada joins (~jespada@87.74.36.188)
10:17:41 yaroot joins (~yaroot@57.48.30.125.dy.iij4u.or.jp)
10:17:41 Morrow joins (~user@bzq-110-168-31-106.red.bezeqint.net)
10:18:42 × merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
10:18:59 × eggplant_ quits (~Eggplanta@2600:1700:bef1:5e10:693a:de00:38ae:dac2) (Remote host closed the connection)
10:19:50 __monty__ joins (~toonn@user/toonn)
10:20:09 Tuplanolla joins (~Tuplanoll@91-159-68-166.elisa-laajakaista.fi)
10:20:21 Alex_test joins (~al_test@178.34.151.37)
10:21:02 × yhsiveht quits (~Nishant@2405:201:f005:c007:f4c6:4183:fabe:3b64) (Quit: Leaving)
10:22:59 rusrushal13 joins (~rusrushal@2409:4056:e82:6bda:bd0e:9743:fccb:b2a0)
10:26:01 n3rdy1 joins (~n3rdy1@2600:1700:4570:3480::41)
10:26:35 Hafydd joins (~Hafydd@user/hafydd)
10:26:44 Flow joins (~none@gentoo/developer/flow)
10:27:32 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
10:27:59 Vajb joins (~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e)
10:28:34 Pickchea joins (~private@user/pickchea)
10:30:06 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
10:30:10 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
10:31:47 ubert1 joins (~Thunderbi@p200300ecdf09945c0ca179bca462169c.dip0.t-ipconnect.de)
10:33:04 polezaivsani joins (~polezaivs@orangeshoelaces.net)
10:33:41 × Hafydd quits (~Hafydd@user/hafydd) (Ping timeout: 250 seconds)
10:34:00 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
10:34:27 × fef quits (~thedawn@user/thedawn) (Ping timeout: 276 seconds)
10:36:39 <polezaivsani> Hello! What'd be a good way to get a copy of haddoc for a package from hackage? I kind of got it via `cabal install --enable-documentation`, though it ends up in store and i wonder if there is an easier way to do it?
10:42:21 × Benzi-Junior quits (~BenziJuni@dsl-149-66-61.hive.is) (Ping timeout: 250 seconds)
10:42:39 × Jing quits (~hedgehog@125.105.15.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:44:03 CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
10:44:25 tom__ joins (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684)
10:45:11 × davetapley quits (sid666@id-666.uxbridge.irccloud.com) (Ping timeout: 250 seconds)
10:45:11 × megaTherion quits (~therion@unix.io) (Ping timeout: 250 seconds)
10:45:11 × hendi quits (sid489601@2a03:5180:f:2::7:7881) (Ping timeout: 250 seconds)
10:45:11 × AndreasK quits (sid320732@2a03:5180:f:5::4:e4dc) (Ping timeout: 250 seconds)
10:45:24 kuribas` joins (~user@ptr-25vy0i9didaz6k0kzeu.18120a2.ip6.access.telenet.be)
10:45:37 × kristjansson quits (sid126207@id-126207.tinside.irccloud.com) (Ping timeout: 250 seconds)
10:45:37 × aria quits (sid380617@2a03:5180:f:2::5:cec9) (Ping timeout: 250 seconds)
10:45:37 × jonrh quits (sid5185@2a03:5180:f:3::1441) (Ping timeout: 250 seconds)
10:45:55 jonrh joins (sid5185@id-5185.ilkley.irccloud.com)
10:45:58 taktoa[c]_ joins (sid282096@id-282096.tinside.irccloud.com)
10:45:59 AndreasK joins (sid320732@id-320732.uxbridge.irccloud.com)
10:46:05 davetapley joins (sid666@id-666.uxbridge.irccloud.com)
10:46:07 hendi joins (sid489601@id-489601.lymington.irccloud.com)
10:46:11 oats_ joins (~thomas@user/oats)
10:46:18 aria joins (sid380617@lymington.irccloud.com)
10:46:26 kristjansson joins (sid126207@id-126207.tinside.irccloud.com)
10:46:29 × euphrates[m] quits (~euphrates@2001:470:69fc:105::fbb5) (Ping timeout: 250 seconds)
10:46:29 × Arathorn quits (~arathorn@2001:470:69fc:105::1f) (Ping timeout: 250 seconds)
10:46:29 × flupe quits (~baboum@radon.sbi.re) (Ping timeout: 250 seconds)
10:46:35 megaTherion joins (~therion@unix.io)
10:46:44 sajith_ joins (~sajith@user/sajith)
10:46:46 fef joins (~thedawn@user/thedawn)
10:46:55 × ManofLetters[m] quits (~manoflett@2001:470:69fc:105::3be) (Ping timeout: 250 seconds)
10:46:55 × ddb quits (~ddb@ipv6two.tilde.club) (Ping timeout: 250 seconds)
10:46:55 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 250 seconds)
10:46:55 × fgaz quits (~fgaz@2001:470:69fc:105::842) (Ping timeout: 250 seconds)
10:46:55 × jmcantrell quits (~jmcantrel@user/jmcantrell) (Ping timeout: 250 seconds)
10:46:55 × justosophy[m] quits (~justosoph@2001:470:69fc:105::572f) (Ping timeout: 250 seconds)
10:46:55 × joaquinmg[m] quits (~joaquinmg@2001:470:69fc:105::1:67d2) (Ping timeout: 250 seconds)
10:46:55 × sajith quits (~sajith@user/sajith) (Ping timeout: 250 seconds)
10:46:55 × taktoa[c] quits (sid282096@2a03:5180:f::4:4df0) (Ping timeout: 250 seconds)
10:46:55 × jackhill quits (~jackhill@kalessin.dragonsnail.net) (Ping timeout: 250 seconds)
10:46:56 taktoa[c]_ is now known as taktoa[c]
10:47:00 cosimone` joins (~user@93-47-231-100.ip115.fastwebnet.it)
10:47:21 × kuribas quits (~user@ptr-25vy0i9mijo6rhu39yx.18120a2.ip6.access.telenet.be) (Ping timeout: 250 seconds)
10:47:21 × tom_ quits (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) (Ping timeout: 250 seconds)
10:47:21 × jkaye[m] quits (~jkayematr@2001:470:69fc:105::1:86f7) (Ping timeout: 250 seconds)
10:47:21 × ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 250 seconds)
10:47:21 × juhp[m] quits (~juhpmatri@2001:470:69fc:105::6e9) (Ping timeout: 250 seconds)
10:47:21 × maralorn quits (~maralorn@2001:470:69fc:105::251) (Ping timeout: 250 seconds)
10:47:21 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Ping timeout: 250 seconds)
10:47:21 × Topik[m] quits (~topikmatr@2001:470:69fc:105::a082) (Ping timeout: 250 seconds)
10:47:21 × bitonic quits (~bitonic@2001:470:69fc:105::1812) (Ping timeout: 250 seconds)
10:47:21 × codygman[m] quits (~codygman@2001:470:69fc:105::b4ba) (Ping timeout: 250 seconds)
10:47:21 × litharn[m] quits (~litharnma@2001:470:69fc:105::1:8336) (Ping timeout: 250 seconds)
10:47:21 × synthmeat quits (~synthmeat@user/synthmeat) (Ping timeout: 250 seconds)
10:47:21 × earthy quits (~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0) (Ping timeout: 250 seconds)
10:47:21 × oats quits (~thomas@user/oats) (Ping timeout: 250 seconds)
10:47:25 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
10:47:31 Hafydd joins (~Hafydd@user/hafydd)
10:47:33 flupe joins (~baboum@radon.sbi.re)
10:47:59 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 250 seconds)
10:48:26 ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
10:48:51 jackhill joins (~jackhill@kalessin.dragonsnail.net)
10:49:00 ddb joins (~ddb@ipv6two.tilde.club)
10:49:39 × polezaivsani quits (~polezaivs@orangeshoelaces.net) (Ping timeout: 256 seconds)
10:49:39 × yaroot quits (~yaroot@57.48.30.125.dy.iij4u.or.jp) (Ping timeout: 256 seconds)
10:50:04 yaroot joins (~yaroot@57.48.30.125.dy.iij4u.or.jp)
10:51:21 × __monty__ quits (~toonn@user/toonn) (Ping timeout: 256 seconds)
10:51:34 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
10:52:37 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
10:52:49 __monty__ joins (~toonn@user/toonn)
10:54:03 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:54:44 polezaivsani joins (~polezaivs@orangeshoelaces.net)
10:55:17 × ardell quits (~ardell@user/ardell) (Quit: Konversation terminated!)
10:55:26 michalz joins (~michalz@185.246.204.89)
10:59:22 earthy joins (~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0)
10:59:44 Arathorn joins (~arathorn@2001:470:69fc:105::1f)
11:00:04 synthmeat joins (~synthmeat@user/synthmeat)
11:00:24 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
11:00:34 litharn[m] joins (~litharnma@2001:470:69fc:105::1:8336)
11:01:11 codygman[m] joins (~codygman@2001:470:69fc:105::b4ba)
11:01:24 jkaye[m] joins (~jkayematr@2001:470:69fc:105::1:86f7)
11:01:40 marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8)
11:02:31 euphrates[m] joins (~euphrates@2001:470:69fc:105::fbb5)
11:02:35 Topik[m] joins (~topikmatr@2001:470:69fc:105::a082)
11:02:40 bitonic joins (~bitonic@2001:470:69fc:105::1812)
11:04:01 × Pickchea quits (~private@user/pickchea) (Ping timeout: 250 seconds)
11:04:35 fgaz joins (~fgaz@2001:470:69fc:105::842)
11:04:36 × quintasan quits (~quassel@quintasan.pl) (Ping timeout: 268 seconds)
11:05:07 justosophy[m] joins (~justosoph@2001:470:69fc:105::572f)
11:05:37 ManofLetters[m] joins (~manoflett@2001:470:69fc:105::3be)
11:06:01 joaquinmg[m] joins (~joaquinmg@2001:470:69fc:105::1:67d2)
11:07:19 jmcantrell joins (~jmcantrel@user/jmcantrell)
11:07:26 × CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
11:08:21 maralorn joins (~maralorn@2001:470:69fc:105::251)
11:08:26 landonf joins (landonf@mac68k.info)
11:08:51 nshepperd2 joins (nshepperd@2600:3c03::f03c:92ff:fe28:92c9)
11:09:56 juhp[m] joins (~juhpmatri@2001:470:69fc:105::6e9)
11:10:05 Jing joins (~hedgehog@240e:390:7c53:a7e1:4458:b22e:b9a7:2cea)
11:13:12 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
11:18:05 × oscurochu quits (~oscurochu@097-096-050-227.res.spectrum.com) (Remote host closed the connection)
11:19:59 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49)
11:20:28 × Akiva quits (~Akiva@user/Akiva) (Ping timeout: 256 seconds)
11:24:17 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49) (Ping timeout: 240 seconds)
11:27:22 quintasan joins (~quassel@quintasan.pl)
11:28:55 chenqisu1 joins (~chenqisu1@183.217.200.249)
11:28:55 × chenqisu1 quits (~chenqisu1@183.217.200.249) (Read error: Connection reset by peer)
11:31:51 nunggu joins (~q@user/nunggu)
11:32:38 lavaman joins (~lavaman@98.38.249.169)
11:33:35 × moats quits (~oats@user/oats) (Quit: Bridge terminating on SIGTERM)
11:33:36 × schuelermine[m] quits (~schuelerm@user/schuelermine) (Quit: Bridge terminating on SIGTERM)
11:33:36 × Orbstheorem quits (~orbstheor@2001:470:69fc:105::a56) (Quit: Bridge terminating on SIGTERM)
11:33:36 × SridharRatnakuma quits (~sridmatri@2001:470:69fc:105::1c2) (Quit: Bridge terminating on SIGTERM)
11:33:36 × aidy quits (~aidy@2001:470:69fc:105::c7b4) (Quit: Bridge terminating on SIGTERM)
11:33:36 × Heffalump[m] quits (~hsenagmat@2001:470:69fc:105::e11) (Quit: Bridge terminating on SIGTERM)
11:33:36 × alexfmpe[m] quits (~alexfmpem@2001:470:69fc:105::38ba) (Quit: Bridge terminating on SIGTERM)
11:33:36 × cstml[m] quits (~cstmlmatr@2001:470:69fc:105::1:5c07) (Quit: Bridge terminating on SIGTERM)
11:33:36 × RosarioPulella[m quits (~rosariopu@2001:470:69fc:105::a57) (Quit: Bridge terminating on SIGTERM)
11:33:36 × EkaiZend[m] quits (~ekai-zend@2001:470:69fc:105::1:7756) (Quit: Bridge terminating on SIGTERM)
11:33:36 × eoiles[m] quits (~eoilesmat@2001:470:69fc:105::1:6164) (Quit: Bridge terminating on SIGTERM)
11:33:36 × craige[m] quits (~craigemcw@2001:470:69fc:105::35f1) (Quit: Bridge terminating on SIGTERM)
11:33:36 × tripa[m] quits (~tripamatr@2001:470:69fc:105::1:4f7e) (Quit: Bridge terminating on SIGTERM)
11:33:36 × yehoshuapw quits (~yehoshuap@2001:470:69fc:105::a5f) (Quit: Bridge terminating on SIGTERM)
11:33:36 × james[m]123 quits (~jamesnina@2001:470:69fc:105::1:4203) (Quit: Bridge terminating on SIGTERM)
11:33:36 × sofviic[m] quits (~sofviicma@2001:470:69fc:105::1:51fd) (Quit: Bridge terminating on SIGTERM)
11:33:36 × thomasjm[m] quits (~thomasjmm@2001:470:69fc:105::c6d9) (Quit: Bridge terminating on SIGTERM)
11:33:36 × sekun[m] quits (~hsekmatri@2001:470:69fc:105::d18f) (Quit: Bridge terminating on SIGTERM)
11:33:36 × wysteriary[m] quits (~wysteriar@2001:470:69fc:105::a42e) (Quit: Bridge terminating on SIGTERM)
11:33:36 × jesser[m] quits (~jessermat@2001:470:69fc:105::d5ae) (Quit: Bridge terminating on SIGTERM)
11:33:36 × kalxd[m] quits (~kalxdmatr@2001:470:69fc:105::1:576e) (Quit: Bridge terminating on SIGTERM)
11:33:36 × throwaaaa[m] quits (~throwaaaa@2001:470:69fc:105::1:6fe6) (Quit: Bridge terminating on SIGTERM)
11:33:36 × soft quits (~soft@2001:470:69fc:105::c75) (Quit: Bridge terminating on SIGTERM)
11:33:36 × oak- quits (~oakuniver@2001:470:69fc:105::fcd) (Quit: Bridge terminating on SIGTERM)
11:33:36 × Morrow[m] quits (~morrowmma@2001:470:69fc:105::1d0) (Quit: Bridge terminating on SIGTERM)
11:33:36 × nomeata quits (~nomeata@2001:470:69fc:105::1:5ed4) (Quit: Bridge terminating on SIGTERM)
11:33:36 × octeep[m] quits (~octeepoct@2001:470:69fc:105::1:3dbf) (Quit: Bridge terminating on SIGTERM)
11:33:36 × afotgkmnzj7asv3r quits (~afotgkmnz@2001:470:69fc:105::c24b) (Quit: Bridge terminating on SIGTERM)
11:33:36 × mmos[m] quits (~mmosmatri@2001:470:69fc:105::1:8340) (Quit: Bridge terminating on SIGTERM)
11:33:36 × Michal[m] quits (~oomiguelm@2001:470:69fc:105::1:5ab0) (Quit: Bridge terminating on SIGTERM)
11:33:36 × sjanssen quits (~sjanssenm@2001:470:69fc:105::1:61d8) (Quit: Bridge terminating on SIGTERM)
11:33:36 × benjamin[m]123 quits (~benjaminm@2001:470:69fc:105::1:3f2f) (Quit: Bridge terminating on SIGTERM)
11:33:36 × Nate[m] quits (~m52957mat@2001:470:69fc:105::1:591a) (Quit: Bridge terminating on SIGTERM)
11:33:36 × simmsb quits (~simmsb@2001:470:69fc:105::1:55c3) (Quit: Bridge terminating on SIGTERM)
11:33:36 × cherryblossom[m] quits (~cherryblo@2001:470:69fc:105::b789) (Quit: Bridge terminating on SIGTERM)
11:33:36 × phuegrvs[m] quits (~phuegrvsm@2001:470:69fc:105::1:65e4) (Quit: Bridge terminating on SIGTERM)
11:33:36 × jchia[m] quits (~jchiamatr@2001:470:69fc:105::c50b) (Quit: Bridge terminating on SIGTERM)
11:33:37 × Sixto[m] quits (~provornyc@2001:470:69fc:105::1:74df) (Quit: Bridge terminating on SIGTERM)
11:33:37 × bb010g quits (~bb010g@2001:470:69fc:105::9a5) (Quit: Bridge terminating on SIGTERM)
11:33:38 × siraben quits (~siraben@user/siraben) (Quit: Bridge terminating on SIGTERM)
11:33:38 × ormaaj quits (~ormaaj@user/ormaaj) (Quit: Bridge terminating on SIGTERM)
11:33:38 × kadoban quits (~kadoban@user/kadoban) (Quit: Bridge terminating on SIGTERM)
11:33:38 × hsiktas[m] quits (~hsiktasm]@2001:470:69fc:105::30d4) (Quit: Bridge terminating on SIGTERM)
11:33:38 × vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Quit: Bridge terminating on SIGTERM)
11:33:38 × psydroid quits (~psydroid@user/psydroid) (Quit: Bridge terminating on SIGTERM)
11:33:38 × unclechu quits (~unclechu@2001:470:69fc:105::354) (Quit: Bridge terminating on SIGTERM)
11:33:38 × carmysilna quits (~brightly-@2001:470:69fc:105::2190) (Quit: Bridge terminating on SIGTERM)
11:33:38 × jinsun_ quits (~jinsun@user/jinsun) (Quit: Bridge terminating on SIGTERM)
11:33:38 × smichel17[m] quits (~smichel17@2001:470:69fc:105::2d32) (Quit: Bridge terminating on SIGTERM)
11:33:38 × ericson2314 quits (~ericson23@2001:470:69fc:105::70c) (Quit: Bridge terminating on SIGTERM)
11:33:39 × wildsebastian quits (~wildsebas@2001:470:69fc:105::1:14b1) (Quit: Bridge terminating on SIGTERM)
11:33:39 × Deide quits (~deide@user/deide) (Quit: Bridge terminating on SIGTERM)
11:33:39 × Artem[m] quits (~artemtype@2001:470:69fc:105::75b) (Quit: Bridge terminating on SIGTERM)
11:33:39 × DemiMarieObenour quits (~alwayscur@2001:470:69fc:105::4886) (Quit: Bridge terminating on SIGTERM)
11:33:39 × SawyerBergeron[m quits (~sawyerber@2001:470:69fc:105::3036) (Quit: Bridge terminating on SIGTERM)
11:33:39 × jneira[m] quits (~jneiramat@2001:470:69fc:105::d729) (Quit: Bridge terminating on SIGTERM)
11:33:39 × Tisoxin quits (~ikosit@user/ikosit) (Quit: Bridge terminating on SIGTERM)
11:33:39 × finalti[m] quits (~finaltima@2001:470:69fc:105::d909) (Quit: Bridge terminating on SIGTERM)
11:33:39 × Christoph[m] quits (~hpotsirhc@2001:470:69fc:105::2ff8) (Quit: Bridge terminating on SIGTERM)
11:33:39 × unrooted quits (~unrooted@2001:470:69fc:105::a4a) (Quit: Bridge terminating on SIGTERM)
11:33:39 × thejuan24f[m] quits (~thejuan2m@2001:470:69fc:105::1:6569) (Quit: Bridge terminating on SIGTERM)
11:33:39 × fcortesi quits (~fcortesi@2001:470:69fc:105::f3a9) (Quit: Bridge terminating on SIGTERM)
11:33:39 × fendor[m] quits (~fendormat@2001:470:69fc:105::fcbd) (Quit: Bridge terminating on SIGTERM)
11:33:39 × cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (Quit: Bridge terminating on SIGTERM)
11:33:39 × reza[m] quits (~rezaphone@2001:470:69fc:105::3eda) (Quit: Bridge terminating on SIGTERM)
11:33:39 × mahene[m] quits (~mahenemat@2001:470:69fc:105::1:6a93) (Quit: Bridge terminating on SIGTERM)
11:33:39 × pfurla-matrix quits (~pedrofurl@2001:470:69fc:105::1:51d7) (Quit: Bridge terminating on SIGTERM)
11:33:39 × Guillaum[m] quits (~guiboumat@2001:470:69fc:105::1:72ac) (Quit: Bridge terminating on SIGTERM)
11:33:39 × JoseC[m] quits (~jmcardonm@2001:470:69fc:105::1:7539) (Quit: Bridge terminating on SIGTERM)
11:33:39 × ongy[m] quits (~ongymatri@2001:470:69fc:105::5018) (Quit: Bridge terminating on SIGTERM)
11:33:39 × zfnmxt quits (~zfnmxtzfn@2001:470:69fc:105::2b32) (Quit: Bridge terminating on SIGTERM)
11:33:39 × amesgen[m] quits (~amesgenm]@2001:470:69fc:105::82b) (Quit: Bridge terminating on SIGTERM)
11:33:40 × ac quits (~aloiscoch@2001:470:69fc:105::65) (Quit: Bridge terminating on SIGTERM)
11:33:40 × ParsaAlizadeh[m] quits (~lizadehma@2001:470:69fc:105::1:65a4) (Quit: Bridge terminating on SIGTERM)
11:33:40 × denbrahe quits (~denbrahe@2001:470:69fc:105::19c0) (Quit: Bridge terminating on SIGTERM)
11:33:40 × sm1 quits (~sm@plaintextaccounting/sm) (Quit: Bridge terminating on SIGTERM)
11:33:40 × Yehoshua quits (~yehoshua@2001:470:69fc:105::1:593f) (Quit: Bridge terminating on SIGTERM)
11:33:40 × peddie quits (~peddie@2001:470:69fc:105::25d) (Quit: Bridge terminating on SIGTERM)
11:33:40 × Las[m] quits (~lasmatrix@2001:470:69fc:105::74e) (Quit: Bridge terminating on SIGTERM)
11:33:40 × quantum quits (~quantum@user/quantum/x-8556232) (Quit: Bridge terminating on SIGTERM)
11:33:40 × xbreu quits (~xbreu@2001:470:69fc:105::1:5061) (Quit: Bridge terminating on SIGTERM)
11:33:40 × alex[m]1234567 quits (~alexchete@2001:470:69fc:105::1:1001) (Quit: Bridge terminating on SIGTERM)
11:33:41 × maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (Quit: Bridge terminating on SIGTERM)
11:33:41 × jaror[m] quits (~jaror@2001:470:69fc:105::265) (Quit: Bridge terminating on SIGTERM)
11:33:41 × zwro[m] quits (~zwromatri@2001:470:69fc:105::1d4) (Quit: Bridge terminating on SIGTERM)
11:33:41 × Arathorn quits (~arathorn@2001:470:69fc:105::1f) (Quit: Bridge terminating on SIGTERM)
11:33:41 × codygman[m] quits (~codygman@2001:470:69fc:105::b4ba) (Quit: Bridge terminating on SIGTERM)
11:33:41 × jkaye[m] quits (~jkayematr@2001:470:69fc:105::1:86f7) (Quit: Bridge terminating on SIGTERM)
11:33:41 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Quit: Bridge terminating on SIGTERM)
11:33:41 × euphrates[m] quits (~euphrates@2001:470:69fc:105::fbb5) (Quit: Bridge terminating on SIGTERM)
11:33:41 × Topik[m] quits (~topikmatr@2001:470:69fc:105::a082) (Quit: Bridge terminating on SIGTERM)
11:33:41 × bitonic quits (~bitonic@2001:470:69fc:105::1812) (Quit: Bridge terminating on SIGTERM)
11:33:41 × fgaz quits (~fgaz@2001:470:69fc:105::842) (Quit: Bridge terminating on SIGTERM)
11:33:41 × justosophy[m] quits (~justosoph@2001:470:69fc:105::572f) (Quit: Bridge terminating on SIGTERM)
11:33:41 × ManofLetters[m] quits (~manoflett@2001:470:69fc:105::3be) (Quit: Bridge terminating on SIGTERM)
11:33:41 × jmcantrell quits (~jmcantrel@user/jmcantrell) (Quit: Bridge terminating on SIGTERM)
11:33:41 × maralorn quits (~maralorn@2001:470:69fc:105::251) (Quit: Bridge terminating on SIGTERM)
11:33:41 × litharn[m] quits (~litharnma@2001:470:69fc:105::1:8336) (Quit: Bridge terminating on SIGTERM)
11:33:41 × juhp[m] quits (~juhpmatri@2001:470:69fc:105::6e9) (Quit: Bridge terminating on SIGTERM)
11:33:41 × joaquinmg[m] quits (~joaquinmg@2001:470:69fc:105::1:67d2) (Quit: Bridge terminating on SIGTERM)
11:35:07 jakalx parts (~jakalx@base.jakalx.net) ()
11:35:53 × dut_ quits (~dut@user/dut) (Quit: Leaving)
11:36:41 × polezaivsani quits (~polezaivs@orangeshoelaces.net) (Ping timeout: 256 seconds)
11:38:35 mestre joins (~mestre@191.177.181.194)
11:39:05 <mestre> /clear
11:39:08 polezaivsani joins (~polezaivs@orangeshoelaces.net)
11:40:18 juhp[m] joins (~juhpmatri@2001:470:69fc:105::6e9)
11:40:41 <mestre> hello, I was wondering if there was an automated way to check unused libraries in the package.yaml.
11:40:54 jchia[m] joins (~jchiamatr@2001:470:69fc:105::c50b)
11:40:54 fgaz joins (~fgaz@2001:470:69fc:105::842)
11:40:54 cdsmith joins (~cdsmithma@2001:470:69fc:105::284)
11:40:54 peddie joins (~peddie@2001:470:69fc:105::25d)
11:41:06 thomasjm[m] joins (~thomasjmm@2001:470:69fc:105::c6d9)
11:41:10 <mestre> Does anyone knows of something or can point me in the right direction?
11:41:20 bb010g joins (~bb010g@2001:470:69fc:105::9a5)
11:41:20 amesgen[m] joins (~amesgenm]@2001:470:69fc:105::82b)
11:41:32 JoseC[m] joins (~jmcardonm@2001:470:69fc:105::1:7539)
11:41:44 soft joins (~soft@2001:470:69fc:105::c75)
11:41:44 zfnmxt joins (~zfnmxtzfn@2001:470:69fc:105::2b32)
11:41:58 oak- joins (~oakuniver@2001:470:69fc:105::fcd)
11:41:58 kadoban joins (~kadoban@user/kadoban)
11:41:58 ericson2314 joins (~ericson23@2001:470:69fc:105::70c)
11:41:58 moats joins (~oats@user/oats)
11:41:58 Arathorn joins (~arathorn@2001:470:69fc:105::1f)
11:41:59 Topik[m] joins (~topikmatr@2001:470:69fc:105::a082)
11:41:59 unclechu joins (~unclechu@2001:470:69fc:105::354)
11:42:10 sekun[m] joins (~hsekmatri@2001:470:69fc:105::d18f)
11:42:10 maralorn joins (~maralorn@2001:470:69fc:105::251)
11:42:22 reza[m] joins (~rezaphone@2001:470:69fc:105::3eda)
11:42:22 quantum joins (~quantum@user/quantum/x-8556232)
11:42:35 Michal[m] joins (~oomiguelm@2001:470:69fc:105::1:5ab0)
11:42:49 marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8)
11:42:49 denbrahe joins (~denbrahe@2001:470:69fc:105::19c0)
11:43:03 finalti[m] joins (~finaltima@2001:470:69fc:105::d909)
11:43:16 sjanssen joins (~sjanssenm@2001:470:69fc:105::1:61d8)
11:43:16 Las[m] joins (~lasmatrix@2001:470:69fc:105::74e)
11:43:30 Yehoshua joins (~yehoshua@2001:470:69fc:105::1:593f)
11:43:42 craige[m] joins (~craigemcw@2001:470:69fc:105::35f1)
11:43:42 schuelermine[m] joins (~schuelerm@user/schuelermine)
11:43:42 sm joins (~sm@plaintextaccounting/sm)
11:43:42 mahene[m] joins (~mahenemat@2001:470:69fc:105::1:6a93)
11:43:55 justosophy[m] joins (~justosoph@2001:470:69fc:105::572f)
11:43:56 hsiktas[m] joins (~hsiktasm]@2001:470:69fc:105::30d4)
11:43:56 Deide joins (~deide@user/deide)
11:44:11 Morrow[m] joins (~morrowmma@2001:470:69fc:105::1d0)
11:44:12 Artem[m] joins (~artemtype@2001:470:69fc:105::75b)
11:44:12 Christoph[m] joins (~hpotsirhc@2001:470:69fc:105::2ff8)
11:44:13 psydroid joins (~psydroid@user/psydroid)
11:44:25 wysteriary[m] joins (~wysteriar@2001:470:69fc:105::a42e)
11:44:26 ongy[m] joins (~ongymatri@2001:470:69fc:105::5018)
11:44:53 alexfmpe[m] joins (~alexfmpem@2001:470:69fc:105::38ba)
11:45:02 jneira[m] joins (~jneiramat@2001:470:69fc:105::d729)
11:45:03 siraben joins (~siraben@user/siraben)
11:45:06 SawyerBergeron[m joins (~sawyerber@2001:470:69fc:105::3036)
11:45:06 smichel17[m] joins (~smichel17@2001:470:69fc:105::2d32)
11:45:30 alex[m]123 joins (~alexchete@2001:470:69fc:105::1:1001)
11:45:39 ManofLetters[m] joins (~manoflett@2001:470:69fc:105::3be)
11:45:41 Tisoxin joins (~ikosit@user/ikosit)
11:45:45 carmysilna joins (~brightly-@2001:470:69fc:105::2190)
11:45:48 fendor[m] joins (~fendormat@2001:470:69fc:105::fcbd)
11:46:09 aidy joins (~aidy@2001:470:69fc:105::c7b4)
11:46:23 DemiMarieObenour joins (~alwayscur@2001:470:69fc:105::4886)
11:46:24 vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe)
11:46:31 jmcantrell joins (~jmcantrel@user/jmcantrell)
11:46:32 maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee)
11:46:53 RosarioPulella[m joins (~rosariopu@2001:470:69fc:105::a57)
11:47:38 soxen joins (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
11:47:41 × RosarioPulella[m quits (~rosariopu@2001:470:69fc:105::a57) (Remote host closed the connection)
11:47:42 × aidy quits (~aidy@2001:470:69fc:105::c7b4) (Remote host closed the connection)
11:47:42 × SawyerBergeron[m quits (~sawyerber@2001:470:69fc:105::3036) (Remote host closed the connection)
11:47:42 × justosophy[m] quits (~justosoph@2001:470:69fc:105::572f) (Remote host closed the connection)
11:47:42 × jchia[m] quits (~jchiamatr@2001:470:69fc:105::c50b) (Remote host closed the connection)
11:47:42 × ericson2314 quits (~ericson23@2001:470:69fc:105::70c) (Remote host closed the connection)
11:47:42 × ongy[m] quits (~ongymatri@2001:470:69fc:105::5018) (Remote host closed the connection)
11:47:42 × alex[m]123 quits (~alexchete@2001:470:69fc:105::1:1001) (Remote host closed the connection)
11:47:42 × Morrow[m] quits (~morrowmma@2001:470:69fc:105::1d0) (Remote host closed the connection)
11:47:42 × bb010g quits (~bb010g@2001:470:69fc:105::9a5) (Read error: Connection reset by peer)
11:47:42 × carmysilna quits (~brightly-@2001:470:69fc:105::2190) (Read error: Connection reset by peer)
11:47:42 × Michal[m] quits (~oomiguelm@2001:470:69fc:105::1:5ab0) (Read error: Connection reset by peer)
11:47:42 × peddie quits (~peddie@2001:470:69fc:105::25d) (Read error: Connection reset by peer)
11:47:42 × thomasjm[m] quits (~thomasjmm@2001:470:69fc:105::c6d9) (Read error: Connection reset by peer)
11:47:42 × denbrahe quits (~denbrahe@2001:470:69fc:105::19c0) (Read error: Connection reset by peer)
11:47:42 × jneira[m] quits (~jneiramat@2001:470:69fc:105::d729) (Write error: Connection reset by peer)
11:47:42 × Artem[m] quits (~artemtype@2001:470:69fc:105::75b) (Write error: Connection reset by peer)
11:47:42 × oak- quits (~oakuniver@2001:470:69fc:105::fcd) (Write error: Connection reset by peer)
11:47:42 × Deide quits (~deide@user/deide) (Remote host closed the connection)
11:47:42 × vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Read error: Connection reset by peer)
11:47:42 × kadoban quits (~kadoban@user/kadoban) (Read error: Connection reset by peer)
11:47:42 × wysteriary[m] quits (~wysteriar@2001:470:69fc:105::a42e) (Remote host closed the connection)
11:47:42 × amesgen[m] quits (~amesgenm]@2001:470:69fc:105::82b) (Read error: Connection reset by peer)
11:47:42 × craige[m] quits (~craigemcw@2001:470:69fc:105::35f1) (Remote host closed the connection)
11:47:42 × Arathorn quits (~arathorn@2001:470:69fc:105::1f) (Remote host closed the connection)
11:47:42 × sekun[m] quits (~hsekmatri@2001:470:69fc:105::d18f) (Read error: Connection reset by peer)
11:47:42 × quantum quits (~quantum@user/quantum/x-8556232) (Read error: Connection reset by peer)
11:47:42 × jmcantrell quits (~jmcantrel@user/jmcantrell) (Write error: Connection reset by peer)
11:47:42 × Tisoxin quits (~ikosit@user/ikosit) (Read error: Connection reset by peer)
11:47:42 × soft quits (~soft@2001:470:69fc:105::c75) (Write error: Connection reset by peer)
11:47:42 × Yehoshua quits (~yehoshua@2001:470:69fc:105::1:593f) (Remote host closed the connection)
11:47:42 × Las[m] quits (~lasmatrix@2001:470:69fc:105::74e) (Remote host closed the connection)
11:47:42 × moats quits (~oats@user/oats) (Remote host closed the connection)
11:47:42 × reza[m] quits (~rezaphone@2001:470:69fc:105::3eda) (Remote host closed the connection)
11:47:43 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Remote host closed the connection)
11:47:43 × siraben quits (~siraben@user/siraben) (Write error: Connection reset by peer)
11:47:43 × sm quits (~sm@plaintextaccounting/sm) (Read error: Connection reset by peer)
11:47:43 × alexfmpe[m] quits (~alexfmpem@2001:470:69fc:105::38ba) (Remote host closed the connection)
11:47:43 × sjanssen quits (~sjanssenm@2001:470:69fc:105::1:61d8) (Remote host closed the connection)
11:47:43 × ManofLetters[m] quits (~manoflett@2001:470:69fc:105::3be) (Remote host closed the connection)
11:47:43 × zfnmxt quits (~zfnmxtzfn@2001:470:69fc:105::2b32) (Remote host closed the connection)
11:47:43 × Christoph[m] quits (~hpotsirhc@2001:470:69fc:105::2ff8) (Remote host closed the connection)
11:47:43 × juhp[m] quits (~juhpmatri@2001:470:69fc:105::6e9) (Remote host closed the connection)
11:47:43 × smichel17[m] quits (~smichel17@2001:470:69fc:105::2d32) (Remote host closed the connection)
11:47:43 × psydroid quits (~psydroid@user/psydroid) (Remote host closed the connection)
11:47:43 × fendor[m] quits (~fendormat@2001:470:69fc:105::fcbd) (Read error: Connection reset by peer)
11:47:43 × JoseC[m] quits (~jmcardonm@2001:470:69fc:105::1:7539) (Read error: Connection reset by peer)
11:47:43 × maralorn quits (~maralorn@2001:470:69fc:105::251) (Read error: Connection reset by peer)
11:47:43 × cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (Read error: Connection reset by peer)
11:47:43 × Topik[m] quits (~topikmatr@2001:470:69fc:105::a082) (Write error: Broken pipe)
11:47:43 × hsiktas[m] quits (~hsiktasm]@2001:470:69fc:105::30d4) (Write error: Connection reset by peer)
11:47:43 × finalti[m] quits (~finaltima@2001:470:69fc:105::d909) (Read error: Connection reset by peer)
11:47:45 × mahene[m] quits (~mahenemat@2001:470:69fc:105::1:6a93) (Remote host closed the connection)
11:47:45 × schuelermine[m] quits (~schuelerm@user/schuelermine) (Read error: Connection reset by peer)
11:47:45 × unclechu quits (~unclechu@2001:470:69fc:105::354) (Read error: Connection reset by peer)
11:47:45 × DemiMarieObenour quits (~alwayscur@2001:470:69fc:105::4886) (Read error: Connection reset by peer)
11:47:45 × fgaz quits (~fgaz@2001:470:69fc:105::842) (Read error: Connection reset by peer)
11:47:45 × maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (Read error: Connection reset by peer)
11:47:48 × zincy quits (~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection)
11:48:06 CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
11:51:49 zincy joins (~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67)
11:52:11 × zincy quits (~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) (Remote host closed the connection)
11:52:12 × Morrow quits (~user@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 256 seconds)
11:54:10 Morrow joins (~user@bzq-110-168-31-106.red.bezeqint.net)
11:55:21 <fendor> mestre, I think recent ghc version can report unused dependencies
11:55:56 jakalx joins (~jakalx@base.jakalx.net)
11:56:16 <mestre> oh really? Gonna look for it, thanks!
11:57:03 <Unhammer> hm, just realised, I've done 7 years of haskell at work and I have never made a typeclass (for work)
11:59:56 juhp[m] joins (~juhpmatri@2001:470:69fc:105::6e9)
12:00:04 burnsidesLlama joins (~burnsides@dhcp168-027.wadham.ox.ac.uk)
12:01:03 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
12:01:21 yauhsien_ joins (~yauhsien@118-167-40-21.dynamic-ip.hinet.net)
12:02:43 × juhp[m] quits (~juhpmatri@2001:470:69fc:105::6e9) (Remote host closed the connection)
12:03:06 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
12:05:59 yassernasc joins (~yassernas@2804:29b8:505a:f33d:b018:fec8:a7e4:5428)
12:05:59 × yauhsien_ quits (~yauhsien@118-167-40-21.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
12:06:11 × Morrow quits (~user@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 245 seconds)
12:07:19 juhp[m] joins (~juhpmatri@2001:470:69fc:105::6e9)
12:08:35 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 250 seconds)
12:08:43 Morrow joins (~user@bzq-110-168-31-106.red.bezeqint.net)
12:10:27 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
12:16:42 fgaz joins (~fgaz@2001:470:69fc:105::842)
12:16:42 peddie joins (~peddie@2001:470:69fc:105::25d)
12:16:42 cdsmith joins (~cdsmithma@2001:470:69fc:105::284)
12:16:42 thomasjm[m] joins (~thomasjmm@2001:470:69fc:105::c6d9)
12:16:42 zfnmxt joins (~zfnmxtzfn@2001:470:69fc:105::2b32)
12:16:42 JoseC[m] joins (~jmcardonm@2001:470:69fc:105::1:7539)
12:16:42 ericson2314 joins (~ericson23@2001:470:69fc:105::70c)
12:16:42 kadoban joins (~kadoban@user/kadoban)
12:16:42 moats joins (~oats@user/oats)
12:16:43 Arathorn joins (~arathorn@2001:470:69fc:105::1f)
12:16:43 amesgen[m] joins (~amesgenm]@2001:470:69fc:105::82b)
12:16:43 Topik[m] joins (~topikmatr@2001:470:69fc:105::a082)
12:16:43 unclechu joins (~unclechu@2001:470:69fc:105::354)
12:16:43 quantum joins (~quantum@user/quantum/x-8556232)
12:16:43 maralorn joins (~maralorn@2001:470:69fc:105::251)
12:16:44 marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8)
12:16:46 finalti[m] joins (~finaltima@2001:470:69fc:105::d909)
12:16:46 denbrahe joins (~denbrahe@2001:470:69fc:105::19c0)
12:16:46 sm joins (~sm@plaintextaccounting/sm)
12:16:46 Las[m] joins (~lasmatrix@2001:470:69fc:105::74e)
12:16:46 mahene[m] joins (~mahenemat@2001:470:69fc:105::1:6a93)
12:16:46 hsiktas[m] joins (~hsiktasm]@2001:470:69fc:105::30d4)
12:16:46 schuelermine[m] joins (~schuelerm@user/schuelermine)
12:16:46 Deide joins (~deide@user/deide)
12:16:46 Artem[m] joins (~artemtype@2001:470:69fc:105::75b)
12:16:46 psydroid joins (~psydroid@user/psydroid)
12:16:46 ongy[m] joins (~ongymatri@2001:470:69fc:105::5018)
12:16:46 Christoph[m] joins (~hpotsirhc@2001:470:69fc:105::2ff8)
12:16:46 jneira[m] joins (~jneiramat@2001:470:69fc:105::d729)
12:16:46 alexfmpe[m] joins (~alexfmpem@2001:470:69fc:105::38ba)
12:16:46 siraben joins (~siraben@user/siraben)
12:16:46 SawyerBergeron[m joins (~sawyerber@2001:470:69fc:105::3036)
12:16:46 smichel17[m] joins (~smichel17@2001:470:69fc:105::2d32)
12:16:46 alex[m]123 joins (~alexchete@2001:470:69fc:105::1:1001)
12:16:46 fendor[m] joins (~fendormat@2001:470:69fc:105::fcbd)
12:16:46 ManofLetters[m] joins (~manoflett@2001:470:69fc:105::3be)
12:16:46 carmysilna joins (~brightly-@2001:470:69fc:105::2190)
12:16:46 aidy joins (~aidy@2001:470:69fc:105::c7b4)
12:16:47 DemiMarieObenour joins (~alwayscur@2001:470:69fc:105::4886)
12:16:47 vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe)
12:16:47 jmcantrell joins (~jmcantrel@user/jmcantrell)
12:16:47 maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee)
12:16:47 Tisoxin joins (~ikosit@user/ikosit)
12:16:47 wildsebastian joins (~wildsebas@2001:470:69fc:105::1:14b1)
12:16:47 jinsun_ joins (~jinsun@user/jinsun)
12:16:47 Heffalump[m] joins (~hsenagmat@2001:470:69fc:105::e11)
12:16:47 joaquinmg[m] joins (~joaquinmg@2001:470:69fc:105::1:67d2)
12:16:47 fcortesi joins (~fcortesi@2001:470:69fc:105::f3a9)
12:16:47 xbreu joins (~xbreu@2001:470:69fc:105::1:5061)
12:16:47 ormaaj joins (~ormaaj@user/ormaaj)
12:16:47 ac joins (~aloiscoch@2001:470:69fc:105::65)
12:16:47 bitonic joins (~bitonic@2001:470:69fc:105::1812)
12:16:47 SridharRatnakuma joins (~sridmatri@2001:470:69fc:105::1c2)
12:16:47 unrooted joins (~unrooted@2001:470:69fc:105::a4a)
12:16:47 Orbstheorem joins (~orbstheor@2001:470:69fc:105::a56)
12:16:47 Guillaum[m] joins (~guiboumat@2001:470:69fc:105::1:72ac)
12:16:47 pfurla-matrix joins (~pedrofurl@2001:470:69fc:105::1:51d7)
12:16:47 thejuan24f[m] joins (~thejuan2m@2001:470:69fc:105::1:6569)
12:16:48 ParsaAlizadeh[m] joins (~lizadehma@2001:470:69fc:105::1:65a4)
12:16:48 cstml[m] joins (~cstmlmatr@2001:470:69fc:105::1:5c07)
12:16:48 zwro[m] joins (~zwromatri@2001:470:69fc:105::1d4)
12:16:48 euphrates[m] joins (~euphrates@2001:470:69fc:105::fbb5)
12:16:48 mmos[m] joins (~mmosmatri@2001:470:69fc:105::1:8340)
12:16:54 jchia[m] joins (~jchiamatr@2001:470:69fc:105::c50b)
12:16:54 soft joins (~soft@2001:470:69fc:105::c75)
12:16:54 sekun[m] joins (~hsekmatri@2001:470:69fc:105::d18f)
12:16:55 Michal[m] joins (~oomiguelm@2001:470:69fc:105::1:5ab0)
12:16:56 reza[m] joins (~rezaphone@2001:470:69fc:105::3eda)
12:16:56 oak- joins (~oakuniver@2001:470:69fc:105::fcd)
12:16:56 bb010g joins (~bb010g@2001:470:69fc:105::9a5)
12:16:58 Morrow[m] joins (~morrowmma@2001:470:69fc:105::1d0)
12:16:59 RosarioPulella[m joins (~rosariopu@2001:470:69fc:105::a57)
12:16:59 justosophy[m] joins (~justosoph@2001:470:69fc:105::572f)
12:16:59 wysteriary[m] joins (~wysteriar@2001:470:69fc:105::a42e)
12:16:59 afotgkmnzj7asv3r joins (~afotgkmnz@2001:470:69fc:105::c24b)
12:16:59 yehoshuapw joins (~yehoshuap@2001:470:69fc:105::a5f)
12:16:59 Nate[m] joins (~m52957mat@2001:470:69fc:105::1:591a)
12:16:59 EkaiZend[m] joins (~ekai-zend@2001:470:69fc:105::1:7756)
12:16:59 sofviic[m] joins (~sofviicma@2001:470:69fc:105::1:51fd)
12:16:59 kalxd[m] joins (~kalxdmatr@2001:470:69fc:105::1:576e)
12:16:59 octeep[m] joins (~octeepoct@2001:470:69fc:105::1:3dbf)
12:16:59 phuegrvs[m] joins (~phuegrvsm@2001:470:69fc:105::1:65e4)
12:16:59 Sixto[m] joins (~provornyc@2001:470:69fc:105::1:74df)
12:16:59 tripa[m] joins (~tripamatr@2001:470:69fc:105::1:4f7e)
12:16:59 eoiles[m] joins (~eoilesmat@2001:470:69fc:105::1:6164)
12:17:00 james[m]12 joins (~jamesnina@2001:470:69fc:105::1:4203)
12:17:00 sjanssen joins (~sjanssenm@2001:470:69fc:105::1:61d8)
12:17:00 craige[m] joins (~craigemcw@2001:470:69fc:105::35f1)
12:17:00 jesser[m] joins (~jessermat@2001:470:69fc:105::d5ae)
12:17:00 throwaaaa[m] joins (~throwaaaa@2001:470:69fc:105::1:6fe6)
12:17:00 jkaye[m] joins (~jkayematr@2001:470:69fc:105::1:86f7)
12:17:00 litharn[m] joins (~litharnma@2001:470:69fc:105::1:8336)
12:17:00 Yehoshua joins (~yehoshua@2001:470:69fc:105::1:593f)
12:17:01 nomeata joins (~nomeata@2001:470:69fc:105::1:5ed4)
12:17:01 cherryblossom[m] joins (~cherryblo@2001:470:69fc:105::b789)
12:17:01 benjamin[m]123 joins (~benjaminm@2001:470:69fc:105::1:3f2f)
12:17:01 simmsb joins (~simmsb@2001:470:69fc:105::1:55c3)
12:17:01 codygman[m] joins (~codygman@2001:470:69fc:105::b4ba)
12:17:02 jaror[m] joins (~jaror@2001:470:69fc:105::265)
12:18:16 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
12:20:37 merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
12:21:52 <geekosaur> actually making your own typeclass is fairly unusual, yes
12:24:29 × Morrow quits (~user@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 252 seconds)
12:24:31 catern joins (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407)
12:24:46 × soxen quits (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 268 seconds)
12:25:03 Morrow joins (~user@bzq-110-168-31-106.red.bezeqint.net)
12:27:39 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 250 seconds)
12:29:49 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
12:30:39 × Topik[m] quits (~topikmatr@2001:470:69fc:105::a082) (Quit: You% have% been% kicked% for% being% idle)
12:30:39 × Vajb quits (~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Read error: Connection reset by peer)
12:30:57 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
12:32:16 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
12:32:26 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
12:32:46 × ormaaj quits (~ormaaj@user/ormaaj) (Quit: Client limit exceeded: 20000)
12:32:51 × siraben quits (~siraben@user/siraben) (Quit: Client limit exceeded: 20000)
12:33:15 × denbrahe quits (~denbrahe@2001:470:69fc:105::19c0) (Quit: Client limit exceeded: 20000)
12:33:15 × kadoban quits (~kadoban@user/kadoban) (Quit: Client limit exceeded: 20000)
12:33:18 × mahene[m] quits (~mahenemat@2001:470:69fc:105::1:6a93) (Quit: Client limit exceeded: 20000)
12:33:19 × fgaz quits (~fgaz@2001:470:69fc:105::842) (Quit: Client limit exceeded: 20000)
12:33:19 × peddie quits (~peddie@2001:470:69fc:105::25d) (Quit: Client limit exceeded: 20000)
12:33:34 × juhp[m] quits (~juhpmatri@2001:470:69fc:105::6e9) (Quit: Client limit exceeded: 20000)
12:33:35 × moats quits (~oats@user/oats) (Quit: Client limit exceeded: 20000)
12:33:36 × Arathorn quits (~arathorn@2001:470:69fc:105::1f) (Quit: Client limit exceeded: 20000)
12:33:41 × wildsebastian quits (~wildsebas@2001:470:69fc:105::1:14b1) (Quit: Client limit exceeded: 20000)
12:33:43 × cdsmith quits (~cdsmithma@2001:470:69fc:105::284) (Quit: Client limit exceeded: 20000)
12:33:44 × sm quits (~sm@plaintextaccounting/sm) (Quit: Client limit exceeded: 20000)
12:33:44 × Las[m] quits (~lasmatrix@2001:470:69fc:105::74e) (Quit: Client limit exceeded: 20000)
12:33:45 × hsiktas[m] quits (~hsiktasm]@2001:470:69fc:105::30d4) (Quit: Client limit exceeded: 20000)
12:34:14 × Tisoxin quits (~ikosit@user/ikosit) (Quit: Client limit exceeded: 20000)
12:34:17 × ongy[m] quits (~ongymatri@2001:470:69fc:105::5018) (Quit: Client limit exceeded: 20000)
12:34:20 × vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (Quit: Client limit exceeded: 20000)
12:34:21 × amesgen[m] quits (~amesgenm]@2001:470:69fc:105::82b) (Quit: Client limit exceeded: 20000)
12:34:21 × unclechu quits (~unclechu@2001:470:69fc:105::354) (Quit: Client limit exceeded: 20000)
12:34:25 × ericson2314 quits (~ericson23@2001:470:69fc:105::70c) (Quit: Client limit exceeded: 20000)
12:34:56 × unrooted quits (~unrooted@2001:470:69fc:105::a4a) (Quit: Client limit exceeded: 20000)
12:35:24 × maralorn quits (~maralorn@2001:470:69fc:105::251) (Quit: Client limit exceeded: 20000)
12:35:36 × carmysilna quits (~brightly-@2001:470:69fc:105::2190) (Quit: Client limit exceeded: 20000)
12:35:36 × zfnmxt quits (~zfnmxtzfn@2001:470:69fc:105::2b32) (Quit: Client limit exceeded: 20000)
12:35:48 × quantum quits (~quantum@user/quantum/x-8556232) (Quit: Client limit exceeded: 20000)
12:36:03 × Deide quits (~deide@user/deide) (Quit: Client limit exceeded: 20000)
12:36:17 × bitonic quits (~bitonic@2001:470:69fc:105::1812) (Quit: Client limit exceeded: 20000)
12:36:23 × maerwald[m] quits (~maerwaldm@2001:470:69fc:105::1ee) (Quit: Client limit exceeded: 20000)
12:36:31 × Artem[m] quits (~artemtype@2001:470:69fc:105::75b) (Quit: Client limit exceeded: 20000)
12:36:32 × schuelermine[m] quits (~schuelerm@user/schuelermine) (Quit: Client limit exceeded: 20000)
12:36:33 × jmcantrell quits (~jmcantrel@user/jmcantrell) (Quit: Client limit exceeded: 20000)
12:36:34 × jinsun_ quits (~jinsun@user/jinsun) (Quit: Client limit exceeded: 20000)
12:36:36 × jneira[m] quits (~jneiramat@2001:470:69fc:105::d729) (Quit: Client limit exceeded: 20000)
12:36:41 × xbreu quits (~xbreu@2001:470:69fc:105::1:5061) (Quit: Client limit exceeded: 20000)
12:36:44 × smichel17[m] quits (~smichel17@2001:470:69fc:105::2d32) (Quit: Client limit exceeded: 20000)
12:36:45 × JoseC[m] quits (~jmcardonm@2001:470:69fc:105::1:7539) (Quit: Client limit exceeded: 20000)
12:36:55 × euphrates[m] quits (~euphrates@2001:470:69fc:105::fbb5) (Quit: Client limit exceeded: 20000)
12:37:09 × Christoph[m] quits (~hpotsirhc@2001:470:69fc:105::2ff8) (Quit: Client limit exceeded: 20000)
12:37:29 × burnsidesLlama quits (~burnsides@dhcp168-027.wadham.ox.ac.uk) (Remote host closed the connection)
12:39:17 × mestre quits (~mestre@191.177.181.194) (Quit: Lost terminal)
12:39:18 × DemiMarieObenour quits (~alwayscur@2001:470:69fc:105::4886) (Quit: Client limit exceeded: 20000)
12:39:35 × Guillaum[m] quits (~guiboumat@2001:470:69fc:105::1:72ac) (Quit: Client limit exceeded: 20000)
12:39:36 × ac quits (~aloiscoch@2001:470:69fc:105::65) (Quit: Client limit exceeded: 20000)
12:39:39 × ParsaAlizadeh[m] quits (~lizadehma@2001:470:69fc:105::1:65a4) (Quit: Client limit exceeded: 20000)
12:39:40 × thejuan24f[m] quits (~thejuan2m@2001:470:69fc:105::1:6569) (Quit: Client limit exceeded: 20000)
12:39:41 × ManofLetters[m] quits (~manoflett@2001:470:69fc:105::3be) (Quit: Client limit exceeded: 20000)
12:40:03 × SawyerBergeron[m quits (~sawyerber@2001:470:69fc:105::3036) (Quit: Client limit exceeded: 20000)
12:40:15 × finalti[m] quits (~finaltima@2001:470:69fc:105::d909) (Quit: Client limit exceeded: 20000)
12:40:29 × fendor[m] quits (~fendormat@2001:470:69fc:105::fcbd) (Quit: Client limit exceeded: 20000)
12:40:30 × pfurla-matrix quits (~pedrofurl@2001:470:69fc:105::1:51d7) (Quit: Client limit exceeded: 20000)
12:40:32 × fcortesi quits (~fcortesi@2001:470:69fc:105::f3a9) (Quit: Client limit exceeded: 20000)
12:40:32 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Quit: Client limit exceeded: 20000)
12:40:51 × Orbstheorem quits (~orbstheor@2001:470:69fc:105::a56) (Quit: Client limit exceeded: 20000)
12:41:45 × zwro[m] quits (~zwromatri@2001:470:69fc:105::1d4) (Quit: Client limit exceeded: 20000)
12:42:33 <maerwald> some people use it as a design pattern
12:42:47 juhp[m] joins (~juhpmatri@2001:470:69fc:105::6e9)
12:42:47 fgaz joins (~fgaz@2001:470:69fc:105::842)
12:43:01 peddie joins (~peddie@2001:470:69fc:105::25d)
12:43:15 cdsmith joins (~cdsmithma@2001:470:69fc:105::284)
12:43:30 amesgen[m] joins (~amesgenm]@2001:470:69fc:105::82b)
12:43:47 JoseC[m] joins (~jmcardonm@2001:470:69fc:105::1:7539)
12:43:48 zfnmxt joins (~zfnmxtzfn@2001:470:69fc:105::2b32)
12:43:48 kadoban joins (~kadoban@user/kadoban)
12:43:48 ericson2314 joins (~ericson23@2001:470:69fc:105::70c)
12:43:48 Arathorn joins (~arathorn@2001:470:69fc:105::1f)
12:43:48 Topik[m] joins (~topikmatr@2001:470:69fc:105::a082)
12:43:48 moats joins (~oats@user/oats)
12:43:48 unclechu joins (~unclechu@2001:470:69fc:105::354)
12:44:02 maralorn joins (~maralorn@2001:470:69fc:105::251)
12:44:02 quantum joins (~quantum@user/quantum/x-8556232)
12:44:17 marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8)
12:44:33 denbrahe joins (~denbrahe@2001:470:69fc:105::19c0)
12:44:33 finalti[m] joins (~finaltima@2001:470:69fc:105::d909)
12:44:49 Las[m] joins (~lasmatrix@2001:470:69fc:105::74e)
12:44:49 schuelermine[m] joins (~schuelerm@user/schuelermine)
12:44:49 sm joins (~sm@plaintextaccounting/sm)
12:44:53 × alex[m]123 quits (~alexchete@2001:470:69fc:105::1:1001) (Quit: Client limit exceeded: 20000)
12:45:02 mahene[m] joins (~mahenemat@2001:470:69fc:105::1:6a93)
12:45:02 hsiktas[m] joins (~hsiktasm]@2001:470:69fc:105::30d4)
12:45:02 Deide joins (~deide@user/deide)
12:45:07 Artem[m] joins (~artemtype@2001:470:69fc:105::75b)
12:45:08 Christoph[m] joins (~hpotsirhc@2001:470:69fc:105::2ff8)
12:45:20 ongy[m] joins (~ongymatri@2001:470:69fc:105::5018)
12:45:20 jneira[m] joins (~jneiramat@2001:470:69fc:105::d729)
12:45:20 siraben joins (~siraben@user/siraben)
12:45:21 smichel17[m] joins (~smichel17@2001:470:69fc:105::2d32)
12:45:21 SawyerBergeron[m joins (~sawyerber@2001:470:69fc:105::3036)
12:45:34 alex[m]12 joins (~alexchete@2001:470:69fc:105::1:1001)
12:45:34 ManofLetters[m] joins (~manoflett@2001:470:69fc:105::3be)
12:45:35 Tisoxin joins (~ikosit@user/ikosit)
12:45:35 carmysilna joins (~brightly-@2001:470:69fc:105::2190)
12:45:35 fendor[m] joins (~fendormat@2001:470:69fc:105::fcbd)
12:45:35 DemiMarieObenour joins (~alwayscur@2001:470:69fc:105::4886)
12:45:35 vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe)
12:45:35 jmcantrell joins (~jmcantrel@user/jmcantrell)
12:45:35 maerwald[m] joins (~maerwaldm@2001:470:69fc:105::1ee)
12:45:36 wildsebastian joins (~wildsebas@2001:470:69fc:105::1:14b1)
12:45:36 jinsun_ joins (~jinsun@user/jinsun)
12:45:36 fcortesi joins (~fcortesi@2001:470:69fc:105::f3a9)
12:45:50 xbreu joins (~xbreu@2001:470:69fc:105::1:5061)
12:45:50 ormaaj joins (~ormaaj@user/ormaaj)
12:45:50 ac joins (~aloiscoch@2001:470:69fc:105::65)
12:45:50 bitonic joins (~bitonic@2001:470:69fc:105::1812)
12:46:02 unrooted joins (~unrooted@2001:470:69fc:105::a4a)
12:46:16 Orbstheorem joins (~orbstheor@2001:470:69fc:105::a56)
12:46:28 Guillaum[m] joins (~guiboumat@2001:470:69fc:105::1:72ac)
12:46:40 pfurla-matrix joins (~pedrofurl@2001:470:69fc:105::1:51d7)
12:46:42 thejuan24f[m] joins (~thejuan2m@2001:470:69fc:105::1:6569)
12:46:55 ParsaAlizadeh[m] joins (~lizadehma@2001:470:69fc:105::1:65a4)
12:47:09 zwro[m] joins (~zwromatri@2001:470:69fc:105::1d4)
12:47:09 euphrates[m] joins (~euphrates@2001:470:69fc:105::fbb5)
12:47:16 × SridharRatnakuma quits (~sridmatri@2001:470:69fc:105::1c2) (Quit: Client limit exceeded: 20000)
12:47:18 × alexfmpe[m] quits (~alexfmpem@2001:470:69fc:105::38ba) (Quit: Client limit exceeded: 20000)
12:47:18 × Heffalump[m] quits (~hsenagmat@2001:470:69fc:105::e11) (Quit: Client limit exceeded: 20000)
12:47:18 × thomasjm[m] quits (~thomasjmm@2001:470:69fc:105::c6d9) (Quit: Client limit exceeded: 20000)
12:47:18 × aidy quits (~aidy@2001:470:69fc:105::c7b4) (Quit: Client limit exceeded: 20000)
12:47:18 × cstml[m] quits (~cstmlmatr@2001:470:69fc:105::1:5c07) (Quit: Client limit exceeded: 20000)
12:47:32 × joaquinmg[m] quits (~joaquinmg@2001:470:69fc:105::1:67d2) (Quit: Client limit exceeded: 20000)
12:49:47 × merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
12:53:06 × rusrushal13 quits (~rusrushal@2409:4056:e82:6bda:bd0e:9743:fccb:b2a0) (Quit: Client closed)
12:55:49 Pickchea joins (~private@user/pickchea)
12:57:51 <qrpnxz> is cabal parallel at all?
12:58:03 thomasjm[m] joins (~thomasjmm@2001:470:69fc:105::c6d9)
12:58:15 alexfmpe[m] joins (~alexfmpem@2001:470:69fc:105::38ba)
12:58:29 aidy joins (~aidy@2001:470:69fc:105::c7b4)
12:58:31 <tomsmeding> qrpnxz: it builds multiple packages in parallel
12:58:33 doyougnu joins (~doyougnu@cpe-67-241-69-171.twcny.res.rr.com)
12:58:42 Heffalump[m] joins (~hsenagmat@2001:470:69fc:105::e11)
12:58:54 joaquinmg[m] joins (~joaquinmg@2001:470:69fc:105::1:67d2)
12:59:08 SridharRatnakuma joins (~sridmatri@2001:470:69fc:105::1c2)
12:59:21 cstml[m] joins (~cstmlmatr@2001:470:69fc:105::1:5c07)
12:59:43 <qrpnxz> hm, alright thanks
12:59:49 <tomsmeding> within one package the inter-module caching that ghc does is usually more effective than parallelism would be
13:03:04 jgeerds joins (~jgeerds@55d4a547.access.ecotel.net)
13:04:51 × max22- quits (~maxime@2a01cb0883359800761b1c69d9198b7f.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds)
13:05:11 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 252 seconds)
13:07:08 striven joins (~striven@user/striven)
13:09:00 merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
13:09:19 andreabedini joins (~andreabed@8s8kj6nkjylj6ljnv6zz.ip6.superloop.com)
13:11:05 fendor_ joins (~fendor@91.141.70.82.wireless.dyn.drei.com)
13:11:32 × striven quits (~striven@user/striven) (Ping timeout: 256 seconds)
13:12:18 burnsidesLlama joins (~burnsides@dhcp168-027.wadham.ox.ac.uk)
13:12:53 × APic quits (apic@apic.name) (Ping timeout: 252 seconds)
13:13:43 jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
13:13:44 Guest52 joins (~Guest52@89.205.135.101)
13:14:06 × fendor quits (~fendor@77.119.206.49.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
13:14:24 × jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
13:15:17 × andreabedini quits (~andreabed@8s8kj6nkjylj6ljnv6zz.ip6.superloop.com) (Quit: WeeChat 3.3)
13:15:25 kaph joins (~kaph@151.37.72.8)
13:16:06 jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
13:16:43 Feuermagier joins (~Feuermagi@user/feuermagier)
13:16:59 × burnsidesLlama quits (~burnsides@dhcp168-027.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
13:17:57 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
13:20:35 × yassernasc quits (~yassernas@2804:29b8:505a:f33d:b018:fec8:a7e4:5428) (Remote host closed the connection)
13:20:52 yassernasc joins (~yassernas@2804:29b8:505a:f33d:b018:fec8:a7e4:5428)
13:21:48 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Quit: Leaving)
13:22:59 geekosaur joins (~geekosaur@xmonad/geekosaur)
13:24:27 cfricke joins (~cfricke@user/cfricke)
13:31:25 kaph_ joins (~kaph@151.35.35.178)
13:31:34 × son0p quits (~ff@2800:484:1d81:b700:d40b:900:b387:320) (Remote host closed the connection)
13:31:39 × kaph quits (~kaph@151.37.72.8) (Read error: Connection reset by peer)
13:33:50 × vysn quits (~vysn@user/vysn) (Ping timeout: 268 seconds)
13:34:12 × CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
13:36:41 <maerwald> qrpnxz: unfortunately yes
13:36:50 <maerwald> it should be -j1 by default
13:37:19 <qrpnxz> funny, i was installing some gtk libs and it was working really hard on what thread one at a time it looked like. Annoying wait
13:38:33 <maerwald> if you catch the wrong libs at the same time, it can just OOM your 16GB ram machine
13:38:37 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
13:38:44 × Pickchea quits (~private@user/pickchea) (Ping timeout: 256 seconds)
13:39:02 <maerwald> because number of jobs = number of cpus is nonsense in GHC
13:39:10 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
13:39:33 × arjun quits (~arjun@103.57.87.139) (Quit: Leaving)
13:39:49 × kaph_ quits (~kaph@151.35.35.178) (Remote host closed the connection)
13:40:05 kaph joins (~kaph@151.35.35.178)
13:40:13 × quintasan quits (~quassel@quintasan.pl) (Ping timeout: 256 seconds)
13:43:40 nehsou^ joins (~nehsou@128-092-164-034.biz.spectrum.com)
13:44:24 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 256 seconds)
13:46:02 × kaph quits (~kaph@151.35.35.178) (Read error: Connection reset by peer)
13:48:09 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
13:48:17 × cosimone` quits (~user@93-47-231-100.ip115.fastwebnet.it) (Ping timeout: 240 seconds)
13:49:17 × merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
13:49:59 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
13:55:45 slack1256 joins (~slack1256@191.125.99.75)
13:55:46 × jgeerds quits (~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 245 seconds)
13:56:44 whound joins (~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2)
13:57:37 tiferrei joins (~tiferrei@user/tiferrei)
13:59:01 arjun joins (~arjun@user/arjun)
13:59:32 fendor_ is now known as fendor
14:00:53 {-d0t-} joins (~q_q@user/-d0t-/x-7915216)
14:01:09 <{-d0t-}> ohai! What is the best tool to remove redundant imports in my project?
14:02:22 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 250 seconds)
14:03:05 yauhsien_ joins (~yauhsien@118-167-40-21.dynamic-ip.hinet.net)
14:04:08 <fendor> {-d0t-}, probably ghc? You can run ghc with `-ddump-minimal-imports` and it should remove all redundant imports
14:04:16 <fendor> HLS has a code-action for it, too
14:04:21 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
14:04:24 <{-d0t-}> fendor: is it possible to do this in place?
14:04:32 <{-d0t-}> I really want a bulk option for the entire project.
14:05:56 <tiferrei> hi folks, does anyone know what's the state of stack on apple M1? GHC itself seems fine, but when stack gets involved I get all sorts of platform errors
14:07:33 <fendor> {-d0t-}, uff, I am not sure... I don't think GHC does that at the moment... Maybe you can monkey-patch a small script?
14:07:58 <{-d0t-}> fendor: I thought about this. There is also importify from Serokell, but it doesn't build with the later GHC versions :(
14:07:59 × yauhsien_ quits (~yauhsien@118-167-40-21.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
14:08:50 <fendor> you could probably extract such a tool from HLS...
14:09:07 <fendor> anyway, I am not aware of any tool that can do that at the moment
14:09:26 <{-d0t-}> thanks anyway (:
14:10:36 × xff0x quits (~xff0x@2001:1a81:536e:b500:97e8:b6a:74e2:dc96) (Ping timeout: 250 seconds)
14:11:53 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
14:12:57 shriekingnoise joins (~shrieking@201.231.16.156)
14:14:20 merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
14:17:23 zallocate joins (~zallocate@pool-72-83-246-129.washdc.east.verizon.net)
14:17:37 × zallocate quits (~zallocate@pool-72-83-246-129.washdc.east.verizon.net) (Quit: Client closed)
14:19:37 × mikoto-chan quits (~mikoto-ch@84.199.144.235) (Ping timeout: 240 seconds)
14:20:42 × alp quits (~alp@user/alp) (Ping timeout: 268 seconds)
14:22:56 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
14:23:29 max22- joins (~maxime@2a01cb0883359800f6095299facac4b2.ipv6.abo.wanadoo.fr)
14:24:28 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
14:24:28 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
14:24:28 wroathe joins (~wroathe@user/wroathe)
14:24:48 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
14:25:01 × deadmarshal quits (~deadmarsh@95.38.231.118) (Ping timeout: 268 seconds)
14:26:12 CiaoSen joins (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
14:27:42 CHUD joins (~CHUD@host-80-41-89-108.as13285.net)
14:28:17 alp joins (~alp@user/alp)
14:29:57 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
14:29:58 burnsidesLlama joins (~burnsides@dhcp168-027.wadham.ox.ac.uk)
14:30:29 soxen joins (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
14:30:32 × enikar quits (~enikar@user/enikar) (Quit: WeeChat 3.0)
14:32:05 haskellberryfinn joins (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
14:32:07 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
14:32:22 × CHUD quits (~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
14:33:10 xff0x joins (~xff0x@2001:1a81:536e:b500:97e8:b6a:74e2:dc96)
14:36:35 futty14 joins (~futty14@c90-143-137-255.bredband.tele2.se)
14:38:59 × whatif quits (~user@123.180.40.237) (Quit: ERC (IRC client for Emacs 26.3))
14:39:47 × akegalj quits (~akegalj@185.230.83.17) (Quit: leaving)
14:41:11 cigsender joins (~cigsender@74.124.58.162)
14:43:08 × arjun quits (~arjun@user/arjun) (Quit: Leaving)
14:44:41 × Guest52 quits (~Guest52@89.205.135.101) (Quit: Connection closed)
14:45:32 stef204 joins (~stef204@user/stef204)
14:47:35 Guest58 joins (~Guest58@119-18-0-232.771200.syd.nbn.aussiebb.net)
14:50:39 × whound quits (~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2) (Ping timeout: 250 seconds)
14:53:47 sajith_ is now known as sajith
14:57:34 APic joins (~apic@apic.name)
15:03:27 slac16914 joins (~slack1256@186.11.80.172)
15:03:57 arr joins (~arr@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net)
15:04:05 <arr> why is Data.Map so large?
15:04:28 <arr> i saved it using its Binary instance, and its about 100x larger than the raw data
15:05:04 <merijn> arr: That sounds like the question is really "why is the Binary instance for Data.Map so large"
15:05:15 <merijn> tbh, I would rarely trust Binary instances
15:05:31 <merijn> Typeclass based (de)serialisation is a mistake
15:06:00 × slack1256 quits (~slack1256@191.125.99.75) (Ping timeout: 256 seconds)
15:06:01 <c_wraith> nothing looks wrong with the instance for Map
15:06:10 × Guest58 quits (~Guest58@119-18-0-232.771200.syd.nbn.aussiebb.net) (Quit: Client closed)
15:06:10 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
15:06:22 <int-e> how do you measure the size of the raw data?
15:07:19 <c_wraith> but it puts all the work on the instances for the key and value types
15:07:56 <int-e> serialization as binary does it will lose sharing, so it's possible for serialized data to be muc bigger than the in memory structure.
15:08:25 <arr> the raw data is an image
15:08:39 <arr> actually i think its larger because i converted from Int8 to Double
15:08:44 <int-e> shouldn't you store that in an array then?
15:08:46 <arr> probably thats about 100x
15:09:04 <arr> erp, yes i meant Data.Array
15:09:39 <arr> i thought maybe it was storing some kind of program that could convert from the (Int,Int) indicies to the memory addresses
15:09:55 <arr> and that each time you added another index it would inflate the size of this program somehow
15:09:57 × rembo10 quits (~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
15:10:08 <arr> which i guess is a good, but completely wrong idea
15:10:37 <c_wraith> err. I'm lost. How does one get confused whether they're using Map or Array?
15:10:38 d0ku joins (~d0ku@178.43.19.180.ipv4.supernova.orange.pl)
15:10:38 <int-e> Int8 to double is a factor of 8... oh but the Binary instance for Double is awful
15:10:53 <arr> probably just that then
15:10:55 rembo10 joins (~rembo10@remulis.com)
15:11:13 <arr> c_wraith: idk, which is better?
15:11:22 CHUD joins (~CHUD@host-80-41-89-108.as13285.net)
15:11:22 whound joins (~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2)
15:11:50 <c_wraith> which is better, green or blue?
15:12:02 <arr> well, in terms of storage size, or lookup speed
15:12:08 <merijn> c_wraith: WoW has taught me the answer is blue :p
15:12:33 <merijn> int-e: what's the Binary instance for Double then?
15:12:46 <arr> depends if its some cryptic way of refering to whats on your weed. if its green then its pure, if its blue, thats probably a bad sign
15:12:52 <int-e> merijn: It's built around decodeFloat
15:12:59 <int-e> > decodeFloat 42.0
15:13:01 <lambdabot> (5910974510923776,-47)
15:13:58 <int-e> So now you have an Integer and an Int to encode. So that's... 1 byte tag, 1 byte sign, ~8 bytes mantissa, and 8 bytes for the exponent?
15:14:00 <arr> i couldnt figure out how you would create a program that would return storage addresses
15:14:18 int-e should try out the actual instance
15:14:19 <arr> let alone how it could be smaller if it had to encode fewer addresses
15:15:25 × haskellberryfinn quits (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds)
15:16:39 <int-e> It comes out as 25 bytes for 42.0, so I'm missing some overhead.
15:18:27 × wavemode quits (~wavemode@c-98-223-145-19.hsd1.il.comcast.net) (Quit: Client closed)
15:19:08 × futty14 quits (~futty14@c90-143-137-255.bredband.tele2.se) (Quit: Client closed)
15:19:30 <arr> no ideas?
15:19:48 <int-e> Ah I'm missing the 8 bytes length field for the Integer's data. And the ~8 bytes turn out to be 7 in this case.
15:19:55 <arr> i mean, im not even sure how Map or Array stores the lookup
15:20:10 <merijn> arr: Map is a binary tree
15:20:11 × CHUD quits (~CHUD@host-80-41-89-108.as13285.net) (Remote host closed the connection)
15:20:19 <merijn> arr: Array is, well, an array
15:20:20 <int-e> Anyway, there's another factor of ~3; 25x in total
15:20:23 wavemode joins (~wavemode@c-98-223-145-19.hsd1.il.comcast.net)
15:20:29 CHUD joins (~CHUD@host-80-41-89-108.as13285.net)
15:20:37 <int-e> (compared to storing Int8 as bytes)
15:21:07 <merijn> I reiterate my previous point of "typeclass based (de)serialisation is a massive mistake and you should never use it" :)
15:21:29 deadmarshal joins (~deadmarsh@95.38.231.118)
15:21:45 <arr> well, its x200 larger to store the decoded png with tripples of Double instead of Int8 pixels
15:21:53 <arr> in an Array
15:22:07 <arr> so there must be some crazyness with the lookups
15:22:12 <arr> the indicies or something
15:22:35 <merijn> arr: You mean when serialised, yeah?
15:22:39 <int-e> Here's pi :: Double: [{- mantissa as Integer, 4 fields -} {- tag -} 1, {- sign -} 1, {- length -} 0,0,0,0,0,0,0,7, {- data -} 24,45,68,84,251,33,25, {- exponent as 64 bit integer -} 255,255,255,255,255,255,255,205]
15:22:40 <arr> yes
15:22:50 <arr> using its binary instance
15:22:57 <merijn> arr: Binary has it's own serialisation protocol why inserts meta data and what not
15:23:05 <arr> its huge though
15:23:07 <arr> v slow
15:23:18 <merijn> If you want actual control over serialisation, I would just roll my own, tbh
15:23:21 <int-e> merijn: I'm not sure the type class approach is to be blamed for this poor choice for serialization floating point numbers :P
15:23:27 <arr> wondering if i should just use the read show instance...
15:23:37 <merijn> int-e: The poor float encoding is a separate bad issue, sure
15:23:51 oats_ is now known as oats
15:24:02 <arr> anyway never mind the int vs double encoding
15:24:05 <arr> its about the grid
15:24:11 <arr> and the memory addresses
15:24:12 <merijn> int-e: But pointing out someone is using bad technique for amputating their arm should, probably, take a backseat to the advice to "maybe not amputate your arm" :)
15:24:15 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
15:24:34 <arr> easier said than done...
15:24:38 <int-e> merijn: Well I don't share your absolute dismissal of the typeclass based serialization.
15:25:06 <int-e> Yes, you give up control for convenience. And you can take it back whenever you want.
15:25:12 <merijn> arr: Which memory addresses?
15:25:29 <merijn> int-e: Except that Binary uses it's own protocol which is *not* stable across binary and GHC versions
15:25:51 <merijn> int-e: So if you plan to serialise stuff that you need to read in, in the future with a different binary/ghc version, you are hosed
15:26:02 <int-e> I can find many issues with binary, yes.
15:26:24 × _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Quit: No Ping reply in 180 seconds.)
15:26:50 <int-e> But again, the issues aren't due to the type class approach.
15:27:39 _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl)
15:29:40 × yassernasc quits (~yassernas@2804:29b8:505a:f33d:b018:fec8:a7e4:5428) (Remote host closed the connection)
15:29:59 yassernasc joins (~yassernas@2804:29b8:505a:f33d:b018:fec8:a7e4:5428)
15:32:06 <int-e> https://hackage.haskell.org/package/cereal-0.5.8.2/docs/Data-Serialize-IEEE754.html looks like a saner foundation for platforms that natively use IEEE-754.
15:33:27 <int-e> There's an entirely different can of worms connected to deriving serialization class instances automatically. I suppose you could blame the type class approach for enabling that kind of thing.
15:33:45 Sgeo joins (~Sgeo@user/sgeo)
15:34:42 × yassernasc quits (~yassernas@2804:29b8:505a:f33d:b018:fec8:a7e4:5428) (Ping timeout: 256 seconds)
15:34:57 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:5ffd:7ea2:ced5:7680) (Quit: WeeChat 2.8)
15:35:45 × Jing quits (~hedgehog@240e:390:7c53:a7e1:4458:b22e:b9a7:2cea) (Quit: Textual IRC Client: www.textualapp.com)
15:37:07 <merijn> Just using explicit Get/Put is much more elegant, tbh
15:37:25 yassernasc joins (~yassernas@2804:29b8:505a:f33d:b018:fec8:a7e4:5428)
15:37:42 kli joins (~kli@ip-89-177-122-45.net.upcbroadband.cz)
15:37:44 × _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Ping timeout: 256 seconds)
15:38:07 × arr quits (~arr@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net) (Quit: Ping timeout (120 seconds))
15:40:21 × alp quits (~alp@user/alp) (Ping timeout: 245 seconds)
15:42:41 arr joins (~arr@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net)
15:42:57 <arr> merijn: wherever its stored in ram or ssd
15:43:09 <arr> like, how its looked up
15:47:22 × Gurkenglas quits (~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
15:47:39 × jlamothe quits (~jlamothe@198.251.61.229) (Quit: leaving)
15:47:54 <merijn> arr: Array is just an array as you're used to in C/Java/languages like that. Only difference is that there's an extra indirection if you're not using unboxed arrays
15:48:33 <merijn> arr: You can make your own (efficient) serialisation fairly easily using binary, though
15:50:16 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.3)
15:50:28 ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
15:54:11 jlamothe joins (~jlamothe@198.251.61.229)
15:54:31 × d0ku quits (~d0ku@178.43.19.180.ipv4.supernova.orange.pl) (Ping timeout: 256 seconds)
15:54:31 × CHUD quits (~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
15:55:49 _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl)
15:58:04 × whound quits (~dust@2405:204:5488:ef4c:54b6:3467:52f3:e9f2) (Quit: Konversation terminated!)
15:59:07 Akiva joins (~Akiva@user/Akiva)
16:00:11 × fef quits (~thedawn@user/thedawn) (Remote host closed the connection)
16:00:25 × nunggu quits (~q@user/nunggu) (Remote host closed the connection)
16:00:47 fef joins (~thedawn@user/thedawn)
16:01:17 nunggu joins (~q@user/nunggu)
16:03:08 slack1256 joins (~slack1256@191.125.99.75)
16:03:37 × remedan quits (~remedan@octo.cafe) (Ping timeout: 240 seconds)
16:04:40 yauhsien_ joins (~yauhsien@118-167-40-21.dynamic-ip.hinet.net)
16:05:17 × slac16914 quits (~slack1256@186.11.80.172) (Ping timeout: 256 seconds)
16:06:53 remedan joins (~remedan@octo.cafe)
16:07:19 <arr> thats not really saying much. i have no idea how C does anything
16:07:52 <arr> i thought the idea of an effecient serialization was to do with the encoding of memory addresses
16:08:19 <arr> thats why i thought it could be making a program to cast from the (Int,Int) Array lookups to memory addresses
16:08:59 alp joins (~alp@user/alp)
16:09:28 × yauhsien_ quits (~yauhsien@118-167-40-21.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
16:09:30 doxen joins (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
16:10:19 <arr> but i have no clue how that would work
16:10:46 <arr> like, if you took the hash of the (Int,Int) serielzation, you would still need to store a bunch of associations
16:11:15 <arr> so then is it in some kind of partition tree lookup where it can go charwise through the hash "word"
16:12:01 × soxen quits (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 245 seconds)
16:13:37 <merijn> I think you need to rollback a whole lot and explain what you actually wanna do
16:14:01 slowButPresent joins (~slowButPr@user/slowbutpresent)
16:17:54 <arr> understand how Array works, and use it as a model for an implementation of a "program" based encoding
16:18:32 <arr> i give it (Int,Int), it does something, and it finds the value
16:18:50 <arr> im assuming it does something like calculating a C stle memory address
16:19:04 <arr> that is, that some kind of bytecode is generated to access over the SSD or RAM
16:19:26 <arr> like a bunch of logic gate flips to get to where the data is stored on the chip
16:19:48 <c_wraith> but... why? what are you doing?
16:19:49 <arr> (this is how i understand what a "memory address" is)
16:19:58 <arr> c_wraith: why do you ask?
16:20:19 <arr> i mean, i dont actually want to know, im just wondering why not just answer the question
16:20:21 <c_wraith> because you're describing your expected solution space
16:20:33 <arr> and thats bad?
16:20:38 <c_wraith> And it's much more useful to describe your problem space and ask what good solutions are
16:20:57 <c_wraith> because good solutions might not intersect with your expected solution space at all
16:21:03 <arr> the problem is effecient encoding of a 2d array
16:21:16 <c_wraith> for what purpose?
16:21:21 <arr> i understand this to be the specification of a program that calculates memory addresses
16:21:27 <c_wraith> there isn't one efficient encoding
16:21:29 <arr> what do you mean for what purpose!?!?
16:21:41 <arr> its lie the most generally useful thing there is!
16:21:48 slac82791 joins (~slack1256@186.11.80.172)
16:21:56 <c_wraith> efficient encoding of large sparse matrix is entirely different from efficient encoding of a photograph, yet both are large 2d arrays conceptually
16:21:57 <arr> oh ok, you mean that it might be usecase specific
16:22:13 <arr> well, the usecase could be considered to be a covnet
16:22:23 <arr> or a fluid simulation, both are similar
16:22:34 <arr> in that they use convolutions
16:23:07 <arr> c_wraith: the important point is that we can expect every piece of data to be accessed exactly once all at the same time
16:23:17 <arr> eg, viewing an image
16:23:25 <arr> no sparse access
16:23:41 × slack1256 quits (~slack1256@191.125.99.75) (Ping timeout: 245 seconds)
16:24:12 <arr> actually, we expect that for the convolutions, that every piece of data will be accessed several times, evenly
16:24:31 <arr> i think repa uses something like zip with tail but in a 2d setting
16:24:50 lavaman joins (~lavaman@98.38.249.169)
16:24:52 <arr> but really it should be nd, and for arbitrary stencils, that might not be shaped in a square
16:25:09 <arr> like, this zip with tail in many dimensions idea should not be considered
16:25:23 <arr> and instead an API should be provided for "navigation"
16:25:45 <arr> where then you argue that nd-zippers are slow compared to just using an Array
16:25:49 <arr> ...
16:26:08 <c_wraith> zippers are almost completely useless for 2-dimensional data
16:26:26 <c_wraith> they don't really work when paths aren't unique
16:27:39 × sus quits (zero@user/zeromomentum) (Quit: the lounge - https://webirc.envs.net)
16:27:41 <c_wraith> anyway, if you want to be efficient reading dense data fitting within rectangular bounds, a single chunk of memory is ideal
16:28:11 sus joins (zero@user/zeromomentum)
16:28:26 <c_wraith> Though if you want to be doing stencil convolutions, you don't really want a row-major representation. You want something with better data locality
16:29:39 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
16:31:36 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
16:33:50 <arr> some kind of partition tree?
16:33:56 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
16:34:12 <merijn> Depends on how you intend to parallelise/SIMD
16:34:13 <arr> i dont get how that works though, dont we just use the (Int,Int) to give some memory address?
16:34:23 <arr> what does it matter how thats laid out in memory?
16:34:48 <c_wraith> memory access isn't constant-time in the real world
16:35:04 <arr> merijn: sure, if there was a different hardware available, but for now we can assume its all on one stick of ram or one harddrive
16:35:13 <c_wraith> and no, not a partition tree. No pointers at all
16:35:25 <c_wraith> just one block of memory
16:35:34 <arr> c_wraith: just some kind of, less logic gate flips to get there or something? idk what you mean
16:35:45 <merijn> Arrays are the universal HPC data structure
16:35:46 <arr> how does row major play into this!?
16:35:52 <merijn> arr: Because your CPU has caches
16:36:02 <merijn> And those caches assume certain access patterns
16:36:08 <arr> oh
16:36:15 <arr> how does that work, this sounds important
16:36:15 <merijn> And violating those can slow accesses down by orders of magnitude
16:36:23 <arr> hmmmm
16:36:39 <arr> so say i want the nearest neighbours, for a gradient calculation
16:36:41 <arr> in 2d
16:36:43 <arr> on nd
16:36:46 <arr> or*
16:37:11 <merijn> arr: tbh, it sounds like you're a bit out of your depth :) I wish I had a good resource for the basics on high performance code/optimisation, but I learned most of what I know the hard way :\
16:37:13 <arr> then your saying if it doesnt all fit on the cpu, that something could be improved
16:37:34 <arr> merijn: no need to be disparaging
16:38:14 <arr> its likely i can understand the issues you describe adequately
16:38:16 <merijn> arr: I didn't mean that disparaging, just an observation. Some relevant things to look into are cache hierarchies, memory access patterns, false sharing
16:38:57 <merijn> arr: I just meant that your questions require a bit of diving into modern CPU architectures to really answer/make sensible trade-offs
16:38:58 <arr> ok, so issue is with cache hierarchies?
16:39:46 <arr> i dont see how the flippy gates on the ram, get data into the cpu's local memory, and then, how are you supposed to have an effecient datatype for convolutions?
16:40:44 <arr> like, at what point are you saying that an (Int,Int) -> memory address, is going to be suboptimal
16:40:51 <arr> i cant see how it could be improved over
16:41:09 <arr> i guess your suggesting you would want to no reaccess data that could be stored
16:41:13 <merijn> arr: There's 3 layers of cache in modern CPUs. So when you access "one byte" in reality what happens is that your caches will read entire cache lines (64 bytes or more) at once (since memory buses can transfer a lot of data at once)
16:41:28 <arr> but in the high dimensional limit, this is pointless
16:41:46 <merijn> arr: This means that sequential access of memory only hits main memory once every 64 bytes (or 128 or whatever your cache line size is)
16:41:57 <arr> i guess we never get there though, so there would always be saving from storing instead of reaccessing
16:41:59 <merijn> arr: So you want to layout your data such that you end up doing mostly sequential accesses
16:43:16 son0p joins (~ff@181.136.122.143)
16:44:11 <arr> so im going to be going to each piece of data in the nd-array, and updating it according to its surrounding neigbours
16:44:28 <arr> depending on what order of gradient the pde uses, or how wide the convolutions are in the covnet
16:44:51 <arr> im going to need to navigate further away from the datapoint being updated to get the data needed for the update
16:45:22 <arr> fortunately this does not change (the stencil width) during the computation
16:45:38 <arr> so i can arrainge the bytes of the data however is best according to the stencil width
16:46:22 <merijn> tbh, you probably don't wanna go for in-place update but have an input array and output array and compute output cells from the immutable input array
16:46:34 <merijn> That'd allow you to vectorise/parallelise much easier
16:46:45 <arr> sure
16:46:53 <arr> but notionally its the same
16:47:19 <arr> we have immutable containers so produce a new piece of data in our pure language, this is fine
16:47:23 × CiaoSen quits (~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
16:47:53 <arr> the question is if there is anything faster than just converting the (Int,Int) to a memory address
16:47:55 zmt00 joins (~zmt00@user/zmt00)
16:48:16 <arr> regardless or reuse of foraged data, which would be basically impossible in the high dimensional limit
16:48:21 <arr> of*
16:48:32 <arr> s/or/of
16:49:08 cfricke joins (~cfricke@user/cfricke)
16:49:14 <arr> since the surface are of the surroundings increases as compared to the contact surface
16:49:18 <arr> area*
16:50:11 <arr> i guess the reason that the zipwith tail approach in repa is effecient is that it is in a low dimensional setting
16:50:30 <arr> and that it probably handles this cpu storage nicely
16:50:51 CHUD joins (~CHUD@host-80-41-89-108.as13285.net)
16:50:56 <arr> but then i guess i partition tree would also
16:51:28 <arr> i guess there *are* arguments against fast random containers for structured access patterns even on serial hardware
16:51:46 <arr> based on this cpu storage argument
16:51:57 <arr> since it gives some ad-hoc parallelism
16:52:21 <arr> idk how that would work with a tree zipper though
16:52:44 <arr> i guess it wouldnt go to the memory unless you navigate up too far
16:52:53 <arr> i g2g anyway
16:52:54 × arr quits (~arr@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net) (Quit: Connection closed)
16:58:30 quintasan joins (~quassel@quintasan.pl)
16:58:45 lavaman joins (~lavaman@98.38.249.169)
16:59:41 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.3)
16:59:55 × ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
17:03:15 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
17:03:17 lbseale joins (~ep1ctetus@user/ep1ctetus)
17:04:08 cfricke joins (~cfricke@user/cfricke)
17:06:24 × wyrd quits (~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 276 seconds)
17:07:44 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
17:08:19 polyphem_ is now known as polyphem
17:09:01 Gurkenglas joins (~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de)
17:09:01 Gurkenglas_ joins (~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de)
17:10:40 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.3)
17:10:45 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
17:11:19 ChanServ sets mode +o geekosaur
17:11:44 geekosaur sets mode +b *!*@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net
17:12:00 Feuermagier joins (~Feuermagi@user/feuermagier)
17:12:41 wyrd joins (~wyrd@gateway/tor-sasl/wyrd)
17:14:15 <geekosaur> that, by host, appears to have been our buddy fog
17:15:16 geekosaur sets mode -o geekosaur
17:15:41 Sgeo_ joins (~Sgeo@user/sgeo)
17:15:46 <monochrom> onoes :)
17:15:58 × Gurkenglas_ quits (~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de) (Quit: Leaving)
17:17:06 <Profpatsch> Either I’m blind or there is no function Integral a => a -> Maybe Natural
17:17:47 <monochrom> I think the standard library doesn't have it.
17:18:13 <monochrom> https://hackage.haskell.org/package/int-cast may have something along that line.
17:18:16 × mbuf quits (~Shakthi@171.61.172.103) (Quit: Leaving)
17:18:55 × chomwitt quits (~chomwitt@2a02:587:dc03:8900:12c3:7bff:fe6d:d374) (Ping timeout: 268 seconds)
17:19:10 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 256 seconds)
17:20:42 <Profpatsch> okay lol huh
17:20:52 <Profpatsch> Maybe Natural shouldn’t depend on Maybe
17:20:52 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
17:21:44 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
17:21:45 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
17:21:45 wroathe joins (~wroathe@user/wroathe)
17:23:49 wombat875 joins (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
17:24:57 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49)
17:27:06 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
17:27:09 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
17:27:27 Feuermagier joins (~Feuermagi@user/feuermagier)
17:27:29 <geekosaur> hm, spelunking my logs, fog appears to *not* nbe this person. they are however leibniz and froduck among several others
17:27:33 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 268 seconds)
17:29:03 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
17:29:15 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49) (Ping timeout: 250 seconds)
17:30:15 hyiltiz joins (~quassel@31.220.5.250)
17:32:38 Feuermagier joins (~Feuermagi@user/feuermagier)
17:33:07 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
17:35:05 × ubert1 quits (~Thunderbi@p200300ecdf09945c0ca179bca462169c.dip0.t-ipconnect.de) (Remote host closed the connection)
17:35:16 Feuermagier joins (~Feuermagi@user/feuermagier)
17:35:41 modnar joins (~modnar@shell.sonic.net)
17:35:48 × hgolden quits (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Quit: Konversation terminated!)
17:37:18 hgolden joins (~hgolden2@cpe-172-114-81-123.socal.res.rr.com)
17:39:21 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
17:41:13 Feuermagier joins (~Feuermagi@user/feuermagier)
17:41:30 × nunggu quits (~q@user/nunggu) (Ping timeout: 276 seconds)
17:41:49 <maerwald> tasty seems to print errors in annoying red... I can't find where it's setting the color =o
17:42:09 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
17:42:52 Feuermagier joins (~Feuermagi@user/feuermagier)
17:43:32 <[exa]> maerwald: (non-fix: ) try overriding TERM to something monochromatic and if it doesn't stop, fill a bug report :]
17:44:08 ProfSimm joins (~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
17:44:15 <maerwald> no, I want to use my own colors, so I want to disable it
17:44:29 <[exa]> well there is `useColor`
17:44:45 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
17:44:52 <maerwald> I know how to do terminal colors
17:45:02 × CHUD quits (~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
17:45:14 × merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
17:45:25 <[exa]> ah so you want to customize colors not turn them off
17:45:28 <maerwald> but that might not work or mix well with tasty, because it can just revert everything
17:45:38 <maerwald> so I want to know where tasty sets the colors
17:46:16 <[exa]> looks around here https://hackage.haskell.org/package/tasty-1.4.2.1/docs/src/Test.Tasty.Ingredients.ConsoleReporter.html#consoleTestReporterWithHook
17:46:19 Feuermagier joins (~Feuermagi@user/feuermagier)
17:46:45 <maerwald> aha... it looks like it might be configurable
17:47:22 <[exa]> they are passing `colors` around as implicit bool
17:47:35 <[exa]> like, turning it off is probably okay, other colors no idea
17:47:46 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
17:48:35 <[exa]> ah, here https://hackage.haskell.org/package/tasty-1.4.2.1/docs/src/Test.Tasty.Providers.ConsoleFormat.html#failFormat
17:49:37 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
17:50:19 chomwitt joins (~chomwitt@athedsl-02411.home.otenet.gr)
17:52:18 nunggu joins (~q@user/nunggu)
17:53:21 Feuermagier joins (~Feuermagi@user/feuermagier)
17:55:42 × fef quits (~thedawn@user/thedawn) (Remote host closed the connection)
17:56:03 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
17:56:11 fef joins (~thedawn@user/thedawn)
17:56:26 × fef quits (~thedawn@user/thedawn) (Remote host closed the connection)
17:57:42 lavaman joins (~lavaman@98.38.249.169)
17:58:44 RFV joins (~Thunderbi@118.red-88-13-184.dynamicip.rima-tde.net)
17:58:46 <kaol> Is there a type class that has just extract? It'd be pretty simple to make just one for my program but if there's something obvious I'm missing then I could go with it.
17:59:24 × MajorBiscuit quits (~MajorBisc@c-001-020-005.client.tudelft.eduvpn.nl) (Ping timeout: 250 seconds)
18:00:23 <maerwald> [exa]: what an unintuitive API
18:00:44 <EvanR> just extract sounds as silly as the Default class
18:01:13 <EvanR> Comonad is almost silly in it's full glory
18:02:08 <kaol> I guess I'll just make my own type a comonad, its duplicate is going to be silly but valid.
18:02:14 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
18:02:23 <EvanR> oh if it's actually a Comonad that's better
18:02:56 <monochrom> A lot of great things started as silly but valid things. :)
18:02:59 <kaol> Still going to only call extract on it.
18:03:17 <EvanR> I also saw this, class Eval f where eval :: f a -> a
18:04:28 <EvanR> actually, Functor prereq on that
18:04:41 <EvanR> from datatypes a la carte
18:05:27 Feuermagier joins (~Feuermagi@user/feuermagier)
18:05:36 × chele quits (~chele@user/chele) (Remote host closed the connection)
18:06:14 yauhsien_ joins (~yauhsien@118-167-40-21.dynamic-ip.hinet.net)
18:06:40 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
18:07:59 <kaol> Even better, I'll just use Env. Since that's what it really is.
18:08:09 MajorBiscuit joins (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e)
18:09:33 <kaol> They'll love me in the code review. I just recently gave them some code with fmap . fmap . fmap . fmap . fmap.
18:09:46 Feuermagier joins (~Feuermagi@user/feuermagier)
18:09:57 <monochrom> Recognize that (.) is also fmap. >:)
18:10:16 <kaol> I'm not that evil.
18:10:46 × yauhsien_ quits (~yauhsien@118-167-40-21.dynamic-ip.hinet.net) (Ping timeout: 245 seconds)
18:11:10 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
18:11:45 emf joins (~emf@162.218.217.186)
18:13:34 × doyougnu quits (~doyougnu@cpe-67-241-69-171.twcny.res.rr.com) (Ping timeout: 256 seconds)
18:14:29 × doxen quits (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds)
18:15:14 CHUD joins (~CHUD@host-80-41-89-108.as13285.net)
18:16:24 × emf quits (~emf@162.218.217.186) (Ping timeout: 256 seconds)
18:16:49 merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
18:17:04 emf joins (~emf@2620:10d:c090:400::5:b471)
18:17:19 <EvanR> can you form any program from the proper tree of just fmaps and proper Functor instances
18:17:59 <EvanR> should be no because it "can't do anything"
18:18:04 econo joins (uid147250@user/econo)
18:19:43 <DigitalKiwi> sir this is #haskell none of our programs do anything
18:19:56 geekosaur hides his programs
18:20:00 <kaol> unsafeMakeCPUHot
18:20:10 califax- joins (~califax@user/califx)
18:20:30 × califax quits (~califax@user/califx) (Ping timeout: 276 seconds)
18:20:33 Feuermagier joins (~Feuermagi@user/feuermagier)
18:20:46 <DigitalKiwi> unsafePerformCocoa
18:20:54 <monochrom> My program calls itself. Is that OK?
18:21:06 <DigitalKiwi> is your program lonely
18:21:13 <monochrom> Yes. Very.
18:21:14 califax- is now known as califax
18:21:26 × MajorBiscuit quits (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 252 seconds)
18:21:44 <DigitalKiwi> only after 9 pm and on weekends
18:21:51 × merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
18:22:30 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
18:23:21 AlexNoo_ is now known as AlexNoo
18:23:32 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
18:23:40 × ubert quits (~Thunderbi@141.98.252.232) (Ping timeout: 250 seconds)
18:23:40 ub joins (~Thunderbi@141.98.252.252)
18:23:57 Feuermagier joins (~Feuermagi@user/feuermagier)
18:25:59 ub is now known as ubert
18:26:53 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
18:27:10 Feuermagier joins (~Feuermagi@user/feuermagier)
18:28:13 × polezaivsani quits (~polezaivs@orangeshoelaces.net) (Remote host closed the connection)
18:28:31 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
18:29:34 justsomeguy joins (~justsomeg@user/justsomeguy)
18:33:01 Feuermagier joins (~Feuermagi@user/feuermagier)
18:34:06 × n3rdy1 quits (~n3rdy1@2600:1700:4570:3480::41) (Ping timeout: 245 seconds)
18:34:14 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
18:39:04 <EvanR> is there a functional pearl level technique to write a serializer and parser at the same time
18:39:59 <EvanR> reversible parser? reversible pretty printer?
18:40:10 <EvanR> some kind of unifying theory
18:40:19 × alp quits (~alp@user/alp) (Ping timeout: 250 seconds)
18:40:29 segfaultfizzbuzz joins (~rustisafu@2602:306:cd3c:9350:5d4f:b362:d270:61b0)
18:41:10 <segfaultfizzbuzz> so what is the state of the art if i want a language for "heterogeneous" computing
18:41:33 <segfaultfizzbuzz> for example i would like to write a program and then be able to do things like:
18:42:03 Feuermagier joins (~Feuermagi@user/feuermagier)
18:42:16 × CHUD quits (~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
18:42:27 <segfaultfizzbuzz> have parts of the program compile to fpga/gpu code if it presents an advantage
18:43:00 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
18:43:11 <segfaultfizzbuzz> have the program compile to a distributed system
18:43:44 Feuermagier joins (~Feuermagi@user/feuermagier)
18:43:49 <EvanR> check out cloud haskell
18:44:11 <DigitalKiwi> and then get sad
18:44:15 <kaol> EvanR: I guess something like this would come closest to it https://kowainik.github.io/posts/2019-01-14-tomland
18:44:16 <EvanR> probably
18:44:29 <segfaultfizzbuzz> most recent activity 2016...?
18:44:38 × kli quits (~kli@ip-89-177-122-45.net.upcbroadband.cz) (Quit: Leaving)
18:45:02 <DigitalKiwi> sad isn't it :(
18:45:46 <kaol> segfaultfizzbuzz: https://github.com/Kindelia/HVM if you want something cutting edge, though I'd expect it to take quite some time to mature
18:45:58 <segfaultfizzbuzz> the third out of four examples is map reduce which is very trivial
18:46:15 <segfaultfizzbuzz> k means i am looking at but expect this to also be fairly trivial
18:46:34 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
18:47:32 n3rdy1 joins (~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293)
18:47:44 <monochrom> EvanR: https://hackage.haskell.org/package/roundtrip and the paper it cites are good starting points.
18:48:05 <EvanR> HVM...
18:48:40 <EvanR> the executive reports to code ratio is pretty crazy there
18:49:09 <EvanR> it supports 2 data types
18:49:17 × neurocyte0917090 quits (~neurocyte@user/neurocyte) (Ping timeout: 240 seconds)
18:49:49 <EvanR> it's also like a week old
18:50:33 neurocyte0917090 joins (~neurocyte@IP-094046082248.dynamic.medianet-world.de)
18:50:33 × neurocyte0917090 quits (~neurocyte@IP-094046082248.dynamic.medianet-world.de) (Changing host)
18:50:33 neurocyte0917090 joins (~neurocyte@user/neurocyte)
18:52:45 <EvanR> k I remember this paper, time to do a deep dive
18:53:53 × Morrow quits (~user@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 252 seconds)
18:55:52 Morrow joins (~user@bzq-110-168-31-106.red.bezeqint.net)
18:56:22 Feuermagier joins (~Feuermagi@user/feuermagier)
18:58:37 Guest|7 joins (~Guest|7@185.136.116.179)
18:59:04 × Guest|7 quits (~Guest|7@185.136.116.179) (Client Quit)
18:59:49 polezaivsani joins (~polezaivs@orangeshoelaces.net)
19:00:59 alp joins (~alp@user/alp)
19:01:24 <EvanR> "pretty printers are usually structured around a proper type Doc", where is this Doc type normally
19:01:30 <EvanR> :t Doc
19:01:31 <lambdabot> error: Data constructor not in scope: Doc
19:01:37 <EvanR> :k Doc
19:01:38 <[exa]> in `pretty`
19:01:38 <lambdabot> *
19:01:42 <EvanR> ah
19:01:44 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
19:01:55 <[exa]> https://hackage.haskell.org/package/pretty
19:02:02 <kaol> I haven't really felt the need for having bidirectionaly encode and decode myself. I have a web site and all the interesting queries are going to be complex joins to a relational DB with all sorts of aggregates and stuff. I have seldom any use for deserializing something I've inserted or updated to it.
19:02:02 Feuermagier joins (~Feuermagi@user/feuermagier)
19:02:13 doxen joins (~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
19:03:45 <[exa]> segfaultfizzbuzz: accelerate can compile to many targets quite efficiently
19:03:50 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
19:04:15 <EvanR> kaol so you only do read only or write only, never both at the same time xD
19:04:17 Feuermagier joins (~Feuermagi@user/feuermagier)
19:04:32 <EvanR> like Eiffel
19:05:31 <kaol> insert returning is a thing. And others.
19:05:46 <[exa]> segfaultfizzbuzz: the heterogeneous computing problem is that the platforms are so diverse that it's pretty hard to have a single central code that is transformed to all (you'd implicitly encode 4 different implementations there anyway)
19:05:57 CHUD joins (~CHUD@host-80-41-89-108.as13285.net)
19:06:32 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
19:06:53 <kaol> hasql is my go to library for DB stuff. The way it does it that every statement comes with an encoder (contrafunctor) and a decoder (functor).
19:07:09 × {-d0t-} quits (~q_q@user/-d0t-/x-7915216) (Quit: Konversation terminated!)
19:07:41 <EvanR> serialize deserialize seems to not really apply to an SQL backed website
19:08:03 <EvanR> where you think of your data as either being in haskell or in a database, not serialized
19:08:32 <EvanR> or in haskell or in javascript
19:10:33 Feuermagier joins (~Feuermagi@user/feuermagier)
19:11:44 <segfaultfizzbuzz> [exa]: i mean doesn't this seem like a very high value problem to solve...?
19:12:14 <[exa]> "very high value"?
19:12:23 <segfaultfizzbuzz> yes, for multiple reasons
19:13:08 <segfaultfizzbuzz> i think firstly it isn't clear what the "best" method for specifying programs is, and so having a good answer for this problem would shine a lot of light on that
19:13:50 <[exa]> programmers have been constantly failing for like 70+ years now to find a "best" method for specifying programs :]
19:13:52 <segfaultfizzbuzz> second, it might be that my problem could be solved by running across 100 computers for 1 second instead of running 1 or 2 computers for days. but i don't have time to figure that out myself
19:14:23 waleee joins (~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
19:14:24 <segfaultfizzbuzz> with modern cloud access, there's a large financial incentive to discover that it's worthwhile to perform the distributed compute
19:14:30 <[exa]> you don't need heterogeneous computing for that
19:14:43 <segfaultfizzbuzz> and furthermore i could temporarily borrow some fpgas or whatever i need for the task at hand, since those are in the cloud too
19:14:58 Pickchea joins (~private@user/pickchea)
19:15:14 <segfaultfizzbuzz> so, approximately speaking, the sky is the limit in terms of available hardware
19:15:22 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
19:15:36 <[exa]> anyway this is pretty common today, you just don't tell your programmers to code it in 1 supergeneric language, but in 2 specific languages
19:16:03 <[exa]> because 2 is literally the practical number of really different platforms we have now for common computing tasks
19:17:12 merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
19:17:15 Feuermagier joins (~Feuermagi@user/feuermagier)
19:17:17 <segfaultfizzbuzz> 2 is the number of really different platforms?
19:17:24 <segfaultfizzbuzz> what, CPU and GPU...?
19:17:36 <segfaultfizzbuzz> meaning branching and non-branching...?
19:17:46 geekosaur trying to figure that too, having 3 candidates come to mind
19:18:00 <geekosaur> (linux/windows, x86/arm, cpu/gpu)
19:18:30 <geekosaur> (android/iphone)
19:18:35 <segfaultfizzbuzz> i think only cpu and gpu there are different
19:18:38 <[exa]> yeah, literally, if I have a ton of $data (say genomes in my case) and I want to do this the easy way, I can basically choose just between "I'm going to run this paralelly on huge lots of CPUs" or "I'm going to code for GPU(s)"
19:18:44 <kaol> browser/backend
19:18:51 <DigitalKiwi> blockchain/not blockchain
19:19:04 <segfaultfizzbuzz> DigitalKiwi: lol
19:19:26 <[exa]> FPGAs are nice but not generally available (making my stuff nonreproducible)
19:19:34 <monochrom> currency/nft >:)
19:19:52 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 256 seconds)
19:19:53 <monochrom> bosons/fermions >:) >:)
19:20:11 <[exa]> I'm never going to put a practical generalization again to #haskell
19:20:44 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
19:20:57 <segfaultfizzbuzz> maybe all of this just comes down to programmability, and CPUs win because they are the most programmable
19:21:43 <segfaultfizzbuzz> and so you can allocate effort to special programming tasks like what i am describing, but unless you are focusing on doing your work on CPUs, and especially on CPUs on a single machine with fairly trivial sharding/parallelism, you are pretty much hosed...
19:21:53 <monochrom> I feel that you were morally right. 2 is the upper limit of how many platforms a code monkey can deal with. :)
19:21:53 <EvanR> is most programmable similar to most excellent
19:21:55 × coot quits (~coot@213.134.190.95) (Ping timeout: 256 seconds)
19:22:03 zebrag joins (~chris@user/zebrag)
19:22:10 Feuermagier joins (~Feuermagi@user/feuermagier)
19:22:12 <DigitalKiwi> most unique
19:22:51 <[exa]> re platforms, anyone here remembers xeon phi btw? :D
19:23:31 <[exa]> segfaultfizzbuzz: why hosed?
19:23:35 <EvanR> segfaultfizzbuzz, unfortunately most programs are hopelessly not parallizable
19:23:40 <monochrom> I remember Xenix, BeOS, Palm OS, OS/2.
19:24:02 <EvanR> and if they are, not in a way that a distributed system would benefit
19:24:03 <monochrom> For hardware, I remember 6502 and Z80.
19:24:16 [exa] pushes back a zilog tear
19:24:30 <monochrom> And the CPU that Sharp PC-1500 used.
19:24:39 <segfaultfizzbuzz> [exa]: yes i recall xeon phi. arguably nvidia won there because "cuda" won the "programmability" view of things
19:24:54 <[exa]> monochrom: oh wow I was playing stuff on mz-800 :D
19:25:32 × Morrow quits (~user@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 256 seconds)
19:26:42 geekosaur remembers being pissed that the z8000 was not to the 8086 what the z80 was to the 8080
19:26:55 <[exa]> wow wait that's the pockety one, cool
19:27:17 Morrow joins (~user@bzq-110-168-31-106.red.bezeqint.net)
19:28:10 <monochrom> :)
19:28:28 <monochrom> The inverted pissing game of "mine is smaller than yours!"
19:28:56 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
19:29:02 <segfaultfizzbuzz> EvanR: distributed systems can't be used for most computations?
19:29:18 Feuermagier joins (~Feuermagi@user/feuermagier)
19:29:19 <EvanR> not what I said
19:29:42 <segfaultfizzbuzz> part of what i am wondering is why my ram isn't starting to have more compute onboard
19:29:48 <segfaultfizzbuzz> so my machine behaves more like a distributed compute
19:29:53 <segfaultfizzbuzz> *distributed computer
19:30:02 <monochrom> Look for "transputer".
19:30:29 <EvanR> distributing the parts of your computer across the planet sounds pretty bad for performance
19:30:53 <segfaultfizzbuzz> because i am being told that fetching data from ram is very slow, so why not tell ram what to do instead
19:31:11 <geekosaur> memristors are a thing but not ready for general purpose use
19:31:13 <EvanR> that is what your OS does
19:31:42 × emf quits (~emf@2620:10d:c090:400::5:b471) (Ping timeout: 250 seconds)
19:32:28 vicfred joins (~vicfred@user/vicfred)
19:32:34 <EvanR> ram+ram controller is specialized to have huge memory, cpu is specialized to have huge computeness
19:32:52 <EvanR> basically you want them to both be both
19:33:06 <EvanR> and then awkwardly communicate
19:34:07 <segfaultfizzbuzz> are computer architecture decisions made quantitatively or by theorizing, speculating, shouting, and enduring market failures?
19:34:21 <EvanR> yes
19:34:35 <segfaultfizzbuzz> like, i should be able to simulate different computer architecture decisions (like putting more compute in ram)
19:34:38 <monochrom> shouting and marketting, yes.
19:34:43 emf joins (~emf@2620:10d:c090:400::5:b471)
19:34:45 <[exa]> also by publishing benchmarks that are 0.5% better than $othercompany
19:34:55 <monochrom> So, not even theorizing. Theorizing would be a good start.
19:35:03 <segfaultfizzbuzz> and then determine, for perhaps a particular market segment that
19:35:19 doyougnu joins (~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
19:35:23 <segfaultfizzbuzz> genomics favors ram with these special instructions
19:35:26 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
19:35:46 <segfaultfizzbuzz> or that i could specialize a cpu with some instructions, or make use of an integrated fpga-cpu in a certain way
19:36:07 madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net)
19:36:15 <monochrom> Humans want small block diagrams. Block diagrams that have, say, at most 5 vertices, and each vertice having at most degree 3.
19:36:21 <geekosaur> thi sall has a nasty failure mode
19:36:39 <segfaultfizzbuzz> what is a block diagram
19:36:48 <monochrom> This immediately advantages centralized models such as the von Neumann model. Even politicians understand the von Neumann model.
19:36:52 <segfaultfizzbuzz> i'm not sure whether humans will be relevant to engineering for much longer
19:37:07 <geekosaur> pretty soon someone comes up with a computer virus that reconfigures your cpu / fpga / ram / etc.
19:37:19 <segfaultfizzbuzz> haha
19:37:20 myShoggoth joins (~myShoggot@97-120-67-120.ptld.qwest.net)
19:37:23 <segfaultfizzbuzz> a benevolent virus?
19:37:52 geekosaur sighs
19:37:58 <monochrom> Decentralized computing would mean if you had 1000 units of memory and correspondingly 1000 units of computing spread out, the block diagram would be like 1000 nodes and god knows how many edges per node.
19:38:04 <geekosaur> where in that did I say "benevolent"?
19:38:18 <monochrom> Both voters and politicians hate such a humongous graph.
19:38:24 <dolio> If hardware is being tailored to certain domains, why was the previous assumption that a single programming language would be optimally applicable to every domain?
19:38:33 <DigitalKiwi> geekosaur: reconfigures it to mine *coin
19:38:37 <segfaultfizzbuzz> monochrom: i mean, if it provides a significant advantage in latency or power consumption or whatever, who cares...?
19:38:53 <[exa]> dolio: because programmers are the laziest part there
19:38:58 Feuermagier joins (~Feuermagi@user/feuermagier)
19:39:07 <segfaultfizzbuzz> dolio: because programmers won't be smarter than computers for much longer
19:39:14 <monochrom> No no. Human nature goes "if it makes me feel better, who cares"
19:39:19 geekosaur disbelieves
19:39:35 <segfaultfizzbuzz> lol
19:39:46 <[exa]> I'd love to share the optimism here tho
19:39:48 <EvanR> only in futuristic soviet russia code programs you
19:39:49 <geekosaur> AI, like fusion, has been just over the horizon for how long now?
19:39:51 <dolio> You're in complete fantasy land.
19:39:53 <DigitalKiwi> stop stop i'm not even in psychosis right now
19:39:58 <monochrom> I have social empirical evidence for my theory, you know.
19:40:15 <DigitalKiwi> ...or am i :(
19:40:46 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
19:41:03 Feuermagier joins (~Feuermagi@user/feuermagier)
19:41:08 <EvanR> if AI can correctly recognize a zamboni 95% of the time, surely that means it's ready to write our software
19:41:14 <monochrom> Transputer failed. Reduceron failed. Functional programming almost failed. Everything against the von Neumann model fails or is marginalized.
19:41:16 <DigitalKiwi> i haven't payed my phone bill in months but it's still on so i'm pretty sure the cia is after me ;D
19:42:29 EvanR wears I'm not with DigitalKiwi shirt
19:42:43 <DigitalKiwi> EvanR: for funsies i do mturk and i'm pretty sure the AI is me
19:43:30 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
19:43:58 <DigitalKiwi> pretty sure most advanced AI are really a bunch of people making $0.05 a hit
19:44:22 Midjak2 joins (~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
19:45:05 × Midjak2 quits (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Remote host closed the connection)
19:45:43 × Midjak quits (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Ping timeout: 256 seconds)
19:45:45 Midjak2 joins (~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
19:45:46 Feuermagier joins (~Feuermagi@user/feuermagier)
19:46:17 × merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
19:46:21 <EvanR> in Invertible Syntax Descriptions: Unifying Parsing and Pretty Printing, they have a symmetric type for "partial isomorphisms", like data Iso a b = Iso (a -> Maybe b) (b -> Maybe a), the two directions are for parsing and pretty printing
19:46:33 oldsk00l joins (~znc@ec2-13-40-107-163.eu-west-2.compute.amazonaws.com)
19:46:34 <EvanR> but I don't really understand why there is partiality for pretty printing
19:46:34 <monochrom> dolio: I prefer going along with that fantasy. If human programmers will be taken out of the equation, why need one or multiple languages, one or multiple compilers with one or multiple backends in the first place? >:)
19:46:49 <segfaultfizzbuzz> monochrom: is marginalized?
19:47:37 <DigitalKiwi> do the project managers get replaced too
19:48:06 <DigitalKiwi> can we replace the users too
19:48:12 <DigitalKiwi> they seem to be the most problematic
19:48:53 <EvanR> It says on this, "We are dealing with partial functions because a Printer α should represent a pretty printer for a subset of the extension of α." what do you think this means
19:49:02 <segfaultfizzbuzz> geekosaur: i mean, we are starting to see "ai" based methods being used in circuit design, synopsys is starting to use it for layout and machines are starting to beat people
19:49:07 <monochrom> EvanR: I haven't read it yet. But maybe play along and later there may be a use case.
19:49:12 mickaelviey__ joins (~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
19:49:29 <geekosaur> segfaultfizzbuzz, for some things
19:49:34 <segfaultfizzbuzz> i don't drink any "ai koolaid" here, i just think that programming is more like chess or go than people think
19:49:40 × mickaelviey__ quits (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Remote host closed the connection)
19:49:57 <segfaultfizzbuzz> so at some point we will focus more on program specification than computer instruction
19:50:02 <segfaultfizzbuzz> probably sooner rather than later
19:50:11 <EvanR> yes many languages have the programmer mindlessly typing the same nonsense over and over
19:50:35 <EvanR> which obviously makes those kind of programming jobs more plentiful
19:50:39 <segfaultfizzbuzz> and even if you have a temporary advantage being able to exploit some knowledge of an architecture to achieve a performance benefit
19:50:51 <segfaultfizzbuzz> something will happen which will make your knowledge obsolete, suboptimal, no longer work, etc
19:51:15 mickaelviey__ joins (~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
19:51:15 <geekosaur> tbh if there's a place that would really benefit it's proigram specification. people are *terrible* at it
19:51:23 × Midjak2 quits (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Ping timeout: 256 seconds)
19:51:28 <segfaultfizzbuzz> so really knowledge of what the program runs on is the concern of the compiler or the runtime etc, rather than the concern of the programmer
19:51:33 <EvanR> program specification: super addictive, borderline abusive massively multiplayer online RPG
19:51:55 <EvanR> profitable should be a checkbox
19:52:04 <segfaultfizzbuzz> geekosaur: wait "ai" techniques would benefit program specification you are saying...?
19:52:07 × mickaelviey__ quits (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Remote host closed the connection)
19:52:12 <EvanR> ok make RPG a checkbox and jam "profitable" to yes
19:52:23 <sm> do you want to be profitable: [ ] YES [ ] NO
19:52:25 <segfaultfizzbuzz> lol
19:53:06 <EvanR> that question does come up when filing for your business license (non-profit)
19:53:10 kli joins (~kli@ip-89-177-122-45.net.upcbroadband.cz)
19:53:27 simendsjo joins (~user@84.211.91.241)
19:53:36 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
19:53:39 × deadmarshal quits (~deadmarsh@95.38.231.118) (Ping timeout: 256 seconds)
19:53:55 Feuermagier joins (~Feuermagi@user/feuermagier)
19:55:02 × simendsjo quits (~user@84.211.91.241) (Remote host closed the connection)
19:56:50 × wombat875 quits (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 250 seconds)
19:56:57 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
19:57:15 Feuermagier joins (~Feuermagi@user/feuermagier)
19:57:16 <DigitalKiwi> https://mostlyabsurd.com/files/2022-02-01-173824_722x209_scrot.png
19:57:21 simendsjo joins (~user@84.211.91.241)
19:57:48 <DigitalKiwi> they used to just make games!
19:58:00 <monochrom> Oh hahaha
19:58:53 <EvanR> today's date is one of few remaining trinary dates
19:58:59 <EvanR> until 2100
19:59:18 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
19:59:44 Feuermagier joins (~Feuermagi@user/feuermagier)
20:00:06 × oldsk00l quits (~znc@ec2-13-40-107-163.eu-west-2.compute.amazonaws.com) (Ping timeout: 256 seconds)
20:00:18 × Pickchea quits (~private@user/pickchea) (Ping timeout: 250 seconds)
20:00:37 lavaman joins (~lavaman@98.38.249.169)
20:01:10 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
20:01:46 Feuermagier joins (~Feuermagi@user/feuermagier)
20:02:41 <segfaultfizzbuzz> haha
20:02:44 × CHUD quits (~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
20:04:52 <EvanR> I see, they don't pattern match to do pretty printing, but use <|>
20:05:33 <EvanR> try the pretty printer for each ctor until one works
20:06:26 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
20:06:29 <monochrom> Ahhhh interesting decomposition.
20:08:27 Feuermagier joins (~Feuermagi@user/feuermagier)
20:09:08 × ProfSimm quits (~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
20:09:39 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
20:10:07 <EvanR> because clearly you can't use pattern matching to go the other way
20:10:12 <EvanR> *or can you*
20:10:32 Feuermagier joins (~Feuermagi@user/feuermagier)
20:10:52 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
20:12:31 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
20:13:22 meltedbrain_y2k joins (~tekserf@87.125.156.8)
20:13:56 Erutuon joins (~Erutuon@user/erutuon)
20:18:46 theseb joins (~theseb@47-220-214-54.cnrocmta03.res.dyn.suddenlink.net)
20:18:51 <theseb> At the risk of stating the obvious i had an epiphany yesterday that "variable" = "key value pair" !!! if you think about it a variable actually represents TWO things....its name (the key) and what it is = to (the value) !!! they are the same thing! surprising?
20:18:57 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
20:19:26 x_kuru joins (~xkuru@user/xkuru)
20:20:22 <monochrom> That would be extremely insightful in ##c where "lvalue" is a central idea.
20:20:34 <monochrom> Over here it is false.
20:20:58 <Rembane> Is lvalue false?
20:21:05 <monochrom> Well, perhaps until we get down to efficiency questions such as re-compute vs re-use.
20:21:25 × xkuru quits (~xkuru@user/xkuru) (Ping timeout: 256 seconds)
20:21:28 Feuermagier joins (~Feuermagi@user/feuermagier)
20:24:04 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
20:25:36 <monochrom> But tomorrow you can have the related epiphany that a field of a record is a key-value pair, and the whole record a dictionary. That would be insighful in ##perl (in which they really do that) and in a depenently typed language, but still not here.
20:26:19 × kuribas` quits (~user@ptr-25vy0i9didaz6k0kzeu.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
20:27:03 <tomsmeding> though in an interpreter, variables are generally stored as key-value pairs in a map :)
20:27:55 Sgeo joins (~Sgeo@user/sgeo)
20:28:11 Feuermagier joins (~Feuermagi@user/feuermagier)
20:28:28 × myShoggoth quits (~myShoggot@97-120-67-120.ptld.qwest.net) (Ping timeout: 250 seconds)
20:28:40 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49)
20:29:43 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
20:29:54 <Rembane> It's quite neat imho
20:30:04 Feuermagier joins (~Feuermagi@user/feuermagier)
20:30:08 × Sgeo_ quits (~Sgeo@user/sgeo) (Ping timeout: 256 seconds)
20:30:34 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4)
20:31:51 myShoggoth joins (~myShoggot@97-120-67-120.ptld.qwest.net)
20:32:33 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
20:32:51 Feuermagier joins (~Feuermagi@user/feuermagier)
20:33:17 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
20:35:19 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
20:36:12 <theseb> Are there some areas where haskell blows away other langs and is a competitive advantage for businesses?
20:36:35 <theseb> i'm guessing maybe when you need high assurance and formal verification?
20:36:45 Feuermagier joins (~Feuermagi@user/feuermagier)
20:36:47 <monochrom> Financial contracts. Such as those infamous recursive CDO's.
20:37:56 <theseb> monochrom: yes..and i would guess they are great for finance because you need high assurance
20:38:21 <theseb> monochrom: Cardano is a blockchain that is using lots of Haskell for similar reasons....i think that is great
20:38:32 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
20:38:38 <theseb> i want to see the state of the art for high assurance software go up
20:38:40 <Rembane> theseb: When you need a parser, interpreter or compiler Haskell is your language.
20:39:24 <theseb> my only fear if we are correct is that the CONVERSE implies if you aren't using haskell your apps are likely to be buggy
20:39:27 Feuermagier joins (~Feuermagi@user/feuermagier)
20:39:38 <theseb> i'm sure fans of other langs would argue that they can make their apps secure too
20:39:55 random-jellyfish joins (~random-je@user/random-jellyfish)
20:41:11 <random-jellyfish> I have a problem
20:41:25 <random-jellyfish> newtype Mealy in out = Mealy (in -> (out, Mealy in out))
20:41:35 <random-jellyfish> why is Mealy defined that way?
20:41:44 <random-jellyfish> why without a state?
20:42:02 <random-jellyfish> somebody tried to explain this to me but I didn't understand
20:42:12 <random-jellyfish> why is there no s state in there?
20:42:19 <random-jellyfish> like in the state monad for example
20:42:19 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
20:43:06 × chronon quits (~chronon@user/chronon) (Remote host closed the connection)
20:43:34 <Rembane> random-jellyfish: Where is Mealy defined that way?
20:43:35 Feuermagier joins (~Feuermagi@user/feuermagier)
20:43:39 <lyxia> machines library
20:44:21 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
20:44:57 Feuermagier joins (~Feuermagi@user/feuermagier)
20:45:33 <monochrom> unfoldMealy allows you to use a state transition function to specify a Mealy machine. Perhaps you can read it source code to see how the state hiding is done.
20:45:44 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
20:47:36 <monochrom> But the short answer is a different state means a different "in -> (out, Mealy in out)" function.
20:47:56 <random-jellyfish> unfoldMealy :: (s -> a -> (b, s)) -> s -> Mealy a b
20:48:30 <EvanR> the Mealy value itself can contain a hidden state
20:48:37 <EvanR> in a closure
20:48:48 <EvanR> that's probably the intention of that definition you gave
20:48:51 <monochrom> or rather, s/short/high level/
20:49:09 <tomsmeding> a Mealy basically _is_ the representation of a state in the state machine, namely the current state. It represents a state by a function that, given an input, returns the corresponding output and the state that you then go to -- a new function
20:49:32 <Rembane> Is this the covariant vs contravariant thing?
20:49:38 <monochrom> Yeah, at some point I would just take a Mealy value to be the state value already.
20:49:41 <tomsmeding> also yes, closures :p
20:50:01 janus joins (janus@anubis.0x90.dk)
20:50:11 <EvanR> using the Mealy returns a new Mealy, hence, new state
20:50:19 <random-jellyfish> okay so the state is encoded as a function not as a record
20:50:36 <janus> why are lets allowed in guards? i don't see why they can't just be in the body
20:50:38 <tomsmeding> what would you normally put in that record?
20:50:45 <EvanR> internally you could have used a record, or an number, or recursed to a new function entirely
20:50:56 justsomeguy joins (~justsomeg@user/justsomeguy)
20:50:58 <tomsmeding> janus: could have a couple of lets, and then another pattern guard
20:51:53 <monochrom> janus: Suppose I want "f x > 0, f x < 5", and I don't want to recompute f x, and I don't know that CSE will do it for me?
20:51:59 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
20:52:32 <random-jellyfish> tomsmeding the record would contain whatever defines the internal state of a system: counters, tables, etc. things that change after a state transition
20:52:43 <monochrom> OK maybe that's a weak reason because "where y = f x" exists.
20:53:00 <tomsmeding> random-jellyfish: right, then that's in the closure of the function
20:53:10 <EvanR> random-jellyfish, if you wanted to do that, you wouln't need to return a Mealy. You would want something like State s
20:53:10 × myShoggoth quits (~myShoggot@97-120-67-120.ptld.qwest.net) (Ping timeout: 250 seconds)
20:53:15 <monochrom> Convenience? Haskell is not Python, we don't ban multiple ways of doing the "same" thing.
20:53:25 <janus> i think tomsmeding's suggestion makes more sense, because you can't have a immediatly as the first thing in the case head, i think?
20:53:30 <tomsmeding> random-jellyfish: https://hackage.haskell.org/package/machines-0.7.2/docs/src/Data.Machine.Mealy.html#unfoldMealy
20:53:34 <janus> *a let
20:54:02 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
20:54:04 <tomsmeding> 'go' is a functoin that takes the current state and an input as arguments, and returns a (out, Mealy in out) tuple
20:54:29 <tomsmeding> and the function that's stored in a Mealy is the _partial application_ of 'go' to the state record that you're talking about
20:54:57 <tomsmeding> % f = let value = 10 in \x -> x + value
20:54:58 <yahb> tomsmeding:
20:55:04 <tomsmeding> % f 3
20:55:04 <yahb> tomsmeding: 13
20:55:06 <tomsmeding> % :t f
20:55:06 <yahb> tomsmeding: Num a => a -> a
20:55:15 <tomsmeding> random-jellyfish: somehow 'f' has stored this '10' somewhere :)
20:55:28 × stef204 quits (~stef204@user/stef204) (Quit: WeeChat 3.4)
20:55:37 <tomsmeding> (namely, in its _closure_, as it's called)
20:55:39 <janus> > case () of { () | True, let f = 5, f == 5 -> "YES"; _ -> "NO" }
20:55:41 <lambdabot> "YES"
20:55:48 Feuermagier joins (~Feuermagi@user/feuermagier)
20:55:50 <random-jellyfish> ah I see
20:56:33 <random-jellyfish> oh man my neural networks need some serious training to integrate this concept
20:56:51 <EvanR> closures are often encountered first these days in javascript
20:56:56 <EvanR> for better or worse
20:57:02 × Kaiepi quits (~Kaiepi@156.34.47.253) (Remote host closed the connection)
20:57:12 <random-jellyfish> but I get it, you store "state" in closures using let, right?
20:57:21 × theseb quits (~theseb@47-220-214-54.cnrocmta03.res.dyn.suddenlink.net) (Quit: Leaving)
20:57:32 <EvanR> anything a function body can see will be in its closure, doesn't need to be a let
20:57:33 <tomsmeding> const f = (function() { let value = 10; return function(x) { return x + value; }; })();
20:57:37 <monochrom> I think stateful thinking is limiting.
20:57:37 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49) (Remote host closed the connection)
20:57:52 <monochrom> I have 3 possible states, 0, 1, 2.
20:57:53 <random-jellyfish> EvanR true
20:58:03 <monochrom> If the state is 0, I want to function \x->x
20:58:17 <monochrom> If the state is 1, I want the function \x -> x + 4
20:58:37 <monochrom> If the state is 2, I want the function \x -> mod x 45
20:59:01 <monochrom> Note how I no longer need the 3 states, I just need the 3 functions.
20:59:19 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
20:59:31 <monochrom> If you ask yourself "what is this state for? why do I need it?", you can always find a stateless way.
20:59:43 <monochrom> State is one of the most popular XY problems.
20:59:48 <tomsmeding> though in a sense you're just hiding the state
20:59:59 <EvanR> you can take the state out of the state machine, but you can't take the state machine ... nvm
21:00:13 <tomsmeding> ... into the states?
21:00:41 <random-jellyfish> for some systems the state is not just a simple value or an enum, sometimes it's a record or a tuple or an array
21:00:42 <monochrom> The State Machine of Theseus. >:)
21:01:14 <random-jellyfish> transition to another state would mean to change one field in that state
21:01:20 <random-jellyfish> one or more fields
21:01:30 Rembane waves the unfold then fold flag
21:01:39 <tomsmeding> monochrom's functions were indexed by the set {0,1,2}
21:01:42 <EvanR> usually when you are working with an explicitly state machine, your state really is like 9 enums
21:01:47 <tomsmeding> that set doesn't need to be finite
21:01:52 pavonia joins (~user@user/siracusa)
21:02:02 Feuermagier joins (~Feuermagi@user/feuermagier)
21:02:06 <EvanR> any more complicated and you go nuts trying to build it as 12 transistors
21:02:14 <tomsmeding> but then I think the most natural way for a non-advanced functional programmer to think of that, is precisely like a partially applied function, like in unfoldMealy that I linked before
21:02:56 <EvanR> an OOP object using a hilarious complicated record of values as its internal state is probably outside the applicability of state machines
21:03:27 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
21:03:39 <EvanR> even if theoretically right
21:03:47 Feuermagier joins (~Feuermagi@user/feuermagier)
21:03:55 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
21:04:06 <random-jellyfish> take for instance this implementation of discrete event system specifications: https://github.com/sglumac/HDevs
21:04:18 <tomsmeding> your brain is a state machine -- all of the neurons have a continuous domain they can be in, and the full state of the brain is the product of all those continuous domain
21:04:22 <tomsmeding> talk about infinite dimensionality :p
21:04:24 <random-jellyfish> DEVS is similar to Mealy and Moore state machines but a bit more complicated
21:04:42 × x_kuru quits (~xkuru@user/xkuru) (Ping timeout: 256 seconds)
21:04:48 <random-jellyfish> in most books I've read about DEVS the state can also be a tuple
21:04:51 <tomsmeding> what file is that type in
21:04:53 <EvanR> physics works in a space of states... configuration space
21:04:55 <monochrom> Well maybe I said it wrong. Stateful thinking is not the limiting one. "State has to be data" is the limiting one.
21:05:01 <random-jellyfish> EvanR yes exactly
21:05:17 <random-jellyfish> configuration space
21:05:21 <EvanR> and a mealy machine is impossible unless the transition function is reversible
21:05:25 <EvanR> enjoy
21:05:28 <monochrom> Why can't your state variable store a function? Why can't some of your record fields be function fields?
21:05:39 <monochrom> Why can't your state space be the function space?
21:05:57 CHUD joins (~CHUD@host-80-41-89-108.as13285.net)
21:06:36 <monochrom> Oh, it's because the language was C.
21:06:55 <EvanR> I've definitely had a function pointer as state in C
21:07:09 <monochrom> OK Fortran.
21:07:15 xkuru joins (~xkuru@user/xkuru)
21:07:27 <monochrom> But really most C programmers haven't thought of that either.
21:07:32 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
21:09:15 Sgeo_ joins (~Sgeo@user/sgeo)
21:09:56 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 245 seconds)
21:10:10 Erutuon joins (~Erutuon@user/erutuon)
21:10:10 × CHUD quits (~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
21:10:23 <random-jellyfish> still trying to understand the advantages of this approach
21:10:33 <tomsmeding> over?
21:10:54 <random-jellyfish> hiding the state vs. not hiding the state
21:11:03 <tomsmeding> what would your alternative definition be
21:11:18 Midjak joins (~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
21:11:36 <EvanR> if you hide the state type from the type of the machine, then you can conveniently combine a bunch of machines in various ways
21:11:48 <random-jellyfish> the state would be a field of the Mealy type, or of any state machine type
21:11:50 <EvanR> if you expose the state in the type, you also can, but then the type becomes that much more complex
21:12:09 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
21:12:27 <EvanR> e.g. parallel :: Machine s1 a b -> Machine s2 a b -> Machine (s1,s2) a b
21:12:58 <tomsmeding> advantage of an explicit state is that you can check which state a machine is in
21:13:47 tomsmeding feels that alone would make an explicit state somewhat nicer to work with, if only for debuggability
21:13:58 <tomsmeding> functions don't Show very well
21:14:03 <EvanR> for small machines, yeah
21:14:08 <tomsmeding> true
21:14:23 <EvanR> when it becomes the size of insanely profitable, addictive, MMO, ...
21:14:27 Feuermagier joins (~Feuermagi@user/feuermagier)
21:14:36 <EvanR> need better tooling either way
21:14:43 <tomsmeding> at that point you probably don't want to use Mealy but write a anormal program :p
21:14:53 <EvanR> but my silver hammer
21:15:42 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 250 seconds)
21:15:57 vysn joins (~vysn@user/vysn)
21:16:36 × xff0x quits (~xff0x@2001:1a81:536e:b500:97e8:b6a:74e2:dc96) (Ping timeout: 245 seconds)
21:17:31 xff0x joins (~xff0x@2001:1a81:536e:b500:21cf:8a4e:4a69:c4d4)
21:17:58 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
21:18:18 × sagax quits (~sagax_nb@user/sagax) (Ping timeout: 260 seconds)
21:19:19 <kaol> Only functions which have longer type signatures than definitions are serious.
21:19:44 <random-jellyfish> lol
21:20:30 <random-jellyfish> excluding the undefined signature I assume
21:20:42 <random-jellyfish> excluding the undefined definition I assume **
21:20:49 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
21:21:05 <wavemode> f = f
21:21:19 Feuermagier joins (~Feuermagi@user/feuermagier)
21:21:39 CHUD joins (~CHUD@host-80-41-89-108.as13285.net)
21:21:41 <random-jellyfish> while(true) {}
21:22:12 jgeerds joins (~jgeerds@55d4a547.access.ecotel.net)
21:22:16 <random-jellyfish> I hope I don't get banned for writing that
21:23:01 × segfaultfizzbuzz quits (~rustisafu@2602:306:cd3c:9350:5d4f:b362:d270:61b0) (Quit: Leaving)
21:23:36 <geekosaur> let f = f in f
21:23:45 × simendsjo quits (~user@84.211.91.241) (Ping timeout: 256 seconds)
21:23:53 <janus> ban this cnidaria!
21:24:38 <tomsmeding> f = if True then f else undefined
21:24:56 <random-jellyfish> that's a work of art
21:25:01 <random-jellyfish> poetry even
21:25:33 <tomsmeding> despite all that, it's a bottom :p
21:25:58 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
21:26:02 × CHUD quits (~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
21:27:18 Feuermagier joins (~Feuermagi@user/feuermagier)
21:27:43 <janus> can a bottom assume any type?
21:28:07 <tomsmeding> % f1 = if True then f1 else undefined
21:28:07 <yahb> tomsmeding:
21:28:16 <tomsmeding> % f2 = if True then f2 else "no"
21:28:16 <yahb> tomsmeding:
21:28:20 <tomsmeding> % :t f1
21:28:20 <yahb> tomsmeding: t
21:28:22 <tomsmeding> % :t f2
21:28:22 <yahb> tomsmeding: String
21:28:26 <tomsmeding> janus: some can
21:29:15 <janus> what is the correct word to describe whether or not it can?
21:29:17 Sgeo joins (~Sgeo@user/sgeo)
21:29:51 <tomsmeding> not sure, I guess those are fully polymorphic bottoms
21:30:34 RFV1 joins (~Thunderbi@118.red-88-13-184.dynamicip.rima-tde.net)
21:31:07 × Sgeo_ quits (~Sgeo@user/sgeo) (Ping timeout: 256 seconds)
21:32:01 oscurochu joins (~oscurochu@097-096-050-227.res.spectrum.com)
21:32:26 × _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
21:32:51 × RFV quits (~Thunderbi@118.red-88-13-184.dynamicip.rima-tde.net) (Ping timeout: 245 seconds)
21:32:51 RFV1 is now known as RFV
21:33:01 <dolio> It's not exactly a meaningful question.
21:34:17 <geekosaur> any value that is fully polymorphic / inhabits all types is bottom; the reverse is not necessarily true, and under the wrong circumstances (say, out of heap) any code might produce a bottom
21:36:46 <wavemode> it's hard to call bottom a "value" at all. a bottom type has no values, so "producing a bottom" really just means not producing anything
21:37:02 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
21:37:22 <dolio> Bottom is a value. You can think of it as a single value that ends up in all types, or as necessary structure that every type must have, but are somehow distinct. Both perspectives can be useful.
21:37:25 Feuermagier joins (~Feuermagi@user/feuermagier)
21:37:55 <dolio> And some expressions with a polymorphic type can have bottom as a value, while others with monomorphic types can also have bottom as a value, under both interpretations.
21:37:59 <janus> why do you say 'bottom' and not 'a bottom'? there are more than one since there is a difference between `error 'msg'` and `undefined` and an infinite loop
21:38:28 <tomsmeding> (and some bottoms are fully polymorphic, and some have more specific types :p )
21:38:31 wombat875 joins (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
21:38:37 <tomsmeding> % f2
21:38:39 <geekosaur> but you can't distinguish between them, at least not within pure code. and even in IO you can only distinguish sonme of them
21:38:42 <yahb> tomsmeding: "[Timed out]
21:39:24 × briandaed quits (~jaroslawj@185.234.208.208.r.toneticgroup.pl) (Quit: Lost terminal)
21:39:29 <dolio> In the semantics that "bottom" comes from, it doesn't make any sense for there to be multiple bottoms.
21:39:31 <janus> but i can't distinguish the ackermann function called on a large input either, and we still don't call that bottom
21:39:40 cynomys joins (~cynomys@user/cynomys)
21:40:30 <tomsmeding> janus: we just say it's fairly low down
21:40:41 kaph joins (~kaph@net-2-47-208-144.cust.vodafonedsl.it)
21:40:46 × yassernasc quits (~yassernas@2804:29b8:505a:f33d:b018:fec8:a7e4:5428) (Remote host closed the connection)
21:42:50 merijn joins (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
21:43:00 × wombat875 quits (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 250 seconds)
21:43:36 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
21:44:42 coot joins (~coot@213.134.190.95)
21:44:43 myShoggoth joins (~myShoggot@97-120-67-120.ptld.qwest.net)
21:46:31 Topsi joins (~Tobias@dyndsl-095-033-027-162.ewe-ip-backbone.de)
21:48:36 wombat875 joins (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
21:49:58 <random-jellyfish> are GADTs important?
21:52:01 <janus> no, they will fade into history when dependent types arrive :O
21:52:29 <EvanR> sometimes type inference works with GADTs
21:52:47 <dolio> GADTs are called inductive families in dependently typed languages.
21:52:53 <dolio> And they're used all the time.
21:53:23 <random-jellyfish> they scare me, I watched like 3 hour long videos and I still couldn't process them, starting to feel like fp isn't my game
21:53:26 × wombat875 quits (~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
21:53:45 <janus> all the time? they are used thrice in this codebase of 900 modules
21:53:46 × alp quits (~alp@user/alp) (Remote host closed the connection)
21:54:00 <EvanR> I've never learned 3 hours worth of stuff from 3 hour videos
21:54:05 alp joins (~alp@user/alp)
21:54:08 <EvanR> try a 1 minute video
21:54:30 zebrag joins (~chris@user/zebrag)
21:55:11 <tomsmeding> janus: https://tomsmeding.com/f/ackermann.png
21:55:26 × alp quits (~alp@user/alp) (Remote host closed the connection)
21:55:45 alp joins (~alp@user/alp)
21:57:07 × alp quits (~alp@user/alp) (Remote host closed the connection)
21:57:10 <random-jellyfish> bottom is self similar
21:57:21 × zebrag quits (~chris@user/zebrag) (Client Quit)
21:57:26 alp joins (~alp@user/alp)
21:57:42 <janus> ackermann is bottom, but misaligned
21:57:51 <monochrom> random-jellyfish: I don't think of either representation technique as "better than the other" but you always should learn both to broaden your mind and maybe each has its use case.
21:58:08 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49)
21:58:20 <tomsmeding> janus: considered equal by most but the most nitpickery
21:59:09 alp_ joins (~alp@user/alp)
21:59:45 <janus> as the first parameter approaches 0, less people are considered nitpickers
21:59:50 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
22:00:19 <tomsmeding> isn't it infinity instead of 0?
22:00:29 <tomsmeding> I thought A was monotonically increasing
22:00:35 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
22:00:54 alp__ joins (~alp@user/alp)
22:00:55 <monochrom> random-jellyfish: Ah I didn't read your recent conversation. I was still referring to how to represent Mealy machine states.
22:01:07 × oscurochu quits (~oscurochu@097-096-050-227.res.spectrum.com) (Remote host closed the connection)
22:01:17 <monochrom> For GADT, I would refer to the motivating example in the GHC user's guide THE END.
22:01:35 <janus> if the first parameter is 0, the function is (+1). since nobody considers (+1) to be bottom, it is a small amount of people that are considered nitpicking
22:02:01 × alp quits (~alp@user/alp) (Ping timeout: 245 seconds)
22:02:20 <monochrom> Generally, unidirectional watching videos hits diminishing return very quickly, 3 hours is not an improvement over 30 minutes, especially if the 30-minutes version is done properly.
22:02:38 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49) (Ping timeout: 260 seconds)
22:02:55 Feuermagier joins (~Feuermagi@user/feuermagier)
22:03:13 <monochrom> Seriously in the case of GADT, the GHC user's guide example takes only 5 minutes.
22:03:22 Erutuon joins (~Erutuon@user/erutuon)
22:03:26 <EvanR> I'm wondering if there could be a 5 second animated gif
22:03:42 Kaiepi joins (~Kaiepi@156.34.47.253)
22:03:48 × alp_ quits (~alp@user/alp) (Ping timeout: 250 seconds)
22:03:56 <monochrom> Beyond that, if you still don't find it something you have always wanted, then it is not something you have always wanted. Nothing wrong with that.
22:04:12 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
22:05:23 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
22:05:26 × vysn quits (~vysn@user/vysn) (Ping timeout: 260 seconds)
22:05:32 × alp__ quits (~alp@user/alp) (Ping timeout: 250 seconds)
22:05:40 <random-jellyfish> I better stop watching those lengthy tech talks
22:05:54 × madjestic quits (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 256 seconds)
22:05:58 <random-jellyfish> such a bad time consuming habbit
22:06:23 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
22:06:49 <Rembane> There are worse ones.
22:06:56 <Rembane> It's all about what you want to achieve.
22:07:07 <hpc> i have a youtube-dl alias somewhere that downloads subtitles and formats it for reading
22:07:18 <janus> tomsmeding: oh you're right, sorry
22:07:28 <random-jellyfish> hpc sounds awesome
22:07:47 <hpc> it's handy, although i still need to fix some issues with the actual formatting part of it
22:07:50 <monochrom> One of the valuable skills learned ("learned") in grad school is to take only 5 minutes to skim a paper/talk and decide "do I really want to spend hours to study the whole thing".
22:08:03 <hpc> maybe write a proper parser for it
22:08:06 <tomsmeding> janus: as the first parameter goes to zero the nitpicking fraction certainly converges, but to 1, not to 0
22:08:11 <monochrom> "learned" because no one taught you explicitly, it's kind of sink-or-swim. :)
22:08:19 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 250 seconds)
22:08:45 <hpc> that seems like the kind of thing you would tell someone to learn without actually teaching them lol
22:08:54 × RFV quits (~Thunderbi@118.red-88-13-184.dynamicip.rima-tde.net) (Quit: RFV)
22:09:18 yauhsien_ joins (~yauhsien@118-167-40-21.dynamic-ip.hinet.net)
22:09:20 <tomsmeding> it's curious how many things people are supposed to "learn" without it ever being taught to them
22:09:31 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
22:09:35 <hpc> tacit knowledge is a hell of a thing
22:09:42 <dolio> That's what brains do.
22:09:52 × myShoggoth quits (~myShoggot@97-120-67-120.ptld.qwest.net) (Ping timeout: 250 seconds)
22:10:42 <EvanR> university is about the platform effect, all the smart people are there, you pay to just be in the same region of spacetime
22:10:43 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
22:10:58 <janus> dolio: when you say GADTs are inductive families, is that because they have the same expressive power? in that i can take any haskell GADT, translate it to "inductive" in Coq or Agda, and it would work?
22:11:32 <monochrom> Well, to be fair, sometimes you happen upon examples. You happen to run into your supervisor when they are skim, you notice how they do it.
22:11:43 <janus> but don't the coq/agda versions support even more powerful typing with that syntax?
22:11:43 Feuermagier joins (~Feuermagi@user/feuermagier)
22:11:45 <dolio> I mean they're the same thing, but with fewer restrictions.
22:12:02 <monochrom> s/they are skim/they are skimming/
22:12:15 <EvanR> or like me you're too lazy to read so many papers so you get good at skimming
22:12:18 <janus> ok, so it's like a horse is a car, but faster and with less mood swings
22:12:26 <dolio> Like the indices don't have to range over types, but a particular type.
22:13:46 × yauhsien_ quits (~yauhsien@118-167-40-21.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
22:14:00 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49)
22:15:46 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
22:16:01 <dolio> No, it's more like deciding to say "sedan" instead of "four door auto mobile (FDAM)."
22:16:48 × merijn quits (~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds)
22:16:49 <monochrom> I feel that I greatly misunderstand that analogy. :)
22:17:33 <monochrom> I am imagining "saying 'cloud computing' instead of 'distributed computing'" SORRY!
22:18:26 tomsmeding recalls a visitor in this channel a couple of hours ago
22:18:31 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:19:34 <dolio> Distributed computing is too clear. You need to invent a much longer word that you always feel the need to use an uninformative acronym for.
22:19:44 <dolio> Er, longer phrase.
22:21:57 <janus> ok so to sum up: GADTs are a particular kind of 'inductive families'. there are inductive families that cannot be expressed as GADTs, so we say that 'inductive familiy' is more powerful than 'GADT', which is more restrictive. correct?
22:22:05 <dolio> Also the phrase should be uninformative, too. :)
22:22:59 <dolio> I guess. GHC can promote all kinds of things to types now, so it's a lot more complicated to give examples of things you can't do with GADTs.
22:23:06 <random-jellyfish> I'll just stick to ADTs for now
22:23:35 <monochrom> DUCO = distributed ubiquitous computing operations >:)
22:23:51 <random-jellyfish> are dependent data types supported now in ghc?
22:23:59 MajorBiscuit joins (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e)
22:24:54 <sshine> THAC0
22:25:32 <dolio> The difference isn't really in the core idea, but in how many layers of hacks you have to pile on to do the same thing in GHC as in something meant to be dependently typed.
22:27:03 <ephemient> to make Haskell cloud-compatible, we should start abbreviating it as h5l
22:27:09 × meltedbrain_y2k quits (~tekserf@87.125.156.8) (Quit: Leaving.)
22:27:30 <monochrom> haha you monster
22:27:42 <janus> ephemient: just use https://wiki.haskell.org/Cloud_Haskell
22:27:42 <dolio> A lot of obvious ideas for things you can do in a dependently typed language that you can't do in GHC aren't actually good ideas anyway.
22:29:14 × MajorBiscuit quits (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 260 seconds)
22:29:33 <dolio> With respect to inductive families, that is.
22:30:43 myShoggoth joins (~myShoggot@97-120-67-120.ptld.qwest.net)
22:34:06 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
22:34:23 Feuermagier joins (~Feuermagi@user/feuermagier)
22:35:16 CHUD joins (~CHUD@host-80-41-89-108.as13285.net)
22:36:14 × chomwitt quits (~chomwitt@athedsl-02411.home.otenet.gr) (Remote host closed the connection)
22:36:24 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
22:36:45 Feuermagier joins (~Feuermagi@user/feuermagier)
22:37:08 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
22:38:37 RFV joins (~Thunderbi@118.red-88-13-184.dynamicip.rima-tde.net)
22:38:40 × RFV quits (~Thunderbi@118.red-88-13-184.dynamicip.rima-tde.net) (Client Quit)
22:39:02 × coot quits (~coot@213.134.190.95) (Quit: coot)
22:41:23 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
22:44:16 Erutuon joins (~Erutuon@user/erutuon)
22:45:34 lbseale_ joins (~ep1ctetus@user/ep1ctetus)
22:46:16 × TonyStone quits (~TonyStone@2603-7080-8607-c36a-cdff-5348-04ff-b4e2.res6.spectrum.com) (Read error: Connection reset by peer)
22:46:20 ProfSimm joins (~ProfSimm@87.227.196.109)
22:46:39 MajorBiscuit joins (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e)
22:47:52 TonyStone joins (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com)
22:48:41 × lbseale quits (~ep1ctetus@user/ep1ctetus) (Ping timeout: 245 seconds)
22:50:10 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
22:50:27 × myShoggoth quits (~myShoggot@97-120-67-120.ptld.qwest.net) (Ping timeout: 256 seconds)
22:50:51 Feuermagier joins (~Feuermagi@user/feuermagier)
22:51:01 × CHUD quits (~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
22:51:11 × burnsidesLlama quits (~burnsides@dhcp168-027.wadham.ox.ac.uk) (Remote host closed the connection)
22:51:43 burnsidesLlama joins (~burnsides@client-8-85.eduroam.oxuni.org.uk)
22:53:41 <zzz> why do we need EmptyDataDeriving?
22:54:17 <zzz> i mean, why is this an extension an not the default and only option?
22:55:07 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
22:55:44 <monochrom> I guess it was an oversight when they wrote Haskell 2010.
22:56:07 × burnsidesLlama quits (~burnsides@client-8-85.eduroam.oxuni.org.uk) (Ping timeout: 256 seconds)
22:58:44 Feuermagier joins (~Feuermagi@user/feuermagier)
22:58:59 × michalz quits (~michalz@185.246.204.89) (Remote host closed the connection)
22:59:14 alp joins (~alp@user/alp)
22:59:39 <zzz> right
22:59:44 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
23:00:06 × random-jellyfish quits (~random-je@user/random-jellyfish) (Ping timeout: 256 seconds)
23:01:28 <mmalter> hey guys. It's not sarcasm, real issue. Since I've been doing functional programming I am really becoming a worse dev in other technos. I've heard some people experience the opposite.
23:01:41 <monochrom> Another thing they forgot was to allow "case expr of { no clauses here }".
23:01:42 Feuermagier joins (~Feuermagi@user/feuermagier)
23:01:47 <mmalter> It has gotten really bad since I started haskell and haskellish languages.
23:02:27 <mmalter> Idk I feel something is wrong with me. I am badly wired or sth
23:02:41 <jkaye[m]> How do you feel like you are a worse dev?
23:02:47 <jkaye[m]> Are you sure you aren't getting into your own head a bit?
23:03:08 <jkaye[m]> You should be the same dev as before, but with new knowledge and perspective to apply to your solutions
23:03:08 <monochrom> Around 2010 the use cases of empty data were both fewer and different, such that few people thought of adjusting the rest of Haskell to stay consistent.
23:03:19 <mmalter> I am really slow. Most errors I have are related to type. I used to write much less bug in the past.
23:03:57 <mmalter> Now I do admit haskell gave me a better understanding of oop for example.
23:04:02 × Cheery quits (~cheery@7-239-179-185.static.tentacle.fi) (Ping timeout: 240 seconds)
23:04:14 <mmalter> Yet in practice, even elixir has gotten hard to write.
23:04:15 × Logio quits (em@kapsi.fi) (Ping timeout: 268 seconds)
23:04:24 <monochrom> For example suppose today you do {-# language DataKinds #-} and "data B = F | T" and fully intend to use B as a kind only...
23:04:55 <monochrom> Around 2010 you would instead be saying "data F; data T" and stayed with the * kind.
23:05:32 <monochrom> So that was the more usual use case, and therefore you never actually pattern-matched on F or T, nor did you need any instance.
23:08:00 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49) (Remote host closed the connection)
23:11:01 Logio joins (~em@kapsi.fi)
23:11:04 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
23:11:50 × MajorBiscuit quits (~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 252 seconds)
23:12:18 × kli quits (~kli@ip-89-177-122-45.net.upcbroadband.cz) (Quit: Leaving)
23:12:32 Feuermagier joins (~Feuermagi@user/feuermagier)
23:12:34 kli joins (~kli@ip-89-177-122-45.net.upcbroadband.cz)
23:13:28 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
23:14:29 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
23:15:54 Feuermagier joins (~Feuermagi@user/feuermagier)
23:16:37 prolic joins (~prolic@181.122.131.227)
23:17:13 <prolic> Hi, I am a haskell-noob and run into troubles creating a GUI app
23:18:26 Cheery joins (~cheery@7-239-179-185.static.tentacle.fi)
23:18:49 <prolic> I create a connection to a websocket server and need to hold this connection somehow in my app model, however when I do so, I don't have Eq deriving on my AppModel anymore. Do I really need to add instance declaration for existing types and add Eq in order to proceed? Looks wrong to me.
23:19:32 <jkaye[m]> You can't derive Eq if any field doesn't have an Eq instance
23:19:44 <jkaye[m]> So, yes, it's "correct" at least with the current definitions
23:19:52 <monochrom> Do you really need Eq?
23:20:13 slac82791 is now known as slack1256
23:20:34 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
23:21:31 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 268 seconds)
23:23:10 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
23:24:57 Feuermagier joins (~Feuermagi@user/feuermagier)
23:26:12 kli parts (~kli@ip-89-177-122-45.net.upcbroadband.cz) (Leaving)
23:28:36 tatarqa joins (~kli@ip-89-177-122-45.net.upcbroadband.cz)
23:28:40 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
23:28:58 Feuermagier joins (~Feuermagi@user/feuermagier)
23:30:36 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
23:31:14 Feuermagier joins (~Feuermagi@user/feuermagier)
23:32:11 × alp quits (~alp@user/alp) (Ping timeout: 252 seconds)
23:33:00 cosimone` joins (~user@5.170.240.195)
23:33:37 myShoggoth joins (~myShoggot@97-120-67-120.ptld.qwest.net)
23:34:06 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 260 seconds)
23:37:20 burnsidesLlama joins (~burnsides@dhcp168-027.wadham.ox.ac.uk)
23:38:33 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:2975:6931:ecb6:7a49)
23:39:25 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
23:40:20 Feuermagier joins (~Feuermagi@user/feuermagier)
23:41:38 <Axman6> prolic: your options are to either write your own EQ instance which ignores the websocket conection, or not bother with an Eq instance; there's a good chance you don't need it
23:42:17 <Axman6> having an Eq instance for the websockets package's Connection type would be difficult, since most of the fileds are IO actions
23:42:24 <Axman6> fields*
23:42:32 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
23:42:54 <prolic> first argument from the init function is this:
23:42:55 <prolic> startApp :: (Eq s, WidgetModel s, WidgetEvent e)
23:43:03 <prolic> so I need Eq for my app mode
23:43:08 <prolic> app model, sorry
23:43:20 Feuermagier joins (~Feuermagi@user/feuermagier)
23:43:46 × max22- quits (~maxime@2a01cb0883359800f6095299facac4b2.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
23:44:05 <prolic> or is there a way to hold those connections somewhere else?
23:46:46 <prolic> I'm using this as base, if that helps: https://github.com/fjvallarino/monomer-starter/blob/main/src/Main.hs
23:47:23 <jkaye[m]> If you need it, implement it
23:47:36 <jkaye[m]> You will not be able to derive it with a non-Eq field within the record
23:47:43 × fendor quits (~fendor@91.141.70.82.wireless.dyn.drei.com) (Remote host closed the connection)
23:48:18 <prolic> I don't think I really need it, I have a very very strong feeling I do something absolutely weird and wrong here, lol
23:48:53 <jkaye[m]> The Eq constraint on startApp is a little odd to me, but I have never used that library
23:49:23 oscurochu joins (~oscurochu@097-096-050-227.res.spectrum.com)
23:49:33 <monochrom> I would then wonder what weird thing startApp would do when it relies on "==" but this "==" does not see the difference between two different websockets.
23:49:35 × Topsi quits (~Tobias@dyndsl-095-033-027-162.ewe-ip-backbone.de) (Read error: Connection reset by peer)
23:49:39 <prolic> I don't want to end up writing a lot of weird stuff just to make app model compatible with the garbage I have in my head
23:50:29 <jkaye[m]> I think you may be supposed to do something like this by dispatching events
23:50:32 <prolic> I think they calculate the diff between two app models and merge the difference into the view
23:50:33 <geekosaur> what is the 4th parameter (config) to startApp?
23:50:38 <jkaye[m]> I'm literally just reading through their docs right now though :)
23:50:43 <jkaye[m]> https://github.com/fjvallarino/monomer/blob/main/docs/tutorials/01-basics.md
23:50:51 <geekosaur> it occurs to me the websocket might go there if it's needed for the life of the app
23:50:58 <jkaye[m]> WidgetEnv is probably where you'd hold the socket?
23:51:24 <prolic> currently I tried to hold it in appmodel
23:51:33 <prolic> but I am VERY happy to move it somewhere else
23:51:50 <jkaye[m]> https://github.com/fjvallarino/monomer/blob/main/docs/tutorials/05-producers.md
23:51:59 <jkaye[m]> Yeah, I think I'd just read through all of these
23:52:01 <prolic> I just need to put it somewhere to be able to send /receive data later on
23:52:14 <prolic> okay, will do, thanks for the help
23:52:18 <jkaye[m]> This is definitely an "opinionated" framework, which is fine, but it means you'll really want to do things how it want's you to do them
23:52:21 <prolic> back to more reading.... :)
23:52:32 <geekosaur> nemmind, I see the config parameter is defined by monomer and you can't add to it
23:52:59 <prolic> I had troubles installing any Qt or wx widgets dependencies, so I ended up using this, and I like the elm architecture, so hopefully it works out well for me
23:53:00 <jkaye[m]> Funny thing is that the GitHub link was purple. So apparently I did look at this at one point or another...
23:53:17 <jkaye[m]> Remember: reading documentation is a super power!
23:53:53 <prolic> will I receive those super powers once it compiles?
23:54:26 <prolic> :)
23:54:57 <jkaye[m]> I think the super power is to make it compile
23:54:57 <jkaye[m]> Lol
23:55:07 <prolic> got it, then I'm doomed
23:57:10 × slack1256 quits (~slack1256@186.11.80.172) (Remote host closed the connection)

All times are in UTC on 2022-02-01.