Logs: freenode/#haskell
| 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.