2021-07-07 00:02:00 +0200 | hgolden | (uid507415@id-507415.highgate.irccloud.com) () |
2021-07-07 00:02:20 +0200 | hgolden | (uid507415@id-507415.highgate.irccloud.com) |
2021-07-07 00:02:55 +0200 | dunj3 | (~dunj3@2001:16b8:30db:ce00:b825:b46d:5278:e0d1) (Remote host closed the connection) |
2021-07-07 00:03:09 +0200 | hgolden | (uid507415@id-507415.highgate.irccloud.com) (Client Quit) |
2021-07-07 00:03:26 +0200 | hgolden | (uid507415@id-507415.highgate.irccloud.com) |
2021-07-07 00:03:44 +0200 | warnz | (~warnz@2600:1700:77c0:5610:a5ca:de51:28ba:edf0) (Ping timeout: 252 seconds) |
2021-07-07 00:16:24 +0200 | zeenk | (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) (Quit: Konversation terminated!) |
2021-07-07 00:19:02 +0200 | chris-the-slurpa | (~chris@81.96.113.213) |
2021-07-07 00:24:36 +0200 | Nyeogmi | (~Nyeogmi@2601:645:8700:bea0:4d5e:7bf4:e290:5648) |
2021-07-07 00:26:11 +0200 | ubert | (~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) (Quit: ubert) |
2021-07-07 00:33:34 +0200 | warnz | (~warnz@2600:1700:77c0:5610:a5ca:de51:28ba:edf0) |
2021-07-07 00:35:00 +0200 | haskl[error] | (~haskl@98.37.78.63) |
2021-07-07 00:35:07 +0200 | haskl | (~haskl@user/haskl) (Ping timeout: 246 seconds) |
2021-07-07 00:37:25 +0200 | sh9 | (~sh9@softbank060116136158.bbtec.net) |
2021-07-07 00:37:46 +0200 | warnz | (~warnz@2600:1700:77c0:5610:a5ca:de51:28ba:edf0) (Ping timeout: 246 seconds) |
2021-07-07 00:39:25 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-07-07 00:40:37 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
2021-07-07 00:41:07 +0200 | hexfive | (~eric@50.35.83.177) |
2021-07-07 00:41:20 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-07 00:41:49 +0200 | obfusk | (~quassel@a82-161-150-56.adsl.xs4all.nl) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-07-07 00:42:10 +0200 | obfusk | (~quassel@a82-161-150-56.adsl.xs4all.nl) |
2021-07-07 00:42:40 +0200 | ephemient | (uid407513@id-407513.tooting.irccloud.com) |
2021-07-07 00:42:57 +0200 | hexfive | (~eric@50.35.83.177) (Client Quit) |
2021-07-07 00:43:02 +0200 | chris-the-slurpa | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-07-07 00:43:33 +0200 | chris-the-slurpa | (~chris@81.96.113.213) |
2021-07-07 00:46:05 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-07-07 00:47:13 +0200 | xff0x | (~xff0x@2001:1a81:5361:2500:809c:f58:ea4b:fa4b) (Ping timeout: 246 seconds) |
2021-07-07 00:47:46 +0200 | chris-the-slurpa | (~chris@81.96.113.213) (Ping timeout: 240 seconds) |
2021-07-07 00:48:17 +0200 | xff0x | (~xff0x@2001:1a81:5361:2500:d703:4594:70ae:f456) |
2021-07-07 00:50:06 +0200 | chris-the-slurpa | (~chris@81.96.113.213) |
2021-07-07 00:51:33 +0200 | Ariakenom | (~Ariakenom@c83-255-154-140.bredband.tele2.se) |
2021-07-07 00:51:49 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |
2021-07-07 00:52:15 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
2021-07-07 00:56:04 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 01:00:31 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 246 seconds) |
2021-07-07 01:01:41 +0200 | berberman | (~berberman@user/berberman) |
2021-07-07 01:08:15 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-07-07 01:12:45 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-07-07 01:20:41 +0200 | cjb | (~cjb@user/cjb) |
2021-07-07 01:26:27 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-07-07 01:31:11 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
2021-07-07 01:31:19 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 246 seconds) |
2021-07-07 01:31:43 +0200 | waleee | (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) |
2021-07-07 01:36:44 +0200 | Ariakenom | (~Ariakenom@c83-255-154-140.bredband.tele2.se) (Read error: Connection reset by peer) |
2021-07-07 01:37:07 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2021-07-07 01:42:24 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 01:46:42 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 252 seconds) |
2021-07-07 01:47:10 +0200 | hendursa1 | (~weechat@user/hendursaga) (Remote host closed the connection) |
2021-07-07 01:47:48 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9519d1d3899e95f4527e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2021-07-07 01:48:21 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-07-07 01:49:31 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 246 seconds) |
2021-07-07 01:51:23 +0200 | benin0369 | (~benin@183.82.204.181) |
2021-07-07 01:55:44 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-07-07 01:56:10 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
2021-07-07 01:58:26 +0200 | lortabac | (~lortabac@95.138.56.124) (Ping timeout: 272 seconds) |
2021-07-07 02:05:03 +0200 | sh9 | (~sh9@softbank060116136158.bbtec.net) (Quit: WeeChat 3.0.1) |
2021-07-07 02:08:33 +0200 | dajoer | (~david@user/gvx) |
2021-07-07 02:09:25 +0200 | Axman6 | (~Axman6@user/axman6) (Remote host closed the connection) |
2021-07-07 02:09:39 +0200 | Axman6 | (~Axman6@user/axman6) |
2021-07-07 02:15:19 +0200 | mpt | (~tom@2a02:908:1862:49e0::8) |
2021-07-07 02:17:28 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-07-07 02:17:49 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-07-07 02:18:26 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2021-07-07 02:19:01 +0200 | leah2 | (~leah@vuxu.org) (Read error: Connection reset by peer) |
2021-07-07 02:21:35 +0200 | Deide | (~Deide@user/deide) (Quit: Seeee yaaaa) |
2021-07-07 02:22:38 +0200 | P1RATEZ | (piratez@user/p1ratez) (Remote host closed the connection) |
2021-07-07 02:29:25 +0200 | mpt | (~tom@2a02:908:1862:49e0::8) (Ping timeout: 246 seconds) |
2021-07-07 02:33:53 +0200 | beka | (~beka@104.193.170-244.PUBLIC.monkeybrains.net) (Ping timeout: 252 seconds) |
2021-07-07 02:34:49 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-07-07 02:41:39 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-07 02:45:15 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 02:45:46 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-07-07 02:53:07 +0200 | shapr` | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-07-07 02:54:54 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-07-07 03:01:21 +0200 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
2021-07-07 03:06:38 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-07-07 03:11:20 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-07-07 03:12:27 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-07-07 03:18:11 +0200 | chris-the-slurpa | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-07-07 03:18:44 +0200 | chris-the-slurpa | (~chris@81.96.113.213) |
2021-07-07 03:23:30 +0200 | chris-the-slurpa | (~chris@81.96.113.213) (Ping timeout: 252 seconds) |
2021-07-07 03:28:51 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 265 seconds) |
2021-07-07 03:30:53 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-07-07 03:33:58 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 244 seconds) |
2021-07-07 03:35:29 +0200 | xff0x | (~xff0x@2001:1a81:5361:2500:d703:4594:70ae:f456) (Ping timeout: 252 seconds) |
2021-07-07 03:35:56 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2021-07-07 03:37:35 +0200 | xff0x | (~xff0x@2001:1a81:539d:3600:fb37:d824:cc4b:5c87) |
2021-07-07 03:44:38 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
2021-07-07 03:44:43 +0200 | neurocyte403 | (~neurocyte@IP-185189140104.dynamic.medianet-world.de) |
2021-07-07 03:44:43 +0200 | neurocyte403 | (~neurocyte@IP-185189140104.dynamic.medianet-world.de) (Changing host) |
2021-07-07 03:44:43 +0200 | neurocyte403 | (~neurocyte@user/neurocyte) |
2021-07-07 03:45:02 +0200 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Quit: Leaving) |
2021-07-07 03:45:54 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-07-07 03:48:15 +0200 | neurocyte40 | (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds) |
2021-07-07 03:48:15 +0200 | neurocyte403 | neurocyte40 |
2021-07-07 03:48:41 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-07-07 03:52:03 +0200 | chris-the-slurpa | (~chris@81.96.113.213) |
2021-07-07 03:54:05 +0200 | <qrpnxz> | ah nice, haskell has case lambdas |
2021-07-07 03:54:33 +0200 | <Axman6> | also known as LambdaCase |
2021-07-07 03:55:10 +0200 | ebn | (~ebn@h-46-59-94-79.A463.priv.bahnhof.se) |
2021-07-07 03:55:39 +0200 | <qrpnxz> | wait, ApplicativeDo not on by default? why? |
2021-07-07 03:56:08 +0200 | <geekosaur> | becuase it massively complicates desugaring do-s |
2021-07-07 03:56:13 +0200 | chris-the-slurpa | (~chris@81.96.113.213) (Ping timeout: 246 seconds) |
2021-07-07 03:56:57 +0200 | <qrpnxz> | well i'm not doing it by hand xD |
2021-07-07 03:57:11 +0200 | <geekosaur> | besides which almost no extensions over H2010 are on by default |
2021-07-07 03:57:24 +0200 | <qrpnxz> | fair enough |
2021-07-07 03:57:26 +0200 | <geekosaur> | unless you're talking about GHC2021 in 9.2-pre maybe |
2021-07-07 03:57:37 +0200 | Mathnerd314 | (~Mathnerd3@2601:281:d080:4533::1000) |
2021-07-07 03:57:42 +0200 | beka | (~beka@104-244-27-23.static.monkeybrains.net) |
2021-07-07 03:57:56 +0200 | <qrpnxz> | :O |
2021-07-07 03:58:04 +0200 | <qrpnxz> | didn't know that was coming |
2021-07-07 03:58:05 +0200 | <qrpnxz> | epic |
2021-07-07 04:00:05 +0200 | <geekosaur> | looks like it's not in GHC2021 either |
2021-07-07 04:01:01 +0200 | mei | (~mei@user/mei) (Read error: Connection reset by peer) |
2021-07-07 04:01:25 +0200 | <qrpnxz> | hm, well i'm sure a lot of other cool stuff is, reading the prop right now |
2021-07-07 04:02:25 +0200 | <geekosaur> | actually it's quite conservative |
2021-07-07 04:03:21 +0200 | <geekosaur> | no LambdaCase I notice |
2021-07-07 04:06:18 +0200 | <Mathnerd314> | Is there a paper or something on defining IO as an operational monad like `data IO a = Val a | Put Str (IO a) | Get (Str -> IO a)`? As an alternative to the State# RealWorld stuff it seems worth exploring. |
2021-07-07 04:07:12 +0200 | <geekosaur> | I think that runs into complications once you bring in things like FFI |
2021-07-07 04:07:17 +0200 | <qrpnxz> | it's like two dozen, it's a lot |
2021-07-07 04:11:16 +0200 | <c_wraith> | Mathnerd314: edwardk wrote some articles about using that model for Ermine |
2021-07-07 04:13:00 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-07-07 04:13:01 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-07-07 04:13:46 +0200 | ebn | (~ebn@h-46-59-94-79.A463.priv.bahnhof.se) (Remote host closed the connection) |
2021-07-07 04:15:27 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) |
2021-07-07 04:17:20 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 258 seconds) |
2021-07-07 04:18:34 +0200 | alx741 | (~alx741@181.196.69.147) (Quit: alx741) |
2021-07-07 04:23:14 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-07-07 04:23:15 +0200 | hgolden_ | (~hgolden2@cpe-172-114-84-61.socal.res.rr.com) |
2021-07-07 04:24:41 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2021-07-07 04:24:41 +0200 | FinnElija | Guest1139 |
2021-07-07 04:24:41 +0200 | finn_elija | FinnElija |
2021-07-07 04:24:42 +0200 | <qrpnxz> | this page shows there an indeed very clever ways to get primes as fast as the C code https://wiki.haskell.org/Prime_numbers namely this one `primes = 2 : 3 : minus [5,7..] (unionAll [[p*p, p*p+2*p..] | p <- tail primes])` using some *really* neat-o, yet straight-forward, stuff from the data-ordlist package. Now sure, this different algorithm could also be translated into C, but even if you had the source f |
2021-07-07 04:24:42 +0200 | <qrpnxz> | or all the library functions used here, reimplementing it and getting it to have the correct lazy behaviour to stream would be total hell and super coupled. Haskell powerful! |
2021-07-07 04:24:59 +0200 | td_ | (~td@94.134.91.135) (Ping timeout: 252 seconds) |
2021-07-07 04:26:35 +0200 | td_ | (~td@94.134.91.101) |
2021-07-07 04:27:19 +0200 | <qrpnxz> | on the other hand, idk if i woulda ever come up with that, but hey, it's there lol |
2021-07-07 04:27:24 +0200 | <Mathnerd314> | c_wraith: ah, the blog post "Free monads for less" mentions http://www.cs.ru.nl/~W.Swierstra/Publications/DataTypesALaCarte.pdf, which uses a free monad with I/O at the end. I guess that's as close as I'll get |
2021-07-07 04:27:43 +0200 | Guest1139 | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 246 seconds) |
2021-07-07 04:30:43 +0200 | <qrpnxz> | that solution is way to cool, easily understood and so fast |
2021-07-07 04:32:07 +0200 | lemmih | (~lemmih@2406:3003:2072:44:5d:3e69:de9c:e320) (Quit: Leaving) |
2021-07-07 04:32:57 +0200 | <monochrom> | Haskell2010, Ubuntu 21.04, GHC2021, and T-1000 |
2021-07-07 04:41:56 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-07 04:42:10 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 04:43:04 +0200 | biberu | (~biberu@user/biberu) (Read error: Connection reset by peer) |
2021-07-07 04:45:50 +0200 | charukiewicz_ | charukiewicz |
2021-07-07 04:46:10 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-07-07 04:47:06 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-07-07 04:48:45 +0200 | shapr` | (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-07-07 04:49:55 +0200 | warnz | (~warnz@2600:1700:77c0:5610:a5ca:de51:28ba:edf0) |
2021-07-07 04:50:17 +0200 | waleee | (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 252 seconds) |
2021-07-07 04:50:35 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
2021-07-07 04:52:21 +0200 | geekosaur | (~geekosaur@xmonad/geekosaur) |
2021-07-07 04:54:15 +0200 | warnz | (~warnz@2600:1700:77c0:5610:a5ca:de51:28ba:edf0) (Ping timeout: 252 seconds) |
2021-07-07 04:55:14 +0200 | <qrpnxz> | even with really simple implementations for minus and unionAll, it performs rather well |
2021-07-07 04:58:15 +0200 | <monochrom> | Yeah pretty nice. |
2021-07-07 04:58:40 +0200 | <monochrom> | I also just ran into a case of: my student's solution is both simpler and faster than mine. :) |
2021-07-07 05:00:32 +0200 | <qrpnxz> | lol, the essence of bittersweat |
2021-07-07 05:00:35 +0200 | <qrpnxz> | *sweet |
2021-07-07 05:00:43 +0200 | <qrpnxz> | bittersweat ew! |
2021-07-07 05:06:32 +0200 | Reyu[M] | (~reyureyuz@matrix.reyuzenfold.com) (Remote host closed the connection) |
2021-07-07 05:07:09 +0200 | Reyu[M] | (~reyureyuz@matrix.reyuzenfold.com) |
2021-07-07 05:09:56 +0200 | chris-the-slurpa | (~chris@81.96.113.213) |
2021-07-07 05:10:20 +0200 | <Mathnerd314> | aha, the paper I was looking for: https://www.cs.nott.ac.uk/~psztxa/publ/beast.pdf |
2021-07-07 05:10:57 +0200 | zebrag | (~chris@user/zebrag) (Remote host closed the connection) |
2021-07-07 05:11:56 +0200 | <Mathnerd314> | although, it's a model, not directly compiling with the types |
2021-07-07 05:14:03 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-07 05:18:28 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-07-07 05:20:08 +0200 | finsternis | (~X@23.226.237.192) (Remote host closed the connection) |
2021-07-07 05:22:58 +0200 | <qrpnxz> | what's this about? |
2021-07-07 05:23:00 +0200 | khumba | (~khumba@user/khumba) |
2021-07-07 05:24:10 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds) |
2021-07-07 05:25:06 +0200 | <Mathnerd314> | I'm looking for papers about defining IO as an operational monad like `data IO a = Val a | Put Str (IO a) | Get (Str -> IO a)`. So far: Ermine uses a Codensity monad with an FFI datatype. A few papers on modeling IO with free monads. |
2021-07-07 05:28:14 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-07-07 05:28:28 +0200 | anandprabhu | (~anandprab@94.202.243.198) |
2021-07-07 05:29:29 +0200 | <Mathnerd314> | or rather, not Codensity, but the "indexed store comonad". http://comonad.com/reader/2011/free-monads-for-less-3/ |
2021-07-07 05:32:28 +0200 | wei2912 | (~wei2912@112.199.250.21) |
2021-07-07 05:32:34 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 240 seconds) |
2021-07-07 05:42:51 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-07-07 05:42:53 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2021-07-07 05:43:33 +0200 | keutoi | (~keutoi@157.47.77.5) |
2021-07-07 05:46:42 +0200 | <keutoi> | I came across this in Semigroup instance of NonEmpty a. |
2021-07-07 05:46:44 +0200 | <keutoi> | (a :| as) <> ~(b :| bs) = a :| (as ++ b : bs) |
2021-07-07 05:46:53 +0200 | <keutoi> | Why is the lazy pattern used? |
2021-07-07 05:47:36 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 252 seconds) |
2021-07-07 05:53:15 +0200 | <monochrom> | To be as lazy as the [a] case: (a:as) ++ ys = a : (as ++ ys). |
2021-07-07 05:53:43 +0200 | <monochrom> | No one wants (a:as) ++ (b:bs) = a : (as ++ (b:bs)) |
2021-07-07 05:54:31 +0200 | <monochrom> | In both cases people would like head ((1:undefined) <> undefined) = 1 |
2021-07-07 06:02:22 +0200 | dunkeln | (~dunkeln@188.70.10.207) |
2021-07-07 06:02:57 +0200 | <qrpnxz> | oh my lord that page has some crazier even faster algos, all fitting on a postcard, all using lists! |
2021-07-07 06:05:43 +0200 | <keutoi> | monochrom: thank you |
2021-07-07 06:12:48 +0200 | oxide | (~lambda@user/oxide) |
2021-07-07 06:16:56 +0200 | hewxle | (~hewxle@S010600fc8d321b13.vn.shawcable.net) |
2021-07-07 06:24:20 +0200 | hewxle | (~hewxle@S010600fc8d321b13.vn.shawcable.net) (Ping timeout: 252 seconds) |
2021-07-07 06:25:41 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2021-07-07 06:26:20 +0200 | gambpang | (~ian@207.181.230.156) |
2021-07-07 06:34:04 +0200 | Mathnerd314 | (~Mathnerd3@2601:281:d080:4533::1000) (Quit: Client closed) |
2021-07-07 06:36:41 +0200 | hewxle | (~hewxle@S010600fc8d321b13.vn.shawcable.net) |
2021-07-07 06:39:01 +0200 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) (Quit: Leaving.) |
2021-07-07 06:39:53 +0200 | m7zs3gzw | (~m7zs3gzw@188.170.172.108) |
2021-07-07 06:41:37 +0200 | m7zs3gzw | (~m7zs3gzw@188.170.172.108) (Remote host closed the connection) |
2021-07-07 06:43:24 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 06:47:46 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
2021-07-07 06:52:10 +0200 | dunkeln | (~dunkeln@188.70.10.207) (Ping timeout: 240 seconds) |
2021-07-07 06:55:47 +0200 | jakalx | (~jakalx@base.jakalx.net) |
2021-07-07 06:57:16 +0200 | fengctor | (~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca) |
2021-07-07 06:59:58 +0200 | hewxle | (~hewxle@S010600fc8d321b13.vn.shawcable.net) () |
2021-07-07 07:01:00 +0200 | gambpang | (~ian@207.181.230.156) (Remote host closed the connection) |
2021-07-07 07:05:11 +0200 | spatchkaa | (~spatchkaa@S010600fc8da47b63.gv.shawcable.net) (Quit: Leaving) |
2021-07-07 07:06:14 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
2021-07-07 07:11:22 +0200 | hewxle | (~hewxle@user/hewxle) |
2021-07-07 07:13:05 +0200 | anandprabhu | (~anandprab@94.202.243.198) (Quit: Leaving) |
2021-07-07 07:13:05 +0200 | dunkeln_ | (~dunkeln@188.70.10.207) |
2021-07-07 07:14:14 +0200 | <Axman6> | qrpnxz: which page? |
2021-07-07 07:14:33 +0200 | <qrpnxz> | this https://wiki.haskell.org/Prime_numbers |
2021-07-07 07:14:56 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
2021-07-07 07:15:23 +0200 | <Axman6> | there was a talk on this recently actually, I'll see if I can find it |
2021-07-07 07:16:55 +0200 | mei | (~mei@user/mei) |
2021-07-07 07:18:13 +0200 | <Axman6> | I don't think this is the one I was after but it looks like you might enjoy it: https://www.youtube.com/watch?v=UPy7TXgrK1A |
2021-07-07 07:19:36 +0200 | <qrpnxz> | :o thanks |
2021-07-07 07:20:33 +0200 | dunkeln_ | (~dunkeln@188.70.10.207) (Ping timeout: 252 seconds) |
2021-07-07 07:21:18 +0200 | dunkeln | (~dunkeln@188.70.10.207) |
2021-07-07 07:24:24 +0200 | jneira | (~jneira@212.8.115.226) |
2021-07-07 07:29:43 +0200 | xff0x | (~xff0x@2001:1a81:539d:3600:fb37:d824:cc4b:5c87) (Ping timeout: 246 seconds) |
2021-07-07 07:29:51 +0200 | <Axman6> | I think this is the thing I was looking for: https://patternsinfp.wordpress.com/2021/05/10/the-genuine-sieve-of-eratosthenes/ |
2021-07-07 07:30:52 +0200 | xff0x | (~xff0x@2001:1a81:539d:3600:7f6d:8918:f53:97d7) |
2021-07-07 07:31:35 +0200 | <qrpnxz> | huh, will look at that |
2021-07-07 07:31:37 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-07-07 07:35:40 +0200 | canta | (~canta@cvm0.d5k.one) (Quit: WeeChat 2.8) |
2021-07-07 07:35:46 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-07-07 07:35:50 +0200 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 265 seconds) |
2021-07-07 07:44:43 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 07:45:30 +0200 | hewxle | (~hewxle@user/hewxle) (Ping timeout: 272 seconds) |
2021-07-07 07:47:59 +0200 | canta | (~canta@user/canta) |
2021-07-07 07:49:09 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-07-07 07:49:38 +0200 | jonatan | (~nate@h77-53-70-163.cust.a3fiber.se) (Remote host closed the connection) |
2021-07-07 07:52:49 +0200 | hiruji | (~hiruji@user/hiruji) (Read error: Connection reset by peer) |
2021-07-07 07:53:29 +0200 | hiruji | (~hiruji@user/hiruji) |
2021-07-07 07:58:44 +0200 | fengctor | (~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca) (Read error: Connection reset by peer) |
2021-07-07 08:05:20 +0200 | haskl[error] | (~haskl@98.37.78.63) (Changing host) |
2021-07-07 08:05:20 +0200 | haskl[error] | (~haskl@user/haskl) |
2021-07-07 08:06:21 +0200 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
2021-07-07 08:08:00 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) (Quit: leaving) |
2021-07-07 08:08:27 +0200 | <haskl[error]> | I'm going to make a website that has a graphical representation of chat rooms. Which libraries should I look at? Miso? `websockets`? Any suggestions? |
2021-07-07 08:09:23 +0200 | haskl[error] | haskl |
2021-07-07 08:12:46 +0200 | khumba | (~khumba@user/khumba) () |
2021-07-07 08:14:04 +0200 | <dminuoso> | qrpnxz: Re aggressive optimizations in GCC/clang. All of these optimizations are either in accordance with the semantic model of the underlying language, or they are not observable. |
2021-07-07 08:14:10 +0200 | beka | (~beka@104-244-27-23.static.monkeybrains.net) (Ping timeout: 240 seconds) |
2021-07-07 08:14:58 +0200 | dunkeln | (~dunkeln@188.70.10.207) (Ping timeout: 240 seconds) |
2021-07-07 08:16:39 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2021-07-07 08:16:43 +0200 | Kirat | (~Gill@103.217.122.15) |
2021-07-07 08:16:50 +0200 | cheater | (~Username@user/cheater) |
2021-07-07 08:17:16 +0200 | kammka | (~kammka@188.27.129.10) |
2021-07-07 08:18:11 +0200 | Kirat | (~Gill@103.217.122.15) (Client Quit) |
2021-07-07 08:19:13 +0200 | jespada | (~jespada@90.254.247.46) (Ping timeout: 258 seconds) |
2021-07-07 08:20:33 +0200 | <kammka> | Hello! Could you guys point out why is my intuition wrong on this? According to this : -- foldl :: (b -> a -> b) -> b -> [a] -> b |
2021-07-07 08:20:33 +0200 | <kammka> | -- foldl f b [] = b |
2021-07-07 08:20:34 +0200 | <kammka> | -- foldl f b (x:xs) = foldl f (f b x) xs |
2021-07-07 08:21:06 +0200 | jespada | (~jespada@90.254.247.46) |
2021-07-07 08:22:10 +0200 | kammka | (~kammka@188.27.129.10) (Quit: Client closed) |
2021-07-07 08:22:21 +0200 | kammka | (~kammka@188.27.129.10) |
2021-07-07 08:23:13 +0200 | <dminuoso> | kammka: Your client was closed. The last line we received was: 08:20:34 kammka | -- foldl f b (x:xs) = foldl f (f b x) xs |
2021-07-07 08:24:14 +0200 | <dminuoso> | qrpnxz: In part the reason why Haskell gets away with pretty good performance, is because our evaluation model makes larger scale transformations easy. We have relatively little rules with regards to evaluation. |
2021-07-07 08:24:14 +0200 | <kammka> | dminuoso : Oh, dang. I pasted the code here : https://paste.tomsmeding.com/AT3fU529 |
2021-07-07 08:24:27 +0200 | <dminuoso> | kammka: Alright! What does your intuition tell you? |
2021-07-07 08:25:22 +0200 | <kammka> | That foldl (+) ((+) ((+) 0 2) 3) [] |
2021-07-07 08:25:23 +0200 | <kammka> | should pattern match to foldl f b [] and return that 0 that I put at the end |
2021-07-07 08:25:26 +0200 | <kammka> | But surely that is wrong |
2021-07-07 08:25:55 +0200 | <dminuoso> | kammka: Do you know how lists in Haskell are constructed with (:) and []? |
2021-07-07 08:26:31 +0200 | <kammka> | Yes? I thought [3] is 3 : [] |
2021-07-07 08:27:19 +0200 | <dminuoso> | Yes, good. Just making sure that your basis is covered |
2021-07-07 08:27:50 +0200 | <shachaf> | kammka: I think the question here is where the second 0 comes from on the last line. |
2021-07-07 08:29:37 +0200 | <kammka> | I suppose I was thinking that the 0 comes from f b [] = b. Maybe I shouldnt have put it there.. |
2021-07-07 08:30:07 +0200 | <kammka> | I did this for foldr : https://paste.tomsmeding.com/TUcmHsST |
2021-07-07 08:30:17 +0200 | <kammka> | And that seems ok, right? |
2021-07-07 08:30:42 +0200 | <dminuoso> | Looks good |
2021-07-07 08:31:59 +0200 | <dminuoso> | Well, you did expansoin both times right. So the way I think of foldr/foldl on lists, is that it replaces (:) with a function. |
2021-07-07 08:32:01 +0200 | <kammka> | so I thought this : foldl (+) ((+) ((+) 0 2) 3) [] is equivalent to this: f b [] = b. Therefore I put that second 0 in the last line that probably should not be there |
2021-07-07 08:32:16 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-07-07 08:32:22 +0200 | Gurkenglas | (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) |
2021-07-07 08:32:40 +0200 | <dminuoso> | So for instance: foldr f z (1:2:3:[]) gives me: 1 `f` (2 `f` (3 `f` z)) |
2021-07-07 08:32:49 +0200 | <dminuoso> | Note how foldr replaces the (:) with f, and the final last element with z. |
2021-07-07 08:33:09 +0200 | <kammka> | That is really helpful actually |
2021-07-07 08:33:11 +0200 | <dminuoso> | The key difference between foldr and foldl is just how the `f` is associated here: |
2021-07-07 08:33:40 +0200 | <dminuoso> | If we assumed foldl behaved like you assumed, foldl would give you: |
2021-07-07 08:34:40 +0200 | <dminuoso> | ((1 `f` 2) `f` 3) `f` z -- but what happens instead, is that the `z` wanders to the left side |
2021-07-07 08:34:41 +0200 | <dminuoso> | so you get: |
2021-07-07 08:35:13 +0200 | <dminuoso> | foldl f z (1:2:3:[]) = (((z `f` 1) `f` 2) `f` 3) |
2021-07-07 08:35:38 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) |
2021-07-07 08:35:53 +0200 | <dminuoso> | But also see how, conceptually we can think of foldl replacing (:) with f. And this might also give you a hint how both foldr and foldl go from left-to-right. It's just that what (:) is replaced with associates differently |
2021-07-07 08:37:07 +0200 | <kammka> | It makes sense now. Mainly because of ' replace the (:) with f' ; And it just becomes a matter of association regarding the difference between foldl and foldr |
2021-07-07 08:37:11 +0200 | <kammka> | Thanks a lot!! |
2021-07-07 08:37:49 +0200 | <dminuoso> | kammka: By the way, this intuition holds for *all* foldables, if we implicitly go through toListOf first. |
2021-07-07 08:38:26 +0200 | ahdyt | (~ahdyt@103.105.28.181) |
2021-07-07 08:39:46 +0200 | aman | (~aman@user/aman) |
2021-07-07 08:40:51 +0200 | kammka45 | (~kammka@188.27.129.10) |
2021-07-07 08:41:43 +0200 | kammka55 | (~kammka@188.27.129.10) |
2021-07-07 08:42:39 +0200 | <kammka55> | dminuoso: doesn't it behave differently for tuples , for example? foldr (+) 1 (2,3) seems to disregard the first element of the pair |
2021-07-07 08:42:52 +0200 | <dminuoso> | Let's entertain this train of thought: |
2021-07-07 08:42:55 +0200 | <dminuoso> | % :t foldr |
2021-07-07 08:42:56 +0200 | <yahb> | dminuoso: forall {t :: * -> *} {a} {b}. Foldable t => (a -> b -> b) -> b -> t a -> b |
2021-07-07 08:43:25 +0200 | <dminuoso> | kammka55: Stare at this type signature, and tell me what you'd set for `t` in the above. |
2021-07-07 08:43:28 +0200 | kammka | (~kammka@188.27.129.10) (Ping timeout: 246 seconds) |
2021-07-07 08:44:08 +0200 | <dminuoso> | Or |
2021-07-07 08:44:13 +0200 | <dminuoso> | No, let's actually go with my claim. |
2021-07-07 08:44:16 +0200 | <dminuoso> | 08:37:49 dminuoso | kammka: By the way, this intuition holds for *all* foldables, if we implicitly go through toListOf first. |
2021-07-07 08:44:22 +0200 | <dminuoso> | % toListOf (1,2) |
2021-07-07 08:44:22 +0200 | <yahb> | dminuoso: ; <interactive>:131:10: error:; * Couldn't match type: (a0, b0); with: (a -> Const (Endo [a]) a) -> s -> Const (Endo [a]) s; Expected: Getting (Endo [a]) s a; Actual: (a0, b0); * In the first argument of `toListOf', namely `(1, 2)'; In the expression: toListOf (1, 2); In an equation for `it': it = toListOf (1, 2); * Relevant bindings include it :: |
2021-07-07 08:44:34 +0200 | <dminuoso> | % toList (1,2) |
2021-07-07 08:44:35 +0200 | <yahb> | dminuoso: [2] |
2021-07-07 08:44:41 +0200 | <dminuoso> | kammka55: Yeah I know, this is unexpected. |
2021-07-07 08:45:13 +0200 | kammka45 | (~kammka@188.27.129.10) (Ping timeout: 246 seconds) |
2021-07-07 08:45:19 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 08:46:30 +0200 | <kammka55> | dminuoso: I need to look up that function first- unfortunately I don't know the type of that? Or it should take the tuple and convert it to a list? |
2021-07-07 08:46:38 +0200 | <dminuoso> | % :t toList |
2021-07-07 08:46:38 +0200 | <yahb> | dminuoso: forall {t :: * -> *} {a}. Foldable t => t a -> [a] |
2021-07-07 08:47:14 +0200 | dunkeln_ | (~dunkeln@188.70.10.207) |
2021-07-07 08:47:20 +0200 | <dminuoso> | Let's assume that (1,2) :: (Int, Int) - in prefix notation that is: (1,2) :: (,) Int Int |
2021-07-07 08:47:33 +0200 | <dminuoso> | % :t foldr |
2021-07-07 08:47:33 +0200 | <yahb> | dminuoso: forall {t :: * -> *} {a} {b}. Foldable t => (a -> b -> b) -> b -> t a -> b |
2021-07-07 08:47:52 +0200 | <dminuoso> | The only way this will work out, is if we set `t ~ (,) Int` and `a ~ Int` |
2021-07-07 08:48:20 +0200 | <dminuoso> | Informally you can already see here, that the first element type is not considered part of the "content" here. |
2021-07-07 08:48:40 +0200 | <dminuoso> | We could also use (Char, Int) here. |
2021-07-07 08:49:01 +0200 | <dminuoso> | Informally 2-tuples are treated as singleton lists of the second element (and the first element is just some sort of tag) |
2021-07-07 08:49:29 +0200 | <dminuoso> | Its debatable whether this instance is useful or perhaps even misleading, but it's the only possible implementation... |
2021-07-07 08:49:46 +0200 | sayola1 | (~vekto@dslb-088-078-152-192.088.078.pools.vodafone-ip.de) (Quit: Leaving.) |
2021-07-07 08:50:03 +0200 | sayola | (~vekto@dslb-088-078-152-192.088.078.pools.vodafone-ip.de) |
2021-07-07 08:50:06 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
2021-07-07 08:52:43 +0200 | kammka | (~kammka@188.27.129.10) |
2021-07-07 08:52:50 +0200 | <kammka> | dminuoso: I always replaced t a with [a] in my mind. So in reality t stand for the data constructor? [] for lists and , for tuples? |
2021-07-07 08:53:05 +0200 | <dibblego> | [] and (a,) |
2021-07-07 08:53:14 +0200 | <kammka> | Oh I see it now |
2021-07-07 08:53:16 +0200 | ahdyt | (~ahdyt@103.105.28.181) (Ping timeout: 246 seconds) |
2021-07-07 08:53:19 +0200 | <dibblego> | @kind Foldable |
2021-07-07 08:53:20 +0200 | <lambdabot> | (* -> *) -> Constraint |
2021-07-07 08:53:29 +0200 | <dminuoso> | kammka: a type constructor! :) |
2021-07-07 08:54:35 +0200 | <dminuoso> | kammka: [T] can also be written as `[] T`, so if you then line it up with `t a`, it should be obvious what happens. |
2021-07-07 08:55:07 +0200 | <dminuoso> | So here `[]` (not at the value-level, but at the type-level) is a proper type constructor. |
2021-07-07 08:55:25 +0200 | <dminuoso> | We can think of `[T]` as just fancy syntax for what could have been `List T` instead |
2021-07-07 08:55:52 +0200 | <kammka> | Mhm, I see |
2021-07-07 08:56:19 +0200 | welterde | (welterde@thinkbase.srv.welterde.de) (Quit: WeeChat 3.0.1) |
2021-07-07 08:56:25 +0200 | kammka55 | (~kammka@188.27.129.10) (Ping timeout: 246 seconds) |
2021-07-07 08:56:27 +0200 | welterde | (welterde@thinkbase.srv.welterde.de) |
2021-07-07 08:57:04 +0200 | fendor | (~fendor@178.165.171.166.wireless.dyn.drei.com) |
2021-07-07 08:57:17 +0200 | <shachaf> | dminuoso: But foldl *doesn't* replace (:) and [] with functions. |
2021-07-07 08:57:19 +0200 | <dminuoso> | kammka: Similarly for the type (again, not value level!) (S, T), which can also be written as `(,) S T`, and because type-level application like value level application is left-associative, you get: |
2021-07-07 08:57:49 +0200 | <shachaf> | It does all sorts of computation. That's why you gotta know about foldl' and all these things if you use it. |
2021-07-07 08:58:48 +0200 | <dibblego> | foldr does, foldl does other things |
2021-07-07 08:59:19 +0200 | <shachaf> | foldr is special in that it does the thing you said (some people would say it's initial). Other "folds" on lists don't. |
2021-07-07 08:59:36 +0200 | kammka38 | (~kammka@188.27.129.10) |
2021-07-07 08:59:51 +0200 | lavaman | (~lavaman@98.38.249.169) (Remote host closed the connection) |
2021-07-07 09:00:15 +0200 | <dminuoso> | shachaf: I think it's still a good first approximation to get acquainted with foldr/foldl. But you're right that due to strictness there should be a note that Im telling a simplified lie. |
2021-07-07 09:00:27 +0200 | hatz_ | Hatz_ |
2021-07-07 09:00:56 +0200 | <dibblego> | I do not believe it is a helpful lie. |
2021-07-07 09:01:30 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 272 seconds) |
2021-07-07 09:02:45 +0200 | <dminuoso> | dibblego: Given that I provided concrete examples of what foldl does to a list, I disagree. *shrugs* |
2021-07-07 09:03:00 +0200 | <shachaf> | It's a good thing to know about foldr, and you can certainly point out that foldl f z [a,b,c] = ((z `f` a) `f` b) `f` c |
2021-07-07 09:03:04 +0200 | kammka | (~kammka@188.27.129.10) (Ping timeout: 246 seconds) |
2021-07-07 09:03:35 +0200 | <dibblego> | here is a good measure of a helpful lie: the benefits of what can now be done because of the lie, outweight the effort to require to not lie |
2021-07-07 09:03:40 +0200 | <dminuoso> | But I'll take your hint and re-think whether I can find a better formulation of it. |
2021-07-07 09:03:59 +0200 | <dibblego> | in this case, the benefits are at least small — possibly none (I cannot think of any), and the effort required to not lie is less than lying anyway |
2021-07-07 09:04:43 +0200 | <dibblego> | foldl f z list does a loop; this one: { var r = z; foreach (el in list) { r = f r el }; return r } |
2021-07-07 09:05:02 +0200 | <dibblego> | that was a lie; but it is helpful, because the analogy is dead accurate |
2021-07-07 09:05:16 +0200 | dunkeln_ | (~dunkeln@188.70.10.207) (Ping timeout: 246 seconds) |
2021-07-07 09:05:31 +0200 | <dibblego> | "foldl replaces constructors" is a lie, and now you cannot do anything useful because of it (since it's not accurate, even as an analogy) |
2021-07-07 09:06:57 +0200 | <dibblego> | I've left off "the effort required to now correct the lie", but: it is pretty big ime |
2021-07-07 09:09:13 +0200 | cfricke | (~cfricke@user/cfricke) |
2021-07-07 09:10:00 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) |
2021-07-07 09:10:26 +0200 | Erutuon | (~Erutuon@user/erutuon) (Ping timeout: 252 seconds) |
2021-07-07 09:12:33 +0200 | Schrostfutz | (~Schrostfu@schettlerdck.tkn.tu-berlin.de) |
2021-07-07 09:18:34 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2021-07-07 09:18:56 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2021-07-07 09:19:10 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2021-07-07 09:24:18 +0200 | juhp | (~juhp@128.106.188.66) (Ping timeout: 252 seconds) |
2021-07-07 09:25:23 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
2021-07-07 09:25:30 +0200 | nschoe | (~quassel@178.251.84.79) |
2021-07-07 09:26:44 +0200 | <DigitalKiwi> | .glirclogs/#mostlyabsurd/2019-06-27.log:[12:10:24] <DigitalKiwi> is this a bad mnemonic: foldLeft/foldl => FL => For Loop; foldRight/foldr => fR => constructor Replacement |
2021-07-07 09:27:04 +0200 | andreabedini | (~andreabed@8s8kj6nms09jvtyb2xjc.ip6.superloop.com) |
2021-07-07 09:27:17 +0200 | biberu | (~biberu@user/biberu) |
2021-07-07 09:28:17 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
2021-07-07 09:30:49 +0200 | Guest8466 | (~Guest84@188.27.129.10) |
2021-07-07 09:32:32 +0200 | chele | (~chele@user/chele) |
2021-07-07 09:32:46 +0200 | Hatz_ | hatz_ |
2021-07-07 09:36:49 +0200 | mpt | (~tom@2a02:908:1862:49e0::8) |
2021-07-07 09:36:57 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 252 seconds) |
2021-07-07 09:38:56 +0200 | <tomsmeding> | dibblego: foldr replaces constructors, not foldl; but I assume that was a typo :) |
2021-07-07 09:39:09 +0200 | Nyeogmi | (~Nyeogmi@2601:645:8700:bea0:4d5e:7bf4:e290:5648) (Ping timeout: 252 seconds) |
2021-07-07 09:39:54 +0200 | <dibblego> | I said that rite |
2021-07-07 09:40:16 +0200 | <tomsmeding> | your second-to-last message |
2021-07-07 09:40:35 +0200 | <dibblego> | "foldl replaces constructors" is a lie |
2021-07-07 09:40:36 +0200 | <tomsmeding> | well, your message is strictly speaking correct; "foldl replaces constructors" is a lie, and a big one :p |
2021-07-07 09:40:48 +0200 | <dibblego> | yes, that was the discussion |
2021-07-07 09:40:52 +0200 | <tomsmeding> | was it? |
2021-07-07 09:40:55 +0200 | <dibblego> | as well as: not a helpful lie |
2021-07-07 09:41:21 +0200 | <tomsmeding> | ah I see I read the conversation wrong |
2021-07-07 09:41:55 +0200 | ubert | (~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) |
2021-07-07 09:42:37 +0200 | <Axman6> | English needs more types |
2021-07-07 09:42:51 +0200 | <tomsmeding> | then it would be inconvenient to speak :p |
2021-07-07 09:43:01 +0200 | <tomsmeding> | we need more domain specific languages |
2021-07-07 09:43:11 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-07-07 09:43:15 +0200 | <Hecate> | I reckon these are called Jargons |
2021-07-07 09:43:16 +0200 | <Hecate> | :P |
2021-07-07 09:43:20 +0200 | <tomsmeding> | yes |
2021-07-07 09:44:11 +0200 | <tomsmeding> | Axman6: related: lojban |
2021-07-07 09:44:39 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-07-07 09:45:45 +0200 | trcc | (~trcc@users-1190.st.net.au.dk) |
2021-07-07 09:46:57 +0200 | Schrostfutz | (~Schrostfu@schettlerdck.tkn.tu-berlin.de) (Quit: Leaving) |
2021-07-07 09:47:51 +0200 | trcc | (~trcc@users-1190.st.net.au.dk) (Client Quit) |
2021-07-07 09:48:52 +0200 | <DigitalKiwi> | but nobody would want to talk to you then |
2021-07-07 09:49:14 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 265 seconds) |
2021-07-07 09:49:30 +0200 | <DigitalKiwi> | https://xkcd.com/191/ |
2021-07-07 09:49:38 +0200 | <tomsmeding> | just means that the conversations you do have are very efficient ;) |
2021-07-07 09:50:06 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9519e1b6d7c282fb2b66.dip0.t-ipconnect.de) |
2021-07-07 09:54:58 +0200 | mpt | (~tom@2a02:908:1862:49e0::8) (Ping timeout: 246 seconds) |
2021-07-07 09:57:35 +0200 | <sshine> | tomsmeding, I've found that Chinese is a framework designed for having domain-specific sub-languages. |
2021-07-07 09:58:21 +0200 | <sshine> | tomsmeding, the number of times I've heard one Chinese person say "You can't say that." and the thing was something another Chinese person suggested, are plentiful. |
2021-07-07 09:58:36 +0200 | <nshepperd> | jargons are good because they avoid false friends |
2021-07-07 09:59:03 +0200 | kammka38 | (~kammka@188.27.129.10) (Quit: Client closed) |
2021-07-07 10:00:26 +0200 | <nshepperd> | (another bit of jargon: 'false friend' - a foreign word that looks like a word you already know but means something different and confuses students) |
2021-07-07 10:02:17 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-07 10:03:50 +0200 | <DigitalKiwi> | Some thirty people gathered to celebrate the birthday of the host. After a few bottles of vodka were imbibed, the tongues got loose, and the guests started telling political jokes. Through laughter, a voice sounded, "Comrades, please, it's too noisy. In such a noise, I can't hear the jokes. I am writing it down, you know." |
2021-07-07 10:03:51 +0200 | <DigitalKiwi> | A man sitting next to the one who's writing down, says admiringly, "How do you manage to write down that fast?" |
2021-07-07 10:03:53 +0200 | <DigitalKiwi> | "Oh, I'm writing down only the initials." |
2021-07-07 10:04:17 +0200 | ubert | (~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-07-07 10:06:56 +0200 | Taren | (~Taren@port-92-196-211-46.dynamic.as20676.net) |
2021-07-07 10:07:22 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
2021-07-07 10:07:38 +0200 | <[exa]> | DigitalKiwi: I'm adding you to the list. :] |
2021-07-07 10:08:25 +0200 | <Hecate> | hahahaha |
2021-07-07 10:08:33 +0200 | <Hecate> | I love that in itself it's a political joke |
2021-07-07 10:08:42 +0200 | hendursa1 | (~weechat@user/hendursaga) (Ping timeout: 244 seconds) |
2021-07-07 10:09:35 +0200 | zeenk | (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) |
2021-07-07 10:10:47 +0200 | dunkeln | (~dunkeln@188.70.10.207) |
2021-07-07 10:11:17 +0200 | <DigitalKiwi> | DigitalKiwi Identified Mail |
2021-07-07 10:13:46 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 240 seconds) |
2021-07-07 10:14:39 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2021-07-07 10:17:11 +0200 | andreabedini | (~andreabed@8s8kj6nms09jvtyb2xjc.ip6.superloop.com) (Quit: WeeChat 2.8) |
2021-07-07 10:19:11 +0200 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) |
2021-07-07 10:19:28 +0200 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 246 seconds) |
2021-07-07 10:19:55 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2021-07-07 10:21:58 +0200 | <zincy__> | Is this correct thinking... |
2021-07-07 10:22:09 +0200 | ahdyt | (~ahdyt@103.105.35.88) |
2021-07-07 10:22:22 +0200 | <zincy__> | Haskell has side effects but they are modelled differently from mainstream languages |
2021-07-07 10:22:37 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds) |
2021-07-07 10:22:37 +0200 | Lord_of_Life_ | Lord_of_Life |
2021-07-07 10:23:40 +0200 | <veverak> | seems ok |
2021-07-07 10:23:43 +0200 | <Hecate> | zincy__: https://www.goodreads.com/quotes/14638-cyberspace-a-consensual-hallucination-experienced-daily-by-… |
2021-07-07 10:24:10 +0200 | <[exa]> | zincy__: "haskell provides a way to describe impure computation" |
2021-07-07 10:24:13 +0200 | <ahdyt> | how's the haskell cafe? |
2021-07-07 10:24:33 +0200 | jumper149 | (~jumper149@80.240.31.34) |
2021-07-07 10:24:39 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity) |
2021-07-07 10:24:59 +0200 | <zincy__> | [exa]: I like that |
2021-07-07 10:25:05 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-07-07 10:25:05 +0200 | <[exa]> | zincy__: (I'm feeling literally `unsafe` saying that haskell has side effects) |
2021-07-07 10:25:12 +0200 | <Hecate> | "Side-effects" in Haskell are a consensual hallucination because while every operation produces side effects at one level or another, we have decided that interactions with IO devices (network, filesystem, rng) are impure |
2021-07-07 10:25:47 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
2021-07-07 10:25:51 +0200 | <zincy__> | Yeah I read somewhere it wasn't that impurity was forbidden from Haskell it just wasn't added in the first place |
2021-07-07 10:26:01 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2021-07-07 10:26:20 +0200 | <Hecate> | zincy__: by lack of a nice way to do things (Monads) at first, but it was research in progress, not just an after-thought |
2021-07-07 10:26:25 +0200 | <[exa]> | Hecate: seems they somehow don't accept thinking in a model |
2021-07-07 10:26:36 +0200 | <Hecate> | [exa]: who's 'they'? |
2021-07-07 10:27:05 +0200 | dunj3 | (~dunj3@2001:16b8:3020:e900:566b:618c:a738:2a84) |
2021-07-07 10:27:05 +0200 | <DigitalKiwi> | primary side-effect of haskell is making me miserable using other languages ;( |
2021-07-07 10:27:06 +0200 | <sshine> | I suppose another view of IO is that it's a garbage bin of non-categorised effects. so side-effects vs. effects are when we have no way of quantifying what effect was made, and what its imprint on our model of the state was. no? |
2021-07-07 10:27:37 +0200 | <Hecate> | hmm |
2021-07-07 10:27:45 +0200 | <sshine> | IO = all the effects we can't account for (i.e. side-effects) |
2021-07-07 10:27:47 +0200 | <ahdyt> | Hecate I want a Monad m please? |
2021-07-07 10:27:48 +0200 | <[exa]> | Hecate: the non-hallucinating people (sorry I was a bit under-specific :D ) |
2021-07-07 10:27:53 +0200 | <zincy__> | I feel as though "getting" side effects in Haskell by being able to think in models serves as a great filter between theory allergic and theory loving coders |
2021-07-07 10:28:03 +0200 | Hecate | gives ahdyt a Monad m |
2021-07-07 10:28:11 +0200 | <Hecate> | [exa]: eh :) |
2021-07-07 10:28:58 +0200 | <ahdyt> | I think side effect isn't observable effect, hence called side effect? it's just unexpected? |
2021-07-07 10:29:54 +0200 | leah2 | (~leah@vuxu.org) |
2021-07-07 10:30:09 +0200 | cjb | (~cjb@user/cjb) (Quit: rcirc on GNU Emacs 28.0.50) |
2021-07-07 10:30:21 +0200 | <zincy__> | Depends what you mean by *observable* |
2021-07-07 10:30:36 +0200 | <Hecate> | observability is *something else* |
2021-07-07 10:30:44 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 252 seconds) |
2021-07-07 10:31:17 +0200 | <zincy__> | maybe change the word observable for external |
2021-07-07 10:31:48 +0200 | <Hecate> | Let's all read this stackoverflow answer before venturing further:; https://cstheory.stackexchange.com/a/21265 |
2021-07-07 10:32:00 +0200 | <sshine> | ahdyt, at least not predictably. 'setDate :: UTCDate -> IO ()' could be measured with 'getDate :: IO UTCDate', but you'd never know if that was the full extent from the type. |
2021-07-07 10:32:28 +0200 | <sshine> | Hecate, thanks :) |
2021-07-07 10:34:41 +0200 | <zincy__> | Wow this is an amazing answer |
2021-07-07 10:34:52 +0200 | <Hecate> | isn't it? |
2021-07-07 10:34:55 +0200 | <zincy__> | So a side effect can be all of the above |
2021-07-07 10:35:11 +0200 | <zincy__> | internal/external observable/non-observable |
2021-07-07 10:35:28 +0200 | <zincy__> | I feel like my thinking on the subject just entered a new level of clarity |
2021-07-07 10:36:13 +0200 | <Hecate> | yeah, when I said that's a collective, consensual hallucination, it's because we took all of Haskell's execution semantics, separated it from what we don't care about (in the context of those semantics), and labeled those things "side effects" |
2021-07-07 10:36:16 +0200 | <zincy__> | So is purity relative according to the semantics of the program? |
2021-07-07 10:36:32 +0200 | <zincy__> | impurity means outside the model of the program? |
2021-07-07 10:36:54 +0200 | <Hecate> | rather the model of the language |
2021-07-07 10:36:59 +0200 | <zincy__> | yeah |
2021-07-07 10:37:11 +0200 | <zincy__> | Thanks so much for this insight |
2021-07-07 10:37:35 +0200 | <Hecate> | zincy__: there are ways to annotate your functions with labels such as "This functions is doing DB operations, this function is sending missiles" |
2021-07-07 10:37:53 +0200 | <Hecate> | and their callers have to provide facilities for those "constraints" to be validated |
2021-07-07 10:37:57 +0200 | <merijn> | Hecate: Where can I get that function? >.> |
2021-07-07 10:38:09 +0200 | <Hecate> | merijn: work for Lockheed-Martin |
2021-07-07 10:38:13 +0200 | <Hecate> | (plz don't) |
2021-07-07 10:38:24 +0200 | michalz | (~michalz@185.246.204.126) |
2021-07-07 10:39:01 +0200 | <merijn> | Hecate: Could be SpaceX too :p |
2021-07-07 10:39:06 +0200 | <sshine> | Hecate, but modern, granular effect systems break this illusion because the programmer gets to specify what's a first-class effect and what isn't, right? |
2021-07-07 10:40:25 +0200 | <Hecate> | hmm |
2021-07-07 10:40:34 +0200 | <Hecate> | I don't feel that way when using an effect system |
2021-07-07 10:40:51 +0200 | <Hecate> | sshine: do you know MTL and typeclasses? |
2021-07-07 10:40:55 +0200 | <sshine> | yes |
2021-07-07 10:41:12 +0200 | <ahdyt> | and know how to use it to solve problems? |
2021-07-07 10:41:13 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
2021-07-07 10:41:21 +0200 | <sshine> | but I haven't used an effect system in Haskell, only used mtl and toyed around with effect systems in Scala briefly. |
2021-07-07 10:41:27 +0200 | <merijn> | Let's all repeat our mantra: mtl is not an effect system, unless you like torturing yourself >.> |
2021-07-07 10:41:39 +0200 | <ahdyt> | ah haha |
2021-07-07 10:41:44 +0200 | <Hecate> | okay so, when we use MTL at work, it's usually not "MonadFileSystem" or "MonadDB", but higher-level significations for business logic |
2021-07-07 10:41:47 +0200 | <Hecate> | like "MonadStorage" |
2021-07-07 10:41:59 +0200 | <ahdyt> | ah, okay. |
2021-07-07 10:42:04 +0200 | <merijn> | Hecate: That's not even using mtl, though? |
2021-07-07 10:42:06 +0200 | <Hecate> | "MonadTracing" instead of "MonadNetwork" + "MonadMetrics" |
2021-07-07 10:42:39 +0200 | <Hecate> | merijn: (MonadStorage m, MonadTracing m) => arg1 -> m returnType |
2021-07-07 10:42:42 +0200 | <ahdyt> | is that storage used for building distributed file system? |
2021-07-07 10:43:05 +0200 | <merijn> | Hecate: That's just using tagless final, no? |
2021-07-07 10:43:22 +0200 | <Hecate> | ahdyt: it only matters if your business logic deals with the intrisics of distributed file systems :P |
2021-07-07 10:43:24 +0200 | <merijn> | Which is also what mtl uses, but to pointless effect >.> |
2021-07-07 10:43:29 +0200 | <Hecate> | merijn: no? |
2021-07-07 10:43:42 +0200 | <Hecate> | I mean, when you say tagless final I think of Oleg's paper |
2021-07-07 10:43:56 +0200 | <Hecate> | and from what I recall of it, no it's not "just using tagless final" |
2021-07-07 10:44:32 +0200 | <merijn> | Hecate: I mean, MonadStorage/MonadTracing in no way use mtl (except, maybe, as incidental implementation detail) |
2021-07-07 10:45:00 +0200 | <Hecate> | merijn: uuuh yes? |
2021-07-07 10:45:01 +0200 | <sshine> | Hecate, so defining that hierarchy of Monad* classes is sort of extending the semantics of your effects. I suppose there's an entire design space I haven't yet explored. I understand how picking one class of effects makes for one set of abstractions instead of another. |
2021-07-07 10:45:23 +0200 | <Hecate> | merijn: they are typeclass constraints that we use in mtl style |
2021-07-07 10:45:39 +0200 | <merijn> | Hecate: https://serokell.io/blog/tagless-final seems to support my understanding that mtl is just tagless final encoding too |
2021-07-07 10:45:52 +0200 | <merijn> | Hecate: The "mtl style" *is* tagless final encoding :p |
2021-07-07 10:46:12 +0200 | <sshine> | is "mtl-style" and "has-style" the same except for wording? or does "has-style" also say something about a specific taxonomy of effects? |
2021-07-07 10:46:18 +0200 | <merijn> | I like tagless final encoding, I just dislike mtl :p |
2021-07-07 10:46:23 +0200 | <Hecate> | sshine: the nice stuff is that you need MonadIO for a buch of those operation, but if you don't put it explicitly in your type signature, you can't really use liftIO |
2021-07-07 10:46:32 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 10:46:56 +0200 | <Hecate> | sshine: has-style is just sugar |
2021-07-07 10:47:06 +0200 | <Hecate> | don't worry too much about this, it's just a typeclass |
2021-07-07 10:47:19 +0200 | <sshine> | Hecate, ah, so the full implementation of a MonadFoo might really need MonadIO, but as the library user, you neither need to know nor get to abuse this fact? |
2021-07-07 10:48:21 +0200 | <Hecate> | sshine: if you have (MonadStorage m) in your constraints (which obviously requires doing some IO access, whether on the network of FS), you get to access the methods provided by this typeclass |
2021-07-07 10:48:30 +0200 | <Hecate> | an opaque "store" and an opaque "get", for example |
2021-07-07 10:48:37 +0200 | <merijn> | sshine: The advantage is that you can entirely rewrite your Foo/Storage implementation without 90% of your code needing to be refactored |
2021-07-07 10:48:54 +0200 | <Hecate> | now, if in your function you want to do `liftIO getCurrentTime", GHC will complain to you that you need MonadIO in your constraints |
2021-07-07 10:49:21 +0200 | <merijn> | sshine: If all code *using* Storage only knows about a tiny number of primitives implemented in the typeclass, then any code *using* Storage is only affected if that interface changes, but not when any of its internals change |
2021-07-07 10:49:21 +0200 | <Hecate> | merijn: can I ask your opinion on https://github.com/arybczak/effectful ? |
2021-07-07 10:49:37 +0200 | <Hecate> | merijn: I wrote a time handler for it https://github.com/Kleidukos/effectful-time/ |
2021-07-07 10:50:08 +0200 | <merijn> | Hecate: My opinion is: I am a busy, busy man, who can't be arsed to look at 10 million effects systems that seem to have dubious/marginal improvements for the code I write :p |
2021-07-07 10:50:58 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 240 seconds) |
2021-07-07 10:51:08 +0200 | ubert | (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) |
2021-07-07 10:51:11 +0200 | <Hecate> | merijn: very well :P |
2021-07-07 10:51:44 +0200 | <merijn> | Most I've seen of all these effects libraries is pointless navelgazing with little to no ecosystem support :p |
2021-07-07 10:52:09 +0200 | <merijn> | Maybe if the language was designed from the ground up to accommodate it I'd be more interested |
2021-07-07 10:52:18 +0200 | mnrmnaugh | (~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) (Ping timeout: 252 seconds) |
2021-07-07 10:52:27 +0200 | <zincy__> | I haven't bothered to learn a single effects library yet apart from monad transformers hehe |
2021-07-07 10:52:40 +0200 | <merijn> | But right now it's just "some wrappers around base and you gotta hope they keep up" |
2021-07-07 10:52:52 +0200 | <Hecate> | zincy__: don't bother yet |
2021-07-07 10:52:54 +0200 | <merijn> | zincy__: I would argue transformers aren't really effects systems at all |
2021-07-07 10:53:12 +0200 | <Hecate> | effect systems like effectful are most useful in big applications where MTL style shows its limits |
2021-07-07 10:53:20 +0200 | <zincy__> | Is that because of the fact monad transformers are static? |
2021-07-07 10:53:21 +0200 | <merijn> | Hecate: You know what would get my interest? An effect system designed around/playing nice with something like OpenBSD's pledge() |
2021-07-07 10:53:27 +0200 | ikex | (~ash@user/ikex) (Quit: ZNC - https://znc.in) |
2021-07-07 10:53:35 +0200 | <Hecate> | merijn: never heard about this syscall |
2021-07-07 10:53:36 +0200 | <merijn> | Also, I wish every other OS would port pledge >.< |
2021-07-07 10:53:40 +0200 | ikex | (ash@user/ikex) |
2021-07-07 10:53:41 +0200 | <zincy__> | merijn: Would you say using something like free monads would be an effects system? |
2021-07-07 10:53:46 +0200 | <merijn> | Hecate: pledge is amazing |
2021-07-07 10:53:59 +0200 | <Hecate> | merijn: ok let me read about it |
2021-07-07 10:54:01 +0200 | ahdyt | (~ahdyt@103.105.35.88) (Ping timeout: 246 seconds) |
2021-07-07 10:54:27 +0200 | <merijn> | Hecate: It's basically granular privilege drop |
2021-07-07 10:54:28 +0200 | dunkeln | (~dunkeln@188.70.10.207) (Ping timeout: 258 seconds) |
2021-07-07 10:54:50 +0200 | <Hecate> | merijn: I can see this, it's most interesting |
2021-07-07 10:55:28 +0200 | <merijn> | But they spend a lot of effort to make it easy to integrate in existing codebases. As opposed to all these capability networks that basically require full rewrites of your code |
2021-07-07 10:56:24 +0200 | <merijn> | If you could design and match your effect system to that and have the language auto-pledge away everything your types say you won't use. *That* would be cool |
2021-07-07 10:58:28 +0200 | <tomsmeding> | then would be a really cool use of the type system guarantees |
2021-07-07 11:03:14 +0200 | <fendor> | can I make an uninhabitable type synonym? |
2021-07-07 11:03:30 +0200 | <sshine> | type LikeThis = Void ? |
2021-07-07 11:04:34 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
2021-07-07 11:05:14 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
2021-07-07 11:05:19 +0200 | <fendor> | I want `pattern T n <- <Impossible pattern>` |
2021-07-07 11:05:40 +0200 | <sshine> | oh, you mean pattern synonym |
2021-07-07 11:06:36 +0200 | <tomsmeding> | (1 -> 2) with ViewPatterns? |
2021-07-07 11:07:34 +0200 | <fendor> | yeah, pattern synonym |
2021-07-07 11:07:44 +0200 | <fendor> | that wont typecheck, right? |
2021-07-07 11:08:30 +0200 | <tomsmeding> | hm yeah, maybe (const True -> False) -- switching to booleans to not have to default to some integral type |
2021-07-07 11:09:51 +0200 | <fendor> | huh... yeah, seems like a good idea |
2021-07-07 11:09:54 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 268 seconds) |
2021-07-07 11:09:57 +0200 | <haskl> | What are people's thoughts on Options.Applicative? |
2021-07-07 11:10:04 +0200 | <tomsmeding> | fendor: pattern T x <- ((\x -> (True, x)) -> (False, x)) |
2021-07-07 11:10:11 +0200 | <tomsmeding> | seems to type check? |
2021-07-07 11:12:52 +0200 | tomsmeding | wonders about why one would need such a pattern synonym |
2021-07-07 11:14:13 +0200 | <sshine> | haskl, do you mean thoughts on the optparse-applicative library, or its submodule in particular? |
2021-07-07 11:14:51 +0200 | <fendor> | since I had to change the type, pattern T y <- ((\x -> (True, undefined) -> (False, y)) typechecks |
2021-07-07 11:14:56 +0200 | <haskl> | sshine, sorry, yes, optparse-applicative library |
2021-07-07 11:15:07 +0200 | __monty__ | (~toonn@user/toonn) |
2021-07-07 11:15:08 +0200 | <sshine> | haskl, sorry for not making that assumption :P it's an awesome library. |
2021-07-07 11:15:14 +0200 | <fendor> | tomsmeding, ghc Avail constructor changed from Name to a union of Name and FieldLabel |
2021-07-07 11:15:23 +0200 | <sshine> | haskl, did you see optparse-generic, though? (you can't always use this, but when you can, it saves time.) |
2021-07-07 11:16:01 +0200 | <fendor> | trying to be backwards compatible, I thought introducing a pattern synonym for the union Name and Fieldlabel, e.g. introduce AvailName and AvailFieldLabel, would be a good idea |
2021-07-07 11:16:09 +0200 | <haskl> | I feel like I've gone from complete beginner to intermediate/okayish/mediocre in Haskell programming but every time I use that library I feel a little confused and often like I'm twisting it to do what I want. |
2021-07-07 11:16:20 +0200 | <fendor> | but to achieve that, AvailFieldLabel must never be a valid pattern synonym for ghc < 9.2 |
2021-07-07 11:16:30 +0200 | <haskl> | I feel relatively comfortable with applicative functors, too |
2021-07-07 11:16:50 +0200 | <haskl> | no I didn't see optparse-generic |
2021-07-07 11:17:33 +0200 | <sshine> | haskl, I haven't had to model a CLI argument set that was so complicated the library gave me trouble. |
2021-07-07 11:17:43 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Remote host closed the connection) |
2021-07-07 11:19:43 +0200 | <haskl> | This is what I did. https://github.com/hyperrealgopher/burrow/blob/master/app/Main.hs |
2021-07-07 11:20:26 +0200 | <haskl> | (planning to add many more subcommands soon) |
2021-07-07 11:21:29 +0200 | <sshine> | cool |
2021-07-07 11:21:37 +0200 | darklambda | (~whateverg@111.65.56.40) |
2021-07-07 11:21:50 +0200 | <darklambda> | oooh... lot's of people here now |
2021-07-07 11:22:18 +0200 | <sshine> | yeah, but we were active from day one. :) |
2021-07-07 11:22:39 +0200 | <haskl> | I'm trying out Miso. It's really cool. |
2021-07-07 11:22:48 +0200 | <darklambda> | i just came to know about the freenode debacle yesterday :-P |
2021-07-07 11:22:56 +0200 | <darklambda> | been away from irc for months |
2021-07-07 11:23:08 +0200 | <darklambda> | i like Miso |
2021-07-07 11:23:09 +0200 | toms | (~foobar@pogostick.net) |
2021-07-07 11:23:29 +0200 | <darklambda> | usually i get that when visiting japanese restaurant |
2021-07-07 11:23:42 +0200 | <haskl> | good one |
2021-07-07 11:23:46 +0200 | <darklambda> | :-) |
2021-07-07 11:23:48 +0200 | <haskl> | I have to learn about Nix more before I use Miso properly |
2021-07-07 11:24:03 +0200 | <sshine> | haskl, I did these: https://github.com/sshine/lira/blob/master/src/Main.hs - https://github.com/sshine/hello/blob/master/src/Hello.hs - the latter is optparse-generic. you'll see that the actual parser is auto-generated from a data type. :) |
2021-07-07 11:24:13 +0200 | <haskl> | thanks for sharing that sshine |
2021-07-07 11:24:44 +0200 | <darklambda> | i came to know it first from last year's munich haskell conf... i forgot why i end up not trying it... not sure if it's because of nix requirement (running win10 here) |
2021-07-07 11:25:54 +0200 | <darklambda> | anyway, one of the good things about new network is that a bunch of nicks became available... |
2021-07-07 11:25:58 +0200 | <darklambda> | check this out... |
2021-07-07 11:26:01 +0200 | darklambda | pointfree |
2021-07-07 11:26:03 +0200 | <pointfree> | :-) |
2021-07-07 11:28:04 +0200 | haskl | linustorvalds |
2021-07-07 11:28:15 +0200 | linustorvalds | haskl |
2021-07-07 11:28:24 +0200 | <haskl> | i should've made a less lazy username, but that's ok |
2021-07-07 11:29:38 +0200 | <pointfree> | i wanted lambda.. but it was already taken |
2021-07-07 11:30:29 +0200 | pointfree | darklambda |
2021-07-07 11:31:44 +0200 | zaquest | (~notzaques@5.128.210.178) (Remote host closed the connection) |
2021-07-07 11:31:45 +0200 | <sshine> | haskl, and the --help is also auto-generated with the content of the <?> annotations. |
2021-07-07 11:33:44 +0200 | <sshine> | haskl, optparse-generic is mostly smart when you can get away with having record fields that match exactly the argument names. otherwise you're not implicitly deriving things anyway. |
2021-07-07 11:34:27 +0200 | <haskl> | Thanks. |
2021-07-07 11:35:41 +0200 | <darklambda> | when's the next haskell conf? |
2021-07-07 11:36:04 +0200 | <haskl> | Next thing I want to look into is error handling in optparse-applicative. |
2021-07-07 11:36:59 +0200 | zaquest | (~notzaques@5.128.210.178) |
2021-07-07 11:37:21 +0200 | <sshine> | haskl, what's insufficient with the default error handling? |
2021-07-07 11:37:53 +0200 | <Profpatsch> | I wonder how hard it is to switch from Validation to These |
2021-07-07 11:38:06 +0200 | <Profpatsch> | where you go from “accumulate errors” to “just collect warnings” |
2021-07-07 11:38:22 +0200 | <haskl> | sshine, well, for example, if I don't specify a subcommand or flag, it just tells me "missing COMMAND" without telling me the options for the commands which can be used or the like. maybe even just displaying the help page would be ideal. |
2021-07-07 11:40:45 +0200 | <merijn> | haskl: There's an option for that with optarse-applicative |
2021-07-07 11:40:57 +0200 | <merijn> | Dunno if optparse-generic supports that, though |
2021-07-07 11:41:39 +0200 | kamy | (~kamy@83-245-253-38-nat-p.elisa-mobile.fi) |
2021-07-07 11:41:42 +0200 | <sshine> | I do 'customExecParser (prefs showHelpOnError) argsParserInfo' in one case. |
2021-07-07 11:41:47 +0200 | <merijn> | haskl: https://hackage.haskell.org/package/optparse-applicative-0.16.1.0/docs/Options-Applicative.html#t:… |
2021-07-07 11:41:55 +0200 | <haskl> | amazing |
2021-07-07 11:41:59 +0200 | <merijn> | haskl: see prefShowHelpOnError and prefShowHelpOnEmpty |
2021-07-07 11:42:00 +0200 | azeem | (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) (Ping timeout: 258 seconds) |
2021-07-07 11:42:15 +0200 | <haskl> | thanks i figured |
2021-07-07 11:42:50 +0200 | jushur | (~human@user/jushur) |
2021-07-07 11:43:02 +0200 | <sshine> | the --help of some programs can get pretty huge, though. so I wouldn't print the whole --help if it grows beyond a few lines :) much rather have the somewhat uninformative "these are your options, go guess what they mean." |
2021-07-07 11:43:10 +0200 | <haskl> | i'll get back to that after fiddling around with Miso, i promised someone i'd at least write one line with Miso |
2021-07-07 11:43:22 +0200 | stefan-_ | (~cri@42dots.de) (Ping timeout: 240 seconds) |
2021-07-07 11:43:50 +0200 | <haskl> | oh i don't think i have to worry about that, i divide things up nicely with hsubcommands or whatever it's called |
2021-07-07 11:44:13 +0200 | <haskl> | the app in question is a gopherhole builder. like a static site builder, but for gopher protocol. |
2021-07-07 11:44:30 +0200 | azeem | (~azeem@176.201.33.66) |
2021-07-07 11:44:57 +0200 | <sshine> | cool |
2021-07-07 11:45:07 +0200 | <haskl> | ty |
2021-07-07 11:45:09 +0200 | <sshine> | I'm trying to quit the WWW, so I appreciate alternatives. |
2021-07-07 11:45:17 +0200 | <haskl> | are you in #gopher? |
2021-07-07 11:45:23 +0200 | <sshine> | I was too young. |
2021-07-07 11:45:35 +0200 | <sshine> | I only really went online in 1997. :) |
2021-07-07 11:45:48 +0200 | <haskl> | i made a gopher client, a gopher builder, and i'm working on a gopher server docker image that will help you with serving using burrow |
2021-07-07 11:46:06 +0200 | <sshine> | nice. |
2021-07-07 11:46:15 +0200 | <darklambda> | nice |
2021-07-07 11:46:26 +0200 | <darklambda> | what language you use for those? haskell? |
2021-07-07 11:46:40 +0200 | <haskl> | darklambda, yes |
2021-07-07 11:46:45 +0200 | <darklambda> | wow |
2021-07-07 11:46:53 +0200 | <haskl> | https://github.com/hyperrealgopher/burrow |
2021-07-07 11:47:06 +0200 | <haskl> | https://github.com/hyperrealgopher/waffle |
2021-07-07 11:47:21 +0200 | <haskl> | i started doing projects in haskell about a year ago |
2021-07-07 11:47:50 +0200 | stefan-_ | (~cri@42dots.de) |
2021-07-07 11:47:51 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 11:47:57 +0200 | <darklambda> | nice |
2021-07-07 11:48:09 +0200 | <haskl> | i started waffle about a year ago to learn haskell |
2021-07-07 11:48:25 +0200 | <haskl> | so its code sucks comparatively to burrow |
2021-07-07 11:49:22 +0200 | <sshine> | surely waffles aren't staple gopher diet. |
2021-07-07 11:49:52 +0200 | <sshine> | do you really want to risk introducing diabetes into such a small community? |
2021-07-07 11:49:55 +0200 | <haskl> | i would hope not! very sugary |
2021-07-07 11:50:05 +0200 | <haskl> | "The origin of the word 'gopher' is uncertain; French gaufre, meaning 'waffle', has been suggested, on account of the gopher tunnels resembling the honeycomb-like pattern of holes in a waffle…" |
2021-07-07 11:50:05 +0200 | <darklambda> | at first, i thought it's a utility for golang.. hehe |
2021-07-07 11:50:19 +0200 | <sshine> | ahh :) |
2021-07-07 11:50:47 +0200 | <darklambda> | gophers are golang's mascots |
2021-07-07 11:50:53 +0200 | <darklambda> | like minions... so cute |
2021-07-07 11:50:57 +0200 | <haskl> | nah it's just a nerdy retro protocol project i did because of how I needed to detox from the direction the web has taken |
2021-07-07 11:51:38 +0200 | dunkeln | (~dunkeln@188.70.10.207) |
2021-07-07 11:51:39 +0200 | <haskl> | i have mixed feelings about the modern web. it's not all bad. |
2021-07-07 11:52:03 +0200 | <darklambda> | i have high hopes for modern web |
2021-07-07 11:52:10 +0200 | <darklambda> | especially for web assembly |
2021-07-07 11:52:40 +0200 | <sshine> | haskl, since adblockers seem to be winning, I'm only struggling with the addictiveness of the availability of resources. |
2021-07-07 11:52:41 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-07-07 11:52:50 +0200 | <haskl> | lots of cool stuff on the bend. yes i was just going to say wasm/wasi. i actually have been trying to write a forth itnerpreter to learn forth because forth is being used in webasm and it has lots of other interesteing properties which make it high level with low level speeds |
2021-07-07 11:52:58 +0200 | oxide | (~lambda@user/oxide) (Ping timeout: 240 seconds) |
2021-07-07 11:53:45 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
2021-07-07 11:53:47 +0200 | <sshine> | also, not discouraging this conversation, but #haskell-offtopic :) |
2021-07-07 11:54:26 +0200 | <sshine> | haskl, writing a Forth interpreter in Haskell is a rewarding exercise. :) |
2021-07-07 11:54:55 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2021-07-07 11:54:59 +0200 | <sshine> | haskl, https://github.com/exercism/haskell/tree/main/exercises/practice/forth |
2021-07-07 11:55:00 +0200 | <darklambda> | interesting.. i haven't tried forth yet |
2021-07-07 11:55:02 +0200 | oxide | (~lambda@user/oxide) |
2021-07-07 11:55:21 +0200 | <darklambda> | oooh.. there's forth in exercism? |
2021-07-07 11:55:50 +0200 | <haskl> | it's also just a wildly different way of thinking about programming. i decided i wanted to do it after haskell really opened me up to the different ways of thinking about code. but i also have to checkout all these cool proof-driven languages people keep talking about in haskell circles |
2021-07-07 11:55:54 +0200 | <sshine> | haskl, the example solution doesn't use MonadState, so you could extend it that way, too. |
2021-07-07 11:56:07 +0200 | <haskl> | darklambda, oh i definitely have to try that |
2021-07-07 11:56:16 +0200 | <darklambda> | so far i've only tried rust, c++, c#(blazor), f#(bolero) for web assembly |
2021-07-07 11:56:17 +0200 | <sshine> | darklambda, there's a generic forth interpreter exercise that the Haskell track also specifies, yes. |
2021-07-07 11:56:38 +0200 | <darklambda> | let me check the exercism for forth :-) |
2021-07-07 11:56:54 +0200 | <haskl> | oh yeah i was thinking about using monadstate for the forth interpreter |
2021-07-07 11:57:13 +0200 | <haskl> | then i learned abou tdefining forth words and i had to take a break |
2021-07-07 11:57:37 +0200 | <darklambda> | ooh.. the forth exercise is classified as hard |
2021-07-07 11:57:52 +0200 | <darklambda> | it's still locked in my list.. :-) |
2021-07-07 11:58:21 +0200 | <sshine> | haskl, as in, the interpreter extends its own list of what words are available to use? |
2021-07-07 11:58:39 +0200 | <sshine> | darklambda, they're all available in GitHub. ;) |
2021-07-07 11:58:50 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 272 seconds) |
2021-07-07 11:58:57 +0200 | <haskl> | sshine, yep defined between : and ; |
2021-07-07 11:59:31 +0200 | <darklambda> | ah https://github.com/exercism/haskell/blob/main/exercises/practice/forth/src/Forth.hs |
2021-07-07 12:00:15 +0200 | <sshine> | darklambda, the unlocking mechanism works better if you assume that there are enough mentors to give timely feedback; I don't know how populated the Haskell feedback mentor staff is right now, since I quit the project around when they started language policing. |
2021-07-07 12:00:45 +0200 | <Rembane> | sshine: What language policing did they do? |
2021-07-07 12:01:07 +0200 | <sshine> | Rembane, censoring Slack messages that used "guys" as a gender-neutral plural. |
2021-07-07 12:01:32 +0200 | <Rembane> | sshine: Oh. That kind of languages. I thought they threw out C# or something. |
2021-07-07 12:02:06 +0200 | <darklambda> | ah... i just checked my haskell exercism... i noticed that i'm not in mentor mode... lol... i think i used haskel previously to practice problems.. then apply the same solution in the elm track (which i have in mentored mode) |
2021-07-07 12:03:17 +0200 | <darklambda> | Rembrane, there's also a C# track... |
2021-07-07 12:03:22 +0200 | <darklambda> | :-) |
2021-07-07 12:03:58 +0200 | <sshine> | Rembane, hehe :) I don't think they threw out any languages. but they do run Exercism v3 quite differently than v1/v2. it used to be run as a federation, but now it's more centralised, e.g. most of the git history in the haskell repo was wiped due to carelessly moving files, whereas that repo in particular had a style of deeply linking issues and PRs to retain a history of documenting every single choice |
2021-07-07 12:04:04 +0200 | <sshine> | point. |
2021-07-07 12:04:52 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
2021-07-07 12:05:16 +0200 | <sshine> | I preferred to work on it when I had the freedom to practice a high standard of documentation. :-D I learned a lot doing that. |
2021-07-07 12:05:27 +0200 | derelict | (~derelict@user/derelict) (Ping timeout: 252 seconds) |
2021-07-07 12:05:45 +0200 | <Rembane> | sshine: Got it. I suppose they can run it any way they want but regardless of what style they choose it will attract some people and repel others. |
2021-07-07 12:05:49 +0200 | <darklambda> | documentation as in code comments or markdown? |
2021-07-07 12:06:55 +0200 | <sshine> | darklambda, as in git commit messages and interlinking with GitHub issues/PRs that carry discussion. |
2021-07-07 12:07:04 +0200 | <darklambda> | ah |
2021-07-07 12:07:24 +0200 | <sshine> | Rembane, yup, it's just a different style of organisation now. |
2021-07-07 12:08:25 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-07-07 12:08:45 +0200 | kayprish | (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) |
2021-07-07 12:09:15 +0200 | Vajb | (~Vajb@n2hz3gq4auh6ltn9l-2.v6.elisa-mobile.fi) |
2021-07-07 12:09:22 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 240 seconds) |
2021-07-07 12:11:00 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
2021-07-07 12:12:25 +0200 | <kamy> | if I haven't defined some function f yet, but I have a call to 'f (length xs)' somewhere in my code, is there a way to get GHC to tell me about the inferred type 'f :: Int -> t1' but still let me load the other stuff in the file into ghci? if I don't define f at all, I get the inferred type in the error message but obviously the file won't compile |
2021-07-07 12:12:26 +0200 | <kamy> | at all, but if I do 'f n = undefined' and compile with -ddump-tc I just get 'f :: forall p a. p -> a'... wondering if there's a way to sort this out with typed holes or something |
2021-07-07 12:13:23 +0200 | <sshine> | kamy, f = _ |
2021-07-07 12:13:34 +0200 | <sshine> | kamy, https://downloads.haskell.org/~ghc/7.10.1/docs/html/users_guide/typed-holes.html |
2021-07-07 12:13:56 +0200 | <sshine> | oops, old compiler |
2021-07-07 12:14:15 +0200 | <sshine> | kamy, https://wiki.haskell.org/GHC/Typed_holes |
2021-07-07 12:15:49 +0200 | coldmountain | (sid484352@id-484352.brockwell.irccloud.com) |
2021-07-07 12:15:53 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 268 seconds) |
2021-07-07 12:18:19 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) |
2021-07-07 12:21:17 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-07-07 12:22:00 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-07 12:22:40 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Ping timeout: 246 seconds) |
2021-07-07 12:25:55 +0200 | peterhil | (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
2021-07-07 12:26:44 +0200 | jippiedoe | (~david@2a02-a44c-e14e-1-bdc0-a007-878c-4e7a.fixed6.kpn.net) |
2021-07-07 12:27:27 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-07-07 12:28:04 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-07 12:29:33 +0200 | <kamy> | sshine, thanks for the link :) unfortunately the info about taking an Int still seems to be lost somewhere along the way: f = _ gives an inferred type f :: t, and f n = _ gives an inferred type f :: p -> t |
2021-07-07 12:32:58 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-07-07 12:33:50 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-07 12:34:54 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2021-07-07 12:38:53 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-07-07 12:39:52 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-07 12:40:02 +0200 | juhp | (~juhp@128.106.188.66) |
2021-07-07 12:45:03 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-07-07 12:45:43 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-07 12:48:36 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 12:49:44 +0200 | derelict | (~derelict@user/derelict) |
2021-07-07 12:52:32 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 258 seconds) |
2021-07-07 12:53:30 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 268 seconds) |
2021-07-07 12:55:58 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-07-07 12:56:49 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-07 13:02:27 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-07-07 13:05:01 +0200 | derelict | (~derelict@user/derelict) (Ping timeout: 246 seconds) |
2021-07-07 13:05:38 +0200 | <tomsmeding> | kamy: presumably the other way round? |
2021-07-07 13:05:53 +0200 | <tomsmeding> | oh wait, yes the inferred type of f would be that |
2021-07-07 13:06:34 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 240 seconds) |
2021-07-07 13:06:35 +0200 | <tomsmeding> | I think GHC typechecks global definitions independently, so the usage of f with an Int argument doesn't propagate to the type checking of te global f |
2021-07-07 13:06:50 +0200 | AlexNoo_ | (~AlexNoo@178.34.162.146) |
2021-07-07 13:07:01 +0200 | <tomsmeding> | hm, it does seem to |
2021-07-07 13:08:41 +0200 | <kamy> | ah, that makes sense |
2021-07-07 13:08:41 +0200 | Vajb | (~Vajb@n2hz3gq4auh6ltn9l-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer) |
2021-07-07 13:08:50 +0200 | <tomsmeding> | kamy: perhaps passing -fdefer-type-errors to GHC can be some substitute for what you want? |
2021-07-07 13:09:16 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 13:10:00 +0200 | <tomsmeding> | the information seems to propagate "late"; GHC does notice if there's a type error, but if the definition of 'f' is generic enough, at instantiation of that right-hand side of 'f' the specific information isn't there yet |
2021-07-07 13:10:10 +0200 | AlexZenon | (~alzenon@178.34.162.171) (Ping timeout: 258 seconds) |
2021-07-07 13:10:10 +0200 | Alex_test | (~al_test@178.34.162.171) (Ping timeout: 258 seconds) |
2021-07-07 13:10:46 +0200 | AlexNoo | (~AlexNoo@178.34.162.171) (Ping timeout: 268 seconds) |
2021-07-07 13:11:15 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
2021-07-07 13:15:11 +0200 | Alex_test | (~al_test@178.34.162.146) |
2021-07-07 13:15:30 +0200 | AlexZenon | (~alzenon@178.34.162.146) |
2021-07-07 13:16:10 +0200 | jippiedoe | (~david@2a02-a44c-e14e-1-bdc0-a007-878c-4e7a.fixed6.kpn.net) (Ping timeout: 240 seconds) |
2021-07-07 13:16:37 +0200 | <kamy> | tomsmeding: looks like -fdefer-type-errors does what I wanted, thank you! |
2021-07-07 13:21:08 +0200 | azeem | (~azeem@176.201.33.66) (Ping timeout: 252 seconds) |
2021-07-07 13:21:40 +0200 | azeem | (~azeem@176.201.33.66) |
2021-07-07 13:21:58 +0200 | ahdyt | (~ahdyt@103.105.35.90) |
2021-07-07 13:24:32 +0200 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-07-07 13:26:39 +0200 | kamy | (~kamy@83-245-253-38-nat-p.elisa-mobile.fi) (Quit: Client closed) |
2021-07-07 13:28:42 +0200 | hendursa1 | (~weechat@user/hendursaga) |
2021-07-07 13:29:03 +0200 | brown121407 | smarton |
2021-07-07 13:29:10 +0200 | dunkeln | (~dunkeln@188.70.10.207) (Ping timeout: 246 seconds) |
2021-07-07 13:31:37 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2021-07-07 13:33:08 +0200 | kayprish | (~kayprish@cable-188-2-229-172.dynamic.sbb.rs) (Remote host closed the connection) |
2021-07-07 13:35:35 +0200 | <merijn> | What was the usecase? |
2021-07-07 13:38:48 +0200 | AlexNoo_ | AlexNoo |
2021-07-07 13:39:11 +0200 | absence_ | absence |
2021-07-07 13:40:14 +0200 | ahdyt | (~ahdyt@103.105.35.90) (Quit: Client closed) |
2021-07-07 13:41:42 +0200 | frobnicator | (~frobnicat@185-227-75-147.dsl.cambrium.nl) |
2021-07-07 13:42:32 +0200 | <frobnicator> | in templatehaskell, if I have a Name and want to convert this to for example a lowercase variant. How would I do this properly? For example, Name is "Main.T" and I want to make a new Name that has the value "t" |
2021-07-07 13:43:15 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) |
2021-07-07 13:44:28 +0200 | y04nn | (~y04nn@91.193.4.106) |
2021-07-07 13:45:23 +0200 | notzmv | (~zmv@user/notzmv) |
2021-07-07 13:45:58 +0200 | notzmv | (~zmv@user/notzmv) (Remote host closed the connection) |
2021-07-07 13:46:09 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-07-07 13:47:02 +0200 | notzmv | (~zmv@user/notzmv) |
2021-07-07 13:48:38 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) |
2021-07-07 13:49:43 +0200 | TheRAt | TheRAt_AWAY |
2021-07-07 13:49:46 +0200 | TheRAt_AWAY | TheRAt |
2021-07-07 13:50:34 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 240 seconds) |
2021-07-07 13:51:57 +0200 | <absence> | in ghc 9, template haskell was changed so liftTyped returns Quote m => Code m a instead of Q (TExp a). this breaks the code "either fail liftTyped something" because Code doesn't have a MonadFail instance. what's the recommended way to deal with this? manually wrap the result of fail in Code, i.e. "either (Code . fail) liftTyped something", or does that have other consequences? |
2021-07-07 13:53:05 +0200 | wei2912 | (~wei2912@112.199.250.21) (Quit: Lost terminal) |
2021-07-07 13:53:09 +0200 | epolanski | (uid312403@id-312403.brockwell.irccloud.com) |
2021-07-07 13:53:42 +0200 | chris-the-slurpa | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-07-07 13:56:43 +0200 | dunkeln | (~dunkeln@188.70.10.207) |
2021-07-07 13:58:05 +0200 | lortabac | (~lortabac@95.138.56.124) |
2021-07-07 13:59:37 +0200 | azeem | (~azeem@176.201.33.66) (Ping timeout: 246 seconds) |
2021-07-07 14:00:35 +0200 | azeem | (~azeem@176.200.218.50) |
2021-07-07 14:02:42 +0200 | mikail | (~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f) |
2021-07-07 14:04:01 +0200 | fef | (~thedawn@user/thedawn) |
2021-07-07 14:04:34 +0200 | comerijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-07 14:04:45 +0200 | chris-the-slurpa | (~chris@81.96.113.213) |
2021-07-07 14:05:12 +0200 | merijn | Guest5099 |
2021-07-07 14:05:34 +0200 | comerijn | merijn |
2021-07-07 14:06:01 +0200 | alcume | (~alcume@35.16.60.213.dynamic.reverse-mundo-r.com) |
2021-07-07 14:07:13 +0200 | jneira_ | (~jneira_@217.red-81-39-172.dynamicip.rima-tde.net) (Quit: Connection closed) |
2021-07-07 14:07:49 +0200 | Guest5099 | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-07-07 14:09:10 +0200 | chris-the-slurpa | (~chris@81.96.113.213) (Ping timeout: 252 seconds) |
2021-07-07 14:15:15 +0200 | dunkeln | (~dunkeln@188.70.10.207) (Ping timeout: 252 seconds) |
2021-07-07 14:18:24 +0200 | AgentM | (~agentm@pool-162-83-130-212.nycmny.fios.verizon.net) |
2021-07-07 14:19:44 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) |
2021-07-07 14:24:58 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Ping timeout: 240 seconds) |
2021-07-07 14:29:01 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
2021-07-07 14:30:25 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 246 seconds) |
2021-07-07 14:30:31 +0200 | dunkeln | (~dunkeln@188.70.10.207) |
2021-07-07 14:33:57 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 252 seconds) |
2021-07-07 14:34:19 +0200 | unyu | (~pyon@user/pyon) |
2021-07-07 14:35:27 +0200 | unyu | (~pyon@user/pyon) () |
2021-07-07 14:43:30 +0200 | azeem | (~azeem@176.200.218.50) (Ping timeout: 272 seconds) |
2021-07-07 14:43:44 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9519e1b6d7c282fb2b66.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2021-07-07 14:43:51 +0200 | dunkeln | (~dunkeln@188.70.10.207) (Ping timeout: 252 seconds) |
2021-07-07 14:44:36 +0200 | dunkeln | (~dunkeln@188.70.10.207) |
2021-07-07 14:45:12 +0200 | azeem | (~azeem@176.200.218.50) |
2021-07-07 14:48:21 +0200 | slowButPresent | (~slowButPr@user/slowbutpresent) |
2021-07-07 14:51:29 +0200 | jneira | (~jneira@212.8.115.226) (Quit: Client closed) |
2021-07-07 14:54:33 +0200 | pbrisbin | (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) |
2021-07-07 14:57:55 +0200 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
2021-07-07 14:58:13 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-07-07 14:58:52 +0200 | habib | (~habib@89.38.69.210) |
2021-07-07 15:00:47 +0200 | hiruji | (~hiruji@user/hiruji) (Ping timeout: 252 seconds) |
2021-07-07 15:01:08 +0200 | alx741 | (~alx741@181.196.69.147) |
2021-07-07 15:01:25 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-07-07 15:03:57 +0200 | hiruji | (~hiruji@user/hiruji) |
2021-07-07 15:07:50 +0200 | hiruji | (~hiruji@user/hiruji) (Read error: Connection reset by peer) |
2021-07-07 15:08:32 +0200 | hiruji | (~hiruji@user/hiruji) |
2021-07-07 15:10:05 +0200 | bontaq | (~user@ool-18e47f8d.dyn.optonline.net) |
2021-07-07 15:12:32 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
2021-07-07 15:15:27 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2021-07-07 15:17:00 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 252 seconds) |
2021-07-07 15:20:12 +0200 | chris-the-slurpa | (~chris@81.96.113.213) |
2021-07-07 15:20:37 +0200 | re101-bombay-7 | (~re101-bom@2601:203:c200:d6f0:2d33:506:5f01:fb2c) |
2021-07-07 15:22:26 +0200 | andreabedini | (~andreabed@8s8kj6n700qk9hqmfk36.ip6.superloop.com) |
2021-07-07 15:27:21 +0200 | bwe_ | bwe |
2021-07-07 15:28:52 +0200 | re101-bombay-7 | (~re101-bom@2601:203:c200:d6f0:2d33:506:5f01:fb2c) (Quit: Client closed) |
2021-07-07 15:30:10 +0200 | chomwitt | (~Pitsikoko@2a02:587:dc0b:0:d8f7:cdfe:4658:bec4) (Ping timeout: 240 seconds) |
2021-07-07 15:32:58 +0200 | benin0369 | (~benin@183.82.204.181) (Ping timeout: 240 seconds) |
2021-07-07 15:38:12 +0200 | azeem | (~azeem@176.200.218.50) (Ping timeout: 265 seconds) |
2021-07-07 15:38:31 +0200 | azeem | (~azeem@176.200.218.50) |
2021-07-07 15:39:27 +0200 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) |
2021-07-07 15:43:06 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-07-07 15:43:39 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 15:47:46 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 246 seconds) |
2021-07-07 15:48:44 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-07-07 15:49:04 +0200 | Taren | (~Taren@port-92-196-211-46.dynamic.as20676.net) (Ping timeout: 246 seconds) |
2021-07-07 15:49:12 +0200 | isekaijin | (~pyon@user/pyon) |
2021-07-07 15:50:22 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-07 15:50:59 +0200 | chris-the-slurpa | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-07-07 15:51:37 +0200 | chris-the-slurpa | (~chris@81.96.113.213) |
2021-07-07 15:53:32 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2021-07-07 15:53:54 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-07-07 15:54:46 +0200 | <tromp> | in ghci, how do I see a value rather than the result of function show? |
2021-07-07 15:55:19 +0200 | <Clint> | what? |
2021-07-07 15:56:06 +0200 | <tromp> | i have a record that is instance of Show |
2021-07-07 15:56:20 +0200 | chris-the-slurpa | (~chris@81.96.113.213) (Ping timeout: 272 seconds) |
2021-07-07 15:56:22 +0200 | <tromp> | but i want to see record fields |
2021-07-07 15:57:04 +0200 | <turlando> | tromp maybe `:i Thing'? |
2021-07-07 15:57:18 +0200 | <nshepperd> | this is the regret one faces the morning after having the clever idea to write a custom Show instance |
2021-07-07 15:57:44 +0200 | <geekosaur> | there's a way to have ghci use something other than show, but it will then use it for everything |
2021-07-07 15:57:50 +0200 | <tromp> | no, :i doesn't show record value |
2021-07-07 15:59:05 +0200 | <tromp> | ok, will try remove my instance... |
2021-07-07 15:59:09 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
2021-07-07 15:59:14 +0200 | <geekosaur> | you will probably have to write your own function to format the record. as nshepperd said, this is why you shouldn't get clever with Show instances |
2021-07-07 15:59:35 +0200 | <polux> | tromp: if the record has a Generic instance then there must be some library that implements a generic show |
2021-07-07 16:00:19 +0200 | <polux> | but +1 to what everyone just said above: Show should probably not be used for custom formatting |
2021-07-07 16:00:33 +0200 | <polux> | instance write a Pretty instance or something like that |
2021-07-07 16:00:42 +0200 | <polux> | s/instance/instead/ |
2021-07-07 16:03:01 +0200 | <tromp> | thx for all suggestions |
2021-07-07 16:03:46 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 240 seconds) |
2021-07-07 16:04:02 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2021-07-07 16:04:10 +0200 | y04nn | (~y04nn@91.193.4.106) (Ping timeout: 240 seconds) |
2021-07-07 16:04:17 +0200 | <polux> | tromp: I just tried https://hackage.haskell.org/package/generic-deriving-1.14/docs/Generics-Deriving-Show.html, it works as intended for records |
2021-07-07 16:04:18 +0200 | cheater | (~Username@user/cheater) |
2021-07-07 16:04:24 +0200 | <polux> | Prelude Generics.Deriving.Show GHC.Generics> data Record = R { a :: Int, b :: Bool } deriving (Generic) |
2021-07-07 16:04:24 +0200 | <polux> | Prelude Generics.Deriving.Show GHC.Generics> instance GShow Record |
2021-07-07 16:04:24 +0200 | <polux> | Prelude Generics.Deriving.Show GHC.Generics> gshow (R 1 True) |
2021-07-07 16:04:24 +0200 | <polux> | "R {a = 1, b = True}" |
2021-07-07 16:04:49 +0200 | <polux> | so if getting rid of your custom Show instance is impractical, that is a valid workaround |
2021-07-07 16:04:55 +0200 | <tromp> | i now use derive (Show) on the record and added a custom formatting function |
2021-07-07 16:04:57 +0200 | y04nn | (~y04nn@91.193.4.106) |
2021-07-07 16:05:43 +0200 | <merijn> | \o/ |
2021-07-07 16:05:49 +0200 | <merijn> | Another person converted back to sanity |
2021-07-07 16:06:29 +0200 | Danishman | (~Allan@2-104-144-110-cable.dk.customer.tdc.net) (Quit: Leaving) |
2021-07-07 16:07:27 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Ping timeout: 252 seconds) |
2021-07-07 16:07:44 +0200 | Vajb | (~Vajb@n2hz3gq4auh6ltn9l-2.v6.elisa-mobile.fi) |
2021-07-07 16:12:16 +0200 | azeem | (~azeem@176.200.218.50) (Ping timeout: 246 seconds) |
2021-07-07 16:13:55 +0200 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
2021-07-07 16:13:58 +0200 | dunkeln | (~dunkeln@188.70.10.207) (Ping timeout: 265 seconds) |
2021-07-07 16:14:26 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 16:15:20 +0200 | dunj3 | (~dunj3@2001:16b8:3020:e900:566b:618c:a738:2a84) (Remote host closed the connection) |
2021-07-07 16:16:45 +0200 | azeem | (~azeem@176.200.218.50) |
2021-07-07 16:16:59 +0200 | vpan | (~vilius@212.117.1.172) |
2021-07-07 16:20:05 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 268 seconds) |
2021-07-07 16:22:14 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) |
2021-07-07 16:23:20 +0200 | notzmv | (~zmv@user/notzmv) |
2021-07-07 16:23:20 +0200 | alcume | (~alcume@35.16.60.213.dynamic.reverse-mundo-r.com) (Read error: Connection reset by peer) |
2021-07-07 16:25:58 +0200 | keutoi | (~keutoi@157.47.77.5) (Remote host closed the connection) |
2021-07-07 16:26:03 +0200 | argento | (~argent0@168-227-97-34.ptr.westnet.com.ar) |
2021-07-07 16:26:34 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Ping timeout: 240 seconds) |
2021-07-07 16:28:14 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
2021-07-07 16:28:43 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 246 seconds) |
2021-07-07 16:29:16 +0200 | azeem | (~azeem@176.200.218.50) (Ping timeout: 272 seconds) |
2021-07-07 16:30:46 +0200 | dunkeln | (~dunkeln@188.70.10.207) |
2021-07-07 16:32:56 +0200 | azeem | (~azeem@176.201.11.138) |
2021-07-07 16:34:04 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2021-07-07 16:35:18 +0200 | nova | (novasenco@user/nova) (♥☺) |
2021-07-07 16:36:36 +0200 | statusbot1 | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Remote host closed the connection) |
2021-07-07 16:36:49 +0200 | statusbot | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) |
2021-07-07 16:39:13 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
2021-07-07 16:40:18 +0200 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) |
2021-07-07 16:42:55 +0200 | rostero | (uid236576@id-236576.tooting.irccloud.com) |
2021-07-07 16:44:07 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 246 seconds) |
2021-07-07 16:44:32 +0200 | cheater | (~Username@user/cheater) |
2021-07-07 16:48:16 +0200 | dunkeln | (~dunkeln@188.70.10.207) (Ping timeout: 272 seconds) |
2021-07-07 16:49:40 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-07-07 16:49:44 +0200 | azeem | (~azeem@176.201.11.138) (Ping timeout: 265 seconds) |
2021-07-07 16:49:54 +0200 | azeem | (~azeem@176.201.11.138) |
2021-07-07 16:50:18 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 16:54:37 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 246 seconds) |
2021-07-07 16:55:27 +0200 | chris-the-slurpa | (~chris@94.119.64.0) |
2021-07-07 16:56:55 +0200 | korayal | (~Koray_Al@user/korayal) (Quit: WeeChat 3.3-dev) |
2021-07-07 16:57:08 +0200 | azeem | (~azeem@176.201.11.138) (Ping timeout: 272 seconds) |
2021-07-07 16:57:43 +0200 | azeem | (~azeem@176.201.11.138) |
2021-07-07 17:00:18 +0200 | habib | (~habib@89.38.69.210) (Ping timeout: 272 seconds) |
2021-07-07 17:01:52 +0200 | argento | (~argent0@168-227-97-34.ptr.westnet.com.ar) (Ping timeout: 252 seconds) |
2021-07-07 17:04:03 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-07-07 17:05:03 +0200 | Kirat | (~Gill@103.217.122.15) |
2021-07-07 17:05:29 +0200 | Kirat | (~Gill@103.217.122.15) (Client Quit) |
2021-07-07 17:06:34 +0200 | habib | (~habib@188.241.156.95) |
2021-07-07 17:07:38 +0200 | hewxle | (~hewxle@user/hewxle) |
2021-07-07 17:09:10 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 272 seconds) |
2021-07-07 17:10:48 +0200 | dunkeln_ | (~dunkeln@188.70.10.207) |
2021-07-07 17:12:57 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
2021-07-07 17:14:56 +0200 | Vajb | (~Vajb@n2hz3gq4auh6ltn9l-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer) |
2021-07-07 17:15:07 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
2021-07-07 17:18:53 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 17:19:57 +0200 | habib | (~habib@188.241.156.95) (Read error: Connection reset by peer) |
2021-07-07 17:20:17 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.2) |
2021-07-07 17:21:15 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-07-07 17:21:46 +0200 | andreabedini | (~andreabed@8s8kj6n700qk9hqmfk36.ip6.superloop.com) (Quit: Textual IRC Client: www.textualapp.com) |
2021-07-07 17:22:24 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
2021-07-07 17:23:33 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 258 seconds) |
2021-07-07 17:23:49 +0200 | mnrmnaugh | (~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) |
2021-07-07 17:28:10 +0200 | azeem | (~azeem@176.201.11.138) (Ping timeout: 240 seconds) |
2021-07-07 17:28:22 +0200 | drd | (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) |
2021-07-07 17:28:40 +0200 | chris-the-slurpa | (~chris@94.119.64.0) (Remote host closed the connection) |
2021-07-07 17:29:12 +0200 | chris-the-slurpa | (~chris@94.119.64.3) |
2021-07-07 17:32:35 +0200 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 252 seconds) |
2021-07-07 17:32:40 +0200 | azeem | (~azeem@176.201.11.138) |
2021-07-07 17:33:17 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
2021-07-07 17:33:22 +0200 | chris-the-slurpa | (~chris@94.119.64.3) (Ping timeout: 240 seconds) |
2021-07-07 17:38:04 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
2021-07-07 17:38:49 +0200 | habib | (~habib@109.70.150.189) |
2021-07-07 17:39:06 +0200 | habib | (~habib@109.70.150.189) () |
2021-07-07 17:41:05 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 17:44:24 +0200 | <monochrom> | Wouldn't it be more fun to convert to the insane way? >:) |
2021-07-07 17:45:06 +0200 | <monochrom> | Handwrite your own non-standard Show instance. For the standard one, derive Generic and use GShow. >:) |
2021-07-07 17:47:53 +0200 | dajoer | (~david@user/gvx) (Quit: leaving) |
2021-07-07 17:50:33 +0200 | lortabac | (~lortabac@95.138.56.124) (Quit: WeeChat 2.8) |
2021-07-07 17:53:04 +0200 | azeem | (~azeem@176.201.11.138) (Ping timeout: 258 seconds) |
2021-07-07 17:54:32 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-07-07 17:55:37 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) |
2021-07-07 17:57:18 +0200 | azeem | (~azeem@176.201.11.138) |
2021-07-07 17:57:57 +0200 | re101-bombay-4 | (~re101-bom@2601:203:c200:d6f0:2d33:506:5f01:fb2c) |
2021-07-07 17:58:17 +0200 | jumper149 | (~jumper149@80.240.31.34) (Quit: WeeChat 3.1) |
2021-07-07 18:00:01 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
2021-07-07 18:03:07 +0200 | MiguelNegrao | (~MiguelNeg@2001:818:dc71:d100:9e5a:44ff:fe17:1240) |
2021-07-07 18:04:34 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 252 seconds) |
2021-07-07 18:04:46 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-07 18:05:15 +0200 | fengctor | (~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca) |
2021-07-07 18:05:27 +0200 | <MiguelNegrao> | Hi. I'd like to define a function (Arrow a, Traversable f, more constraints here...) => t (a b c) -> a (t b) (t c) Are there constraints I can add to make this possible ? |
2021-07-07 18:05:49 +0200 | michalz | (~michalz@185.246.204.126) (Remote host closed the connection) |
2021-07-07 18:05:59 +0200 | <MiguelNegrao> | I've already implemeted it for lists (requiring ArrowChoice) |
2021-07-07 18:06:35 +0200 | <MiguelNegrao> | and for vector-sized Vector (not requiring ArrrowChoice) |
2021-07-07 18:06:57 +0200 | <MiguelNegrao> | https://github.com/miguel-negrao/arrow-utils/blob/main/src/Control/Arrow/Utils.hs |
2021-07-07 18:09:00 +0200 | dunkeln_ | (~dunkeln@188.70.10.207) (Ping timeout: 265 seconds) |
2021-07-07 18:09:26 +0200 | <MiguelNegrao> | it also looks similar to traverse' :: Traversable f => p a b -> p (f a) (f b) from profunctors |
2021-07-07 18:09:50 +0200 | derelict | (~derelict@user/derelict) |
2021-07-07 18:10:36 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-07-07 18:10:57 +0200 | <amesgen[m]> | Is there a "standard" `StateT`-ish transformer for `Quote` from recent template-haskell? |
2021-07-07 18:10:59 +0200 | <jle`> | MiguelNegrao: what do you want it to do? |
2021-07-07 18:11:21 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-07-07 18:11:47 +0200 | <MiguelNegrao> | If I have a container of arrows, I want to create a new arrow that takes a container of inputs, applies each arrow to each input generating a container of outputs |
2021-07-07 18:12:16 +0200 | <MiguelNegrao> | It's useful for FRP stuff with arrows |
2021-07-07 18:13:33 +0200 | <MiguelNegrao> | On that link you can see it implemented for lists |
2021-07-07 18:13:58 +0200 | <MiguelNegrao> | It's called sequenceArrList |
2021-07-07 18:14:10 +0200 | fef | (~thedawn@user/thedawn) |
2021-07-07 18:16:32 +0200 | ubert | (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection) |
2021-07-07 18:17:09 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-07-07 18:17:53 +0200 | re101-bombay-4 | (~re101-bom@2601:203:c200:d6f0:2d33:506:5f01:fb2c) (Quit: Client closed) |
2021-07-07 18:18:50 +0200 | isekaijin | (~pyon@user/pyon) (Quit: WeeChat 3.2) |
2021-07-07 18:19:04 +0200 | Deide | (~Deide@217.155.19.23) |
2021-07-07 18:19:04 +0200 | Deide | (~Deide@217.155.19.23) (Changing host) |
2021-07-07 18:19:04 +0200 | Deide | (~Deide@user/deide) |
2021-07-07 18:22:41 +0200 | fef | (~thedawn@user/thedawn) (Remote host closed the connection) |
2021-07-07 18:23:26 +0200 | fef | (~thedawn@user/thedawn) |
2021-07-07 18:26:02 +0200 | notzmv | (~zmv@user/notzmv) |
2021-07-07 18:27:19 +0200 | Guest8466 | (~Guest84@188.27.129.10) (Quit: Client closed) |
2021-07-07 18:27:37 +0200 | hnOsmium0001 | (uid453710@id-453710.stonehaven.irccloud.com) |
2021-07-07 18:28:55 +0200 | radw | (~radw@user/radw) (Ping timeout: 246 seconds) |
2021-07-07 18:29:02 +0200 | azeem | (~azeem@176.201.11.138) (Read error: Connection reset by peer) |
2021-07-07 18:30:04 +0200 | radw | (~radw@user/radw) |
2021-07-07 18:30:23 +0200 | azeem | (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) |
2021-07-07 18:34:49 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2021-07-07 18:35:29 +0200 | pfurla_ | (~pfurla@216.151.180.130) |
2021-07-07 18:36:27 +0200 | dunkeln | (~dunkeln@188.70.10.207) |
2021-07-07 18:37:47 +0200 | waleee | (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
2021-07-07 18:38:13 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 246 seconds) |
2021-07-07 18:38:58 +0200 | nschoe | (~quassel@178.251.84.79) (Ping timeout: 240 seconds) |
2021-07-07 18:40:07 +0200 | fendor | (~fendor@178.165.171.166.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-07-07 18:40:08 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2021-07-07 18:41:36 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-07-07 18:43:35 +0200 | notzmv | (~zmv@user/notzmv) (Remote host closed the connection) |
2021-07-07 18:47:47 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
2021-07-07 18:48:43 +0200 | fengctor | (~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca) (Read error: Connection reset by peer) |
2021-07-07 18:49:52 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Remote host closed the connection) |
2021-07-07 18:50:26 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 18:51:05 +0200 | <exarkun> | Anyone know how to get a non-Haskell dependency into the latest Haskell.nix-generated Nix expressions? |
2021-07-07 18:51:21 +0200 | <exarkun> | non-Haskell, non-nixpkgs |
2021-07-07 18:51:42 +0200 | <exarkun> | I have an overlay defining it that worked fine with older Haskell.nix but the new recommended default.nix doesn't have an obvious place for overlays |
2021-07-07 18:52:01 +0200 | <exarkun> | And jamming it in the non-obvious place leaves me with the failure "Setup: The pkg-config package 'libchallenge_bypass_ristretto_ffi' is required" |
2021-07-07 18:52:10 +0200 | <exarkun> | "but it could not be found" |
2021-07-07 18:53:36 +0200 | chris-the-slurpa | (~chris@cpc68332-cdif16-2-0-cust330.5-1.cable.virginm.net) |
2021-07-07 18:54:19 +0200 | radw | (~radw@user/radw) (Ping timeout: 246 seconds) |
2021-07-07 18:54:37 +0200 | <glguy> | Using GHC-8.10.5 I seem to be getting messages like "Currently only 10 to 12 is supported. System LLVM version: 9.0.1" but I was under the impression LLVM-9 was the only one supported |
2021-07-07 18:55:05 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-07-07 18:55:42 +0200 | radw | (~radw@user/radw) |
2021-07-07 18:55:44 +0200 | <glguy> | I don't think these details matter, but: armv7l, running `cabal install cabal-install`, raspberry pi |
2021-07-07 19:00:02 +0200 | beka | (~beka@104.193.170-244.PUBLIC.monkeybrains.net) |
2021-07-07 19:00:19 +0200 | chris-the-slurpa | (~chris@cpc68332-cdif16-2-0-cust330.5-1.cable.virginm.net) (Remote host closed the connection) |
2021-07-07 19:00:51 +0200 | chris-the-slurpa | (~chris@cpc68332-cdif16-2-0-cust330.5-1.cable.virginm.net) |
2021-07-07 19:01:04 +0200 | <maerwald> | it's just a GHC bug afair... the message is incorrect |
2021-07-07 19:02:02 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-07-07 19:03:48 +0200 | chris-the-slurpa | (~chris@cpc68332-cdif16-2-0-cust330.5-1.cable.virginm.net) (Remote host closed the connection) |
2021-07-07 19:04:00 +0200 | chris-the-slurpa | (~chris@cpc68332-cdif16-2-0-cust330.5-1.cable.virginm.net) |
2021-07-07 19:04:53 +0200 | chris-the-slurpa | (~chris@cpc68332-cdif16-2-0-cust330.5-1.cable.virginm.net) (Remote host closed the connection) |
2021-07-07 19:05:07 +0200 | <glguy> | maerwald: so I should stick with 9? |
2021-07-07 19:05:23 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.2) |
2021-07-07 19:05:24 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-07-07 19:05:35 +0200 | chris-the-slurpa | (~chris@cpc68332-cdif16-2-0-cust330.5-1.cable.virginm.net) |
2021-07-07 19:05:52 +0200 | <maerwald> | glguy: https://gitlab.haskell.org/ghc/ghc/-/issues/19959 |
2021-07-07 19:06:16 +0200 | chris-the-slurpa | (~chris@cpc68332-cdif16-2-0-cust330.5-1.cable.virginm.net) (Remote host closed the connection) |
2021-07-07 19:06:22 +0200 | <glguy> | maerwald: thank you |
2021-07-07 19:06:29 +0200 | chris-the-slurpa | (~chris@cpc68332-cdif16-2-0-cust330.5-1.cable.virginm.net) |
2021-07-07 19:07:44 +0200 | <monochrom> | Nice, there will be a 8.10.6 |
2021-07-07 19:09:11 +0200 | chris-the-slurpa | (~chris@cpc68332-cdif16-2-0-cust330.5-1.cable.virginm.net) (Remote host closed the connection) |
2021-07-07 19:09:26 +0200 | argento | (~argent0@168-227-97-29.ptr.westnet.com.ar) |
2021-07-07 19:09:43 +0200 | lavaman | (~lavaman@98.38.249.169) (Ping timeout: 246 seconds) |
2021-07-07 19:10:29 +0200 | dunkeln | (~dunkeln@188.70.10.207) (Ping timeout: 252 seconds) |
2021-07-07 19:10:30 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-07-07 19:10:30 +0200 | azeem | (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) (Ping timeout: 258 seconds) |
2021-07-07 19:10:36 +0200 | mikail | (~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f) (Ping timeout: 252 seconds) |
2021-07-07 19:11:05 +0200 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Quit: Leaving) |
2021-07-07 19:11:20 +0200 | azeem | (~azeem@176.201.13.131) |
2021-07-07 19:12:43 +0200 | rostero | (uid236576@id-236576.tooting.irccloud.com) (Quit: Connection closed for inactivity) |
2021-07-07 19:13:22 +0200 | azeem | (~azeem@176.201.13.131) (Read error: Connection reset by peer) |
2021-07-07 19:13:36 +0200 | azeem | (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) |
2021-07-07 19:15:26 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-07-07 19:16:04 +0200 | Atum_ | (~IRC@user/atum/x-2392232) |
2021-07-07 19:18:19 +0200 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
2021-07-07 19:18:26 +0200 | Obo | (~roberto@70.pool90-171-81.dynamic.orange.es) (Quit: WeeChat 2.8) |
2021-07-07 19:19:36 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
2021-07-07 19:21:01 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 19:21:11 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-07-07 19:22:28 +0200 | rostero | (uid236576@id-236576.tooting.irccloud.com) |
2021-07-07 19:23:15 +0200 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) (Ping timeout: 252 seconds) |
2021-07-07 19:24:15 +0200 | jneira[m] | (~jneira@174.red-37-10-141.dynamicip.rima-tde.net) |
2021-07-07 19:25:21 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Remote host closed the connection) |
2021-07-07 19:25:26 +0200 | adanwan_ | (~adanwan@gateway/tor-sasl/adanwan) |
2021-07-07 19:25:50 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 258 seconds) |
2021-07-07 19:26:12 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 244 seconds) |
2021-07-07 19:27:45 +0200 | fef | (~thedawn@user/thedawn) (Quit: Leaving) |
2021-07-07 19:27:55 +0200 | <maerwald> | yeah, 8.10.5 was a bit of a rush |
2021-07-07 19:28:58 +0200 | argento | (~argent0@168-227-97-29.ptr.westnet.com.ar) (Ping timeout: 240 seconds) |
2021-07-07 19:29:46 +0200 | xff0x | (~xff0x@2001:1a81:539d:3600:7f6d:8918:f53:97d7) (Ping timeout: 240 seconds) |
2021-07-07 19:30:44 +0200 | xff0x | (~xff0x@2001:1a81:539d:3600:1c1d:c169:6e6:5e55) |
2021-07-07 19:31:07 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-07-07 19:31:46 +0200 | drd | (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 240 seconds) |
2021-07-07 19:33:47 +0200 | nschoe | (~quassel@2a01:e0a:8e:a190:180:9002:34a9:8370) |
2021-07-07 19:36:32 +0200 | econo | (uid147250@user/econo) |
2021-07-07 19:37:04 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 19:37:06 +0200 | jneira[m] | (~jneira@174.red-37-10-141.dynamicip.rima-tde.net) (Remote host closed the connection) |
2021-07-07 19:40:11 +0200 | <AWizzArd> | If you want to do Single Sign-On with Microsoft Azure and Auth0 – which Haskell lib would you use? Something with OAuth 2 perhaps? |
2021-07-07 19:41:27 +0200 | chris-the-slurpa | (~chris@cpc68332-cdif16-2-0-cust330.5-1.cable.virginm.net) |
2021-07-07 19:41:57 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-07-07 19:42:37 +0200 | dunkeln_ | (~dunkeln@188.70.10.207) |
2021-07-07 19:42:37 +0200 | azeem | (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) (Ping timeout: 246 seconds) |
2021-07-07 19:44:40 +0200 | azeem | (~azeem@176.201.13.131) |
2021-07-07 19:46:45 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
2021-07-07 19:46:54 +0200 | nschoe | (~quassel@2a01:e0a:8e:a190:180:9002:34a9:8370) (Ping timeout: 252 seconds) |
2021-07-07 19:46:54 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
2021-07-07 19:47:55 +0200 | ahdyt | (~ahdyt@103.105.35.90) |
2021-07-07 19:48:26 +0200 | ahdyt | (~ahdyt@103.105.35.90) (Client Quit) |
2021-07-07 19:48:40 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) |
2021-07-07 19:51:10 +0200 | chomwitt | (~Pitsikoko@athedsl-16082.home.otenet.gr) |
2021-07-07 19:52:04 +0200 | sheepduck | (~sheepduck@user/sheepduck) |
2021-07-07 19:52:58 +0200 | epolanski | (uid312403@id-312403.brockwell.irccloud.com) (Quit: Connection closed for inactivity) |
2021-07-07 19:53:16 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 19:53:58 +0200 | chris-the-slurpa | (~chris@cpc68332-cdif16-2-0-cust330.5-1.cable.virginm.net) (Remote host closed the connection) |
2021-07-07 19:55:03 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer) |
2021-07-07 19:55:16 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
2021-07-07 19:56:05 +0200 | hrnz | (~ulli@irc.plumbing) (Quit: das ist mir zu bld hier; bb) |
2021-07-07 19:56:25 +0200 | hrnz | (~ulli@irc.plumbing) |
2021-07-07 19:57:30 +0200 | jolly | (~jolly@208.180.97.158) (Quit: Connection closed) |
2021-07-07 19:58:14 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 265 seconds) |
2021-07-07 19:59:26 +0200 | MiguelNegrao | (~MiguelNeg@2001:818:dc71:d100:9e5a:44ff:fe17:1240) (Quit: Client closed) |
2021-07-07 20:00:08 +0200 | aman | (~aman@user/aman) (Quit: aman) |
2021-07-07 20:00:53 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
2021-07-07 20:05:22 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 240 seconds) |
2021-07-07 20:05:29 +0200 | shapr | (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
2021-07-07 20:06:02 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-07 20:07:05 +0200 | pavonia | (~user@user/siracusa) |
2021-07-07 20:09:15 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Remote host closed the connection) |
2021-07-07 20:09:50 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) |
2021-07-07 20:10:06 +0200 | y04nn | (~y04nn@91.193.4.106) (Ping timeout: 268 seconds) |
2021-07-07 20:10:11 +0200 | mikail | (~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f) |
2021-07-07 20:12:15 +0200 | lortabac | (~lortabac@95.138.56.124) |
2021-07-07 20:13:55 +0200 | azeem | (~azeem@176.201.13.131) (Read error: Connection reset by peer) |
2021-07-07 20:14:07 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Ping timeout: 246 seconds) |
2021-07-07 20:14:42 +0200 | azeem | (~azeem@dynamic-adsl-84-220-226-129.clienti.tiscali.it) |
2021-07-07 20:15:57 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-07-07 20:22:22 +0200 | Lycurgus | (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt) |
2021-07-07 20:22:43 +0200 | y04nn | (~y04nn@91.193.4.106) |
2021-07-07 20:26:13 +0200 | chris-the-slurpa | (~chris@cpc68332-cdif16-2-0-cust330.5-1.cable.virginm.net) |
2021-07-07 20:27:01 +0200 | chris-the-slurpa | (~chris@cpc68332-cdif16-2-0-cust330.5-1.cable.virginm.net) (Remote host closed the connection) |
2021-07-07 20:29:43 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2021-07-07 20:35:41 +0200 | <Atum_> | Hey, total newbie here, I'm trying to import a function from a second file (lib.hs) into my main, but I'm getting a variable not in scope error, whenever I try to call the function.. the paste is: https://paste.tomsmeding.com/EFLYwZDH |
2021-07-07 20:36:10 +0200 | <Atum_> | I'm using the vscode extension, and a stack default project |
2021-07-07 20:37:12 +0200 | <sm[m]> | hi Atum_ . double != doubleNum |
2021-07-07 20:37:22 +0200 | <sm[m]> | double != doubleFunc, rather |
2021-07-07 20:37:31 +0200 | <AWizzArd> | Yeah, try to call `doubleFunc` instead of `double`. |
2021-07-07 20:37:42 +0200 | <Atum_> | oh lol, yea |
2021-07-07 20:37:45 +0200 | <Atum_> | thanks |
2021-07-07 20:37:47 +0200 | <AWizzArd> | Atum_: line 7 in Main.hs looks problematic. |
2021-07-07 20:37:51 +0200 | <sm[m]> | 🦆 |
2021-07-07 20:37:56 +0200 | <Atum_> | thanks duck |
2021-07-07 20:38:11 +0200 | <AWizzArd> | And: calling it may not do too many interesting things. |
2021-07-07 20:38:23 +0200 | <Atum_> | yea, I'm literally 15 mins into my haskell adventure |
2021-07-07 20:38:31 +0200 | <AWizzArd> | Excellent :) |
2021-07-07 20:38:33 +0200 | <Atum_> | I don't know how long it will last, lol |
2021-07-07 20:38:42 +0200 | <sm[m]> | a grand adventure begins! |
2021-07-07 20:38:47 +0200 | <AWizzArd> | At least you are trying it at all. |
2021-07-07 20:39:10 +0200 | <AWizzArd> | Perhaps you will get an error message. In that case try something like: let x = doubleFunc 2 |
2021-07-07 20:39:46 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-07-07 20:40:03 +0200 | <Atum_> | Ok! thanks :) |
2021-07-07 20:40:26 +0200 | <AWizzArd> | Atum_: your adventure may lead you deep into that rabbit hole, and who knows, at the end you might be playing with injective type families and contravariant bifunctors. |
2021-07-07 20:43:10 +0200 | <Atum_> | AWizzArd: If I get this far it will be nice, haha |
2021-07-07 20:43:33 +0200 | y04nn | (~y04nn@91.193.4.106) (Ping timeout: 252 seconds) |
2021-07-07 20:47:22 +0200 | mikail | (~mikail@2a02:c7f:bd83:fd00:55cf:122f:957a:f66f) (Remote host closed the connection) |
2021-07-07 20:47:28 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) |
2021-07-07 20:47:33 +0200 | lortabac | (~lortabac@95.138.56.124) (Quit: WeeChat 2.8) |
2021-07-07 20:47:53 +0200 | norias | (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Quit: Leaving) |
2021-07-07 20:48:08 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) |
2021-07-07 20:48:16 +0200 | y04nn | (~y04nn@91.193.4.106) |
2021-07-07 20:48:30 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.0.1) |
2021-07-07 20:49:30 +0200 | tromp | (~textual@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer) |
2021-07-07 20:51:40 +0200 | pjb | (~pjb@user/pjb) |
2021-07-07 20:52:01 +0200 | mikail | (~mikail@90.212.77.3) |
2021-07-07 20:54:10 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 20:55:11 +0200 | nschoe | (~quassel@2a01:e0a:8e:a190:cd08:592:d0aa:def9) |
2021-07-07 20:57:18 +0200 | Ariakenom | (~Ariakenom@c83-255-154-140.bredband.tele2.se) |
2021-07-07 20:58:50 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 252 seconds) |
2021-07-07 20:59:25 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Remote host closed the connection) |
2021-07-07 20:59:56 +0200 | dunkeln_ | (~dunkeln@188.70.10.207) (Read error: Connection reset by peer) |
2021-07-07 21:03:04 +0200 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2021-07-07 21:03:05 +0200 | fengctor | (~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca) |
2021-07-07 21:05:55 +0200 | pfurla_ | (~pfurla@216.151.180.130) (Ping timeout: 246 seconds) |
2021-07-07 21:08:06 +0200 | vpan | (~vilius@212.117.1.172) (Quit: Leaving.) |
2021-07-07 21:08:18 +0200 | Kaipi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) |
2021-07-07 21:08:26 +0200 | Kaiepi | (~Kaiepi@nwcsnbsc03w-47-54-173-93.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer) |
2021-07-07 21:10:13 +0200 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) |
2021-07-07 21:11:40 +0200 | <Boarders> | is there a standard library function that returns from a list of lists all the longests lists? |
2021-07-07 21:11:53 +0200 | <Boarders> | I can do it with groupOn but wondering if there is something else |
2021-07-07 21:13:43 +0200 | <adamse> | Boarders: perhaps maximumBy |
2021-07-07 21:15:17 +0200 | <adamse> | nvm |
2021-07-07 21:18:28 +0200 | hewxle | (~hewxle@user/hewxle) (Ping timeout: 265 seconds) |
2021-07-07 21:20:32 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 21:21:51 +0200 | chris-the-slurpa | (~chris@cpc68332-cdif16-2-0-cust330.5-1.cable.virginm.net) |
2021-07-07 21:24:58 +0200 | MidAutumnMoon9 | (~MidAutumn@user/midautumnmoon) |
2021-07-07 21:25:17 +0200 | chris-the-slurpa | (~chris@cpc68332-cdif16-2-0-cust330.5-1.cable.virginm.net) (Remote host closed the connection) |
2021-07-07 21:25:34 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
2021-07-07 21:25:40 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 272 seconds) |
2021-07-07 21:25:57 +0200 | argento | (~argent0@168-227-97-29.ptr.westnet.com.ar) |
2021-07-07 21:27:56 +0200 | MidAutumnMoon | (~MidAutumn@user/midautumnmoon) (Ping timeout: 256 seconds) |
2021-07-07 21:27:56 +0200 | MidAutumnMoon9 | MidAutumnMoon |
2021-07-07 21:29:30 +0200 | MidAutumnMoon9 | (~MidAutumn@user/midautumnmoon) |
2021-07-07 21:30:44 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 272 seconds) |
2021-07-07 21:32:58 +0200 | MidAutumnMoon | (~MidAutumn@user/midautumnmoon) (Ping timeout: 265 seconds) |
2021-07-07 21:36:29 +0200 | lavaman | (~lavaman@98.38.249.169) |
2021-07-07 21:37:57 +0200 | oxide | (~lambda@user/oxide) (Quit: oxide) |
2021-07-07 21:37:58 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) |
2021-07-07 21:41:42 +0200 | <monochrom> | Do you mind: first find the maximum length, then filter (\x -> length x == maxlength)? |
2021-07-07 21:42:41 +0200 | <exarkun> | Anyone know about Haskell.nix native dependencies? https://github.com/input-output-hk/haskell.nix/issues/1163 |
2021-07-07 21:44:00 +0200 | <Boarders> | monochrom: probably the cleanest suggestion without simply writing the recursion by hand :) |
2021-07-07 21:47:52 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-07-07 21:50:57 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Remote host closed the connection) |
2021-07-07 21:52:27 +0200 | fengctor | (~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca) (Read error: Connection reset by peer) |
2021-07-07 21:52:39 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 258 seconds) |
2021-07-07 21:53:08 +0200 | cheater | (~Username@user/cheater) |
2021-07-07 21:54:53 +0200 | epolanski | (uid312403@id-312403.brockwell.irccloud.com) |
2021-07-07 21:57:55 +0200 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) (Remote host closed the connection) |
2021-07-07 21:58:14 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) |
2021-07-07 22:00:00 +0200 | xff0x | (~xff0x@2001:1a81:539d:3600:1c1d:c169:6e6:5e55) (Ping timeout: 252 seconds) |
2021-07-07 22:00:15 +0200 | jneira_ | (~jneira_@217.red-81-39-172.dynamicip.rima-tde.net) |
2021-07-07 22:00:56 +0200 | xff0x | (~xff0x@2001:1a81:539d:3600:dd23:6975:e62a:a95) |
2021-07-07 22:06:02 +0200 | juhp | (~juhp@128.106.188.66) (Ping timeout: 268 seconds) |
2021-07-07 22:07:03 +0200 | juhp | (~juhp@128.106.188.66) |
2021-07-07 22:08:01 +0200 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-07-07 22:08:44 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2021-07-07 22:09:09 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2021-07-07 22:11:40 +0200 | pbrisbin | (~patrick@pool-173-49-147-28.phlapa.fios.verizon.net) (Quit: WeeChat 3.1) |
2021-07-07 22:20:28 +0200 | autogenerated | (~autogener@24.133.69.243) |
2021-07-07 22:24:08 +0200 | autogenerated | (~autogener@24.133.69.243) () |
2021-07-07 22:30:30 +0200 | add_alias-LUA | (~add_alias@2601:203:c200:d6f0:2d33:506:5f01:fb2c) |
2021-07-07 22:30:34 +0200 | <boxscape> | Is the run time of a case expression roughly linear in the number of alternatives? |
2021-07-07 22:31:45 +0200 | <sm[m]> | the run time for selecting an alternative ? |
2021-07-07 22:32:22 +0200 | <boxscape> | yeah |
2021-07-07 22:33:26 +0200 | nschoe | (~quassel@2a01:e0a:8e:a190:cd08:592:d0aa:def9) (Ping timeout: 252 seconds) |
2021-07-07 22:35:01 +0200 | beka | (~beka@104.193.170-244.PUBLIC.monkeybrains.net) (Ping timeout: 268 seconds) |
2021-07-07 22:36:39 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-07-07 22:39:49 +0200 | manually_generat | (~manually_@24.133.69.243) |
2021-07-07 22:40:11 +0200 | manually_generat | (~manually_@24.133.69.243) (Client Quit) |
2021-07-07 22:40:46 +0200 | manually_generat | (~manually_@24.133.69.243) |
2021-07-07 22:41:02 +0200 | manually_generat | (~manually_@24.133.69.243) (Client Quit) |
2021-07-07 22:41:48 +0200 | manually_generat | (~manually_@24.133.69.243) |
2021-07-07 22:44:27 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) (Quit: -) |
2021-07-07 22:46:01 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 246 seconds) |
2021-07-07 22:46:35 +0200 | <veverak> | hmm how to easily convert UTCTime into a epoch time? preferably as Float |
2021-07-07 22:46:38 +0200 | cheater | (~Username@user/cheater) |
2021-07-07 22:47:55 +0200 | acidjnk_new | (~acidjnk@p200300d0c72b9526e1b6d7c282fb2b66.dip0.t-ipconnect.de) |
2021-07-07 22:48:40 +0200 | chexum | (~chexum@gateway/tor-sasl/chexum) |
2021-07-07 22:49:00 +0200 | add_alias-LUA | (~add_alias@2601:203:c200:d6f0:2d33:506:5f01:fb2c) (Quit: Client closed) |
2021-07-07 22:52:43 +0200 | rostero | (uid236576@id-236576.tooting.irccloud.com) (Quit: Connection closed for inactivity) |
2021-07-07 22:54:11 +0200 | manually_generat | sonat_suer |
2021-07-07 22:55:00 +0200 | hatz_ | (~user@2a05:f480:1400:f44:5400:3ff:fe6d:f349) () |
2021-07-07 22:55:48 +0200 | Ariakenom | (~Ariakenom@c83-255-154-140.bredband.tele2.se) (Remote host closed the connection) |
2021-07-07 22:56:06 +0200 | Ariakenom | (~Ariakenom@c83-255-154-140.bredband.tele2.se) |
2021-07-07 22:56:15 +0200 | Sgeo_ | (~Sgeo@user/sgeo) |
2021-07-07 22:56:18 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2021-07-07 22:56:40 +0200 | <sonat_suer> | /msg NickServ VERIFY REGISTER sonat_suer MiYQCEEiJNiDSYo6 |
2021-07-07 22:56:47 +0200 | dhouthoo | (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.1) |
2021-07-07 22:57:58 +0200 | stianhj | (~stianhj@128.199.58.13) (Quit: The Lounge - https://thelounge.chat) |
2021-07-07 22:58:38 +0200 | hewxle | (~hewxle@user/hewxle) |
2021-07-07 22:59:32 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Quit: mikoto-chan) |
2021-07-07 22:59:49 +0200 | mikoto-chan | (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) |
2021-07-07 23:00:49 +0200 | <glguy> | sonat_suer: You'll need to send that one-time use verification code without the leading space |
2021-07-07 23:01:18 +0200 | <veverak> | hmm, float is meh |
2021-07-07 23:01:24 +0200 | <boxscape> | @hoogle Either a1 b -> Either a2 b -> Either a1 b |
2021-07-07 23:01:25 +0200 | <lambdabot> | No results found |
2021-07-07 23:01:30 +0200 | <boxscape> | :( |
2021-07-07 23:01:34 +0200 | <veverak> | so the question is actually simple, how to get milliseconds epoch time from UTCTime? |
2021-07-07 23:01:57 +0200 | <Rembane> | veverak: Do you use any package for your time? |
2021-07-07 23:02:11 +0200 | <veverak> | I am getting data as Data.Time.Clock.UTCTime |
2021-07-07 23:02:13 +0200 | <veverak> | that's all |
2021-07-07 23:02:25 +0200 | <glguy> | You'd use utcTimeToPOSIXSeconds first |
2021-07-07 23:02:49 +0200 | hewxle | (~hewxle@user/hewxle) (Ping timeout: 246 seconds) |
2021-07-07 23:02:54 +0200 | <glguy> | realToFrac :: NominalDiffTime -> Float |
2021-07-07 23:03:03 +0200 | <glguy> | and then you could convert to seconds like that |
2021-07-07 23:03:08 +0200 | Ariakenom | (~Ariakenom@c83-255-154-140.bredband.tele2.se) (Ping timeout: 252 seconds) |
2021-07-07 23:03:30 +0200 | <veverak> | oh |
2021-07-07 23:03:45 +0200 | <veverak> | the fact that nominalDiffTimeToSeconds returns `Pico` is hella confusing |
2021-07-07 23:03:58 +0200 | <boxscape> | is there a better way to write this? either (const $ r str) Right (l str) |
2021-07-07 23:04:32 +0200 | <glguy> | A Float is probably too imprecise to be all that useful, though |
2021-07-07 23:05:25 +0200 | <veverak> | yeah |
2021-07-07 23:08:59 +0200 | gioyik | (~gioyik@gateway/tor-sasl/gioyik) |
2021-07-07 23:10:47 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
2021-07-07 23:13:42 +0200 | neceve | (~quassel@2a02:c7f:607e:d600:f762:20dd:304e:4b1f) (Ping timeout: 252 seconds) |
2021-07-07 23:13:58 +0200 | maf654321 | (~maf654321@user/maf654321) (Ping timeout: 272 seconds) |
2021-07-07 23:16:00 +0200 | re101-bombay-30 | (~re101-bom@2601:203:c200:d6f0:2d33:506:5f01:fb2c) |
2021-07-07 23:18:02 +0200 | <AWizzArd> | About Channels (i.e. Control.Concurrent.Chan): I can do a blocking `readChan` to wait until some data becomes available. But: can I also wait for multiple channels at the same time, and unblock as soon as one of them has data? |
2021-07-07 23:20:15 +0200 | <hpc> | if you don't mind the seemingly frivolous use of threads, you can have a thread for each Chan feeding into a combined Chan that your main thread waits on |
2021-07-07 23:20:28 +0200 | fizbin | (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
2021-07-07 23:21:59 +0200 | <AWizzArd> | I wonder if one could add an Alternative implementation that in a way monoidically combines all chans into a single one. |
2021-07-07 23:22:00 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) |
2021-07-07 23:22:28 +0200 | jolly | (~jolly@208.180.97.158) |
2021-07-07 23:22:29 +0200 | <AWizzArd> | (value, chanThatReadData) <- readChan c1 <|> readChan c2 <|> readChan c3 |
2021-07-07 23:23:53 +0200 | eggplantade | (~Eggplanta@2600:1700:bef1:5e10:cdb:cabc:a7c7:75c9) (Remote host closed the connection) |
2021-07-07 23:24:25 +0200 | <monochrom> | IO's <|> doesn't do that. |
2021-07-07 23:24:32 +0200 | <monochrom> | But STM's <|> does. |
2021-07-07 23:24:48 +0200 | <monochrom> | A good reason to switch to TChan. |
2021-07-07 23:26:24 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) |
2021-07-07 23:26:34 +0200 | yauhsien | (~yauhsien@61-231-39-135.dynamic-ip.hinet.net) (Ping timeout: 258 seconds) |
2021-07-07 23:28:04 +0200 | drd | (~drd@93-39-151-19.ip76.fastwebnet.it) |
2021-07-07 23:28:10 +0200 | Erutuon | (~Erutuon@user/erutuon) |
2021-07-07 23:28:11 +0200 | <monochrom> | BTW most of the complaints against Haskell's time package are only because people mistake "used to the C unix way" for "the C unix way is right". |
2021-07-07 23:28:25 +0200 | <monochrom> | No, Haskell's time package is the one that does it right. |
2021-07-07 23:28:52 +0200 | <maerwald> | I don't even know what time is... and computers can freely navigate into future and past. It's all over. |
2021-07-07 23:30:29 +0200 | spruit11_ | (~quassel@2a02:a467:ccd6:1:f403:cf1e:97b5:1c9b) |
2021-07-07 23:31:23 +0200 | ptr_frac7al | (~longlong@user/ptr-frac7al/x-0038398) (Ping timeout: 265 seconds) |
2021-07-07 23:32:42 +0200 | drd | (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 258 seconds) |
2021-07-07 23:33:04 +0200 | re101-bombay-30 | (~re101-bom@2601:203:c200:d6f0:2d33:506:5f01:fb2c) () |
2021-07-07 23:33:44 +0200 | spruit11 | (~quassel@2a02:a467:ccd6:1:d8ed:8d81:7c94:d830) (Ping timeout: 256 seconds) |
2021-07-07 23:34:01 +0200 | <boxscape> | Am I missing some indentation rule here? I'm pretty confused about the first one not working https://paste.tomsmeding.com/ptyYkVPO |
2021-07-07 23:34:13 +0200 | <boxscape> | err, the second one not working |
2021-07-07 23:34:21 +0200 | <AWizzArd> | maerwald: 12 minutes that help you to see more into time and understand why currently you move with speed of light: https://www.youtube.com/watch?v=au0QJYISe4c |
2021-07-07 23:34:30 +0200 | <monochrom> | Yes, there were famous DOS shareware programs that had expiry dates unless you pay up. People who didn't want to pay pulled the simple trick of setting the computer clock to the past. |
2021-07-07 23:34:56 +0200 | <maerwald> | that's an actual HACK |
2021-07-07 23:36:37 +0200 | <boxscape> | oh actually |
2021-07-07 23:36:51 +0200 | <boxscape> | I had indented the second one one space more than in the paste |
2021-07-07 23:36:58 +0200 | <boxscape> | s/second/first |
2021-07-07 23:37:09 +0200 | <boxscape> | and the second one also works if I indent it one space further |
2021-07-07 23:37:19 +0200 | <boxscape> | though that still seems strange... |
2021-07-07 23:37:40 +0200 | <boxscape> | err, hold on |
2021-07-07 23:37:52 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2021-07-07 23:37:56 +0200 | <boxscape> | I think I'm just getting confused by how my font's italics look like they're one space further to the right than they are |
2021-07-07 23:38:17 +0200 | <monochrom> | fancy |
2021-07-07 23:38:41 +0200 | <boxscape> | I should probably turn off italics for syntax highlighting... |
2021-07-07 23:40:42 +0200 | hewxle | (~hewxle@user/hewxle) |
2021-07-07 23:40:52 +0200 | spruit11_ | (~quassel@2a02:a467:ccd6:1:f403:cf1e:97b5:1c9b) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-07-07 23:41:14 +0200 | spruit11 | (~quassel@2a02:a467:ccd6:1:f403:cf1e:97b5:1c9b) |
2021-07-07 23:41:19 +0200 | hiruji | (~hiruji@user/hiruji) (Ping timeout: 246 seconds) |
2021-07-07 23:42:05 +0200 | tcard | (~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving) |
2021-07-07 23:42:30 +0200 | hiruji | (~hiruji@user/hiruji) |
2021-07-07 23:45:45 +0200 | tcard | (~tcard@p2307053-ipngn17101hodogaya.kanagawa.ocn.ne.jp) |
2021-07-07 23:46:34 +0200 | amahl | (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Remote host closed the connection) |
2021-07-07 23:48:17 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2021-07-07 23:49:53 +0200 | <lechner> | Hi, is cabal really preferred over stack again? (Sorry, no flame intended; this channel is civilized, anyway.) Thanks! |
2021-07-07 23:50:53 +0200 | <monochrom> | I prefer cabal. I can't speak for others. |
2021-07-07 23:50:54 +0200 | <geekosaur> | cabal's problems were solved with cabal 2; we're on cabal 3.4 now |
2021-07-07 23:51:27 +0200 | <lechner> | okay, i am totally behind the times |
2021-07-07 23:51:37 +0200 | <monochrom> | In fact, it can get down to the point you really have to ask yourself what you want, not what other people want. |
2021-07-07 23:52:16 +0200 | <monochrom> | I prefer cabal because it doesn't install ghc. Other people prefer stack because it does install ghc. There is no way you can win. |
2021-07-07 23:52:43 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection) |
2021-07-07 23:52:48 +0200 | notzmv | (~zmv@user/notzmv) |
2021-07-07 23:53:04 +0200 | maf654321 | (~maf654321@user/maf654321) |
2021-07-07 23:53:13 +0200 | <monochrom> | And why doesn't someone bring nix to the debate... |
2021-07-07 23:53:34 +0200 | <Rembane> | nix will solve all problems! <- there, is fix |
2021-07-07 23:53:41 +0200 | <justsomeguy> | Which one is preferred is subjective, but I think it's safe to say that cabal has implemented many features that used to be exclusive to stack. A few features that I have in mind when saying that are project local builds and caching of libraries shared between projects. |
2021-07-07 23:53:42 +0200 | <monochrom> | Just to celebrate diversity and free will. |
2021-07-07 23:53:43 +0200 | Vajb | (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
2021-07-07 23:54:18 +0200 | <monochrom> | I meta-prefer a free country. |
2021-07-07 23:54:37 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
2021-07-07 23:56:56 +0200 | <Rembane> | IIRC weeder needs stack and weeder is useful, so that's a + for stack. |
2021-07-07 23:57:46 +0200 | argento | (~argent0@168-227-97-29.ptr.westnet.com.ar) (Ping timeout: 246 seconds) |
2021-07-07 23:58:24 +0200 | warnz | (~warnz@2600:1700:77c0:5610:edd9:472d:4b89:9ab8) |
2021-07-07 23:59:29 +0200 | gehmehgeh | (~user@user/gehmehgeh) (Quit: Leaving) |