Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2021-02-28 23:52:31 <rednaZ[m]> But I do understand "administrative overhead".
2021-02-28 23:53:02 <c_wraith> absence: if you are using the lensy approach, https://hackage.haskell.org/package/lens-5.0.1/docs/Control-Lens-Combinators.html#v:reversed
2021-02-28 23:53:23 <absence> Axman6: vector doesn't have dropWhileEnd it seems
2021-02-28 23:53:29 <rednaZ[m]> Any type safety brings "administrative overhead". It is subjective, which one you consider worth it.
2021-02-28 23:53:34 <dolio> However, it is forced to be distinct from an implementation that doesn't use exceptions because there is no way to be properly abstract with respect to exceptions.
2021-02-28 23:53:49 <nshepperd> i thought the point of f's type is that it catches the exception thrown by g
2021-02-28 23:53:57 <Axman6> I guess dropWhileEnd doesn't make sense with fusion
2021-02-28 23:55:08 <absence> Axman6: hm, that's a good point
2021-02-28 23:55:13 × mputz quits (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Quit: mputz)
2021-02-28 23:55:27 <dolio> nshepperd: It cannot avoid catching an exception from `g` that matches the exception it uses in its internal implementation.
2021-02-28 23:56:24 <nshepperd> I'm lost
2021-02-28 23:57:12 <nshepperd> if the exception is meant to be 'internal' why does its type say it catches it from the externally provided function
2021-02-28 23:58:40 Tario joins (~Tario@201.192.165.173)
2021-02-28 23:59:01 remby joins (4c437c1b@bras-base-london1483w-grc-21-76-67-124-27.dsl.bell.ca)
2021-02-28 23:59:20 <dolio> The point is that there's no way to say, "don't handle any exceptions from `g`" in most systems. So if you call `g` inside a local exception handler, that pollutes the type.
2021-03-01 00:00:01 × zopsi quits (~zopsi@irc.dir.ac) (Quit: Oops)
2021-03-01 00:00:09 × atk quits (~Arch-TK@ircpuzzles/staff/Arch-TK) (Quit: Well this is unexpected.)
2021-03-01 00:00:13 <dolio> Because an implementation that locally uses exceptions is different from one that doesn't, necessarily.
2021-03-01 00:00:31 atk joins (~Arch-TK@ircpuzzles/staff/Arch-TK)
2021-03-01 00:00:36 zopsi joins (~zopsi@irc.dir.ac)
2021-03-01 00:00:39 <absence> c_wraith: it's a more elegant way of expressing it, but i was thinking more along the lines of the vector getting "mapped" to its reverse rather than actually get reversed (although maybe it's a moot point due to fusion). there is some stuff called "backwards", but it seems to be for effects
2021-03-01 00:00:43 <rednaZ[m]> "Is there any problem with saying that `f : (a -> b throws e) -> b throws e` cannot catch anything and `f : (a -> b throws {Exn1 | r}) -> b throws r necessarily catches any Exn1`?"
2021-03-01 00:01:08 <nshepperd> oh, I've never heard of checked exceptions being used to assert that something doesn't catch
2021-03-01 00:01:43 × nrh^ quits (nrh@ip98-184-89-2.mc.at.cox.net) ()
2021-03-01 00:03:44 <edwardk> TFW you realize the thing you have been trying to do for 2 days is broken in ghc and its not your fault
2021-03-01 00:04:10 × pacak quits (~pacak@bb116-14-220-91.singnet.com.sg) (Read error: Connection reset by peer)
2021-03-01 00:04:30 pacak joins (~pacak@bb116-14-220-91.singnet.com.sg)
2021-03-01 00:04:39 <edwardk> dolio: clearly the solution is some kind of region parameter trick to tag things it wants to produce and catch
2021-03-01 00:05:07 <dolio> The solution is static scoping.
2021-03-01 00:05:09 <nshepperd> rednaZ[m]: that seems way too restrictive
2021-03-01 00:05:11 <edwardk> or that
2021-03-01 00:05:36 <dolio> This is also a problem with algebraic effects, and people came up with similar solutions.
2021-03-01 00:05:46 <dolio> But mtl doesn't have this problem, because it's implemented with type classes.
2021-03-01 00:05:51 <dolio> Which are static.
2021-03-01 00:06:24 Digit joins (~user@fsf/member/digit)
2021-03-01 00:06:59 <dolio> Or, I suppose, type classes and monad transformers are lists, not sets.
2021-03-01 00:07:14 <nshepperd> mtl is a cool system that doesn't afraid of anything
2021-03-01 00:07:31 remby parts (4c437c1b@bras-base-london1483w-grc-21-76-67-124-27.dsl.bell.ca) ()
2021-03-01 00:07:32 emmanuel_erc joins (~user@rrcs-23-246-116-5.nys.biz.rr.com)
2021-03-01 00:08:12 <dolio> I.E. mtl clases + monad transformers are an implementation of Liejen-style scoped labels being desugared to tuples.
2021-03-01 00:08:23 <Axman6> edwardk: you're like the only person who that happens to, the rest of us just blame GHC and then find out its our fault
2021-03-01 00:10:21 <edwardk> Axman6: to be fair, i blamed myself for 2 days
2021-03-01 00:10:31 <Digit> hi haskellers. :) no question really, i just wanted to pass encouraging enthused comment: i know there are more established text editors around, but, mmm, that first line's got to be at least a little enticing: "First, note that Yi has no special purpose configuration language. Yi provides building blocks, that the user can combine to create their own editor. This means that the configuration file is a top-level Haskell script ,
2021-03-01 00:10:31 <Digit> defining a main function." https://yi-editor.github.io/posts/2014-09-02-configuration/ (as yi documentation and blurbs menion elsewhere... text-editor, extensible/configured in haskell.) :)
2021-03-01 00:10:53 <shapr> I think someone implemented dropWhileEd and that's the problem
2021-03-01 00:11:30 <dolio> rednaZ[m]: I'm not sure what about my preceding explanation didn't answer that.
2021-03-01 00:11:33 <edwardk> shapr: a simple filter checking current username for ekmett like the hedgehog folks put in for hibberd?
2021-03-01 00:11:53 dsrt^ joins (dsrt@ip98-184-89-2.mc.at.cox.net)
2021-03-01 00:11:59 <shapr> I'd just look for the kmett substring in the login name
2021-03-01 00:12:00 <rednaZ[m]> dolio: You said that this would lead to the anti-modular case.
2021-03-01 00:12:01 <shapr> but yeah, that
2021-03-01 00:12:45 <edwardk> shapr: oh man, cursing my whole family
2021-03-01 00:13:00 <rednaZ[m]> dolio: And then you seemed to say the anti-modular case can be described as "there's no way to say, "don't handle any exceptions from `g`"".
2021-03-01 00:13:29 <rednaZ[m]> Do you understand what I mean?
2021-03-01 00:14:15 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-03-01 00:14:20 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:715d:5350:d8ba:9302) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-01 00:14:21 <dolio> Well, I don't know what you're asking about. There are various problems with various systems, and there's one way that I think is good, but isn't implemented usually.
2021-03-01 00:14:24 <edwardk> shapr: found it. https://github.com/hedgehogqa/haskell-hedgehog/blob/06eb4747052a6ef109ab65688fc4d29a39a71c4c/hedgehog/src/Hedgehog/Internal/Config.hs#L100
2021-03-01 00:15:25 <dolio> So, like, if saying `{Exn1 | r}` lets you catch Exn1 from `r`, then I don't think that's the good solution.
2021-03-01 00:15:57 <dolio> If it means that `r` is disjoint from `Exn1`, that means implementation details that shouldn't matter leak.
2021-03-01 00:16:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-01 00:16:31 <dolio> Because anything that references `f` has to talk about being disjoint from `Exn1`, even if `f` "owns" Exn1.
2021-03-01 00:18:09 mrioqueiroz joins (~mrioqueir@186.251.19.98)
2021-03-01 00:19:10 nbloomf joins (~nbloomf@2600:1700:ad14:3020:151c:7038:ec74:9b6a)
2021-03-01 00:19:38 jemurray parts (~jemurray@shell.jasonmurray.org) ()
2021-03-01 00:20:21 sm2n joins (~sm2n@bras-base-hmtnon143hw-grc-15-70-54-78-219.dsl.bell.ca)
2021-03-01 00:21:19 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-03-01 00:22:18 <shapr> edwardk: I don't know this story, but I want to
2021-03-01 00:22:40 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-01 00:23:34 <sm[m]> symlinkghc - Symbolically link the ghc tools provided by the global stack resolver into PATH
2021-03-01 00:23:34 <sm[m]> https://gist.github.com/simonmichael/42fa4828490ff71355b8c9029f036e4d
2021-03-01 00:23:42 rajivr joins (uid269651@gateway/web/irccloud.com/x-cjskmdmxlxsbgxmo)
2021-03-01 00:24:47 myShoggoth joins (~myShoggot@75.164.81.55)
2021-03-01 00:27:33 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 245 seconds)
2021-03-01 00:30:05 bergey joins (~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-01 00:30:29 geowiesnot_bis joins (~user@87-89-181-157.abo.bbox.fr)
2021-03-01 00:30:49 × gitgoood quits (~gitgood@80-44-13-166.dynamic.dsl.as9105.com) (Ping timeout: 260 seconds)
2021-03-01 00:34:10 gitgood joins (~gitgood@80-44-13-206.dynamic.dsl.as9105.com)
2021-03-01 00:34:45 todda7 joins (~torstein@athedsl-258913.home.otenet.gr)
2021-03-01 00:35:03 × bergey quits (~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 245 seconds)
2021-03-01 00:35:46 × alx741 quits (~alx741@181.196.68.52) (Quit: alx741)
2021-03-01 00:36:04 × m0rphism1 quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 260 seconds)
2021-03-01 00:37:35 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-01 00:38:09 atmunr joins (~moemoemoe@190.151.160.175)
2021-03-01 00:39:35 × mrioqueiroz quits (~mrioqueir@186.251.19.98) (Ping timeout: 240 seconds)
2021-03-01 00:39:45 bennofs__ joins (~quassel@dslb-094-222-091-028.094.222.pools.vodafone-ip.de)
2021-03-01 00:40:48 × psutcliffe quits (~psutcliff@2a00:801:3f2:4b56:e93e:1663:ff0c:6c42) (Quit: Leaving)
2021-03-01 00:41:01 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-03-01 00:41:13 × atmunr quits (~moemoemoe@190.151.160.175) (Quit: WeeChat 2.9)
2021-03-01 00:41:22 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-03-01 00:43:24 × bennofs_ quits (~quassel@dslb-188-106-243-069.188.106.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
2021-03-01 00:44:36 o1lo01ol_ joins (~o1lo01ol1@89.214.221.60)
2021-03-01 00:44:36 × o1lo01ol1o quits (~o1lo01ol1@89.214.221.60) (Remote host closed the connection)
2021-03-01 00:47:11 moemoemoe joins (~moemoemoe@190.151.160.175)
2021-03-01 00:48:37 moemoemoe parts (~moemoemoe@190.151.160.175) ("WeeChat 2.9")
2021-03-01 00:48:43 × soft-warm quits (44695313@ip68-105-83-19.sd.sd.cox.net) (Ping timeout: 240 seconds)
2021-03-01 00:49:45 × o1lo01ol_ quits (~o1lo01ol1@89.214.221.60) (Ping timeout: 264 seconds)
2021-03-01 00:50:36 zq parts (~zq@xorshift.org) ()
2021-03-01 00:51:04 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:151c:7038:ec74:9b6a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-01 00:51:46 <jamestmartin> why is `(->)` syntactically valid but not `(%1->)`?

All times are in UTC.