2021/07/15

2021-07-15 00:02:12 +0200 <lbseale> I'm trying to write generics for the first time, and I'm stuck on trying to get the name of a record field, here is my code and error message: https://paste.tomsmeding.com/u3dLcpZN ... I don't understand how to use selName
2021-07-15 00:02:37 +0200ubert(~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2021-07-15 00:03:08 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-07-15 00:03:57 +0200benin0369(~benin@183.82.176.17)
2021-07-15 00:05:42 +0200Topsi(~Tobias@dyndsl-095-033-020-123.ewe-ip-backbone.de) (Ping timeout: 268 seconds)
2021-07-15 00:06:55 +0200pavonia(~user@user/siracusa)
2021-07-15 00:14:24 +0200cheater(~Username@user/cheater) (Ping timeout: 255 seconds)
2021-07-15 00:14:38 +0200cheater(~Username@user/cheater)
2021-07-15 00:14:57 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-15 00:15:11 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-15 00:17:06 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds)
2021-07-15 00:18:25 +0200 <EvanR> lbseale: it may be s vs s0 in the error message indicates it doesn't know you're talking about the same s
2021-07-15 00:19:09 +0200 <lbseale> EvanR yeah that's my theory as well, so how do I get it to know about s ?
2021-07-15 00:19:21 +0200 <EvanR> when you use s below, that's a "new" s. You can get the original s in scope using ScopedTypeVars and forall in the type signature
2021-07-15 00:19:32 +0200 <lbseale> aHA
2021-07-15 00:19:37 +0200finsternis(~X@23.226.237.192)
2021-07-15 00:20:18 +0200 <lbseale> that fixed it! thanks so much
2021-07-15 00:20:22 +0200 <EvanR> nice
2021-07-15 00:23:06 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-15 00:24:13 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Remote host closed the connection)
2021-07-15 00:29:47 +0200jumper149(~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
2021-07-15 00:30:41 +0200ph88^(~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242)
2021-07-15 00:30:43 +0200cheater(~Username@user/cheater) (Ping timeout: 258 seconds)
2021-07-15 00:31:14 +0200cheater(~Username@user/cheater)
2021-07-15 00:33:38 +0200lbseale(~lbseale@user/ep1ctetus) (Quit: Client closed)
2021-07-15 00:34:54 +0200lbseale(~lbseale@user/ep1ctetus)
2021-07-15 00:43:38 +0200lavaman(~lavaman@98.38.249.169)
2021-07-15 00:44:06 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 255 seconds)
2021-07-15 00:44:11 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-07-15 00:44:30 +0200zebrag(~chris@user/zebrag)
2021-07-15 00:45:57 +0200Guest239(~Guest23@50.47.115.102) (Quit: Client closed)
2021-07-15 00:46:28 +0200Atum_(IRC@user/atum/x-2392232) (Quit: Atum_)
2021-07-15 00:46:32 +0200hpc(~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 255 seconds)
2021-07-15 00:46:48 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-15 00:48:09 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-07-15 00:48:26 +0200hpc(~juzz@ip98-169-35-13.dc.dc.cox.net)
2021-07-15 00:48:57 +0200fendor(~fendor@77.119.210.250.wireless.dyn.drei.com) (Remote host closed the connection)
2021-07-15 00:49:21 +0200pesada(~agua@2804:18:4f:750a:1:0:192e:7017)
2021-07-15 00:49:47 +0200justache(~justache@user/justache) (Excess Flood)
2021-07-15 00:50:32 +0200justache(~justache@user/justache)
2021-07-15 00:51:47 +0200agua(~agua@2804:14c:8793:8e2f:d158:60e:567f:c699) (Ping timeout: 245 seconds)
2021-07-15 00:52:01 +0200cheater1__(~Username@user/cheater)
2021-07-15 00:52:16 +0200cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2021-07-15 00:52:16 +0200Atum_(IRC@user/atum/x-2392232)
2021-07-15 00:52:24 +0200cheater1__cheater
2021-07-15 00:53:54 +0200favonia(~favonia@user/favonia)
2021-07-15 00:53:57 +0200chomwitt(~Pitsikoko@ppp-94-67-202-202.home.otenet.gr) (Remote host closed the connection)
2021-07-15 00:54:05 +0200o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Remote host closed the connection)
2021-07-15 00:55:19 +0200PungentCheese(~PungentCh@x527179fa.dyn.telefonica.de)
2021-07-15 00:56:19 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-07-15 00:59:54 +0200Atum_(IRC@user/atum/x-2392232) (Quit: Atum_)
2021-07-15 01:13:01 +0200agua(~agua@2804:14c:8793:8e2f:d158:60e:567f:c699)
2021-07-15 01:16:46 +0200pesada(~agua@2804:18:4f:750a:1:0:192e:7017) (Ping timeout: 246 seconds)
2021-07-15 01:19:06 +0200favonia(~favonia@user/favonia) (Remote host closed the connection)
2021-07-15 01:19:56 +0200favonia(~favonia@user/favonia)
2021-07-15 01:20:41 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net)
2021-07-15 01:22:29 +0200dajoer(~david@user/gvx)
2021-07-15 01:27:13 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection)
2021-07-15 01:27:31 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-15 01:28:19 +0200acidjnk_new3(~acidjnk@p200300d0c72b9516b9158842f1cb7e92.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2021-07-15 01:30:02 +0200chexum(~chexum@gateway/tor-sasl/chexum) (Remote host closed the connection)
2021-07-15 01:30:26 +0200chexum(~chexum@gateway/tor-sasl/chexum)
2021-07-15 01:36:29 +0200 <lechner> Hi, should a cabal project be able to 'import' local files in the same folder?
2021-07-15 01:38:57 +0200Solarion(~solarion@mail.digitasaru.net) (Remote host closed the connection)
2021-07-15 01:39:33 +0200 <sclv> what on earth do you mean?
2021-07-15 01:39:52 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 246 seconds)
2021-07-15 01:40:10 +0200 <pavonia> You can import non-exposed modules, if you mean that
2021-07-15 01:40:17 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
2021-07-15 01:40:28 +0200 <lechner> search path, except with cabal: https://stackoverflow.com/questions/30327770/add-local-files-to-haskell-libraries-search-path
2021-07-15 01:40:34 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 246 seconds)
2021-07-15 01:41:18 +0200 <lechner> do i have to specify -i in my .cabal?
2021-07-15 01:41:50 +0200 <monochrom> Uh, manual control of -i is best done when using GHC directly without cabal.
2021-07-15 01:42:18 +0200 <monochrom> You know, you would do yourself a great service if you set your DNS (say) to block stackoverflow.
2021-07-15 01:42:19 +0200 <lechner> can cabal find it another way?
2021-07-15 01:42:46 +0200 <monochrom> Because I have had students who consult stackoverflow for answering my questions and they were dead wrong.
2021-07-15 01:43:04 +0200 <sclv> search path for modules?
2021-07-15 01:43:11 +0200 <sclv> like for haskell files?
2021-07-15 01:43:22 +0200 <sclv> you can set that in the cabal file itself
2021-07-15 01:43:36 +0200 <lechner> just splitting my sources. json generics to be exact
2021-07-15 01:43:45 +0200 <monochrom> There is a way to tell cabal to honour local code but the local code needs also to be in cabalized package form.
2021-07-15 01:43:51 +0200o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt)
2021-07-15 01:43:59 +0200 <monochrom> For more details please read the cabal user guide.
2021-07-15 01:44:24 +0200 <monochrom> Or if you can find a blog that quickstarts you that's cool, but I pretty much doubt blogger quality too.
2021-07-15 01:45:31 +0200 <lechner> other-modules? https://cabal.readthedocs.io/en/3.4/developing-packages.html#modules-included-in-the-package
2021-07-15 01:48:27 +0200o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Ping timeout: 255 seconds)
2021-07-15 01:49:43 +0200chexum(~chexum@gateway/tor-sasl/chexum) (Ping timeout: 244 seconds)
2021-07-15 01:50:15 +0200cheater(~Username@user/cheater) (Ping timeout: 255 seconds)
2021-07-15 01:50:36 +0200cheater(~Username@user/cheater)
2021-07-15 01:51:14 +0200pesada(~agua@2804:18:4f:750a:1:0:192e:7017)
2021-07-15 01:52:41 +0200chexum(~chexum@gateway/tor-sasl/chexum)
2021-07-15 01:53:00 +0200agua(~agua@2804:14c:8793:8e2f:d158:60e:567f:c699) (Read error: Connection reset by peer)
2021-07-15 01:53:04 +0200Core6260(~agua@2804:14c:8793:8e2f:d158:60e:567f:c699)
2021-07-15 01:53:46 +0200Null_A(~null_a@2601:645:8700:2290:3dcd:98af:2801:58da)
2021-07-15 01:54:10 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-15 01:54:20 +0200spruit11_(~quassel@2a02:a467:ccd6:1:4852:6669:da0c:37fe) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-07-15 01:54:37 +0200spruit11(~quassel@2a02:a467:ccd6:1:4852:6669:da0c:37fe)
2021-07-15 01:55:50 +0200pesada(~agua@2804:18:4f:750a:1:0:192e:7017) (Ping timeout: 255 seconds)
2021-07-15 01:57:38 +0200Core6260(~agua@2804:14c:8793:8e2f:d158:60e:567f:c699) (Ping timeout: 255 seconds)
2021-07-15 02:01:33 +0200danso(~danso@23-233-111-52.cpe.pppoe.ca) (Read error: Connection reset by peer)
2021-07-15 02:02:00 +0200danso(~danso@23-233-111-52.cpe.pppoe.ca)
2021-07-15 02:02:51 +0200cheater(~Username@user/cheater) (Ping timeout: 255 seconds)
2021-07-15 02:03:10 +0200cheater(~Username@user/cheater)
2021-07-15 02:05:00 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 265 seconds)
2021-07-15 02:05:42 +0200agua(~agua@2804:18:4f:750a:1:0:192e:7017)
2021-07-15 02:13:20 +0200silverwhitefish(~hidden@47.202.102.10) (Ping timeout: 272 seconds)
2021-07-15 02:13:31 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-15 02:15:15 +0200pesada(~agua@2804:14c:8793:8e2f:d158:60e:567f:c699)
2021-07-15 02:16:30 +0200cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2021-07-15 02:16:39 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer)
2021-07-15 02:16:44 +0200cheater(~Username@user/cheater)
2021-07-15 02:18:02 +0200agua(~agua@2804:18:4f:750a:1:0:192e:7017) (Ping timeout: 245 seconds)
2021-07-15 02:21:23 +0200keutoi(~keutoi@157.48.221.108)
2021-07-15 02:21:35 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-07-15 02:22:12 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2021-07-15 02:22:24 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection)
2021-07-15 02:22:47 +0200Null_A(~null_a@2601:645:8700:2290:3dcd:98af:2801:58da) ()
2021-07-15 02:24:11 +0200pesada(~agua@2804:14c:8793:8e2f:d158:60e:567f:c699) (Ping timeout: 255 seconds)
2021-07-15 02:33:20 +0200agua(~agua@2804:18:4f:750a:1:0:192e:7017)
2021-07-15 02:37:59 +0200mnrmnaughawk
2021-07-15 02:41:09 +0200awkmnrmnaugh
2021-07-15 02:42:56 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-07-15 02:44:00 +0200lbseale(~lbseale@user/ep1ctetus) (Quit: Client closed)
2021-07-15 02:47:51 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds)
2021-07-15 02:48:48 +0200hegstal(~hegstal@2a02:c7f:7604:8a00:cd80:9697:e922:dc30) (Remote host closed the connection)
2021-07-15 02:51:23 +0200 <sclv> lechner: you can use hs-src-dirs I believe
2021-07-15 02:51:25 +0200silverwhitefish(~hidden@47.202.102.10)
2021-07-15 02:52:50 +0200Deide(~Deide@user/deide) (Quit: Seeee yaaaa)
2021-07-15 02:53:08 +0200jneira_(~jneira_@28.red-80-28-169.staticip.rima-tde.net) (Quit: Connection closed)
2021-07-15 02:54:12 +0200ph88^(~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) (Remote host closed the connection)
2021-07-15 02:54:35 +0200ph88^(~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242)
2021-07-15 03:00:16 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2021-07-15 03:00:29 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2021-07-15 03:06:21 +0200bontaq(~user@ool-18e47f8d.dyn.optonline.net)
2021-07-15 03:07:13 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-15 03:08:15 +0200pesada(~agua@2804:18:48:1eaf:1:0:1d0b:6be0)
2021-07-15 03:08:24 +0200ukari(~ukari@user/ukari)
2021-07-15 03:09:48 +0200cheater(~Username@user/cheater) (Ping timeout: 258 seconds)
2021-07-15 03:10:10 +0200cheater(~Username@user/cheater)
2021-07-15 03:11:26 +0200agua(~agua@2804:18:4f:750a:1:0:192e:7017) (Ping timeout: 255 seconds)
2021-07-15 03:11:32 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-07-15 03:12:06 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 258 seconds)
2021-07-15 03:12:40 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-07-15 03:14:06 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-15 03:19:22 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-07-15 03:19:41 +0200cheater(~Username@user/cheater)
2021-07-15 03:21:34 +0200Gurkenglas_(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds)
2021-07-15 03:23:11 +0200ishutin_(~ishutin@85-238-93-30.pool.digikabel.hu)
2021-07-15 03:23:12 +0200silverwhitefish(~hidden@47.202.102.10) (Quit: One for all, all for One (2 Corinthians 5))
2021-07-15 03:25:53 +0200ishutin(~ishutin@87-97-88-250.pool.digikabel.hu) (Ping timeout: 252 seconds)
2021-07-15 03:27:40 +0200xff0x(~xff0x@2001:1a81:5355:ca00:f556:f8e3:c42f:ffef) (Ping timeout: 246 seconds)
2021-07-15 03:29:35 +0200xff0x(~xff0x@2001:1a81:5396:d100:b9ea:2990:3a98:f09b)
2021-07-15 03:31:52 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-15 03:35:11 +0200ellie(~ellie@user/ellie) (Read error: Connection reset by peer)
2021-07-15 03:35:31 +0200ellie(~ellie@user/ellie)
2021-07-15 03:35:44 +0200cheater(~Username@user/cheater) (Ping timeout: 255 seconds)
2021-07-15 03:36:19 +0200cheater(~Username@user/cheater)
2021-07-15 03:37:28 +0200anhnt(~anhnt@2405:4802:342:1550:454d:510c:cbdb:1c59)
2021-07-15 03:38:15 +0200ph88^(~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) (Ping timeout: 255 seconds)
2021-07-15 03:38:22 +0200neurocyte7(~neurocyte@45.93.111.131)
2021-07-15 03:38:22 +0200neurocyte7(~neurocyte@45.93.111.131) (Changing host)
2021-07-15 03:38:22 +0200neurocyte7(~neurocyte@user/neurocyte)
2021-07-15 03:41:15 +0200beka(~beka@104.193.170-244.PUBLIC.monkeybrains.net)
2021-07-15 03:42:00 +0200neurocyte(~neurocyte@user/neurocyte) (Ping timeout: 258 seconds)
2021-07-15 03:42:00 +0200neurocyte7neurocyte
2021-07-15 03:44:42 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 245 seconds)
2021-07-15 03:49:17 +0200silverwhitefish(~hidden@47.202.102.10)
2021-07-15 03:51:44 +0200silverwhitefish(~hidden@47.202.102.10) (Client Quit)
2021-07-15 03:52:59 +0200silverwhitefish(~hidden@47.202.102.10)
2021-07-15 03:55:31 +0200ack_inc(~anirudh@2405:201:4010:7065:681c:bac8:1e93:82d9)
2021-07-15 03:55:48 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 258 seconds)
2021-07-15 03:56:42 +0200Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 255 seconds)
2021-07-15 03:57:07 +0200Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2021-07-15 03:58:11 +0200hrnz(~ulli@irc.plumbing) (Quit: das ist mir zu bld hier; bb)
2021-07-15 03:58:29 +0200hrnz(~ulli@irc.plumbing)
2021-07-15 04:00:38 +0200cheater1__(~Username@user/cheater)
2021-07-15 04:02:06 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 255 seconds)
2021-07-15 04:02:33 +0200s_(~s@50.34.81.185)
2021-07-15 04:02:45 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-07-15 04:02:56 +0200cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2021-07-15 04:06:12 +0200cheater(~Username@user/cheater)
2021-07-15 04:06:36 +0200cheater1__(~Username@user/cheater) (Ping timeout: 255 seconds)
2021-07-15 04:07:51 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-15 04:10:43 +0200cheater1__(~Username@user/cheater)
2021-07-15 04:11:17 +0200cheater(~Username@user/cheater) (Ping timeout: 255 seconds)
2021-07-15 04:11:27 +0200cheater1__cheater
2021-07-15 04:16:53 +0200td_(~td@muedsl-82-207-238-063.citykom.de) (Ping timeout: 258 seconds)
2021-07-15 04:18:31 +0200td_(~td@94.134.91.92)
2021-07-15 04:18:36 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-07-15 04:18:36 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (cadmium.libera.chat (Nickname regained by services)))
2021-07-15 04:18:36 +0200finn_elijaFinnElija
2021-07-15 04:20:01 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Read error: Connection reset by peer)
2021-07-15 04:20:13 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-15 04:24:42 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
2021-07-15 04:31:21 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Ping timeout: 255 seconds)
2021-07-15 04:31:59 +0200ubikium(~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099)
2021-07-15 04:32:18 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-07-15 04:34:15 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:b922:8212:3ad1:17e7)
2021-07-15 04:37:31 +0200 <roboto_el_gato> i regret to ask, as a rookie to Haskell and programming. my goal is to build tools based in Haskell that will help someone to develop a game from start to finish.
2021-07-15 04:38:57 +0200lavaman(~lavaman@98.38.249.169)
2021-07-15 04:39:53 +0200hrnz(~ulli@irc.plumbing) (Quit: das ist mir zu bld hier; bb)
2021-07-15 04:40:21 +0200hrnz(~ulli@irc.plumbing)
2021-07-15 04:40:30 +0200 <roboto_el_gato> i suppose i should say that I am following a book for beginner guidance, I can code in Atom and execute code in GHC and stack, though my knowledge is limited
2021-07-15 04:41:55 +0200ubikium(~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099) (Read error: Connection reset by peer)
2021-07-15 04:42:09 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-15 04:42:20 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds)
2021-07-15 04:43:12 +0200img(~img@user/img)
2021-07-15 04:43:16 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 246 seconds)
2021-07-15 04:44:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-15 04:44:10 +0200 <roboto_el_gato> or...just talk. i picked Haskell for a reason
2021-07-15 04:44:25 +0200 <glguy> roboto_el_gato, it didn't look like you asked a question there
2021-07-15 04:44:53 +0200 <roboto_el_gato> you are correct, and error in my presetation
2021-07-15 04:45:06 +0200 <roboto_el_gato> presentation*
2021-07-15 04:45:09 +0200alx741(~alx741@186.178.109.32) (Quit: alx741)
2021-07-15 04:45:10 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net)
2021-07-15 04:47:41 +0200 <roboto_el_gato> i have tried multiple times to learn programming... I can't even mention why i dropped C++. I am not a math specialist or programmer at heart, but i have a problem i believe is worth solving for those in similar shoes
2021-07-15 04:50:21 +0200 <ack_inc> What tools are you looking to build, roboto_el_gato?
2021-07-15 04:51:55 +0200 <roboto_el_gato> i want to build a complete suite, not an engine, for game/graphical presentation. I have struggled with this as an artist, and it drives me mad. I want a one-stop-shop toolset to create ideas
2021-07-15 04:53:10 +0200glguy(x@libera/staff/glguy) (Read error: Connection reset by peer)
2021-07-15 04:53:19 +0200 <roboto_el_gato> i believe Haskell can do that. creating a manageable code base for a very small team, most likely me
2021-07-15 04:55:23 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 255 seconds)
2021-07-15 04:55:37 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:b922:8212:3ad1:17e7) (Quit: Client closed)
2021-07-15 04:56:11 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:b922:8212:3ad1:17e7)
2021-07-15 04:56:38 +0200 <roboto_el_gato> apologies if this is boring and mudane
2021-07-15 04:56:40 +0200 <ack_inc> Could you tell me some things the suite would do that existing solutions like unity can't?
2021-07-15 04:57:01 +0200 <ack_inc> Not at all
2021-07-15 05:00:14 +0200 <roboto_el_gato> for a simple UI, I like Source. From there, I want the ability to create a window, whether it is character/asset creation and animation, the ability to drop it into a active environment, but most of all, I want a toolset that has no issues in transfer. All things: music, sound, model, world, animation, mechanics and functions, all can be tied and
2021-07-15 05:00:14 +0200 <roboto_el_gato> programmed from one hub, one suite.
2021-07-15 05:00:25 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-07-15 05:00:57 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 245 seconds)
2021-07-15 05:01:10 +0200 <roboto_el_gato> a taller order than just making a game
2021-07-15 05:01:33 +0200glguy(~glguy@libera/staff/glguy)
2021-07-15 05:05:49 +0200 <ack_inc> That does sound like a lot
2021-07-15 05:06:12 +0200 <roboto_el_gato> game engines are incomplete things, i want to make something above an engine, something that can fulfill complete creation
2021-07-15 05:08:17 +0200 <roboto_el_gato> unless I misunderstood, which i may well have, but functional programming can fulfill that goal and create a database that isn't a burden to those that wish to try it. i think it is worth is being a burden to create it
2021-07-15 05:10:13 +0200nate1(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2021-07-15 05:10:39 +0200 <ack_inc> It should be possible to build this tool in just about any general purpose prog lang
2021-07-15 05:10:56 +0200 <ack_inc> I don't think the tool's users would care much about the language it's built in
2021-07-15 05:11:34 +0200 <ack_inc> There's probably a reason why existing tools have large parts written in C/C++ though; probably something performance-related
2021-07-15 05:12:51 +0200 <roboto_el_gato> as a user, I would agree. but for some reason, no one has bothered to build it. there seems to be an idea that creation in one place should be able to transfer to another, yet there is still odd issues
2021-07-15 05:14:21 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-07-15 05:14:24 +0200 <ack_inc> You're saying it's a pain that different parts of the game have to be developed with different tools, then merged together at the end to create the final product
2021-07-15 05:14:27 +0200 <ack_inc> That makes sense
2021-07-15 05:14:55 +0200 <roboto_el_gato> yes. as a suite, there is no pain, only continuity
2021-07-15 05:15:22 +0200 <ack_inc> Re. whether haskell is the right choice to build this unified tool - I imagine it'd be useful to ask in a game-engine-dev community
2021-07-15 05:16:57 +0200 <roboto_el_gato> possibly, but i think the idea is just as well served to anyone willing to think about it. sometimes, the best ideas are not gleened from "specialists", but rather those that like to solve a given problem
2021-07-15 05:18:14 +0200 <ack_inc> Sure; but it's entirely possible that there's a specific, pragmatic reason why specialists eschew FP languages like haskell for building this kind of application
2021-07-15 05:18:20 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-07-15 05:19:12 +0200Erutuon(~Erutuon@user/erutuon)
2021-07-15 05:19:14 +0200 <ack_inc> By asking a few questions, you ensure you lower your chances of running up against a hard obstruction after spending 100s of hours on the problem
2021-07-15 05:19:45 +0200 <roboto_el_gato> i am unsure why except at the expense of learning, research, trial, and error
2021-07-15 05:20:08 +0200berberman(~berberman@user/berberman) (Ping timeout: 255 seconds)
2021-07-15 05:20:11 +0200 <roboto_el_gato> i will devote my time to solving these problems.
2021-07-15 05:20:33 +0200berberman(~berberman@user/berberman)
2021-07-15 05:21:19 +0200 <lechner> sclv: thanks!
2021-07-15 05:23:17 +0200cheater(~Username@user/cheater) (Ping timeout: 255 seconds)
2021-07-15 05:23:21 +0200cheater1__(~Username@user/cheater)
2021-07-15 05:23:24 +0200cheater1__cheater
2021-07-15 05:24:11 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 255 seconds)
2021-07-15 05:24:37 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 265 seconds)
2021-07-15 05:26:10 +0200 <roboto_el_gato> I am currently reading Haskell From First Principles. A breath of fresh air for me, especially from learning something new.
2021-07-15 05:27:36 +0200 <roboto_el_gato> though i feel i am missing a solid math background
2021-07-15 05:28:15 +0200glguy(~glguy@libera/staff/glguy) (Read error: Connection reset by peer)
2021-07-15 05:28:38 +0200 <lechner> yeah, like a Ph.D. in group theory!
2021-07-15 05:29:16 +0200 <lechner> eactually, category theory
2021-07-15 05:29:20 +0200 <roboto_el_gato> lol i do not know if it is that in depth, regardless of the memes i have seen
2021-07-15 05:29:27 +0200glguy(x@libera/staff/glguy)
2021-07-15 05:29:35 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-15 05:30:02 +0200 <roboto_el_gato> logic seems to be a larger part of the process
2021-07-15 05:31:19 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-15 05:31:40 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-07-15 05:32:23 +0200 <geekosaur> you can get by without one although some books may assume it
2021-07-15 05:33:44 +0200 <roboto_el_gato> for functional programming, i have found that most of the books like to preach but struggle to teach from bare bones as other languages do. i find this odd
2021-07-15 05:37:14 +0200zebrag(~chris@user/zebrag) (Remote host closed the connection)
2021-07-15 05:37:26 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-15 05:42:46 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:b922:8212:3ad1:17e7) (Ping timeout: 246 seconds)
2021-07-15 05:42:54 +0200berberman(~berberman@user/berberman) (Ping timeout: 255 seconds)
2021-07-15 05:43:34 +0200berberman(~berberman@user/berberman)
2021-07-15 05:44:47 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2021-07-15 05:44:55 +0200cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2021-07-15 05:45:06 +0200cheater(~Username@user/cheater)
2021-07-15 05:46:10 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-15 05:52:13 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 246 seconds)
2021-07-15 05:52:28 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:b922:8212:3ad1:17e7)
2021-07-15 05:52:28 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds)
2021-07-15 05:52:55 +0200cheater(~Username@user/cheater) (Ping timeout: 246 seconds)
2021-07-15 05:53:08 +0200 <lechner> haskell is a religion
2021-07-15 05:53:34 +0200cheater(~Username@user/cheater)
2021-07-15 05:56:03 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-15 05:59:40 +0200wwalker(~wwalker@platinum.solid-constructs.com) (Ping timeout: 268 seconds)
2021-07-15 05:59:50 +0200 <DigitalKiwi> programming in haskell by graham hutton is <3
2021-07-15 06:01:21 +0200wwalker(~wwalker@45.146.55.219)
2021-07-15 06:05:08 +0200wwalker(~wwalker@45.146.55.219) (Remote host closed the connection)
2021-07-15 06:05:08 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 255 seconds)
2021-07-15 06:08:09 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-15 06:15:50 +0200lavaman(~lavaman@98.38.249.169)
2021-07-15 06:19:49 +0200Guest23(~Guest23@50.47.115.102)
2021-07-15 06:23:08 +0200winnyww
2021-07-15 06:23:16 +0200wwwinny
2021-07-15 06:26:52 +0200beka(~beka@104.193.170-244.PUBLIC.monkeybrains.net) (Ping timeout: 246 seconds)
2021-07-15 06:28:16 +0200beka(~beka@104.193.170-244.public.monkeybrains.net)
2021-07-15 06:29:00 +0200ack_inc(~anirudh@2405:201:4010:7065:681c:bac8:1e93:82d9) (Quit: Leaving.)
2021-07-15 06:29:23 +0200cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2021-07-15 06:29:38 +0200cheater(~Username@user/cheater)
2021-07-15 06:30:31 +0200awth13(~user@user/awth13) (Remote host closed the connection)
2021-07-15 06:31:26 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-07-15 06:42:40 +0200andreas303(andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com)
2021-07-15 06:42:41 +0200even4void(even4void@came.here.for-some.fun) (Quit: fBNC - https://bnc4free.com)
2021-07-15 06:42:41 +0200xacktm(xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com)
2021-07-15 06:46:21 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds)
2021-07-15 06:47:44 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-07-15 06:48:41 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 258 seconds)
2021-07-15 06:49:57 +0200smitop(~smitop@user/smitop) (Ping timeout: 255 seconds)
2021-07-15 06:53:50 +0200andreas303(andreas303@ip227.orange.bnc4free.com)
2021-07-15 06:54:02 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Ping timeout: 265 seconds)
2021-07-15 06:54:43 +0200even4void(even4void@came.here.for-some.fun)
2021-07-15 06:54:45 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net)
2021-07-15 06:55:17 +0200smitop(~smitop@user/smitop)
2021-07-15 06:56:21 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 258 seconds)
2021-07-15 06:58:22 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:b922:8212:3ad1:17e7) (Ping timeout: 246 seconds)
2021-07-15 07:01:57 +0200xacktm(xacktm@user/xacktm)
2021-07-15 07:03:00 +0200hpc(~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 255 seconds)
2021-07-15 07:03:55 +0200anandprabhu(~anandprab@94.202.243.198)
2021-07-15 07:04:44 +0200hpc(~juzz@ip98-169-35-13.dc.dc.cox.net)
2021-07-15 07:11:38 +0200mikoto-chan(~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-07-15 07:11:47 +0200flukiluke(~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962)
2021-07-15 07:14:46 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 252 seconds)
2021-07-15 07:14:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-15 07:16:36 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-07-15 07:16:57 +0200cheater(~Username@user/cheater)
2021-07-15 07:22:48 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2021-07-15 07:24:37 +0200s_(~s@50.34.81.185) (Quit: Leaving)
2021-07-15 07:32:04 +0200Gurkenglas_(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-07-15 07:33:29 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-15 07:34:14 +0200mcglk(~mcglk@131.191.49.120) (Quit: (seeya))
2021-07-15 07:34:17 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-15 07:36:39 +0200benin03697(~benin@183.82.177.180)
2021-07-15 07:37:15 +0200mcglk(~mcglk@131.191.49.120)
2021-07-15 07:37:45 +0200benin0369(~benin@183.82.176.17) (Ping timeout: 258 seconds)
2021-07-15 07:37:46 +0200benin03697benin0369
2021-07-15 07:38:14 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 252 seconds)
2021-07-15 07:39:04 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-15 07:39:59 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2021-07-15 07:40:22 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2021-07-15 07:43:57 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 255 seconds)
2021-07-15 07:43:58 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-15 07:46:58 +0200cheater1__(~Username@user/cheater)
2021-07-15 07:47:06 +0200cheater(~Username@user/cheater) (Ping timeout: 272 seconds)
2021-07-15 07:47:11 +0200cheater1__cheater
2021-07-15 07:47:40 +0200mei(~mei@user/mei)
2021-07-15 07:49:00 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-07-15 07:51:09 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 255 seconds)
2021-07-15 07:52:20 +0200anandprabhu(~anandprab@94.202.243.198) (Quit: Leaving)
2021-07-15 07:53:00 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-15 07:53:42 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-15 07:54:14 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-07-15 07:58:25 +0200dunj3(~dunj3@2001:16b8:303f:a600:793c:65b7:43fd:f5ca)
2021-07-15 07:58:41 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 268 seconds)
2021-07-15 07:58:59 +0200prite(~pritam@user/pritambaral)
2021-07-15 08:00:09 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-15 08:00:32 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-15 08:07:12 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2021-07-15 08:11:38 +0200cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2021-07-15 08:11:50 +0200cheater(~Username@user/cheater)
2021-07-15 08:12:58 +0200flukiluke_(~flukiluke@168.138.23.5)
2021-07-15 08:13:04 +0200beka(~beka@104.193.170-244.public.monkeybrains.net) (Ping timeout: 252 seconds)
2021-07-15 08:13:37 +0200flukiluke(~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Ping timeout: 246 seconds)
2021-07-15 08:21:05 +0200shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-07-15 08:21:31 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 265 seconds)
2021-07-15 08:23:02 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer)
2021-07-15 08:23:03 +0200Kaipi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-15 08:23:26 +0200 <tdammers> The problem with this whole "toolset" / "suite" / "framework" thing is that it's a sliding problem domain, and while you can pick all sorts of spots on that continuum, there is no silver bullet there. You can be more opinionated, give the user a turnkey environment where all you need to do is drop in a bunch of assets and go clickety-click and you have a working game (or presentation, or whatever), but in
2021-07-15 08:23:29 +0200 <tdammers> order to do that, you need to make a lot of decisions for the user, and those decisions limit what they can do and what your platform will be good at. Or you can give them more control, but that means they will have to do more work themselves.
2021-07-15 08:23:35 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-15 08:29:15 +0200cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2021-07-15 08:29:31 +0200cheater(~Username@user/cheater)
2021-07-15 08:30:45 +0200Kaipi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2021-07-15 08:30:52 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-15 08:30:57 +0200 <[exa]> tdammers: or you can design the turnkey features as proper libraries instead of frameworks and let the user compose whatever he needs, but somehow that's not popular in the industry :D
2021-07-15 08:37:11 +0200michalz(~michalz@185.246.204.114)
2021-07-15 08:39:11 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-07-15 08:41:53 +0200Rogach(uid6398@id-6398.brockwell.irccloud.com)
2021-07-15 08:42:44 +0200 <Rogach> Hi! Is there a way (pragma perhaps) to include an import only when compiling with certain GHC versions?
2021-07-15 08:42:56 +0200sleym(~sleym@195.181.171.227)
2021-07-15 08:43:47 +0200 <Rogach> Why do I need it: Control.Monad.Fail is deprecated since GHC 8.8, but XMonad CI compiles with versions down to 8.4 - so compiling on newer compilers gives a nasty warning.
2021-07-15 08:44:12 +0200 <tdammers> [exa]: sure, yes, you can absolutely do that, and I believe there are a couple libraries out there that do that - the big game engines however are not, probably because their target audience are game designers, not programmers
2021-07-15 08:44:50 +0200 <Rembane> tdammers: The big game engines give everything and the kitchen sink so their design idea is exactly what you say.
2021-07-15 08:45:52 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-07-15 08:46:09 +0200 <Rembane> Rogach: Is this helpful? https://stackoverflow.com/a/28292585
2021-07-15 08:47:24 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 255 seconds)
2021-07-15 08:47:55 +0200 <int-e> Rogach: You could use the CPP extension and wrap the import in #if __GLASGOW_HASKELL__ < 808 ... #endif
2021-07-15 08:48:09 +0200 <Rogach> Rembane: Looks like it is, thank you!
2021-07-15 08:48:13 +0200 <Rembane> Rogach: np!
2021-07-15 08:49:06 +0200 <Rogach> int-e: seems like CPP extension was enabled by default in xmonad-contrib project, compilation on my machine completed normally. Is there a way to check where this extension is enabled?
2021-07-15 08:49:22 +0200 <Rogach> Ah, I see, "LANGUAGE CPP" at the top of the file.
2021-07-15 08:51:27 +0200 <int-e> As is proper... .cabal files have a default-extensions field that can add to the list of enabled extensions.
2021-07-15 08:52:00 +0200 <int-e> (But I prefer the files to list the extensions they use.)
2021-07-15 08:53:48 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-15 08:57:46 +0200fendor(~fendor@178.165.161.174.wireless.dyn.drei.com)
2021-07-15 08:58:13 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-15 08:58:47 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-07-15 09:00:50 +0200sleym(~sleym@195.181.171.227) (Quit: sleym)
2021-07-15 09:02:30 +0200 <[exa]> tdammers: like, is it just me if I generally don't enjoy games where I just "walk through contents" ?
2021-07-15 09:03:09 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 255 seconds)
2021-07-15 09:03:31 +0200 <tdammers> [exa]: it's not just me, but there are certainly different types of audiences, anywhere on the spectrum between "interactive blockbuster movie" and "chess"
2021-07-15 09:03:54 +0200 <tdammers> s/me/you/, though "me" also works
2021-07-15 09:04:08 +0200 <Rogach> [exa]: Can you give some examples of such games?
2021-07-15 09:09:09 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-07-15 09:11:22 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-07-15 09:11:57 +0200cheater(~Username@user/cheater)
2021-07-15 09:12:04 +0200michalz(~michalz@185.246.204.114) (Ping timeout: 268 seconds)
2021-07-15 09:12:12 +0200 <Rogach> `stack test` gives me an error `Module ‘System.Random’ does not export ‘uniformR’`.
2021-07-15 09:12:28 +0200 <Rogach> (`stack build` as well)
2021-07-15 09:13:02 +0200 <Rogach> How can I check which version of `random` package stack uses?
2021-07-15 09:13:35 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-07-15 09:15:22 +0200 <Rogach> I tried adding version constraint to `build-depends` in `xmonad-contrib.cabal` (`random >= 1.2`), but now stack fails with `random-1.1 from stack configuration does not match >=1.2`.
2021-07-15 09:16:14 +0200 <Rogach> But I don't see any references to `random` in any stack config files.
2021-07-15 09:16:31 +0200 <Rogach> Where does this `1.1` come from?
2021-07-15 09:17:02 +0200burnside_(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-07-15 09:17:02 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Read error: Connection reset by peer)
2021-07-15 09:17:12 +0200chele(~chele@user/chele)
2021-07-15 09:21:33 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-07-15 09:24:40 +0200chomwitt(~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374)
2021-07-15 09:25:47 +0200gehmehgeh(~user@user/gehmehgeh)
2021-07-15 09:31:58 +0200 <sm> Rogach: what's a game that you like ?
2021-07-15 09:32:34 +0200 <sm> Rogach: stack exec -- ghc-pkg list random
2021-07-15 09:32:59 +0200 <Rogach> sm: I like many different ones. But in the genre of "walk through contents" I immensely enjoyed "To The Moon".
2021-07-15 09:33:40 +0200 <Rogach> sm: `.stack/snapshots/x86_64-linux-tinfo6/a0241a58de3fe02d9eed73f028132db4e1c0a1354a745c98d6a538f4465ea440/8.10.4/pkgdb` seems to contain that random-1.1
2021-07-15 09:33:59 +0200 <Rogach> So the package version is fixed inside that snapshot?
2021-07-15 09:35:26 +0200cheater(~Username@user/cheater) (Ping timeout: 258 seconds)
2021-07-15 09:35:46 +0200cheater(~Username@user/cheater)
2021-07-15 09:43:24 +0200 <Rogach> Okay, screw random-1.2, I'll just go with the older version.
2021-07-15 09:44:03 +0200 <Rogach> I've added a test to a project, now I get a warning `These modules are needed for compilation but not listed in your .cabal file's other-modules`, and then a long list of modules.
2021-07-15 09:44:23 +0200 <Rogach> Am I supposed to add all those modules by hand, or is there some stack/cabal command that figures that out?
2021-07-15 09:45:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-15 09:46:55 +0200jumper149(~jumper149@80.240.31.34)
2021-07-15 09:47:19 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds)
2021-07-15 09:48:12 +0200acidjnk_new3(~acidjnk@p200300d0c72b9516c0edb1e0bd38b359.dip0.t-ipconnect.de)
2021-07-15 09:48:33 +0200 <[exa]> Rogach: I'm usually doing just something like `grep ^module test -r |cut -d' ' -f2` and pipe it into the cabal file
2021-07-15 09:51:15 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-15 09:52:12 +0200cheater(~Username@user/cheater) (Ping timeout: 255 seconds)
2021-07-15 09:52:28 +0200cheater(~Username@user/cheater)
2021-07-15 09:54:05 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-07-15 09:54:05 +0200burnside_(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Read error: Connection reset by peer)
2021-07-15 09:54:26 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-15 09:58:08 +0200fef(~thedawn@user/thedawn)
2021-07-15 09:58:40 +0200andrews(~andrews@user/andrews)
2021-07-15 09:59:52 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer)
2021-07-15 10:00:35 +0200 <andrews> hi
2021-07-15 10:00:47 +0200 <andrews> how do I install haskell on ubuntu
2021-07-15 10:00:59 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-15 10:01:58 +0200fef(~thedawn@user/thedawn) (Remote host closed the connection)
2021-07-15 10:03:06 +0200o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt)
2021-07-15 10:04:12 +0200 <[exa]> andrews: https://www.haskell.org/ghcup/ <- generally the most straightforward method
2021-07-15 10:04:32 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 255 seconds)
2021-07-15 10:04:49 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-15 10:04:59 +0200 <[exa]> andrews: you may also use `sudo apt install ghc cabal-install` to get the packages from the repositories, which usually works nicely unless you want to somehow torture the package system
2021-07-15 10:05:16 +0200 <Rogach> Or `sudo apt-get install haskell-platform`, this avoids piping scripts from network.
2021-07-15 10:05:33 +0200favonia(~favonia@user/favonia)
2021-07-15 10:05:57 +0200 <andrews> I'm confused
2021-07-15 10:06:14 +0200 <[exa]> andrews: because of the number of possibilities?
2021-07-15 10:06:42 +0200 <andrews> should I ghcup or platform
2021-07-15 10:06:49 +0200hendursa1(~weechat@user/hendursaga)
2021-07-15 10:07:06 +0200 <[exa]> andrews: ghcup makes a user-specific install, should be perfectly okay. `haskell-platform` is a systemwide install.
2021-07-15 10:07:24 +0200 <andrews> ok
2021-07-15 10:07:35 +0200 <andrews> I only need it for my user
2021-07-15 10:07:44 +0200 <[exa]> then you are safe with ghcup :]
2021-07-15 10:08:16 +0200 <andrews> hang on
2021-07-15 10:08:39 +0200 <[exa]> anyway the choice isn't that important, what's going to be different is the way you update the packages. Local user install is updated with running ghcup again, the system packages get updated automagically with ubuntu (but that might (rarely) break some of your code)
2021-07-15 10:08:49 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-07-15 10:08:53 +0200 <andrews> argh
2021-07-15 10:09:28 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-07-15 10:10:09 +0200 <[exa]> Rogach: why's my debian reporting the latest haskell-platform version as 2014? :D
2021-07-15 10:11:23 +0200 <Rogach> [exa]: Well, it's Debian. Since you're using Debian you're probably want to be extra safe, you don't want to use that hot-shot untested stuff from, say, 2016 =)
2021-07-15 10:11:27 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-15 10:11:34 +0200 <[exa]> Rogach: same on ubuntu tho
2021-07-15 10:11:45 +0200 <Rogach> (using Arch myself, so I'm on the opposite end of the scale - with opposite set of problems)
2021-07-15 10:11:53 +0200cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2021-07-15 10:11:55 +0200 <Rogach> [exa]: Ubuntu also likes to be extra safe.
2021-07-15 10:12:08 +0200cheater(~Username@user/cheater)
2021-07-15 10:12:10 +0200 <andrews> should I install haskell-platform
2021-07-15 10:12:13 +0200 <[exa]> nah I'm on sid, that's pretty wild with versions too
2021-07-15 10:12:24 +0200 <[exa]> andrews: use `ghcup`, as I said, it's safest for the first try
2021-07-15 10:12:25 +0200 <Rogach> [exa]: (and they also like to avoid too much trouble, copying Debian directly is simpler)
2021-07-15 10:12:43 +0200 <tdammers> Rogach: nothing to do with "untested"; debian being a "stable" distro means that features do not change between releases, so you can build your system based on a given release, and trust it to remain feature-stable until you upgrade to the next release.
2021-07-15 10:13:01 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Read error: Connection reset by peer)
2021-07-15 10:13:06 +0200 <[exa]> still it seems that the package ain't very maintaned
2021-07-15 10:13:12 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-15 10:13:24 +0200 <Rogach> tdammers: I was trying to be funny. I understand why Debian does what it does.
2021-07-15 10:13:48 +0200hegstal(~hegstal@2a02:c7f:7604:8a00:1608:5ddb:ace2:2fb3)
2021-07-15 10:13:54 +0200 <Rogach> (e.g. running Arch on servers doesn't strike me as a great idea, Debian or Ubuntu is much more preferrable)
2021-07-15 10:14:42 +0200GIANTWORLDKEEPER(~pjetcetal@128-71-13-182.broadband.corbina.ru) (Ping timeout: 255 seconds)
2021-07-15 10:15:02 +0200 <Rogach> [exa]: That's the case with many ubuntu packages, unfortunately - you can't stay on top of everything while providing comprehensive support for 3 LTSes at once.
2021-07-15 10:15:14 +0200ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233)
2021-07-15 10:16:36 +0200 <Rogach> [exa]: I was ubuntu user myself up until ~2014. And while "bypasses" like ghcup do work, they don't feel very sustainable (for example when you have a truckload of different software and you want newer versions for some reason - you get a complete zoo with lots of compatibility troubles).
2021-07-15 10:17:19 +0200 <andrews> Rogach, what distro do you use now]
2021-07-15 10:17:50 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2021-07-15 10:17:52 +0200 <[exa]> Rogach: well ghcup solves the complicated packaging trouble for new devs for sure
2021-07-15 10:17:55 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-07-15 10:17:57 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-07-15 10:18:41 +0200 <Rogach> andrews: Arch Linux. But it's not for the faint of heart, I'll recommend at least 3 years of general Linux experience before switching to Arch Linux.
2021-07-15 10:19:04 +0200 <[exa]> (preferably 3 years prior gentoo experience :D )
2021-07-15 10:19:32 +0200 <Rogach> [exa]: Of course. I'm not against it, I'm just wary that using lots of stuff outside of main package system brings a lot of duplication and pain.
2021-07-15 10:19:46 +0200 <andrews> well
2021-07-15 10:19:47 +0200 <Rogach> No, Gentoo is way too hardcore. Arch is simpler.
2021-07-15 10:19:56 +0200 <andrews> I installed ghcup
2021-07-15 10:20:20 +0200 <[exa]> Rogach: I started on that one in 2005 or so, it worked™
2021-07-15 10:20:22 +0200 <andrews> and ghc not found
2021-07-15 10:20:36 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-15 10:20:54 +0200 <[exa]> andrews: good, type `ghcup help`, you should get some choice of what ghc to install
2021-07-15 10:20:54 +0200 <andrews> ghc
2021-07-15 10:20:54 +0200 <andrews> Command 'ghc' not found, but can be installed with:
2021-07-15 10:20:54 +0200 <andrews> sudo apt install ghc
2021-07-15 10:21:13 +0200 <[exa]> andrews: `ghcup` is like `rustup`, installs the whole toolchain for you and keeps it in shape
2021-07-15 10:21:23 +0200 <Rogach> [exa]: I meant that after 3 years of Gentoo you may not need Arch at all =)
2021-07-15 10:21:29 +0200 <andrews> ghcup help
2021-07-15 10:21:30 +0200 <andrews> ghcup: command not found
2021-07-15 10:21:47 +0200 <[exa]> andrews: ok something's wrong, did you read what ghcup installation wrote to you?
2021-07-15 10:22:13 +0200 <andrews> I installed everything
2021-07-15 10:22:26 +0200 <sm> andrews: are you following some official install docs, eg ghcup's ?
2021-07-15 10:22:29 +0200 <Rogach> [exa]: It's my understanding that Gentoo and Arch do not differ too much - both prefer the newest versions of the packages, both compile from sources. I guess the main difference is Arch has a precompiled package repository, so you don't need to compile libreoffice for example.
2021-07-15 10:23:03 +0200 <[exa]> Rogach: one reason to ditch libreoffice
2021-07-15 10:23:45 +0200 <[exa]> [*laughs in latex*]
2021-07-15 10:24:38 +0200 <andrews> no
2021-07-15 10:24:55 +0200 <andrews> I checked my .bashrc and ghcup didn't add anything
2021-07-15 10:25:16 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-07-15 10:25:26 +0200 <Rogach> [exa]: Well, there's firefox as well, also not very fast to compile on smaller machines. I like latex, but doing spreadsheet work in it is a bit sub-optimal for my taste.
2021-07-15 10:25:34 +0200 <sm> you could try https://docs.haskellstack.org/en/stable/install_and_upgrade/#linux
2021-07-15 10:25:38 +0200gehmehgeh(~user@user/gehmehgeh)
2021-07-15 10:25:41 +0200 <[exa]> Rogach: awk on you
2021-07-15 10:25:56 +0200 <Rogach> [exa]: awk?
2021-07-15 10:26:10 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-07-15 10:26:42 +0200cheater(~Username@user/cheater)
2021-07-15 10:26:49 +0200 <[exa]> you don't do spreadsheets with awk?
2021-07-15 10:27:36 +0200 <keltono> andrews: How did you install ghcup? With the `curl` command listed on the website?
2021-07-15 10:27:58 +0200 <andrews> yes
2021-07-15 10:28:20 +0200keutoi(~keutoi@157.48.221.108) (Ping timeout: 258 seconds)
2021-07-15 10:28:30 +0200 <andrews> I'll just install haskell-platform
2021-07-15 10:28:32 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds)
2021-07-15 10:28:39 +0200 <andrews> I can't get ghcup working
2021-07-15 10:29:12 +0200 <keltono> Was there an error during the install process or something? Seems strange that it just wouldn't work
2021-07-15 10:29:21 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-07-15 10:29:59 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-07-15 10:30:05 +0200keutoi(~keutoi@223.237.22.166)
2021-07-15 10:30:43 +0200hexfive(~eric@50.35.83.177) (Quit: WeeChat 3.0)
2021-07-15 10:31:05 +0200 <Rogach> [exa]: I do text editing with awk. But doing spreadsheets with it is still too low-tech :)
2021-07-15 10:31:19 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-07-15 10:32:11 +0200 <andrews> ok
2021-07-15 10:32:14 +0200 <andrews> it's working now
2021-07-15 10:32:23 +0200 <andrews> I didn't have the required packages installed
2021-07-15 10:32:31 +0200 <andrews> as prerequisities
2021-07-15 10:33:10 +0200 <tromp> any chess fans in here?
2021-07-15 10:33:26 +0200 <sm> yeah !
2021-07-15 10:34:06 +0200 <keltono> ^
2021-07-15 10:34:15 +0200 <keltono> Although that's more #haskell-offtopic
2021-07-15 10:34:41 +0200 <tromp> i found a way to combine chess and Haskell
2021-07-15 10:34:51 +0200 <Taneb> tromp: it's a great musical
2021-07-15 10:34:59 +0200 <[exa]> Rogach: I mean, text editor for data + awk for doing the computations
2021-07-15 10:35:17 +0200 <keltono> Taneb: There's a chess musical?
2021-07-15 10:35:26 +0200 <tromp> see http://talkchess.com/forum3/viewtopic.php?f=7&t=77685
2021-07-15 10:35:42 +0200 <tromp> i wrote a Haskell program to rank chess positions
2021-07-15 10:35:55 +0200 <sm> yay
2021-07-15 10:36:46 +0200cheater(~Username@user/cheater) (Ping timeout: 258 seconds)
2021-07-15 10:36:56 +0200 <Taneb> keltono: yeah! Tim Rice, and Benny Andersson and Björn Ulvaeus of ABBA
2021-07-15 10:37:11 +0200 <Rogach> [exa]: I usually go for perl in such cases, actually. But interactive spreadsheet is just nicer for off-hand work - e.g. I want to move some cells around, experiment with the formulas somewhere. Styling is also nice.
2021-07-15 10:37:11 +0200 <Rogach> But some spreadsheets I actually do in org-mode, yes =)
2021-07-15 10:37:12 +0200cheater(~Username@user/cheater)
2021-07-15 10:38:35 +0200 <keltono> Taneb: Oh cool! I'll have to check it out sometime
2021-07-15 10:38:47 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds)
2021-07-15 10:38:57 +0200Topsi(~Tobias@dyndsl-095-033-090-054.ewe-ip-backbone.de)
2021-07-15 10:39:45 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 265 seconds)
2021-07-15 10:39:58 +0200Kaipi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net)
2021-07-15 10:40:38 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2021-07-15 10:43:02 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-15 10:45:56 +0200 <andrews> Assembly language is irritating...
2021-07-15 10:46:06 +0200 <andrews> all you have are jumps
2021-07-15 10:46:23 +0200 <int-e> do you suffer from jump scares?
2021-07-15 10:46:38 +0200 <tdammers> jump scars, maybe
2021-07-15 10:46:50 +0200 <Rogach> andrews: This escalated quickly. One moment you were installing Haskell, another you dropped down all the way to assembly =)
2021-07-15 10:47:13 +0200 <andrews> actually I wrote an assembler program
2021-07-15 10:47:29 +0200 <andrews> https://github.com/andrewjohnroy/Two-Fer-X86-64-Assembly/blob/main/string_manipulation.nasm
2021-07-15 10:47:38 +0200 <andrews> it's a nightmare
2021-07-15 10:47:56 +0200 <andrews> rather an assembly function
2021-07-15 10:48:02 +0200 <andrews> not even the whole program
2021-07-15 10:48:14 +0200 <tdammers> I'd call that deescalation
2021-07-15 10:48:27 +0200PungentCheese(~PungentCh@x527179fa.dyn.telefonica.de) (Ping timeout: 255 seconds)
2021-07-15 10:48:53 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-07-15 10:50:06 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-15 10:50:23 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-07-15 10:50:24 +0200 <andrews> I also have code that defines a boot sector for a hard disk
2021-07-15 10:50:28 +0200 <andrews> https://github.com/andrewjohnroy/hello-world-boot-sector-nasm/blob/main/hello.asm
2021-07-15 10:51:30 +0200neceve(~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f)
2021-07-15 10:52:57 +0200keutoi(~keutoi@223.237.22.166) (Ping timeout: 255 seconds)
2021-07-15 10:53:31 +0200nschoe(~quassel@178.251.84.79)
2021-07-15 10:54:20 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Read error: Connection reset by peer)
2021-07-15 10:55:20 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-07-15 11:00:13 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net)
2021-07-15 11:01:45 +0200chris_(~chris@81.96.113.213)
2021-07-15 11:03:46 +0200anandprabhu(~anandprab@94.202.243.198)
2021-07-15 11:06:14 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Quit: WeeChat 2.8)
2021-07-15 11:06:31 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-15 11:12:04 +0200Rogach(uid6398@id-6398.brockwell.irccloud.com) ()
2021-07-15 11:15:37 +0200acidjnk_new3(~acidjnk@p200300d0c72b9516c0edb1e0bd38b359.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2021-07-15 11:18:27 +0200chomwitt(~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374) (Ping timeout: 245 seconds)
2021-07-15 11:19:21 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Remote host closed the connection)
2021-07-15 11:19:54 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-15 11:20:23 +0200ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Quit: ubert)
2021-07-15 11:21:08 +0200__monty__(~toonn@user/toonn)
2021-07-15 11:22:28 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-07-15 11:22:42 +0200chexum(~chexum@gateway/tor-sasl/chexum) (Ping timeout: 244 seconds)
2021-07-15 11:24:16 +0200flareon(~flareon@117.222.66.126)
2021-07-15 11:24:40 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-07-15 11:25:03 +0200chexum(~chexum@gateway/tor-sasl/chexum)
2021-07-15 11:26:51 +0200 <flareon> if i'm trying to write the expression `Just head xs`, due to right associativity of function application, it's interpreted as `(Just head) xs` which is a type error. is there a universal styling convention as to whether i should write it as `Just (head xs)` or `Just $ head xs`. i'm used to parentheses and like the former more, but i seem to remember reading some Haskell style guides which recommended the
2021-07-15 11:26:57 +0200 <flareon> latter.
2021-07-15 11:27:39 +0200 <flareon> s/right/left/
2021-07-15 11:27:56 +0200 <__monty__> flareon: $ is a bit contentious if anything. So if you prefer parens just go with those.
2021-07-15 11:28:50 +0200 <__monty__> Might also get away with making it pointfree in simple cases though. If you can drop xs on left and rhs, `Just . head` is fairly idiomatic.
2021-07-15 11:29:09 +0200 <__monty__> It does look like you just want to use listToMaybe though.
2021-07-15 11:29:15 +0200 <__monty__> @hoogle listToMaybe
2021-07-15 11:29:15 +0200 <lambdabot> Data.Maybe listToMaybe :: [a] -> Maybe a
2021-07-15 11:29:15 +0200 <lambdabot> Distribution.Compat.Prelude.Internal listToMaybe :: [a] -> Maybe a
2021-07-15 11:29:15 +0200 <lambdabot> Network.AWS.Prelude listToMaybe :: () => [a] -> Maybe a
2021-07-15 11:29:47 +0200 <__monty__> Which is total. As opposed to your function which would need to be guarded against xs being [].
2021-07-15 11:29:56 +0200chexum(~chexum@gateway/tor-sasl/chexum) (Ping timeout: 244 seconds)
2021-07-15 11:32:15 +0200 <flareon> __monty__: thanks for the suggestion. this is not a particular question. i'm running into these kinds of situations a lot and that's why i just asked using this example. i'd use to parenthesis for now but keep a guard on it lest i turn into a perpetual ophomore Haskell programmer in the evolutionary timeline :)
2021-07-15 11:33:08 +0200 <__monty__> $ has lost popularity over time if anything.
2021-07-15 11:33:47 +0200 <flareon> __monty__: but the point-free styling is a suggestion i'll keep in mind. it's concise. thanks!
2021-07-15 11:35:06 +0200 <__monty__> It's very useful as long as you don't take it too far. Once you need Birds you should think long and hard about whether it's still understandable.
2021-07-15 11:36:53 +0200chexum(~chexum@gateway/tor-sasl/chexum)
2021-07-15 11:37:23 +0200 <flareon> __monty__: i totally agree. did you refer to Data.Aviary.Birds?
2021-07-15 11:37:35 +0200 <flareon> @hoogle Birds
2021-07-15 11:37:35 +0200 <lambdabot> No results found
2021-07-15 11:38:16 +0200 <__monty__> Exactly.
2021-07-15 11:39:34 +0200 <flareon> __monty__: i suppose some nifty notation is no substitute for careful programming. sure.
2021-07-15 11:39:50 +0200flareon(~flareon@117.222.66.126) (Quit: leaving)
2021-07-15 11:40:41 +0200 <__monty__> It's more that there's a tipping point where the succinctness of expression costs you more time in the understanding than it saves. Having names for arguments can make things much clearer.
2021-07-15 11:41:31 +0200cheater(~Username@user/cheater) (Ping timeout: 246 seconds)
2021-07-15 11:41:59 +0200cheater(~Username@user/cheater)
2021-07-15 11:42:37 +0200 <tomsmeding> "v0.4.0: Removed the "useful" combinators (to emphasize that Data.Aviary is not a utility library)."
2021-07-15 11:42:42 +0200oxide(~lambda@user/oxide) (Ping timeout: 272 seconds)
2021-07-15 11:46:50 +0200Gurkenglas_(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds)
2021-07-15 11:55:44 +0200azeem(~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) (Ping timeout: 258 seconds)
2021-07-15 11:56:29 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-07-15 11:56:58 +0200 <DigitalKiwi> Data.Aviary.Crane
2021-07-15 11:59:20 +0200azeem(~azeem@176.201.40.210)
2021-07-15 11:59:44 +0200xff0x(~xff0x@2001:1a81:5396:d100:b9ea:2990:3a98:f09b) (Ping timeout: 255 seconds)
2021-07-15 11:59:59 +0200zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2021-07-15 12:00:45 +0200xff0x(~xff0x@2001:1a81:5396:d100:8e8d:3ad4:f4d0:67e9)
2021-07-15 12:03:02 +0200cheater(~Username@user/cheater) (Ping timeout: 245 seconds)
2021-07-15 12:03:38 +0200oxide(~lambda@user/oxide)
2021-07-15 12:03:46 +0200cheater(~Username@user/cheater)
2021-07-15 12:04:29 +0200zaquest(~notzaques@5.128.210.178)
2021-07-15 12:07:48 +0200ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233)
2021-07-15 12:12:05 +0200GIANTWORLDKEEPER(~pjetcetal@128-71-13-182.broadband.corbina.ru)
2021-07-15 12:13:31 +0200azeem(~azeem@176.201.40.210) (Ping timeout: 265 seconds)
2021-07-15 12:14:00 +0200azeem(~azeem@176.201.40.210)
2021-07-15 12:16:26 +0200jippiedoe(~david@2a02-a44c-e14e-1-1f41-d350-ba29-922c.fixed6.kpn.net)
2021-07-15 12:18:26 +0200peterhil(~peterhil@mobile-access-bceeac-89.dhcp.inet.fi)
2021-07-15 12:18:35 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-15 12:19:06 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-07-15 12:23:40 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 265 seconds)
2021-07-15 12:28:02 +0200anandprabhu(~anandprab@94.202.243.198) (Remote host closed the connection)
2021-07-15 12:29:51 +0200azeem(~azeem@176.201.40.210) (Ping timeout: 258 seconds)
2021-07-15 12:30:07 +0200azeem(~azeem@176.201.40.210)
2021-07-15 12:30:09 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 255 seconds)
2021-07-15 12:30:38 +0200cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2021-07-15 12:30:41 +0200cheater1__(~Username@user/cheater)
2021-07-15 12:30:44 +0200cheater1__cheater
2021-07-15 12:31:07 +0200andrews_(~andrews@103.210.27.189)
2021-07-15 12:34:30 +0200andrews(~andrews@user/andrews) (Ping timeout: 252 seconds)
2021-07-15 12:37:10 +0200azeem(~azeem@176.201.40.210) (Ping timeout: 272 seconds)
2021-07-15 12:37:11 +0200agua(~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e)
2021-07-15 12:39:08 +0200cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2021-07-15 12:39:10 +0200cheater1__(~Username@user/cheater)
2021-07-15 12:39:13 +0200cheater1__cheater
2021-07-15 12:40:57 +0200pesada(~agua@2804:18:48:1eaf:1:0:1d0b:6be0) (Ping timeout: 245 seconds)
2021-07-15 12:43:43 +0200mc47(~mc47@xmonad/TheMC47)
2021-07-15 12:44:32 +0200pesada(~agua@2804:18:48:1eaf:1:0:1d0b:6be0)
2021-07-15 12:44:51 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Read error: Connection reset by peer)
2021-07-15 12:44:59 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net)
2021-07-15 12:45:16 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-15 12:45:54 +0200agua(~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) (Ping timeout: 255 seconds)
2021-07-15 12:45:57 +0200azeem(~azeem@176.201.40.210)
2021-07-15 12:47:20 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-07-15 12:47:40 +0200cheater(~Username@user/cheater)
2021-07-15 12:51:21 +0200notzmv(~zmv@user/notzmv)
2021-07-15 12:51:31 +0200ph88^(~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242)
2021-07-15 12:55:00 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-15 12:55:46 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-07-15 12:55:55 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 268 seconds)
2021-07-15 12:55:56 +0200 <pippijn> does this version of #haskell have the hackage announce bot?
2021-07-15 12:56:06 +0200cheater(~Username@user/cheater)
2021-07-15 12:56:41 +0200chomwitt(~Pitsikoko@ppp-94-67-202-202.home.otenet.gr)
2021-07-15 12:56:49 +0200neceve(~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 268 seconds)
2021-07-15 12:56:52 +0200azeem(~azeem@176.201.40.210) (Ping timeout: 252 seconds)
2021-07-15 12:57:10 +0200azeem(~azeem@176.201.40.210)
2021-07-15 12:58:49 +0200peterhil_(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
2021-07-15 13:00:35 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-15 13:01:51 +0200peterhil(~peterhil@mobile-access-bceeac-89.dhcp.inet.fi) (Ping timeout: 265 seconds)
2021-07-15 13:03:12 +0200oxide(~lambda@user/oxide) (Ping timeout: 258 seconds)
2021-07-15 13:03:19 +0200chomwitt(~Pitsikoko@ppp-94-67-202-202.home.otenet.gr) (Ping timeout: 268 seconds)
2021-07-15 13:03:52 +0200cheater(~Username@user/cheater) (Ping timeout: 245 seconds)
2021-07-15 13:04:34 +0200cheater(~Username@user/cheater)
2021-07-15 13:04:52 +0200oxide(~lambda@user/oxide)
2021-07-15 13:05:10 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-07-15 13:05:47 +0200smichel17_(~smichel17@c-73-68-217-18.hsd1.ma.comcast.net)
2021-07-15 13:07:26 +0200andrews_(~andrews@103.210.27.189) (Quit: Leaving)
2021-07-15 13:09:36 +0200 <tomsmeding> pippijn: I haven't seen it say anything yet, so I assume no
2021-07-15 13:09:42 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-07-15 13:09:57 +0200cheater(~Username@user/cheater)
2021-07-15 13:10:46 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-07-15 13:15:07 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (ERC (IRC client for Emacs 28.0.50))
2021-07-15 13:17:15 +0200 <Orbstheorem> Given a type `a` (passed through an existential type), how can I write a function taking such type (or a proxy, or the existential instance) and return a witness whether such type fulfills a constraint (`MyClass b`) or not? the way I see that witness is a type-level `Maybe a'`, where if just; `MyClass a'` and somehow `a'` implies `a`.
2021-07-15 13:17:49 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-15 13:17:59 +0200chexum(~chexum@gateway/tor-sasl/chexum) (Quit: -)
2021-07-15 13:18:40 +0200 <Taneb> Orbstheorem: I don't think that that's possible
2021-07-15 13:32:04 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-07-15 13:32:37 +0200azeem(~azeem@176.201.40.210) (Ping timeout: 245 seconds)
2021-07-15 13:32:55 +0200 <tomsmeding> Orbstheorem: operationally, evidence that a type 'a' has an instance 'MyClass a' is an actual dictionary (record) containing the members of that class, specialised to 'a'. For example, the representation of 'Show a' at runtime literally is a function 'a -> String'.
2021-07-15 13:33:14 +0200 <tomsmeding> so your hypothetical function would need to pull this class implementation out of thin air at runtime
2021-07-15 13:33:14 +0200azeem(~azeem@176.201.40.210)
2021-07-15 13:33:36 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds)
2021-07-15 13:33:39 +0200 <tomsmeding> it might be possible to hack something using Typeable, but at that point you should ask if that's really what you want to do :p
2021-07-15 13:33:47 +0200 <maerwald> you send a HTTP request to a microservice containing all the data
2021-07-15 13:33:55 +0200 <maerwald> easy
2021-07-15 13:34:03 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 255 seconds)
2021-07-15 13:34:17 +0200 <tomsmeding> maerwald: I assume that would live in a kubernetes cluster, otherwise it won't be able to handle the volume coming from the application
2021-07-15 13:34:40 +0200 <maerwald> yeah, in the cloud
2021-07-15 13:34:49 +0200 <tomsmeding> ☁️
2021-07-15 13:45:46 +0200azeem(~azeem@176.201.40.210) (Ping timeout: 246 seconds)
2021-07-15 13:46:02 +0200azeem(~azeem@176.201.40.210)
2021-07-15 13:49:09 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-07-15 13:50:15 +0200gentauro(~gentauro@user/gentauro) (Ping timeout: 255 seconds)
2021-07-15 13:54:14 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-15 13:54:47 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-07-15 13:59:38 +0200keutoi(~keutoi@223.237.20.166)
2021-07-15 14:00:11 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-07-15 14:00:20 +0200azeem(~azeem@176.201.40.210) (Ping timeout: 268 seconds)
2021-07-15 14:00:23 +0200Guest829(~Guest829@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa)
2021-07-15 14:02:12 +0200gentauro(~gentauro@user/gentauro)
2021-07-15 14:03:49 +0200 <lechner> Hi, is there an easy way to get some parsing diagnosics from a "generic" FromJSON, please?
2021-07-15 14:04:39 +0200ph88^(~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) (Ping timeout: 268 seconds)
2021-07-15 14:04:42 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-15 14:04:44 +0200azeem(~azeem@176.201.40.210)
2021-07-15 14:08:22 +0200prite(~pritam@user/pritambaral) (Ping timeout: 272 seconds)
2021-07-15 14:09:45 +0200m4lvin(~m4lvin@w4eg.de)
2021-07-15 14:10:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds)
2021-07-15 14:11:02 +0200prite(~pritam@user/pritambaral)
2021-07-15 14:11:08 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-07-15 14:12:28 +0200Guest829(~Guest829@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa) (Quit: Client closed)
2021-07-15 14:13:34 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-07-15 14:16:56 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-15 14:17:15 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 255 seconds)
2021-07-15 14:17:52 +0200Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01)
2021-07-15 14:18:44 +0200neceve(~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f)
2021-07-15 14:22:07 +0200 <Orbstheorem> tomsmeding: How is a proxy encoded at runtime? There's no instance to complete the dict.
2021-07-15 14:22:29 +0200 <tomsmeding> what kind of proxy?
2021-07-15 14:22:44 +0200 <tomsmeding> 'f :: Proxy a -> Int' ?
2021-07-15 14:22:51 +0200 <Orbstheorem> https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Proxy.html
2021-07-15 14:22:59 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-15 14:23:00 +0200 <tomsmeding> or 'f :: Show a => Proxy a -> Int'?
2021-07-15 14:23:13 +0200 <Orbstheorem> The later.
2021-07-15 14:23:39 +0200Square(~a@178.62.91.8) (Leaving)
2021-07-15 14:24:08 +0200 <tomsmeding> in Core, the low-level intermediate language of ghc, that second f will have two arguments: a function a -> String, and a value Proxy a (that carries no actual data other than () )
2021-07-15 14:24:29 +0200 <Orbstheorem> Huh.
2021-07-15 14:24:36 +0200Orbstheoremshould take a look at Core.
2021-07-15 14:27:13 +0200 <tomsmeding> :q
2021-07-15 14:27:13 +0200 <tomsmeding> ... sorry
2021-07-15 14:27:22 +0200azeem(~azeem@176.201.40.210) (Ping timeout: 272 seconds)
2021-07-15 14:28:29 +0200 <tomsmeding> Orbstheorem: https://paste.tomsmeding.com/yHpJfeuj
2021-07-15 14:28:55 +0200 <tomsmeding> right at the top you see $wfoo, which is a slight transformation of the foo function (it wasn't completely eliminated because I said it to NOINLINE)
2021-07-15 14:29:33 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-07-15 14:29:38 +0200cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2021-07-15 14:29:41 +0200 <tomsmeding> (I didn't pass a proxy but instead an actual 'a' because otherwise there was no way for me to use the Show instance, and if I didn't use it, ghc eliminated the constraint completely :p )
2021-07-15 14:30:02 +0200cheater(~Username@user/cheater)
2021-07-15 14:30:18 +0200 <tomsmeding> Orbstheorem: the => really becomes just a normal -> in Core
2021-07-15 14:31:39 +0200dunj3(~dunj3@2001:16b8:303f:a600:793c:65b7:43fd:f5ca) (Remote host closed the connection)
2021-07-15 14:32:02 +0200derelict(~derelict@user/derelict)
2021-07-15 14:32:39 +0200azeem(~azeem@176.200.200.206)
2021-07-15 14:33:26 +0200chexum(~chexum@gateway/tor-sasl/chexum)
2021-07-15 14:34:17 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-15 14:35:20 +0200Bayes(~Bayes@ics177-97.icsincorporated.com)
2021-07-15 14:35:30 +0200Bayes(~Bayes@ics177-97.icsincorporated.com) (Changing host)
2021-07-15 14:35:30 +0200Bayes(~Bayes@user/bayes)
2021-07-15 14:37:03 +0200cheater(~Username@user/cheater) (Ping timeout: 255 seconds)
2021-07-15 14:37:29 +0200cheater(~Username@user/cheater)
2021-07-15 14:42:53 +0200 <Orbstheorem> I see
2021-07-15 14:42:57 +0200 <Orbstheorem> Thanks! :)
2021-07-15 14:45:19 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-15 14:47:19 +0200hseg(~gesh@185.120.126.10)
2021-07-15 14:47:51 +0200keutoi(~keutoi@223.237.20.166) (Ping timeout: 255 seconds)
2021-07-15 14:49:01 +0200hseg(~gesh@185.120.126.10) (Client Quit)
2021-07-15 14:49:15 +0200keutoi(~keutoi@223.237.20.166)
2021-07-15 14:52:04 +0200ph88^(~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242)
2021-07-15 14:55:50 +0200Guest47(~Guest47@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa)
2021-07-15 14:57:53 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-15 14:58:46 +0200ukari(~ukari@user/ukari)
2021-07-15 15:01:03 +0200Bayes(~Bayes@user/bayes) (Quit: Connection closed)
2021-07-15 15:01:10 +0200alx741(~alx741@186.178.109.32)
2021-07-15 15:04:11 +0200cheater(~Username@user/cheater) (Ping timeout: 268 seconds)
2021-07-15 15:04:23 +0200cheater(~Username@user/cheater)
2021-07-15 15:11:37 +0200azeem(~azeem@176.200.200.206) (Ping timeout: 258 seconds)
2021-07-15 15:11:52 +0200azeem(~azeem@176.200.200.206)
2021-07-15 15:12:11 +0200_xor(~xor@74.215.46.133)
2021-07-15 15:12:23 +0200_xor(~xor@74.215.46.133) (Client Quit)
2021-07-15 15:12:44 +0200_xor(~xor@74.215.46.133)
2021-07-15 15:14:49 +0200anhnt(~anhnt@2405:4802:342:1550:454d:510c:cbdb:1c59) (Quit: Client closed)
2021-07-15 15:14:58 +0200Guest47(~Guest47@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa) (Quit: Client closed)
2021-07-15 15:17:43 +0200 <Las[m]> Does anyone know if there's a way to get GHCi to load the imports when doing `:load` for a file that doesn't need to be recompiled?
2021-07-15 15:17:54 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-07-15 15:19:05 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-07-15 15:19:05 +0200keutoi(~keutoi@223.237.20.166) (Ping timeout: 255 seconds)
2021-07-15 15:19:49 +0200hendursaga(~weechat@user/hendursaga)
2021-07-15 15:19:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-07-15 15:20:55 +0200keutoi(~keutoi@106.208.22.166)
2021-07-15 15:23:57 +0200cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2021-07-15 15:24:07 +0200cheater(~Username@user/cheater)
2021-07-15 15:24:37 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1)
2021-07-15 15:24:38 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2021-07-15 15:25:39 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-15 15:25:46 +0200peterhil_(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 268 seconds)
2021-07-15 15:26:57 +0200allbery_b(~geekosaur@xmonad/geekosaur) (Ping timeout: 258 seconds)
2021-07-15 15:27:35 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-07-15 15:28:08 +0200lavaman(~lavaman@98.38.249.169)
2021-07-15 15:28:09 +0200cheater1__(~Username@user/cheater)
2021-07-15 15:30:24 +0200cheater(~Username@user/cheater) (Ping timeout: 258 seconds)
2021-07-15 15:30:33 +0200cheater1__cheater
2021-07-15 15:31:15 +0200mikail(~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f)
2021-07-15 15:32:24 +0200keutoi(~keutoi@106.208.22.166) (Ping timeout: 255 seconds)
2021-07-15 15:33:14 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
2021-07-15 15:36:04 +0200stevenxl(uid133530@id-133530.highgate.irccloud.com) (Quit: Connection closed for inactivity)
2021-07-15 15:40:57 +0200azeem(~azeem@176.200.200.206) (Ping timeout: 255 seconds)
2021-07-15 15:41:22 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:dd48:b4b4:65c5:d73f)
2021-07-15 15:41:59 +0200 <kuribas> is anyone using lsp with emacs?
2021-07-15 15:43:06 +0200 <Franciman> I am using lsp with kakoune, if it is related to haskell language server
2021-07-15 15:44:23 +0200keutoi(~keutoi@223.237.48.22)
2021-07-15 15:47:24 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:dd48:b4b4:65c5:d73f) (Quit: Client closed)
2021-07-15 15:47:55 +0200azeem(~azeem@176.200.200.206)
2021-07-15 15:48:00 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:dd48:b4b4:65c5:d73f)
2021-07-15 15:50:03 +0200 <kuribas> what's kakoune?
2021-07-15 15:53:08 +0200 <Las[m]> it's a text editor
2021-07-15 15:54:47 +0200 <kuribas> right...
2021-07-15 15:54:53 +0200 <kuribas> no my question was specific to emacs.
2021-07-15 15:55:07 +0200 <kuribas> lsp works nicely on vscode (minus bugs).
2021-07-15 15:57:56 +0200chomwitt(~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374)
2021-07-15 15:59:27 +0200Vajb(~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) (Read error: Connection reset by peer)
2021-07-15 16:00:49 +0200cheater1__(~Username@user/cheater)
2021-07-15 16:01:29 +0200 <kuribas> it just doesn't look very nice on emacs.
2021-07-15 16:01:30 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-15 16:02:10 +0200 <kuribas> With information all over the place, literal markdown in docs, ...
2021-07-15 16:03:06 +0200cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2021-07-15 16:03:12 +0200cheater1__cheater
2021-07-15 16:07:32 +0200azeem(~azeem@176.200.200.206) (Ping timeout: 252 seconds)
2021-07-15 16:08:25 +0200shriekingnoise(~shrieking@186.137.144.80)
2021-07-15 16:10:05 +0200cheater1__(~Username@user/cheater)
2021-07-15 16:11:19 +0200cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2021-07-15 16:12:27 +0200cheater(~Username@user/cheater)
2021-07-15 16:14:55 +0200azeem(~azeem@176.200.200.206)
2021-07-15 16:15:14 +0200keutoi(~keutoi@223.237.48.22) (Ping timeout: 252 seconds)
2021-07-15 16:15:36 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Ping timeout: 255 seconds)
2021-07-15 16:16:09 +0200cheater1__(~Username@user/cheater) (Ping timeout: 265 seconds)
2021-07-15 16:16:50 +0200ubikium(~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099)
2021-07-15 16:17:04 +0200keutoi(~keutoi@106.208.22.166)
2021-07-15 16:17:36 +0200prite(~pritam@user/pritambaral) (Ping timeout: 265 seconds)
2021-07-15 16:17:52 +0200prite(~pritam@user/pritambaral)
2021-07-15 16:18:29 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-15 16:18:55 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-15 16:19:29 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-07-15 16:19:30 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-07-15 16:20:00 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.2)
2021-07-15 16:20:18 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-15 16:20:34 +0200Sgeo(~Sgeo@user/sgeo)
2021-07-15 16:20:35 +0200peterhil(~peterhil@mobile-access-bceeac-89.dhcp.inet.fi)
2021-07-15 16:22:15 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-07-15 16:22:32 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Max SendQ exceeded)
2021-07-15 16:22:38 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-07-15 16:22:56 +0200pritambaral(~pritam@user/pritambaral)
2021-07-15 16:23:00 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-07-15 16:24:17 +0200derelict(~derelict@user/derelict) (Ping timeout: 245 seconds)
2021-07-15 16:25:00 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2021-07-15 16:26:22 +0200prite(~pritam@user/pritambaral) (Ping timeout: 258 seconds)
2021-07-15 16:26:40 +0200ubikium(~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099) (Read error: Connection reset by peer)
2021-07-15 16:27:22 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net)
2021-07-15 16:28:35 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-07-15 16:29:51 +0200Guest23(~Guest23@50.47.115.102) (Quit: Client closed)
2021-07-15 16:32:39 +0200jippiedoe(~david@2a02-a44c-e14e-1-1f41-d350-ba29-922c.fixed6.kpn.net) (Ping timeout: 268 seconds)
2021-07-15 16:33:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-15 16:34:26 +0200prite(~pritam@user/pritambaral)
2021-07-15 16:34:40 +0200azeem(~azeem@176.200.200.206) (Ping timeout: 272 seconds)
2021-07-15 16:34:41 +0200pritambaral(~pritam@user/pritambaral) (Ping timeout: 255 seconds)
2021-07-15 16:36:08 +0200neurocyte(~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
2021-07-15 16:36:53 +0200azeem(~azeem@176.200.200.206)
2021-07-15 16:38:35 +0200mikail(~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f) (Remote host closed the connection)
2021-07-15 16:39:40 +0200Guest47(~Guest47@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa)
2021-07-15 16:40:37 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Remote host closed the connection)
2021-07-15 16:40:50 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-15 16:41:41 +0200cheater1__(~Username@84-115-12-132.cable.dynamic.surfer.at)
2021-07-15 16:42:09 +0200cheater(~Username@user/cheater) (Ping timeout: 255 seconds)
2021-07-15 16:42:29 +0200baullrog(~baullrog@pool-96-237-166-123.bstnma.fios.verizon.net)
2021-07-15 16:42:45 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
2021-07-15 16:43:14 +0200mikail(~mikail@90.212.77.3)
2021-07-15 16:43:33 +0200cheater1__cheater
2021-07-15 16:43:39 +0200cheatercheater1
2021-07-15 16:43:42 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Quit: Leaving)
2021-07-15 16:44:02 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-07-15 16:46:03 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-07-15 16:47:27 +0200qbt(~edun@user/edun) (Ping timeout: 258 seconds)
2021-07-15 16:47:37 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-07-15 16:48:24 +0200Guest47(~Guest47@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa) (Quit: Client closed)
2021-07-15 16:49:59 +0200keutoi(~keutoi@106.208.22.166) (Ping timeout: 255 seconds)
2021-07-15 16:50:24 +0200baullrog(~baullrog@pool-96-237-166-123.bstnma.fios.verizon.net) (Quit: Leaving)
2021-07-15 16:51:53 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-07-15 16:56:47 +0200keutoi(~keutoi@157.47.109.43)
2021-07-15 16:57:54 +0200prite(~pritam@user/pritambaral) (Ping timeout: 255 seconds)
2021-07-15 16:57:56 +0200pritambaral(~pritam@user/pritambaral)
2021-07-15 16:58:53 +0200azeem(~azeem@176.200.200.206) (Ping timeout: 268 seconds)
2021-07-15 16:58:55 +0200lavaman(~lavaman@98.38.249.169)
2021-07-15 16:59:42 +0200chomwitt(~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374) (Ping timeout: 245 seconds)
2021-07-15 17:00:08 +0200azeem(~azeem@176.200.199.176)
2021-07-15 17:01:59 +0200mariohesles(~user@172.58.97.195) (Remote host closed the connection)
2021-07-15 17:02:20 +0200neurocyte(~neurocyte@45.93.111.131)
2021-07-15 17:02:20 +0200neurocyte(~neurocyte@45.93.111.131) (Changing host)
2021-07-15 17:02:20 +0200neurocyte(~neurocyte@user/neurocyte)
2021-07-15 17:02:49 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:dd48:b4b4:65c5:d73f) (Ping timeout: 246 seconds)
2021-07-15 17:03:33 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
2021-07-15 17:08:13 +0200agua(~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e)
2021-07-15 17:10:31 +0200pesada(~agua@2804:18:48:1eaf:1:0:1d0b:6be0) (Ping timeout: 246 seconds)
2021-07-15 17:10:40 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-07-15 17:10:47 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-15 17:16:01 +0200Gurkenglas_(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-07-15 17:16:12 +0200azeem(~azeem@176.200.199.176) (Ping timeout: 258 seconds)
2021-07-15 17:18:58 +0200egoist(~egoist@186.235.80.249)
2021-07-15 17:19:10 +0200jippiedoe(~david@2a02-a44c-e14e-1-e2c4-23e8-2d6f-bdbb.fixed6.kpn.net)
2021-07-15 17:21:42 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
2021-07-15 17:21:45 +0200azeem(~azeem@176.200.199.176)
2021-07-15 17:24:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-15 17:24:34 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-15 17:25:52 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-15 17:25:55 +0200elf_fortrez(~elf_fortr@adsl-72-50-4-51.prtc.net)
2021-07-15 17:26:24 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-15 17:26:36 +0200azeem(~azeem@176.200.199.176) (Ping timeout: 272 seconds)
2021-07-15 17:27:23 +0200ukari(~ukari@user/ukari)
2021-07-15 17:27:29 +0200azeem(~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it)
2021-07-15 17:29:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-07-15 17:30:00 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-15 17:30:07 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-15 17:30:42 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-15 17:39:13 +0200jumper149(~jumper149@80.240.31.34) (Quit: WeeChat 3.1)
2021-07-15 17:39:51 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-15 17:42:05 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-15 17:44:54 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-15 17:45:31 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se)
2021-07-15 17:46:14 +0200peterhil(~peterhil@mobile-access-bceeac-89.dhcp.inet.fi) (Ping timeout: 255 seconds)
2021-07-15 17:46:16 +0200Null_A(~null_a@2601:645:8700:2290:e9c6:7ad4:aa07:6319)
2021-07-15 17:47:38 +0200derelict(~derelict@user/derelict)
2021-07-15 17:49:37 +0200 <maerwald> it isn't better in vim if that makes you less sad
2021-07-15 17:53:35 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-15 17:54:14 +0200Guest4643(~felix@83.8.55.241.ipv4.supernova.orange.pl)
2021-07-15 17:59:10 +0200chele(~chele@user/chele) (Remote host closed the connection)
2021-07-15 17:59:38 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-07-15 17:59:49 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-15 18:00:17 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
2021-07-15 18:00:22 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-07-15 18:01:26 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-15 18:03:34 +0200juhp(~juhp@128.106.188.66) (Quit: juhp)
2021-07-15 18:03:48 +0200juhp(~juhp@128.106.188.66)
2021-07-15 18:04:41 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 255 seconds)
2021-07-15 18:06:50 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds)
2021-07-15 18:07:38 +0200safinaskar(~user@109.252.90.89)
2021-07-15 18:07:47 +0200 <safinaskar> please, help me find video on functional programming!
2021-07-15 18:08:04 +0200 <safinaskar> in this video speaker showed "realloc" function from C language
2021-07-15 18:08:13 +0200chomwitt(~Pitsikoko@ppp-94-67-202-202.home.otenet.gr)
2021-07-15 18:08:14 +0200 <safinaskar> and said that
2021-07-15 18:10:05 +0200 <safinaskar> realloc API is actually multiplexed, that realloc behaves as malloc when given one set of parameters and behaves as free if we pass another set of parameters
2021-07-15 18:10:10 +0200 <safinaskar> so, please give me this video
2021-07-15 18:10:23 +0200 <safinaskar> the speaker concluded that we all should use functional programming
2021-07-15 18:11:42 +0200 <glguy> safinaskar: What you've described isn't something I've seen before, but it doesn't appear to have anything to do with functional programming
2021-07-15 18:11:47 +0200anandprabhu(~anandprab@94.202.243.198)
2021-07-15 18:12:38 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-15 18:14:44 +0200keutoi(~keutoi@157.47.109.43) (Ping timeout: 272 seconds)
2021-07-15 18:15:08 +0200 <safinaskar> glguy: yes, but he also talked about functional programming
2021-07-15 18:16:06 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
2021-07-15 18:16:14 +0200keutoi(~keutoi@223.237.18.142)
2021-07-15 18:16:30 +0200nschoe(~quassel@178.251.84.79) (Ping timeout: 265 seconds)
2021-07-15 18:16:44 +0200zyklotomic(~ethan@2604:a880:800:10::79f:8001)
2021-07-15 18:17:09 +0200chris_(~chris@81.96.113.213)
2021-07-15 18:17:19 +0200 <zyklotomic> say I have a data TestData = VerA { fieldA : Int, fieldB :: Int} | VerB { fieldB :: Int }
2021-07-15 18:17:30 +0200 <glguy> You have a TestData
2021-07-15 18:17:45 +0200 <zyklotomic> shouldn't it be the case that f :: TestData -> Int; f = fieldA doesnt' compile
2021-07-15 18:17:49 +0200 <zyklotomic> but it becomes a runtime error
2021-07-15 18:18:51 +0200 <glguy> fieldA throws a runtime error if you use it on a VerB constructor
2021-07-15 18:19:15 +0200 <zyklotomic> yeah
2021-07-15 18:19:26 +0200 <zyklotomic> shouldnt it not compile in the first place
2021-07-15 18:19:40 +0200 <glguy> No, it's defined to throw a runtime error
2021-07-15 18:19:54 +0200anandprabhu(~anandprab@94.202.243.198) (Quit: Leaving)
2021-07-15 18:19:58 +0200 <glguy> I wouldn't recommend defining that datatype, but if you do that's the behavior
2021-07-15 18:20:07 +0200 <c_wraith> Ideally record selectors wouldn't be allowed with multiple constructors, but I wasn't in charge of allowing that. :P
2021-07-15 18:20:49 +0200 <c_wraith> So we just have to tell people it's a bad idea, instead of letting the compiler reject it.
2021-07-15 18:20:50 +0200 <zyklotomic> are there existing issues created on this
2021-07-15 18:21:06 +0200 <zyklotomic> i'm not sure what to name it
2021-07-15 18:21:12 +0200 <c_wraith> It's not a bug
2021-07-15 18:21:17 +0200 <zyklotomic> multiple constructor record selectors
2021-07-15 18:21:30 +0200 <zyklotomic> yeah i'm not saying it is a bug, but if people have created an issue saying they disagree with it
2021-07-15 18:21:41 +0200 <glguy> There's not really a voting system like that
2021-07-15 18:22:16 +0200 <zyklotomic> or like at least brought it up
2021-07-15 18:22:20 +0200chomwitt(~Pitsikoko@ppp-94-67-202-202.home.otenet.gr) (Ping timeout: 272 seconds)
2021-07-15 18:22:24 +0200 <c_wraith> there's the GHC proposals system. GHC has broken with the language spec as the result of proposals before. Even in terms of removing things like n+k patterns.
2021-07-15 18:22:37 +0200stevenxl(uid133530@id-133530.highgate.irccloud.com)
2021-07-15 18:22:43 +0200 <stevenxl> Hello party people.
2021-07-15 18:22:55 +0200 <c_wraith> But this is probably a harder sell than that.
2021-07-15 18:22:56 +0200stevenxlQuick question - is there no trim function for bytestring?
2021-07-15 18:23:29 +0200 <glguy> stevenxl: there's dropWhile and dropWhileEnd
2021-07-15 18:23:53 +0200 <c_wraith> there's nothing named "trim" because bytestrings aren't intended to be treated as textual data.
2021-07-15 18:23:58 +0200chomwitt(~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374)
2021-07-15 18:24:03 +0200_xor(~xor@74.215.46.133) (Ping timeout: 258 seconds)
2021-07-15 18:24:08 +0200 <glguy> but bytestrings don't hold text, but if you're using Char8 module: https://hackage.haskell.org/package/bytestring-0.11.1.0/docs/Data-ByteString-Char8.html#v:strip
2021-07-15 18:24:13 +0200 <c_wraith> ... despite the whole .Char8 module
2021-07-15 18:24:17 +0200stevenxlMaybe we can put it in the Char8 module.
2021-07-15 18:24:52 +0200pritambaral(~pritam@user/pritambaral) (Ping timeout: 272 seconds)
2021-07-15 18:25:10 +0200stevenxlOh - I thought that existed. Maybe we need that same function in lazy.bytestring.
2021-07-15 18:25:13 +0200stevenxl.char8
2021-07-15 18:25:17 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-07-15 18:26:01 +0200 <zyklotomic> glguy: ye i meant smth like the proposal system
2021-07-15 18:26:12 +0200 <zyklotomic> ah i see ok, ig i'll just avoid it then
2021-07-15 18:26:22 +0200 <zyklotomic> not like partial functions don't exist
2021-07-15 18:26:29 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-15 18:26:33 +0200Guest47(~Guest47@2a01:cb15:81e5:f00:2c94:41d0:be2a:116c)
2021-07-15 18:26:33 +0200dajoer(~david@user/gvx) (Quit: leaving)
2021-07-15 18:27:03 +0200 <lechner> Hi, I finally wrote my first production program (for Debian infrastructure) and would appreciate your suggestions to a newbie. Thanks! https://dpaste.org/oZkp
2021-07-15 18:27:32 +0200stevenxllechner: congrats!
2021-07-15 18:28:22 +0200Guest4643(~felix@83.8.55.241.ipv4.supernova.orange.pl) (Quit: WeeChat 3.1)
2021-07-15 18:28:51 +0200Atum_(IRC@user/atum/x-2392232)
2021-07-15 18:29:15 +0200 <zyklotomic> lechner: that looks really cool, what does it do
2021-07-15 18:29:15 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 255 seconds)
2021-07-15 18:29:43 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Remote host closed the connection)
2021-07-15 18:29:44 +0200 <zyklotomic> in the context of Debian too
2021-07-15 18:29:49 +0200Gurkenglas_Gurkenglas
2021-07-15 18:29:59 +0200pritambaral(~pritam@user/pritambaral)
2021-07-15 18:30:00 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-07-15 18:30:29 +0200 <lechner> zyklotomic: it collects data for lintian.debian.org from automated runners via ZeroMQ and stores the results on disk
2021-07-15 18:32:17 +0200stevenxlhttps://youtu.be/tAD1V8bHm_0
2021-07-15 18:32:20 +0200 <arkanoid> Hello! Noob question (just studying the subject). Is monad the way-to-go to handle side effects / errors in functional programming, or are there new/better strategies?
2021-07-15 18:32:43 +0200safinaskar(~user@109.252.90.89) ()
2021-07-15 18:32:51 +0200 <zyklotomic> i've heard of algebraic effects being cool recently, but not very familiar with them
2021-07-15 18:33:24 +0200hgolden_(~hgolden2@cpe-172-114-84-61.socal.res.rr.com)
2021-07-15 18:33:27 +0200 <maerwald> so you want something cool?
2021-07-15 18:33:51 +0200hgolden_(~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Client Quit)
2021-07-15 18:35:38 +0200 <[exa]> lechner: looks cool! on L75 you might want to just mconcat a list of the strings, or perhaps `intercalate` them. The temporary bindings look kinda removable to me.
2021-07-15 18:36:27 +0200prite(~pritam@user/pritambaral)
2021-07-15 18:36:33 +0200 <lechner> [exa]: yeah, that's an eye sore. what are temporary bindings, please?
2021-07-15 18:36:47 +0200 <[exa]> lechner: map ($task) [Task.source_name, Task.source_version, Task.release, ...]
2021-07-15 18:37:08 +0200pritambaral(~pritam@user/pritambaral) (Ping timeout: 252 seconds)
2021-07-15 18:37:10 +0200 <arkanoid> no, I'm not an haskell programmer so I don't know any alternative. I'm just learning FP to apply the concepts I need into the imperative world that I know. For example I'm trying to isolate effects, and while I've found a proper way to enforce the lack of side effects at compile time, I'm trying to identify a strategy to program the case where errors and side effects needs to be cosidered. So far
2021-07-15 18:37:11 +0200 <arkanoid> I've just encoutered monads, but I don't know if there's anything else I should consider on this topic
2021-07-15 18:37:11 +0200 <lechner> followed by intercalate?
2021-07-15 18:38:08 +0200 <[exa]> lechner: basically, the `let`s there rename a 2-word something to 1-word something, and the second word in the definition is kinda repeated...so it seems like a natural place to compress some code :]
2021-07-15 18:39:14 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-07-15 18:39:47 +0200 <[exa]> lechner: anyway, `intercalate` is a nice way to do concat with separators
2021-07-15 18:40:46 +0200eight(~eight@user/eight)
2021-07-15 18:41:10 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-15 18:41:39 +0200 <[exa]> lechner: and l91: you might want to be explicit about the args shape, e.g. with `[configPath] <- getArgs` or `(configPath:_) <- getArgs`
2021-07-15 18:41:47 +0200chris_(~chris@81.96.113.213)
2021-07-15 18:42:30 +0200sm2n(~sm2n@user/sm2n)
2021-07-15 18:42:30 +0200chris_(~chris@81.96.113.213) (Read error: Connection reset by peer)
2021-07-15 18:42:32 +0200chris____(~chris@81.96.113.213)
2021-07-15 18:43:30 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
2021-07-15 18:44:08 +0200cheater1(~Username@84-115-12-132.cable.dynamic.surfer.at) (Changing host)
2021-07-15 18:44:08 +0200cheater1(~Username@user/cheater)
2021-07-15 18:44:40 +0200jippiedoe(~david@2a02-a44c-e14e-1-e2c4-23e8-2d6f-bdbb.fixed6.kpn.net) (Ping timeout: 246 seconds)
2021-07-15 18:47:57 +0200 <lechner> [exa]: what do those to, please?
2021-07-15 18:49:51 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-07-15 18:51:14 +0200 <[exa]> lechner: the `[configPath] <- getArgs` will bind the single argument to "variable" configPath. Which is basically what you do now, except it will fail if any extra arguments are present (see the list of args needs to have 1 item precisely)
2021-07-15 18:51:49 +0200 <[exa]> lechner: the other variant `(configPath : _) <- getArgs` does precisely the same, except it reads better (and shorter) to me than using `head`
2021-07-15 18:52:15 +0200 <[exa]> (precisely the same as your code, not as the above)
2021-07-15 18:54:01 +0200xff0x(~xff0x@2001:1a81:5396:d100:8e8d:3ad4:f4d0:67e9) (Quit: xff0x)
2021-07-15 18:55:15 +0200 <lechner> [exa]: thanks! what does the sigil do in the map ($task) above please?
2021-07-15 18:56:43 +0200jlamothe(~jlamothe@198.251.60.157) (Remote host closed the connection)
2021-07-15 18:57:16 +0200chris____(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-15 18:58:27 +0200 <lechner> or, can i insert a space? coming from Perl it looks funny
2021-07-15 18:59:05 +0200mceldeen(~igloo@71-33-221-91.hlrn.qwest.net)
2021-07-15 18:59:17 +0200chris_(~chris@81.96.113.213)
2021-07-15 18:59:32 +0200 <glguy> lechner: $ is an operator, ($x) is a "section" that is short for (\y -> y $ x)
2021-07-15 19:00:06 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-15 19:00:58 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-07-15 19:01:40 +0200flareon(~flareon@117.222.66.126)
2021-07-15 19:04:16 +0200mceldeen(~igloo@71-33-221-91.hlrn.qwest.net) (Ping timeout: 252 seconds)
2021-07-15 19:04:41 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 268 seconds)
2021-07-15 19:04:49 +0200 <[exa]> there should actually be an operator that encodes this nicely
2021-07-15 19:06:04 +0200ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection)
2021-07-15 19:06:33 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-15 19:06:36 +0200 <boxscape> lechner: inserting a space between $ and the function is indeed very common
2021-07-15 19:06:41 +0200chris_(~chris@81.96.113.213)
2021-07-15 19:06:48 +0200 <[exa]> hm it's `[Task.this, Task.that, Task.... ] <$~> task`, the operator is in Data.Functor.Syntax, but I guess it's better to leave the code readable without searching hoogle
2021-07-15 19:06:51 +0200 <boxscape> s/function/value
2021-07-15 19:07:54 +0200jiribenes(~jiribenes@rosa.jiribenes.com) (Ping timeout: 240 seconds)
2021-07-15 19:09:06 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-07-15 19:12:43 +0200jess(~jess@libera/staff/jess) ()
2021-07-15 19:13:53 +0200keutoi(~keutoi@223.237.18.142) (Quit: leaving)
2021-07-15 19:14:40 +0200smichel17_smichel17
2021-07-15 19:15:14 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Remote host closed the connection)
2021-07-15 19:15:28 +0200peterhil(~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
2021-07-15 19:18:15 +0200curiousgay(~curiousgg@77-120-144-167.kha.volia.net) (Remote host closed the connection)
2021-07-15 19:19:21 +0200Guest47(~Guest47@2a01:cb15:81e5:f00:2c94:41d0:be2a:116c) (Quit: Client closed)
2021-07-15 19:20:02 +0200curiousgay(~curiousga@77-120-144-167.kha.volia.net)
2021-07-15 19:20:07 +0200 <lechner> [exa] boxscape glguy: thanks for all your help!
2021-07-15 19:20:33 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-07-15 19:20:56 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-15 19:21:29 +0200 <lechner> Hi, can this printf be replaced with a putStrLn, please? I'm getting type errors involving IO https://dpaste.org/D4xj#L76
2021-07-15 19:22:10 +0200 <[exa]> wouldn't just `putStrLn $ "Received " ++ fileName` work?
2021-07-15 19:22:33 +0200 <lechner> i missed the sigil
2021-07-15 19:22:42 +0200chris_(~chris@81.96.113.213)
2021-07-15 19:22:45 +0200 <[exa]> "sigil" you mean $ right ?
2021-07-15 19:23:05 +0200 <lechner> yeah, is that the wrong name?
2021-07-15 19:23:34 +0200 <[exa]> $ means something like "the rest of the expression is in parentheses"
2021-07-15 19:23:50 +0200 <lechner> i do know that
2021-07-15 19:23:53 +0200 <[exa]> well people usually call it a dollar, given the pop use of the symbol :D
2021-07-15 19:24:36 +0200 <lechner> being in america i try to be respectful and inclusive
2021-07-15 19:25:13 +0200 <[exa]> ah okay :]
2021-07-15 19:26:06 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 265 seconds)
2021-07-15 19:26:33 +0200 <lechner> Hi, is it possible to have two statements in a case branch? (inside do)
2021-07-15 19:28:23 +0200 <[exa]> yeah, open another `do` ?
2021-07-15 19:29:23 +0200 <[exa]> or use some operators as with `do`, you can do e.g. `putStrLn "xxx" >> putStrLn "yyy"` in one line without `do`
2021-07-15 19:29:55 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-07-15 19:30:00 +0200 <dminuoso> lechner: Key thing to realize is that do-expressions are expressions! :)
2021-07-15 19:30:31 +0200 <lechner> except i have been told they are not that great
2021-07-15 19:30:45 +0200mc47(~mc47@xmonad/TheMC47)
2021-07-15 19:30:54 +0200kadobanana(~mud@user/kadoban) (Remote host closed the connection)
2021-07-15 19:31:19 +0200kadobanana(~mud@user/kadoban)
2021-07-15 19:32:26 +0200elf_fortrez(~elf_fortr@adsl-72-50-4-51.prtc.net) (Quit: Client closed)
2021-07-15 19:33:09 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds)
2021-07-15 19:33:40 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 268 seconds)
2021-07-15 19:34:24 +0200Guest984(~Guest9@43.241.144.126)
2021-07-15 19:37:05 +0200pesada(~agua@177.79.106.52)
2021-07-15 19:38:39 +0200 <flareon> if i say `import Foo.Bar`, i should be able to access any function inside the module `Foo.Bar` (say Foo.Bar.Baz.Quux.hello) irrespective of whether i can actually say `import Foo.Bar.Baz.Quux`. am i correct?
2021-07-15 19:38:44 +0200agua(~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) (Ping timeout: 255 seconds)
2021-07-15 19:39:08 +0200 <Ariakenom> lechner: do? do is great! maybe someone told you that it's good to understand the >>= as well. that is a advice sometimes given to beginners. but there's no problem with do.
2021-07-15 19:40:39 +0200agua(~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e)
2021-07-15 19:41:28 +0200 <boxscape> flareon: that sounds wrong to me
2021-07-15 19:42:36 +0200elf_fortrez(~elf_fortr@adsl-72-50-4-188.prtc.net)
2021-07-15 19:44:40 +0200pesada(~agua@177.79.106.52) (Ping timeout: 272 seconds)
2021-07-15 19:44:43 +0200 <lechner> Haskell is such a joy! The code is concise, plus it does so much for type safety and detecting missing JSON fields. Thanks everyone!
2021-07-15 19:44:45 +0200chris_(~chris@81.96.113.213) (Remote host closed the connection)
2021-07-15 19:45:04 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-07-15 19:45:11 +0200 <lechner> probably faster than my current scripts, too
2021-07-15 19:45:56 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2021-07-15 19:46:14 +0200jiribenes(~jiribenes@rosa.jiribenes.com)
2021-07-15 19:47:05 +0200 <boxscape> flareon: importantly a function Foo.Bar.Baz.Quux.hello is *not* in the module Foo.Bar, it's in the module Foo.Bar.Baz.Quux
2021-07-15 19:48:03 +0200burnsidesLlama(~burnsides@client-8-82.eduroam.oxuni.org.uk)
2021-07-15 19:52:30 +0200ubert(~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de)
2021-07-15 19:52:51 +0200 <flareon> boxscape: module hierarchies do *not* ensure recursive imports. if i `import Foo.Bar`, i only get the functions in `Foo.Bar` and not any functions in `Foo.Bar.Quux`. am i correct?
2021-07-15 19:53:11 +0200 <boxscape> flareon: that's correct
2021-07-15 19:53:23 +0200Null_A(~null_a@2601:645:8700:2290:e9c6:7ad4:aa07:6319) ()
2021-07-15 19:53:32 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-07-15 19:53:33 +0200 <flareon> boxscape: what purpose do module hierarchies serve then?
2021-07-15 19:53:43 +0200 <boxscape> flareon: often, you will find libraries where Foo.Bar reexports Foo.Bar.Quux though, so in those cases it happens to look like that
2021-07-15 19:54:04 +0200 <flareon> boxscape: but it's not guaranteed?
2021-07-15 19:55:02 +0200 <boxscape> flareon: right, it's not guaranteed. I would say the point of hierarchical module names is just to make it easier to organize your code in a sensible structure, without saying anything about exports or imports
2021-07-15 19:55:03 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-15 19:56:28 +0200 <flareon> boxscape: so technically, `Data.Map.Strict` could easily have been `Data.StrictMap` and nothing would change from the caller's point of view except for the name. the developer would have to put it in a different hierarchy in code. am i correct?
2021-07-15 19:56:45 +0200 <boxscape> that's right
2021-07-15 19:57:33 +0200 <boxscape> you could imagine a world where imports work like you suggested, but arguably it would be less expressive, since you couldn't get back the current behavior, but you can emulate that behavior currently by reexporting inner modules as I mentioned above
2021-07-15 19:57:45 +0200 <flareon> boxscape: that was profoundly helpful. i don't know if i missed it, but i didn't explicity read this written somewhere. thanks!
2021-07-15 19:57:59 +0200 <boxscape> welcome
2021-07-15 19:58:53 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-15 19:59:04 +0200 <flareon> boxscape: as a user, to be on the safe side, i should treat `Foo.Bar` and `Foo.Bar.Baz.Quux` as entirely different module with no relation to one another. right?
2021-07-15 19:59:11 +0200 <tomsmeding> for what it's worth, I believe python works the same way
2021-07-15 19:59:31 +0200 <flareon> tomsmeding: i see.
2021-07-15 19:59:42 +0200 <tomsmeding> flareon: no relation a priori, unless the docs of that particular module say otherwise :)
2021-07-15 20:00:19 +0200 <boxscape> flareon: yep, as tomsmeding said ideally look at the docs of Foo.Bar and if it has a line "module Foo.Bar.Baz.Quux" somewhere you know it reexports it
2021-07-15 20:00:21 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-15 20:00:43 +0200 <boxscape> for example: https://hackage.haskell.org/package/containers-0.6.5.1/docs/Data-Map.html
2021-07-15 20:00:51 +0200zeenk(~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3)
2021-07-15 20:00:52 +0200chris_(~chris@81.96.113.213)
2021-07-15 20:00:54 +0200lavaman(~lavaman@98.38.249.169)
2021-07-15 20:00:56 +0200 <boxscape> says "module Data.Map.Lazy" as first "declaration"
2021-07-15 20:02:03 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-15 20:03:48 +0200ukari(~ukari@user/ukari) (Remote host closed the connection)
2021-07-15 20:04:11 +0200 <lechner> Hi, do people here generally agree that standard modules should be qualified imports? Thanks! https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md#imports
2021-07-15 20:04:31 +0200 <maerwald> no one here agrees on anything
2021-07-15 20:04:36 +0200 <Rembane> +1
2021-07-15 20:04:55 +0200ukari(~ukari@user/ukari)
2021-07-15 20:05:08 +0200cfricke(~cfricke@user/cfricke)
2021-07-15 20:05:12 +0200 <boxscape> lechner: note that the style guide doesn't say that - it says "use explicit import lists *or* qualified imports"
2021-07-15 20:05:13 +0200 <tomsmeding> why does that same guide in the very next codeblock use Socket and ByteString unqualified
2021-07-15 20:05:24 +0200 <tomsmeding> ah right
2021-07-15 20:05:44 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-07-15 20:05:47 +0200 <lechner> i see
2021-07-15 20:06:09 +0200pesada(~agua@2804:18:43:3e21:1:0:20af:708a)
2021-07-15 20:06:21 +0200 <tomsmeding> but what maerwald says :p
2021-07-15 20:06:23 +0200agua(~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) (Read error: Connection reset by peer)
2021-07-15 20:06:25 +0200 <boxscape> lechner: generally speaking people will use qualified imports for modules that define a lot of functions with the same name as functions in the Prelude, like a lot of the containers modules (Data.Map etc.)
2021-07-15 20:06:28 +0200Topsi(~Tobias@dyndsl-095-033-090-054.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2021-07-15 20:06:42 +0200agua(~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e)
2021-07-15 20:06:51 +0200pesada(~agua@2804:18:43:3e21:1:0:20af:708a) (Read error: Connection reset by peer)
2021-07-15 20:06:55 +0200prite(~pritam@user/pritambaral) (Ping timeout: 246 seconds)
2021-07-15 20:07:01 +0200pesada(~agua@2804:18:43:3e21:1:0:20af:708a)
2021-07-15 20:07:11 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2021-07-15 20:07:28 +0200 <boxscape> (I don't mean to imply with that that people don't use qualified imports for other modules, but it's much less universal for other modules)
2021-07-15 20:07:42 +0200 <lechner> i actually like the idea but what are good short names? Things like BL are too cryptic for me
2021-07-15 20:07:45 +0200prite(~pritam@user/pritambaral)
2021-07-15 20:07:45 +0200flareon(~flareon@117.222.66.126) (Quit: leaving)
2021-07-15 20:08:16 +0200 <maerwald> I use my cats names
2021-07-15 20:08:18 +0200 <tomsmeding> for certain things like bytestrings, Data.Text, Data.Map, people use fairly standard shortened names
2021-07-15 20:08:25 +0200 <boxscape> lechner: how about BS.Lazy
2021-07-15 20:09:17 +0200 <boxscape> maerwald: I can only imagine that working well if you named your cats after Haskell modules
2021-07-15 20:09:27 +0200 <maerwald> of course I did
2021-07-15 20:10:08 +0200 <maerwald> CatString.Lazy
2021-07-15 20:10:27 +0200 <boxscape> nice
2021-07-15 20:10:35 +0200 <boxscape> lechner: here's a somewhat interesting example import list from the ghc codebase to give you an idea https://downloads.haskell.org/~ghc/9.0.1-alpha1/docs/html/libraries/ghc-boot-9.0.0.20200925/src/GH…
2021-07-15 20:10:37 +0200flareon(~flareon@117.222.66.126)
2021-07-15 20:10:49 +0200 <boxscape> note also how they imported both Foldable and Traversable as the same name
2021-07-15 20:10:57 +0200favonia(~favonia@user/favonia) (Ping timeout: 255 seconds)
2021-07-15 20:10:57 +0200agua(~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) (Ping timeout: 245 seconds)
2021-07-15 20:11:39 +0200silverwhitefish(~hidden@47.202.102.10) (Quit: One for all, all for One (2 Corinthians 5))
2021-07-15 20:12:07 +0200silverwhitefish(~hidden@47.202.102.10)
2021-07-15 20:12:48 +0200zyklotomic(~ethan@2604:a880:800:10::79f:8001) (WeeChat 2.8)
2021-07-15 20:12:52 +0200elf_fortrez(~elf_fortr@adsl-72-50-4-188.prtc.net) (Ping timeout: 246 seconds)
2021-07-15 20:14:21 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1)
2021-07-15 20:14:36 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-07-15 20:14:58 +0200mc47(~mc47@xmonad/TheMC47)
2021-07-15 20:17:45 +0200fresheyeball(~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net)
2021-07-15 20:17:45 +0200azeem(~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-07-15 20:18:28 +0200azeem(~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it)
2021-07-15 20:20:43 +0200gzj(~GZJ0X@199.193.127.138.16clouds.com)
2021-07-15 20:20:57 +0200themc47(~mc47@xmonad/TheMC47)
2021-07-15 20:21:16 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds)
2021-07-15 20:23:32 +0200favonia(~favonia@user/favonia)
2021-07-15 20:23:39 +0200mc47(~mc47@xmonad/TheMC47) (Ping timeout: 258 seconds)
2021-07-15 20:25:22 +0200zebrag(~chris@user/zebrag)
2021-07-15 20:27:00 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds)
2021-07-15 20:27:53 +0200michalz(~michalz@185.246.204.50)
2021-07-15 20:29:14 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1)
2021-07-15 20:29:32 +0200 <lechner> Hi, how can I import 'Rep' from System.ZMQ4.Monadic, please?
2021-07-15 20:31:23 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-15 20:31:58 +0200jlamothe(~jlamothe@198.251.60.157)
2021-07-15 20:32:48 +0200 <flareon> boxscape: i checked and it looks like all the exports of `Data.Map` are actually exports of `Data.Map.Lazy` which are done through exporting `Data.Map.Lazy` from `Data.Map`, similarly `Text.Parsec` exports `Text.Parsec.Char` from itself. but they do mention it in the documentation and corresponding source. thanks!
2021-07-15 20:32:51 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-07-15 20:33:47 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Quit: Leaving)
2021-07-15 20:35:58 +0200 <flareon> boxscape: but since neither `Data.Map.Lazy` nor `Text.Parsec.Char` are exported qualified one can access their functions directly from importing `Data.Map` and `Text.Parsec`. that and mindlessly checking imports through tab completion in the repl with `Prelude` imported led to my confusion.
2021-07-15 20:36:28 +0200 <boxscape> yeah, that's understandable
2021-07-15 20:37:15 +0200 <boxscape> (btw, you can only import qualified, not export qualified, though I believe there are some proposals around to allow something like that)
2021-07-15 20:40:31 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds)
2021-07-15 20:44:12 +0200azeem(~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-07-15 20:44:37 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-15 20:44:51 +0200 <flareon> boxscape: i see.
2021-07-15 20:45:04 +0200machinedgod(~machinedg@24.105.81.50)
2021-07-15 20:46:21 +0200azeem(~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it)
2021-07-15 20:47:36 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-07-15 20:47:40 +0200 <lechner> Hi, in order to avoid overlaps with accessors (which are in the global name space) I place JSON definitions in dedicated files named after the type, but referencing the type then results in repetition, as in Task.Task. Is there another way?
2021-07-15 20:47:47 +0200flareon(~flareon@117.222.66.126) (Quit: leaving)
2021-07-15 20:48:38 +0200 <boxscape> lechner: have one qualified import statement for the functions in the module and one just importing the type, as in `import Foo.Bar.Task (Task(..))`
2021-07-15 20:48:54 +0200 <boxscape> in addition to `import qualified Foo.Bar.Task as Task`
2021-07-15 20:49:03 +0200 <boxscape> (afk)
2021-07-15 20:50:58 +0200 <boxscape> or the first one should probably be `import Foo.Bar.Task (Task)` if you don't want to import the constructors unqualified
2021-07-15 20:51:26 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es)
2021-07-15 20:55:00 +0200themc47(~mc47@xmonad/TheMC47) (Ping timeout: 252 seconds)
2021-07-15 20:56:24 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Quit: ZNC 1.8.2 - https://znc.in)
2021-07-15 20:56:41 +0200 <tomsmeding> yeah, 'import qualified Data.Map.Strict as Map; import Data.Map.Strict (Map)' is quite a common pattern
2021-07-15 21:02:40 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2)
2021-07-15 21:02:52 +0200 <dminuoso> {-# LANGUAGE UnqualifiedTypeConstructors #-} could be a thing!
2021-07-15 21:03:25 +0200 <[exa]> lechner: it's also a quite common practice to name the accessors prefixed with the type; such as `taskName` and `taskType` etc
2021-07-15 21:03:33 +0200 <dminuoso> That language extension would do a very minimal thing and expose all qualified type constructors as unqualified too.
2021-07-15 21:03:40 +0200dminuosoidly wonders whether someone else has thought of this before
2021-07-15 21:05:29 +0200 <[exa]> dminuoso: that sounds so cool that I really expect a finished list of things that it would break in ghc gitlab
2021-07-15 21:05:53 +0200 <lechner> boxscape tomsmeding [exa]: that worked well. thanks!
2021-07-15 21:07:10 +0200 <boxscape> dminuoso: I believe this is intended to solve the same problem with a different approach (more expressive export lists) https://github.com/goldfirere/ghc-proposals/blob/local-modules/proposals/0000-local-modules.rst
2021-07-15 21:07:31 +0200 <dminuoso> [exa]: Well, it doesn't really change language semantics. It seems, that files with a bunch of imports you just more easily get ambiguities.
2021-07-15 21:07:57 +0200haykam2(~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-07-15 21:08:08 +0200 <tomsmeding> dminuoso: that sounds a bit too heavy-handed; it might work well when only importing container-like modules, but what if I have two modules that both define an Event data type and I resolve the ambiguity by importing them both qualified?
2021-07-15 21:08:10 +0200haykam1(~haykam@static.100.2.21.65.clients.your-server.de)
2021-07-15 21:08:29 +0200 <tomsmeding> I guess then I should just not use that extension in said module :D
2021-07-15 21:08:32 +0200 <dminuoso> tomsmeding: Then refer to them with the qualifier.
2021-07-15 21:08:37 +0200 <boxscape> tomsmeding: that wouldn't bite you until you actually tried to use Event unqualified
2021-07-15 21:08:38 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
2021-07-15 21:08:42 +0200Deide(~Deide@217.155.19.23)
2021-07-15 21:08:42 +0200Deide(~Deide@217.155.19.23) (Changing host)
2021-07-15 21:08:42 +0200Deide(~Deide@user/deide)
2021-07-15 21:08:44 +0200 <tomsmeding> hm, right
2021-07-15 21:08:46 +0200 <dminuoso> Im not suggesting the type constructor would *only* be exposed unqualified. But in addition
2021-07-15 21:08:53 +0200bgamari(~bgamari@72.65.101.148) (Ping timeout: 258 seconds)
2021-07-15 21:09:04 +0200 <tomsmeding> that then begs the question, why only type constructors
2021-07-15 21:09:24 +0200 <dminuoso> Because that would suit my personal usage pattern.
2021-07-15 21:09:29 +0200 <tomsmeding> :p
2021-07-15 21:09:43 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-15 21:10:12 +0200 <dminuoso> Let's face it, the only reason people put in so much energy into GHC proposals, is because they have some personal interest (for whatever reason) in them. :p
2021-07-15 21:10:34 +0200 <boxscape> you could also imagine having two import lists for qualified import statements, one for qualified imports and one for unqualified
2021-07-15 21:10:48 +0200bgamari(~bgamari@72.65.101.148)
2021-07-15 21:11:00 +0200 <boxscape> (and some syntactic mechanism that allows you to omit either one or the other)
2021-07-15 21:11:06 +0200 <tomsmeding> perhaps you can make it a bit more generic by instead allowing new import syntax: e.g. 'import Data.Map.Strict (Map) andalsoqualified'
2021-07-15 21:11:11 +0200 <tomsmeding> where that clearly needs a better keyword name
2021-07-15 21:11:26 +0200tomsmedinghigh-fives boxscape
2021-07-15 21:12:00 +0200 <boxscape> tomsmeding: how about `import Data.Map.Strict (Map) qualified (fromList)`, that meshes nicely with -XImportQualifiedPost
2021-07-15 21:12:10 +0200 <dminuoso> Uh
2021-07-15 21:12:16 +0200 <dminuoso> boxscape: That reads horrible!
2021-07-15 21:12:21 +0200 <boxscape> :(
2021-07-15 21:12:22 +0200 <boxscape> okay
2021-07-15 21:12:24 +0200 <tomsmeding> `import Data.Map.Strict (Map) qualified as Map`?
2021-07-15 21:12:25 +0200 <dminuoso> So the things to the left hand side are qualified?
2021-07-15 21:12:43 +0200 <boxscape> I did kind of forget about the as part you usually have for that import
2021-07-15 21:12:43 +0200 <tomsmeding> yeah this syntax reads completely ambiguous :p
2021-07-15 21:12:47 +0200 <boxscape> dminuoso: I would have said the things on the right :P
2021-07-15 21:12:51 +0200 <boxscape> but fair enough
2021-07-15 21:13:15 +0200 <dminuoso> boxscape: Plus, that defeats the entire point of ImportQualifiedPost in the first place. :P
2021-07-15 21:13:16 +0200 <tomsmeding> can you then also have ImportQualifiedPostPost that allows `import Data.Map.Strict (Map) (fromList) qualified`
2021-07-15 21:13:24 +0200 <boxscape> dminuoso: that is a good point
2021-07-15 21:13:52 +0200 <tomsmeding> reeks of () => () => from pattern synonyms
2021-07-15 21:13:58 +0200 <boxscape> tomsmeding: what I liked about what I wrote is that it allows you to omit either import list in a syntactically lightweight way
2021-07-15 21:14:13 +0200 <boxscape> which you can't have if the import lists are juxtaposed
2021-07-15 21:14:16 +0200 <[exa]> dminuoso: what about `import Some.Module (data)` ?
2021-07-15 21:14:49 +0200 <tomsmeding> boxscape: the PostPost part was jesting :p
2021-07-15 21:15:03 +0200 <boxscape> I did kind of expect that :)
2021-07-15 21:15:05 +0200 <tomsmeding> [exa]: `import Some.Module (Map)` is shorter :p
2021-07-15 21:15:20 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Read error: Connection reset by peer)
2021-07-15 21:15:20 +0200 <dminuoso> https://github.com/ghc-proposals/ghc-proposals/pull/340
2021-07-15 21:15:34 +0200o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Remote host closed the connection)
2021-07-15 21:15:36 +0200 <dminuoso> So this is in a similar design space
2021-07-15 21:15:46 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-15 21:16:54 +0200 <boxscape> the current proposal that replaced that is https://github.com/ghc-proposals/ghc-proposals/pull/270 which allows `import Data.Proxy type qualified as T`
2021-07-15 21:18:01 +0200 <tomsmeding> dminuoso: that proposal feels forced, kind of?
2021-07-15 21:18:21 +0200 <tomsmeding> especially when it starts talking about importing from an alias
2021-07-15 21:18:21 +0200 <dminuoso> Forced?
2021-07-15 21:19:06 +0200 <tomsmeding> will there always be just two categories of names
2021-07-15 21:19:26 +0200 <dminuoso> Well, actually this proposal gives a solution
2021-07-15 21:19:28 +0200 <dminuoso> Since you can do:
2021-07-15 21:19:45 +0200 <dminuoso> import qualified Data.Map.Strict as (_, M)
2021-07-15 21:19:59 +0200 <dminuoso> This proposal has my attention now. :)
2021-07-15 21:20:34 +0200 <tomsmeding> that wouldn't import the value names at all, right? Just the type names
2021-07-15 21:20:42 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 255 seconds)
2021-07-15 21:20:45 +0200 <dminuoso> boxscape: Ah.
2021-07-15 21:20:58 +0200 <dminuoso> tomsmeding: The proposal has actually been closed in favour of 270
2021-07-15 21:21:03 +0200 <tomsmeding> or did you mean (M, _), in which case you still need another import for the Map type -- and at two imports you aren't better than the status quo
2021-07-15 21:21:21 +0200 <dminuoso> tomsmeding: In the proposal 340 that symtax would mean data level things unqualified, and type level things qualified under M
2021-07-15 21:21:47 +0200tomsmedingread it as data level things not at all, but I probably read wrong
2021-07-15 21:21:57 +0200 <dminuoso> But at the end, I dont have strong feelings about syntax around import.
2021-07-15 21:22:08 +0200 <dminuoso> Double importing is a slight nuissance, but nothing that really changes the way I write code
2021-07-15 21:22:17 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-15 21:22:22 +0200 <tomsmeding> also I kind of think importing should not be the complex part of the language
2021-07-15 21:22:40 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net)
2021-07-15 21:22:43 +0200 <tomsmeding> double-importing Map takes two lines but is quite clear in what it does
2021-07-15 21:22:56 +0200Guest984(~Guest9@43.241.144.126) (Quit: Connection closed)
2021-07-15 21:23:52 +0200 <dminuoso> tomsmeding: Im not sure, phadej's most recent proposal about renaming has some merit.
2021-07-15 21:24:08 +0200 <dminuoso> Much of our module code is concerned with naming things, binding values to *names*
2021-07-15 21:24:08 +0200Null_A(~null_a@2601:645:8700:2290:f850:a5d3:841d:88de)
2021-07-15 21:24:21 +0200 <dminuoso> It stands to reason that we get at least a slight bit of control when we bring identifiers into scope from other modules.
2021-07-15 21:24:38 +0200 <dminuoso> (Or, rather, we bind expressions to names)
2021-07-15 21:25:38 +0200 <tomsmeding> hm, true
2021-07-15 21:28:17 +0200 <tomsmeding> dminuoso: which proposal is that, that you're referring to?
2021-07-15 21:28:58 +0200 <dminuoso> https://github.com/ghc-proposals/ghc-proposals/pull/408
2021-07-15 21:29:15 +0200 <tomsmeding> heh
2021-07-15 21:29:23 +0200 <tomsmeding> looks like backpack
2021-07-15 21:29:38 +0200 <yushyin> mixins?
2021-07-15 21:29:47 +0200 <tomsmeding> yeah
2021-07-15 21:29:53 +0200 <tomsmeding> just reminds me of that
2021-07-15 21:30:08 +0200 <EvanR> arkanoid: division by integer zero seems to be better handled as one of these things you probe to be impossible, if it happens anyway, throw an exception and fix the bug
2021-07-15 21:30:09 +0200 <tomsmeding> dminuoso: the first two code blocks under Motivation are the same :p
2021-07-15 21:30:17 +0200 <EvanR> prove*
2021-07-15 21:30:29 +0200 <tomsmeding> OH they aren't
2021-07-15 21:30:31 +0200 <dminuoso> newtype Fix = Fix { unFix :: f (Fix a) }
2021-07-15 21:30:33 +0200 <dminuoso> newtype Fix = Fix { unfix :: f (Fix a) }
2021-07-15 21:30:36 +0200 <tomsmeding> yes
2021-07-15 21:31:28 +0200shane_shane
2021-07-15 21:32:18 +0200 <EvanR> proving values can't be zero is out of scope of monads
2021-07-15 21:32:43 +0200 <EvanR> e.g. there's dependent types, or liquid types, or something like this
2021-07-15 21:33:38 +0200 <tomsmeding> dminuoso: I like that renaming proposal I think
2021-07-15 21:33:58 +0200 <tomsmeding> it's pretty inconsequential, which is good
2021-07-15 21:35:02 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-07-15 21:35:16 +0200 <tomsmeding> counterpoint to that we should have more control about import identifiers: if all we do is naming things, then it should be easy to figure out what a particular name refers to :p
2021-07-15 21:35:33 +0200 <tomsmeding> s/import identifiers/importing identifiers/
2021-07-15 21:36:22 +0200alx741(~alx741@186.178.109.32) (Ping timeout: 245 seconds)
2021-07-15 21:37:10 +0200gzj(~GZJ0X@199.193.127.138.16clouds.com) (Ping timeout: 252 seconds)
2021-07-15 21:39:36 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-07-15 21:41:52 +0200 <dminuoso> tomsmeding: Btw, when you didn't notice the difference, it reminds me of that error I got:
2021-07-15 21:41:57 +0200 <dminuoso> • No instance for (ParseFields (Nested Common))
2021-07-15 21:41:59 +0200 <dminuoso> instance ParseField (Nested Common) where
2021-07-15 21:42:18 +0200 <tomsmeding> :D
2021-07-15 21:42:19 +0200 <dminuoso> I couldn't believe my eyes for quite a while until I realized what was going on.
2021-07-15 21:42:46 +0200 <tomsmeding> I venture that f vs F is still a bit more subtle in that position, but yes same thing :p
2021-07-15 21:42:47 +0200chexum(~chexum@gateway/tor-sasl/chexum) (Quit: -)
2021-07-15 21:46:41 +0200chexum(~chexum@gateway/tor-sasl/chexum)
2021-07-15 21:48:26 +0200mikail_(~mikail@90.212.77.3)
2021-07-15 21:49:21 +0200alx741(~alx741@181.196.68.89)
2021-07-15 21:50:27 +0200o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt)
2021-07-15 21:50:57 +0200mikail(~mikail@90.212.77.3) (Ping timeout: 245 seconds)
2021-07-15 21:52:31 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-07-15 21:52:53 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1)
2021-07-15 21:54:46 +0200o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Ping timeout: 252 seconds)
2021-07-15 21:55:16 +0200pfurla_(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 258 seconds)
2021-07-15 21:57:21 +0200burnsidesLlama(~burnsides@client-8-82.eduroam.oxuni.org.uk) (Remote host closed the connection)
2021-07-15 21:57:57 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-07-15 21:58:39 +0200retroid_(~retro@90.218.175.34)
2021-07-15 22:01:40 +0200xff0x(~xff0x@2001:1a81:5396:d100:2b35:b634:3ed0:60cf)
2021-07-15 22:02:17 +0200retro_(~retro@90.218.175.34) (Ping timeout: 268 seconds)
2021-07-15 22:02:59 +0200retro_(~retro@90.218.175.34)
2021-07-15 22:03:31 +0200retroid_(~retro@90.218.175.34) (Ping timeout: 268 seconds)
2021-07-15 22:05:14 +0200juhp(~juhp@128.106.188.66) (Ping timeout: 258 seconds)
2021-07-15 22:06:03 +0200neceve(~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 250 seconds)
2021-07-15 22:06:45 +0200juhp(~juhp@128.106.188.66)
2021-07-15 22:09:08 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-07-15 22:10:07 +0200hexfive(~eric@50.35.83.177)
2021-07-15 22:12:26 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com)
2021-07-15 22:14:42 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 245 seconds)
2021-07-15 22:17:17 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection)
2021-07-15 22:17:27 +0200o1lo01ol1o(~o1lo01ol1@bl11-109-140.dsl.telepac.pt)
2021-07-15 22:17:55 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-15 22:19:06 +0200KUrare(~KUrare@user/kurare)
2021-07-15 22:22:26 +0200burnside_(~burnsides@dhcp168-025.wadham.ox.ac.uk)
2021-07-15 22:22:26 +0200burnsidesLlama(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Read error: Connection reset by peer)
2021-07-15 22:23:59 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
2021-07-15 22:24:56 +0200Lycurgus(~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
2021-07-15 22:25:10 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds)
2021-07-15 22:26:00 +0200prite(~pritam@user/pritambaral) (Quit: Konversation terminated!)
2021-07-15 22:27:06 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.2)
2021-07-15 22:29:02 +0200 <stevenxl> Is there a function that tests that the elements in a list are equal w/o regard to order?
2021-07-15 22:29:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-07-15 22:29:26 +0200 <Rembane> stevenxl: f x = x == sort x
2021-07-15 22:29:31 +0200 <stevenxl> I guess I could use `all [x `elem` xs]` or something
2021-07-15 22:29:32 +0200Vajb(~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-15 22:29:46 +0200Obo(~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 265 seconds)
2021-07-15 22:29:49 +0200 <stevenxl> That's probably a better implementation!
2021-07-15 22:31:23 +0200burnside_(~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection)
2021-07-15 22:33:03 +0200 <EvanR> if it's a large number of elements... maybe a different data structure... Data.Set ?
2021-07-15 22:33:58 +0200safinaskar(~user@109-252-90-89.nat.spd-mgts.ru)
2021-07-15 22:34:01 +0200zeenk(~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) (Quit: Konversation terminated!)
2021-07-15 22:35:05 +0200 <safinaskar> i'm very frustrated. Nearly week ago i released some haskell code and nearly nobody answered me!
2021-07-15 22:35:09 +0200 <safinaskar> here is link: https://mail.haskell.org/pipermail/haskell-cafe/2021-July/134217.html
2021-07-15 22:35:16 +0200 <safinaskar> also check two hackage links at the end
2021-07-15 22:37:50 +0200mcglk(~mcglk@131.191.49.120) (Read error: Connection reset by peer)
2021-07-15 22:37:51 +0200mcglk_(~mcglk@131.191.49.120)
2021-07-15 22:40:57 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-07-15 22:44:36 +0200lavaman(~lavaman@98.38.249.169)
2021-07-15 22:45:32 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1)
2021-07-15 22:48:19 +0200 <maerwald> did you post on reddig?
2021-07-15 22:48:58 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 246 seconds)
2021-07-15 22:49:16 +0200 <safinaskar> maerwald: no. i am not sure i even registered
2021-07-15 22:49:27 +0200 <maerwald> haskell cafe is for old folks
2021-07-15 22:49:29 +0200 <maerwald> :p
2021-07-15 22:49:48 +0200 <maerwald> discourse is a bit quiet as well. I think reddit gets the most views
2021-07-15 22:50:09 +0200 <EvanR> there's also functional programming discord, I heard
2021-07-15 22:50:29 +0200 <maerwald> but then you have to hang out with the scala folks...
2021-07-15 22:50:43 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds)
2021-07-15 22:51:12 +0200 <EvanR> likely some scala zed going on there at least xD
2021-07-15 22:54:25 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Ping timeout: 265 seconds)
2021-07-15 22:54:25 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se) (Ping timeout: 265 seconds)
2021-07-15 22:54:55 +0200ubikium(~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099)
2021-07-15 22:55:22 +0200ubikium(~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099) (Read error: Connection reset by peer)
2021-07-15 22:55:35 +0200ubikium(~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net)
2021-07-15 22:57:51 +0200acidjnk_new3(~acidjnk@p200300d0c72b951301624b1129165e7b.dip0.t-ipconnect.de)
2021-07-15 22:59:44 +0200elf_fortrez(~elf_fortr@adsl-72-50-4-118.prtc.net)
2021-07-15 23:03:30 +0200fresheyeball(~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
2021-07-15 23:03:36 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-07-15 23:06:01 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds)
2021-07-15 23:07:09 +0200 <stevenxl> There was talk at the Haskell.Foundation about it hosting some kind of forum, but seems like our small community is already fractured.
2021-07-15 23:07:33 +0200 <stevenxl> You get into that XKCD standards comic territory
2021-07-15 23:08:19 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1)
2021-07-15 23:08:22 +0200benin0369(~benin@183.82.177.180) (Remote host closed the connection)
2021-07-15 23:09:38 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-07-15 23:10:09 +0200chisui(~chisui@200116b866e14b00954b747ecb7b95bf.dip.versatel-1u1.de)
2021-07-15 23:12:33 +0200jneira_(~jneira_@28.red-80-28-169.staticip.rima-tde.net)
2021-07-15 23:13:42 +0200 <chisui> Hey, what is the difference between `Data.Category.Kleisli` from base and `Data.Profunctor.Types.Star` from profunctors? As far as I can see they do the exact same.
2021-07-15 23:13:57 +0200 <maerwald> stevenxl: isn't that discourse?
2021-07-15 23:14:28 +0200 <stevenxl> maerwald: No I think they decided against adding to the list of "Haskell communities".
2021-07-15 23:14:43 +0200 <Hecate> We don't have another forum
2021-07-15 23:14:49 +0200 <Hecate> We post everything on Discourse
2021-07-15 23:15:13 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds)
2021-07-15 23:15:19 +0200 <Hecate> we also have a Slack for ephemeral, real-time comms, but no archives, so everything ends up being an email and a Discourse post
2021-07-15 23:15:30 +0200 <safinaskar> stevenxl: i don't want to go to reddit, because i don't want to register
2021-07-15 23:15:47 +0200 <safinaskar> stevenxl: so, i will not go to any hypotetical new forum for the same reason
2021-07-15 23:16:00 +0200 <stevenxl> sounds good.
2021-07-15 23:16:04 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1)
2021-07-15 23:16:23 +0200 <safinaskar> stevenxl: if there is possibility to post to forum using e-mail and automatically get answers via e-mail, i will happily write to that new hypotetical forum
2021-07-15 23:17:09 +0200 <Hecate> safinaskar: that's called a mailing-list but you also need to register :P
2021-07-15 23:17:32 +0200michalz(~michalz@185.246.204.50) (Remote host closed the connection)
2021-07-15 23:21:59 +0200Codaraxis(~Codaraxis@user/codaraxis) (Remote host closed the connection)
2021-07-15 23:22:22 +0200Codaraxis(~Codaraxis@user/codaraxis)
2021-07-15 23:22:27 +0200Ariakenom(~Ariakenom@c83-255-154-140.bredband.tele2.se)
2021-07-15 23:23:08 +0200azeem(~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-07-15 23:28:26 +0200Null_A(~null_a@2601:645:8700:2290:f850:a5d3:841d:88de) (Remote host closed the connection)
2021-07-15 23:29:03 +0200Null_A(~null_a@2601:645:8700:2290:f850:a5d3:841d:88de)
2021-07-15 23:34:07 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds)
2021-07-15 23:35:10 +0200elf_fortrez(~elf_fortr@adsl-72-50-4-118.prtc.net) (Ping timeout: 246 seconds)
2021-07-15 23:39:01 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1)
2021-07-15 23:39:11 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-15 23:40:23 +0200Null_A(~null_a@2601:645:8700:2290:f850:a5d3:841d:88de) (Remote host closed the connection)
2021-07-15 23:41:33 +0200Null_A(~null_a@2601:645:8700:2290:f850:a5d3:841d:88de)
2021-07-15 23:45:39 +0200TranquilEcho(~grom@user/tranquilecho)
2021-07-15 23:45:40 +0200Null_A(~null_a@2601:645:8700:2290:f850:a5d3:841d:88de) (Ping timeout: 246 seconds)
2021-07-15 23:46:01 +0200roboto_el_gato(~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds)
2021-07-15 23:46:19 +0200 <dibblego> chisui: the Profunctor instance for Star is less constrained
2021-07-15 23:46:44 +0200fendor(~fendor@178.165.161.174.wireless.dyn.drei.com) (Remote host closed the connection)
2021-07-15 23:47:56 +0200Raugh(~mike@174.127.249.180)
2021-07-15 23:48:45 +0200hpc(~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 255 seconds)
2021-07-15 23:49:10 +0200 <chisui> dibblego: where is it less constrained? When looking at their instances they both look the same.
2021-07-15 23:50:03 +0200 <dibblego> Functor f => Profunctor (Star f) | Monad m => Profunctor (Kleisli m)
2021-07-15 23:50:30 +0200 <chisui> Ah ok, thank you
2021-07-15 23:51:23 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-15 23:54:51 +0200 <chisui> looking at the implementations the only difference is that they exchange `liftM` with `fmap`, but aren't these equivalent? (for as long as the Functor is also a Monad)
2021-07-15 23:55:21 +0200hpc(~juzz@ip98-169-35-13.dc.dc.cox.net)
2021-07-15 23:56:24 +0200 <dibblego> yes the implementation is the same
2021-07-15 23:56:37 +0200 <dibblego> there may be a more detailed reason, edwardk ?
2021-07-15 23:59:44 +0200 <Raugh> I'm trying to wrap my head around transformers and scotty. Why is this using a runReaterT (runConfigM m) config I don't get what def is doing here either
2021-07-15 23:59:52 +0200 <Raugh> https://github.com/scotty-web/scotty/blob/master/examples/reader.hs