2021/01/13

2021-01-13 00:00:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-01-13 00:05:10 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
2021-01-13 00:08:46 +0100borne(~fritjof@200116b86411c700aa0a83b5acfe977f.dip.versatel-1u1.de) (Remote host closed the connection)
2021-01-13 00:08:56 +0100iridescent(2fe3e53b@047-227-229-059.res.spectrum.com)
2021-01-13 00:09:04 +0100borne(~fritjof@2a06:8782:ffbb:1337:9090:31bf:f665:3d0f)
2021-01-13 00:09:17 +0100 <iridescent> how can i read in a file containing a tree and get the tree?
2021-01-13 00:09:26 +0100 <iridescent> i tried: readFile "tree.txt" >>= read
2021-01-13 00:09:33 +0100 <iridescent> but it wasn't right
2021-01-13 00:09:36 +0100 <Rembane> iridescent: What's in the file?
2021-01-13 00:09:48 +0100 <Rembane> iridescent: Is it a string representation of a tree created using show?
2021-01-13 00:09:52 +0100 <iridescent> yeah
2021-01-13 00:10:41 +0100 <monochrom> fmap read (readFile "tree.txt"). And this is naïvely assuming legal input.
2021-01-13 00:11:43 +0100 <monochrom> fmap vs >>= is a very sharp litmus test on your understanding (even your respect) of the types involved.
2021-01-13 00:12:14 +0100 <monochrom> Most people fail this when they only use their muddy intuition.
2021-01-13 00:12:36 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl) (Remote host closed the connection)
2021-01-13 00:12:45 +0100 <Rembane> :t fmap
2021-01-13 00:12:47 +0100 <lambdabot> Functor f => (a -> b) -> f a -> f b
2021-01-13 00:12:49 +0100 <Rembane> :t (>>=)
2021-01-13 00:12:50 +0100 <lambdabot> Monad m => m a -> (a -> m b) -> m b
2021-01-13 00:13:04 +0100 <iridescent> so how can I get the actual tree object then?
2021-01-13 00:13:09 +0100ulidtko|kk(~ulidtko@194.54.80.38) (Ping timeout: 260 seconds)
2021-01-13 00:13:27 +0100 <iridescent> the resulting type looks like: a :: Read b => IO b
2021-01-13 00:13:36 +0100 <monochrom> This is also why I reject "explain in your own words to show you understand". Because their wordy explanations are just fine, and yet they can't write correct code.
2021-01-13 00:13:43 +0100denisse_(~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 240 seconds)
2021-01-13 00:13:44 +0100 <iridescent> i guess b should be a Tree, but the type inference engine doesn't know that until it runs?
2021-01-13 00:14:26 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl)
2021-01-13 00:14:27 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl) (Read error: Connection reset by peer)
2021-01-13 00:14:30 +0100 <monochrom> fmap read (readFile "tree.txt") >>= \t -> ... t is your tree now, you can use it here ...
2021-01-13 00:15:01 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl)
2021-01-13 00:15:35 +0100 <iridescent> hm
2021-01-13 00:16:00 +0100 <monochrom> See my IO tutorial: http://www.vex.net/~trebla/haskell/IO.xhtml
2021-01-13 00:16:48 +0100bi_functor(~bi_functo@192-0-134-138.cpe.teksavvy.com)
2021-01-13 00:16:51 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-01-13 00:19:29 +0100 <iridescent> how do people usually debug haskell code :)
2021-01-13 00:19:38 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 265 seconds)
2021-01-13 00:19:42 +0100 <monochrom> http://www.vex.net/~trebla/haskell/tracing.html
2021-01-13 00:20:19 +0100 <iridescent> guess you have an article on everything
2021-01-13 00:20:21 +0100 <iridescent> :)
2021-01-13 00:20:26 +0100 <monochrom> No.
2021-01-13 00:21:05 +0100bi_functor(~bi_functo@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 240 seconds)
2021-01-13 00:22:46 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-01-13 00:23:08 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
2021-01-13 00:24:53 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 00:25:24 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-01-13 00:25:44 +0100 <ephemient> I find that writing test cases or QuickCheck properties is also a great way to debug
2021-01-13 00:25:55 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 00:28:51 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-01-13 00:29:03 +0100desperek_(~draco@87-206-9-185.dynamic.chello.pl)
2021-01-13 00:31:58 +0100desperek__(~draco@87-206-9-185.dynamic.chello.pl)
2021-01-13 00:32:03 +0100danvet_(~danvet@212-51-149-96.fiber7.init7.net)
2021-01-13 00:32:25 +0100mouseghost(~draco@wikipedia/desperek) (Ping timeout: 246 seconds)
2021-01-13 00:32:55 +0100halbGefressen(~halbGefre@2a02:810d:f40:2a9c:40b2:2308:84bd:8b9b) (Quit: halbGefressen)
2021-01-13 00:33:36 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-01-13 00:34:56 +0100desperek_(~draco@87-206-9-185.dynamic.chello.pl) (Ping timeout: 272 seconds)
2021-01-13 00:34:57 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 2.9)
2021-01-13 00:35:00 +0100plutoniix(~q@node-ulo.pool-125-24.dynamic.totinternet.net) (Quit: Leaving)
2021-01-13 00:35:41 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Quit: mputz)
2021-01-13 00:36:09 +0100conal(~conal@64.71.133.70)
2021-01-13 00:36:32 +0100son0p(~son0p@181.136.122.143) (Quit: leaving)
2021-01-13 00:38:41 +0100iridescent(2fe3e53b@047-227-229-059.res.spectrum.com) (Ping timeout: 248 seconds)
2021-01-13 00:40:14 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 264 seconds)
2021-01-13 00:41:07 +0100arguapacha(uid134895@gateway/web/irccloud.com/x-tkjkldidxnknhjth)
2021-01-13 00:41:18 +0100vst(~vst@2406:3003:2004:2e8a:10c7:a9a:a957:2d1a)
2021-01-13 00:42:08 +0100ransom(~c4264035@2a09:bac0:98::830:8636) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-01-13 00:43:36 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 00:44:03 +0100p-core(~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Ping timeout: 260 seconds)
2021-01-13 00:44:32 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl)
2021-01-13 00:47:07 +0100desperek__(~draco@87-206-9-185.dynamic.chello.pl) (Ping timeout: 246 seconds)
2021-01-13 00:49:11 +0100alx741(~alx741@186.178.110.185) (Quit: alx741)
2021-01-13 00:51:25 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 00:51:59 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 00:52:03 +0100alx741(~alx741@186.178.110.185)
2021-01-13 00:52:14 +0100Alleria(~textual@2603-7000-3040-0000-ec46-b06f-f001-93b1.res6.spectrum.com)
2021-01-13 00:52:38 +0100AlleriaGuest1269
2021-01-13 00:53:24 +0100vst(~vst@2406:3003:2004:2e8a:10c7:a9a:a957:2d1a) (Quit: Leaving)
2021-01-13 00:55:38 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2021-01-13 00:56:08 +0100denisse_(~spaceCat@gateway/tor-sasl/alephzer0)
2021-01-13 00:57:53 +0100vst(~vst@2406:3003:2004:2e8a:10c7:a9a:a957:2d1a)
2021-01-13 00:58:06 +0100 <koz_> Suppose I have derived Foo via something else. How would I add Haddock documentation to that derivation?
2021-01-13 00:58:22 +0100danvet_(~danvet@212-51-149-96.fiber7.init7.net) (Ping timeout: 272 seconds)
2021-01-13 00:58:40 +0100 <koz_> So say I have 'deriving (Foo) via (SomeNewtype Bar)' and I want to Haddock that.
2021-01-13 00:58:53 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2021-01-13 00:59:19 +0100jamm(~jamm@unaffiliated/jamm)
2021-01-13 00:59:38 +0100christo(~chris@81.96.113.213)
2021-01-13 01:00:27 +0100mirrorbird(~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27) (Quit: Leaving)
2021-01-13 01:01:08 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-01-13 01:04:11 +0100jamm(~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds)
2021-01-13 01:06:10 +0100tsrt^(~hph@ip98-184-89-2.mc.at.cox.net) ()
2021-01-13 01:06:16 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl)
2021-01-13 01:10:13 +0100pera(~pera@unaffiliated/pera) (Ping timeout: 246 seconds)
2021-01-13 01:13:06 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer)
2021-01-13 01:13:20 +0100ADG1089__(~aditya@122.163.165.143) (Remote host closed the connection)
2021-01-13 01:13:43 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 246 seconds)
2021-01-13 01:14:15 +0100drbean(~drbean@TC210-63-209-185.static.apol.com.tw) (Ping timeout: 265 seconds)
2021-01-13 01:17:36 +0100david__(~david@234.109.45.217.dyn.plus.net) (Ping timeout: 240 seconds)
2021-01-13 01:19:10 +0100drbean(~drbean@TC210-63-209-63.static.apol.com.tw)
2021-01-13 01:19:41 +0100matryoshka(~matryoshk@184.75.223.227) (Quit: ZNC 1.8.2 - https://znc.in)
2021-01-13 01:19:49 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
2021-01-13 01:19:54 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Remote host closed the connection)
2021-01-13 01:20:35 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 01:21:09 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2021-01-13 01:21:19 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
2021-01-13 01:21:42 +0100jedws(~jedws@121.209.139.157)
2021-01-13 01:22:29 +0100atraii(~atraii@c-98-32-64-84.hsd1.ut.comcast.net)
2021-01-13 01:22:46 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Read error: Connection reset by peer)
2021-01-13 01:23:07 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
2021-01-13 01:24:49 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 264 seconds)
2021-01-13 01:27:10 +0100atraii_(~atraii@c-98-32-64-84.hsd1.ut.comcast.net)
2021-01-13 01:27:49 +0100atraii(~atraii@c-98-32-64-84.hsd1.ut.comcast.net) (Ping timeout: 260 seconds)
2021-01-13 01:27:49 +0100atraii_atraii
2021-01-13 01:28:08 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2021-01-13 01:29:03 +0100ph88(~ph88@2a02:8109:9e00:7e5c:6525:380:35f5:9d2f) (Quit: Leaving)
2021-01-13 01:30:17 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl) (Remote host closed the connection)
2021-01-13 01:31:56 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2021-01-13 01:32:35 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Read error: Connection reset by peer)
2021-01-13 01:32:44 +0100matryoshka`(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2021-01-13 01:34:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-01-13 01:37:14 +0100iridescent(2fe3e53b@047-227-229-059.res.spectrum.com)
2021-01-13 01:37:43 +0100 <iridescent> is there a faster dev cycle than running "cabal build" and then "cabal exec" every time i want to make an update?
2021-01-13 01:38:35 +0100 <glguy> koz_: I don't know, but I'd check to see if StandaloneDeriving let's you
2021-01-13 01:38:45 +0100 <koz_> glguy: I found the problem - old Haddock.
2021-01-13 01:39:04 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-01-13 01:39:26 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-01-13 01:39:47 +0100 <ephemient> iridescent: cabal run?
2021-01-13 01:40:12 +0100 <iridescent> i tried that but it didn't update when i changed things
2021-01-13 01:40:45 +0100 <iridescent> i also tried runhaskell but it doesn't handle module dependencies
2021-01-13 01:40:49 +0100 <ephemient> oh looking at the docs that may have changed between v1 and v2, hmm
2021-01-13 01:41:37 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2021-01-13 01:41:51 +0100 <ephemient> if ghcid works, it will start up faster than building
2021-01-13 01:43:04 +0100 <iridescent> do i need to install something for that
2021-01-13 01:43:22 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-01-13 01:43:43 +0100Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2021-01-13 01:44:05 +0100 <ephemient> https://github.com/ndmitchell/ghcid
2021-01-13 01:44:54 +0100 <ephemient> e.g. ghcid --test=:Main.main will re-run your main on every edit
2021-01-13 01:46:57 +0100 <koz_> OK, this is weird. I'm trying to use https://haskell-haddock.readthedocs.io/en/latest/markup.html#deriving-clauses, specifically the DerivingVia example, but every time I try to run haddock, it voms on the '-- ^ @since 0.0.1.0' bit.
2021-01-13 01:47:21 +0100matryoshka`(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Read error: Connection reset by peer)
2021-01-13 01:47:30 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2021-01-13 01:47:37 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
2021-01-13 01:49:16 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds)
2021-01-13 01:54:52 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-01-13 01:55:14 +0100borne(~fritjof@2a06:8782:ffbb:1337:9090:31bf:f665:3d0f) (Ping timeout: 264 seconds)
2021-01-13 01:55:15 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-01-13 01:58:17 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 01:58:54 +0100usr25(~usr25@unaffiliated/usr25) (Ping timeout: 256 seconds)
2021-01-13 02:00:13 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
2021-01-13 02:01:24 +0100LiamD(43aae10c@c-67-170-225-12.hsd1.ca.comcast.net) (Quit: Connection closed)
2021-01-13 02:01:24 +0100iridescent(2fe3e53b@047-227-229-059.res.spectrum.com) (Quit: Connection closed)
2021-01-13 02:01:49 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-01-13 02:03:43 +0100 <sm[m]> iridescent: ghcid, definitely
2021-01-13 02:05:46 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 02:06:25 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 02:07:14 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-01-13 02:09:00 +0100piezoid(~piezoid@82-64-150-32.subs.proxad.net) (Remote host closed the connection)
2021-01-13 02:09:14 +0100philopsos(~caecilius@45.133.192.108) (Ping timeout: 260 seconds)
2021-01-13 02:09:49 +0100runawayfive(~nope@unaffiliated/runawayfive) (Ping timeout: 260 seconds)
2021-01-13 02:11:36 +0100remexre(~nathan@207-153-38-50.fttp.usinternet.com) (Ping timeout: 240 seconds)
2021-01-13 02:12:47 +0100remexre(~nathan@207-153-38-50.fttp.usinternet.com)
2021-01-13 02:13:22 +0100rajivr(uid269651@gateway/web/irccloud.com/x-itvlzupsyknqkfml)
2021-01-13 02:14:07 +0100runawayfive(~nope@unaffiliated/runawayfive)
2021-01-13 02:15:33 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 02:15:55 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 02:17:31 +0100bi_functor(~bi_functo@192-0-134-138.cpe.teksavvy.com)
2021-01-13 02:21:33 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:255c:8c1d:42fb:24ab:a8e9)
2021-01-13 02:21:35 +0100zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2021-01-13 02:21:58 +0100bi_functor(~bi_functo@192-0-134-138.cpe.teksavvy.com) (Ping timeout: 246 seconds)
2021-01-13 02:22:19 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-01-13 02:22:28 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 02:24:11 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 02:24:41 +0100zaquest(~notzaques@5.128.210.178)
2021-01-13 02:24:49 +0100columbarius1(~columbari@muedsl-82-207-236-249.citykom.de) (Ping timeout: 265 seconds)
2021-01-13 02:26:15 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2021-01-13 02:26:57 +0100columbarius1(~columbari@87.123.198.176)
2021-01-13 02:27:42 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 2.9)
2021-01-13 02:35:10 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-01-13 02:35:56 +0100Gurkenglas_(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 265 seconds)
2021-01-13 02:36:44 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 02:38:29 +0100iridescent(2fe3e53b@047-227-229-059.res.spectrum.com)
2021-01-13 02:39:13 +0100 <iridescent> I'm doing the parser exercise from cis194 (https://www.seas.upenn.edu/~cis194/spring13/hw/10-applicative.pdf), and I'm stuck trying to combine two parsers
2021-01-13 02:39:26 +0100 <iridescent> I have an applicative instance and two "Parser Char" instances which parse characters "a" and "b", and I'm trying to parse "ab"
2021-01-13 02:39:38 +0100 <iridescent> could anyone help me think through how I might accomplsih this?
2021-01-13 02:40:26 +0100mmmattyx(uid17782@gateway/web/irccloud.com/x-tzsvjcfzpzlemwdx) (Quit: Connection closed for inactivity)
2021-01-13 02:40:48 +0100 <ski> exercise 2 should be a hint
2021-01-13 02:41:09 +0100 <iridescent> I guess i fundamentally don't understand what the <*> is doing
2021-01-13 02:41:12 +0100 <maerwald> :t (<*>)
2021-01-13 02:41:13 +0100 <lambdabot> Applicative f => f (a -> b) -> f a -> f b
2021-01-13 02:41:17 +0100 <iridescent> Because the first thing is a function
2021-01-13 02:41:44 +0100 <iridescent> To me, it doesn't really make sense what parsing a function means, I just wrote applicative such that the types match but don't know what I wrote
2021-01-13 02:42:18 +0100 <ski> have you seen the `liftA2' function ?
2021-01-13 02:42:25 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 02:42:43 +0100 <iridescent> yeah
2021-01-13 02:43:31 +0100 <maerwald> :t (+) <$> Just 3 <*> Just 2
2021-01-13 02:43:33 +0100 <lambdabot> Num b => Maybe b
2021-01-13 02:43:48 +0100 <maerwald> do you know that pattern? (which is basically liftA2)
2021-01-13 02:44:06 +0100 <iridescent> yeah
2021-01-13 02:44:15 +0100 <maerwald> :t Just 3 <*> Just 2
2021-01-13 02:44:16 +0100 <ski> @quote and.it.works
2021-01-13 02:44:16 +0100 <lambdabot> autrijus says: * autrijus stares at type Eval x = forall r. ContT r (ReaderT x IO) (ReaderT x IO x) and feels very lost <shapr> Didn't you write that code? <autrijus> yeah. and it works <autrijus> I
2021-01-13 02:44:17 +0100 <lambdabot> just don't know what it means.
2021-01-13 02:44:17 +0100 <lambdabot> Num b => Maybe b
2021-01-13 02:44:27 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 02:44:48 +0100 <maerwald> wait, what
2021-01-13 02:44:58 +0100 <ski> > Just (3 2)
2021-01-13 02:45:01 +0100 <lambdabot> Just 3
2021-01-13 02:45:52 +0100 <maerwald> what's going on here
2021-01-13 02:45:54 +0100 <ski> iridescent : perhaps it'd help to implement `liftA2' yourself (including understanding how the types work)
2021-01-13 02:46:05 +0100 <ski> maerwald : `instance Num a => Num (rho -> a)'
2021-01-13 02:46:33 +0100 <maerwald> that instance is not a default instance
2021-01-13 02:46:55 +0100 <ski> it was semi-recently added to lambdabot, with `@let'
2021-01-13 02:47:07 +0100 <maerwald> can we remove it? this is bad
2021-01-13 02:47:33 +0100vappend(~ezrakilty@75-172-99-84.tukw.qwest.net)
2021-01-13 02:47:59 +0100 <ski> it just takes an `@undefine', or a restart of lambdabot
2021-01-13 02:49:44 +0100mirrorbird(~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27)
2021-01-13 02:50:14 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 02:50:34 +0100arguapacha(uid134895@gateway/web/irccloud.com/x-tkjkldidxnknhjth) (Quit: Connection closed for inactivity)
2021-01-13 02:53:26 +0100kini(~kini@unaffiliated/kini) (Ping timeout: 264 seconds)
2021-01-13 02:53:27 +0100krkini(~kini@unaffiliated/kini)
2021-01-13 02:53:29 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 02:55:25 +0100lambda-11235(~lambda-11@108-237-120-58.lightspeed.frokca.sbcglobal.net) (Quit: Bye)
2021-01-13 02:56:50 +0100ep1ctetus(~marcus_au@ip184-187-162-163.sb.sd.cox.net) (Read error: Connection reset by peer)
2021-01-13 02:57:05 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 02:58:40 +0100 <iridescent> how would I go about the parser that does "integer value or an uppercase character"?
2021-01-13 02:58:57 +0100 <iridescent> i just implemented Alternative and want to combine with <|> somehow, but i'm not sure how to make the types work
2021-01-13 02:59:47 +0100 <iridescent> my 2 parsers are Parser Int and Parser Char, but I somehow want to combine them with <|> and get a Parser ()
2021-01-13 03:00:09 +0100ep1ctetus(~epictetus@ip184-187-162-163.sb.sd.cox.net)
2021-01-13 03:00:26 +0100dandart(~Thunderbi@home.dandart.co.uk) (Ping timeout: 256 seconds)
2021-01-13 03:00:38 +0100 <ski> `<|>' expects its two operand parsers to have the same result type
2021-01-13 03:01:02 +0100 <ski> (<|>) :: Parser a -> Parser a -> Parser a -- in this case
2021-01-13 03:01:14 +0100 <ski> since you want to get a `Parser ()', `a' would be `()'
2021-01-13 03:01:53 +0100 <ski> so, you need some way of converting your parsers of type `Parser Int' and `Parser Char', to be able to pass them to `<|>'
2021-01-13 03:02:03 +0100 <iridescent> is that what the applicative instance is for?
2021-01-13 03:02:14 +0100 <iridescent> like somehow I want a Parser (Int -> ())?
2021-01-13 03:02:14 +0100 <ski> do you know of a way to do this ?
2021-01-13 03:02:41 +0100 <ski> that would be a roundabout (but possible) way to do it
2021-01-13 03:02:46 +0100 <ski> there's a simpler way
2021-01-13 03:03:19 +0100 <iridescent> Hm, not sure
2021-01-13 03:03:26 +0100 <monochrom> fmap Left fooInt <|> fmap Right fooChar :: Parser (Either Int Char)
2021-01-13 03:03:54 +0100 <siraben> (a <|> b) $> () :: Parser ()
2021-01-13 03:04:25 +0100Entertainment(~entertain@104.246.132.210) (Ping timeout: 264 seconds)
2021-01-13 03:04:27 +0100 <iridescent> what does that middle operator do :o
2021-01-13 03:04:27 +0100 <ephemient> :t void
2021-01-13 03:04:29 +0100 <ski> what monochrom just showed is another way to make the two operand parsers have the same common type (not being `Parser ()' in that case)
2021-01-13 03:04:30 +0100 <lambdabot> Functor f => f a -> f ()
2021-01-13 03:04:36 +0100 <monochrom> That one is applying $>() too late. You have to get past the type error first.
2021-01-13 03:04:38 +0100 <ski> siraben's version wouldn't work
2021-01-13 03:05:01 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 246 seconds)
2021-01-13 03:05:05 +0100 <monochrom> Again remember why "map show [30, "hello", False]" is nonsense.
2021-01-13 03:05:33 +0100 <siraben> Oh right the type error, d'oh
2021-01-13 03:05:57 +0100 <iridescent> so once I have a Parser (Either Int Char) do i just fmap it to get a Parser ()?
2021-01-13 03:06:04 +0100 <siraben> lol (a $> ()) <|> (b $> ())
2021-01-13 03:06:16 +0100 <xsperry> iridescent, what are you trying to do? the big picture
2021-01-13 03:06:37 +0100 <iridescent> oh just trying to do exercise 5 here: https://www.seas.upenn.edu/~cis194/spring13/hw/10-applicative.pdf
2021-01-13 03:06:51 +0100 <monochrom> Alternatively, if you have a common type C and a pair of functions f::Int->C, g::Char->C such that applying f in the Int case and applying g in the Char case is what you want, fmap f fooInt <|> fmap g fooChar.
2021-01-13 03:06:59 +0100FrontSevens(~FrontSeve@185.204.1.185) (Remote host closed the connection)
2021-01-13 03:07:58 +0100 <monochrom> At the meta level this is reflecting the shortsightedness in thinking only "I want Int or Char" without stopping to think "but so what if I do get an Int, and so what if I do get a Char".
2021-01-13 03:08:34 +0100tinwood(~tinwood@general.default.akavanagh.uk0.bigv.io) (Remote host closed the connection)
2021-01-13 03:08:54 +0100 <monochrom> Because if you were aware of that, the first question would disappear.
2021-01-13 03:09:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-01-13 03:09:42 +0100 <iridescent> makes sense
2021-01-13 03:09:57 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-01-13 03:10:00 +0100 <iridescent> that's cool how this type of thinking is embedded in the language
2021-01-13 03:10:10 +0100 <xsperry> iridescent, you can do something like this, then: (intParser *> pure ()) <|> (upperCase *> pure ()) (parens might be optional)
2021-01-13 03:10:27 +0100 <ski> % map show [30,"hello",False]
2021-01-13 03:10:27 +0100 <yahb> ski: ["30","\"hello\"","False"]
2021-01-13 03:10:31 +0100 <ephemient> % :i *>
2021-01-13 03:10:32 +0100 <yahb> ephemient: type Applicative :: (* -> *) -> Constraint; class Functor f => Applicative f where; ...; (*>) :: f a -> f b -> f b; ...; -- Defined in `GHC.Base'; infixl 4 *>
2021-01-13 03:10:35 +0100 <ephemient> % :i <|>
2021-01-13 03:10:36 +0100 <yahb> ephemient: type Alternative :: (* -> *) -> Constraint; class Applicative f => Alternative f where; ...; (<|>) :: f a -> f a -> f a; ...; -- Defined in `GHC.Base'; infixl 3 <|>
2021-01-13 03:10:51 +0100 <ephemient> precedence allows that without parens
2021-01-13 03:11:41 +0100tinwood(~tinwood@general.default.akavanagh.uk0.bigv.io)
2021-01-13 03:11:45 +0100 <ephemient> of course, if you find it clearer with parens, there's nothing stopping you from writing them
2021-01-13 03:12:17 +0100 <ski> @type (<$)
2021-01-13 03:12:19 +0100 <lambdabot> Functor f => a -> f b -> f a
2021-01-13 03:13:25 +0100 <iridescent> what's the point of <* and *> and <$ and $>?
2021-01-13 03:13:39 +0100bennofs(~quassel@2a01:4f8:c17:5579::1) ("https://quassel-irc.org - Chat comfortably. Anywhere.")
2021-01-13 03:13:46 +0100 <monochrom> fooInt <* spaces
2021-01-13 03:13:53 +0100 <iridescent> is it kind of like ignoring something?
2021-01-13 03:14:06 +0100 <ski> `<*' and `*>' is to combine two parsers, ignoring the parse result of one of them
2021-01-13 03:14:22 +0100 <ephemient> look at the types, that tells you what the behavior could be
2021-01-13 03:14:26 +0100 <monochrom> spaces *> mainParser <* eof
2021-01-13 03:14:30 +0100 <ski> `<$' and `$>' is to ignore the parse result of a parser, replacing it with some particular value
2021-01-13 03:14:42 +0100 <ski> iridescent : so, yes
2021-01-13 03:14:46 +0100 <ephemient> well, not only for parsers; works for all applicatives (and thus all monads)
2021-01-13 03:14:54 +0100 <ski> yes
2021-01-13 03:15:06 +0100 <iridescent> so how could I rewrite abParser_ to ignore both? right now I have `const (\x->()) <$> aParser <*> bParser`
2021-01-13 03:15:18 +0100 <iridescent> but I assume you could use something like <* or *>?
2021-01-13 03:15:20 +0100bi_functor(~bi_functo@192-0-134-138.cpe.teksavvy.com)
2021-01-13 03:15:56 +0100ski. o O ( abelian parser )
2021-01-13 03:16:08 +0100bi_functor(~bi_functo@192-0-134-138.cpe.teksavvy.com) (Client Quit)
2021-01-13 03:16:29 +0100 <ephemient> btw, you're running both aParser and bParser there, I thought you wanted one *or* the other?
2021-01-13 03:17:26 +0100 <ski> ephemient : this was the earlier exercise (mentioned before the other one)
2021-01-13 03:17:57 +0100 <iridescent> yeah
2021-01-13 03:18:00 +0100m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 256 seconds)
2021-01-13 03:18:07 +0100 <ski> (exercise 3 vs. 5)
2021-01-13 03:19:16 +0100 <ephemient> exercise 3 looks like you want to return both, not ignore both...
2021-01-13 03:19:48 +0100 <ski> abParser_ :: Parser ()
2021-01-13 03:20:13 +0100 <ephemient> oh, that part. well if you have abparser :: Parser (Char, Char) you can make an abParser_ :: Parser ()
2021-01-13 03:21:15 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl)
2021-01-13 03:21:26 +0100 <ephemient> :t void -- I did mention this earlier
2021-01-13 03:21:27 +0100 <lambdabot> Functor f => f a -> f ()
2021-01-13 03:21:36 +0100 <ephemient> :t ($> ()) -- and siraben mentioned this, I think
2021-01-13 03:21:38 +0100 <lambdabot> error:
2021-01-13 03:21:38 +0100 <lambdabot> • Variable not in scope: ($>) :: t -> () -> t1
2021-01-13 03:21:38 +0100 <lambdabot> • Perhaps you meant one of these:
2021-01-13 03:21:54 +0100 <ski> @type (() <$)
2021-01-13 03:21:56 +0100 <lambdabot> Functor f => f b -> f ()
2021-01-13 03:22:10 +0100 <ephemient> @let import Data.Functor
2021-01-13 03:22:12 +0100 <lambdabot> Defined.
2021-01-13 03:22:13 +0100 <ski> @index <$
2021-01-13 03:22:13 +0100 <lambdabot> Data.Functor, Control.Applicative, Prelude, Control.Monad.Instances
2021-01-13 03:22:15 +0100 <ski> @index $>
2021-01-13 03:22:15 +0100 <lambdabot> Data.Functor
2021-01-13 03:22:20 +0100 <ski> curious
2021-01-13 03:22:20 +0100 <ephemient> :t ($> ())
2021-01-13 03:22:21 +0100 <lambdabot> Functor f => f a -> f ()
2021-01-13 03:22:38 +0100 <ephemient> yeah I'm not sure why <$ is in Prelude and $> isn't, but that's how it is
2021-01-13 03:22:41 +0100ome(uid36537@gateway/web/irccloud.com/x-lgbezdowfhfizicn)
2021-01-13 03:23:37 +0100MartinAS1(~MartinAS@185.163.110.125)
2021-01-13 03:24:45 +0100 <ome> What does this means in the context of logic? [x -> s]x = s
2021-01-13 03:25:16 +0100 <ome> How can you read or what should I search to find the meaning of? I am reading a book on Lambda calculus and it drops that like I am supposed to know.
2021-01-13 03:27:47 +0100jamm(~jamm@unaffiliated/jamm)
2021-01-13 03:28:59 +0100 <sm2n> probably means [x\s]x = s, which means substitute every occurrence of x in the next term (which is x) with s
2021-01-13 03:29:31 +0100iridescent(2fe3e53b@047-227-229-059.res.spectrum.com) (Quit: Connection closed)
2021-01-13 03:29:32 +0100 <ephemient> I've seen x[x := s] to mean the same
2021-01-13 03:29:44 +0100 <ephemient> but yeah that's probably what it is
2021-01-13 03:30:07 +0100 <sm2n> I think [x\s] is the standard notation in mathematical logic in particular
2021-01-13 03:30:36 +0100 <ski> [x ↦ s]x
2021-01-13 03:30:40 +0100 <ski> is sometimes used
2021-01-13 03:30:44 +0100jedws(~jedws@121.209.139.157) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-01-13 03:31:00 +0100 <ephemient> ah, that looks right too
2021-01-13 03:31:32 +0100 <ski> (in Haskell, would correspond to `fmap (\x -> s) (Var x)', for an expression data-type, parameterized over type of variables. (can be made into a functor, and a monad ..))
2021-01-13 03:31:37 +0100 <ome> ski: The book I am reading is using exactly that. It is called Types and Programming Languages by C. B. Pierce.
2021-01-13 03:31:53 +0100 <ski> TaPL is nice
2021-01-13 03:32:14 +0100 <ome> Yes, it is dense enough that makes lookup things but not incomprehensible.
2021-01-13 03:32:26 +0100jamm(~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
2021-01-13 03:33:19 +0100 <ome> And I think I have finally grokked Lambda Calculus. It is so mind numbingly simple but so powerful and paradigm shift. Just accepting the fact that you can "make notions" instead of taking them for granted is such a change.
2021-01-13 03:34:00 +0100xff0x(~xff0x@2001:1a81:5220:500:fff1:399c:a2f4:dff6) (Ping timeout: 246 seconds)
2021-01-13 03:35:29 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-01-13 03:35:51 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-01-13 03:36:12 +0100xff0x(~xff0x@2001:1a81:5254:5f00:c24e:40ee:4223:92a5)
2021-01-13 03:37:04 +0100ski. o O ( <https://crypto.stanford.edu/~blynn/lambda/> )
2021-01-13 03:38:16 +0100ski. o O ( "To Dissect a Mockingbird: A Graphical Notation for the Lambda Calculus with Animated Reduction" by David C. Keenan in 1996-08-27 - 2014-04-01 at <http://dkeenan.com/Lambda/> )
2021-01-13 03:40:06 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-01-13 03:40:49 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
2021-01-13 03:42:29 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-01-13 03:45:29 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-01-13 03:46:59 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 265 seconds)
2021-01-13 03:49:36 +0100plutoniix(~q@184.82.196.93)
2021-01-13 03:51:18 +0100ubert(~Thunderbi@p200300ecdf1ee031e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-01-13 03:53:28 +0100Dark_Ethereal(~Drew@84.93.106.197)
2021-01-13 03:53:51 +0100ransom(~c4264035@8.48.134.54)
2021-01-13 03:57:06 +0100tabemann(~travisb@2600:1700:7990:24e0:46fa:9bf1:e3c9:a6a)
2021-01-13 03:57:12 +0100 <siraben> ski: https://crypto.stanford.edu/~blynn/compiler/ is my favorite series
2021-01-13 03:57:44 +0100Dark_Ethereal(~Drew@84.93.106.197) (Ping timeout: 260 seconds)
2021-01-13 04:01:01 +0100verement(~anonymous@cpe-76-167-229-223.san.res.rr.com) (Remote host closed the connection)
2021-01-13 04:02:13 +0100AmitLevy[m](amitmostly@gateway/shell/matrix.org/x-baxosktqaxjrlryv)
2021-01-13 04:09:04 +0100shinobi_(~shinobi@c-24-147-48-162.hsd1.ma.comcast.net) (Read error: Connection reset by peer)
2021-01-13 04:12:11 +0100urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2021-01-13 04:13:35 +0100Techcable(znc@irc.techcable.net) (Quit: ZNC - http://znc.in)
2021-01-13 04:16:52 +0100maxsu(~maxsu@ip-64-72-99-232.lasvegas.net)
2021-01-13 04:17:06 +0100howdoi(uid224@gateway/web/irccloud.com/x-hhcvifznrcarwudg) (Quit: Connection closed for inactivity)
2021-01-13 04:18:28 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-01-13 04:22:49 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-01-13 04:23:08 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
2021-01-13 04:26:41 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Remote host closed the connection)
2021-01-13 04:28:19 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 04:31:14 +0100pjb(~t@2a01cb04063ec500b94fa4fe14e91c99.ipv6.abo.wanadoo.fr) (Ping timeout: 264 seconds)
2021-01-13 04:36:07 +0100mirrorbird(~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27) (Ping timeout: 272 seconds)
2021-01-13 04:37:58 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-01-13 04:38:51 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2021-01-13 04:41:33 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2021-01-13 04:42:16 +0100christo(~chris@81.96.113.213)
2021-01-13 04:44:05 +0100jespada(~jespada@90.254.245.49) (Ping timeout: 240 seconds)
2021-01-13 04:44:16 +0100theDon(~td@muedsl-82-207-238-062.citykom.de) (Ping timeout: 240 seconds)
2021-01-13 04:44:42 +0100 <ome> Why is Lambda Calculus not a mandatory introductory course in *every* let alone *most* CS degree is beyond me.
2021-01-13 04:44:59 +0100plateau_(~plateau@51.194.80.91) (Ping timeout: 265 seconds)
2021-01-13 04:45:29 +0100 <ome> This thing is like magic. Honestly, there is few ideas that have left me reconsider "thinking" like Lambda Calculus.
2021-01-13 04:45:51 +0100 <ome> Carl Yung's notion of consciousness being the other.
2021-01-13 04:46:07 +0100acidjnk_new(~acidjnk@p200300d0c704e7426836b2ca9660f737.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-01-13 04:46:17 +0100mirrorbird(~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27)
2021-01-13 04:46:18 +0100jespada(~jespada@90.254.245.49)
2021-01-13 04:46:28 +0100christo(~chris@81.96.113.213) (Ping timeout: 256 seconds)
2021-01-13 04:46:33 +0100theDon(~td@94.134.91.87)
2021-01-13 04:46:45 +0100krkini(~kini@unaffiliated/kini) (Remote host closed the connection)
2021-01-13 04:48:01 +0100kini(~kini@unaffiliated/kini)
2021-01-13 04:48:09 +0100rotaerk(rotaerk@2600:3c02::f03c:91ff:fe70:4a45) (Ping timeout: 272 seconds)
2021-01-13 04:49:23 +0100rotaerk(rotaerk@2600:3c02::f03c:91ff:fe70:4a45)
2021-01-13 04:52:34 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-01-13 04:53:23 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Remote host closed the connection)
2021-01-13 04:53:44 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 04:55:31 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:77cf:e09d:8abf:7983)
2021-01-13 04:57:18 +0100xirhtogal(~lagothrix@unaffiliated/lagothrix)
2021-01-13 04:57:18 +0100lagothrixGuest1188
2021-01-13 04:57:18 +0100Guest1188(~lagothrix@unaffiliated/lagothrix) (Killed (card.freenode.net (Nickname regained by services)))
2021-01-13 04:57:18 +0100xirhtogallagothrix
2021-01-13 04:57:41 +0100christo(~chris@81.96.113.213)
2021-01-13 05:01:02 +0100xsperry(~as@unaffiliated/xsperry) (Read error: Connection reset by peer)
2021-01-13 05:02:01 +0100christo(~chris@81.96.113.213) (Ping timeout: 264 seconds)
2021-01-13 05:04:28 +0100xsperry(~as@unaffiliated/xsperry)
2021-01-13 05:04:34 +0100MartinAS1(~MartinAS@185.163.110.125) (Remote host closed the connection)
2021-01-13 05:13:28 +0100vappend(~ezrakilty@75-172-99-84.tukw.qwest.net) (Remote host closed the connection)
2021-01-13 05:13:59 +0100mirrorbird(~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27) (Quit: Leaving)
2021-01-13 05:15:23 +0100Kaiepi(~Kaiepi@47.54.252.148) (Ping timeout: 256 seconds)
2021-01-13 05:16:37 +0100revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 246 seconds)
2021-01-13 05:17:45 +0100revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
2021-01-13 05:20:40 +0100sagax(~sagax_nb@213.138.71.146) (Quit: Konversation terminated!)
2021-01-13 05:20:54 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-01-13 05:21:12 +0100tadeo(~tadeo@185.103.96.147)
2021-01-13 05:22:49 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-01-13 05:23:06 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-01-13 05:23:07 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
2021-01-13 05:26:18 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-01-13 05:28:29 +0100 <pie_> is https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/comserve.pdf still worth reading? its about ffi to COM
2021-01-13 05:28:53 +0100 <pie_> talks about haskells FFI and stuff about "import dynamic" but I cant actually find import dynamic in the manual
2021-01-13 05:32:23 +0100iridescent(2fe3e53b@047-227-229-059.res.spectrum.com)
2021-01-13 05:35:53 +0100 <ephemient> pie_: https://www.haskell.org/onlinereport/haskell2010/haskellch8.html#x15-1620008.5.1
2021-01-13 05:41:07 +0100nineonine(~nineonine@50.216.62.2) (Ping timeout: 246 seconds)
2021-01-13 05:42:24 +0100 <pie_> Oh right that would make sense, this paper is from way before 2010 (cant fidn the date offhand)
2021-01-13 05:43:14 +0100 <pie_> also makes sense for it to be in the standard since the paper talks about it being designed to be compatible with multiple compilers, so it shouldnt be a ghc specific extension
2021-01-13 05:43:17 +0100 <pie_> thanks.
2021-01-13 05:49:29 +0100Wuzzy(~Wuzzy@p5790e10f.dip0.t-ipconnect.de) (Quit: Wuzzy)
2021-01-13 05:51:32 +0100conal(~conal@64.71.133.70)
2021-01-13 05:51:51 +0100Kaiepi(~Kaiepi@47.54.252.148)
2021-01-13 05:57:53 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-01-13 06:00:06 +0100RecursiveG(~recursive@li810-210.members.linode.com)
2021-01-13 06:00:30 +0100DANtheBEASTman(dysfigured@2600:3c00::f03c:92ff:feb4:be75)
2021-01-13 06:00:42 +0100RecursiveG_(~recursive@2600:3c00:e000:1ad::1) (Ping timeout: 268 seconds)
2021-01-13 06:00:42 +0100dysfigured(dysfigured@2600:3c00::f03c:92ff:feb4:be75) (Ping timeout: 268 seconds)
2021-01-13 06:00:56 +0100DANtheBEASTmandysfigured
2021-01-13 06:01:25 +0100plateau(~plateau@51.194.80.91)
2021-01-13 06:01:43 +0100nineonine(~nineonine@50.216.62.2)
2021-01-13 06:07:26 +0100nineonine(~nineonine@50.216.62.2) (Ping timeout: 272 seconds)
2021-01-13 06:07:41 +0100dandart(~Thunderbi@home.dandart.co.uk)
2021-01-13 06:08:24 +0100srk(~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection)
2021-01-13 06:08:24 +0100hexo(~hexo@gateway/tor-sasl/hexo) (Read error: Connection reset by peer)
2021-01-13 06:09:13 +0100srk(~sorki@gateway/tor-sasl/sorki)
2021-01-13 06:09:14 +0100hexo(~hexo@gateway/tor-sasl/hexo)
2021-01-13 06:10:00 +0100 <ome> How do you read t and t'?
2021-01-13 06:10:05 +0100 <ome> t and t-what?
2021-01-13 06:10:10 +0100 <int-e> t-prime
2021-01-13 06:10:18 +0100 <ome> Thanks.
2021-01-13 06:12:00 +0100ericsagnes(~ericsagne@2405:6580:0:5100:15:4fbd:9a97:4e33) (Ping timeout: 258 seconds)
2021-01-13 06:13:14 +0100xff0x(~xff0x@2001:1a81:5254:5f00:c24e:40ee:4223:92a5) (Ping timeout: 264 seconds)
2021-01-13 06:13:55 +0100xff0x(~xff0x@2001:1a81:5254:5f00:1f78:6ba0:7365:dc7e)
2021-01-13 06:16:17 +0100iridescent(2fe3e53b@047-227-229-059.res.spectrum.com) (Ping timeout: 248 seconds)
2021-01-13 06:16:56 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:1ccb:98bf:7669:4558)
2021-01-13 06:20:01 +0100 <ephemient> > let don't = void in don't $ putStrLn "hello, world"
2021-01-13 06:20:04 +0100 <lambdabot> <IO ()>
2021-01-13 06:21:13 +0100 <ephemient> hah, it's even been packaged https://hackage.haskell.org/package/acme-dont
2021-01-13 06:22:03 +0100 <int-e> We need more INTERCAL in Haskell.
2021-01-13 06:22:17 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-01-13 06:22:33 +0100 <int-e> . o O ( PLEASE DON'T GIVE UP )
2021-01-13 06:22:49 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-01-13 06:23:08 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
2021-01-13 06:24:20 +0100ericsagnes(~ericsagne@2405:6580:0:5100:a1eb:5c8f:3763:40e4)
2021-01-13 06:25:10 +0100 <ephemient> ah, that package's definition is a little different;
2021-01-13 06:25:17 +0100 <ephemient> > let don't = pure () in if 0 == 1 then do error "oh no!" else don't
2021-01-13 06:25:20 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Client Quit)
2021-01-13 06:25:22 +0100 <lambdabot> error:
2021-01-13 06:25:22 +0100 <lambdabot> • Ambiguous type variable ‘f0’ arising from a use of ‘show_M179536102250...
2021-01-13 06:25:22 +0100 <lambdabot> prevents the constraint ‘(Show (f0 ()))’ from being solved.
2021-01-13 06:25:30 +0100 <int-e> @bot
2021-01-13 06:25:30 +0100 <lambdabot> :)
2021-01-13 06:26:36 +0100 <int-e> hmm, `don't` really should take an argument
2021-01-13 06:26:59 +0100 <int-e> and it does
2021-01-13 06:27:06 +0100 <int-e> (in the package, I mean)
2021-01-13 06:27:38 +0100 <int-e> > let don't _ = pure () in if 0 == 1 then do error "oh no!" else don't [42]
2021-01-13 06:27:40 +0100 <lambdabot> error:
2021-01-13 06:27:40 +0100 <lambdabot> • Ambiguous type variable ‘f0’ arising from a use of ‘show_M489607432695...
2021-01-13 06:27:40 +0100 <lambdabot> prevents the constraint ‘(Show (f0 ()))’ from being solved.
2021-01-13 06:28:39 +0100danso(~dan@23-233-104-25.cpe.pppoe.ca) (Quit: WeeChat 3.0)
2021-01-13 06:28:48 +0100 <int-e> Oh, stupid me. I didn't add the type signature.
2021-01-13 06:28:49 +0100 <ephemient> ah, I misread its source. should have just been defined as `void` then, though
2021-01-13 06:29:21 +0100 <int-e> > let don't :: Applicative f => f a -> f (); don't _ = pure () in if 0 == 1 then do error "oh no!" else don't [42] -- third time's the charm?
2021-01-13 06:29:23 +0100 <lambdabot> [()]
2021-01-13 06:29:31 +0100 <int-e> :t void
2021-01-13 06:29:32 +0100 <lambdabot> Functor f => f a -> f ()
2021-01-13 06:29:48 +0100 <int-e> That's different though.
2021-01-13 06:30:10 +0100 <int-e> void [1,2] = [(),()]; don't [1,2] = [()]
2021-01-13 06:30:40 +0100 <ephemient> @let don't = void :: Applicative f => f a -> f ()
2021-01-13 06:30:42 +0100 <lambdabot> Defined.
2021-01-13 06:30:55 +0100 <ephemient> it's the same
2021-01-13 06:31:20 +0100 <int-e> > let don't :: Applicative f => f a -> f (); don't _ = pure () in (void [1,2], don't [1,2])
2021-01-13 06:31:22 +0100 <lambdabot> ([(),()],[()])
2021-01-13 06:31:30 +0100 <int-e> How is that the same, exactly?
2021-01-13 06:31:42 +0100 <ephemient> huh. ok it's not the same. why is it not the same?
2021-01-13 06:31:56 +0100jfe(~user@pool-71-184-149-134.bstnma.fios.verizon.net) (Ping timeout: 240 seconds)
2021-01-13 06:32:08 +0100 <int-e> because `void` replaces results of an action by (), while `don't` never runs the action at all
2021-01-13 06:32:22 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-01-13 06:32:38 +0100 <int-e> void launchMissiles *will* launch missiles
2021-01-13 06:32:46 +0100 <ephemient> @let don't _ = pure () -- let's fix this then, I guess
2021-01-13 06:32:47 +0100 <lambdabot> .L.hs:158:1: error:
2021-01-13 06:32:47 +0100 <lambdabot> Multiple declarations of ‘don't’
2021-01-13 06:32:47 +0100 <lambdabot> Declared at: .L.hs:157:1
2021-01-13 06:32:52 +0100 <int-e> @undef
2021-01-13 06:32:52 +0100 <lambdabot> Undefined.
2021-01-13 06:34:01 +0100 <ephemient> ah, I see the difference. `don't` could even be Applicative f => a -> f ()
2021-01-13 06:35:14 +0100dandart(~Thunderbi@home.dandart.co.uk) (Quit: dandart)
2021-01-13 06:35:30 +0100 <int-e> at the expense of possibly requiring more type annotations
2021-01-13 06:36:06 +0100 <int-e> (inferring f from the argument is a feature)
2021-01-13 06:37:27 +0100 <int-e> has anybody actively missed modules in lambdabot in the past two days?
2021-01-13 06:40:01 +0100 <ephemient> maybe Data.Functor for ($>), import qualified Data.Text.NonEmpty as NE
2021-01-13 06:40:08 +0100 <ephemient> don't think I've noticed anything else
2021-01-13 06:40:50 +0100 <int-e> (I disentangled the build environment from the evaluation environment which means a lot of random packages that lambdabot happens to rely on are no longer available. But my theory, currently being tested, was that nobody was using them anyway.)
2021-01-13 06:41:42 +0100 <int-e> (for reference, https://silicon.int-e.eu/lambdabot/State/packages.txt are the actual packages available right now)
2021-01-13 06:41:59 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2021-01-13 06:43:23 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection)
2021-01-13 06:43:48 +0100cmcma20(~cmcma20@l37-192-2-125.novotelecom.ru)
2021-01-13 06:45:01 +0100 <int-e> Which is still somewhat random. the root packages are lens + QuickCheck(-safe) + mueval + simple-reflect + show
2021-01-13 06:45:37 +0100 <int-e> > \() -> print "" -- `show` provides this
2021-01-13 06:45:38 +0100 <lambdabot> <() -> IO ()>
2021-01-13 06:45:50 +0100 <ephemient> oh packages not modules
2021-01-13 06:45:54 +0100 <int-e> > foldl f x [a,b,c] -- `simple-reflect` does this
2021-01-13 06:45:56 +0100 <lambdabot> f (f (f x a) b) c
2021-01-13 06:46:08 +0100 <int-e> ephemient: modules suggestions are welcome too at this point
2021-01-13 06:46:24 +0100 <int-e> but they're easier to modify on the fly
2021-01-13 06:47:20 +0100 <int-e> Wouldn't people expect NE to refer to Data.List.NonEmpty though?
2021-01-13 06:47:32 +0100 <ephemient> err, that's what I meant
2021-01-13 06:47:52 +0100 <int-e> ah, the Text one doesn't even exist. phew.
2021-01-13 06:48:24 +0100 <int-e> @undef
2021-01-13 06:48:24 +0100 <lambdabot> Undefined.
2021-01-13 06:48:26 +0100 <ephemient> finite is fun sometimes, but I don't know if DataKinds is enabled
2021-01-13 06:49:48 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:77cf:e09d:8abf:7983) (Ping timeout: 260 seconds)
2021-01-13 06:50:55 +0100 <int-e> :t (:|)
2021-01-13 06:50:57 +0100 <lambdabot> a -> [a] -> NonEmpty a
2021-01-13 06:51:08 +0100 <int-e> :t NE.unfold
2021-01-13 06:51:10 +0100 <lambdabot> (a -> (b, Maybe a)) -> a -> NonEmpty b
2021-01-13 06:51:25 +0100 <ephemient> idk, maybe split and vector? haven't seen anybody try to use them on lambdabot but they might be considered sorta common
2021-01-13 06:51:43 +0100 <ephemient> oh I see vector in there
2021-01-13 06:51:57 +0100 <int-e> yeah vector is shipped with ghc
2021-01-13 06:52:05 +0100dorkside(~tdbgamer@208.190.197.222) (Ping timeout: 240 seconds)
2021-01-13 06:52:41 +0100 <int-e> wait, no
2021-01-13 06:52:52 +0100 <int-e> I'm confused. I think it's brought in by lens.
2021-01-13 06:53:52 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Remote host closed the connection)
2021-01-13 06:54:16 +0100Rudd0^(~Rudd0@185.189.115.108) (Ping timeout: 246 seconds)
2021-01-13 06:54:37 +0100iteratee(~kyle@162.211.154.4)
2021-01-13 06:57:25 +0100 <int-e> I added split back (because it was there before and is fairly likely to be missed).
2021-01-13 06:57:35 +0100locrian9(~mike@99-153-255-194.lightspeed.irvnca.sbcglobal.net)
2021-01-13 06:58:47 +0100 <int-e> I'm also open to adding some things that weren't there before, but I'd like to avoid adding everybody's favorite pet package... not quite sure how to go about that. Maybe collect suggestions and add things that several people suggested :)
2021-01-13 06:59:51 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-01-13 07:01:23 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:fddd:a80b:3466:57f4)
2021-01-13 07:02:02 +0100 <gentauro> int-e: wouldn't it be `ghc` that's shipped with `vectors` :)
2021-01-13 07:02:18 +0100dorkside(~tdbgamer@208.190.197.222)
2021-01-13 07:03:38 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 07:04:03 +0100 <int-e> gentauro: vector isn't that big
2021-01-13 07:05:18 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-01-13 07:07:59 +0100kini(~kini@unaffiliated/kini) (Remote host closed the connection)
2021-01-13 07:09:00 +0100Rudd0(~Rudd0@185.189.115.108)
2021-01-13 07:09:02 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 264 seconds)
2021-01-13 07:09:22 +0100kini(~kini@unaffiliated/kini)
2021-01-13 07:12:07 +0100p8m(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 246 seconds)
2021-01-13 07:12:26 +0100p8m(p8m@gateway/vpn/protonvpn/p8m)
2021-01-13 07:13:58 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-01-13 07:14:30 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 07:15:14 +0100conal(~conal@64.71.133.70)
2021-01-13 07:16:14 +0100vappend(~ezrakilty@75-172-99-84.tukw.qwest.net)
2021-01-13 07:17:37 +0100dorkside(~tdbgamer@208.190.197.222) (Ping timeout: 264 seconds)
2021-01-13 07:18:57 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 260 seconds)
2021-01-13 07:19:17 +0100conal(~conal@64.71.133.70) (Client Quit)
2021-01-13 07:20:21 +0100conal(~conal@64.71.133.70)
2021-01-13 07:24:29 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 07:26:55 +0100pounce(~pounce@ns379743.ip-5-196-70.eu) (Quit: bye bye!)
2021-01-13 07:29:26 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 264 seconds)
2021-01-13 07:30:16 +0100pounce(~pounce@2001:41d0:e:304::1)
2021-01-13 07:34:30 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 07:34:38 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-01-13 07:36:37 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2021-01-13 07:39:38 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 264 seconds)
2021-01-13 07:43:50 +0100 <gentauro> int-e: my point was that it's a compiler (GHC) that would have a feature such as `vectors` and not a library that would have a compiler ;)
2021-01-13 07:44:19 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl)
2021-01-13 07:44:40 +0100 <ephemient> GHC does bundle quite a few libraries, though
2021-01-13 07:45:31 +0100 <ephemient> e.g. bytestring, text, mtl, parsec
2021-01-13 07:48:56 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 256 seconds)
2021-01-13 07:49:05 +0100 <ephemient> and I suppose more pertinently, arrays and containers. it wouldn't have been too surprising to hear vector is in there too (though it's not)
2021-01-13 07:53:17 +0100Jd007(~Jd007@d154-5-83-24.bchsia.telus.net) (Quit: Jd007)
2021-01-13 07:54:49 +0100phasespace(~sar@89-162-33-21.fiber.signal.no) (Ping timeout: 264 seconds)
2021-01-13 07:55:25 +0100maxsu(~maxsu@ip-64-72-99-232.lasvegas.net) (Ping timeout: 265 seconds)
2021-01-13 07:58:28 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-01-13 07:59:24 +0100stree(~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) (Excess Flood)
2021-01-13 07:59:48 +0100stree(~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net)
2021-01-13 08:01:44 +0100vappend(~ezrakilty@75-172-99-84.tukw.qwest.net) (Remote host closed the connection)
2021-01-13 08:01:50 +0100pounce(~pounce@2001:41d0:e:304::1) (Ping timeout: 264 seconds)
2021-01-13 08:04:02 +0100andrew_znc(~andrew@andrewyu.org)
2021-01-13 08:06:16 +0100gzj(~gzj@unaffiliated/gzj)
2021-01-13 08:07:39 +0100pounce(~pounce@ns379743.ip-5-196-70.eu)
2021-01-13 08:08:56 +0100Bergle_1(~Bergle_4@101.165.90.119)
2021-01-13 08:09:02 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-01-13 08:10:37 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 08:10:38 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Remote host closed the connection)
2021-01-13 08:10:53 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
2021-01-13 08:12:21 +0100Varis(~Tadas@unaffiliated/varis)
2021-01-13 08:13:07 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-01-13 08:13:23 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2021-01-13 08:13:27 +0100gzj(~gzj@unaffiliated/gzj)
2021-01-13 08:14:49 +0100michalz(~user@185.246.204.71)
2021-01-13 08:14:51 +0100phasespace(~sar@80-89-47-117.inet.signal.no)
2021-01-13 08:17:34 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) ()
2021-01-13 08:18:00 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 256 seconds)
2021-01-13 08:19:54 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-01-13 08:21:05 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-01-13 08:21:26 +0100gzj(~gzj@unaffiliated/gzj)
2021-01-13 08:21:30 +0100jedws(~jedws@121.209.139.157)
2021-01-13 08:22:37 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 08:23:09 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2021-01-13 08:23:41 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-01-13 08:23:44 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2021-01-13 08:25:39 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:1ccb:98bf:7669:4558) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-01-13 08:25:42 +0100berberman_(~berberman@unaffiliated/berberman) (Quit: ZNC 1.7.5 - https://znc.in)
2021-01-13 08:26:03 +0100berberman(~berberman@unaffiliated/berberman)
2021-01-13 08:26:42 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2021-01-13 08:26:57 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-01-13 08:27:07 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2021-01-13 08:27:21 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-01-13 08:27:41 +0100rmk236(~lcampos@2a02:908:3616:b100:ca3b:8d07:f53c:e063)
2021-01-13 08:27:54 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2021-01-13 08:28:06 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-01-13 08:28:40 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2021-01-13 08:28:48 +0100ransom_(~c4264035@8.6.112.146)
2021-01-13 08:28:54 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-01-13 08:29:25 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2021-01-13 08:30:10 +0100MarcelineVQ(~anja@198.254.202.72) (Ping timeout: 246 seconds)
2021-01-13 08:31:13 +0100ransom(~c4264035@8.48.134.54) (Ping timeout: 246 seconds)
2021-01-13 08:32:26 +0100MarcelineVQ(~anja@198.254.202.72)
2021-01-13 08:32:38 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-01-13 08:33:06 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-01-13 08:33:25 +0100monochrom(trebla@216.138.220.146) (Ping timeout: 240 seconds)
2021-01-13 08:35:55 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-01-13 08:36:55 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
2021-01-13 08:39:10 +0100monochrom(trebla@216.138.220.146)
2021-01-13 08:40:05 +0100gzj(~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
2021-01-13 08:40:21 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-01-13 08:40:26 +0100gzj(~gzj@unaffiliated/gzj)
2021-01-13 08:41:13 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 260 seconds)
2021-01-13 08:41:50 +0100ome(uid36537@gateway/web/irccloud.com/x-lgbezdowfhfizicn) (Quit: Connection closed for inactivity)
2021-01-13 08:43:17 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-01-13 08:45:13 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2021-01-13 08:47:04 +0100kipras`away(~kipras@92.61.39.34) (Ping timeout: 260 seconds)
2021-01-13 08:47:22 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 08:47:24 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: zzz)
2021-01-13 08:47:52 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2021-01-13 08:48:07 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-01-13 08:48:26 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-01-13 08:48:28 +0100gzj(~gzj@unaffiliated/gzj)
2021-01-13 08:48:48 +0100jedws(~jedws@121.209.139.157) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-01-13 08:48:57 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl)
2021-01-13 08:50:12 +0100maxsu(~maxsu@ip-64-72-99-232.lasvegas.net)
2021-01-13 08:50:19 +0100xff0x(~xff0x@2001:1a81:5254:5f00:1f78:6ba0:7365:dc7e) (Ping timeout: 258 seconds)
2021-01-13 08:51:08 +0100xff0x(~xff0x@port-92-195-21-125.dynamic.as20676.net)
2021-01-13 08:52:14 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 264 seconds)
2021-01-13 08:53:05 +0100Tops2(~Tobias@dyndsl-095-033-093-084.ewe-ip-backbone.de)
2021-01-13 08:53:11 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se)
2021-01-13 08:53:40 +0100kipras`away(~kipras@92.61.39.34)
2021-01-13 08:54:00 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 08:54:05 +0100spatchkaa(~spatchkaa@S010600fc8da47b63.gv.shawcable.net) (Ping timeout: 240 seconds)
2021-01-13 08:55:07 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-01-13 08:55:28 +0100gzj(~gzj@unaffiliated/gzj)
2021-01-13 08:56:13 +0100PERRON(~PERRON@177.246.218.164)
2021-01-13 08:56:17 +0100spatchkaa(~spatchkaa@S010600fc8da47b63.gv.shawcable.net)
2021-01-13 08:56:32 +0100PERRON(~PERRON@177.246.218.164) (Remote host closed the connection)
2021-01-13 09:02:00 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Remote host closed the connection)
2021-01-13 09:02:43 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds)
2021-01-13 09:06:22 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2021-01-13 09:07:01 +0100Rudd0(~Rudd0@185.189.115.108) (Remote host closed the connection)
2021-01-13 09:07:27 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 09:07:50 +0100ADG1089__(~aditya@122.163.165.143)
2021-01-13 09:10:49 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 265 seconds)
2021-01-13 09:10:54 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
2021-01-13 09:11:50 +0100Guest_56(5e9d51aa@170-81-157-94.ftth.glasoperator.nl)
2021-01-13 09:12:14 +0100 <Guest_56> Hi! can i run GHCUP on a raspberry pi 4B?
2021-01-13 09:12:41 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 09:12:43 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 260 seconds)
2021-01-13 09:13:04 +0100 <maerwald> ARM isn't properly supported yet
2021-01-13 09:13:25 +0100 <maerwald> even GHC is still WIP wrt ARM, although there are bindists already
2021-01-13 09:13:57 +0100 <Guest_56> Cause i want a cardano node on the raspberry pi 4
2021-01-13 09:14:16 +0100 <maerwald> I don't think that is supported yet, but angerman is your man
2021-01-13 09:14:25 +0100 <maerwald> He's working on basically that
2021-01-13 09:14:31 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 09:14:31 +0100 <Guest_56> Oke
2021-01-13 09:16:29 +0100 <maerwald> Guest_56: https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/5#note_269513
2021-01-13 09:17:03 +0100 <maerwald> "cardano Node is not officially supported on aarch64. Running it with anything but +RTS -N1, will almost certainly deadlock at some point. armv7 is most likely broken due to Word size issues. Also cardano-node doesn’t compile for anything other than 8.4 afaik."
2021-01-13 09:17:21 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 09:17:38 +0100 <maerwald> (the latter part isn't correct anymore, it compiles with 8.10.2/8.10.3 I think)
2021-01-13 09:17:58 +0100LKoen(~LKoen@100.170.9.109.rev.sfr.net)
2021-01-13 09:18:09 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 09:18:13 +0100cfricke(~cfricke@unaffiliated/cfricke)
2021-01-13 09:19:23 +0100ChanServ+o mniip
2021-01-13 09:19:23 +0100mniip-bo *!*@185.65.134.* mniip
2021-01-13 09:19:41 +0100ChanServ+o mniip
2021-01-13 09:19:41 +0100mniip+b-o *!b94186*@* mniip
2021-01-13 09:20:23 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-01-13 09:20:33 +0100 <angerman> Guest_56: https://t.me/joinchat/FeKTCBu-pn5OUZUz4joF2w
2021-01-13 09:20:38 +0100chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de)
2021-01-13 09:21:34 +0100_d0t(void@gateway/vpn/mullvad/d0t/x-89419360)
2021-01-13 09:22:37 +0100 <_d0t> ohai! What is the best way to check cabal flags in haskell code? I know I could pass a -D_SOME_FLAG and check it using CPP in Haskell, but I wonder if there is a better way without involving CPP.
2021-01-13 09:22:50 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 264 seconds)
2021-01-13 09:25:32 +0100nrh^(~hph@ip98-184-89-2.mc.at.cox.net)
2021-01-13 09:29:15 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-01-13 09:30:48 +0100 <idnar> with Data.Type.Set do I want `Member e s =>` or `(MemberP e s ~ True) =>`?
2021-01-13 09:30:55 +0100jedws(~jedws@121.209.139.157)
2021-01-13 09:32:23 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
2021-01-13 09:32:46 +0100pera(pera@gateway/vpn/mullvad/pera)
2021-01-13 09:33:09 +0100MrMobius(~MrMobius@208.58.206.154) (Read error: Connection reset by peer)
2021-01-13 09:34:35 +0100Guest_56(5e9d51aa@170-81-157-94.ftth.glasoperator.nl) (Quit: Connection closed)
2021-01-13 09:35:56 +0100jedws(~jedws@121.209.139.157) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-01-13 09:37:14 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Ping timeout: 264 seconds)
2021-01-13 09:38:11 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 09:39:12 +0100dandels(~dandels@unaffiliated/dandels)
2021-01-13 09:40:08 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 09:42:31 +0100tadeo(~tadeo@185.103.96.147) (Remote host closed the connection)
2021-01-13 09:42:38 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 09:42:50 +0100hoobop1(~hoobop@84.39.117.57)
2021-01-13 09:42:54 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 246 seconds)
2021-01-13 09:45:04 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 09:45:23 +0100lambda-11235(~lambda-11@2600:1700:7c70:4600:fddd:a80b:3466:57f4) (Quit: Bye)
2021-01-13 09:45:23 +0100denisse_(~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 240 seconds)
2021-01-13 09:45:46 +0100hacxman(~hexo@gateway/tor-sasl/hexo)
2021-01-13 09:45:51 +0100sorki(~sorki@gateway/tor-sasl/sorki)
2021-01-13 09:46:03 +0100srk(~sorki@gateway/tor-sasl/sorki) (Ping timeout: 240 seconds)
2021-01-13 09:46:03 +0100hexo(~hexo@gateway/tor-sasl/hexo) (Ping timeout: 240 seconds)
2021-01-13 09:46:08 +0100hacxmanhexo
2021-01-13 09:46:34 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 09:47:44 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 09:48:15 +0100denisse(~spaceCat@gateway/tor-sasl/alephzer0)
2021-01-13 09:48:43 +0100sorkisrk
2021-01-13 09:49:11 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 09:49:16 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 240 seconds)
2021-01-13 09:49:30 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2021-01-13 09:50:22 +0100rmk236(~lcampos@2a02:908:3616:b100:ca3b:8d07:f53c:e063) (Quit: Leaving.)
2021-01-13 09:51:41 +0100borne(~fritjof@2a06:8782:ffbb:1337:9090:31bf:f665:3d0f)
2021-01-13 09:53:54 +0100 <merijn> _d0t: The *best* way is "don't" :p
2021-01-13 09:54:08 +0100 <merijn> idnar: If the latter works, then the former is a kind error
2021-01-13 09:55:47 +0100 <idnar> merijn: note MemberP is not the same as Member
2021-01-13 09:56:15 +0100 <_d0t> merijn: I wish I didn't have to. But I do.
2021-01-13 09:58:16 +0100kuribas(~user@ptr-25vy0i8j9gwx27i4uzv.18120a2.ip6.access.telenet.be)
2021-01-13 09:58:34 +0100 <idnar> (but I'm going to just use a type-list anyway)
2021-01-13 09:58:43 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:255c:8c1d:42fb:24ab:a8e9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-01-13 10:00:34 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl)
2021-01-13 10:03:58 +0100locrian9(~mike@99-153-255-194.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds)
2021-01-13 10:04:44 +0100nopf(~frosch@static.179.17.76.144.clients.your-server.de)
2021-01-13 10:05:14 +0100 <merijn> _d0t: CPP is the only way, which sadly hasn't been enough deterrent in the past >.>
2021-01-13 10:10:34 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-01-13 10:11:09 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 10:12:49 +0100phaul(~phaul@ruby/staff/phaul) (Ping timeout: 264 seconds)
2021-01-13 10:13:03 +0100ericsagnes(~ericsagne@2405:6580:0:5100:a1eb:5c8f:3763:40e4) (Ping timeout: 272 seconds)
2021-01-13 10:19:22 +0100dandels(~dandels@unaffiliated/dandels) (Ping timeout: 246 seconds)
2021-01-13 10:19:37 +0100ransom(~c4264035@8.48.134.30)
2021-01-13 10:19:51 +0100 <_d0t> merijn: seems unfortunate :( I'm surprised nobody has fixed this yet.
2021-01-13 10:20:25 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 265 seconds)
2021-01-13 10:20:30 +0100 <merijn> _d0t: What are you trying to do?
2021-01-13 10:20:45 +0100ransom_(~c4264035@8.6.112.146) (Ping timeout: 240 seconds)
2021-01-13 10:20:58 +0100christo(~chris@81.96.113.213)
2021-01-13 10:21:21 +0100 <_d0t> merijn: I have a path hardcoded in my code, but it differs depending on whether the package is built in Nix.
2021-01-13 10:21:52 +0100 <merijn> Well...that's disgusting >.>
2021-01-13 10:22:44 +0100 <_d0t> merijn: haha! Yeah, I know.
2021-01-13 10:23:06 +0100nrh^(~hph@ip98-184-89-2.mc.at.cox.net) ()
2021-01-13 10:24:21 +0100waskell(~quassel@d66-183-127-166.bchsia.telus.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-01-13 10:24:24 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
2021-01-13 10:24:53 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2021-01-13 10:25:18 +0100ericsagnes(~ericsagne@2405:6580:0:5100:30bd:c020:c025:2dfe)
2021-01-13 10:25:22 +0100 <merijn> What's the path for? Can't you replace it with use of Paths_x ?
2021-01-13 10:30:10 +0100 <_d0t> merijn: probably not. It's some external resources. Unless it's possible to add arbitrary paths to Paths_*
2021-01-13 10:30:55 +0100 <ephemient> cabal does generate a cabal_macros.h but no equivalent .hs
2021-01-13 10:31:14 +0100 <merijn> If it's external then I think hardcoding it is a terrible idea anyway, tbh
2021-01-13 10:31:26 +0100 <ephemient> that would be doable as a build hook, maybe
2021-01-13 10:32:03 +0100 <_d0t> merijn: external to the cabal package. It's in the same repo.
2021-01-13 10:32:20 +0100 <merijn> build hooks require build-type Custom, though
2021-01-13 10:33:50 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
2021-01-13 10:34:16 +0100 <_d0t> the ideal solution would be to allow other types in cabal flags, not just boolean, and make it possible to access the values in haskell code.
2021-01-13 10:35:59 +0100 <merijn> _d0t: I will literally send assassins after anyone implementing this >.>
2021-01-13 10:36:04 +0100tsrt^(wearamask@ip98-184-89-2.mc.at.cox.net)
2021-01-13 10:36:16 +0100 <_d0t> merijn: why though?
2021-01-13 10:36:40 +0100 <merijn> That'd just encourage people to use flags even more for things they're not intended (more than they're abused already) turning them into an even bigger mis-feature
2021-01-13 10:36:54 +0100 <_d0t> merijn: how exactly are they abused? Just curious.
2021-01-13 10:37:10 +0100 <merijn> _d0t: Any use of flags that affects the API of a package
2021-01-13 10:37:36 +0100 <merijn> tbh, Hackage should just blog any usage of manual flags entirely
2021-01-13 10:37:59 +0100phaul(~phaul@ruby/staff/phaul)
2021-01-13 10:38:26 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Ping timeout: 264 seconds)
2021-01-13 10:38:52 +0100 <_d0t> merijn: that's the definition of flags, yes. Although I'd prefer if flags were only used to change some internal stuff. I.e. use a faster C library instead of reference haskell implementation, etc.
2021-01-13 10:39:51 +0100LKoen(~LKoen@100.170.9.109.rev.sfr.net) (Remote host closed the connection)
2021-01-13 10:40:13 +0100 <merijn> _d0t: No, that's not the definition of flags, though. The original intention is stuff like you see here: https://hackage.haskell.org/package/transformers-0.4.1.0/transformers.cabal
2021-01-13 10:40:43 +0100pera(pera@gateway/vpn/mullvad/pera) (Ping timeout: 246 seconds)
2021-01-13 10:40:48 +0100 <merijn> Helping toggle build-depends to accommodate "pre" and "post" applicative (in that example)
2021-01-13 10:40:58 +0100 <merijn> Which is why originally there were only automatic flags
2021-01-13 10:41:04 +0100 <dminuoso> Doesn't cabal have built-in support for providing external files to a package?
2021-01-13 10:41:11 +0100 <merijn> dminuoso: Not really
2021-01-13 10:41:25 +0100 <merijn> dminuoso: Unless you ship them as part of the cabal package
2021-01-13 10:41:31 +0100 <merijn> as data-files
2021-01-13 10:41:37 +0100 <dminuoso> Right, that's what I was thinking of
2021-01-13 10:41:55 +0100 <_d0t> I mean, data-files would work for me too here. Except the files are shared between a number of cabal packages.
2021-01-13 10:42:15 +0100 <dminuoso> _d0t: It sounds like you should maybe rethink this
2021-01-13 10:42:23 +0100 <merijn> _d0t: Trivially solved by having a shared dependency providing said file :p
2021-01-13 10:42:39 +0100sagax(~sagax_nb@213.138.71.146)
2021-01-13 10:42:48 +0100 <_d0t> merijn: how exactly? Cabal doesn't allow exporting non-haskell stuff as far as I know.
2021-01-13 10:42:51 +0100 <merijn> foo-data-files package, nearly empty, only has an API for accessing it's data files, have everything else depend on that, problem done
2021-01-13 10:43:18 +0100 <_d0t> And by 'API for accessing its data files' you mean what exactly?
2021-01-13 10:43:31 +0100 <merijn> _d0t: Depends on what the files are for
2021-01-13 10:43:41 +0100 <_d0t> xml mostly
2021-01-13 10:43:57 +0100 <_d0t> I was thinking about file-embed, but this seems too cumbersome.
2021-01-13 10:44:14 +0100 <_d0t> Like, any option I see here is bad and I have to choose between multiple bad and very bad options.
2021-01-13 10:44:23 +0100 <merijn> _d0t: foo-data-files already has access to the Paths_ stuff to find it's data files, so all you need to do is export the Paths_ functions from the data files package for you other code to import
2021-01-13 10:45:07 +0100 <_d0t> merijn: this would mean IO for accessing paths. And I'll have to rewrite some code I wasn't planning on rewriting.
2021-01-13 10:45:41 +0100 <merijn> _d0t: meh, you already need IO for accessing files anyway, seems a fairly trivial hurdle
2021-01-13 10:46:35 +0100 <_d0t> it's about as trivial as what I'm doing right now. I'll entertain this idea later, right now I just wanna make everything work.
2021-01-13 10:46:52 +0100 <_d0t> i have already spent too much time on this whole thing :P
2021-01-13 10:49:14 +0100Codaraxis(~Codaraxis@91.193.4.10)
2021-01-13 10:54:41 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2021-01-13 10:56:03 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2021-01-13 10:58:38 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2021-01-13 10:59:57 +0100Franciman(~francesco@host-82-48-174-127.retail.telecomitalia.it)
2021-01-13 11:07:10 +0100knupfer(~Thunderbi@200116b82c665300508d8b68b44e778f.dip.versatel-1u1.de)
2021-01-13 11:08:30 +0100Rudd0(~Rudd0@185.189.115.103)
2021-01-13 11:09:26 +0100kuribas(~user@ptr-25vy0i8j9gwx27i4uzv.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-01-13 11:11:38 +0100kritzefitz(~kritzefit@212.86.56.80)
2021-01-13 11:12:39 +0100ulidtko|kk(~ulidtko@193.111.48.79)
2021-01-13 11:12:53 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-01-13 11:13:02 +0100son0p(~son0p@181.58.39.182)
2021-01-13 11:13:07 +0100__monty__(~toonn@unaffiliated/toonn)
2021-01-13 11:13:40 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2021-01-13 11:14:06 +0100Guest1269(~textual@2603-7000-3040-0000-ec46-b06f-f001-93b1.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-01-13 11:17:37 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 264 seconds)
2021-01-13 11:18:02 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 256 seconds)
2021-01-13 11:18:12 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2021-01-13 11:18:47 +0100christo(~chris@81.96.113.213)
2021-01-13 11:19:37 +0100acidjnk_new(~acidjnk@p200300d0c704e719e000e87c75b65c92.dip0.t-ipconnect.de)
2021-01-13 11:20:27 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2021-01-13 11:20:40 +0100christo(~chris@81.96.113.213)
2021-01-13 11:23:59 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2021-01-13 11:27:10 +0100Adam1023(3eeb8799@ip-62-235-135-153.dsl.scarlet.be)
2021-01-13 11:28:04 +0100maxsu(~maxsu@ip-64-72-99-232.lasvegas.net) (Ping timeout: 260 seconds)
2021-01-13 11:28:08 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-kaqotuxjmriehlgf) (Quit: Connection closed for inactivity)
2021-01-13 11:28:58 +0100jamm(~jamm@unaffiliated/jamm)
2021-01-13 11:29:15 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-01-13 11:32:08 +0100 <Adam1023> Hi there, I'm new to Haskell. I have experience with Python and Java.
2021-01-13 11:32:09 +0100 <Adam1023> My question is, when I do:
2021-01-13 11:32:09 +0100 <Adam1023> ghci> :t (*)
2021-01-13 11:32:10 +0100 <Adam1023> (*) :: (Num a) => a -> a -> a
2021-01-13 11:32:10 +0100 <Adam1023> I know that what is before the => is a constraint. But why is it defined this way? Why is it illegal to do for example:
2021-01-13 11:32:11 +0100 <Adam1023> (*) :: Num -> Num -> Num
2021-01-13 11:32:11 +0100 <Adam1023> Thanks in advance :)
2021-01-13 11:33:18 +0100jamm(~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
2021-01-13 11:33:39 +0100 <_d0t> Adam1023: Num isn't a type, it's a constraint. In your case, 'a' is a type.
2021-01-13 11:33:53 +0100 <merijn> _d0t: Arguably Num is a type :p
2021-01-13 11:33:59 +0100 <merijn> It's not a type that has values, though
2021-01-13 11:34:03 +0100 <_d0t> merijn: not a conctrete type, ok
2021-01-13 11:34:23 +0100 <merijn> _d0t: https://gist.github.com/merijn/796b8e041885df870fbb53b7191644b6 :p
2021-01-13 11:35:08 +0100 <_d0t> merijn: and then good luck trying to explain all that to a noob %)
2021-01-13 11:35:54 +0100 <_d0t> Adam1023: imagine you want to write a function that takes two different types and both are Num. It wouldn't be possible with the notation you provide.
2021-01-13 11:36:21 +0100 <merijn> Adam1023: The "short and simple" explanation is "typeclasses aren't types that have values", functions can only work on values, therefore functions can only operate on types that *do* have values
2021-01-13 11:36:52 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:255c:8c1d:42fb:24ab:a8e9)
2021-01-13 11:37:07 +0100 <idnar> what is `instance a ~ b => Enum (a :~: b)` for?
2021-01-13 11:38:15 +0100 <merijn> Adam1023: You can think of constraints as a sort of "type checking-if" "(*) :: Num a => a -> a -> a" is kinda like "IFF 'a' is an instance of the Num typeclass THEN (*) :: a -> a -> a ELSE type error"
2021-01-13 11:38:44 +0100 <merijn> Adam1023: Which is what lets you use * for both Int and Double
2021-01-13 11:38:50 +0100 <merijn> > 2 * 3 :: Int
2021-01-13 11:38:53 +0100 <lambdabot> 6
2021-01-13 11:38:54 +0100 <merijn> > 2 * 3 :: Double
2021-01-13 11:38:56 +0100 <lambdabot> 6.0
2021-01-13 11:39:36 +0100 <dminuoso> Adam1023: Do note that in Haskell the meaning of the term (type) class is almost, but not quite, entirely unlike Java classes.
2021-01-13 11:39:50 +0100 <merijn> Adam1023: Note that there is such thing as *subclassing* (in the OO sense) in Haskell. So the OO idea of "(*) :: Num -> Num -> Num" working for "all subclasses of Num" is not a thing
2021-01-13 11:40:10 +0100 <merijn> There are also other quirks you get with the subclassing idea
2021-01-13 11:40:42 +0100LKoen(~LKoen@100.170.9.109.rev.sfr.net)
2021-01-13 11:40:47 +0100 <merijn> Such as if we consider "(==) :: Eq a => a -> a -> Bool" this compares two values *of the same type*
2021-01-13 11:41:36 +0100 <merijn> As opposed to something like "bool equal(Comparable a, Comparable b);" which would work even if 'a' and 'b' were different types (as long as both types subclasses Comparable)
2021-01-13 11:41:46 +0100 <__monty__> "is no such thing"?
2021-01-13 11:41:52 +0100nly(~user@unaffiliated/nly)
2021-01-13 11:42:05 +0100 <merijn> eh, no such thing, yeah
2021-01-13 11:42:07 +0100 <Kronic> Surely most people mean Kind :: * merijn
2021-01-13 11:42:29 +0100 <merijn> Kronic: hmm?
2021-01-13 11:42:37 +0100 <Kronic> In relation to your earlier post
2021-01-13 11:42:42 +0100 <Adam1023> merijn ah okay :p  I was confused when you said "there is such thing"
2021-01-13 11:42:58 +0100 <Adam1023> Thank you very much, it's much more clear to me guys.
2021-01-13 11:42:58 +0100 <merijn> Kronic: I've seen *lots* of people only consider monomorphic types as "concrete"
2021-01-13 11:43:19 +0100 <Kronic> That's surprising
2021-01-13 11:43:32 +0100 <merijn> Kronic: Yes, which is why its a bad term that should just go away :p
2021-01-13 11:43:33 +0100pera(~pera@unaffiliated/pera)
2021-01-13 11:43:47 +0100 <Adam1023> I came here after a suggestion from http://learnyouahaskell.com/ where the maker of the tutorial said that people here are very helpful. You are indeed. Thanks guys!
2021-01-13 11:44:05 +0100 <yushyin> sometimes, yes.
2021-01-13 11:44:09 +0100 <yushyin> ;D
2021-01-13 11:44:09 +0100 <Kronic> Well, good luck changing how people talk, many have tried and few have succeeded. I see where you are coming from though, definitely
2021-01-13 11:44:24 +0100NGravity(csp@gateway/shell/xshellz/x-epmrghlaxfnvqxxx)
2021-01-13 11:44:56 +0100 <dminuoso> idnar: Good question. https://gitlab.haskell.org/ghc/ghc/-/wikis/type-level-reasoning is what brought the implementation in.
2021-01-13 11:45:33 +0100 <dminuoso> Also see https://mail.haskell.org/pipermail/libraries/2013-April/019653.html
2021-01-13 11:45:58 +0100 <dminuoso> Ah hold on, that's the wrong link
2021-01-13 11:46:01 +0100 <merijn> Adam1023: Note that LYAH is generally considered "not great" in terms of how well it teaches you to actually program Haskell. You may (at some point) wanna consider getting one of: Graham Hutton's "Programming in Haskell", Richard Bird's "Thinkin Functionally with Haskell" or "Haskell Programming from First Principles" (https://haskellbook.com/)
2021-01-13 11:46:07 +0100david__(~david@234.109.45.217.dyn.plus.net)
2021-01-13 11:46:40 +0100 <merijn> Adam1023: The CIS194 lectures/assignments are also widely seen as good: https://www.cis.upenn.edu/~cis194/spring13/lectures.html
2021-01-13 11:46:52 +0100 <dminuoso> Adam1023: Haskell typeclasses are roughly similar (but much more powerful) to Java interfaces. Do not let the term "class" confuse you
2021-01-13 11:46:58 +0100 <dminuoso> Keep that in mind for the future.
2021-01-13 11:47:43 +0100thc202(~thc202@unaffiliated/thc202)
2021-01-13 11:48:18 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-01-13 11:48:56 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 11:50:18 +0100 <jonathanx> So at my company we want to migrate our bash/python scripts to something more typed. We're mostly running on haskell/elm/purescript otherwise. I've heard of TopShell (own language), Shelly and .. Turtle?
2021-01-13 11:50:51 +0100 <Adam1023> merijn: thanks for the advice and suggestions!
2021-01-13 11:51:01 +0100 <jonathanx> Does anyone have any recommendation? Focus is LTS, ease of setup and the things needed to ahck together other programs in CI etc
2021-01-13 11:51:05 +0100 <Adam1023> dminuoso: will definitely keep that in mind, thanks
2021-01-13 11:51:47 +0100 <dminuoso> jonathanx: What's the use case exactly? What do you do with those scripts?
2021-01-13 11:51:47 +0100Alleria(~textual@mskresolve-a.mskcc.org)
2021-01-13 11:51:50 +0100 <__monty__> jonathanx: Shake might be appropriate too.
2021-01-13 11:52:11 +0100AlleriaGuest39736
2021-01-13 11:53:01 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 264 seconds)
2021-01-13 11:53:12 +0100lazyshrk(~lazyshrk@128.199.58.13) (Quit: ZNC 1.8.2 - https://znc.in)
2021-01-13 11:53:46 +0100 <jonathanx> We have a few different use cases: Some run in Jenkins, interacting with docker, running tests through the cli, uploading to dockerhub/aws etc, just basic integration. Others are for data transformation, basically a quick way to convert data to a format that's a better fit to our system
2021-01-13 11:53:57 +0100lazyshrk(~lazyshrk@128.199.58.13)
2021-01-13 11:54:02 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 264 seconds)
2021-01-13 11:54:46 +0100 <jonathanx> we've started using bash/python since they are quick to setup for devs that face a problem and just want it to get over with
2021-01-13 11:54:49 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-01-13 11:54:54 +0100aveltras(uid364989@gateway/web/irccloud.com/x-udfdwmeiwxhqcgxw)
2021-01-13 11:54:56 +0100 <jonathanx> But want to migrate it to a stricter alnguage
2021-01-13 11:55:00 +0100mastarija(~mastarija@93-136-110-113.adsl.net.t-com.hr)
2021-01-13 11:55:06 +0100 <__monty__> jonathanx: Oilshell might be of interest too.
2021-01-13 11:55:50 +0100 <mastarija> is it possible to run a module function straight from cabal? Something like "cabal run Module.function args..."?
2021-01-13 11:56:08 +0100Adam1023(3eeb8799@ip-62-235-135-153.dsl.scarlet.be) (Quit: Connection closed)
2021-01-13 11:56:18 +0100 <dminuoso> mastarija: No
2021-01-13 11:56:25 +0100 <mastarija> :(
2021-01-13 11:56:45 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl) (Remote host closed the connection)
2021-01-13 11:56:59 +0100 <dminuoso> mastarija: The best you can do is `cabal repl`
2021-01-13 11:57:11 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl)
2021-01-13 11:57:20 +0100 <dminuoso> Assuming you're inside a cabal project that has the package supplying the module in its build-depends
2021-01-13 11:57:25 +0100 <mastarija> dminuoso, yeah.. doing that right now
2021-01-13 11:57:30 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
2021-01-13 11:57:48 +0100 <dminuoso> afaik there is an issue on cabal-install to provide a take on cabal repl for ad-hoc experimenting with packages
2021-01-13 11:58:02 +0100 <__monty__> Well, you *could* use a cabal shebang. But you'd have to add `main = function` too.
2021-01-13 11:58:25 +0100 <__monty__> That way you could cabal run it.
2021-01-13 11:58:50 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:255c:8c1d:42fb:24ab:a8e9) (Ping timeout: 264 seconds)
2021-01-13 11:59:11 +0100 <merijn> __monty__: Can't run a function that way :p
2021-01-13 11:59:40 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 11:59:56 +0100 <__monty__> You have to incoporate it into main, yes.
2021-01-13 12:00:07 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-01-13 12:00:09 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se) (Ping timeout: 260 seconds)
2021-01-13 12:01:03 +0100philopsos(~caecilius@45.133.192.156)
2021-01-13 12:04:12 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 260 seconds)
2021-01-13 12:05:18 +0100 <mastarija> well, it is what it is
2021-01-13 12:05:26 +0100 <mastarija> for now... })
2021-01-13 12:05:39 +0100kuribas(~user@ptr-25vy0i8j9gwx27i4uzv.18120a2.ip6.access.telenet.be)
2021-01-13 12:06:08 +0100maxsu(~maxsu@ip-64-72-99-232.lasvegas.net)
2021-01-13 12:06:13 +0100plutoniix(~q@184.82.196.93) (Ping timeout: 264 seconds)
2021-01-13 12:06:45 +0100vappend(~ezrakilty@75-172-99-84.tukw.qwest.net)
2021-01-13 12:10:45 +0100vappend(~ezrakilty@75-172-99-84.tukw.qwest.net) (Ping timeout: 240 seconds)
2021-01-13 12:19:41 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 12:19:58 +0100plutoniix(~q@ppp-223-24-93-72.revip6.asianet.co.th)
2021-01-13 12:22:35 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Read error: Connection reset by peer)
2021-01-13 12:24:38 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 264 seconds)
2021-01-13 12:25:42 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0)
2021-01-13 12:25:53 +0100cfricke(~cfricke@unaffiliated/cfricke)
2021-01-13 12:26:13 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 12:26:18 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
2021-01-13 12:26:31 +0100pacak(~pacak@bb116-14-220-91.singnet.com.sg) (Remote host closed the connection)
2021-01-13 12:28:48 +0100pacak(~pacak@bb116-14-220-91.singnet.com.sg)
2021-01-13 12:30:56 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-01-13 12:32:44 +0100mastarija(~mastarija@93-136-110-113.adsl.net.t-com.hr) (Quit: Leaving)
2021-01-13 12:33:43 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0)
2021-01-13 12:33:53 +0100cfricke(~cfricke@unaffiliated/cfricke)
2021-01-13 12:34:56 +0100cfricke(~cfricke@unaffiliated/cfricke) (Client Quit)
2021-01-13 12:35:00 +0100 <ij> I want a mutable stack for which I know the max amount of memory it'll ever need. Should it be a mutable vector + int? Other options?
2021-01-13 12:35:06 +0100cfricke(~cfricke@unaffiliated/cfricke)
2021-01-13 12:35:11 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
2021-01-13 12:37:21 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-uvziyudvcbiadite) (Quit: Connection closed for inactivity)
2021-01-13 12:38:59 +0100Dark_Ethereal(~Drew@84.93.106.197)
2021-01-13 12:39:38 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Ping timeout: 264 seconds)
2021-01-13 12:40:08 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 12:42:36 +0100pjb(~t@2a01cb04063ec50089de8c855996f2de.ipv6.abo.wanadoo.fr)
2021-01-13 12:45:02 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 264 seconds)
2021-01-13 12:51:02 +0100pjb(~t@2a01cb04063ec50089de8c855996f2de.ipv6.abo.wanadoo.fr) (Ping timeout: 264 seconds)
2021-01-13 12:52:06 +0100manmachineman(~manmachin@93-172-48-98.bb.netvision.net.il)
2021-01-13 12:52:46 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 12:53:20 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-01-13 12:54:15 +0100pjb(~t@2a01cb04063ec50089de8c855996f2de.ipv6.abo.wanadoo.fr)
2021-01-13 12:54:48 +0100manmachineman(~manmachin@93-172-48-98.bb.netvision.net.il) (Client Quit)
2021-01-13 12:57:30 +0100MarcelineVQ(~anja@198.254.202.72) (Ping timeout: 265 seconds)
2021-01-13 12:58:36 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 12:59:30 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 13:01:52 +0100cantstanya(~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection)
2021-01-13 13:04:22 +0100knupfer(~Thunderbi@200116b82c665300508d8b68b44e778f.dip.versatel-1u1.de) (Remote host closed the connection)
2021-01-13 13:04:34 +0100knupfer(~Thunderbi@200116b82c665300c1ca56f533258321.dip.versatel-1u1.de)
2021-01-13 13:07:46 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2021-01-13 13:08:35 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 13:09:35 +0100cantstanya(~chatting@gateway/tor-sasl/cantstanya)
2021-01-13 13:10:42 +0100fendor(~fendor@178.115.130.17.wireless.dyn.drei.com)
2021-01-13 13:13:55 +0100LKoen(~LKoen@100.170.9.109.rev.sfr.net) (Read error: Connection reset by peer)
2021-01-13 13:15:28 +0100LKoen(~LKoen@100.170.9.109.rev.sfr.net)
2021-01-13 13:16:43 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Ping timeout: 240 seconds)
2021-01-13 13:18:07 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-01-13 13:18:27 +0100gzj(~gzj@unaffiliated/gzj)
2021-01-13 13:18:54 +0100spatchkaa(~spatchkaa@S010600fc8da47b63.gv.shawcable.net) (Ping timeout: 256 seconds)
2021-01-13 13:21:46 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se)
2021-01-13 13:22:57 +0100 <merijn> Why mutable? "list" already makes a pretty good immutable stack, tbh
2021-01-13 13:23:17 +0100kav_(~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi) (Ping timeout: 260 seconds)
2021-01-13 13:23:38 +0100Entertainment(~entertain@104.246.132.210)
2021-01-13 13:26:21 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 13:27:11 +0100 <dminuoso> And you can put an IORef ontop of a list, if you need to manipulate the stack mutabily
2021-01-13 13:27:21 +0100 <nshepperd> cache reasons?
2021-01-13 13:27:38 +0100 <nshepperd> seems like the only reason to use a vector in this case
2021-01-13 13:27:40 +0100son0p(~son0p@181.58.39.182) (Quit: Lost terminal)
2021-01-13 13:30:52 +0100kav(~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi)
2021-01-13 13:32:46 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2021-01-13 13:33:47 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se)
2021-01-13 13:34:56 +0100poljar1(~poljar@93-139-24-194.adsl.net.t-com.hr) (Ping timeout: 240 seconds)
2021-01-13 13:35:14 +0100poljar1(~poljar@93-143-188-151.adsl.net.t-com.hr)
2021-01-13 13:35:54 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
2021-01-13 13:38:33 +0100waskell(~quassel@d172-218-41-115.bchsia.telus.net)
2021-01-13 13:38:45 +0100brisbin(~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) (Ping timeout: 240 seconds)
2021-01-13 13:39:50 +0100geekosaur(ac3a8cac@172.58.140.172)
2021-01-13 13:40:50 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Ping timeout: 264 seconds)
2021-01-13 13:42:54 +0100christo(~chris@81.96.113.213)
2021-01-13 13:44:39 +0100m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2021-01-13 13:47:01 +0100philopsos(~caecilius@45.133.192.156) (Ping timeout: 264 seconds)
2021-01-13 13:48:19 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-01-13 13:48:39 +0100gzj(~gzj@unaffiliated/gzj)
2021-01-13 13:56:07 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:255c:8c1d:42fb:24ab:a8e9)
2021-01-13 13:59:37 +0100urodna(~urodna@unaffiliated/urodna)
2021-01-13 14:01:50 +0100borne(~fritjof@2a06:8782:ffbb:1337:9090:31bf:f665:3d0f) (Ping timeout: 264 seconds)
2021-01-13 14:03:19 +0100borne(~fritjof@200116b864541200ebe25c0bc4714abc.dip.versatel-1u1.de)
2021-01-13 14:03:23 +0100 <ij> nshepperd, yes, hopes of it at least
2021-01-13 14:05:09 +0100 <merijn> regular vector won't help with cache
2021-01-13 14:05:20 +0100 <merijn> You'd need unboxed or Storable for that
2021-01-13 14:07:23 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-01-13 14:08:27 +0100Lowl3v3l(~Lowl3v3l@dslb-084-062-101-233.084.062.pools.vodafone-ip.de) (Quit: Leaving.)
2021-01-13 14:09:38 +0100Lowl3v3l(~Lowl3v3l@dslb-084-062-101-233.084.062.pools.vodafone-ip.de)
2021-01-13 14:10:39 +0100 <ij> I was indeed planning on using the unboxed version
2021-01-13 14:11:03 +0100 <ij> do integers get boxes as well?
2021-01-13 14:11:07 +0100 <merijn> yes
2021-01-13 14:11:44 +0100 <ij> what does the box consist of?
2021-01-13 14:12:19 +0100 <merijn> "boxing" just refers to a pointer indirection
2021-01-13 14:12:38 +0100 <merijn> ij: Consider this: How do you generate code for polymorphic functions?
2021-01-13 14:13:12 +0100 <merijn> After all, different types may have different size in memory
2021-01-13 14:13:17 +0100 <kuribas> ij: boxes are necessary because of lazyness
2021-01-13 14:13:25 +0100 <merijn> kuribas: That's not really it
2021-01-13 14:13:39 +0100 <kuribas> merijn: if you are not lazy, you don't need a box, do you?
2021-01-13 14:13:41 +0100 <merijn> kuribas: boxing makes thunking somewhat easier/more consistent
2021-01-13 14:13:45 +0100 <merijn> kuribas: Yes you do
2021-01-13 14:13:49 +0100 <merijn> kuribas: Java has boxing
2021-01-13 14:13:56 +0100 <merijn> C# (presumably) has boxing
2021-01-13 14:14:06 +0100 <kuribas> you mean for compound structures?
2021-01-13 14:14:11 +0100 <kuribas> but in Java every is an object
2021-01-13 14:14:15 +0100 <merijn> kuribas: No
2021-01-13 14:14:17 +0100 <kuribas> so the box is the object :)
2021-01-13 14:14:17 +0100 <ij> merijn, but no gc metadata?
2021-01-13 14:14:27 +0100 <merijn> kuribas: int and char (the primitive types) are unboxed
2021-01-13 14:14:37 +0100 <merijn> kuribas: Which is why you can't put them in generic containers
2021-01-13 14:14:37 +0100 <kuribas> in java?
2021-01-13 14:14:40 +0100 <merijn> kuribas: Yes
2021-01-13 14:14:50 +0100 <kuribas> you have Integer and String
2021-01-13 14:14:51 +0100 <merijn> This is why Integer exists separate from int
2021-01-13 14:15:45 +0100 <ij> in java?
2021-01-13 14:16:05 +0100 <kuribas> yes
2021-01-13 14:16:05 +0100 <merijn> ij: There's basically 2 ways to make polymorphic code work: 1) duplicate the function/code for every type (with the right sizes), like C++ templates, 2) replace all values with "pointer to value", since all pointers are the same size, allowing you to use 1 version of the code for all types
2021-01-13 14:16:25 +0100acidjnk_new(~acidjnk@p200300d0c704e719e000e87c75b65c92.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-01-13 14:16:40 +0100 <merijn> ij: This "use pointer to value, instead of values directly" is what's called "boxing"
2021-01-13 14:17:01 +0100 <ij> makes sense
2021-01-13 14:17:06 +0100 <kuribas> are pick the best of the two => haskell!
2021-01-13 14:17:19 +0100 <merijn> ij: Note that GHC supports unboxed types (although not part of the Haskell spec)
2021-01-13 14:17:40 +0100 <merijn> ij: https://hackage.haskell.org/package/base-4.14.1.0/docs/GHC-Exts.html#t:Int
2021-01-13 14:17:46 +0100 <ij> would it duplicate the code?
2021-01-13 14:18:04 +0100 <kuribas> ij: duplicating code is called specialization in haskell, it's a performance optimization.
2021-01-13 14:18:21 +0100 <merijn> That's where Int is defined (and you can also see Int#, which is GHC's unboxed int type)
2021-01-13 14:18:24 +0100 <ij> so Ints are boxed in hs?
2021-01-13 14:18:40 +0100 <merijn> the boxedness of Int is unspecified in Haskell
2021-01-13 14:18:40 +0100 <kuribas> ij: yes, because of lazyness
2021-01-13 14:18:44 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2021-01-13 14:18:51 +0100 <merijn> GHC uses boxed Int, though
2021-01-13 14:19:08 +0100 <ij> i was gonna ask
2021-01-13 14:19:14 +0100 <kuribas> I suppose you can have lazy int using a "lazy bit"...
2021-01-13 14:19:14 +0100 <merijn> kuribas: nothing in Haskell "is boxed", since boxing is an implementation detail of a specific compiler
2021-01-13 14:20:02 +0100 <ij> will records with ints be likely unboxed?
2021-01-13 14:20:20 +0100 <ij> (typing in term from phone sucks...)
2021-01-13 14:20:23 +0100 <merijn> ij: Unspecified, but realistically no
2021-01-13 14:20:36 +0100 <merijn> ij: You can explicitly unbox using pragmas, though
2021-01-13 14:21:34 +0100 <ij> pragmas or Int#?
2021-01-13 14:22:04 +0100 <merijn> ij: I'm actually not sure you can use Int# directly in product types...good question!
2021-01-13 14:22:26 +0100 <kuribas> won't ghc use Int# when you unbox an Int field?
2021-01-13 14:22:33 +0100 <merijn> ij: https://downloads.haskell.org/ghc/latest/docs/html/users_guide/glasgow_exts.html#unboxed-types-and…
2021-01-13 14:24:18 +0100 <merijn> Although this is kind of a big detour from "stacks" :D
2021-01-13 14:26:24 +0100ericsagnes(~ericsagne@2405:6580:0:5100:30bd:c020:c025:2dfe) (Ping timeout: 246 seconds)
2021-01-13 14:26:32 +0100brisbin(~patrick@pool-173-49-158-4.phlapa.fios.verizon.net)
2021-01-13 14:30:40 +0100Tario(~Tario@201.192.165.173)
2021-01-13 14:32:29 +0100ArConan(9de62a69@157.230.42.105)
2021-01-13 14:33:22 +0100 <ArConan> Why both
2021-01-13 14:33:33 +0100 <ArConan> >c=(*3)
2021-01-13 14:33:36 +0100 <ArConan> and
2021-01-13 14:33:38 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl) (Remote host closed the connection)
2021-01-13 14:33:46 +0100 <ArConan> >c=(3*)
2021-01-13 14:33:50 +0100 <ArConan> works?
2021-01-13 14:33:59 +0100 <geekosaur> they mean different things
2021-01-13 14:34:06 +0100 <geekosaur> well, no
2021-01-13 14:34:08 +0100taurux(~taurux@net-188-216-43-78.cust.vodafonedsl.it)
2021-01-13 14:34:14 +0100 <geekosaur> not for (*), but think of it for (-)
2021-01-13 14:34:15 +0100ADG1089__(~aditya@122.163.165.143) (Remote host closed the connection)
2021-01-13 14:34:17 +0100 <geekosaur> or (/)
2021-01-13 14:34:21 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl)
2021-01-13 14:34:57 +0100 <merijn> Well, they *do* mean different things
2021-01-13 14:35:01 +0100tito_04(~taurux@net-109-115-33-214.cust.vodafonedsl.it) (Ping timeout: 264 seconds)
2021-01-13 14:35:12 +0100 <merijn> It's just the the different things end up having the same result
2021-01-13 14:35:17 +0100 <geekosaur> haskell doesn't "know" what a given operator is, so it does the same thing for all of them
2021-01-13 14:36:08 +0100 <geekosaur> and (-) was a bad example because of negative numbers, which are a wart
2021-01-13 14:36:36 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
2021-01-13 14:37:03 +0100 <geekosaur> but (5/) and (/5) are definitely different meanings
2021-01-13 14:37:42 +0100 <opqdonut> or (2^) and (^2)
2021-01-13 14:38:21 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-01-13 14:38:25 +0100niekvandepas(~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 240 seconds)
2021-01-13 14:38:51 +0100ericsagnes(~ericsagne@2405:6580:0:5100:e7a9:963a:130c:3d7f)
2021-01-13 14:39:49 +0100 <ArConan> I understand a little bit
2021-01-13 14:39:50 +0100 <ArConan> .
2021-01-13 14:39:50 +0100 <ArConan> does it have something to do with coriolisation?
2021-01-13 14:40:50 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 14:42:02 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Ping timeout: 264 seconds)
2021-01-13 14:42:21 +0100 <ArConan> currying not coriolisation  :')
2021-01-13 14:43:21 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-01-13 14:43:23 +0100 <kuribas> geekosaur: also Num doesn't garantee that (*) is commutative
2021-01-13 14:43:24 +0100knupfer(~Thunderbi@200116b82c665300c1ca56f533258321.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
2021-01-13 14:43:53 +0100 <lortabac> ArConan: if I remember correctly, (+ 3) is just syntactic sugar for (\x -> x + 3)
2021-01-13 14:44:04 +0100 <geekosaur> that was part of what I meant by "doesn't know"
2021-01-13 14:44:11 +0100 <lortabac> so there is no currying involved
2021-01-13 14:44:15 +0100 <geekosaur> you can't even describe commutability
2021-01-13 14:44:49 +0100 <kuribas> you can with dependent types
2021-01-13 14:45:01 +0100 <geekosaur> in Haskell
2021-01-13 14:45:21 +0100 <kuribas> not in haskell
2021-01-13 14:45:30 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 272 seconds)
2021-01-13 14:45:47 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Ping timeout: 260 seconds)
2021-01-13 14:46:08 +0100tomku(~tomku@unaffiliated/tomku) (Ping timeout: 272 seconds)
2021-01-13 14:46:34 +0100tomku(~tomku@unaffiliated/tomku)
2021-01-13 14:46:49 +0100ADG1089__(~aditya@122.163.165.143)
2021-01-13 14:46:55 +0100 <ij> merijn, haskell is very interesting in its own right
2021-01-13 14:47:49 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2021-01-13 14:48:25 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-01-13 14:48:51 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-01-13 14:51:14 +0100maxsu(~maxsu@ip-64-72-99-232.lasvegas.net) (Quit: Leaving)
2021-01-13 14:52:21 +0100 <kuribas> geekosaur: perhaps with liquid haskell?
2021-01-13 14:54:25 +0100son0p(~son0p@181.136.122.143)
2021-01-13 14:55:42 +0100plutoniix(~q@ppp-223-24-93-72.revip6.asianet.co.th) (Quit: Leaving)
2021-01-13 14:59:49 +0100dyeplexer(~lol@unaffiliated/terpin)
2021-01-13 15:00:34 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 15:07:17 +0100chindy(~quassel@51.15.63.78) (Remote host closed the connection)
2021-01-13 15:08:09 +0100chindy(~quassel@51.15.63.78)
2021-01-13 15:08:44 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-01-13 15:11:14 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-01-13 15:11:27 +0100darjeeling_(~darjeelin@122.245.120.137) (Ping timeout: 256 seconds)
2021-01-13 15:12:09 +0100pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2021-01-13 15:12:17 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-hzhnbhdjxyzndlqo)
2021-01-13 15:14:23 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
2021-01-13 15:14:34 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2021-01-13 15:14:50 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds)
2021-01-13 15:18:46 +0100acidjnk_new(~acidjnk@p200300d0c704e719e000e87c75b65c92.dip0.t-ipconnect.de)
2021-01-13 15:18:52 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-01-13 15:20:13 +0100cgfuh(~cgfuh@181.167.191.58)
2021-01-13 15:20:17 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Remote host closed the connection)
2021-01-13 15:20:23 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 15:20:32 +0100spatchkaa(~spatchkaa@S010600fc8da47b63.gv.shawcable.net)
2021-01-13 15:20:57 +0100mmmattyx(uid17782@gateway/web/irccloud.com/x-ciescmgqxkvytapq)
2021-01-13 15:25:51 +0100carlomagno1(~cararell@148.87.23.13)
2021-01-13 15:28:56 +0100carlomagno(~cararell@148.87.23.6) (Ping timeout: 240 seconds)
2021-01-13 15:29:49 +0100darjeeling_(~darjeelin@122.245.120.137)
2021-01-13 15:30:35 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:1ccb:98bf:7669:4558)
2021-01-13 15:30:36 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:1ccb:98bf:7669:4558) (Client Quit)
2021-01-13 15:30:59 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-01-13 15:31:25 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 264 seconds)
2021-01-13 15:31:33 +0100dcoutts_(~duncan@33.14.75.194.dyn.plus.net)
2021-01-13 15:31:47 +0100niekvandepas(~niekvande@84.241.197.254)
2021-01-13 15:31:55 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
2021-01-13 15:32:40 +0100philopsos(~caecilius@45.133.192.84)
2021-01-13 15:33:06 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35) (Remote host closed the connection)
2021-01-13 15:33:13 +0100ulidtko|k(~ulidtko@194.54.80.38)
2021-01-13 15:36:02 +0100ulidtko|kk(~ulidtko@193.111.48.79) (Ping timeout: 265 seconds)
2021-01-13 15:39:15 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-01-13 15:39:35 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
2021-01-13 15:40:45 +0100Wuzzy(~Wuzzy@p5790e10f.dip0.t-ipconnect.de)
2021-01-13 15:42:02 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:1875:e83f:3e95:4d35)
2021-01-13 15:42:13 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 15:43:04 +0100MidAutumnHotaru(~MidAutumn@unaffiliated/midautumnhotaru) (Quit: Quit 啾)
2021-01-13 15:43:07 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 15:43:49 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 15:47:56 +0100philopsos(~caecilius@45.133.192.84) (Ping timeout: 240 seconds)
2021-01-13 15:48:43 +0100fendor(~fendor@178.115.130.17.wireless.dyn.drei.com) (Ping timeout: 246 seconds)
2021-01-13 15:50:45 +0100MrMobius(~MrMobius@208.58.206.154)
2021-01-13 15:51:14 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-tpolqtzvkjihhqny)
2021-01-13 15:51:45 +0100waskell(~quassel@d172-218-41-115.bchsia.telus.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-01-13 15:51:58 +0100fendor(~fendor@178.115.130.196.wireless.dyn.drei.com)
2021-01-13 15:52:52 +0100geekosaur(ac3a8cac@172.58.140.172) (Quit: Connection closed)
2021-01-13 15:53:26 +0100vst(~vst@2406:3003:2004:2e8a:10c7:a9a:a957:2d1a) (Ping timeout: 264 seconds)
2021-01-13 15:53:28 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 15:54:15 +0100MidAutumnHotaru(~MidAutumn@unaffiliated/midautumnhotaru)
2021-01-13 15:56:18 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 15:58:36 +0100son0p(~son0p@181.136.122.143) (Quit: Lost terminal)
2021-01-13 15:58:59 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl)
2021-01-13 15:58:59 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
2021-01-13 15:58:59 +0100mouseghost(~draco@wikipedia/desperek)
2021-01-13 15:59:20 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
2021-01-13 16:00:08 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-01-13 16:00:23 +0100usr25(~J@127.red-83-46-58.dynamicip.rima-tde.net)
2021-01-13 16:00:54 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-01-13 16:04:40 +0100aveltras(uid364989@gateway/web/irccloud.com/x-udfdwmeiwxhqcgxw) (Quit: Connection closed for inactivity)
2021-01-13 16:04:49 +0100LKoen(~LKoen@100.170.9.109.rev.sfr.net) (Remote host closed the connection)
2021-01-13 16:06:06 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-01-13 16:08:45 +0100vappend(~ezrakilty@75-172-99-84.tukw.qwest.net)
2021-01-13 16:10:38 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-01-13 16:11:18 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
2021-01-13 16:11:47 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-01-13 16:12:45 +0100vappend(~ezrakilty@75-172-99-84.tukw.qwest.net) (Ping timeout: 240 seconds)
2021-01-13 16:12:45 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:255c:8c1d:42fb:24ab:a8e9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-01-13 16:12:49 +0100phasespace(~sar@80-89-47-117.inet.signal.no) (Ping timeout: 264 seconds)
2021-01-13 16:13:08 +0100niekvand_(~niekvande@84.241.197.254)
2021-01-13 16:13:15 +0100niekvandepas(~niekvande@84.241.197.254) (Read error: Connection reset by peer)
2021-01-13 16:14:53 +0100Codaraxis(~Codaraxis@91.193.4.10) (Remote host closed the connection)
2021-01-13 16:14:57 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 16:15:03 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds)
2021-01-13 16:15:29 +0100Codaraxis(~Codaraxis@91.193.4.10)
2021-01-13 16:15:39 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 16:16:04 +0100echoreply(~echoreply@unaffiliated/echoreply) (Ping timeout: 272 seconds)
2021-01-13 16:16:31 +0100echoreply(~echoreply@unaffiliated/echoreply)
2021-01-13 16:17:06 +0100Jd007(~Jd007@162.156.11.151)
2021-01-13 16:18:24 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:255c:8c1d:42fb:24ab:a8e9)
2021-01-13 16:19:34 +0100ADG1089__(~aditya@122.163.165.143) (Quit: Konversation terminated!)
2021-01-13 16:19:56 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2021-01-13 16:20:57 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-01-13 16:21:37 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds)
2021-01-13 16:23:30 +0100niekvand_(~niekvande@84.241.197.254) (Remote host closed the connection)
2021-01-13 16:23:43 +0100LKoen(~LKoen@100.170.9.109.rev.sfr.net)
2021-01-13 16:23:44 +0100ulidtko|k(~ulidtko@194.54.80.38) (Remote host closed the connection)
2021-01-13 16:25:32 +0100mananamenos(~mananamen@vpn236-53.vpns.upv.es)
2021-01-13 16:27:01 +0100Codaraxis(~Codaraxis@91.193.4.10) (Remote host closed the connection)
2021-01-13 16:27:22 +0100Codaraxis(~Codaraxis@91.193.4.10)
2021-01-13 16:30:39 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0)
2021-01-13 16:31:20 +0100ulidtko|k(~ulidtko@193.111.48.79)
2021-01-13 16:32:26 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2021-01-13 16:32:56 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-01-13 16:33:49 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2021-01-13 16:34:27 +0100ulidtko|kk(~ulidtko@194.54.80.38)
2021-01-13 16:35:10 +0100ulidtko|kkulidtko
2021-01-13 16:37:25 +0100ulidtko|k(~ulidtko@193.111.48.79) (Ping timeout: 264 seconds)
2021-01-13 16:37:37 +0100ArConan(9de62a69@157.230.42.105) (Ping timeout: 248 seconds)
2021-01-13 16:37:59 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
2021-01-13 16:41:54 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 260 seconds)
2021-01-13 16:42:30 +0100Codaraxis(~Codaraxis@91.193.4.10) (Remote host closed the connection)
2021-01-13 16:43:14 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Ping timeout: 264 seconds)
2021-01-13 16:43:33 +0100 <ij> should I read about LogicT?
2021-01-13 16:44:41 +0100jollygood2(~bc8177f5@217.29.117.252)
2021-01-13 16:45:51 +0100Codaraxis(~Codaraxis@91.193.4.10)
2021-01-13 16:47:08 +0100Codaraxis(~Codaraxis@91.193.4.10) (Remote host closed the connection)
2021-01-13 16:47:47 +0100nly(~user@unaffiliated/nly) (Remote host closed the connection)
2021-01-13 16:48:04 +0100Codaraxis(~Codaraxis@91.193.4.10)
2021-01-13 16:51:35 +0100Codaraxis(~Codaraxis@91.193.4.10) (Remote host closed the connection)
2021-01-13 16:51:44 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-01-13 16:51:51 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 16:52:00 +0100Codaraxis(~Codaraxis@91.193.4.10)
2021-01-13 16:52:37 +0100 <edwardk> ij: it is a nice monad, so sure
2021-01-13 16:55:23 +0100 <Uniaika> ij: you're in luck, there have been additions to the documentation :)
2021-01-13 16:55:49 +0100 <ij> should I read the original PDf?
2021-01-13 16:56:36 +0100 <ij> http://okmij.org/ftp/papers/LogicT.pdf or the library documentation?
2021-01-13 16:58:25 +0100david__(~david@234.109.45.217.dyn.plus.net) (Remote host closed the connection)
2021-01-13 16:58:28 +0100niekvandepas(~niekvande@84.241.193.190)
2021-01-13 16:58:48 +0100DavidEichmann(~david@234.109.45.217.dyn.plus.net)
2021-01-13 16:58:52 +0100Codaraxis(~Codaraxis@91.193.4.10) (Remote host closed the connection)
2021-01-13 16:58:55 +0100 <edwardk> i prefer the library docs as the original paper is a bit hard to follow in places
2021-01-13 16:59:12 +0100Codaraxis(~Codaraxis@91.193.4.10)
2021-01-13 16:59:22 +0100 <edwardk> you might also want to look up some of the stuff written on codensity, which helps make sense of why it is fast
2021-01-13 16:59:35 +0100 <edwardk> the original paper doesn't make the codensity connection
2021-01-13 16:59:58 +0100 <Uniaika> I wonder if someone implemented N-Queens with LogicT
2021-01-13 17:00:02 +0100ArConan(9de62a69@157.230.42.105)
2021-01-13 17:00:05 +0100 <Uniaika> this should be an interesting showcase
2021-01-13 17:00:58 +0100DavidEichmann(~david@234.109.45.217.dyn.plus.net) (Remote host closed the connection)
2021-01-13 17:01:49 +0100DavidEichmann(~david@234.109.45.217.dyn.plus.net)
2021-01-13 17:01:52 +0100 <ij> edwardk, I'm not sure I'll be able to digest any information on that topic
2021-01-13 17:02:12 +0100Codaraxis(~Codaraxis@91.193.4.10) (Remote host closed the connection)
2021-01-13 17:02:27 +0100 <edwardk> Uniaika: i mean, technically almost all of guanxi sits on top a flavor of logict and i have n-queens in that, so yeah ;)
2021-01-13 17:02:42 +0100Codaraxis(~Codaraxis@91.193.4.10)
2021-01-13 17:02:47 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:cc7:8bd8:9369:c502)
2021-01-13 17:03:21 +0100 <edwardk> though it isn't logict doing the heavy lifting there, but rather dancing links
2021-01-13 17:03:26 +0100 <Uniaika> edwardk: wait, are you vendor-locking me?? :P
2021-01-13 17:03:36 +0100 <edwardk> yes
2021-01-13 17:04:01 +0100DavidEichmann(~david@234.109.45.217.dyn.plus.net) (Remote host closed the connection)
2021-01-13 17:04:05 +0100 <edwardk> this is all a subtle ploy to get you to commit to using my unreleased packages that i don't want to maintain yet for public consumption ;)
2021-01-13 17:04:18 +0100Adam1023(3eeb8799@ip-62-235-135-153.dsl.scarlet.be)
2021-01-13 17:04:29 +0100DavidEichmann(~david@234.109.45.217.dyn.plus.net)
2021-01-13 17:04:35 +0100 <Uniaika> heya DavidEichmann :)
2021-01-13 17:04:57 +0100 <edwardk> oh, it looks like the n queens example doesn't even bother with logict. https://github.com/ekmett/guanxi/blob/master/test/queens.hs#L13
2021-01-13 17:05:03 +0100ransom_(~c4264035@c-73-243-2-10.hsd1.co.comcast.net)
2021-01-13 17:05:14 +0100 <Adam1023> Hey guys,
2021-01-13 17:05:15 +0100 <Adam1023> ```
2021-01-13 17:05:15 +0100 <Adam1023> elem' :: (Eq a) => a -> [a] -> Bool
2021-01-13 17:05:16 +0100 <Adam1023> elem' _ []       = False
2021-01-13 17:05:16 +0100 <Adam1023> elem' x (x:xs) = True
2021-01-13 17:05:17 +0100 <Adam1023> elem' x (_:xs) = elem' x xs
2021-01-13 17:05:17 +0100 <Adam1023> ```
2021-01-13 17:05:17 +0100Adam1023(3eeb8799@ip-62-235-135-153.dsl.scarlet.be) (Killed (Sigyn (Spam is off topic on freenode.)))
2021-01-13 17:05:21 +0100 <Uniaika> oof
2021-01-13 17:05:26 +0100 <Uniaika> poor him :(
2021-01-13 17:05:44 +0100 <Uniaika> and I'm p. sure he's been banned, with that
2021-01-13 17:06:08 +0100mirrorbird(~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27)
2021-01-13 17:06:35 +0100 <Uniaika> edwardk: Bird & Gibbons have presented an interesting way to do the N-Queens with bit vectors
2021-01-13 17:06:39 +0100 <DavidEichmann> Uniaika: Hello! Did I miss something?
2021-01-13 17:07:13 +0100 <edwardk> Uniaika: i'm partial to the dancing links version, just because it scales to all sorts of other combinatorics / logic puzzles
2021-01-13 17:07:15 +0100 <Uniaika> DavidEichmann: yes, edward is trying to make the burden of his unreleased packages fall on unsuspecting souls
2021-01-13 17:07:27 +0100 <Uniaika> DavidEichmann: apart from that and the end of the world, nothing much
2021-01-13 17:07:32 +0100 <edwardk> Uniaika: that's my jam
2021-01-13 17:08:03 +0100 <edwardk> Uniaika: i confess you are the first to spot my ploy in the wild and call me on it so directly. congrats.
2021-01-13 17:08:31 +0100 <edwardk> usually i just sucker phadej or ryanglscott into maintaining a thing and it goes uncommented
2021-01-13 17:08:51 +0100 <Uniaika> edwardk: I was just handed the baby for haddock maintenance. :P I know what to expect now
2021-01-13 17:09:10 +0100 <edwardk> oh you poor sweet summer child
2021-01-13 17:09:16 +0100ransom(~c4264035@8.48.134.30) (Ping timeout: 272 seconds)
2021-01-13 17:09:30 +0100 <Uniaika> (well actually I was born in feb…)
2021-01-13 17:09:36 +0100 <Uniaika> but yeah, that's true
2021-01-13 17:10:28 +0100 <Uniaika> edwardk: I also maintain parts of the GHC CI! :^)
2021-01-13 17:10:41 +0100 <Uniaika> that's the kind of stuff that makes one's skin thicken
2021-01-13 17:11:04 +0100 <DavidEichmann> Oh my. Have I been elected to be one of those unsuspecting souls?
2021-01-13 17:11:04 +0100columbarius1(~columbari@87.123.198.176) (Ping timeout: 256 seconds)
2021-01-13 17:11:27 +0100 <merijn> See, this is why you never make PRs to edward's repos
2021-01-13 17:11:36 +0100 <Uniaika> DavidEichmann: congratulations, you've been volunteered! :-D (jk)
2021-01-13 17:11:39 +0100 <merijn> He'll just give you a commit bit and tell you to deal with it >.>
2021-01-13 17:12:16 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 17:12:25 +0100DavidEichmannlooks at all my unfinished side projects
2021-01-13 17:12:59 +0100 <Uniaika> we should make a list of our unfinished side projects
2021-01-13 17:12:59 +0100danso(~dan@23-233-104-25.cpe.pppoe.ca)
2021-01-13 17:13:04 +0100columbarius1(~columbari@87.123.198.176)
2021-01-13 17:13:10 +0100 <Uniaika> especially stuff that can give ideas to newcomers
2021-01-13 17:13:19 +0100 <merijn> Uniaika: Item one: My thesis >.>
2021-01-13 17:13:19 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 17:13:29 +0100 <merijn> Uniaika: Actually at one point I made a wiki page for that, I think?
2021-01-13 17:13:45 +0100 <Uniaika> merijn: are you a PHDon't? :P
2021-01-13 17:14:16 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 17:14:33 +0100acidjnk_new(~acidjnk@p200300d0c704e719e000e87c75b65c92.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-01-13 17:14:57 +0100 <merijn> It'll be finished this month!
2021-01-13 17:15:11 +0100 <merijn> Either by my finishing or by me having a nervous breakdown >.>
2021-01-13 17:16:39 +0100 <merijn> At least the psych ward doesn't have thesises!
2021-01-13 17:16:51 +0100 <edwardk> Uniaika: better you than me ;)
2021-01-13 17:17:18 +0100ransom(~c4264035@8.48.134.30)
2021-01-13 17:17:23 +0100 <edwardk> merijn: shhh. you're giving away all my secrets
2021-01-13 17:17:44 +0100 <edwardk> ok, that one is a bit of an open secret and i may well have given a talk on the effectiveness of the ploy before
2021-01-13 17:17:48 +0100 <merijn> I think I might still be a maintainer on lens repo and I don't even use lens... >.>
2021-01-13 17:19:01 +0100darjeeling_(~darjeelin@122.245.120.137) (Ping timeout: 246 seconds)
2021-01-13 17:20:36 +0100 <Uniaika> edwardk: that is certainly true :P
2021-01-13 17:20:40 +0100ransom_(~c4264035@c-73-243-2-10.hsd1.co.comcast.net) (Ping timeout: 272 seconds)
2021-01-13 17:24:01 +0100 <edwardk> merijn: it is important to have a clear (and long) line of succession.
2021-01-13 17:24:13 +0100 <edwardk> when the go terrorists come for us, you will have to soldier on.
2021-01-13 17:24:49 +0100niekvandepas(~niekvande@84.241.193.190) (Remote host closed the connection)
2021-01-13 17:25:03 +0100 <edwardk> crowds chanting 'we invented that in the 70s' and 'generics no, we want go'
2021-01-13 17:27:43 +0100 <rotaerk> lol
2021-01-13 17:27:56 +0100 <edwardk> 'generics? no. we've got go!'?
2021-01-13 17:28:38 +0100 <edwardk> chants can be hard to make out sometime
2021-01-13 17:29:32 +0100 <merijn> edwardk: You're not smart enough for generics
2021-01-13 17:29:37 +0100 <merijn> Rob Pike said so!
2021-01-13 17:30:02 +0100 <edwardk> pike's argument for everything is that his target demographic isn't smart enough to use it.
2021-01-13 17:30:31 +0100 <Uniaika> I wish this was a joke
2021-01-13 17:30:36 +0100 <merijn> edwardk: Well, Google employs all the smartest programmers
2021-01-13 17:30:48 +0100 <Uniaika> but no, the corporate brain worms have finally eaten through his brain
2021-01-13 17:30:49 +0100 <merijn> edwardk: So clearly if *they* can't handle it, neither can anyone else!
2021-01-13 17:30:59 +0100 <merijn> Uniaika: "finally"
2021-01-13 17:31:16 +0100 <merijn> Uniaika: I feel like Rob Pike was never as good as everyone commonly makes him out to be
2021-01-13 17:31:25 +0100 <merijn> He is a clever hacker and ingenious, sure
2021-01-13 17:31:56 +0100 <merijn> But who the f- decided the people behind the hackjob that is UNIX are somehow the most qualified people in programming languages and systems design? >.<
2021-01-13 17:34:36 +0100 <Uniaika> thank you for saying this
2021-01-13 17:34:55 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-01-13 17:35:18 +0100 <merijn> It's like people glorifying Kernighan for making C as the god of programming languages
2021-01-13 17:35:30 +0100 <srk> ++
2021-01-13 17:35:49 +0100ChanServ+o ski
2021-01-13 17:35:50 +0100 <merijn> Was he a good programmer? Sure. Super influential and historically important? Hell yes. Actually good at designing programming languages? Fuck no.
2021-01-13 17:36:01 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:255c:8c1d:42fb:24ab:a8e9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-01-13 17:36:14 +0100ChanServ-o ski
2021-01-13 17:36:21 +0100chindy(~quassel@51.15.63.78) (Remote host closed the connection)
2021-01-13 17:36:44 +0100 <edwardk> merijn: i was about to chant 'go! go! go!' but then realized that could be taken the other way.
2021-01-13 17:37:02 +0100 <srk> I've got this feeling when reading 'UNIX: History and memoir', like `there were this people using types but we didn't like it`
2021-01-13 17:37:36 +0100 <srk> (or more like using lambda calculus)
2021-01-13 17:37:46 +0100 <merijn> tbh, Rob Pike's most important contribution is clearly UTF-8 and none of his programming language stuff >.>
2021-01-13 17:39:12 +0100plutoniix(~q@node-und.pool-125-24.dynamic.totinternet.net)
2021-01-13 17:39:12 +0100chindy(~quassel@51.15.63.78)
2021-01-13 17:40:00 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:255c:18d1:c1a9:13be:6f9e)
2021-01-13 17:40:07 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 17:40:22 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 246 seconds)
2021-01-13 17:41:11 +0100 <edwardk> to be fair utf-8 is objectively a pretty good design with few warts.
2021-01-13 17:41:23 +0100Athas(athas@sigkill.dk) (Quit: ZNC - http://znc.sourceforge.net)
2021-01-13 17:41:38 +0100 <edwardk> if it wasn't for the non-canonical form issues i'd be perfectly happy with it
2021-01-13 17:41:52 +0100xelxebar_(~xelxebar@gateway/tor-sasl/xelxebar)
2021-01-13 17:41:58 +0100Athas_(athas@sigkill.dk)
2021-01-13 17:42:09 +0100jmsx_(~jordan@li1158-85.members.linode.com)
2021-01-13 17:42:36 +0100jmsx(~jordan@li1158-85.members.linode.com) (Ping timeout: 240 seconds)
2021-01-13 17:42:43 +0100xelxebar(~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 240 seconds)
2021-01-13 17:42:45 +0100xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 240 seconds)
2021-01-13 17:43:00 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 17:43:27 +0100yorick(~yorick@oftn/oswg-member/yorick) (Ping timeout: 260 seconds)
2021-01-13 17:43:30 +0100xerox_(~xerox@unaffiliated/xerox)
2021-01-13 17:43:33 +0100borne(~fritjof@200116b864541200ebe25c0bc4714abc.dip.versatel-1u1.de) (Ping timeout: 244 seconds)
2021-01-13 17:43:57 +0100yorick(~yorick@oftn/oswg-member/yorick)
2021-01-13 17:44:18 +0100darjeeling_(~darjeelin@122.245.120.137)
2021-01-13 17:45:11 +0100 <jollygood2> @hoogle delete
2021-01-13 17:45:12 +0100 <lambdabot> Data.List delete :: Eq a => a -> [a] -> [a]
2021-01-13 17:45:12 +0100 <lambdabot> GHC.OldList delete :: Eq a => a -> [a] -> [a]
2021-01-13 17:45:12 +0100 <lambdabot> Data.IntMap.Internal delete :: Key -> IntMap a -> IntMap a
2021-01-13 17:45:27 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-01-13 17:45:34 +0100 <ski> > delete 'b' "abacabad"
2021-01-13 17:45:36 +0100 <lambdabot> "aacabad"
2021-01-13 17:45:43 +0100 <jollygood2> :i in my ghci gives me: delete :: Eq a => a -> [a] -> [a] -- Defined in `base-4.9.1.0:Data.OldList', which I can't import. wtf?
2021-01-13 17:46:09 +0100 <ski> import it from `Data.List'
2021-01-13 17:46:55 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-01-13 17:47:05 +0100 <jollygood2> that worked. why did :i give me that module?
2021-01-13 17:47:07 +0100 <ski> imho, GHCi would do better to not leak implementation details like that, without one asking for it
2021-01-13 17:47:22 +0100 <merijn> jollygood2: Because it's a re-export
2021-01-13 17:47:31 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:255c:18d1:c1a9:13be:6f9e) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-01-13 17:47:46 +0100 <ski> because it's apparently actually defined in that module .. but that's an implementation detail. you're supposed to import it from `Data.List'
2021-01-13 17:48:15 +0100 <ski> (or possibly from some other module that you're importing, that reexports it)
2021-01-13 17:48:56 +0100ArConan(9de62a69@157.230.42.105) (Quit: Connection closed)
2021-01-13 17:49:15 +0100Adam1023(3eeb8799@ip-62-235-135-153.dsl.scarlet.be)
2021-01-13 17:50:17 +0100 <Adam1023> Hey guys,
2021-01-13 17:50:18 +0100 <Adam1023> elem' :: (Eq a) => a -> [a] -> Bool
2021-01-13 17:50:18 +0100 <Adam1023> elem' _ []       = False
2021-01-13 17:50:19 +0100 <Adam1023> elem' x (x:xs) = True
2021-01-13 17:50:19 +0100 <Adam1023> elem' x (_:xs) = elem' x xs
2021-01-13 17:50:20 +0100 <Adam1023> Why is the second pattern match illegal?
2021-01-13 17:50:40 +0100 <ski> please do not paste many lines of code into the channel, Adam1023
2021-01-13 17:51:09 +0100 <Adam1023> ski: ok, sorry for that, how shall I do if my question includes multi lines?
2021-01-13 17:51:21 +0100 <merijn> @where paste
2021-01-13 17:51:21 +0100 <lambdabot> Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com
2021-01-13 17:51:22 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2021-01-13 17:51:37 +0100 <ski> (you got automatically banned on the network, three quarters of an hour ago, for doing that. that was manually reversed, but please don't trigger it again, if you can help it)
2021-01-13 17:51:50 +0100 <merijn> Adam1023: you can't reuse the 'x' variable name twice on the 2nd line
2021-01-13 17:51:59 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Client Quit)
2021-01-13 17:52:02 +0100 <Adam1023> ski: ok, thank you
2021-01-13 17:52:47 +0100 <Adam1023> merijn: even tho I want to say that both should be the same?
2021-01-13 17:52:48 +0100 <ski> Adam1023 : are you maybe familiar with logic programming, or with Erlang ?
2021-01-13 17:53:02 +0100 <ski> Adam1023 : yes. you can add a guard to say that they should be equal
2021-01-13 17:53:22 +0100 <merijn> Adam1023: Yes, you can't test for equality that way
2021-01-13 17:53:23 +0100 <ski> elem' x0 (x:xs) | x0 == x1 = True
2021-01-13 17:53:34 +0100 <merijn> ski: x1 not found :p
2021-01-13 17:53:48 +0100 <ski> er, that's what i get for changing my naming :/
2021-01-13 17:53:52 +0100 <ski> elem' x0 (x:xs) | x0 == x = True
2021-01-13 17:54:41 +0100 <Adam1023> ski: okay, nice! understood! Thank you!
2021-01-13 17:54:50 +0100 <ski> you understand the guard ?
2021-01-13 17:54:59 +0100 <Adam1023> Yes
2021-01-13 17:55:09 +0100 <Adam1023> I just thought I could pattern match this way as well
2021-01-13 17:55:10 +0100 <ski> however .. in this case, it's possible to express it more nicely, using logical operations
2021-01-13 17:55:25 +0100 <ski> (specifically, not naming `True' explicitly in the code)
2021-01-13 17:55:31 +0100geekosaur(42d52137@66.213.33.55)
2021-01-13 17:56:11 +0100 <Adam1023> ski: how so? I think I'm confused
2021-01-13 17:56:23 +0100 <ski> Adam1023 : in logic programming (Prolog,Mercury,Oz,Curry,..), and in Erlang (which inherited it from Prolog), you can write such "non-linear patterns". not in Haskell, though
2021-01-13 17:56:34 +0100conal(~conal@64.71.133.70) (Ping timeout: 260 seconds)
2021-01-13 17:56:52 +0100 <ski> Adam1023 : when is the value `x0' an element of a non-empty list `x:xs' ?
2021-01-13 17:57:00 +0100 <Adam1023> ski: yes, I have a bit of experience with Prolog, probably that's why
2021-01-13 17:57:05 +0100skinods
2021-01-13 17:57:25 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
2021-01-13 17:57:32 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds)
2021-01-13 17:57:47 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2021-01-13 17:57:57 +0100 <Adam1023> ski: when it's equal to x or you recursively check xs
2021-01-13 17:58:01 +0100 <ski> yes
2021-01-13 17:58:15 +0100 <ski> can you express this "or" more nicely, in Haskell ?
2021-01-13 17:58:39 +0100 <Adam1023> you mean with if then else? or something else?
2021-01-13 17:58:47 +0100 <ski> that would be one possibility
2021-01-13 17:59:03 +0100 <ski> if you want to, you could try and see if you could do it that way
2021-01-13 17:59:34 +0100 <Adam1023> ok, will get back to you, thank you for making my brain work to the solution, it's really fun :-D
2021-01-13 17:59:34 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-mexwpzockqddjfgo)
2021-01-13 17:59:58 +0100skinods
2021-01-13 18:02:42 +0100 <Adam1023> ski: I couldn't find how not to write True explicitly.
2021-01-13 18:02:45 +0100 <Adam1023> This is what I have
2021-01-13 18:02:48 +0100 <Adam1023> elem'' x0 (x:xs) = if x0 == x then True else elem'' x0 xs
2021-01-13 18:03:03 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2021-01-13 18:03:41 +0100 <ski> yes, that's correct
2021-01-13 18:04:01 +0100 <ski> (you obviously also need the base case, for this variant. i assume you know that)
2021-01-13 18:04:21 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se) (Ping timeout: 256 seconds)
2021-01-13 18:04:48 +0100 <ski> Adam1023 : when does `if foo then True else bar' evaluate to `True' ?
2021-01-13 18:05:34 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
2021-01-13 18:05:38 +0100 <Adam1023> ski: if foo evaluates to True
2021-01-13 18:05:52 +0100 <ski> so `bar' is irrelevant ?
2021-01-13 18:05:57 +0100phasespace(~sar@89-162-33-21.fiber.signal.no)
2021-01-13 18:06:20 +0100 <Adam1023> ow yeah, you got me. Also if bar (finally) evaluates to True.
2021-01-13 18:07:16 +0100 <ski> can you formulate "if foo evaluates to True","Also if bar (finally) evaluates to True." more succinctly ?
2021-01-13 18:10:52 +0100usr25(~J@127.red-83-46-58.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-01-13 18:11:05 +0100usr25(~J@127.red-83-46-58.dynamicip.rima-tde.net)
2021-01-13 18:13:20 +0100conal(~conal@64.71.133.70)
2021-01-13 18:15:29 +0100ADG1089__(~aditya@122.163.165.143)
2021-01-13 18:15:55 +0100tomboy64(~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection)
2021-01-13 18:16:44 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2021-01-13 18:16:45 +0100 <Adam1023> ski: didn't imagine it would be that hard to formulate a general resposne to your question
2021-01-13 18:16:47 +0100 <Adam1023> I'd say (as a beginner): "It will evaluate to True if foo or bar (which can be a variable or a function ?) has Bool as return type and it returns True"
2021-01-13 18:16:51 +0100tomboy64(~tomboy64@gateway/tor-sasl/tomboy64)
2021-01-13 18:17:04 +0100 <ski> ok
2021-01-13 18:17:58 +0100 <ski> how would you check if a number `x' is *not* within the (closed/inclusive) interval from say `3' to `7' ?
2021-01-13 18:19:24 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-01-13 18:19:30 +0100 <Adam1023> I'd make a function that checks if x is within the interval, and then inverse the True to False and make a catchall pattern at the end that returns True
2021-01-13 18:19:34 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-tpolqtzvkjihhqny) (Quit: Connection closed for inactivity)
2021-01-13 18:19:57 +0100 <ski> notInThreeToSeven x = ..x..
2021-01-13 18:20:06 +0100 <ski> could you complete that definition ?
2021-01-13 18:21:03 +0100Raito_Bezarius(~Raito@unaffiliated/raito-bezarius/x-8764578) (Ping timeout: 260 seconds)
2021-01-13 18:21:03 +0100 <Adam1023> notInThreeToSeven x = if inThreeToSeven x then False else True
2021-01-13 18:21:29 +0100 <ski> and how's `inThreeToSeven' defined ?
2021-01-13 18:21:49 +0100owenowen(~owen@2a02:8084:d6c4:5700:95ce:b1aa:169c:9dac)
2021-01-13 18:23:23 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-01-13 18:23:40 +0100 <Adam1023> where inThreeToSeven x = x `elem` [3..7]
2021-01-13 18:24:59 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 18:25:44 +0100 <ski> that doesn't work properly, if `x' is a `Double'
2021-01-13 18:25:47 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 18:25:58 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
2021-01-13 18:26:00 +0100 <ski> > 2.5 `elem` [3 .. 7]
2021-01-13 18:26:03 +0100 <lambdabot> False
2021-01-13 18:26:27 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 18:27:02 +0100 <jollygood2> is there something like this in parsec?
2021-01-13 18:27:02 +0100 <ski> > 3.5 `elem` [3 .. 7]
2021-01-13 18:27:05 +0100 <lambdabot> False
2021-01-13 18:27:05 +0100 <jollygood2> manyAtMost :: Int -> ParsecT s u m a -> ParsecT s u m [a]
2021-01-13 18:27:45 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 18:28:46 +0100ericsagnes(~ericsagne@2405:6580:0:5100:e7a9:963a:130c:3d7f) (Ping timeout: 258 seconds)
2021-01-13 18:29:51 +0100 <Adam1023> ski:
2021-01-13 18:29:51 +0100 <Adam1023> inThreeToSeven x
2021-01-13 18:29:52 +0100 <Adam1023>     | (x >= 3) && (x <= 7) = True
2021-01-13 18:29:52 +0100 <Adam1023>     | otherwise = False
2021-01-13 18:31:03 +0100 <enikar> so: inThereTOSeven x = (x >= 3) && (x <= 7)
2021-01-13 18:31:10 +0100 <enikar> :)
2021-01-13 18:31:17 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se)
2021-01-13 18:31:28 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 18:32:03 +0100 <Adam1023> enikar: okay ... now I start to get where ski wants to bring me
2021-01-13 18:32:12 +0100 <ski> Adam1023 : `(x >= 3) && (x <= 7)' already is a `Bool'ean. there's no reason to say "if it's `True', give `True' as result, otherwise give `False'"
2021-01-13 18:33:17 +0100 <Adam1023> ski: okok ! thx man. Now let's get back to the initial question, I'll try to rewrite it
2021-01-13 18:33:19 +0100conal(~conal@212.102.44.51)
2021-01-13 18:33:29 +0100 <ski> Adam1023 : now, back to `notInThreeToSeven'
2021-01-13 18:33:46 +0100 <ski> notInThreeToSeven x = if inThreeToSeven x then False else True
2021-01-13 18:33:54 +0100jdt(~jdt@208.85.233.130) (Ping timeout: 265 seconds)
2021-01-13 18:34:08 +0100 <ski> this is almost the same thing as what you did in `inThreeToSeven', except that now you're flipping `True' and `False'
2021-01-13 18:34:34 +0100 <ski> there happens to already be a standard function that does that kind of thing .. any guess what it might be called ?
2021-01-13 18:34:58 +0100 <Adam1023> notInThreeToSeven x = (x < 3) || (x > 7)
2021-01-13 18:35:12 +0100 <ski> yes, that would work
2021-01-13 18:35:18 +0100 <ski> an intermediate step would have been
2021-01-13 18:35:21 +0100jdt(~jdt@208.85.233.130)
2021-01-13 18:35:31 +0100 <ski> notInThreeToSeven x = not (x >= 3 && x <= 7)
2021-01-13 18:35:33 +0100 <ski> because
2021-01-13 18:35:38 +0100 <ski> @src not
2021-01-13 18:35:39 +0100 <lambdabot> not True = False
2021-01-13 18:35:39 +0100 <lambdabot> not False = True
2021-01-13 18:36:07 +0100 <Adam1023> ok, got it
2021-01-13 18:36:21 +0100 <Adam1023> So for the elem'' function, should I do this:
2021-01-13 18:36:35 +0100 <Adam1023> elem'' x0 (x:xs) = (x0 == x) || elem'' x0 xs
2021-01-13 18:36:36 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-01-13 18:36:40 +0100 <ski> but you can, as you realized, push the negation inwards, using a deMorgan law, replacing `&&' ("and") with `||' ("or"), and then replace the lax inequalities with the corresponding reversed strict inequalities (because we have a linear/total order)
2021-01-13 18:36:45 +0100 <ski> yes, exactly
2021-01-13 18:37:06 +0100 <ski> Adam1023 : wouldn't you agree that that defining equation reads much more nicely, than the previous two you had
2021-01-13 18:37:07 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 18:37:30 +0100 <Adam1023> ski: okkaay ... yes, definitely !
2021-01-13 18:37:47 +0100 <ski> this one directly expresses : `x0' is an element of the non-empty list `xs' iff `x0' is equal to `x' or `x0' is an element of the tail `xs'
2021-01-13 18:38:00 +0100waskell(~quassel@d172-218-41-115.bchsia.telus.net)
2021-01-13 18:38:28 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2021-01-13 18:38:34 +0100 <Adam1023> Thank you very much man!
2021-01-13 18:39:05 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-01-13 18:39:08 +0100 <ski> Adam1023 : generally, whenever you see (or want to write) `if foo then True else bar', it's probably better to write `foo || bar' instead. similarly, `if foo then bar else False' can be replaced by `foo && bar'. and, `if foo then False else True' can be replaced by `not foo'
2021-01-13 18:39:09 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 18:39:38 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds)
2021-01-13 18:39:49 +0100 <ski> (if you have the `True'/`False' in the other branch, for the first two cases, then you can simply wrap the condition `foo' with a `not')
2021-01-13 18:40:50 +0100 <ski> whenever you feel like wanting to write an explicit `True' or `False' as result value, you should consider whether you couldn't express the same behaviour in a more direct, or more readable, way
2021-01-13 18:41:11 +0100ericsagnes(~ericsagne@2405:6580:0:5100:9e0f:8d58:e93:7344)
2021-01-13 18:41:22 +0100 <ski> (similarly, don't write `foo == True' and `foo == False' .. but hopefully those are more obviously redundant)
2021-01-13 18:42:15 +0100 <ski> (there are of course valid cases of writing `True' or `False' as result value. e.g. the base case of `elem' above)
2021-01-13 18:42:23 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:cc7:8bd8:9369:c502) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-01-13 18:42:40 +0100 <ski> Adam1023 : you're welcome
2021-01-13 18:43:12 +0100 <Adam1023> Ok got it. It's definitely useful to know. Thank you again!
2021-01-13 18:43:37 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 18:43:52 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-01-13 18:44:15 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:6ccc:7c34:64f9:a54f)
2021-01-13 18:46:33 +0100elfets_(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-01-13 18:48:24 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 265 seconds)
2021-01-13 18:48:28 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 256 seconds)
2021-01-13 18:50:15 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-01-13 18:54:52 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 18:56:39 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 260 seconds)
2021-01-13 18:57:39 +0100geekosaur(42d52137@66.213.33.55) (Quit: Connection closed)
2021-01-13 18:58:25 +0100kritzefitz(~kritzefit@212.86.56.80) (Ping timeout: 264 seconds)
2021-01-13 18:58:33 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 18:58:49 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Remote host closed the connection)
2021-01-13 18:59:55 +0100landonf(landonf@mac68k.info) (Quit: ZNC - http://znc.sourceforge.net)
2021-01-13 19:00:06 +0100jespada(~jespada@90.254.245.49) (Ping timeout: 272 seconds)
2021-01-13 19:02:45 +0100jespada(~jespada@90.254.245.49)
2021-01-13 19:04:14 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 19:05:42 +0100dyeplexer(~lol@unaffiliated/terpin) (Remote host closed the connection)
2021-01-13 19:07:43 +0100Guest_15(a11623aa@161.22.35.170)
2021-01-13 19:08:02 +0100ransom(~c4264035@8.48.134.30) (Quit: Textual IRC Client: www.textualapp.com)
2021-01-13 19:08:11 +0100Ariakenom(~Ariakenom@2001:9b1:efb:fc00:f44b:edaa:7941:25b5)
2021-01-13 19:08:20 +0100landonf(landonf@mac68k.info)
2021-01-13 19:09:00 +0100Guest_15(a11623aa@161.22.35.170) ()
2021-01-13 19:09:21 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 19:10:38 +0100michalz(~user@185.246.204.71) (Ping timeout: 265 seconds)
2021-01-13 19:11:55 +0100coot_(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
2021-01-13 19:12:05 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 240 seconds)
2021-01-13 19:12:47 +0100rajivr(uid269651@gateway/web/irccloud.com/x-itvlzupsyknqkfml) (Quit: Connection closed for inactivity)
2021-01-13 19:13:55 +0100owenowen(~owen@2a02:8084:d6c4:5700:95ce:b1aa:169c:9dac) (Ping timeout: 272 seconds)
2021-01-13 19:14:03 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 256 seconds)
2021-01-13 19:15:06 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 19:15:06 +0100pfurla(~pfurla@222.15.195.173.client.static.strong-in52.as13926.net)
2021-01-13 19:16:16 +0100coot_(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 246 seconds)
2021-01-13 19:16:50 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 19:17:19 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-01-13 19:18:47 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2021-01-13 19:19:10 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection)
2021-01-13 19:19:41 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-01-13 19:20:05 +0100nineonine(~nineonine@50.216.62.2)
2021-01-13 19:22:02 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
2021-01-13 19:22:41 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
2021-01-13 19:22:43 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 265 seconds)
2021-01-13 19:23:01 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
2021-01-13 19:23:29 +0100Athas_Athas
2021-01-13 19:26:22 +0100geekosaur(42d52137@66.213.33.55)
2021-01-13 19:28:25 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 264 seconds)
2021-01-13 19:28:46 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
2021-01-13 19:29:23 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2021-01-13 19:29:58 +0100Katarushisu(~Katarushi@cpc149726-finc20-2-0-cust203.4-2.cable.virginm.net) (Ping timeout: 265 seconds)
2021-01-13 19:30:16 +0100pfurla(~pfurla@222.15.195.173.client.static.strong-in52.as13926.net) (Ping timeout: 240 seconds)
2021-01-13 19:31:30 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
2021-01-13 19:33:04 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-01-13 19:33:40 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se) (Ping timeout: 272 seconds)
2021-01-13 19:33:53 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2021-01-13 19:34:14 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-01-13 19:34:52 +0100poljar(~poljar@93.139.40.93)
2021-01-13 19:35:13 +0100coot_(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
2021-01-13 19:35:35 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 19:37:16 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 19:37:42 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
2021-01-13 19:37:49 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 19:38:01 +0100poljar1(~poljar@93-143-188-151.adsl.net.t-com.hr) (Ping timeout: 264 seconds)
2021-01-13 19:38:58 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 256 seconds)
2021-01-13 19:39:25 +0100coot_(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 240 seconds)
2021-01-13 19:39:25 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-01-13 19:39:28 +0100knupfer(~Thunderbi@200116b82c665300c888b3fffeb9f9f2.dip.versatel-1u1.de)
2021-01-13 19:39:30 +0100knupfer(~Thunderbi@200116b82c665300c888b3fffeb9f9f2.dip.versatel-1u1.de) (Client Quit)
2021-01-13 19:39:44 +0100knupfer(~Thunderbi@mue-88-130-61-014.dsl.tropolys.de)
2021-01-13 19:40:26 +0100mmmattyx(uid17782@gateway/web/irccloud.com/x-ciescmgqxkvytapq) (Quit: Connection closed for inactivity)
2021-01-13 19:40:30 +0100Raito_Bezarius(~Raito@unaffiliated/raito-bezarius/x-8764578)
2021-01-13 19:41:04 +0100Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com)
2021-01-13 19:41:38 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
2021-01-13 19:41:49 +0100dandart(~Thunderbi@home.dandart.co.uk)
2021-01-13 19:44:10 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
2021-01-13 19:45:41 +0100dandart(~Thunderbi@home.dandart.co.uk) (Client Quit)
2021-01-13 19:47:13 +0100dandart(~Thunderbi@home.dandart.co.uk)
2021-01-13 19:47:24 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds)
2021-01-13 19:47:25 +0100jneira(5127ac9c@gateway/web/cgi-irc/kiwiirc.com/ip.81.39.172.156) (Ping timeout: 246 seconds)
2021-01-13 19:49:09 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 260 seconds)
2021-01-13 19:49:48 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 19:50:03 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
2021-01-13 19:50:23 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 19:50:49 +0100oatsHornswaggler_Man
2021-01-13 19:51:11 +0100Katarushisu(~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net)
2021-01-13 19:51:24 +0100ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-01-13 19:51:47 +0100Hornswaggler_ManHornswagglerMang
2021-01-13 19:52:24 +0100ukari(~ukari@unaffiliated/ukari)
2021-01-13 19:52:33 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-01-13 19:53:12 +0100Tario(~Tario@201.192.165.173)
2021-01-13 19:53:27 +0100ADG1089__(~aditya@122.163.165.143) (Remote host closed the connection)
2021-01-13 19:54:04 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 19:55:11 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 19:55:27 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-01-13 19:55:43 +0100 <koz_> Is there such a thing as a free Category? Or for that matter, a free Profunctor?
2021-01-13 19:56:08 +0100 <dolio> Yes.
2021-01-13 19:56:41 +0100 <koz_> How are they defined?
2021-01-13 19:57:27 +0100 <dolio> Via left adjoint to something that forgets some aspect.
2021-01-13 19:57:47 +0100 <koz_> I meant it more in the sense of 'what would such a thing look like as a Haskell data type'.
2021-01-13 19:58:29 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 260 seconds)
2021-01-13 19:58:56 +0100 <dolio> Well, it's currently underspecified. Free category on what sort of structure?
2021-01-13 20:00:09 +0100 <dolio> The free category on a digraph, for instance, has nodes as objects, and paths as arrows.
2021-01-13 20:00:11 +0100 <koz_> I guess I'm looking for an analog to the free Monad, which turns basically anything (well, Functor anything) of kind Type -> Type into a Monad.
2021-01-13 20:00:31 +0100 <koz_> Which I guess means that a free Category turns things of kind Type -> Type -> Type into a Category.
2021-01-13 20:00:40 +0100 <koz_> (same with free Profunctor)
2021-01-13 20:02:01 +0100 <dolio> Oh, you mean the classes.
2021-01-13 20:02:10 +0100 <dolio> Well, profunctor is easy.
2021-01-13 20:02:41 +0100 <koz_> Yes, I did - I capitalized for this exact reason.
2021-01-13 20:02:41 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
2021-01-13 20:02:41 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: jsdkjdk)
2021-01-13 20:02:52 +0100kuribas(~user@ptr-25vy0i8j9gwx27i4uzv.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-01-13 20:02:55 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-01-13 20:03:15 +0100 <dolio> data Free r x y = forall i o. FP (x -> i) (r i o) (o -> y)
2021-01-13 20:03:18 +0100 <dolio> I think that should do it.
2021-01-13 20:03:23 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-01-13 20:03:29 +0100berberman_(~berberman@unaffiliated/berberman)
2021-01-13 20:04:05 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2021-01-13 20:04:13 +0100 <koz_> Oh yeah, I see how that would work.
2021-01-13 20:04:41 +0100 <koz_> So 'lifting' into it would just be 'lift foo = FP id foo id'
2021-01-13 20:04:46 +0100 <koz_> And dimap follows naturally.
2021-01-13 20:04:47 +0100berberman_(~berberman@unaffiliated/berberman) (Max SendQ exceeded)
2021-01-13 20:04:53 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
2021-01-13 20:04:57 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net)
2021-01-13 20:05:11 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-01-13 20:05:18 +0100berberman(~berberman@unaffiliated/berberman)
2021-01-13 20:05:33 +0100 <dolio> To make a Category, you need to instead create a type of sequences of `r i o` that match up to adjacent values in the 'obvious' way.
2021-01-13 20:06:11 +0100jollygood2(~bc8177f5@217.29.117.252) (Quit: http://www.okay.uz/ (Ping timeout))
2021-01-13 20:06:18 +0100 <dolio> The empty sequence is the identity, and catenating sequences is composition.
2021-01-13 20:06:21 +0100conal_(~conal@66.115.157.52)
2021-01-13 20:06:25 +0100conal(~conal@212.102.44.51) (Ping timeout: 240 seconds)
2021-01-13 20:06:37 +0100berberman(~berberman@unaffiliated/berberman) (Max SendQ exceeded)
2021-01-13 20:06:37 +0100 <koz_> So it's a special kind of heterogenous list?
2021-01-13 20:07:13 +0100 <dolio> The only possible technical detail is whether an actual list data type would really be free in Haskell, due to lazy evaluation.
2021-01-13 20:07:13 +0100berberman(~berberman@unaffiliated/berberman)
2021-01-13 20:07:20 +0100tzh(~xax@c-24-21-73-154.hsd1.wa.comcast.net)
2021-01-13 20:07:35 +0100 <dolio> Similar to lists not technically being the free monoid.
2021-01-13 20:07:41 +0100 <koz_> You could use the same trick I saw someone write in the Comonad Reader (I think) to get around this exact problem for free monoids, right?
2021-01-13 20:07:49 +0100xsperry(~as@unaffiliated/xsperry) (Ping timeout: 260 seconds)
2021-01-13 20:07:57 +0100 <dolio> Yeah.
2021-01-13 20:08:25 +0100berberman(~berberman@unaffiliated/berberman) (Max SendQ exceeded)
2021-01-13 20:08:29 +0100 <dolio> But regardless, that's the general idea, at least.
2021-01-13 20:08:37 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 264 seconds)
2021-01-13 20:08:43 +0100 <koz_> OK, thanks, that makes a lot of sense.
2021-01-13 20:08:48 +0100berberman(~berberman@unaffiliated/berberman)
2021-01-13 20:09:20 +0100 <koz_> Thinking about it, free Profunctor is the co-and-contra Yonedas glued together, while the free Category is basically a free Monoid, but with extra rules.
2021-01-13 20:09:43 +0100 <dolio> Right.
2021-01-13 20:12:11 +0100owenowen(~owen@2a02:8084:d6c4:5700:95ce:b1aa:169c:9dac)
2021-01-13 20:12:39 +0100 <dolio> Oh, also, the profunctor thing is actually co-yoneda. Doing Yoneda (with a forall instead of exists) would get you the cofree profunctor.
2021-01-13 20:13:37 +0100xsperry(~as@unaffiliated/xsperry)
2021-01-13 20:14:24 +0100 <dolio> Free profunctor has an inclusion `r i o -> Free r i o` and cofree has a projection `Cofree r i o -> r i o` without constraining r.
2021-01-13 20:14:50 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
2021-01-13 20:15:05 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-01-13 20:15:07 +0100vicfred(~vicfred@unaffiliated/vicfred)
2021-01-13 20:15:11 +0100Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 256 seconds)
2021-01-13 20:15:36 +0100cfricke(~cfricke@unaffiliated/cfricke)
2021-01-13 20:16:02 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
2021-01-13 20:16:42 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
2021-01-13 20:16:51 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl)
2021-01-13 20:21:56 +0100coot(~coot@37.30.56.46.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 240 seconds)
2021-01-13 20:24:01 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net)
2021-01-13 20:25:38 +0100mmmattyx(uid17782@gateway/web/irccloud.com/x-xamyedegeiljgbot)
2021-01-13 20:25:52 +0100Adam1023(3eeb8799@ip-62-235-135-153.dsl.scarlet.be) (Quit: Connection closed)
2021-01-13 20:25:57 +0100borne(~fritjof@200116b864541200ebe25c0bc4714abc.dip.versatel-1u1.de)
2021-01-13 20:26:07 +0100owenowen(~owen@2a02:8084:d6c4:5700:95ce:b1aa:169c:9dac) (Ping timeout: 272 seconds)
2021-01-13 20:27:04 +0100jneira(501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64)
2021-01-13 20:27:49 +0100 <fresheyeball> is there a way to run a wai Application in a monad other than IO?
2021-01-13 20:28:21 +0100 <merijn> fresheyeball: You can run it in basically anything that has a function "X a -> IO a"? :p
2021-01-13 20:28:47 +0100 <merijn> Actually, you can use anything that has a function "X -> IO a" the parameterisation of X isn't required
2021-01-13 20:28:54 +0100 <fresheyeball> right, which doesn't work for custom monads based on ReaderT
2021-01-13 20:29:09 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0)
2021-01-13 20:30:03 +0100conal_(~conal@66.115.157.52) (Quit: Computer has gone to sleep.)
2021-01-13 20:31:02 +0100 <merijn> Sure it does
2021-01-13 20:31:21 +0100 <merijn> "\x -> runReaderT x readerArg"
2021-01-13 20:31:23 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0)
2021-01-13 20:31:39 +0100 <ski> koz_ : you need to specify both the source and the target, for "free". e.g. free abelian group on a group is different from free abelian group on a set (e.g. the set of elements of the group)
2021-01-13 20:32:04 +0100HornswagglerMangoats
2021-01-13 20:32:06 +0100 <fresheyeball> merijn: I can construct such a function with `x` you are right
2021-01-13 20:32:23 +0100 <fresheyeball> but that doesn't work for this use-case, all these function end with `m Y`
2021-01-13 20:32:27 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 20:32:44 +0100 <fresheyeball> I would have to unReaderTify the whole app
2021-01-13 20:32:49 +0100 <fresheyeball> and pass around the context explictly
2021-01-13 20:32:49 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 20:32:52 +0100 <merijn> fresheyeball: I mean, where is the reader argument supposed to come from when WAI "magically" runs your monad stack
2021-01-13 20:33:13 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2021-01-13 20:33:19 +0100 <fresheyeball> ultimately, there is a usage of runReaderT in this app
2021-01-13 20:33:51 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 20:34:04 +0100 <fresheyeball> right now there are servant routes like this
2021-01-13 20:34:23 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 20:34:26 +0100 <fresheyeball> type Foo = "foo" :> Capture "id" Int :> Get '[JSON] User
2021-01-13 20:34:35 +0100 <fresheyeball> and they have handlers like this
2021-01-13 20:34:48 +0100 <fresheyeball> fooHandler :: MuchMonad m => Int -> m User
2021-01-13 20:34:58 +0100 <fresheyeball> but need to change the route to this
2021-01-13 20:35:11 +0100 <fresheyeball> type Foo = "foo" :> Capture "id" Int :> Raw
2021-01-13 20:35:19 +0100 <fresheyeball> which means the handler needs to become like this
2021-01-13 20:35:31 +0100 <fresheyeball> fooHandler :: MuchMonad m => Int -> Tagged m Application
2021-01-13 20:35:46 +0100 <fresheyeball> conversion so far has killed hours of my time, and I still don't see how to do it
2021-01-13 20:35:57 +0100 <opqdonut> https://docs.servant.dev/en/stable/cookbook/using-custom-monad/UsingCustomMonad.html mentions "To use Raw endpoints, look at the servant-rawm package.
2021-01-13 20:36:12 +0100 <fresheyeball> oh interesting
2021-01-13 20:36:46 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 20:36:53 +0100 <opqdonut> the docs start with a ReaderT example
2021-01-13 20:36:54 +0100 <opqdonut> https://hackage.haskell.org/package/servant-rawm-1.0.0.0/docs/Servant-RawM.html
2021-01-13 20:37:43 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 20:38:23 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 20:39:05 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2021-01-13 20:40:38 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2021-01-13 20:41:30 +0100ADG1089__(~aditya@122.163.165.143)
2021-01-13 20:41:41 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 20:42:25 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-hjezqzmmydacwjuo)
2021-01-13 20:42:33 +0100 <fresheyeball> opqdonut:++
2021-01-13 20:42:42 +0100 <fresheyeball> I think RawM will just work for this
2021-01-13 20:44:29 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 20:44:57 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 20:45:24 +0100conal(~conal@66.115.157.64)
2021-01-13 20:45:57 +0100owenowen(~owen@2a02:8084:d6c4:5700:95ce:b1aa:169c:9dac)
2021-01-13 20:46:33 +0100 <koz_> dolio: Wait, what would a _cofree_ Profunctor be?
2021-01-13 20:47:45 +0100geekosaur(42d52137@66.213.33.55) (Ping timeout: 248 seconds)
2021-01-13 20:48:06 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 20:48:48 +0100royal_screwup21(d5cdc6f8@gateway/web/cgi-irc/kiwiirc.com/ip.213.205.198.248)
2021-01-13 20:49:25 +0100darjeeling_(~darjeelin@122.245.120.137) (Ping timeout: 240 seconds)
2021-01-13 20:50:02 +0100royal_screwup21(d5cdc6f8@gateway/web/cgi-irc/kiwiirc.com/ip.213.205.198.248) (Client Quit)
2021-01-13 20:50:20 +0100royal_screwup21(d5cdc6f8@gateway/web/cgi-irc/kiwiirc.com/ip.213.205.198.248)
2021-01-13 20:52:07 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 20:52:10 +0100 <ski> koz_ : `data Cofree r x y = CP (forall i o. (i -> x) -> (y -> o) -> r i o)'
2021-01-13 20:52:24 +0100 <ski> (or, i suppose, s/data/newtype/)
2021-01-13 20:52:51 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 20:53:28 +0100acidjnk_new(~acidjnk@p200300d0c704e719e000e87c75b65c92.dip0.t-ipconnect.de)
2021-01-13 20:53:36 +0100 <koz_> ski: Ah, interesting.
2021-01-13 20:53:49 +0100 <ski> exercise, write `include :: r i o -> Free r i o' and `project :: Cofree r i o -> r i o', and the `dimap' implementations for both types
2021-01-13 20:53:57 +0100Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt)
2021-01-13 20:54:20 +0100matt26(6b9e9b23@107.158.155.35)
2021-01-13 20:55:37 +0100matt26(6b9e9b23@107.158.155.35) (Client Quit)
2021-01-13 20:56:05 +0100 <koz_> ski: Wouldn't 'include' be named 'lift'?
2021-01-13 20:56:17 +0100 <koz_> (and 'project' be named 'retract'?)
2021-01-13 20:56:44 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-01-13 20:57:20 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 20:57:37 +0100 <ski> i just went with the descriptions dolio used
2021-01-13 20:57:44 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 20:58:26 +0100dmwit(~dmwit@pool-108-18-106-204.washdc.fios.verizon.net) (Quit: IT support calls lol)
2021-01-13 20:58:31 +0100owenowen(~owen@2a02:8084:d6c4:5700:95ce:b1aa:169c:9dac) (Quit: Leaving.)
2021-01-13 20:59:53 +0100 <ski> anyway, compare with `Coyoneda f b = exists a. (a -> b) * f a' vs. `Yoneda f a = forall b. (a -> b) -> f b'
2021-01-13 21:02:42 +0100 <hyperisco> ski, what sort of f's are used with Yoneda?
2021-01-13 21:03:51 +0100 <koz_> hyperisco: Anything of kind Type -> Type.
2021-01-13 21:04:06 +0100 <hyperisco> there are no particular constraints of interest?
2021-01-13 21:04:25 +0100Franciman(~francesco@host-82-48-174-127.retail.telecomitalia.it) (Ping timeout: 264 seconds)
2021-01-13 21:04:43 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
2021-01-13 21:05:09 +0100darjeeling_(~darjeelin@122.245.120.137)
2021-01-13 21:05:52 +0100 <hyperisco> to construct a Yoneda f a I need an a and I need to be able to stick something in an f
2021-01-13 21:06:04 +0100 <hyperisco> just wondering what the utility is
2021-01-13 21:08:09 +0100vicfred(~vicfred@unaffiliated/vicfred) (Read error: Connection reset by peer)
2021-01-13 21:08:11 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-01-13 21:08:34 +0100geekosaur(42d52137@66.213.33.55)
2021-01-13 21:09:13 +0100 <ski> to make a functor of a type function
2021-01-13 21:09:22 +0100 <jumper149> If I have a thread running readChan on an empty Chan it waits until there is a next value, right?
2021-01-13 21:09:23 +0100 <ski> (both `Yoneda' and `Coyoneda' do that)
2021-01-13 21:09:27 +0100Kaivo(~Kaivo@104-200-86-99.mc.derytele.com)
2021-01-13 21:09:46 +0100 <jumper149> If I then kill that thread before it reads a next value, will that next value still be consumed?
2021-01-13 21:10:15 +0100 <ski> and, in case `f' is already a functor, what it does is it fuses calls to `fmap' together, so that you're only traversing the `f'-structure once
2021-01-13 21:10:16 +0100 <koz_> hyperisco: It lets you turn anything into a Functor.
2021-01-13 21:10:22 +0100 <koz_> And also that, yes.
2021-01-13 21:10:41 +0100 <dolio> jumper149: I think the kill exception will interrupt the read.
2021-01-13 21:10:59 +0100 <hyperisco> I see
2021-01-13 21:12:05 +0100 <merijn> jumper149: Async exception will interrupt blocking on MVars (and thus Chan), yes
2021-01-13 21:12:06 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ->)
2021-01-13 21:12:21 +0100 <jumper149> merijn: perfect :)
2021-01-13 21:12:23 +0100 <merijn> In fact, async exceptions will even interrupt blocking on MVars while masked
2021-01-13 21:12:27 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-01-13 21:13:12 +0100royal_screwup21(d5cdc6f8@gateway/web/cgi-irc/kiwiirc.com/ip.213.205.198.248) (Quit: Connection closed)
2021-01-13 21:13:29 +0100royal_screwup21(d5cdc6f8@gateway/web/cgi-irc/kiwiirc.com/ip.213.205.198.248)
2021-01-13 21:16:08 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-01-13 21:16:33 +0100tito_04(~taurux@net-188-216-43-78.cust.vodafonedsl.it)
2021-01-13 21:16:35 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-01-13 21:17:01 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2021-01-13 21:17:23 +0100 <koz_> :t foldr
2021-01-13 21:17:24 +0100 <lambdabot> Foldable t => (a -> b -> b) -> b -> t a -> b
2021-01-13 21:17:37 +0100taurux(~taurux@net-188-216-43-78.cust.vodafonedsl.it) (Ping timeout: 264 seconds)
2021-01-13 21:18:31 +0100geekosaur(42d52137@66.213.33.55) (Quit: Connection closed)
2021-01-13 21:19:14 +0100geekosaur(42d52137@66.213.33.55)
2021-01-13 21:19:37 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
2021-01-13 21:20:10 +0100usr25(~J@127.red-83-46-58.dynamicip.rima-tde.net) (Ping timeout: 246 seconds)
2021-01-13 21:23:13 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:6ccc:7c34:64f9:a54f) (Read error: Connection reset by peer)
2021-01-13 21:23:42 +0100thc202(~thc202@unaffiliated/thc202) (Quit: thc202)
2021-01-13 21:26:28 +0100Franciman(~francesco@host-82-48-174-127.retail.telecomitalia.it)
2021-01-13 21:27:28 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Read error: Connection reset by peer)
2021-01-13 21:27:34 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2021-01-13 21:28:36 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:6ccc:7c34:64f9:a54f)
2021-01-13 21:30:35 +0100stree(~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception)
2021-01-13 21:30:55 +0100stree(~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net)
2021-01-13 21:31:58 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-01-13 21:32:35 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 21:33:34 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2021-01-13 21:34:03 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2021-01-13 21:36:25 +0100knupfer(~Thunderbi@mue-88-130-61-014.dsl.tropolys.de) (Ping timeout: 240 seconds)
2021-01-13 21:36:55 +0100conal(~conal@66.115.157.64) (Quit: Computer has gone to sleep.)
2021-01-13 21:37:26 +0100conal(~conal@66.115.157.64)
2021-01-13 21:37:35 +0100conal(~conal@66.115.157.64) (Client Quit)
2021-01-13 21:39:42 +0100conal(~conal@66.115.157.64)
2021-01-13 21:39:46 +0100conal(~conal@66.115.157.64) (Client Quit)
2021-01-13 21:40:20 +0100conal(~conal@66.115.157.64)
2021-01-13 21:40:30 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-01-13 21:40:53 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net)
2021-01-13 21:42:10 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-mgixrozgwxipkcfn)
2021-01-13 21:44:09 +0100usr25(~J@203.red-79-159-208.dynamicip.rima-tde.net)
2021-01-13 21:45:01 +0100conal(~conal@66.115.157.64) (Ping timeout: 246 seconds)
2021-01-13 21:45:33 +0100Deide(~Deide@217.155.19.23)
2021-01-13 21:47:30 +0100denisse_(~spaceCat@gateway/tor-sasl/alephzer0)
2021-01-13 21:47:57 +0100ruapho(~ruapho___@ip-176-199-104-21.hsi06.unitymediagroup.de)
2021-01-13 21:48:18 +0100ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-01-13 21:49:02 +0100ukari(~ukari@unaffiliated/ukari)
2021-01-13 21:49:03 +0100denisse(~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 240 seconds)
2021-01-13 21:49:28 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
2021-01-13 21:53:40 +0100mtae(uid179115@gateway/web/irccloud.com/x-yrhfyomnuczddnfb)
2021-01-13 21:53:53 +0100mouseghost(~draco@wikipedia/desperek) (Quit: mew wew)
2021-01-13 21:57:02 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-01-13 22:04:01 +0100knupfer(~Thunderbi@200116b82c665300103922fffe5f0231.dip.versatel-1u1.de)
2021-01-13 22:06:24 +0100royal_screwup21(d5cdc6f8@gateway/web/cgi-irc/kiwiirc.com/ip.213.205.198.248) (Quit: Connection closed)
2021-01-13 22:06:26 +0100knupfer(~Thunderbi@200116b82c665300103922fffe5f0231.dip.versatel-1u1.de) (Remote host closed the connection)
2021-01-13 22:06:36 +0100knupfer(~Thunderbi@200116b82c66530045b41e29d13e0431.dip.versatel-1u1.de)
2021-01-13 22:07:23 +0100denisse_(~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 240 seconds)
2021-01-13 22:08:04 +0100denisse(~spaceCat@gateway/tor-sasl/alephzer0)
2021-01-13 22:12:26 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2021-01-13 22:18:27 +0100son0p(~son0p@181.136.122.143)
2021-01-13 22:19:25 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2021-01-13 22:19:42 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-01-13 22:20:25 +0100 <maralorn> I have "jsaddle-dom" in my cabal build-depends. But I get: Could not load module ‘GHCJS.DOM.Storage’ It is a member of the hidden package ‘jsaddle-dom-0.9.4.1’. Perhaps you need to add ‘jsaddle-dom’ to the build-depends in your .cabal file.
2021-01-13 22:20:30 +0100 <maralorn> Can anyone gues how that can happen? I am really confused.
2021-01-13 22:20:43 +0100denisse(~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 240 seconds)
2021-01-13 22:21:27 +0100 <Uniaika> utterly bizarre
2021-01-13 22:21:40 +0100etothepiiminus1_(uid140653@gateway/web/irccloud.com/x-ypdfugpfcgnjxlri)
2021-01-13 22:22:02 +0100 <geekosaur> wrong jsaddle-dom version for that module to exist?
2021-01-13 22:22:23 +0100 <koz_> Yeah, did you specify bounds in build-depends?
2021-01-13 22:22:47 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-01-13 22:23:05 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
2021-01-13 22:23:31 +0100mmfood(~mmfood@45.91.21.42)
2021-01-13 22:24:20 +0100denisse(~spaceCat@gateway/tor-sasl/alephzer0)
2021-01-13 22:28:58 +0100 <maralorn> Yeah, I guess it has something to do with that.
2021-01-13 22:29:10 +0100Etothepiiminus1(~Etothepii@216.15.13.199)
2021-01-13 22:30:40 +0100 <b4er> Is there something that extends Functor/Foldable from n-ary case to more type variables?
2021-01-13 22:31:12 +0100 <b4er> There's bifunctor but it is also constant in the #typevariables.
2021-01-13 22:31:46 +0100 <merijn> b4er: not in haskell
2021-01-13 22:32:03 +0100 <b4er> Yeah, I meant in Haskell ^^
2021-01-13 22:32:16 +0100jneira(501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64) (Ping timeout: 240 seconds)
2021-01-13 22:32:32 +0100philopsos(~caecilius@45.133.192.84)
2021-01-13 22:34:34 +0100Etothepiiminus1(~Etothepii@216.15.13.199) (Remote host closed the connection)
2021-01-13 22:34:35 +0100etothepiiminus1_etothepiiminus1
2021-01-13 22:36:35 +0100ericsagnes(~ericsagne@2405:6580:0:5100:9e0f:8d58:e93:7344) (Ping timeout: 272 seconds)
2021-01-13 22:40:39 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-01-13 22:40:48 +0100 <b4er> What n-ary functors did come to your mind btw.?
2021-01-13 22:40:56 +0100mirrorbird(~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27) (Remote host closed the connection)
2021-01-13 22:41:16 +0100mirrorbird(~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27)
2021-01-13 22:43:29 +0100ruapho(~ruapho___@ip-176-199-104-21.hsi06.unitymediagroup.de) (Remote host closed the connection)
2021-01-13 22:43:30 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2021-01-13 22:44:06 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-01-13 22:46:05 +0100mirrorbird(~psutcliff@2a00:801:446:b70b:607:9995:9930:4d27) (Ping timeout: 272 seconds)
2021-01-13 22:48:28 +0100ericsagnes(~ericsagne@2405:6580:0:5100:6ec1:4cfc:2443:dfd5)
2021-01-13 22:49:43 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 22:49:46 +0100geekosaur(42d52137@66.213.33.55) (Quit: Connection closed)
2021-01-13 22:51:13 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 22:52:36 +0100 <Boarders> does anyone know if it is possible to pass an argument to gauge to get it to only run one group in a benchmark?
2021-01-13 22:53:38 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
2021-01-13 22:53:54 +0100EncodePanda(b9eeefcd@185.238.239.205)
2021-01-13 22:54:50 +0100EncodePanda(b9eeefcd@185.238.239.205) (Client Quit)
2021-01-13 22:55:51 +0100EncodePanda(~user@185.238.239.205)
2021-01-13 22:57:28 +0100darjeeling_(~darjeelin@122.245.120.137) (Ping timeout: 246 seconds)
2021-01-13 22:57:38 +0100hidedagger(~nate@unaffiliated/hidedagger)
2021-01-13 22:58:10 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 22:58:14 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
2021-01-13 22:58:34 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred)
2021-01-13 22:58:47 +0100hidedagger(~nate@unaffiliated/hidedagger) (Client Quit)
2021-01-13 22:59:42 +0100DataComputist(~lumeng@50.43.26.251)
2021-01-13 23:00:03 +0100matryoshka(~matryoshk@184.75.223.227)
2021-01-13 23:00:18 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 23:00:36 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-01-13 23:00:37 +0100conal(~conal@209.58.128.97)
2021-01-13 23:01:19 +0100 <pja> maralorn: Sometimes cabal gets in a weird state & I have to start adding -package arguments to ghc (if invoking it directly) for no obvious reason.
2021-01-13 23:01:33 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 23:01:53 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 23:02:23 +0100testelo(b9eeefcd@185.238.239.205)
2021-01-13 23:02:42 +0100testelo(b9eeefcd@185.238.239.205) (Client Quit)
2021-01-13 23:03:25 +0100motherfsck(~motherfsc@unaffiliated/motherfsck)
2021-01-13 23:04:26 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 23:04:41 +0100Tops2(~Tobias@dyndsl-095-033-093-084.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2021-01-13 23:05:29 +0100Rudd0(~Rudd0@185.189.115.108)
2021-01-13 23:05:34 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Quit: mputz)
2021-01-13 23:06:13 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-01-13 23:06:52 +0100urodna_(~urodna@unaffiliated/urodna)
2021-01-13 23:06:52 +0100mmfood_1(~mmfood@45.91.21.42)
2021-01-13 23:06:55 +0100mmfood(~mmfood@45.91.21.42) (Ping timeout: 246 seconds)
2021-01-13 23:09:00 +0100urodna(~urodna@unaffiliated/urodna) (Ping timeout: 272 seconds)
2021-01-13 23:09:32 +0100usr25(~J@203.red-79-159-208.dynamicip.rima-tde.net) (Quit: Bye)
2021-01-13 23:09:44 +0100 <ephemient> Boarders: it should just work to list the group names on the command line; the default match type is prefix
2021-01-13 23:09:49 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 23:10:02 +0100 <ephemient> may need to quote them to get through shell
2021-01-13 23:10:22 +0100 <Boarders> @ephemient: could you give me an example of that? if I run cabal run bench -- -- [benchmark-name]
2021-01-13 23:10:22 +0100 <lambdabot> Unknown command, try @list
2021-01-13 23:10:24 +0100 <Boarders> is that correct?
2021-01-13 23:10:49 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 3.0)
2021-01-13 23:11:06 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-01-13 23:11:43 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-01-13 23:12:08 +0100 <ephemient> I believe cabal bench --benchmark-options='"group name/"' should just work
2021-01-13 23:12:08 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-01-13 23:12:14 +0100philopsos(~caecilius@45.133.192.84) (Quit: leaving)
2021-01-13 23:12:21 +0100 <maralorn> I think the problem I had was that those Modules actually weren‘t in that module …
2021-01-13 23:12:36 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2021-01-13 23:14:20 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2021-01-13 23:14:33 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-01-13 23:15:46 +0100matryoshka(~matryoshk@184.75.223.227) (Quit: ZNC 1.8.2 - https://znc.in)
2021-01-13 23:16:04 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2021-01-13 23:17:24 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-01-13 23:18:00 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 23:18:28 +0100alx741(~alx741@186.178.110.185) (Ping timeout: 246 seconds)
2021-01-13 23:18:34 +0100darjeeling_(~darjeelin@122.245.120.137)
2021-01-13 23:18:38 +0100borne(~fritjof@200116b864541200ebe25c0bc4714abc.dip.versatel-1u1.de) (Ping timeout: 264 seconds)
2021-01-13 23:18:41 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 23:18:42 +0100mananamenos_(~mananamen@84.122.202.215.dyn.user.ono.com)
2021-01-13 23:18:55 +0100p-core(~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56)
2021-01-13 23:22:05 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-hjezqzmmydacwjuo) (Quit: Connection closed for inactivity)
2021-01-13 23:22:19 +0100mananamenos(~mananamen@vpn236-53.vpns.upv.es) (Ping timeout: 246 seconds)
2021-01-13 23:22:46 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-01-13 23:23:04 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-134.w86-212.abo.wanadoo.fr)
2021-01-13 23:23:20 +0100mananamenos_(~mananamen@84.122.202.215.dyn.user.ono.com) (Client Quit)
2021-01-13 23:23:26 +0100acidjnk_new(~acidjnk@p200300d0c704e719e000e87c75b65c92.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2021-01-13 23:24:12 +0100xelxebar(~xelxebar@gateway/tor-sasl/xelxebar)
2021-01-13 23:24:43 +0100xelxebar_(~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 240 seconds)
2021-01-13 23:28:38 +0100EncodePanda(~user@185.238.239.205) (Ping timeout: 272 seconds)
2021-01-13 23:29:09 +0100noob_on_rails(~kvirc@ppp-2-86-127-175.home.otenet.gr) (Ping timeout: 272 seconds)
2021-01-13 23:29:31 +0100 <Boarders> I'll try that, thanks ephemient!
2021-01-13 23:31:16 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-01-13 23:31:29 +0100alx741(~alx741@186.178.110.154)
2021-01-13 23:33:35 +0100Franciman(~francesco@host-82-48-174-127.retail.telecomitalia.it) (Quit: Leaving)
2021-01-13 23:34:17 +0100knupfer(~Thunderbi@200116b82c66530045b41e29d13e0431.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2021-01-13 23:35:41 +0100borne(~fritjof@200116b864541200ebe25c0bc4714abc.dip.versatel-1u1.de)
2021-01-13 23:36:52 +0100darjeeling_(~darjeelin@122.245.120.137) (Ping timeout: 272 seconds)
2021-01-13 23:38:51 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
2021-01-13 23:40:25 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead) (Remote host closed the connection)
2021-01-13 23:40:46 +0100niekvandepas(~niekvande@84.241.193.190)
2021-01-13 23:41:56 +0100_d0t(void@gateway/vpn/mullvad/d0t/x-89419360) (Ping timeout: 240 seconds)
2021-01-13 23:42:58 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-01-13 23:43:49 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2021-01-13 23:44:11 +0100fendor(~fendor@178.115.130.196.wireless.dyn.drei.com) (Remote host closed the connection)
2021-01-13 23:44:43 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-01-13 23:46:37 +0100conal(~conal@209.58.128.97) (Quit: Computer has gone to sleep.)
2021-01-13 23:46:50 +0100 <Boarders> @ephemient: I had multiple benchmarks so I was using cabal run but this worked: cabal run bench -- "[bench-name]"
2021-01-13 23:46:51 +0100 <lambdabot> Unknown command, try @list
2021-01-13 23:48:15 +0100niekvandepas(~niekvande@84.241.193.190) (Remote host closed the connection)
2021-01-13 23:48:43 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 23:49:10 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-01-13 23:49:32 +0100Ariakenom(~Ariakenom@2001:9b1:efb:fc00:f44b:edaa:7941:25b5) (Quit: Leaving)
2021-01-13 23:50:00 +0100ADG1089__(~aditya@122.163.165.143) (Remote host closed the connection)
2021-01-13 23:50:03 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2021-01-13 23:50:50 +0100darjeeling_(~darjeelin@122.245.120.137)
2021-01-13 23:52:26 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 23:52:50 +0100mmfood_2(~mmfood@45.91.21.42)
2021-01-13 23:53:07 +0100mmfood_1(~mmfood@45.91.21.42) (Ping timeout: 246 seconds)
2021-01-13 23:54:21 +0100niekvandepas(~niekvande@84.241.193.190)
2021-01-13 23:54:25 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-01-13 23:56:37 +0100pera(~pera@unaffiliated/pera) (Ping timeout: 264 seconds)
2021-01-13 23:58:25 +0100DavidEichmann(~david@234.109.45.217.dyn.plus.net) (Ping timeout: 240 seconds)
2021-01-13 23:58:57 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2021-01-13 23:59:08 +0100heatsink(~heatsink@2600:1700:bef1:5e10:45f3:1cb8:c634:bead)
2021-01-13 23:59:37 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)