2021-02-26 00:02:20 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection) |
2021-02-26 00:02:55 +0100 | adam10 | (6b4dedab@mobile-107-77-237-171.mobile.att.net) |
2021-02-26 00:03:12 +0100 | adam10 | (6b4dedab@mobile-107-77-237-171.mobile.att.net) (Client Quit) |
2021-02-26 00:05:58 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye) |
2021-02-26 00:06:58 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2021-02-26 00:07:40 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 00:09:51 +0100 | xwvvvvwx | (xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-02-26 00:10:02 +0100 | xwvvvvwx | (xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx) |
2021-02-26 00:10:55 +0100 | vimto | (~vimto@unaffiliated/vimto) (Ping timeout: 258 seconds) |
2021-02-26 00:11:01 +0100 | drewolson | (~drewolson@64.227.24.16) |
2021-02-26 00:11:45 +0100 | mp___ | (mp@hell.cx) |
2021-02-26 00:12:13 +0100 | gr33nbits | (~gr33nbits@a109-49-87-64.cpe.netcabo.pt) (Quit: Konversation terminated!) |
2021-02-26 00:13:31 +0100 | Alleria | (~textual@zrcout.mskcc.org) |
2021-02-26 00:13:34 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds) |
2021-02-26 00:13:54 +0100 | Alleria | Guest77245 |
2021-02-26 00:15:11 +0100 | Guest30451 | (~textual@zrcout.mskcc.org) (Ping timeout: 256 seconds) |
2021-02-26 00:18:07 +0100 | <tomsmeding> | maerwald: if you have an android device, you can run it there (I have an android phone, can try to test -- though I'll be sleeping for a while) |
2021-02-26 00:18:17 +0100 | conal | (~conal@64.71.133.70) |
2021-02-26 00:18:18 +0100 | xsperry | (~as@unaffiliated/xsperry) (Remote host closed the connection) |
2021-02-26 00:19:22 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2021-02-26 00:23:09 +0100 | o1lo01o__ | (~o1lo01ol1@95.69.63.87) (Remote host closed the connection) |
2021-02-26 00:23:31 +0100 | ezzieyguywuf | (~Unknown@unaffiliated/ezzieyguywuf) |
2021-02-26 00:23:48 +0100 | o1lo01ol1o | (~o1lo01ol1@95.69.63.87) |
2021-02-26 00:25:29 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
2021-02-26 00:27:38 +0100 | zar | (~zar@fw1.ciirc.cvut.cz) |
2021-02-26 00:28:50 +0100 | xsperry | (~as@unaffiliated/xsperry) |
2021-02-26 00:29:10 +0100 | o1lo01ol1o | (~o1lo01ol1@95.69.63.87) (Ping timeout: 276 seconds) |
2021-02-26 00:29:57 +0100 | apache8080 | (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 264 seconds) |
2021-02-26 00:30:05 +0100 | crobbins | (~crobbins@2600:1700:48eb:8490:f085:4e3f:f643:338d) (Ping timeout: 240 seconds) |
2021-02-26 00:30:43 +0100 | crobbins | (~crobbins@2600:1700:48eb:8490:f085:4e3f:f643:338d) |
2021-02-26 00:33:39 +0100 | c-rog | (~c-rog@traffic.simst.im) |
2021-02-26 00:34:02 +0100 | c-rog | (~c-rog@traffic.simst.im) (Quit: quitin) |
2021-02-26 00:34:02 +0100 | c-rog | (~c-rog@traffic.simst.im) |
2021-02-26 00:34:43 +0100 | epicte7us | (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Remote host closed the connection) |
2021-02-26 00:34:43 +0100 | bencark | (~cark@91.110.54.64) (Remote host closed the connection) |
2021-02-26 00:34:47 +0100 | apache8080 | (~rishi@wsip-70-168-153-252.oc.oc.cox.net) |
2021-02-26 00:35:04 +0100 | epicte7us | (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
2021-02-26 00:35:24 +0100 | aenesidemus | (~aenesidem@c-73-53-247-25.hsd1.fl.comcast.net) |
2021-02-26 00:35:30 +0100 | GZJ0X_ | (~gzj@unaffiliated/gzj) |
2021-02-26 00:37:01 +0100 | Riviera | (Riviera@2a03:b0c0:1:d0::10:b001) |
2021-02-26 00:37:33 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.0) |
2021-02-26 00:38:03 +0100 | coot | (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2021-02-26 00:38:38 +0100 | coot | (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) |
2021-02-26 00:39:58 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-02-26 00:42:35 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-02-26 00:43:28 +0100 | coot | (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 276 seconds) |
2021-02-26 00:43:29 +0100 | GZJ0X_ | (~gzj@unaffiliated/gzj) (Ping timeout: 265 seconds) |
2021-02-26 00:44:03 +0100 | skregas_ | (~skregas_@201.89-10-150.nextgentel.com) (Quit: skregas_) |
2021-02-26 00:44:59 +0100 | dmwit_ | dmwit |
2021-02-26 00:46:31 +0100 | ransom | (~c4264035@8.48.134.49) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 00:48:24 +0100 | buttbutter | (5ec62a96@unaffiliated/buttbutter) |
2021-02-26 00:48:30 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 00:50:28 +0100 | boxscape | (4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243) |
2021-02-26 00:51:33 +0100 | <boxscape> | % type Bar :: (forall s . s) -> *; type family Bar x where Bar y = Int |
2021-02-26 00:51:33 +0100 | <yahb> | boxscape: ; <interactive>:50:62: error:; * Expected kind `forall s. s', but `y' has kind `k0'; Cannot instantiate unification variable `k0'; with a kind involving polytypes: forall s. s; * In the first argument of `Bar', namely `y'; In the type family declaration for `Bar' |
2021-02-26 00:51:43 +0100 | buttbutter | (5ec62a96@unaffiliated/buttbutter) (Client Quit) |
2021-02-26 00:51:52 +0100 | <boxscape> | is there a way to make this work or do type families just not support rank n types |
2021-02-26 00:53:08 +0100 | Guest58072 | notzmv |
2021-02-26 00:53:15 +0100 | notzmv | (~zmv@191.255.89.231) (Changing host) |
2021-02-26 00:53:15 +0100 | notzmv | (~zmv@unaffiliated/zmv) |
2021-02-26 00:53:18 +0100 | EvanR_ | EvanR |
2021-02-26 00:53:37 +0100 | EvanR | (~evan@mail.evanr.info) (Changing host) |
2021-02-26 00:53:37 +0100 | EvanR | (~evan@unaffiliated/evanr) |
2021-02-26 00:57:27 +0100 | remexre_ | remexre |
2021-02-26 00:58:09 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 260 seconds) |
2021-02-26 00:58:21 +0100 | hexo- | (~hexo@83.167.228.130) |
2021-02-26 00:58:25 +0100 | geowiesnot_bis | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 276 seconds) |
2021-02-26 00:58:37 +0100 | _Adluc_ | (~Adluc@83.167.228.130) (Ping timeout: 260 seconds) |
2021-02-26 00:58:57 +0100 | Rudd0 | (~Rudd0@185.189.115.108) (Ping timeout: 265 seconds) |
2021-02-26 00:58:59 +0100 | Adluc | (~Adluc@2a01:430:17:1::ffff:328) |
2021-02-26 00:59:05 +0100 | hexo| | (~hexo@83.167.228.130) (Ping timeout: 260 seconds) |
2021-02-26 01:00:08 +0100 | finn_elija | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection) |
2021-02-26 01:00:30 +0100 | Rudd0 | (~Rudd0@185.189.115.108) |
2021-02-26 01:00:31 +0100 | finn_elija | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
2021-02-26 01:01:58 +0100 | seneca | (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
2021-02-26 01:05:21 +0100 | epicte7us | (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Ping timeout: 264 seconds) |
2021-02-26 01:05:30 +0100 | Tario | (~Tario@200.119.184.113) |
2021-02-26 01:06:15 +0100 | aenesidemus | (~aenesidem@c-73-53-247-25.hsd1.fl.comcast.net) (Quit: Leaving) |
2021-02-26 01:06:58 +0100 | Guest70386 | (~micro@a9.lence.net) (Quit: leaving) |
2021-02-26 01:08:19 +0100 | __minoru__shirae | (~shiraeesh@109.166.59.137) (Ping timeout: 272 seconds) |
2021-02-26 01:08:23 +0100 | micro | (~micro@unaffiliated/micro) |
2021-02-26 01:12:05 +0100 | mmarusea1ph2 | mmaruseacph2 |
2021-02-26 01:19:45 +0100 | Tario | (~Tario@200.119.184.113) (Read error: Connection reset by peer) |
2021-02-26 01:20:00 +0100 | Tario | (~Tario@201.192.165.173) |
2021-02-26 01:22:10 +0100 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
2021-02-26 01:23:07 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds) |
2021-02-26 01:23:33 +0100 | conal | (~conal@64.71.133.70) |
2021-02-26 01:23:53 +0100 | skewerr | (~spoonm@2602:ffd5:1:119::1) (Quit: Don't look behind you!) |
2021-02-26 01:24:13 +0100 | spoonm | (~spoonm@2602:ffd5:1:119::1) |
2021-02-26 01:25:55 +0100 | sablib | (~sablib@59.173.152.160) (Read error: Connection reset by peer) |
2021-02-26 01:25:57 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2021-02-26 01:26:23 +0100 | magnuscake | (~magnuscak@87.121.92.61) |
2021-02-26 01:26:29 +0100 | sablib | (~sablib@59.173.155.233) |
2021-02-26 01:27:23 +0100 | spoonm | (~spoonm@2602:ffd5:1:119::1) (Client Quit) |
2021-02-26 01:27:26 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-02-26 01:27:47 +0100 | conal | (~conal@64.71.133.70) |
2021-02-26 01:27:48 +0100 | spoonm | (~spoonm@2602:ffd5:1:119::1) |
2021-02-26 01:29:45 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-02-26 01:30:15 +0100 | kadobanana | kadoban_ |
2021-02-26 01:30:29 +0100 | cocytus_ | (~cocytus@cpe-76-95-48-109.socal.res.rr.com) (Quit: Leaving) |
2021-02-26 01:30:35 +0100 | kadoban | kadobanana |
2021-02-26 01:30:56 +0100 | mud | kadoban |
2021-02-26 01:31:11 +0100 | kadobanana | mud |
2021-02-26 01:32:13 +0100 | elliott_ | (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
2021-02-26 01:33:43 +0100 | ph88 | (~ph88@2a02:8109:9e00:7e5c:d1f1:eae:60e1:e53a) |
2021-02-26 01:36:41 +0100 | usr25 | (~J@45.red-88-1-79.dynamicip.rima-tde.net) (Quit: Bye) |
2021-02-26 01:37:57 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:c8ae:2c0d:ad79:de13:e3a6) |
2021-02-26 01:38:29 +0100 | ph88 | (~ph88@2a02:8109:9e00:7e5c:d1f1:eae:60e1:e53a) (Remote host closed the connection) |
2021-02-26 01:38:50 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-02-26 01:38:56 +0100 | ph88 | (~ph88@2a02:8109:9e00:7e5c:d1f1:eae:60e1:e53a) |
2021-02-26 01:39:13 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 01:40:37 +0100 | elliott_ | (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) |
2021-02-26 01:41:08 +0100 | polyrain | (~polyrain@2001:8003:e4d8:4101:11d5:eb2a:5a3d:13dc) |
2021-02-26 01:42:04 +0100 | crobbins | (~crobbins@2600:1700:48eb:8490:f085:4e3f:f643:338d) (Remote host closed the connection) |
2021-02-26 01:44:21 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds) |
2021-02-26 01:44:48 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2021-02-26 01:47:37 +0100 | Benzi-Junior | (~BenziJuni@88-149-67-143.du.xdsl.is) (Quit: gone) |
2021-02-26 01:50:35 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-02-26 01:51:00 +0100 | Benzi-Junior | (~BenziJuni@88-149-67-143.du.xdsl.is) |
2021-02-26 01:53:40 +0100 | apache8080 | (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 276 seconds) |
2021-02-26 01:55:08 +0100 | magnuscake | (~magnuscak@87.121.92.61) (Quit: Leaving) |
2021-02-26 01:55:34 +0100 | conal | (~conal@64.71.133.70) |
2021-02-26 01:57:42 +0100 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2021-02-26 01:57:56 +0100 | m0rphism1 | (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 240 seconds) |
2021-02-26 01:58:24 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 265 seconds) |
2021-02-26 02:00:28 +0100 | <c_wraith> | I'm not sure anything supports rank-n kinds |
2021-02-26 02:00:31 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection) |
2021-02-26 02:00:31 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection) |
2021-02-26 02:00:48 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) |
2021-02-26 02:00:51 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2021-02-26 02:02:04 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-02-26 02:02:25 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-02-26 02:03:11 +0100 | carlomagno | (~cararell@148.87.23.9) (Quit: Leaving.) |
2021-02-26 02:04:41 +0100 | ph88 | (~ph88@2a02:8109:9e00:7e5c:d1f1:eae:60e1:e53a) (Ping timeout: 272 seconds) |
2021-02-26 02:04:46 +0100 | ezrakilt_ | (~ezrakilty@97-113-55-149.tukw.qwest.net) |
2021-02-26 02:05:40 +0100 | <Feuermagier> | how does one do a pairwise list comprehension (first element of xs with first element of ys and so on)? |
2021-02-26 02:07:06 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2021-02-26 02:07:11 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:c8ae:2c0d:ad79:de13:e3a6) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 02:07:19 +0100 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 276 seconds) |
2021-02-26 02:07:30 +0100 | apache8080 | (~rishi@wsip-70-168-153-252.oc.oc.cox.net) |
2021-02-26 02:07:34 +0100 | <edwardk> | > [ (x, y) | x <- [1..10] | y <- [21..30] ] |
2021-02-26 02:07:35 +0100 | <lambdabot> | [(1,21),(2,22),(3,23),(4,24),(5,25),(6,26),(7,27),(8,28),(9,29),(10,30)] |
2021-02-26 02:07:54 +0100 | <edwardk> | use a | not a , to separate and turn on the extension it hollers at you about |
2021-02-26 02:08:43 +0100 | <swarmcollective> | :t zip |
2021-02-26 02:08:45 +0100 | <lambdabot> | [a] -> [b] -> [(a, b)] |
2021-02-26 02:09:30 +0100 | <Feuermagier> | ah, thx! |
2021-02-26 02:09:33 +0100 | <edwardk> | zip/zipWith is generally more idiomatic, but if you really want comprehension syntax the above works |
2021-02-26 02:11:33 +0100 | <swarmcollective> | The comprehension syntax is very powerful. If I remember correctly, it allows you to do a cross join of the source lists, if needed. |
2021-02-26 02:12:38 +0100 | <Feuermagier> | edwardk, my predicate variables appear to go out of scope if i do that |
2021-02-26 02:13:31 +0100 | polyrain | (~polyrain@2001:8003:e4d8:4101:11d5:eb2a:5a3d:13dc) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 02:13:31 +0100 | <swarmcollective> | (aka: cartesian join, cartesian product) |
2021-02-26 02:15:09 +0100 | <Feuermagier> | essentially I want "halfEven3 xs ys = map (`div` 2) $ filter even $ zipWith (+) xs ys" - but as a list comprehension |
2021-02-26 02:15:15 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) (Remote host closed the connection) |
2021-02-26 02:17:55 +0100 | <edwardk> | Feuermagier: pretty sure you need to use two nested comprehensions for that |
2021-02-26 02:18:57 +0100 | <edwardk> | something like [ z `div` 2 | z <- [ x + y | x <- xs | y <- ys ], even z ] |
2021-02-26 02:19:51 +0100 | hackage | yahoo-prices 0.1.0.2 - A wrapper around Yahoo API for downloading market data. https://hackage.haskell.org/package/yahoo-prices-0.1.0.2 (alojzyleszcz) |
2021-02-26 02:20:26 +0100 | shatriff | (~vitaliish@protective.remission.volia.net) (Remote host closed the connection) |
2021-02-26 02:20:59 +0100 | shatriff | (~vitaliish@protective.remission.volia.net) |
2021-02-26 02:21:56 +0100 | <swarmcollective> | I ended up rebuilding the lambdabot stock lookup plugin to pull from a different provider. Didn't the yahoo API go away? Maybe it is just not free anymore? |
2021-02-26 02:22:57 +0100 | lemmih_ | (~lemmih@2406:3003:2072:44:5428:f0dd:ed19:b4df) (Remote host closed the connection) |
2021-02-26 02:24:18 +0100 | totoro2022 | (~t@unaffiliated/totoro2021) (Quit: WeeChat 2.7.1) |
2021-02-26 02:24:40 +0100 | totoro2021 | (~t@unaffiliated/totoro2021) |
2021-02-26 02:28:13 +0100 | Deide | (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
2021-02-26 02:29:10 +0100 | theelous3 | (~theelous3@unaffiliated/theelous3) (Read error: Connection reset by peer) |
2021-02-26 02:30:47 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@184.22.157.95) |
2021-02-26 02:31:02 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) |
2021-02-26 02:35:07 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-02-26 02:39:58 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds) |
2021-02-26 02:41:07 +0100 | elliott_ | (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 276 seconds) |
2021-02-26 02:42:57 +0100 | deviantfero | (~deviantfe@190.150.27.58) |
2021-02-26 02:43:18 +0100 | petersen | (~petersen@redhat/juhp) (Remote host closed the connection) |
2021-02-26 02:43:37 +0100 | ransom | (~c4264035@2a09:bac0:21::81a:b438) |
2021-02-26 02:43:45 +0100 | ransom | (~c4264035@2a09:bac0:21::81a:b438) (Client Quit) |
2021-02-26 02:44:34 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) (Remote host closed the connection) |
2021-02-26 02:46:31 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 02:46:47 +0100 | elliott_ | (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) |
2021-02-26 02:49:38 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds) |
2021-02-26 02:50:56 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2021-02-26 02:53:26 +0100 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 264 seconds) |
2021-02-26 02:57:09 +0100 | <ski> | `[z `div` 2 | (x <- xs | y <- ys),let z = x + y,even z]' ought to work .. :( |
2021-02-26 02:59:15 +0100 | <ski> | > [z | [x,y] <- transpose [[0 .. 9],[10 .. 19]],z <- [x,y]] |
2021-02-26 02:59:16 +0100 | <lambdabot> | [0,10,1,11,2,12,3,13,4,14,5,15,6,16,7,17,8,18,9,19] |
2021-02-26 02:59:29 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
2021-02-26 03:00:09 +0100 | <ski> | > [z | (x,y) <- [(x,y) | x <- [0 .. 9] | y <- [10 .. 19]],z <- [x,y]] |
2021-02-26 03:00:11 +0100 | <lambdabot> | [0,10,1,11,2,12,3,13,4,14,5,15,6,16,7,17,8,18,9,19] |
2021-02-26 03:01:47 +0100 | jb55 | (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection) |
2021-02-26 03:02:09 +0100 | jb55 | (~jb55@gateway/tor-sasl/jb55) |
2021-02-26 03:04:05 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-02-26 03:04:26 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-02-26 03:04:26 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-02-26 03:06:45 +0100 | xff0x_ | (~xff0x@2001:1a81:5295:6100:2300:7794:1c77:29ff) (Ping timeout: 272 seconds) |
2021-02-26 03:07:56 +0100 | xff0x_ | (~xff0x@2001:1a81:52d0:d300:24a8:fbee:5e92:3e0) |
2021-02-26 03:08:52 +0100 | rajivr | (uid269651@gateway/web/irccloud.com/x-lipeedvqihpcwewl) |
2021-02-26 03:08:54 +0100 | <Feuermagier> | whats the difference between || and "or" ? |
2021-02-26 03:09:08 +0100 | <edwardk> | :t or |
2021-02-26 03:09:09 +0100 | <lambdabot> | Foldable t => t Bool -> Bool |
2021-02-26 03:09:11 +0100 | <edwardk> | :t (||) |
2021-02-26 03:09:12 +0100 | <lambdabot> | Bool -> Bool -> Bool |
2021-02-26 03:09:27 +0100 | <edwardk> | a || b = or [a,b] |
2021-02-26 03:09:36 +0100 | <Feuermagier> | ah, so "or" is like "list stuff"? |
2021-02-26 03:09:41 +0100 | <edwardk> | yeah |
2021-02-26 03:09:50 +0100 | <Feuermagier> | thx |
2021-02-26 03:09:59 +0100 | <edwardk> | nowadays generalized to arbitrary Foldable containers |
2021-02-26 03:10:15 +0100 | <edwardk> | :t any |
2021-02-26 03:10:17 +0100 | <lambdabot> | Foldable t => (a -> Bool) -> t a -> Bool |
2021-02-26 03:10:26 +0100 | <edwardk> | any is 'or' with a built in 'map' applied |
2021-02-26 03:10:30 +0100 | <edwardk> | > any even [1,2,3] |
2021-02-26 03:10:32 +0100 | <lambdabot> | True |
2021-02-26 03:10:44 +0100 | <edwardk> | or = any id |
2021-02-26 03:11:57 +0100 | apache8080 | (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 264 seconds) |
2021-02-26 03:13:50 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection) |
2021-02-26 03:14:35 +0100 | koz_ | . o O (any = orMap) |
2021-02-26 03:14:43 +0100 | soft-warm | (44695313@ip68-105-83-19.sd.sd.cox.net) (Ping timeout: 240 seconds) |
2021-02-26 03:14:48 +0100 | <koz_> | And all = andMap. |
2021-02-26 03:15:05 +0100 | conal | (~conal@64.71.133.70) (Read error: Connection reset by peer) |
2021-02-26 03:15:21 +0100 | <koz_> | Speaking of which, edwardk - is there any reason why Predicate's Divisible instance combines with &&, as opposed to ||? |
2021-02-26 03:15:44 +0100 | <koz_> | As far as I can tell, Predicate is just a special case of (Monoid b) => Op b, right? |
2021-02-26 03:15:47 +0100 | esoteric1lgo | (~matt@uncertain.win) (Remote host closed the connection) |
2021-02-26 03:16:52 +0100 | soft-warm | (44695313@ip68-105-83-19.sd.sd.cox.net) |
2021-02-26 03:16:52 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:f4d9:46b5:acd5:46aa) |
2021-02-26 03:17:00 +0100 | <ski> | @type (`withCoyoneda` any) |
2021-02-26 03:17:01 +0100 | <edwardk> | koz_: because it is almost always the version you seem to want? |
2021-02-26 03:17:01 +0100 | <lambdabot> | Foldable f => Coyoneda f Bool -> Bool |
2021-02-26 03:17:10 +0100 | <koz_> | edwardk: Fair. |
2021-02-26 03:17:18 +0100 | <edwardk> | koz_: but yes, its just a special case of Op |
2021-02-26 03:17:39 +0100 | <edwardk> | it also makes the relationship between it and Equivalence clear |
2021-02-26 03:18:34 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) |
2021-02-26 03:18:57 +0100 | <ski> | @type (`withCoyoneda` foldMap) |
2021-02-26 03:18:58 +0100 | <lambdabot> | (Foldable f, Monoid o) => Coyoneda f o -> o |
2021-02-26 03:19:08 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 03:21:09 +0100 | <koz_> | Also, edwardk - Strong allows you to 'pass through' (c,), Choice allows the same for Either c. Is it possible to have something analogous for These c, and how would that relate to those other two? |
2021-02-26 03:22:04 +0100 | ezrakilt_ | (~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection) |
2021-02-26 03:23:47 +0100 | <edwardk> | IIRC These works as a valid tensor for a monoidal category, so it should exist |
2021-02-26 03:24:02 +0100 | <edwardk> | i don't actually think it relates to the other two. you can force a relationship but its artificial |
2021-02-26 03:24:05 +0100 | conal | (~conal@64.71.133.70) |
2021-02-26 03:24:51 +0100 | <koz_> | So basically we have Profunctor, and then each of Strong, Choice and [whatever the These-based one is called] are their own thing on top of it? |
2021-02-26 03:25:00 +0100 | <koz_> | What _would_ you call the These-based one? |
2021-02-26 03:25:02 +0100 | geowiesnot_bis | (~user@87-89-181-157.abo.bbox.fr) |
2021-02-26 03:25:17 +0100 | <MarcelineVQ> | ChoiceChoiceStrong |
2021-02-26 03:25:23 +0100 | <edwardk> | its all 'Strong' really |
2021-02-26 03:25:32 +0100 | <koz_> | Just differently Strong. |
2021-02-26 03:25:35 +0100 | <edwardk> | but Choice was named to match ArrowChoice |
2021-02-26 03:26:11 +0100 | <nshepperd2> | Stronk |
2021-02-26 03:26:19 +0100 | <edwardk> | i went with separate classes because inference works better and it doesn't need flexible instances, mptcs, etc. for user code |
2021-02-26 03:26:21 +0100 | <koz_> | nshepperd2: LegDay. |
2021-02-26 03:26:52 +0100 | <edwardk> | Stroice or Chong |
2021-02-26 03:27:09 +0100 | <koz_> | edwardk: I guess in an ideal world, you'd have Strong parameterized over the tensor? |
2021-02-26 03:27:21 +0100 | <edwardk> | koz_: tried it, but the thing is it sucks to use |
2021-02-26 03:27:38 +0100 | <koz_> | Yeah, I can imagine that. |
2021-02-26 03:27:40 +0100 | <edwardk> | you get the same combinator names too many manual type applications are required |
2021-02-26 03:28:13 +0100 | <koz_> | Also, can we Co- out of Stroice like with Costrong and Cochoice? |
2021-02-26 03:28:19 +0100 | <edwardk> | i don;t like the fact that linear-base decided to pun the two, makes the lenses they offer even more awkward |
2021-02-26 03:28:26 +0100 | <koz_> | (I still don't fully get how Cochoice's method doesn't infinitely loop) |
2021-02-26 03:28:29 +0100 | <edwardk> | yes |
2021-02-26 03:28:29 +0100 | <koz_> | (for ->) |
2021-02-26 03:29:02 +0100 | travisb | tabemann |
2021-02-26 03:29:21 +0100 | Lowl3v3l | (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) (Ping timeout: 260 seconds) |
2021-02-26 03:30:13 +0100 | <ski> | @type (`withCoyoneda` traverse) |
2021-02-26 03:30:14 +0100 | <lambdabot> | (Traversable f1, Applicative f2) => Coyoneda f1 (f2 b) -> f2 (f1 b) |
2021-02-26 03:30:14 +0100 | <MarcelineVQ> | what does pun the two mean here? |
2021-02-26 03:30:17 +0100 | <ski> | @type \xs -> MkYoneda (`traverse` xs) |
2021-02-26 03:30:18 +0100 | <lambdabot> | error: |
2021-02-26 03:30:18 +0100 | <lambdabot> | • Couldn't match type ‘b’ with ‘f b0’ |
2021-02-26 03:30:19 +0100 | <lambdabot> | ‘b’ is a rigid type variable bound by |
2021-02-26 03:30:26 +0100 | <ski> | @type \xs -> MkYoneda (`map` xs) |
2021-02-26 03:30:27 +0100 | <lambdabot> | [a] -> Yoneda [] a |
2021-02-26 03:30:33 +0100 | conal | (~conal@64.71.133.70) (Ping timeout: 264 seconds) |
2021-02-26 03:30:59 +0100 | Maxdaman1us | Maxdamantus |
2021-02-26 03:31:24 +0100 | <edwardk> | consider the Maybe instance for MonadFix and then it looks better |
2021-02-26 03:31:33 +0100 | <koz_> | Fair. |
2021-02-26 03:33:45 +0100 | <koz_> | I wonder what you could get if you thought 'I want Arrow = Strong + Category, but replace Strong with Stroice'. |
2021-02-26 03:34:01 +0100 | <koz_> | DecoherentArrow |
2021-02-26 03:34:29 +0100 | seneca | (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer) |
2021-02-26 03:36:20 +0100 | <ski> | `Stroice' being ? |
2021-02-26 03:36:21 +0100 | conal_ | (~conal@64.71.133.70) |
2021-02-26 03:37:09 +0100 | <koz_> | ski: Strong, but with These instead of (,) as the tensor. |
2021-02-26 03:37:50 +0100 | Lord_of_Life_ | (~Lord@unaffiliated/lord-of-life/x-0885362) |
2021-02-26 03:38:28 +0100 | <ski> | `forall a b. These a (f b) -> f (These a b? |
2021-02-26 03:38:30 +0100 | <ski> | )' |
2021-02-26 03:39:07 +0100 | <koz_> | ski: Strong has a method 'first' :: p a b -> p (c, a) (c, b)' |
2021-02-26 03:39:22 +0100 | <koz_> | Stroice would have 'this' :: p a b -> p (These c a) (These c b)'. |
2021-02-26 03:39:37 +0100 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 260 seconds) |
2021-02-26 03:39:37 +0100 | Lord_of_Life_ | Lord_of_Life |
2021-02-26 03:39:43 +0100 | conal_ | (~conal@64.71.133.70) (Read error: Connection reset by peer) |
2021-02-26 03:39:46 +0100 | <ski> | oh, strong difunctor i guess |
2021-02-26 03:39:58 +0100 | <ski> | ok |
2021-02-26 03:40:17 +0100 | <koz_> | ski: Profunctor. |
2021-02-26 03:40:21 +0100 | <koz_> | Sorry if I wasn't clear there. |
2021-02-26 03:40:36 +0100 | <koz_> | Should have mentioned 'Strong from profunctors' or something. |
2021-02-26 03:41:08 +0100 | <ski> | yah |
2021-02-26 03:41:54 +0100 | <ski> | (i think you may have mixed up the ordering to the tensor, there ?) |
2021-02-26 03:42:01 +0100 | conal | (~conal@64.71.133.70) |
2021-02-26 03:42:14 +0100 | cr3_ | (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
2021-02-26 03:42:41 +0100 | conal | (~conal@64.71.133.70) (Read error: Connection reset by peer) |
2021-02-26 03:42:43 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving) |
2021-02-26 03:42:56 +0100 | <koz_> | Yes: https://hackage.haskell.org/package/profunctors-5.6.2/docs/Data-Profunctor.html#t:Strong |
2021-02-26 03:43:02 +0100 | <koz_> | I can never remember which way around it goes. |
2021-02-26 03:43:23 +0100 | <ski> | edwardk : hm, just wondering if you maybe had an idea for my earlier question |
2021-02-26 03:43:43 +0100 | <ski> | <ski> is there a particular name for when a monoid action acts on a monoid, or a group action acts on a group, (in a compatible way), or the like ? |
2021-02-26 03:43:57 +0100 | <ski> | <ski> for vector spaces, this would be a case of bilinear transformation/map (where one of the two domains is the same as the codomain). can one say "bimonoidal transformation" or something like that ? |
2021-02-26 03:44:17 +0100 | <ski> | <ski> well, it would correspond to an ordinary homomorphism (monoid or group) from a tensor product .. in case the relevant tensor product exists (i'm not sure when it does. in the group case, i think the domain groups have to be abelian. maybe it can sometimes exist even when not ?) |
2021-02-26 03:45:05 +0100 | <ski> | koz_ : well, `first' applies to / modifies the first parameter, and `second' the second |
2021-02-26 03:45:11 +0100 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 1.9.1) |
2021-02-26 03:45:18 +0100 | <koz_> | ski: Yeah, I guess that makes mnemonic sense. |
2021-02-26 03:45:26 +0100 | <ski> | and, airi, `this' is the first one for `These', while `that' is the second |
2021-02-26 03:45:43 +0100 | <ski> | @type first ord |
2021-02-26 03:45:43 +0100 | <koz_> | Yeah, it is. |
2021-02-26 03:45:44 +0100 | <lambdabot> | (Char, d) -> (Int, d) |
2021-02-26 03:45:55 +0100 | conal_ | (~conal@64.71.133.70) |
2021-02-26 03:47:38 +0100 | <koz_> | I guess I'm wondering if the statement 'Arrow = Strong + Category' means 'any Arrow method can be implemented with Strong and/or Category method(s)'. |
2021-02-26 03:48:07 +0100 | <edwardk> | ski: sorry, distracted irl |
2021-02-26 03:48:12 +0100 | <ski> | no worry |
2021-02-26 03:49:02 +0100 | alx741 | (~alx741@181.196.69.27) (Quit: alx741) |
2021-02-26 03:49:05 +0100 | <edwardk> | monoids acting on monoids come up when dealing with semidirect products, because you need a monoid that acts on a monoid "in a compatible way" |
2021-02-26 03:49:57 +0100 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) |
2021-02-26 03:51:40 +0100 | <ski> | someone mentioned a paper <https://repository.upenn.edu/cgi/viewcontent.cgi?article=1773&context=cis_papers> about monoids, specifically mentioned "monoid-on-monoid action" (page ten), and i was wondering whether it was mapping monoid elements to monoid homomorphisms |
2021-02-26 03:52:21 +0100 | ddellacosta | (~ddellacos@86.106.143.100) |
2021-02-26 03:52:48 +0100 | <ski> | hm, yea i think i vaguely remember you mentioning something like that in a recorded presentation you made, where you talked about monoidal parsing |
2021-02-26 03:52:56 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-02-26 03:53:46 +0100 | <koz_> | ski: That was me. |
2021-02-26 03:53:53 +0100 | <ski> | ah, ok |
2021-02-26 03:53:54 +0100 | <koz_> | (the monoid-on-monoid action thing) |
2021-02-26 03:54:00 +0100 | <koz_> | (because I have a very mature imagination) |
2021-02-26 03:54:09 +0100 | ski | already forgot who mentioned what :) |
2021-02-26 03:55:53 +0100 | apache8080 | (~rishi@wsip-70-168-153-252.oc.oc.cox.net) |
2021-02-26 03:57:36 +0100 | toorevitimirp | (~tooreviti@117.182.182.60) |
2021-02-26 03:57:49 +0100 | ddellacosta | (~ddellacos@86.106.143.100) (Ping timeout: 276 seconds) |
2021-02-26 03:59:05 +0100 | ezrakilty | (~ezrakilty@97-113-55-149.tukw.qwest.net) |
2021-02-26 04:07:29 +0100 | urodna | (~urodna@unaffiliated/urodna) (Quit: urodna) |
2021-02-26 04:07:35 +0100 | viluon | (uid453725@gateway/web/irccloud.com/x-amxewsahyzvflymf) (Quit: Connection closed for inactivity) |
2021-02-26 04:10:07 +0100 | gzj | (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer) |
2021-02-26 04:10:26 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-02-26 04:11:07 +0100 | gzj | (~gzj@unaffiliated/gzj) (Read error: Connection reset by peer) |
2021-02-26 04:11:29 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-02-26 04:12:08 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-02-26 04:12:30 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-02-26 04:14:36 +0100 | geowiesnot_bis | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds) |
2021-02-26 04:17:12 +0100 | jumper149 | (~jumper149@ip185225.wh.uni-hannover.de) |
2021-02-26 04:18:38 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 264 seconds) |
2021-02-26 04:19:58 +0100 | FinnElija | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
2021-02-26 04:19:58 +0100 | finn_elija | Guest45799 |
2021-02-26 04:19:58 +0100 | FinnElija | finn_elija |
2021-02-26 04:21:08 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-02-26 04:21:11 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-xtlevgyyzcpkswkn) (Quit: Connection closed for inactivity) |
2021-02-26 04:21:28 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-02-26 04:21:29 +0100 | apache8080 | (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 272 seconds) |
2021-02-26 04:23:28 +0100 | Guest45799 | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds) |
2021-02-26 04:24:52 +0100 | apache8080 | (~rishi@wsip-70-168-153-252.oc.oc.cox.net) |
2021-02-26 04:25:21 +0100 | <edwardk> | ski: re monoid on monoid action i give laws for that in coda |
2021-02-26 04:25:56 +0100 | <edwardk> | ah i remember now |
2021-02-26 04:26:04 +0100 | <edwardk> | you're looking for a 'unital distributive monoid action' |
2021-02-26 04:26:36 +0100 | <edwardk> | distributive monoid action doesn't imply the taking of units to units per se |
2021-02-26 04:27:50 +0100 | <ski> | hm, okay |
2021-02-26 04:27:56 +0100 | <ski> | a bit of a mouthful :/ |
2021-02-26 04:28:11 +0100 | <edwardk> | it is the only way you'll find the original literaturte |
2021-02-26 04:28:13 +0100 | <edwardk> | er literature |
2021-02-26 04:28:19 +0100 | <ski> | ok |
2021-02-26 04:28:29 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-02-26 04:30:33 +0100 | <edwardk> | in 'coda' i wind up using a class 'Relative' rather than 'MonoidAction' because i can use backpack to make it a 1 parameter typeclass |
2021-02-26 04:30:44 +0100 | <edwardk> | then i wind up with RelativeSemigroup and RelativeMonoid |
2021-02-26 04:30:50 +0100 | <edwardk> | but its made up vocabulary |
2021-02-26 04:31:00 +0100 | tv | (~tv@unaffiliated/tv) (Ping timeout: 246 seconds) |
2021-02-26 04:31:06 +0100 | <edwardk> | i should split this out into a hackage package |
2021-02-26 04:31:28 +0100 | <edwardk> | and provide relative:group-relative and relative:monoid-relative libraries users can extend |
2021-02-26 04:31:36 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection) |
2021-02-26 04:31:47 +0100 | <edwardk> | which can then offer the catenable lists, sets, maps, etc. |
2021-02-26 04:31:59 +0100 | <edwardk> | with the optimizations i support to make O(1) relocatable maps and the like |
2021-02-26 04:32:12 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) |
2021-02-26 04:32:16 +0100 | <ski> | hm, right. i was wondering whether it was a good idea to have a class `MonoidAction' .. that is, how common would it be to want to talk about multiple parallel actions ? |
2021-02-26 04:32:33 +0100 | <edwardk> | Relative works better than MonoidAction for two reasons |
2021-02-26 04:32:40 +0100 | <edwardk> | one is single parameter typeclasses |
2021-02-26 04:32:53 +0100 | <edwardk> | the other is i can unpack the monoid in data types parameterized on it |
2021-02-26 04:33:04 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds) |
2021-02-26 04:33:16 +0100 | tv | (~tv@unaffiliated/tv) |
2021-02-26 04:33:24 +0100 | <edwardk> | e.g. data List a = Nil | Cons {-# UNPACK #-} !Delta a (List a) |
2021-02-26 04:33:34 +0100 | <edwardk> | or into the maps or fingertrees |
2021-02-26 04:34:08 +0100 | <ski> | not seeing how the OPTC is related to unpacking |
2021-02-26 04:34:24 +0100 | <edwardk> | the backpack solution is parameterized on the monoid. |
2021-02-26 04:34:27 +0100 | <edwardk> | Delta is that monoid |
2021-02-26 04:34:40 +0100 | <edwardk> | so its concrete for any instantiation of the package |
2021-02-26 04:34:45 +0100 | <edwardk> | meaning unpack can fire on it |
2021-02-26 04:35:12 +0100 | <edwardk> | if it was data List m a = Nil | Cons !m a (List a) -- for some Monoid m that acts on a that wouldn't work |
2021-02-26 04:35:26 +0100 | <edwardk> | the m would still be, say a pointer to a box holding an Int# |
2021-02-26 04:35:27 +0100 | Rob7 | (49f11cfb@c-73-241-28-251.hsd1.ca.comcast.net) |
2021-02-26 04:35:39 +0100 | <ski> | ah, ok |
2021-02-26 04:35:43 +0100 | <edwardk> | and inference would suck on top of that |
2021-02-26 04:35:53 +0100 | mstksg | (~mstksg@unaffiliated/mstksg) (Quit: WeeChat 2.7) |
2021-02-26 04:36:13 +0100 | jle` | (~mstksg@cpe-23-240-75-236.socal.res.rr.com) |
2021-02-26 04:36:13 +0100 | jle` | (~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host) |
2021-02-26 04:36:13 +0100 | jle` | (~mstksg@unaffiliated/mstksg) |
2021-02-26 04:37:03 +0100 | <edwardk> | this lets me cleanly deal with multiple actions because each class is a separate class, each function is a separate function, each type of catenable list that supports group or monoid actions in O(1) is a separate type that gets to monomorphize away the representation of the monoid |
2021-02-26 04:37:34 +0100 | <edwardk> | now when you go to replicate this for the `mtl` life starts to suck |
2021-02-26 04:37:42 +0100 | <edwardk> | but for basic stuff? easy |
2021-02-26 04:38:04 +0100 | <ski> | aren't the classes effectively specialized partially applied versions of the MPTC ? |
2021-02-26 04:38:14 +0100 | <edwardk> | the problem with the MTL is there's a common idiom of StateT (MyState s) (ST s) ... |
2021-02-26 04:38:38 +0100 | <edwardk> | so you need to parameterize the modules over monads with parameters, not just monads you need the ability to smuggle that 's' down |
2021-02-26 04:38:46 +0100 | <edwardk> | and into all the states even if you may not need it |
2021-02-26 04:39:02 +0100 | <edwardk> | but then when we look at the MPTC classes we get another issue |
2021-02-26 04:39:17 +0100 | <ski> | hmm |
2021-02-26 04:39:40 +0100 | <edwardk> | which is that you wind up needing to make modules for each 'instance' you'd write. but then can't even benefit from default signatures on anything. |
2021-02-26 04:39:46 +0100 | <edwardk> | so its just a worse typeclass mechanism |
2021-02-26 04:39:50 +0100 | <ski> | would (uniformly) parameterizing modules over tyvars help, there ? |
2021-02-26 04:39:56 +0100 | thc202 | (~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds) |
2021-02-26 04:39:56 +0100 | <edwardk> | and the user is writing a mixin line in their cabal file for every instantiation |
2021-02-26 04:39:58 +0100 | <ski> | (if that was a thing, i mean) |
2021-02-26 04:40:11 +0100 | <edwardk> | yes |
2021-02-26 04:40:30 +0100 | <edwardk> | also we could reduce pressure by parameterizing on runtime reps or something |
2021-02-26 04:40:34 +0100 | <edwardk> | instead of concrete types |
2021-02-26 04:40:35 +0100 | <edwardk> | perhaps |
2021-02-26 04:41:13 +0100 | <edwardk> | I don't care if you are State Word# a or State Char# a as they are both the same runtime kind (TYPE 'WordRep) |
2021-02-26 04:41:29 +0100 | desophos | (~desophos@2601:249:1680:a570:1ceb:ae8f:9938:9938) |
2021-02-26 04:41:31 +0100 | <ski> | mhm, i see |
2021-02-26 04:41:46 +0100 | <ski> | (not following the bit with default signatures) |
2021-02-26 04:42:45 +0100 | <edwardk> | consider making a library which has a signature that you depend on some data M s a such that there is Monad (M s), etc. and the module the lib supplies offers get, put, modify |
2021-02-26 04:43:11 +0100 | <edwardk> | you can't fill in the 'default' for get/put in terms of modify in anything for the result library |
2021-02-26 04:43:45 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 04:43:52 +0100 | <edwardk> | so anyone who goes to write an equivalent of what was instance MonadState s m => MonadState s (ReaderT e m) -- has to write all 3 defs out longhand |
2021-02-26 04:44:30 +0100 | <edwardk> | and you also need to explicitly mixin all these little baby backpack modules to make your fully unboxed mtl go |
2021-02-26 04:44:36 +0100 | Rob7 | (49f11cfb@c-73-241-28-251.hsd1.ca.comcast.net) (Quit: Connection closed) |
2021-02-26 04:44:38 +0100 | Lowl3v3l | (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) |
2021-02-26 04:44:51 +0100 | <ski> | hm .. so this is a current issue/limitation with backpack ? |
2021-02-26 04:46:06 +0100 | <ski> | well, it's cool that people are starting to play around with backpack, finding out where pain points are, and where there might be room for improvement. and seeing how it interacts with tyoe classes, what the trade-offs are |
2021-02-26 04:46:09 +0100 | <edwardk> | i mean, sure. backpack doesn't 'mixin' the signature code with the module you supply it in any way. it isn't clear how it would. its just an hs-boot parser |
2021-02-26 04:46:54 +0100 | <edwardk> | i pointed out a while back that in theory one could have a backpack like feature in a language that let you merge signatures into larger signatures, specify defaults/partial definitions, etc. doesn't feel like haskell but there's a language there |
2021-02-26 04:47:15 +0100 | <edwardk> | has some cute benefits it can offer to the expression problem and the like if you can supply individual cases in the definitions even |
2021-02-26 04:47:56 +0100 | <ski> | coming from different modules that you mix, you mean ? |
2021-02-26 04:48:41 +0100 | <edwardk> | e.g. in "Shangri-La-skel" pretend you can make a signature for a module that looks like data Expr a; eval :: Expr a -> a |
2021-02-26 04:48:52 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 256 seconds) |
2021-02-26 04:49:15 +0100 | <edwardk> | then one could envision defining a module that said data Expr a where Lit :: Int -> Expr Int; Plus :: Int -> Int -> Expr Int; obvious eval. |
2021-02-26 04:49:21 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-02-26 04:49:23 +0100 | <edwardk> | and another that offers Lam/Abs and the obvious eval |
2021-02-26 04:49:59 +0100 | theDon_ | (~td@muedsl-82-207-238-098.citykom.de) (Ping timeout: 265 seconds) |
2021-02-26 04:50:00 +0100 | <edwardk> | and a desire to merge the two definitions into a composite module with all the data constructors and all the top level cases for eval merged. |
2021-02-26 04:50:04 +0100 | <ski> | being able to combine two modules which each depend on a parameter module with a signature matching the other one could be useful sometimes. so one module can use some operations given by the other, and vice versa. so a mutually recursive instantiation, if you think of it as two module functors |
2021-02-26 04:50:51 +0100 | <ski> | hm, yea. that's what i was thinking you had in mind more or less |
2021-02-26 04:50:53 +0100 | theDon | (~td@94.134.91.130) |
2021-02-26 04:51:01 +0100 | <edwardk> | (you'd need something like jesper cockx's definitional equality for all: https://link.springer.com/chapter/10.1007%2F978-3-642-54833-8_6 |
2021-02-26 04:51:02 +0100 | <ski> | binary operations is a problem, i guess |
2021-02-26 04:51:22 +0100 | <edwardk> | its not a haskell-like language feature |
2021-02-26 04:51:30 +0100 | <edwardk> | but in another language you can come up with ways to play with it |
2021-02-26 04:52:13 +0100 | <edwardk> | to do binary you wind up needing module signatures for how the two types interoperate and then to inherit from that multiple times, messy, but doable |
2021-02-26 04:52:35 +0100 | <edwardk> | e.g. a package parameterized on two others |
2021-02-26 04:53:10 +0100 | <edwardk> | its a thing i played with for coda because it offers up interesting code reuse patterns we don't currently have |
2021-02-26 04:53:17 +0100 | <edwardk> | but its also its own brand of crazy |
2021-02-26 04:53:39 +0100 | <ski> | and then one can wonder what if one fragment would like one kind of effect in `eval', and another would like another fragment, how to combine |
2021-02-26 04:53:49 +0100 | <edwardk> | anyways, the status quo is to define a fully backpacked mtl i'd have to suffer some serious pain. |
2021-02-26 04:54:31 +0100 | <edwardk> | ski: thats handlable. you push the effect into another module signature. define combinators for interacting with it. then merge the signatures for what has to be fed you. |
2021-02-26 04:55:20 +0100 | <ski> | hm, i think i see |
2021-02-26 04:55:44 +0100 | <edwardk> | the pain point i have here is that my usual dodge for work effects now is to stop thinking in mtl terms and start using implicit parameters, but with all the representation polymorphic stuff i'm doing, i can't push unlifted or linear things onto the left of the => |
2021-02-26 04:55:56 +0100 | <edwardk> | er for working with |
2021-02-26 04:56:15 +0100 | <edwardk> | i think we talked about this trick before |
2021-02-26 04:56:27 +0100 | <ski> | `(?foo :: Lev T) => ..' ? |
2021-02-26 04:56:50 +0100 | rkrishnan | (~rkrishnan@rkrishnan.org) |
2021-02-26 04:56:51 +0100 | <edwardk> | lev makes that by name, which is super dangerous from a recomputation perspective |
2021-02-26 04:57:59 +0100 | ezrakilty | (~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection) |
2021-02-26 04:58:58 +0100 | rdivyanshu | (uid322626@gateway/web/irccloud.com/x-cdhhieietudbtkyo) |
2021-02-26 05:00:01 +0100 | alexelcu | (~alexelcu@142.93.180.198) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-02-26 05:00:02 +0100 | haasn | (~nand@mpv/developer/haasn) (Quit: ZNC 1.7.5+deb4 - https://znc.in) |
2021-02-26 05:00:52 +0100 | alexelcu | (~alexelcu@142.93.180.198) |
2021-02-26 05:00:52 +0100 | <ski> | hm. so need thunked version of `() => T' ? |
2021-02-26 05:01:22 +0100 | <ski> | although, how would the caching work ? |
2021-02-26 05:02:58 +0100 | <edwardk> | basically i'm just observing that with current haskell i can't quite maintain the unboxing tricks i have and the effect system tricks i've been using at the same time |
2021-02-26 05:03:20 +0100 | <edwardk> | in my perfect world i'd use reflection to pass my argument as a CONSTRAINT 'IntRep or something |
2021-02-26 05:06:00 +0100 | <ski> | mm |
2021-02-26 05:06:23 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2021-02-26 05:07:02 +0100 | Rob30 | (49f11cfb@c-73-241-28-251.hsd1.ca.comcast.net) |
2021-02-26 05:10:37 +0100 | deviantfero | (~deviantfe@190.150.27.58) (Ping timeout: 276 seconds) |
2021-02-26 05:10:55 +0100 | Tordek | (tordek@gateway/shell/blinkenshell.org/x-igtnswqonmwtslsx) () |
2021-02-26 05:14:19 +0100 | ep1ctetus | (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
2021-02-26 05:17:02 +0100 | Rob30 | (49f11cfb@c-73-241-28-251.hsd1.ca.comcast.net) (Quit: Connection closed) |
2021-02-26 05:19:13 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 272 seconds) |
2021-02-26 05:19:15 +0100 | ezrakilty | (~ezrakilty@97-113-55-149.tukw.qwest.net) |
2021-02-26 05:19:20 +0100 | jumper149 | (~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 3.0.1) |
2021-02-26 05:19:30 +0100 | ep1ctetus | (~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer) |
2021-02-26 05:20:06 +0100 | haasn | (~nand@mpv/developer/haasn) |
2021-02-26 05:22:10 +0100 | forgottenone | (~forgotten@176.88.28.250) |
2021-02-26 05:23:44 +0100 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 240 seconds) |
2021-02-26 05:31:00 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
2021-02-26 05:31:46 +0100 | shutdown_-h_now | (~arjan@2001:1c06:2d0b:2312:750e:d23:b28:17e4) (Ping timeout: 258 seconds) |
2021-02-26 05:32:32 +0100 | tomku|two | (~tomku@unaffiliated/tomku) (Ping timeout: 272 seconds) |
2021-02-26 05:37:31 +0100 | shutdown_-h_now | (~arjan@2001:1c06:2d0b:2312:9922:cfc5:8f27:49f4) |
2021-02-26 05:38:49 +0100 | tomku | (~tomku@unaffiliated/tomku) |
2021-02-26 05:41:18 +0100 | psutcliffe | (~psutcliff@2a00:801:44b:5fb3:b852:cfd3:ade7:f24f) |
2021-02-26 05:41:57 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-02-26 05:42:22 +0100 | Tops2 | (~Tobias@dyndsl-095-033-019-043.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2021-02-26 05:44:36 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-02-26 05:45:03 +0100 | soft-warm | (44695313@ip68-105-83-19.sd.sd.cox.net) (Ping timeout: 240 seconds) |
2021-02-26 05:45:29 +0100 | Tario | (~Tario@201.192.165.173) |
2021-02-26 05:46:59 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 272 seconds) |
2021-02-26 05:51:27 +0100 | conal_ | (~conal@64.71.133.70) (Read error: Connection reset by peer) |
2021-02-26 05:52:08 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@184.22.157.95) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 05:52:39 +0100 | gienah_ | (~mwright@119-18-2-241.771202.syd.nbn.aussiebb.net) (Quit: leaving) |
2021-02-26 05:57:46 +0100 | conal | (~conal@64.71.133.70) |
2021-02-26 06:01:38 +0100 | blissful | boomsayer |
2021-02-26 06:01:47 +0100 | boomsayer | blissful |
2021-02-26 06:03:07 +0100 | <zzz> | hey. why are circular imports not allowed? |
2021-02-26 06:03:44 +0100 | <glguy> | They are allowed, but you have to help GHC along with a boot file |
2021-02-26 06:04:22 +0100 | <zzz> | oh ok! where can i learn more about it? |
2021-02-26 06:05:25 +0100 | <glguy> | generally if you need them it means your program structure isn't great, https://downloads.haskell.org/ghc/latest/docs/html/users_guide/separate_compilation.html#how-to-co… |
2021-02-26 06:06:19 +0100 | drbean_ | (~drbean@TC210-63-209-156.static.apol.com.tw) |
2021-02-26 06:08:21 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 264 seconds) |
2021-02-26 06:10:59 +0100 | zerok | z0k |
2021-02-26 06:15:34 +0100 | justan0theruser | (~justanoth@unaffiliated/justanotheruser) |
2021-02-26 06:16:33 +0100 | <zzz> | yeah i'm feeling it's not great. I'm having trouble with types. is having a module with basically just all my custom types a healthy thing to do? |
2021-02-26 06:17:36 +0100 | <zzz> | something like import Project.Types on all modules? |
2021-02-26 06:18:01 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds) |
2021-02-26 06:20:02 +0100 | <EvanR> | that works, and simplifies types that form a loop |
2021-02-26 06:20:41 +0100 | <EvanR> | ah that's what you were talking about |
2021-02-26 06:21:38 +0100 | <zzz> | it kind of weirds me out but ill try |
2021-02-26 06:23:13 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-02-26 06:24:45 +0100 | _d0t | (void@gateway/vpn/mullvad/d0t/x-89419360) |
2021-02-26 06:26:23 +0100 | <hyiltiz-M> | @monochrome What’s an MSc cert.? Is it gonna have a stamp on it ;P |
2021-02-26 06:26:23 +0100 | <lambdabot> | Unknown command, try @list |
2021-02-26 06:27:09 +0100 | <hyiltiz-M> | monochrome: What’s an MSc cert.? Is it gonna have a stamp on it with fancy old English font? ;P |
2021-02-26 06:28:13 +0100 | elliott__ | (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) |
2021-02-26 06:28:17 +0100 | elliott__ | (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Client Quit) |
2021-02-26 06:28:37 +0100 | apache8080 | (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 276 seconds) |
2021-02-26 06:29:00 +0100 | <pjb> | MicroSoft Consultant Certification. |
2021-02-26 06:29:53 +0100 | <hyiltiz-M> | Do I get extra credit for making data Pair a=MkPair a a into a Hilbert space too? |
2021-02-26 06:30:35 +0100 | <hyiltiz-M> | Is MSc a joke or a cert that is recognized by anyone else? |
2021-02-26 06:31:08 +0100 | <hyiltiz-M> | I thought it was a joke when monochrome put out the challenge |
2021-02-26 06:32:08 +0100 | <Feuermagier> | don't all big tech-companies think they have authority to hand out certs nowdays? |
2021-02-26 06:33:06 +0100 | <MarcelineVQ> | msc https://en.wikipedia.org/wiki/Master_of_Science |
2021-02-26 06:33:31 +0100 | <hyiltiz-M> | Yeah I was thinking MSc meant MS degree too and hence a joke |
2021-02-26 06:35:37 +0100 | <hyiltiz__> | Anyway, I am intrigued and I'll bite next time I need a reason to procrastinate (and claim that MSc since monoschrome is not known to make false promises :D) And while I am on it, I'll make it an Hilbert space 'cuz why not. |
2021-02-26 06:36:53 +0100 | <MarcelineVQ> | he promised me a rose garden once |
2021-02-26 06:44:38 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 06:47:46 +0100 | Wuzzy | (~Wuzzy@p5b0df8ea.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-02-26 06:48:04 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 06:48:15 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) |
2021-02-26 06:52:57 +0100 | apache8080 | (~rishi@wsip-70-168-153-252.oc.oc.cox.net) |
2021-02-26 06:53:14 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds) |
2021-02-26 06:53:21 +0100 | boxscape | (4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243) (Ping timeout: 264 seconds) |
2021-02-26 06:53:44 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@190-2-138-17.hosted-by-worldstream.net) |
2021-02-26 06:55:33 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2021-02-26 06:55:57 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-02-26 06:56:22 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-02-26 06:56:25 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) |
2021-02-26 06:57:34 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
2021-02-26 06:57:37 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving) |
2021-02-26 06:58:31 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@190-2-138-17.hosted-by-worldstream.net) (Ping timeout: 276 seconds) |
2021-02-26 07:00:58 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds) |
2021-02-26 07:01:26 +0100 | aqd | (~aqd@84.20.147.33) |
2021-02-26 07:02:45 +0100 | dave_uy3 | (~david@108.61.193.26) (Quit: The Lounge - https://thelounge.chat) |
2021-02-26 07:03:46 +0100 | forgottenone | (~forgotten@176.88.28.250) (Quit: Konversation terminated!) |
2021-02-26 07:05:03 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2021-02-26 07:05:29 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) |
2021-02-26 07:05:40 +0100 | dave_uy3 | (~david@108.61.193.26) |
2021-02-26 07:09:12 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:f4d9:46b5:acd5:46aa) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 07:13:07 +0100 | proteusguy | (~proteusgu@cm-58-10-208-13.revip7.asianet.co.th) |
2021-02-26 07:13:36 +0100 | mp___ | (mp@hell.cx) (Ping timeout: 240 seconds) |
2021-02-26 07:13:49 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2021-02-26 07:15:03 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2021-02-26 07:15:26 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) |
2021-02-26 07:17:24 +0100 | apache8080 | (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 265 seconds) |
2021-02-26 07:18:36 +0100 | rdivyanshu | (uid322626@gateway/web/irccloud.com/x-cdhhieietudbtkyo) (Quit: Connection closed for inactivity) |
2021-02-26 07:19:19 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds) |
2021-02-26 07:20:33 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
2021-02-26 07:23:18 +0100 | xff0x_ | (~xff0x@2001:1a81:52d0:d300:24a8:fbee:5e92:3e0) (Quit: xff0x_) |
2021-02-26 07:23:26 +0100 | xff0x | (~xff0x@2001:1a81:52d0:d300:24a8:fbee:5e92:3e0) |
2021-02-26 07:24:21 +0100 | ezrakilty | (~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection) |
2021-02-26 07:28:26 +0100 | geyaeb_ | (~geyaeb@gateway/tor-sasl/geyaeb) |
2021-02-26 07:29:05 +0100 | geyaeb | (~geyaeb@gateway/tor-sasl/geyaeb) (Ping timeout: 268 seconds) |
2021-02-26 07:29:36 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
2021-02-26 07:32:52 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving) |
2021-02-26 07:33:23 +0100 | <hyiltiz__> | oh that sounds like the beginning of a sad love story... Does it have a bottom? |
2021-02-26 07:34:39 +0100 | <MarcelineVQ> | a cobottom |
2021-02-26 07:35:07 +0100 | howdoi | (uid224@gateway/web/irccloud.com/x-csqlidmiacqyvucp) (Quit: Connection closed for inactivity) |
2021-02-26 07:37:10 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2021-02-26 07:43:38 +0100 | echoreply | (~echoreply@unaffiliated/echoreply) (Quit: WeeChat 1.9.1) |
2021-02-26 07:44:07 +0100 | echoreply | (~echoreply@unaffiliated/echoreply) |
2021-02-26 07:45:13 +0100 | hyiltiz__ | (~quassel@31.220.5.250) (Quit: hyiltiz__) |
2021-02-26 07:45:27 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2021-02-26 07:48:41 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2021-02-26 07:49:57 +0100 | <koz_> | MarcelineVQ: So, a top? |
2021-02-26 07:53:54 +0100 | Jd007 | (~Jd007@162.156.11.151) (Quit: Jd007) |
2021-02-26 07:55:18 +0100 | rdivyanshu | (uid322626@gateway/web/irccloud.com/x-umknbygenttiqgds) |
2021-02-26 07:55:38 +0100 | ezrakilty | (~ezrakilty@97-113-55-149.tukw.qwest.net) |
2021-02-26 07:56:31 +0100 | werneta_ | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: Lost terminal) |
2021-02-26 07:56:41 +0100 | <Feuermagier> | how do i convert a normal boolean into an IO-Bool? |
2021-02-26 07:58:44 +0100 | <Feuermagier> | nvmnd, just a missing bracket |
2021-02-26 07:59:56 +0100 | ezrakilty | (~ezrakilty@97-113-55-149.tukw.qwest.net) (Ping timeout: 240 seconds) |
2021-02-26 08:00:35 +0100 | redmp | (~redmp@172.58.38.168) |
2021-02-26 08:00:53 +0100 | <redmp> | where does the "PostNoContent" in here come from? https://github.com/haskell-servant/servant/blob/master/servant/src/Servant/Test/ComprehensiveAPI.hs |
2021-02-26 08:01:24 +0100 | <redmp> | when I ask for the :kind! of "PostNoContent" in ghci I get ... PostNoContent :: [*] -> * -> * |
2021-02-26 08:01:33 +0100 | gioyik_ | (~gioyik@gateway/tor-sasl/gioyik) (Quit: WeeChat 3.0) |
2021-02-26 08:01:37 +0100 | <redmp> | but in the above it seems to be used without type-arguments |
2021-02-26 08:01:55 +0100 | <redmp> | as it seems was decided in https://github.com/haskell-servant/servant/issues/828 |
2021-02-26 08:02:26 +0100 | <redmp> | ah, nevermind.. i'm on and old version.. rubber duck etc, thank you |
2021-02-26 08:05:44 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2021-02-26 08:06:04 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-02-26 08:10:24 +0100 | Rudd0 | (~Rudd0@185.189.115.108) (Read error: Connection reset by peer) |
2021-02-26 08:10:45 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 272 seconds) |
2021-02-26 08:11:10 +0100 | Cthalupa- | (~cthulhu@47.186.47.75) (Read error: Connection reset by peer) |
2021-02-26 08:11:28 +0100 | Cthalupa | (~cthulhu@47.186.47.75) |
2021-02-26 08:11:45 +0100 | mp___ | (mp@hell.cx) |
2021-02-26 08:12:44 +0100 | spoonm | (~spoonm@2602:ffd5:1:119::1) (Ping timeout: 240 seconds) |
2021-02-26 08:16:52 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-02-26 08:19:57 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0.1) |
2021-02-26 08:21:07 +0100 | quinn | (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.1 - https://znc.in) |
2021-02-26 08:21:19 +0100 | <zfnmxt> | I have a type like `Compose :: Func b c -> Func a b -> Fun a c`. Then, any function which takes a Func a c with some constraints: foo :: (C a, C c) => Fun a c -> ... can't determine if C holds for b. Is there a nice way to deal with this issue aside from doing something like `Comp :: (C1 b, C2 b, ...) => f b c -> f a b -> f a c` (which is super gross and might not even work)? |
2021-02-26 08:21:56 +0100 | o1lo01ol1o | (~o1lo01ol1@188.140.102.232) |
2021-02-26 08:23:21 +0100 | mananamenos | (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) |
2021-02-26 08:26:31 +0100 | o1lo01ol1o | (~o1lo01ol1@188.140.102.232) (Ping timeout: 265 seconds) |
2021-02-26 08:26:52 +0100 | quinn | (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
2021-02-26 08:29:03 +0100 | <c_wraith> | the problem is that you've made the type b existential, so GHC can't auto-populate the instance |
2021-02-26 08:29:57 +0100 | <c_wraith> | None of the methods of dealing with that are very pleasant |
2021-02-26 08:30:11 +0100 | <zfnmxt> | c_wraith: So is the best fix doing the somewhat artifical thing of changing `Func a b` to `Func a b c`? |
2021-02-26 08:30:49 +0100 | <c_wraith> | or replacing the class with a function (or record of them) such that the type isn't being used to determine anything |
2021-02-26 08:30:59 +0100 | redmp | (~redmp@172.58.38.168) (Quit: leaving) |
2021-02-26 08:31:57 +0100 | <zfnmxt> | Seems less than ideal, since then I can take advantage of libraries which define classes. (This issue just came up trying to make Func an instance of Pretty). |
2021-02-26 08:32:35 +0100 | forgottenone | (~forgotten@176.42.27.254) |
2021-02-26 08:32:51 +0100 | <zfnmxt> | s/can/can't |
2021-02-26 08:33:00 +0100 | <c_wraith> | Well, there are tools like the constraints package for moving classes to values |
2021-02-26 08:33:23 +0100 | <zfnmxt> | I keep seeing that pop-up but haven't looked into it. Maybe now's the time! |
2021-02-26 08:33:37 +0100 | <c_wraith> | but in the end the solution has to be some form of "reify the class" or "don't throw away the type information" |
2021-02-26 08:34:11 +0100 | <zfnmxt> | But I think something like `type Func a b = Func' a b ()` and then having `data Func' a b c where...` isn't so ugly. |
2021-02-26 08:34:21 +0100 | <c_wraith> | if it stops at 2.... |
2021-02-26 08:34:47 +0100 | <zfnmxt> | 2 being the number of arguments to data constructors which are Funcs? |
2021-02-26 08:34:56 +0100 | <c_wraith> | 2 functions being composed |
2021-02-26 08:35:19 +0100 | <zfnmxt> | Oh. Yikes. |
2021-02-26 08:38:22 +0100 | mnrmnaugh | (~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 256 seconds) |
2021-02-26 08:39:29 +0100 | mnrmnaugh | (~mnrmnaugh@unaffiliated/mnrmnaugh) |
2021-02-26 08:41:13 +0100 | coot | (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) |
2021-02-26 08:46:24 +0100 | ddere | (uid110888@gateway/web/irccloud.com/x-mbygtejiccludvmt) (Quit: Connection closed for inactivity) |
2021-02-26 08:49:17 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 08:51:21 +0100 | polyrain | (~polyrain@2001:8003:e4d8:4101:11d5:eb2a:5a3d:13dc) |
2021-02-26 08:53:56 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2021-02-26 08:55:33 +0100 | <desophos> | i have a list of records that i want to generate length-n combinations of (game theory player matchups). i profiled my program and my function that generates these combinations was by far my largest bottleneck. i ended up memoizing a list of indexes for Data.Vector.! to massively improve the performance and now i have two questions: 1. is `V.fromList . sort . nub` faster than `V.fromList . S.toAscList . S.fromList`? i don't |
2021-02-26 08:55:33 +0100 | <desophos> | know the complexity of `sort`. 2. is there a more sensible way to go about this? my approach feels inelegant! |
2021-02-26 08:55:34 +0100 | <desophos> | https://paste.tomsmeding.com/RtEveHds |
2021-02-26 08:56:24 +0100 | <koz_> | desophos: sort is n log(n). |
2021-02-26 08:56:31 +0100 | <koz_> | (because in general you can't do better) |
2021-02-26 08:56:41 +0100 | <koz_> | nub is horrendous and best not used - it's quadratic. |
2021-02-26 08:57:11 +0100 | <desophos> | alright thanks, yeah i figured the Set conversion would be better because nub is O(n^2) |
2021-02-26 08:57:18 +0100 | <koz_> | Do you need to generate _every_ length-n combination? |
2021-02-26 08:58:04 +0100 | <desophos> | well... ideally, yes |
2021-02-26 08:58:25 +0100 | <desophos> | i'd like to match each element against each other element |
2021-02-26 08:58:35 +0100 | <koz_> | So is your 'n' fixed? |
2021-02-26 08:58:38 +0100 | <desophos> | excluding duplicates and self-matches |
2021-02-26 08:58:40 +0100 | ephemera_ | (~E@122.34.1.187) (Quit: ephemera_) |
2021-02-26 08:59:03 +0100 | <desophos> | `n` and `k` should be fixed during program execution |
2021-02-26 08:59:32 +0100 | <koz_> | OK, so if you're excluding dupes, you can already do one thing and have your input be a HashSet, or a Set, as opposed to a list. |
2021-02-26 08:59:33 +0100 | <desophos> | hence the memoization |
2021-02-26 08:59:35 +0100 | <koz_> | That means no dupes. |
2021-02-26 09:00:03 +0100 | <koz_> | In terms of combination generation, I'm trying to find a publically available reference for one of the loopfree generator algorithms. |
2021-02-26 09:00:08 +0100 | <koz_> | Since they're basically the best you can do. |
2021-02-26 09:00:43 +0100 | ephemera_ | (~E@122.34.1.187) |
2021-02-26 09:01:49 +0100 | __minoru__shirae | (~shiraeesh@109.166.56.143) |
2021-02-26 09:02:27 +0100 | <koz_> | https://dl.acm.org/doi/pdf/10.1145/321765.321781?casa_token=mqEhkgUN4eIAAAAA:j0ZM3Vmwt5eBKlJJx20e1… |
2021-02-26 09:02:31 +0100 | <koz_> | Algorithm 7 is what you seek. |
2021-02-26 09:02:33 +0100 | <desophos> | taking a Set would be a good idea but that would require the caller to import Data.Set and perform the conversion anyway, right? |
2021-02-26 09:02:39 +0100 | <koz_> | And? |
2021-02-26 09:02:48 +0100 | <koz_> | You might as well burn out the dupes immediately. |
2021-02-26 09:02:51 +0100 | Franciman | (~francesco@host-82-49-79-189.retail.telecomitalia.it) |
2021-02-26 09:02:52 +0100 | <koz_> | Or demand your user do it. |
2021-02-26 09:02:57 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2021-02-26 09:03:33 +0100 | <desophos> | right, there shouldn't actually be any dupes in the first place -- that would be a logic error |
2021-02-26 09:03:44 +0100 | <koz_> | Then you lose nothing by asking for a Set. |
2021-02-26 09:03:58 +0100 | <koz_> | And in fact you gain a lot, because now you have some guarantees no dork will feed you inappropriate input _ever_. |
2021-02-26 09:04:06 +0100 | <desophos> | that's true |
2021-02-26 09:04:24 +0100 | <koz_> | But yeah, read the link I gave you; algorithms 7 and 8 are _the_ best way to do what you want. |
2021-02-26 09:04:32 +0100 | <koz_> | Since they're loopless. |
2021-02-26 09:04:50 +0100 | <desophos> | hmm, it looks like this article is purchase-required? |
2021-02-26 09:04:57 +0100 | <koz_> | My link worked? |
2021-02-26 09:05:06 +0100 | <koz_> | I can access it fine. |
2021-02-26 09:05:15 +0100 | <koz_> | (and I know I don't have ACM credentials) |
2021-02-26 09:05:27 +0100 | Yumasi | (~guillaume@2a01:e0a:5cb:4430:2f12:f782:a87b:e2ae) |
2021-02-26 09:05:42 +0100 | <koz_> | Can you not access it? |
2021-02-26 09:05:54 +0100 | <desophos> | no, only the abstract and references |
2021-02-26 09:05:58 +0100 | <koz_> | Huh, weird. |
2021-02-26 09:06:01 +0100 | <koz_> | One moment. |
2021-02-26 09:06:11 +0100 | polyrain | (~polyrain@2001:8003:e4d8:4101:11d5:eb2a:5a3d:13dc) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 09:06:18 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2021-02-26 09:07:09 +0100 | <desophos> | the great thing about memoization here is that the speed of the combination algorithm doesn't actually matter that much, since it'll only happen once per program execution |
2021-02-26 09:07:10 +0100 | <koz_> | https://transfer.sh/urUNU/enjoy-reading.pdf |
2021-02-26 09:07:15 +0100 | <desophos> | thank you! |
2021-02-26 09:07:23 +0100 | <koz_> | I would say 'don't even worry about memoization at this stage'. |
2021-02-26 09:07:30 +0100 | <koz_> | Use a proper loopfree combination generator. |
2021-02-26 09:07:34 +0100 | <koz_> | You probably won't even need it. |
2021-02-26 09:08:02 +0100 | <desophos> | wow alright, i'll see if i can implement it |
2021-02-26 09:08:05 +0100 | <koz_> | To do this efficiently you might wanna make use of the vector library, because you'll need some arrays. |
2021-02-26 09:08:10 +0100 | <koz_> | Again, algorithm 7 and 8 are what you want. |
2021-02-26 09:08:21 +0100 | <koz_> | You can skip the others, although they're good background knowledge in any case. |
2021-02-26 09:08:34 +0100 | __minoru__shirae | (~shiraeesh@109.166.56.143) (Ping timeout: 265 seconds) |
2021-02-26 09:08:35 +0100 | <koz_> | (Johnson-Steinhaus-Trotter is still what I reach for whenever I need permutation enumeration for example) |
2021-02-26 09:09:28 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-02-26 09:09:53 +0100 | vilpan | (~0@212.117.1.172) |
2021-02-26 09:10:00 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-02-26 09:15:09 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 09:16:01 +0100 | xff0x | (~xff0x@2001:1a81:52d0:d300:24a8:fbee:5e92:3e0) (Ping timeout: 258 seconds) |
2021-02-26 09:16:40 +0100 | xff0x | (~xff0x@port-92-195-110-249.dynamic.as20676.net) |
2021-02-26 09:16:49 +0100 | __minoru__shirae | (~shiraeesh@109.166.56.143) |
2021-02-26 09:18:13 +0100 | ddellacosta | (~ddellacos@86.106.143.201) |
2021-02-26 09:19:52 +0100 | mawk | (mawk@serveur.io) |
2021-02-26 09:20:25 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 272 seconds) |
2021-02-26 09:21:14 +0100 | <tomsmeding> | koz_: you're not by any chance on a university network? that acm link is inaccessible to me too unless I connect to my university's proxy |
2021-02-26 09:21:22 +0100 | <koz_> | tomsmeding: Nope. |
2021-02-26 09:21:29 +0100 | <koz_> | Unless my house is magically a university now. |
2021-02-26 09:21:44 +0100 | <koz_> | But it's fine - it got where it needed to go. |
2021-02-26 09:21:59 +0100 | <tomsmeding> | interesting |
2021-02-26 09:22:01 +0100 | sphalerite_ | sphalerite |
2021-02-26 09:22:23 +0100 | <koz_> | Meanwhile, here I am trying to find an ELI5 of l0 regularization. |
2021-02-26 09:22:49 +0100 | ddellacosta | (~ddellacos@86.106.143.201) (Ping timeout: 276 seconds) |
2021-02-26 09:23:26 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) |
2021-02-26 09:26:39 +0100 | <koz_> | Oh lol, number of nonzero elements. |
2021-02-26 09:27:07 +0100 | mawk | (mawk@serveur.io) (Ping timeout: 256 seconds) |
2021-02-26 09:28:34 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2021-02-26 09:31:04 +0100 | toorevitimirp | (~tooreviti@117.182.182.60) (Remote host closed the connection) |
2021-02-26 09:31:35 +0100 | toorevitimirp | (~tooreviti@117.182.182.60) |
2021-02-26 09:36:40 +0100 | fendor | (~fendor@178.115.128.24.wireless.dyn.drei.com) |
2021-02-26 09:38:03 +0100 | mawk | (mawk@serveur.io) |
2021-02-26 09:39:17 +0100 | kritzefitz | (~kritzefit@fw-front.credativ.com) |
2021-02-26 09:43:04 +0100 | o1lo01ol1o | (~o1lo01ol1@188.140.102.232) |
2021-02-26 09:44:21 +0100 | __minoru__shirae | (~shiraeesh@109.166.56.143) (Ping timeout: 264 seconds) |
2021-02-26 09:45:23 +0100 | fendor | (~fendor@178.115.128.24.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-02-26 09:48:17 +0100 | drbean_ | (~drbean@TC210-63-209-156.static.apol.com.tw) (Ping timeout: 272 seconds) |
2021-02-26 09:50:22 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-02-26 09:50:53 +0100 | shad0w_ | (a0ca2456@160.202.36.86) |
2021-02-26 09:51:38 +0100 | borne | (~fritjof@200116b864cbc80010f2d07664396fd4.dip.versatel-1u1.de) |
2021-02-26 09:52:04 +0100 | terrorjack | (~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com) (Quit: The Lounge - https://thelounge.chat) |
2021-02-26 09:52:17 +0100 | chele | (~chele@ip5b40237d.dynamic.kabel-deutschland.de) |
2021-02-26 09:53:01 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) (Remote host closed the connection) |
2021-02-26 09:53:42 +0100 | terrorjack | (~terrorjac@ec2-52-47-143-92.eu-west-3.compute.amazonaws.com) |
2021-02-26 09:54:38 +0100 | desophos | (~desophos@2601:249:1680:a570:1ceb:ae8f:9938:9938) (Ping timeout: 264 seconds) |
2021-02-26 09:54:52 +0100 | desophos | (~desophos@c-24-14-63-128.hsd1.il.comcast.net) |
2021-02-26 09:55:15 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 272 seconds) |
2021-02-26 09:55:26 +0100 | vchlup_ | (~vchlup@nat.brnet.cz) (Ping timeout: 256 seconds) |
2021-02-26 09:56:37 +0100 | ubert | (~Thunderbi@p200300ecdf25d992a0d2e31ed48a2cf4.dip0.t-ipconnect.de) |
2021-02-26 09:57:17 +0100 | ph88 | (~ph88@2a02:8109:9e00:7e5c:d1f1:eae:60e1:e53a) |
2021-02-26 10:00:11 +0100 | Sarievo[m] | (sarievoale@gateway/shell/matrix.org/x-pwulriigshezukrd) (Quit: Idle for 30+ days) |
2021-02-26 10:02:20 +0100 | peutri_ | peutri |
2021-02-26 10:04:43 +0100 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
2021-02-26 10:06:06 +0100 | kuribas | (~user@ptr-25vy0i6y5ai1dlzwgol.18120a2.ip6.access.telenet.be) |
2021-02-26 10:06:45 +0100 | shad0w_ | (a0ca2456@160.202.36.86) (Quit: Connection closed) |
2021-02-26 10:08:32 +0100 | CatWithMoustache | (~CatWithMo@gateway/tor-sasl/catwithmoustache) |
2021-02-26 10:09:05 +0100 | CatWithMoustache | (~CatWithMo@gateway/tor-sasl/catwithmoustache) (Client Quit) |
2021-02-26 10:09:08 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-02-26 10:09:28 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-02-26 10:09:48 +0100 | hendursa1 | (~weechat@gateway/tor-sasl/hendursaga) |
2021-02-26 10:10:57 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2021-02-26 10:11:16 +0100 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 268 seconds) |
2021-02-26 10:11:32 +0100 | m0rphism1 | (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) |
2021-02-26 10:11:38 +0100 | guest222 | (~user@49.5.6.87) (Remote host closed the connection) |
2021-02-26 10:11:44 +0100 | chisui | (5882391e@mue-88-130-57-030.dsl.tropolys.de) |
2021-02-26 10:12:59 +0100 | aarvar | (~foewfoiew@2601:602:a080:fa0:49bc:1f9e:3510:3fc5) (Ping timeout: 272 seconds) |
2021-02-26 10:18:53 +0100 | michalz | (~user@185.246.204.61) |
2021-02-26 10:19:08 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-02-26 10:21:36 +0100 | kam1 | (~kam1@5.125.126.175) (Ping timeout: 240 seconds) |
2021-02-26 10:21:50 +0100 | pera | (~pera@unaffiliated/pera) |
2021-02-26 10:21:52 +0100 | Codaraxis | (Codaraxis@gateway/vpn/mullvad/codaraxis) |
2021-02-26 10:25:17 +0100 | pera_ | (~pera@unaffiliated/pera) |
2021-02-26 10:27:36 +0100 | o1lo01ol1o | (~o1lo01ol1@188.140.102.232) (Remote host closed the connection) |
2021-02-26 10:28:42 +0100 | ddellacosta | (~ddellacos@86.106.143.84) |
2021-02-26 10:28:57 +0100 | pera_ | (~pera@unaffiliated/pera) (Client Quit) |
2021-02-26 10:28:57 +0100 | pera | (~pera@unaffiliated/pera) (Quit: leaving) |
2021-02-26 10:29:07 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 10:29:18 +0100 | pera | (~pera@unaffiliated/pera) |
2021-02-26 10:30:10 +0100 | spoonm | (~spoonm@tokyo.spoonm.org) |
2021-02-26 10:30:15 +0100 | mananamenos | (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Ping timeout: 265 seconds) |
2021-02-26 10:30:36 +0100 | _noblegas | (uid91066@gateway/web/irccloud.com/x-koxpwnnitfybavxb) |
2021-02-26 10:32:00 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 10:33:38 +0100 | ddellacosta | (~ddellacos@86.106.143.84) (Ping timeout: 265 seconds) |
2021-02-26 10:34:26 +0100 | AWizzArd | (~code@unaffiliated/awizzard) (Ping timeout: 240 seconds) |
2021-02-26 10:34:33 +0100 | mananamenos | (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) |
2021-02-26 10:36:56 +0100 | runeks | (sid21167@gateway/web/irccloud.com/x-knlehmbevkamnxoa) (Ping timeout: 240 seconds) |
2021-02-26 10:37:17 +0100 | jbetz | (sid283648@gateway/web/irccloud.com/x-mbznlfwgozuyecdk) (Ping timeout: 260 seconds) |
2021-02-26 10:37:30 +0100 | topos | (sid467876@gateway/web/irccloud.com/x-jjuaerngijjjrgfb) (Ping timeout: 265 seconds) |
2021-02-26 10:37:35 +0100 | moobar | (sid171730@gateway/web/irccloud.com/x-frdbmxzesbedehug) (Read error: Connection reset by peer) |
2021-02-26 10:37:45 +0100 | runeks | (sid21167@gateway/web/irccloud.com/x-rckbkalawmplrynn) |
2021-02-26 10:37:45 +0100 | jbetz | (sid283648@gateway/web/irccloud.com/x-xrbchakxhwrqcwzv) |
2021-02-26 10:37:48 +0100 | moobar | (sid171730@gateway/web/irccloud.com/x-lxdmnqustlyookkh) |
2021-02-26 10:37:52 +0100 | topos | (sid467876@gateway/web/irccloud.com/x-zlylmlnixcvrclez) |
2021-02-26 10:38:36 +0100 | rdivyanshu | (uid322626@gateway/web/irccloud.com/x-umknbygenttiqgds) (Quit: Connection closed for inactivity) |
2021-02-26 10:41:46 +0100 | zaquest_ | (~notzaques@5.128.210.178) (Quit: Leaving) |
2021-02-26 10:42:27 +0100 | <siers> | is it possible to make parser from invertible functions? say, a json parser |
2021-02-26 10:43:06 +0100 | zaquest | (~notzaques@5.128.210.178) |
2021-02-26 10:43:30 +0100 | <koz_> | siers: jle` wrote a whole article on this! |
2021-02-26 10:44:03 +0100 | <koz_> | https://blog.jle.im/entry/enhancing-functor-structures-step-by-step-1.html |
2021-02-26 10:44:50 +0100 | catt | (~r@31.127.31.99) |
2021-02-26 10:45:18 +0100 | <siers> | sounds cool, I'll take a look! |
2021-02-26 10:49:28 +0100 | <siers> | can the functor-combinators do the same thing as the invertible library? |
2021-02-26 10:50:23 +0100 | <koz_> | siers: They're separate concerns. |
2021-02-26 10:50:29 +0100 | <koz_> | You wanna read both parts all the way through. |
2021-02-26 10:50:39 +0100 | viluon | (uid453725@gateway/web/irccloud.com/x-dqymabneifveqvzq) |
2021-02-26 10:51:11 +0100 | <siers> | I have to work now, I can't dig into it, but that's just something I wanted to ask off the top of my head :) |
2021-02-26 10:53:25 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) |
2021-02-26 10:53:31 +0100 | hiroaki__ | (~hiroaki@2a02:8108:8c40:2bb8:cedc:3317:ccec:602b) (Ping timeout: 272 seconds) |
2021-02-26 10:53:52 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer) |
2021-02-26 10:54:03 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) |
2021-02-26 10:55:04 +0100 | cods_ | cods |
2021-02-26 10:55:14 +0100 | cods | (~fred@82-65-232-44.subs.proxad.net) (Changing host) |
2021-02-26 10:55:14 +0100 | cods | (~fred@unaffiliated/cods) |
2021-02-26 10:57:13 +0100 | datajerk_ | (~datajerk@sense.net) (Ping timeout: 256 seconds) |
2021-02-26 10:58:14 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) (Ping timeout: 264 seconds) |
2021-02-26 10:59:36 +0100 | grumble | (~Thunderbi@freenode/staff/grumble) (Quit: K-Lined) |
2021-02-26 11:01:25 +0100 | Rudd0 | (~Rudd0@185.189.115.108) |
2021-02-26 11:02:36 +0100 | datajerk | (~datajerk@sense.net) |
2021-02-26 11:03:11 +0100 | Pickchea | (~private@unaffiliated/pickchea) |
2021-02-26 11:03:41 +0100 | grumble | (~Thunderbi@freenode/staff/grumble) |
2021-02-26 11:04:17 +0100 | hiroaki__ | (~hiroaki@2a02:8108:8c40:2bb8:8fe4:ef1e:34cd:b814) |
2021-02-26 11:04:40 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-kzbgzpokvgnzruvp) (Quit: Connection closed for inactivity) |
2021-02-26 11:06:11 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-02-26 11:07:23 +0100 | <kuribas> | I wonder, if parsing is done with a monad, then would generating be done with a comonad? |
2021-02-26 11:08:01 +0100 | __monty__ | (~toonn@unaffiliated/toonn) |
2021-02-26 11:08:01 +0100 | <kuribas> | since generating is the oposite of parsing |
2021-02-26 11:08:04 +0100 | thc202 | (~thc202@unaffiliated/thc202) |
2021-02-26 11:08:25 +0100 | DavidEichmann | (~david@234.109.45.217.dyn.plus.net) |
2021-02-26 11:08:34 +0100 | <jle`> | generating would be a contravariant functor |
2021-02-26 11:08:44 +0100 | <jle`> | which is the opposite of the covariant functor (monad) |
2021-02-26 11:08:58 +0100 | <jle`> | i guess maybe not "the", but "a" :) |
2021-02-26 11:09:43 +0100 | <jle`> | *an opposite |
2021-02-26 11:10:37 +0100 | <dminuoso> | kuribas: Duality does not mean "opposite" in that sense. |
2021-02-26 11:10:58 +0100 | <dminuoso> | Consider how Either is a categorical dual of (,) |
2021-02-26 11:11:20 +0100 | <dminuoso> | (which is why sum types are sometimes called coproducts) |
2021-02-26 11:11:48 +0100 | <shachaf> | But the dual of a covariant functor is also not a contravariant functor. |
2021-02-26 11:13:36 +0100 | mp___ | (mp@hell.cx) (Ping timeout: 240 seconds) |
2021-02-26 11:17:33 +0100 | <kuribas> | It does seem to work: (\a -> myParserOfB) >=> (b -> (myParserOfC) |
2021-02-26 11:19:10 +0100 | <ski> | i guess there's "abstract duals" and "concrete duals". the former you apply not to some particular thing, but to a concept. so, strictly speaking, `Either' is not dual to `(,)', but the concept of sum/coproduct is dual to the concept of product. the latter typically involves, given a thing, considering all functions/homomorphisms/arrows from it to some specific other thing, or considering a similar |
2021-02-26 11:19:16 +0100 | <ski> | exponential object, or the corresponding thing in monoidal closed or compact closed categories. an example is that the dual of a vector space is the vector space of all linear transformations/maps from it to the vector space of scalars |
2021-02-26 11:20:48 +0100 | cafce25 | (~cafce25@ipbcc3009d.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2021-02-26 11:21:08 +0100 | AWizzArd | (~code@gehrels.uberspace.de) |
2021-02-26 11:21:41 +0100 | AWizzArd | (~code@gehrels.uberspace.de) (Changing host) |
2021-02-26 11:21:41 +0100 | AWizzArd | (~code@unaffiliated/awizzard) |
2021-02-26 11:24:26 +0100 | _d0t | (void@gateway/vpn/mullvad/d0t/x-89419360) (Quit: Konversation terminated!) |
2021-02-26 11:26:45 +0100 | siers | (~ij@raitis.veinbahs.lv) (Changing host) |
2021-02-26 11:26:45 +0100 | siers | (~ij@NixOS/user/siers) |
2021-02-26 11:27:06 +0100 | siers | ij |
2021-02-26 11:27:49 +0100 | Guest3557 | stilgart |
2021-02-26 11:28:19 +0100 | stilgart | Guest10121 |
2021-02-26 11:29:02 +0100 | Guest10121 | stilgart |
2021-02-26 11:31:16 +0100 | aqd | (~aqd@84.20.147.33) (Quit: Textual IRC Client: www.textualapp.com) |
2021-02-26 11:32:04 +0100 | <kuribas> | to generate: (\GeneratorOfa -> b) =>= (\GeneratorOfB -> c) |
2021-02-26 11:32:29 +0100 | <dminuoso> | kuribas: comonads dont "generate" - at least not the way Id think about them |
2021-02-26 11:33:22 +0100 | <kuribas> | Well, I am thinking about filling in a form for example. |
2021-02-26 11:34:02 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-02-26 11:34:06 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-02-26 11:34:26 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-02-26 11:35:05 +0100 | <kuribas> | So the comonad represents some field of the form... |
2021-02-26 11:35:17 +0100 | ph88 | (~ph88@2a02:8109:9e00:7e5c:d1f1:eae:60e1:e53a) (Remote host closed the connection) |
2021-02-26 11:36:00 +0100 | errst | (~errst@unaffiliated/tirej) |
2021-02-26 11:37:49 +0100 | psutcliffe | (~psutcliff@2a00:801:44b:5fb3:b852:cfd3:ade7:f24f) (Quit: Leaving) |
2021-02-26 11:38:16 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds) |
2021-02-26 11:39:01 +0100 | todda7 | (~torstein@athedsl-258913.home.otenet.gr) |
2021-02-26 11:40:23 +0100 | <kuribas> | what's the dual of applicative? |
2021-02-26 11:41:09 +0100 | <kuribas> | ah wait, that's the contravariant functor jle` mentioned... |
2021-02-26 11:43:17 +0100 | <kuribas> | https://hackage.haskell.org/package/contravariant-1.5.3/docs/Data-Functor-Contravariant-Divisible.… |
2021-02-26 11:43:20 +0100 | <merijn> | Logically the dual of applicative would have to take a single 'c' and turn it into an arbitrary tuple? |
2021-02-26 11:43:26 +0100 | <dminuoso> | If we think of monads as efffectful computations, then comonads might be closer to context sensitive comptuations |
2021-02-26 11:44:08 +0100 | <dminuoso> | One of the very few comonadic examples we have, is something like cellular automatons. |
2021-02-26 11:44:16 +0100 | <kuribas> | so a monad "adds" context to a computation, while a comonad "removes" it. |
2021-02-26 11:44:19 +0100 | <dminuoso> | (Where computing the next cell state depends on surrounding state) |
2021-02-26 11:44:26 +0100 | <dminuoso> | Not quite "removes it" but "depends on it" |
2021-02-26 11:45:16 +0100 | <dminuoso> | In the common instances you usually have some concept of "focus" and "neighborhood" that you can inspect |
2021-02-26 11:45:25 +0100 | <kuribas> | doesn't "w a -> b " remove the context? |
2021-02-26 11:45:35 +0100 | <dminuoso> | I'd rather say it can "read" the context. |
2021-02-26 11:45:42 +0100 | <dminuoso> | So the resulting value depends on it |
2021-02-26 11:45:47 +0100 | <dminuoso> | Consider something like a blur filter |
2021-02-26 11:45:56 +0100 | <dminuoso> | Where the computed value depends on the neighborhood |
2021-02-26 11:46:29 +0100 | son0p | (~son0p@181.58.39.182) |
2021-02-26 11:47:22 +0100 | desophos | (~desophos@c-24-14-63-128.hsd1.il.comcast.net) (Quit: Leaving) |
2021-02-26 11:52:02 +0100 | <kuribas> | merijn: yes, that's the type of Divisble |
2021-02-26 11:55:52 +0100 | davros1 | (~davros@host86-183-29-83.range86-183.btcentralplus.com) |
2021-02-26 11:56:53 +0100 | bitmagie | (~Thunderbi@200116b8065e3a00e0754dbe4af9ad6b.dip.versatel-1u1.de) |
2021-02-26 11:58:21 +0100 | davros_ | (~davros@host86-184-190-159.range86-184.btcentralplus.com) (Ping timeout: 256 seconds) |
2021-02-26 12:05:08 +0100 | jippiedoe | (4dab983e@77-171-152-62.fixed.kpn.net) |
2021-02-26 12:05:09 +0100 | _Alleria | (~AllahuAkb@2603-7000-3040-0000-6cee-2fa2-b3ba-fa1a.res6.spectrum.com) |
2021-02-26 12:07:21 +0100 | mananamenos | (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Remote host closed the connection) |
2021-02-26 12:07:46 +0100 | mananamenos | (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) |
2021-02-26 12:08:12 +0100 | Alleria_ | (~AllahuAkb@2603-7000-3040-0000-18b0-cfa2-5ed5-49de.res6.spectrum.com) (Ping timeout: 260 seconds) |
2021-02-26 12:10:56 +0100 | danso | (~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 240 seconds) |
2021-02-26 12:11:45 +0100 | mp___ | (mp@hell.cx) |
2021-02-26 12:14:46 +0100 | danso | (~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) |
2021-02-26 12:17:00 +0100 | bitmagie | (~Thunderbi@200116b8065e3a00e0754dbe4af9ad6b.dip.versatel-1u1.de) (Quit: bitmagie) |
2021-02-26 12:19:47 +0100 | __minoru__shirae | (~shiraeesh@109.166.56.143) |
2021-02-26 12:24:21 +0100 | boxscape | (4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243) |
2021-02-26 12:25:43 +0100 | Graf_Blutwurst | (~grafblutw@2001:171b:226e:adc0:e40c:bc1a:ac08:b43b) |
2021-02-26 12:30:29 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-02-26 12:31:34 +0100 | <kuribas> | hmm, it seems easier to have Form' a b, which is a Profunctor, meaning a form that returns something of type "b", and can be populated with something of type "a". |
2021-02-26 12:31:53 +0100 | <kuribas> | then Form a = Form' a a |
2021-02-26 12:33:00 +0100 | <kuribas> | Then I can do Person <$> (personAge >$< intField) <*> (personName >$< stringField) |
2021-02-26 12:34:24 +0100 | <kuribas> | with intField :: Form Int, stringFIeld :: Form String |
2021-02-26 12:34:56 +0100 | danso | (~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 240 seconds) |
2021-02-26 12:35:23 +0100 | danso | (~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) |
2021-02-26 12:36:03 +0100 | <kuribas> | But you'll need a selective functor for choice... |
2021-02-26 12:36:06 +0100 | aqd | (~aqd@84.20.147.33) |
2021-02-26 12:36:48 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Ping timeout: 268 seconds) |
2021-02-26 12:38:34 +0100 | statusfa1led | statusfailed |
2021-02-26 12:39:04 +0100 | statusfailed | Guest334 |
2021-02-26 12:39:47 +0100 | todda7 | (~torstein@athedsl-258913.home.otenet.gr) (Quit: Konversation terminated!) |
2021-02-26 12:39:56 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2021-02-26 12:39:57 +0100 | Guest334 | (~statusfai@statusfailed.com) (Quit: leaving) |
2021-02-26 12:40:02 +0100 | todda7 | (~torstein@athedsl-258913.home.otenet.gr) |
2021-02-26 12:40:15 +0100 | statusfa1led | (~statusfai@statusfailed.com) |
2021-02-26 12:40:59 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-02-26 12:44:20 +0100 | statusfa1led | statusfailed |
2021-02-26 12:44:21 +0100 | <ski> | kuribas> :t (>$<) |
2021-02-26 12:45:20 +0100 | <kuribas> | ski: right, it's lmap |
2021-02-26 12:45:26 +0100 | thc202 | (~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds) |
2021-02-26 12:45:36 +0100 | <kuribas> | :t (>$<) |
2021-02-26 12:45:37 +0100 | <lambdabot> | error: |
2021-02-26 12:45:37 +0100 | <lambdabot> | • Variable not in scope: >$< |
2021-02-26 12:45:37 +0100 | <lambdabot> | • Perhaps you meant one of these: |
2021-02-26 12:45:37 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 276 seconds) |
2021-02-26 12:45:42 +0100 | <kuribas> | :t lmap |
2021-02-26 12:45:43 +0100 | <lambdabot> | Profunctor p => (a -> b) -> p b c -> p a c |
2021-02-26 12:45:53 +0100 | thc202 | (~thc202@unaffiliated/thc202) |
2021-02-26 12:48:00 +0100 | ubert | (~Thunderbi@p200300ecdf25d992a0d2e31ed48a2cf4.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
2021-02-26 12:48:07 +0100 | <Feuermagier> | following function: "f xs [] = False" ; "f [] xs = True" --- function: xxl = xxl ---- call: f [] xll --- question: why does this not evaluate to "True"? |
2021-02-26 12:48:32 +0100 | <ski> | ok |
2021-02-26 12:49:01 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-02-26 12:49:31 +0100 | <infinisil> | Feuermagier: What's xll? |
2021-02-26 12:49:38 +0100 | <Feuermagier> | xll = xll |
2021-02-26 12:49:45 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 12:49:47 +0100 | <Feuermagier> | recursive infinite definition |
2021-02-26 12:50:01 +0100 | <ski> | `xll' is not a function here (it's a list) |
2021-02-26 12:50:19 +0100 | pavonia^\_^\ | (~user@unaffiliated/siracusa) (Quit: Bye!) |
2021-02-26 12:50:19 +0100 | <ski> | specificlly, it's a bottom value |
2021-02-26 12:50:27 +0100 | <Feuermagier> | xll :: a ; xll = xll |
2021-02-26 12:50:28 +0100 | <Taneb> | Feuermagier: the runtime has no idea if xll is an empty list or not |
2021-02-26 12:50:30 +0100 | deja | (~deja@212095008174.public.telering.at) |
2021-02-26 12:50:36 +0100 | <Feuermagier> | *ah* |
2021-02-26 12:50:48 +0100 | <Feuermagier> | it tries to evaluate it; thx! |
2021-02-26 12:50:57 +0100 | <ski> | matching on `[]' in the second argument of `f' means that `f' becomes strict in that argument. meaning that if you pass a bottom value, the result will be bottom |
2021-02-26 12:51:04 +0100 | <ski> | f xs _|_ = _|_ |
2021-02-26 12:51:12 +0100 | <Taneb> | It has to evaluate it at least as far to see if it's empty or not |
2021-02-26 12:54:17 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds) |
2021-02-26 12:54:55 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) |
2021-02-26 12:56:57 +0100 | <Feuermagier> | do you have a good guide on how to make a function tail-recursive? |
2021-02-26 12:57:54 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:c8ae:4c2c:c3c0:6062:2fc9) |
2021-02-26 12:59:55 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds) |
2021-02-26 13:00:02 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) (Ping timeout: 264 seconds) |
2021-02-26 13:00:28 +0100 | <ski> | you can try to introduce an accumulator. (one way of doing that is doing CPS, but that doesn't necessarily help) |
2021-02-26 13:00:55 +0100 | <ski> | also, you should ask yourself *if* you want to make the definition tail-recursive |
2021-02-26 13:01:21 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 13:01:52 +0100 | thc202 | (~thc202@unaffiliated/thc202) (Ping timeout: 260 seconds) |
2021-02-26 13:01:58 +0100 | <ski> | it can be better to refrain from doing so, depending. if the function can be incremental, it's commonly better to refrain, since making it tail-recursive will make it bulky, i.e. non-incremental |
2021-02-26 13:02:56 +0100 | <ski> | also, if you introduce an accumulator, then usually you'll want to force that accumulator to some extent at least, while you're iterating |
2021-02-26 13:06:16 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-02-26 13:06:36 +0100 | bitmagie | (~Thunderbi@200116b8065e3a00e0754dbe4af9ad6b.dip.versatel-1u1.de) |
2021-02-26 13:06:37 +0100 | usr25 | (~usr25@unaffiliated/usr25) |
2021-02-26 13:06:54 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 13:09:49 +0100 | bitmagie | (~Thunderbi@200116b8065e3a00e0754dbe4af9ad6b.dip.versatel-1u1.de) (Client Quit) |
2021-02-26 13:12:09 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-02-26 13:12:44 +0100 | bitmapper | (uid464869@gateway/web/irccloud.com/x-pcguwrpjphfcmwqk) |
2021-02-26 13:12:46 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 13:14:43 +0100 | thc202 | (~thc202@unaffiliated/thc202) |
2021-02-26 13:15:03 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-02-26 13:15:27 +0100 | fendor | (~fendor@178.115.128.24.wireless.dyn.drei.com) |
2021-02-26 13:19:45 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 264 seconds) |
2021-02-26 13:19:52 +0100 | bitmagie | (~Thunderbi@200116b8065e3a00e0754dbe4af9ad6b.dip.versatel-1u1.de) |
2021-02-26 13:21:04 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 13:23:07 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-02-26 13:23:28 +0100 | gzj | (~gzj@unaffiliated/gzj) |
2021-02-26 13:23:41 +0100 | bitmagie | (~Thunderbi@200116b8065e3a00e0754dbe4af9ad6b.dip.versatel-1u1.de) (Client Quit) |
2021-02-26 13:28:07 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-02-26 13:29:12 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 13:34:26 +0100 | Pickchea | (~private@unaffiliated/pickchea) (Quit: Leaving) |
2021-02-26 13:34:54 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-02-26 13:37:09 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 264 seconds) |
2021-02-26 13:39:34 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds) |
2021-02-26 13:39:50 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-02-26 13:40:33 +0100 | drbean_ | (~drbean@TC210-63-209-12.static.apol.com.tw) |
2021-02-26 13:40:55 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 13:41:41 +0100 | <Feuermagier> | I'm in an IO - function and I want to call another IO-function with an initial value- how do i do that? |
2021-02-26 13:41:53 +0100 | <Feuermagier> | i have f :: Integer -> IO () |
2021-02-26 13:42:03 +0100 | <Feuermagier> | and start :: IO |
2021-02-26 13:42:20 +0100 | <Feuermagier> | I want to call "f 0" |
2021-02-26 13:43:36 +0100 | <lortabac> | Feuermagier: start = f 0 |
2021-02-26 13:43:48 +0100 | <lortabac> | or did I misunderstand the question? |
2021-02-26 13:43:59 +0100 | <Feuermagier> | Couldn't match expected type `Integer -> IO ()' |
2021-02-26 13:43:59 +0100 | <Feuermagier> | with actual type `IO ()' |
2021-02-26 13:44:06 +0100 | mouseghost | (~draco@87-206-9-185.dynamic.chello.pl) |
2021-02-26 13:44:06 +0100 | mouseghost | (~draco@87-206-9-185.dynamic.chello.pl) (Changing host) |
2021-02-26 13:44:06 +0100 | mouseghost | (~draco@wikipedia/desperek) |
2021-02-26 13:44:18 +0100 | <Feuermagier> | I tried that, but it dislikes the type |
2021-02-26 13:44:45 +0100 | <lortabac> | can you paste your actual code somewhere? |
2021-02-26 13:45:05 +0100 | dirediresalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
2021-02-26 13:45:18 +0100 | <Feuermagier> | https://pastebin.com/rVSrUWZT |
2021-02-26 13:45:26 +0100 | dirediresalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
2021-02-26 13:46:06 +0100 | <lortabac> | there is a typo, vokalZaehler is calling itself instead of calling vokalZaehlerLoop |
2021-02-26 13:46:06 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-02-26 13:46:16 +0100 | <Feuermagier> | omg |
2021-02-26 13:46:18 +0100 | <Feuermagier> | thx |
2021-02-26 13:46:43 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 13:46:46 +0100 | <lortabac> | when the errors are too strange, it's generally a silly typo :) |
2021-02-26 13:49:58 +0100 | mananamenos | (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Ping timeout: 276 seconds) |
2021-02-26 13:50:20 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:b557:d49b:efe9:c5b5) |
2021-02-26 13:51:36 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-02-26 13:52:16 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 13:53:00 +0100 | kam1 | (~kam1@5.125.126.175) |
2021-02-26 13:53:18 +0100 | ddellacosta | (~ddellacos@86.106.143.32) |
2021-02-26 13:55:03 +0100 | ubert | (~Thunderbi@p200300ecdf25d992a0d2e31ed48a2cf4.dip0.t-ipconnect.de) |
2021-02-26 13:55:39 +0100 | kam1 | (~kam1@5.125.126.175) (Remote host closed the connection) |
2021-02-26 13:55:49 +0100 | mananamenos | (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) |
2021-02-26 13:56:21 +0100 | kam1 | (~kam1@5.125.126.175) |
2021-02-26 13:57:31 +0100 | peutetre | (~peutetre@185.163.110.108) |
2021-02-26 13:58:25 +0100 | ddellacosta | (~ddellacos@86.106.143.32) (Ping timeout: 276 seconds) |
2021-02-26 14:00:11 +0100 | mananamenos | (~mananamen@193.red-88-11-66.dynamicip.rima-tde.net) (Ping timeout: 256 seconds) |
2021-02-26 14:01:21 +0100 | supercoven | (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) |
2021-02-26 14:01:22 +0100 | supercoven | (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) (Max SendQ exceeded) |
2021-02-26 14:01:28 +0100 | emmanuel_erc | (~user@cpe-74-71-106-64.nyc.res.rr.com) |
2021-02-26 14:01:31 +0100 | <ski> | Feuermagier : needs more brackets in `countChar', and less in `count' |
2021-02-26 14:01:36 +0100 | supercoven | (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) |
2021-02-26 14:01:37 +0100 | supercoven | (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) (Max SendQ exceeded) |
2021-02-26 14:01:46 +0100 | <Feuermagier> | ski, yeah, fixed it already |
2021-02-26 14:01:51 +0100 | supercoven | (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) |
2021-02-26 14:01:57 +0100 | <ski> | also, what about `y' ? |
2021-02-26 14:02:26 +0100 | thc202 | (~thc202@unaffiliated/thc202) (Ping timeout: 264 seconds) |
2021-02-26 14:02:27 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-02-26 14:02:49 +0100 | <ski> | i guess it's sometimes considered a vowel, sometimes a consonant, in english. but in german, it's a vowel, right ? |
2021-02-26 14:03:00 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 14:04:04 +0100 | <boxscape> | ski that's typically how it's used, but only a, e, i, o, u are commonly called vowels in German |
2021-02-26 14:04:31 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:b557:d49b:efe9:c5b5) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 14:04:35 +0100 | urodna | (~urodna@unaffiliated/urodna) |
2021-02-26 14:04:58 +0100 | <Feuermagier> | exactly |
2021-02-26 14:05:11 +0100 | <ski> | hm, i suppose `ä',`ö',`ü' are considered as versions of `a',`o',`u' |
2021-02-26 14:05:13 +0100 | thc202 | (~thc202@unaffiliated/thc202) |
2021-02-26 14:05:26 +0100 | <boxscape> | (looking it up, the more precise statement is that the sound usually represented by y is a vowel but only a e i o u are "vowel letters") |
2021-02-26 14:05:57 +0100 | <ski> | (that's not the case in swedish, though) |
2021-02-26 14:06:03 +0100 | <boxscape> | interesting |
2021-02-26 14:06:33 +0100 | <ski> | `å',`ä',`ö' are considered separate letters from `a' and `o' |
2021-02-26 14:06:54 +0100 | <Feuermagier> | ä ö ü are as well |
2021-02-26 14:06:59 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 14:07:02 +0100 | <ski> | (sorted separately (at the end of the alphabet), in dictionaries) |
2021-02-26 14:07:07 +0100 | <brkscnce> | hey, does anyone know why all(inRange (0,7)) (1,9) is False, but all(inRange (0,7) (9,1) resolves to True? |
2021-02-26 14:07:13 +0100 | <Feuermagier> | they are not in the alphabet here at all |
2021-02-26 14:07:20 +0100 | <boxscape> | yeah in German a and ä are interspersed in the dictionary |
2021-02-26 14:07:25 +0100 | <ski> | right |
2021-02-26 14:07:47 +0100 | thorsten` | (~Thorsten@ananke.uberspace.de) ("WeeChat 2.7.1") |
2021-02-26 14:08:19 +0100 | <Feuermagier> | often they are seen as equivalent to ae, oe, ue - often they get written that way as well. especially handy when you want to avoid localised font |
2021-02-26 14:08:20 +0100 | <ski> | brkscnce : because `Foldable' for tuples only considers the last component as an "element" |
2021-02-26 14:08:20 +0100 | totoro2021 | (~t@unaffiliated/totoro2021) (Quit: WeeChat 2.7.1) |
2021-02-26 14:08:50 +0100 | <brkscnce> | ah, that explains it |
2021-02-26 14:09:22 +0100 | <ski> | > length (1,9) |
2021-02-26 14:09:24 +0100 | <lambdabot> | 1 |
2021-02-26 14:09:31 +0100 | <ski> | > sum (1,9) |
2021-02-26 14:09:33 +0100 | <lambdabot> | 9 |
2021-02-26 14:09:47 +0100 | <merijn> | ski: Also language dependendent |
2021-02-26 14:10:03 +0100 | <ski> | merijn : yes, goes without saying ? |
2021-02-26 14:10:08 +0100 | <merijn> | (the effect of diaeresis on vowels) |
2021-02-26 14:10:09 +0100 | <brkscnce> | interesting |
2021-02-26 14:10:45 +0100 | ezrakilty | (~ezrakilty@97-113-55-149.tukw.qwest.net) |
2021-02-26 14:10:47 +0100 | <merijn> | brkscnce: It makes sense when you consider "Foldable :: (* -> *) -> Constraint" i.e. foldable types take one argument |
2021-02-26 14:11:13 +0100 | <merijn> | brkscnce: So if we rewrite (a, b) into prefix style "(,) a b", then only "(,) a" could be Foldable |
2021-02-26 14:11:16 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2021-02-26 14:11:49 +0100 | <brkscnce> | haskell tuples are weird |
2021-02-26 14:12:00 +0100 | <merijn> | How so? |
2021-02-26 14:12:01 +0100 | <ski> | brkscnce : it's because of different components of tuples can have different types. and these types are parameters of the type constructor for the tuple type. only the last type parameter can effectively be subject to `Foldable' (and `Traversable'), by partially applying the tuple type constructor to the previous type parameters |
2021-02-26 14:12:01 +0100 | <brkscnce> | they probably make a lot of sense, just not used to them yet |
2021-02-26 14:12:32 +0100 | <merijn> | brkscnce: It makes sense when you stop considering them as "sequences of things" as they are in, for example, python |
2021-02-26 14:12:42 +0100 | <brkscnce> | yup |
2021-02-26 14:12:43 +0100 | <ski> | so, you have `Foldable ((,) a)' which means that in a value of type `(,) a b', only the component of type `b' will be folded |
2021-02-26 14:13:09 +0100 | <ski> | for triples, it'd be `Foldable ((,,) a b)' folding over `c' in `(,,) a b c' |
2021-02-26 14:13:53 +0100 | <brkscnce> | i mean i started writing haskell 2 days ago, probably going to take a bit until I get it down |
2021-02-26 14:14:51 +0100 | <ski> | yea, tuples are heterogenous "aggregates" of some definite number of values (that therefore can have differing types. for a give tuple type, the value at the same position always has the same type) |
2021-02-26 14:15:08 +0100 | <brkscnce> | makes sense |
2021-02-26 14:15:08 +0100 | <ski> | while lists are homogenous collections of varying length |
2021-02-26 14:15:28 +0100 | <ski> | (homogenous meaning that every element has the same type) |
2021-02-26 14:15:38 +0100 | hpc_ | hpc |
2021-02-26 14:15:55 +0100 | <brkscnce> | took me a second, but i was able to parse that sentence still |
2021-02-26 14:15:58 +0100 | ezrakilty | (~ezrakilty@97-113-55-149.tukw.qwest.net) (Ping timeout: 276 seconds) |
2021-02-26 14:16:00 +0100 | <ski> | conceptually, these two cases are rather different. you'd handle them differently, in code |
2021-02-26 14:16:02 +0100 | <merijn> | ski: something, something, Dynamic ;) *ducks* |
2021-02-26 14:16:18 +0100 | <brkscnce> | haskell talk does seem a lot more mathy than python talk |
2021-02-26 14:16:37 +0100 | gienah | (~mwright@gentoo/developer/gienah) |
2021-02-26 14:17:04 +0100 | <ski> | for a varying-length thing, normally you want to "do the same thing to every element" (that might be something slightly complex, like "if it's at an even index, do this; otherwise (odd index), do that") |
2021-02-26 14:17:05 +0100 | <merijn> | That's because there's lots of good maths to steal ;) |
2021-02-26 14:17:12 +0100 | berberman_ | (~berberman@unaffiliated/berberman) |
2021-02-26 14:17:14 +0100 | pera | (~pera@unaffiliated/pera) (Quit: leaving) |
2021-02-26 14:17:15 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
2021-02-26 14:17:26 +0100 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 240 seconds) |
2021-02-26 14:17:33 +0100 | Deide | (~Deide@217.155.19.23) |
2021-02-26 14:17:37 +0100 | <brkscnce> | yeah, I mean I'm really just using them for array indexing |
2021-02-26 14:17:59 +0100 | <brkscnce> | so I need to generate series of them |
2021-02-26 14:18:06 +0100 | <ski> | there are cases where one wants a varying-length sequence of elements not all of the same type. but this is comparatively rare. and normally, there's some definite pattern between the types, even in this cases |
2021-02-26 14:18:40 +0100 | <merijn> | > (,) <$> [0..5] <*> [0..5] -- something like that? :p |
2021-02-26 14:18:41 +0100 | <lambdabot> | [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(2,... |
2021-02-26 14:18:42 +0100 | mayleesia | (4dbf5b8f@x4dbf5b8f.dyn.telefonica.de) |
2021-02-26 14:18:48 +0100 | <ski> | e.g. you might want a sequence, where the first element contains one object, the next contains two objects, the next contains three objects, and so on |
2021-02-26 14:18:57 +0100 | <brkscnce> | yup |
2021-02-26 14:19:12 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:bcbc:e9c6:2795:e9ee) |
2021-02-26 14:19:19 +0100 | <ski> | or perhaps the first contains one, next one contains two, next one contains four, next eight .. doubling every time |
2021-02-26 14:19:21 +0100 | <brkscnce> | actually that's quite neat, did not see the <> operators before |
2021-02-26 14:19:32 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-02-26 14:19:36 +0100 | <brkscnce> | have to check out what those do |
2021-02-26 14:19:38 +0100 | <merijn> | brkscnce: <$> is just fmap as operator |
2021-02-26 14:19:45 +0100 | <boxscape> | brkscnce you'll learn about them once you learn about the Applicative class |
2021-02-26 14:19:53 +0100 | <ski> | you can do these in Haskell, too, if you want to. but you'd have to make a custom sequence type for that particular use-case, can't use the regular homogenous lists |
2021-02-26 14:20:09 +0100 | <merijn> | brkscnce: <*> is from Applicative, which, for lists, does cartesian product (speaking of mathy >.>) |
2021-02-26 14:20:28 +0100 | <ski> | > liftA2 (,) [0 .. 3] [0 .. 2] |
2021-02-26 14:20:29 +0100 | <lambdabot> | [(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2),(3,0),(3,1),(3,2)] |
2021-02-26 14:20:46 +0100 | <ski> | > [(x,y) | x <- [0 .. 3],y <- [0 .. 2]] |
2021-02-26 14:20:48 +0100 | <lambdabot> | [(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2),(3,0),(3,1),(3,2)] |
2021-02-26 14:20:49 +0100 | <brkscnce> | I mean I'm honestly enjoying haskell so far |
2021-02-26 14:20:56 +0100 | deja | (~deja@212095008174.public.telering.at) (Quit: requested) |
2021-02-26 14:21:04 +0100 | <ski> | > [(x,y) | x <- [0 .. 3],y <- [0 .. x]] |
2021-02-26 14:21:05 +0100 | <lambdabot> | [(0,0),(1,0),(1,1),(2,0),(2,1),(2,2),(3,0),(3,1),(3,2),(3,3)] |
2021-02-26 14:21:23 +0100 | deja | (~deja@212095008174.public.telering.at) |
2021-02-26 14:21:25 +0100 | <merijn> | brkscnce: Occasional sensation of brains melting out of ears is considered expected behaviour ;) |
2021-02-26 14:21:40 +0100 | <ski> | > do x <- [0 .. 3]; y <- [0 .. x]; return (x,y) |
2021-02-26 14:21:41 +0100 | <lambdabot> | [(0,0),(1,0),(1,1),(2,0),(2,1),(2,2),(3,0),(3,1),(3,2),(3,3)] |
2021-02-26 14:21:56 +0100 | geekosaur | (82650c7a@130.101.12.122) |
2021-02-26 14:21:58 +0100 | <ski> | @quote is.the.solution |
2021-02-26 14:21:58 +0100 | <lambdabot> | quicksilver says: head-explosion is the solution, not the problem. |
2021-02-26 14:22:04 +0100 | <merijn> | Not sure 50 variations of tupling lists will add much ;) |
2021-02-26 14:22:10 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:bcbc:e9c6:2795:e9ee) (Client Quit) |
2021-02-26 14:22:12 +0100 | <brkscnce> | I feel like it's just been constantly broiling since I've started |
2021-02-26 14:22:57 +0100 | lemmih | (~lemmih@2406:3003:2072:44:d8ed:96e9:a19d:e53b) |
2021-02-26 14:23:16 +0100 | <swarmcollective> | Once you get used to the predictability of pure functions, it will balance out (at least in my experience). And that is wonderful. |
2021-02-26 14:23:44 +0100 | <brkscnce> | there's also like so many ways to skin a cat here |
2021-02-26 14:24:07 +0100 | <ski> | different approaches can be good in differing circumstances |
2021-02-26 14:24:10 +0100 | <dminuoso> | brkscnce: That's programming. In Haskell we just have a larger plethora of tools and combinators. :) |
2021-02-26 14:24:12 +0100 | <brkscnce> | i mean I mostly write python, which is very "this is the way you skin these cats" |
2021-02-26 14:24:17 +0100 | <ski> | and there's room for variation, and for style and taste |
2021-02-26 14:25:19 +0100 | <ski> | part of the point here is that it's usually relatively easy (at least compared to many other languages) to refactor some piece of code, step by step, by reformulating things successively |
2021-02-26 14:26:01 +0100 | <ski> | without "multiple (slightly different, with different pros and cons) ways to do the same thing", that would presumably be harder |
2021-02-26 14:26:07 +0100 | <brkscnce> | yeah, it does feel a lot more fluid |
2021-02-26 14:26:15 +0100 | <boxscape> | yeah python has "there's only one obvious way to do things" as one of its mantras, doesn't it |
2021-02-26 14:26:29 +0100 | <brkscnce> | indeed, it's part of the Zen of Python |
2021-02-26 14:26:47 +0100 | <ski> | if the alternatives are more or less completely functionally equivalent, then there's not much point, agreed |
2021-02-26 14:26:49 +0100 | <merijn> | brkscnce: Ironically, over time they are breaking their Zen more and more ;) |
2021-02-26 14:26:57 +0100 | deja | (~deja@212095008174.public.telering.at) (Quit: requested) |
2021-02-26 14:27:04 +0100 | <merijn> | *Especially* "explicit is better than implicit" |
2021-02-26 14:27:07 +0100 | <ski> | merijn : probably for good reason |
2021-02-26 14:27:23 +0100 | <merijn> | ski: tbh, the Zen of Python has some sensible stuff |
2021-02-26 14:27:41 +0100 | <xsperry> | > zip [0..3] [0..2] -- the most obvious (and boring) version |
2021-02-26 14:27:43 +0100 | <lambdabot> | [(0,0),(1,1),(2,2)] |
2021-02-26 14:27:45 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
2021-02-26 14:27:53 +0100 | <merijn> | xsperry: That does something different |
2021-02-26 14:27:57 +0100 | <ski> | "explicit is better than implicit" sounds like a thing that one ought to say "it depends" to |
2021-02-26 14:27:58 +0100 | <__minoru__shirae> | brkscnce: why would a beginner use tuples as foldables though? |
2021-02-26 14:28:01 +0100 | xff0x | (~xff0x@port-92-195-110-249.dynamic.as20676.net) (Ping timeout: 256 seconds) |
2021-02-26 14:28:15 +0100 | <xsperry> | uh, yeah I wasn't paying attention |
2021-02-26 14:28:32 +0100 | <brkscnce> | trying to write a chess move generator, so I'm storing the board as an array |
2021-02-26 14:28:35 +0100 | <boxscape> | __minoru__shirae because a lot of methods that encode very straightforward concepts require Foldable |
2021-02-26 14:28:45 +0100 | <brkscnce> | which seemed fine to me, since I'm not mutating it, and i'm checking all over |
2021-02-26 14:29:00 +0100 | <brkscnce> | so having nested lists seemed icky to me? |
2021-02-26 14:29:15 +0100 | <merijn> | brkscnce: Also, slow :p |
2021-02-26 14:29:23 +0100 | <ski> | beginners can easily conflate the "heterogenous, definite size" with the "homogenous, indefinite size" aggregates, coming from a language that doesn't that clearly emphasize the distinction |
2021-02-26 14:29:24 +0100 | <brkscnce> | yup, O(n) over and over |
2021-02-26 14:29:30 +0100 | <merijn> | brkscnce: Nested lists are a mess. They're slow, might have inconsistent dimensions, etc. |
2021-02-26 14:29:38 +0100 | <merijn> | Array is much better |
2021-02-26 14:29:47 +0100 | <boxscape> | tbf it's actually O(8) in both dimensions making it O(1) :P |
2021-02-26 14:29:48 +0100 | <brkscnce> | hence the (0,0)(7,7) array |
2021-02-26 14:29:53 +0100 | _noblegas | (uid91066@gateway/web/irccloud.com/x-koxpwnnitfybavxb) (Quit: Connection closed for inactivity) |
2021-02-26 14:29:54 +0100 | <ski> | brkscnce : two-dimensional array ? |
2021-02-26 14:29:55 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-02-26 14:30:03 +0100 | <brkscnce> | for the board, yeah |
2021-02-26 14:30:07 +0100 | <__minoru__shirae> | boxscape: I mean there should be an alternative, more beginner-friendly way of doing things than using tuples as foldables |
2021-02-26 14:30:07 +0100 | <merijn> | brkscnce: Alternatively, you could have gone for "Map (Int, Int) Square", but for something as tiny as a chessboard it doesn't matter much |
2021-02-26 14:30:46 +0100 | <merijn> | brkscnce: FYI, Array isn't limited to either 0 indexing nor integral indexing |
2021-02-26 14:31:15 +0100 | <merijn> | brkscnce: You could, hypothetically, use an array that's indexed via, say (H, 5) :p |
2021-02-26 14:31:23 +0100 | <ski> | you could make an enumeration type for the chess rows, and one for the chess columns, and index with those |
2021-02-26 14:31:31 +0100 | <ski> | yea |
2021-02-26 14:31:34 +0100 | <brkscnce> | right, because tuple indexes |
2021-02-26 14:31:43 +0100 | <brkscnce> | and tuples being heterogenous |
2021-02-26 14:31:47 +0100 | <ski> | (more specifically, the index types needs to be instances of `Ix') |
2021-02-26 14:31:50 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-ozhkekfvbfssrzmb) |
2021-02-26 14:31:54 +0100 | <merijn> | brkscnce: Well, the real trick is that it indexes via Ix |
2021-02-26 14:32:03 +0100 | <merijn> | brkscnce: And you can provide custom instances for that |
2021-02-26 14:32:13 +0100 | <merijn> | (Which tuples have) |
2021-02-26 14:32:34 +0100 | <boxscape> | hm does [Int] have an Ix instance |
2021-02-26 14:32:48 +0100 | deja | (~deja@212095008174.public.telering.at) |
2021-02-26 14:32:48 +0100 | <brkscnce> | should have, right? |
2021-02-26 14:32:53 +0100 | <merijn> | Specifically "instance (Ix a, Ix b) => Ix (a, b)" (i.e. tuples are indexable if their components are) |
2021-02-26 14:32:56 +0100 | <boxscape> | % range ([1,2], [3,4]) |
2021-02-26 14:32:57 +0100 | <yahb> | boxscape: ; <interactive>:55:1: error:; * No instance for (Ix [Integer]) arising from a use of `it'; * In the first argument of `print', namely `it'; In a stmt of an interactive GHCi command: print it |
2021-02-26 14:32:59 +0100 | <ski> | @let data Column = A | B | C | D | E | F | G | H deriving (Show,Read,Eq,Ord,Bounded,Enum,Ix) |
2021-02-26 14:32:59 +0100 | <boxscape> | nope |
2021-02-26 14:33:01 +0100 | <lambdabot> | Defined. |
2021-02-26 14:33:11 +0100 | <boxscape> | (well, that was [Integer] not [Int], but close enough) |
2021-02-26 14:33:29 +0100 | <merijn> | ski: Should have a bounded newtype with smart constructor for the column ;) |
2021-02-26 14:33:31 +0100 | usr25 | (~usr25@unaffiliated/usr25) (Ping timeout: 276 seconds) |
2021-02-26 14:33:55 +0100 | ski | forgets whether it's columns or rows that are lettered |
2021-02-26 14:34:04 +0100 | <boxscape> | you mean ranks or files :P |
2021-02-26 14:34:15 +0100 | <ski> | ty, that's better :) |
2021-02-26 14:35:06 +0100 | dyeplexer | (~lol@unaffiliated/terpin) |
2021-02-26 14:35:11 +0100 | <merijn> | So far today's "lets overcomplicate things" session ;) |
2021-02-26 14:35:21 +0100 | ski | grins |
2021-02-26 14:35:28 +0100 | <brkscnce> | hrm, that looks very clean, but at the same time, I think I'd probably need to define something to add a number to a rank, which seems like extra work |
2021-02-26 14:35:56 +0100 | <brkscnce> | like A + 2 or B - 1 |
2021-02-26 14:36:18 +0100 | <merijn> | "offsetRank :: Rank -> Int -> Maybe Rank" ;) |
2021-02-26 14:36:38 +0100 | <merijn> | (or file, whatever) |
2021-02-26 14:36:55 +0100 | <merijn> | brkscnce: You can go quite far with that, but whether it's worth the effort right now is...debatable :) |
2021-02-26 14:37:12 +0100 | <ski> | > (toEnum . pred . fromEnum :: Column -> Column) C |
2021-02-26 14:37:14 +0100 | <lambdabot> | B |
2021-02-26 14:37:22 +0100 | <boxscape> | > (toEnum . pred . fromEnum :: Column -> Column) A |
2021-02-26 14:37:24 +0100 | <lambdabot> | *Exception: toEnum{Column}: tag (-1) is outside of enumeration's range (0,7) |
2021-02-26 14:37:28 +0100 | <boxscape> | partial :( |
2021-02-26 14:37:29 +0100 | <merijn> | ski: You...probably don't want wrap around for a chess board :p |
2021-02-26 14:37:31 +0100 | <brkscnce> | I mean the letter representations really only come back up when I'm converting the position tuples back to string moves |
2021-02-26 14:37:46 +0100 | <brkscnce> | only if you're playing moebius chess |
2021-02-26 14:37:53 +0100 | <ski> | no wrap |
2021-02-26 14:37:58 +0100 | <boxscape> | ooh or klein bottle chess |
2021-02-26 14:37:58 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) |
2021-02-26 14:38:56 +0100 | <brkscnce> | right now I'm just doing posToString (x,y) = ['a'..'h'] !! x .. ['1'..'8'] !! y |
2021-02-26 14:39:05 +0100 | totoro2021 | (~t@unaffiliated/totoro2021) |
2021-02-26 14:39:06 +0100 | <brkscnce> | which seems sufficient |
2021-02-26 14:39:26 +0100 | <boxscape> | brkscnce the nice thing about the letter representation is that you're guaranteed to only have valid indices, since you can't even generate an index like (4,9) |
2021-02-26 14:39:39 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) (Client Quit) |
2021-02-26 14:39:40 +0100 | <brkscnce> | hrm, yeah |
2021-02-26 14:39:45 +0100 | <boxscape> | though as merijn said "whether it's worth it is debateable" |
2021-02-26 14:39:48 +0100 | <merijn> | boxscape: Supporting the numbered index is awkward, though |
2021-02-26 14:39:49 +0100 | coot | (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2021-02-26 14:39:52 +0100 | <boxscape> | yes |
2021-02-26 14:40:01 +0100 | z0k | (~user@115-186-141-91.nayatel.pk) (Ping timeout: 276 seconds) |
2021-02-26 14:40:05 +0100 | <merijn> | You'd have to newtype + smart constructor and before you know it you're in funky town ;) |
2021-02-26 14:40:07 +0100 | <brkscnce> | right now I'm using a filter function to try to restrict the generated ranges |
2021-02-26 14:40:18 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:c8ae:4c2c:c3c0:6062:2fc9) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 14:40:48 +0100 | coot | (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) |
2021-02-26 14:40:49 +0100 | <brkscnce> | which is where that fold problem popped up, since I was trying to do takeBounded = takeWhile $ all $ inRange (0,7) |
2021-02-26 14:40:49 +0100 | <boxscape> | merijn could also go directly to funkytown with Fin (S (S (S (S (S (S (S (S Z)))))))) :) |
2021-02-26 14:40:59 +0100 | Tario | (~Tario@201.192.165.173) |
2021-02-26 14:41:05 +0100 | <boxscape> | (actually 7 Ss, not 8) |
2021-02-26 14:41:13 +0100 | <boxscape> | no, 8 |
2021-02-26 14:41:30 +0100 | <ski> | off-by-one, here we come ! :) |
2021-02-26 14:42:51 +0100 | <ski> | brkscnce : i'd use brackets there |
2021-02-26 14:43:13 +0100 | <brkscnce> | for style reasons, or danger reasons? |
2021-02-26 14:43:45 +0100 | sm2n | (~sm2n@bras-base-hmtnon1497w-grc-43-64-231-95-247.dsl.bell.ca) (Ping timeout: 264 seconds) |
2021-02-26 14:43:46 +0100 | <ski> | style. `$' is ugly, i generally try to use it as little as possible .. with only a few exceptions |
2021-02-26 14:43:49 +0100 | <boxscape> | how much $ is being used differs from code base to code base |
2021-02-26 14:44:43 +0100 | <brkscnce> | I did read a page saying it was controversial |
2021-02-26 14:44:50 +0100 | <ski> | at least `takeWhile . all . inRange $ (0,7)' would probably look nicer (and, imho, `(takeWhile . all . inRange) (0,7)', moreso). but there's nothing wrong with `takeWhile (all (inRange (0,7)))', either |
2021-02-26 14:45:23 +0100 | <brkscnce> | right, the . for function composition, might change it to that |
2021-02-26 14:45:40 +0100 | <brkscnce> | because that's more what I'm trying to say there |
2021-02-26 14:45:42 +0100 | <merijn> | boxscape: Chess in typeclasses on the type level :p |
2021-02-26 14:45:47 +0100 | <merijn> | I'm sure Oleg has done that |
2021-02-26 14:45:52 +0100 | coot | (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 276 seconds) |
2021-02-26 14:46:10 +0100 | coot | (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) |
2021-02-26 14:46:11 +0100 | coot | (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2021-02-26 14:46:14 +0100 | <boxscape> | merijn hm reminds me of the blog post about the 8 queens problem in classes |
2021-02-26 14:46:15 +0100 | <merijn> | You want "inRange ((0,0), (7,7))", no? |
2021-02-26 14:46:29 +0100 | <ski> | it's generally a good habit to replace `foo $ bar $ baz $ quux $ blah' by `foo . bar . baz . quux $ blah' (or `(foo . bar . baz . quux) blah' or `foo (bar (baz (quux blah)))') |
2021-02-26 14:46:30 +0100 | <merijn> | > inRange ((0,0),(7,7) (0,9) |
2021-02-26 14:46:32 +0100 | <lambdabot> | <hint>:1:27: error: |
2021-02-26 14:46:32 +0100 | <lambdabot> | <hint>:1:27: error: |
2021-02-26 14:46:32 +0100 | <lambdabot> | parse error (possibly incorrect indentation or mismatched brackets) |
2021-02-26 14:46:37 +0100 | <merijn> | > inRange ((0,0),(7,7)) (0,9) |
2021-02-26 14:46:38 +0100 | <lambdabot> | False |
2021-02-26 14:46:44 +0100 | <merijn> | > inRange ((0,0),(7,7)) (3,5) |
2021-02-26 14:46:46 +0100 | <lambdabot> | True |
2021-02-26 14:46:48 +0100 | <brkscnce> | oh, I can do that? |
2021-02-26 14:46:52 +0100 | <ski> | sure |
2021-02-26 14:46:55 +0100 | <merijn> | :t inRange |
2021-02-26 14:46:56 +0100 | <lambdabot> | Ix a => (a, a) -> a -> Bool |
2021-02-26 14:47:01 +0100 | <boxscape> | (i.e. https://aphyr.com/posts/342-typing-the-technical-interview ) |
2021-02-26 14:47:16 +0100 | <merijn> | brkscnce: tuples are Ix instances, so yes :) |
2021-02-26 14:47:24 +0100 | <ski> | `a' there is the index type. in this case, it's type of pairs of rank and file indices |
2021-02-26 14:47:25 +0100 | <brkscnce> | well, that makes my function redundant, that's great |
2021-02-26 14:48:25 +0100 | drbean_ | (~drbean@TC210-63-209-12.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in) |
2021-02-26 14:49:03 +0100 | <brkscnce> | oh, also, i guess a style question, if I'm taking an input string, and doing things to it until its in the form I'd like it to be, and I do not care about intermediary results, would I pack all of that processing into a where? |
2021-02-26 14:49:09 +0100 | <ski> | brkscnce : in `foo . bar . baz . quux', you could break/factor out any composition subsequence into its own definition, and vice versa. not so with the `$' version |
2021-02-26 14:49:42 +0100 | <ski> | brkscnce : you could use `<$>', possibly |
2021-02-26 14:50:13 +0100 | <brkscnce> | for composition or string processing? |
2021-02-26 14:50:17 +0100 | <ski> | `where' can not access your local variable inside `do', unless the `where' is inside the `do' as well (which is usually not what happens. you'll know if you do this) |
2021-02-26 14:50:33 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 14:50:51 +0100 | <merijn> | brkscnce: "It Depends (TM)" ;) |
2021-02-26 14:50:58 +0100 | <ski> | myResult <- (finalProcess . moreProcess . initialProcess) <$> readLn |
2021-02-26 14:51:09 +0100 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-02-26 14:51:18 +0100 | <ski> | however, if you want to catch parse errors and the like, you may want to break that up |
2021-02-26 14:52:25 +0100 | <brkscnce> | I think catching fire on malformed input is fine and preferred for this script |
2021-02-26 14:52:44 +0100 | <ski> | (i guess those brackets are redundant) |
2021-02-26 14:53:15 +0100 | <brkscnce> | you'd use those if you're doing (f . g . h) (x), right? |
2021-02-26 14:53:40 +0100 | <xsperry> | (f . g . h) x works too |
2021-02-26 14:53:43 +0100 | ski | would |
2021-02-26 14:54:00 +0100 | <merijn> | xsperry: Depends on if 'x' is a variable or a meta-variable ;) |
2021-02-26 14:54:02 +0100 | <ski> | in general, `x' might be a non-atomic expression |
2021-02-26 14:54:23 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0.1) |
2021-02-26 14:54:36 +0100 | ski | . o O ( meta all the variables ! ) |
2021-02-26 14:55:11 +0100 | sm2n | (~sm2n@bras-base-hmtnon1497w-grc-43-64-231-95-247.dsl.bell.ca) |
2021-02-26 14:55:17 +0100 | <brkscnce> | also, another thing I have yet to find a good example for, how would you split one value into several variables cleanly? |
2021-02-26 14:55:28 +0100 | <brkscnce> | if the calculation of those variables shares processing |
2021-02-26 14:55:47 +0100 | <ski> | return a tuple (or a list) is a common choice |
2021-02-26 14:56:05 +0100 | <brkscnce> | so (x,y) = expression is fine? |
2021-02-26 14:56:15 +0100 | <ski> | > let (front,back) = splitAt 2 "fubar" in back ++ front |
2021-02-26 14:56:16 +0100 | <lambdabot> | "barfu" |
2021-02-26 14:56:18 +0100 | <ski> | yes |
2021-02-26 14:56:53 +0100 | <brkscnce> | right, just seemed like the kind of thing where it's either totally fine or I'm committing a grave sin, and I will be shamed for it |
2021-02-26 14:57:22 +0100 | <Taneb> | This one's at the "totally find" end |
2021-02-26 14:57:28 +0100 | <ski> | sometimes you'll want to pass on those two parts directly to some other function, without having to name them |
2021-02-26 14:57:37 +0100 | <__minoru__shirae> | boxscape, hey, I searched aphyr! I heard that nickname in another language and didn't know how to spell it in english |
2021-02-26 14:57:47 +0100 | hendursa1 | (~weechat@gateway/tor-sasl/hendursaga) (Quit: hendursa1) |
2021-02-26 14:57:50 +0100 | <ski> | if that function accepts them curriedly, you could use `uncurry' on the function to be able to do this |
2021-02-26 14:58:15 +0100 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
2021-02-26 14:58:15 +0100 | <ski> | > (uncurry . flip) (++) (splitAt 2 "fubar") |
2021-02-26 14:58:17 +0100 | <lambdabot> | "barfu" |
2021-02-26 14:58:19 +0100 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) |
2021-02-26 14:58:55 +0100 | <brkscnce> | right, that's the one where you modify a function to take a tuple or reverse it |
2021-02-26 14:59:06 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2021-02-26 14:59:09 +0100 | <brkscnce> | which, honestly, very neat |
2021-02-26 14:59:20 +0100 | <ski> | yea, `uncurry' makes it take a pair, and then feeds the two components of that pair to the original function |
2021-02-26 14:59:27 +0100 | <ski> | `curry' does the opposite thing |
2021-02-26 14:59:31 +0100 | <merijn> | brkscnce: It also depends how complex your splitting is :p |
2021-02-26 14:59:41 +0100 | <boxscape> | __minoru__shirae judging by your nickname, did you hear it in Japanese? |
2021-02-26 14:59:44 +0100 | <merijn> | brkscnce: At some point the answer just becomes "write a proper parser" :p |
2021-02-26 15:00:00 +0100 | <ski> | for more complicated cases, it's probably a better idea to name things, rather than attempting to juggle them, unnamed |
2021-02-26 15:00:15 +0100 | <__minoru__shirae> | boxscape, no I heard it in a podcast in russian |
2021-02-26 15:00:22 +0100 | <boxscape> | ah, got it |
2021-02-26 15:02:34 +0100 | <brkscnce> | https://paste.tomsmeding.com/cAOk5jxp I mean this is roughly my two attempts at it so far |
2021-02-26 15:04:28 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:c8ae:4c2c:c3c0:6062:2fc9) |
2021-02-26 15:04:31 +0100 | <brkscnce> | in the first I'm taking the string through various intermediary values, In the second I try to compose things a bit more, tuck away some of the intermediary functions |
2021-02-26 15:04:35 +0100 | <ski> | [boardRaw,player2] = words testString -- ? |
2021-02-26 15:04:37 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-02-26 15:05:27 +0100 | <brkscnce> | right, that works |
2021-02-26 15:05:52 +0100 | petersen | (~petersen@redhat/juhp) |
2021-02-26 15:06:05 +0100 | <brkscnce> | didn't even think of that, i can pattern match lists, right |
2021-02-26 15:06:13 +0100 | <ski> | numToSpc n = replicate ' ' |
2021-02-26 15:06:31 +0100 | <ski> | @src replicate |
2021-02-26 15:06:32 +0100 | <lambdabot> | replicate n x = take n (repeat x) |
2021-02-26 15:06:46 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-02-26 15:07:10 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 15:07:33 +0100 | <ski> | `read [cha]' could be `digitToInt cha' |
2021-02-26 15:07:38 +0100 | jacks2 | (~bc8134e3@217.29.117.252) |
2021-02-26 15:08:24 +0100 | <jacks2> | you can pattern match many things, including data of types you created |
2021-02-26 15:08:51 +0100 | <ski> | concatMap f xs = concat (map f xs) |
2021-02-26 15:08:53 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:bcbc:e9c6:2795:e9ee) |
2021-02-26 15:08:57 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 264 seconds) |
2021-02-26 15:08:58 +0100 | <brkscnce> | yeah, I keep thinking about it too much like pythons tuple unpacking |
2021-02-26 15:10:00 +0100 | <ski> | why `init' in `boardSpc' ? |
2021-02-26 15:11:04 +0100 | usr25 | (~usr25@unaffiliated/usr25) |
2021-02-26 15:11:44 +0100 | <brkscnce> | it's a chess variation with a depot marked down as a 9th rank, so the last element needs to be removed |
2021-02-26 15:11:49 +0100 | <ski> | boardArr = array ((0,0),(7,7)) [((x,y),val) | (y,row) <- zip [0 ..] boardSpc,(x,val) <- zip [0 ..] row] |
2021-02-26 15:11:53 +0100 | <ski> | if you define |
2021-02-26 15:12:16 +0100 | <ski> | tabulate ix f = listArray ix [f i | i <- range ix] |
2021-02-26 15:12:17 +0100 | deviantfero | (~deviantfe@190.150.27.58) |
2021-02-26 15:12:26 +0100 | <ski> | then you could say |
2021-02-26 15:13:15 +0100 | ezrakilty | (~ezrakilty@97-113-55-149.tukw.qwest.net) |
2021-02-26 15:13:52 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr) |
2021-02-26 15:13:53 +0100 | ezrakilty | (~ezrakilty@97-113-55-149.tukw.qwest.net) (Read error: Connection reset by peer) |
2021-02-26 15:14:28 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 276 seconds) |
2021-02-26 15:14:39 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:c8ae:4c2c:c3c0:6062:2fc9) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 15:15:00 +0100 | <ski> | well, i guess it doesn't make much sense in this case to us `tabulate ((0,0),(7,7)) (\(x,y) -> ..x..y..)' |
2021-02-26 15:15:19 +0100 | <ski> | boardArr = listArray ((0,0),(7,7)) boardSpc -- i think |
2021-02-26 15:15:26 +0100 | thc202 | (~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds) |
2021-02-26 15:15:46 +0100 | <ski> | > range ((0,0),(2,1)) |
2021-02-26 15:15:48 +0100 | <lambdabot> | [(0,0),(0,1),(1,0),(1,1),(2,0),(2,1)] |
2021-02-26 15:16:29 +0100 | <ski> | ah, so it'd be `(y,x)', not `(x,y)', when indexing, if you use the standard ordering |
2021-02-26 15:16:51 +0100 | thc202 | (~thc202@unaffiliated/thc202) |
2021-02-26 15:16:57 +0100 | carlomagno | (~cararell@148.87.23.6) |
2021-02-26 15:16:58 +0100 | <brkscnce> | so curses indexing |
2021-02-26 15:17:18 +0100 | <ski> | (oh, guess you also need `(concat boardSpc)', not just `boardSpc') |
2021-02-26 15:17:24 +0100 | ezrakilt_ | (~ezrakilty@97-113-55-149.tukw.qwest.net) |
2021-02-26 15:17:31 +0100 | <ski> | yea .. so might not be worth it |
2021-02-26 15:17:37 +0100 | <brkscnce> | but that might actually work out, since the elements in the outer list are ranks |
2021-02-26 15:17:50 +0100 | <zmagii> | When aphyr said he has a Mastodon for leather, I kind of thought for leather craft... eh. |
2021-02-26 15:17:52 +0100 | <brkscnce> | so y is ranks, x is files |
2021-02-26 15:18:16 +0100 | <ski> | (that tells me nothing, not being familiar with the terms "rank" and "file") |
2021-02-26 15:19:17 +0100 | <brkscnce> | ah, chess ranks are the rows of the board, and files are the columns |
2021-02-26 15:19:27 +0100 | <ski> | i'd definitely avoid the `concat' on the list comprehension, though |
2021-02-26 15:19:53 +0100 | <ski> | ok |
2021-02-26 15:21:30 +0100 | <brkscnce> | hrm, so I could do array ((0,0), (7,7)) (zip (range((0,0), (7,7))) (concat boardSpc)) |
2021-02-26 15:21:36 +0100 | ezrakilt_ | (~ezrakilty@97-113-55-149.tukw.qwest.net) (Ping timeout: 240 seconds) |
2021-02-26 15:22:02 +0100 | <ski> | or just use `listArray' ? |
2021-02-26 15:22:28 +0100 | ezrakilty | (~ezrakilty@97-113-55-149.tukw.qwest.net) |
2021-02-26 15:22:28 +0100 | <ski> | (it uses the `Ix' ordering of the elements) |
2021-02-26 15:22:37 +0100 | Chai-T-Rex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
2021-02-26 15:22:51 +0100 | <ski> | > listArray ((0,0),(2,1)) "abcdef" |
2021-02-26 15:22:53 +0100 | <lambdabot> | array ((0,0),(2,1)) [((0,0),'a'),((0,1),'b'),((1,0),'c'),((1,1),'d'),((2,0),... |
2021-02-26 15:23:06 +0100 | <brkscnce> | ah, right, didn't initally get what that function did |
2021-02-26 15:23:26 +0100 | ezrakilty | (~ezrakilty@97-113-55-149.tukw.qwest.net) (Read error: No route to host) |
2021-02-26 15:23:50 +0100 | <ski> | listArray ix es = array ix (zip (range ix) es) -- basically |
2021-02-26 15:24:16 +0100 | <brkscnce> | alright, that does look a lot cleaner |
2021-02-26 15:24:47 +0100 | <ski> | as long as you're ok with the standard `Ix' ordering, that should be less cluttered |
2021-02-26 15:25:09 +0100 | <ski> | `array', though, allowes the elements to come in any order, since their indices are attached |
2021-02-26 15:25:13 +0100 | Chai-T-Rex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2021-02-26 15:25:29 +0100 | <ski> | (last one wins, if there's duplicates, iirc) |
2021-02-26 15:25:50 +0100 | <brkscnce> | right, but if they're already correctly ordered, it isn't necessairy |
2021-02-26 15:26:10 +0100 | <ski> | > array ((),()) (zip (repeat ()) [False,True]) |
2021-02-26 15:26:12 +0100 | <lambdabot> | array ((),()) [((),True)] |
2021-02-26 15:26:21 +0100 | <ski> | right |
2021-02-26 15:26:31 +0100 | terzievk | (~user@78.90.139.65) |
2021-02-26 15:26:35 +0100 | ezrakilty | (~ezrakilty@97-113-55-149.tukw.qwest.net) |
2021-02-26 15:27:17 +0100 | <brkscnce> | thanks, that actually does simplify a number of spots where I was like "huh, there probably is a better way here" when I wrote them |
2021-02-26 15:27:22 +0100 | hackage | lifted-async 0.10.1.3 - Run lifted IO operations asynchronously and wait for their results https://hackage.haskell.org/package/lifted-async-0.10.1.3 (MitsutoshiAoe) |
2021-02-26 15:27:56 +0100 | kupi | (uid212005@gateway/web/irccloud.com/x-ueszxmgrjupzjwnp) |
2021-02-26 15:29:46 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:bcbc:e9c6:2795:e9ee) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 15:29:55 +0100 | <terzievk> | Does anybody know happen to know how to tell emacs to use dynamic linking with haskell related stuff? Or maybe it's supposed to work with static linking only? Which one is preferred? |
2021-02-26 15:30:21 +0100 | <Unhammer> | I'm having some weird issues with tempfiles disappearing in windows – I'm using System.Process.Typed and UnliftIO.Temporary, with something like |
2021-02-26 15:30:22 +0100 | <Unhammer> | withSystemTempFile name $\f h ->withSystemTempFile name $\fe he -> runProcess (setStdout (useHandleOpen h) $ setStdErr (useHandleOpen he) $ proc prog args) >>= readOnFail f fe |
2021-02-26 15:31:08 +0100 | <Unhammer> | shouldn't withSystemTempFile ensure the file exists as long as the path and handle are in scope? |
2021-02-26 15:31:22 +0100 | ezrakilty | (~ezrakilty@97-113-55-149.tukw.qwest.net) (Ping timeout: 276 seconds) |
2021-02-26 15:31:31 +0100 | kuribas | (~user@ptr-25vy0i6y5ai1dlzwgol.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
2021-02-26 15:31:54 +0100 | <merijn> | Unhammer: No |
2021-02-26 15:32:00 +0100 | <geekosaur> | terzievk, static linking for Haskell libs is preferred, add --dynamic if you really want dynamic linking |
2021-02-26 15:32:28 +0100 | gr33nbits | (~gr33nbits@a109-49-87-64.cpe.netcabo.pt) |
2021-02-26 15:32:36 +0100 | <merijn> | Unhammer: Well, wait, maybe I dunno, I don't understand how that code associates |
2021-02-26 15:32:36 +0100 | <Unhammer> | assuming I'm not actively deleting it of course |
2021-02-26 15:34:04 +0100 | <merijn> | Unhammer: Why are you using temp files to access the output of the child process anyway? |
2021-02-26 15:34:18 +0100 | <merijn> | Unhammer: Why not just use pipes? |
2021-02-26 15:34:42 +0100 | <Unhammer> | I want to attach the output to an email if it's smaller than x bytes |
2021-02-26 15:34:59 +0100 | <merijn> | That seems unrelated to the question? |
2021-02-26 15:35:22 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-02-26 15:35:26 +0100 | <merijn> | You can read the data from the pipe and then do whatever you want, same as you appear to do now |
2021-02-26 15:35:28 +0100 | <Unhammer> | I have to check the size of the output, and I don't want to keep it in memory (in case it's huge) |
2021-02-26 15:35:32 +0100 | Tario | (~Tario@201.192.165.173) |
2021-02-26 15:35:54 +0100 | Graf_Blutwurst | (~grafblutw@2001:171b:226e:adc0:e40c:bc1a:ac08:b43b) (Quit: WeeChat 3.0) |
2021-02-26 15:35:56 +0100 | <Unhammer> | but I want the file to disappear when my whole program is done |
2021-02-26 15:36:11 +0100 | <terzievk> | geekosaur: yes, compiling with ghc -dynamic does the job, but I was wondering if somebody knows how to tell emacs `haskell-mode` to use dynamic linking |
2021-02-26 15:36:40 +0100 | <geekosaur> | I don't know the mode variable name offhand |
2021-02-26 15:37:11 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:bcbc:e9c6:2795:e9ee) |
2021-02-26 15:39:50 +0100 | ukari | (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
2021-02-26 15:40:05 +0100 | <geekosaur> | in any case it is probably easier to specify it as part of a cabal or stack project, as opposed to hardcoding in your config or using a local vars section in specific source files |
2021-02-26 15:40:12 +0100 | ukari | (~ukari@unaffiliated/ukari) |
2021-02-26 15:40:17 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-02-26 15:40:34 +0100 | Tario | (~Tario@201.192.165.173) |
2021-02-26 15:41:21 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:c8ae:4c2c:c3c0:6062:2fc9) |
2021-02-26 15:41:48 +0100 | <terzievk> | geekosaur: thanks |
2021-02-26 15:42:01 +0100 | mouseghost | (~draco@wikipedia/desperek) (Quit: mew wew) |
2021-02-26 15:42:33 +0100 | son0p | (~son0p@181.58.39.182) (Quit: leaving) |
2021-02-26 15:43:15 +0100 | ubert | (~Thunderbi@p200300ecdf25d992a0d2e31ed48a2cf4.dip0.t-ipconnect.de) (Quit: ubert) |
2021-02-26 15:43:45 +0100 | ubert | (~Thunderbi@p200300ecdf25d992a0d2e31ed48a2cf4.dip0.t-ipconnect.de) |
2021-02-26 15:47:23 +0100 | borne | (~fritjof@200116b864cbc80010f2d07664396fd4.dip.versatel-1u1.de) (Ping timeout: 272 seconds) |
2021-02-26 15:51:02 +0100 | geekosaur | (82650c7a@130.101.12.122) (Ping timeout: 240 seconds) |
2021-02-26 15:52:18 +0100 | z0k | (~user@115-186-141-91.nayatel.pk) |
2021-02-26 15:53:25 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:c8ae:4c2c:c3c0:6062:2fc9) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 15:54:01 +0100 | coot | (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) |
2021-02-26 15:54:20 +0100 | son0p | (~son0p@181.136.122.143) |
2021-02-26 15:56:51 +0100 | hackage | too-many-cells 2.1.0.1 - Cluster single cells and analyze cell clade relationships. https://hackage.haskell.org/package/too-many-cells-2.1.0.1 (GregorySchwartz) |
2021-02-26 15:57:17 +0100 | jacks2 | (~bc8134e3@217.29.117.252) (Quit: quit) |
2021-02-26 15:57:51 +0100 | hackage | ghc-trace-events 0.1.2.2 - Faster traceEvent and traceMarker, and binary object logging foreventlog https://hackage.haskell.org/package/ghc-trace-events-0.1.2.2 (MitsutoshiAoe) |
2021-02-26 16:01:18 +0100 | nek0 | (~nek0@mail.nek0.eu) (Quit: The Lounge - https://thelounge.chat) |
2021-02-26 16:06:44 +0100 | geowiesnot_bis | (~user@87-89-181-157.abo.bbox.fr) |
2021-02-26 16:08:41 +0100 | nhs | (~nhs@ip68-2-235-160.ph.ph.cox.net) |
2021-02-26 16:11:33 +0100 | cantstanya | (~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection) |
2021-02-26 16:11:47 +0100 | cartwright | (~chatting@gateway/tor-sasl/cantstanya) |
2021-02-26 16:12:44 +0100 | avn | (~avn@78-56-108-78.static.zebra.lt) |
2021-02-26 16:16:01 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-02-26 16:21:25 +0100 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 276 seconds) |
2021-02-26 16:22:04 +0100 | knupfer | (~Thunderbi@i577BCEAC.versanet.de) |
2021-02-26 16:23:01 +0100 | knupfer | (~Thunderbi@i577BCEAC.versanet.de) (Client Quit) |
2021-02-26 16:23:13 +0100 | knupfer | (~Thunderbi@200116b824ff4800ec20a5b5814c5563.dip.versatel-1u1.de) |
2021-02-26 16:25:04 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:bcbc:e9c6:2795:e9ee) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 16:25:10 +0100 | _noblegas | (uid91066@gateway/web/irccloud.com/x-ifvgvksedlldsfmy) |
2021-02-26 16:25:21 +0100 | Jd007 | (~Jd007@162.156.11.151) |
2021-02-26 16:27:31 +0100 | z0k | (~user@115-186-141-91.nayatel.pk) (Read error: Connection reset by peer) |
2021-02-26 16:27:56 +0100 | Pickchea | (~private@unaffiliated/pickchea) |
2021-02-26 16:28:09 +0100 | Rudd0 | (~Rudd0@185.189.115.108) (Ping timeout: 264 seconds) |
2021-02-26 16:28:38 +0100 | z0k | (~user@115-186-141-91.nayatel.pk) |
2021-02-26 16:28:44 +0100 | crobbins | (~crobbins@2600:380:b821:1504:174:cc11:b263:1220) |
2021-02-26 16:30:58 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2021-02-26 16:31:30 +0100 | hiroaki__ | (~hiroaki@2a02:8108:8c40:2bb8:8fe4:ef1e:34cd:b814) (Remote host closed the connection) |
2021-02-26 16:32:55 +0100 | CatWithMoustache | (~CatWithMo@gateway/tor-sasl/catwithmoustache) |
2021-02-26 16:33:30 +0100 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) |
2021-02-26 16:37:22 +0100 | alx741 | (~alx741@181.196.69.27) |
2021-02-26 16:38:02 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-02-26 16:38:03 +0100 | Feuermagier | (~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) (Quit: Leaving) |
2021-02-26 16:38:27 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 16:39:54 +0100 | thunderrd | (~thunderrd@183.182.115.128) (Ping timeout: 272 seconds) |
2021-02-26 16:43:45 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds) |
2021-02-26 16:47:16 +0100 | xff0x | (~xff0x@2001:1a81:52d0:d300:e069:1246:9742:b9dd) |
2021-02-26 16:49:31 +0100 | ozataman | (~textual@pool-100-37-221-69.phlapa.fios.verizon.net) |
2021-02-26 16:52:14 +0100 | crobbins | (~crobbins@2600:380:b821:1504:174:cc11:b263:1220) (Ping timeout: 264 seconds) |
2021-02-26 16:52:45 +0100 | thunderrd | (~thunderrd@183.182.112.145) |
2021-02-26 16:56:26 +0100 | ddellacosta | (~ddellacos@86.106.143.10) |
2021-02-26 16:56:47 +0100 | kam1 | (~kam1@5.125.126.175) (Read error: Connection reset by peer) |
2021-02-26 16:57:20 +0100 | ClaudiusMaximus | (~claude@191.123.199.146.dyn.plus.net) |
2021-02-26 16:57:28 +0100 | ClaudiusMaximus | (~claude@191.123.199.146.dyn.plus.net) (Changing host) |
2021-02-26 16:57:28 +0100 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) |
2021-02-26 16:58:40 +0100 | <bitmapper> | is there a way to use indexed lenses with iovector? |
2021-02-26 16:58:58 +0100 | Wuzzy | (~Wuzzy@p5b0df8ea.dip0.t-ipconnect.de) |
2021-02-26 16:59:31 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-02-26 17:00:28 +0100 | deviantfero | (~deviantfe@190.150.27.58) (Quit: WeeChat 3.0) |
2021-02-26 17:02:21 +0100 | aqd | (~aqd@84.20.147.33) (Quit: Textual IRC Client: www.textualapp.com) |
2021-02-26 17:02:24 +0100 | deviantfero | (~deviantfe@190.150.27.58) |
2021-02-26 17:02:30 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2021-02-26 17:04:26 +0100 | <zebrag> | When nat-transform horizontally composing `beta . alpha`, it is "beta after lifted alpha", or, "(the other)-lifted alpha after beta". I'm pretty sure I'm not mistaken there. The fact that alpha might be after beta, or equivalently, before, is mind-boggling. |
2021-02-26 17:06:04 +0100 | <zebrag> | I'm pretty sure it's true, I've been doing the diagram chasing, but nevertheless I can't believe it. |
2021-02-26 17:06:12 +0100 | hrdl_ | hrdl |
2021-02-26 17:06:27 +0100 | <zebrag> | It just doesn't stick. |
2021-02-26 17:06:39 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 246 seconds) |
2021-02-26 17:07:03 +0100 | chisui | (5882391e@mue-88-130-57-030.dsl.tropolys.de) (Ping timeout: 240 seconds) |
2021-02-26 17:07:11 +0100 | <infinisil> | :t void . pure |
2021-02-26 17:07:12 +0100 | <lambdabot> | Applicative f => a -> f () |
2021-02-26 17:07:42 +0100 | <infinisil> | Saw this in a codebase, seems entirely useless! |
2021-02-26 17:08:22 +0100 | <shapr> | ah, the purity of the void |
2021-02-26 17:08:39 +0100 | <c_wraith> | bitmapper: see the lens-action package |
2021-02-26 17:08:46 +0100 | soft-warm | (44695313@ip68-105-83-19.sd.sd.cox.net) |
2021-02-26 17:09:29 +0100 | juri_ | (~juri@178.63.35.222) (Ping timeout: 265 seconds) |
2021-02-26 17:09:43 +0100 | <bitmapper> | thanks! |
2021-02-26 17:10:59 +0100 | <infinisil> | % void . pure $ undefined |
2021-02-26 17:10:59 +0100 | <yahb> | infinisil: |
2021-02-26 17:11:10 +0100 | <infinisil> | Doesn't even evaluate the argument |
2021-02-26 17:11:12 +0100 | ski | . o O ( insert standard complaint about that `void' name being exported from non-FFI modules ) |
2021-02-26 17:11:13 +0100 | <hololeap> | nothing is useless |
2021-02-26 17:12:23 +0100 | <ski> | Nothing seems pretty useful, to me |
2021-02-26 17:12:36 +0100 | <hololeap> | although, arguably `pure ()` is butter |
2021-02-26 17:12:53 +0100 | <hololeap> | and bread |
2021-02-26 17:13:02 +0100 | <hololeap> | wow, good morning folks |
2021-02-26 17:13:36 +0100 | ski | . o O ( butter cake ) |
2021-02-26 17:13:56 +0100 | ski | waves |
2021-02-26 17:14:22 +0100 | Rudd0 | (~Rudd0@185.189.115.103) |
2021-02-26 17:14:24 +0100 | smitop | (uid328768@gateway/web/irccloud.com/x-fvijgodnvjoivvsf) |
2021-02-26 17:14:35 +0100 | <remexre> | is there a good way to have multiple runnable-as-main lhs files which can import things from each other? |
2021-02-26 17:14:55 +0100 | <remexre> | would I wanna make each one a cabal executable? |
2021-02-26 17:16:39 +0100 | <c_wraith> | that's a bit of an unexpected use case. You'd want to make each an executable no matter what, but importing from each other seems weird. |
2021-02-26 17:17:28 +0100 | nek0 | (~nek0@mail.nek0.eu) |
2021-02-26 17:17:35 +0100 | <remexre> | yeah; I've got a blog post that has an algorithm and a main function (to do some demo) |
2021-02-26 17:17:53 +0100 | <remexre> | then a followup one that depends on it, and some misc tooling that depends on it too |
2021-02-26 17:18:03 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2021-02-26 17:18:08 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 17:18:37 +0100 | perrier-jouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0) |
2021-02-26 17:19:56 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
2021-02-26 17:19:57 +0100 | <hololeap> | does cabal let you "overlap" dirs? can a lib and an executable stanza both point to the same dir? |
2021-02-26 17:20:08 +0100 | <hololeap> | remexre: you may have to experiment with this yourself |
2021-02-26 17:20:10 +0100 | <c_wraith> | hololeap: yes, but it doesn't work the way you'd hope. |
2021-02-26 17:20:25 +0100 | <c_wraith> | hololeap: it recompiles modules instead of getting them from the lib |
2021-02-26 17:21:01 +0100 | <c_wraith> | remexre: it should all just work. the problem is just that it would recompile stuff a lot. |
2021-02-26 17:21:17 +0100 | <remexre> | okay, I'll try that; would this be like, |
2021-02-26 17:21:28 +0100 | <remexre> | library exposed-modules: Foo, Bar |
2021-02-26 17:21:33 +0100 | <remexre> | executable Foo main-is: Foo.hs |
2021-02-26 17:21:36 +0100 | <remexre> | ? |
2021-02-26 17:21:46 +0100 | <c_wraith> | I wouldn't have a library stanze. just the executables |
2021-02-26 17:21:51 +0100 | <c_wraith> | *stanza |
2021-02-26 17:22:11 +0100 | <bitmapper> | c_wraith: i don't really understand how to use it tbh |
2021-02-26 17:22:17 +0100 | chele | (~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2021-02-26 17:22:17 +0100 | jippiedoe | (4dab983e@77-171-152-62.fixed.kpn.net) (Quit: Connection closed) |
2021-02-26 17:22:35 +0100 | <remexre> | oh, sweet, that works; thanks to both y'all! |
2021-02-26 17:23:01 +0100 | <c_wraith> | bitmapper: well, it only works for Getters and Folds. If you want to update, it doesn't do the job. |
2021-02-26 17:23:40 +0100 | <hololeap> | what about just sticking them all in the same dir, then just using ghc directly? `module Foo where ... main = ...` ; `module Bar where ... import Foo ... main = ...` |
2021-02-26 17:23:59 +0100 | <hololeap> | then compile Foo.hs and Bar.hs directly with ghc |
2021-02-26 17:24:16 +0100 | <remexre> | I tried this with ghci and it was unhappy |
2021-02-26 17:24:26 +0100 | <remexre> | er, runghc* |
2021-02-26 17:25:34 +0100 | crobbins | (~crobbins@2601:2c1:200:ec50:6092:acc2:26a1:f490) |
2021-02-26 17:26:17 +0100 | <hololeap> | remexre: are you going to be presenting this? |
2021-02-26 17:26:27 +0100 | <hololeap> | (just curious) |
2021-02-26 17:26:38 +0100 | <remexre> | uh like I'm not gonna be recommending my setup to anyone else :P |
2021-02-26 17:26:56 +0100 | <hololeap> | you said it was for some kind of demo |
2021-02-26 17:28:46 +0100 | <remexre> | More like, I'm demoing some language's semantics in a blogpost; the haskell implementation is... relevant, but not the "cool part" |
2021-02-26 17:31:44 +0100 | <hololeap> | oh ok. i was just wondering. |
2021-02-26 17:31:58 +0100 | syd | (~syd@cpc91646-hart11-2-0-cust432.11-3.cable.virginm.net) |
2021-02-26 17:32:58 +0100 | gioyik | (~gioyik@gateway/tor-sasl/gioyik) |
2021-02-26 17:33:37 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-02-26 17:34:50 +0100 | chisui | (5882391e@mue-88-130-57-030.dsl.tropolys.de) |
2021-02-26 17:35:26 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-02-26 17:36:05 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-02-26 17:36:34 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) |
2021-02-26 17:37:58 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:e9e3:841b:e645:b35e) |
2021-02-26 17:38:00 +0100 | son0p | (~son0p@181.136.122.143) (Ping timeout: 265 seconds) |
2021-02-26 17:38:13 +0100 | <ij> | I need to draw pixels on a canvas and export it as a png – juicypixels or hip? |
2021-02-26 17:38:14 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-02-26 17:39:08 +0100 | <ij> | ah, I read the readmes, nvm |
2021-02-26 17:42:58 +0100 | carlomagno | (~cararell@148.87.23.6) (Quit: Leaving.) |
2021-02-26 17:44:09 +0100 | ep1ctetus | (~epictetus@ip72-194-215-136.sb.sd.cox.net) |
2021-02-26 17:46:14 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Quit: Leaving) |
2021-02-26 17:49:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds) |
2021-02-26 17:49:52 +0100 | knupfer | (~Thunderbi@200116b824ff4800ec20a5b5814c5563.dip.versatel-1u1.de) (Read error: Connection reset by peer) |
2021-02-26 17:50:06 +0100 | knupfer | (~Thunderbi@200116b824ff48009d25b45d13597f3f.dip.versatel-1u1.de) |
2021-02-26 17:50:15 +0100 | mayleesia | (4dbf5b8f@x4dbf5b8f.dyn.telefonica.de) (Quit: Connection closed) |
2021-02-26 17:50:37 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:e9e3:841b:e645:b35e) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 17:51:13 +0100 | juri_ | (~juri@178.63.35.222) |
2021-02-26 17:53:08 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 17:53:23 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:e9e3:841b:e645:b35e) |
2021-02-26 17:53:48 +0100 | bergey | (~user@107.181.19.30) |
2021-02-26 17:56:07 +0100 | geekosaur | (82650c7a@130.101.12.122) |
2021-02-26 17:56:47 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:e9e3:841b:e645:b35e) (Client Quit) |
2021-02-26 17:57:12 +0100 | usr25 | (~usr25@unaffiliated/usr25) (Quit: Leaving) |
2021-02-26 17:57:22 +0100 | <shapr> | ij: what was the answer? |
2021-02-26 18:02:22 +0100 | bennofs_ | (~quassel@dslb-094-222-093-100.094.222.pools.vodafone-ip.de) |
2021-02-26 18:03:17 +0100 | sMuNiX | (~sMuNiX@lnsm2-montreal02-142-118-236-120.internet.virginmobile.ca) (Ping timeout: 256 seconds) |
2021-02-26 18:03:28 +0100 | <tomsmeding> | for those who have set their browser (or perhaps their OS) to prefer dark mode, what do you think of my colour choices? https://paste.tomsmeding.com/ | https://paste.tomsmeding.com/FbLBhrVM |
2021-02-26 18:03:54 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection) |
2021-02-26 18:03:54 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection) |
2021-02-26 18:04:05 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2021-02-26 18:04:16 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2021-02-26 18:04:17 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) |
2021-02-26 18:04:33 +0100 | carlomagno | (~cararell@148.87.23.4) |
2021-02-26 18:04:42 +0100 | darjeeling_ | (~darjeelin@122.245.218.150) (Ping timeout: 268 seconds) |
2021-02-26 18:04:45 +0100 | sMuNiX | (~sMuNiX@lnsm2-montreal02-142-118-236-120.internet.virginmobile.ca) |
2021-02-26 18:05:37 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-02-26 18:05:46 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-xgujbhvivyzipvnb) |
2021-02-26 18:07:01 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:2c68:3465:24dc:c80f) |
2021-02-26 18:07:15 +0100 | kupi | (uid212005@gateway/web/irccloud.com/x-ueszxmgrjupzjwnp) (Quit: Connection closed for inactivity) |
2021-02-26 18:08:29 +0100 | <swarmcollective> | tomsmeding: Dark mode looks good, colour choices make the text quite readable. Thumbsup from me. |
2021-02-26 18:08:48 +0100 | <maerwald> | is the dark mode based on the system theme? |
2021-02-26 18:09:50 +0100 | <NieDzejkob> | yeah, it's a CSS feature known as prefers-color-scheme |
2021-02-26 18:10:34 +0100 | <NieDzejkob> | see https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme for how to enable it for firefox |
2021-02-26 18:11:56 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds) |
2021-02-26 18:12:32 +0100 | <tomsmeding> | swarmcollective: thanks! Good to hear :) |
2021-02-26 18:13:50 +0100 | <tomsmeding> | maerwald: I don't have a manual mode toggle yet; due to the way prefers-color-scheme works that would give some duplication of css rules, and I was lazy :) |
2021-02-26 18:18:23 +0100 | dmwit | (~dmwit@pool-173-66-86-32.washdc.fios.verizon.net) (Remote host closed the connection) |
2021-02-26 18:19:33 +0100 | <sm[m]> | looks pretty good tomsmeding |
2021-02-26 18:20:21 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 264 seconds) |
2021-02-26 18:20:42 +0100 | Tario | (~Tario@201.192.165.173) |
2021-02-26 18:20:57 +0100 | darjeeling_ | (~darjeelin@122.245.218.150) |
2021-02-26 18:21:56 +0100 | kritzefitz | (~kritzefit@fw-front.credativ.com) (Remote host closed the connection) |
2021-02-26 18:22:04 +0100 | <tomsmeding> | sm[m]: cool! |
2021-02-26 18:22:42 +0100 | Franciman | (~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving) |
2021-02-26 18:23:11 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 18:24:14 +0100 | <brkscnce> | how would you flip the arguments of a function? |
2021-02-26 18:24:25 +0100 | <boxscape> | tomsmeding not bad, personally I'd prefer the neon green to be a little less neon green, and comments to be a bit more visible |
2021-02-26 18:24:29 +0100 | <koz_> | :t flip |
2021-02-26 18:24:31 +0100 | <lambdabot> | (a -> b -> c) -> b -> a -> c |
2021-02-26 18:24:35 +0100 | <brkscnce> | neat :D |
2021-02-26 18:27:10 +0100 | <tomsmeding> | boxscape: I'm using the monokai theme from highlightjs; I can change the colour values though, of course. Do you have a different theme you would suggest, or some changes to this one? |
2021-02-26 18:27:34 +0100 | <tomsmeding> | If not I'll have a look after dinner |
2021-02-26 18:28:12 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-02-26 18:28:22 +0100 | <boxscape> | tomsmeding hm I've just always used solarized but that's maybe a bit overdone. With the colors as is, I'd be happy if the green is a little darker and the grey used for comments a little lighter |
2021-02-26 18:29:26 +0100 | <CatWithMoustache> | I have a list of (intA, intB) - how do i map it to a list of the larger int of the two pairs with a list comprehension? |
2021-02-26 18:29:45 +0100 | <CatWithMoustache> | of the pair* |
2021-02-26 18:30:55 +0100 | <koz_> | CatWithMoustache: [ max x y | (x, y) <- myList ] |
2021-02-26 18:31:26 +0100 | <koz_> | Although I think a comprehension is unnecessary here. |
2021-02-26 18:31:37 +0100 | <koz_> | You can just as well do something like 'uncurry max <$> myList' |
2021-02-26 18:32:14 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2021-02-26 18:33:57 +0100 | wpcarro | (sid397589@gateway/web/irccloud.com/x-cuzogimzlccgtoqb) (Ping timeout: 272 seconds) |
2021-02-26 18:34:14 +0100 | totbwf | (sid402332@gateway/web/irccloud.com/x-zjkfuwgfajmvzezn) (Ping timeout: 264 seconds) |
2021-02-26 18:34:35 +0100 | jared-w | (uid405292@gateway/web/irccloud.com/x-nwbhkmbdnnaxykxk) (Ping timeout: 272 seconds) |
2021-02-26 18:34:47 +0100 | jared-w | (uid405292@gateway/web/irccloud.com/x-izhpuwmltgyrnquq) |
2021-02-26 18:34:52 +0100 | wpcarro | (sid397589@gateway/web/irccloud.com/x-kqymfcxonhkyygxg) |
2021-02-26 18:35:26 +0100 | saitamaplus | (uid272474@gateway/web/irccloud.com/x-pvdimpwkxzjbymuk) (Ping timeout: 264 seconds) |
2021-02-26 18:36:26 +0100 | saitamaplus | (uid272474@gateway/web/irccloud.com/x-tqrynpyipoxrnkjn) |
2021-02-26 18:36:41 +0100 | boxscape | (4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243) (Quit: Ping timeout (120 seconds)) |
2021-02-26 18:36:57 +0100 | boxscape | (4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243) |
2021-02-26 18:37:11 +0100 | totbwf | (sid402332@gateway/web/irccloud.com/x-wekjmtigqhueuhzk) |
2021-02-26 18:40:19 +0100 | <ntjns> | ls |
2021-02-26 18:40:27 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) |
2021-02-26 18:40:35 +0100 | <CatWithMoustache> | koz_, can I still use max if i have a tuple of ((String, int), (String, int)) and want to keep the string int pairs together? |
2021-02-26 18:40:52 +0100 | <koz_> | :t maximumBy |
2021-02-26 18:40:54 +0100 | <lambdabot> | Foldable t => (a -> a -> Ordering) -> t a -> a |
2021-02-26 18:40:58 +0100 | <koz_> | :t maxBy |
2021-02-26 18:40:59 +0100 | <lambdabot> | error: Variable not in scope: maxBy |
2021-02-26 18:41:07 +0100 | psutcliffe | (~psutcliff@2a00:801:44b:5fb3:b852:cfd3:ade7:f24f) |
2021-02-26 18:41:32 +0100 | <koz_> | No, that'd require some more effort. |
2021-02-26 18:41:58 +0100 | <koz_> | Easiest would be to first define 'maxBy :: (Ord b) => (a -> b) -> a -> a -> a' |
2021-02-26 18:42:06 +0100 | <koz_> | Then use that to write the rest. |
2021-02-26 18:42:33 +0100 | <koz_> | Using 'maxBy snd'. |
2021-02-26 18:43:11 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 18:44:20 +0100 | ADG1089__ | (~aditya@122.163.247.232) |
2021-02-26 18:44:34 +0100 | terzievk | (~user@78.90.139.65) (Remote host closed the connection) |
2021-02-26 18:44:53 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) |
2021-02-26 18:45:21 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:2c68:3465:24dc:c80f) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 18:45:48 +0100 | Natch | (~Natch@c-b471e255.014-297-73746f25.bbcust.telenor.se) (Read error: Connection reset by peer) |
2021-02-26 18:46:47 +0100 | ADG1089__ | (~aditya@122.163.247.232) (Client Quit) |
2021-02-26 18:47:34 +0100 | perrier-jouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-02-26 18:50:10 +0100 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) (Remote host closed the connection) |
2021-02-26 18:53:18 +0100 | perrier-jouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0) |
2021-02-26 18:53:23 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:2c68:3465:24dc:c80f) |
2021-02-26 18:54:21 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-02-26 18:54:40 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 18:55:28 +0100 | zaquest | (~notzaques@5.128.210.178) (Ping timeout: 276 seconds) |
2021-02-26 18:57:03 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-02-26 18:57:11 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:2c68:3465:24dc:c80f) (Client Quit) |
2021-02-26 18:57:53 +0100 | zaquest | (~notzaques@5.128.210.178) |
2021-02-26 18:59:06 +0100 | Pickchea | (~private@unaffiliated/pickchea) (Quit: Leaving) |
2021-02-26 19:00:16 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Ping timeout (120 seconds)) |
2021-02-26 19:00:21 +0100 | hackage | linux-capabilities 0.1.0.0 - Linux capabilities Haskell data type https://hackage.haskell.org/package/linux-capabilities-0.1.0.0 (TristanCacqueray) |
2021-02-26 19:00:24 +0100 | conal | (~conal@64.71.133.70) |
2021-02-26 19:00:37 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 19:01:30 +0100 | <__minoru__shirae> | @src Control.Monad.when |
2021-02-26 19:01:30 +0100 | <lambdabot> | Source not found. Take a stress pill and think things over. |
2021-02-26 19:02:57 +0100 | <geekosaur> | "@src" is a fraud |
2021-02-26 19:03:12 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) (Remote host closed the connection) |
2021-02-26 19:03:22 +0100 | <geekosaur> | @src when |
2021-02-26 19:03:23 +0100 | <lambdabot> | when p s = if p then s else return () |
2021-02-26 19:03:41 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) |
2021-02-26 19:03:57 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit) |
2021-02-26 19:04:20 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 19:05:04 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-02-26 19:06:31 +0100 | __minoru__shirae | (~shiraeesh@109.166.56.143) (Ping timeout: 276 seconds) |
2021-02-26 19:07:24 +0100 | dyeplexer | (~lol@unaffiliated/terpin) (Remote host closed the connection) |
2021-02-26 19:08:13 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) (Ping timeout: 260 seconds) |
2021-02-26 19:08:36 +0100 | Wuzzy | (~Wuzzy@p5b0df8ea.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2021-02-26 19:09:13 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2021-02-26 19:09:21 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds) |
2021-02-26 19:09:25 +0100 | justan0theruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds) |
2021-02-26 19:09:51 +0100 | esph | (~weechat@unaffiliated/esph) (Ping timeout: 246 seconds) |
2021-02-26 19:10:38 +0100 | vilpan | (~0@212.117.1.172) (Quit: Leaving.) |
2021-02-26 19:11:10 +0100 | fr33domlover | (~fr33domlo@fsf/member/fr33domlover) (Quit: fr33domlover) |
2021-02-26 19:12:09 +0100 | tzlil | (~tzlil@unaffiliated/tzlil) |
2021-02-26 19:13:39 +0100 | alx741 | (~alx741@181.196.69.27) (Quit: alx741) |
2021-02-26 19:14:52 +0100 | rajivr | (uid269651@gateway/web/irccloud.com/x-lipeedvqihpcwewl) (Quit: Connection closed for inactivity) |
2021-02-26 19:15:16 +0100 | esph | (~weechat@unaffiliated/esph) |
2021-02-26 19:16:26 +0100 | <swarmcollective> | @src foldl' |
2021-02-26 19:16:27 +0100 | <lambdabot> | foldl' f a [] = a |
2021-02-26 19:16:27 +0100 | <lambdabot> | foldl' f a (x:xs) = let a' = f a x in a' `seq` foldl' f a' xs |
2021-02-26 19:18:25 +0100 | raym | (~ray@45.64.220.3) |
2021-02-26 19:20:27 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) |
2021-02-26 19:20:27 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (Changing host) |
2021-02-26 19:20:27 +0100 | neiluj | (~jco@unaffiliated/neiluj) |
2021-02-26 19:21:47 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:2c68:3465:24dc:c80f) |
2021-02-26 19:21:50 +0100 | fr33domlover | (~fr33domlo@fsf/member/fr33domlover) |
2021-02-26 19:22:24 +0100 | elliott_ | (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 265 seconds) |
2021-02-26 19:22:39 +0100 | ADG1089__ | (~aditya@122.163.247.232) |
2021-02-26 19:22:50 +0100 | Natch | (~natch@c-b471e255.014-297-73746f25.bbcust.telenor.se) |
2021-02-26 19:23:38 +0100 | minoru_shiraeesh | (592a3c0a@gateway/web/cgi-irc/kiwiirc.com/ip.89.42.60.10) |
2021-02-26 19:24:03 +0100 | <koz_> | If I enable ApplicativeDo and MonadComprehensions, can I potentially get Applicative-based comprehensions? |
2021-02-26 19:24:40 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 19:24:57 +0100 | toorevitimirp | (~tooreviti@117.182.182.60) (Remote host closed the connection) |
2021-02-26 19:25:20 +0100 | Rob60 | (268ce492@38.140.228.146) |
2021-02-26 19:25:21 +0100 | <monochrom> | I think no. It is not ApplicativeComprehensions afterall. |
2021-02-26 19:25:51 +0100 | <geekosaur> | I think the rewrite uses >>= |
2021-02-26 19:26:04 +0100 | <geekosaur> | so it can't be Applicative |
2021-02-26 19:26:10 +0100 | <koz_> | monochrom: My reasoning is this - MonadComprehensions desugars to do-notation, and ApplicativeDo can make (some) do-blocks only need Applicative. |
2021-02-26 19:26:25 +0100 | <koz_> | Or am I misreading MonadComprehensions? |
2021-02-26 19:26:33 +0100 | <geekosaur> | (specifically <- translates to >>=) |
2021-02-26 19:26:39 +0100 | <koz_> | "Bindings are translated with the (>>=) and return functions to the usual do-notation:" |
2021-02-26 19:26:41 +0100 | CatWithMoustache | (~CatWithMo@gateway/tor-sasl/catwithmoustache) (Quit: Leaving) |
2021-02-26 19:27:04 +0100 | <koz_> | Or does it actually mean to say 'Bindings are translated with the (>>=) and return functions to (the equivalent of) this do-notation:"? |
2021-02-26 19:27:14 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 265 seconds) |
2021-02-26 19:27:36 +0100 | mouseghost | (~draco@87-206-9-185.dynamic.chello.pl) |
2021-02-26 19:27:36 +0100 | mouseghost | (~draco@87-206-9-185.dynamic.chello.pl) (Changing host) |
2021-02-26 19:27:36 +0100 | mouseghost | (~draco@wikipedia/desperek) |
2021-02-26 19:31:14 +0100 | <minoru_shiraeesh> | This is weird: I typed @src Control.Monad.when, got an answer from the lambdabot and then the electricity cut off |
2021-02-26 19:32:13 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds) |
2021-02-26 19:32:22 +0100 | <minoru_shiraeesh> | As if my actions caused it |
2021-02-26 19:33:53 +0100 | <geekosaur> | unlikely, especially since it actually rejected yours and took mine |
2021-02-26 19:34:03 +0100 | <geekosaur> | (because @src is a fraud) |
2021-02-26 19:34:24 +0100 | <koz_> | geekosaur: Drat, you're right. |
2021-02-26 19:34:24 +0100 | <tomsmeding> | minoru_shiraeesh: lambdabot not only didn't like your input, it then proceeded to take revenge |
2021-02-26 19:34:32 +0100 | <koz_> | The docs should probably be a bit clearer on this point. |
2021-02-26 19:34:33 +0100 | <minoru_shiraeesh> | Some weird side-effect |
2021-02-26 19:34:47 +0100 | ADG1089__ | (~aditya@122.163.247.232) (Quit: Konversation terminated!) |
2021-02-26 19:34:48 +0100 | <monochrom> | koz_: I tested and conclude that the user guide wording is poor. <- is really translated to >>= directly, not going though a do-notation intermediate. |
2021-02-26 19:34:58 +0100 | <koz_> | (and ApplicativeComprehensions would be lovely) |
2021-02-26 19:35:00 +0100 | redmp | (~redmp@172.58.35.77) |
2021-02-26 19:35:08 +0100 | <monochrom> | I think the time is ripe for a "do considered harmful". |
2021-02-26 19:35:27 +0100 | <koz_> | In this case? It's 'bad documentation considered harmful' more than anything. |
2021-02-26 19:35:55 +0100 | <koz_> | Maybe I might write a GHC proposal... |
2021-02-26 19:36:04 +0100 | <redmp> | hello! anyone here familiar with how to use Servant.API.Generic to combine two record-apis into a single server? |
2021-02-26 19:36:24 +0100 | <tomsmeding> | boxscape: right-hand side better? https://tomsmeding.com/ss/get/tomsmeding/lPoDSF (different theme) |
2021-02-26 19:36:50 +0100 | <monochrom> | As usual, it is more like "<getting too used to do> considered harmful". |
2021-02-26 19:36:56 +0100 | <minoru_shiraeesh> | Which suggests that maybe the matrix is not written in haskell, or not |
2021-02-26 19:37:12 +0100 | <koz_> | Also, does anyone know where I can find the descriptions of the n^2 and n^3 algorithms for ApplicativeDo desugaring? |
2021-02-26 19:37:20 +0100 | <tomsmeding> | minoru_shiraeesh: the matrix is currently written in python |
2021-02-26 19:37:22 +0100 | <geekosaur> | tomsmeding, I prefer the right hand side, for what it's worth |
2021-02-26 19:37:31 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2021-02-26 19:37:32 +0100 | <koz_> | I also prefer the right-hand side. |
2021-02-26 19:37:33 +0100 | <monochrom> | So the confusing part is that the example in the user guide uses do-notation instead of >>=. When do-notation is completely irrelevant in the context. |
2021-02-26 19:37:40 +0100 | <koz_> | The left one looks too electric. |
2021-02-26 19:37:50 +0100 | <tomsmeding> | I agree |
2021-02-26 19:37:52 +0100 | <koz_> | monochrom: Indeed. |
2021-02-26 19:38:06 +0100 | <tomsmeding> | okay 'tomorrow night' is is :) |
2021-02-26 19:38:09 +0100 | <monochrom> | And of course the sentence "... >>= ... do ..." simply fails to make up its mind. |
2021-02-26 19:38:10 +0100 | <tomsmeding> | *it is |
2021-02-26 19:38:13 +0100 | nineonine | (~nineonine@2604:3d08:7785:9600:8c3e:8d1a:de68:76d3) (Remote host closed the connection) |
2021-02-26 19:38:28 +0100 | <koz_> | monochrom: The 'les deux' of monad-oriented syntax. :P |
2021-02-26 19:38:38 +0100 | <geekosaur> | tomsmeding, cue https://xkcd.com/224/ |
2021-02-26 19:38:56 +0100 | nineonine | (~nineonine@50.216.62.2) |
2021-02-26 19:39:04 +0100 | <tomsmeding> | geekosaur: thanks for the due diligence |
2021-02-26 19:39:45 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) |
2021-02-26 19:39:49 +0100 | esph | (~weechat@unaffiliated/esph) (Ping timeout: 272 seconds) |
2021-02-26 19:40:45 +0100 | DataComp_ | (~lumeng@50.43.26.251) (Ping timeout: 256 seconds) |
2021-02-26 19:41:52 +0100 | <minoru_shiraeesh> | tomsmeding: by matrix you mean the messenger? I was making a joke about Matrix. |
2021-02-26 19:41:52 +0100 | <tomsmeding> | instance has been updated with new theme: https://paste.tomsmeding.com/rT6TJbdr |
2021-02-26 19:42:14 +0100 | <minoru_shiraeesh> | Neo, Morpheus, etc |
2021-02-26 19:42:35 +0100 | <tomsmeding> | minoru_shiraeesh: and I was deliberately misinterpreting your reference :) |
2021-02-26 19:42:45 +0100 | <tomsmeding> | in the style of the xkcd that geekosaur linked |
2021-02-26 19:43:15 +0100 | <minoru_shiraeesh> | Oh, multi-layer jokes |
2021-02-26 19:43:17 +0100 | mirrorb2rd | (~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42) |
2021-02-26 19:43:56 +0100 | DataComputist | (~lumeng@50.43.26.251) |
2021-02-26 19:44:44 +0100 | knupfer | (~Thunderbi@200116b824ff48009d25b45d13597f3f.dip.versatel-1u1.de) (Ping timeout: 240 seconds) |
2021-02-26 19:45:09 +0100 | <redmp> | Here's what I mean record-apis: https://termbin.com/3rqc |
2021-02-26 19:45:24 +0100 | <redmp> | I define a "parent" record API and have it contain a "child" record API |
2021-02-26 19:45:27 +0100 | carlomagno1 | (~cararell@148.87.23.4) |
2021-02-26 19:45:49 +0100 | <redmp> | But `genericServe` seems unhappy with that, even though the type of the input is correct, and the `routes AsServer` gives no error.. |
2021-02-26 19:45:50 +0100 | perrier-jouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2021-02-26 19:46:09 +0100 | psutcliffe | (~psutcliff@2a00:801:44b:5fb3:b852:cfd3:ade7:f24f) (Ping timeout: 272 seconds) |
2021-02-26 19:46:23 +0100 | <redmp> | (ParentRoutes AsServer types correctly, with one field populated by ChildRoutes AsServer) |
2021-02-26 19:46:56 +0100 | carlomagno | (~cararell@148.87.23.4) (Ping timeout: 240 seconds) |
2021-02-26 19:48:23 +0100 | minoru_shiraeesh | (592a3c0a@gateway/web/cgi-irc/kiwiirc.com/ip.89.42.60.10) (Quit: Connection closed) |
2021-02-26 19:48:30 +0100 | geowiesnot_bis | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 265 seconds) |
2021-02-26 19:50:21 +0100 | ADG1089__ | (~aditya@122.163.247.232) |
2021-02-26 19:50:34 +0100 | myShoggoth | (~myShoggot@75.164.81.55) |
2021-02-26 19:50:52 +0100 | __minoru__shirae | (~shiraeesh@46.34.207.247) |
2021-02-26 19:51:16 +0100 | DataComputist | (~lumeng@50.43.26.251) (Quit: Leaving...) |
2021-02-26 19:51:23 +0100 | <redmp> | Thanks in advance, if anybody can take a look at that example :) |
2021-02-26 19:51:50 +0100 | <koz_> | Also, does anyone know where I can find the descriptions of the n^2 and n^3 algorithms for ApplicativeDo desugaring? <-- anyone? |
2021-02-26 19:52:07 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:2c68:3465:24dc:c80f) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 19:52:12 +0100 | carlomagno | (~cararell@148.87.23.4) |
2021-02-26 19:52:34 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) |
2021-02-26 19:53:45 +0100 | <__minoru__shirae> | koz_, if I'm not misunderstanding a question, you just substitute a specific applicative's bind implementation after desugaring the do notation into binds, no? |
2021-02-26 19:53:57 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-02-26 19:54:08 +0100 | <__minoru__shirae> | wait, applicative's don't have biind |
2021-02-26 19:54:10 +0100 | <tomsmeding> | __minoru__shirae: applicative != monad |
2021-02-26 19:54:22 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:7506:7a46:fb18:8236) |
2021-02-26 19:54:23 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 19:54:27 +0100 | <koz_> | __minoru__shirae: There are, according to the GHC docs, two desugaring algorithms. One is n^2, the other, more thorough, one, n^3. |
2021-02-26 19:54:32 +0100 | <koz_> | I wanted to know what those are. |
2021-02-26 19:54:36 +0100 | <tomsmeding> | koz_: I assume you've already looked at https://simonmar.github.io/bib/papers/applicativedo.pdf ? |
2021-02-26 19:54:48 +0100 | <tomsmeding> | no saying the algorithms are in there (haven't read it) |
2021-02-26 19:54:53 +0100 | <tomsmeding> | s/^no/not/ |
2021-02-26 19:55:01 +0100 | carlomagno1 | (~cararell@148.87.23.4) (Ping timeout: 272 seconds) |
2021-02-26 19:55:07 +0100 | <koz_> | tomsmeding: I have not, but that lineup is amazing. |
2021-02-26 19:55:18 +0100 | <tomsmeding> | it is, isn't it? |
2021-02-26 19:55:21 +0100 | <koz_> | Two Simons, an Edward and the Selective guy? |
2021-02-26 19:55:25 +0100 | <koz_> | Sign me up. |
2021-02-26 19:55:45 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 264 seconds) |
2021-02-26 19:56:22 +0100 | geekosaur | (82650c7a@130.101.12.122) (Ping timeout: 240 seconds) |
2021-02-26 19:56:41 +0100 | apache8080 | (~rishi@wsip-70-168-153-252.oc.oc.cox.net) |
2021-02-26 19:58:28 +0100 | ADG1089__ | (~aditya@122.163.247.232) (Remote host closed the connection) |
2021-02-26 19:58:46 +0100 | <tomsmeding> | note the sudden appearance of game theory in the second bullet point of section 8 |
2021-02-26 19:59:07 +0100 | <swarmcollective> | tomsmeding: Yeah, the colour theme looks good. |
2021-02-26 19:59:23 +0100 | <swarmcollective> | And, now I know I can have two files. :D |
2021-02-26 19:59:45 +0100 | <tomsmeding> | swarmcollective: :D |
2021-02-26 19:59:57 +0100 | <tomsmeding> | did you miss the big button? :p |
2021-02-26 20:00:28 +0100 | emmanuel_erc | (~user@cpe-74-71-106-64.nyc.res.rr.com) (Ping timeout: 276 seconds) |
2021-02-26 20:02:13 +0100 | <Rob60> | I'm looking for haskell stars in the SF Bay Area - if you're in the market, please drop me a note at rob@banyaninfrastructure.com. |
2021-02-26 20:02:19 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-02-26 20:02:50 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:7506:7a46:fb18:8236) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 20:02:51 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 256 seconds) |
2021-02-26 20:02:52 +0100 | jpds_ | (~jpds@gateway/tor-sasl/jpds) |
2021-02-26 20:02:54 +0100 | <koz_> | Rob60: Do you accept remote? |
2021-02-26 20:02:56 +0100 | thc202 | (~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds) |
2021-02-26 20:03:28 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2021-02-26 20:03:29 +0100 | <Rob60> | We're all remote now, but we're a small company and want people that can not be remote in the hopeful days ahead when Covid isn't such a thing. |
2021-02-26 20:03:46 +0100 | <maerwald> | in 2022 :) |
2021-02-26 20:03:56 +0100 | smitop | (uid328768@gateway/web/irccloud.com/x-fvijgodnvjoivvsf) (Quit: Connection closed for inactivity) |
2021-02-26 20:03:58 +0100 | esph | (~weechat@unaffiliated/esph) |
2021-02-26 20:04:05 +0100 | <koz_> | Rob60: Would you be good with someone who wanted to _stay_ remote? |
2021-02-26 20:04:37 +0100 | berberman_ | (~berberman@unaffiliated/berberman) (Ping timeout: 258 seconds) |
2021-02-26 20:04:38 +0100 | <Rob60> | it wouldn't be our first choice, but I have some flexibility for the right person, of course |
2021-02-26 20:04:48 +0100 | <koz_> | Rob60: What's the job? |
2021-02-26 20:05:44 +0100 | <__minoru__shirae> | what do you as a company do with haskell in production, did you start with haskell, or did you move to it from another language? |
2021-02-26 20:05:56 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) (Remote host closed the connection) |
2021-02-26 20:06:27 +0100 | <Rob60> | senior dev - our code started in haskell |
2021-02-26 20:06:37 +0100 | <Rob60> | https://angel.co/company/banyan-infrastructure/jobs/1157302-senior-developer-haskell-java |
2021-02-26 20:08:43 +0100 | chisui | (5882391e@mue-88-130-57-030.dsl.tropolys.de) (Ping timeout: 240 seconds) |
2021-02-26 20:08:43 +0100 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
2021-02-26 20:10:20 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-02-26 20:10:44 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 20:11:00 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:7506:7a46:fb18:8236) |
2021-02-26 20:13:46 +0100 | geekosaur | (82650c7a@130.101.12.122) |
2021-02-26 20:14:18 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit) |
2021-02-26 20:14:40 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 20:18:13 +0100 | DataComputist | (~lumeng@50.43.26.251) |
2021-02-26 20:18:25 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) |
2021-02-26 20:18:54 +0100 | <boxscape> | tomsmeding yes, thanks, right hand side is quite a bit better |
2021-02-26 20:19:04 +0100 | <tomsmeding> | it's live :) |
2021-02-26 20:19:14 +0100 | <boxscape> | nice |
2021-02-26 20:20:16 +0100 | redmp | (~redmp@172.58.35.77) (Ping timeout: 240 seconds) |
2021-02-26 20:21:59 +0100 | Franciman | (~francesco@host-82-49-79-189.retail.telecomitalia.it) |
2021-02-26 20:22:20 +0100 | redmp | (~redmp@172.58.35.77) |
2021-02-26 20:22:23 +0100 | hyiltiz | (~quassel@unaffiliated/hyiltiz) |
2021-02-26 20:24:16 +0100 | <infinisil> | :t foldr (<|>) empty |
2021-02-26 20:24:17 +0100 | <lambdabot> | (Foldable t, Alternative f) => t (f a) -> f a |
2021-02-26 20:24:27 +0100 | <infinisil> | Is there some function which does that already ^? |
2021-02-26 20:26:05 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 268 seconds) |
2021-02-26 20:28:40 +0100 | <tomsmeding> | :t asum |
2021-02-26 20:28:41 +0100 | <lambdabot> | (Foldable t, Alternative f) => t (f a) -> f a |
2021-02-26 20:28:47 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) (Remote host closed the connection) |
2021-02-26 20:28:49 +0100 | <tomsmeding> | infinisil: ^ |
2021-02-26 20:29:21 +0100 | <infinisil> | Oh nice |
2021-02-26 20:29:41 +0100 | <infinisil> | Wasn't there a type signature search in lambdabot |
2021-02-26 20:30:26 +0100 | <swarmcollective> | @hoogle t (f a) -> f a |
2021-02-26 20:30:27 +0100 | <lambdabot> | No results found |
2021-02-26 20:31:28 +0100 | <__minoru__shirae> | @hoogle (Foldable t, Alternative f) => t (f a) -> f a |
2021-02-26 20:31:29 +0100 | <lambdabot> | Data.Foldable asum :: (Foldable t, Alternative f) => t (f a) -> f a |
2021-02-26 20:31:29 +0100 | <lambdabot> | Protolude asum :: (Foldable t, Alternative f) => t (f a) -> f a |
2021-02-26 20:31:29 +0100 | <lambdabot> | BasePrelude asum :: (Foldable t, Alternative f) => t (f a) -> f a |
2021-02-26 20:31:55 +0100 | <tomsmeding> | infinisil: which also exists as a web service: https://hoogle.haskell.org/ |
2021-02-26 20:32:21 +0100 | hackage | bitwise-enum 1.0.1.0 - Bitwise operations on bounded enumerations https://hackage.haskell.org/package/bitwise-enum-1.0.1.0 (jnbooth) |
2021-02-26 20:32:28 +0100 | <infinisil> | Ohh I have been using hoogle for a while but never used that |
2021-02-26 20:33:31 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) |
2021-02-26 20:33:35 +0100 | <__minoru__shirae> | a question regarding "when" function: how does it short-circuit? I'm trying to desugar a do block with "when" inside, and I don't see how. |
2021-02-26 20:34:01 +0100 | <tomsmeding> | @src when |
2021-02-26 20:34:02 +0100 | <lambdabot> | when p s = if p then s else return () |
2021-02-26 20:34:12 +0100 | kam1 | (~kam1@5.125.126.175) |
2021-02-26 20:34:12 +0100 | <__minoru__shirae> | do when p (return "a"); return "b" |
2021-02-26 20:34:30 +0100 | <tomsmeding> | = when p (return "a") >> return "b" |
2021-02-26 20:34:36 +0100 | <geekosaur> | it doesn't really short-circuit, were you thinking of guard? |
2021-02-26 20:34:44 +0100 | <tomsmeding> | = (if p then return "a" else return ()) >> return "b" |
2021-02-26 20:34:48 +0100 | <redmp> | i found a solution to the problem i was having before |
2021-02-26 20:35:13 +0100 | <__minoru__shirae> | (if p then return "a" else return ()) >>= \_ -> return "b" |
2021-02-26 20:35:16 +0100 | <__minoru__shirae> | right? |
2021-02-26 20:35:36 +0100 | <redmp> | the solution is to convert the record-apis types to normal api types and then combine them as siblings (not through composition) same as how you would combine normal apis q |
2021-02-26 20:35:39 +0100 | <redmp> | https://termbin.com/0t72 |
2021-02-26 20:35:49 +0100 | <redmp> | hope that helps if anybody has the same question; cheers |
2021-02-26 20:36:08 +0100 | <tomsmeding> | __minoru__shirae: true, that means the same thing |
2021-02-26 20:36:18 +0100 | <geekosaur> | __minoru__shirae, you already have a type error there (unless you have some funky extensions and instances in scope) |
2021-02-26 20:36:23 +0100 | ozataman | (~textual@pool-100-37-221-69.phlapa.fios.verizon.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
2021-02-26 20:36:43 +0100 | <monochrom> | Again, it doesn't short-circuit, not in my sense of the word. |
2021-02-26 20:37:17 +0100 | <__minoru__shirae> | how does it ignore the rest of the do-block when the condition is met? |
2021-02-26 20:37:22 +0100 | <geekosaur> | it doesn't |
2021-02-26 20:37:24 +0100 | <monochrom> | It doesn't. |
2021-02-26 20:38:08 +0100 | <geekosaur> | I'll ask again: are you thinking of guard? |
2021-02-26 20:38:27 +0100 | <__minoru__shirae> | hmm, but it won't run IO actions if they are after when and the condition is met, right? |
2021-02-26 20:38:41 +0100 | <monochrom> | Have you tested? |
2021-02-26 20:38:48 +0100 | <__minoru__shirae> | I'm reading about continuations and callCC |
2021-02-26 20:38:56 +0100 | <geekosaur> | hoo boy |
2021-02-26 20:38:59 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-02-26 20:39:06 +0100 | <monochrom> | That's not IO. |
2021-02-26 20:39:21 +0100 | <__minoru__shirae> | and "when" is used in the examples |
2021-02-26 20:39:23 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 20:39:59 +0100 | mirrorb2rd | (~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42) (Ping timeout: 272 seconds) |
2021-02-26 20:40:08 +0100 | <monochrom> | Has it occurred to you that maybe it's callCC that does the skipping? |
2021-02-26 20:40:15 +0100 | <tomsmeding> | % do when True (putStrLn "abc") ; putStrLn "def" |
2021-02-26 20:40:16 +0100 | <yahb> | tomsmeding: abc; def |
2021-02-26 20:40:40 +0100 | <__minoru__shirae> | oh, I midunderstood the logic of when, then |
2021-02-26 20:40:46 +0100 | alx741 | (~alx741@181.196.69.27) |
2021-02-26 20:41:31 +0100 | <monochrom> | It's every 1st-year STEM student's common sense that if you have two moving parts, you can't just pick one of them and blame everything on it. |
2021-02-26 20:42:56 +0100 | <tomsmeding> | monochrom: do you mean that it _should be_ every 1st-year stem studen's common sense, or that is _is_? |
2021-02-26 20:43:14 +0100 | geekosaur | is always wary of "common sense" |
2021-02-26 20:43:22 +0100 | <monochrom> | hehe |
2021-02-26 20:43:44 +0100 | <tomsmeding> | because the former, sure, but the latter, no way :p |
2021-02-26 20:46:44 +0100 | cntrl | (~cntrl@p200300ea6f413600978678b2fc08a449.dip0.t-ipconnect.de) |
2021-02-26 20:47:51 +0100 | hackage | xlsx 0.8.3 - Simple and incomplete Excel file parser/writer https://hackage.haskell.org/package/xlsx-0.8.3 (KirillZaborsky) |
2021-02-26 20:48:06 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2021-02-26 20:49:24 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 265 seconds) |
2021-02-26 20:50:32 +0100 | <redmp> | I created an issue (for documentation) about the above servant question that I had. If you want to chime in, here's the link: https://github.com/haskell-servant/servant/issues/1394 |
2021-02-26 20:51:18 +0100 | cntrl | (~cntrl@p200300ea6f413600978678b2fc08a449.dip0.t-ipconnect.de) (Client Quit) |
2021-02-26 20:53:41 +0100 | xff0x | (~xff0x@2001:1a81:52d0:d300:e069:1246:9742:b9dd) (Ping timeout: 258 seconds) |
2021-02-26 20:53:41 +0100 | cntrl | (~cntrl@p200300ea6f413600978678b2fc08a449.dip0.t-ipconnect.de) |
2021-02-26 20:54:30 +0100 | xff0x | (~xff0x@2001:1a81:52d0:d300:4228:6d0f:7477:ec73) |
2021-02-26 20:54:38 +0100 | cntrl | (~cntrl@p200300ea6f413600978678b2fc08a449.dip0.t-ipconnect.de) (Client Quit) |
2021-02-26 20:55:56 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:7506:7a46:fb18:8236) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 21:00:21 +0100 | hackage | zip-stream 0.2.1.0 - ZIP archive streaming using conduits https://hackage.haskell.org/package/zip-stream-0.2.1.0 (DylanSimon) |
2021-02-26 21:00:57 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:7506:7a46:fb18:8236) |
2021-02-26 21:01:21 +0100 | hackage | tasty-bench 0.2.2 - Featherlight benchmark framework https://hackage.haskell.org/package/tasty-bench-0.2.2 (Bodigrim) |
2021-02-26 21:01:36 +0100 | syd | (~syd@cpc91646-hart11-2-0-cust432.11-3.cable.virginm.net) (Ping timeout: 240 seconds) |
2021-02-26 21:03:52 +0100 | Rob60 | (268ce492@38.140.228.146) (Quit: Connection closed) |
2021-02-26 21:05:03 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) (Remote host closed the connection) |
2021-02-26 21:05:28 +0100 | petersen | (~petersen@redhat/juhp) (Ping timeout: 276 seconds) |
2021-02-26 21:06:55 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-02-26 21:07:15 +0100 | petersen | (~petersen@redhat/juhp) |
2021-02-26 21:09:58 +0100 | kipras | (~Kipras@78-56-235-39.static.zebra.lt) |
2021-02-26 21:10:31 +0100 | frozenErebus | (~frozenEre@94.128.219.166) |
2021-02-26 21:11:21 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
2021-02-26 21:11:56 +0100 | juri_ | (~juri@178.63.35.222) (Ping timeout: 240 seconds) |
2021-02-26 21:12:40 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) |
2021-02-26 21:13:06 +0100 | Wuzzy | (~Wuzzy@p5790e341.dip0.t-ipconnect.de) |
2021-02-26 21:15:13 +0100 | geowiesnot_bis | (~user@87-89-181-157.abo.bbox.fr) |
2021-02-26 21:15:27 +0100 | lolololppppp | (68ab32ea@104.171.50.234) |
2021-02-26 21:16:17 +0100 | <lolololppppp> | how would you write foldL using foldR in haskell? I have tried for many hours but i do not know |
2021-02-26 21:17:31 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-02-26 21:18:06 +0100 | lolololppppp | (68ab32ea@104.171.50.234) (Client Quit) |
2021-02-26 21:18:11 +0100 | <davean> | lolololppppp: ok, so whats the relation between foldL and foldR? |
2021-02-26 21:18:50 +0100 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) |
2021-02-26 21:21:06 +0100 | geowiesnot_bis | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds) |
2021-02-26 21:21:29 +0100 | fendor_ | (~fendor@91.141.0.74.wireless.dyn.drei.com) |
2021-02-26 21:23:01 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 276 seconds) |
2021-02-26 21:23:52 +0100 | terzievk | (~user@78.90.139.65) |
2021-02-26 21:24:58 +0100 | fendor | (~fendor@178.115.128.24.wireless.dyn.drei.com) (Ping timeout: 276 seconds) |
2021-02-26 21:25:18 +0100 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) (Quit: ...zzzZZZ) |
2021-02-26 21:25:58 +0100 | jneira | (501e6551@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.81) (Ping timeout: 260 seconds) |
2021-02-26 21:26:10 +0100 | averell | (~averell@unaffiliated/averell) (Remote host closed the connection) |
2021-02-26 21:27:45 +0100 | <terzievk> | `ghcup install ghc` finished with `GHC installation successful`, but i get `bash: ghc: command not found`. However installing cabal the same way works fine. What am I missing? |
2021-02-26 21:29:10 +0100 | averell | (~averell@unaffiliated/averell) |
2021-02-26 21:29:24 +0100 | averell | (~averell@unaffiliated/averell) (Remote host closed the connection) |
2021-02-26 21:29:37 +0100 | <maerwald[m]> | terzievk: ghcup set ghc 8.10.4 |
2021-02-26 21:29:55 +0100 | averell | (~averell@unaffiliated/averell) |
2021-02-26 21:30:17 +0100 | <maerwald[m]> | Also see `ghcup tui` |
2021-02-26 21:30:45 +0100 | kipras | (~Kipras@78-56-235-39.static.zebra.lt) (Read error: Connection reset by peer) |
2021-02-26 21:31:27 +0100 | <Uniaika> | the TUI is <3 |
2021-02-26 21:31:39 +0100 | <terzievk> | well, 8.10.4 is installed, but ghcup set does nothing. Should I add something to my bash_profile? |
2021-02-26 21:32:44 +0100 | <Uniaika> | terzievk: yes, I prepend this to my PATH |
2021-02-26 21:32:45 +0100 | <Uniaika> | GHCUP_PATH="${HOME}/.ghcup/bin" |
2021-02-26 21:33:23 +0100 | emmanuel_erc | (~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) |
2021-02-26 21:33:29 +0100 | hiroaki_ | (~hiroaki@2a02:908:4b18:8c40:417b:587b:f9ad:a890) |
2021-02-26 21:33:52 +0100 | juri_ | (~juri@178.63.35.222) |
2021-02-26 21:34:27 +0100 | <maerwald[m]> | terzievk: `source ~/.ghcup/env` |
2021-02-26 21:35:07 +0100 | <maerwald[m]> | Did you install the binary manually? |
2021-02-26 21:35:28 +0100 | <maerwald[m]> | Usually the installation explains those steps |
2021-02-26 21:35:36 +0100 | ukari | (~ukari@unaffiliated/ukari) (Ping timeout: 240 seconds) |
2021-02-26 21:37:03 +0100 | soft-warm | (44695313@ip68-105-83-19.sd.sd.cox.net) (Ping timeout: 240 seconds) |
2021-02-26 21:37:08 +0100 | vchlup_ | (~vchlup@115.128.broadband17.iol.cz) |
2021-02-26 21:37:47 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-02-26 21:37:47 +0100 | <terzievk> | I have no .ghcup/env directory; I got ghcup-hs-bin from AUR, which links to here https://gitlab.haskell.org/haskell/ghcup-hs |
2021-02-26 21:38:10 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 21:39:23 +0100 | <maerwald[m]> | terzievk: https://aur.archlinux.org/cgit/aur.git/tree/ghcup-hs-bin.install?h=ghcup-hs-bin |
2021-02-26 21:39:37 +0100 | <maerwald[m]> | There is a post install message explaining it |
2021-02-26 21:39:39 +0100 | deviantfero | (~deviantfe@190.150.27.58) (Ping timeout: 246 seconds) |
2021-02-26 21:39:53 +0100 | _noblegas | (uid91066@gateway/web/irccloud.com/x-ifvgvksedlldsfmy) (Quit: Connection closed for inactivity) |
2021-02-26 21:40:28 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:7506:7a46:fb18:8236) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 21:41:23 +0100 | orion | (~orion@c-76-19-236-20.hsd1.ct.comcast.net) |
2021-02-26 21:41:23 +0100 | orion | (~orion@c-76-19-236-20.hsd1.ct.comcast.net) (Changing host) |
2021-02-26 21:41:23 +0100 | orion | (~orion@unaffiliated/orion) |
2021-02-26 21:43:03 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds) |
2021-02-26 21:43:25 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-02-26 21:43:43 +0100 | deviantfero | (~deviantfe@190.150.27.58) |
2021-02-26 21:43:47 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr) |
2021-02-26 21:44:09 +0100 | hexagenic | (~mattias@81-224-116-201-no71.tbcn.telia.com) |
2021-02-26 21:44:17 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2021-02-26 21:44:31 +0100 | <terzievk> | maerwald[m]: how did you find this |
2021-02-26 21:44:45 +0100 | <maerwald[m]> | terzievk: magic |
2021-02-26 21:45:31 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 21:45:54 +0100 | <maerwald[m]> | The XDG option might be more popular for arch users |
2021-02-26 21:46:12 +0100 | <maerwald[m]> | I remember they're into that |
2021-02-26 21:46:51 +0100 | <hexagenic> | We're into what now? |
2021-02-26 21:47:26 +0100 | <maerwald[m]> | :D |
2021-02-26 21:47:36 +0100 | <terzievk> | maerwald[m]: thanks :) |
2021-02-26 21:48:12 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-02-26 21:48:23 +0100 | apache8080 | (~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 272 seconds) |
2021-02-26 21:48:27 +0100 | <maerwald[m]> | hexagenic: https://wiki.archlinux.org/index.php/XDG_Base_Directory |
2021-02-26 21:48:40 +0100 | <hexagenic> | Yes, we're into that |
2021-02-26 21:49:15 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-02-26 21:49:36 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr) |
2021-02-26 21:50:53 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr) (Client Quit) |
2021-02-26 21:51:16 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-116-244.w86-198.abo.wanadoo.fr) |
2021-02-26 21:51:42 +0100 | jumper149 | (~jumper149@ip185225.wh.uni-hannover.de) |
2021-02-26 21:53:04 +0100 | <hexagenic> | But who isn't into a wellstrcutured home directory? |
2021-02-26 21:53:58 +0100 | <terzievk> | and now I have to learn what XDG is :d |
2021-02-26 21:55:00 +0100 | <geekosaur> | it's a specification for unixlike desktop machines. in this case specifically it's the base directory specification, which says where applications should put their files |
2021-02-26 21:55:06 +0100 | sujeet | (sujeet@unaffiliated/freeboson) (Quit: bye) |
2021-02-26 21:55:15 +0100 | <geekosaur> | https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html |
2021-02-26 21:55:17 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-02-26 21:55:41 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 21:56:02 +0100 | <geekosaur> | ("XDG" is "X11 Desktop Group" which was the forerunner of the current standards group) |
2021-02-26 21:56:36 +0100 | <davean> | Weird, here I thought GNOME was ;) |
2021-02-26 21:56:49 +0100 | frozenErebus | (~frozenEre@94.128.219.166) (Ping timeout: 276 seconds) |
2021-02-26 21:57:09 +0100 | geekosaur | refuses to go there |
2021-02-26 21:58:31 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
2021-02-26 21:59:03 +0100 | <hexagenic> | To Gnome? |
2021-02-26 21:59:48 +0100 | <geekosaur> | I have Opinions about RH more or less becoming the Linux world's Microsoft |
2021-02-26 22:00:16 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2021-02-26 22:00:50 +0100 | forgottenone | (~forgotten@176.42.27.254) (Quit: Konversation terminated!) |
2021-02-26 22:01:35 +0100 | <maerwald[m]> | Well, in his early days Lennart tried with standards. But at one point he gave up on them |
2021-02-26 22:02:52 +0100 | soft-warm | (44695313@ip68-105-83-19.sd.sd.cox.net) |
2021-02-26 22:04:00 +0100 | knupfer | (~Thunderbi@200116b824ff48008ca8ba96c8c7f12e.dip.versatel-1u1.de) |
2021-02-26 22:04:16 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-02-26 22:05:58 +0100 | justan0theruser | (~justanoth@unaffiliated/justanotheruser) |
2021-02-26 22:06:05 +0100 | jyp | (~user@155.4.127.210) |
2021-02-26 22:06:18 +0100 | emmanuel_erc | (~user@2603-7000-9600-01c9-c589-d024-9ed2-1840.res6.spectrum.com) (Read error: Connection reset by peer) |
2021-02-26 22:06:28 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-02-26 22:07:18 +0100 | <merijn> | I know you meant formal standards, but I'm going to pretend you meant engineering standards ;) |
2021-02-26 22:09:03 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds) |
2021-02-26 22:10:36 +0100 | conal | (~conal@64.71.133.70) |
2021-02-26 22:12:38 +0100 | chrpape | (~user@2a01:4f9:c010:632d::1) |
2021-02-26 22:13:09 +0100 | <maerwald[m]> | Whatever works for bashing Lennart :p |
2021-02-26 22:15:53 +0100 | nineonine | (~nineonine@50.216.62.2) |
2021-02-26 22:17:49 +0100 | nineonin_ | (~nineonine@50.216.62.2) |
2021-02-26 22:19:56 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 240 seconds) |
2021-02-26 22:23:53 +0100 | <terzievk> | came for advice, stayed for the jokes |
2021-02-26 22:23:58 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 22:24:50 +0100 | sujeet | (sujeet@unaffiliated/freeboson) |
2021-02-26 22:27:52 +0100 | Rob38 | (268ce492@38.140.228.146) |
2021-02-26 22:30:20 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:d121:eb35:d957:d1dd) |
2021-02-26 22:32:06 +0100 | frozenErebus | (~frozenEre@94.128.219.166) |
2021-02-26 22:32:32 +0100 | geekosaur | (82650c7a@130.101.12.122) (Quit: Connection closed) |
2021-02-26 22:32:45 +0100 | tafa | (~tafa@vps-83a5c612.vps.ovh.net) |
2021-02-26 22:33:59 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) (Remote host closed the connection) |
2021-02-26 22:34:53 +0100 | son0p | (~son0p@181.136.122.143) |
2021-02-26 22:35:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 276 seconds) |
2021-02-26 22:36:13 +0100 | hexagenic | (~mattias@81-224-116-201-no71.tbcn.telia.com) (Quit: WeeChat 1.9.1) |
2021-02-26 22:37:38 +0100 | akasha | (~user@unaffiliated/akasha) |
2021-02-26 22:38:14 +0100 | dmwit | (~dmwit@pool-173-66-86-32.washdc.fios.verizon.net) |
2021-02-26 22:38:57 +0100 | ixlun | (~user@213.205.241.237) |
2021-02-26 22:40:37 +0100 | elliott_ | (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) |
2021-02-26 22:40:48 +0100 | kam1 | (~kam1@5.125.126.175) (Remote host closed the connection) |
2021-02-26 22:41:21 +0100 | errst | (~errst@unaffiliated/tirej) (Ping timeout: 264 seconds) |
2021-02-26 22:41:29 +0100 | <ixlun> | Hi all, quick question. I've got data EvalM = StateT (Map String Obj) IO, and I'm trying to do: 'doEval obj = eval obj >>= lift print' |
2021-02-26 22:41:42 +0100 | <ixlun> | However, for some reason lift print doesn't typecheck |
2021-02-26 22:42:05 +0100 | <ixlun> | where doEval :: Eval () |
2021-02-26 22:42:12 +0100 | kam1 | (~kam1@5.125.126.175) |
2021-02-26 22:42:45 +0100 | <ixlun> | oops, doEval :: EvalM () |
2021-02-26 22:44:31 +0100 | Rob38 | (268ce492@38.140.228.146) (Quit: Connection closed) |
2021-02-26 22:45:01 +0100 | banyanRob | (268ce492@38.140.228.146) |
2021-02-26 22:45:42 +0100 | geyaeb | (~geyaeb@gateway/tor-sasl/geyaeb) |
2021-02-26 22:46:04 +0100 | <ixlun> | I'm guessing that '>>=' doesn't do what I think it does on a transformed monad |
2021-02-26 22:46:10 +0100 | geyaeb_ | (~geyaeb@gateway/tor-sasl/geyaeb) (Remote host closed the connection) |
2021-02-26 22:46:52 +0100 | frozenErebus | (~frozenEre@94.128.219.166) (Ping timeout: 276 seconds) |
2021-02-26 22:46:56 +0100 | alx741 | (~alx741@181.196.69.27) (Ping timeout: 240 seconds) |
2021-02-26 22:47:10 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-02-26 22:47:36 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 22:47:37 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-02-26 22:48:36 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2021-02-26 22:51:43 +0100 | justan0theruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds) |
2021-02-26 22:52:23 +0100 | Tops2 | (~Tobias@dyndsl-095-033-090-206.ewe-ip-backbone.de) |
2021-02-26 22:53:12 +0100 | dirediresalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
2021-02-26 22:56:06 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:54c9:782b:f60f:635d) |
2021-02-26 22:56:31 +0100 | deviantfero | (~deviantfe@190.150.27.58) (Ping timeout: 265 seconds) |
2021-02-26 22:56:33 +0100 | <monochrom> | lift . print |
2021-02-26 22:57:04 +0100 | <monochrom> | For beginners it is best to not write pointfreely. Then everything makes sense. |
2021-02-26 22:57:16 +0100 | <monochrom> | eval obj >>= \x -> lift (print x) |
2021-02-26 22:57:35 +0100 | lawid | (~quassel@dslb-090-186-099-002.090.186.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
2021-02-26 22:58:14 +0100 | ubert | (~Thunderbi@p200300ecdf25d992a0d2e31ed48a2cf4.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2021-02-26 22:58:41 +0100 | lawid | (~quassel@dslb-090-186-099-002.090.186.pools.vodafone-ip.de) |
2021-02-26 22:59:49 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-02-26 23:00:12 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 23:00:16 +0100 | alx741 | (~alx741@186.178.108.37) |
2021-02-26 23:02:16 +0100 | <ixlun> | Ah, yeah that makes sense. Thanks monochrom |
2021-02-26 23:04:44 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 265 seconds) |
2021-02-26 23:05:35 +0100 | rndnoise | (~rndnoise@136.32.107.152) |
2021-02-26 23:06:36 +0100 | <rndnoise> | /query NickServ |
2021-02-26 23:06:51 +0100 | hackage | yesod-markdown 0.12.6.4 - Tools for using markdown in a yesod application https://hackage.haskell.org/package/yesod-markdown-0.12.6.4 (PatrickBrisbin) |
2021-02-26 23:06:56 +0100 | sm2n | (~sm2n@bras-base-hmtnon1497w-grc-43-64-231-95-247.dsl.bell.ca) (Ping timeout: 240 seconds) |
2021-02-26 23:07:02 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-02-26 23:07:06 +0100 | banyanRob | (268ce492@38.140.228.146) (Quit: Connection closed) |
2021-02-26 23:08:09 +0100 | rndnoise | (~rndnoise@136.32.107.152) () |
2021-02-26 23:09:06 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 246 seconds) |
2021-02-26 23:12:03 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-02-26 23:13:16 +0100 | frozenErebus | (~frozenEre@94.128.219.166) |
2021-02-26 23:13:23 +0100 | coot | (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2021-02-26 23:14:15 +0100 | kam1 | (~kam1@5.125.126.175) (Remote host closed the connection) |
2021-02-26 23:14:20 +0100 | apache8080 | (~rishi@wsip-70-168-153-252.oc.oc.cox.net) |
2021-02-26 23:14:48 +0100 | kam1 | (~kam1@5.125.126.175) |
2021-02-26 23:16:28 +0100 | deviantfero | (~deviantfe@190.150.27.58) |
2021-02-26 23:16:49 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 265 seconds) |
2021-02-26 23:18:41 +0100 | mp___ | (mp@hell.cx) (Remote host closed the connection) |
2021-02-26 23:18:58 +0100 | ezrakilty | (~ezrakilty@97-113-55-149.tukw.qwest.net) |
2021-02-26 23:21:50 +0100 | kam1 | (~kam1@5.125.126.175) (Remote host closed the connection) |
2021-02-26 23:22:15 +0100 | kam1 | (~kam1@5.125.126.175) |
2021-02-26 23:23:07 +0100 | <ij> | shapr, well, since hip uses juicypixels and juicypixels says it's a serialization library, it seems like hip has more power and is more general and probably also more convenient |
2021-02-26 23:23:35 +0100 | fendor_ | (~fendor@91.141.0.74.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
2021-02-26 23:24:32 +0100 | mp___ | (mp@hell.cx) |
2021-02-26 23:24:50 +0100 | michalz | (~user@185.246.204.61) (Remote host closed the connection) |
2021-02-26 23:27:45 +0100 | terzievk | (~user@78.90.139.65) (Remote host closed the connection) |
2021-02-26 23:27:50 +0100 | rndnoise | (~rndnoise@136.32.107.152) |
2021-02-26 23:28:28 +0100 | ixlun | (~user@213.205.241.237) (Ping timeout: 276 seconds) |
2021-02-26 23:29:05 +0100 | geowiesnot_bis | (~user@87-89-181-157.abo.bbox.fr) |
2021-02-26 23:29:48 +0100 | merelyme | (~merelyme@192.154.196.18) |
2021-02-26 23:30:21 +0100 | dftxbs3e | (~dftxbs3e@unaffiliated/dftxbs3e) (Remote host closed the connection) |
2021-02-26 23:31:52 +0100 | theelous3 | (~theelous3@unaffiliated/theelous3) |
2021-02-26 23:32:04 +0100 | conal | (~conal@64.71.133.70) |
2021-02-26 23:32:27 +0100 | neiluj | (~jco@unaffiliated/neiluj) (Quit: leaving) |
2021-02-26 23:34:40 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2021-02-26 23:38:13 +0100 | jyp | (~user@155.4.127.210) (Ping timeout: 276 seconds) |
2021-02-26 23:39:20 +0100 | ezrakilty | (~ezrakilty@97-113-55-149.tukw.qwest.net) (Remote host closed the connection) |
2021-02-26 23:39:28 +0100 | knupfer | (~Thunderbi@200116b824ff48008ca8ba96c8c7f12e.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
2021-02-26 23:39:51 +0100 | merelyme | (~merelyme@192.154.196.18) (Ping timeout: 272 seconds) |
2021-02-26 23:41:57 +0100 | Franciman | (~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving) |
2021-02-26 23:43:10 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection) |
2021-02-26 23:43:31 +0100 | catt | (~r@31.127.31.99) (Remote host closed the connection) |
2021-02-26 23:43:47 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:d121:eb35:d957:d1dd) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-02-26 23:48:14 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-02-26 23:48:38 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-02-26 23:49:27 +0100 | mouseghost | (~draco@wikipedia/desperek) (Quit: mew wew) |
2021-02-26 23:53:49 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 276 seconds) |
2021-02-26 23:57:50 +0100 | Narinas | (~Narinas@187.250.25.111.dsl.dyn.telnor.net) |
2021-02-26 23:58:12 +0100 | __monty__ | (~toonn@unaffiliated/toonn) (Quit: leaving) |
2021-02-26 23:58:36 +0100 | conal | (~conal@64.71.133.70) |
2021-02-26 23:59:01 +0100 | myShoggoth | (~myShoggot@75.164.81.55) (Ping timeout: 276 seconds) |
2021-02-26 23:59:37 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |