Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
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.