Logs: freenode/#haskell
| 2020-11-09 11:00:19 | → | Rudd0^ joins (~Rudd0@185.189.115.108) |
| 2020-11-09 11:00:27 | <maerwald> | Sometimes you have local proof (inside the same function, but haskell isn't expressive enought to know) |
| 2020-11-09 11:00:40 | <Uniaika> | yes that is indeed right |
| 2020-11-09 11:00:49 | <maerwald> | I don't wanna bother with Maybe types just to satisfy someone elses OCD |
| 2020-11-09 11:01:22 | × | xenon- quits (~bc8165ab@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout)) |
| 2020-11-09 11:01:28 | <Uniaika> | maerwald: Same, but that's why I prefer an upstream NonEmpty rather than a downstream Maybe |
| 2020-11-09 11:01:46 | × | mputz quits (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 272 seconds) |
| 2020-11-09 11:02:09 | × | a_ quits (~a@2402:8100:230f:985:63a5:3c25:ccc1:e6b3) (Client Quit) |
| 2020-11-09 11:02:52 | × | berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
| 2020-11-09 11:03:01 | × | Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 260 seconds) |
| 2020-11-09 11:03:03 | <int-e> | I for one dislike NonEmpty a; it should be a subtype of [a] but we don't have subtypes. |
| 2020-11-09 11:03:50 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 2020-11-09 11:04:15 | → | ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
| 2020-11-09 11:04:17 | <maerwald> | in general seems like a rant about stdlib, which is mostly true |
| 2020-11-09 11:04:23 | → | jonatanb joins (~jonatanb@83.24.9.26.ipv4.supernova.orange.pl) |
| 2020-11-09 11:04:48 | × | christo quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 2020-11-09 11:04:52 | <xpika> | consensus is that if your serious: don't use the default prelude |
| 2020-11-09 11:05:14 | → | christo joins (~chris@81.96.113.213) |
| 2020-11-09 11:05:20 | <int-e> | consensus?! |
| 2020-11-09 11:05:28 | <maerwald> | That's what I see quite often: strong types, but the implementation is still naive (e.g. see the 'path' package) |
| 2020-11-09 11:06:12 | <int-e> | I suppose you can reach a consensus that the Prelude doesn't get things right. |
| 2020-11-09 11:06:20 | <int-e> | You |
| 2020-11-09 11:06:38 | <int-e> | I don't think you can reach a consensus on what it should do instead. |
| 2020-11-09 11:08:25 | × | Zetagon quits (~leo@c151-177-52-233.bredband.comhem.se) (Ping timeout: 246 seconds) |
| 2020-11-09 11:08:53 | × | jonatanb quits (~jonatanb@83.24.9.26.ipv4.supernova.orange.pl) (Ping timeout: 256 seconds) |
| 2020-11-09 11:09:15 | × | ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 265 seconds) |
| 2020-11-09 11:10:49 | <maerwald> | The "checked exceptions" discussion is the worst. And ppl believing haskell actually has checked exceptions. No, Either is not that. ExceptT neither and even if you add open unions, you still need to be careful to always catch all inner IO actions |
| 2020-11-09 11:11:04 | → | kish joins (~oracle@unaffiliated/oracle) |
| 2020-11-09 11:11:54 | <int-e> | isn't that another thing that wants subtyping |
| 2020-11-09 11:12:25 | × | adm_ quits (~adm@43.229.88.236) (Remote host closed the connection) |
| 2020-11-09 11:12:32 | <int-e> | (I guess it can be expressed as constraints if you want to... and you have a kind of subtyping on that level) |
| 2020-11-09 11:12:42 | <Squarism> | anyone know of clean "algorithm" to construct a tree from a list of elements containing something like : data KeyedNodes a = KeyedNodes { id::String, parentId::String, content::a } ? |
| 2020-11-09 11:13:07 | <maerwald> | int-e: I don't think this is a "type level expressivity" option at all |
| 2020-11-09 11:13:08 | <Squarism> | oh, parentId should ofc be Maybe String |
| 2020-11-09 11:13:12 | × | kish` quits (~oracle@unaffiliated/oracle) (Ping timeout: 256 seconds) |
| 2020-11-09 11:13:22 | <maerwald> | GHC doesn't know what exeptions a function may throw. Fix that first |
| 2020-11-09 11:14:22 | <tomsmeding> | Squarism: make a Data.Map (Maybe String) [String] from parent -> children with a single pass over the list in O(n log n), then build the tree recursively in O(n log n) ? |
| 2020-11-09 11:14:46 | → | fntastic joins (5f5ac942@ip5f5ac942.dynamic.kabel-deutschland.de) |
| 2020-11-09 11:14:57 | <int-e> | maerwald: Oh, sure, it would require quite a different setup for IO. It wouldn't even be a monad... but some indexed thing instead. |
| 2020-11-09 11:15:30 | → | solonarv joins (~solonarv@astrasbourg-653-1-263-62.w92-161.abo.wanadoo.fr) |
| 2020-11-09 11:15:35 | <merijn> | int-e: I disagree, I think the issue is orthogonal |
| 2020-11-09 11:15:39 | <kuribastard> | Squarism: you can use a lazy map Data.Map (Maybe String) Tree |
| 2020-11-09 11:15:54 | <merijn> | Exceptions shouldn't be in the current types (system) at all |
| 2020-11-09 11:16:01 | × | Cthalupa quits (~cthulhu@47.186.47.75) (Ping timeout: 265 seconds) |
| 2020-11-09 11:16:07 | <merijn> | We should have a new separate type system and types for that |
| 2020-11-09 11:16:11 | <tomsmeding> | oh kuribastard's version is nicer indeed |
| 2020-11-09 11:16:37 | <kuribastard> | merijn: when are you going to design a new language? |
| 2020-11-09 11:16:49 | <kuribastard> | merijn: can it have indexed monads? |
| 2020-11-09 11:17:11 | <maerwald> | well, I leave up the "how" wrt checked exceptions to the scientists :p |
| 2020-11-09 11:17:16 | <int-e> | merijn: sure, that's an option... |
| 2020-11-09 11:17:35 | <maerwald> | I can just give my users experience that all options currently suck |
| 2020-11-09 11:17:45 | <maerwald> | and that Java ain't that bad wrt exceptions |
| 2020-11-09 11:17:55 | → | beleon joins (~beleon@2a02:810c:4cc0:c8b:50e2:68a8:c1e:3f7f) |
| 2020-11-09 11:18:22 | <merijn> | kuribastard: As soon as someone pays me :) |
| 2020-11-09 11:18:50 | <maerwald> | merijn: only fintech has the money, so figure out a way to sell your idea to them |
| 2020-11-09 11:19:12 | <merijn> | fintech wants me to move too, so that's out :p |
| 2020-11-09 11:19:22 | → | Cthalupa joins (~cthulhu@47.186.47.75) |
| 2020-11-09 11:19:49 | <maerwald> | You need a Gandalf kicking you out of your house :p |
| 2020-11-09 11:20:00 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
| 2020-11-09 11:21:04 | → | shatriff joins (~vitaliish@176.52.219.10) |
| 2020-11-09 11:21:04 | × | thir quits (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
| 2020-11-09 11:21:15 | <maerwald> | but currently, shouldn't be that hard |
| 2020-11-09 11:21:25 | <maerwald> | where can you move now anyway |
| 2020-11-09 11:22:20 | → | v_m_v joins (~vm_v@2a02:aa12:3200:6480:fc4f:fb56:796a:9a4a) |
| 2020-11-09 11:22:23 | <merijn> | maerwald: Well, even if I was willing to move, most fintech is located in countries I would be unwilling to move to :p |
| 2020-11-09 11:23:37 | <maerwald> | you mean Cayman Islands? *chuckle* |
| 2020-11-09 11:23:39 | → | heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
| 2020-11-09 11:23:46 | <beleon> | hi! can you help me out on creating a Monad instance for my type? It's a Monad around the parsec Parser Monad that is supposed to keep track of indentation characters used while parsing. I can't quite figure out how to get the result of >>= out of the Parser Monad. Here's the code: https://gist.github.com/beleon/97273023d3b95fb62d28da6bec273aeb |
| 2020-11-09 11:24:51 | <merijn> | maerwald: I meant the US/UK, but close enough :p |
| 2020-11-09 11:24:58 | <maerwald> | And SG |
| 2020-11-09 11:26:27 | <kuribastard> | beleon: don't, use a newtype and GeneralizedNewtypeDeriving instead |
| 2020-11-09 11:26:38 | <kuribastard> | beleon: and mtl |
| 2020-11-09 11:26:51 | <kuribastard> | beleon: it will give you all the instances for free |
| 2020-11-09 11:27:07 | <dminuoso> | *cunning GeneralizedNewtypeDeriving |
| 2020-11-09 11:27:22 | <dminuoso> | Every mention of the extension in documentation and diagnostics calls it cunning. |
| 2020-11-09 11:27:25 | <dminuoso> | We should too. :> |
| 2020-11-09 11:28:08 | <beleon> | hm, but how would the automated derivation know how to merge the ParserBoxInfo? |
| 2020-11-09 11:28:14 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds) |
| 2020-11-09 11:28:28 | → | carlomagno1 joins (~cararell@148.87.23.6) |
| 2020-11-09 11:28:45 | <dminuoso> | beleon: You'd use <|> instead |
| 2020-11-09 11:30:15 | × | AceNovo quits (~chris@184.101.220.149) (Read error: Connection reset by peer) |
| 2020-11-09 11:30:29 | <beleon> | dminuoso: but wouldn't <|> also be derived? |
| 2020-11-09 11:30:37 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 2020-11-09 11:30:37 | × | hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Read error: Connection reset by peer) |
| 2020-11-09 11:30:37 | × | andreas31 quits (~andreas@gateway/tor-sasl/andreas303) (Write error: Connection reset by peer) |
| 2020-11-09 11:30:37 | × | gxt quits (~gxt@gateway/tor-sasl/gxt) (Write error: Connection reset by peer) |
| 2020-11-09 11:30:37 | × | Unhammer quits (~Unhammer@gateway/tor-sasl/unhammer) (Read error: Connection reset by peer) |
| 2020-11-09 11:30:37 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Write error: Connection reset by peer) |
| 2020-11-09 11:30:37 | × | ChaiTRex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Read error: Connection reset by peer) |
| 2020-11-09 11:30:37 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Read error: Connection reset by peer) |
| 2020-11-09 11:30:37 | × | jb55 quits (~jb55@gateway/tor-sasl/jb55) (Write error: Connection reset by peer) |
| 2020-11-09 11:30:37 | × | tomboy64 quits (~tomboy64@gateway/tor-sasl/tomboy64) (Write error: Connection reset by peer) |
| 2020-11-09 11:30:42 | <dminuoso> | Only if you GND Alternative |
| 2020-11-09 11:31:28 | → | jb55 joins (~jb55@gateway/tor-sasl/jb55) |
| 2020-11-09 11:31:31 | × | carlomagno quits (~cararell@148.87.23.13) (Ping timeout: 246 seconds) |
| 2020-11-09 11:31:35 | → | Unhammer joins (~Unhammer@gateway/tor-sasl/unhammer) |
| 2020-11-09 11:31:36 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 2020-11-09 11:31:41 | → | ChaiTRex joins (~ChaiTRex@gateway/tor-sasl/chaitrex) |
| 2020-11-09 11:31:42 | <kuribastard> | beleon: you can make your own monoid instance |
| 2020-11-09 11:31:45 | → | gxt joins (~gxt@gateway/tor-sasl/gxt) |
All times are in UTC.