2020/10/02

2020-10-02 00:02:26 +0200 <hololeap> now if there is code that i never want to use, it no longer has to stay unwritten
2020-10-02 00:04:40 +0200Amras(~Amras@unaffiliated/amras0000)
2020-10-02 00:04:48 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-02 00:05:23 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-02 00:05:49 +0200danvet_(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2020-10-02 00:06:00 +0200urdh(~urdh@unaffiliated/urdh) (Ping timeout: 256 seconds)
2020-10-02 00:06:05 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-02 00:06:47 +0200madjestic(~madjestic@86.88.72.244) (Ping timeout: 240 seconds)
2020-10-02 00:08:29 +0200urdh(~urdh@unaffiliated/urdh)
2020-10-02 00:08:47 +0200st8less(~st8less@2603:a060:11fd:0:6883:ccc4:e325:916a)
2020-10-02 00:10:59 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2020-10-02 00:11:01 +0200voyons_calisse(~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer)
2020-10-02 00:11:39 +0200voyons_calisse(~dan@107-190-41-58.cpe.teksavvy.com)
2020-10-02 00:11:52 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2020-10-02 00:14:21 +0200dhouthoo(~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.8)
2020-10-02 00:14:39 +0200alvinsj[m](alvinsjmat@gateway/shell/matrix.org/x-zctlkjvmpqfdbdtm)
2020-10-02 00:14:49 +0200systemhalted(~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net)
2020-10-02 00:15:52 +0200xcmw(~textual@dyn-72-33-0-89.uwnet.wisc.edu)
2020-10-02 00:16:31 +0200xcmw(~textual@dyn-72-33-0-89.uwnet.wisc.edu) (Client Quit)
2020-10-02 00:20:05 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-10-02 00:20:52 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-10-02 00:22:35 +0200bitmagie(~Thunderbi@200116b806edc300f80afde6120444f9.dip.versatel-1u1.de) (Remote host closed the connection)
2020-10-02 00:22:40 +0200systemhalted(~aqualogic@71-129-231-253.lightspeed.rcsntx.sbcglobal.net) (Remote host closed the connection)
2020-10-02 00:22:47 +0200motersen(~user@2001-4dd5-8af-0-fa3b-a793-4066-cc15.ipv6dyn.netcologne.de) (Ping timeout: 240 seconds)
2020-10-02 00:24:03 +0200thaumavorio(~thaumavor@thaumavor.io) (Quit: ZNC 1.7.1 - https://znc.in)
2020-10-02 00:25:03 +0200thaumavorio(~thaumavor@thaumavor.io)
2020-10-02 00:26:27 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 240 seconds)
2020-10-02 00:27:15 +0200o1lo01ol_(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
2020-10-02 00:28:00 +0200o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-10-02 00:32:13 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:ec62:ae19:dbca:1ba7) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 00:32:34 +0200o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 258 seconds)
2020-10-02 00:33:02 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798)
2020-10-02 00:33:13 +0200inkbottle(~inkbottle@aaubervilliers-654-1-117-166.w86-198.abo.wanadoo.fr)
2020-10-02 00:33:23 +0200zebrag(~inkbottle@aaubervilliers-654-1-113-44.w86-198.abo.wanadoo.fr) (Ping timeout: 260 seconds)
2020-10-02 00:36:38 +0200taurux(~taurux@net-188-216-0-240.cust.vodafonedsl.it) (Ping timeout: 260 seconds)
2020-10-02 00:37:39 +0200taurux(~taurux@net-188-216-115-55.cust.vodafonedsl.it)
2020-10-02 00:42:16 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2020-10-02 00:42:41 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 2.9)
2020-10-02 00:42:47 +0200 <koz_> Is there a combinator to apply parser p as many times as possible, but not more than n times?
2020-10-02 00:43:03 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-10-02 00:43:07 +0200 <koz_> (megaparsec in case it matters what kind of parser)
2020-10-02 00:45:42 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-02 00:46:29 +0200__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2020-10-02 00:48:26 +0200 <koz_> Sorry, more specifically: given a parser p, and a number n, apply at least once, and as many times as possible, up to a maximum of n times, collect into a list.
2020-10-02 00:48:38 +0200 <koz_> If an application fails due to anything other than EOF, blow up.
2020-10-02 00:48:41 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Ping timeout: 265 seconds)
2020-10-02 00:50:25 +0200 <koz_> OK, count' works apparently.
2020-10-02 00:50:47 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2020-10-02 00:52:47 +0200st8less(~st8less@2603:a060:11fd:0:6883:ccc4:e325:916a) (Ping timeout: 240 seconds)
2020-10-02 00:54:25 +0200qzo(~qzo@c-73-229-59-252.hsd1.co.comcast.net) (Ping timeout: 240 seconds)
2020-10-02 00:57:07 +0200qzo(~qzo@c-73-229-59-252.hsd1.co.comcast.net)
2020-10-02 01:01:39 +0200polyrain(~polyrain@2001:8003:640b:b900:58f5:a1c1:c514:8c13)
2020-10-02 01:03:27 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) (Ping timeout: 272 seconds)
2020-10-02 01:03:40 +0200jgt(~jgt@188.239.64.32) (Ping timeout: 265 seconds)
2020-10-02 01:04:25 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Ping timeout: 240 seconds)
2020-10-02 01:05:04 +0200Franciman(~francesco@host-212-171-42-250.pool212171.interbusiness.it) (Quit: Leaving)
2020-10-02 01:05:09 +0200polyrain(~polyrain@2001:8003:640b:b900:58f5:a1c1:c514:8c13) (Client Quit)
2020-10-02 01:06:37 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f)
2020-10-02 01:06:43 +0200cosimone(~cosimone@5.171.24.137)
2020-10-02 01:06:57 +0200whiteline(~whiteline@unaffiliated/whiteline) (Ping timeout: 244 seconds)
2020-10-02 01:07:52 +0200Unhammer(~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection)
2020-10-02 01:08:10 +0200shatriff(~vitaliish@haunt.prize.volia.net)
2020-10-02 01:08:21 +0200Unhammer(~Unhammer@gateway/tor-sasl/unhammer)
2020-10-02 01:10:52 +0200Unhammer(~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection)
2020-10-02 01:11:52 +0200Unhammer(~Unhammer@gateway/tor-sasl/unhammer)
2020-10-02 01:11:58 +0200hackagewai-middleware-static 0.9.0 - WAI middleware that serves requests to static files. https://hackage.haskell.org/package/wai-middleware-static-0.9.0 (ryanglscott)
2020-10-02 01:12:42 +0200 <koz_> Is there something equivalent to 'maybe empty pure'?
2020-10-02 01:12:56 +0200 <koz_> :t maybe empty pure
2020-10-02 01:12:57 +0200 <lambdabot> Alternative f => Maybe a -> f a
2020-10-02 01:13:41 +0200 <koz_> @hoogle Alternative f => Maybe a -> f a
2020-10-02 01:13:42 +0200 <lambdabot> Control.Effect.NonDet oneOf :: (Foldable t, Alternative m) => t a -> m a
2020-10-02 01:13:42 +0200 <lambdabot> Generic.Data.Internal.Utils coerce' :: Coercible (f x) (g x) => f x -> g x
2020-10-02 01:13:42 +0200 <lambdabot> Control.Effect.Lift sendM :: (Has (Lift n) sig m, Functor n) => n a -> m a
2020-10-02 01:15:14 +0200shafox(~shafox@106.51.234.111) (Remote host closed the connection)
2020-10-02 01:16:38 +0200 <hpc> maybe something with fold/traverse?
2020-10-02 01:17:25 +0200 <koz_> I might just write a combinator of my own.
2020-10-02 01:17:53 +0200 <koz_> alternatively :: Alternative f => Maybe a -> f a
2020-10-02 01:17:55 +0200chele(~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2020-10-02 01:19:27 +0200hackageunordered-containers 0.2.13.0 - Efficient hashing-based container types https://hackage.haskell.org/package/unordered-containers-0.2.13.0 (sjakobi)
2020-10-02 01:20:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-10-02 01:21:33 +0200qzo(~qzo@c-73-229-59-252.hsd1.co.comcast.net) (Ping timeout: 265 seconds)
2020-10-02 01:22:31 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-02 01:26:57 +0200 <ski> @type foldr ((<|>) . pure) empty
2020-10-02 01:26:58 +0200 <lambdabot> (Foldable t, Alternative f) => t a -> f a
2020-10-02 01:28:03 +0200 <hpc> yep, that's it
2020-10-02 01:28:19 +0200mrchampion(~mrchampio@216-211-57-41.dynamic.tbaytel.net)
2020-10-02 01:29:26 +0200conal(~conal@64.71.133.70)
2020-10-02 01:32:22 +0200 <ski> @. hoogle type (asum .) . fmap -- from before
2020-10-02 01:32:25 +0200 <lambdabot> Util altMap :: (Alternative p, Foldable f) => (a -> p b) -> f a -> p b
2020-10-02 01:32:25 +0200 <lambdabot> Relude.Foldable.Fold asumMap :: forall b m f a . (Foldable f, Alternative m) => (a -> m b) -> f a -> m b
2020-10-02 01:32:25 +0200 <lambdabot> Control.Effect.NonDet foldMapA :: (Foldable t, Alternative m) => (a -> m b) -> t a -> m b
2020-10-02 01:33:51 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) (Ping timeout: 272 seconds)
2020-10-02 01:39:38 +0200son0p(~son0p@181.136.122.143) (Quit: Lost terminal)
2020-10-02 01:40:48 +0200xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 258 seconds)
2020-10-02 01:42:01 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 01:43:07 +0200thc202(~thc202@unaffiliated/thc202) (Ping timeout: 244 seconds)
2020-10-02 01:44:27 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6)
2020-10-02 01:45:19 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-10-02 01:47:01 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 264 seconds)
2020-10-02 01:47:16 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-10-02 01:48:45 +0200irc_user(uid423822@gateway/web/irccloud.com/x-ekikuzxknoijafbq) (Quit: Connection closed for inactivity)
2020-10-02 01:53:47 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2020-10-02 01:54:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-02 01:54:57 +0200thonkpod(~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) (*.net *.split)
2020-10-02 01:54:57 +0200entel(uid256215@botters/entel) (*.net *.split)
2020-10-02 01:54:57 +0200eacameron(sid256985@gateway/web/irccloud.com/x-kpwlorbysgtnxhte) (*.net *.split)
2020-10-02 01:54:57 +0200liff(liff@kapsi.fi) (*.net *.split)
2020-10-02 01:54:57 +0200PotatoHatsue(berbermanp@gateway/shell/matrix.org/x-lcuapfbpkatzswxh) (*.net *.split)
2020-10-02 01:54:57 +0200glowcoil(sid3405@gateway/web/irccloud.com/x-thsriowqmdkgjing) (*.net *.split)
2020-10-02 01:54:57 +0200PoliticsII____(sid193551@gateway/web/irccloud.com/x-nvfqluymqsvazvtl) (*.net *.split)
2020-10-02 01:54:57 +0200koankeeper(sid216950@gateway/web/irccloud.com/x-zrkqcymdfzqfjfqv) (*.net *.split)
2020-10-02 01:54:57 +0200dequbed(~dequbed@yanduxian.paranoidlabs.org) (*.net *.split)
2020-10-02 01:54:57 +0200simony(sid226116@gateway/web/irccloud.com/x-ebcflagagczxghjj) (*.net *.split)
2020-10-02 01:54:57 +0200teehemkay(sid14792@gateway/web/irccloud.com/x-xjwybgbmcxfolzwh) (*.net *.split)
2020-10-02 01:54:57 +0200benwr__(sid372383@gateway/web/irccloud.com/x-ehohzcwkyjbzpbwl) (*.net *.split)
2020-10-02 01:54:57 +0200miklcct(quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (*.net *.split)
2020-10-02 01:54:57 +0200mpickering(sid78412@gateway/web/irccloud.com/x-ugziboqyrxfitrmv) (*.net *.split)
2020-10-02 01:54:57 +0200nlofaro(sid258233@gateway/web/irccloud.com/x-etxlydyigzmwkiap) (*.net *.split)
2020-10-02 01:54:57 +0200angerman(sid209936@gateway/web/irccloud.com/x-kbnupcpypxlxxlnc) (*.net *.split)
2020-10-02 01:54:57 +0200unlink__(~unlink2@p200300ebcf25bd0068eb9d9c94da2a17.dip0.t-ipconnect.de) (*.net *.split)
2020-10-02 01:54:57 +0200srid(sridmatrix@gateway/shell/matrix.org/x-zqttickmrfyduksr) (*.net *.split)
2020-10-02 01:54:57 +0200michaelpj1(michaelpjm@gateway/shell/matrix.org/x-bmrqrkqdmdnabvkc) (*.net *.split)
2020-10-02 01:54:57 +0200johnnyboy[m](gifumatrix@gateway/shell/matrix.org/x-xczqbcixpmjhwvre) (*.net *.split)
2020-10-02 01:54:57 +0200chreekat[m](chreekatma@gateway/shell/matrix.org/x-umxlgtkybcwevjvb) (*.net *.split)
2020-10-02 01:54:57 +0200lambdaclan(lambdaclan@gateway/shell/matrix.org/x-rosqvrjyauthsfym) (*.net *.split)
2020-10-02 01:54:57 +0200io_r_us[m](commandlin@gateway/shell/matrix.org/x-kjrwesnzoyenqgzx) (*.net *.split)
2020-10-02 01:54:57 +0200barrucadu(~barrucadu@fsf/member/barrucadu) (*.net *.split)
2020-10-02 01:54:57 +0200bcoppens_(~bartcopp@vpn2.bartcoppens.be) (*.net *.split)
2020-10-02 01:54:57 +0200noteness(~noteness@unaffiliated/nessessary129) (*.net *.split)
2020-10-02 01:54:57 +0200opqdonut(opqdonut@pseudo.fixme.fi) (*.net *.split)
2020-10-02 01:54:57 +0200Velpoman(~Velpoman@159.65.76.124) (*.net *.split)
2020-10-02 01:54:57 +0200dixie(~dixie@real.wilbury.sk) (*.net *.split)
2020-10-02 01:54:57 +0200uwap(~uwap@genja.uwap.name) (*.net *.split)
2020-10-02 01:57:10 +0200barzo(~sosal@95.70.249.57)
2020-10-02 01:58:15 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-10-02 01:59:42 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-02 02:00:01 +0200fajro(~fajro@193.56.252.210) ()
2020-10-02 02:00:27 +0200alp(~alp@2a01:e0a:58b:4920:550:ea71:7853:65d0) (Ping timeout: 272 seconds)
2020-10-02 02:02:59 +0200ystael(~ystael@209.6.50.55) (Ping timeout: 272 seconds)
2020-10-02 02:03:44 +0200jedws(~jedws@121.209.139.222)
2020-10-02 02:05:49 +0200thonkpod(~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d)
2020-10-02 02:05:49 +0200entel(uid256215@botters/entel)
2020-10-02 02:05:49 +0200eacameron(sid256985@gateway/web/irccloud.com/x-kpwlorbysgtnxhte)
2020-10-02 02:05:49 +0200liff(liff@kapsi.fi)
2020-10-02 02:05:49 +0200PotatoHatsue(berbermanp@gateway/shell/matrix.org/x-lcuapfbpkatzswxh)
2020-10-02 02:05:49 +0200glowcoil(sid3405@gateway/web/irccloud.com/x-thsriowqmdkgjing)
2020-10-02 02:05:49 +0200PoliticsII____(sid193551@gateway/web/irccloud.com/x-nvfqluymqsvazvtl)
2020-10-02 02:05:49 +0200angerman(sid209936@gateway/web/irccloud.com/x-kbnupcpypxlxxlnc)
2020-10-02 02:05:49 +0200dequbed(~dequbed@yanduxian.paranoidlabs.org)
2020-10-02 02:05:49 +0200koankeeper(sid216950@gateway/web/irccloud.com/x-zrkqcymdfzqfjfqv)
2020-10-02 02:05:49 +0200teehemkay(sid14792@gateway/web/irccloud.com/x-xjwybgbmcxfolzwh)
2020-10-02 02:05:49 +0200simony(sid226116@gateway/web/irccloud.com/x-ebcflagagczxghjj)
2020-10-02 02:05:49 +0200miklcct(quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7)
2020-10-02 02:05:49 +0200mpickering(sid78412@gateway/web/irccloud.com/x-ugziboqyrxfitrmv)
2020-10-02 02:05:49 +0200benwr__(sid372383@gateway/web/irccloud.com/x-ehohzcwkyjbzpbwl)
2020-10-02 02:05:49 +0200nlofaro(sid258233@gateway/web/irccloud.com/x-etxlydyigzmwkiap)
2020-10-02 02:05:49 +0200unlink__(~unlink2@p200300ebcf25bd0068eb9d9c94da2a17.dip0.t-ipconnect.de)
2020-10-02 02:05:49 +0200srid(sridmatrix@gateway/shell/matrix.org/x-zqttickmrfyduksr)
2020-10-02 02:05:49 +0200michaelpj1(michaelpjm@gateway/shell/matrix.org/x-bmrqrkqdmdnabvkc)
2020-10-02 02:05:49 +0200johnnyboy[m](gifumatrix@gateway/shell/matrix.org/x-xczqbcixpmjhwvre)
2020-10-02 02:05:49 +0200chreekat[m](chreekatma@gateway/shell/matrix.org/x-umxlgtkybcwevjvb)
2020-10-02 02:05:49 +0200lambdaclan(lambdaclan@gateway/shell/matrix.org/x-rosqvrjyauthsfym)
2020-10-02 02:05:49 +0200io_r_us[m](commandlin@gateway/shell/matrix.org/x-kjrwesnzoyenqgzx)
2020-10-02 02:05:49 +0200barrucadu(~barrucadu@fsf/member/barrucadu)
2020-10-02 02:05:49 +0200bcoppens_(~bartcopp@vpn2.bartcoppens.be)
2020-10-02 02:05:49 +0200noteness(~noteness@unaffiliated/nessessary129)
2020-10-02 02:05:49 +0200opqdonut(opqdonut@pseudo.fixme.fi)
2020-10-02 02:05:49 +0200Velpoman(~Velpoman@159.65.76.124)
2020-10-02 02:05:49 +0200dixie(~dixie@real.wilbury.sk)
2020-10-02 02:05:49 +0200uwap(~uwap@genja.uwap.name)
2020-10-02 02:09:37 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-10-02 02:10:30 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-10-02 02:11:30 +0200xerox_(~xerox@unaffiliated/xerox)
2020-10-02 02:11:54 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 02:12:03 +0200GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-02 02:12:22 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-02 02:12:22 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-02 02:12:22 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-02 02:12:30 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6)
2020-10-02 02:12:48 +0200barzo(~sosal@95.70.249.57) (Quit: Leaving)
2020-10-02 02:20:52 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2020-10-02 02:22:34 +0200DTZUZU_(~DTZUZU@205.ip-149-56-132.net)
2020-10-02 02:22:37 +0200ericsagnes(~ericsagne@2405:6580:0:5100:4135:276:e32f:4d13) (Ping timeout: 272 seconds)
2020-10-02 02:23:19 +0200DTZUZU(~DTZUZU@S0106bcd165662a4d.vs.shawcable.net) (Ping timeout: 246 seconds)
2020-10-02 02:25:47 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2020-10-02 02:28:16 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-02 02:28:56 +0200inkbottle(~inkbottle@aaubervilliers-654-1-117-166.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!)
2020-10-02 02:29:13 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 02:31:08 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-02 02:33:10 +0200zebrag(~inkbottle@aaubervilliers-654-1-117-166.w86-198.abo.wanadoo.fr)
2020-10-02 02:34:21 +0200ericsagnes(~ericsagne@2405:6580:0:5100:9424:53b3:93b4:eb3f)
2020-10-02 02:35:27 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-02 02:36:21 +0200emmanuel_erc(~user@2604:2000:1382:ce03:f102:da07:a063:e98b)
2020-10-02 02:36:31 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6)
2020-10-02 02:37:12 +0200emmanuel_erc(~user@2604:2000:1382:ce03:f102:da07:a063:e98b) ()
2020-10-02 02:37:29 +0200emmanuel_erc(~user@2604:2000:1382:ce03:f102:da07:a063:e98b)
2020-10-02 02:41:14 +0200conal(~conal@64.71.133.70) (Ping timeout: 260 seconds)
2020-10-02 02:42:17 +0200 <catern> pretty basic question, but is there any Haskell library where I can say some approximation of "f = F(); dothing(f); g = G(); h = H(); dothing2(g, h)" and have the requests made inside F, G, and H automatically get sent out together at the start?
2020-10-02 02:44:55 +0200 <dsal> I don't understand `F()`
2020-10-02 02:45:22 +0200conal(~conal@66.115.157.40)
2020-10-02 02:45:25 +0200 <dsal> Also: What does "request" mean?
2020-10-02 02:46:47 +0200 <dsal> If F, G, and H are meant to be monadic actions that depend on the results of each other, it's not clear what you mean by wanting to send the requests before you have their input.
2020-10-02 02:46:52 +0200 <catern> any kind of request, RPCs over the network, say?
2020-10-02 02:47:10 +0200 <catern> no, they're meant to be actions which don't depend on each others' results
2020-10-02 02:47:31 +0200aaaaaa(~ArthurStr@host-91-90-11-13.soborka.net)
2020-10-02 02:47:31 +0200reppertj(~textual@pool-96-246-209-59.nycmny.fios.verizon.net)
2020-10-02 02:47:35 +0200 <dsal> Oh. The syntax is confusing. Capitals generally refer to types.
2020-10-02 02:47:53 +0200 <dsal> The async packages has a lot of stuff for implicitly running multiple IO actions concurrently. It'd pretty easily do what you're asking for.
2020-10-02 02:48:06 +0200 <dsal> @package async
2020-10-02 02:48:07 +0200 <lambdabot> https://hackage.haskell.org/package/async
2020-10-02 02:48:46 +0200 <dsal> The example at the bottom of the Control.Concurrent.Async docs sound a bit like what you're asking for.
2020-10-02 02:49:15 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 02:49:28 +0200 <catern> i'd have to explicitly run things with async though right? i'm more curious about something automatic
2020-10-02 02:50:07 +0200conal(~conal@66.115.157.40) (Quit: Computer has gone to sleep.)
2020-10-02 02:50:28 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 260 seconds)
2020-10-02 02:51:33 +0200 <infinisil> catern: The usual way to define variables with do notation won't work for your example
2020-10-02 02:51:56 +0200 <infinisil> Because do notation makes later values able to depend on earlier ones
2020-10-02 02:52:20 +0200 <infinisil> So e.g. you could say `f <- ffun(); g <- gfun(f)`
2020-10-02 02:52:50 +0200 <infinisil> Well actually, that's not entirely true, there's ApplicativeDo
2020-10-02 02:53:03 +0200 <infinisil> Anyways, I think maybe you're looking for Applicative's in general
2020-10-02 02:53:18 +0200jscarmona(~jscarmona@s91904426.blix.com)
2020-10-02 02:53:54 +0200 <infinisil> So you could do `(f, g, h) <- (,,) <$> ffun <*> gfun <*> hfun`
2020-10-02 02:54:05 +0200conal(~conal@66.115.157.40)
2020-10-02 02:54:25 +0200 <infinisil> And run that in a context where those are run in parallel
2020-10-02 02:54:31 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6)
2020-10-02 02:54:39 +0200 <infinisil> E.g. as dsal suggested with async
2020-10-02 02:54:51 +0200conal(~conal@66.115.157.40) (Client Quit)
2020-10-02 02:55:27 +0200 <infinisil> catern: And in fact, async has an example for exactly that: https://hackage.haskell.org/package/async-2.2.2/docs/Control-Concurrent-Async.html#t:Concurrently
2020-10-02 02:57:08 +0200 <dsal> Automatically transforming a block into a collection of actions and then running those actions concurrently sounds like a neat idea, and is likely possible, but I'd think it'd be fairly special for your operations.
2020-10-02 02:57:18 +0200conal(~conal@66.115.157.40)
2020-10-02 02:57:25 +0200connrs(~connrs@runciter.connrs.uk) (Ping timeout: 240 seconds)
2020-10-02 02:57:37 +0200connrs-(~connrs@runciter.connrs.uk)
2020-10-02 02:58:23 +0200 <catern> infinisil: interesting, thanks!
2020-10-02 02:58:35 +0200 <dsal> Your syntax is confusing me a bit, but it sounds like you want `dothing` and `dothing2` to be actions as well. In which case, why wouldn't they also happen concurrently at the beginning? You'd need a way to build a dependency of actions and run them as concurrently as you could as they are evaluated. Doing that explicitly isn't *super* hard, but doing it magically raises a lot of questions.
2020-10-02 02:59:12 +0200xff0x(~fox@2001:1a81:5220:1600:3ce1:e817:dda8:9f17) (Ping timeout: 260 seconds)
2020-10-02 02:59:12 +0200voyons_calisse(~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer)
2020-10-02 02:59:36 +0200voyons_calisse(~dan@107-190-41-58.cpe.teksavvy.com)
2020-10-02 03:00:04 +0200xff0x(~fox@2001:1a81:5220:1600:244e:e6:b68b:8071)
2020-10-02 03:01:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-10-02 03:02:21 +0200ystael(~ystael@209.6.50.55)
2020-10-02 03:05:20 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 03:09:08 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6)
2020-10-02 03:12:08 +0200dhil(~dhil@11.29.39.217.dyn.plus.net) (Ping timeout: 272 seconds)
2020-10-02 03:13:00 +0200nineonine(~nineonine@216.81.48.202) (Remote host closed the connection)
2020-10-02 03:15:31 +0200FreeBirdLjj(~freebirdl@240e:388:4f41:dc00:4cd9:b0cb:876b:f953)
2020-10-02 03:17:18 +0200raehik(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2020-10-02 03:17:37 +0200ystael(~ystael@209.6.50.55) (Ping timeout: 264 seconds)
2020-10-02 03:19:27 +0200FreeBirdLjj(~freebirdl@240e:388:4f41:dc00:4cd9:b0cb:876b:f953) (Ping timeout: 240 seconds)
2020-10-02 03:27:13 +0200Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
2020-10-02 03:28:28 +0200danso(~dan@107-190-41-58.cpe.teksavvy.com)
2020-10-02 03:30:23 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 03:34:45 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 240 seconds)
2020-10-02 03:35:55 +0200HaskellYogi(~vivekrama@49.207.197.215)
2020-10-02 03:36:31 +0200conal(~conal@66.115.157.40) (Quit: Computer has gone to sleep.)
2020-10-02 03:37:52 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-02 03:39:58 +0200Amras(~Amras@unaffiliated/amras0000)
2020-10-02 03:40:07 +0200Neuromancer(~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 240 seconds)
2020-10-02 03:42:00 +0200conal(~conal@66.115.157.40)
2020-10-02 03:42:58 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-02 03:50:01 +0200xff0x(~fox@2001:1a81:5220:1600:244e:e6:b68b:8071) (Ping timeout: 272 seconds)
2020-10-02 03:51:15 +0200xff0x(~fox@2001:1a81:5254:9a00:244e:e6:b68b:8071)
2020-10-02 03:56:13 +0200jedws(~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 03:57:57 +0200jedws(~jedws@121.209.139.222)
2020-10-02 03:59:02 +0200pacak(~pacak@bb116-14-220-91.singnet.com.sg) (Remote host closed the connection)
2020-10-02 03:59:10 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311) ()
2020-10-02 03:59:11 +0200conal(~conal@66.115.157.40) (Quit: Computer has gone to sleep.)
2020-10-02 04:00:28 +0200ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
2020-10-02 04:01:08 +0200conal(~conal@66.115.157.40)
2020-10-02 04:01:11 +0200ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2020-10-02 04:03:05 +0200pacak(~pacak@bb116-14-220-91.singnet.com.sg)
2020-10-02 04:05:26 +0200shatriff(~vitaliish@haunt.prize.volia.net) (Remote host closed the connection)
2020-10-02 04:05:58 +0200shatriff(~vitaliish@haunt.prize.volia.net)
2020-10-02 04:07:45 +0200argent0(~argent0@168.227.97.5) (Quit: leaving)
2020-10-02 04:08:25 +0200Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 240 seconds)
2020-10-02 04:09:07 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds)
2020-10-02 04:10:34 +0200ddellacosta(~dd@86.106.121.168) (Quit: WeeChat 2.8)
2020-10-02 04:14:03 +0200ddellacosta(~dd@86.106.121.168)
2020-10-02 04:14:35 +0200nineonine(~nineonine@216.81.48.202)
2020-10-02 04:14:50 +0200wroathe_(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-02 04:15:23 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-10-02 04:17:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-02 04:17:53 +0200danso(~dan@107-190-41-58.cpe.teksavvy.com) (Quit: WeeChat 2.9)
2020-10-02 04:18:09 +0200danso(~dan@107-190-41-58.cpe.teksavvy.com)
2020-10-02 04:18:37 +0200drbean(~drbean@TC210-63-209-180.static.apol.com.tw)
2020-10-02 04:18:57 +0200hackageZ-Data 0.1.4.2 - Array, vector and text https://hackage.haskell.org/package/Z-Data-0.1.4.2 (winterland)
2020-10-02 04:20:02 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Ping timeout: 260 seconds)
2020-10-02 04:20:29 +0200wroathe_wroathe
2020-10-02 04:20:52 +0200lemmih(~lemmih@2406:3003:2072:44:5428:a9c5:7934:3415) (Ping timeout: 260 seconds)
2020-10-02 04:21:09 +0200ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf) (Read error: No route to host)
2020-10-02 04:21:37 +0200ddere(uid110888@gateway/web/irccloud.com/x-xrsspmgdaswzvnim)
2020-10-02 04:22:05 +0200ezzieyguywuf(~Unknown@unaffiliated/ezzieyguywuf)
2020-10-02 04:23:33 +0200toorevitimirp(~tooreviti@117.182.181.38)
2020-10-02 04:23:37 +0200lagothrixGuest23161
2020-10-02 04:23:37 +0200Guest23161(~lagothrix@unaffiliated/lagothrix) (Killed (rothfuss.freenode.net (Nickname regained by services)))
2020-10-02 04:23:45 +0200lagothrix(~lagothrix@unaffiliated/lagothrix)
2020-10-02 04:23:56 +0200jb55(~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
2020-10-02 04:24:19 +0200jb55(~jb55@gateway/tor-sasl/jb55)
2020-10-02 04:27:08 +0200conal(~conal@66.115.157.40) (Quit: Computer has gone to sleep.)
2020-10-02 04:28:34 +0200jedws(~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 04:28:34 +0200conal(~conal@66.115.157.40)
2020-10-02 04:28:40 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-10-02 04:31:45 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798)
2020-10-02 04:32:44 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-02 04:36:44 +0200conal(~conal@66.115.157.40) (Quit: Computer has gone to sleep.)
2020-10-02 04:37:58 +0200urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2020-10-02 04:39:15 +0200pacak(~pacak@bb116-14-220-91.singnet.com.sg) (Quit: Leaving.)
2020-10-02 04:40:03 +0200ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds)
2020-10-02 04:40:56 +0200conal(~conal@64.71.133.70)
2020-10-02 04:41:28 +0200ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2020-10-02 04:41:56 +0200cosimone(~cosimone@5.171.24.137) (Quit: Quit.)
2020-10-02 04:46:46 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Remote host closed the connection)
2020-10-02 04:47:13 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798)
2020-10-02 04:47:33 +0200ddellacosta(~dd@86.106.121.168) (Quit: WeeChat 2.8)
2020-10-02 04:47:38 +0200pacak(~pacak@bb116-14-220-91.singnet.com.sg)
2020-10-02 04:48:11 +0200theDon(~td@muedsl-82-207-238-122.citykom.de) (Ping timeout: 240 seconds)
2020-10-02 04:48:44 +0200pacak(~pacak@bb116-14-220-91.singnet.com.sg) (Remote host closed the connection)
2020-10-02 04:49:40 +0200CMCDragonkai1(~Thunderbi@124.19.3.250)
2020-10-02 04:50:10 +0200ddellacosta(~dd@86.106.121.168)
2020-10-02 04:50:19 +0200voyons_calisse(~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer)
2020-10-02 04:50:20 +0200danso(~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer)
2020-10-02 04:50:25 +0200theDon(~td@muedsl-82-207-238-055.citykom.de)
2020-10-02 04:51:07 +0200voyons_calisse(~dan@107-190-41-58.cpe.teksavvy.com)
2020-10-02 04:51:27 +0200danso(~dan@107-190-41-58.cpe.teksavvy.com)
2020-10-02 04:51:44 +0200pacak(~pacak@bb116-14-220-91.singnet.com.sg)
2020-10-02 04:52:50 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-02 04:57:47 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-02 05:00:01 +0200jscarmona(~jscarmona@s91904426.blix.com) ()
2020-10-02 05:03:06 +0200machinedgod(~machinedg@d67-193-126-196.home3.cgocable.net) (Ping timeout: 260 seconds)
2020-10-02 05:03:28 +0200conal(~conal@64.71.133.70) (Ping timeout: 260 seconds)
2020-10-02 05:03:30 +0200CMCDragonkai1(~Thunderbi@124.19.3.250) (Remote host closed the connection)
2020-10-02 05:05:27 +0200acidjnk_new(~acidjnk@p200300d0c723788040fc08bec5cc5c11.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-02 05:05:53 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 258 seconds)
2020-10-02 05:06:37 +0200conal(~conal@107.181.166.148)
2020-10-02 05:06:39 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds)
2020-10-02 05:06:47 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-10-02 05:09:05 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Remote host closed the connection)
2020-10-02 05:09:27 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798)
2020-10-02 05:10:08 +0200Stanley00(~stanley00@unaffiliated/stanley00)
2020-10-02 05:11:39 +0200zopsi(zopsi@2600:3c00::f03c:91ff:fe14:551f) (Max SendQ exceeded)
2020-10-02 05:12:01 +0200lordcirth_(~lordcirth@2607:f2c0:95a8:ef00:b128:6022:758c:dbc)
2020-10-02 05:12:03 +0200zopsi(zopsi@2600:3c00::f03c:91ff:fe14:551f)
2020-10-02 05:13:48 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-10-02 05:13:57 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net)
2020-10-02 05:14:51 +0200lemmih(~lemmih@2405:800:9030:2080:640b:57cc:705a:e759)
2020-10-02 05:18:32 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 05:20:51 +0200spew(uid195861@gateway/web/irccloud.com/x-nekawqgdgyhycrzn) (Quit: Connection closed for inactivity)
2020-10-02 05:20:52 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-10-02 05:21:09 +0200thonkpod(~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) (*.net *.split)
2020-10-02 05:21:09 +0200entel(uid256215@botters/entel) (*.net *.split)
2020-10-02 05:21:09 +0200eacameron(sid256985@gateway/web/irccloud.com/x-kpwlorbysgtnxhte) (*.net *.split)
2020-10-02 05:21:09 +0200liff(liff@kapsi.fi) (*.net *.split)
2020-10-02 05:21:09 +0200PotatoHatsue(berbermanp@gateway/shell/matrix.org/x-lcuapfbpkatzswxh) (*.net *.split)
2020-10-02 05:21:09 +0200glowcoil(sid3405@gateway/web/irccloud.com/x-thsriowqmdkgjing) (*.net *.split)
2020-10-02 05:21:09 +0200PoliticsII____(sid193551@gateway/web/irccloud.com/x-nvfqluymqsvazvtl) (*.net *.split)
2020-10-02 05:21:09 +0200koankeeper(sid216950@gateway/web/irccloud.com/x-zrkqcymdfzqfjfqv) (*.net *.split)
2020-10-02 05:21:09 +0200dequbed(~dequbed@yanduxian.paranoidlabs.org) (*.net *.split)
2020-10-02 05:21:09 +0200simony(sid226116@gateway/web/irccloud.com/x-ebcflagagczxghjj) (*.net *.split)
2020-10-02 05:21:09 +0200teehemkay(sid14792@gateway/web/irccloud.com/x-xjwybgbmcxfolzwh) (*.net *.split)
2020-10-02 05:21:09 +0200benwr__(sid372383@gateway/web/irccloud.com/x-ehohzcwkyjbzpbwl) (*.net *.split)
2020-10-02 05:21:09 +0200miklcct(quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (*.net *.split)
2020-10-02 05:21:09 +0200mpickering(sid78412@gateway/web/irccloud.com/x-ugziboqyrxfitrmv) (*.net *.split)
2020-10-02 05:21:09 +0200nlofaro(sid258233@gateway/web/irccloud.com/x-etxlydyigzmwkiap) (*.net *.split)
2020-10-02 05:21:09 +0200angerman(sid209936@gateway/web/irccloud.com/x-kbnupcpypxlxxlnc) (*.net *.split)
2020-10-02 05:21:09 +0200unlink__(~unlink2@p200300ebcf25bd0068eb9d9c94da2a17.dip0.t-ipconnect.de) (*.net *.split)
2020-10-02 05:21:09 +0200srid(sridmatrix@gateway/shell/matrix.org/x-zqttickmrfyduksr) (*.net *.split)
2020-10-02 05:21:09 +0200michaelpj1(michaelpjm@gateway/shell/matrix.org/x-bmrqrkqdmdnabvkc) (*.net *.split)
2020-10-02 05:21:09 +0200johnnyboy[m](gifumatrix@gateway/shell/matrix.org/x-xczqbcixpmjhwvre) (*.net *.split)
2020-10-02 05:21:09 +0200chreekat[m](chreekatma@gateway/shell/matrix.org/x-umxlgtkybcwevjvb) (*.net *.split)
2020-10-02 05:21:09 +0200lambdaclan(lambdaclan@gateway/shell/matrix.org/x-rosqvrjyauthsfym) (*.net *.split)
2020-10-02 05:21:09 +0200io_r_us[m](commandlin@gateway/shell/matrix.org/x-kjrwesnzoyenqgzx) (*.net *.split)
2020-10-02 05:21:09 +0200barrucadu(~barrucadu@fsf/member/barrucadu) (*.net *.split)
2020-10-02 05:21:09 +0200bcoppens_(~bartcopp@vpn2.bartcoppens.be) (*.net *.split)
2020-10-02 05:21:09 +0200noteness(~noteness@unaffiliated/nessessary129) (*.net *.split)
2020-10-02 05:21:09 +0200opqdonut(opqdonut@pseudo.fixme.fi) (*.net *.split)
2020-10-02 05:21:09 +0200Velpoman(~Velpoman@159.65.76.124) (*.net *.split)
2020-10-02 05:21:09 +0200dixie(~dixie@real.wilbury.sk) (*.net *.split)
2020-10-02 05:21:09 +0200uwap(~uwap@genja.uwap.name) (*.net *.split)
2020-10-02 05:21:33 +0200jespada(~jespada@90.254.241.6) (Ping timeout: 260 seconds)
2020-10-02 05:22:47 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 240 seconds)
2020-10-02 05:24:13 +0200jespada(~jespada@90.254.246.48)
2020-10-02 05:25:55 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-02 05:27:22 +0200vqrs(~vqrs@learnprogramming/regular/vqrs) (Ping timeout: 260 seconds)
2020-10-02 05:28:56 +0200vqrs(~vqrs@learnprogramming/regular/vqrs)
2020-10-02 05:30:21 +0200vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2020-10-02 05:30:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-10-02 05:33:02 +0200kupi(uid212005@gateway/web/irccloud.com/x-zotxyxtmvllkllma) (Quit: Connection closed for inactivity)
2020-10-02 05:33:24 +0200DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-10-02 05:37:02 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Ping timeout: 260 seconds)
2020-10-02 05:38:08 +0200vicfred(~vicfred@unaffiliated/vicfred)
2020-10-02 05:38:21 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 05:39:28 +0200hackagewinery 1.3.1 - A compact, well-typed seralisation format for Haskell values https://hackage.haskell.org/package/winery-1.3.1 (FumiakiKinoshita)
2020-10-02 05:40:20 +0200ryansmccoy(~ryansmcco@156.96.151.132) (Ping timeout: 272 seconds)
2020-10-02 05:41:04 +0200ryansmccoy(~ryansmcco@193.37.254.27)
2020-10-02 05:43:38 +0200macrover(~macrover@ip70-189-231-35.lv.lv.cox.net)
2020-10-02 05:43:55 +0200ddere(uid110888@gateway/web/irccloud.com/x-xrsspmgdaswzvnim) (Ping timeout: 240 seconds)
2020-10-02 05:44:15 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6)
2020-10-02 05:44:16 +0200ddere(uid110888@gateway/web/irccloud.com/x-jyvwqhdwbvlfvtyo)
2020-10-02 05:49:01 +0200thonkpod(~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d)
2020-10-02 05:49:01 +0200entel(uid256215@botters/entel)
2020-10-02 05:49:01 +0200eacameron(sid256985@gateway/web/irccloud.com/x-kpwlorbysgtnxhte)
2020-10-02 05:49:01 +0200liff(liff@kapsi.fi)
2020-10-02 05:49:01 +0200PotatoHatsue(berbermanp@gateway/shell/matrix.org/x-lcuapfbpkatzswxh)
2020-10-02 05:49:01 +0200glowcoil(sid3405@gateway/web/irccloud.com/x-thsriowqmdkgjing)
2020-10-02 05:49:01 +0200PoliticsII____(sid193551@gateway/web/irccloud.com/x-nvfqluymqsvazvtl)
2020-10-02 05:49:01 +0200angerman(sid209936@gateway/web/irccloud.com/x-kbnupcpypxlxxlnc)
2020-10-02 05:49:01 +0200dequbed(~dequbed@yanduxian.paranoidlabs.org)
2020-10-02 05:49:01 +0200koankeeper(sid216950@gateway/web/irccloud.com/x-zrkqcymdfzqfjfqv)
2020-10-02 05:49:01 +0200teehemkay(sid14792@gateway/web/irccloud.com/x-xjwybgbmcxfolzwh)
2020-10-02 05:49:01 +0200simony(sid226116@gateway/web/irccloud.com/x-ebcflagagczxghjj)
2020-10-02 05:49:01 +0200miklcct(quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7)
2020-10-02 05:49:01 +0200mpickering(sid78412@gateway/web/irccloud.com/x-ugziboqyrxfitrmv)
2020-10-02 05:49:01 +0200benwr__(sid372383@gateway/web/irccloud.com/x-ehohzcwkyjbzpbwl)
2020-10-02 05:49:01 +0200nlofaro(sid258233@gateway/web/irccloud.com/x-etxlydyigzmwkiap)
2020-10-02 05:49:01 +0200unlink__(~unlink2@p200300ebcf25bd0068eb9d9c94da2a17.dip0.t-ipconnect.de)
2020-10-02 05:49:01 +0200srid(sridmatrix@gateway/shell/matrix.org/x-zqttickmrfyduksr)
2020-10-02 05:49:01 +0200michaelpj1(michaelpjm@gateway/shell/matrix.org/x-bmrqrkqdmdnabvkc)
2020-10-02 05:49:01 +0200johnnyboy[m](gifumatrix@gateway/shell/matrix.org/x-xczqbcixpmjhwvre)
2020-10-02 05:49:01 +0200chreekat[m](chreekatma@gateway/shell/matrix.org/x-umxlgtkybcwevjvb)
2020-10-02 05:49:01 +0200lambdaclan(lambdaclan@gateway/shell/matrix.org/x-rosqvrjyauthsfym)
2020-10-02 05:49:01 +0200io_r_us[m](commandlin@gateway/shell/matrix.org/x-kjrwesnzoyenqgzx)
2020-10-02 05:49:01 +0200barrucadu(~barrucadu@fsf/member/barrucadu)
2020-10-02 05:49:01 +0200bcoppens_(~bartcopp@vpn2.bartcoppens.be)
2020-10-02 05:49:01 +0200noteness(~noteness@unaffiliated/nessessary129)
2020-10-02 05:49:01 +0200opqdonut(opqdonut@pseudo.fixme.fi)
2020-10-02 05:49:01 +0200Velpoman(~Velpoman@159.65.76.124)
2020-10-02 05:49:01 +0200dixie(~dixie@real.wilbury.sk)
2020-10-02 05:49:01 +0200uwap(~uwap@genja.uwap.name)
2020-10-02 05:51:29 +0200nineonine(~nineonine@216.81.48.202) (Remote host closed the connection)
2020-10-02 05:52:34 +0200cyphase(~cyphase@unaffiliated/cyphase) (Ping timeout: 260 seconds)
2020-10-02 05:53:28 +0200jedws(~jedws@121.209.139.222)
2020-10-02 05:55:43 +0200drewx2(~drewx2@188.126.89.194)
2020-10-02 05:56:28 +0200hackageham 0.1.0.0 - https://hackage.haskell.org/package/ham-0.1.0.0 (ChristianGosch)
2020-10-02 06:00:07 +0200jespada(~jespada@90.254.246.48) (Ping timeout: 240 seconds)
2020-10-02 06:01:16 +0200aaaaaa(~ArthurStr@host-91-90-11-13.soborka.net) (Quit: leaving)
2020-10-02 06:01:27 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798)
2020-10-02 06:01:47 +0200polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 260 seconds)
2020-10-02 06:02:33 +0200jespada(~jespada@90.254.246.48)
2020-10-02 06:02:35 +0200cyphase(~cyphase@unaffiliated/cyphase)
2020-10-02 06:04:38 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-02 06:06:12 +0200lemmih(~lemmih@2405:800:9030:2080:640b:57cc:705a:e759) (Ping timeout: 260 seconds)
2020-10-02 06:11:24 +0200lemmih(~lemmih@2405:800:9030:2080:640b:57cc:705a:e759)
2020-10-02 06:14:56 +0200ddellacosta(~dd@86.106.121.168) (Ping timeout: 265 seconds)
2020-10-02 06:18:11 +0200 <hololeap> class IsFoo f n e where runFoo :: RunFoo n e f
2020-10-02 06:19:34 +0200HaskellYogi(~vivekrama@49.207.197.215) (Remote host closed the connection)
2020-10-02 06:19:52 +0200 <hololeap> what is the "correct" ordering of type variables for IsFoo _ _ _? `f` is the main type, while `n` and `e` are really just there because RunFoo requires them
2020-10-02 06:20:35 +0200Bergle_1(~Bergle_4@101.165.90.119) (Read error: Connection reset by peer)
2020-10-02 06:20:56 +0200Bergle_1(~Bergle_4@101.165.90.119)
2020-10-02 06:21:07 +0200lemmih(~lemmih@2405:800:9030:2080:640b:57cc:705a:e759) (Ping timeout: 240 seconds)
2020-10-02 06:21:36 +0200 <hololeap> does the ordering of type variables for a multi param type class have any significance?
2020-10-02 06:21:37 +0200HaskellYogi(~vivekrama@49.207.197.215)
2020-10-02 06:22:16 +0200jackdk(sid373013@gateway/web/irccloud.com/x-zfxvkywjzvccpywo) (Ping timeout: 256 seconds)
2020-10-02 06:22:50 +0200ullbeking(sid5364@gateway/web/irccloud.com/x-uurdaxugthoxygpu) (Ping timeout: 256 seconds)
2020-10-02 06:22:56 +0200coot(~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl)
2020-10-02 06:24:00 +0200jackdk(sid373013@gateway/web/irccloud.com/x-xzvlvnjtehxxtifm)
2020-10-02 06:25:06 +0200thi(sid97277@gateway/web/irccloud.com/x-mxfhyckwttphlfps) (Ping timeout: 256 seconds)
2020-10-02 06:25:16 +0200thi(sid97277@gateway/web/irccloud.com/x-dqtrzegkhhzyfxqr)
2020-10-02 06:26:03 +0200ullbeking(sid5364@gateway/web/irccloud.com/x-usiikxzxacqmemve)
2020-10-02 06:27:34 +0200HaskellYogi(~vivekrama@49.207.197.215) (Ping timeout: 260 seconds)
2020-10-02 06:28:21 +0200fissureman_(~quassel@c-73-163-84-25.hsd1.dc.comcast.net) (Ping timeout: 272 seconds)
2020-10-02 06:28:57 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:7d12:c491:8a2c:d3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 06:32:33 +0200Clough(~Cain@194-193-141-75.tpgi.com.au)
2020-10-02 06:35:02 +0200 <shachaf> Is there some sort of functionaldependency?
2020-10-02 06:38:12 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:705c:850:3ca2:e90e)
2020-10-02 06:39:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-10-02 06:39:45 +0200borne(~fritjof@200116b864e6dd0007933c164a08810c.dip.versatel-1u1.de) (Ping timeout: 272 seconds)
2020-10-02 06:41:01 +0200borne(~fritjof@200116b8644ae80060d3dbeddb543969.dip.versatel-1u1.de)
2020-10-02 06:43:37 +0200day_(~Unknown@unaffiliated/day)
2020-10-02 06:46:27 +0200day(~Unknown@unaffiliated/day) (Ping timeout: 240 seconds)
2020-10-02 06:46:27 +0200day_day
2020-10-02 06:55:17 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-02 06:55:42 +0200J_Arcane(sid119274@gateway/web/irccloud.com/x-onnffueiprgvpemg) (Ping timeout: 256 seconds)
2020-10-02 06:55:52 +0200J_Arcane(sid119274@gateway/web/irccloud.com/x-napkkntthpzdedzn)
2020-10-02 06:56:03 +0200CMCDragonkai1(~Thunderbi@124.19.3.250)
2020-10-02 06:59:25 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-02 07:01:53 +0200lemmih(~lemmih@2405:800:9030:2080:640b:57cc:705a:e759)
2020-10-02 07:02:02 +0200solonarv(~solonarv@astrasbourg-653-1-252-112.w92-161.abo.wanadoo.fr) (Ping timeout: 258 seconds)
2020-10-02 07:02:41 +0200knupfer1(~Thunderbi@mue-88-130-61-009.dsl.tropolys.de)
2020-10-02 07:02:53 +0200ggole(~ggole@2001:8003:8119:7200:8514:d230:fa70:c54c)
2020-10-02 07:04:34 +0200HaskellYogi(~vivekrama@49.207.197.215)
2020-10-02 07:05:05 +0200knupfer1knupfer
2020-10-02 07:08:38 +0200voyons_calisse(~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer)
2020-10-02 07:09:09 +0200voyons_calisse(~dan@107-190-41-58.cpe.teksavvy.com)
2020-10-02 07:12:09 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 07:14:04 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-02 07:17:02 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 260 seconds)
2020-10-02 07:17:48 +0200knupfer(~Thunderbi@mue-88-130-61-009.dsl.tropolys.de) (Ping timeout: 256 seconds)
2020-10-02 07:19:30 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-10-02 07:23:55 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Ping timeout: 240 seconds)
2020-10-02 07:26:55 +0200lemmih(~lemmih@2405:800:9030:2080:640b:57cc:705a:e759) (Ping timeout: 240 seconds)
2020-10-02 07:28:14 +0200dansho(~dansho@ip68-108-167-185.lv.lv.cox.net)
2020-10-02 07:32:25 +0200pacak(~pacak@bb116-14-220-91.singnet.com.sg) (Remote host closed the connection)
2020-10-02 07:34:08 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2020-10-02 07:34:37 +0200pacak(~pacak@bb116-14-220-91.singnet.com.sg)
2020-10-02 07:36:59 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-10-02 07:39:55 +0200DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Ping timeout: 260 seconds)
2020-10-02 07:40:43 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com)
2020-10-02 07:40:43 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host)
2020-10-02 07:40:43 +0200jle`(~mstksg@unaffiliated/mstksg)
2020-10-02 07:40:54 +0200DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-10-02 07:42:58 +0200hackagehasql-pipes 0.1.0.1 - A pipe to stream a postgres database cursor in the hasql ecosystem https://hackage.haskell.org/package/hasql-pipes-0.1.0.1 (PaoloVeronelli)
2020-10-02 07:44:28 +0200lagothrix(~lagothrix@unaffiliated/lagothrix) (Ping timeout: 272 seconds)
2020-10-02 07:44:52 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-02 07:46:22 +0200jle`(~mstksg@unaffiliated/mstksg) (Ping timeout: 246 seconds)
2020-10-02 07:46:26 +0200drewx2(~drewx2@188.126.89.194) (Remote host closed the connection)
2020-10-02 07:52:15 +0200reppertj(~textual@pool-96-246-209-59.nycmny.fios.verizon.net) (Quit: Textual IRC Client: www.textualapp.com)
2020-10-02 08:01:23 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-02 08:06:03 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-02 08:07:48 +0200Quarl(~Quarl@94.191.136.1.mobile.tre.se)
2020-10-02 08:12:22 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:705c:850:3ca2:e90e) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 08:13:02 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-10-02 08:14:02 +0200yoneda(~mike@193.206.102.122)
2020-10-02 08:14:05 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com)
2020-10-02 08:14:05 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host)
2020-10-02 08:14:05 +0200jle`(~mstksg@unaffiliated/mstksg)
2020-10-02 08:16:02 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2020-10-02 08:18:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-10-02 08:19:27 +0200ericsagnes(~ericsagne@2405:6580:0:5100:9424:53b3:93b4:eb3f) (Ping timeout: 240 seconds)
2020-10-02 08:26:37 +0200wei(~wei@66.42.41.89) (Ping timeout: 264 seconds)
2020-10-02 08:26:38 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 08:26:46 +0200wei(~wei@66.42.41.89)
2020-10-02 08:26:54 +0200jle`(~mstksg@unaffiliated/mstksg) (Ping timeout: 272 seconds)
2020-10-02 08:27:59 +0200dhouthoo(~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be)
2020-10-02 08:30:49 +0200danvet_(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2020-10-02 08:30:56 +0200yoneda(~mike@193.206.102.122) (Quit: leaving)
2020-10-02 08:32:20 +0200ericsagnes(~ericsagne@2405:6580:0:5100:2167:f0f2:60e2:589)
2020-10-02 08:33:22 +0200cfricke(~cfricke@unaffiliated/cfricke)
2020-10-02 08:35:11 +0200ryansmccoy(~ryansmcco@193.37.254.27) (Ping timeout: 258 seconds)
2020-10-02 08:36:10 +0200ryansmccoy(~ryansmcco@193.37.254.27)
2020-10-02 08:37:03 +0200yoneda(~mike@193.206.102.122)
2020-10-02 08:38:11 +0200hiroaki(~hiroaki@2a02:908:4b18:e20::a362) (Ping timeout: 272 seconds)
2020-10-02 08:38:17 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-02 08:38:25 +0200danso(~dan@107-190-41-58.cpe.teksavvy.com) (Quit: WeeChat 2.9)
2020-10-02 08:41:06 +0200Sheilong(uid293653@gateway/web/irccloud.com/x-rtxvrjvmyhuaovrl) (Quit: Connection closed for inactivity)
2020-10-02 08:42:19 +0200dansho(~dansho@ip68-108-167-185.lv.lv.cox.net) (Quit: Leaving)
2020-10-02 08:42:55 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-02 08:43:25 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 264 seconds)
2020-10-02 08:43:27 +0200livvy(~livvy@gateway/tor-sasl/livvy)
2020-10-02 08:43:42 +0200voyons_calisse(~dan@107-190-41-58.cpe.teksavvy.com) (Quit: Leaving)
2020-10-02 08:44:39 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 08:46:40 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com)
2020-10-02 08:46:40 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host)
2020-10-02 08:46:40 +0200jle`(~mstksg@unaffiliated/mstksg)
2020-10-02 08:47:32 +0200howdoi(uid224@gateway/web/irccloud.com/x-impnfldsswehocvz) (Quit: Connection closed for inactivity)
2020-10-02 08:47:50 +0200 <dminuoso> hololeap: The ordering is not stable/defined as part of an API.
2020-10-02 08:48:22 +0200 <dminuoso> I'd expect it to be `n e f`, but if you need this to be part of the API, use the Proxy pattern
2020-10-02 08:48:36 +0200 <dminuoso> In fact, the ordering already changed once for some situation.
2020-10-02 08:49:31 +0200 <dminuoso> Oh wait, hold on. I misread, for runFoo the ordering is n e f.
2020-10-02 08:51:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-02 08:53:00 +0200tzh(~tzh@2601:448:c500:5300::143b) (Quit: zzz)
2020-10-02 08:55:53 +0200jle`(~mstksg@unaffiliated/mstksg) (Ping timeout: 258 seconds)
2020-10-02 08:57:20 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2020-10-02 08:58:37 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-02 09:03:12 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-10-02 09:08:28 +0200lagothrix(~lagothrix@unaffiliated/lagothrix)
2020-10-02 09:10:45 +0200Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 240 seconds)
2020-10-02 09:11:19 +0200alp(~alp@2a01:e0a:58b:4920:b4e0:35e5:8ad8:3e24)
2020-10-02 09:11:21 +0200jgt(~jgt@188.239.64.32)
2020-10-02 09:11:21 +0200chele(~chele@ip5b416ea2.dynamic.kabel-deutschland.de)
2020-10-02 09:13:12 +0200thc202(~thc202@unaffiliated/thc202)
2020-10-02 09:14:55 +0200borne(~fritjof@200116b8644ae80060d3dbeddb543969.dip.versatel-1u1.de) (Ping timeout: 272 seconds)
2020-10-02 09:16:11 +0200mananamenos(~mananamen@84.122.202.215.dyn.user.ono.com)
2020-10-02 09:16:40 +0200whiteline(~whiteline@unaffiliated/whiteline)
2020-10-02 09:18:02 +0200jle`(~mstksg@unaffiliated/mstksg)
2020-10-02 09:21:52 +0200HaskellYogi(~vivekrama@49.207.197.215) (Remote host closed the connection)
2020-10-02 09:22:46 +0200HaskellYogi(~vivekrama@49.207.197.215)
2020-10-02 09:23:17 +0200kensanata(~kensanata@193.56.252.210)
2020-10-02 09:23:43 +0200jedws(~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 09:25:15 +0200HaskellY_(~vivekrama@49.207.204.165)
2020-10-02 09:27:07 +0200revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 240 seconds)
2020-10-02 09:27:09 +0200HaskellYogi(~vivekrama@49.207.197.215) (Ping timeout: 256 seconds)
2020-10-02 09:28:15 +0200revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
2020-10-02 09:29:13 +0200p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1)
2020-10-02 09:29:37 +0200HaskellY_(~vivekrama@49.207.204.165) (Ping timeout: 258 seconds)
2020-10-02 09:30:14 +0200tbreslein(~tbreslein@2a02:8108:140:44f8::901)
2020-10-02 09:30:43 +0200HaskellYogi(~vivekrama@49.207.204.165)
2020-10-02 09:31:04 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-02 09:31:06 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-02 09:31:08 +0200xwvvvvwx(~xwvvvvwx@185.213.155.160) (Ping timeout: 256 seconds)
2020-10-02 09:31:13 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-02 09:34:15 +0200mav1(~mav@i59F456E0.versanet.de)
2020-10-02 09:34:43 +0200jle`(~mstksg@unaffiliated/mstksg) (Ping timeout: 260 seconds)
2020-10-02 09:35:18 +0200HaskellYogi(~vivekrama@49.207.204.165) (Ping timeout: 260 seconds)
2020-10-02 09:36:23 +0200HaskellYogi(~vivekrama@49.207.204.165)
2020-10-02 09:36:29 +0200John20(~John@82.46.59.122)
2020-10-02 09:39:25 +0200mav1(~mav@i59F456E0.versanet.de) (Ping timeout: 246 seconds)
2020-10-02 09:41:08 +0200HaskellYogi(~vivekrama@49.207.204.165) (Ping timeout: 260 seconds)
2020-10-02 09:41:16 +0200Tops2(~Tobias@dyndsl-095-033-090-070.ewe-ip-backbone.de)
2020-10-02 09:41:58 +0200HaskellYogi(~vivekrama@49.207.204.165)
2020-10-02 09:43:50 +0200chaosmasttter(~chaosmast@p200300c4a711ea011d677dd0bd985d37.dip0.t-ipconnect.de)
2020-10-02 09:45:20 +0200mmohammadi9812(~mmohammad@2.178.202.133)
2020-10-02 09:46:46 +0200HaskellYogi(~vivekrama@49.207.204.165) (Ping timeout: 256 seconds)
2020-10-02 09:47:41 +0200HaskellYogi(~vivekrama@49.207.204.165)
2020-10-02 09:48:26 +0200Tops21(~Tobias@dyndsl-095-033-022-004.ewe-ip-backbone.de)
2020-10-02 09:48:43 +0200shatriff(~vitaliish@haunt.prize.volia.net) (Ping timeout: 260 seconds)
2020-10-02 09:49:13 +0200shatriff(~vitaliish@haunt.prize.volia.net)
2020-10-02 09:50:14 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com)
2020-10-02 09:50:14 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host)
2020-10-02 09:50:14 +0200jle`(~mstksg@unaffiliated/mstksg)
2020-10-02 09:50:37 +0200Tops2(~Tobias@dyndsl-095-033-090-070.ewe-ip-backbone.de) (Ping timeout: 264 seconds)
2020-10-02 09:51:45 +0200HaskellYogi(~vivekrama@49.207.204.165) (Ping timeout: 240 seconds)
2020-10-02 09:53:09 +0200HaskellYogi(~vivekrama@49.207.204.165)
2020-10-02 09:55:25 +0200macrover(~macrover@ip70-189-231-35.lv.lv.cox.net) (Ping timeout: 264 seconds)
2020-10-02 09:56:25 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2020-10-02 09:56:43 +0200 <Xnuk> Why do Haskellers prefer naming type variables with just a single character like: `type Over p f s t a b = p a (f b) -> s -> f t`?
2020-10-02 09:57:19 +0200jedws(~jedws@121.209.139.222)
2020-10-02 09:57:49 +0200HaskellYogi(~vivekrama@49.207.204.165) (Ping timeout: 264 seconds)
2020-10-02 09:58:07 +0200 <opqdonut> heh that one could definitely use some better names
2020-10-02 09:58:36 +0200 <opqdonut> most type signatures only have 1 or 2 type variables, and the meanings of the variables are so abstract that it's hard to find good names
2020-10-02 09:58:45 +0200 <opqdonut> :t const -- for example here
2020-10-02 09:58:47 +0200 <lambdabot> a -> b -> a
2020-10-02 09:59:12 +0200 <opqdonut> there are also some conventions like f for functor and m for monad
2020-10-02 09:59:37 +0200jle`(~mstksg@unaffiliated/mstksg) (Ping timeout: 264 seconds)
2020-10-02 09:59:37 +0200 <opqdonut> it's also a cultural thing, people see one-letter type variables so they use them, not necessarily weighing the benefits
2020-10-02 10:00:58 +0200 <opqdonut> wanting to fit a type signature on one line might be an additional reason for short type variable names
2020-10-02 10:01:31 +0200Turmfalke(~user@unaffiliated/siracusa) (Quit: Bye!)
2020-10-02 10:01:54 +0200 <lortabac> I have the impression that the same convention exists in other languages too, ex. List<T>, except that in Haskell we use type variables more often so it's probably more confusing
2020-10-02 10:02:07 +0200 <opqdonut> :t traverse
2020-10-02 10:02:09 +0200 <lambdabot> (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
2020-10-02 10:02:29 +0200 <opqdonut> "traverse :: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)" is almost 80 chars already
2020-10-02 10:02:31 +0200 <dminuoso> Xnuk: Imagine reading that particular type synonym if these were words 3-5 characters long
2020-10-02 10:02:42 +0200ryansmccoy(~ryansmcco@193.37.254.27) (Ping timeout: 256 seconds)
2020-10-02 10:03:05 +0200ryansmccoy(~ryansmcco@193.37.254.27)
2020-10-02 10:03:13 +0200taurux(~taurux@net-188-216-115-55.cust.vodafonedsl.it) (Ping timeout: 264 seconds)
2020-10-02 10:03:28 +0200abram(8b00731d@139.0.115.29)
2020-10-02 10:03:36 +0200taurux(~taurux@net-93-146-109-129.cust.vodafonedsl.it)
2020-10-02 10:04:54 +0200fendor(~fendor@91.141.2.239.wireless.dyn.drei.com)
2020-10-02 10:04:54 +0200aveltras(uid364989@gateway/web/irccloud.com/x-decqiotcaxthssop)
2020-10-02 10:05:10 +0200 <Xnuk> dminuoso: It would be more clear reading than pfstab, isn't it?
2020-10-02 10:05:40 +0200digia(~digia@unaffiliated/digia) (Quit: Beep Boop...)
2020-10-02 10:05:47 +0200chaosmasttter(~chaosmast@p200300c4a711ea011d677dd0bd985d37.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-02 10:07:50 +0200taurux(~taurux@net-93-146-109-129.cust.vodafonedsl.it) (Read error: Connection reset by peer)
2020-10-02 10:07:50 +0200osa1(~osa1@haskell/developer/osa1)
2020-10-02 10:07:55 +0200kritzefitz(~kritzefit@fw-front.credativ.com)
2020-10-02 10:08:02 +0200tito_04(~taurux@net-93-146-31-52.cust.vodafonedsl.it)
2020-10-02 10:08:42 +0200abram(8b00731d@139.0.115.29) (Remote host closed the connection)
2020-10-02 10:11:03 +0200osa1(~osa1@haskell/developer/osa1) ()
2020-10-02 10:12:22 +0200Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
2020-10-02 10:12:38 +0200jespada(~jespada@90.254.246.48) (Ping timeout: 260 seconds)
2020-10-02 10:13:08 +0200digia(~digia@unaffiliated/digia)
2020-10-02 10:14:18 +0200shafox(~shafox@106.51.234.111)
2020-10-02 10:14:46 +0200 <dminuoso> Xnuk: Doubtfully
2020-10-02 10:15:01 +0200jespada(~jespada@90.254.246.48)
2020-10-02 10:15:07 +0200coot(~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
2020-10-02 10:15:17 +0200 <dminuoso> It would require actively reading, with this you can just build up a mental mind model
2020-10-02 10:15:26 +0200 <dminuoso> And pretty much grok it with a first look
2020-10-02 10:15:40 +0200coot(~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl)
2020-10-02 10:15:44 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-02 10:15:54 +0200 <dminuoso> The one thing I sometimes miss, is operator variables
2020-10-02 10:16:02 +0200 <dminuoso> That is, that'd read much nicer if we could write:
2020-10-02 10:16:43 +0200 <dminuoso> type Over (~>) f s t a b = a ~> (f b) -> s -> f t
2020-10-02 10:16:50 +0200 <dminuoso> (Or something equivalent)
2020-10-02 10:17:28 +0200 <dminuoso> You used to be able to do that for certain situations
2020-10-02 10:17:54 +0200Neuromancer(~Neuromanc@unaffiliated/neuromancer)
2020-10-02 10:17:56 +0200 <dminuoso> (Maybe that needs some extra parens as well, not quite sure)
2020-10-02 10:18:07 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 260 seconds)
2020-10-02 10:18:25 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com)
2020-10-02 10:18:26 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host)
2020-10-02 10:18:26 +0200jle`(~mstksg@unaffiliated/mstksg)
2020-10-02 10:19:30 +0200cpressey(~cpressey@88.144.70.46)
2020-10-02 10:25:13 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 10:25:13 +0200mav1(~mav@i59F456E0.versanet.de)
2020-10-02 10:25:39 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 10:26:36 +0200borne(~fritjof@200116b8644ae80007933c164a08810c.dip.versatel-1u1.de)
2020-10-02 10:27:02 +0200ddere(uid110888@gateway/web/irccloud.com/x-jyvwqhdwbvlfvtyo) (Quit: Connection closed for inactivity)
2020-10-02 10:28:07 +0200ryansmccoy(~ryansmcco@193.37.254.27) (Ping timeout: 240 seconds)
2020-10-02 10:28:37 +0200ryansmccoy(~ryansmcco@193.37.254.27)
2020-10-02 10:29:28 +0200tito_04(~taurux@net-93-146-31-52.cust.vodafonedsl.it) (Quit: ZNC 1.7.5 - https://znc.in)
2020-10-02 10:29:53 +0200hnOsmium0001(uid453710@gateway/web/irccloud.com/x-nrjrerspdzjidqfs) (Quit: Connection closed for inactivity)
2020-10-02 10:30:10 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2020-10-02 10:30:19 +0200taurux(~taurux@net-93-146-31-52.cust.vodafonedsl.it)
2020-10-02 10:31:37 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-02 10:32:08 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-02 10:32:26 +0200xwvvvvwx(~xwvvvvwx@185.213.155.160)
2020-10-02 10:33:45 +0200HaskellYogi(~vivekrama@49.207.204.165)
2020-10-02 10:34:37 +0200raichoo(~raichoo@213.240.178.58)
2020-10-02 10:35:29 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-02 10:36:32 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-02 10:40:07 +0200jwynn6(~jwynn6@050-088-122-078.res.spectrum.com) (Ping timeout: 240 seconds)
2020-10-02 10:41:17 +0200taurux(~taurux@net-93-146-31-52.cust.vodafonedsl.it) (Quit: ZNC 1.7.5 - https://znc.in)
2020-10-02 10:42:45 +0200mav1(~mav@i59F456E0.versanet.de) (Ping timeout: 240 seconds)
2020-10-02 10:43:23 +0200drbean(~drbean@TC210-63-209-180.static.apol.com.tw) (Read error: Connection reset by peer)
2020-10-02 10:44:44 +0200taurux(~taurux@net-93-146-31-52.cust.vodafonedsl.it)
2020-10-02 10:45:04 +0200 <jgt> Xnuk: can you think of better names for those variables?
2020-10-02 10:45:14 +0200o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-10-02 10:45:49 +0200dhil(~dhil@11.29.39.217.dyn.plus.net)
2020-10-02 10:49:47 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds)
2020-10-02 10:51:25 +0200xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 240 seconds)
2020-10-02 10:51:56 +0200aarvar(~foewfoiew@50.35.43.33) (Ping timeout: 256 seconds)
2020-10-02 10:52:34 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 246 seconds)
2020-10-02 10:53:41 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 10:55:27 +0200ryansmccoy(~ryansmcco@193.37.254.27) (Ping timeout: 260 seconds)
2020-10-02 10:56:11 +0200ryansmccoy(~ryansmcco@68.235.48.108)
2020-10-02 10:56:58 +0200taurux(~taurux@net-93-146-31-52.cust.vodafonedsl.it) (Ping timeout: 260 seconds)
2020-10-02 10:57:24 +0200taurux(~taurux@net-93-144-28-140.cust.vodafonedsl.it)
2020-10-02 10:58:39 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2020-10-02 10:58:51 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-02 11:00:02 +0200kensanata(~kensanata@193.56.252.210) ()
2020-10-02 11:00:25 +0200joshua[m]1(joshuajosh@gateway/shell/matrix.org/x-bsjzwfmkqnvbwcsg) (Quit: Idle for 30+ days)
2020-10-02 11:00:29 +0200jwynn6(~jwynn6@050-088-122-078.res.spectrum.com)
2020-10-02 11:03:05 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-10-02 11:06:59 +0200HaskellYogi(~vivekrama@49.207.204.165) (Ping timeout: 240 seconds)
2020-10-02 11:07:20 +0200shatriff(~vitaliish@haunt.prize.volia.net) (Remote host closed the connection)
2020-10-02 11:07:34 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6)
2020-10-02 11:07:35 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 11:08:13 +0200darjeeling_(~darjeelin@122.245.210.179)
2020-10-02 11:10:17 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-02 11:13:46 +0200 <maralorn> I am writing a program that is supposed to quickly read the input, do some transformation on it (probably line by line) and then forward it to output. So that I can put nicely into a linux pipeline like grep or sed.
2020-10-02 11:14:10 +0200 <maralorn> Right now I have a very stupid forever loop that reads a line to Text and then prints a line to Text.
2020-10-02 11:14:33 +0200 <maralorn> Any tricks how I can do that more nicely?
2020-10-02 11:15:02 +0200jedws(~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 11:15:19 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-10-02 11:15:51 +0200jedws(~jedws@121.209.139.222)
2020-10-02 11:17:31 +0200 <dminuoso> Do what more nicely exactly?
2020-10-02 11:17:37 +0200 <dminuoso> % :t interact
2020-10-02 11:17:37 +0200 <yahb> dminuoso: (String -> String) -> IO ()
2020-10-02 11:17:41 +0200 <dminuoso> That? :)
2020-10-02 11:19:07 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-02 11:19:35 +0200finkata(~dpetrov@83.222.188.39)
2020-10-02 11:22:18 +0200Franciman(~francesco@host-212-171-42-250.retail.telecomitalia.it)
2020-10-02 11:26:44 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2020-10-02 11:27:41 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f)
2020-10-02 11:29:57 +0200hackagelibmpd 0.9.2.0 - An MPD client library. https://hackage.haskell.org/package/libmpd-0.9.2.0 (psibi)
2020-10-02 11:34:09 +0200jedws(~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 11:34:27 +0200HaskellYogi(~vivekrama@49.207.204.165)
2020-10-02 11:39:07 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 11:39:13 +0200HaskellYogi(~vivekrama@49.207.204.165) (Ping timeout: 264 seconds)
2020-10-02 11:40:02 +0200HaskellYogi(~vivekrama@49.207.204.165)
2020-10-02 11:43:00 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 256 seconds)
2020-10-02 11:43:28 +0200__monty__(~toonn@unaffiliated/toonn)
2020-10-02 11:44:05 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2020-10-02 11:44:48 +0200HaskellYogi(~vivekrama@49.207.204.165) (Ping timeout: 260 seconds)
2020-10-02 11:45:37 +0200HaskellYogi(~vivekrama@49.207.204.165)
2020-10-02 11:47:46 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 11:49:37 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 11:50:34 +0200xerox_(~xerox@unaffiliated/xerox)
2020-10-02 11:51:17 +0200Frost1(~Frost@84.39.117.57)
2020-10-02 11:54:14 +0200todda7(~torstein@athedsl-4367507.home.otenet.gr)
2020-10-02 11:54:15 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-02 11:54:59 +0200noan(~noan@192.241.157.119) (Quit: ZNC 1.8.1 - https://znc.in)
2020-10-02 11:54:59 +0200DigitalKiwi(~kiwi@unaffiliated/digitalkiwi) (Quit: quite.)
2020-10-02 11:55:25 +0200DigitalKiwi(~kiwi@unaffiliated/digitalkiwi)
2020-10-02 11:55:30 +0200noan(~noan@2604:a880:400:d0::12fc:5001)
2020-10-02 11:58:35 +0200dhil(~dhil@11.29.39.217.dyn.plus.net) (Ping timeout: 265 seconds)
2020-10-02 11:58:55 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) (Quit: Leaving)
2020-10-02 11:59:53 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 12:00:31 +0200Rudd0(~Rudd0@185.189.115.98)
2020-10-02 12:04:05 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-02 12:05:23 +0200 <ski> dminuoso : yes. it was `(a ~> f b) -> s -> f t'
2020-10-02 12:06:47 +0200 <ski> hololeap : order parameters so that partial application makes more sense
2020-10-02 12:08:27 +0200acidjnk_new(~acidjnk@p200300d0c723788040fc08bec5cc5c11.dip0.t-ipconnect.de)
2020-10-02 12:09:48 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 12:13:35 +0200 <tomjaguarpaw> What is standard practice for getting small PRs to Cabal reviewed?
2020-10-02 12:13:45 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 240 seconds)
2020-10-02 12:14:20 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-02 12:15:12 +0200 <ski> (with `IsFoo f n e', you could do `newtype Blah = MkBlah Bork deriving (IsFoo MyF myN)', assuming you have `instance IsFoo MyF MyN Bork'. but perhaps you'd prefer another partial application here, from another ordering, in case such would be useful at all for you)
2020-10-02 12:16:27 +0200todda7(~torstein@athedsl-4367507.home.otenet.gr) (Ping timeout: 240 seconds)
2020-10-02 12:18:12 +0200 <dminuoso> tomjaguarpaw: Bribing phadej could work.
2020-10-02 12:20:04 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 12:20:27 +0200 <dminuoso> tomjaguarpaw: I find your style harder to read.
2020-10-02 12:21:05 +0200rprije(~rprije@203.214.95.251) (Ping timeout: 240 seconds)
2020-10-02 12:21:14 +0200HaskellYogi(~vivekrama@49.207.204.165) (Ping timeout: 272 seconds)
2020-10-02 12:21:54 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net)
2020-10-02 12:22:23 +0200ericsagnes(~ericsagne@2405:6580:0:5100:2167:f0f2:60e2:589) (Ping timeout: 272 seconds)
2020-10-02 12:24:20 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 12:24:25 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-02 12:24:47 +0200jgt(~jgt@188.239.64.32) (Ping timeout: 240 seconds)
2020-10-02 12:25:41 +0200hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus) (Quit: hekkaidekapus)
2020-10-02 12:28:15 +0200 <tomjaguarpaw> If you could go to the PR and explain why that would be a good start :)
2020-10-02 12:28:45 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 240 seconds)
2020-10-02 12:29:16 +0200shatriff(~vitaliish@178-133-29-105.mobile.vf-ua.net)
2020-10-02 12:30:10 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 12:31:36 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 12:32:28 +0200hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-10-02 12:32:56 +0200ph88(~ph88@46.183.103.8)
2020-10-02 12:33:25 +0200ph88(~ph88@46.183.103.8) (Remote host closed the connection)
2020-10-02 12:33:27 +0200hackageth-lego 0.1.0.3 - Template Haskell construction utilities https://hackage.haskell.org/package/th-lego-0.1.0.3 (NikitaVolkov)
2020-10-02 12:33:55 +0200alp(~alp@2a01:e0a:58b:4920:b4e0:35e5:8ad8:3e24) (Ping timeout: 240 seconds)
2020-10-02 12:34:24 +0200ericsagnes(~ericsagne@2405:6580:0:5100:85dd:325e:8566:f6fa)
2020-10-02 12:34:50 +0200niko(~niko@freenode/staff/ubuntu.member.niko) (Ping timeout: 619 seconds)
2020-10-02 12:34:51 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-02 12:36:15 +0200dhil(~dhil@11.29.39.217.dyn.plus.net)
2020-10-02 12:36:44 +0200 <maralorn> dminuoso: Does interact split line by line or does it rely on lazyness?
2020-10-02 12:36:51 +0200ph88(~ph88@46.183.103.8)
2020-10-02 12:36:51 +0200 <phadej> dminuoso, tomjaguarpaw for whole of september I was concentrating on polishing 3.4 release, there are still some (but I hope only one in Cabal-the-lib), and GHC-9.0-alpha1 is already out
2020-10-02 12:36:59 +0200 <phadej> so sorry for not context switching
2020-10-02 12:37:28 +0200 <hc> context switching is bad anyway. (I do it everytime I am waiting for the compiler to finish, though ;p )
2020-10-02 12:37:34 +0200 <maralorn> Also, I would like a solution that preserves terminal controlcode formating.
2020-10-02 12:37:50 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 258 seconds)
2020-10-02 12:38:29 +0200 <hc> maralorn: interact relies on lazyness
2020-10-02 12:39:43 +0200 <maralorn> Other question how can I build a state machine based parser?
2020-10-02 12:40:25 +0200jgt(~jgt@188.239.64.32)
2020-10-02 12:40:50 +0200draliana(draliana@bl6-172-220.dsl.telepac.pt)
2020-10-02 12:41:14 +0200 <maralorn> Right now I parse a line that could be one of many things with megaparsec and I do it very terribly by having one parser for every possible variant and "try" them one after the otherr.
2020-10-02 12:41:20 +0200HaskellYogi(~vivekrama@49.207.202.80)
2020-10-02 12:41:59 +0200shatriff(~vitaliish@178-133-29-105.mobile.vf-ua.net) (Remote host closed the connection)
2020-10-02 12:42:04 +0200 <ski> perhaps you could try Happy
2020-10-02 12:42:30 +0200Guest18(567e8866@gateway/web/cgi-irc/kiwiirc.com/ip.86.126.136.102)
2020-10-02 12:44:10 +0200kuribas(~user@ptr-25vy0i9v0yveatz4g8h.18120a2.ip6.access.telenet.be)
2020-10-02 12:45:08 +0200 <maralorn> Is the documentation for happy rendered somewhere? The webpage linked on hackage apparently hasn‘t been updated since 2010 (!) https://www.haskell.org/happy/
2020-10-02 12:46:25 +0200ericsagnes(~ericsagne@2405:6580:0:5100:85dd:325e:8566:f6fa) (Ping timeout: 240 seconds)
2020-10-02 12:48:18 +0200HaskellYogi(~vivekrama@49.207.202.80) (Remote host closed the connection)
2020-10-02 12:48:56 +0200HaskellYogi(~vivekrama@49.207.202.80)
2020-10-02 12:49:43 +0200 <tomjaguarpaw> phadej: No problem at all.
2020-10-02 12:49:48 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 12:50:02 +0200cpressey(~cpressey@88.144.70.46) (Quit: WeeChat 1.9.1)
2020-10-02 12:50:48 +0200 <phadej> s/some/some bugs
2020-10-02 12:51:28 +0200Wamanuz(~wamanuz@78-70-34-81-no84.tbcn.telia.com) (Remote host closed the connection)
2020-10-02 12:51:54 +0200 <ski> @hackage happy
2020-10-02 12:51:55 +0200 <lambdabot> https://hackage.haskell.org/package/happy
2020-10-02 12:52:04 +0200ph88^(~ph88@46.183.103.8)
2020-10-02 12:52:20 +0200 <ski> perhaps
2020-10-02 12:52:22 +0200 <ski> @where bnfc
2020-10-02 12:52:22 +0200 <lambdabot> BNF Converter, http://bnfc.digitalgrammars.com/
2020-10-02 12:52:34 +0200 <ski> could also be useful, depending on what you want to do
2020-10-02 12:52:44 +0200 <ski> (it uses Happy)
2020-10-02 12:53:08 +0200alp(~alp@2a01:e0a:58b:4920:1515:91a6:893c:5718)
2020-10-02 12:54:19 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2020-10-02 12:54:27 +0200HaskellYogi(~vivekrama@49.207.202.80) (Ping timeout: 260 seconds)
2020-10-02 12:55:27 +0200ph88(~ph88@46.183.103.8) (Ping timeout: 240 seconds)
2020-10-02 12:55:33 +0200HaskellYogi(~vivekrama@49.207.202.80)
2020-10-02 12:55:53 +0200perdent(~blah@101.175.84.75)
2020-10-02 12:55:55 +0200 <maralorn> ski: happy seems a bit of an overkill for my purpose. Especially because I want to look at an input stream, see if something in there parses and if not take that line as "raw" and proceed to the next line.
2020-10-02 12:56:04 +0200 <perdent> For all the the integers in the interval [100, 1400] which are a multiple of 20, find the numbers that have a digit sum of 14. The solution to the challenge is the average of all the resulting numbers, rounded up to an integral value. The digit sum of a number is the sum of all decimal digits. For example, the digit sum of 324 is 3+2+4=9.
2020-10-02 12:56:29 +0200mmohammadi98120(~mmohammad@5.238.160.203)
2020-10-02 12:58:25 +0200mmohammadi9812(~mmohammad@2.178.202.133) (Ping timeout: 264 seconds)
2020-10-02 12:58:33 +0200Wamanuz(~wamanuz@78-70-34-81-no84.tbcn.telia.com)
2020-10-02 12:59:08 +0200cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
2020-10-02 12:59:41 +0200 <maralorn> Or phrased differently: ski, how do I deal with a grammar where a certain input can have multiple generators?
2020-10-02 12:59:57 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 13:00:02 +0200mmohammadi9812(~mmohammad@2.178.165.42)
2020-10-02 13:00:13 +0200 <ski> dunno what you mean by "multiple generators" ?
2020-10-02 13:00:16 +0200 <tomsmeding> maralorn: how hard is it to determine what case the line falls in from looking at the line?
2020-10-02 13:00:27 +0200HaskellYogi(~vivekrama@49.207.202.80) (Ping timeout: 265 seconds)
2020-10-02 13:00:29 +0200 <ski> you mean the grammar is ambiguous ?
2020-10-02 13:00:31 +0200 <tomsmeding> like, would case-switching on head (words line) work? :p
2020-10-02 13:00:39 +0200 <ski> perdent : is it Haskell-related ?
2020-10-02 13:01:04 +0200 <perdent> No ignore it
2020-10-02 13:01:09 +0200HaskellYogi(~vivekrama@49.207.202.80)
2020-10-02 13:01:42 +0200 <maralorn> tomsmeding: It's not that easy.
2020-10-02 13:01:44 +0200 <ski> (you mean you sent it in here, by mistake ?)
2020-10-02 13:02:14 +0200 <tomsmeding> maralorn: okay, what algorithm did you have in mind then, ignoring complexity of implementation?
2020-10-02 13:02:23 +0200mmohammadi98120(~mmohammad@5.238.160.203) (Ping timeout: 265 seconds)
2020-10-02 13:03:05 +0200 <perdent> Yeah
2020-10-02 13:03:08 +0200mmohammadi98126(~mmohammad@2.178.216.171)
2020-10-02 13:03:52 +0200 <maralorn> tomsmeding: Right now I do this: Look at the line, does it match a) if yes process if no does it match b) if yes ... until if it does not match anything at all process as "raw"
2020-10-02 13:04:14 +0200 <maralorn> The problem is that some of the cases have long common prefixes.
2020-10-02 13:04:22 +0200 <tomsmeding> ah
2020-10-02 13:04:31 +0200 <tomsmeding> long as in?
2020-10-02 13:04:32 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-02 13:04:52 +0200 <ski> maralorn : could you reasonably left-factor those cases ?
2020-10-02 13:05:10 +0200 <maralorn> long as in I don‘t have a performance problem at all, my program works I just want it to be pretty.^^
2020-10-02 13:05:18 +0200 <tomsmeding> :D
2020-10-02 13:05:25 +0200 <maralorn> ski: I am not sure I know what that means.
2020-10-02 13:05:34 +0200mmohammadi9812(~mmohammad@2.178.165.42) (Ping timeout: 272 seconds)
2020-10-02 13:05:49 +0200HaskellYogi(~vivekrama@49.207.202.80) (Ping timeout: 258 seconds)
2020-10-02 13:06:01 +0200 <tomsmeding> what ski said, or perhaps use an applicative parser library that includes a decent optimiser (I don't know if that exists)?
2020-10-02 13:06:10 +0200 <maralorn> I have actually solved the trickiest one by having a Parser (Either MatchA MatchB) …
2020-10-02 13:06:44 +0200HaskellYogi(~vivekrama@49.207.202.80)
2020-10-02 13:07:03 +0200 <tomsmeding> I take it that ski meant going from try (string "prefixA" >> return 1) <|> try (string "prefixB" >> return 2) to the following: try (string "prefix" >> ((char 'A' >> return 1) <|> (char 'B' >> return 2))
2020-10-02 13:07:28 +0200 <maralorn> Ah, nice.
2020-10-02 13:07:36 +0200 <ski> yes
2020-10-02 13:08:01 +0200 <tomsmeding> modulo syntactic details :p
2020-10-02 13:08:13 +0200mmohammadi98126(~mmohammad@2.178.216.171) (Ping timeout: 260 seconds)
2020-10-02 13:08:46 +0200 <tomsmeding> but I think that if you can express your parsers in applicative form, a good optimiser would be able to perform that left-factoring automatically
2020-10-02 13:08:59 +0200noobhaskell(6763cd07@103.99.205.7)
2020-10-02 13:09:06 +0200 <tomsmeding> but I don't know whether that's actually true, and also I don't know whether such a good library exists
2020-10-02 13:09:15 +0200 <maralorn> Does megaparsec do something like that?
2020-10-02 13:09:25 +0200 <tomsmeding> megaparsec is monadic parsing, right?
2020-10-02 13:09:43 +0200 <tomsmeding> applicative parsing is strictly weaker than monadic parsing, so unless it has two completely distinct parsing engines under the hood, I think it doesn't
2020-10-02 13:09:58 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 13:10:15 +0200 <tomsmeding> https://stackoverflow.com/questions/7861903/what-are-the-benefits-of-applicative-parsing-over-mona…
2020-10-02 13:10:15 +0200 <ski> i suppose you could also try something like <https://hackage.haskell.org/package/base-4.14.0.0/docs/Text-ParserCombinators-ReadP.html> or <https://hackage.haskell.org/package/base-4.14.0.0/docs/Text-ParserCombinators-ReadP.html>
2020-10-02 13:10:26 +0200 <tomsmeding> same link?
2020-10-02 13:11:34 +0200niko(~niko@freenode/staff/ubuntu.member.niko)
2020-10-02 13:11:35 +0200noobhaskell(6763cd07@103.99.205.7) (Remote host closed the connection)
2020-10-02 13:11:44 +0200conal(~conal@107.181.166.148) (Read error: Connection reset by peer)
2020-10-02 13:12:07 +0200 <tomsmeding> ski: looks cool, TIL
2020-10-02 13:12:58 +0200hackagenri-prelude 0.1.0.1 - A Prelude inspired by the Elm programming language https://hackage.haskell.org/package/nri-prelude-0.1.0.1 (JasperWoudenberg)
2020-10-02 13:14:36 +0200 <tomsmeding> ski: is that able to optimise (string "prefixA" >> return 1) +++ (string "prefixB" >> return 2) to something like string "prefix" >> ((char 'A' >> return 1) +++ (char 'B' >> return 2)) ?
2020-10-02 13:14:37 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2020-10-02 13:15:20 +0200 <tomsmeding> ah the ReadP representation is CPS'ed, so I guess not
2020-10-02 13:16:57 +0200hackagefused-effects-readline 0.1.0.1 - A readline-like effect and carrier for fused-effects https://hackage.haskell.org/package/fused-effects-readline-0.1.0.1 (robrix)
2020-10-02 13:16:57 +0200conal(~conal@107.181.166.148)
2020-10-02 13:17:36 +0200HaskellYogi(~vivekrama@49.207.202.80) (Ping timeout: 272 seconds)
2020-10-02 13:17:42 +0200 <tomsmeding> or perhaps it does, there's some magic going on with the P type
2020-10-02 13:20:19 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 13:21:04 +0200 <maralorn> I think I need interact where the function can be IO …
2020-10-02 13:21:24 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 13:21:28 +0200 <tomsmeding> okay so it kind of does: the implementation of +++ via <|> does combine Look, and later Get values, but I think there's still some kind of double work performed but not sure
2020-10-02 13:22:05 +0200 <tomsmeding> :t \f -> getContents >>= f >>= putStr
2020-10-02 13:22:07 +0200 <lambdabot> (String -> IO String) -> IO ()
2020-10-02 13:22:10 +0200 <tomsmeding> maralorn: ^
2020-10-02 13:22:12 +0200 <tomsmeding> :p
2020-10-02 13:22:35 +0200 <maralorn> Also: Looks right.^^
2020-10-02 13:23:18 +0200 <ski> what `IO' do you want/need ?
2020-10-02 13:23:35 +0200HaskellYogi(~vivekrama@49.207.202.80)
2020-10-02 13:23:51 +0200 <maralorn> ski: I want to e.g. put a current timestamp into my output.
2020-10-02 13:24:28 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2020-10-02 13:24:31 +0200 <maralorn> Or query the system for additional info about the input I am getting.
2020-10-02 13:24:50 +0200 <maralorn> I wonder if I should look into a Streaming lib.
2020-10-02 13:25:46 +0200 <tomsmeding> maralorn: caution: that expression doesn't work, it blocks until the entire input is read apparently
2020-10-02 13:27:00 +0200 <ski> if timestamps are always put in the same place in the generated lines, perhaps you could (incrementally) generate a list of `String's, and then insert the timestamps as you output the lines
2020-10-02 13:28:06 +0200 <maralorn> I think my Plan would be right now to do something like having a "Parser [ParseResult]", a function "ParseResult -> IO Text", map that to something like [ParseResult] -> IO [Text] and then return the concatenation of that …
2020-10-02 13:28:11 +0200HaskellYogi(~vivekrama@49.207.202.80) (Ping timeout: 240 seconds)
2020-10-02 13:28:27 +0200hackagenri-prelude 0.1.0.2 - A Prelude inspired by the Elm programming language https://hackage.haskell.org/package/nri-prelude-0.1.0.2 (JasperWoudenberg)
2020-10-02 13:28:40 +0200raehik(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net)
2020-10-02 13:28:43 +0200 <maralorn> Where I would write the Parser in a way that could never fail.
2020-10-02 13:29:02 +0200 <ski> tomsmeding : you could sprinkle `unsafeInterleaveIO' :)
2020-10-02 13:29:31 +0200borne(~fritjof@200116b8644ae80007933c164a08810c.dip.versatel-1u1.de) (Ping timeout: 272 seconds)
2020-10-02 13:29:34 +0200inkbottle(~inkbottle@aaubervilliers-654-1-1-33.w83-200.abo.wanadoo.fr)
2020-10-02 13:29:49 +0200urodna(~urodna@unaffiliated/urodna)
2020-10-02 13:30:04 +0200zebrag(~inkbottle@aaubervilliers-654-1-117-166.w86-198.abo.wanadoo.fr) (Ping timeout: 246 seconds)
2020-10-02 13:30:16 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 13:30:27 +0200hackagenri-env-parser 0.1.0.1 - Read environment variables as settings to build 12-factor apps. https://hackage.haskell.org/package/nri-env-parser-0.1.0.1 (JasperWoudenberg)
2020-10-02 13:30:45 +0200borne(~fritjof@200116b864545000eb24a00afefc421b.dip.versatel-1u1.de)
2020-10-02 13:30:53 +0200 <tomsmeding> or use
2020-10-02 13:30:59 +0200 <tomsmeding> :t \f -> getContents >>= mapM_ (f >=> putStrLn) . lines
2020-10-02 13:31:00 +0200 <lambdabot> (String -> IO String) -> IO ()
2020-10-02 13:31:10 +0200 <tomsmeding> which runs f for every line :)
2020-10-02 13:31:59 +0200hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-10-02 13:32:12 +0200 <maralorn> tomsmeding: Yeah, but sometimes the Parser needs to consume multiple lines
2020-10-02 13:33:50 +0200Tops2(~Tobias@dyndsl-095-033-022-004.ewe-ip-backbone.de)
2020-10-02 13:34:23 +0200hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-10-02 13:35:03 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-02 13:35:58 +0200jonatanb(~jonatanb@83.24.231.247.ipv4.supernova.orange.pl)
2020-10-02 13:36:41 +0200TCZ(~TCZ@ip-91.246.66.111.skyware.pl)
2020-10-02 13:36:58 +0200 <orzo> I'm trying to do scalar multiplication with hmatrix's type-safe "static" vectors http://dis.um.es/~alberto/hmatrix/static.html
2020-10-02 13:37:05 +0200 <orzo> i can't figure it out
2020-10-02 13:37:06 +0200polyrain(~polyrain@2001:8003:640b:b900:3932:cca7:5271:9742)
2020-10-02 13:37:11 +0200TCZ(~TCZ@ip-91.246.66.111.skyware.pl) ("Leaving")
2020-10-02 13:37:14 +0200Tops21(~Tobias@dyndsl-095-033-022-004.ewe-ip-backbone.de) (Ping timeout: 272 seconds)
2020-10-02 13:40:30 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 13:41:15 +0200 <orzo> do i have to convert it to a dynamic vector just to multiply it by a scalar?
2020-10-02 13:41:19 +0200todda7(~torstein@athedsl-4367507.home.otenet.gr)
2020-10-02 13:42:05 +0200zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2020-10-02 13:42:27 +0200jgt(~jgt@188.239.64.32) (Ping timeout: 240 seconds)
2020-10-02 13:44:59 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-02 13:45:06 +0200drbean(~drbean@TC210-63-209-213.static.apol.com.tw)
2020-10-02 13:45:26 +0200 <opqdonut> orzo: is * perhaps element-wise multiplication? so you could create a constant matrix of the same size and then use *
2020-10-02 13:46:07 +0200 <opqdonut> so something like 'fromInteger 3 * mat' should work as far as I can see
2020-10-02 13:46:24 +0200 <opqdonut> but I'm just curious and reading the docs, I haven't used hmatrix
2020-10-02 13:46:27 +0200 <tomsmeding> orzo: https://hackage.haskell.org/package/hmatrix-0.20.0.0/docs/Numeric-LinearAlgebra.html#g:3 seems to suggest '3 * mat' should work
2020-10-02 13:46:40 +0200 <tomsmeding> though that does create a dynamic vector behind the scenes
2020-10-02 13:46:58 +0200 <tomsmeding> (if you follow the Num and >< definitions in the source)
2020-10-02 13:47:25 +0200 <tomsmeding> perhaps Vector fusion does magic and eliminates that intermediate vector? /shrug/
2020-10-02 13:48:02 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-02 13:48:10 +0200Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2020-10-02 13:48:47 +0200alx741_(~alx741@186.178.110.227) (Ping timeout: 265 seconds)
2020-10-02 13:50:02 +0200 <phadej> probably no
2020-10-02 13:50:35 +0200 <tomsmeding> ah there is 'scale :: t -> Matrix t -> Matrix t'
2020-10-02 13:50:43 +0200 <tomsmeding> orzo: ^
2020-10-02 13:52:07 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-02 13:52:33 +0200 <tomsmeding> and that seems to call out to a foreign C function via some detours
2020-10-02 13:53:43 +0200 <tomsmeding> (scale comes from the Linear typeclass)
2020-10-02 13:55:28 +0200hackagestylish-haskell 0.12.0.0 - Haskell code prettifier https://hackage.haskell.org/package/stylish-haskell-0.12.0.0 (JasperVanDerJeugt)
2020-10-02 13:56:46 +0200 <maralorn> Wait, I can‘t have a lazy Parser, can I? At least parse :: s -> Either (ParseErrorBundle s e) a will be strict in the Either, so it needs to consume all input until it knows, it it succeeded, right?
2020-10-02 13:58:08 +0200 <ski> i guess if you assume your input is well-formed, don't care about potential errors, then you could be more lazy
2020-10-02 14:00:01 +0200Frost1(~Frost@84.39.117.57) ()
2020-10-02 14:00:39 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 14:01:11 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 260 seconds)
2020-10-02 14:01:19 +0200alx741_(~alx741@181.196.69.166)
2020-10-02 14:01:52 +0200zabracks(sid322453@gateway/web/irccloud.com/x-quucjgaiznbgmxnq) (Quit: Connection closed for inactivity)
2020-10-02 14:03:07 +0200p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
2020-10-02 14:03:31 +0200DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-10-02 14:03:39 +0200 <maralorn> Yeah, it makes sense in my head. But I don‘t finde a lib which can do it.
2020-10-02 14:03:43 +0200p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2020-10-02 14:03:44 +0200Amras(~Amras@unaffiliated/amras0000)
2020-10-02 14:03:47 +0200 <maralorn> Or I don‘t see how to use them to do it.
2020-10-02 14:04:23 +0200DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-10-02 14:04:30 +0200p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
2020-10-02 14:04:47 +0200 <maralorn> I think the problem is that I need a Parser type that can say "Success this a is my Result, but oh btw. I haven‘t consumed this string s, so you might wanna look into that"
2020-10-02 14:05:10 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-02 14:05:29 +0200CMCDragonkai1(~Thunderbi@124.19.3.250) (Quit: CMCDragonkai1)
2020-10-02 14:05:34 +0200 <maralorn> Huh, I could try that With Parser (a,s).^^
2020-10-02 14:06:05 +0200 <tomjaguarpaw> What is the canonical location for Cabal documentation?
2020-10-02 14:06:22 +0200 <tomjaguarpaw> Is it cabal.readthedocs.io?
2020-10-02 14:06:56 +0200jgt(~jgt@195.225.146.77)
2020-10-02 14:07:06 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 14:08:43 +0200Sarma(~Amras@unaffiliated/amras0000)
2020-10-02 14:09:06 +0200 <yushyin> tomjaguarpaw: at least https://www.haskell.org/cabal/ links to https://cabal.readthedocs.io/ so I guess, yes!
2020-10-02 14:10:03 +0200HaskellYogi(~vivekrama@49.207.202.80)
2020-10-02 14:10:36 +0200 <ski> maralorn : `s' would be the remaining input ?
2020-10-02 14:10:47 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 14:10:56 +0200 <maralorn> ski: Yeas
2020-10-02 14:11:20 +0200 <Axman6> I thought most parser libraries gave you a way to parse something and also get the remaining input
2020-10-02 14:11:32 +0200 <Axman6> I'm sure Attoparsec does
2020-10-02 14:12:05 +0200draliana(draliana@bl6-172-220.dsl.telepac.pt) (Remote host closed the connection)
2020-10-02 14:12:45 +0200Rudd0(~Rudd0@185.189.115.98) (Ping timeout: 240 seconds)
2020-10-02 14:12:52 +0200 <ski> yea, they usually do
2020-10-02 14:13:05 +0200 <tomjaguarpaw> yushyin: Thanks
2020-10-02 14:13:08 +0200 <maralorn> Do they?
2020-10-02 14:13:18 +0200draliana(draliana@bl6-172-220.dsl.telepac.pt)
2020-10-02 14:13:21 +0200draliana(draliana@bl6-172-220.dsl.telepac.pt) (Excess Flood)
2020-10-02 14:13:25 +0200cpressey(~cpressey@88.144.70.46)
2020-10-02 14:13:36 +0200draliana(draliana@bl6-172-220.dsl.telepac.pt)
2020-10-02 14:13:38 +0200draliana(draliana@bl6-172-220.dsl.telepac.pt) (Excess Flood)
2020-10-02 14:13:44 +0200 <maralorn> I see that you can provide more input to a partial parse in attoparsec. And that you can have a "Fail" that gives you the remaining input.
2020-10-02 14:13:53 +0200draliana(draliana@bl6-172-220.dsl.telepac.pt)
2020-10-02 14:13:55 +0200draliana(draliana@bl6-172-220.dsl.telepac.pt) (Excess Flood)
2020-10-02 14:14:06 +0200 <maralorn> But I don‘t see a function, that gives you a Success with the remaining input.
2020-10-02 14:14:11 +0200draliana(draliana@bl6-172-220.dsl.telepac.pt)
2020-10-02 14:14:12 +0200draliana(draliana@bl6-172-220.dsl.telepac.pt) (Excess Flood)
2020-10-02 14:14:59 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-02 14:17:29 +0200 <maralorn> I am a bit confused, because I know I have seen something like that, but I can‘t find it …
2020-10-02 14:18:29 +0200Amras(~Amras@unaffiliated/amras0000) (Quit: Leaving)
2020-10-02 14:18:39 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net) (Ping timeout: 258 seconds)
2020-10-02 14:18:41 +0200Sarma(~Amras@unaffiliated/amras0000) (Quit: Leaving)
2020-10-02 14:18:49 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 264 seconds)
2020-10-02 14:19:01 +0200Amras(~Amras@unaffiliated/amras0000)
2020-10-02 14:20:55 +0200machinedgod(~machinedg@d67-193-126-196.home3.cgocable.net)
2020-10-02 14:20:57 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 14:21:00 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:7d75:9a99:2c63:b831)
2020-10-02 14:21:57 +0200st8less(~st8less@2603:a060:11fd:0:6883:ccc4:e325:916a)
2020-10-02 14:22:25 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 14:22:27 +0200 <ski> maralorn : <https://hackage.haskell.org/package/attoparsec-0.13.2.4/docs/Data-Attoparsec-ByteString.html#v:parse> ?
2020-10-02 14:23:24 +0200 <maralorn> Oh, the Done Constructor is different.^^
2020-10-02 14:23:24 +0200 <maralorn> Sorry for that.^^
2020-10-02 14:25:23 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-02 14:25:55 +0200ph88^(~ph88@46.183.103.8) (Remote host closed the connection)
2020-10-02 14:26:19 +0200ph88^(~ph88@46.183.103.8)
2020-10-02 14:29:08 +0200jonatanb(~jonatanb@83.24.231.247.ipv4.supernova.orange.pl) (Read error: Connection reset by peer)
2020-10-02 14:30:25 +0200Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 240 seconds)
2020-10-02 14:30:28 +0200hackagerecord-dot-preprocessor 0.2.7 - Preprocessor to allow record.field syntax https://hackage.haskell.org/package/record-dot-preprocessor-0.2.7 (NeilMitchell)
2020-10-02 14:31:03 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 14:31:05 +0200HaskellYogi(~vivekrama@49.207.202.80) (Ping timeout: 240 seconds)
2020-10-02 14:33:18 +0200HaskellYogi(~vivekrama@49.207.202.80)
2020-10-02 14:35:16 +0200haasn(~haasn@mpv/developer/haasn) (Ping timeout: 256 seconds)
2020-10-02 14:35:26 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-02 14:35:31 +0200John20(~John@82.46.59.122) (Ping timeout: 258 seconds)
2020-10-02 14:35:43 +0200Amras(~Amras@unaffiliated/amras0000)
2020-10-02 14:40:35 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 240 seconds)
2020-10-02 14:41:15 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 14:42:04 +0200HaskellYogi(~vivekrama@49.207.202.80) (Ping timeout: 256 seconds)
2020-10-02 14:42:23 +0200Sheilong(uid293653@gateway/web/irccloud.com/x-vlspjywaiiubsfqi)
2020-10-02 14:43:18 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 14:43:40 +0200HaskellYogi(~vivekrama@49.207.202.80)
2020-10-02 14:45:38 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-02 14:45:45 +0200haasn(~haasn@mpv/developer/haasn)
2020-10-02 14:49:24 +0200John20(~John@82.46.59.122)
2020-10-02 14:51:19 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 14:52:43 +0200berberman(~berberman@2408:8207:2562:2400::a44)
2020-10-02 14:54:51 +0200ph88^(~ph88@46.183.103.8) (Quit: Leaving)
2020-10-02 14:55:10 +0200mota(~mota@89.47.234.28)
2020-10-02 14:55:50 +0200Clough(~Cain@194-193-141-75.tpgi.com.au) (Read error: Connection reset by peer)
2020-10-02 14:55:58 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2020-10-02 14:56:33 +0200Tops21(~Tobias@dyndsl-095-033-022-004.ewe-ip-backbone.de)
2020-10-02 14:58:03 +0200Tops22(~Tobias@dyndsl-095-033-022-004.ewe-ip-backbone.de)
2020-10-02 14:59:59 +0200Tops2(~Tobias@dyndsl-095-033-022-004.ewe-ip-backbone.de) (Ping timeout: 260 seconds)
2020-10-02 15:01:23 +0200Tops21(~Tobias@dyndsl-095-033-022-004.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2020-10-02 15:01:29 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 15:02:33 +0200 <maralorn> Is there a way to flush stdout while writing a lazy Text?
2020-10-02 15:03:07 +0200juri_(~juri@178.63.35.222) (Ping timeout: 258 seconds)
2020-10-02 15:03:49 +0200 <phadej> you mean, between chunks?
2020-10-02 15:05:47 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-02 15:06:16 +0200FreeBirdLjj(~freebirdl@240e:388:4f41:dc00:6980:7e19:3f7b:9844)
2020-10-02 15:06:36 +0200nineonine(~nineonine@216-19-190-182.dyn.novuscom.net)
2020-10-02 15:06:37 +0200 <hc> You could write your own lazy putStr function and do it there, I think
2020-10-02 15:06:42 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:7d75:9a99:2c63:b831) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 15:07:43 +0200 <hc> i.e., get Chunk, write it, flush stdout, unsafeInterleaveIO, repeat
2020-10-02 15:09:16 +0200 <ski> `unsafeInterleaveIO' ?
2020-10-02 15:10:41 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:41ee:e0ba:d692:129)
2020-10-02 15:10:47 +0200nineonine(~nineonine@216-19-190-182.dyn.novuscom.net) (Ping timeout: 240 seconds)
2020-10-02 15:11:40 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 15:12:53 +0200toorevitimirp(~tooreviti@117.182.181.38) (Ping timeout: 265 seconds)
2020-10-02 15:13:16 +0200chappi(~swaroop@157.49.90.100)
2020-10-02 15:13:25 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection)
2020-10-02 15:14:01 +0200 <phadej> why
2020-10-02 15:14:08 +0200 <phadej> indeed why
2020-10-02 15:14:26 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2020-10-02 15:16:04 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-02 15:19:06 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com)
2020-10-02 15:24:58 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com) (Max SendQ exceeded)
2020-10-02 15:26:28 +0200 <maralorn> yeah, I mean between chunks …
2020-10-02 15:26:53 +0200 <maralorn> but since I am concating them anyways before I can just putStr and flush them one after the other.
2020-10-02 15:30:03 +0200juri_(~juri@79.140.121.173)
2020-10-02 15:33:06 +0200polyrain(~polyrain@2001:8003:640b:b900:3932:cca7:5271:9742) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 15:33:28 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-10-02 15:34:54 +0200toorevitimirp(~tooreviti@117.182.181.38)
2020-10-02 15:36:11 +0200borne(~fritjof@200116b864545000eb24a00afefc421b.dip.versatel-1u1.de) (Ping timeout: 272 seconds)
2020-10-02 15:36:48 +0200AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl)
2020-10-02 15:39:20 +0200aarvar(~foewfoiew@50.35.43.33)
2020-10-02 15:39:27 +0200drbean(~drbean@TC210-63-209-213.static.apol.com.tw) (Ping timeout: 240 seconds)
2020-10-02 15:40:39 +0200juri__(~juri@178.63.35.222)
2020-10-02 15:42:13 +0200jle`(~mstksg@unaffiliated/mstksg) (Ping timeout: 260 seconds)
2020-10-02 15:42:18 +0200jedws(~jedws@121.209.139.222)
2020-10-02 15:42:52 +0200coot(~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-10-02 15:43:54 +0200juri_(~juri@79.140.121.173) (Ping timeout: 272 seconds)
2020-10-02 15:44:06 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 15:44:37 +0200bitmapper(uid464869@gateway/web/irccloud.com/x-pdkqlqfnwurchqja) (Quit: Connection closed for inactivity)
2020-10-02 15:47:33 +0200son0p(~son0p@181.136.122.143)
2020-10-02 15:48:13 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net)
2020-10-02 15:48:25 +0200toorevitimirp(~tooreviti@117.182.181.38) (Ping timeout: 240 seconds)
2020-10-02 15:48:58 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2020-10-02 15:50:20 +0200toorevitimirp(~tooreviti@117.182.181.38)
2020-10-02 15:52:55 +0200borne(~fritjof@200116b86454500007933c164a08810c.dip.versatel-1u1.de)
2020-10-02 15:54:08 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com)
2020-10-02 15:54:41 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 15:55:17 +0200vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2020-10-02 15:56:45 +0200ystael(~ystael@209.6.50.55)
2020-10-02 15:56:45 +0200lortabac(~lortabac@51.158.65.124) (Read error: Connection reset by peer)
2020-10-02 15:57:23 +0200grumbleSpooktober
2020-10-02 15:57:44 +0200edeadk
2020-10-02 15:59:15 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-02 16:00:16 +0200ddellacosta(~dd@86.106.121.168)
2020-10-02 16:02:15 +0200cfricke(~cfricke@unaffiliated/cfricke)
2020-10-02 16:03:43 +0200lortabac(~lortabac@51.158.65.124)
2020-10-02 16:04:47 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 16:06:13 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 264 seconds)
2020-10-02 16:06:52 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-02 16:09:09 +0200yoneda(~mike@193.206.102.122) (Quit: leaving)
2020-10-02 16:09:26 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2020-10-02 16:11:45 +0200chappi(~swaroop@157.49.90.100) (Remote host closed the connection)
2020-10-02 16:11:45 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-10-02 16:13:58 +0200chappi(~swaroop@157.45.23.171)
2020-10-02 16:14:58 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 16:15:56 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-02 16:17:22 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 16:19:05 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-02 16:21:09 +0200alp(~alp@2a01:e0a:58b:4920:1515:91a6:893c:5718) (Ping timeout: 272 seconds)
2020-10-02 16:21:57 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f)
2020-10-02 16:24:16 +0200aveltras(uid364989@gateway/web/irccloud.com/x-decqiotcaxthssop) (Quit: Connection closed for inactivity)
2020-10-02 16:25:00 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 16:25:11 +0200o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
2020-10-02 16:25:29 +0200o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-10-02 16:26:19 +0200ft(~ft@shell.chaostreff-dortmund.de) (Ping timeout: 260 seconds)
2020-10-02 16:26:58 +0200ft(~ft@shell.chaostreff-dortmund.de)
2020-10-02 16:27:03 +0200albethere(sid457088@gateway/web/irccloud.com/x-euzbwktnggxsctak) (Ping timeout: 244 seconds)
2020-10-02 16:27:34 +0200fiadliel(sid399568@gateway/web/irccloud.com/x-llzgoofxbcculsva) (Ping timeout: 244 seconds)
2020-10-02 16:27:34 +0200voyons_osti(~dan@107-190-41-58.cpe.teksavvy.com)
2020-10-02 16:27:44 +0200fiadliel(sid399568@gateway/web/irccloud.com/x-qpjmurqekfenxlla)
2020-10-02 16:28:23 +0200conal(~conal@107.181.166.148) (Quit: Computer has gone to sleep.)
2020-10-02 16:28:39 +0200coot(~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl)
2020-10-02 16:28:45 +0200 <Guest18> Hey guys, common question here: can anyone make an ELI5 for what a monad is? I can't seem to grasp the concept on my own. Yes, I've heard the joke with the endofunctors :)
2020-10-02 16:29:07 +0200Kamuela(sid111576@gateway/web/irccloud.com/x-hizwwfvajxwuptvq) (Ping timeout: 244 seconds)
2020-10-02 16:29:07 +0200xyggos(uid216035@gateway/web/irccloud.com/x-gnlompqpniagbeqc) (Ping timeout: 244 seconds)
2020-10-02 16:29:07 +0200itai33[m](itai33matr@gateway/shell/matrix.org/x-kefkftogqwbmbqbo) (Ping timeout: 244 seconds)
2020-10-02 16:29:14 +0200itai33[m](itai33matr@gateway/shell/matrix.org/x-kkpfrvjedmohzgix)
2020-10-02 16:29:15 +0200albethere(sid457088@gateway/web/irccloud.com/x-nwltghldiblztrql)
2020-10-02 16:29:22 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2020-10-02 16:29:49 +0200 <dolio> Monads are a way of presenting abstract algebra.
2020-10-02 16:29:56 +0200wangoe[m](wangoematr@gateway/shell/matrix.org/x-ejdppythnrvrfopr) (Ping timeout: 240 seconds)
2020-10-02 16:30:09 +0200alunduil(alunduil@gateway/web/irccloud.com/x-armiphmmyuoonyeh) (Ping timeout: 244 seconds)
2020-10-02 16:30:10 +0200wangoe[m](wangoematr@gateway/shell/matrix.org/x-ygktxbgtoupbgdmu)
2020-10-02 16:30:20 +0200Kamuela(sid111576@gateway/web/irccloud.com/x-zosmoookvvrpusxu)
2020-10-02 16:30:30 +0200chreekat[m]1(chreekatma@gateway/shell/matrix.org/x-jpfnucpqjtwzgcaa)
2020-10-02 16:30:37 +0200conal(~conal@107.181.166.148)
2020-10-02 16:30:40 +0200jared-w(uid405292@gateway/web/irccloud.com/x-lvabjzxurljtbtsc) (Ping timeout: 244 seconds)
2020-10-02 16:30:44 +0200 <Guest18> I understand monads are a way of introducing side-effects in a purely functional context. Don't know more than that
2020-10-02 16:31:45 +0200ft(~ft@shell.chaostreff-dortmund.de) (Ping timeout: 240 seconds)
2020-10-02 16:31:45 +0200alunduil(alunduil@gateway/web/irccloud.com/x-ykoppvalzkjzwxam)
2020-10-02 16:31:46 +0200 <Taneb> Guest18: forget everything you know about them. "IO" is a way of talking about (but not really introducing) side-effects in a purely functional context, and it happens that IO is an example of a monad
2020-10-02 16:31:55 +0200 <tbreslein> well, that is not true though. there are monads that introduce "side-effects", but side-effects aren't an inherent feature to monads
2020-10-02 16:32:01 +0200xyggos(uid216035@gateway/web/irccloud.com/x-xzyfcimlxufybwap)
2020-10-02 16:32:05 +0200ft(~ft@shell.chaostreff-dortmund.de)
2020-10-02 16:32:06 +0200 <Taneb> @where typeclassopedia
2020-10-02 16:32:06 +0200 <lambdabot> http://www.haskell.org/haskellwiki/Typeclassopedia
2020-10-02 16:32:07 +0200 <tbreslein> that was @Guest18
2020-10-02 16:32:13 +0200heyj(sid171370@gateway/web/irccloud.com/x-ffzoewiykurlnmpn) (Ping timeout: 244 seconds)
2020-10-02 16:32:13 +0200rizary(sid220347@gateway/web/irccloud.com/x-asbilbwnyrijqcny) (Ping timeout: 244 seconds)
2020-10-02 16:32:13 +0200d0liver(sid363046@gateway/web/irccloud.com/x-jybzxemfqeasbqbs) (Ping timeout: 244 seconds)
2020-10-02 16:32:24 +0200 <Taneb> Guest18: Typeclassopedia (see the link that I got lambdabot to write) is what I recommend
2020-10-02 16:32:29 +0200jared-w(uid405292@gateway/web/irccloud.com/x-etyqmfyslkdvapeg)
2020-10-02 16:32:36 +0200polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
2020-10-02 16:32:41 +0200 <Uniaika> Guest18: I'll try and ELI5 it
2020-10-02 16:32:43 +0200 <Taneb> But it's more "explain it like I'm a maths student" (which I was when I learnt)
2020-10-02 16:32:49 +0200acidjnk_new(~acidjnk@p200300d0c723788040fc08bec5cc5c11.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-02 16:32:49 +0200siraben(sirabenmat@gateway/shell/matrix.org/x-zchkdzekdlwvohec) (Ping timeout: 240 seconds)
2020-10-02 16:32:55 +0200psydruid(psydruidma@gateway/shell/matrix.org/x-agoyrynofjmbqrna) (Ping timeout: 240 seconds)
2020-10-02 16:33:18 +0200 <Uniaika> you can have some data in a datatype, and this datatype can implement something akin to the pipe operator in other languages (Elixir, OCaml, F#, maybe PHP one day…)
2020-10-02 16:33:26 +0200jvsg(~root@165.227.89.139) (Ping timeout: 240 seconds)
2020-10-02 16:33:37 +0200PoliticsII_____(sid193551@gateway/web/irccloud.com/x-rcppzisukplddkpk)
2020-10-02 16:33:38 +0200 <ski> Guest18 : monads are used to express "effects" without the "side-"
2020-10-02 16:33:39 +0200rizary(sid220347@gateway/web/irccloud.com/x-exfwymetlgtfawlu)
2020-10-02 16:33:56 +0200sajith[m](sajithmatr@gateway/shell/matrix.org/x-mvrgbpjqisezmtze) (Ping timeout: 240 seconds)
2020-10-02 16:34:09 +0200 <Uniaika> this something is the Monad typeclass
2020-10-02 16:34:14 +0200entel_(uid256215@botters/entel)
2020-10-02 16:34:17 +0200kyagrd__(sid102627@gateway/web/irccloud.com/x-cswsttltgsuxjilm) (Ping timeout: 244 seconds)
2020-10-02 16:34:22 +0200 <Uniaika> which provides a pipe-like operator called bind, or (>>=)
2020-10-02 16:34:46 +0200heyj(sid171370@gateway/web/irccloud.com/x-rhahyjccskeqwknw)
2020-10-02 16:34:48 +0200 <Uniaika> now, if you want an ELI10, or ELI15, we can talk about composing effects and stuff
2020-10-02 16:34:52 +0200jvsg(~root@165.227.89.139)
2020-10-02 16:34:52 +0200kyagrd__(sid102627@gateway/web/irccloud.com/x-qmxuxjmljnokumzt)
2020-10-02 16:35:03 +0200d0liver(sid363046@gateway/web/irccloud.com/x-qxqtscijfywlxedk)
2020-10-02 16:35:05 +0200 <Uniaika> but at its core, a Monad is a datatype that implements/provides a pipe-like operator
2020-10-02 16:35:10 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 16:35:19 +0200jetpack_joe(sid146137@gateway/web/irccloud.com/x-zhxrcrokabwqiajh) (Ping timeout: 244 seconds)
2020-10-02 16:35:25 +0200iinuwa1(iinuwamatr@gateway/shell/matrix.org/x-vnidwkjqityvsyww) (Ping timeout: 240 seconds)
2020-10-02 16:35:28 +0200sajith[m](sajithmatr@gateway/shell/matrix.org/x-sazyjhonfaddxfuy)
2020-10-02 16:35:46 +0200mpickering_(sid78412@gateway/web/irccloud.com/x-slbcncolvglbtszb)
2020-10-02 16:35:54 +0200teehemkay_(sid14792@gateway/web/irccloud.com/x-baurjicxngheqyla)
2020-10-02 16:35:55 +0200pjb(~t@2a01cb04063ec50038cdaa6488b186d3.ipv6.abo.wanadoo.fr) (Ping timeout: 240 seconds)
2020-10-02 16:36:06 +0200iinuwa1(iinuwamatr@gateway/shell/matrix.org/x-wkvtyebxdpjmoegf)
2020-10-02 16:36:06 +0200 <Guest18> so if i do 'data SomeType = ... deriving (Monad)' I get >>=, which is a pipe operator. By pipe operator, i understand i can redirect the output (the return value?) somewhere else
2020-10-02 16:36:25 +0200J_Arcane(sid119274@gateway/web/irccloud.com/x-napkkntthpzdedzn) (Ping timeout: 240 seconds)
2020-10-02 16:36:37 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection)
2020-10-02 16:36:41 +0200Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net)
2020-10-02 16:36:51 +0200 <Guest18> Uniaika: ok then, do an ELI22, please :))
2020-10-02 16:36:52 +0200Boarders(sid425905@gateway/web/irccloud.com/x-xkpxetjoxpjitwjh) (Ping timeout: 244 seconds)
2020-10-02 16:36:52 +0200hamishmack(sid389057@gateway/web/irccloud.com/x-kmbanmfbezzgjcwy) (Ping timeout: 244 seconds)
2020-10-02 16:36:55 +0200 <hc> Guest18: you have heard the endofunctor 'joke'... have you also heard the monad tutorial joke? ;)
2020-10-02 16:37:15 +0200 <dolio> Monad cannot be derived.
2020-10-02 16:37:28 +0200 <Guest18> hc: probably, but doesn't ring a bell right now
2020-10-02 16:37:34 +0200benwr___(sid372383@gateway/web/irccloud.com/x-pbrsmtxwohmjfqbb)
2020-10-02 16:37:41 +0200J_Arcane(sid119274@gateway/web/irccloud.com/x-gzsviusepohntufp)
2020-10-02 16:37:43 +0200pierrot_pierrot
2020-10-02 16:37:54 +0200pierrot(~pi@vmi95795.contabo.host) (Changing host)
2020-10-02 16:37:54 +0200pierrot(~pi@unaffiliated/pierrot)
2020-10-02 16:37:54 +0200metadave(sid28102@gateway/web/irccloud.com/x-pebkddzdcftwierd) (Ping timeout: 244 seconds)
2020-10-02 16:38:03 +0200hamishmack(sid389057@gateway/web/irccloud.com/x-vwygwtdsmdorpubb)
2020-10-02 16:38:06 +0200angerman_(sid209936@gateway/web/irccloud.com/x-ueaytjplpxideopo)
2020-10-02 16:38:10 +0200 <hc> Guest18: https://mvanier.livejournal.com/3917.html
2020-10-02 16:38:10 +0200eacameron_(sid256985@gateway/web/irccloud.com/x-eeucajtixyfsxeoh)
2020-10-02 16:38:11 +0200Boarders(sid425905@gateway/web/irccloud.com/x-ogfzkwsrdtarvanw)
2020-10-02 16:38:13 +0200 <Guest18> dolio: but Uniaika said Monad is a typeclass, aren't all typeclasses derivable?
2020-10-02 16:38:19 +0200jetpack_joe(sid146137@gateway/web/irccloud.com/x-towxguynprtcozxt)
2020-10-02 16:38:22 +0200 <dolio> Nope.
2020-10-02 16:38:22 +0200 <xsperry> Guest18 there are many useful monads that have nothing to do with side-effects (or effects). the benefit of monad abstraction is that we can reuse all the generic functions that accept monads (as well as do-syntax) with all of them, without having to rewrite them for each one
2020-10-02 16:38:45 +0200 <dolio> In the report there's only like 8 that are derivable.
2020-10-02 16:38:55 +0200sureyeaah(shauryab98@gateway/shell/matrix.org/x-kczqpmbbcugstynw) (Ping timeout: 240 seconds)
2020-10-02 16:39:03 +0200jollygood2(~bc815b99@217.29.117.252)
2020-10-02 16:39:07 +0200 <hc> Guest18: oh, see also https://blog.plover.com/prog/burritos.html for the monad tutorial joke ;p
2020-10-02 16:39:18 +0200nlofaro_(sid258233@gateway/web/irccloud.com/x-nikllggowrrubhvb)
2020-10-02 16:39:23 +0200koankeeper_(sid216950@gateway/web/irccloud.com/x-nqrzlezfaoiawuvb)
2020-10-02 16:39:27 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 244 seconds)
2020-10-02 16:39:27 +0200kyagrd__(sid102627@gateway/web/irccloud.com/x-qmxuxjmljnokumzt) (Ping timeout: 244 seconds)
2020-10-02 16:39:44 +0200metadave(sid28102@gateway/web/irccloud.com/x-qyjldscaiqukxlnz)
2020-10-02 16:40:26 +0200 <dolio> Also keep in mind that constantly referencing burritos isn't actually funny.
2020-10-02 16:40:29 +0200iinuwa1(iinuwamatr@gateway/shell/matrix.org/x-wkvtyebxdpjmoegf) (Ping timeout: 244 seconds)
2020-10-02 16:40:29 +0200pent(sid313808@gateway/web/irccloud.com/x-dxofbfnqjnwrcfkh) (Ping timeout: 244 seconds)
2020-10-02 16:40:32 +0200thonkpod(~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d) (*.net *.split)
2020-10-02 16:40:32 +0200entel(uid256215@botters/entel) (*.net *.split)
2020-10-02 16:40:32 +0200eacameron(sid256985@gateway/web/irccloud.com/x-kpwlorbysgtnxhte) (*.net *.split)
2020-10-02 16:40:32 +0200liff(liff@kapsi.fi) (*.net *.split)
2020-10-02 16:40:32 +0200PotatoHatsue(berbermanp@gateway/shell/matrix.org/x-lcuapfbpkatzswxh) (*.net *.split)
2020-10-02 16:40:32 +0200glowcoil(sid3405@gateway/web/irccloud.com/x-thsriowqmdkgjing) (*.net *.split)
2020-10-02 16:40:32 +0200PoliticsII____(sid193551@gateway/web/irccloud.com/x-nvfqluymqsvazvtl) (*.net *.split)
2020-10-02 16:40:32 +0200koankeeper(sid216950@gateway/web/irccloud.com/x-zrkqcymdfzqfjfqv) (*.net *.split)
2020-10-02 16:40:32 +0200dequbed(~dequbed@yanduxian.paranoidlabs.org) (*.net *.split)
2020-10-02 16:40:32 +0200simony(sid226116@gateway/web/irccloud.com/x-ebcflagagczxghjj) (*.net *.split)
2020-10-02 16:40:32 +0200teehemkay(sid14792@gateway/web/irccloud.com/x-xjwybgbmcxfolzwh) (*.net *.split)
2020-10-02 16:40:32 +0200benwr__(sid372383@gateway/web/irccloud.com/x-ehohzcwkyjbzpbwl) (*.net *.split)
2020-10-02 16:40:32 +0200miklcct(quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (*.net *.split)
2020-10-02 16:40:32 +0200mpickering(sid78412@gateway/web/irccloud.com/x-ugziboqyrxfitrmv) (*.net *.split)
2020-10-02 16:40:32 +0200nlofaro(sid258233@gateway/web/irccloud.com/x-etxlydyigzmwkiap) (*.net *.split)
2020-10-02 16:40:32 +0200angerman(sid209936@gateway/web/irccloud.com/x-kbnupcpypxlxxlnc) (*.net *.split)
2020-10-02 16:40:32 +0200unlink__(~unlink2@p200300ebcf25bd0068eb9d9c94da2a17.dip0.t-ipconnect.de) (*.net *.split)
2020-10-02 16:40:32 +0200srid(sridmatrix@gateway/shell/matrix.org/x-zqttickmrfyduksr) (*.net *.split)
2020-10-02 16:40:32 +0200michaelpj1(michaelpjm@gateway/shell/matrix.org/x-bmrqrkqdmdnabvkc) (*.net *.split)
2020-10-02 16:40:32 +0200johnnyboy[m](gifumatrix@gateway/shell/matrix.org/x-xczqbcixpmjhwvre) (*.net *.split)
2020-10-02 16:40:32 +0200chreekat[m](chreekatma@gateway/shell/matrix.org/x-umxlgtkybcwevjvb) (*.net *.split)
2020-10-02 16:40:32 +0200lambdaclan(lambdaclan@gateway/shell/matrix.org/x-rosqvrjyauthsfym) (*.net *.split)
2020-10-02 16:40:32 +0200io_r_us[m](commandlin@gateway/shell/matrix.org/x-kjrwesnzoyenqgzx) (*.net *.split)
2020-10-02 16:40:32 +0200barrucadu(~barrucadu@fsf/member/barrucadu) (*.net *.split)
2020-10-02 16:40:32 +0200bcoppens_(~bartcopp@vpn2.bartcoppens.be) (*.net *.split)
2020-10-02 16:40:32 +0200noteness(~noteness@unaffiliated/nessessary129) (*.net *.split)
2020-10-02 16:40:32 +0200opqdonut(opqdonut@pseudo.fixme.fi) (*.net *.split)
2020-10-02 16:40:32 +0200Velpoman(~Velpoman@159.65.76.124) (*.net *.split)
2020-10-02 16:40:32 +0200dixie(~dixie@real.wilbury.sk) (*.net *.split)
2020-10-02 16:40:32 +0200uwap(~uwap@genja.uwap.name) (*.net *.split)
2020-10-02 16:40:33 +0200entel_entel
2020-10-02 16:40:34 +0200eacameron_eacameron
2020-10-02 16:40:36 +0200angerman_angerman
2020-10-02 16:40:36 +0200nlofaro_nlofaro
2020-10-02 16:40:45 +0200glguyghoulguy
2020-10-02 16:40:49 +0200 <hc> dolio: glad that you're here then to lighten up the mood :)
2020-10-02 16:40:54 +0200thonkpod(~thonkpod@2001:19f0:ac01:b46:5400:1ff:fec7:d73d)
2020-10-02 16:40:54 +0200liff(liff@kapsi.fi)
2020-10-02 16:40:54 +0200PotatoHatsue(berbermanp@gateway/shell/matrix.org/x-lcuapfbpkatzswxh)
2020-10-02 16:40:54 +0200dequbed(~dequbed@yanduxian.paranoidlabs.org)
2020-10-02 16:40:54 +0200miklcct(quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7)
2020-10-02 16:40:54 +0200srid(sridmatrix@gateway/shell/matrix.org/x-zqttickmrfyduksr)
2020-10-02 16:40:54 +0200michaelpj1(michaelpjm@gateway/shell/matrix.org/x-bmrqrkqdmdnabvkc)
2020-10-02 16:40:54 +0200johnnyboy[m](gifumatrix@gateway/shell/matrix.org/x-xczqbcixpmjhwvre)
2020-10-02 16:40:54 +0200lambdaclan(lambdaclan@gateway/shell/matrix.org/x-rosqvrjyauthsfym)
2020-10-02 16:40:54 +0200io_r_us[m](commandlin@gateway/shell/matrix.org/x-kjrwesnzoyenqgzx)
2020-10-02 16:40:54 +0200barrucadu(~barrucadu@fsf/member/barrucadu)
2020-10-02 16:40:54 +0200bcoppens_(~bartcopp@vpn2.bartcoppens.be)
2020-10-02 16:40:54 +0200noteness(~noteness@unaffiliated/nessessary129)
2020-10-02 16:40:54 +0200opqdonut(opqdonut@pseudo.fixme.fi)
2020-10-02 16:40:54 +0200Velpoman(~Velpoman@159.65.76.124)
2020-10-02 16:40:54 +0200dixie(~dixie@real.wilbury.sk)
2020-10-02 16:40:54 +0200uwap(~uwap@genja.uwap.name)
2020-10-02 16:40:54 +0200koankeeper_koankeeper
2020-10-02 16:41:16 +0200Alleria_(~AllahuAkb@2604:2000:1484:26:59c0:566a:2725:87ae) (Ping timeout: 240 seconds)
2020-10-02 16:41:16 +0200themsay[m](themsaymat@gateway/shell/matrix.org/x-yeakmiacdwmqfqaq) (Ping timeout: 240 seconds)
2020-10-02 16:41:23 +0200 <dolio> :)
2020-10-02 16:41:23 +0200st8less(~st8less@2603:a060:11fd:0:6883:ccc4:e325:916a) (Quit: WeeChat 2.7.1)
2020-10-02 16:41:25 +0200pent(sid313808@gateway/web/irccloud.com/x-mbwahawoqthelmme)
2020-10-02 16:41:29 +0200 <Taneb> (I made the mistake of learning Haskell in 2011-ish, and only learning what a burrito is a while later)
2020-10-02 16:41:31 +0200Alleria_(~AllahuAkb@2604:2000:1484:26:49a5:3539:b389:fbc6)
2020-10-02 16:41:35 +0200 <Taneb> (it's not all that much like a monad)
2020-10-02 16:41:48 +0200simony(sid226116@gateway/web/irccloud.com/x-dvavqmtzwqiayfvm)
2020-10-02 16:41:50 +0200glowcoil(sid3405@gateway/web/irccloud.com/x-pkehsujwjkxhciwt)
2020-10-02 16:42:02 +0200mpickering_(sid78412@gateway/web/irccloud.com/x-slbcncolvglbtszb) (Ping timeout: 244 seconds)
2020-10-02 16:42:03 +0200 <Guest18> I'm now gonna look over the link hc sent with the tutorial. Fingers crossed that i understand it
2020-10-02 16:42:06 +0200kyagrd__(sid102627@gateway/web/irccloud.com/x-btmubwofxuaipgll)
2020-10-02 16:42:07 +0200 <ski> xsperry : heh, my notion of "effect" includes every monad we can express computationally
2020-10-02 16:42:21 +0200 <ski> Guest18 : how much of basic Haskell do you understand ?
2020-10-02 16:42:33 +0200J_Arcane(sid119274@gateway/web/irccloud.com/x-gzsviusepohntufp) (Ping timeout: 244 seconds)
2020-10-02 16:43:12 +0200 <dolio> ski: Is completion of the rationals to the reals an effect?
2020-10-02 16:43:16 +0200typetetris(sid275937@gateway/web/irccloud.com/x-cpqzcabctkypxzuf) (Ping timeout: 246 seconds)
2020-10-02 16:43:20 +0200iinuwa1(iinuwamatr@gateway/shell/matrix.org/x-kbcyykvavbzbuwyo)
2020-10-02 16:43:23 +0200themsay[m](themsaymat@gateway/shell/matrix.org/x-rdynrutjzsdvufmx)
2020-10-02 16:43:49 +0200mpickering_(sid78412@gateway/web/irccloud.com/x-kmcoybooadbmanxe)
2020-10-02 16:44:20 +0200typetetris(sid275937@gateway/web/irccloud.com/x-arltcnyiruapbdou)
2020-10-02 16:44:22 +0200 <Guest18> Well, I know about types, type classes, creating new types and their constructors, currying, pattern-matching, modules, Maybe. Most recently I've read about maps and sets
2020-10-02 16:44:37 +0200jetpack_joe(sid146137@gateway/web/irccloud.com/x-towxguynprtcozxt) (Ping timeout: 244 seconds)
2020-10-02 16:44:37 +0200Boarders(sid425905@gateway/web/irccloud.com/x-ogfzkwsrdtarvanw) (Ping timeout: 244 seconds)
2020-10-02 16:45:19 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 16:45:46 +0200 <Guest18> ski: Is that enough to understand monads?
2020-10-02 16:45:56 +0200J_Arcane(sid119274@gateway/web/irccloud.com/x-txzpuwgzvydklxqg)
2020-10-02 16:46:10 +0200cemerick(sid54985@gateway/web/irccloud.com/x-pdxhruraknqcvldm) (Ping timeout: 244 seconds)
2020-10-02 16:46:10 +0200ft(~ft@shell.chaostreff-dortmund.de) (Ping timeout: 256 seconds)
2020-10-02 16:46:57 +0200ft(~ft@shell.chaostreff-dortmund.de)
2020-10-02 16:47:04 +0200jetpack_joe(sid146137@gateway/web/irccloud.com/x-nugkqmiplnjcyaxx)
2020-10-02 16:47:12 +0200cemerick(sid54985@gateway/web/irccloud.com/x-ongnogrqassjmkgm)
2020-10-02 16:47:23 +0200 <tbreslein> personally, I've only learned about monads after learning about Semigroup, Monoid, Functor, and Applicative, which sounds like a lot, but they all flow into each other, and Monad is basically 5th element of that list
2020-10-02 16:47:23 +0200avdb(~avdb@ip-213-49-123-208.dsl.scarlet.be)
2020-10-02 16:47:26 +0200 <jollygood2> Guest18_, do you know how to deconstruct do to >>=?
2020-10-02 16:47:35 +0200psydruid(psydruidma@gateway/shell/matrix.org/x-zmirtmcuzxwhvczz)
2020-10-02 16:47:52 +0200 <jollygood2> can you write your own Maybe-like or list-like type and write monad instance for it?
2020-10-02 16:48:16 +0200ski(~ski@129.16.53.148) (Remote host closed the connection)
2020-10-02 16:48:24 +0200ski(~ski@m-1163-19.studat.chalmers.se)
2020-10-02 16:49:13 +0200 <Guest18> jollygood2: I haven't learned about do, >>=. I know how to write the Maybe type, but nothing about the monad instance for it
2020-10-02 16:49:34 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2020-10-02 16:49:48 +0200 <jollygood2> Guest18, you do'nt know about do-syntax yet?
2020-10-02 16:50:16 +0200alp(~alp@2a01:e0a:58b:4920:6d5a:70ac:290e:8fbe)
2020-10-02 16:50:18 +0200koankeeper(sid216950@gateway/web/irccloud.com/x-nqrzlezfaoiawuvb) (Ping timeout: 244 seconds)
2020-10-02 16:50:18 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:41ee:e0ba:d692:129) (Ping timeout: 244 seconds)
2020-10-02 16:50:24 +0200cpressey(~cpressey@88.144.70.46) (Ping timeout: 272 seconds)
2020-10-02 16:50:47 +0200 <ski> dolio : probably
2020-10-02 16:50:50 +0200 <Guest18> jollygood2: no
2020-10-02 16:51:13 +0200koankeeper(sid216950@gateway/web/irccloud.com/x-nrfuvoaktiahyvtf)
2020-10-02 16:51:23 +0200 <Guest18> I know about 'let ... in ...'. Is it something like that?
2020-10-02 16:51:25 +0200 <ski> knowing `do' is not a prerequisite
2020-10-02 16:52:02 +0200 <ski> Guest18 : well, you certainly know more (things that a relevant) than some people who're asking about monads, then
2020-10-02 16:52:05 +0200 <jollygood2> no, but it shows where he's at in his journey to learn haskell
2020-10-02 16:52:08 +0200sureyeaah(shauryab98@gateway/shell/matrix.org/x-hoohggsnwpuhljzi)
2020-10-02 16:52:40 +0200Saukk(~Saukk@2001:998:f1:3966:96a6:dee2:2e9:fdf3)
2020-10-02 16:52:41 +0200Boarders(sid425905@gateway/web/irccloud.com/x-kltbqwzwpqsqtnup)
2020-10-02 16:53:46 +0200 <ski> Guest18 : i'd say learn `Functor' first, at least. probably also `Applicative' is a good idea, now that it's a superclass of `Monad'. and having seen `Monoid' (and `Semigroup') shouldn't hurt (although is probably not as essential)
2020-10-02 16:53:54 +0200cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
2020-10-02 16:54:31 +0200 <Guest18> jollygood2: well, i consider myself very much a beginner. As soon as i look over someone else's code, my lack of language knowledge becomes apparent immediately
2020-10-02 16:55:11 +0200 <ski> Guest18 : anyway, a good way to learn about monads is to first learn about particular monads, like `Maybe', list, `Either e', `Writer w', `Reader r', `State s', `Cont o', ..
2020-10-02 16:55:12 +0200livvy(~livvy@gateway/tor-sasl/livvy) (Remote host closed the connection)
2020-10-02 16:55:23 +0200livvy(~livvy@gateway/tor-sasl/livvy)
2020-10-02 16:55:28 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 16:56:58 +0200ericsagnes(~ericsagne@2405:6580:0:5100:6535:f906:9e43:db0f)
2020-10-02 16:57:18 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:41ee:e0ba:d692:129)
2020-10-02 16:57:59 +0200 <ski> Guest18 : you could say monads are a kind of design pattern; or a way to avoid certain kinds of boiler-plate (/ repetitive) code; or akin to an abstract data type interface, which could be implemented in different ways (compare with "queue", you could have different implementations of queues). but that doesn't really tell you what a monad is, in particular
2020-10-02 16:58:03 +0200mikr[m](mikrdavral@gateway/shell/matrix.org/x-iihzpvcobeurnjqm) (Ping timeout: 244 seconds)
2020-10-02 16:58:05 +0200 <Guest18> ski: I can't help but notice some of those sound like group theory from algebra. Like you know, a monoid has certain composition operators, that must be commutative, associative and so on. Can't remember the exact conditions, it has been some time since 12th, but then you had groups, rings. I wonder how do those relate to the things you mentioned
2020-10-02 16:58:28 +0200hackagemachines 0.7.1 - Networked stream transducers https://hackage.haskell.org/package/machines-0.7.1 (ryanglscott)
2020-10-02 16:58:34 +0200teehemkay_(sid14792@gateway/web/irccloud.com/x-baurjicxngheqyla) (Ping timeout: 244 seconds)
2020-10-02 16:58:39 +0200 <dolio> Well, if you know about group theory...
2020-10-02 16:58:41 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-02 16:58:45 +0200 <ski> yes, a monoid is "a group that doesn't have to have inverses"
2020-10-02 16:59:21 +0200mikr[m](mikrdavral@gateway/shell/matrix.org/x-vlcvbwznoqddmtij)
2020-10-02 16:59:37 +0200 <ski> e.g. keeping a running counter, or a running sum, or appending messages to a log, would have to do with monoids
2020-10-02 16:59:53 +0200 <Guest18> My math professor in highschool used to say that the real numbers wanted to insult the naturals, and told them, "You are not a group, you are a monoid". Sounds funnier in Romanian..
2020-10-02 17:00:02 +0200mota(~mota@89.47.234.28) ()
2020-10-02 17:00:17 +0200 <ski> a semigroup is "a monoid that doesn't need to have a neutral element". e.g. computing minimum or maximum
2020-10-02 17:00:23 +0200teehemkay_(sid14792@gateway/web/irccloud.com/x-hzwbijcgsbcqqaio)
2020-10-02 17:00:40 +0200 <ski> (every group is also a monoid, and every monoid is also a semigroup)
2020-10-02 17:01:10 +0200dyeplexer(~lol@unaffiliated/terpin)
2020-10-02 17:01:12 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 17:01:21 +0200 <Guest18> Then it was "You are just a monoid" :)
2020-10-02 17:01:22 +0200 <ski> (btw, neither semigroups, monoids, nor groups, need to have a commutative combination/composition operator)
2020-10-02 17:01:40 +0200caasih(sid13241@gateway/web/irccloud.com/x-teuwvboxinwdshpz) (Ping timeout: 244 seconds)
2020-10-02 17:01:46 +0200 <Guest18> I see
2020-10-02 17:02:08 +0200 <Guest18> Interesting, I wish I remembered more group theory then..
2020-10-02 17:02:20 +0200 <Guest18> I need to relearn it
2020-10-02 17:02:30 +0200cpressey(~cpressey@88.144.95.167)
2020-10-02 17:02:38 +0200 <ski> well, natural numbers form a rig ("a ring that doen't need to have an additive inverse, negation")
2020-10-02 17:03:25 +0200 <ski> (sometimes aka "semiring")
2020-10-02 17:03:29 +0200caasih(sid13241@gateway/web/irccloud.com/x-hlizsalbvmrkznfg)
2020-10-02 17:03:30 +0200st8less(~st8less@2603:a060:11fd:0:f15a:c857:2711:378c)
2020-10-02 17:04:38 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 258 seconds)
2020-10-02 17:06:43 +0200ft(~ft@shell.chaostreff-dortmund.de) (Ping timeout: 246 seconds)
2020-10-02 17:06:52 +0200 <ski> Guest18 : if you want a quick and short tutorial on monads, i'd suggest "What the hell are Monads?" by Noel Winstanley in 1999 (one of the first monad tutorials) at <http://www-users.mat.uni.torun.pl/~fly/materialy/fp/haskell-doc/Monads.html>
2020-10-02 17:07:14 +0200 <ski> Guest18 : it's by no means complete, but could give you an idea of what they're about
2020-10-02 17:07:35 +0200ft(~ft@shell.chaostreff-dortmund.de)
2020-10-02 17:08:28 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 258 seconds)
2020-10-02 17:12:46 +0200FreeBirdLjj(~freebirdl@240e:388:4f41:dc00:6980:7e19:3f7b:9844) ()
2020-10-02 17:13:02 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-10-02 17:13:41 +0200 <dolio> Monads are one of the ways mathematicians talk about algebra, too. And it's actually similar to what Haskell programmers use them for.
2020-10-02 17:14:14 +0200 <dolio> There is a monad that characterises the 'extra operations' on top of sets that an algebra (group, ring, etc.) has.
2020-10-02 17:14:39 +0200spew(uid195861@gateway/web/irccloud.com/x-nmkiijbefgbkmaqa)
2020-10-02 17:15:43 +0200toorevitimirp(~tooreviti@117.182.181.38) (Remote host closed the connection)
2020-10-02 17:15:50 +0200 <dolio> And Haskell programmers often find it convenient to work in an 'extended language' that has operations (throw/catch, get/put, etc.) that don't exist in the 'pure' language (because it would be confusing for them to exist there).
2020-10-02 17:16:10 +0200ski. o O ( Let's use `do'-notation to talk about algebra. )
2020-10-02 17:18:38 +0200 <dolio> You could. There's at least one exact correspondence with monoids.
2020-10-02 17:19:41 +0200 <ski> mhm ?
2020-10-02 17:19:53 +0200 <Guest18> ski: so.. many.. things.. to bookmark
2020-10-02 17:20:12 +0200borne(~fritjof@200116b86454500007933c164a08810c.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-10-02 17:20:13 +0200 <dolio> Although I guess monoids are too plain for traditional algebra. Only category theorists care about those.
2020-10-02 17:20:27 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-02 17:21:24 +0200solonarv(~solonarv@astrasbourg-653-1-252-112.w92-161.abo.wanadoo.fr)
2020-10-02 17:21:41 +0200yost3d(~yost3d@193.56.252.210)
2020-10-02 17:22:04 +0200 <dolio> Monoids are what you get by having `zero :: Void` and `bit :: Bool` effects.
2020-10-02 17:22:21 +0200cheater(~user@unaffiliated/cheater) (Quit: BitchX Official WWW Site -- http://www.bitchx.org/)
2020-10-02 17:22:30 +0200 <TMA> I remember from my algebra course that monoids were glossed over in one of the lectures. They are merely a stepping stone to groups from that vantage point
2020-10-02 17:22:47 +0200cheater(~user@unaffiliated/cheater)
2020-10-02 17:23:40 +0200constR(uid58205@gateway/web/irccloud.com/x-ljcnzijchvmxodjj)
2020-10-02 17:23:49 +0200 <ski> dolio : <https://en.wikipedia.org/wiki/Associative_algebra> ?
2020-10-02 17:24:29 +0200 <dolio> Oh yeah, they need to satisfy some equations, of course.
2020-10-02 17:24:44 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2020-10-02 17:25:48 +0200 <ski> these are just monoid objects in the monoidal category of vector spaces (with tensor), aiui
2020-10-02 17:26:13 +0200p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2020-10-02 17:26:25 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds)
2020-10-02 17:26:38 +0200 <dolio> Well, there's probably a lot of examples like that.
2020-10-02 17:26:50 +0200 <dolio> I meant specifically monoids in Set.
2020-10-02 17:27:32 +0200 <ski> TMA : endomorphisms over a structure naturally form a monoid, i suppose. for an abelian group, you even get a ring
2020-10-02 17:27:37 +0200 <ski> ok
2020-10-02 17:27:52 +0200fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net)
2020-10-02 17:29:22 +0200 <dolio> I think traditional algebraists thought that monoids in set were too boring to be studied, but there are actually interesting things to say about them.
2020-10-02 17:29:54 +0200Franciman(~francesco@host-212-171-42-250.retail.telecomitalia.it) (Quit: Leaving)
2020-10-02 17:29:59 +0200 <ski> what about more restricted classes, that might not be as wild ?
2020-10-02 17:30:21 +0200 <ski> like cancellative monoids, idempotent monoids, ..
2020-10-02 17:30:24 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 17:30:40 +0200 <dolio> But, like, rings are monoid objects in Ab. And I think abelian groups are monoid objects in Grp.
2020-10-02 17:30:58 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 17:31:22 +0200Saukk(~Saukk@2001:998:f1:3966:96a6:dee2:2e9:fdf3) (Remote host closed the connection)
2020-10-02 17:32:23 +0200bitmapper(uid464869@gateway/web/irccloud.com/x-tarhbdjsvwboswmi)
2020-10-02 17:32:38 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net) (Ping timeout: 256 seconds)
2020-10-02 17:33:03 +0200 <dolio> Oh, maybe it needs to be a group object for the latter.
2020-10-02 17:33:26 +0200coot(~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) ()
2020-10-02 17:33:27 +0200 <ski> hm, perhaps it had something to do with the Erlangen program focusing on automorphisms and isomorphisms, rather than on more general endomorphisms and homomorphisms ?
2020-10-02 17:34:15 +0200 <dolio> I'm not clear on the details. I just know there's someone on the category zulip whose work is about monoids.
2020-10-02 17:34:35 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-02 17:35:18 +0200 <dolio> I think at least some of that is that monoids are a special case of categories, so a lot of things you can do with categories have special properties when you look at just doing them with monoids.
2020-10-02 17:35:24 +0200coot(~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl)
2020-10-02 17:35:40 +0200GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-02 17:35:41 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2020-10-02 17:36:02 +0200 <dolio> Like, "what special properties do presheaves on monoids have"?
2020-10-02 17:36:25 +0200 <ski> hm, `mempty = case zero of' and `x <> y = if bit then y else x' ?
2020-10-02 17:36:36 +0200dhil(~dhil@11.29.39.217.dyn.plus.net) (Ping timeout: 256 seconds)
2020-10-02 17:36:42 +0200 <dolio> Right.
2020-10-02 17:36:48 +0200GyroW(~GyroW@d54c03e98.access.telenet.be)
2020-10-02 17:36:48 +0200GyroW(~GyroW@d54c03e98.access.telenet.be) (Changing host)
2020-10-02 17:36:48 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-02 17:36:59 +0200mananamenos(~mananamen@84.122.202.215.dyn.user.ono.com) (Read error: Connection reset by peer)
2020-10-02 17:37:59 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net)
2020-10-02 17:38:09 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 17:38:32 +0200 <ski> and then `x = if bit then case zero of else x',`if bit then x else case zero of = x',`if bit then if bit then x else y else z = if bit then x else if bit then y else z'
2020-10-02 17:38:33 +0200 <dolio> MonadPlus is basically the theory of monoids.
2020-10-02 17:38:55 +0200 <ski> "theory", in a Lawvere sense ?
2020-10-02 17:39:45 +0200 <dolio> Yeah. Probably only if you pick the right choice of the laws people have for it.
2020-10-02 17:39:56 +0200chappi(~swaroop@157.45.23.171) (Ping timeout: 256 seconds)
2020-10-02 17:40:32 +0200 <dolio> Like left/right cancellation.
2020-10-02 17:40:42 +0200 <Guest18> Say I want to make a safeDiv function that returns a string if the divider is 0, the result otherwise. Is this the way to do it? safeDiv :: (Num a, Fractional a, Eq a) => a -> a -> Either a String
2020-10-02 17:40:42 +0200 <Guest18> safeDiv _ 0 = Right "Ooops!"
2020-10-02 17:40:43 +0200 <Guest18> safeDiv x y = Left $ x/y
2020-10-02 17:40:50 +0200 <Guest18> Like, is there a better way here?
2020-10-02 17:40:57 +0200dan64-(~dan64@dannyadam.com)
2020-10-02 17:41:17 +0200 <Guest18> I don't want to use Maybe, but I want to learn how Either functions
2020-10-02 17:41:28 +0200 <ski> i'd flip the order of the alternatives (and not use `$')
2020-10-02 17:42:03 +0200 <ski> also .. `"Ooops!"' is not a that informative failure condition
2020-10-02 17:42:09 +0200 <Guest18> Why flip the order?
2020-10-02 17:42:28 +0200 <ski> because then one can use `fmap' (from `Functor') on the `a' in the result (if present)
2020-10-02 17:42:41 +0200 <Guest18> I know it isn't, just wrote it as an exercise, and wanted it to be a string
2020-10-02 17:42:45 +0200dan64(~dan64@dannyadam.com) (Ping timeout: 240 seconds)
2020-10-02 17:42:51 +0200 <cpressey> Guest18: by convention, Left contains an error value and Right contains the "right answer".
2020-10-02 17:42:54 +0200 <ski> @quote stark
2020-10-02 17:42:54 +0200 <lambdabot> AlanPerlis says: The string is a stark data structure and everywhere it is passed there is much duplication of process. It is a perfect vehicle for hiding information.
2020-10-02 17:43:19 +0200 <cpressey> (when Either is used this way)
2020-10-02 17:43:46 +0200 <ski> (i'd generally try to avoid using `String's to represent failure conditions)
2020-10-02 17:44:42 +0200 <Guest18> safeDiv :: (Num a, Fractional a, Eq a) => a -> a -> Either String a
2020-10-02 17:44:43 +0200 <Guest18> safeDiv _ 0 = Left "The divider is zero, computation failed"
2020-10-02 17:44:43 +0200 <Guest18> safeDiv x y = Right $ x/y
2020-10-02 17:44:56 +0200 <Guest18> Ah, forgot to get rid of $
2020-10-02 17:44:59 +0200machinedgod(~machinedg@d67-193-126-196.home3.cgocable.net) (Ping timeout: 240 seconds)
2020-10-02 17:45:03 +0200 <Guest18> Anyway, you mean like this?
2020-10-02 17:45:08 +0200 <ski> Guest18 : "Is this the way to do it?" -- anyway, it also depends on how you intend to use it, e.g. what other possibly-failing operation could you want to use, together with this ? or in what ways (if any) would you want to handle/catch the failure ?
2020-10-02 17:45:13 +0200 <ski> yes
2020-10-02 17:45:48 +0200 <ski> although `Num a' is redundant, since `Num' is a superclass of `Fractional'
2020-10-02 17:46:22 +0200hnOsmium0001(uid453710@gateway/web/irccloud.com/x-wrddzpzdlgkkaqhg)
2020-10-02 17:46:32 +0200 <Guest18> Well, I know this is a bad example, because it can only fail in one way. But say for some reason, I hate dividing by 3, so i add a pattern for that and return another string or something to signify that
2020-10-02 17:46:48 +0200 <Guest18> So i can see what actually happened
2020-10-02 17:46:59 +0200 <Guest18> Is this how Either is supposed to be used?
2020-10-02 17:47:32 +0200 <ski> (i've occasionally used e.g. `Either Integer' as a monad, or idiom. aborting some operation involving "attempts", reporting the first `Integer' that failed an attempt)
2020-10-02 17:48:22 +0200 <ski> Guest18 : it's really hard to say, without seeing the context in which you intend to use this
2020-10-02 17:49:34 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-02 17:49:37 +0200 <cpressey> Guest18: Yes, Either can be used this way.
2020-10-02 17:49:49 +0200 <ski> if you just want to represent possible failure, and don't care about a situation where you may want to distinguish between the possible failures of multiple operations, i'd just use `Maybe'
2020-10-02 17:50:01 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 264 seconds)
2020-10-02 17:50:12 +0200jedws(~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 17:50:15 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 258 seconds)
2020-10-02 17:50:27 +0200 <ski> if you do want to be able to distinguish between failures from different operations, then it could make more sense to use `Either'
2020-10-02 17:50:41 +0200 <Guest18> Ok, then, once i get the result, how do i extract the value? Through pattern-matching?
2020-10-02 17:51:48 +0200LKoen(~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr)
2020-10-02 17:51:57 +0200 <Uniaika> Guest18: you may, but helper functions such as `either` exist as well, to inline the case analysis
2020-10-02 17:52:03 +0200 <ski> Guest18 : again, "it depends"
2020-10-02 17:53:10 +0200mahene(~mahene@2a02:8109:86c0:8d68:5400:2bfd:d746:732c)
2020-10-02 17:53:44 +0200 <ski> if this is a "one off" case, sure, you can do that. or things like `maybe',`fromMaybe',`either'. or sometimes things like `catMaybe',`mapMaybe',`partitionEithers' could be what you're looking for
2020-10-02 17:53:54 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-10-02 17:53:55 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-02 17:54:08 +0200kritzefitz(~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
2020-10-02 17:54:31 +0200 <ski> but often you e.g. want to "short-circuit" a combination of multiple possibly failing operations, so that if one operation fails, the "next one" won't be tried, instead failing the whole combination
2020-10-02 17:54:51 +0200 <ski> Guest18 : this is one thing that `Monad' (and `Applicative') is useful for
2020-10-02 17:54:52 +0200rotaerk(rotaerk@2600:3c02::f03c:91ff:fe70:4a45) (Read error: Connection reset by peer)
2020-10-02 17:56:26 +0200rotaerk(~rotaerk@ender.afternet.org)
2020-10-02 17:57:55 +0200avdb(~avdb@ip-213-49-123-208.dsl.scarlet.be) (Ping timeout: 240 seconds)
2020-10-02 17:58:23 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-02 17:58:29 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 17:59:46 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-10-02 17:59:51 +0200 <ski> @let safeDiv :: (Integral a,Eq a) => a -> a -> Maybe a; safeDiv _ 0 = Nothing; safeDiv n d = Just (div n d)
2020-10-02 17:59:53 +0200 <lambdabot> Defined.
2020-10-02 17:59:58 +0200avdb(~avdb@37.120.137.153)
2020-10-02 18:00:02 +0200 <monochrom> It always comes down to pattern matching. The only question is do you handwrite every time or do you refactor and reuse.
2020-10-02 18:00:04 +0200 <ski> > maybe "Oops !" show (for [1,2,3,4,5,6] (\d -> safeDiv 12 d))
2020-10-02 18:00:08 +0200 <lambdabot> "[12,6,4,3,2,2]"
2020-10-02 18:00:11 +0200 <ski> > maybe "Oops !" show (for [1,2,3,0,5,6] (\d -> safeDiv 12 d))
2020-10-02 18:00:14 +0200 <lambdabot> "Oops !"
2020-10-02 18:00:29 +0200kritzefitz(~kritzefit@212.86.56.80)
2020-10-02 18:00:29 +0200Rudd0(~Rudd0@185.189.115.108)
2020-10-02 18:01:00 +0200 <ski> Guest18 : that's an example of performing a sequence of possibly-failing operations, short-circuiting so that it fails (doesn't continue) as soon as an individual operation fails
2020-10-02 18:01:03 +0200kritzefitz(~kritzefit@212.86.56.80) (Client Quit)
2020-10-02 18:01:36 +0200kbse[m](kbsematrix@gateway/shell/matrix.org/x-aveamwrjewluqtec) (Quit: Idle for 30+ days)
2020-10-02 18:02:25 +0200nineonine(~nineonine@216-19-190-182.dyn.novuscom.net)
2020-10-02 18:02:27 +0200jgt(~jgt@195.225.146.77) (Ping timeout: 260 seconds)
2020-10-02 18:02:30 +0200cpressey(~cpressey@88.144.95.167) (Quit: WeeChat 1.9.1)
2020-10-02 18:06:17 +0200xff0x(~fox@2001:1a81:5254:9a00:244e:e6:b68b:8071) (Ping timeout: 272 seconds)
2020-10-02 18:06:25 +0200xff0x(~fox@2001:1a81:5254:9a00:e9b2:76ba:9f0:a22b)
2020-10-02 18:06:41 +0200howdoi(uid224@gateway/web/irccloud.com/x-modyeizvecmfjtqb)
2020-10-02 18:06:52 +0200 <Guest18> ski: I see, thank you for the thorough explanation. You too, Uniaika
2020-10-02 18:08:45 +0200hive-mind(~hivemind@rrcs-67-53-148-69.west.biz.rr.com) (Ping timeout: 240 seconds)
2020-10-02 18:08:49 +0200nikoping
2020-10-02 18:09:17 +0200hive-mind(~hivemind@rrcs-67-53-148-69.west.biz.rr.com)
2020-10-02 18:09:47 +0200bloodstalker(~bloodstal@46.166.187.178) (Ping timeout: 240 seconds)
2020-10-02 18:10:06 +0200geekosaur(42d52102@66.213.33.2)
2020-10-02 18:11:07 +0200 <ski> > (either id absurd . (`evalStateT` 1) . forever) (do n <- get; when (n >= 1000) (throwError n); put (2 * n)) -- Guest18, another example, doubling (starting from `1'), aborting when we reach at least a thousand
2020-10-02 18:11:11 +0200 <lambdabot> 1024
2020-10-02 18:12:05 +0200bloodstalker(~bloodstal@46.166.187.154)
2020-10-02 18:12:39 +0200 <ski> (if we didn't abort with `throwError' (which corresponds to `Nothing' or `Left' above, expressing (short-circuiting) failure), this would go on `forever')
2020-10-02 18:15:10 +0200 <ski> sometimes, one might also have an alternative branch (or a bunch of them), to try, in case the "main computation branch" failed. then one could reach for library operations having to do with `MonadPlus' (or `Alternative')
2020-10-02 18:16:19 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-02 18:16:46 +0200 <Guest18> Thank you, I'm gonna go over your examples later, i need to go now
2020-10-02 18:16:52 +0200Guest18(567e8866@gateway/web/cgi-irc/kiwiirc.com/ip.86.126.136.102) (Quit: Connection closed)
2020-10-02 18:17:05 +0200jespada(~jespada@90.254.246.48) (Ping timeout: 258 seconds)
2020-10-02 18:18:01 +0200jespada(~jespada@90.254.246.48)
2020-10-02 18:18:46 +0200machinedgod(~machinedg@45.78.189.122)
2020-10-02 18:19:14 +0200avdb(~avdb@37.120.137.153) (Quit: WeeChat 2.9)
2020-10-02 18:19:32 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 18:20:13 +0200 <fresheyeball> anyone know how to get haddock themes to work?
2020-10-02 18:24:58 +0200hackageblank-canvas 0.7.3 - HTML5 Canvas Graphics Library https://hackage.haskell.org/package/blank-canvas-0.7.3 (ryanglscott)
2020-10-02 18:27:49 +0200mahene(~mahene@2a02:8109:86c0:8d68:5400:2bfd:d746:732c) (Ping timeout: 272 seconds)
2020-10-02 18:29:44 +0200chappi(~swaroop@157.49.95.64)
2020-10-02 18:31:21 +0200b_52(~btk@89-64-93-156.dynamic.chello.pl)
2020-10-02 18:32:49 +0200pjb(~t@2a01cb04063ec50074da2bfcb3222c7a.ipv6.abo.wanadoo.fr)
2020-10-02 18:34:39 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-10-02 18:35:23 +0200tzh(~tzh@2601:448:c500:5300::143b)
2020-10-02 18:38:21 +0200conal(~conal@107.181.166.148) (Quit: Computer has gone to sleep.)
2020-10-02 18:38:33 +0200b_52(~btk@89-64-93-156.dynamic.chello.pl) (Quit: Leaving)
2020-10-02 18:40:06 +0200voyons_osti(~dan@107-190-41-58.cpe.teksavvy.com) (Read error: Connection reset by peer)
2020-10-02 18:40:42 +0200voyons_osti(~dan@107-190-41-58.cpe.teksavvy.com)
2020-10-02 18:40:57 +0200zacts(~zacts@dragora/developer/zacts)
2020-10-02 18:41:09 +0200aldum(~vishera@aldum.pw) (Remote host closed the connection)
2020-10-02 18:41:19 +0200aldum(~vishera@aldum.pw)
2020-10-02 18:41:45 +0200slack1256(~slack1256@181.203.37.183)
2020-10-02 18:42:04 +0200nineonine(~nineonine@216-19-190-182.dyn.novuscom.net) (Remote host closed the connection)
2020-10-02 18:42:06 +0200jespada(~jespada@90.254.246.48) (Quit: Leaving)
2020-10-02 18:46:43 +0200conal(~conal@107.181.166.148)
2020-10-02 18:48:28 +0200jgt(~jgt@188.239.64.32)
2020-10-02 18:49:43 +0200conal(~conal@107.181.166.148) (Client Quit)
2020-10-02 18:50:06 +0200finkata(~dpetrov@83.222.188.39) (Remote host closed the connection)
2020-10-02 18:50:24 +0200conal(~conal@107.181.166.148)
2020-10-02 18:50:50 +0200conal(~conal@107.181.166.148) (Client Quit)
2020-10-02 18:51:06 +0200Franciman(~francesco@host-212-171-42-250.retail.telecomitalia.it)
2020-10-02 18:51:20 +0200nineonine(~nineonine@216.81.48.202)
2020-10-02 18:51:28 +0200conal(~conal@107.181.166.148)
2020-10-02 18:51:38 +0200conal(~conal@107.181.166.148) (Client Quit)
2020-10-02 18:51:59 +0200slack1256(~slack1256@181.203.37.183) (Remote host closed the connection)
2020-10-02 18:52:17 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 18:52:35 +0200jb55(~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
2020-10-02 18:52:57 +0200st8less(~st8less@2603:a060:11fd:0:f15a:c857:2711:378c) (Ping timeout: 260 seconds)
2020-10-02 18:53:09 +0200alp(~alp@2a01:e0a:58b:4920:6d5a:70ac:290e:8fbe) (Ping timeout: 272 seconds)
2020-10-02 18:53:54 +0200conal(~conal@107.181.166.148)
2020-10-02 18:54:01 +0200conal(~conal@107.181.166.148) (Client Quit)
2020-10-02 18:54:05 +0200reallymemorable(~quassel@ip68-9-215-56.ri.ri.cox.net)
2020-10-02 18:55:10 +0200mav1(~mav@i59F456E0.versanet.de)
2020-10-02 18:55:10 +0200carlomagno(~cararell@inet-hqmc02-o.oracle.com) (Remote host closed the connection)
2020-10-02 18:57:40 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net) (Ping timeout: 246 seconds)
2020-10-02 18:58:05 +0200John20(~John@82.46.59.122) (Ping timeout: 240 seconds)
2020-10-02 18:59:15 +0200coot(~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
2020-10-02 18:59:18 +0200reallymemorable(~quassel@ip68-9-215-56.ri.ri.cox.net) (Remote host closed the connection)
2020-10-02 18:59:55 +0200coot(~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl)
2020-10-02 19:00:11 +0200ym555(~ym@156.199.76.92) (Ping timeout: 240 seconds)
2020-10-02 19:00:25 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 240 seconds)
2020-10-02 19:03:30 +0200coot(~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) (Client Quit)
2020-10-02 19:03:47 +0200conal(~conal@107.181.166.148)
2020-10-02 19:03:49 +0200worc3131(~quassel@2a02:c7f:c026:9500:7d0b:65d0:38a4:4786)
2020-10-02 19:06:30 +0200MaoZeDong_(~sweety@176.59.33.165)
2020-10-02 19:07:35 +0200Kirana(76658b6a@118.101.139.106)
2020-10-02 19:10:43 +0200Kirana(76658b6a@118.101.139.106) (Remote host closed the connection)
2020-10-02 19:11:25 +0200jb55(~jb55@gateway/tor-sasl/jb55)
2020-10-02 19:11:37 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-10-02 19:13:59 +0200John20(~John@82.46.59.122)
2020-10-02 19:15:16 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-10-02 19:16:28 +0200hackagevivid 0.4.2.4 - Sound synthesis with SuperCollider https://hackage.haskell.org/package/vivid-0.4.2.4 (TomMurphy)
2020-10-02 19:19:06 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2020-10-02 19:24:50 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-10-02 19:25:12 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-02 19:27:22 +0200alp(~alp@2a01:e0a:58b:4920:508d:ea72:5dcf:184b)
2020-10-02 19:27:27 +0200 <maralorn> Is there something nicer than "fold <$> sequence [pure "a", pure "b"]"?
2020-10-02 19:29:25 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-02 19:30:25 +0200ubert(~Thunderbi@91.141.3.51.wireless.dyn.drei.com)
2020-10-02 19:30:37 +0200Carl69(726cdb9f@114.108.219.159)
2020-10-02 19:30:42 +0200tbreslein(~tbreslein@2a02:8108:140:44f8::901) (Remote host closed the connection)
2020-10-02 19:31:00 +0200 <tomjaguarpaw> Nicer in what way? "ab" is pretty nice.
2020-10-02 19:31:02 +0200 <ski> do you have those `pure's in your code ?
2020-10-02 19:31:16 +0200Carl69Carl20
2020-10-02 19:32:38 +0200 <ski> note that `sequence (fmap pure as) = pure as' (at least when `as' is finite)
2020-10-02 19:33:37 +0200 <Carl20> Hello good evening, I tried to install chocolatey but only 4/5 packages succeeded, ghc failed to install, hoping for some help, thanks!
2020-10-02 19:37:41 +0200p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Quit: p-core)
2020-10-02 19:38:13 +0200 <lordcirth_> Carl20, was there an error message?
2020-10-02 19:39:23 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 240 seconds)
2020-10-02 19:40:54 +0200geekosaur(42d52102@66.213.33.2) (Ping timeout: 245 seconds)
2020-10-02 19:44:36 +0200ryansmccoy(~ryansmcco@68.235.48.108) (Ping timeout: 256 seconds)
2020-10-02 19:44:36 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-02 19:44:38 +0200 <Carl20> It only showed this one: ghc (exited -1) - Error while running 'C:\ProgramData\chocolatey\lib\ghc\tools\chocolateyInstall.ps1'
2020-10-02 19:44:47 +0200 <Carl20> lordcirth_
2020-10-02 19:44:47 +0200ryansmccoy(~ryansmcco@193.37.254.27)
2020-10-02 19:45:52 +0200Carl20C20
2020-10-02 19:46:43 +0200zacts(~zacts@dragora/developer/zacts) (Quit: leaving)
2020-10-02 19:46:47 +0200aarvar(~foewfoiew@50.35.43.33) (Ping timeout: 258 seconds)
2020-10-02 19:46:58 +0200 <C20> Within the chocolatey.log, it only showed this one: The install of ghc was NOT successful.
2020-10-02 19:47:01 +0200zacts(~zacts@dragora/developer/zacts)
2020-10-02 19:47:50 +0200jb55(~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
2020-10-02 19:49:27 +0200Buntspecht(~user@unaffiliated/siracusa)
2020-10-02 19:49:59 +0200 <lordcirth_> C20, maybe you should ask on chocolatey help how to get better logs
2020-10-02 19:50:16 +0200ubert(~Thunderbi@91.141.3.51.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
2020-10-02 19:51:34 +0200juri__juri_
2020-10-02 19:53:13 +0200frdg(47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net)
2020-10-02 19:54:58 +0200hackagestructs 0.1.4 - Strict GC'd imperative object-oriented programming with cheap pointers. https://hackage.haskell.org/package/structs-0.1.4 (ryanglscott)
2020-10-02 19:55:25 +0200Neuromancer(~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 246 seconds)
2020-10-02 19:55:53 +0200C20(726cdb9f@114.108.219.159) (Remote host closed the connection)
2020-10-02 19:56:55 +0200 <frdg> I am trying to use lenses and I am not understanding what I need to do. `:t (^.) :: s -> Getting a s a -> a`. To me I should get back a string with this function (which is what I want) but I am not really sure what I am getting. https://dpaste.org/xYe9
2020-10-02 19:57:56 +0200coot(~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl)
2020-10-02 19:58:04 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-02 19:58:07 +0200 <[exa]> frdg: the lens is usually not called _time
2020-10-02 19:58:27 +0200 <[exa]> (as a first guess, can you try just `time` ?)
2020-10-02 19:58:48 +0200 <[exa]> _time is the accessor function which is certainly not going to work in that place
2020-10-02 19:58:52 +0200 <frdg> [exa]: yup
2020-10-02 19:58:58 +0200 <frdg> thanks
2020-10-02 19:59:12 +0200dyeplexer(~lol@unaffiliated/terpin) (Remote host closed the connection)
2020-10-02 20:00:02 +0200yost3d(~yost3d@193.56.252.210) ()
2020-10-02 20:02:54 +0200raichoo(~raichoo@213.240.178.58) (Quit: Lost terminal)
2020-10-02 20:06:31 +0200dhouthoo(~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.8)
2020-10-02 20:10:33 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-02 20:11:36 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-02 20:11:42 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 20:11:47 +0200borne(~fritjof@200116b86454500007933c164a08810c.dip.versatel-1u1.de)
2020-10-02 20:13:27 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-02 20:13:42 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 20:14:38 +0200frdg(47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) (Remote host closed the connection)
2020-10-02 20:16:25 +0200Franciman(~francesco@host-212-171-42-250.retail.telecomitalia.it) (Ping timeout: 240 seconds)
2020-10-02 20:16:51 +0200Franciman(~francesco@host-212-171-42-250.pool212171.interbusiness.it)
2020-10-02 20:17:48 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com)
2020-10-02 20:17:48 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host)
2020-10-02 20:17:48 +0200jle`(~mstksg@unaffiliated/mstksg)
2020-10-02 20:18:06 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-10-02 20:20:43 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-02 20:21:16 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-02 20:22:31 +0200ThunderChicken1(~ThunderCh@185.244.214.216)
2020-10-02 20:22:37 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-02 20:22:45 +0200chaosmasttter(~chaosmast@p200300c4a711ea011d677dd0bd985d37.dip0.t-ipconnect.de)
2020-10-02 20:23:25 +0200jle`(~mstksg@unaffiliated/mstksg) (Ping timeout: 240 seconds)
2020-10-02 20:23:48 +0200ubert(~Thunderbi@91.141.3.51.wireless.dyn.drei.com)
2020-10-02 20:24:34 +0200frdg(47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net)
2020-10-02 20:25:00 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com)
2020-10-02 20:25:00 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host)
2020-10-02 20:25:00 +0200jle`(~mstksg@unaffiliated/mstksg)
2020-10-02 20:26:22 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2020-10-02 20:26:45 +0200HaskellYogi(~vivekrama@49.207.202.80) (Remote host closed the connection)
2020-10-02 20:27:23 +0200HaskellYogi(~vivekrama@49.207.202.80)
2020-10-02 20:27:58 +0200hackageacc 0.1.2 - Sequence optimized for monoidal construction and folding https://hackage.haskell.org/package/acc-0.1.2 (NikitaVolkov)
2020-10-02 20:30:07 +0200Tops22(~Tobias@dyndsl-095-033-022-004.ewe-ip-backbone.de) (Quit: Leaving.)
2020-10-02 20:31:20 +0200machinedgod(~machinedg@45.78.189.122) (Quit: Lost terminal)
2020-10-02 20:32:03 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-02 20:32:24 +0200jle`(~mstksg@unaffiliated/mstksg) (Ping timeout: 258 seconds)
2020-10-02 20:32:43 +0200HaskellYogi(~vivekrama@49.207.202.80) (Ping timeout: 260 seconds)
2020-10-02 20:33:24 +0200ThaEwat(thaewraptm@gateway/shell/matrix.org/x-mopjnwlxyxbzydyc)
2020-10-02 20:34:32 +0200zaquest(~notzaques@5.128.210.178)
2020-10-02 20:35:45 +0200machinedgod(~machinedg@45.78.189.122)
2020-10-02 20:38:56 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-02 20:39:28 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-02 20:39:50 +0200johnw(~johnw@haskell/developer/johnw)
2020-10-02 20:40:22 +0200ping(~niko@freenode/staff/ubuntu.member.niko) (Quit: leaving)
2020-10-02 20:41:49 +0200niko(~niko@freenode/staff/ubuntu.member.niko)
2020-10-02 20:43:22 +0200Franciman(~francesco@host-212-171-42-250.pool212171.interbusiness.it) (Ping timeout: 246 seconds)
2020-10-02 20:46:47 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com)
2020-10-02 20:46:47 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host)
2020-10-02 20:46:47 +0200jle`(~mstksg@unaffiliated/mstksg)
2020-10-02 20:49:04 +0200Franciman(~francesco@host-212-171-42-250.pool212171.interbusiness.it)
2020-10-02 20:50:43 +0200machinedgod(~machinedg@45.78.189.122) (Ping timeout: 246 seconds)
2020-10-02 20:54:22 +0200xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds)
2020-10-02 20:55:36 +0200NinjaTrappeur(~ninja@unaffiliated/ninjatrappeur) (Quit: WeeChat 2.9)
2020-10-02 20:56:14 +0200jle`(~mstksg@unaffiliated/mstksg) (Ping timeout: 256 seconds)
2020-10-02 20:56:25 +0200NinjaTrappeur(~ninja@unaffiliated/ninjatrappeur)
2020-10-02 20:59:03 +0200Franciman(~francesco@host-212-171-42-250.pool212171.interbusiness.it) (Quit: Leaving)
2020-10-02 20:59:29 +0200Franciman(~francesco@host-212-171-42-250.retail.telecomitalia.it)
2020-10-02 21:00:19 +0200DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-10-02 21:00:24 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 21:00:42 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-02 21:00:43 +0200DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-10-02 21:02:03 +0200Aquazi(uid312403@gateway/web/irccloud.com/x-qegeokaunvltnjjt) (Quit: Connection closed for inactivity)
2020-10-02 21:04:30 +0200geekosaur(42d52102@66.213.33.2)
2020-10-02 21:05:00 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2020-10-02 21:05:37 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2020-10-02 21:06:42 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 21:07:33 +0200chappi(~swaroop@157.49.95.64) (Remote host closed the connection)
2020-10-02 21:08:11 +0200Franciman(~francesco@host-212-171-42-250.retail.telecomitalia.it) (Ping timeout: 260 seconds)
2020-10-02 21:11:11 +0200 <frdg> with lenses what is the nicest way to `get, apply a function, set`?
2020-10-02 21:12:20 +0200avdb(~avdb@ip-213-49-123-208.dsl.scarlet.be)
2020-10-02 21:12:24 +0200 <ghoulguy> frdg: over
2020-10-02 21:12:49 +0200 <frdg> okay thank you
2020-10-02 21:14:25 +0200dhil(~dhil@11.29.39.217.dyn.plus.net)
2020-10-02 21:15:43 +0200 <solonarv> frdg: or %~ as an operator
2020-10-02 21:15:59 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-02 21:16:11 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-02 21:16:15 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-02 21:19:30 +0200avdb(~avdb@ip-213-49-123-208.dsl.scarlet.be) (Quit: WeeChat 2.9)
2020-10-02 21:20:03 +0200Franciman(~francesco@host-212-171-42-250.pool212171.interbusiness.it)
2020-10-02 21:21:46 +0200 <frdg> solonarv: I have never seen a non-binary operator.
2020-10-02 21:22:11 +0200 <koz_> frdg: GHC allows you to define unary postfix operators I think?
2020-10-02 21:22:18 +0200 <solonarv> fear not, %~ still isn't a ternary operator
2020-10-02 21:22:22 +0200 <koz_> Not many folks do it, but I think it's technically possible.
2020-10-02 21:23:01 +0200 <ghoulguy> > let (!) = "wow" in (+) ++ (+)
2020-10-02 21:23:03 +0200 <lambdabot> error:
2020-10-02 21:23:03 +0200 <lambdabot> • Couldn't match expected type ‘[a]’
2020-10-02 21:23:03 +0200 <lambdabot> with actual type ‘a0 -> a0 -> a0’
2020-10-02 21:23:07 +0200 <ghoulguy> :(
2020-10-02 21:23:17 +0200 <solonarv> 'lens %~ func' is a function again; commonly it's applied using & which is a flipped version of $
2020-10-02 21:23:25 +0200 <lordcirth_> ghoulguy, ... what did you expect that to do?
2020-10-02 21:23:35 +0200 <ghoulguy> > let (!) = "wow" in (!) ++ (!)
2020-10-02 21:23:35 +0200 <frdg> ohh I see what is going on there
2020-10-02 21:23:37 +0200 <lambdabot> "wowwow"
2020-10-02 21:23:58 +0200 <geekosaur> PostfixOperators extension is a thing, yes
2020-10-02 21:23:58 +0200 <solonarv> e.g.: bigRecord & lenses.here %~ func
2020-10-02 21:24:49 +0200 <geekosaur> of curse it plays oddly with operator section syntax, like unary negation does
2020-10-02 21:25:03 +0200 <geekosaur> *of course
2020-10-02 21:25:20 +0200 <geekosaur> although "curse" might also describe it :)
2020-10-02 21:28:26 +0200 <cohn> any Wreq gurus around?
2020-10-02 21:28:34 +0200 <ghoulguy> lordcirth_: to show that there are non-function operator symbols
2020-10-02 21:28:38 +0200 <Uniaika> (~) of irrefutable pattern is technique a non-binary operator
2020-10-02 21:28:42 +0200 <Uniaika> (I love that term)
2020-10-02 21:28:48 +0200 <Uniaika> (but I'll call it "unary")
2020-10-02 21:29:26 +0200 <geekosaur> "technically"? ("technique" seems wrong there)
2020-10-02 21:29:26 +0200 <lordcirth_> ghoulguy, is it really an operator if it's just a value?
2020-10-02 21:29:45 +0200 <ghoulguy> lordcirth_: being a value is more general than being a function
2020-10-02 21:29:55 +0200 <ghoulguy> being composed of symbols like that is what makes something an operator symbol
2020-10-02 21:30:14 +0200 <ghoulguy> The "binary" aspect comes from being used in an infix position
2020-10-02 21:30:38 +0200 <lordcirth_> Just a concrete value, then
2020-10-02 21:30:39 +0200 <ghoulguy> but that's about the syntax at the use-site, not the thing itself
2020-10-02 21:30:51 +0200 <ghoulguy> "concrete value" doesn't really mean anything
2020-10-02 21:30:59 +0200 <lordcirth_> value of concrete kind?
2020-10-02 21:31:09 +0200 <lordcirth_> To me an operator has to operate on something, that is, take at least one argument
2020-10-02 21:31:15 +0200 <ghoulguy> concrete doesn't really mean anything, what are you hoping to get to?
2020-10-02 21:31:30 +0200 <lordcirth_> "concrete" is usually how people pronouce the kind "*", AFAIK
2020-10-02 21:31:44 +0200 <lordcirth_> As opposed to kind "* -> *"
2020-10-02 21:31:48 +0200 <ghoulguy> maybe some do, but that's not an official thing
2020-10-02 21:31:50 +0200 <Uniaika> geekosaur: yeah, I just switched to french and forgot to end the adverb
2020-10-02 21:32:15 +0200 <ghoulguy> lordcirth_: Maybe the term you mean is just "non-function"?
2020-10-02 21:32:33 +0200 <lordcirth_> A non-function value, yes
2020-10-02 21:32:52 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
2020-10-02 21:32:55 +0200coot_(~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl)
2020-10-02 21:33:12 +0200 <lordcirth_> I don't see how something can be considered an operator if it doesn't take an argument.
2020-10-02 21:33:32 +0200 <ghoulguy> lordcirth_: it's just a syntactic construct
2020-10-02 21:35:48 +0200 <koz_> \me o O O (A concrete value: 'x :: Concrete')
2020-10-02 21:36:27 +0200jb55(~jb55@gateway/tor-sasl/jb55)
2020-10-02 21:36:31 +0200brown121408(~brown@46.97.168.83)
2020-10-02 21:36:48 +0200coot(~coot@37.30.49.34.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 256 seconds)
2020-10-02 21:36:49 +0200coot_coot
2020-10-02 21:36:54 +0200 <ghoulguy> I suppose you could take the position that nothing "is an operator" but things can be "used as operators"
2020-10-02 21:37:27 +0200 <ghoulguy> (!) would be a variable symbol, f could be a variable identifier, and then if you use either as: x!y or x`f`y you're using them *as an operator*
2020-10-02 21:37:53 +0200zargoertzel(~zar@fw2.ciirc.cvut.cz)
2020-10-02 21:40:25 +0200zariuq(~zar@fw2.ciirc.cvut.cz) (Ping timeout: 256 seconds)
2020-10-02 21:40:42 +0200zariuq(~zar@fw2.ciirc.cvut.cz)
2020-10-02 21:41:33 +0200aenesidemus(~aenesidem@c-73-53-247-25.hsd1.fl.comcast.net)
2020-10-02 21:41:44 +0200brown121408(~brown@46.97.168.83) (Ping timeout: 272 seconds)
2020-10-02 21:42:49 +0200zargoertzel(~zar@fw2.ciirc.cvut.cz) (Ping timeout: 264 seconds)
2020-10-02 21:44:03 +0200 <ski> "operator" is a syntactic thing, yea
2020-10-02 21:44:25 +0200Franciman(~francesco@host-212-171-42-250.pool212171.interbusiness.it) (Ping timeout: 240 seconds)
2020-10-02 21:45:34 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-02 21:47:02 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) (Remote host closed the connection)
2020-10-02 21:47:13 +0200machinedgod(~machinedg@d67-193-126-196.home3.cgocable.net)
2020-10-02 21:49:21 +0200zacts(~zacts@dragora/developer/zacts) (Quit: leaving)
2020-10-02 21:51:14 +0200taurux(~taurux@net-93-144-28-140.cust.vodafonedsl.it) (Quit: ZNC 1.7.5 - https://znc.in)
2020-10-02 21:51:53 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f)
2020-10-02 21:52:10 +0200jollygood2(~bc815b99@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
2020-10-02 21:54:55 +0200iteratee_(~kyle@162.211.154.4)
2020-10-02 21:55:19 +0200 <maralorn> I have a _very_ silly problem.
2020-10-02 21:55:23 +0200MaoZeDong_(~sweety@176.59.33.165) (Read error: Connection reset by peer)
2020-10-02 21:55:44 +0200 <maralorn> I have a hunit test. I run it with "runTestTT"
2020-10-02 21:55:47 +0200MaoZeDong_(~sweety@176.59.33.165)
2020-10-02 21:55:58 +0200 <maralorn> But that returns "()" so I do
2020-10-02 21:55:59 +0200shafox_(~shafox@106.51.234.111)
2020-10-02 21:55:59 +0200xerox_(~xerox@unaffiliated/xerox)
2020-10-02 21:56:11 +0200 <maralorn> main = print <=< runTestTT $ myTest
2020-10-02 21:56:16 +0200mantovani(~mantovani@104.131.207.121) (Ping timeout: 240 seconds)
2020-10-02 21:56:16 +0200c-rog(~c-rog@traffic.simst.im) (Ping timeout: 240 seconds)
2020-10-02 21:56:21 +0200lep-delete(~lep@94.31.82.44) (Read error: Connection reset by peer)
2020-10-02 21:56:34 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-10-02 21:56:35 +0200haasn`(~haasn@mpv/developer/haasn)
2020-10-02 21:56:37 +0200lep-delete(~lep@94.31.82.44)
2020-10-02 21:56:45 +0200pepeiborra(sid443799@gateway/web/irccloud.com/x-zjvxjrszspxcqhac) (Ping timeout: 240 seconds)
2020-10-02 21:56:45 +0200brown121407(~brown1214@fsf/member/brown121407) (Ping timeout: 240 seconds)
2020-10-02 21:56:53 +0200 <maralorn> But now if I run "cabal test" it will say all tests passed.
2020-10-02 21:56:54 +0200lep-deletetest
2020-10-02 21:56:59 +0200 <maralorn> There has to be a simple solution to this.
2020-10-02 21:56:59 +0200iteratee(~kyle@162.211.154.4) (Read error: Connection reset by peer)
2020-10-02 21:57:05 +0200banjiewen(sid115913@gateway/web/irccloud.com/x-xhvpjulpxhwqhcqy) (Ping timeout: 240 seconds)
2020-10-02 21:57:08 +0200testGuest40023
2020-10-02 21:57:09 +0200pepeiborra(sid443799@gateway/web/irccloud.com/x-srqetfybaannrdjz)
2020-10-02 21:57:11 +0200 <maralorn> But all hunit examples I find use ghci.
2020-10-02 21:57:24 +0200 <maralorn> I mean this is _the_ use case for hunit.^^
2020-10-02 21:57:27 +0200alp(~alp@2a01:e0a:58b:4920:508d:ea72:5dcf:184b) (Ping timeout: 272 seconds)
2020-10-02 21:57:27 +0200banjiewen(sid115913@gateway/web/irccloud.com/x-shqhqasrwahmjagb)
2020-10-02 21:57:41 +0200brown121407(~brown1214@2001:19f0:6c01:2b9c:3c66:4201:22f3:3ebc)
2020-10-02 21:57:41 +0200brown121407(~brown1214@2001:19f0:6c01:2b9c:3c66:4201:22f3:3ebc) (Changing host)
2020-10-02 21:57:41 +0200brown121407(~brown1214@fsf/member/brown121407)
2020-10-02 21:57:45 +0200Hijiri(~Hijiri@104.236.61.10) (Ping timeout: 240 seconds)
2020-10-02 21:57:45 +0200jtcs(~jtcs@vmi359854.contaboserver.net) (Ping timeout: 240 seconds)
2020-10-02 21:57:53 +0200Hijiri_(~Hijiri@104.236.61.10)
2020-10-02 21:57:56 +0200jtcs_(~jtcs@vmi359854.contaboserver.net)
2020-10-02 21:58:00 +0200MaoZeDong_(~sweety@176.59.33.165) (Remote host closed the connection)
2020-10-02 21:58:01 +0200mantovani(~mantovani@104.131.207.121)
2020-10-02 21:58:05 +0200haasn(~haasn@mpv/developer/haasn) (Ping timeout: 240 seconds)
2020-10-02 21:58:22 +0200c-rog(~c-rog@traffic.simst.im)
2020-10-02 21:58:23 +0200MaoZeDong_(~sweety@176.59.33.165)
2020-10-02 21:58:25 +0200shafox(~shafox@106.51.234.111) (Ping timeout: 240 seconds)
2020-10-02 21:58:30 +0200jb55(~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
2020-10-02 21:58:37 +0200geekosaur(42d52102@66.213.33.2) (Remote host closed the connection)
2020-10-02 21:59:03 +0200Franciman(~francesco@host-212-171-42-250.retail.telecomitalia.it)
2020-10-02 21:59:04 +0200 <frdg> what is the way to do multiple lens operations in one expression? This should kind of show what I mean: https://dpaste.org/rs1B
2020-10-02 21:59:08 +0200 <maralorn> https://github.com/hspec/HUnit/blob/master/tests/HUnitTests.hs
2020-10-02 21:59:20 +0200 <maralorn> I can just copy that from there …
2020-10-02 21:59:36 +0200 <dolio> `cabal test` only shows test output if tests fail, I think.
2020-10-02 22:00:46 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-02 22:01:01 +0200 <dsal> frdg: tr & temp %~ (fmap MYP.celsiusToFahr) & feels %~ (fmap MYP.celsiusToFahr)
2020-10-02 22:01:41 +0200 <dsal> I guess you don't need all those parens.
2020-10-02 22:02:03 +0200 <frdg> ok nice
2020-10-02 22:02:28 +0200hackageuniqueness-periods-vector-examples 0.7.2.0 - Usage examples for the uniqueness-periods-vector series of packages https://hackage.haskell.org/package/uniqueness-periods-vector-examples-0.7.2.0 (OleksandrZhabenko)
2020-10-02 22:07:00 +0200MaoZeDong_(~sweety@176.59.33.165) (Remote host closed the connection)
2020-10-02 22:07:01 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2020-10-02 22:07:41 +0200MaoZeDong_(~sweety@176.59.33.165)
2020-10-02 22:08:27 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-02 22:09:13 +0200 <solonarv> note that 'temp %~ fmap func' can also be written as 'temp.mapped %~ func'
2020-10-02 22:13:44 +0200borne(~fritjof@200116b86454500007933c164a08810c.dip.versatel-1u1.de) (Ping timeout: 244 seconds)
2020-10-02 22:15:51 +0200son0p(~son0p@181.136.122.143) (Ping timeout: 260 seconds)
2020-10-02 22:17:03 +0200Stanley00(~stanley00@unaffiliated/stanley00)
2020-10-02 22:17:13 +0200MaoZeDong_(~sweety@176.59.33.165) (Remote host closed the connection)
2020-10-02 22:17:25 +0200GyroW_(~GyroW@d54c03e98.access.telenet.be)
2020-10-02 22:17:25 +0200GyroW_(~GyroW@d54c03e98.access.telenet.be) (Changing host)
2020-10-02 22:17:25 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-02 22:17:40 +0200darjeeling_(~darjeelin@122.245.210.179) (Ping timeout: 256 seconds)
2020-10-02 22:17:55 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds)
2020-10-02 22:18:18 +0200raehik(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2020-10-02 22:18:29 +0200 <ezzieyguywuf> can anyone recommend a package that will allow me to 'stream' csv data, i.e. like pipes or conduits or w/e?
2020-10-02 22:18:37 +0200 <ezzieyguywuf> i'm interested in reading the data in one row at a time
2020-10-02 22:18:45 +0200raehik(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net)
2020-10-02 22:19:30 +0200MaoZeDong_(~sweety@176.59.33.165)
2020-10-02 22:20:20 +0200 <cohn> hi, what's the difference between "import qualified Foo.Bar as B" and "import Foo.Bar as B"?
2020-10-02 22:20:39 +0200darjeeling_(~darjeelin@122.245.210.179)
2020-10-02 22:20:45 +0200 <cohn> I know what a qualified import means but it seems like you don't really need to use the "qualified" keyword
2020-10-02 22:21:22 +0200 <dolio> Without the `qualified`, it imports everything unqualified as well.
2020-10-02 22:21:23 +0200Stanley00(~stanley00@unaffiliated/stanley00) (Ping timeout: 240 seconds)
2020-10-02 22:21:23 +0200 <ezzieyguywuf> cohn: when you don't use the 'qualified' keyword, thet `B.SomeFooFunc` and `SomeFooFunc` are both valid.
2020-10-02 22:21:39 +0200rprije(~rprije@203.214.95.251)
2020-10-02 22:21:44 +0200 <ezzieyguywuf> yea what dolio said.
2020-10-02 22:21:49 +0200borne(~fritjof@200116b86454500007933c164a08810c.dip.versatel-1u1.de)
2020-10-02 22:22:00 +0200 <[exa]> cohn: 'qualified' is mainly for preventing name ambiguity in the "unprefixed" globally available names
2020-10-02 22:23:27 +0200 <[exa]> .....btw why is it called 'qualified'?
2020-10-02 22:25:00 +0200 <ezzieyguywuf> b/c it forces you to 'qualify' any functions from the imported module that you wish to use with a prefix, I imagine
2020-10-02 22:25:13 +0200MaoZeDong_(~sweety@176.59.33.165) (Ping timeout: 246 seconds)
2020-10-02 22:25:44 +0200 <ezzieyguywuf> `import Foo; import Bar; someFuncInBothFooAndBar` ghc won't know which to use, so it'll ask you to "qualify" the function name with a prefix (in this case the module name)
2020-10-02 22:26:10 +0200 <cohn> ok, thanks everybody.
2020-10-02 22:26:54 +0200 <cohn> coming from python, where qualifying an import is just "import foo as bar", the difference was confusing
2020-10-02 22:27:10 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com)
2020-10-02 22:27:10 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host)
2020-10-02 22:27:10 +0200jle`(~mstksg@unaffiliated/mstksg)
2020-10-02 22:28:15 +0200 <ezzieyguywuf> cohn: it's similar, just adds an extra layer of tunability in haskell
2020-10-02 22:28:46 +0200 <ezzieyguywuf> i.e. to accomplish `import Foo as Bar` in python you'd need two lines, `import Foo; import Foo as Bar`
2020-10-02 22:28:47 +0200MaoZeDong_(~sweety@176.59.33.165)
2020-10-02 22:29:00 +0200MaoZeDong_(~sweety@176.59.33.165) (Remote host closed the connection)
2020-10-02 22:29:44 +0200DTZUZU_DTZUZU
2020-10-02 22:29:48 +0200MaoZeDong_(~sweety@176.59.33.165)
2020-10-02 22:31:03 +0200Franciman(~francesco@host-212-171-42-250.retail.telecomitalia.it) (Quit: Leaving)
2020-10-02 22:32:11 +0200Franciman(~francesco@host-212-171-42-250.retail.telecomitalia.it)
2020-10-02 22:32:52 +0200 <ezzieyguywuf> hrm, maybe pipes-csv
2020-10-02 22:33:08 +0200jle`(~mstksg@unaffiliated/mstksg) (Ping timeout: 256 seconds)
2020-10-02 22:33:28 +0200elliott_(~elliott_@pool-100-36-54-163.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2020-10-02 22:34:12 +0200vicfred(~vicfred@unaffiliated/vicfred)
2020-10-02 22:35:14 +0200 <cohn> ezzieyguywuf: true, but I was only curious about qualifying an import. So, seems like I need to use the "qualified" keyword so I don't potentially step on similar-named functions
2020-10-02 22:36:09 +0200 <cohn> so for Python's "import foo.bar as b" I need to do "import qualified Foo.Bar as B" in Haskell
2020-10-02 22:36:36 +0200 <ezzieyguywuf> cohn: yea, I use qualified pretty much every time
2020-10-02 22:36:42 +0200MaoZeDong_(~sweety@176.59.33.165) (Read error: Connection reset by peer)
2020-10-02 22:36:49 +0200sweety_(~sweety@176.59.33.165)
2020-10-02 22:36:58 +0200 <ezzieyguywuf> correction: I use qualified every time I import a whole module.
2020-10-02 22:37:14 +0200 <ezzieyguywuf> cohn: usually I just import exactly what I need, i.e. `import Foo(Bar, Baz)`
2020-10-02 22:37:31 +0200 <cohn> exactly
2020-10-02 22:37:57 +0200 <ezzieyguywuf> cohn: but this is unqualified, so I use Bar and Baz "bare". I prefer this, though, as it keeps my namespace uncluttered
2020-10-02 22:39:19 +0200 <cohn> yea. The hlint utility definitely helps in that regard!
2020-10-02 22:39:57 +0200shatriff(~vitaliish@188.163.30.117)
2020-10-02 22:41:11 +0200agrifagrim
2020-10-02 22:42:13 +0200DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-10-02 22:42:15 +0200sweety_(~sweety@176.59.33.165) (Read error: Connection reset by peer)
2020-10-02 22:42:38 +0200SigynferalSigyn
2020-10-02 22:42:51 +0200sweety_(~sweety@176.59.33.165)
2020-10-02 22:43:14 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-02 22:43:35 +0200sweety_(~sweety@176.59.33.165) (Remote host closed the connection)
2020-10-02 22:44:24 +0200sweety_(~sweety@176.59.33.165)
2020-10-02 22:44:25 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-10-02 22:45:01 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-10-02 22:45:02 +0200sweety_(~sweety@176.59.33.165) (Remote host closed the connection)
2020-10-02 22:47:27 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-02 22:50:04 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:41ee:e0ba:d692:129) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-02 22:50:08 +0200shatriff(~vitaliish@188.163.30.117) (Remote host closed the connection)
2020-10-02 22:51:23 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds)
2020-10-02 22:51:44 +0200chele(~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2020-10-02 22:52:54 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798)
2020-10-02 22:53:59 +0200nikoCitrouille
2020-10-02 22:56:05 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-02 22:57:08 +0200taurux(~taurux@net-93-144-28-140.cust.vodafonedsl.it)
2020-10-02 22:57:54 +0200Franciman(~francesco@host-212-171-42-250.retail.telecomitalia.it) (Quit: Leaving)
2020-10-02 22:58:45 +0200frdg(47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) (Remote host closed the connection)
2020-10-02 23:00:02 +0200ThunderChicken1(~ThunderCh@185.244.214.216) ()
2020-10-02 23:00:20 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com)
2020-10-02 23:00:20 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host)
2020-10-02 23:00:20 +0200jle`(~mstksg@unaffiliated/mstksg)
2020-10-02 23:00:25 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-10-02 23:00:55 +0200jb55(~jb55@gateway/tor-sasl/jb55)
2020-10-02 23:02:57 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net)
2020-10-02 23:04:12 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 23:05:23 +0200jle`(~mstksg@unaffiliated/mstksg) (Ping timeout: 240 seconds)
2020-10-02 23:13:02 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-02 23:13:02 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-02 23:13:02 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-02 23:13:10 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Ping timeout: 246 seconds)
2020-10-02 23:13:26 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-02 23:14:32 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Remote host closed the connection)
2020-10-02 23:15:57 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798)
2020-10-02 23:16:00 +0200ggole(~ggole@2001:8003:8119:7200:8514:d230:fa70:c54c) (Quit: Leaving)
2020-10-02 23:16:14 +0200chaosmasttter(~chaosmast@p200300c4a711ea011d677dd0bd985d37.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
2020-10-02 23:18:37 +0200__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2020-10-02 23:20:15 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Read error: Connection reset by peer)
2020-10-02 23:20:38 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798)
2020-10-02 23:27:32 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Remote host closed the connection)
2020-10-02 23:28:41 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798)
2020-10-02 23:28:42 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) (Quit: Leaving)
2020-10-02 23:29:25 +0200taurux(~taurux@net-93-144-28-140.cust.vodafonedsl.it) (Ping timeout: 240 seconds)
2020-10-02 23:29:50 +0200haasn`haasn
2020-10-02 23:29:52 +0200taurux(~taurux@net-188-216-115-169.cust.vodafonedsl.it)
2020-10-02 23:30:33 +0200danvet_(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2020-10-02 23:31:16 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 23:32:02 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798) (Remote host closed the connection)
2020-10-02 23:32:05 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com)
2020-10-02 23:32:05 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host)
2020-10-02 23:32:05 +0200jle`(~mstksg@unaffiliated/mstksg)
2020-10-02 23:32:46 +0200alp(~alp@2a01:e0a:58b:4920:348b:a0fc:3b69:4893)
2020-10-02 23:35:48 +0200mahene(~mahene@2a02:8109:86c0:8d68:5400:2bfd:d746:732c)
2020-10-02 23:35:55 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-02 23:37:30 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-02 23:38:05 +0200jle`(~mstksg@unaffiliated/mstksg) (Ping timeout: 240 seconds)
2020-10-02 23:38:55 +0200falafel(~falafel@cpe-104-172-194-249.socal.res.rr.com)
2020-10-02 23:42:04 +0200elliott_(~elliott_@pool-71-127-56-236.washdc.fios.verizon.net)
2020-10-02 23:44:47 +0200johs(sid246410@gateway/web/irccloud.com/x-mkeicffdlyarxtfa) (Ping timeout: 240 seconds)
2020-10-02 23:45:05 +0200johs(sid246410@gateway/web/irccloud.com/x-muqxisckhdengjbz)
2020-10-02 23:45:25 +0200thc202(~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds)
2020-10-02 23:47:08 +0200elliott_(~elliott_@pool-71-127-56-236.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2020-10-02 23:47:39 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-02 23:48:49 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Ping timeout: 264 seconds)
2020-10-02 23:50:46 +0200Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 256 seconds)
2020-10-02 23:51:17 +0200falafel(~falafel@cpe-104-172-194-249.socal.res.rr.com) (Remote host closed the connection)
2020-10-02 23:51:43 +0200falafel(~falafel@2605:e000:1527:d491:a806:37fa:6971:2798)
2020-10-02 23:56:17 +0200ericsagnes(~ericsagne@2405:6580:0:5100:6535:f906:9e43:db0f) (Ping timeout: 260 seconds)
2020-10-02 23:57:35 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)