Newest at the top
2024-09-28 13:21:39 +0200 | vincent42 | (uid574193@id-574193.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2024-09-28 13:21:20 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-09-28 13:15:36 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds) |
2024-09-28 13:12:53 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds) |
2024-09-28 13:11:56 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 252 seconds) |
2024-09-28 13:10:28 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-09-28 13:09:12 +0200 | gioyik | (~gioyik@gateway/tor-sasl/gioyik) gioyik |
2024-09-28 13:07:22 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-09-28 13:02:35 +0200 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2024-09-28 13:02:24 +0200 | <Rembane> | Exactly! |
2024-09-28 13:02:20 +0200 | caconym | (~caconym@user/caconym) caconym |
2024-09-28 13:00:43 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) merijn |
2024-09-28 13:00:36 +0200 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 246 seconds) |
2024-09-28 13:00:33 +0200 | <tomsmeding> | no `do` to turn a block into an expression :p |
2024-09-28 13:00:08 +0200 | <Rembane> | tomsmeding: That sounds like Python. :D |
2024-09-28 13:00:04 +0200 | caconym | (~caconym@user/caconym) (Quit: bye) |
2024-09-28 12:58:48 +0200 | merijn | (~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
2024-09-28 12:58:32 +0200 | <tomsmeding> | still the syntactic nuisance that the right-hand sides must be expressions, instead of a block |
2024-09-28 12:57:51 +0200 | <Rembane> | things = arguments |
2024-09-28 12:57:47 +0200 | <Rembane> | And you can order things in any order |
2024-09-28 12:57:43 +0200 | <dminuoso> | I do write types, but I have no faith in python type checkers, they just serve documentation purposes for me. |
2024-09-28 12:57:36 +0200 | <tomsmeding> | oh that would improve on the readability of my dumb suggestion |
2024-09-28 12:57:22 +0200 | <Rembane> | dminuoso: I don't know, I don't write typed Python. :) |
2024-09-28 12:57:05 +0200 | <dminuoso> | I hope? |
2024-09-28 12:57:03 +0200 | <dminuoso> | Rembane: The type checker should take care of that. |
2024-09-28 12:56:31 +0200 | <dminuoso> | Yes. |
2024-09-28 12:56:26 +0200 | <tomsmeding> | compiler meaning your thing, not GHC |
2024-09-28 12:56:24 +0200 | <Rembane> | What happens if you use keyword arguments and write a check in the function to see that all members of the dictionary are supplied? |
2024-09-28 12:56:21 +0200 | <tomsmeding> | oh |
2024-09-28 12:56:16 +0200 | <tomsmeding> | s/not/just/? |
2024-09-28 12:55:47 +0200 | <dminuoso> | Nearly 4 years and not a single production outage (caused by a compiler bug). :) |
2024-09-28 12:55:05 +0200 | <dminuoso> | That said, Haskell stays in place for our core networking fabric SDN Compiler. |
2024-09-28 12:54:23 +0200 | <tomsmeding> | indeed |
2024-09-28 12:54:21 +0200 | libertyprime | (~libertypr@118-92-68-68.dsl.dyn.ihug.co.nz) (Remote host closed the connection) |
2024-09-28 12:54:18 +0200 | <dminuoso> | If only GHC had a crystal ball |
2024-09-28 12:54:14 +0200 | <dminuoso> | Mixing up two T arguments will be silently accepted. |
2024-09-28 12:54:10 +0200 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds) |
2024-09-28 12:54:04 +0200 | <dminuoso> | To be fair Haskell has the same problem with functions too. |
2024-09-28 12:53:51 +0200 | <tomsmeding> | but yeah, not sure how serious this suggestion is :p |
2024-09-28 12:53:46 +0200 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2024-09-28 12:53:46 +0200 | <tomsmeding> | if you're fortunate and the union cases have differently-typed fields |
2024-09-28 12:53:36 +0200 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 252 seconds) |
2024-09-28 12:53:29 +0200 | <dminuoso> | Well, changing the order could be caught by a type checker |
2024-09-28 12:53:10 +0200 | <dminuoso> | I mean for `maybe` it kind of works, but for custom unions it would be.. horrid. |
2024-09-28 12:53:09 +0200 | <tomsmeding> | disadvantage 2: if you remove _and_ add a case, or change the order, woe you |
2024-09-28 12:52:54 +0200 | <tomsmeding> | disadvantage: unreadable |
2024-09-28 12:52:51 +0200 | <dminuoso> | Oh, I see. |
2024-09-28 12:52:50 +0200 | <tomsmeding> | advantage: exhaustiveness checking is now performed by "supplying the right number of arguments to the function" |
2024-09-28 12:52:22 +0200 | <tomsmeding> | I mean instead of writing `case m of Nothing -> _ ; Just x -> _`, write `maybe m _ _` |
2024-09-28 12:52:01 +0200 | vanishingideal | (~vanishing@user/vanishingideal) (Ping timeout: 248 seconds) |