2023-03-02 00:00:03 +0100 | forell | (~forell@user/forell) |
2023-03-02 00:01:35 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in) |
2023-03-02 00:01:38 +0100 | tubogram44 | (~tubogram@user/tubogram) (Quit: See ya later!) |
2023-03-02 00:02:01 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-03-02 00:02:05 +0100 | ub | ubert |
2023-03-02 00:05:19 +0100 | rekahsoft | (~rekahsoft@142.188.185.92) (Ping timeout: 268 seconds) |
2023-03-02 00:09:55 +0100 | tubogram44 | (~tubogram@user/tubogram) |
2023-03-02 00:24:14 +0100 | akegalj | (~akegalj@78-1-169-101.adsl.net.t-com.hr) (Quit: leaving) |
2023-03-02 00:27:26 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-03-02 00:27:44 +0100 | img | (~img@user/img) |
2023-03-02 00:29:14 +0100 | codaraxis | (~codaraxis@user/codaraxis) |
2023-03-02 00:38:34 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-03-02 00:40:07 +0100 | ski | (~ski@remote11.chalmers.se) (Quit: Lost terminal) |
2023-03-02 00:42:56 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds) |
2023-03-02 00:43:42 +0100 | bilegeek_ | (~bilegeek@183.sub-174-208-230.myvzw.com) |
2023-03-02 00:46:31 +0100 | bilegeek | (~bilegeek@2600:1008:b027:385c:33be:5951:6763:bc55) (Ping timeout: 260 seconds) |
2023-03-02 00:50:48 +0100 | opticblast | (~Thunderbi@172.58.83.235) |
2023-03-02 01:00:17 +0100 | <remexre> | is there a trick for saying "a functor with the same shape as this value"? |
2023-03-02 01:00:46 +0100 | <remexre> | e.g. I have a F a -> F b , where Functor F; I want to further say that the output needs to be the same constructor as the input |
2023-03-02 01:01:15 +0100 | <remexre> | (so that I can zip it with something; if there's another way to do that, that'd work too) |
2023-03-02 01:02:22 +0100 | <geekosaur> | that would be a functor |
2023-03-02 01:02:41 +0100 | <geekosaur> | it's not allowed to change the constructor |
2023-03-02 01:03:18 +0100 | <Clinton[m]> | geekosaur: Functors can change the constructor, they can't change the type |
2023-03-02 01:03:43 +0100 | <remexre> | that'd be if the function were (Functor f => f a -> f b), not F a -> F b for a concrete F |
2023-03-02 01:05:51 +0100 | <Clinton[m]> | remexre: if you can write a function `f :: a -> b`, then `fmap f :: F a -> F b` achieves what you want. |
2023-03-02 01:05:59 +0100 | <monochrom> | "same shape" is already a pretty common way to say that. |
2023-03-02 01:06:26 +0100 | xff0x | (~xff0x@ai081074.d.east.v6connect.net) (Ping timeout: 252 seconds) |
2023-03-02 01:06:42 +0100 | <remexre> | the transformation can't just be an fmap, it depends on what constructor the input is |
2023-03-02 01:07:08 +0100 | zeenk | (~zeenk@2a02:2f04:a20d:f900::7fe) (Quit: Konversation terminated!) |
2023-03-02 01:07:15 +0100 | mauke_ | (~mauke@user/mauke) |
2023-03-02 01:07:54 +0100 | mechap | (~mechap@user/mechap) (Ping timeout: 252 seconds) |
2023-03-02 01:08:30 +0100 | xff0x | (~xff0x@178.255.149.135) |
2023-03-02 01:08:36 +0100 | mauke | (~mauke@user/mauke) (Ping timeout: 255 seconds) |
2023-03-02 01:08:37 +0100 | mauke_ | mauke |
2023-03-02 01:09:30 +0100 | <jackdk> | If you ask for a function `a -> b` and fmap it yourself, you know that you won't change constructors. (If `fmap` changed constructors, it would fail the `fmap id = id` law.) |
2023-03-02 01:09:31 +0100 | <geekosaur> | (then why does it matter that it's a functor?) |
2023-03-02 01:10:06 +0100 | mechap | (~mechap@user/mechap) |
2023-03-02 01:10:11 +0100 | <Clinton[m]> | remexre: well then I think you're going to make your different constructors different types.... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/de31471dd45b102c3e059ca0525c1579ad19…>) |
2023-03-02 01:10:11 +0100 | <remexre> | in case there's a trick that only works for functors, iunno |
2023-03-02 01:10:59 +0100 | <remexre> | Clinton[m]: ooh, that might do the trick |
2023-03-02 01:11:13 +0100 | <Clinton[m]> | Of course pick your own data type, I just picked Maybe for illustration |
2023-03-02 01:17:36 +0100 | foul_owl | (~kerry@193.29.61.203) (Ping timeout: 255 seconds) |
2023-03-02 01:18:57 +0100 | xff0x | (~xff0x@178.255.149.135) (Ping timeout: 255 seconds) |
2023-03-02 01:20:12 +0100 | foul_owl | (~kerry@193.29.61.203) |
2023-03-02 01:20:49 +0100 | xff0x | (~xff0x@ai081074.d.east.v6connect.net) |
2023-03-02 01:22:07 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.) |
2023-03-02 01:31:06 +0100 | johnw_ | (~johnw@2600:1700:cf00:db0:a85a:aa58:c54c:551d) |
2023-03-02 01:31:22 +0100 | acidjnk_new | (~acidjnk@p200300d6e715c409795fa7f63fedb700.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2023-03-02 01:33:05 +0100 | johnw | (~johnw@2600:1700:cf00:db0:a85a:aa58:c54c:551d) (Ping timeout: 260 seconds) |
2023-03-02 01:35:00 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-03-02 01:49:55 +0100 | Axman6 | (~Axman6@user/axman6) (Ping timeout: 246 seconds) |
2023-03-02 01:50:49 +0100 | ix | (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 252 seconds) |
2023-03-02 01:51:33 +0100 | Square3 | (~Square4@user/square) |
2023-03-02 01:51:48 +0100 | kritzefitz | (~kritzefit@debian/kritzefitz) (Ping timeout: 255 seconds) |
2023-03-02 01:52:29 +0100 | kritzefitz | (~kritzefit@debian/kritzefitz) |
2023-03-02 01:54:03 +0100 | Square2 | (~Square4@user/square) (Ping timeout: 255 seconds) |
2023-03-02 01:56:19 +0100 | simeon | (~pi@143.231.7.51.dyn.plus.net) (Ping timeout: 268 seconds) |
2023-03-02 01:57:41 +0100 | simeon | (~pi@170.231.7.51.dyn.plus.net) |
2023-03-02 01:59:51 +0100 | Ranhir | (~Ranhir@157.97.53.139) (Read error: Connection reset by peer) |
2023-03-02 02:01:48 +0100 | ryanbooker | (uid4340@id-4340.hampstead.irccloud.com) |
2023-03-02 02:04:41 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
2023-03-02 02:05:49 +0100 | califax | (~califax@user/califx) |
2023-03-02 02:09:23 +0100 | kenaryn | (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) |
2023-03-02 02:10:22 +0100 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2023-03-02 02:10:49 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2023-03-02 02:10:52 +0100 | Ranhir | (~Ranhir@157.97.53.139) |
2023-03-02 02:11:09 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-03-02 02:11:10 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-03-02 02:11:10 +0100 | wroathe | (~wroathe@user/wroathe) |
2023-03-02 02:11:18 +0100 | gmg | (~user@user/gehmehgeh) |
2023-03-02 02:15:34 +0100 | kenaryn | (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) (Quit: leaving) |
2023-03-02 02:16:57 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2023-03-02 02:18:07 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2023-03-02 02:18:31 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2023-03-02 02:22:00 +0100 | falafel | (~falafel@2600:1700:3b2d:d010:fb97:9b4c:7fe7:93e0) |
2023-03-02 02:24:33 +0100 | falafel | (~falafel@2600:1700:3b2d:d010:fb97:9b4c:7fe7:93e0) (Remote host closed the connection) |
2023-03-02 02:24:52 +0100 | falafel | (~falafel@2600:1700:3b2d:d010:d106:c9d9:3547:5b31) |
2023-03-02 02:25:11 +0100 | stackdroid18 | (14094@de1.hashbang.sh) (Quit: hasta la vista... tchau!) |
2023-03-02 02:27:03 +0100 | falafel | (~falafel@2600:1700:3b2d:d010:d106:c9d9:3547:5b31) (Remote host closed the connection) |
2023-03-02 02:27:23 +0100 | falafel | (~falafel@2600:1700:3b2d:d010:9c00:d384:93c4:675d) |
2023-03-02 02:40:59 +0100 | Axman6 | (~Axman6@user/axman6) |
2023-03-02 02:43:32 +0100 | gmg | (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
2023-03-02 02:43:59 +0100 | xff0x | (~xff0x@ai081074.d.east.v6connect.net) (Ping timeout: 248 seconds) |
2023-03-02 02:44:15 +0100 | td_ | (~td@i53870923.versanet.de) (Ping timeout: 260 seconds) |
2023-03-02 02:44:29 +0100 | td_ | (~td@i53870923.versanet.de) |
2023-03-02 02:44:35 +0100 | gmg | (~user@user/gehmehgeh) |
2023-03-02 02:53:19 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2023-03-02 02:56:20 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:8429:4ceb:8103:61ef) |
2023-03-02 03:00:36 +0100 | meinside | (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity) |
2023-03-02 03:13:10 +0100 | shapr | (~user@68.54.166.125) (Ping timeout: 252 seconds) |
2023-03-02 03:19:13 +0100 | falafel | (~falafel@2600:1700:3b2d:d010:9c00:d384:93c4:675d) (Ping timeout: 252 seconds) |
2023-03-02 03:20:00 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds) |
2023-03-02 03:20:29 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2023-03-02 03:21:22 +0100 | hammond__ | hammond |
2023-03-02 03:21:30 +0100 | hammond | (proscan@gateway02.insomnia247.nl) (Changing host) |
2023-03-02 03:21:30 +0100 | hammond | (proscan@user/hammond2) |
2023-03-02 03:23:07 +0100 | vglfr | (~vglfr@145.224.100.76) (Ping timeout: 248 seconds) |
2023-03-02 03:30:10 +0100 | <mon_aaraj> | A few months ago, a MR of mine was merged: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/9044... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/c947da40c59515b21219630ab2e5670d3944…>) |
2023-03-02 03:31:08 +0100 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2023-03-02 03:31:36 +0100 | falafel | (~falafel@2600:1700:3b2d:d010:2bc4:e2f2:1e12:d845) |
2023-03-02 03:35:03 +0100 | razetime | (~Thunderbi@117.193.7.114) |
2023-03-02 03:36:48 +0100 | kupi | (uid212005@id-212005.hampstead.irccloud.com) |
2023-03-02 03:42:16 +0100 | <mon_aaraj> | in all honesty, I believe this change should be rolled back to all versions that had support for XDG_CONFIG_HOME, because my MR changes misinformation in the GHC user's guide that has gotten me confused before (and now too, i guess now that I'm writing this here) as well as other people. |
2023-03-02 03:46:02 +0100 | vglfr | (~vglfr@145.224.100.119) |
2023-03-02 03:49:13 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-03-02 03:49:36 +0100 | opticblast | (~Thunderbi@172.58.83.235) (Quit: opticblast) |
2023-03-02 03:50:20 +0100 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 252 seconds) |
2023-03-02 03:51:44 +0100 | falafel | (~falafel@2600:1700:3b2d:d010:2bc4:e2f2:1e12:d845) (Ping timeout: 248 seconds) |
2023-03-02 03:52:00 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2023-03-02 03:52:53 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-03-02 03:59:08 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds) |
2023-03-02 03:59:50 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-03-02 04:01:10 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2023-03-02 04:01:17 +0100 | thegeekinside | (~thegeekin@189.141.115.134) (Ping timeout: 246 seconds) |
2023-03-02 04:01:29 +0100 | slack1256 | (~slack1256@186.11.13.167) (Remote host closed the connection) |
2023-03-02 04:01:43 +0100 | hgolden | (~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection) |
2023-03-02 04:03:40 +0100 | hgolden | (~hgolden@cpe-172-251-233-141.socal.res.rr.com) |
2023-03-02 04:04:10 +0100 | jero98772 | (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection) |
2023-03-02 04:07:50 +0100 | opticblast | (~Thunderbi@172.58.85.161) |
2023-03-02 04:08:54 +0100 | shailangsa_ | (~shailangs@host165-120-169-78.range165-120.btcentralplus.com) (Remote host closed the connection) |
2023-03-02 04:09:03 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
2023-03-02 04:11:22 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-03-02 04:12:51 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-03-02 04:13:34 +0100 | mbuf | (~Shakthi@49.204.136.4) |
2023-03-02 04:18:36 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2023-03-02 04:23:11 +0100 | opticblast | (~Thunderbi@172.58.85.161) (Quit: opticblast) |
2023-03-02 04:23:47 +0100 | opticblast | (~Thunderbi@172.58.82.223) |
2023-03-02 04:24:23 +0100 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 246 seconds) |
2023-03-02 04:24:56 +0100 | gastus_ | (~gastus@5.83.191.44) |
2023-03-02 04:27:57 +0100 | gastus | (~gastus@185.6.123.208) (Ping timeout: 255 seconds) |
2023-03-02 04:28:02 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-03-02 04:30:11 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-03-02 04:33:04 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2023-03-02 04:33:28 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2023-03-02 04:33:49 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Client Quit) |
2023-03-02 04:34:46 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-03-02 04:34:46 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-03-02 04:34:46 +0100 | finn_elija | FinnElija |
2023-03-02 04:37:42 +0100 | sammelweis | (~quassel@c-68-48-18-140.hsd1.mi.comcast.net) |
2023-03-02 04:37:53 +0100 | td_ | (~td@i53870923.versanet.de) (Ping timeout: 268 seconds) |
2023-03-02 04:39:00 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-03-02 04:39:29 +0100 | td_ | (~td@i5387090D.versanet.de) |
2023-03-02 04:40:04 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
2023-03-02 04:40:30 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2023-03-02 04:42:08 +0100 | terrorjack | (~terrorjac@2a01:4f8:1c1e:4e8c::) (Quit: The Lounge - https://thelounge.chat) |
2023-03-02 04:42:26 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-03-02 04:43:00 +0100 | califax | (~califax@user/califx) |
2023-03-02 04:43:29 +0100 | terrorjack | (~terrorjac@2a01:4f8:1c1e:4e8c::) |
2023-03-02 04:44:03 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
2023-03-02 04:45:35 +0100 | razetime | (~Thunderbi@117.193.7.114) (Ping timeout: 248 seconds) |
2023-03-02 04:46:51 +0100 | vglfr | (~vglfr@145.224.100.119) (Ping timeout: 255 seconds) |
2023-03-02 04:50:20 +0100 | opticblast | (~Thunderbi@172.58.82.223) (Ping timeout: 255 seconds) |
2023-03-02 04:50:51 +0100 | opticblast | (~Thunderbi@172.58.83.235) |
2023-03-02 04:51:09 +0100 | dsrt^ | (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) |
2023-03-02 04:54:19 +0100 | shailangsa | (~shailangs@host165-120-169-78.range165-120.btcentralplus.com) |
2023-03-02 05:01:17 +0100 | sammelweis | (~quassel@c-68-48-18-140.hsd1.mi.comcast.net) (Quit: No Ping reply in 180 seconds.) |
2023-03-02 05:10:00 +0100 | Monster196883 | (~hp@103.15.228.66) |
2023-03-02 05:14:16 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-03-02 05:15:10 +0100 | vglfr | (~vglfr@145.224.100.119) |
2023-03-02 05:17:00 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2023-03-02 05:17:37 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2023-03-02 05:22:47 +0100 | 077AAMFUK | (~mncheck@193.224.205.254) (Ping timeout: 260 seconds) |
2023-03-02 05:26:02 +0100 | vglfr | (~vglfr@145.224.100.119) (Ping timeout: 252 seconds) |
2023-03-02 05:36:47 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 248 seconds) |
2023-03-02 05:37:15 +0100 | Monster196883 | (~hp@103.15.228.66) (Ping timeout: 255 seconds) |
2023-03-02 05:40:09 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-03-02 05:40:49 +0100 | trev | (~trev@user/trev) |
2023-03-02 05:40:51 +0100 | king_gs | (~Thunderbi@187.201.41.239) |
2023-03-02 05:41:52 +0100 | razetime | (~Thunderbi@117.193.7.114) |
2023-03-02 05:44:35 +0100 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Remote host closed the connection) |
2023-03-02 05:44:53 +0100 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) |
2023-03-02 05:49:17 +0100 | king_gs | (~Thunderbi@187.201.41.239) (Quit: king_gs) |
2023-03-02 05:49:28 +0100 | king_gs1 | (~Thunderbi@187.201.41.239) |
2023-03-02 05:49:42 +0100 | falafel | (~falafel@2600:1700:3b2d:d010:40ff:d0e6:93aa:a1e7) |
2023-03-02 05:51:46 +0100 | king_gs1 | king_gs |
2023-03-02 05:55:41 +0100 | biberu | (~biberu@user/biberu) (Read error: Connection reset by peer) |
2023-03-02 05:56:36 +0100 | opticblast | (~Thunderbi@172.58.83.235) (Ping timeout: 255 seconds) |
2023-03-02 06:00:14 +0100 | biberu | (~biberu@user/biberu) |
2023-03-02 06:01:36 +0100 | ryanbooker | (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2023-03-02 06:04:13 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
2023-03-02 06:06:21 +0100 | polyphem_ | (~rod@2a02:810d:840:8754:224e:f6ff:fe5e:bc17) (Ping timeout: 256 seconds) |
2023-03-02 06:08:56 +0100 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2023-03-02 06:12:26 +0100 | vglfr | (~vglfr@145.224.100.119) |
2023-03-02 06:13:04 +0100 | codaraxis | (~codaraxis@user/codaraxis) (Ping timeout: 248 seconds) |
2023-03-02 06:16:48 +0100 | vglfr | (~vglfr@145.224.100.119) (Read error: Connection reset by peer) |
2023-03-02 06:18:02 +0100 | vglfr | (~vglfr@145.224.100.119) |
2023-03-02 06:25:48 +0100 | razetime | (~Thunderbi@117.193.7.114) (Ping timeout: 268 seconds) |
2023-03-02 06:28:35 +0100 | king_gs | (~Thunderbi@187.201.41.239) (Read error: Connection reset by peer) |
2023-03-02 06:28:38 +0100 | king_gs1 | (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) |
2023-03-02 06:29:51 +0100 | Guest76 | (~Guest76@129.93.161.218) |
2023-03-02 06:30:28 +0100 | <Guest76> | yo |
2023-03-02 06:30:42 +0100 | vglfr | (~vglfr@145.224.100.119) (Read error: Connection reset by peer) |
2023-03-02 06:30:43 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2023-03-02 06:30:52 +0100 | Guest76 | (~Guest76@129.93.161.218) (Client Quit) |
2023-03-02 06:30:56 +0100 | king_gs1 | king_gs |
2023-03-02 06:31:30 +0100 | vglfr | (~vglfr@145.224.100.119) |
2023-03-02 06:34:34 +0100 | opticblast | (~Thunderbi@172.58.82.223) |
2023-03-02 06:34:44 +0100 | mtjm | (~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection) |
2023-03-02 06:35:59 +0100 | mtjm | (~mutantmel@2604:a880:2:d0::208b:d001) |
2023-03-02 06:36:01 +0100 | <Axman6> | oy |
2023-03-02 06:38:00 +0100 | fryguybob | (~fryguybob@cpe-24-94-51-210.stny.res.rr.com) (Ping timeout: 255 seconds) |
2023-03-02 06:39:57 +0100 | fryguybob | (~fryguybob@cpe-24-94-51-210.stny.res.rr.com) |
2023-03-02 06:40:23 +0100 | Square3 | (~Square4@user/square) (Ping timeout: 264 seconds) |
2023-03-02 06:41:18 +0100 | razetime | (~Thunderbi@117.193.7.114) |
2023-03-02 06:42:01 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-03-02 06:48:17 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-03-02 06:49:23 +0100 | king_gs | (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) (Ping timeout: 264 seconds) |
2023-03-02 06:54:12 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-03-02 07:01:50 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
2023-03-02 07:03:38 +0100 | califax | (~califax@user/califx) (Ping timeout: 255 seconds) |
2023-03-02 07:03:56 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-03-02 07:05:22 +0100 | califax | (~califax@user/califx) |
2023-03-02 07:09:23 +0100 | mncheck | (~mncheck@193.224.205.254) |
2023-03-02 07:11:08 +0100 | bilegeek_ | (~bilegeek@183.sub-174-208-230.myvzw.com) (Quit: Leaving) |
2023-03-02 07:14:12 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2023-03-02 07:23:55 +0100 | king_gs | (~Thunderbi@187.201.41.239) |
2023-03-02 07:25:35 +0100 | Inst | (~Inst@2601:6c4:4081:54f0:7069:999c:7e48:ff3b) (Read error: Connection reset by peer) |
2023-03-02 07:27:51 +0100 | falafel | (~falafel@2600:1700:3b2d:d010:40ff:d0e6:93aa:a1e7) (Ping timeout: 260 seconds) |
2023-03-02 07:30:11 +0100 | opticblast | (~Thunderbi@172.58.82.223) (Ping timeout: 260 seconds) |
2023-03-02 07:31:57 +0100 | king_gs | (~Thunderbi@187.201.41.239) (Quit: king_gs) |
2023-03-02 07:32:19 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-03-02 07:34:22 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-03-02 07:34:36 +0100 | caryhartline | (~caryhartl@2600:1700:2d0:8d30:cdb3:8615:a2b3:ec7c) (Quit: caryhartline) |
2023-03-02 07:37:38 +0100 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2023-03-02 07:39:56 +0100 | mrcsno | (~mrcsno@user/mrcsno) |
2023-03-02 07:51:08 +0100 | phma | (phma@2001:5b0:211f:30c8:d195:4c3:ddc4:3351) (Read error: Connection reset by peer) |
2023-03-02 08:00:21 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-03-02 08:03:15 +0100 | codaraxis | (~codaraxis@user/codaraxis) |
2023-03-02 08:05:34 +0100 | phma | (~phma@host-67-44-208-142.hnremote.net) |
2023-03-02 08:05:36 +0100 | lieven | (~mal@ns2.wyrd.be) (Quit: WeeChat 3.0) |
2023-03-02 08:06:57 +0100 | YoungFrog | (~youngfrog@2a02:a03f:ca07:f900:a8be:2d7b:23bb:d884) |
2023-03-02 08:10:33 +0100 | mal1 | (~mal@ns2.wyrd.be) |
2023-03-02 08:10:50 +0100 | mal1 | lieven |
2023-03-02 08:12:09 +0100 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
2023-03-02 08:17:51 +0100 | vglfr | (~vglfr@145.224.100.119) (Ping timeout: 248 seconds) |
2023-03-02 08:18:06 +0100 | vglfr | (~vglfr@145.224.100.119) |
2023-03-02 08:21:07 +0100 | <dminuoso_> | jackdk: I think the FRP problems are beyond the "where do I place code" domain. FRP demands a fundamental different approach, uses lots of highly complicated combinators with strange type signatures. In a way one could say `reflex is to traditional haskell code as Haskell is to C`. |
2023-03-02 08:22:47 +0100 | <dminuoso_> | Part of the success of React+Redux can be attributed to being really simple to learn, simple to explain and simple to use. Yes its discrete, yes its full with very explicit callbacks, its not perfectly composable, but with a bit of discipline these problems can be worked around. |
2023-03-02 08:23:37 +0100 | <dminuoso_> | At the very least the reflex-frp documentation has improved much over the years. Before, most combinators didnt even have a haddock string, but I think for someone who isnt already well versed in reflex-frp, its mostly too short to really understand whats going on. |
2023-03-02 08:24:14 +0100 | <dminuoso_> | workflow :: forall t m a. (Reflex t, Adjustable t m, MonadFix m, MonadHold t m) => Workflow t m a -> m (Dynamic t a) |
2023-03-02 08:24:18 +0100 | <dminuoso_> | `Runs a Workflow and returns the Dynamic result of the Workflow (i.e., a Dynamic of the value produced by the current Workflow node, and whose update Event fires whenever one Workflow is replaced by another).` |
2023-03-02 08:25:03 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2023-03-02 08:25:16 +0100 | <dminuoso_> | Most of the documentation is documentation on a semantic level, which by itself is probably really cool and more useful for experts - but its also mostly useless for someone trying to absord how to solve simple problems with reflex. |
2023-03-02 08:32:16 +0100 | gurkenglas | (~gurkengla@dynamic-089-204-138-097.89.204.138.pool.telefonica.de) |
2023-03-02 08:39:25 +0100 | kenran | (~user@user/kenran) |
2023-03-02 08:39:33 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-03-02 08:44:33 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
2023-03-02 08:45:19 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-03-02 08:50:06 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
2023-03-02 08:52:01 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:ad66:d77d:1913:4102) |
2023-03-02 08:53:33 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2023-03-02 09:00:52 +0100 | michalz | (~michalz@185.246.207.217) |
2023-03-02 09:01:41 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-03-02 09:05:23 +0100 | razetime | (~Thunderbi@117.193.7.114) (Ping timeout: 260 seconds) |
2023-03-02 09:06:33 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:8429:4ceb:8103:61ef) (Remote host closed the connection) |
2023-03-02 09:08:11 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-03-02 09:09:06 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-03-02 09:11:58 +0100 | acidjnk_new | (~acidjnk@p200300d6e715c424d939d96a9ad2afa1.dip0.t-ipconnect.de) |
2023-03-02 09:21:56 +0100 | Midjak | (~Midjak@82.66.147.146) |
2023-03-02 09:26:01 +0100 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2023-03-02 09:26:46 +0100 | hagbard | (~hagbard@user/hagbard) (Leaving) |
2023-03-02 09:28:35 +0100 | <chreekat> | ribosomerocker: I think what's going on is that the documentation on downloads.haskell.org is not yet automatically updated |
2023-03-02 09:31:30 +0100 | razetime | (~Thunderbi@117.193.7.114) |
2023-03-02 09:34:22 +0100 | fserucas | (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) |
2023-03-02 09:36:31 +0100 | xkuru | (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
2023-03-02 09:36:51 +0100 | ft | (~ft@p3e9bc443.dip0.t-ipconnect.de) (Quit: leaving) |
2023-03-02 09:36:58 +0100 | hpc | (~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 246 seconds) |
2023-03-02 09:38:57 +0100 | hpc | (~juzz@ip98-169-35-163.dc.dc.cox.net) |
2023-03-02 09:44:13 +0100 | chexum_ | (~quassel@gateway/tor-sasl/chexum) |
2023-03-02 09:47:53 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds) |
2023-03-02 09:48:12 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
2023-03-02 09:49:00 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-03-02 09:49:14 +0100 | merijn | (~merijn@195.114.232.94) |
2023-03-02 09:49:35 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection) |
2023-03-02 09:50:16 +0100 | califax | (~califax@user/califx) |
2023-03-02 09:52:02 +0100 | MajorBiscuit | (~MajorBisc@c-001-019-034.client.tudelft.eduvpn.nl) |
2023-03-02 09:54:43 +0100 | vpan | (~0@212.117.1.172) |
2023-03-02 09:55:39 +0100 | acidjnk_new | (~acidjnk@p200300d6e715c424d939d96a9ad2afa1.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2023-03-02 09:56:42 +0100 | shriekingnoise | (~shrieking@186.137.175.87) (Ping timeout: 268 seconds) |
2023-03-02 09:56:57 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-03-02 09:56:58 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2023-03-02 10:02:44 +0100 | gmg | (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
2023-03-02 10:05:11 +0100 | gmg | (~user@user/gehmehgeh) |
2023-03-02 10:07:02 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:8429:4ceb:8103:61ef) |
2023-03-02 10:11:14 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:8429:4ceb:8103:61ef) (Ping timeout: 246 seconds) |
2023-03-02 10:15:14 +0100 | cfricke | (~cfricke@user/cfricke) |
2023-03-02 10:19:05 +0100 | zeenk | (~zeenk@2a02:2f04:a20d:f900::7fe) |
2023-03-02 10:19:47 +0100 | Midjak | (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
2023-03-02 10:20:18 +0100 | Midjak | (~Midjak@82.66.147.146) |
2023-03-02 10:22:30 +0100 | razetime1 | (~Thunderbi@117.254.35.192) |
2023-03-02 10:23:20 +0100 | razetime | (~Thunderbi@117.193.7.114) (Ping timeout: 255 seconds) |
2023-03-02 10:23:21 +0100 | razetime1 | razetime |
2023-03-02 10:32:00 +0100 | mrcsno | (~mrcsno@user/mrcsno) (Quit: WeeChat 3.5) |
2023-03-02 10:33:46 +0100 | ubert1 | (~Thunderbi@2a02:8109:abc0:6434:f64b:825d:d5ca:2a04) |
2023-03-02 10:34:01 +0100 | mrcsno | (~mrcsno@user/mrcsno) |
2023-03-02 10:41:01 +0100 | dhil | (~dhil@78.45.150.83.ewm.ftth.as8758.net) |
2023-03-02 10:41:52 +0100 | razetime1 | (~Thunderbi@117.193.3.202) |
2023-03-02 10:42:57 +0100 | razetime | (~Thunderbi@117.254.35.192) (Ping timeout: 268 seconds) |
2023-03-02 10:42:58 +0100 | razetime1 | razetime |
2023-03-02 10:44:43 +0100 | ubert1 | (~Thunderbi@2a02:8109:abc0:6434:f64b:825d:d5ca:2a04) (Remote host closed the connection) |
2023-03-02 10:50:03 +0100 | M3kh3t | (~Sh4it4n@2-239-18-159.ip247.fastwebnet.it) |
2023-03-02 10:50:13 +0100 | M3kh3t | (~Sh4it4n@2-239-18-159.ip247.fastwebnet.it) () |
2023-03-02 10:53:24 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
2023-03-02 10:53:47 +0100 | raym | (~ray@user/raym) (Ping timeout: 248 seconds) |
2023-03-02 10:55:13 +0100 | raym | (~ray@user/raym) |
2023-03-02 10:58:24 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2023-03-02 10:58:54 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2023-03-02 11:01:44 +0100 | teo | (~teo@user/teo) |
2023-03-02 11:02:09 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2023-03-02 11:02:53 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
2023-03-02 11:04:47 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
2023-03-02 11:08:51 +0100 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 268 seconds) |
2023-03-02 11:14:00 +0100 | <jackdk> | dminuoso_: I have heard from several veterans that Haskell -> Reflex is a similar jump as Imperative Programming -> Haskell. I agree, but the state of docs and teaching aids are much better now (though I wish I could find somewhere to host the QFPL reflex workshop vm - I have it building with Nix but that's long and slow). |
2023-03-02 11:14:01 +0100 | <jackdk> | But I do find myself feeling like I did when I first learned Haskell: I could write small programs, but had no idea how to decompose larger problems. |
2023-03-02 11:15:44 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2023-03-02 11:18:55 +0100 | acidjnk_new | (~acidjnk@p200300d6e715c424d939d96a9ad2afa1.dip0.t-ipconnect.de) |
2023-03-02 11:26:28 +0100 | <Jade[m]1> | mhm |
2023-03-02 11:26:46 +0100 | <Jade[m]1> | I want to try this, it seems interesting |
2023-03-02 11:35:30 +0100 | razetime | (~Thunderbi@117.193.3.202) (Remote host closed the connection) |
2023-03-02 11:37:28 +0100 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2023-03-02 11:40:44 +0100 | Monster196883 | (~hp@103.15.228.66) |
2023-03-02 11:48:00 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2023-03-02 11:49:49 +0100 | __monty__ | (~toonn@user/toonn) |
2023-03-02 11:57:02 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds) |
2023-03-02 11:57:25 +0100 | phma | (~phma@host-67-44-208-142.hnremote.net) (Read error: Connection reset by peer) |
2023-03-02 11:59:25 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2023-03-02 12:00:05 +0100 | phma | (~phma@2001:5b0:211f:2648:c269:c58d:a76b:f75) |
2023-03-02 12:05:35 +0100 | Monster196883 | (~hp@103.15.228.66) (Ping timeout: 248 seconds) |
2023-03-02 12:09:53 +0100 | akegalj | (~akegalj@93-137-16-116.adsl.net.t-com.hr) |
2023-03-02 12:10:52 +0100 | xff0x | (~xff0x@2405:6580:b080:900:c2b9:dbcf:a435:ee43) |
2023-03-02 12:24:06 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-03-02 12:25:17 +0100 | <L29Ah> | i'm trying to link my executable statically via cabal-install, but it fails to link some necessary libs apparently: https://0x0.st/Hz1M.txt |
2023-03-02 12:25:20 +0100 | <L29Ah> | what am i doing wrong? |
2023-03-02 12:25:30 +0100 | michalz | (~michalz@185.246.207.217) (Ping timeout: 252 seconds) |
2023-03-02 12:26:48 +0100 | michalz | (~michalz@185.246.204.107) |
2023-03-02 12:27:46 +0100 | <mauke> | that looks like it's trying to link C++ stuff as C |
2023-03-02 12:28:37 +0100 | <geekosaur> | also it's repeatedly telling you that you pretty much can't link glibc statically |
2023-03-02 12:30:51 +0100 | Alex_test | (~al_test@94.233.240.140) (Ping timeout: 248 seconds) |
2023-03-02 12:31:00 +0100 | AlexZenon | (~alzenon@94.233.240.140) (Ping timeout: 252 seconds) |
2023-03-02 12:32:08 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds) |
2023-03-02 12:32:22 +0100 | manwithluck | (~manwithlu@hoeven.dossingday.ml) (Quit: ZNC - https://znc.in) |
2023-03-02 12:32:36 +0100 | manwithluck | (manwithluc@hoeven.dossingday.ml) |
2023-03-02 12:32:55 +0100 | <L29Ah> | geekosaur: i don't care about libc for now |
2023-03-02 12:34:07 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2023-03-02 12:34:57 +0100 | <L29Ah> | although it would be nice if i could pass musl to ghc/cabal without having to rebuild ghc in musl chroot |
2023-03-02 12:35:28 +0100 | <L29Ah> | or ask it to link libc dynamically and the other stuff statically |
2023-03-02 12:36:11 +0100 | <geekosaur> | the linker makes that difficult 😕 |
2023-03-02 12:36:30 +0100 | AlexZenon | (~alzenon@94.233.240.140) |
2023-03-02 12:36:36 +0100 | Alex_test | (~al_test@94.233.240.140) |
2023-03-02 12:40:31 +0100 | xff0x | (~xff0x@2405:6580:b080:900:c2b9:dbcf:a435:ee43) (Ping timeout: 260 seconds) |
2023-03-02 12:40:55 +0100 | xff0x | (~xff0x@ai081074.d.east.v6connect.net) |
2023-03-02 12:41:34 +0100 | vglfr | (~vglfr@145.224.100.119) (Remote host closed the connection) |
2023-03-02 12:42:46 +0100 | vglfr | (~vglfr@145.224.100.119) |
2023-03-02 12:46:22 +0100 | freeside | (~mengwong@103.252.202.85) |
2023-03-02 12:48:42 +0100 | CiaoSen | (~Jura@p200300c9570e91002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2023-03-02 12:48:52 +0100 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Remote host closed the connection) |
2023-03-02 12:49:11 +0100 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) |
2023-03-02 12:50:56 +0100 | <freeside> | greetings. I'm trying to solve a problem which might be better tackled in Python ... but I'd like to try Haskell first. I *think* the algorithm I'm looking for is LSH, locality-sensitive hashing. The problem is that I'm trying to detect subsequence inversions, of the form 123aaa456bbb789 vs 123BBB456AAA789; I want to detect that the aaa/AAA and bbb/BBB sequences were flipped, even if the content of |
2023-03-02 12:51:02 +0100 | <freeside> | those sequences is not 100% identical. |
2023-03-02 12:51:29 +0100 | califax | (~califax@user/califx) (Ping timeout: 255 seconds) |
2023-03-02 12:51:31 +0100 | ub | (~Thunderbi@p548c9fde.dip0.t-ipconnect.de) |
2023-03-02 12:52:11 +0100 | <dminuoso_> | LSH is not a particular algorithm, its a technique. |
2023-03-02 12:52:19 +0100 | <dminuoso_> | Do you have an algorithm you want to implement? |
2023-03-02 12:52:56 +0100 | <freeside> | This is similar to a diff situation where you reorder a bunch of functions during a refactoring, and make minor changes along the way. It looks like diff doesn't do anything particularly intelligent, but for my app I want to be able to visualize changes, and in this case I need to draw a sort of X that shows the chunks have flipped. |
2023-03-02 12:52:59 +0100 | <dminuoso_> | (Though what you described, doesnt sound like LSH really) |
2023-03-02 12:53:15 +0100 | <dminuoso_> | Or you might be able to do it with the help of LSH perhaps |
2023-03-02 12:53:19 +0100 | <freeside> | I haven't gotten to the point of implementation, I'm first trying to make sure I'm adopting the correct approach |
2023-03-02 12:53:37 +0100 | califax | (~califax@user/califx) |
2023-03-02 12:54:07 +0100 | ubert | (~Thunderbi@p548c9fde.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2023-03-02 12:54:08 +0100 | ub | ubert |
2023-03-02 12:54:13 +0100 | Monster196883 | (~hp@103.15.228.66) |
2023-03-02 12:54:23 +0100 | <dminuoso_> | I guess your first problem is that you need some fuzzy stemming |
2023-03-02 12:55:15 +0100 | <freeside> | mmm |
2023-03-02 12:55:49 +0100 | <dminuoso_> | With `diff` thats already sorted out, since it operates on lines separated by newline characters. |
2023-03-02 12:56:36 +0100 | <dminuoso_> | freeside: asked differently:" |
2023-03-02 12:56:51 +0100 | <dminuoso_> | Is it an alphanumerical string, where the alpha characters might have their case flipped? |
2023-03-02 12:58:07 +0100 | <dminuoso_> | freeside: and do you need it to be exact, or is an estimate okay? |
2023-03-02 12:58:32 +0100 | <freeside> | if i may share the unvarnished problem statement ... |
2023-03-02 12:58:33 +0100 | <dminuoso_> | Also, what if you have something like `123aaa` vs `1234AAA`, is that a possibility |
2023-03-02 12:58:38 +0100 | <freeside> | new zealand: https://www.enterprisesg.gov.sg/-/media/esg/files/non-financial-assistance/for-companies/free-trad… |
2023-03-02 12:58:39 +0100 | <dminuoso_> | Sure |
2023-03-02 12:58:49 +0100 | <freeside> | australia: https://www.dfat.gov.au/sites/default/files/safta-chapter-2-171201.pdf |
2023-03-02 12:59:17 +0100 | <freeside> | here we have two very similar documents, but one of them has decided to use (a) (b) (c) for paragraph lists, and the other has dispensed with it. |
2023-03-02 12:59:38 +0100 | <freeside> | there are other minor difference on that order, like, one document might say e-mail, and another might say email |
2023-03-02 12:59:46 +0100 | <dminuoso_> | For maximum fun, we have a PDF to start with. |
2023-03-02 13:00:06 +0100 | <dminuoso_> | So that introduces a bazillion ways this can be tricky to analyze |
2023-03-02 13:00:13 +0100 | <freeside> | i have a working pdf -> docx -> md workflow going, if we don't talk about it it won't stop working |
2023-03-02 13:00:19 +0100 | <dminuoso_> | (But we can pretend that we render this, and OCR it back) |
2023-03-02 13:00:32 +0100 | <dminuoso_> | Okay |
2023-03-02 13:01:02 +0100 | <freeside> | the subsequence permutation problem here is that one document might have Article 3: Customs Duties, Article 4: Customs Value, while the other document might have Article 7: Customs Value, Article 8: Customs Duties |
2023-03-02 13:01:42 +0100 | <dminuoso_> | freeside: so for some problems like `e-mail` vs `email` you might want to apply a stemmer to each word. |
2023-03-02 13:01:54 +0100 | <dminuoso_> | (such that you can compare for stemmed equality) |
2023-03-02 13:02:10 +0100 | <dminuoso_> | Given that this appear to be English, good stemmers can be found |
2023-03-02 13:02:20 +0100 | <freeside> | i was hoping those differences would disappear with some kind of approximate hashing, if i look at sequences at article-level granularity rather than word-level |
2023-03-02 13:02:32 +0100 | <dminuoso_> | (.e. use lspell) |
2023-03-02 13:02:35 +0100 | gurkenglas | (~gurkengla@dynamic-089-204-138-097.89.204.138.pool.telefonica.de) (Ping timeout: 260 seconds) |
2023-03-02 13:02:56 +0100 | <dminuoso_> | yeah I think you wdant to do a word-wise stemmer normalization with lspell |
2023-03-02 13:03:05 +0100 | <dminuoso_> | that will take care of slightly altered spelling of words |
2023-03-02 13:03:10 +0100 | chele | (~chele@user/chele) |
2023-03-02 13:03:18 +0100 | mmhat | (~mmh@p200300f1c70462d7ee086bfffe095315.dip0.t-ipconnect.de) |
2023-03-02 13:03:30 +0100 | <freeside> | okay, i will look into that |
2023-03-02 13:03:50 +0100 | <dminuoso_> | Sorry *Ipsell my bad |
2023-03-02 13:04:07 +0100 | <freeside> | but what if i just chop up the documents into lists of articles, and then i run some approximate hashing at the article level, and then foreach article in one document, i seek closest match in the other |
2023-03-02 13:04:40 +0100 | <dminuoso_> | freeside: there's far more options with regards to normaliszation, but I think Ispell is a good first step. |
2023-03-02 13:04:48 +0100 | <dminuoso_> | freeside: you will have to do normalization first. |
2023-03-02 13:05:00 +0100 | mmhat | (~mmh@p200300f1c70462d7ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
2023-03-02 13:05:15 +0100 | <dminuoso_> | the paragraph notation, I dont know of freely available software that can do this |
2023-03-02 13:05:23 +0100 | <dminuoso_> | most open source software doesnt operate on that level |
2023-03-02 13:05:41 +0100 | <freeside> | ok, i could normalize that away. |
2023-03-02 13:05:54 +0100 | <dminuoso_> | good |
2023-03-02 13:06:20 +0100 | <dminuoso_> | freeside: by the way, this problem is deeply related to full text search algorithms. |
2023-03-02 13:06:41 +0100 | <dminuoso_> | which all rely on stemming/normalizing words from input |
2023-03-02 13:06:53 +0100 | <freeside> | mmhm, i feel like i am about 30 years behind google here lol, and this is just for a quick one-of |
2023-03-02 13:06:55 +0100 | Monster196883 | (~hp@103.15.228.66) (Ping timeout: 248 seconds) |
2023-03-02 13:07:09 +0100 | <freeside> | i'm reading this paper on AHBM: https://www.sciencedirect.com/science/article/pii/S1742287614000085#:~:text=Approximate%20Hash%20B…(AHBM,from%20memory%20or%20deleted%20files. |
2023-03-02 13:07:35 +0100 | <dminuoso_> | freeside: if youw ant to reuse technology |
2023-03-02 13:07:42 +0100 | <freeside> | yes, please |
2023-03-02 13:07:43 +0100 | <dminuoso_> | you could perhaps get quite far by using postgresql |
2023-03-02 13:07:58 +0100 | <freeside> | oh, pgsql has all the algorithms inside now, does it |
2023-03-02 13:08:06 +0100 | <dminuoso_> | turn things into tsvector, having no stop words |
2023-03-02 13:08:15 +0100 | <dminuoso_> | then you just have to deal with comparing tsvectors |
2023-03-02 13:08:24 +0100 | <dminuoso_> | (that's something you have to fill) |
2023-03-02 13:08:54 +0100 | <dminuoso_> | even if stop words are used, its probably still fine |
2023-03-02 13:08:59 +0100 | <dminuoso_> | (assuming you can live with that) |
2023-03-02 13:09:10 +0100 | <dminuoso_> | freeside: the almost bigger problem is that tsvector doesnt keep original information around directly |
2023-03-02 13:09:15 +0100 | <dminuoso_> | so it could be difficult |
2023-03-02 13:09:32 +0100 | <dminuoso_> | (i.e. in a tsvector elements dont have their unnormalized form available) |
2023-03-02 13:10:20 +0100 | <freeside> | that's fine, i will bust out the Schwartzian Transform |
2023-03-02 13:10:43 +0100 | <dminuoso_> | But honestly, I think postgresql is a bit overkill |
2023-03-02 13:11:15 +0100 | <dminuoso_> | https://snowballstem.org/ |
2023-03-02 13:11:21 +0100 | <dminuoso_> | This might be an even better option than ispell |
2023-03-02 13:12:16 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2023-03-02 13:12:56 +0100 | <freeside> | the normalization will be insufficient in some cases, where a sentence in one doc might be "there shall be no tariffs on Koala fur made in Australia" while the other doc might be "there shall be no tariffs on Sheep fur made in New Zealand" |
2023-03-02 13:13:09 +0100 | <freeside> | I was hoping the approximate hashing would handle that |
2023-03-02 13:13:15 +0100 | <dminuoso_> | hold on, different problems ere, |
2023-03-02 13:13:22 +0100 | <dminuoso_> | Im not saying normalization solves all your problems |
2023-03-02 13:13:27 +0100 | <dminuoso_> | just that its a necessary step |
2023-03-02 13:13:35 +0100 | <freeside> | ok |
2023-03-02 13:14:25 +0100 | <dminuoso_> | you could just do split by word boundary, apply normalization (schwartzian style), and then do a diff algorithm on that |
2023-03-02 13:14:45 +0100 | acidjnk_new | (~acidjnk@p200300d6e715c424d939d96a9ad2afa1.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2023-03-02 13:14:52 +0100 | <dminuoso_> | say myers |
2023-03-02 13:15:57 +0100 | <dminuoso_> | such that the myers diff will consider the normalized strings, but print out non-normalized chunks |
2023-03-02 13:16:29 +0100 | <freeside> | the schwartzian transform is really just an Arrow, isn't it |
2023-03-02 13:16:41 +0100 | <dminuoso_> | Sure, if you want that interface. |
2023-03-02 13:17:08 +0100 | <dminuoso_> | freeside: https://hackage.haskell.org/package/snowball |
2023-03-02 13:17:13 +0100 | <dminuoso_> | Here, bindings even exist |
2023-03-02 13:17:42 +0100 | <dminuoso_> | https://hackage.haskell.org/package/Diff |
2023-03-02 13:17:48 +0100 | <dminuoso_> | I think with these two you can get quite far. |
2023-03-02 13:18:13 +0100 | <dminuoso_> | And something like paragraph notation you can treat like stop words that you just elide |
2023-03-02 13:19:06 +0100 | gurkenglas | (~gurkengla@dynamic-089-204-138-097.89.204.138.pool.telefonica.de) |
2023-03-02 13:23:49 +0100 | <dminuoso_> | freeside: let eqing f x y = f x == f y in getGroupedDiffBy (eqing snd) (id &&& stem English) |
2023-03-02 13:24:19 +0100 | <dminuoso_> | Maybe with some `. T.words` at the end, done! |
2023-03-02 13:24:51 +0100 | <dminuoso_> | oh hold on |
2023-03-02 13:25:06 +0100 | <freeside> | mmm |
2023-03-02 13:25:13 +0100 | <dminuoso_> | let eqing f x y = f x == f y in getGroupedDiffBy (eqing snd) . (id && stem English) . T.words |
2023-03-02 13:25:17 +0100 | <dminuoso_> | Something like that |
2023-03-02 13:26:37 +0100 | <dminuoso_> | Ah not quite given the signature of getGroupedDiffBy, needs some uncurry, but I think you get the idea. |
2023-03-02 13:28:13 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-03-02 13:31:01 +0100 | <freeside> | thank you, i shall try this |
2023-03-02 13:31:11 +0100 | <freeside> | i am going to pretend it is an AoC problem and just power through it |
2023-03-02 13:33:00 +0100 | <freeside> | you know, my first language was Perl, and I am now going to demonstrate that one can write Perl in any language |
2023-03-02 13:33:33 +0100 | <dminuoso_> | One of the few languages that were actually designed. :) |
2023-03-02 13:42:27 +0100 | anpad | (~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-03-02 13:44:53 +0100 | anpad | (~pandeyan@user/anpad) |
2023-03-02 13:55:39 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 248 seconds) |
2023-03-02 13:56:18 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-02 13:58:51 +0100 | <hpc> | heh, yeah perl's the best |
2023-03-02 13:59:25 +0100 | <hpc> | one of my only-half-jokes is that haskell's my favorite imperative language and perl's my favorite functional language |
2023-03-02 13:59:27 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 255 seconds) |
2023-03-02 13:59:33 +0100 | cheater_ | cheater |
2023-03-02 14:02:25 +0100 | <gurkenglas> | aww, Copilot just wanted to use data in a where expression and it has a point |
2023-03-02 14:03:18 +0100 | jtomas | (~jtomas@81.172.17.107.dyn.user.ono.com) |
2023-03-02 14:06:36 +0100 | acidjnk_new | (~acidjnk@p200300d6e715c424d939d96a9ad2afa1.dip0.t-ipconnect.de) |
2023-03-02 14:07:33 +0100 | lyle | (~lyle@104.246.145.237) |
2023-03-02 14:08:50 +0100 | <freeside> | is that something ocaml would allow? |
2023-03-02 14:10:38 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:8429:4ceb:8103:61ef) |
2023-03-02 14:11:22 +0100 | jtomas | (~jtomas@81.172.17.107.dyn.user.ono.com) (Remote host closed the connection) |
2023-03-02 14:15:03 +0100 | Guest35 | (~Guest35@2a02:1210:7e50:ca00:6e96:c5da:4cf3:d7d5) |
2023-03-02 14:15:30 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:8429:4ceb:8103:61ef) (Ping timeout: 260 seconds) |
2023-03-02 14:16:18 +0100 | Guest35 | (~Guest35@2a02:1210:7e50:ca00:6e96:c5da:4cf3:d7d5) (Client Quit) |
2023-03-02 14:21:54 +0100 | Guest55 | (~Guest55@150.254.83.188) |
2023-03-02 14:22:39 +0100 | mechap | (~mechap@user/mechap) (Ping timeout: 248 seconds) |
2023-03-02 14:23:51 +0100 | <Guest55> | hi, would you recommend me some course on haskell and functional programming in general? i was lead here from the haskell mooc fi website |
2023-03-02 14:24:28 +0100 | mechap | (~mechap@user/mechap) |
2023-03-02 14:26:33 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
2023-03-02 14:26:35 +0100 | mrcsno | (~mrcsno@user/mrcsno) (Ping timeout: 264 seconds) |
2023-03-02 14:27:41 +0100 | <opqdonut> | was there something wrong with the haskell.mooc.fi course? |
2023-03-02 14:27:59 +0100 | <opqdonut> | or are you looking for something more advanced? |
2023-03-02 14:31:56 +0100 | <Guest55> | i just found it browsing through mooc courses where i landed from completely different reason, it wasnt really recommended to me so decided its worth a shot to ask someone experienced abt haskell courses&tutorials landscape |
2023-03-02 14:33:09 +0100 | <Guest55> | are you familiar with that one or any particular other one? |
2023-03-02 14:34:13 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
2023-03-02 14:34:30 +0100 | <opqdonut> | I wrote haskell.mooc.fi, and I think it's a great course O:) |
2023-03-02 14:34:45 +0100 | <opqdonut> | unlike many other courses (like Learn You A Haskell), it has lots of exercises |
2023-03-02 14:34:56 +0100 | stiell | (~stiell@gateway/tor-sasl/stiell) |
2023-03-02 14:35:18 +0100 | <opqdonut> | student feedback has been really positive |
2023-03-02 14:36:08 +0100 | <opqdonut> | over 700 students have finished part 1 by submitting their solutions to the course server |
2023-03-02 14:36:28 +0100 | <opqdonut> | but the course can be worked on independently as well, so there might be many more students who just don't bother with the formalities |
2023-03-02 14:38:33 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2023-03-02 14:39:22 +0100 | <Guest55> | oh i see! I'm glad to have occasion to thank you for creating the course, I just started it, but i am looking forward to use further advance later, and also leave feedback as i i finish it. thank you for the response and cheers |
2023-03-02 14:39:26 +0100 | Guest55 | (~Guest55@150.254.83.188) (Quit: Client closed) |
2023-03-02 14:40:33 +0100 | Lycurgus | (~juan@user/Lycurgus) |
2023-03-02 14:40:58 +0100 | dfg | (~dfg@user/dfg) (Quit: I hate quit messages.) |
2023-03-02 14:41:16 +0100 | dfg | (~dfg@dfg.rocks) |
2023-03-02 14:41:16 +0100 | dfg | (~dfg@dfg.rocks) (Changing host) |
2023-03-02 14:41:16 +0100 | dfg | (~dfg@user/dfg) |
2023-03-02 14:44:58 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-03-02 14:50:42 +0100 | infinity0 | (~infinity0@pwned.gg) (Ping timeout: 252 seconds) |
2023-03-02 14:53:00 +0100 | abhim | (~abhim@238-197.wifi.nat.warwick.ac.uk) |
2023-03-02 14:53:07 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:ad66:d77d:1913:4102) (Quit: WeeChat 2.8) |
2023-03-02 14:55:35 +0100 | <abhim> | Getting an error trying to install GHCup on WSL 2 |
2023-03-02 14:55:36 +0100 | <abhim> | [GHCup-00841] Process "sh" with arguments ["./configure", |
2023-03-02 14:55:36 +0100 | <abhim> | [ ... ] "--prefix=/home/abhim/.ghcup/ghc/9.2.5"] failed with exit code 1. |
2023-03-02 14:55:37 +0100 | <abhim> | Any clue what it's about? |
2023-03-02 14:55:37 +0100 | <abhim> | I also get: "ghcup --metadata-fetching-mode=Strict --cache install ghc recommended" failed! |
2023-03-02 15:00:59 +0100 | gurkenglas | (~gurkengla@dynamic-089-204-138-097.89.204.138.pool.telefonica.de) (Ping timeout: 255 seconds) |
2023-03-02 15:03:21 +0100 | infinity0 | (~infinity0@pwned.gg) |
2023-03-02 15:04:32 +0100 | cfricke | (~cfricke@user/cfricke) (Ping timeout: 246 seconds) |
2023-03-02 15:06:53 +0100 | cfricke | (~cfricke@user/cfricke) |
2023-03-02 15:08:43 +0100 | <ph88> | how can i concat 4x Word8 into Word32 ? |
2023-03-02 15:08:59 +0100 | <dminuoso_> | ph88: Data.Bits |
2023-03-02 15:09:06 +0100 | <ph88> | thanks dminuoso_ :) |
2023-03-02 15:09:21 +0100 | <dminuoso_> | ph88: Use shiftL and (.&.) |
2023-03-02 15:09:41 +0100 | <dminuoso_> | Oh and fromIntegral obviously. |
2023-03-02 15:09:58 +0100 | thegeekinside | (~thegeekin@189.141.115.134) |
2023-03-02 15:10:18 +0100 | <dminuoso_> | Or .|. I guess heh |
2023-03-02 15:10:42 +0100 | <dminuoso_> | https://gist.github.com/dminuoso/8c4eb6a1d996f4e226f9ecce23c35895 |
2023-03-02 15:14:17 +0100 | <mauke> | fromIntegral, * 256, + |
2023-03-02 15:16:11 +0100 | abhim | (~abhim@238-197.wifi.nat.warwick.ac.uk) (Quit: Connection closed) |
2023-03-02 15:16:38 +0100 | Lycurgus | (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
2023-03-02 15:16:40 +0100 | <hololeap> | is darcs dead? |
2023-03-02 15:16:55 +0100 | shriekingnoise | (~shrieking@186.137.175.87) |
2023-03-02 15:19:24 +0100 | <hololeap> | it just looks like no effort has been taken to let it build on ghc-9.2 |
2023-03-02 15:20:54 +0100 | akegalj | (~akegalj@93-137-16-116.adsl.net.t-com.hr) (Quit: leaving) |
2023-03-02 15:20:55 +0100 | <dminuoso_> | mauke: Okay lets debate about that. Is multiplication and addition better suited than shift and OR? |
2023-03-02 15:21:31 +0100 | <mauke> | depends |
2023-03-02 15:21:41 +0100 | <dminuoso_> | A bit benefit of shift+or is that the relationship to the value is visually better tied to the type (shifting 8/26/24 bits for Word8 into Word32) |
2023-03-02 15:21:57 +0100 | <dminuoso_> | With 256 its not as obvious whether its correct when looking at Word8 and Word32 |
2023-03-02 15:22:05 +0100 | abhim | (~abhim@238-197.wifi.nat.warwick.ac.uk) |
2023-03-02 15:22:12 +0100 | <mauke> | why not? |
2023-03-02 15:22:51 +0100 | <ph88> | cool gist dminuoso_ i will take it :) |
2023-03-02 15:23:22 +0100 | <dminuoso_> | mauke: Because Word8 and Word32 have the number of bits in the type name itself already. |
2023-03-02 15:23:32 +0100 | <mauke> | I mention the alternative because some people are more comfortable with "normal" arithmetic (+, -, *, /) |
2023-03-02 15:23:43 +0100 | <dminuoso_> | With 256 you go from number of bits into a decimal representation of maximum value first |
2023-03-02 15:23:49 +0100 | <mauke> | and it is occasionally useful to remember that that is what's actually happening |
2023-03-02 15:24:04 +0100 | <dminuoso_> | Mmm |
2023-03-02 15:24:19 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2023-03-02 15:24:30 +0100 | <dminuoso_> | Though if the problem is already formulated as "concatenating Word8 into Word32" that already suggests thinking about shift and or. |
2023-03-02 15:24:43 +0100 | <dminuoso_> | The connection to multiplication is almost incidental, here. |
2023-03-02 15:24:55 +0100 | <mauke> | all shifts are multiplications |
2023-03-02 15:25:07 +0100 | abhim | (~abhim@238-197.wifi.nat.warwick.ac.uk) (Client Quit) |
2023-03-02 15:25:26 +0100 | <dminuoso_> | Thinking about multiplication by 256 is actually based on a base-256 level of thinking. |
2023-03-02 15:25:26 +0100 | <mauke> | (doesn't have to be decimal, either: 256 could be written as 0xFF or whatever) |
2023-03-02 15:25:37 +0100 | <dminuoso_> | (which seems very unintuitive) |
2023-03-02 15:25:53 +0100 | <mauke> | eh? but that's what bytes are |
2023-03-02 15:26:06 +0100 | <mauke> | machine words are effectively in base 256 |
2023-03-02 15:27:04 +0100 | <dminuoso_> | Fair I guess. Its just that when I think of a Word8, I dont see a value range 0-255, I rather see just "8 bits of information" |
2023-03-02 15:27:19 +0100 | <dminuoso_> | Which is equivalent of course, but the former isnt exactly what Id be thinking about |
2023-03-02 15:28:25 +0100 | <mauke> | > foldl (\z x -> z * 256 + x) 0 [a, b, c, d] |
2023-03-02 15:28:27 +0100 | <lambdabot> | (((0 * 256 + a) * 256 + b) * 256 + c) * 256 + d |
2023-03-02 15:28:56 +0100 | <mauke> | > foldl (\z x -> z `shiftL` 8 .|. x) 0 [a, b, c, d] |
2023-03-02 15:28:57 +0100 | <lambdabot> | error: |
2023-03-02 15:28:57 +0100 | <lambdabot> | • No instance for (Bits Expr) arising from a use of ‘.|.’ |
2023-03-02 15:28:57 +0100 | <lambdabot> | • In the expression: z `shiftL` 8 .|. x |
2023-03-02 15:29:00 +0100 | <mauke> | aww |
2023-03-02 15:29:37 +0100 | <dminuoso_> | % :t \a b c d -> foldl (\z x -> z `shiftL` 8 .|. x) 0 [a, b, c, d] |
2023-03-02 15:29:37 +0100 | <yahb2> | <interactive>:1:30: error: ; Variable not in scope: shiftL :: t2 -> t0 -> t1 ; ; <interactive>:1:41: error: ; Variable not in scope: (.|.) :: t1 -> t -> t2 |
2023-03-02 15:29:42 +0100 | <dminuoso_> | % import Data.Bits |
2023-03-02 15:29:42 +0100 | <yahb2> | <no output> |
2023-03-02 15:29:43 +0100 | <dminuoso_> | % :t \a b c d -> foldl (\z x -> z `shiftL` 8 .|. x) 0 [a, b, c, d] |
2023-03-02 15:29:43 +0100 | <yahb2> | \a b c d -> foldl (\z x -> z `shiftL` 8 .|. x) 0 [a, b, c, d] ; :: (Bits b, Num b) => b -> b -> b -> b -> b |
2023-03-02 15:30:18 +0100 | <mauke> | anyway, doing it as a fold reduces the number of magic numbers in the code :-) |
2023-03-02 15:30:22 +0100 | <mauke> | whether it be 256 or 8 |
2023-03-02 15:30:38 +0100 | <dminuoso_> | Yeah indeed |
2023-03-02 15:30:42 +0100 | califax | (~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-03-02 15:30:49 +0100 | <dminuoso_> | It's just a bit sad you cant do this cleanly in my gist. |
2023-03-02 15:30:54 +0100 | <mauke> | (and nicely generalises to Word64) |
2023-03-02 15:31:05 +0100 | <dminuoso_> | I mean yeah, you can do it for ipv4FromWord8s at least |
2023-03-02 15:31:36 +0100 | <dminuoso_> | But this is trivial to write, tests are in place to ensure this is done correctly, and I get better guarantees about inlining. |
2023-03-02 15:31:53 +0100 | <dminuoso_> | (not quite sure whether ghc can even unroll loops like that) |
2023-03-02 15:31:59 +0100 | califax | (~califax@user/califx) |
2023-03-02 15:32:09 +0100 | <mauke> | yeah, this is more something I'd do in C |
2023-03-02 15:34:32 +0100 | Monster196883 | (~hp@103.15.228.66) |
2023-03-02 15:37:20 +0100 | dhil | (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 248 seconds) |
2023-03-02 15:41:11 +0100 | <fbytez> | Could someone point me in the right direction for calling out to external linux processes, please. |
2023-03-02 15:41:58 +0100 | <geekosaur> | look at the System.Process module |
2023-03-02 15:42:08 +0100 | <Hecate> | fbytez: https://flora.pm/packages/@hackage/typed-process |
2023-03-02 15:42:22 +0100 | <fbytez> | Thankyou. |
2023-03-02 15:45:34 +0100 | Monster196883 | (~hp@103.15.228.66) (Ping timeout: 252 seconds) |
2023-03-02 15:47:45 +0100 | <dminuoso_> | Hecate: Mmm, know what we need? A full dependency diagram (cabal-plan dot-png or some such) for each package. |
2023-03-02 15:48:30 +0100 | <dminuoso_> | Refreshed every day with whatever plan cabal can generate using the hackage state at that point |
2023-03-02 15:48:39 +0100 | <dminuoso_> | What do you think about that? |
2023-03-02 15:48:47 +0100 | <dminuoso_> | People might stop using aeson :> |
2023-03-02 15:49:30 +0100 | <dminuoso_> | Though to fair, having more dependencies than it has versions has so far not stopped anyone but me yet |
2023-03-02 15:51:45 +0100 | <mauke> | why would you release multiple versions? just get it perfect the first time :5head: |
2023-03-02 15:54:32 +0100 | <Hecate> | dminuoso_: https://github.com/flora-pm/flora-server/discussions/new?category=feature-requests |
2023-03-02 15:56:34 +0100 | Monster196883 | (~hp@103.15.228.66) |
2023-03-02 16:03:52 +0100 | <dminuoso_> | Ah perfect |
2023-03-02 16:07:37 +0100 | <ph88> | How to go from Word32 to bytestring ? |
2023-03-02 16:08:46 +0100 | <mauke> | depends on which bytestring |
2023-03-02 16:08:50 +0100 | <lyxia> | ph88: https://hackage.haskell.org/package/bytestring-0.11.4.0/docs/Data-ByteString-Builder.html#v:word32BE |
2023-03-02 16:09:05 +0100 | <ph88> | thanks lyxia :) |
2023-03-02 16:19:16 +0100 | <fbytez> | In the examples for System.Process.Typed, what is "{-# LANGUAGE OverloadedStrings #-}" for? |
2023-03-02 16:19:42 +0100 | <dminuoso_> | fbytez: https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/overloaded_strings.html#extension-Overload… |
2023-03-02 16:19:55 +0100 | <fbytez> | Right. |
2023-03-02 16:20:40 +0100 | <dminuoso_> | runProcess :: MonadIO m => ProcessConfig stdin stdout stderr -> m ExitCode |
2023-03-02 16:20:53 +0100 | <dminuoso_> | instance (stdin ~ (), stdout ~ (), stderr ~ ()) => IsString (ProcessConfig stdin stdout stderr) where ... |
2023-03-02 16:21:31 +0100 | <ph88> | is there a version of Either that instead of returning the first error collect all the errors until the end of the monad ? |
2023-03-02 16:21:32 +0100 | <geekosaur> | so in this case it lets you use a literal string as a Text or ByteString instead of a String, without requiring you to manually pack it |
2023-03-02 16:21:43 +0100 | <mauke> | fbytez: https://www.stackage.org/haddock/nightly-2023-02-27/typed-process-0.2.11.0/System-Process-Typed.ht… |
2023-03-02 16:22:00 +0100 | <mauke> | ph88: Writer? |
2023-03-02 16:23:11 +0100 | <fbytez> | Thankyou. |
2023-03-02 16:25:03 +0100 | <dminuoso_> | geekosaur: Not as a Text or ByteString, but a ProcessConfig in particualr. |
2023-03-02 16:25:18 +0100 | <dminuoso_> | fromString s | any (== ' ') s = shell s | otherwise = proc s [] |
2023-03-02 16:25:31 +0100 | <dminuoso_> | That's a highly dubious instance, in my opinion. |
2023-03-02 16:25:45 +0100 | <dminuoso_> | That `any (== ' ')` branch uh. |
2023-03-02 16:26:19 +0100 | <dminuoso_> | Something like `/exe/with space.sh` will not make you happy. |
2023-03-02 16:26:28 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2023-03-02 16:27:36 +0100 | polyphem_ | (~rod@2a02:810d:840:8754:dafc:581f:2a59:730) |
2023-03-02 16:28:01 +0100 | <mauke> | yeah, clearly should be `elem` |
2023-03-02 16:28:07 +0100 | <fbytez> | It wouldn't be a problem if you still provide a `[]` argument too though, right? |
2023-03-02 16:28:10 +0100 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.8) |
2023-03-02 16:29:13 +0100 | <dminuoso_> | mauke: hah, that's not what I was getting at. :P |
2023-03-02 16:29:20 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-03-02 16:29:22 +0100 | <mauke> | what's more interesting is that `ls|less` would not invoke the shell |
2023-03-02 16:29:35 +0100 | <dminuoso_> | indeed, its an incredibly brittle and poor heuristic |
2023-03-02 16:29:45 +0100 | <dminuoso_> | this should do either shell or proc (probably better just shell) |
2023-03-02 16:29:53 +0100 | <dminuoso_> | not both |
2023-03-02 16:29:58 +0100 | <mauke> | should've used perl instead :-D |
2023-03-02 16:31:00 +0100 | <mauke> | (perl's system() scans the supplied string for shell meta-characters; if there are none, it splits on spaces and calls execv directly) |
2023-03-02 16:31:24 +0100 | <dminuoso_> | mauke: and will it detect shell builtins? |
2023-03-02 16:31:39 +0100 | <dminuoso_> | that is would it try and execve "pwd"? |
2023-03-02 16:31:44 +0100 | <mauke> | no, that's the weak point |
2023-03-02 16:31:46 +0100 | <fbytez> | I'm brand new to haskell and trying to decide how practical it is to use. The appealing part is strongly-typed functional static binaries. |
2023-03-02 16:31:55 +0100 | <mauke> | pwd exists |
2023-03-02 16:32:08 +0100 | <dminuoso_> | No, its a shell built-in |
2023-03-02 16:32:13 +0100 | <dminuoso_> | at least on most distributoins |
2023-03-02 16:32:14 +0100 | <mauke> | the issue is with stuff like cd or set |
2023-03-02 16:32:26 +0100 | <mauke> | pwd is /usr/bin/pwd |
2023-03-02 16:32:33 +0100 | <Unhammer> | how do I add to the "load path" of runhaskell? |
2023-03-02 16:32:34 +0100 | <dminuoso_> | On your linux distribution perhaps |
2023-03-02 16:32:36 +0100 | <geekosaur> | posix, for stupid reasons, required at one point that executables exist for all the shell builtins. not that e.g. `cd` is useful |
2023-03-02 16:32:39 +0100 | img | (~img@user/img) |
2023-03-02 16:32:44 +0100 | <mauke> | (and also a shell builtin, but that doesn't hurt) |
2023-03-02 16:33:03 +0100 | <dminuoso_> | geekosaur: do you happen to know the stupid reasons? |
2023-03-02 16:33:05 +0100 | <Unhammer> | like, I can runhaskell app/Main.hs if I put Lib.hs in . but if it's in src, runhaskell claims Lib doesn't export myFunc |
2023-03-02 16:33:14 +0100 | <dminuoso_> | fbytez: Okay, welcome then. |
2023-03-02 16:33:18 +0100 | <geekosaur> | not off the top of my head any more |
2023-03-02 16:33:24 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2023-03-02 16:33:28 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
2023-03-02 16:33:31 +0100 | <Unhammer> | (which is confusing, when it seems like the real error is it just can't find Lib.hs) |
2023-03-02 16:34:24 +0100 | <geekosaur> | I think `runhaskell -isrc` |
2023-03-02 16:34:41 +0100 | <dminuoso_> | fbytez: How has your experience been, so far? |
2023-03-02 16:35:10 +0100 | <mauke> | Unhammer: sounds like you have a different Lib elsewhere |
2023-03-02 16:35:21 +0100 | <geekosaur> | and the reason you get "doesn't export" is https://downloads.haskell.org/ghc/9.2.5/docs/html/libraries/libiserv-9.2.5/Lib.html |
2023-03-02 16:35:40 +0100 | <geekosaur> | probably |
2023-03-02 16:36:03 +0100 | <geekosaur> | (I don't think I want to know whose bad idea that was) |
2023-03-02 16:36:40 +0100 | <Unhammer> | ouch :( |
2023-03-02 16:37:10 +0100 | <Unhammer> | had no idea Lib was a global module like that |
2023-03-02 16:37:17 +0100 | <geekosaur> | well, it wouldn't bite with normal builds, but runhaskell uses ghci heuristics |
2023-03-02 16:37:43 +0100 | <geekosaur> | so it is likely to search and find the global libiserv package |
2023-03-02 16:38:02 +0100 | <Unhammer> | ok, makes sense |
2023-03-02 16:38:30 +0100 | <Unhammer> | well, -isrc fixed my issue, thanks mauke & geekosaur |
2023-03-02 16:40:41 +0100 | <fbytez> | dminuoso_, too little to say really. 'Awkward', perhaps. |
2023-03-02 16:51:59 +0100 | <ph88> | how do i go from bytestring to Word32 ? |
2023-03-02 16:52:58 +0100 | phma | (~phma@2001:5b0:211f:2648:c269:c58d:a76b:f75) (Read error: Connection reset by peer) |
2023-03-02 16:53:52 +0100 | phma | (phma@2001:5b0:210d:7c18:f8fd:6f0e:6c01:c11a) |
2023-03-02 16:53:56 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2023-03-02 16:54:29 +0100 | <dminuoso_> | ph88: That's a matter of parsing. |
2023-03-02 16:54:37 +0100 | <dminuoso_> | What that means you must first define yourself |
2023-03-02 16:55:01 +0100 | <dminuoso_> | What representation does the Word32 have in the bytestring? |
2023-03-02 16:55:02 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-03-02 16:55:16 +0100 | <ph88> | it's a bytestring of 4 bytes |
2023-03-02 16:55:42 +0100 | <dminuoso_> | Okay, little endian? big endian? |
2023-03-02 16:55:42 +0100 | <ph88> | what do you mean representation ? it's just 32 bits to 32 bits on the value level |
2023-03-02 16:55:46 +0100 | <ph88> | big endian |
2023-03-02 16:56:23 +0100 | <dminuoso_> | ph88: A ByteString is just an arbitrary sequence of octets. To turn an arbitrary sequence of octets into a Word32 is a matter of parsing a representation of 32 in some particular bytes |
2023-03-02 16:57:29 +0100 | <ph88> | any primitive function available to avoid having to use a parser library ? |
2023-03-02 16:58:09 +0100 | <dminuoso_> | Well you can just use Data.ByteString directly |
2023-03-02 16:58:22 +0100 | Pickchea | (~private@user/pickchea) |
2023-03-02 16:58:29 +0100 | <dminuoso_> | % import qualified Data.ByteString as BS |
2023-03-02 16:58:29 +0100 | <yahb2> | <no output> |
2023-03-02 16:58:32 +0100 | <dminuoso_> | % set -XOverloadedStrings |
2023-03-02 16:58:32 +0100 | <yahb2> | <interactive>:22:1: error: ; • Variable not in scope: set ; • Perhaps you meant ‘seq’ (imported from Prelude) ; ; <interactive>:22:6: error: ; Data constructor not in scope: XOverloade... |
2023-03-02 16:58:38 +0100 | <dminuoso_> | % :set -XOverloadedStrings |
2023-03-02 16:58:38 +0100 | <yahb2> | <no output> |
2023-03-02 16:59:25 +0100 | <dminuoso_> | % import Data.Bits |
2023-03-02 16:59:25 +0100 | <yahb2> | <no output> |
2023-03-02 17:00:36 +0100 | mbuf | (~Shakthi@49.204.136.4) (Quit: Leaving) |
2023-03-02 17:01:13 +0100 | <dminuoso_> | % import Data.Word (Word32) |
2023-03-02 17:01:13 +0100 | <yahb2> | <no output> |
2023-03-02 17:01:36 +0100 | <dminuoso_> | % parse :: BS.ByteString -> Maybe Word32; parse buf = case BS.unpack (BS.take 4 buf) of [a,b,c,d] -> Just (fromIntegral a `shiftL` 24 .|. fromIntegral b `shiftL` 16 .|. fromIntegral c `shiftL` 8 .|. fromIntegral d); _ -> Nothing |
2023-03-02 17:01:36 +0100 | <yahb2> | <no output> |
2023-03-02 17:01:39 +0100 | <dminuoso_> | % parse "abcd" |
2023-03-02 17:01:39 +0100 | <yahb2> | Just 1633837924 |
2023-03-02 17:01:43 +0100 | <dminuoso_> | fbytez: ^- how about this? |
2023-03-02 17:01:49 +0100 | shapr | (~user@68.54.166.125) |
2023-03-02 17:02:29 +0100 | dhil | (~dhil@78.45.150.83.ewm.ftth.as8758.net) |
2023-03-02 17:02:40 +0100 | <dminuoso_> | % parse "\ff\ff\ff\ff" |
2023-03-02 17:02:40 +0100 | <yahb2> | Just 208014438 |
2023-03-02 17:03:02 +0100 | <dminuoso_> | % parse "\xFF\xFF\xFF\xFF" |
2023-03-02 17:03:02 +0100 | <yahb2> | Just 4294967295 |
2023-03-02 17:03:11 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:8429:4ceb:8103:61ef) |
2023-03-02 17:03:39 +0100 | fnurglewitz | (uid263868@id-263868.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-03-02 17:03:57 +0100 | grnman_ | (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) |
2023-03-02 17:04:12 +0100 | <fbytez> | I think you meant 'ph88'. |
2023-03-02 17:04:27 +0100 | <dminuoso_> | Oh indeed. |
2023-03-02 17:04:32 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2023-03-02 17:05:04 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-03-02 17:05:58 +0100 | <ph88> | dminuoso_, thanks for the help, i could use that. I'm just thinking whether it can be done simpler. The primitive function is available it seems, so on a higher level (Word32 instead of Word#) maybe there is an opportunity to keep it as simple https://hackage.haskell.org/package/ghc-prim-0.5.0.0/docs/GHC-Prim.html#v:indexWord32Array-35- |
2023-03-02 17:06:10 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-03-02 17:07:54 +0100 | <dminuoso_> | ph88: Nothing elegant, really |
2023-03-02 17:08:23 +0100 | <ph88> | alright thanks |
2023-03-02 17:09:29 +0100 | <dminuoso_> | ph88: The first problem you face is that you must ensure the buffer is long enough |
2023-03-02 17:10:03 +0100 | <dminuoso_> | Then you must unwrap the bytestring to get hold of the internal ByteArray#, then you must use magic primitives to prevent the GC from reclaiming it too early |
2023-03-02 17:10:16 +0100 | <dminuoso_> | Libraries like `flatparse` hide exactly that from you |
2023-03-02 17:10:39 +0100 | <dminuoso_> | ph88: consider that library if you want a very minimalistic parser library and you have the need to do some bytestring parsing |
2023-03-02 17:10:51 +0100 | <dminuoso_> | `binary` is also an option, as its a boot library (so its already installed anyway) |
2023-03-02 17:12:15 +0100 | <ph88> | i am already using binary actually for some other parts of the code |
2023-03-02 17:12:20 +0100 | jtza8 | (~user@165.255.86.7) |
2023-03-02 17:12:35 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-02 17:13:01 +0100 | <dminuoso_> | https://hackage.haskell.org/package/binary-0.8.9.1/docs/Data-Binary-Get.html#v:getWord32be |
2023-03-02 17:13:41 +0100 | <ph88> | <3 |
2023-03-02 17:14:42 +0100 | king_gs | (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) |
2023-03-02 17:14:44 +0100 | CiaoSen | (~Jura@p200300c9570e91002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2023-03-02 17:14:45 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 255 seconds) |
2023-03-02 17:14:50 +0100 | cheater_ | cheater |
2023-03-02 17:15:56 +0100 | fserucas | (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Quit: Leaving) |
2023-03-02 17:20:55 +0100 | <jtza8> | Given smart constructor: https://paste.tomsmeding.com/PtrleZDQ |
2023-03-02 17:22:46 +0100 | <jtza8> | It feels like a bad idea to automatically flip the two arguments because it allows for silent errors to go unchallenged. |
2023-03-02 17:23:19 +0100 | ddellacosta | (~ddellacos@146.70.166.10) (Quit: WeeChat 3.8) |
2023-03-02 17:23:40 +0100 | <jtza8> | Any opinions? |
2023-03-02 17:24:30 +0100 | <geekosaur> | depends on use case |
2023-03-02 17:25:43 +0100 | <geekosaur> | in particular, if I have to do the test and swap everywhere before using it, it's less error prone to centralize it |
2023-03-02 17:26:20 +0100 | ddellacosta | (~ddellacos@146.70.166.10) |
2023-03-02 17:28:30 +0100 | <jtza8> | Thanks for the good advice. I myopically neglected to consider the use case. |
2023-03-02 17:28:48 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:8429:4ceb:8103:61ef) (Remote host closed the connection) |
2023-03-02 17:31:11 +0100 | razetime | (~Thunderbi@117.193.3.202) |
2023-03-02 17:34:05 +0100 | chexum_ | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds) |
2023-03-02 17:34:20 +0100 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-03-02 17:34:35 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2023-03-02 17:35:33 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
2023-03-02 17:40:07 +0100 | Monster196883 | (~hp@103.15.228.66) (Ping timeout: 260 seconds) |
2023-03-02 17:40:50 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
2023-03-02 17:42:25 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2023-03-02 17:42:54 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2023-03-02 17:43:15 +0100 | grnman_ | (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Remote host closed the connection) |
2023-03-02 17:43:22 +0100 | Guest|26 | (~Guest|26@92.53.24.204) |
2023-03-02 17:44:17 +0100 | <Guest|26> | Hey guys, I'm trying to install haskell through the powershell command on the installation page, but I'm getting this error "The revocation function was unable to check revocation for the certificate." |
2023-03-02 17:45:33 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2023-03-02 17:45:58 +0100 | merijn | (~merijn@195.114.232.94) (Ping timeout: 252 seconds) |
2023-03-02 17:47:32 +0100 | Monster196883 | (~hp@103.93.250.20) |
2023-03-02 17:48:10 +0100 | shapr[m] | (~shaprcofr@2001:470:69fc:105::2:d107) |
2023-03-02 17:48:44 +0100 | <shapr> | shapr[m]: ?? |
2023-03-02 17:51:02 +0100 | <c_wraith> | you're duplicating |
2023-03-02 17:52:00 +0100 | <opqdonut> | unsafeDupablePerformShapr |
2023-03-02 17:55:38 +0100 | <geekosaur> | @remember opqdonut * shapr[m] (~shaprcofr@2001:470:69fc:105::2:d107) has joined / <shapr> shapr[m]: ?? / <opqdonut> unsafeDupablePerformShapr |
2023-03-02 17:55:38 +0100 | <lambdabot> | I will remember. |
2023-03-02 17:56:57 +0100 | elkcl | (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) (Ping timeout: 255 seconds) |
2023-03-02 17:57:39 +0100 | <mauke> | Guest|26: what command, what page? |
2023-03-02 18:00:07 +0100 | codaraxis__ | (~codaraxis@user/codaraxis) |
2023-03-02 18:03:27 +0100 | codaraxis | (~codaraxis@user/codaraxis) (Ping timeout: 260 seconds) |
2023-03-02 18:04:27 +0100 | elkcl | (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) |
2023-03-02 18:04:42 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-03-02 18:05:58 +0100 | king_gs | (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) (Remote host closed the connection) |
2023-03-02 18:06:16 +0100 | king_gs | (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) |
2023-03-02 18:07:01 +0100 | MajorBiscuit | (~MajorBisc@c-001-019-034.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.6) |
2023-03-02 18:09:29 +0100 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
2023-03-02 18:09:53 +0100 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
2023-03-02 18:10:18 +0100 | <shapr> | opqdonut: haha! :-D |
2023-03-02 18:14:06 +0100 | <Guest|26> | Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; try { Invoke-Command -ScriptBlock ([ScriptBlock]::Create((Invoke-WebRequest https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1 -UseBasicParsing))) -ArgumentList $true } catch { |
2023-03-02 18:14:06 +0100 | <Guest|26> | Write-Error $_ } this command, I meant installing GHCup |
2023-03-02 18:14:23 +0100 | <ph88> | is there a reverse class lookup possible on hackage ? i give a type and it shows me all the packages which implement an instance of something for this type ? |
2023-03-02 18:14:52 +0100 | <Guest|26> | It throws that error while trying to install Msys2. |
2023-03-02 18:15:33 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2023-03-02 18:15:45 +0100 | <ph88> | Guest|26, try to open an administrative shell. Go to start menu find powershell, then right click execute as administrator |
2023-03-02 18:15:55 +0100 | Sauvin | (~sauvin@user/Sauvin) (Ping timeout: 248 seconds) |
2023-03-02 18:16:20 +0100 | <ph88> | Run Get-ExecutionPolicy. If it returns Restricted, then run Set-ExecutionPolicy AllSigned or Set-ExecutionPolicy Bypass -Scope Process. |
2023-03-02 18:16:50 +0100 | jtza8 | (~user@165.255.86.7) (ERC 5.4 (IRC client for GNU Emacs 28.2)) |
2023-03-02 18:17:01 +0100 | <Guest|26> | It returns Bypass |
2023-03-02 18:21:58 +0100 | <ph88> | ye ok so try again with administrative shell |
2023-03-02 18:24:44 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2023-03-02 18:24:57 +0100 | <ph88> | you can also try curl on the script link to see if you get TLS certificate errors that way |
2023-03-02 18:26:55 +0100 | polyphem_ | (~rod@2a02:810d:840:8754:dafc:581f:2a59:730) (Ping timeout: 248 seconds) |
2023-03-02 18:27:49 +0100 | polyphem_ | (~rod@2a02:810d:840:8754:224e:f6ff:fe5e:bc17) |
2023-03-02 18:28:55 +0100 | <Guest|26> | Same error in admin shell, installed msys2 manually and gave the path to the installer, when It opened the Mingw window, it threw and ssl error “failed to verify the legitimacy of the server” |
2023-03-02 18:29:39 +0100 | <Guest|26> | curl https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1 returns 200 |
2023-03-02 18:32:49 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2023-03-02 18:33:31 +0100 | teo | (~teo@user/teo) (Ping timeout: 248 seconds) |
2023-03-02 18:34:29 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2023-03-02 18:34:53 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2023-03-02 18:35:21 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2023-03-02 18:36:18 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-03-02 18:37:15 +0100 | Guest|26 | (~Guest|26@92.53.24.204) (Quit: Connection closed) |
2023-03-02 18:38:53 +0100 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2023-03-02 18:39:00 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
2023-03-02 18:42:14 +0100 | razetime | (~Thunderbi@117.193.3.202) (Remote host closed the connection) |
2023-03-02 18:47:23 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 248 seconds) |
2023-03-02 18:48:20 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
2023-03-02 18:52:02 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-03-02 18:57:33 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2023-03-02 18:57:53 +0100 | opticblast | (~Thunderbi@172.58.83.235) |
2023-03-02 18:59:01 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2023-03-02 18:59:30 +0100 | ec | (~ec@gateway/tor-sasl/ec) |
2023-03-02 19:01:43 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2023-03-02 19:02:25 +0100 | dsrt^ | (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) (Remote host closed the connection) |
2023-03-02 19:05:48 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:8429:4ceb:8103:61ef) |
2023-03-02 19:09:47 +0100 | werneta | (~werneta@137.79.193.28) |
2023-03-02 19:10:58 +0100 | <ph88> | can i make two versions of a function where one version has some additional typeclasses i can use ? |
2023-03-02 19:11:21 +0100 | <Jade[m]1> | what do you mean by that? |
2023-03-02 19:11:30 +0100 | <Jade[m]1> | An overloaded function? |
2023-03-02 19:11:44 +0100 | <ph88> | ye |
2023-03-02 19:11:57 +0100 | <Jade[m]1> | no, that's not possible in haskell |
2023-03-02 19:11:57 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) |
2023-03-02 19:12:17 +0100 | <Jade[m]1> | because of currying it'd make the concept difficult |
2023-03-02 19:12:24 +0100 | <monochrom> | Do you mind giving them two different names? |
2023-03-02 19:12:25 +0100 | <Jade[m]1> | so it's not a feature whatsoever |
2023-03-02 19:12:28 +0100 | econo | (uid147250@user/econo) |
2023-03-02 19:12:42 +0100 | <ph88> | monochrom, yes |
2023-03-02 19:12:42 +0100 | <Jade[m]1> | consider using a 'prime' (`f'` |
2023-03-02 19:12:46 +0100 | <Jade[m]1> | * 'prime' (`f'`) |
2023-03-02 19:12:52 +0100 | <geekosaur> | well. it is possible to have a default implementation of a typeclass function which has different requirements; some typeclasses use this to specify a default using Generics |
2023-03-02 19:13:12 +0100 | <ph88> | what if i make a typeclass just for running my function and then put the additional typeclasses on there ? |
2023-03-02 19:13:15 +0100 | <Jade[m]1> | * 'prime' (`f`,`f'`, * '`) |
2023-03-02 19:13:37 +0100 | <geekosaur> | https://downloads.haskell.org/ghc/9.6.1-alpha3/docs/users_guide/exts/default_signatures.html |
2023-03-02 19:13:53 +0100 | Joao003 | (~Joao003@2804:840:8301:cb00:8d33:1756:d85a:7970) |
2023-03-02 19:13:59 +0100 | ph88 | reading |
2023-03-02 19:14:04 +0100 | <monochrom> | Yeah default signatures is the closest I can think of, but it still doesn't look like your question. |
2023-03-02 19:18:30 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 255 seconds) |
2023-03-02 19:21:50 +0100 | ratapaca | (~ratapaca@98.40.240.33) |
2023-03-02 19:24:11 +0100 | king_gs | (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) (Ping timeout: 264 seconds) |
2023-03-02 19:24:18 +0100 | Joao003 | (~Joao003@2804:840:8301:cb00:8d33:1756:d85a:7970) (Quit: Leaving) |
2023-03-02 19:25:47 +0100 | ratapaca | (~ratapaca@98.40.240.33) (Client Quit) |
2023-03-02 19:27:41 +0100 | king_gs | (~Thunderbi@187.201.41.239) |
2023-03-02 19:28:40 +0100 | Sauvin | (~sauvin@user/Sauvin) |
2023-03-02 19:30:38 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-03-02 19:32:28 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:8429:4ceb:8103:61ef) (Remote host closed the connection) |
2023-03-02 19:32:47 +0100 | hugo- | (znc@verdigris.lysator.liu.se) (Ping timeout: 255 seconds) |
2023-03-02 19:38:23 +0100 | polyphem_ | (~rod@2a02:810d:840:8754:224e:f6ff:fe5e:bc17) (Ping timeout: 256 seconds) |
2023-03-02 19:39:40 +0100 | vpan | (~0@212.117.1.172) (Quit: Leaving.) |
2023-03-02 19:40:27 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2023-03-02 19:43:03 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-03-02 19:43:51 +0100 | hugo- | (znc@verdigris.lysator.liu.se) |
2023-03-02 19:45:21 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: Leaving) |
2023-03-02 19:47:28 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
2023-03-02 19:50:24 +0100 | polyphem_ | (~rod@2a02:810d:840:8754:13ad:6ee2:a5fa:1da3) |
2023-03-02 19:50:54 +0100 | dhil | (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 255 seconds) |
2023-03-02 19:52:21 +0100 | dcoutts_ | (~duncan@cpc69403-oxfd27-2-0-cust285.4-3.cable.virginm.net) (Remote host closed the connection) |
2023-03-02 19:52:44 +0100 | dcoutts_ | (~duncan@cpc69403-oxfd27-2-0-cust285.4-3.cable.virginm.net) |
2023-03-02 19:54:13 +0100 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
2023-03-02 19:55:23 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
2023-03-02 19:57:39 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-03-02 19:57:44 +0100 | iteratee_ | (~kyle@2001:470:4071:0:5054:e5ff:fe3b:2859) (Remote host closed the connection) |
2023-03-02 19:59:12 +0100 | king_gs | (~Thunderbi@187.201.41.239) (Ping timeout: 248 seconds) |
2023-03-02 20:03:26 +0100 | dhil | (~dhil@80.208.56.181.static.fibianet.dk) |
2023-03-02 20:04:29 +0100 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-03-02 20:08:36 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds) |
2023-03-02 20:09:17 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-03-02 20:16:01 +0100 | mrcsno | (~mrcsno@user/mrcsno) |
2023-03-02 20:16:21 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:8429:4ceb:8103:61ef) |
2023-03-02 20:16:43 +0100 | Guest58 | (~textual@2603-7000-1203-4d7c-0cdc-f6ea-1da9-3494.res6.spectrum.com) |
2023-03-02 20:23:15 +0100 | foul_owl | (~kerry@193.29.61.203) (Ping timeout: 268 seconds) |
2023-03-02 20:24:09 +0100 | ft | (~ft@p3e9bc443.dip0.t-ipconnect.de) |
2023-03-02 20:27:08 +0100 | foul_owl | (~kerry@71.212.143.88) |
2023-03-02 20:30:01 +0100 | dcoutts_ | (~duncan@cpc69403-oxfd27-2-0-cust285.4-3.cable.virginm.net) (Ping timeout: 268 seconds) |
2023-03-02 20:32:39 +0100 | micro | (~micro@user/micro) (Ping timeout: 255 seconds) |
2023-03-02 20:32:47 +0100 | Guest58 | (~textual@2603-7000-1203-4d7c-0cdc-f6ea-1da9-3494.res6.spectrum.com) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2023-03-02 20:32:55 +0100 | micro | (~micro@user/micro) |
2023-03-02 20:33:59 +0100 | azimut_ | (~azimut@gateway/tor-sasl/azimut) |
2023-03-02 20:34:05 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
2023-03-02 20:34:08 +0100 | Guest58 | (~textual@cpe-66-65-40-132.nyc.res.rr.com) |
2023-03-02 20:39:50 +0100 | johnw_ | (~johnw@2600:1700:cf00:db0:a85a:aa58:c54c:551d) (Quit: ZNC - http://znc.in) |
2023-03-02 20:39:50 +0100 | jwiegley | (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in) |
2023-03-02 20:40:54 +0100 | jwiegley | (~jwiegley@2600:1700:cf00:db0:240d:4ecd:e535:2c8f) |
2023-03-02 20:41:18 +0100 | Monster196883 | (~hp@103.93.250.20) (Ping timeout: 255 seconds) |
2023-03-02 20:41:40 +0100 | johnw | (~johnw@2600:1700:cf00:db0:240d:4ecd:e535:2c8f) |
2023-03-02 20:41:55 +0100 | Guest58 | (~textual@cpe-66-65-40-132.nyc.res.rr.com) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2023-03-02 20:45:11 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 264 seconds) |
2023-03-02 21:05:50 +0100 | pwntips_ | (~user@24-113-98-114.wavecable.com) (Quit: leaving) |
2023-03-02 21:11:09 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) |
2023-03-02 21:12:20 +0100 | pavonia | (~user@user/siracusa) |
2023-03-02 21:21:30 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2023-03-02 21:22:42 +0100 | pwntips | (~user@24-113-98-114.wavecable.com) |
2023-03-02 21:28:10 +0100 | <monochrom> | https://dev.to/zelenya/there-is-no-tooling-issue-in-haskell-cal \∩/ |
2023-03-02 21:31:30 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:8429:4ceb:8103:61ef) (Remote host closed the connection) |
2023-03-02 21:32:05 +0100 | ddellacosta | (~ddellacos@146.70.166.10) (Quit: WeeChat 3.8) |
2023-03-02 21:33:35 +0100 | ddellacosta | (~ddellacos@146.70.166.10) |
2023-03-02 21:33:54 +0100 | nikkc | (~nikkc@2603-7080-0101-3269-fccb-ad1f-3c7d-f525.res6.spectrum.com) |
2023-03-02 21:37:21 +0100 | cheater | (~Username@user/cheater) (Read error: Connection reset by peer) |
2023-03-02 21:38:05 +0100 | cheater | (~Username@user/cheater) |
2023-03-02 21:41:58 +0100 | opticblast | (~Thunderbi@172.58.83.235) (Ping timeout: 252 seconds) |
2023-03-02 21:51:05 +0100 | polyphem_ | (~rod@2a02:810d:840:8754:13ad:6ee2:a5fa:1da3) (Ping timeout: 260 seconds) |
2023-03-02 21:51:46 +0100 | polyphem_ | (~rod@2a02:810d:840:8754:224e:f6ff:fe5e:bc17) |
2023-03-02 21:52:50 +0100 | opticblast | (~Thunderbi@172.58.80.62) |
2023-03-02 21:56:52 +0100 | <ph88> | when should one use Control.Monad.Trans.Except VS Control.Monad.Error.Class ? |
2023-03-02 21:58:02 +0100 | gmg | (~user@user/gehmehgeh) |
2023-03-02 22:00:37 +0100 | fnurglewitz | (uid263868@id-263868.lymington.irccloud.com) |
2023-03-02 22:04:25 +0100 | Guest58 | (~textual@2603-7000-1203-4d7c-0cdc-f6ea-1da9-3494.res6.spectrum.com) |
2023-03-02 22:04:49 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2023-03-02 22:05:26 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds) |
2023-03-02 22:06:15 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2023-03-02 22:10:24 +0100 | <geekosaur> | you wouldn't normally use either, you'd use Control.Monad.Error (the higher level version of Control.Monad.Error.Class) or you would use an effect or type family-based or other implementation of Control.Monad.Trans.Except |
2023-03-02 22:11:44 +0100 | <geekosaur> | the latter is the lowest level definition. Control.Monad.Error{,.Class} is from mtl. other monad implementations build on Control.Monad.Trans.Error in other ways than mtl does |
2023-03-02 22:12:18 +0100 | <geekosaur> | (.Class would be used if you want to build your own monad that adheres to mtl's implementation of MonadError) |
2023-03-02 22:12:58 +0100 | <geekosaur> | (if you're just stacking mtl errors, Control.Monad.Error is enough) |
2023-03-02 22:13:04 +0100 | <geekosaur> | er mtl monads |
2023-03-02 22:16:42 +0100 | thegeekinside | (~thegeekin@189.141.115.134) (Ping timeout: 268 seconds) |
2023-03-02 22:19:48 +0100 | <ddellacosta> | geekosaur: I think Control.Monad.Error in mtl is deprecated https://hackage.haskell.org/package/mtl-2.3.1/docs/Control-Monad-Error-Class.html#t:MonadError |
2023-03-02 22:20:09 +0100 | <geekosaur> | yeh, I neglected to mention that all of them are deprecated |
2023-03-02 22:20:28 +0100 | <geekosaur> | Control.Monad.Except is the preferred one |
2023-03-02 22:20:45 +0100 | <geekosaur> | (and transformers equivalent) |
2023-03-02 22:21:06 +0100 | <ddellacosta> | ah, okay. I'm still wrapping my head around errors/exception-handling in Haskell in general, I find it really challenging, and it seems like there are a lot of approaches to sift through |
2023-03-02 22:22:40 +0100 | <geekosaur> | same rules apply there, though: the one from transformers is the basic definition shared by all implementations, .Class is mtl's core for use by other monads, C.M.Except is the standard mtl monad implementing the class |
2023-03-02 22:23:46 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-03-02 22:23:50 +0100 | <geekosaur> | you will find the mtl-tf package which implements the same mtl interfaces but using associated types instead of mtl's fundeps, and effect systems providing their own implementations of the basic transformer |
2023-03-02 22:25:23 +0100 | lxi | (~quassel@2a02:2f08:4d1c:400:416b:68b5:814f:ea80) |
2023-03-02 22:27:05 +0100 | mmhat | (~mmh@p200300f1c70462d7ee086bfffe095315.dip0.t-ipconnect.de) |
2023-03-02 22:28:42 +0100 | lyle | (~lyle@104.246.145.237) (Quit: WeeChat 3.8) |
2023-03-02 22:32:00 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:8429:4ceb:8103:61ef) |
2023-03-02 22:33:48 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 255 seconds) |
2023-03-02 22:35:55 +0100 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
2023-03-02 22:36:32 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:8429:4ceb:8103:61ef) (Ping timeout: 248 seconds) |
2023-03-02 22:38:42 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2023-03-02 22:39:30 +0100 | <dminuoso_> | ddellacosta: I think we're just overequipped with different solutions. |
2023-03-02 22:39:53 +0100 | <dminuoso_> | I find the best general exception mechanism is just plain IO exceptions. |
2023-03-02 22:40:04 +0100 | trev | (~trev@user/trev) (Remote host closed the connection) |
2023-03-02 22:40:21 +0100 | <dminuoso_> | They are simple, no weird monad wizardry, no subtle gotchas with other effects |
2023-03-02 22:40:42 +0100 | <dminuoso_> | And you get a builtin dynamically typed extensible exception hierarchy much like in Java |
2023-03-02 22:40:45 +0100 | irrgit_ | (~irrgit@176.113.74.130) |
2023-03-02 22:41:15 +0100 | <dminuoso_> | Only price is that you need IO in those places, but I dont think IO is something we should be afraid of. |
2023-03-02 22:41:25 +0100 | <dminuoso_> | Additional benefit, it works in MonadUnliftIO code. |
2023-03-02 22:42:11 +0100 | <dminuoso_> | And they arent clearly communicatable in the type system (and sadly much IO code does not clearly document what exceptions can be thrown, and plenty of libraries that do throw exceptions dont organize them in hierarchies either). |
2023-03-02 22:42:20 +0100 | <dminuoso_> | But thats for library code anyway, for code that you control its a different story |
2023-03-02 22:43:11 +0100 | lxi | (~quassel@2a02:2f08:4d1c:400:416b:68b5:814f:ea80) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2023-03-02 22:45:04 +0100 | dhil | (~dhil@80.208.56.181.static.fibianet.dk) (Ping timeout: 268 seconds) |
2023-03-02 22:48:38 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds) |
2023-03-02 22:50:22 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2023-03-02 22:50:49 +0100 | infinity0 | (~infinity0@pwned.gg) (Remote host closed the connection) |
2023-03-02 22:52:56 +0100 | infinity0 | (~infinity0@pwned.gg) |
2023-03-02 22:54:34 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-02 22:55:43 +0100 | Monster196883 | (~hp@103.15.228.66) |
2023-03-02 22:57:42 +0100 | hiredman | (~hiredman@frontier1.downey.family) (Quit: Lost terminal) |
2023-03-02 22:57:51 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 248 seconds) |
2023-03-02 22:58:00 +0100 | cheater_ | cheater |
2023-03-02 22:58:27 +0100 | <ph88> | geekosaur, from Control.Monad.Except when should i use MonadError VS Except/ExceptT ? |
2023-03-02 22:58:39 +0100 | hiredman | (~hiredman@frontier1.downey.family) |
2023-03-02 23:00:38 +0100 | <geekosaur> | MonadError is the lower level one. are you building your own exception monad? then implement MonadError for it |
2023-03-02 23:00:54 +0100 | <geekosaur> | if you aren't, you probably want Except/ExceptT |
2023-03-02 23:01:54 +0100 | <ph88> | geekosaur, when to use Except/ExcepT only with existing exception monads ? |
2023-03-02 23:02:07 +0100 | <geekosaur> | uh? |
2023-03-02 23:02:50 +0100 | <geekosaur> | as before: if you are simply stacking monads, you want ExceptT. if you are building something like RWS that has an exception component, you want MonadError |
2023-03-02 23:03:20 +0100 | <ph88> | ok thanks |
2023-03-02 23:03:32 +0100 | masterbuilder | (~masterbui@user/masterbuilder) |
2023-03-02 23:04:25 +0100 | hiredman | (~hiredman@frontier1.downey.family) (Quit: Lost terminal) |
2023-03-02 23:05:17 +0100 | hiredman | (~hiredman@frontier1.downey.family) |
2023-03-02 23:05:18 +0100 | werneta | (~werneta@137.79.193.28) (Ping timeout: 255 seconds) |
2023-03-02 23:05:38 +0100 | <geekosaur[m]> | Put otherwise, MonadError is for implementors, Except for users |
2023-03-02 23:07:04 +0100 | thegeekinside | (~thegeekin@189.141.115.134) |
2023-03-02 23:07:23 +0100 | m5zs7k | (aquares@web10.mydevil.net) (Ping timeout: 264 seconds) |
2023-03-02 23:07:47 +0100 | m5zs7k | (aquares@web10.mydevil.net) |
2023-03-02 23:10:08 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-03-02 23:10:52 +0100 | werneta | (~werneta@137.79.212.16) |
2023-03-02 23:17:52 +0100 | cheater_ | (~Username@user/cheater) |
2023-03-02 23:20:16 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 248 seconds) |
2023-03-02 23:20:17 +0100 | cheater_ | cheater |
2023-03-02 23:32:10 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2023-03-02 23:32:21 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-03-02 23:37:15 +0100 | opticblast | (~Thunderbi@172.58.80.62) (Ping timeout: 260 seconds) |
2023-03-02 23:37:43 +0100 | Rafflesia271828 | (~hp@103.15.228.66) |
2023-03-02 23:39:03 +0100 | Monster196883 | (~hp@103.15.228.66) (Ping timeout: 255 seconds) |
2023-03-02 23:41:22 +0100 | michalz | (~michalz@185.246.204.107) (Remote host closed the connection) |
2023-03-02 23:43:28 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-03-02 23:45:13 +0100 | Monster196883 | (~hp@103.15.228.66) |
2023-03-02 23:46:42 +0100 | Rafflesia271828 | (~hp@103.15.228.66) (Ping timeout: 255 seconds) |
2023-03-02 23:47:50 +0100 | nikkc | (~nikkc@2603-7080-0101-3269-fccb-ad1f-3c7d-f525.res6.spectrum.com) (Quit: Client closed) |
2023-03-02 23:48:03 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
2023-03-02 23:57:55 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) |