Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→
Page 1 .. 920 921 922 923 924 925 926 927 928 929 930 .. 5022
502,152 events total
2020-10-28 19:51:04 × alp quits (~alp@2a01:e0a:58b:4920:d435:c55a:9994:ea6) (Ping timeout: 240 seconds)
2020-10-28 19:51:05 <hyperisco> the only one I can argue had utility was the EXCEPTION effect, which is caused by throw and could be discharged with a catch
2020-10-28 19:51:34 <hyperisco> what is the use of a type… it is found through the ways it is introduced and the ways in which it is eliminated
2020-10-28 19:51:39 <dolio> Yeah. Just tracking whether or not you use getNow in particular is not useful.
2020-10-28 19:51:57 nek0 joins (~nek0@mail.nek0.eu)
2020-10-28 19:52:18 <hyperisco> the effect rows in PS were almost all with introductions and without eliminations, and so that is how I'd argue they had no use
2020-10-28 19:52:39 <dolio> Yeah, but exceptions can be caught.
2020-10-28 19:52:44 × thir quits (~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-28 19:52:46 <hyperisco> they let you look at a definition and say "oh that uses XmlHttpRequest somewhere" and then not do anything about it, seemingly
2020-10-28 19:52:56 <dolio> So they are unlike that kind of useless tracking.
2020-10-28 19:53:15 <hyperisco> yes, _when_ they can be sensibly caught
2020-10-28 19:53:39 <hyperisco> and why would you catch them? because you know what they mean and you can decide something based on that meaning
2020-10-28 19:54:03 <hyperisco> and it seems to be that, many times, that just isn't the case
2020-10-28 19:54:11 conal joins (~conal@64.71.133.70)
2020-10-28 19:55:01 <hyperisco> so a solution should account for the reality that, much of the time, it is an unneeded facility
2020-10-28 19:55:26 <geekosaur> that seems to depend on what you're using it for. service? you probably want to catch a lot of stuff for resource management reasons if nothing else. simple client? probably just let it abort
2020-10-28 19:56:26 crestfallen joins (~john@128.32.176.159)
2020-10-28 19:58:35 × u0_a298 quits (~user@47.206.148.226) (Read error: Connection reset by peer)
2020-10-28 19:59:05 u0_a298 joins (~user@47.206.148.226)
2020-10-28 20:00:04 × ystael quits (~ystael@209.6.50.55) (Ping timeout: 240 seconds)
2020-10-28 20:01:08 Varis joins (~Tadas@unaffiliated/varis)
2020-10-28 20:01:54 × bartemius quits (~bartemius@109-252-20-20.nat.spd-mgts.ru) (Remote host closed the connection)
2020-10-28 20:02:04 <hyperisco> so I said I hated Haskell exceptions just a while ago… why… well lets ignore the conclusion that all exceptions are a SomeException and can be caught that way
2020-10-28 20:02:19 <hyperisco> lets say to catch a thrown exception you had to name the type of that exception exactly
2020-10-28 20:02:46 × dopplerg- quits (~dop@titan.pathogen.is) (Ping timeout: 256 seconds)
2020-10-28 20:02:51 <geekosaur> the ergonomics of that are also something of a problem imo
2020-10-28 20:02:58 × ixlun quits (~matthew@213.205.241.94) (Read error: Connection reset by peer)
2020-10-28 20:03:02 <hyperisco> then there is a documentation problem of knowing how to catch an exception, because you know not which exception type is thrown or where it is thrown
2020-10-28 20:03:29 <hyperisco> and that is something checked exceptions would fix, yes, but so does catching SomeException
2020-10-28 20:03:32 × u0_a298 quits (~user@47.206.148.226) (Ping timeout: 260 seconds)
2020-10-28 20:03:35 dopplergange joins (~dop@titan.pathogen.is)
2020-10-28 20:03:37 nineonine joins (~textual@216.81.48.202)
2020-10-28 20:03:46 <dminuoso> A particularly fancy bit about Haskell and checked exceptions is async exceptions.
2020-10-28 20:04:19 <dminuoso> That alone should thwart an attempt at a complete, type-driven, way of checked exceptions.
2020-10-28 20:04:31 hiroaki joins (~hiroaki@ip4d176049.dynamic.kabel-deutschland.de)
2020-10-28 20:04:32 <dminuoso> I just realized.
2020-10-28 20:04:40 <hyperisco> so then we can either assume all IO throws or we could talk about adding the one bit of information to determine if it throws
2020-10-28 20:05:00 <dminuoso> hyperisco: It throws. at any time, that means catching doesnt ever remove exceptions
2020-10-28 20:05:06 <dminuoso> because after its caught, it could be thrown to you again.
2020-10-28 20:05:21 <hyperisco> sure
2020-10-28 20:06:53 <hyperisco> just sussing out that there are different facets to what we might consider the problem to be, and it would be smart to not immediately conflate them to necessitate a unified solution
2020-10-28 20:08:12 × dopplergange quits (~dop@titan.pathogen.is) (Ping timeout: 260 seconds)
2020-10-28 20:08:58 Deide joins (~Deide@217.155.19.23)
2020-10-28 20:11:27 hackage uuagc 0.9.53.1 - Attribute Grammar System of Universiteit Utrecht https://hackage.haskell.org/package/uuagc-0.9.53.1 (JeroenBransen)
2020-10-28 20:11:34 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-10-28 20:11:48 <dminuoso> I guess the above again recognizes, that async exceptions shouldn't share code with regular exceptions. They should be borderline uncatchable.
2020-10-28 20:12:49 <dolio> Yeah, it doesn't make much sense for async exceptions to be checked.
2020-10-28 20:12:59 onealmond joins (~onealmond@cpc72411-sotn15-2-0-cust577.15-1.cable.virginm.net)
2020-10-28 20:13:07 geekosaur still thinks most non-async exceptions should be ExceptT
2020-10-28 20:13:13 <geekosaur> or similar
2020-10-28 20:13:25 rprije joins (~rprije@194-193-168-77.tpgi.com.au)
2020-10-28 20:14:03 nuxdie_ joins (uid343142@gateway/web/irccloud.com/x-ctcwkmqltziojobr)
2020-10-28 20:14:06 <geekosaur> except there's a bootstrapping problem between base and mtl if we do that
2020-10-28 20:14:27 <hyperisco> indeed that was the term implementation of the checked exceptions I did use
2020-10-28 20:14:47 × nuxdie_ quits (uid343142@gateway/web/irccloud.com/x-ctcwkmqltziojobr) (Client Quit)
2020-10-28 20:14:52 <hyperisco> is as simple as ExceptT and the error type is a variant type, using whatever fancy type features for polymorphic unions
2020-10-28 20:16:08 ystael joins (~ystael@209.6.50.55)
2020-10-28 20:16:27 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds)
2020-10-28 20:17:10 <hyperisco> and as complicated as not all monads work as transformers
2020-10-28 20:17:20 nuxdie joins (uid343142@gateway/web/irccloud.com/x-eubxksbuxauhuttg)
2020-10-28 20:18:19 nyaomi joins (~naomi@2604:6000:1509:c86e:c878:29ff:fedf:ce89)
2020-10-28 20:19:35 <hyperisco> well what do I mean… I mean that stacking ExceptT on another monad does not necessarily give you the semantics you want, which was the case with PureScript's Aff
2020-10-28 20:19:55 × Reiser quits (~0a2a0001@static.210.242.216.95.clients.your-server.de) (Changing host)
2020-10-28 20:19:55 Reiser joins (~0a2a0001@unaffiliated/reisen)
2020-10-28 20:21:28 <hyperisco> why? because if you have an M a you can lift it to ExceptT e M a , but if you take an ExceptT e M a you cannot necessarily lower it to M a
2020-10-28 20:21:55 <hyperisco> and you would need to do that if definitions on M a themselves took an M a
2020-10-28 20:22:09 <hyperisco> such as… bracketing
2020-10-28 20:22:10 thir joins (~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de)
2020-10-28 20:24:37 dopplergange joins (~dop@titan.pathogen.is)
2020-10-28 20:25:19 blissful joins (~azuline@unaffiliated/azuline)
2020-10-28 20:25:57 × dopplergange quits (~dop@titan.pathogen.is) (Read error: Connection reset by peer)
2020-10-28 20:26:10 dopplergange joins (~dop@titan.pathogen.is)
2020-10-28 20:29:32 acidjnk_new2 joins (~acidjnk@p200300d0c7226033a9f8e60d1c4e3d2a.dip0.t-ipconnect.de)
2020-10-28 20:29:43 × notnatebtw quits (~nate@125.161.130.165) (Quit: WeeChat 2.9)
2020-10-28 20:29:47 × thir quits (~thir@p200300f27f0b7e004c18ab60065ea01b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-28 20:30:25 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-10-28 20:30:36 × ahmr88 quits (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection)
2020-10-28 20:30:44 × acidjnk_new quits (~acidjnk@p200300d0c7237897ad6a1cb47299ad15.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-28 20:31:07 <hyperisco> how can I touch a file with Haskell IO? I am on Windows
2020-10-28 20:31:18 <hyperisco> I have tried appendFile path "" and this seems to leave the file untouched
2020-10-28 20:32:02 × _vaibhavingale_ quits (~Adium@203.188.228.9) (Quit: Leaving.)
2020-10-28 20:32:06 × rinwa quits (~rinwa@5.102.238.236) (Quit: WeeChat 1.9.1)
2020-10-28 20:32:43 <hyperisco> I also tried opening the file in append mode, writing the empty string, and closing the handle, and also that left the file untouched
2020-10-28 20:33:16 jakob_ joins (~textual@p200300f49f1622000181680b896afdc3.dip0.t-ipconnect.de)
2020-10-28 20:33:31 <geekosaur> afaik you need to use system-specific stuff,e.g. there's a touchFile in the unix package and I don't know off the top of my head what the win32 equivalent is
2020-10-28 20:34:00 <hyperisco> what if, like a madman, I rename the file
2020-10-28 20:35:44 × knupfer quits (~Thunderbi@200116b82c889000d491c85aad532716.dip.versatel-1u1.de) (Quit: knupfer)
2020-10-28 20:35:45 knupfer1 joins (~Thunderbi@200116b82c88900028a87937fa2fda7d.dip.versatel-1u1.de)
2020-10-28 20:36:03 <geekosaur> no idea, sorry
2020-10-28 20:36:10 wretchswollen joins (~jvw@135-180-15-188.fiber.dynamic.sonic.net)
2020-10-28 20:36:24 × thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds)
2020-10-28 20:37:19 aarvar joins (~foewfoiew@50.35.43.33)
2020-10-28 20:37:20 × GyroW quits (~GyroW@unaffiliated/gyrow) (Remote host closed the connection)
2020-10-28 20:37:39 GyroW joins (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-28 20:37:39 × GyroW quits (~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-28 20:37:39 GyroW joins (~GyroW@unaffiliated/gyrow)
2020-10-28 20:38:10 × knupfer1 quits (~Thunderbi@200116b82c88900028a87937fa2fda7d.dip.versatel-1u1.de) (Client Quit)
2020-10-28 20:38:12 knupfer joins (~Thunderbi@200116b82c88900065f627a2dcebe201.dip.versatel-1u1.de)
2020-10-28 20:38:45 × mananamenos quits (~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 240 seconds)
2020-10-28 20:39:04 × p8m quits (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 258 seconds)

All times are in UTC.