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 +0200 | ubert | (~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 +0200 | benin0369 | (~benin@183.82.176.17) |
2021-07-15 00:05:42 +0200 | Topsi | (~Tobias@dyndsl-095-033-020-123.ewe-ip-backbone.de) (Ping timeout: 268 seconds) |
2021-07-15 00:06:55 +0200 | pavonia | (~user@user/siracusa) |
2021-07-15 00:14:24 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 255 seconds) |
2021-07-15 00:14:38 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 00:14:57 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection) |
2021-07-15 00:15:11 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
2021-07-15 00:17:06 +0200 | merijn | (~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 +0200 | finsternis | (~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 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-07-15 00:24:13 +0200 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Remote host closed the connection) |
2021-07-15 00:29:47 +0200 | jumper149 | (~jumper149@80.240.31.34) (Quit: WeeChat 3.2) |
2021-07-15 00:30:41 +0200 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) |
2021-07-15 00:30:43 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 258 seconds) |
2021-07-15 00:31:14 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 00:33:38 +0200 | lbseale | (~lbseale@user/ep1ctetus) (Quit: Client closed) |
2021-07-15 00:34:54 +0200 | lbseale | (~lbseale@user/ep1ctetus) |
2021-07-15 00:43:38 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-07-15 00:44:06 +0200 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 255 seconds) |
2021-07-15 00:44:11 +0200 | zebrag | (~chris@user/zebrag) (Quit: Konversation terminated!) |
2021-07-15 00:44:30 +0200 | zebrag | (~chris@user/zebrag) |
2021-07-15 00:45:57 +0200 | Guest239 | (~Guest23@50.47.115.102) (Quit: Client closed) |
2021-07-15 00:46:28 +0200 | Atum_ | (IRC@user/atum/x-2392232) (Quit: Atum_) |
2021-07-15 00:46:32 +0200 | hpc | (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 255 seconds) |
2021-07-15 00:46:48 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 255 seconds) |
2021-07-15 00:48:09 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 265 seconds) |
2021-07-15 00:48:26 +0200 | hpc | (~juzz@ip98-169-35-13.dc.dc.cox.net) |
2021-07-15 00:48:57 +0200 | fendor | (~fendor@77.119.210.250.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-07-15 00:49:21 +0200 | pesada | (~agua@2804:18:4f:750a:1:0:192e:7017) |
2021-07-15 00:49:47 +0200 | justache | (~justache@user/justache) (Excess Flood) |
2021-07-15 00:50:32 +0200 | justache | (~justache@user/justache) |
2021-07-15 00:51:47 +0200 | agua | (~agua@2804:14c:8793:8e2f:d158:60e:567f:c699) (Ping timeout: 245 seconds) |
2021-07-15 00:52:01 +0200 | cheater1__ | (~Username@user/cheater) |
2021-07-15 00:52:16 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 272 seconds) |
2021-07-15 00:52:16 +0200 | Atum_ | (IRC@user/atum/x-2392232) |
2021-07-15 00:52:24 +0200 | cheater1__ | cheater |
2021-07-15 00:53:54 +0200 | favonia | (~favonia@user/favonia) |
2021-07-15 00:53:57 +0200 | chomwitt | (~Pitsikoko@ppp-94-67-202-202.home.otenet.gr) (Remote host closed the connection) |
2021-07-15 00:54:05 +0200 | o1lo01ol1o | (~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Remote host closed the connection) |
2021-07-15 00:55:19 +0200 | PungentCheese | (~PungentCh@x527179fa.dyn.telefonica.de) |
2021-07-15 00:56:19 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-07-15 00:59:54 +0200 | Atum_ | (IRC@user/atum/x-2392232) (Quit: Atum_) |
2021-07-15 01:13:01 +0200 | agua | (~agua@2804:14c:8793:8e2f:d158:60e:567f:c699) |
2021-07-15 01:16:46 +0200 | pesada | (~agua@2804:18:4f:750a:1:0:192e:7017) (Ping timeout: 246 seconds) |
2021-07-15 01:19:06 +0200 | favonia | (~favonia@user/favonia) (Remote host closed the connection) |
2021-07-15 01:19:56 +0200 | favonia | (~favonia@user/favonia) |
2021-07-15 01:20:41 +0200 | ubikium | (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) |
2021-07-15 01:22:29 +0200 | dajoer | (~david@user/gvx) |
2021-07-15 01:27:13 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection) |
2021-07-15 01:27:31 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-07-15 01:28:19 +0200 | acidjnk_new3 | (~acidjnk@p200300d0c72b9516b9158842f1cb7e92.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2021-07-15 01:30:02 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2021-07-15 01:30:26 +0200 | chexum | (~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 +0200 | Solarion | (~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 +0200 | waleee | (~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 +0200 | waleee | (~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 +0200 | drd | (~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 +0200 | o1lo01ol1o | (~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 +0200 | o1lo01ol1o | (~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Ping timeout: 255 seconds) |
2021-07-15 01:49:43 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) (Ping timeout: 244 seconds) |
2021-07-15 01:50:15 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 255 seconds) |
2021-07-15 01:50:36 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 01:51:14 +0200 | pesada | (~agua@2804:18:4f:750a:1:0:192e:7017) |
2021-07-15 01:52:41 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) |
2021-07-15 01:53:00 +0200 | agua | (~agua@2804:14c:8793:8e2f:d158:60e:567f:c699) (Read error: Connection reset by peer) |
2021-07-15 01:53:04 +0200 | Core6260 | (~agua@2804:14c:8793:8e2f:d158:60e:567f:c699) |
2021-07-15 01:53:46 +0200 | Null_A | (~null_a@2601:645:8700:2290:3dcd:98af:2801:58da) |
2021-07-15 01:54:10 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-07-15 01:54:20 +0200 | spruit11_ | (~quassel@2a02:a467:ccd6:1:4852:6669:da0c:37fe) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-07-15 01:54:37 +0200 | spruit11 | (~quassel@2a02:a467:ccd6:1:4852:6669:da0c:37fe) |
2021-07-15 01:55:50 +0200 | pesada | (~agua@2804:18:4f:750a:1:0:192e:7017) (Ping timeout: 255 seconds) |
2021-07-15 01:57:38 +0200 | Core6260 | (~agua@2804:14c:8793:8e2f:d158:60e:567f:c699) (Ping timeout: 255 seconds) |
2021-07-15 02:01:33 +0200 | danso | (~danso@23-233-111-52.cpe.pppoe.ca) (Read error: Connection reset by peer) |
2021-07-15 02:02:00 +0200 | danso | (~danso@23-233-111-52.cpe.pppoe.ca) |
2021-07-15 02:02:51 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 255 seconds) |
2021-07-15 02:03:10 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 02:05:00 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 265 seconds) |
2021-07-15 02:05:42 +0200 | agua | (~agua@2804:18:4f:750a:1:0:192e:7017) |
2021-07-15 02:13:20 +0200 | silverwhitefish | (~hidden@47.202.102.10) (Ping timeout: 272 seconds) |
2021-07-15 02:13:31 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-15 02:15:15 +0200 | pesada | (~agua@2804:14c:8793:8e2f:d158:60e:567f:c699) |
2021-07-15 02:16:30 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 272 seconds) |
2021-07-15 02:16:39 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer) |
2021-07-15 02:16:44 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 02:18:02 +0200 | agua | (~agua@2804:18:4f:750a:1:0:192e:7017) (Ping timeout: 245 seconds) |
2021-07-15 02:21:23 +0200 | keutoi | (~keutoi@157.48.221.108) |
2021-07-15 02:21:35 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-07-15 02:22:12 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds) |
2021-07-15 02:22:24 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection) |
2021-07-15 02:22:47 +0200 | Null_A | (~null_a@2601:645:8700:2290:3dcd:98af:2801:58da) () |
2021-07-15 02:24:11 +0200 | pesada | (~agua@2804:14c:8793:8e2f:d158:60e:567f:c699) (Ping timeout: 255 seconds) |
2021-07-15 02:33:20 +0200 | agua | (~agua@2804:18:4f:750a:1:0:192e:7017) |
2021-07-15 02:37:59 +0200 | mnrmnaugh | awk |
2021-07-15 02:41:09 +0200 | awk | mnrmnaugh |
2021-07-15 02:42:56 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-07-15 02:44:00 +0200 | lbseale | (~lbseale@user/ep1ctetus) (Quit: Client closed) |
2021-07-15 02:47:51 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds) |
2021-07-15 02:48:48 +0200 | hegstal | (~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 +0200 | silverwhitefish | (~hidden@47.202.102.10) |
2021-07-15 02:52:50 +0200 | Deide | (~Deide@user/deide) (Quit: Seeee yaaaa) |
2021-07-15 02:53:08 +0200 | jneira_ | (~jneira_@28.red-80-28-169.staticip.rima-tde.net) (Quit: Connection closed) |
2021-07-15 02:54:12 +0200 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) (Remote host closed the connection) |
2021-07-15 02:54:35 +0200 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) |
2021-07-15 03:00:16 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2021-07-15 03:00:29 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2021-07-15 03:06:21 +0200 | bontaq | (~user@ool-18e47f8d.dyn.optonline.net) |
2021-07-15 03:07:13 +0200 | ukari | (~ukari@user/ukari) (Remote host closed the connection) |
2021-07-15 03:08:15 +0200 | pesada | (~agua@2804:18:48:1eaf:1:0:1d0b:6be0) |
2021-07-15 03:08:24 +0200 | ukari | (~ukari@user/ukari) |
2021-07-15 03:09:48 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 258 seconds) |
2021-07-15 03:10:10 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 03:11:26 +0200 | agua | (~agua@2804:18:4f:750a:1:0:192e:7017) (Ping timeout: 255 seconds) |
2021-07-15 03:11:32 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-07-15 03:12:06 +0200 | waleee | (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 258 seconds) |
2021-07-15 03:12:40 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-07-15 03:14:06 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-07-15 03:19:22 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2021-07-15 03:19:41 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 03:21:34 +0200 | Gurkenglas_ | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
2021-07-15 03:23:11 +0200 | ishutin_ | (~ishutin@85-238-93-30.pool.digikabel.hu) |
2021-07-15 03:23:12 +0200 | silverwhitefish | (~hidden@47.202.102.10) (Quit: One for all, all for One (2 Corinthians 5)) |
2021-07-15 03:25:53 +0200 | ishutin | (~ishutin@87-97-88-250.pool.digikabel.hu) (Ping timeout: 252 seconds) |
2021-07-15 03:27:40 +0200 | xff0x | (~xff0x@2001:1a81:5355:ca00:f556:f8e3:c42f:ffef) (Ping timeout: 246 seconds) |
2021-07-15 03:29:35 +0200 | xff0x | (~xff0x@2001:1a81:5396:d100:b9ea:2990:3a98:f09b) |
2021-07-15 03:31:52 +0200 | nate1 | (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
2021-07-15 03:35:11 +0200 | ellie | (~ellie@user/ellie) (Read error: Connection reset by peer) |
2021-07-15 03:35:31 +0200 | ellie | (~ellie@user/ellie) |
2021-07-15 03:35:44 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 255 seconds) |
2021-07-15 03:36:19 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 03:37:28 +0200 | anhnt | (~anhnt@2405:4802:342:1550:454d:510c:cbdb:1c59) |
2021-07-15 03:38:15 +0200 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) (Ping timeout: 255 seconds) |
2021-07-15 03:38:22 +0200 | neurocyte7 | (~neurocyte@45.93.111.131) |
2021-07-15 03:38:22 +0200 | neurocyte7 | (~neurocyte@45.93.111.131) (Changing host) |
2021-07-15 03:38:22 +0200 | neurocyte7 | (~neurocyte@user/neurocyte) |
2021-07-15 03:41:15 +0200 | beka | (~beka@104.193.170-244.PUBLIC.monkeybrains.net) |
2021-07-15 03:42:00 +0200 | neurocyte | (~neurocyte@user/neurocyte) (Ping timeout: 258 seconds) |
2021-07-15 03:42:00 +0200 | neurocyte7 | neurocyte |
2021-07-15 03:44:42 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 245 seconds) |
2021-07-15 03:49:17 +0200 | silverwhitefish | (~hidden@47.202.102.10) |
2021-07-15 03:51:44 +0200 | silverwhitefish | (~hidden@47.202.102.10) (Client Quit) |
2021-07-15 03:52:59 +0200 | silverwhitefish | (~hidden@47.202.102.10) |
2021-07-15 03:55:31 +0200 | ack_inc | (~anirudh@2405:201:4010:7065:681c:bac8:1e93:82d9) |
2021-07-15 03:55:48 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 258 seconds) |
2021-07-15 03:56:42 +0200 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 255 seconds) |
2021-07-15 03:57:07 +0200 | Morrow | (~Morrow@bzq-110-168-31-106.red.bezeqint.net) |
2021-07-15 03:58:11 +0200 | hrnz | (~ulli@irc.plumbing) (Quit: das ist mir zu bld hier; bb) |
2021-07-15 03:58:29 +0200 | hrnz | (~ulli@irc.plumbing) |
2021-07-15 04:00:38 +0200 | cheater1__ | (~Username@user/cheater) |
2021-07-15 04:02:06 +0200 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 255 seconds) |
2021-07-15 04:02:33 +0200 | s_ | (~s@50.34.81.185) |
2021-07-15 04:02:45 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-07-15 04:02:56 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2021-07-15 04:06:12 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 04:06:36 +0200 | cheater1__ | (~Username@user/cheater) (Ping timeout: 255 seconds) |
2021-07-15 04:07:51 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-07-15 04:10:43 +0200 | cheater1__ | (~Username@user/cheater) |
2021-07-15 04:11:17 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 255 seconds) |
2021-07-15 04:11:27 +0200 | cheater1__ | cheater |
2021-07-15 04:16:53 +0200 | td_ | (~td@muedsl-82-207-238-063.citykom.de) (Ping timeout: 258 seconds) |
2021-07-15 04:18:31 +0200 | td_ | (~td@94.134.91.92) |
2021-07-15 04:18:36 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2021-07-15 04:18:36 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (cadmium.libera.chat (Nickname regained by services))) |
2021-07-15 04:18:36 +0200 | finn_elija | FinnElija |
2021-07-15 04:20:01 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Read error: Connection reset by peer) |
2021-07-15 04:20:13 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-07-15 04:24:42 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 268 seconds) |
2021-07-15 04:31:21 +0200 | ubikium | (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Ping timeout: 255 seconds) |
2021-07-15 04:31:59 +0200 | ubikium | (~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099) |
2021-07-15 04:32:18 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-07-15 04:34:15 +0200 | roboto_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 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-07-15 04:39:53 +0200 | hrnz | (~ulli@irc.plumbing) (Quit: das ist mir zu bld hier; bb) |
2021-07-15 04:40:21 +0200 | hrnz | (~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 +0200 | ubikium | (~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099) (Read error: Connection reset by peer) |
2021-07-15 04:42:09 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 255 seconds) |
2021-07-15 04:42:20 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds) |
2021-07-15 04:43:12 +0200 | img | (~img@user/img) |
2021-07-15 04:43:16 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 246 seconds) |
2021-07-15 04:44:08 +0200 | merijn | (~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 +0200 | alx741 | (~alx741@186.178.109.32) (Quit: alx741) |
2021-07-15 04:45:10 +0200 | ubikium | (~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 +0200 | glguy | (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 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 255 seconds) |
2021-07-15 04:55:37 +0200 | roboto_el_gato | (~roboto_el@2600:1700:7df0:4f30:b922:8212:3ad1:17e7) (Quit: Client closed) |
2021-07-15 04:56:11 +0200 | roboto_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 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-07-15 05:00:57 +0200 | machinedgod | (~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 +0200 | glguy | (~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 +0200 | nate1 | (~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 +0200 | bitdex | (~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 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-07-15 05:19:12 +0200 | Erutuon | (~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 +0200 | berberman | (~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 +0200 | berberman | (~berberman@user/berberman) |
2021-07-15 05:21:19 +0200 | <lechner> | sclv: thanks! |
2021-07-15 05:23:17 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 255 seconds) |
2021-07-15 05:23:21 +0200 | cheater1__ | (~Username@user/cheater) |
2021-07-15 05:23:24 +0200 | cheater1__ | cheater |
2021-07-15 05:24:11 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 255 seconds) |
2021-07-15 05:24:37 +0200 | myShoggoth | (~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 +0200 | glguy | (~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 +0200 | glguy | (x@libera/staff/glguy) |
2021-07-15 05:29:35 +0200 | geekosaur | (~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 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-07-15 05:31:40 +0200 | myShoggoth | (~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 +0200 | zebrag | (~chris@user/zebrag) (Remote host closed the connection) |
2021-07-15 05:37:26 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-07-15 05:42:46 +0200 | roboto_el_gato | (~roboto_el@2600:1700:7df0:4f30:b922:8212:3ad1:17e7) (Ping timeout: 246 seconds) |
2021-07-15 05:42:54 +0200 | berberman | (~berberman@user/berberman) (Ping timeout: 255 seconds) |
2021-07-15 05:43:34 +0200 | berberman | (~berberman@user/berberman) |
2021-07-15 05:44:47 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2021-07-15 05:44:55 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2021-07-15 05:45:06 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 05:46:10 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-07-15 05:52:13 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 246 seconds) |
2021-07-15 05:52:28 +0200 | roboto_el_gato | (~roboto_el@2600:1700:7df0:4f30:b922:8212:3ad1:17e7) |
2021-07-15 05:52:28 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 272 seconds) |
2021-07-15 05:52:55 +0200 | cheater | (~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 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 05:56:03 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-07-15 05:59:40 +0200 | wwalker | (~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 +0200 | wwalker | (~wwalker@45.146.55.219) |
2021-07-15 06:05:08 +0200 | wwalker | (~wwalker@45.146.55.219) (Remote host closed the connection) |
2021-07-15 06:05:08 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 255 seconds) |
2021-07-15 06:08:09 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-07-15 06:15:50 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-07-15 06:19:49 +0200 | Guest23 | (~Guest23@50.47.115.102) |
2021-07-15 06:23:08 +0200 | winny | ww |
2021-07-15 06:23:16 +0200 | ww | winny |
2021-07-15 06:26:52 +0200 | beka | (~beka@104.193.170-244.PUBLIC.monkeybrains.net) (Ping timeout: 246 seconds) |
2021-07-15 06:28:16 +0200 | beka | (~beka@104.193.170-244.public.monkeybrains.net) |
2021-07-15 06:29:00 +0200 | ack_inc | (~anirudh@2405:201:4010:7065:681c:bac8:1e93:82d9) (Quit: Leaving.) |
2021-07-15 06:29:23 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2021-07-15 06:29:38 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 06:30:31 +0200 | awth13 | (~user@user/awth13) (Remote host closed the connection) |
2021-07-15 06:31:26 +0200 | wallymathieu | (~wallymath@81-234-151-21-no94.tbcn.telia.com) |
2021-07-15 06:42:40 +0200 | andreas303 | (andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com) |
2021-07-15 06:42:41 +0200 | even4void | (even4void@came.here.for-some.fun) (Quit: fBNC - https://bnc4free.com) |
2021-07-15 06:42:41 +0200 | xacktm | (xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com) |
2021-07-15 06:46:21 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds) |
2021-07-15 06:47:44 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
2021-07-15 06:48:41 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 258 seconds) |
2021-07-15 06:49:57 +0200 | smitop | (~smitop@user/smitop) (Ping timeout: 255 seconds) |
2021-07-15 06:53:50 +0200 | andreas303 | (andreas303@ip227.orange.bnc4free.com) |
2021-07-15 06:54:02 +0200 | ubikium | (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Ping timeout: 265 seconds) |
2021-07-15 06:54:43 +0200 | even4void | (even4void@came.here.for-some.fun) |
2021-07-15 06:54:45 +0200 | ubikium | (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) |
2021-07-15 06:55:17 +0200 | smitop | (~smitop@user/smitop) |
2021-07-15 06:56:21 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 258 seconds) |
2021-07-15 06:58:22 +0200 | roboto_el_gato | (~roboto_el@2600:1700:7df0:4f30:b922:8212:3ad1:17e7) (Ping timeout: 246 seconds) |
2021-07-15 07:01:57 +0200 | xacktm | (xacktm@user/xacktm) |
2021-07-15 07:03:00 +0200 | hpc | (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 255 seconds) |
2021-07-15 07:03:55 +0200 | anandprabhu | (~anandprab@94.202.243.198) |
2021-07-15 07:04:44 +0200 | hpc | (~juzz@ip98-169-35-13.dc.dc.cox.net) |
2021-07-15 07:11:38 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
2021-07-15 07:11:47 +0200 | flukiluke | (~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962) |
2021-07-15 07:14:46 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 252 seconds) |
2021-07-15 07:14:47 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-15 07:16:36 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2021-07-15 07:16:57 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 07:22:48 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
2021-07-15 07:24:37 +0200 | s_ | (~s@50.34.81.185) (Quit: Leaving) |
2021-07-15 07:32:04 +0200 | Gurkenglas_ | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
2021-07-15 07:33:29 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
2021-07-15 07:34:14 +0200 | mcglk | (~mcglk@131.191.49.120) (Quit: (seeya)) |
2021-07-15 07:34:17 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) |
2021-07-15 07:36:39 +0200 | benin03697 | (~benin@183.82.177.180) |
2021-07-15 07:37:15 +0200 | mcglk | (~mcglk@131.191.49.120) |
2021-07-15 07:37:45 +0200 | benin0369 | (~benin@183.82.176.17) (Ping timeout: 258 seconds) |
2021-07-15 07:37:46 +0200 | benin03697 | benin0369 |
2021-07-15 07:38:14 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 252 seconds) |
2021-07-15 07:39:04 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-07-15 07:39:59 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2021-07-15 07:40:22 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2021-07-15 07:43:57 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 255 seconds) |
2021-07-15 07:43:58 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
2021-07-15 07:46:58 +0200 | cheater1__ | (~Username@user/cheater) |
2021-07-15 07:47:06 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 272 seconds) |
2021-07-15 07:47:11 +0200 | cheater1__ | cheater |
2021-07-15 07:47:40 +0200 | mei | (~mei@user/mei) |
2021-07-15 07:49:00 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-07-15 07:51:09 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 255 seconds) |
2021-07-15 07:52:20 +0200 | anandprabhu | (~anandprab@94.202.243.198) (Quit: Leaving) |
2021-07-15 07:53:00 +0200 | chris_ | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-07-15 07:53:42 +0200 | Kaiepi | (~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 +0200 | dunj3 | (~dunj3@2001:16b8:303f:a600:793c:65b7:43fd:f5ca) |
2021-07-15 07:58:41 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 268 seconds) |
2021-07-15 07:58:59 +0200 | prite | (~pritam@user/pritambaral) |
2021-07-15 08:00:09 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-07-15 08:00:32 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
2021-07-15 08:07:12 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-07-15 08:11:38 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2021-07-15 08:11:50 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 08:12:58 +0200 | flukiluke_ | (~flukiluke@168.138.23.5) |
2021-07-15 08:13:04 +0200 | beka | (~beka@104.193.170-244.public.monkeybrains.net) (Ping timeout: 252 seconds) |
2021-07-15 08:13:37 +0200 | flukiluke | (~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Ping timeout: 246 seconds) |
2021-07-15 08:21:05 +0200 | shriekingnoise | (~shrieking@186.137.144.80) (Quit: Quit) |
2021-07-15 08:21:31 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 265 seconds) |
2021-07-15 08:23:02 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer) |
2021-07-15 08:23:03 +0200 | Kaipi | (~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 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-07-15 08:29:15 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2021-07-15 08:29:31 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 08:30:45 +0200 | Kaipi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
2021-07-15 08:30:52 +0200 | Kaiepi | (~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 +0200 | michalz | (~michalz@185.246.204.114) |
2021-07-15 08:39:11 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-07-15 08:41:53 +0200 | Rogach | (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 +0200 | sleym | (~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 +0200 | burnsidesLlama | (~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 +0200 | Kaiepi | (~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 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
2021-07-15 08:57:46 +0200 | fendor | (~fendor@178.165.161.174.wireless.dyn.drei.com) |
2021-07-15 08:58:13 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-07-15 08:58:47 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
2021-07-15 09:00:50 +0200 | sleym | (~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 +0200 | burnsidesLlama | (~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 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-07-15 09:11:22 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2021-07-15 09:11:57 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 09:12:04 +0200 | michalz | (~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 +0200 | burnsidesLlama | (~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 +0200 | burnside_ | (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
2021-07-15 09:17:02 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
2021-07-15 09:17:12 +0200 | chele | (~chele@user/chele) |
2021-07-15 09:21:33 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-07-15 09:24:40 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374) |
2021-07-15 09:25:47 +0200 | gehmehgeh | (~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 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 258 seconds) |
2021-07-15 09:35:46 +0200 | cheater | (~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 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-15 09:46:55 +0200 | jumper149 | (~jumper149@80.240.31.34) |
2021-07-15 09:47:19 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds) |
2021-07-15 09:48:12 +0200 | acidjnk_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 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-07-15 09:52:12 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 255 seconds) |
2021-07-15 09:52:28 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 09:54:05 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
2021-07-15 09:54:05 +0200 | burnside_ | (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
2021-07-15 09:54:26 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-07-15 09:58:08 +0200 | fef | (~thedawn@user/thedawn) |
2021-07-15 09:58:40 +0200 | andrews | (~andrews@user/andrews) |
2021-07-15 09:59:52 +0200 | Kaiepi | (~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 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
2021-07-15 10:01:58 +0200 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
2021-07-15 10:03:06 +0200 | o1lo01ol1o | (~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 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 255 seconds) |
2021-07-15 10:04:49 +0200 | MQ-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 +0200 | favonia | (~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 +0200 | hendursa1 | (~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 +0200 | hendursaga | (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
2021-07-15 10:08:53 +0200 | <andrews> | argh |
2021-07-15 10:09:28 +0200 | wallymathieu | (~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 +0200 | eggplantade | (~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 +0200 | cheater | (~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 +0200 | cheater | (~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 +0200 | eggplantade | (~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 +0200 | eggplantade | (~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 +0200 | hegstal | (~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 +0200 | GIANTWORLDKEEPER | (~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 +0200 | ubert | (~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 +0200 | eggplantade | (~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 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
2021-07-15 10:17:57 +0200 | allbery_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 +0200 | hnOsmium0001 | (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 +0200 | gehmehgeh | (~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 +0200 | gehmehgeh | (~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 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2021-07-15 10:26:42 +0200 | cheater | (~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 +0200 | keutoi | (~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 +0200 | Lord_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 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2021-07-15 10:29:59 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2021-07-15 10:30:05 +0200 | keutoi | (~keutoi@223.237.22.166) |
2021-07-15 10:30:43 +0200 | hexfive | (~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 +0200 | tromp | (~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 +0200 | cheater | (~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 +0200 | cheater | (~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 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds) |
2021-07-15 10:38:57 +0200 | Topsi | (~Tobias@dyndsl-095-033-090-054.ewe-ip-backbone.de) |
2021-07-15 10:39:45 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 265 seconds) |
2021-07-15 10:39:58 +0200 | Kaipi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
2021-07-15 10:40:38 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
2021-07-15 10:43:02 +0200 | MQ-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 +0200 | PungentCheese | (~PungentCh@x527179fa.dyn.telefonica.de) (Ping timeout: 255 seconds) |
2021-07-15 10:48:53 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-07-15 10:50:06 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-07-15 10:50:23 +0200 | Tuplanolla | (~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 +0200 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) |
2021-07-15 10:52:57 +0200 | keutoi | (~keutoi@223.237.22.166) (Ping timeout: 255 seconds) |
2021-07-15 10:53:31 +0200 | nschoe | (~quassel@178.251.84.79) |
2021-07-15 10:54:20 +0200 | ubikium | (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Read error: Connection reset by peer) |
2021-07-15 10:55:20 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
2021-07-15 11:00:13 +0200 | ubikium | (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) |
2021-07-15 11:01:45 +0200 | chris_ | (~chris@81.96.113.213) |
2021-07-15 11:03:46 +0200 | anandprabhu | (~anandprab@94.202.243.198) |
2021-07-15 11:06:14 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) (Quit: WeeChat 2.8) |
2021-07-15 11:06:31 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) |
2021-07-15 11:12:04 +0200 | Rogach | (uid6398@id-6398.brockwell.irccloud.com) () |
2021-07-15 11:15:37 +0200 | acidjnk_new3 | (~acidjnk@p200300d0c72b9516c0edb1e0bd38b359.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2021-07-15 11:18:27 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374) (Ping timeout: 245 seconds) |
2021-07-15 11:19:21 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Remote host closed the connection) |
2021-07-15 11:19:54 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-07-15 11:20:23 +0200 | ubert | (~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 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-07-15 11:22:42 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) (Ping timeout: 244 seconds) |
2021-07-15 11:24:16 +0200 | flareon | (~flareon@117.222.66.126) |
2021-07-15 11:24:40 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-07-15 11:25:03 +0200 | chexum | (~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 +0200 | chexum | (~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 +0200 | chexum | (~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 +0200 | flareon | (~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 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 246 seconds) |
2021-07-15 11:41:59 +0200 | cheater | (~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 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 272 seconds) |
2021-07-15 11:46:50 +0200 | Gurkenglas_ | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
2021-07-15 11:55:44 +0200 | azeem | (~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) (Ping timeout: 258 seconds) |
2021-07-15 11:56:29 +0200 | waleee | (~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 +0200 | azeem | (~azeem@176.201.40.210) |
2021-07-15 11:59:44 +0200 | xff0x | (~xff0x@2001:1a81:5396:d100:b9ea:2990:3a98:f09b) (Ping timeout: 255 seconds) |
2021-07-15 11:59:59 +0200 | zaquest | (~notzaques@5.128.210.178) (Remote host closed the connection) |
2021-07-15 12:00:45 +0200 | xff0x | (~xff0x@2001:1a81:5396:d100:8e8d:3ad4:f4d0:67e9) |
2021-07-15 12:03:02 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 245 seconds) |
2021-07-15 12:03:38 +0200 | oxide | (~lambda@user/oxide) |
2021-07-15 12:03:46 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 12:04:29 +0200 | zaquest | (~notzaques@5.128.210.178) |
2021-07-15 12:07:48 +0200 | ubert | (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) |
2021-07-15 12:12:05 +0200 | GIANTWORLDKEEPER | (~pjetcetal@128-71-13-182.broadband.corbina.ru) |
2021-07-15 12:13:31 +0200 | azeem | (~azeem@176.201.40.210) (Ping timeout: 265 seconds) |
2021-07-15 12:14:00 +0200 | azeem | (~azeem@176.201.40.210) |
2021-07-15 12:16:26 +0200 | jippiedoe | (~david@2a02-a44c-e14e-1-1f41-d350-ba29-922c.fixed6.kpn.net) |
2021-07-15 12:18:26 +0200 | peterhil | (~peterhil@mobile-access-bceeac-89.dhcp.inet.fi) |
2021-07-15 12:18:35 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-07-15 12:19:06 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
2021-07-15 12:23:40 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 265 seconds) |
2021-07-15 12:28:02 +0200 | anandprabhu | (~anandprab@94.202.243.198) (Remote host closed the connection) |
2021-07-15 12:29:51 +0200 | azeem | (~azeem@176.201.40.210) (Ping timeout: 258 seconds) |
2021-07-15 12:30:07 +0200 | azeem | (~azeem@176.201.40.210) |
2021-07-15 12:30:09 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Ping timeout: 255 seconds) |
2021-07-15 12:30:38 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2021-07-15 12:30:41 +0200 | cheater1__ | (~Username@user/cheater) |
2021-07-15 12:30:44 +0200 | cheater1__ | cheater |
2021-07-15 12:31:07 +0200 | andrews_ | (~andrews@103.210.27.189) |
2021-07-15 12:34:30 +0200 | andrews | (~andrews@user/andrews) (Ping timeout: 252 seconds) |
2021-07-15 12:37:10 +0200 | azeem | (~azeem@176.201.40.210) (Ping timeout: 272 seconds) |
2021-07-15 12:37:11 +0200 | agua | (~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) |
2021-07-15 12:39:08 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2021-07-15 12:39:10 +0200 | cheater1__ | (~Username@user/cheater) |
2021-07-15 12:39:13 +0200 | cheater1__ | cheater |
2021-07-15 12:40:57 +0200 | pesada | (~agua@2804:18:48:1eaf:1:0:1d0b:6be0) (Ping timeout: 245 seconds) |
2021-07-15 12:43:43 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-07-15 12:44:32 +0200 | pesada | (~agua@2804:18:48:1eaf:1:0:1d0b:6be0) |
2021-07-15 12:44:51 +0200 | ubikium | (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Read error: Connection reset by peer) |
2021-07-15 12:44:59 +0200 | ubikium | (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) |
2021-07-15 12:45:16 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-15 12:45:54 +0200 | agua | (~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) (Ping timeout: 255 seconds) |
2021-07-15 12:45:57 +0200 | azeem | (~azeem@176.201.40.210) |
2021-07-15 12:47:20 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2021-07-15 12:47:40 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 12:51:21 +0200 | notzmv | (~zmv@user/notzmv) |
2021-07-15 12:51:31 +0200 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) |
2021-07-15 12:55:00 +0200 | drd | (~drd@93-39-151-19.ip76.fastwebnet.it) |
2021-07-15 12:55:46 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2021-07-15 12:55:55 +0200 | Obo | (~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 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 12:56:41 +0200 | chomwitt | (~Pitsikoko@ppp-94-67-202-202.home.otenet.gr) |
2021-07-15 12:56:49 +0200 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 268 seconds) |
2021-07-15 12:56:52 +0200 | azeem | (~azeem@176.201.40.210) (Ping timeout: 252 seconds) |
2021-07-15 12:57:10 +0200 | azeem | (~azeem@176.201.40.210) |
2021-07-15 12:58:49 +0200 | peterhil_ | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
2021-07-15 13:00:35 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-07-15 13:01:51 +0200 | peterhil | (~peterhil@mobile-access-bceeac-89.dhcp.inet.fi) (Ping timeout: 265 seconds) |
2021-07-15 13:03:12 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 258 seconds) |
2021-07-15 13:03:19 +0200 | chomwitt | (~Pitsikoko@ppp-94-67-202-202.home.otenet.gr) (Ping timeout: 268 seconds) |
2021-07-15 13:03:52 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 245 seconds) |
2021-07-15 13:04:34 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 13:04:52 +0200 | oxide | (~lambda@user/oxide) |
2021-07-15 13:05:10 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
2021-07-15 13:05:47 +0200 | smichel17_ | (~smichel17@c-73-68-217-18.hsd1.ma.comcast.net) |
2021-07-15 13:07:26 +0200 | andrews_ | (~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 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2021-07-15 13:09:57 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 13:10:46 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-07-15 13:15:07 +0200 | drd | (~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 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) |
2021-07-15 13:17:59 +0200 | chexum | (~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 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2021-07-15 13:32:37 +0200 | azeem | (~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 +0200 | azeem | (~azeem@176.201.40.210) |
2021-07-15 13:33:36 +0200 | merijn | (~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 +0200 | justsomeguy | (~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 +0200 | azeem | (~azeem@176.201.40.210) (Ping timeout: 246 seconds) |
2021-07-15 13:46:02 +0200 | azeem | (~azeem@176.201.40.210) |
2021-07-15 13:49:09 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
2021-07-15 13:50:15 +0200 | gentauro | (~gentauro@user/gentauro) (Ping timeout: 255 seconds) |
2021-07-15 13:54:14 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-07-15 13:54:47 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 268 seconds) |
2021-07-15 13:59:38 +0200 | keutoi | (~keutoi@223.237.20.166) |
2021-07-15 14:00:11 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-07-15 14:00:20 +0200 | azeem | (~azeem@176.201.40.210) (Ping timeout: 268 seconds) |
2021-07-15 14:00:23 +0200 | Guest829 | (~Guest829@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa) |
2021-07-15 14:02:12 +0200 | gentauro | (~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 +0200 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) (Ping timeout: 268 seconds) |
2021-07-15 14:04:42 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-15 14:04:44 +0200 | azeem | (~azeem@176.201.40.210) |
2021-07-15 14:08:22 +0200 | prite | (~pritam@user/pritambaral) (Ping timeout: 272 seconds) |
2021-07-15 14:09:45 +0200 | m4lvin | (~m4lvin@w4eg.de) |
2021-07-15 14:10:03 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds) |
2021-07-15 14:11:02 +0200 | prite | (~pritam@user/pritambaral) |
2021-07-15 14:11:08 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-07-15 14:12:28 +0200 | Guest829 | (~Guest829@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa) (Quit: Client closed) |
2021-07-15 14:13:34 +0200 | drd | (~drd@93-39-151-19.ip76.fastwebnet.it) |
2021-07-15 14:16:56 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-07-15 14:17:15 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 255 seconds) |
2021-07-15 14:17:52 +0200 | Vajb | (~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) |
2021-07-15 14:18:44 +0200 | neceve | (~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 +0200 | chris_ | (~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 +0200 | Square | (~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 +0200 | Orbstheorem | should 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 +0200 | azeem | (~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 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2021-07-15 14:29:38 +0200 | cheater | (~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 +0200 | cheater | (~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 +0200 | dunj3 | (~dunj3@2001:16b8:303f:a600:793c:65b7:43fd:f5ca) (Remote host closed the connection) |
2021-07-15 14:32:02 +0200 | derelict | (~derelict@user/derelict) |
2021-07-15 14:32:39 +0200 | azeem | (~azeem@176.200.200.206) |
2021-07-15 14:33:26 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) |
2021-07-15 14:34:17 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) |
2021-07-15 14:35:20 +0200 | Bayes | (~Bayes@ics177-97.icsincorporated.com) |
2021-07-15 14:35:30 +0200 | Bayes | (~Bayes@ics177-97.icsincorporated.com) (Changing host) |
2021-07-15 14:35:30 +0200 | Bayes | (~Bayes@user/bayes) |
2021-07-15 14:37:03 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 255 seconds) |
2021-07-15 14:37:29 +0200 | cheater | (~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 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-15 14:47:19 +0200 | hseg | (~gesh@185.120.126.10) |
2021-07-15 14:47:51 +0200 | keutoi | (~keutoi@223.237.20.166) (Ping timeout: 255 seconds) |
2021-07-15 14:49:01 +0200 | hseg | (~gesh@185.120.126.10) (Client Quit) |
2021-07-15 14:49:15 +0200 | keutoi | (~keutoi@223.237.20.166) |
2021-07-15 14:52:04 +0200 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:9925:18b1:79f7:f242) |
2021-07-15 14:55:50 +0200 | Guest47 | (~Guest47@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa) |
2021-07-15 14:57:53 +0200 | ukari | (~ukari@user/ukari) (Remote host closed the connection) |
2021-07-15 14:58:46 +0200 | ukari | (~ukari@user/ukari) |
2021-07-15 15:01:03 +0200 | Bayes | (~Bayes@user/bayes) (Quit: Connection closed) |
2021-07-15 15:01:10 +0200 | alx741 | (~alx741@186.178.109.32) |
2021-07-15 15:04:11 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2021-07-15 15:04:23 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 15:11:37 +0200 | azeem | (~azeem@176.200.200.206) (Ping timeout: 258 seconds) |
2021-07-15 15:11:52 +0200 | azeem | (~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 +0200 | anhnt | (~anhnt@2405:4802:342:1550:454d:510c:cbdb:1c59) (Quit: Client closed) |
2021-07-15 15:14:58 +0200 | Guest47 | (~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 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
2021-07-15 15:19:05 +0200 | hendursa1 | (~weechat@user/hendursaga) (Quit: hendursa1) |
2021-07-15 15:19:05 +0200 | keutoi | (~keutoi@223.237.20.166) (Ping timeout: 255 seconds) |
2021-07-15 15:19:49 +0200 | hendursaga | (~weechat@user/hendursaga) |
2021-07-15 15:19:56 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-07-15 15:20:55 +0200 | keutoi | (~keutoi@106.208.22.166) |
2021-07-15 15:23:57 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2021-07-15 15:24:07 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 15:24:37 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1) |
2021-07-15 15:24:38 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2021-07-15 15:25:39 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-07-15 15:25:46 +0200 | peterhil_ | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 268 seconds) |
2021-07-15 15:26:57 +0200 | allbery_b | (~geekosaur@xmonad/geekosaur) (Ping timeout: 258 seconds) |
2021-07-15 15:27:35 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-07-15 15:28:08 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-07-15 15:28:09 +0200 | cheater1__ | (~Username@user/cheater) |
2021-07-15 15:30:24 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 258 seconds) |
2021-07-15 15:30:33 +0200 | cheater1__ | cheater |
2021-07-15 15:31:15 +0200 | mikail | (~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f) |
2021-07-15 15:32:24 +0200 | keutoi | (~keutoi@106.208.22.166) (Ping timeout: 255 seconds) |
2021-07-15 15:33:14 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
2021-07-15 15:36:04 +0200 | stevenxl | (uid133530@id-133530.highgate.irccloud.com) (Quit: Connection closed for inactivity) |
2021-07-15 15:40:57 +0200 | azeem | (~azeem@176.200.200.206) (Ping timeout: 255 seconds) |
2021-07-15 15:41:22 +0200 | roboto_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 +0200 | keutoi | (~keutoi@223.237.48.22) |
2021-07-15 15:47:24 +0200 | roboto_el_gato | (~roboto_el@2600:1700:7df0:4f30:dd48:b4b4:65c5:d73f) (Quit: Client closed) |
2021-07-15 15:47:55 +0200 | azeem | (~azeem@176.200.200.206) |
2021-07-15 15:48:00 +0200 | roboto_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 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374) |
2021-07-15 15:59:27 +0200 | Vajb | (~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) (Read error: Connection reset by peer) |
2021-07-15 16:00:49 +0200 | cheater1__ | (~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 +0200 | Vajb | (~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 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2021-07-15 16:03:12 +0200 | cheater1__ | cheater |
2021-07-15 16:07:32 +0200 | azeem | (~azeem@176.200.200.206) (Ping timeout: 252 seconds) |
2021-07-15 16:08:25 +0200 | shriekingnoise | (~shrieking@186.137.144.80) |
2021-07-15 16:10:05 +0200 | cheater1__ | (~Username@user/cheater) |
2021-07-15 16:11:19 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2021-07-15 16:12:27 +0200 | cheater | (~Username@user/cheater) |
2021-07-15 16:14:55 +0200 | azeem | (~azeem@176.200.200.206) |
2021-07-15 16:15:14 +0200 | keutoi | (~keutoi@223.237.48.22) (Ping timeout: 252 seconds) |
2021-07-15 16:15:36 +0200 | ubikium | (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Ping timeout: 255 seconds) |
2021-07-15 16:16:09 +0200 | cheater1__ | (~Username@user/cheater) (Ping timeout: 265 seconds) |
2021-07-15 16:16:50 +0200 | ubikium | (~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099) |
2021-07-15 16:17:04 +0200 | keutoi | (~keutoi@106.208.22.166) |
2021-07-15 16:17:36 +0200 | prite | (~pritam@user/pritambaral) (Ping timeout: 265 seconds) |
2021-07-15 16:17:52 +0200 | prite | (~pritam@user/pritambaral) |
2021-07-15 16:18:29 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-07-15 16:18:55 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-07-15 16:19:29 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
2021-07-15 16:19:30 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-07-15 16:20:00 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.2) |
2021-07-15 16:20:18 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-07-15 16:20:34 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2021-07-15 16:20:35 +0200 | peterhil | (~peterhil@mobile-access-bceeac-89.dhcp.inet.fi) |
2021-07-15 16:22:15 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
2021-07-15 16:22:32 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Max SendQ exceeded) |
2021-07-15 16:22:38 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-07-15 16:22:56 +0200 | pritambaral | (~pritam@user/pritambaral) |
2021-07-15 16:23:00 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
2021-07-15 16:24:17 +0200 | derelict | (~derelict@user/derelict) (Ping timeout: 245 seconds) |
2021-07-15 16:25:00 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
2021-07-15 16:26:22 +0200 | prite | (~pritam@user/pritambaral) (Ping timeout: 258 seconds) |
2021-07-15 16:26:40 +0200 | ubikium | (~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099) (Read error: Connection reset by peer) |
2021-07-15 16:27:22 +0200 | ubikium | (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) |
2021-07-15 16:28:35 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2021-07-15 16:29:51 +0200 | Guest23 | (~Guest23@50.47.115.102) (Quit: Client closed) |
2021-07-15 16:32:39 +0200 | jippiedoe | (~david@2a02-a44c-e14e-1-1f41-d350-ba29-922c.fixed6.kpn.net) (Ping timeout: 268 seconds) |
2021-07-15 16:33:08 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-15 16:34:26 +0200 | prite | (~pritam@user/pritambaral) |
2021-07-15 16:34:40 +0200 | azeem | (~azeem@176.200.200.206) (Ping timeout: 272 seconds) |
2021-07-15 16:34:41 +0200 | pritambaral | (~pritam@user/pritambaral) (Ping timeout: 255 seconds) |
2021-07-15 16:36:08 +0200 | neurocyte | (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
2021-07-15 16:36:53 +0200 | azeem | (~azeem@176.200.200.206) |
2021-07-15 16:38:35 +0200 | mikail | (~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f) (Remote host closed the connection) |
2021-07-15 16:39:40 +0200 | Guest47 | (~Guest47@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa) |
2021-07-15 16:40:37 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Remote host closed the connection) |
2021-07-15 16:40:50 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-07-15 16:41:41 +0200 | cheater1__ | (~Username@84-115-12-132.cable.dynamic.surfer.at) |
2021-07-15 16:42:09 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 255 seconds) |
2021-07-15 16:42:29 +0200 | baullrog | (~baullrog@pool-96-237-166-123.bstnma.fios.verizon.net) |
2021-07-15 16:42:45 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
2021-07-15 16:43:14 +0200 | mikail | (~mikail@90.212.77.3) |
2021-07-15 16:43:33 +0200 | cheater1__ | cheater |
2021-07-15 16:43:39 +0200 | cheater | cheater1 |
2021-07-15 16:43:42 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Quit: Leaving) |
2021-07-15 16:44:02 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
2021-07-15 16:46:03 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2021-07-15 16:47:27 +0200 | qbt | (~edun@user/edun) (Ping timeout: 258 seconds) |
2021-07-15 16:47:37 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds) |
2021-07-15 16:48:24 +0200 | Guest47 | (~Guest47@2a01:cb15:81e5:f00:f97d:c231:ccf4:3cfa) (Quit: Client closed) |
2021-07-15 16:49:59 +0200 | keutoi | (~keutoi@106.208.22.166) (Ping timeout: 255 seconds) |
2021-07-15 16:50:24 +0200 | baullrog | (~baullrog@pool-96-237-166-123.bstnma.fios.verizon.net) (Quit: Leaving) |
2021-07-15 16:51:53 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-07-15 16:56:47 +0200 | keutoi | (~keutoi@157.47.109.43) |
2021-07-15 16:57:54 +0200 | prite | (~pritam@user/pritambaral) (Ping timeout: 255 seconds) |
2021-07-15 16:57:56 +0200 | pritambaral | (~pritam@user/pritambaral) |
2021-07-15 16:58:53 +0200 | azeem | (~azeem@176.200.200.206) (Ping timeout: 268 seconds) |
2021-07-15 16:58:55 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-07-15 16:59:42 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374) (Ping timeout: 245 seconds) |
2021-07-15 17:00:08 +0200 | azeem | (~azeem@176.200.199.176) |
2021-07-15 17:01:59 +0200 | mariohesles | (~user@172.58.97.195) (Remote host closed the connection) |
2021-07-15 17:02:20 +0200 | neurocyte | (~neurocyte@45.93.111.131) |
2021-07-15 17:02:20 +0200 | neurocyte | (~neurocyte@45.93.111.131) (Changing host) |
2021-07-15 17:02:20 +0200 | neurocyte | (~neurocyte@user/neurocyte) |
2021-07-15 17:02:49 +0200 | roboto_el_gato | (~roboto_el@2600:1700:7df0:4f30:dd48:b4b4:65c5:d73f) (Ping timeout: 246 seconds) |
2021-07-15 17:03:33 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 258 seconds) |
2021-07-15 17:08:13 +0200 | agua | (~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) |
2021-07-15 17:10:31 +0200 | pesada | (~agua@2804:18:48:1eaf:1:0:1d0b:6be0) (Ping timeout: 246 seconds) |
2021-07-15 17:10:40 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-07-15 17:10:47 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-07-15 17:16:01 +0200 | Gurkenglas_ | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
2021-07-15 17:16:12 +0200 | azeem | (~azeem@176.200.199.176) (Ping timeout: 258 seconds) |
2021-07-15 17:18:58 +0200 | egoist | (~egoist@186.235.80.249) |
2021-07-15 17:19:10 +0200 | jippiedoe | (~david@2a02-a44c-e14e-1-e2c4-23e8-2d6f-bdbb.fixed6.kpn.net) |
2021-07-15 17:21:42 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds) |
2021-07-15 17:21:45 +0200 | azeem | (~azeem@176.200.199.176) |
2021-07-15 17:24:03 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-15 17:24:34 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-07-15 17:25:52 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-07-15 17:25:55 +0200 | elf_fortrez | (~elf_fortr@adsl-72-50-4-51.prtc.net) |
2021-07-15 17:26:24 +0200 | ukari | (~ukari@user/ukari) (Remote host closed the connection) |
2021-07-15 17:26:36 +0200 | azeem | (~azeem@176.200.199.176) (Ping timeout: 272 seconds) |
2021-07-15 17:27:23 +0200 | ukari | (~ukari@user/ukari) |
2021-07-15 17:27:29 +0200 | azeem | (~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) |
2021-07-15 17:29:46 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-07-15 17:30:00 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-07-15 17:30:07 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-07-15 17:30:42 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-07-15 17:39:13 +0200 | jumper149 | (~jumper149@80.240.31.34) (Quit: WeeChat 3.1) |
2021-07-15 17:39:51 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer) |
2021-07-15 17:42:05 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-07-15 17:44:54 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-07-15 17:45:31 +0200 | Ariakenom | (~Ariakenom@c83-255-154-140.bredband.tele2.se) |
2021-07-15 17:46:14 +0200 | peterhil | (~peterhil@mobile-access-bceeac-89.dhcp.inet.fi) (Ping timeout: 255 seconds) |
2021-07-15 17:46:16 +0200 | Null_A | (~null_a@2601:645:8700:2290:e9c6:7ad4:aa07:6319) |
2021-07-15 17:47:38 +0200 | derelict | (~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 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-07-15 17:54:14 +0200 | Guest4643 | (~felix@83.8.55.241.ipv4.supernova.orange.pl) |
2021-07-15 17:59:10 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2021-07-15 17:59:38 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-07-15 17:59:49 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Remote host closed the connection) |
2021-07-15 18:00:17 +0200 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
2021-07-15 18:00:22 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
2021-07-15 18:01:26 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-07-15 18:03:34 +0200 | juhp | (~juhp@128.106.188.66) (Quit: juhp) |
2021-07-15 18:03:48 +0200 | juhp | (~juhp@128.106.188.66) |
2021-07-15 18:04:41 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 255 seconds) |
2021-07-15 18:06:50 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds) |
2021-07-15 18:07:38 +0200 | safinaskar | (~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 +0200 | chomwitt | (~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 +0200 | anandprabhu | (~anandprab@94.202.243.198) |
2021-07-15 18:12:38 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-07-15 18:14:44 +0200 | keutoi | (~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 +0200 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
2021-07-15 18:16:14 +0200 | keutoi | (~keutoi@223.237.18.142) |
2021-07-15 18:16:30 +0200 | nschoe | (~quassel@178.251.84.79) (Ping timeout: 265 seconds) |
2021-07-15 18:16:44 +0200 | zyklotomic | (~ethan@2604:a880:800:10::79f:8001) |
2021-07-15 18:17:09 +0200 | chris_ | (~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 +0200 | anandprabhu | (~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 +0200 | chomwitt | (~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 +0200 | stevenxl | (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 +0200 | stevenxl | Quick 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 +0200 | chomwitt | (~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 +0200 | stevenxl | Maybe we can put it in the Char8 module. |
2021-07-15 18:24:52 +0200 | pritambaral | (~pritam@user/pritambaral) (Ping timeout: 272 seconds) |
2021-07-15 18:25:10 +0200 | stevenxl | Oh - I thought that existed. Maybe we need that same function in lazy.bytestring. |
2021-07-15 18:25:13 +0200 | stevenxl | .char8 |
2021-07-15 18:25:17 +0200 | kuribas | (~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 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-15 18:26:33 +0200 | Guest47 | (~Guest47@2a01:cb15:81e5:f00:2c94:41d0:be2a:116c) |
2021-07-15 18:26:33 +0200 | dajoer | (~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 +0200 | stevenxl | lechner: congrats! |
2021-07-15 18:28:22 +0200 | Guest4643 | (~felix@83.8.55.241.ipv4.supernova.orange.pl) (Quit: WeeChat 3.1) |
2021-07-15 18:28:51 +0200 | Atum_ | (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 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 255 seconds) |
2021-07-15 18:29:43 +0200 | myShoggoth | (~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 +0200 | Gurkenglas_ | Gurkenglas |
2021-07-15 18:29:59 +0200 | pritambaral | (~pritam@user/pritambaral) |
2021-07-15 18:30:00 +0200 | myShoggoth | (~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 +0200 | stevenxl | https://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 +0200 | safinaskar | (~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 +0200 | hgolden_ | (~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 +0200 | hgolden_ | (~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 +0200 | prite | (~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 +0200 | pritambaral | (~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 +0200 | burnsidesLlama | (~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 +0200 | eight | (~eight@user/eight) |
2021-07-15 18:41:10 +0200 | chris_ | (~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 +0200 | chris_ | (~chris@81.96.113.213) |
2021-07-15 18:42:30 +0200 | sm2n | (~sm2n@user/sm2n) |
2021-07-15 18:42:30 +0200 | chris_ | (~chris@81.96.113.213) (Read error: Connection reset by peer) |
2021-07-15 18:42:32 +0200 | chris____ | (~chris@81.96.113.213) |
2021-07-15 18:43:30 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Ping timeout: 240 seconds) |
2021-07-15 18:44:08 +0200 | cheater1 | (~Username@84-115-12-132.cable.dynamic.surfer.at) (Changing host) |
2021-07-15 18:44:08 +0200 | cheater1 | (~Username@user/cheater) |
2021-07-15 18:44:40 +0200 | jippiedoe | (~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 +0200 | hnOsmium0001 | (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 +0200 | xff0x | (~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 +0200 | jlamothe | (~jlamothe@198.251.60.157) (Remote host closed the connection) |
2021-07-15 18:57:16 +0200 | chris____ | (~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 +0200 | mceldeen | (~igloo@71-33-221-91.hlrn.qwest.net) |
2021-07-15 18:59:17 +0200 | chris_ | (~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 +0200 | chris_ | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-07-15 19:00:58 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-07-15 19:01:40 +0200 | flareon | (~flareon@117.222.66.126) |
2021-07-15 19:04:16 +0200 | mceldeen | (~igloo@71-33-221-91.hlrn.qwest.net) (Ping timeout: 252 seconds) |
2021-07-15 19:04:41 +0200 | myShoggoth | (~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 +0200 | ubert | (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection) |
2021-07-15 19:06:33 +0200 | eggplantade | (~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 +0200 | chris_ | (~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 +0200 | jiribenes | (~jiribenes@rosa.jiribenes.com) (Ping timeout: 240 seconds) |
2021-07-15 19:09:06 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) |
2021-07-15 19:12:43 +0200 | jess | (~jess@libera/staff/jess) () |
2021-07-15 19:13:53 +0200 | keutoi | (~keutoi@223.237.18.142) (Quit: leaving) |
2021-07-15 19:14:40 +0200 | smichel17_ | smichel17 |
2021-07-15 19:15:14 +0200 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Remote host closed the connection) |
2021-07-15 19:15:28 +0200 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
2021-07-15 19:18:15 +0200 | curiousgay | (~curiousgg@77-120-144-167.kha.volia.net) (Remote host closed the connection) |
2021-07-15 19:19:21 +0200 | Guest47 | (~Guest47@2a01:cb15:81e5:f00:2c94:41d0:be2a:116c) (Quit: Client closed) |
2021-07-15 19:20:02 +0200 | curiousgay | (~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 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
2021-07-15 19:20:56 +0200 | chris_ | (~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 +0200 | chris_ | (~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 +0200 | burnsidesLlama | (~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 +0200 | mc47 | (~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 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-07-15 19:30:54 +0200 | kadobanana | (~mud@user/kadoban) (Remote host closed the connection) |
2021-07-15 19:31:19 +0200 | kadobanana | (~mud@user/kadoban) |
2021-07-15 19:32:26 +0200 | elf_fortrez | (~elf_fortr@adsl-72-50-4-51.prtc.net) (Quit: Client closed) |
2021-07-15 19:33:09 +0200 | myShoggoth | (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds) |
2021-07-15 19:33:40 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 268 seconds) |
2021-07-15 19:34:24 +0200 | Guest984 | (~Guest9@43.241.144.126) |
2021-07-15 19:37:05 +0200 | pesada | (~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 +0200 | agua | (~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 +0200 | agua | (~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 +0200 | elf_fortrez | (~elf_fortr@adsl-72-50-4-188.prtc.net) |
2021-07-15 19:44:40 +0200 | pesada | (~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 +0200 | chris_ | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-07-15 19:45:04 +0200 | tzh | (~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 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2021-07-15 19:46:14 +0200 | jiribenes | (~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 +0200 | burnsidesLlama | (~burnsides@client-8-82.eduroam.oxuni.org.uk) |
2021-07-15 19:52:30 +0200 | ubert | (~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 +0200 | Null_A | (~null_a@2601:645:8700:2290:e9c6:7ad4:aa07:6319) () |
2021-07-15 19:53:32 +0200 | MQ-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 +0200 | MQ-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 +0200 | merijn | (~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 +0200 | eggplantade | (~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 +0200 | zeenk | (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) |
2021-07-15 20:00:52 +0200 | chris_ | (~chris@81.96.113.213) |
2021-07-15 20:00:54 +0200 | lavaman | (~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 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-07-15 20:03:48 +0200 | ukari | (~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 +0200 | ukari | (~ukari@user/ukari) |
2021-07-15 20:05:08 +0200 | cfricke | (~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 +0200 | lavaman | (~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 +0200 | pesada | (~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 +0200 | agua | (~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 +0200 | Topsi | (~Tobias@dyndsl-095-033-090-054.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2021-07-15 20:06:42 +0200 | agua | (~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) |
2021-07-15 20:06:51 +0200 | pesada | (~agua@2804:18:43:3e21:1:0:20af:708a) (Read error: Connection reset by peer) |
2021-07-15 20:06:55 +0200 | prite | (~pritam@user/pritambaral) (Ping timeout: 246 seconds) |
2021-07-15 20:07:01 +0200 | pesada | (~agua@2804:18:43:3e21:1:0:20af:708a) |
2021-07-15 20:07:11 +0200 | wroathe | (~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 +0200 | prite | (~pritam@user/pritambaral) |
2021-07-15 20:07:45 +0200 | flareon | (~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 +0200 | flareon | (~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 +0200 | favonia | (~favonia@user/favonia) (Ping timeout: 255 seconds) |
2021-07-15 20:10:57 +0200 | agua | (~agua@2804:14c:8793:8e2f:99df:d2fc:1544:f08e) (Ping timeout: 245 seconds) |
2021-07-15 20:11:39 +0200 | silverwhitefish | (~hidden@47.202.102.10) (Quit: One for all, all for One (2 Corinthians 5)) |
2021-07-15 20:12:07 +0200 | silverwhitefish | (~hidden@47.202.102.10) |
2021-07-15 20:12:48 +0200 | zyklotomic | (~ethan@2604:a880:800:10::79f:8001) (WeeChat 2.8) |
2021-07-15 20:12:52 +0200 | elf_fortrez | (~elf_fortr@adsl-72-50-4-188.prtc.net) (Ping timeout: 246 seconds) |
2021-07-15 20:14:21 +0200 | roboto_el_gato | (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) |
2021-07-15 20:14:36 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2021-07-15 20:14:58 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2021-07-15 20:17:45 +0200 | fresheyeball | (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) |
2021-07-15 20:17:45 +0200 | azeem | (~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) (Read error: Connection reset by peer) |
2021-07-15 20:18:28 +0200 | azeem | (~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) |
2021-07-15 20:20:43 +0200 | gzj | (~GZJ0X@199.193.127.138.16clouds.com) |
2021-07-15 20:20:57 +0200 | themc47 | (~mc47@xmonad/TheMC47) |
2021-07-15 20:21:16 +0200 | roboto_el_gato | (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds) |
2021-07-15 20:23:32 +0200 | favonia | (~favonia@user/favonia) |
2021-07-15 20:23:39 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Ping timeout: 258 seconds) |
2021-07-15 20:25:22 +0200 | zebrag | (~chris@user/zebrag) |
2021-07-15 20:27:00 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 265 seconds) |
2021-07-15 20:27:53 +0200 | michalz | (~michalz@185.246.204.50) |
2021-07-15 20:29:14 +0200 | roboto_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 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-07-15 20:31:58 +0200 | jlamothe | (~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 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2021-07-15 20:33:47 +0200 | norias | (~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 +0200 | roboto_el_gato | (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds) |
2021-07-15 20:44:12 +0200 | azeem | (~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) (Read error: Connection reset by peer) |
2021-07-15 20:44:37 +0200 | eggplantade | (~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 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2021-07-15 20:46:21 +0200 | azeem | (~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) |
2021-07-15 20:47:36 +0200 | dhouthoo | (~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 +0200 | flareon | (~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 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) |
2021-07-15 20:55:00 +0200 | themc47 | (~mc47@xmonad/TheMC47) (Ping timeout: 252 seconds) |
2021-07-15 20:56:24 +0200 | drd | (~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 +0200 | dhouthoo | (~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 +0200 | dminuoso | idly 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 +0200 | haykam2 | (~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 +0200 | haykam1 | (~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 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds) |
2021-07-15 21:08:42 +0200 | Deide | (~Deide@217.155.19.23) |
2021-07-15 21:08:42 +0200 | Deide | (~Deide@217.155.19.23) (Changing host) |
2021-07-15 21:08:42 +0200 | Deide | (~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 +0200 | bgamari | (~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 +0200 | MQ-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 +0200 | bgamari | (~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 +0200 | tomsmeding | high-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 +0200 | ubikium | (~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 +0200 | o1lo01ol1o | (~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 +0200 | eggplantade | (~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 +0200 | MQ-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 +0200 | tomsmeding | read 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 +0200 | MQ-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 +0200 | ubikium | (~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 +0200 | Guest984 | (~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 +0200 | Null_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 +0200 | shane_ | 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 +0200 | myShoggoth | (~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 +0200 | alx741 | (~alx741@186.178.109.32) (Ping timeout: 245 seconds) |
2021-07-15 21:37:10 +0200 | gzj | (~GZJ0X@199.193.127.138.16clouds.com) (Ping timeout: 252 seconds) |
2021-07-15 21:39:36 +0200 | wroathe | (~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 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) (Quit: -) |
2021-07-15 21:46:41 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) |
2021-07-15 21:48:26 +0200 | mikail_ | (~mikail@90.212.77.3) |
2021-07-15 21:49:21 +0200 | alx741 | (~alx741@181.196.68.89) |
2021-07-15 21:50:27 +0200 | o1lo01ol1o | (~o1lo01ol1@bl11-109-140.dsl.telepac.pt) |
2021-07-15 21:50:57 +0200 | mikail | (~mikail@90.212.77.3) (Ping timeout: 245 seconds) |
2021-07-15 21:52:31 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2021-07-15 21:52:53 +0200 | roboto_el_gato | (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) |
2021-07-15 21:54:46 +0200 | o1lo01ol1o | (~o1lo01ol1@bl11-109-140.dsl.telepac.pt) (Ping timeout: 252 seconds) |
2021-07-15 21:55:16 +0200 | pfurla_ | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 258 seconds) |
2021-07-15 21:57:21 +0200 | burnsidesLlama | (~burnsides@client-8-82.eduroam.oxuni.org.uk) (Remote host closed the connection) |
2021-07-15 21:57:57 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
2021-07-15 21:58:39 +0200 | retroid_ | (~retro@90.218.175.34) |
2021-07-15 22:01:40 +0200 | xff0x | (~xff0x@2001:1a81:5396:d100:2b35:b634:3ed0:60cf) |
2021-07-15 22:02:17 +0200 | retro_ | (~retro@90.218.175.34) (Ping timeout: 268 seconds) |
2021-07-15 22:02:59 +0200 | retro_ | (~retro@90.218.175.34) |
2021-07-15 22:03:31 +0200 | retroid_ | (~retro@90.218.175.34) (Ping timeout: 268 seconds) |
2021-07-15 22:05:14 +0200 | juhp | (~juhp@128.106.188.66) (Ping timeout: 258 seconds) |
2021-07-15 22:06:03 +0200 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 250 seconds) |
2021-07-15 22:06:45 +0200 | juhp | (~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 +0200 | hexfive | (~eric@50.35.83.177) |
2021-07-15 22:12:26 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
2021-07-15 22:14:42 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 245 seconds) |
2021-07-15 22:17:17 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection) |
2021-07-15 22:17:27 +0200 | o1lo01ol1o | (~o1lo01ol1@bl11-109-140.dsl.telepac.pt) |
2021-07-15 22:17:55 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-07-15 22:19:06 +0200 | KUrare | (~KUrare@user/kurare) |
2021-07-15 22:22:26 +0200 | burnside_ | (~burnsides@dhcp168-025.wadham.ox.ac.uk) |
2021-07-15 22:22:26 +0200 | burnsidesLlama | (~burnsides@dhcp168-025.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
2021-07-15 22:23:59 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection) |
2021-07-15 22:24:56 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
2021-07-15 22:25:10 +0200 | roboto_el_gato | (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds) |
2021-07-15 22:26:00 +0200 | prite | (~pritam@user/pritambaral) (Quit: Konversation terminated!) |
2021-07-15 22:27:06 +0200 | cfricke | (~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 +0200 | merijn | (~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 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
2021-07-15 22:29:46 +0200 | Obo | (~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 +0200 | burnside_ | (~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 +0200 | safinaskar | (~user@109-252-90-89.nat.spd-mgts.ru) |
2021-07-15 22:34:01 +0200 | zeenk | (~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 +0200 | mcglk | (~mcglk@131.191.49.120) (Read error: Connection reset by peer) |
2021-07-15 22:37:51 +0200 | mcglk_ | (~mcglk@131.191.49.120) |
2021-07-15 22:40:57 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-07-15 22:44:36 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-07-15 22:45:32 +0200 | roboto_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 +0200 | lavaman | (~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 +0200 | roboto_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 +0200 | ubikium | (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) (Ping timeout: 265 seconds) |
2021-07-15 22:54:25 +0200 | Ariakenom | (~Ariakenom@c83-255-154-140.bredband.tele2.se) (Ping timeout: 265 seconds) |
2021-07-15 22:54:55 +0200 | ubikium | (~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099) |
2021-07-15 22:55:22 +0200 | ubikium | (~ubikium@2400:2200:b3:fefe:5e3e:e0d9:77e0:5099) (Read error: Connection reset by peer) |
2021-07-15 22:55:35 +0200 | ubikium | (~ubikium@113x43x248x70.ap113.ftth.arteria-hikari.net) |
2021-07-15 22:57:51 +0200 | acidjnk_new3 | (~acidjnk@p200300d0c72b951301624b1129165e7b.dip0.t-ipconnect.de) |
2021-07-15 22:59:44 +0200 | elf_fortrez | (~elf_fortr@adsl-72-50-4-118.prtc.net) |
2021-07-15 23:03:30 +0200 | fresheyeball | (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9) |
2021-07-15 23:03:36 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-07-15 23:06:01 +0200 | MQ-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 +0200 | roboto_el_gato | (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) |
2021-07-15 23:08:22 +0200 | benin0369 | (~benin@183.82.177.180) (Remote host closed the connection) |
2021-07-15 23:09:38 +0200 | MQ-17J | (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
2021-07-15 23:10:09 +0200 | chisui | (~chisui@200116b866e14b00954b747ecb7b95bf.dip.versatel-1u1.de) |
2021-07-15 23:12:33 +0200 | jneira_ | (~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 +0200 | roboto_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 +0200 | roboto_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 +0200 | michalz | (~michalz@185.246.204.50) (Remote host closed the connection) |
2021-07-15 23:21:59 +0200 | Codaraxis | (~Codaraxis@user/codaraxis) (Remote host closed the connection) |
2021-07-15 23:22:22 +0200 | Codaraxis | (~Codaraxis@user/codaraxis) |
2021-07-15 23:22:27 +0200 | Ariakenom | (~Ariakenom@c83-255-154-140.bredband.tele2.se) |
2021-07-15 23:23:08 +0200 | azeem | (~azeem@dynamic-adsl-84-220-239-177.clienti.tiscali.it) (Read error: Connection reset by peer) |
2021-07-15 23:28:26 +0200 | Null_A | (~null_a@2601:645:8700:2290:f850:a5d3:841d:88de) (Remote host closed the connection) |
2021-07-15 23:29:03 +0200 | Null_A | (~null_a@2601:645:8700:2290:f850:a5d3:841d:88de) |
2021-07-15 23:34:07 +0200 | roboto_el_gato | (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) (Ping timeout: 246 seconds) |
2021-07-15 23:35:10 +0200 | elf_fortrez | (~elf_fortr@adsl-72-50-4-118.prtc.net) (Ping timeout: 246 seconds) |
2021-07-15 23:39:01 +0200 | roboto_el_gato | (~roboto_el@2600:1700:7df0:4f30:60ad:415d:9afc:74f1) |
2021-07-15 23:39:11 +0200 | eggplantade | (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-07-15 23:40:23 +0200 | Null_A | (~null_a@2601:645:8700:2290:f850:a5d3:841d:88de) (Remote host closed the connection) |
2021-07-15 23:41:33 +0200 | Null_A | (~null_a@2601:645:8700:2290:f850:a5d3:841d:88de) |
2021-07-15 23:45:39 +0200 | TranquilEcho | (~grom@user/tranquilecho) |
2021-07-15 23:45:40 +0200 | Null_A | (~null_a@2601:645:8700:2290:f850:a5d3:841d:88de) (Ping timeout: 246 seconds) |
2021-07-15 23:46:01 +0200 | roboto_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 +0200 | fendor | (~fendor@178.165.161.174.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-07-15 23:47:56 +0200 | Raugh | (~mike@174.127.249.180) |
2021-07-15 23:48:45 +0200 | hpc | (~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 +0200 | eggplantade | (~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 +0200 | hpc | (~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 |