2023-07-13 00:00:12 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
2023-07-13 00:00:33 +0200 | Pickchea | (~private@user/pickchea) |
2023-07-13 00:02:04 +0200 | johnw | (~johnw@69.62.242.138) |
2023-07-13 00:04:20 +0200 | thegeekinside | (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
2023-07-13 00:05:25 +0200 | acidjnk | (~acidjnk@p200300d6e7072f9090d33f2b4a36e93a.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2023-07-13 00:07:40 +0200 | falafel | (~falafel@2603-7000-a700-8710-9520-756f-3405-563b.res6.spectrum.com) |
2023-07-13 00:18:04 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-07-13 00:21:00 +0200 | passiva | (~passiva@bcdcac82.skybroadband.com) (Read error: Connection reset by peer) |
2023-07-13 00:21:42 +0200 | passiva | (~passiva@bcdcac82.skybroadband.com) |
2023-07-13 00:24:15 +0200 | janus | (janus@anubis.0x90.dk) () |
2023-07-13 00:24:17 +0200 | Guest2723 | (~finn@176-151-21-224.abo.bbox.fr) (Remote host closed the connection) |
2023-07-13 00:24:24 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
2023-07-13 00:26:20 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2023-07-13 00:28:05 +0200 | Midjak | (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
2023-07-13 00:29:08 +0200 | neuroevolutus | (~neuroevol@2001:ac8:9a:76::1e) |
2023-07-13 00:32:37 +0200 | michalz | (~michalz@185.246.207.200) (Remote host closed the connection) |
2023-07-13 00:33:35 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-07-13 00:34:38 +0200 | nick4 | (~nick@2600:8807:9084:7800:8939:f628:ed3d:955) (Ping timeout: 260 seconds) |
2023-07-13 00:36:54 +0200 | kupi | (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2023-07-13 00:42:23 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2023-07-13 00:42:34 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) (Ping timeout: 260 seconds) |
2023-07-13 00:42:38 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds) |
2023-07-13 00:43:47 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2023-07-13 00:44:48 +0200 | mei | (~mei@user/mei) |
2023-07-13 00:45:56 +0200 | nick4 | (~nick@2600:8807:9084:7800:8939:f628:ed3d:955) |
2023-07-13 00:46:47 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2023-07-13 00:46:50 +0200 | nyc | (~nyc@user/nyc) |
2023-07-13 00:47:42 +0200 | gurkenglas | (~gurkengla@dynamic-002-247-242-043.2.247.pool.telefonica.de) (Ping timeout: 260 seconds) |
2023-07-13 00:49:25 +0200 | mechap | (~mechap@user/mechap) (Ping timeout: 240 seconds) |
2023-07-13 00:49:53 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2023-07-13 00:50:44 +0200 | mechap | (~mechap@user/mechap) |
2023-07-13 00:51:54 +0200 | nick4 | (~nick@2600:8807:9084:7800:8939:f628:ed3d:955) (Ping timeout: 260 seconds) |
2023-07-13 00:52:10 +0200 | picklejuice | (~root@172.56.218.182) |
2023-07-13 00:53:37 +0200 | nick4 | (~nick@2600:8807:9084:7800:8939:f628:ed3d:955) |
2023-07-13 00:54:42 +0200 | ardavast | (~ardavast@62-73-72-214.ip.btc-net.bg) |
2023-07-13 00:54:55 +0200 | pickleju1ce | (~root@c-73-196-164-60.hsd1.nj.comcast.net) (Ping timeout: 240 seconds) |
2023-07-13 01:00:20 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-07-13 01:00:39 +0200 | bcmiller | (~bm3719@66.42.95.185) (Ping timeout: 258 seconds) |
2023-07-13 01:01:38 +0200 | byorgey | (~byorgey@155.138.238.211) (Ping timeout: 250 seconds) |
2023-07-13 01:02:23 +0200 | wroathe | (~wroathe@user/wroathe) (Read error: Connection reset by peer) |
2023-07-13 01:02:33 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-07-13 01:04:53 +0200 | falafel | (~falafel@2603-7000-a700-8710-9520-756f-3405-563b.res6.spectrum.com) (Ping timeout: 246 seconds) |
2023-07-13 01:07:12 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-07-13 01:12:22 +0200 | bcmiller | (~bm3719@66.42.95.185) |
2023-07-13 01:12:31 +0200 | ardavast | (~ardavast@62-73-72-214.ip.btc-net.bg) (Ping timeout: 245 seconds) |
2023-07-13 01:13:58 +0200 | thegeekinside | (~thegeekin@189.217.90.138) |
2023-07-13 01:17:07 +0200 | zeenk | (~zeenk@2a02:2f04:a00b:1800::7fe) (Quit: Konversation terminated!) |
2023-07-13 01:17:09 +0200 | Midjak | (~Midjak@82.66.147.146) |
2023-07-13 01:20:11 +0200 | pickleju1ce | (~root@c-73-196-164-60.hsd1.nj.comcast.net) |
2023-07-13 01:22:14 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-07-13 01:22:29 +0200 | Wstfgl0 | (~me-me@2602:ff16:3:0:1:dc:beef:d00d) |
2023-07-13 01:23:42 +0200 | mxs_ | (~mxs@user/mxs) |
2023-07-13 01:24:06 +0200 | NemesisD_ | (sid24071@id-24071.lymington.irccloud.com) |
2023-07-13 01:24:10 +0200 | geekosaur[c]_ | (sid609282@xmonad/geekosaur) |
2023-07-13 01:24:11 +0200 | picklejuice | (~root@172.56.218.182) (Ping timeout: 245 seconds) |
2023-07-13 01:24:12 +0200 | ardavast | (~ardavast@62-73-72-214.ip.btc-net.bg) |
2023-07-13 01:25:22 +0200 | Logio_ | (em@kapsi.fi) |
2023-07-13 01:25:28 +0200 | Katarushisu3 | (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) |
2023-07-13 01:25:35 +0200 | HerlockSholmes2 | (~herlock@2001:19f0:5c00:27fc:5400:4ff:fe7a:1f8e) |
2023-07-13 01:25:53 +0200 | fr33domlover9 | (~fr33domlo@towards.vision) |
2023-07-13 01:25:57 +0200 | finnekit6 | (~finnekit@fsf/member/finnekit) |
2023-07-13 01:25:58 +0200 | TimWolla_ | (~timwolla@2a01:4f8:150:6153:beef::6667) |
2023-07-13 01:26:05 +0200 | SoF3 | (~skius@user/skius) |
2023-07-13 01:26:23 +0200 | tzh_ | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2023-07-13 01:26:27 +0200 | glider_ | (~glider@user/glider) |
2023-07-13 01:26:54 +0200 | hexology- | (~hexology@user/hexology) |
2023-07-13 01:26:55 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 240 seconds) |
2023-07-13 01:27:06 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds) |
2023-07-13 01:27:07 +0200 | mewra | (~aranea@wireguard/contributorcat/mira) |
2023-07-13 01:27:09 +0200 | ringo___ | (~ringo@157.230.117.128) |
2023-07-13 01:27:28 +0200 | abrar | (~abrar@pool-72-78-199-186.phlapa.fios.verizon.net) |
2023-07-13 01:27:29 +0200 | sviermsung | (spxLkMy9HV@user/s4msung) |
2023-07-13 01:27:30 +0200 | bah_ | (~bah@l1.tel) |
2023-07-13 01:27:36 +0200 | krjt | (~krjst@2604:a880:800:c1::16b:8001) |
2023-07-13 01:27:38 +0200 | anderson_ | (~anderson@user/anderson) |
2023-07-13 01:27:54 +0200 | yaroot_ | (~yaroot@p3274042-ipngn2701souka.saitama.ocn.ne.jp) |
2023-07-13 01:28:15 +0200 | bramhaag8 | (~bramhaag@134.195.121.39) |
2023-07-13 01:28:27 +0200 | swistak- | (~swistak@185.21.216.141) |
2023-07-13 01:28:33 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 246 seconds) |
2023-07-13 01:29:12 +0200 | adamCS_ | (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) |
2023-07-13 01:29:19 +0200 | piele_ | (~piele@tbonesteak.creativeserver.net) |
2023-07-13 01:29:22 +0200 | ames2 | (~amelia@offtopia/offtopian/amelia) |
2023-07-13 01:29:26 +0200 | carbolymer_ | (~carbolyme@dropacid.net) |
2023-07-13 01:29:37 +0200 | MonsoonSecrecy_ | (f78c86e960@2604:bf00:561:2000::f99) |
2023-07-13 01:29:59 +0200 | chessai_ | (sid225296@id-225296.lymington.irccloud.com) |
2023-07-13 01:30:26 +0200 | meooow_ | (~meooow@165.232.184.169) |
2023-07-13 01:30:28 +0200 | jackdk_ | (sid373013@cssa/jackdk) |
2023-07-13 01:30:29 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2023-07-13 01:30:53 +0200 | kraftwerk28_ | (~kraftwerk@178.62.210.83) |
2023-07-13 01:31:03 +0200 | tired- | (~tired@user/tired) |
2023-07-13 01:31:33 +0200 | kitzman_ | (~kitzman@user/dekenevs) |
2023-07-13 01:32:29 +0200 | HerlockSholmes | (~herlock@2001:19f0:5c00:27fc:5400:4ff:fe7a:1f8e) (*.net *.split) |
2023-07-13 01:32:29 +0200 | jackdk | (sid373013@cssa/jackdk) (*.net *.split) |
2023-07-13 01:32:29 +0200 | geekosaur[c] | (sid609282@xmonad/geekosaur) (*.net *.split) |
2023-07-13 01:32:29 +0200 | caubert | (~caubert@user/caubert) (*.net *.split) |
2023-07-13 01:32:29 +0200 | Katarushisu | (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (*.net *.split) |
2023-07-13 01:32:29 +0200 | chessai | (sid225296@id-225296.lymington.irccloud.com) (*.net *.split) |
2023-07-13 01:32:29 +0200 | bastelfreak | (bastelfrea@libera/staff/VoxPupuli.bastelfreak) (*.net *.split) |
2023-07-13 01:32:29 +0200 | hook54321 | (sid149355@user/hook54321) (*.net *.split) |
2023-07-13 01:32:29 +0200 | MonsoonSecrecy | (f78c86e960@2604:bf00:561:2000::f99) (*.net *.split) |
2023-07-13 01:32:29 +0200 | swistak | (~swistak@185.21.216.141) (*.net *.split) |
2023-07-13 01:32:29 +0200 | TimWolla | (~timwolla@2a01:4f8:150:6153:beef::6667) (*.net *.split) |
2023-07-13 01:32:29 +0200 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) (*.net *.split) |
2023-07-13 01:32:29 +0200 | mxs | (~mxs@user/mxs) (*.net *.split) |
2023-07-13 01:32:29 +0200 | yaroot | (~yaroot@p3274042-ipngn2701souka.saitama.ocn.ne.jp) (*.net *.split) |
2023-07-13 01:32:29 +0200 | meooow | (~meooow@2400:6180:100:d0::ad9:e001) (*.net *.split) |
2023-07-13 01:32:29 +0200 | NemesisD | (sid24071@id-24071.lymington.irccloud.com) (*.net *.split) |
2023-07-13 01:32:29 +0200 | SoF | (~skius@user/skius) (*.net *.split) |
2023-07-13 01:32:29 +0200 | kitzman | (~kitzman@user/dekenevs) (*.net *.split) |
2023-07-13 01:32:29 +0200 | fr33domlover | (~fr33domlo@towards.vision) (*.net *.split) |
2023-07-13 01:32:29 +0200 | Me-me | (~me-me@2602:ff16:3:0:1:dc:beef:d00d) (*.net *.split) |
2023-07-13 01:32:29 +0200 | s4msung | (4RqcWUWWqt@user/s4msung) (*.net *.split) |
2023-07-13 01:32:29 +0200 | eL_Bart0 | (eL_Bart0@dietunichtguten.org) (*.net *.split) |
2023-07-13 01:32:29 +0200 | finnekit | (~finnekit@fsf/member/finnekit) (*.net *.split) |
2023-07-13 01:32:29 +0200 | bah | (~bah@l1.tel) (*.net *.split) |
2023-07-13 01:32:29 +0200 | abrar_ | (~abrar@pool-72-78-199-186.phlapa.fios.verizon.net) (*.net *.split) |
2023-07-13 01:32:29 +0200 | mira | (~aranea@wireguard/contributorcat/mira) (*.net *.split) |
2023-07-13 01:32:30 +0200 | tired | (~tired@user/tired) (*.net *.split) |
2023-07-13 01:32:30 +0200 | Logio | (em@kapsi.fi) (*.net *.split) |
2023-07-13 01:32:30 +0200 | ringo__ | (~ringo@157.230.117.128) (*.net *.split) |
2023-07-13 01:32:30 +0200 | krjst | (~krjst@2604:a880:800:c1::16b:8001) (*.net *.split) |
2023-07-13 01:32:30 +0200 | carbolymer | (~carbolyme@dropacid.net) (*.net *.split) |
2023-07-13 01:32:30 +0200 | hexology | (~hexology@user/hexology) (*.net *.split) |
2023-07-13 01:32:30 +0200 | kraftwerk28 | (~kraftwerk@178.62.210.83) (*.net *.split) |
2023-07-13 01:32:30 +0200 | bgamari | (~bgamari@64.223.233.113) (*.net *.split) |
2023-07-13 01:32:30 +0200 | ames | (~amelia@offtopia/offtopian/amelia) (*.net *.split) |
2023-07-13 01:32:30 +0200 | heath2 | (~heath@user/heath) (*.net *.split) |
2023-07-13 01:32:30 +0200 | anderson | (~anderson@user/anderson) (*.net *.split) |
2023-07-13 01:32:30 +0200 | glider | (~glider@user/glider) (*.net *.split) |
2023-07-13 01:32:30 +0200 | adamCS | (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) (*.net *.split) |
2023-07-13 01:32:30 +0200 | piele | (~piele@tbonesteak.creativeserver.net) (*.net *.split) |
2023-07-13 01:32:30 +0200 | bramhaag | (~bramhaag@134.195.121.39) (*.net *.split) |
2023-07-13 01:32:30 +0200 | niko | (niko@libera/staff/niko) (*.net *.split) |
2023-07-13 01:32:30 +0200 | fr33domlover9 | fr33domlover |
2023-07-13 01:32:30 +0200 | HerlockSholmes2 | HerlockSholmes |
2023-07-13 01:32:30 +0200 | adamCS_ | adamCS |
2023-07-13 01:32:30 +0200 | finnekit6 | finnekit |
2023-07-13 01:32:30 +0200 | NemesisD_ | NemesisD |
2023-07-13 01:32:30 +0200 | Katarushisu3 | Katarushisu |
2023-07-13 01:32:30 +0200 | jackdk_ | jackdk |
2023-07-13 01:32:30 +0200 | SoF3 | SoF |
2023-07-13 01:32:30 +0200 | MonsoonSecrecy_ | MonsoonSecrecy |
2023-07-13 01:32:30 +0200 | geekosaur[c]_ | geekosaur[c] |
2023-07-13 01:32:30 +0200 | chessai_ | chessai |
2023-07-13 01:32:30 +0200 | TimWolla_ | TimWolla |
2023-07-13 01:32:30 +0200 | yaroot_ | yaroot |
2023-07-13 01:32:30 +0200 | anderson_ | anderson |
2023-07-13 01:32:30 +0200 | ames2 | ames |
2023-07-13 01:32:30 +0200 | bramhaag8 | bramhaag |
2023-07-13 01:32:31 +0200 | mxs_ | mxs |
2023-07-13 01:32:57 +0200 | bastelfreak | (bastelfrea@libera/staff/VoxPupuli.bastelfreak) |
2023-07-13 01:33:20 +0200 | yahb2 | (~yahb2@2a01:4f8:c0c:5c7b::2) |
2023-07-13 01:37:22 +0200 | byorgey | (~byorgey@155.138.238.211) |
2023-07-13 01:37:28 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 01:39:38 +0200 | buckwheatsuperpo | (~buckwheat@209.122.211.192) (Ping timeout: 252 seconds) |
2023-07-13 01:41:22 +0200 | hook54321 | (sid149355@user/hook54321) |
2023-07-13 01:41:25 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds) |
2023-07-13 01:45:21 +0200 | picklejuice | (~root@172.58.203.205) |
2023-07-13 01:45:29 +0200 | mauke_ | (~mauke@user/mauke) |
2023-07-13 01:46:52 +0200 | pickleju1ce | (~root@c-73-196-164-60.hsd1.nj.comcast.net) (Read error: Connection reset by peer) |
2023-07-13 01:46:55 +0200 | mauke | (~mauke@user/mauke) (Ping timeout: 240 seconds) |
2023-07-13 01:46:55 +0200 | mauke_ | mauke |
2023-07-13 01:47:13 +0200 | niko | (niko@libera/staff/niko) |
2023-07-13 01:49:54 +0200 | picklejuice | (~root@172.58.203.205) (Ping timeout: 252 seconds) |
2023-07-13 01:50:21 +0200 | picklejuice | (~root@c-73-196-164-60.hsd1.nj.comcast.net) |
2023-07-13 01:51:08 +0200 | sm[i] | (~sm@024-165-041-186.res.spectrum.com) |
2023-07-13 01:51:41 +0200 | mstksg | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 245 seconds) |
2023-07-13 01:53:58 +0200 | mstksg | (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
2023-07-13 01:54:47 +0200 | picklejuice | (~root@c-73-196-164-60.hsd1.nj.comcast.net) (Ping timeout: 245 seconds) |
2023-07-13 01:55:27 +0200 | picklejuice | (~root@172.58.204.173) |
2023-07-13 01:55:32 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 240 seconds) |
2023-07-13 01:55:41 +0200 | neuroevolutus | (~neuroevol@2001:ac8:9a:76::1e) (Quit: Client closed) |
2023-07-13 02:04:24 +0200 | dibblego | (~dibblego@116-255-1-157.ip4.superloop.au) |
2023-07-13 02:04:24 +0200 | dibblego | (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
2023-07-13 02:04:24 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-13 02:04:30 +0200 | motherfsck | (~motherfsc@user/motherfsck) |
2023-07-13 02:10:22 +0200 | bilegeek | (~bilegeek@2600:1008:b023:ebcc:e781:815d:405f:74ed) |
2023-07-13 02:12:31 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
2023-07-13 02:12:56 +0200 | picklejuice | (~root@172.58.204.173) (Ping timeout: 245 seconds) |
2023-07-13 02:18:10 +0200 | picklejuice | (~root@172.56.216.194) |
2023-07-13 02:19:41 +0200 | smalltalkman | (uid545680@id-545680.hampstead.irccloud.com) |
2023-07-13 02:20:22 +0200 | dibblego | (~dibblego@116-255-1-157.ip4.superloop.au) |
2023-07-13 02:20:23 +0200 | dibblego | (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
2023-07-13 02:20:23 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-13 02:20:48 +0200 | neuroevolutus | (~neuroevol@2001:ac8:9a:76::1e) |
2023-07-13 02:24:45 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c680) |
2023-07-13 02:26:51 +0200 | eL_Bart0 | (eL_Bart0@dietunichtguten.org) |
2023-07-13 02:26:58 +0200 | heath2 | (~heath@user/heath) |
2023-07-13 02:26:58 +0200 | caubert | (~caubert@user/caubert) |
2023-07-13 02:26:59 +0200 | bgamari | (~bgamari@64.223.233.113) |
2023-07-13 02:31:00 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c680) (Remote host closed the connection) |
2023-07-13 02:31:21 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c680) |
2023-07-13 02:36:35 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c680) (Ping timeout: 258 seconds) |
2023-07-13 02:48:10 +0200 | picklejuice | (~root@172.56.216.194) (Ping timeout: 250 seconds) |
2023-07-13 02:48:13 +0200 | picklejuice | (~root@172.56.222.50) |
2023-07-13 02:50:42 +0200 | d34df00d | (~d34df00d@2600:1702:4f1b:7c10::e) |
2023-07-13 02:50:51 +0200 | mncheck | (~mncheck@193.224.205.254) (Ping timeout: 245 seconds) |
2023-07-13 02:50:56 +0200 | <d34df00d> | Hi! |
2023-07-13 02:51:26 +0200 | <d34df00d> | Let's say I have two megaparsec parsers, p and q. q accepts all that is accepted by p, and then some extra strings. |
2023-07-13 02:51:37 +0200 | <d34df00d> | I need to parse a list of p's followed by a single q. How do I do that? |
2023-07-13 02:52:10 +0200 | pickleju1ce | (~root@c-73-196-164-60.hsd1.nj.comcast.net) |
2023-07-13 02:52:18 +0200 | <d34df00d> | `some p >> q` won't work since that `p` _might_ consume what needs to be consumed by `q` |
2023-07-13 02:54:02 +0200 | picklejuice | (~root@172.56.222.50) (Ping timeout: 246 seconds) |
2023-07-13 02:55:28 +0200 | <d34df00d> | And there's no easy conversion between the types produces by p and q, so I cannot just make q optional and convert the `last` of `some p` into q's type if `optional q` fails. |
2023-07-13 02:56:03 +0200 | <probie> | Are the parsers supplied by someone else? |
2023-07-13 02:58:23 +0200 | <d34df00d> | probie: nope, but they are non-trivial enough that changing them is a sort of last resort thing (and then I'm not even sure it's possible). |
2023-07-13 02:58:23 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-07-13 03:02:58 +0200 | <probie> | I don't suppose you can get away with `p >> some ((Right <$> try (q >> eof)) <|> (Left <$> p))` (assuming at least one p and at least one q, and q is the end of input) |
2023-07-13 03:02:59 +0200 | <d34df00d> | Unfortunately it might not be the end of input. |
2023-07-13 03:02:59 +0200 | jargon | (~jargon@184.101.73.95) |
2023-07-13 03:02:59 +0200 | <d34df00d> | As a model example, think of a comma-separated list of sublists, where each sublist is some integers followed by a double (which might be written as, well, an integer, without any dots). |
2023-07-13 03:05:36 +0200 | <d34df00d> | So like "1 2 3 4.2, 10 20 30, 40 50.0" |
2023-07-13 03:05:36 +0200 | <d34df00d> | And let's pretend there is no Integer → Double function. |
2023-07-13 03:09:16 +0200 | jargon | (~jargon@184.101.73.95) (Remote host closed the connection) |
2023-07-13 03:09:42 +0200 | <probie> | `(:) <$> fmap Left p <*> some ((Right <$> try (q <* notFollowedBy p)) <|> (Left <$> p))`? |
2023-07-13 03:10:02 +0200 | hexology- | hexology |
2023-07-13 03:10:11 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-07-13 03:10:11 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-07-13 03:10:11 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-07-13 03:10:26 +0200 | razetime | (~quassel@117.193.5.76) |
2023-07-13 03:10:47 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2023-07-13 03:11:41 +0200 | <d34df00d> | Oh, nice! |
2023-07-13 03:11:56 +0200 | <d34df00d> | I was just looking at notFollowedBy and lookahead and trying to come up with something, but it looks like it does the job! |
2023-07-13 03:16:50 +0200 | arahael_ | (~arahael@1.145.56.143) |
2023-07-13 03:16:51 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-07-13 03:16:56 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2023-07-13 03:21:46 +0200 | neuroevolutus | (~neuroevol@2001:ac8:9a:76::1e) (Quit: Client closed) |
2023-07-13 03:25:43 +0200 | falafel | (~falafel@2603-7000-a700-8710-ff20-0c7b-3a36-fc77.res6.spectrum.com) |
2023-07-13 03:27:25 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 240 seconds) |
2023-07-13 03:32:08 +0200 | <Clinton[m]> | I'm trying to understand if the structure I have here already exists.... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/d1ef1e294a91154b0aa072dd9a14ae27b214…>) |
2023-07-13 03:32:42 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
2023-07-13 03:38:00 +0200 | sm[i] | (~sm@024-165-041-186.res.spectrum.com) (Quit: sm[i]) |
2023-07-13 03:38:40 +0200 | m21it | (~m21it@2800:ac:8014:1816:9812:736a:f822:ce6f) |
2023-07-13 03:41:12 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 246 seconds) |
2023-07-13 03:42:52 +0200 | sm[i] | (~sm@024-165-041-186.res.spectrum.com) |
2023-07-13 03:44:42 +0200 | Midjak | (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
2023-07-13 03:45:01 +0200 | Hooloovoo | (~Hooloovoo@hax0rbana.org) |
2023-07-13 03:47:40 +0200 | neuroevolutus | (~neuroevol@2001:ac8:9a:76::1e) |
2023-07-13 03:47:40 +0200 | <m21it> | Is there somehow reasonable way to derive `Data.Data.Data` instance of the type `T a b` without the constructors of `T a b` being in scope? The package does expose only the type `T a b` and smart constructors. I'm ok with using any means to derive it or write by hand - `TH` or `GHC.Generics`, I just don't know how. |
2023-07-13 03:47:40 +0200 | neuroevolutus | (~neuroevol@2001:ac8:9a:76::1e) (Client Quit) |
2023-07-13 03:52:26 +0200 | statusbot | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Remote host closed the connection) |
2023-07-13 03:59:03 +0200 | statusbot10 | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) |
2023-07-13 03:59:04 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2023-07-13 03:59:05 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-07-13 03:59:05 +0200 | picklejuice | (~root@172.56.222.50) |
2023-07-13 03:59:05 +0200 | statusbot10 | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Remote host closed the connection) |
2023-07-13 03:59:05 +0200 | statusbot | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) |
2023-07-13 03:59:05 +0200 | mstksg | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 245 seconds) |
2023-07-13 03:59:05 +0200 | pickleju1ce | (~root@c-73-196-164-60.hsd1.nj.comcast.net) (Ping timeout: 245 seconds) |
2023-07-13 03:59:05 +0200 | curby | (~curby@cpe-76-183-125-175.tx.res.rr.com) |
2023-07-13 03:59:05 +0200 | <ski> | @hackage ffunctor |
2023-07-13 03:59:06 +0200 | <lambdabot> | https://hackage.haskell.org/package/ffunctor |
2023-07-13 03:59:13 +0200 | mstksg | (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
2023-07-13 03:59:23 +0200 | <ski> | @help mmorph |
2023-07-13 03:59:24 +0200 | <lambdabot> | help <command>. Ask for help for <command>. Try 'list' for all commands |
2023-07-13 03:59:29 +0200 | <ski> | @hackage mmorph |
2023-07-13 03:59:29 +0200 | <lambdabot> | https://hackage.haskell.org/package/mmorph |
2023-07-13 03:59:50 +0200 | <ski> | Clinton[m] : those seem relevant ? |
2023-07-13 04:00:10 +0200 | <ski> | (you could also search for `HFunctor' which seems to be another related version) |
2023-07-13 04:00:47 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 04:00:48 +0200 | puke | (~puke@user/puke) (Ping timeout: 252 seconds) |
2023-07-13 04:00:51 +0200 | Sciencentistguy7 | (~sciencent@hacksoc/ordinary-member) |
2023-07-13 04:02:12 +0200 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Ping timeout: 246 seconds) |
2023-07-13 04:02:12 +0200 | Sciencentistguy7 | Sciencentistguy |
2023-07-13 04:02:17 +0200 | <ski> | although, with `FFunctor t' you have `t :: (* -> *) -> *', but for your example, you'd want `t' to be polymorphic (so `FFunctor' would be a rank-2 type class, then), namely `t :: (k -> *) -> *' for every `k' |
2023-07-13 04:05:21 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 246 seconds) |
2023-07-13 04:07:34 +0200 | sm[i] | (~sm@024-165-041-186.res.spectrum.com) (Quit: sm[i]) |
2023-07-13 04:11:04 +0200 | td_ | (~td@i53870932.versanet.de) (Ping timeout: 252 seconds) |
2023-07-13 04:12:18 +0200 | xff0x_ | (~xff0x@ai086045.d.east.v6connect.net) (Ping timeout: 250 seconds) |
2023-07-13 04:12:54 +0200 | td_ | (~td@i5387091F.versanet.de) |
2023-07-13 04:13:24 +0200 | Yurtdejure | (~Yurtdejur@128.153.220.246) |
2023-07-13 04:13:45 +0200 | arahael_ | (~arahael@1.145.56.143) (Ping timeout: 246 seconds) |
2023-07-13 04:14:32 +0200 | thegeekinside | (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
2023-07-13 04:15:26 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-07-13 04:15:48 +0200 | Yurtdejure | (~Yurtdejur@128.153.220.246) (Quit: Leaving.) |
2023-07-13 04:21:18 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-07-13 04:21:19 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-07-13 04:21:19 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-07-13 04:22:19 +0200 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-07-13 04:24:44 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 246 seconds) |
2023-07-13 04:24:56 +0200 | [_] | [itchyjunk] |
2023-07-13 04:25:34 +0200 | sm[i] | (~sm@024-165-041-186.res.spectrum.com) |
2023-07-13 04:30:22 +0200 | pickleju1ce | (~root@c-73-196-164-60.hsd1.nj.comcast.net) |
2023-07-13 04:30:26 +0200 | razetime | (~quassel@117.193.5.76) (Ping timeout: 245 seconds) |
2023-07-13 04:30:26 +0200 | picklejuice | (~root@172.56.222.50) (Read error: Connection reset by peer) |
2023-07-13 04:30:37 +0200 | JimL | (~quassel@89.162.16.26) (Ping timeout: 245 seconds) |
2023-07-13 04:31:37 +0200 | razetime | (~quassel@117.193.6.5) |
2023-07-13 04:33:53 +0200 | JimL | (~quassel@89.162.16.26) |
2023-07-13 04:37:48 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 04:39:32 +0200 | JimL | (~quassel@89.162.16.26) (Ping timeout: 245 seconds) |
2023-07-13 04:39:45 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-07-13 04:40:52 +0200 | puke | (~puke@user/puke) |
2023-07-13 04:41:59 +0200 | puke | (~puke@user/puke) (Max SendQ exceeded) |
2023-07-13 04:42:28 +0200 | puke | (~puke@user/puke) |
2023-07-13 04:44:43 +0200 | m21it | (~m21it@2800:ac:8014:1816:9812:736a:f822:ce6f) (Remote host closed the connection) |
2023-07-13 04:44:57 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds) |
2023-07-13 04:46:01 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-07-13 04:50:51 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
2023-07-13 04:58:23 +0200 | xff0x_ | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2023-07-13 05:00:34 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-07-13 05:00:34 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-07-13 05:00:34 +0200 | finn_elija | FinnElija |
2023-07-13 05:00:35 +0200 | fweht | (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-07-13 05:00:37 +0200 | mewra | mira |
2023-07-13 05:03:53 +0200 | tzh_ | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 240 seconds) |
2023-07-13 05:04:39 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 05:09:22 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 252 seconds) |
2023-07-13 05:18:54 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
2023-07-13 05:20:17 +0200 | arahael_ | (~arahael@1.145.2.91) |
2023-07-13 05:21:00 +0200 | zaquest | (~notzaques@5.130.79.72) (Remote host closed the connection) |
2023-07-13 05:27:04 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2023-07-13 05:29:00 +0200 | notzmv | (~zmv@user/notzmv) |
2023-07-13 05:29:32 +0200 | arahael_ | (~arahael@1.145.2.91) (Ping timeout: 245 seconds) |
2023-07-13 05:32:59 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds) |
2023-07-13 05:38:42 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 252 seconds) |
2023-07-13 05:38:47 +0200 | aforemny_ | (~aforemny@2001:9e8:6cee:2b00:575d:a630:13ac:5fc5) |
2023-07-13 05:38:59 +0200 | aforemny | (~aforemny@2001:9e8:6cc8:7800:6851:c622:94fb:817b) (Ping timeout: 264 seconds) |
2023-07-13 05:54:34 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) |
2023-07-13 06:01:46 +0200 | biberu | (~biberu@user/biberu) (Read error: Connection reset by peer) |
2023-07-13 06:07:08 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 06:08:07 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-07-13 06:11:11 +0200 | cassiopea | (~cassiopea@user/cassiopea) |
2023-07-13 06:11:42 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 252 seconds) |
2023-07-13 06:16:37 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-07-13 06:20:25 +0200 | XliminalX | (~goirc@2001:19f0:5c00:27fc:5400:4ff:fe7a:1f8e) (Remote host closed the connection) |
2023-07-13 06:21:41 +0200 | XliminalX | (~goirc@2001:19f0:5c00:27fc:5400:4ff:fe7a:1f8e) |
2023-07-13 06:25:16 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2023-07-13 06:30:21 +0200 | biberu | (~biberu@user/biberu) |
2023-07-13 06:30:36 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving) |
2023-07-13 06:39:14 +0200 | <sm> | hey all. What function picks the first result of applying a monadic action to a sequence, like Monad m => (a -> m b) -> [a] -> b ? And why doesn't hoogle find anything for that type signature ? |
2023-07-13 06:41:46 +0200 | <sm> | aha, should be (a -> m b) -> [a] -> m b |
2023-07-13 06:44:36 +0200 | <[Leary]> | sm: Maybe you want `asum . fmap`? |
2023-07-13 06:44:55 +0200 | <sm> | thanks.. no I really just want the first |
2023-07-13 06:47:08 +0200 | <[Leary]> | Err. `foldr1 (<*) . fmap` then? I doubt you'd find that exposed by a library. |
2023-07-13 06:49:27 +0200 | <Axman6> | that's not quite the same right? that will execute the function on all inputs, I assume youy want shortcutting |
2023-07-13 06:53:16 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
2023-07-13 06:53:17 +0200 | hgolden_ | (~hgolden@2603-8000-9d00-3ed1-7b72-5998-97ad-985d.res6.spectrum.com) (Quit: Leaving) |
2023-07-13 07:01:20 +0200 | <sm> | right, I went with: |
2023-07-13 07:01:20 +0200 | <sm> | case mapM (findError ...) as of |
2023-07-13 07:01:20 +0200 | <sm> | Just (err:_) -> Left err |
2023-07-13 07:01:20 +0200 | <sm> | _ -> Right () |
2023-07-13 07:06:08 +0200 | <ski> | sm : do you only want `Left', in case `findError ...' gives a `Just' for *every* element of `as' ? |
2023-07-13 07:06:46 +0200 | <sm> | I only want to find the first Just, and transform it to a Left |
2023-07-13 07:07:06 +0200 | <sm> | to report just the first error |
2023-07-13 07:07:31 +0200 | <ski> | what if `map (findError ...) as = [Just err,Nothing,...]', do you still want `Left err' ? |
2023-07-13 07:08:35 +0200 | <ski> | (because that's not what your snippet just above does. it'll only give `Left' if *every* `findError ...' call gives a `Just') |
2023-07-13 07:10:28 +0200 | <monochrom> | asum |
2023-07-13 07:10:29 +0200 | <ski> | if you want to abort on first found error (if any), then use `Either Err' (and have `findError ...' give `Left err', not `Just err' .. or convert, using `maybe (Right ()) Left :: Maybe Err -> Either Err ()') |
2023-07-13 07:11:36 +0200 | <sm> | ski: argh, thanks! I meant to write (Just err : _) -> ... |
2023-07-13 07:11:41 +0200 | <jade[m]> | <sm> "hey all. What function picks the..." <- just based off of the description it sounds like you want `foo f = f . head` which seems way too trivial? |
2023-07-13 07:11:53 +0200 | <jade[m]> | im sure im just not reading it right |
2023-07-13 07:12:18 +0200 | <ski> | yea, i guess `asum' would also work |
2023-07-13 07:12:31 +0200 | <Axman6> | m definitely need to be more constrained, or the function needs to return more than just b |
2023-07-13 07:12:37 +0200 | sm | tried to write the stupid version, and still hasn't grokked the types |
2023-07-13 07:13:15 +0200 | trev | (~trev@user/trev) |
2023-07-13 07:13:21 +0200 | <ski> | sm : well, in that case, did you also mean to write `map' rather than `mapM' ? |
2023-07-13 07:13:45 +0200 | <ski> | (also, btw, the brackets in `(Just err : _) -> ...' are redundant) |
2023-07-13 07:14:21 +0200 | <sm> | hmm.. didn't I get it right ? (It's working so far) |
2023-07-13 07:15:00 +0200 | <sm> | HLS infers that mapM's type as ([Posting] -> Maybe String) -> [[Posting]] -> Maybe [String] |
2023-07-13 07:15:16 +0200 | <ski> | just saying that if you change the type of your pattern, perhaps you meant to adapt the expression being scrutinized, as well (unless you intend for that `mapM' to run in the list monad, rather than `Maybe' monad ?) |
2023-07-13 07:15:48 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-07-13 07:16:00 +0200 | <sm> | here's the full function:... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/614ab24356285cbeebce3e92d06d954ad91e…>) |
2023-07-13 07:16:58 +0200 | <ski> | (in which case, i guess, `as' is not a list, but a `Maybe') |
2023-07-13 07:17:08 +0200 | <ski> | @type \f as -> mapM f as :: [Maybe String] |
2023-07-13 07:17:09 +0200 | <lambdabot> | (a -> [String]) -> Maybe a -> [Maybe String] |
2023-07-13 07:17:20 +0200 | <ski> | @type \f as -> mapM f (as :: Maybe String) :: [Maybe String] |
2023-07-13 07:17:21 +0200 | <lambdabot> | (String -> [String]) -> Maybe String -> [Maybe String] |
2023-07-13 07:17:59 +0200 | <sm> | (and: findRecentAssertionError :: Day -> [Posting] -> Maybe String) |
2023-07-13 07:18:34 +0200 | <sm> | I think it's ok |
2023-07-13 07:19:04 +0200 | <jade[m]> | sm: > <@simonmic:matrix.org> here's the full function:... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/089823d8766ee567fc1c985261ab426b623f…>) |
2023-07-13 07:19:17 +0200 | <sm> | gah: "ERROR: please avoid regexps larger than 300 characters, they trigger a memory leak in regex-tdfa" |
2023-07-13 07:19:55 +0200 | <sm> | I added this message long ago, I wonder if it's still true |
2023-07-13 07:19:57 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds) |
2023-07-13 07:19:58 +0200 | <ski> | sm : that will *only* give `Left err', if *all* elements of `acctps' (which should contain at least one element) give a `Just' |
2023-07-13 07:19:59 +0200 | <chreekat> | Lol |
2023-07-13 07:20:39 +0200 | <ski> | sm : if you intended to get a `Left err', if at *least* one of the `acctps' gives a `Just', then you need to rethink |
2023-07-13 07:21:09 +0200 | <jade[m]> | oh |
2023-07-13 07:21:26 +0200 | <sm> | ski: hmm, as you were saying. Ok, it's subtle and I guess I have missed it (twice). Thank you. I'll rethink |
2023-07-13 07:21:51 +0200 | <sm> | it's working, but I suppose accidentally |
2023-07-13 07:22:47 +0200 | <ski> | sm : fixes : use `Either String ()' as result of `findRecentAssertionError' (or convert the result to that, using `maybe'). or use `asum' as also suggested |
2023-07-13 07:23:45 +0200 | catch22 | (~catch22@204.40.96.58.static.exetel.com.au) |
2023-07-13 07:24:09 +0200 | <sm> | won't asum "sum" (concatenate) the strings ? |
2023-07-13 07:24:42 +0200 | <ski> | > asum [Nothing,Just "foo",Nothing,Just "bar"] |
2023-07-13 07:24:43 +0200 | <lambdabot> | Just "foo" |
2023-07-13 07:25:11 +0200 | <sm> | aha! Well thanks to the asum suggesters! |
2023-07-13 07:25:31 +0200 | <ski> | `asum' is probably the simplest, for your (existing) situation |
2023-07-13 07:25:35 +0200 | <jade[m]> | sm: same meaning of "sum" as in sum-type I believe |
2023-07-13 07:26:07 +0200 | <ski> | @type asum -- no contraint on element type `a' itself |
2023-07-13 07:26:08 +0200 | <lambdabot> | (Foldable t, Alternative f) => t (f a) -> f a |
2023-07-13 07:26:09 +0200 | <sm> | asum: "The sum of a collection of actions using (<|>), generalizing concat." |
2023-07-13 07:26:36 +0200 | <ski> | @type msum |
2023-07-13 07:26:37 +0200 | <lambdabot> | (Foldable t, MonadPlus m) => t (m a) -> m a |
2023-07-13 07:28:00 +0200 | <sm> | I find it rather hard to connect this abstract doc with "what will it do to a list of Maybes ?" |
2023-07-13 07:28:02 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 07:29:00 +0200 | <sm> | "concat" would seem to imply keeping all the values |
2023-07-13 07:29:31 +0200 | <sm> | "sum" seems to imply aggregate all the values |
2023-07-13 07:30:12 +0200 | <sm> | never mind, onward |
2023-07-13 07:30:14 +0200 | <ski> | i believe it's "sum", because of the names "mzero","mplus" |
2023-07-13 07:32:26 +0200 | <Axman6> | Is it bad that I'm finding myself wanting dependant types in python? I really want to represent the size of something in its type |
2023-07-13 07:32:30 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 250 seconds) |
2023-07-13 07:32:31 +0200 | erisco | (~erisco@d24-141-66-165.home.cgocable.net) (Ping timeout: 245 seconds) |
2023-07-13 07:33:11 +0200 | falafel | (~falafel@2603-7000-a700-8710-ff20-0c7b-3a36-fc77.res6.spectrum.com) (Ping timeout: 246 seconds) |
2023-07-13 07:33:32 +0200 | erisco | (~erisco@d24-141-66-165.home.cgocable.net) |
2023-07-13 07:35:35 +0200 | acidjnk | (~acidjnk@p200300d6e7072f1890d33f2b4a36e93a.dip0.t-ipconnect.de) |
2023-07-13 07:36:24 +0200 | thegeekinside | (~thegeekin@189.217.90.138) |
2023-07-13 07:38:08 +0200 | erisco | (~erisco@d24-141-66-165.home.cgocable.net) (Ping timeout: 250 seconds) |
2023-07-13 07:38:33 +0200 | erisco | (~erisco@d24-141-66-165.home.cgocable.net) |
2023-07-13 07:38:56 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-07-13 07:43:22 +0200 | pickleju1ce | (~root@c-73-196-164-60.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
2023-07-13 07:43:26 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2023-07-13 07:46:00 +0200 | takuan_dozo | (~takuan@178-116-218-225.access.telenet.be) |
2023-07-13 07:46:01 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Read error: Connection reset by peer) |
2023-07-13 07:52:00 +0200 | erisco | (~erisco@d24-141-66-165.home.cgocable.net) (Ping timeout: 250 seconds) |
2023-07-13 07:53:02 +0200 | erisco | (~erisco@d24-141-66-165.home.cgocable.net) |
2023-07-13 07:57:57 +0200 | thegeekinside | (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
2023-07-13 07:59:38 +0200 | <dminuoso> | sm | [05:28:00] I find it rather hard to connect this abstract doc with "what will it do to a list of Maybes ?" |
2023-07-13 07:59:58 +0200 | <dminuoso> | This applies to pretty much any typeclass that doesnt capture a specific behavior, but just loosely collects things that all follow similar laws. |
2023-07-13 08:00:41 +0200 | mncheck | (~mncheck@193.224.205.254) |
2023-07-13 08:00:42 +0200 | <dminuoso> | It's largely why Monad is so difficult to absord. You cant figure out what instances do just from staring at the laws. |
2023-07-13 08:01:16 +0200 | mauke | (~mauke@user/mauke) (Ping timeout: 245 seconds) |
2023-07-13 08:01:50 +0200 | <Clinton[m]> | ski: yep they were actually thank you. I was already using `barbies` elsewhere, I realised I could just add a `bmap` instance.... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/2c5f78e51c18cdf5c7a37ae85b46d33c0fa6…>) |
2023-07-13 08:03:31 +0200 | <sm> | dminuoso: usually in this situation I would click on the relevant typeclass, and from there to the concrete type's implementation to see what it does. I wasn't able to do that this time |
2023-07-13 08:03:32 +0200 | <sm> | bit of a documentation and dev experience challenge |
2023-07-13 08:04:40 +0200 | <dminuoso> | I think it leads to frustrating and bad UX if looking up the implementation is whats required to understand an interface. |
2023-07-13 08:05:14 +0200 | <sm> | indeed, not having to do that would be even better. In good cases, the concrete type has a haddock saying what it does |
2023-07-13 08:05:38 +0200 | <dminuoso> | While in haddock you could in principle attach some text to the instance, it would be more useful if you could just select an instance and it would display haddock strings attached to the methods instead. |
2023-07-13 08:05:51 +0200 | <dminuoso> | And a universe in which methods were thoroughly documented. |
2023-07-13 08:06:02 +0200 | <sm> | YES |
2023-07-13 08:06:45 +0200 | <sm> | (For the record, I settled on this, finding it clearer than asum): |
2023-07-13 08:06:45 +0200 | <sm> | in case mapMaybe (findRecentAssertionError today) acctps of |
2023-07-13 08:06:45 +0200 | <sm> | [] -> Right () |
2023-07-13 08:06:45 +0200 | <sm> | firsterr:_ -> Left firsterr |
2023-07-13 08:08:01 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-07-13 08:08:53 +0200 | <dminuoso> | sm: You could also traverse over the thing. |
2023-07-13 08:09:03 +0200 | <dminuoso> | I feel like that might capture the behavior better |
2023-07-13 08:09:42 +0200 | <sm> | oh, eg ? |
2023-07-13 08:11:17 +0200 | <sm> | just s/mapMaybe/traverse/ ? |
2023-07-13 08:11:22 +0200 | <dminuoso> | sm: So turn findRecentAssertionError into producing `Either Err ()`, then the whole thing becomes just a `traverse (findRecentAssertionError today) acctps` |
2023-07-13 08:11:44 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-07-13 08:12:19 +0200 | <dminuoso> | Because `Either T` under Monad behaves an exception effect, aborting on the first T |
2023-07-13 08:13:01 +0200 | <ski> | Clinton[m] : hm, surprised that seems to work with `NoTypeInType' |
2023-07-13 08:13:09 +0200 | <sm> | I see. Still, ilke asum, I find it a little non-obvious to the average reader/would-be-contributor that traverse will pick the first Just here. mapMaybe at least has a clear doc and the firsterr name also helps |
2023-07-13 08:13:35 +0200 | <ski> | (i dunno about a way to generate the boilerplate. `Generic' might work, i suppose, or else TH) |
2023-07-13 08:13:39 +0200 | <sm> | s/Just/error/ |
2023-07-13 08:13:50 +0200 | <dminuoso> | sm: well, rename findRecentAssertoin error into `assertNoError` |
2023-07-13 08:13:56 +0200 | <dminuoso> | Or some such |
2023-07-13 08:14:26 +0200 | <dminuoso> | `traverse (assertNoError today) acctps` reads fine to me. |
2023-07-13 08:14:42 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-07-13 08:14:50 +0200 | <dminuoso> | or `for_ acctps (assertNoErr today)` |
2023-07-13 08:14:57 +0200 | <sm> | you would read that and think "this will evaluate to the first error" ? |
2023-07-13 08:15:19 +0200 | <dminuoso> | sm: To me it reads like something that goes over all acctps and checks that there are no errors. Thats the intent. |
2023-07-13 08:15:28 +0200 | <dminuoso> | What this does internally is something I can discover easily if I cared enough. |
2023-07-13 08:15:36 +0200 | <Clinton[m]> | ski: yeah, just needs `DataKinds`. I think the `singletons` library does the job. It's just a bit more generalised than my use case, so it took me a while to work out how to apply it. I'll apparently need to quasi-quote the data type definition to general the singleton template Haskell but that's fine in my use case. |
2023-07-13 08:15:37 +0200 | shriekingnoise | (~shrieking@186.137.175.87) (Ping timeout: 245 seconds) |
2023-07-13 08:15:41 +0200 | <ski> | dminuoso : yea, i suggested `Either Err ()' (with `mapM', which sm was initially using), and others suggested `asum' (on `Maybe Err') |
2023-07-13 08:16:18 +0200 | <ski> | sm : `mapMaybe' looks fine, to me |
2023-07-13 08:16:49 +0200 | <dminuoso> | I guess it depends on established code styles. I relatively heavy use of `traverse`. |
2023-07-13 08:17:21 +0200 | <ski> | mhm, Clinton[m] |
2023-07-13 08:17:25 +0200 | <sm> | yup. I want this to be readable to non-expert haskellers (and myself next year) |
2023-07-13 08:17:26 +0200 | <dminuoso> | But I do have plenty of `wither` (generalized form of mapMaybe) as well. :) |
2023-07-13 08:17:39 +0200 | <sm> | well thanks for the input all. This might get refactored later, but not today, I spent too much time on it. |
2023-07-13 08:17:59 +0200 | <dminuoso> | Happy to bikeshed. :) |
2023-07-13 08:18:08 +0200 | <sm> | I had tests passing and was ready to push this bug, and it would have been a pain to track down much later. ski and #haskell FTW!! |
2023-07-13 08:18:45 +0200 | nick4 | (~nick@2600:8807:9084:7800:8939:f628:ed3d:955) (Ping timeout: 246 seconds) |
2023-07-13 08:19:36 +0200 | neuroevolutus | (~neuroevol@2001:ac8:9a:76::1e) |
2023-07-13 08:31:02 +0200 | matijja | (~matijja@193.77.181.201) (Ping timeout: 252 seconds) |
2023-07-13 08:31:02 +0200 | Philonous | (~Philonous@user/philonous) (Ping timeout: 252 seconds) |
2023-07-13 08:31:16 +0200 | mncheck | (~mncheck@193.224.205.254) (Read error: Connection reset by peer) |
2023-07-13 08:31:46 +0200 | cassiopea | (~cassiopea@user/cassiopea) (Ping timeout: 252 seconds) |
2023-07-13 08:32:08 +0200 | mmaruseacph2 | (~mihai@mihai.page) (Ping timeout: 252 seconds) |
2023-07-13 08:32:35 +0200 | jonathan | (~jonathan@c83-252-3-92.bredband.tele2.se) |
2023-07-13 08:32:35 +0200 | Philonous_ | (~Philonous@user/philonous) |
2023-07-13 08:32:35 +0200 | mncheck-m | (~mncheck@193.224.205.254) |
2023-07-13 08:32:35 +0200 | cassiope1 | (~cassiopea@user/cassiopea) |
2023-07-13 08:32:35 +0200 | mmarusea1ph2 | (~mihai@mihai.page) |
2023-07-13 08:32:49 +0200 | matijja | (~matijja@193.77.181.201) |
2023-07-13 08:38:10 +0200 | hgolden | (~hgolden@2603-8000-9d00-3ed1-7b72-5998-97ad-985d.res6.spectrum.com) |
2023-07-13 08:40:43 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Quit: λ) |
2023-07-13 08:40:57 +0200 | dibblego | (~dibblego@116-255-1-157.ip4.superloop.au) |
2023-07-13 08:40:57 +0200 | dibblego | (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
2023-07-13 08:40:57 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-13 08:41:12 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
2023-07-13 08:41:40 +0200 | michalz | (~michalz@185.246.207.215) |
2023-07-13 08:41:55 +0200 | ft | (~ft@p3e9bcafd.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2023-07-13 08:42:42 +0200 | titibandit | (~titibandi@user/titibandit) |
2023-07-13 08:43:43 +0200 | ft | (~ft@p3e9bc835.dip0.t-ipconnect.de) |
2023-07-13 08:50:45 +0200 | fendor | (~fendor@2a02:8388:1640:be00:bfd6:9a8f:d4f6:3a03) |
2023-07-13 08:51:28 +0200 | sm[i] | (~sm@024-165-041-186.res.spectrum.com) (Quit: sm[i]) |
2023-07-13 08:55:19 +0200 | sm[i] | (~sm@024-165-041-186.res.spectrum.com) |
2023-07-13 08:56:33 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-07-13 09:00:38 +0200 | catch22 | (~catch22@204.40.96.58.static.exetel.com.au) (Quit: Leaving) |
2023-07-13 09:01:02 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2023-07-13 09:02:05 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.1) |
2023-07-13 09:02:44 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-13 09:03:48 +0200 | bilegeek | (~bilegeek@2600:1008:b023:ebcc:e781:815d:405f:74ed) (Quit: Leaving) |
2023-07-13 09:05:16 +0200 | Guest9190 | (~finn@176-151-21-224.abo.bbox.fr) |
2023-07-13 09:15:05 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2023-07-13 09:20:17 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 09:21:02 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 09:21:53 +0200 | gurkenglas | (~gurkengla@dynamic-002-247-240-129.2.247.pool.telefonica.de) |
2023-07-13 09:22:42 +0200 | fweht | (uid404746@id-404746.lymington.irccloud.com) |
2023-07-13 09:24:09 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Quit: λ) |
2023-07-13 09:25:11 +0200 | <arahael_> | I'm attempting to create a new monad, just to try and relearn some of my old haskell, however, I want this monad to effectively "concat" every result it has, however, I'm not sure how to get access to the Semigroup instance: |
2023-07-13 09:25:15 +0200 | <arahael_> | What I have: instance Monad HtmlElementS where |
2023-07-13 09:25:40 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 252 seconds) |
2023-07-13 09:26:34 +0200 | <arahael_> | HtmlElementS is a type where I would like it to contain just HtmlElement, but because I need HtmlElementS to have type '* -> *' for some reason (Not entirely sure why...), I have to leave it underspecified. Which means the monad instance has to be fully generic. How can I otherwise make it instead be: instance Monad (HtmlElementS HtmlElement) where ... ? |
2023-07-13 09:27:26 +0200 | <arahael_> | Because without knowing that the type is HtmlElement, I can't access it's Semigroup instance. |
2023-07-13 09:28:32 +0200 | Wstfgl0 | Me-me |
2023-07-13 09:28:36 +0200 | Me-me | (~me-me@2602:ff16:3:0:1:dc:beef:d00d) (Changing host) |
2023-07-13 09:28:36 +0200 | Me-me | (~me-me@user/me-me) |
2023-07-13 09:28:43 +0200 | <dminuoso> | arahael_: The why is really hard to explain beyond just looking at |
2023-07-13 09:28:46 +0200 | <dminuoso> | % :t (>>=) |
2023-07-13 09:28:46 +0200 | <yahb2> | (>>=) :: Monad m => m a -> (a -> m b) -> m b |
2023-07-13 09:28:55 +0200 | <dminuoso> | % :t return |
2023-07-13 09:28:56 +0200 | <yahb2> | return :: Monad m => a -> m a |
2023-07-13 09:29:10 +0200 | <dminuoso> | Note that the quantification is a bit misleading here. |
2023-07-13 09:29:20 +0200 | <dminuoso> | Assume you are writing an instance for a particular type called T. |
2023-07-13 09:29:24 +0200 | <dminuoso> | Then you have: |
2023-07-13 09:29:36 +0200 | <dminuoso> | (>>=) :: forall a b. T a -> (a -> T b) -> m b |
2023-07-13 09:29:55 +0200 | <dminuoso> | arahael_: Can you see how fundamentally this is about parameterized types that you cant/dont control? |
2023-07-13 09:30:25 +0200 | <arahael_> | I think so, so there's no way for me to say something like, "Define this as an instance of Monad whenever a and b have a Semigroup instance?" |
2023-07-13 09:30:29 +0200 | Putonlalla | (~Putonlall@it-cyan.it.jyu.fi) (Ping timeout: 258 seconds) |
2023-07-13 09:30:45 +0200 | <dminuoso> | arahael_: Maybe start from the beginning. The desire to make it a Monad instance seems strange. |
2023-07-13 09:30:47 +0200 | <arahael_> | Because if I could say that, then that'd be a different type quantification? |
2023-07-13 09:30:52 +0200 | <dminuoso> | Why do you insist on making a Monad instance? |
2023-07-13 09:31:32 +0200 | <arahael_> | dminuoso: It is a bit strange, yeah. What I'm attempting to do is define a nice little DSL that makes it easy to code generate an HTML document. Not sure if it's something pragmatic, it's just a useful excercise to explore haskell with. |
2023-07-13 09:32:34 +0200 | <arahael_> | So basically I want to be able to do something like: html = do h1 "The Title"; p "This is the first paragraph"; etc... |
2023-07-13 09:32:52 +0200 | <dminuoso> | Okay. So the Monad wish comes from wanting to write this inside do-notation? |
2023-07-13 09:32:58 +0200 | <arahael_> | Basically, yeah. |
2023-07-13 09:33:01 +0200 | <dminuoso> | Okay thats fine |
2023-07-13 09:33:24 +0200 | <dminuoso> | arahael_: So consider this example why it must be parametrized: |
2023-07-13 09:33:25 +0200 | <arahael_> | It also came from observing that 'Free monads" are apparently great for defining DSL's like that. Except I don't really understand how to define those either. |
2023-07-13 09:33:32 +0200 | <dminuoso> | You could write: a <- pure '1' |
2023-07-13 09:33:50 +0200 | <dminuoso> | Whether you actually want to write that or not is irrelevant. If you make it Monad, that interface must be supported. |
2023-07-13 09:33:52 +0200 | <dminuoso> | Similarly: |
2023-07-13 09:34:03 +0200 | <dminuoso> | `a <- yourHTMLbuilderMonad` in general must be something sensible |
2023-07-13 09:34:11 +0200 | <ski> | perhaps you could make an output/logging/writer monad |
2023-07-13 09:34:41 +0200 | <ski> | i guess, `Writer HtmlElement' or so |
2023-07-13 09:35:42 +0200 | <arahael_> | dminuoso: Trouble is, right now, the `a <- yourHtmlBuilderMonad` only returns the last item because my `>>=` is just: HtmlElementS a >>= f = f a |
2023-07-13 09:36:12 +0200 | <dminuoso> | arahael_: What Im rather saying is, a monad has some (generalized/rough) notion of "result" that each action can embody. |
2023-07-13 09:36:17 +0200 | <ski> | you've defined `newtype HtmlElementS a = HtmlElementS a' ? |
2023-07-13 09:36:23 +0200 | <arahael_> | ski: Yes. |
2023-07-13 09:36:35 +0200 | <dminuoso> | arahael_: Perhaps start with what ski recommended wrt output/logging/writer. |
2023-07-13 09:36:40 +0200 | dibblego | (~dibblego@116-255-1-157.ip4.superloop.au) |
2023-07-13 09:36:40 +0200 | dibblego | (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
2023-07-13 09:36:40 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-13 09:36:46 +0200 | <ski> | how about `data HtmlElementS a = MkHtmlElementS HtmlElement a' ? |
2023-07-13 09:37:13 +0200 | titiband1t | (~titibandi@user/titibandit) |
2023-07-13 09:37:13 +0200 | <dminuoso> | ski: Mmm, that wont be enough sensibly, you need a zipper at least. |
2023-07-13 09:37:14 +0200 | <ski> | (which is basically equivalent to `type HtmlElementS = Writer HtmlElement') |
2023-07-13 09:37:17 +0200 | <arahael_> | ski: I did think about just using a state monad, but I wanted to figure out how to *define* this. |
2023-07-13 09:37:41 +0200 | <ski> | why state ? |
2023-07-13 09:37:45 +0200 | <ski> | dminuoso : why zipper ? |
2023-07-13 09:38:07 +0200 | <dminuoso> | ski: In most conceivable scenarios for HTML building, you will not just want a list of HTML tags, but probably build a tree of things. |
2023-07-13 09:38:13 +0200 | <ski> | anyway, nothing stopping you from explicitly giving the `Monad' instance |
2023-07-13 09:38:32 +0200 | <dminuoso> | But I guess you can also just do things like nested do-blocks with this style |
2023-07-13 09:38:33 +0200 | <ski> | dminuoso : could be fixed with an auxilary combinator ? |
2023-07-13 09:38:52 +0200 | <arahael_> | dminuoso: I'm currently looking up resources that might guide me towards knowing how to *implement* the writer monad. |
2023-07-13 09:39:05 +0200 | <ski> | well, i mean, like `p' and similar could gather up and put in a substructure |
2023-07-13 09:39:20 +0200 | <ski> | (so `HtmlElement' would be the tree type, then) |
2023-07-13 09:39:41 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 258 seconds) |
2023-07-13 09:39:41 +0200 | <dminuoso> | arahael_: Writer monad really isnt much more than just a tuple. |
2023-07-13 09:40:08 +0200 | <dminuoso> | arahael_: The idea is that one element is some sort of 'log' that you can append things into, together with some sort of action result type. |
2023-07-13 09:40:15 +0200 | <arahael_> | dminuoso: Sounds like the *monad* is building the value, then? I was trying to make it the HtmlElement itself build the value? |
2023-07-13 09:40:33 +0200 | <ski> | arahael_ : output/logger/writer is just : concatenate/combine output from parallel computations |
2023-07-13 09:40:53 +0200 | <dminuoso> | arahael_: The building isnt the "monad", the building happens in the combinators. |
2023-07-13 09:41:40 +0200 | <dminuoso> | If we take a tuple over some log we append to, then (>>=) becomes isomorphic to: (Log, a) -> (a -> (Log, b)) -> (Log, b) |
2023-07-13 09:41:41 +0200 | <ski> | arahael_ : you wanting to use `do' means that `(>>=)' (and `(>>)') will be called under the covers. that does the plumbing of combining the output log from all parts of the computation, into a single one |
2023-07-13 09:41:59 +0200 | <dminuoso> | arahael_: And if you stare at that type signature for just a minute, you might begin to realize how silly simple the idea really is. |
2023-07-13 09:42:11 +0200 | <ski> | (logA,a) >>= k = (logA <> logB,b) |
2023-07-13 09:42:12 +0200 | chele | (~chele@user/chele) |
2023-07-13 09:42:13 +0200 | <ski> | where |
2023-07-13 09:42:17 +0200 | <ski> | (logB,b) = k a |
2023-07-13 09:42:53 +0200 | titiband1t | (~titibandi@user/titibandit) (Remote host closed the connection) |
2023-07-13 09:42:54 +0200 | <dminuoso> | Oh, I guess I elided a Monoid constraint on `a` (which technically just needs to be Semigroup there, but oh well) |
2023-07-13 09:42:58 +0200 | <ski> | (logA,_) >> (logB,b) = (logA <> logB,b) -- the simpler case |
2023-07-13 09:43:02 +0200 | <arahael_> | dminuoso: Yeah, about that... |
2023-07-13 09:43:02 +0200 | <dminuoso> | err Log! |
2023-07-13 09:43:09 +0200 | <arahael_> | dminuoso: How do you get access to that constraint? |
2023-07-13 09:43:19 +0200 | <dminuoso> | arahael_: In this particular example its assumed to already exist on Log. |
2023-07-13 09:43:26 +0200 | <arahael_> | dminuoso: How!? |
2023-07-13 09:43:31 +0200 | <dminuoso> | `instance Monoid Log` |
2023-07-13 09:43:39 +0200 | <arahael_> | Ah, for MOnoid, yeah. |
2023-07-13 09:43:46 +0200 | <arahael_> | But Monad requires a * -> * type. |
2023-07-13 09:43:55 +0200 | <arahael_> | So there's no way it knows about "Log", rihgt? |
2023-07-13 09:43:58 +0200 | <arahael_> | *Right? |
2023-07-13 09:43:58 +0200 | <ski> | yes ? |
2023-07-13 09:44:00 +0200 | <ski> | no need |
2023-07-13 09:44:07 +0200 | carbolymer_ | carbolymer |
2023-07-13 09:44:12 +0200 | <ski> | it's `Log', not `a', which needs `Semigroup'/`Monoid' |
2023-07-13 09:44:26 +0200 | <ski> | (`Monoid' is needed for `return'/`pure') |
2023-07-13 09:44:34 +0200 | <arahael_> | In my case I've already defined the Semigroup instance for HtmlElement, but HtmlElementS can't know about it. |
2023-07-13 09:44:35 +0200 | Putonlalla | (~Putonlall@it-cyan.it.jyu.fi) |
2023-07-13 09:45:27 +0200 | <ski> | `a' is just whatever custom "monadic result type" that the user of your `HtmlElementS' monad will use. you don't really need to care about it, apart from plumbing it around correctly. `a' is not the logging type (`HtmlElement' in your case) |
2023-07-13 09:46:18 +0200 | <ski> | arahael_ : "but HtmlElementS can't know about it" -- of course it can know about it, as long as `instance Semigroup HtmlElement where ...' is either in the same module, or in a module which is (transitively) imported into your module |
2023-07-13 09:46:28 +0200 | <arahael_> | It is in the same module. |
2023-07-13 09:47:05 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 246 seconds) |
2023-07-13 09:47:05 +0200 | aforemny_ | aforemny |
2023-07-13 09:47:11 +0200 | neuroevolutus | (~neuroevol@2001:ac8:9a:76::1e) (Quit: Client closed) |
2023-07-13 09:47:13 +0200 | <arahael_> | But I mean, I can't do antyhing like: data HtmlElementS = HtmlElementS HtmlElement; because I need to keep that type parameter in there. |
2023-07-13 09:47:44 +0200 | <ski> | if you'd be using `Writer', then this would be `instance Monoid w => Monad (Writer w)'. in the `Monad' instance, considering `Writer w a', you're not allowed to add any constraints to *`a'* .. but you *are* allowed to add constaints for `w' (`HtmlElement' in your case) |
2023-07-13 09:48:10 +0200 | CiaoSen | (~Jura@2a05:5800:295:7d00:664b:f0ff:fe37:9ef) |
2023-07-13 09:48:57 +0200 | <arahael_> | I need to go soon, is there some good reading material that I should go through for this? I'm already wanting to look up the code for 'Writer', but I'm noticing that most of the examples in Hoogle seem to be based on Monad transformers, which is a complication I dont yet want to figure out. |
2023-07-13 09:48:59 +0200 | <ski> | (but since `HtmlElement' is a type constant, not a type variable, there's no need to say `instance Monoid HtmlElement => Monad HtmlElementS where ...'. because `instance Monoid HtmlElement' is already known, we can remove the (redundant) explicit constraint `Monoid HtmlElement => ' from the former instance declaration) |
2023-07-13 09:49:15 +0200 | <ski> | @where Typeclassopedia |
2023-07-13 09:49:15 +0200 | <lambdabot> | http://www.haskell.org/haskellwiki/Typeclassopedia |
2023-07-13 09:49:20 +0200 | <ski> | @where AAM |
2023-07-13 09:49:20 +0200 | <lambdabot> | http://www.haskell.org/haskellwiki/All_About_Monads |
2023-07-13 09:49:54 +0200 | <ski> | those should talk about `Writer w a', which is what's relevant here |
2023-07-13 09:51:11 +0200 | <arahael_> | I think that's a great page for me to spend some time understanding, I should head off for my thing and then get back to reading that page, and probably implement a bunch of those monads myself before trying to do something fancy with a new monad type. |
2023-07-13 09:51:54 +0200 | <ski> | yes. implementing yourself will probably help. also try to make some example usage as well, using them to solve some simple task |
2023-07-13 09:52:21 +0200 | <arahael_> | Thanks ski, (and thanks dminuoso, for explaining why the types just didn't work how I wanted it, too!) :) |
2023-07-13 09:52:36 +0200 | <arahael_> | ski: I think I'll do exactly that. :) |
2023-07-13 09:52:52 +0200 | <ski> | @where wadler-monads |
2023-07-13 09:52:53 +0200 | <lambdabot> | Monad(ic (, idiomatic/applicative and arrow) effects) introduction papers by Philip Wadler in 1992-01 - 2010 at <https://homepages.inf.ed.ac.uk/wadler/topics/monads.html>. Start from oldest. Perhaps |
2023-07-13 09:52:53 +0200 | <lambdabot> | skip the ones touching upon composable continuations, idioms, constraints, arrows, on a first read |
2023-07-13 09:53:30 +0200 | <arahael_> | I think I'll go through that haskellwiki page first, ,the language there looks reasonably approachable. |
2023-07-13 09:53:34 +0200 | <ski> | you could try some of Wadler's papers (starting from older ones), possibly |
2023-07-13 09:53:39 +0200 | <ski> | Walder tends to be quite readable |
2023-07-13 09:54:00 +0200 | <arahael_> | Ok, well I'll check them out and see whichever ones I want to work through. :) |
2023-07-13 09:54:01 +0200 | <ski> | s/Walder/Wadler/ |
2023-07-13 09:54:08 +0200 | <arahael_> | I do need to go now, though - thanks again for your help! |
2023-07-13 09:54:14 +0200 | <ski> | yw |
2023-07-13 09:55:08 +0200 | <ski> | @where hell-monads |
2023-07-13 09:55:08 +0200 | <lambdabot> | "What the hell are Monads?" by Noel Winstanley in 1999-02 at <https://www-users.mat.umk.pl/~fly/materialy/fp/haskell-doc/Monads.html>. Possibly the first (non-paper) general monad tutorial |
2023-07-13 09:55:50 +0200 | <dminuoso> | Lately Ive been wondering whether these law-centric typeclasses were ever a good idea. |
2023-07-13 09:57:00 +0200 | gmg | (~user@user/gehmehgeh) |
2023-07-13 09:57:58 +0200 | <ski> | hm, guess that link seems to be broken. <https://web.archive.org/web/19991018214519/http://www.dcs.gla.ac.uk/~nww/Monad.html> works, as well as <https://web.archive.org/web/20221208185730/https://www-users.mat.umk.pl/~fly/materialy/fp/haskell-…> |
2023-07-13 09:58:28 +0200 | <ski> | elaborate ? |
2023-07-13 09:59:45 +0200 | <dminuoso> | So take Monoid for instance. It is an abstract interface that has no clear purpose. |
2023-07-13 10:00:21 +0200 | <ski> | ah, you might be touching upon that there can in general be multiple distinct valid instances ? |
2023-07-13 10:00:34 +0200 | <dminuoso> | Sure, that's half of it. |
2023-07-13 10:00:44 +0200 | <dminuoso> | The other half is that often across the instances, there's no common theme other than really just the laws. |
2023-07-13 10:01:34 +0200 | <dminuoso> | If I asked you "what does <|>" do, you have no choice but to say "anything really, its just about the laws" |
2023-07-13 10:02:04 +0200 | <dminuoso> | Which makes any ad-hoc incantation (where you have an immediate local monomorphization) just hidden code selection. |
2023-07-13 10:02:05 +0200 | <ski> | (also reminds me of occasionally, people, years ago, suggesting something like `class (Functor f,Functor g) => NatTrans f g where natTrans :: f a -> g a' .. which thankfully didn't become a thing) |
2023-07-13 10:02:37 +0200 | <dminuoso> | Say if I write `[1,2] <> [3,4]` Im really just being sneaky, in that the reader cant clearly know what this will do. |
2023-07-13 10:03:00 +0200 | <dminuoso> | You have to specifically know what the Monoid [] instance does, you cant clearly infer the behavior from the laws alone. |
2023-07-13 10:03:21 +0200 | <dminuoso> | Monoid is useful when its used in polymorphic positions say Monad Writer |
2023-07-13 10:03:53 +0200 | <dminuoso> | Or law-centric typeclasses in general |
2023-07-13 10:04:29 +0200 | <ski> | being able to talk about objects in other categories, might perhaps help with part of this |
2023-07-13 10:04:49 +0200 | <dminuoso> | `a >>= f` is quite useless unless you happen know the types involved and the behavior of the monad instance. a `concatMap` f has clear ascribed behavior and behavior. |
2023-07-13 10:04:59 +0200 | <dminuoso> | ascribed behavior and semantics. |
2023-07-13 10:05:29 +0200 | <ski> | (saying `Sum Integer' is a workaround to trying to specify the additive monoid of integers, not as a set/type, but as a monoid) |
2023-07-13 10:06:10 +0200 | <dminuoso> | ski: Well is `getSum (Sum 1 <> Sum 2)` any more useful than `1 + 2`? |
2023-07-13 10:06:36 +0200 | <dminuoso> | Though this is a slightly bad example in that the newtype wrapper very explicitly mentions the behavior |
2023-07-13 10:07:03 +0200 | <ski> | yea .. if you're already in a concrete situation, using a concrete specialization is often preferable. like `map' over `fmap', or `concat' over `join' |
2023-07-13 10:08:23 +0200 | <ski> | well, the point of `Sum' is really to be able to plug in some specific "summarizing" (monoid) behaviour, into some operation that works over any monoid |
2023-07-13 10:09:01 +0200 | merijn | (~merijn@195.114.232.94) |
2023-07-13 10:09:16 +0200 | <ski> | (like traversing some custom tree, perhaps pruning away some subtrees, while summarizing found information, perhaps) |
2023-07-13 10:09:45 +0200 | <dminuoso> | ski: Right. Law-centric typeclasses are primarily useful for writing code that is polymorphic over them. |
2023-07-13 10:11:20 +0200 | <dminuoso> | With Monad it often works because some discipline where only one instance is really ever used. |
2023-07-13 10:13:15 +0200 | <dminuoso> | And in part this is why Monad is such a hard hurdle, mainly because its interface and laws are largely not relevant for someone instantiating m in `Monad m => ...` |
2023-07-13 10:13:42 +0200 | <dminuoso> | Its mainly relevant for people writing polymorphic `forall m. Monad m => ...` code |
2023-07-13 10:14:08 +0200 | mmhat | (~mmh@p200300f1c7114c4cee086bfffe095315.dip0.t-ipconnect.de) |
2023-07-13 10:14:09 +0200 | mmhat | (~mmh@p200300f1c7114c4cee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
2023-07-13 10:19:13 +0200 | danse-nr3 | (~francesco@151.57.246.23) |
2023-07-13 10:20:26 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b51c:90a2:c6ee:ffbb) (Remote host closed the connection) |
2023-07-13 10:21:57 +0200 | danse-nr3 | (~francesco@151.57.246.23) (Read error: Connection reset by peer) |
2023-07-13 10:22:13 +0200 | danse-nr3 | (~francesco@151.47.247.62) |
2023-07-13 10:24:07 +0200 | razetime | (~quassel@117.193.6.5) (Ping timeout: 245 seconds) |
2023-07-13 10:27:28 +0200 | titiband1t | (~titibandi@user/titibandit) |
2023-07-13 10:27:38 +0200 | danse-nr3 | (~francesco@151.47.247.62) (Ping timeout: 252 seconds) |
2023-07-13 10:28:54 +0200 | danse-nr3 | (~francesco@151.54.45.22) |
2023-07-13 10:30:22 +0200 | jonathan | (~jonathan@c83-252-3-92.bredband.tele2.se) (Ping timeout: 245 seconds) |
2023-07-13 10:31:39 +0200 | sm[i] | (~sm@024-165-041-186.res.spectrum.com) (Quit: sm[i]) |
2023-07-13 10:32:13 +0200 | sm[i] | (~sm@024-165-041-186.res.spectrum.com) |
2023-07-13 10:32:15 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2023-07-13 10:32:20 +0200 | dcoutts | (~duncan@195.80.64.243) |
2023-07-13 10:32:36 +0200 | <merijn> | oh fun times |
2023-07-13 10:32:50 +0200 | sm[i] | (~sm@024-165-041-186.res.spectrum.com) (Client Quit) |
2023-07-13 10:32:55 +0200 | <merijn> | now I need to go update a ton of code because * gets deprecated in kind signatures |
2023-07-13 10:33:18 +0200 | misterfish | (~misterfis@87.215.131.102) |
2023-07-13 10:34:39 +0200 | mei | (~mei@user/mei) |
2023-07-13 10:35:22 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
2023-07-13 10:39:21 +0200 | titiband1t | (~titibandi@user/titibandit) (Remote host closed the connection) |
2023-07-13 10:39:43 +0200 | dibblego | (~dibblego@116-255-1-157.ip4.superloop.au) |
2023-07-13 10:39:43 +0200 | dibblego | (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
2023-07-13 10:39:43 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-13 10:44:55 +0200 | <danse-nr3> | i guess you are in good company, wondering whether it can be automated. Just found out about hlint --refactor |
2023-07-13 10:45:04 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
2023-07-13 10:45:25 +0200 | dcoutts | (~duncan@195.80.64.243) (Ping timeout: 240 seconds) |
2023-07-13 10:47:58 +0200 | razetime | (~quassel@117.193.6.5) |
2023-07-13 10:51:14 +0200 | <Profpatsch> | I never realized that fmap for Map.Strict is kinda dangerous oO |
2023-07-13 10:51:20 +0200 | <Profpatsch> | It uses the lazy fmap |
2023-07-13 10:51:41 +0200 | <Profpatsch> | So one should always use Map.map or Map.mapWithKey |
2023-07-13 10:52:16 +0200 | <Profpatsch> | hlint should really include a lint that detects the usage of bad instances (maybe it does and I don’t know about it?) |
2023-07-13 10:52:45 +0200 | <Profpatsch> | Like, we already lint for Data.Map -> Data.Map.Strict |
2023-07-13 10:52:55 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 240 seconds) |
2023-07-13 10:53:04 +0200 | <Profpatsch> | containers has an uncanny amount of tripwires :( |
2023-07-13 10:57:50 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-07-13 10:59:42 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-07-13 10:59:58 +0200 | robobub | (uid248673@id-248673.uxbridge.irccloud.com) |
2023-07-13 11:00:58 +0200 | <danse-nr3> | well not really "dangerous" as far as i understand ... just slow |
2023-07-13 11:04:08 +0200 | tbidne[m] | (~tbidnemat@2001:470:69fc:105::3:6d42) (Remote host closed the connection) |
2023-07-13 11:05:32 +0200 | danse-nr3 | (~francesco@151.54.45.22) (Remote host closed the connection) |
2023-07-13 11:06:55 +0200 | danse-nr3 | (~francesco@151.54.45.22) |
2023-07-13 11:08:17 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-07-13 11:09:30 +0200 | razetime | (~quassel@117.193.6.5) (Remote host closed the connection) |
2023-07-13 11:11:27 +0200 | razetime | (~quassel@117.193.6.5) |
2023-07-13 11:14:24 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2023-07-13 11:15:47 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) (Ping timeout: 246 seconds) |
2023-07-13 11:17:45 +0200 | jonathan_ | (~jonathan@ip-185-104-137-43.ptr.icomera.net) |
2023-07-13 11:18:13 +0200 | <Profpatsch> | Yeah that’s dangerous :P |
2023-07-13 11:20:54 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-07-13 11:22:37 +0200 | ft | (~ft@p3e9bc835.dip0.t-ipconnect.de) (Quit: leaving) |
2023-07-13 11:25:01 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds) |
2023-07-13 11:27:17 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 245 seconds) |
2023-07-13 11:30:39 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) |
2023-07-13 11:31:25 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2023-07-13 11:32:32 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds) |
2023-07-13 11:34:17 +0200 | Lord_of_Life_ | Lord_of_Life |
2023-07-13 11:35:40 +0200 | Midjak | (~Midjak@82.66.147.146) |
2023-07-13 11:47:56 +0200 | Wojciech_K | (~Wojciech_@2a01:4f9:6a:18a8::239) |
2023-07-13 11:53:21 +0200 | barcisz | (~barcisz@31-151-117-10.dynamic.upc.nl) |
2023-07-13 11:53:32 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2023-07-13 12:00:37 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 12:02:02 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 245 seconds) |
2023-07-13 12:02:22 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-13 12:03:16 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-13 12:03:42 +0200 | jonathan_ | (~jonathan@ip-185-104-137-43.ptr.icomera.net) (Ping timeout: 245 seconds) |
2023-07-13 12:04:31 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) |
2023-07-13 12:05:47 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds) |
2023-07-13 12:11:19 +0200 | infinity0 | (~infinity0@pwned.gg) (Remote host closed the connection) |
2023-07-13 12:12:25 +0200 | jonathan_ | (~jonathan@ip-185-104-137-43.ptr.icomera.net) |
2023-07-13 12:13:14 +0200 | xff0x_ | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds) |
2023-07-13 12:13:26 +0200 | infinity0 | (~infinity0@pwned.gg) |
2023-07-13 12:15:51 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
2023-07-13 12:23:42 +0200 | jonathan_ | (~jonathan@ip-185-104-137-43.ptr.icomera.net) (Ping timeout: 250 seconds) |
2023-07-13 12:27:27 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 245 seconds) |
2023-07-13 12:28:01 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-07-13 12:29:32 +0200 | CiaoSen | (~Jura@2a05:5800:295:7d00:664b:f0ff:fe37:9ef) (Ping timeout: 245 seconds) |
2023-07-13 12:36:05 +0200 | <danse-nr3> | hlint --refactor can do huge amounts of edits by itself, but it has a strange annoying bug where it repeats comments lots of times |
2023-07-13 12:37:36 +0200 | __monty__ | (~toonn@user/toonn) |
2023-07-13 12:39:33 +0200 | dibblego | (~dibblego@116-255-1-157.ip4.superloop.au) |
2023-07-13 12:39:33 +0200 | dibblego | (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
2023-07-13 12:39:33 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-13 12:47:01 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 12:47:54 +0200 | picklejuice | (~root@c-73-196-164-60.hsd1.nj.comcast.net) |
2023-07-13 12:51:16 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds) |
2023-07-13 12:57:16 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 12:57:36 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Client Quit) |
2023-07-13 12:58:13 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 12:59:23 +0200 | jonathan_ | (~jonathan@c-5eea6678-74736162.cust.telenor.se) |
2023-07-13 13:00:26 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
2023-07-13 13:06:43 +0200 | xff0x_ | (~xff0x@2405:6580:b080:900:4b46:1f06:e600:57cc) |
2023-07-13 13:07:52 +0200 | razetime | (~quassel@117.193.6.5) (Ping timeout: 245 seconds) |
2023-07-13 13:08:37 +0200 | razetime | (~quassel@117.193.2.3) |
2023-07-13 13:09:23 +0200 | razetime | (~quassel@117.193.2.3) (Remote host closed the connection) |
2023-07-13 13:10:44 +0200 | st4hoo | (~st4hoo@188.146.127.34) |
2023-07-13 13:14:51 +0200 | mechap | (~mechap@user/mechap) (Ping timeout: 246 seconds) |
2023-07-13 13:14:55 +0200 | dibblego | (~dibblego@116-255-1-157.ip4.superloop.au) |
2023-07-13 13:14:55 +0200 | dibblego | (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
2023-07-13 13:14:55 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-13 13:16:03 +0200 | mechap | (~mechap@user/mechap) |
2023-07-13 13:16:55 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-13 13:21:17 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
2023-07-13 13:23:21 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
2023-07-13 13:25:02 +0200 | dibblego | (~dibblego@116-255-1-157.ip4.superloop.au) |
2023-07-13 13:25:03 +0200 | dibblego | (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
2023-07-13 13:25:03 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-13 13:25:55 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-13 13:28:00 +0200 | jsomedon | (uid606872@id-606872.hampstead.irccloud.com) |
2023-07-13 13:30:09 +0200 | mikoto-chan | (~mikoto-ch@2001:999:780:6f0f:ee7:650:b115:e67d) |
2023-07-13 13:31:12 +0200 | jonathan_ | (~jonathan@c-5eea6678-74736162.cust.telenor.se) (Ping timeout: 245 seconds) |
2023-07-13 13:36:35 +0200 | jonathan_ | (~jonathan@94.234.102.120) |
2023-07-13 13:37:52 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 245 seconds) |
2023-07-13 13:40:07 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-07-13 13:41:12 +0200 | mechap | (~mechap@user/mechap) (Ping timeout: 240 seconds) |
2023-07-13 13:43:45 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2023-07-13 13:43:46 +0200 | jonathan_ | (~jonathan@94.234.102.120) (Read error: Connection reset by peer) |
2023-07-13 13:44:36 +0200 | jonathan_ | (~jonathan@host-217-213-130-57.mobileonline.telia.com) |
2023-07-13 13:48:17 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 245 seconds) |
2023-07-13 13:49:10 +0200 | dobblego | (~dibblego@116-255-1-157.ip4.superloop.au) |
2023-07-13 13:49:10 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Read error: Connection reset by peer) |
2023-07-13 13:49:10 +0200 | dobblego | (~dibblego@116-255-1-157.ip4.superloop.au) (Changing host) |
2023-07-13 13:49:10 +0200 | dobblego | (~dibblego@haskell/developer/dibblego) |
2023-07-13 13:49:28 +0200 | dobblego | dibblego |
2023-07-13 13:50:42 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-07-13 13:52:37 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2023-07-13 13:53:40 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-07-13 13:57:45 +0200 | ddellacosta | (~ddellacos@146.70.165.140) |
2023-07-13 13:58:03 +0200 | st4hoo | (~st4hoo@188.146.127.34) (Remote host closed the connection) |
2023-07-13 13:58:27 +0200 | st4hoo | (~st4hoo@188.146.127.34) |
2023-07-13 14:01:26 +0200 | CiaoSen | (~Jura@2a05:5800:295:7d00:664b:f0ff:fe37:9ef) |
2023-07-13 14:03:44 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Remote host closed the connection) |
2023-07-13 14:04:17 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-07-13 14:08:42 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 245 seconds) |
2023-07-13 14:09:01 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2023-07-13 14:11:17 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-07-13 14:14:14 +0200 | danse-nr3 | (~francesco@151.54.45.22) (Ping timeout: 252 seconds) |
2023-07-13 14:20:57 +0200 | mikoto-chan | (~mikoto-ch@2001:999:780:6f0f:ee7:650:b115:e67d) (Ping timeout: 246 seconds) |
2023-07-13 14:25:54 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 250 seconds) |
2023-07-13 14:33:28 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 14:33:29 +0200 | mikoto-chan | (~mikoto-ch@2001:999:780:6f0f:ee7:650:b115:e67d) |
2023-07-13 14:33:32 +0200 | xff0x_ | (~xff0x@2405:6580:b080:900:4b46:1f06:e600:57cc) (Ping timeout: 240 seconds) |
2023-07-13 14:35:45 +0200 | xff0x_ | (~xff0x@ai086045.d.east.v6connect.net) |
2023-07-13 14:37:26 +0200 | mechap | (~mechap@user/mechap) |
2023-07-13 14:37:56 +0200 | mechap | (~mechap@user/mechap) (Client Quit) |
2023-07-13 14:38:04 +0200 | gurkenglas | (~gurkengla@dynamic-002-247-240-129.2.247.pool.telefonica.de) (Ping timeout: 252 seconds) |
2023-07-13 14:38:38 +0200 | comerijn | (~merijn@185.143.104.11) |
2023-07-13 14:39:07 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 14:41:25 +0200 | merijn | (~merijn@195.114.232.94) (Ping timeout: 240 seconds) |
2023-07-13 14:43:12 +0200 | comerijn | (~merijn@185.143.104.11) (Ping timeout: 252 seconds) |
2023-07-13 14:44:51 +0200 | cods | (~fred@82-65-232-44.subs.proxad.net) (Quit: leaving) |
2023-07-13 14:44:53 +0200 | merijn | (~merijn@195.114.232.94) |
2023-07-13 14:45:47 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 245 seconds) |
2023-07-13 14:46:05 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 14:46:35 +0200 | mauke | (~mauke@user/mauke) |
2023-07-13 14:49:31 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) |
2023-07-13 14:50:54 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 252 seconds) |
2023-07-13 14:53:51 +0200 | cods | (~fred@82-65-232-44.subs.proxad.net) |
2023-07-13 14:55:33 +0200 | <merijn> | And now for the epic journey of converting 4 packages into a single package with multiple public libraries |
2023-07-13 14:56:51 +0200 | danse-nr3 | (~francesco@151.19.253.178) |
2023-07-13 14:57:36 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 15:02:12 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 240 seconds) |
2023-07-13 15:05:22 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds) |
2023-07-13 15:09:12 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 15:10:18 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c680) |
2023-07-13 15:12:14 +0200 | <Profpatsch> | wow I just love Haskell; writing tests for a pretty involved csv parser which needs to fetch multiple things from the database in between, moved all database fetchers into a mock record argument, now I can just write a test in `pure` |
2023-07-13 15:12:44 +0200 | <Profpatsch> | Pretty mechanical conversion. I don’t even want to know how brittle this refactor would be in a language with unrestricted side-effects |
2023-07-13 15:13:01 +0200 | <kuribas> | or with crazy mocking practices like python. |
2023-07-13 15:14:00 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 250 seconds) |
2023-07-13 15:14:07 +0200 | <Profpatsch> | I mean the “pure” handler is still an an `m`, but it’s only MonadIO, MonadThrow and MonadLogger, all of which are available to the test handler |
2023-07-13 15:15:15 +0200 | <Profpatsch> | the non-pure `m` is in MonadPostgres, MonadHttpRequest etc, and also wrapped in a Transaction transformer to run it all atomic on the database |
2023-07-13 15:15:31 +0200 | <Profpatsch> | mtl is amazing |
2023-07-13 15:15:42 +0200 | trev | (~trev@user/trev) (Quit: trev) |
2023-07-13 15:16:30 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.1) |
2023-07-13 15:18:22 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 15:19:47 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c680) (Ping timeout: 264 seconds) |
2023-07-13 15:20:02 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2023-07-13 15:20:40 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 15:22:08 +0200 | st4hoo | (~st4hoo@188.146.127.34) (Quit: Leaving) |
2023-07-13 15:22:20 +0200 | laman3 | (~laman@rego.ai) (Quit: WeeChat 3.5) |
2023-07-13 15:22:27 +0200 | mikoto-chan | (~mikoto-ch@2001:999:780:6f0f:ee7:650:b115:e67d) (Ping timeout: 245 seconds) |
2023-07-13 15:24:41 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6cd6:b2b2:8eef:d429) |
2023-07-13 15:25:47 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 15:25:55 +0200 | ccapndave | (~ccapndave@mob-194-230-147-118.cgn.sunrise.net) |
2023-07-13 15:26:50 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 252 seconds) |
2023-07-13 15:28:54 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6cd6:b2b2:8eef:d429) (Ping timeout: 246 seconds) |
2023-07-13 15:28:56 +0200 | shriekingnoise | (~shrieking@186.137.175.87) |
2023-07-13 15:31:36 +0200 | dsrt^ | (~cd@24.125.210.85) (Remote host closed the connection) |
2023-07-13 15:32:27 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 15:34:19 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-07-13 15:36:09 +0200 | danse-nr3_ | (~francesco@151.54.45.22) |
2023-07-13 15:37:06 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 15:37:16 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-07-13 15:37:20 +0200 | ccapndave | (~ccapndave@mob-194-230-147-118.cgn.sunrise.net) (Quit: Textual IRC Client: www.textualapp.com) |
2023-07-13 15:37:46 +0200 | jsomedon | (uid606872@id-606872.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2023-07-13 15:38:11 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 15:39:36 +0200 | danse-nr3 | (~francesco@151.19.253.178) (Ping timeout: 245 seconds) |
2023-07-13 15:41:27 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 245 seconds) |
2023-07-13 15:42:58 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 252 seconds) |
2023-07-13 15:43:56 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) |
2023-07-13 15:46:52 +0200 | dcoutts | (~duncan@195.80.64.243) |
2023-07-13 15:49:52 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 15:53:10 +0200 | driib | (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
2023-07-13 15:54:34 +0200 | driib | (~driib@vmi931078.contaboserver.net) |
2023-07-13 15:54:58 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 258 seconds) |
2023-07-13 15:55:14 +0200 | jonathan_ | (~jonathan@host-217-213-130-57.mobileonline.telia.com) (Remote host closed the connection) |
2023-07-13 15:55:39 +0200 | jonathan_ | (~jonathan@host-217-213-130-57.mobileonline.telia.com) |
2023-07-13 15:59:25 +0200 | sm[i] | (~sm@024-165-041-186.res.spectrum.com) |
2023-07-13 15:59:38 +0200 | <monochrom> | Profpatsch: Mock testing is driving by parametricity (free theorems): http://www.vex.net/~trebla/haskell/abs-type-param.html :) |
2023-07-13 16:00:02 +0200 | <monochrom> | err s/driving/powered/ |
2023-07-13 16:00:03 +0200 | sm[i] | (~sm@024-165-041-186.res.spectrum.com) (Client Quit) |
2023-07-13 16:00:33 +0200 | <monochrom> | In fact I am teaching that today in class! |
2023-07-13 16:01:23 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 16:02:02 +0200 | barcisz | (~barcisz@31-151-117-10.dynamic.upc.nl) (Ping timeout: 252 seconds) |
2023-07-13 16:04:32 +0200 | mncheck-m | (~mncheck@193.224.205.254) (Ping timeout: 245 seconds) |
2023-07-13 16:04:47 +0200 | acidjnk | (~acidjnk@p200300d6e7072f1890d33f2b4a36e93a.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2023-07-13 16:05:55 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 240 seconds) |
2023-07-13 16:11:34 +0200 | dcoutts | (~duncan@195.80.64.243) (Ping timeout: 252 seconds) |
2023-07-13 16:12:07 +0200 | kitzman_ | (~kitzman@user/dekenevs) (Quit: C-x C-c) |
2023-07-13 16:12:18 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-07-13 16:12:57 +0200 | <yin> | i'm having trouble installing ghc via ghcup on void linux |
2023-07-13 16:13:16 +0200 | <maerwald> | yin: yes |
2023-07-13 16:13:18 +0200 | <maerwald> | sec |
2023-07-13 16:13:28 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 16:13:29 +0200 | <yin> | it hangs on "installing ghc (this may take a while)" |
2023-07-13 16:13:47 +0200 | <maerwald> | musl? |
2023-07-13 16:14:07 +0200 | <yin> | glibc |
2023-07-13 16:14:28 +0200 | <maerwald> | that should work |
2023-07-13 16:14:42 +0200 | <maerwald> | also need: xbps-install -S curl gcc gmp make ncurses ncurses-libtinfo-libs perl |
2023-07-13 16:15:37 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 245 seconds) |
2023-07-13 16:15:40 +0200 | <yin> | check |
2023-07-13 16:15:42 +0200 | <monochrom> | Will there be a null linux too? :) |
2023-07-13 16:17:37 +0200 | <Profpatsch> | monochrom: the problem I have with statements such as this, is that “mocking” is an intuitive term, not a formal one |
2023-07-13 16:17:57 +0200 | <Profpatsch> | ofc it’s true on an intuitive level, but the formalisms around it are not needed for understanding imo |
2023-07-13 16:18:13 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-07-13 16:18:21 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 16:18:55 +0200 | <Profpatsch> | once you give it a formal definition, you can start being more precise, but then the question becomes whether you formal definition corresponds to reality in any meaningful way :P |
2023-07-13 16:18:57 +0200 | gmg | (~user@user/gehmehgeh) |
2023-07-13 16:19:13 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 16:19:16 +0200 | <monochrom> | I think this one does. |
2023-07-13 16:19:48 +0200 | <Profpatsch> | tbh I feel like type classes and higher kinded types help a lot more in Haskell’s case |
2023-07-13 16:20:00 +0200 | <Profpatsch> | you can’t do half of these things in Rust, or Scala |
2023-07-13 16:20:15 +0200 | thegeekinside | (~thegeekin@189.217.90.138) |
2023-07-13 16:20:16 +0200 | <Profpatsch> | or maybe you can, but it amounts to losing some amount of hair |
2023-07-13 16:20:42 +0200 | <Profpatsch> | RankN is also super useful |
2023-07-13 16:20:58 +0200 | <Profpatsch> | like, many refactorings are just not possible in typed languages without these |
2023-07-13 16:21:39 +0200 | <yin> | what's the log file for ghcup ghc install? |
2023-07-13 16:21:52 +0200 | <Profpatsch> | I guess you could replace all type classes with RankN function arguments pretty mechanically, but then you are back to annoying manual work |
2023-07-13 16:22:31 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 245 seconds) |
2023-07-13 16:24:11 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 16:25:31 +0200 | dcoutts | (~duncan@195.80.64.243) |
2023-07-13 16:25:50 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-07-13 16:26:40 +0200 | <yin> | maerwald: it just hangs |
2023-07-13 16:26:43 +0200 | <maerwald> | yin: something in ~/.ghcup/logs |
2023-07-13 16:26:49 +0200 | <maerwald> | run with -v |
2023-07-13 16:26:57 +0200 | <maerwald> | ghcup -v install ghc |
2023-07-13 16:27:44 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2023-07-13 16:29:23 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-07-13 16:30:08 +0200 | mei | (~mei@user/mei) |
2023-07-13 16:30:17 +0200 | myxos | (~myxos@cpe-65-28-251-121.cinci.res.rr.com) (Ping timeout: 246 seconds) |
2023-07-13 16:30:55 +0200 | michalz | (~michalz@185.246.207.215) (Ping timeout: 240 seconds) |
2023-07-13 16:30:57 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 16:33:30 +0200 | johnw_ | (~johnw@69.62.242.138) |
2023-07-13 16:33:33 +0200 | johnw | (~johnw@69.62.242.138) (Read error: Connection reset by peer) |
2023-07-13 16:34:57 +0200 | dcoutts | (~duncan@195.80.64.243) (Ping timeout: 245 seconds) |
2023-07-13 16:35:39 +0200 | mechap | (~mechap@user/mechap) |
2023-07-13 16:35:46 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 252 seconds) |
2023-07-13 16:39:00 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Remote host closed the connection) |
2023-07-13 16:39:34 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-07-13 16:42:28 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 16:47:02 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 16:47:52 +0200 | dcoutts | (~duncan@195.80.64.243) |
2023-07-13 16:49:12 +0200 | <kuribas> | Profpatsch: can you imagine what you can do in idris with dependent types? |
2023-07-13 16:49:42 +0200 | <kuribas> | Profpatsch: no more annoying newtypes to work around limitations in haskell hkts. |
2023-07-13 16:51:36 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-07-13 16:52:02 +0200 | <Profpatsch> | kuribas: no I can’t, wake me when Idris has a performing compiler and somebody has reimplemented all of Snoyberg’s libraries to production quality :) |
2023-07-13 16:53:58 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 16:56:43 +0200 | shapr | (~user@2600:1700:c640:3100:8173:1c9d:ab8d:9a27) |
2023-07-13 16:58:52 +0200 | dcoutts | (~duncan@195.80.64.243) (Ping timeout: 250 seconds) |
2023-07-13 16:58:52 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 252 seconds) |
2023-07-13 16:59:44 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 17:02:10 +0200 | merijn | (~merijn@195.114.232.94) (Ping timeout: 252 seconds) |
2023-07-13 17:02:15 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.1) |
2023-07-13 17:04:44 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 252 seconds) |
2023-07-13 17:07:06 +0200 | jonathan_ | (~jonathan@host-217-213-130-57.mobileonline.telia.com) (Ping timeout: 245 seconds) |
2023-07-13 17:09:32 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2023-07-13 17:10:36 +0200 | <kuribas> | it has a performing compiler. |
2023-07-13 17:10:48 +0200 | <kuribas> | It may not be performing very well, but it's performing! |
2023-07-13 17:11:15 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 17:12:27 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 245 seconds) |
2023-07-13 17:13:03 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-07-13 17:16:12 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 17:21:37 +0200 | driib | (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
2023-07-13 17:21:46 +0200 | kitzman | (~kitzman@user/dekenevs) |
2023-07-13 17:23:03 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 17:23:15 +0200 | jonathan_ | (~jonathan@host-217-213-130-57.mobileonline.telia.com) |
2023-07-13 17:24:41 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6cd6:b2b2:8eef:d429) |
2023-07-13 17:25:18 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 250 seconds) |
2023-07-13 17:26:11 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-07-13 17:27:27 +0200 | CiaoSen | (~Jura@2a05:5800:295:7d00:664b:f0ff:fe37:9ef) (Ping timeout: 245 seconds) |
2023-07-13 17:27:52 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 17:32:33 +0200 | jonathan_ | (~jonathan@host-217-213-130-57.mobileonline.telia.com) (Read error: Connection reset by peer) |
2023-07-13 17:33:26 +0200 | trev | (~trev@user/trev) |
2023-07-13 17:34:03 +0200 | jonathan_ | (~jonathan@host-217-213-130-57.mobileonline.telia.com) |
2023-07-13 17:34:35 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 17:34:50 +0200 | acidjnk | (~acidjnk@p200300d6e7072f18d1756600c61e2eb6.dip0.t-ipconnect.de) |
2023-07-13 17:36:19 +0200 | <kuribas> | And I am not really interested in snoyberg libraries. |
2023-07-13 17:36:52 +0200 | <kuribas> | oh wait, wai is snoyberg right? |
2023-07-13 17:36:59 +0200 | <kuribas> | I do want wai. |
2023-07-13 17:37:06 +0200 | <yin> | maerwald: https://paste.jrvieira.com/1689262618294 |
2023-07-13 17:37:44 +0200 | driib | (~driib@vmi931078.contaboserver.net) |
2023-07-13 17:37:48 +0200 | <maerwald> | yin: what does the log file show |
2023-07-13 17:37:51 +0200 | <yin> | should it be ...fedora27-linuz.tar.xz ? |
2023-07-13 17:38:00 +0200 | <yin> | this is the log file |
2023-07-13 17:38:46 +0200 | <maerwald> | what log files are there |
2023-07-13 17:38:57 +0200 | dcoutts | (~duncan@195.80.64.243) |
2023-07-13 17:39:00 +0200 | <jade[m]> | I recently saw the `Num` instance for `Num b => a -> b` which was super interesting, but also had someone say it was debated whether the instance should be in base |
2023-07-13 17:39:17 +0200 | <yin> | a blank ghc-configure.log and ghcup.log (this) |
2023-07-13 17:39:30 +0200 | <jade[m]> | why is that the case when it is a valid instance and the only one that exists for the type? |
2023-07-13 17:39:34 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 252 seconds) |
2023-07-13 17:40:33 +0200 | <yin> | maerwald: i pasted the tail, here's in full: https://paste.jrvieira.com/1689262817710 |
2023-07-13 17:40:38 +0200 | <geekosaur> | jade[m], because it causes a lot of confusion when you forget a parameter to a function and suddenly ghc can find a match for `Num (a -> b)` |
2023-07-13 17:41:34 +0200 | barcisz | (~barcisz@31-151-117-10.dynamic.upc.nl) |
2023-07-13 17:41:47 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1)) |
2023-07-13 17:42:04 +0200 | <maerwald> | yin: your configure gets *terminated* |
2023-07-13 17:42:10 +0200 | <maerwald> | selinux or some sh*t? |
2023-07-13 17:42:27 +0200 | <maerwald> | not ghcups fault for sure |
2023-07-13 17:42:42 +0200 | <yin> | just a fresh void linux install on a vm |
2023-07-13 17:42:54 +0200 | <maerwald> | well, termination doesn't happen by accident |
2023-07-13 17:43:12 +0200 | <jade[m]> | geekosaur: that makes sense I suppose |
2023-07-13 17:43:42 +0200 | <jade[m]> | to me it moreso seems like that'd be the issue of the error messages, but iirc you run into theoretical limotations |
2023-07-13 17:43:59 +0200 | <geekosaur> | jade[m], that said, we're seeing more and more confusing instances showing up in base (consider Foldable (a,b)) so it might happen at some point |
2023-07-13 17:44:46 +0200 | <geekosaur> | oh, the error messages are confusing enough even without that instance. they get much worse with it. and type inference means the more rope you give ghc, the more likely it hangs you at some distant point from the error |
2023-07-13 17:45:18 +0200 | <yin> | NoImplicitPrelude ftw |
2023-07-13 17:46:07 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 17:46:26 +0200 | <jade[m]> | thanks for the info :) |
2023-07-13 17:46:27 +0200 | <geekosaur> | actually putting it in base would be safe if it were banished to Data.Function.Num or something that you had to import to get it |
2023-07-13 17:46:54 +0200 | <geekosaur> | I think there's a similar thing for a Show instance for functions |
2023-07-13 17:47:31 +0200 | <jade[m]> | that one's really useless imo |
2023-07-13 17:47:33 +0200 | <geekosaur> | although, then you get the argument that the instance is actually for any Applicative, so should it be Control.Applicative.Num |
2023-07-13 17:47:45 +0200 | <jade[m]> | if the one you are talking about is the `<function>` one |
2023-07-13 17:47:49 +0200 | <geekosaur> | yes, but anything better has annoying constraints |
2023-07-13 17:48:17 +0200 | <yin> | maerwald: i found this https://gitlab.haskell.org/haskell/ghcup-hs/-/issues/366 |
2023-07-13 17:48:38 +0200 | <maerwald> | yin: that's not the same error |
2023-07-13 17:48:55 +0200 | <yin> | it's not but might be a clue? |
2023-07-13 17:48:56 +0200 | <maerwald> | your 'sh ./configure' gets *terminated* |
2023-07-13 17:48:59 +0200 | <maerwald> | no |
2023-07-13 17:49:08 +0200 | <maerwald> | there's a terminator on your system |
2023-07-13 17:49:42 +0200 | <maerwald> | you can try it manually |
2023-07-13 17:49:50 +0200 | <maerwald> | ghcup prefetch ghc |
2023-07-13 17:50:04 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-07-13 17:50:07 +0200 | <maerwald> | then: tar xf ~/.ghcup/cache/<tarball> |
2023-07-13 17:50:51 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 17:51:53 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 17:52:41 +0200 | <yin> | it runs for a long time before it get terminated though |
2023-07-13 17:53:02 +0200 | <maerwald> | yeah, something trashed |
2023-07-13 17:53:51 +0200 | <rachelambda> | geekosaur: what's the Show instance for functions? |
2023-07-13 17:53:54 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 250 seconds) |
2023-07-13 17:54:36 +0200 | jonathan_ | (~jonathan@host-217-213-130-57.mobileonline.telia.com) (Ping timeout: 252 seconds) |
2023-07-13 17:54:47 +0200 | <yin> | Show instance for what now? |
2023-07-13 17:55:14 +0200 | <rachelambda> | that's what I was thinking |
2023-07-13 17:55:41 +0200 | <geekosaur[c]> | As jade[m] said it's just "<function>" |
2023-07-13 17:55:50 +0200 | <lyxia> | https://hackage.haskell.org/package/base-4.18.0.0/docs/Text-Show-Functions.html |
2023-07-13 17:55:56 +0200 | <rachelambda> | ah |
2023-07-13 17:55:58 +0200 | <rachelambda> | thank you |
2023-07-13 17:56:20 +0200 | <geekosaur[c]> | There's a smarter one that shows types but it's monomorphic |
2023-07-13 17:56:25 +0200 | <mauke> | wait, there's a Num Reader instance in base now? |
2023-07-13 17:57:02 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 17:57:13 +0200 | <geekosaur[c]> | No Jade was asking why there wasn't |
2023-07-13 17:57:29 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-07-13 17:58:39 +0200 | <yin> | geekosaur[c]: what's with the [c] ? i know [m] is for matrix |
2023-07-13 17:58:41 +0200 | <mauke> | ah, I misunderstood |
2023-07-13 17:59:41 +0200 | <geekosaur[c]> | IRCcloud because I'm on my phone |
2023-07-13 18:00:22 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2023-07-13 18:00:50 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-13 18:01:41 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 245 seconds) |
2023-07-13 18:02:18 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) |
2023-07-13 18:02:59 +0200 | dhil | (~dhil@78.45.150.83.ewm.ftth.as8758.net) |
2023-07-13 18:03:27 +0200 | sm[i] | (~sm@024-165-041-186.res.spectrum.com) |
2023-07-13 18:03:30 +0200 | off^ | (~cd@24.125.210.85) |
2023-07-13 18:03:46 +0200 | danse-nr3_ | (~francesco@151.54.45.22) (Ping timeout: 245 seconds) |
2023-07-13 18:04:10 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 18:04:51 +0200 | <[Leary]> | jade[m]: The only argument I've seen against that instance is that numeric literals accidentally written in application position e.g. `5 ()` would type check and go unnoticed. |
2023-07-13 18:05:30 +0200 | <mauke> | it can get super confusing |
2023-07-13 18:05:34 +0200 | <jade[m]> | that's a valid concern actually |
2023-07-13 18:05:38 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-07-13 18:05:41 +0200 | <mauke> | > (sin + cos) 0.5 |
2023-07-13 18:05:42 +0200 | <lambdabot> | error: |
2023-07-13 18:05:42 +0200 | <lambdabot> | • No instance for (Num (Double -> Double)) |
2023-07-13 18:05:42 +0200 | <lambdabot> | arising from a use of ‘e_105’ |
2023-07-13 18:06:04 +0200 | <jade[m]> | mauke: yeah but that's the part that's actually useful imo |
2023-07-13 18:06:37 +0200 | nick4 | (~nick@2600:8807:9084:7800:f0c8:66b8:cafe:5e4) |
2023-07-13 18:06:53 +0200 | <jade[m]> | [Leary]: any sequence of numbers would also typecheck, right? |
2023-07-13 18:06:56 +0200 | <jade[m]> | i.e. 1 2 3 |
2023-07-13 18:07:15 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-07-13 18:07:24 +0200 | <mauke> | @let instance Num a => Num (e -> a) where fromInteger = pure . fromInteger; abs = fmap abs; signum = fmap signum; negate = fmap negate; (+) = liftA2 (+); (-) = liftA2 (-); (*) = liftA2 (*) |
2023-07-13 18:07:25 +0200 | <lambdabot> | Defined. |
2023-07-13 18:07:29 +0200 | <mauke> | > (sin + cos) 0.5 |
2023-07-13 18:07:30 +0200 | <lambdabot> | 1.3570081004945758 |
2023-07-13 18:07:42 +0200 | <mauke> | > 1 "yeah, so what's this?" sin show |
2023-07-13 18:07:43 +0200 | <lambdabot> | 1 |
2023-07-13 18:09:17 +0200 | <rachelambda> | I wish fromInteger was not a part of Num |
2023-07-13 18:09:35 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 264 seconds) |
2023-07-13 18:09:53 +0200 | <geekosaur[c]> | Lots of people do |
2023-07-13 18:10:02 +0200 | <rachelambda> | I except it to be a cold take |
2023-07-13 18:10:10 +0200 | <rachelambda> | haha |
2023-07-13 18:10:44 +0200 | <[Leary]> | jade[m]: Yes. Or a number followed by any sequence of arguments. |
2023-07-13 18:11:07 +0200 | <rachelambda> | along with wishing there were AddMonoid, MulMonoid, AddGroup, MulGroup, Ring, Field, etc classes in place of the current bunch of classes |
2023-07-13 18:11:14 +0200 | <rachelambda> | I guess I should just go use a custom prelude |
2023-07-13 18:11:23 +0200 | <jade[m]> | numeric-prelude |
2023-07-13 18:11:47 +0200 | <mauke> | @let instance Num a => Num (IO a) where fromInteger = pure . fromInteger; abs = fmap abs; signum = fmap signum; negate = fmap negate; (+) = liftA2 (+); (-) = liftA2 (-); (*) = liftA2 (*) |
2023-07-13 18:11:47 +0200 | <rachelambda> | 👍 |
2023-07-13 18:11:48 +0200 | <lambdabot> | Defined. |
2023-07-13 18:12:16 +0200 | <mauke> | finally I can write `readLn + readLn` |
2023-07-13 18:12:44 +0200 | <mauke> | :t readLn + readLn |
2023-07-13 18:12:45 +0200 | <lambdabot> | (Num a, Read a) => IO a |
2023-07-13 18:13:07 +0200 | <jade[m]> | mauke: I feel like this isn't even that bad |
2023-07-13 18:13:14 +0200 | <rachelambda> | @let instance (Num a, Applicative f) => Num (f a) where fromInteger = pure . fromInteger; abs = fmap abs; signum = fmap signum; negate = fmap negate; (+) = liftA2 (+); (-) = liftA2 (-); (*) = liftA2 (*) |
2023-07-13 18:13:15 +0200 | <lambdabot> | Defined. |
2023-07-13 18:13:19 +0200 | <rachelambda> | haha |
2023-07-13 18:13:23 +0200 | <rachelambda> | slightly cursed |
2023-07-13 18:13:41 +0200 | <rachelambda> | if only there was a way to iterate over any typeclass rather than only Num |
2023-07-13 18:13:45 +0200 | <rachelambda> | to make it truly awful |
2023-07-13 18:13:48 +0200 | <ddellacosta> | Data.Cursed.Slightly |
2023-07-13 18:14:28 +0200 | <int-e> | Data.Cursed.Cursed (re-cursed) |
2023-07-13 18:14:46 +0200 | <ddellacosta> | haha very nice |
2023-07-13 18:15:23 +0200 | <rachelambda> | I think I've seen code like this once trying to implement rank polymorphism as seen in array languages |
2023-07-13 18:15:42 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 18:15:51 +0200 | <yin> | i wish we had this https://www.youtube.com/watch?v=jFk1qpr1ytk |
2023-07-13 18:16:02 +0200 | <mauke> | that instance could be made slightly more confusing by doing fromInteger = fmap pure fromInteger |
2023-07-13 18:16:04 +0200 | <rachelambda> | it's a bit cute using weird instances for Num and the like |
2023-07-13 18:17:13 +0200 | <mauke> | "for many cases Natural numbers retain all of the positive aspects of the Integers with none of the negatives" ohyou.jpg |
2023-07-13 18:20:12 +0200 | <yin> | :) |
2023-07-13 18:20:47 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 18:24:49 +0200 | notzmv | (~zmv@user/notzmv) |
2023-07-13 18:26:30 +0200 | <rachelambda> | naturals are very nice |
2023-07-13 18:26:32 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-13 18:27:28 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 18:29:09 +0200 | ripspin | (~chatzilla@1.145.198.92) |
2023-07-13 18:31:42 +0200 | <yin> | Word |
2023-07-13 18:32:39 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 246 seconds) |
2023-07-13 18:33:34 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 18:35:00 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-07-13 18:35:30 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2023-07-13 18:38:21 +0200 | <rachelambda> | "you would say jose but memory is finite, and I would say why are you doing functional programming" |
2023-07-13 18:38:25 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 240 seconds) |
2023-07-13 18:38:30 +0200 | thegeekinside | (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
2023-07-13 18:38:58 +0200 | picklejuice | (~root@c-73-196-164-60.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
2023-07-13 18:40:59 +0200 | picklejuice | (~root@172.56.222.214) |
2023-07-13 18:43:21 +0200 | <yin> | good public speaker |
2023-07-13 18:45:06 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 18:45:30 +0200 | razetime | (~quassel@117.193.3.219) |
2023-07-13 18:46:27 +0200 | thegeekinside | (~thegeekin@189.217.90.138) |
2023-07-13 18:47:02 +0200 | <rachelambda> | yeah, he's great to listen to |
2023-07-13 18:47:49 +0200 | falafel | (~falafel@2603-7000-a700-8710-9d84-55b0-693c-e89b.res6.spectrum.com) |
2023-07-13 18:49:44 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 246 seconds) |
2023-07-13 18:50:17 +0200 | Inst_ | (~Inst@2601:6c4:4081:2fc0:5c21:6c0c:79b0:64a3) (Ping timeout: 246 seconds) |
2023-07-13 18:50:51 +0200 | razetime | (~quassel@117.193.3.219) (Ping timeout: 245 seconds) |
2023-07-13 18:51:28 +0200 | razetime | (~quassel@117.193.5.192) |
2023-07-13 18:52:32 +0200 | ars23 | (~ars23@2a02:2f09:3f14:a200:15ad:aa36:9d5c:6013) |
2023-07-13 18:53:42 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 245 seconds) |
2023-07-13 18:53:59 +0200 | ars23 | (~ars23@2a02:2f09:3f14:a200:15ad:aa36:9d5c:6013) (Client Quit) |
2023-07-13 18:54:14 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-07-13 18:55:12 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2023-07-13 18:56:37 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 18:57:53 +0200 | ars23 | (~ars23@86.120.205.92) |
2023-07-13 19:00:22 +0200 | razetime | (~quassel@117.193.5.192) (Ping timeout: 245 seconds) |
2023-07-13 19:00:50 +0200 | razetime | (~quassel@117.193.2.221) |
2023-07-13 19:01:12 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 19:02:22 +0200 | jmd_ | (~jmdaemon@user/jmdaemon) |
2023-07-13 19:04:44 +0200 | ski | . o O ( `instance (Finite a,Show a,Show b) => Show (a -> b)' ) |
2023-07-13 19:05:35 +0200 | migas | (~migas@astra4961.startdedicated.net) (Remote host closed the connection) |
2023-07-13 19:05:51 +0200 | migas | (~migas@astra4961.startdedicated.net) |
2023-07-13 19:06:03 +0200 | <ski> | (where e.g. `show not = "\\case {False -> True; True -> False}"') |
2023-07-13 19:07:34 +0200 | <rachelambda> | awful, I love it |
2023-07-13 19:08:09 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 19:12:23 +0200 | misterfish | (~misterfis@87.215.131.102) (Ping timeout: 258 seconds) |
2023-07-13 19:12:29 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 246 seconds) |
2023-07-13 19:12:52 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 19:13:49 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-13 19:15:33 +0200 | barcisz | (~barcisz@31-151-117-10.dynamic.upc.nl) (Quit: Connection closed) |
2023-07-13 19:19:45 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 19:24:57 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 19:27:54 +0200 | gok | (~gok@2601:282:d00:2d60:2143:a66f:233:9ea7) |
2023-07-13 19:31:33 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 19:33:52 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection) |
2023-07-13 19:35:12 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-13 19:36:16 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 19:37:11 +0200 | mxs | (~mxs@user/mxs) (Ping timeout: 264 seconds) |
2023-07-13 19:37:19 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 19:39:07 +0200 | mxs | (~mxs@user/mxs) |
2023-07-13 19:39:48 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-07-13 19:42:06 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 19:43:03 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 19:44:25 +0200 | razetime | (~quassel@117.193.2.221) (Ping timeout: 240 seconds) |
2023-07-13 19:46:59 +0200 | razetime | (~quassel@117.193.1.86) |
2023-07-13 19:47:27 +0200 | picklejuice | (~root@172.56.222.214) (Ping timeout: 245 seconds) |
2023-07-13 19:47:59 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 264 seconds) |
2023-07-13 19:48:50 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 19:49:04 +0200 | picklejuice | (~root@172.56.219.90) |
2023-07-13 19:50:03 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 19:51:35 +0200 | razetime | (~quassel@117.193.1.86) (Ping timeout: 264 seconds) |
2023-07-13 19:53:27 +0200 | razetime | (~quassel@117.193.3.135) |
2023-07-13 19:53:30 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 250 seconds) |
2023-07-13 19:54:22 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 250 seconds) |
2023-07-13 19:56:32 +0200 | nick4 | (~nick@2600:8807:9084:7800:f0c8:66b8:cafe:5e4) (Ping timeout: 240 seconds) |
2023-07-13 19:56:37 +0200 | jmd_ | (~jmdaemon@user/jmdaemon) (Ping timeout: 245 seconds) |
2023-07-13 19:58:42 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Remote host closed the connection) |
2023-07-13 20:00:04 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-07-13 20:01:22 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 20:06:02 +0200 | razetime_ | (~quassel@117.193.7.68) |
2023-07-13 20:06:04 +0200 | razetime | (~quassel@117.193.3.135) (Ping timeout: 250 seconds) |
2023-07-13 20:06:16 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 20:06:50 +0200 | fendor | (~fendor@2a02:8388:1640:be00:bfd6:9a8f:d4f6:3a03) (Remote host closed the connection) |
2023-07-13 20:07:07 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 20:09:36 +0200 | jmd_ | (~jmdaemon@user/jmdaemon) |
2023-07-13 20:11:41 +0200 | razetime_ | (~quassel@117.193.7.68) (Ping timeout: 245 seconds) |
2023-07-13 20:12:28 +0200 | razetime | (~quassel@117.193.1.199) |
2023-07-13 20:13:12 +0200 | nick4 | (~nick@2600:8807:9084:7800:f0c8:66b8:cafe:5e4) |
2023-07-13 20:14:57 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 20:16:43 +0200 | aforemny | (~aforemny@2001:9e8:6cee:2b00:575d:a630:13ac:5fc5) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-07-13 20:16:45 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 20:17:04 +0200 | aforemny | (~aforemny@i59F516E4.versanet.de) |
2023-07-13 20:17:19 +0200 | gok | (~gok@2601:282:d00:2d60:2143:a66f:233:9ea7) (Quit: Client closed) |
2023-07-13 20:17:47 +0200 | nick4 | (~nick@2600:8807:9084:7800:f0c8:66b8:cafe:5e4) (Ping timeout: 246 seconds) |
2023-07-13 20:21:25 +0200 | lottaquestions | (~nick@2607:fa49:503d:b200:5acb:c775:e1cd:3a88) (Ping timeout: 240 seconds) |
2023-07-13 20:21:37 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 20:22:00 +0200 | pieguy128 | (~pieguy128@bras-base-mtrlpq5031w-grc-54-65-92-160-253.dsl.bell.ca) (Ping timeout: 252 seconds) |
2023-07-13 20:28:32 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 20:29:48 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 20:31:10 +0200 | jmd_ | (~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds) |
2023-07-13 20:32:36 +0200 | phma_ | (phma@2001:5b0:211f:7128:594e:98f8:7c9e:d433) |
2023-07-13 20:33:21 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 20:33:29 +0200 | Lears | (~Leary]@user/Leary/x-0910699) |
2023-07-13 20:34:17 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 20:34:22 +0200 | caasih_ | (sid13241@id-13241.ilkley.irccloud.com) |
2023-07-13 20:34:28 +0200 | ripspin | (~chatzilla@1.145.198.92) (Remote host closed the connection) |
2023-07-13 20:34:32 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 245 seconds) |
2023-07-13 20:34:41 +0200 | chaitlatte0_ | (ea29c0bb16@2604:bf00:561:2000::1124) |
2023-07-13 20:34:41 +0200 | jil` | (~user@vps-15050500.vps.ovh.net) |
2023-07-13 20:34:44 +0200 | lukec_ | (9dfd4d094e@2604:bf00:561:2000::10e) |
2023-07-13 20:34:45 +0200 | bsima1_ | (9d7e39c8ad@2604:bf00:561:2000::dd) |
2023-07-13 20:34:45 +0200 | jkoshy_ | (99b9359beb@user/jkoshy) |
2023-07-13 20:34:45 +0200 | n1essa_ | (3d621153a5@2604:bf00:561:2000::df7) |
2023-07-13 20:34:47 +0200 | ggb_ | (a62ffbaf4f@2604:bf00:561:2000::3ac) |
2023-07-13 20:34:52 +0200 | jakzale_ | (6291399afa@user/jakzale) |
2023-07-13 20:34:56 +0200 | fvr_ | (ef3e56ca8b@2604:bf00:561:2000::3c4) |
2023-07-13 20:34:58 +0200 | arcadewise_ | (52968ed80d@2604:bf00:561:2000::3df) |
2023-07-13 20:35:04 +0200 | fluffyballoon_ | (45ce440a48@2604:bf00:561:2000::e2) |
2023-07-13 20:35:04 +0200 | whereiseveryone_ | (206ba86c98@2604:bf00:561:2000::2e4) |
2023-07-13 20:35:04 +0200 | shreyasminocha_ | (51fdc93eda@user/shreyasminocha) |
2023-07-13 20:35:04 +0200 | theesm_ | (2cbdf4b38a@2604:bf00:561:2000::11c8) |
2023-07-13 20:35:10 +0200 | jleightcap_ | (7bc4014b62@user/jleightcap) |
2023-07-13 20:35:10 +0200 | JoelMcCracken_ | (5ea8252fbb@2604:bf00:561:2000::10e3) |
2023-07-13 20:35:10 +0200 | b0o_ | (0e4a0bf4c9@2604:bf00:561:2000::1bf) |
2023-07-13 20:35:10 +0200 | sus_ | (1b7af6299f@user/zeromomentum) |
2023-07-13 20:35:10 +0200 | rselim_ | (ce261f06ff@2604:bf00:561:2000::257) |
2023-07-13 20:35:11 +0200 | Ankhers_ | (e99e97ef8e@2604:bf00:561:2000::2a2) |
2023-07-13 20:35:11 +0200 | sm2n_ | (ae95cb1267@user/sm2n) |
2023-07-13 20:35:13 +0200 | Athas_ | (athas@sigkill.dk) |
2023-07-13 20:35:15 +0200 | cbarrett_ | (sid192934@id-192934.helmsley.irccloud.com) |
2023-07-13 20:35:17 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-13 20:35:24 +0200 | berberman_ | (~berberman@user/berberman) |
2023-07-13 20:35:24 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2023-07-13 20:35:27 +0200 | JSharp_ | (sid4580@id-4580.lymington.irccloud.com) |
2023-07-13 20:35:48 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-13 20:36:12 +0200 | razetime | (~quassel@117.193.1.199) (Ping timeout: 245 seconds) |
2023-07-13 20:36:24 +0200 | megaTherion_ | (~therion@unix.io) |
2023-07-13 20:36:29 +0200 | h2t_ | (~h2t@user/h2t) |
2023-07-13 20:36:49 +0200 | wagle_ | (~wagle@quassel.wagle.io) |
2023-07-13 20:36:58 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit) |
2023-07-13 20:37:40 +0200 | jjhoo_ | (~jahakala@user/jjhoo) |
2023-07-13 20:37:47 +0200 | nshepper1 | (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) |
2023-07-13 20:37:51 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2023-07-13 20:38:02 +0200 | nckx_ | (~nckx@guix/contributor/nckx) |
2023-07-13 20:38:08 +0200 | Cadey | (~cadey@tailscale/xe) |
2023-07-13 20:39:07 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-13 20:39:13 +0200 | arthurvl | (~arthurvl@77-174-49-144.fixed.kpn.net) |
2023-07-13 20:39:41 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-13 20:41:19 +0200 | trev | (~trev@user/trev) (Quit: trev) |
2023-07-13 20:41:22 +0200 | cyphase_eviltwin | (~cyphase@user/cyphase) |
2023-07-13 20:42:09 +0200 | Midjak | (~Midjak@82.66.147.146) (*.net *.split) |
2023-07-13 20:42:09 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (*.net *.split) |
2023-07-13 20:42:09 +0200 | takuan_dozo | (~takuan@178-116-218-225.access.telenet.be) (*.net *.split) |
2023-07-13 20:42:09 +0200 | mrmr | (~mrmr@user/mrmr) (*.net *.split) |
2023-07-13 20:42:09 +0200 | cyphase | (~cyphase@user/cyphase) (*.net *.split) |
2023-07-13 20:42:09 +0200 | phma | (~phma@host-67-44-208-125.hnremote.net) (*.net *.split) |
2023-07-13 20:42:09 +0200 | kimiamania6 | (~681cf57f@user/kimiamania) (*.net *.split) |
2023-07-13 20:42:09 +0200 | berberman | (~berberman@user/berberman) (*.net *.split) |
2023-07-13 20:42:09 +0200 | Xe | (~cadey@tailscale/xe) (*.net *.split) |
2023-07-13 20:42:09 +0200 | Flow | (~none@gentoo/developer/flow) (*.net *.split) |
2023-07-13 20:42:09 +0200 | [Leary] | (~Leary]@user/Leary/x-0910699) (*.net *.split) |
2023-07-13 20:42:09 +0200 | nckx | (~nckx@guix/contributor/nckx) (*.net *.split) |
2023-07-13 20:42:09 +0200 | Cale | (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) (*.net *.split) |
2023-07-13 20:42:09 +0200 | caasih | (sid13241@id-13241.ilkley.irccloud.com) (*.net *.split) |
2023-07-13 20:42:09 +0200 | earthy | (~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net) (*.net *.split) |
2023-07-13 20:42:09 +0200 | JSharp | (sid4580@id-4580.lymington.irccloud.com) (*.net *.split) |
2023-07-13 20:42:09 +0200 | nshepperd | (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (*.net *.split) |
2023-07-13 20:42:09 +0200 | jjhoo | (~jahakala@user/jjhoo) (*.net *.split) |
2023-07-13 20:42:09 +0200 | megaTherion | (~therion@unix.io) (*.net *.split) |
2023-07-13 20:42:09 +0200 | h2t | (~h2t@user/h2t) (*.net *.split) |
2023-07-13 20:42:09 +0200 | cbarrett | (sid192934@id-192934.helmsley.irccloud.com) (*.net *.split) |
2023-07-13 20:42:09 +0200 | jil | (~user@vps-15050500.vps.ovh.net) (*.net *.split) |
2023-07-13 20:42:09 +0200 | jleightcap | (7bc4014b62@user/jleightcap) (*.net *.split) |
2023-07-13 20:42:09 +0200 | Ankhers | (e99e97ef8e@2604:bf00:561:2000::2a2) (*.net *.split) |
2023-07-13 20:42:09 +0200 | fluffyballoon | (45ce440a48@2604:bf00:561:2000::e2) (*.net *.split) |
2023-07-13 20:42:09 +0200 | b0o | (0e4a0bf4c9@2604:bf00:561:2000::1bf) (*.net *.split) |
2023-07-13 20:42:09 +0200 | jakzale | (6291399afa@user/jakzale) (*.net *.split) |
2023-07-13 20:42:09 +0200 | sm2n | (ae95cb1267@user/sm2n) (*.net *.split) |
2023-07-13 20:42:09 +0200 | whereiseveryone | (206ba86c98@2604:bf00:561:2000::2e4) (*.net *.split) |
2023-07-13 20:42:09 +0200 | chaitlatte0 | (ea29c0bb16@user/chaitlatte0) (*.net *.split) |
2023-07-13 20:42:09 +0200 | rselim | (ce261f06ff@user/milesrout) (*.net *.split) |
2023-07-13 20:42:09 +0200 | lukec | (9dfd4d094e@2604:bf00:561:2000::10e) (*.net *.split) |
2023-07-13 20:42:09 +0200 | ggb | (a62ffbaf4f@2604:bf00:561:2000::3ac) (*.net *.split) |
2023-07-13 20:42:10 +0200 | bsima1 | (9d7e39c8ad@2604:bf00:561:2000::dd) (*.net *.split) |
2023-07-13 20:42:10 +0200 | theesm | (2cbdf4b38a@2604:bf00:561:2000::11c8) (*.net *.split) |
2023-07-13 20:42:10 +0200 | sus | (1b7af6299f@user/zeromomentum) (*.net *.split) |
2023-07-13 20:42:10 +0200 | shreyasminocha | (51fdc93eda@user/shreyasminocha) (*.net *.split) |
2023-07-13 20:42:10 +0200 | jkoshy | (99b9359beb@user/jkoshy) (*.net *.split) |
2023-07-13 20:42:10 +0200 | arcadewise | (52968ed80d@2604:bf00:561:2000::3df) (*.net *.split) |
2023-07-13 20:42:10 +0200 | n1essa | (3d621153a5@2604:bf00:561:2000::df7) (*.net *.split) |
2023-07-13 20:42:10 +0200 | JoelMcCracken | (5ea8252fbb@2604:bf00:561:2000::10e3) (*.net *.split) |
2023-07-13 20:42:10 +0200 | fvr | (ef3e56ca8b@2604:bf00:561:2000::3c4) (*.net *.split) |
2023-07-13 20:42:10 +0200 | wagle | (~wagle@quassel.wagle.io) (*.net *.split) |
2023-07-13 20:42:10 +0200 | Athas | (athas@sigkill.dk) (*.net *.split) |
2023-07-13 20:42:11 +0200 | nckx_ | nckx |
2023-07-13 20:42:11 +0200 | caasih_ | caasih |
2023-07-13 20:42:11 +0200 | JSharp_ | JSharp |
2023-07-13 20:42:12 +0200 | megaTherion_ | megaTherion |
2023-07-13 20:42:12 +0200 | Ankhers_ | Ankhers |
2023-07-13 20:42:12 +0200 | Lord_of_Life_ | Lord_of_Life |
2023-07-13 20:42:12 +0200 | b0o_ | b0o |
2023-07-13 20:42:12 +0200 | chaitlatte0_ | chaitlatte0 |
2023-07-13 20:42:12 +0200 | jakzale_ | jakzale |
2023-07-13 20:42:12 +0200 | theesm_ | theesm |
2023-07-13 20:42:12 +0200 | fluffyballoon_ | fluffyballoon |
2023-07-13 20:42:12 +0200 | lukec_ | lukec |
2023-07-13 20:42:12 +0200 | rselim_ | rselim |
2023-07-13 20:42:12 +0200 | sus_ | sus |
2023-07-13 20:42:12 +0200 | jleightcap_ | jleightcap |
2023-07-13 20:42:12 +0200 | jkoshy_ | jkoshy |
2023-07-13 20:42:12 +0200 | n1essa_ | n1essa |
2023-07-13 20:42:12 +0200 | ggb_ | ggb |
2023-07-13 20:42:12 +0200 | fvr_ | fvr |
2023-07-13 20:42:13 +0200 | sm2n_ | sm2n |
2023-07-13 20:42:13 +0200 | cbarrett_ | cbarrett |
2023-07-13 20:42:13 +0200 | shreyasminocha_ | shreyasminocha |
2023-07-13 20:42:13 +0200 | JoelMcCracken_ | JoelMcCracken |
2023-07-13 20:42:13 +0200 | bsima1_ | bsima1 |
2023-07-13 20:42:13 +0200 | arcadewise_ | arcadewise |
2023-07-13 20:42:19 +0200 | whereiseveryone_ | whereiseveryone |
2023-07-13 20:42:44 +0200 | Cadey | Xe |
2023-07-13 20:43:26 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6cd6:b2b2:8eef:d429) (Remote host closed the connection) |
2023-07-13 20:43:30 +0200 | mrmr | (~mrmr@user/mrmr) |
2023-07-13 20:43:46 +0200 | kimiamania6 | (~681cf57f@user/kimiamania) |
2023-07-13 20:44:01 +0200 | jmd_ | (~jmdaemon@user/jmdaemon) |
2023-07-13 20:44:55 +0200 | fiddlerwoaroof | (~fiddlerwo@user/fiddlerwoaroof) (Ping timeout: 260 seconds) |
2023-07-13 20:46:00 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 20:47:20 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-07-13 20:47:55 +0200 | jmd_ | (~jmdaemon@user/jmdaemon) (Remote host closed the connection) |
2023-07-13 20:48:16 +0200 | jmd_ | (~jmdaemon@user/jmdaemon) |
2023-07-13 20:49:22 +0200 | fiddlerwoaroof | (~fiddlerwo@user/fiddlerwoaroof) |
2023-07-13 20:50:08 +0200 | Cale | (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) |
2023-07-13 20:50:08 +0200 | Flow | (~none@gentoo/developer/flow) |
2023-07-13 20:50:27 +0200 | fweht | (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-07-13 20:50:42 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 250 seconds) |
2023-07-13 20:51:45 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 20:52:02 +0200 | buhman_ | buhman |
2023-07-13 20:52:26 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2023-07-13 20:52:32 +0200 | buhman | (sid411355@id-411355.tinside.irccloud.com) (Changing host) |
2023-07-13 20:52:32 +0200 | buhman | (sid411355@user/buhman) |
2023-07-13 20:53:31 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-13 20:54:53 +0200 | <shapr> | so quiet |
2023-07-13 20:55:05 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-13 20:55:49 +0200 | <[exa]> | y tho |
2023-07-13 20:56:36 +0200 | <shapr> | probably because I'm trying to prevent a rant about property based testing |
2023-07-13 20:56:43 +0200 | <shapr> | I have *opinions* |
2023-07-13 20:56:43 +0200 | ubert | (~Thunderbi@178.115.54.100.wireless.dyn.drei.com) |
2023-07-13 20:56:46 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 250 seconds) |
2023-07-13 20:57:31 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 20:57:51 +0200 | <Rembane> | shapr: I would love to hear one. Either here or in #haskell-offtopic |
2023-07-13 20:59:59 +0200 | <shapr> | Rembane: How about a few lines that's an excerpt from an email I sent to Rudy Matela last week? |
2023-07-13 21:00:41 +0200 | <shapr> | Rembane: how many property based checks is enough? How many is too many and just wasting CPU? |
2023-07-13 21:00:51 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 21:01:10 +0200 | <shapr> | I came up with an answer last year during my most recent time at Recurse Center: https://github.com/shapr/kudzu/ |
2023-07-13 21:01:47 +0200 | <shapr> | My answer is, "use the Haskell Program Coverage tool to ask the GHC runtime to tell me which regions of the code have been executed" |
2023-07-13 21:02:14 +0200 | <shapr> | I turn each region into a Bool value, and turn that into a count of regions executed. |
2023-07-13 21:02:34 +0200 | <shapr> | When the total count of regions stops increasing, that's enough tests. |
2023-07-13 21:02:50 +0200 | <shapr> | look how small it is! https://github.com/shapr/kudzu/blob/main/src/Kudzu.hs |
2023-07-13 21:02:59 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 264 seconds) |
2023-07-13 21:03:13 +0200 | <Rembane> | I love the idea! How well does it work? |
2023-07-13 21:03:19 +0200 | <shapr> | It works extremely well |
2023-07-13 21:03:25 +0200 | <shapr> | BUT WAIT! there's more! |
2023-07-13 21:03:53 +0200 | <shapr> | Rembane: can you guess whic of QuickCheck, HedgeHog, or LeanCheck took the fewest number of generated inputs to reach "enough" ? |
2023-07-13 21:04:25 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-07-13 21:04:49 +0200 | <shapr> | For even more excitement, can you guess why LeanCheck took the fewest number of steps to cover the same amount of code? |
2023-07-13 21:04:52 +0200 | ubert | (~Thunderbi@178.115.54.100.wireless.dyn.drei.com) (Quit: ubert) |
2023-07-13 21:05:00 +0200 | <shapr> | Anyway, that's the short talk |
2023-07-13 21:05:23 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 246 seconds) |
2023-07-13 21:05:36 +0200 | <shapr> | For a longer and weirder talk, cdsmith and I wrote a large piece of either genius or insanity, depending on your viewpoint: https://github.com/shapr/trynocular |
2023-07-13 21:06:03 +0200 | <Rembane> | shapr: I was going to guess QuickCheck because I like to have that package as an answer. I can't guess why LeanCheck took the fewest number of steps. I haven't used the package at all. :D |
2023-07-13 21:06:08 +0200 | <Rembane> | shapr: Why not both? |
2023-07-13 21:06:30 +0200 | <shapr> | The question for trynocular was: can I do gradient descent on random test inputs, and use that to explore what inputs exercise which parts of a codebase? |
2023-07-13 21:06:59 +0200 | <shapr> | The answer is pretty much yes |
2023-07-13 21:07:24 +0200 | <shapr> | With trynocular, it's more about really smart input generators |
2023-07-13 21:07:57 +0200 | <shapr> | roughly, the thunks are wrapped in unsafePerformIO that lets them report when they were forced |
2023-07-13 21:08:08 +0200 | <shapr> | So you know that's an input the code is using |
2023-07-13 21:08:24 +0200 | <Rembane> | That's super neat! |
2023-07-13 21:08:51 +0200 | <shapr> | The one sad part of this whole adventure was that I checked reverse dependencies of all the property based test libraries on hackage |
2023-07-13 21:09:02 +0200 | <shapr> | and 1. far fewer property tests on hackage than I expected |
2023-07-13 21:09:05 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 21:09:27 +0200 | <shapr> | and 2. many libraries that depend on a PBT library use it for unit tests with static inputs :-( |
2023-07-13 21:09:56 +0200 | <shapr> | Rembane: anyway, if you get as excited about PBT as I do, you really want to read Rudy Matela's thesis on PBT tools |
2023-07-13 21:10:12 +0200 | <shapr> | https://matela.com.br/ |
2023-07-13 21:10:33 +0200 | <shapr> | I'm a huge fan of PBT and Rudy has the coolest tools and ideas I've seen in decades of reading research papers on this topic |
2023-07-13 21:11:19 +0200 | <shapr> | Rembane: in my opinion, LeanCheck is the simplest and best value generator for property based tests, in almost all cases |
2023-07-13 21:11:25 +0200 | <Rembane> | shapr: Thank you for the links! I am super excited about PBT! |
2023-07-13 21:11:29 +0200 | <shapr> | hurrah! |
2023-07-13 21:11:31 +0200 | <shapr> | I'm not the only one! |
2023-07-13 21:11:42 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-07-13 21:11:43 +0200 | <Rembane> | shapr: I'm a bit tired though so I'm not very good at english at the moment. |
2023-07-13 21:11:47 +0200 | <shapr> | kein problem |
2023-07-13 21:12:02 +0200 | <shapr> | Wait, I forget which language is your first |
2023-07-13 21:12:16 +0200 | <shapr> | inga problem? svenska? |
2023-07-13 21:12:21 +0200 | shapr | shrugs |
2023-07-13 21:12:52 +0200 | phma_ | (phma@2001:5b0:211f:7128:594e:98f8:7c9e:d433) (Read error: Connection reset by peer) |
2023-07-13 21:13:10 +0200 | <shapr> | And now I go back to trying to get afl-gcc to work inside nix |
2023-07-13 21:13:14 +0200 | <Rembane> | Svenska it is! |
2023-07-13 21:13:16 +0200 | phma_ | (phma@2001:5b0:211f:7128:594e:98f8:7c9e:d433) |
2023-07-13 21:13:23 +0200 | <Rembane> | shapr: Sounds exciting! GL HF! |
2023-07-13 21:13:47 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 246 seconds) |
2023-07-13 21:14:08 +0200 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 246 seconds) |
2023-07-13 21:14:23 +0200 | nick4 | (~nick@2600:100d:b119:20c8:388e:ed2:1b56:5150) |
2023-07-13 21:14:55 +0200 | <shapr> | tack så mycket! tror det blir kul |
2023-07-13 21:15:10 +0200 | fweht | (uid404746@id-404746.lymington.irccloud.com) |
2023-07-13 21:15:39 +0200 | <Rembane> | shapr: No worries! ^^ |
2023-07-13 21:15:57 +0200 | <mauke> | I only know PBF |
2023-07-13 21:16:56 +0200 | <shapr> | what's the F? |
2023-07-13 21:17:06 +0200 | <mauke> | fellowship |
2023-07-13 21:17:20 +0200 | lottaquestions | (~nick@2607:fa49:503d:b200:3c9:7bb3:d043:de20) |
2023-07-13 21:18:16 +0200 | tomboy64 | (~tomboy64@user/tomboy64) |
2023-07-13 21:20:37 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 21:22:26 +0200 | codaraxis | (~codaraxis@user/codaraxis) |
2023-07-13 21:23:09 +0200 | <picklejuice> | set |
2023-07-13 21:24:06 +0200 | picklejuice | (~root@172.56.219.90) (Quit: leaving) |
2023-07-13 21:25:33 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 246 seconds) |
2023-07-13 21:26:12 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds) |
2023-07-13 21:28:59 +0200 | troydm | (~troydm@user/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) |
2023-07-13 21:29:11 +0200 | lottaquestions_ | (~nick@2607:fa49:503d:b200:3c9:7bb3:d043:de20) |
2023-07-13 21:29:24 +0200 | lottaquestions | (~nick@2607:fa49:503d:b200:3c9:7bb3:d043:de20) (Ping timeout: 246 seconds) |
2023-07-13 21:29:27 +0200 | troydm | (~troydm@user/troydm) |
2023-07-13 21:30:44 +0200 | nick4 | (~nick@2600:100d:b119:20c8:388e:ed2:1b56:5150) (Ping timeout: 246 seconds) |
2023-07-13 21:32:23 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 21:37:06 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 246 seconds) |
2023-07-13 21:38:13 +0200 | nick4 | (~nick@2600:8807:9144:2e00:1de:2bc9:a973:53c9) |
2023-07-13 21:41:17 +0200 | pieguy128 | (~pieguy128@67.70.103.226) |
2023-07-13 21:43:55 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6cd6:b2b2:8eef:d429) |
2023-07-13 21:46:11 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 21:47:52 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 245 seconds) |
2023-07-13 21:48:05 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6cd6:b2b2:8eef:d429) (Ping timeout: 246 seconds) |
2023-07-13 21:49:01 +0200 | XliminalX | (~goirc@2001:19f0:5c00:27fc:5400:4ff:fe7a:1f8e) (Remote host closed the connection) |
2023-07-13 21:50:52 +0200 | XliminalX | (~goirc@2001:19f0:5c00:27fc:5400:4ff:fe7a:1f8e) |
2023-07-13 21:50:53 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 246 seconds) |
2023-07-13 21:53:45 +0200 | XliminalX | (~goirc@2001:19f0:5c00:27fc:5400:4ff:fe7a:1f8e) (Read error: Connection reset by peer) |
2023-07-13 21:55:14 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-07-13 21:55:40 +0200 | XliminalX | (~goirc@2001:19f0:5c00:27fc:5400:4ff:fe7a:1f8e) |
2023-07-13 21:56:34 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 21:57:44 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 21:58:44 +0200 | jmd_ | (~jmdaemon@user/jmdaemon) (Ping timeout: 250 seconds) |
2023-07-13 21:59:13 +0200 | Inst_ | (~Inst@2601:6c4:4081:2fc0:dd33:627c:a196:edc4) |
2023-07-13 21:59:19 +0200 | <yin> | when installing ghc manually, is ./configure supposed to give me some output while running? |
2023-07-13 21:59:47 +0200 | mxs | (~mxs@user/mxs) (Ping timeout: 246 seconds) |
2023-07-13 22:00:33 +0200 | APic | (apic@apic.name) (Ping timeout: 246 seconds) |
2023-07-13 22:01:03 +0200 | <probie> | yin: It gives me output |
2023-07-13 22:01:12 +0200 | falafel | (~falafel@2603-7000-a700-8710-9d84-55b0-693c-e89b.res6.spectrum.com) (Ping timeout: 245 seconds) |
2023-07-13 22:01:13 +0200 | <c_wraith> | you should get a lot of gcc output from running ./configure |
2023-07-13 22:02:15 +0200 | <yin> | i get nothing. i can see it's writing to disk for some minutes and then inexplicably terminates |
2023-07-13 22:02:38 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 260 seconds) |
2023-07-13 22:03:10 +0200 | mxs | (~mxs@user/mxs) |
2023-07-13 22:03:53 +0200 | <yin> | reintalling gcc... |
2023-07-13 22:04:19 +0200 | <probie> | What OS are you on, what version of GHC are you trying to build, and did you run ./boot first? (not that not-running ./boot would cause no output, but you'll need to run it before you can build) |
2023-07-13 22:06:08 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 252 seconds) |
2023-07-13 22:09:16 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 22:10:02 +0200 | ft | (~ft@p3e9bc835.dip0.t-ipconnect.de) |
2023-07-13 22:10:25 +0200 | vgtw | (~vgtw@user/vgtw) |
2023-07-13 22:10:41 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-07-13 22:12:32 +0200 | zeenk | (~zeenk@2a02:2f04:a00b:1800::7fe) |
2023-07-13 22:14:29 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 246 seconds) |
2023-07-13 22:15:07 +0200 | ars23 | (~ars23@86.120.205.92) (Quit: Leaving) |
2023-07-13 22:15:51 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-13 22:17:00 +0200 | pieguy128 | (~pieguy128@67.70.103.226) (Ping timeout: 246 seconds) |
2023-07-13 22:17:44 +0200 | Athas_ | Athas |
2023-07-13 22:21:39 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 22:21:42 +0200 | thegeekinside | (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
2023-07-13 22:23:38 +0200 | jonathan | (~jonathan@c-5eea7352-74736162.cust.telenor.se) |
2023-07-13 22:23:43 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-07-13 22:23:59 +0200 | APic | (apic@apic.name) |
2023-07-13 22:26:54 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 250 seconds) |
2023-07-13 22:29:05 +0200 | lottaquestions_ | (~nick@2607:fa49:503d:b200:3c9:7bb3:d043:de20) (Read error: Connection reset by peer) |
2023-07-13 22:29:30 +0200 | lottaquestions_ | (~nick@2607:fa49:503d:b200:3c9:7bb3:d043:de20) |
2023-07-13 22:29:56 +0200 | APic | (apic@apic.name) (Ping timeout: 250 seconds) |
2023-07-13 22:31:29 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2023-07-13 22:31:57 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-07-13 22:33:10 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 22:34:27 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 22:38:06 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 260 seconds) |
2023-07-13 22:39:46 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 258 seconds) |
2023-07-13 22:41:42 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 22:42:34 +0200 | APic | (~apic@apic.name) |
2023-07-13 22:42:51 +0200 | titibandit | (~titibandi@user/titibandit) (Read error: Connection reset by peer) |
2023-07-13 22:43:57 +0200 | neuroevolutus | (~neuroevol@2001:ac8:9a:76::1e) |
2023-07-13 22:47:03 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 258 seconds) |
2023-07-13 22:47:35 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 246 seconds) |
2023-07-13 22:48:27 +0200 | titibandit | (~titibandi@user/titibandit) |
2023-07-13 22:52:49 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-07-13 22:57:45 +0200 | fun-safe-math | (~fun-safe-@c-24-21-226-85.hsd1.or.comcast.net) () |
2023-07-13 22:58:29 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) (Remote host closed the connection) |
2023-07-13 23:02:17 +0200 | YuutaW | (~YuutaW@mail.yuuta.moe) (Ping timeout: 246 seconds) |
2023-07-13 23:02:22 +0200 | boxscape_ | (~boxscape_@81.191.27.107) |
2023-07-13 23:03:35 +0200 | dhil | (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 264 seconds) |
2023-07-13 23:04:10 +0200 | <yin> | glibc void linux fresh install on a vm |
2023-07-13 23:04:23 +0200 | <yin> | tried 10 different versions od ghc |
2023-07-13 23:04:42 +0200 | <yin> | did not run ./boot |
2023-07-13 23:04:50 +0200 | YuutaW | (~YuutaW@2404:f4c0:f9c3:502::100:17b7) |
2023-07-13 23:05:10 +0200 | <yin> | what's boot? |
2023-07-13 23:07:17 +0200 | titibandit | (~titibandi@user/titibandit) (Remote host closed the connection) |
2023-07-13 23:07:25 +0200 | <geekosaur> | it verifies you have all the necessary haskell boot libraries and prepares everything for configure |
2023-07-13 23:09:13 +0200 | <yin> | this is what i get in the logs https://paste.jrvieira.com/1689262817710 |
2023-07-13 23:09:21 +0200 | <yin> | from ghcup |
2023-07-13 23:11:09 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-07-13 23:11:11 +0200 | <mauke> | are there any other files in ~/.ghcup/logs? |
2023-07-13 23:11:45 +0200 | <yin> | no |
2023-07-13 23:12:01 +0200 | <Hecate> | yin: as described in https://ghc.dev/, building ghc requires running "./boot && ./configure" |
2023-07-13 23:13:39 +0200 | <mauke> | not a great error |
2023-07-13 23:13:47 +0200 | <mauke> | I'd probably bust out strace -f at this point |
2023-07-13 23:16:11 +0200 | pavonia | (~user@user/siracusa) |
2023-07-13 23:16:25 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 240 seconds) |
2023-07-13 23:19:53 +0200 | <juri_> | my talk to CCCCamp was accepted. https://pretalx.c3voc.de/chaos-communication-camp-2023/talk/review/TSTWWQ37BBEXKFWJRHMNQJWQRGDKBGCA |
2023-07-13 23:20:23 +0200 | <Hecate> | juri_: congrats! |
2023-07-13 23:20:56 +0200 | <Hecate> | Axman6: can I kindly ask for a review on this? I am quite out of my depth regarding the failure of the test here: https://github.com/haskell-cryptography/libsodium-bindings/pull/94 |
2023-07-13 23:21:11 +0200 | <juri_> | Hecate: thanks! I'm nervous already. :) |
2023-07-13 23:21:28 +0200 | <Hecate> | juri_: yeah I understand, 'twas the same thing when my talk was accepted at FOSDEM |
2023-07-13 23:21:52 +0200 | <juri_> | Hecate: this is my third CCC talk. :) |
2023-07-13 23:22:02 +0200 | <juri_> | I'm just always nervous. :P |
2023-07-13 23:22:38 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 23:23:06 +0200 | sm[i] | (~sm@024-165-041-186.res.spectrum.com) (Quit: sm[i]) |
2023-07-13 23:23:12 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-13 23:23:15 +0200 | <Hecate> | juri_: hahaha |
2023-07-13 23:23:23 +0200 | <Hecate> | well good luck nonetheless! |
2023-07-13 23:23:34 +0200 | <juri_> | thank you! :) |
2023-07-13 23:24:43 +0200 | <yin> | ok this is weird |
2023-07-13 23:24:57 +0200 | <yin> | ./configure (line 19): Unsupported use of '='. In fish, please use 'set DUALCASE 1'. |
2023-07-13 23:25:00 +0200 | <yin> | DUALCASE=1; export DUALCASE # for MKS sh |
2023-07-13 23:25:02 +0200 | <yin> | ^~~~~~~~~^ |
2023-07-13 23:25:05 +0200 | <yin> | warning: Error while reading file ./configure |
2023-07-13 23:25:18 +0200 | sm[i] | (~sm@024-165-041-186.res.spectrum.com) |
2023-07-13 23:25:29 +0200 | <Hecate> | yin: AH! :D You use a non-POSIX shell, don't you? |
2023-07-13 23:25:37 +0200 | <yin> | i get this error even if i dont use fish |
2023-07-13 23:25:45 +0200 | <Hecate> | oh no |
2023-07-13 23:25:55 +0200 | <yin> | oh no indeed |
2023-07-13 23:25:57 +0200 | <Hecate> | yin: name and version of your shell? |
2023-07-13 23:26:11 +0200 | <Hecate> | wait this should be using sh |
2023-07-13 23:26:25 +0200 | <geekosaur> | it should have a `#! /bin/sh` at the top |
2023-07-13 23:26:30 +0200 | <Hecate> | yeah |
2023-07-13 23:26:40 +0200 | <boxscape_> | ...is it possible that /bin/sh is pointing to fish? |
2023-07-13 23:26:41 +0200 | <yin> | bash 5.2.15 |
2023-07-13 23:26:54 +0200 | <Hecate> | exact same version here |
2023-07-13 23:26:57 +0200 | <yin> | geekosaur: it does have #! /bon/sh |
2023-07-13 23:27:01 +0200 | <yin> | *bin |
2023-07-13 23:27:26 +0200 | <Hecate> | yin: and you've run ./boot before, right? |
2023-07-13 23:27:38 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 272 seconds) |
2023-07-13 23:27:55 +0200 | <yin> | yes, and i have used fish |
2023-07-13 23:28:02 +0200 | <Hecate> | very peculiar |
2023-07-13 23:28:04 +0200 | <yin> | but cloned the repo again |
2023-07-13 23:28:15 +0200 | <Hecate> | ok |
2023-07-13 23:28:19 +0200 | falafel | (~falafel@2603-7000-a700-8710-f0a4-a73f-8e9b-67cd.res6.spectrum.com) |
2023-07-13 23:28:33 +0200 | <Hecate> | unfortunately I have to leave, but do ask for help in #ghc, yin |
2023-07-13 23:28:44 +0200 | <yin> | ok ty |
2023-07-13 23:29:34 +0200 | <yin> | boxscape_: lol no |
2023-07-13 23:29:41 +0200 | <boxscape_> | good :) |
2023-07-13 23:30:26 +0200 | <boxscape_> | yin I guess the same thing happens if you run `/bin/sh configure` instead of `./configure`? |
2023-07-13 23:30:30 +0200 | Guest9190 | (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 246 seconds) |
2023-07-13 23:30:39 +0200 | <yin> | sec |
2023-07-13 23:34:51 +0200 | <yin> | exact same thing |
2023-07-13 23:35:07 +0200 | <yin> | something's wrong with my system |
2023-07-13 23:36:56 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-13 23:39:39 +0200 | son0p | (~ff@181.136.122.143) (Remote host closed the connection) |
2023-07-13 23:39:48 +0200 | jonathan | (~jonathan@c-5eea7352-74736162.cust.telenor.se) (Remote host closed the connection) |
2023-07-13 23:40:08 +0200 | jonathan | (~jonathan@94.234.115.82) |
2023-07-13 23:42:36 +0200 | <geekosaur> | I really hope they didn't do something stupid like put /bin.sh under an /etc/alternatives style system and include a non-POSIX shell in the alternatives |
2023-07-13 23:44:26 +0200 | jonathan | (~jonathan@94.234.115.82) (Ping timeout: 246 seconds) |
2023-07-13 23:44:52 +0200 | <yin> | no way |
2023-07-13 23:45:10 +0200 | <yin> | i made a shell script and it works fine |
2023-07-13 23:45:46 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-13 23:47:46 +0200 | son0p | (~ff@181.136.122.143) |
2023-07-13 23:51:28 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2023-07-13 23:54:03 +0200 | buckwheat | (~buckwheat@209.122.211.192) |
2023-07-13 23:54:21 +0200 | anon24339985 | (~anon24339@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) |
2023-07-13 23:54:35 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 246 seconds) |
2023-07-13 23:55:59 +0200 | acarrico | (~acarrico@dhcp-68-142-49-163.greenmountainaccess.net) (Quit: Leaving.) |
2023-07-13 23:57:28 +0200 | neuroevolutus | (~neuroevol@2001:ac8:9a:76::1e) (Quit: Client closed) |
2023-07-13 23:59:11 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-07-13 23:59:18 +0200 | buckwheat | (~buckwheat@209.122.211.192) (Ping timeout: 272 seconds) |