Logs: liberachat/#haskell
| 2021-07-13 19:30:30 | × | unclechu quits (~unclechu@2001:470:69fc:105::354) (Read error: Connection reset by peer) |
| 2021-07-13 19:30:30 | × | ServerStatsDisco quits (~serversta@2001:470:69fc:105::1a) (Read error: Connection reset by peer) |
| 2021-07-13 19:30:30 | × | justosophy[m] quits (~justosoph@2001:470:69fc:105::572f) (Read error: Connection reset by peer) |
| 2021-07-13 19:30:31 | × | bryan[m] quits (~bchreekat@2001:470:69fc:105::16b5) (Read error: Connection reset by peer) |
| 2021-07-13 19:30:31 | × | boxscape quits (~boxscape@user/boxscape) (Write error: Connection reset by peer) |
| 2021-07-13 19:30:31 | × | wallymathieu[m] quits (~wallymath@2001:470:69fc:105::16ae) (Read error: Connection reset by peer) |
| 2021-07-13 19:30:31 | × | dminuoso[m] quits (~dminuosom@2001:470:69fc:105::33bb) (Read error: Connection reset by peer) |
| 2021-07-13 19:30:31 | × | octeep[m]1 quits (~octeepmoc@2001:470:69fc:105::695e) (Write error: Connection reset by peer) |
| 2021-07-13 19:30:31 | × | Artem[m] quits (~artemtype@2001:470:69fc:105::75b) (Write error: Connection reset by peer) |
| 2021-07-13 19:30:33 | <Profpatsch> | I *think* there are some useful lints, but you have to disable a whole lot of “redundant bracket” bullshit before you get anything resembling sanity |
| 2021-07-13 19:30:58 | <Profpatsch> | It’s kinda useful if you want to forbid functions from being used in favor of wrappers |
| 2021-07-13 19:31:47 | → | chris-the-slurpa joins (~chris@81.96.113.213) |
| 2021-07-13 19:31:57 | × | xff0x quits (~xff0x@2001:1a81:5314:1800:204a:df94:d24b:de67) (Ping timeout: 255 seconds) |
| 2021-07-13 19:32:04 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
| 2021-07-13 19:32:40 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 258 seconds) |
| 2021-07-13 19:33:08 | × | o1lo01ol1o quits (~o1lo01ol1@bl7-89-228.dsl.telepac.pt) (Remote host closed the connection) |
| 2021-07-13 19:33:21 | → | pavonia joins (~user@user/siracusa) |
| 2021-07-13 19:33:37 | → | xff0x joins (~xff0x@185.65.135.235) |
| 2021-07-13 19:34:40 | <monochrom> | I am sympathetic to forking hlint to delete the bad 90%. |
| 2021-07-13 19:35:54 | <Hecate> | relude's hlint configuration file is indeed a very good example of how you can instrumentalise hlint to enforce conventions/wrappers |
| 2021-07-13 19:35:57 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds) |
| 2021-07-13 19:39:03 | → | warnz joins (~warnz@2600:1700:77c0:5610:9856:f279:a598:9845) |
| 2021-07-13 19:39:17 | <Profpatsch> | monochrom: same |
| 2021-07-13 19:43:07 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-13 19:43:22 | × | warnz quits (~warnz@2600:1700:77c0:5610:9856:f279:a598:9845) (Ping timeout: 246 seconds) |
| 2021-07-13 19:43:24 | → | alx741 joins (~alx741@186.178.109.32) |
| 2021-07-13 19:45:10 | <maerwald> | Hecate: I feel that's excessive |
| 2021-07-13 19:45:35 | → | warnz joins (~warnz@2600:1700:77c0:5610:9856:f279:a598:9845) |
| 2021-07-13 19:45:38 | <maerwald> | it feels like golfing |
| 2021-07-13 19:45:48 | → | Hanicef joins (~hanicef@90-229-213-50-no68.tbcn.telia.com) |
| 2021-07-13 19:47:20 | <maerwald> | or maybe it's because I like it when people break the rules... |
| 2021-07-13 19:47:39 | <maerwald> | so yeah, I have an hlint config too and I encourage people to ignore it |
| 2021-07-13 19:48:18 | → | Pickchea joins (~private@user/pickchea) |
| 2021-07-13 19:49:15 | <maerwald> | let me write things that are less concise... why is it so bad? |
| 2021-07-13 19:49:37 | <Profpatsch> | I can understand for functions that are known bad |
| 2021-07-13 19:49:42 | × | xff0x quits (~xff0x@185.65.135.235) (Ping timeout: 245 seconds) |
| 2021-07-13 19:49:42 | <Profpatsch> | e.g. a warning for foldl |
| 2021-07-13 19:49:46 | <maerwald> | true |
| 2021-07-13 19:49:55 | <Profpatsch> | or for stuff that is bad complexity |
| 2021-07-13 19:50:24 | × | warnz quits (~warnz@2600:1700:77c0:5610:9856:f279:a598:9845) (Ping timeout: 268 seconds) |
| 2021-07-13 19:50:27 | <Profpatsch> | you could make an argument for throwing a warning if somebody tries to concat []s |
| 2021-07-13 19:50:45 | <Profpatsch> | “this is O(n) in every concatenation to you want to continue y/n” |
| 2021-07-13 19:50:49 | <maerwald> | but most of the interesting stuff needs a more powerful linter, which hlint is not... I think stan can deliver more. Like writing actual context aware rules? |
| 2021-07-13 19:51:04 | <monochrom> | My personal coding goal is always simplicity and considering the audience. Concision is just a sometimes side effect. |
| 2021-07-13 19:51:05 | <Profpatsch> | but yeah, hlint doesn’t go very fatr |
| 2021-07-13 19:51:17 | <Profpatsch> | monochrom: amen brother |
| 2021-07-13 19:51:21 | <Profpatsch> | *break starts* |
| 2021-07-13 19:51:37 | <maerwald> | I mean, I've written custom Java rules with SonarQube 8 years ago or so. It's actually amazing. |
| 2021-07-13 19:51:46 | × | chomwitt quits (~Pitsikoko@2a02:587:dc04:e00:12c3:7bff:fe6d:d374) (Quit: Leaving) |
| 2021-07-13 19:51:49 | → | xff0x joins (~xff0x@2001:1a81:5314:1800:204a:df94:d24b:de67) |
| 2021-07-13 19:52:01 | <maerwald> | If I compare that with what we have in haskell, it's laughable. |
| 2021-07-13 19:52:04 | <monochrom> | For a beginner I am very happy to even write "map (\x -> Just x) [1,2,3]" if they like it better. |
| 2021-07-13 19:52:12 | × | norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 245 seconds) |
| 2021-07-13 19:52:39 | <Profpatsch> | I feel like hlint is partially a teaching tool? But not super useful in production by default |
| 2021-07-13 19:52:44 | <monochrom> | Fun fact: In SML you have to write "\x -> SOME x" for that example, you have no choice. |
| 2021-07-13 19:53:02 | <maerwald> | Profpatsch: except many companies have it in their CI |
| 2021-07-13 19:53:05 | <Profpatsch> | where you usually don’t want to Eta reduce for readability’s sake |
| 2021-07-13 19:53:38 | <monochrom> | err of course it's also "fun x => SOME x" in SML. |
| 2021-07-13 19:54:23 | <maerwald> | Profpatsch: https://git.io/JCmfu |
| 2021-07-13 19:55:42 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 2021-07-13 19:55:57 | <Profpatsch> | maerwald: uh, they don’t even disable many things |
| 2021-07-13 19:56:15 | <Profpatsch> | at least redundant bracket and do |
| 2021-07-13 19:56:17 | <Profpatsch> | but not even $ |
| 2021-07-13 19:56:19 | <maerwald> | Profpatsch: stuff is sometimes disabled in the source code |
| 2021-07-13 19:56:30 | <Profpatsch> | would never enforce in CI |
| 2021-07-13 19:56:37 | <Profpatsch> | this is like these things that check the formatter on CI |
| 2021-07-13 19:56:40 | <Profpatsch> | even worse |
| 2021-07-13 19:56:45 | → | _73 joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net) |
| 2021-07-13 19:56:45 | <davean> | Yah I think hlint's rules are insane personally. |
| 2021-07-13 19:56:50 | <Profpatsch> | Just make everybody set it up in their editor |
| 2021-07-13 19:57:00 | <davean> | I think hlint clean code is actively harmful |
| 2021-07-13 19:57:06 | <Profpatsch> | hls has ormolu integration by default |
| 2021-07-13 19:57:08 | <Profpatsch> | just use that |
| 2021-07-13 19:57:15 | → | Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 2021-07-13 19:57:43 | <monochrom> | And now for the counterpart in llvm and clang: By default, they warn you when you use recursion. |
| 2021-07-13 19:57:48 | <davean> | Uh, ormolu? |
| 2021-07-13 19:58:01 | <maerwald> | monochrom: xD |
| 2021-07-13 19:58:02 | <Profpatsch> | https://github.com/tweag/ormolu |
| 2021-07-13 19:58:11 | <Profpatsch> | Mark has really thought about this |
| 2021-07-13 19:58:14 | <Profpatsch> | there is nothing to add |
| 2021-07-13 19:58:21 | <monochrom> | or perhaps I mean just llvm's C++ style checker. |
| 2021-07-13 19:58:27 | <Profpatsch> | if you don’t like it, don’t complain, just use it and be happy you never have to indent shit againt |
| 2021-07-13 19:58:30 | <Profpatsch> | -t |
| 2021-07-13 19:58:31 | <davean> | Profpatsch: I'm familiar with it and dislike it |
| 2021-07-13 19:58:33 | → | ph88 joins (~ph88@2a02:8109:9e00:7e5c:146a:5c4b:109:2ce4) |
| 2021-07-13 19:58:40 | <davean> | Profpatsch: I'm not google, and theres a reason I'm not google |
| 2021-07-13 19:58:52 | <Profpatsch> | davean: see, you’re a special flower |
| 2021-07-13 19:58:56 | <monochrom> | I prefer fourmolu. |
| 2021-07-13 19:58:58 | <davean> | Profpatsch: no I don't think I am |
| 2021-07-13 19:59:04 | <davean> | Profpatsch: layout leads reading |
| 2021-07-13 19:59:11 | <desophos> | is it wrong that i prefer brittany |
| 2021-07-13 19:59:12 | → | lavaman joins (~lavaman@98.38.249.169) |
| 2021-07-13 19:59:13 | <Profpatsch> | your syntax is so important you want people to spend time on it |
| 2021-07-13 19:59:27 | <maerwald> | I'm questioning that formatters add any value. I used to think so too, but I think it's just all OCD or the belief that consistency matters |
| 2021-07-13 19:59:31 | <davean> | Profpatsch: No I want to speed understanding of the code |
| 2021-07-13 19:59:45 | <davean> | layout shows relation |
| 2021-07-13 19:59:46 | <Profpatsch> | davean: yes, and consistently indented code is the easiest to read |
| 2021-07-13 19:59:50 | × | ukari quits (~ukari@user/ukari) (Ping timeout: 256 seconds) |
| 2021-07-13 19:59:55 | <maerwald> | I question that |
| 2021-07-13 19:59:56 | <davean> | Profpatsch: No, semanticly indented code is easier |
All times are in UTC.