Logs: freenode/#haskell
| 2021-04-18 19:59:41 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 2021-04-18 20:00:08 | → | Zunaka_ joins (~IceChat9@176.24.159.82) |
| 2021-04-18 20:00:52 | × | ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds) |
| 2021-04-18 20:02:13 | × | ddellaco_ quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds) |
| 2021-04-18 20:02:49 | × | Zunaka quits (~IceChat9@176.24.159.82) (Ping timeout: 265 seconds) |
| 2021-04-18 20:03:09 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-04-18 20:04:46 | → | nicholasbulka joins (~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) |
| 2021-04-18 20:04:58 | × | petersen quits (~petersen@redhat/juhp) (Ping timeout: 240 seconds) |
| 2021-04-18 20:08:28 | → | petersen joins (~petersen@redhat/juhp) |
| 2021-04-18 20:10:15 | → | usr25 joins (~usr25@unaffiliated/usr25) |
| 2021-04-18 20:11:26 | × | fiedlr quits (~fiedlr@83.148.33.254) (Remote host closed the connection) |
| 2021-04-18 20:12:03 | → | fiedlr joins (~fiedlr@83.148.33.254) |
| 2021-04-18 20:12:46 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 2021-04-18 20:13:48 | <safinaskar> | Haskell got me angry because of its syntax. So now I am considering to |
| 2021-04-18 20:13:49 | <safinaskar> | switch to imperative languages (such as Ocaml or Rust) and never write |
| 2021-04-18 20:13:49 | <safinaskar> | Haskell anymore. Please try to convince me to continue to use Haskell |
| 2021-04-18 20:13:58 | <safinaskar> | here are details: http://paste.debian.net/1194206/ |
| 2021-04-18 20:14:15 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 2021-04-18 20:16:11 | × | fiedlr quits (~fiedlr@83.148.33.254) (Ping timeout: 240 seconds) |
| 2021-04-18 20:17:48 | × | z88 quits (~z88@221.85-84-199.dynamic.clientes.euskaltel.es) (Ping timeout: 265 seconds) |
| 2021-04-18 20:18:47 | <infinisil> | safinaskar: Use whichever language you like, nobody forces you to use Haskell, and Haskell indeed isn't the optimal choice for all tasks (no language is) |
| 2021-04-18 20:18:52 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-04-18 20:19:14 | → | pavonia joins (~user@unaffiliated/siracusa) |
| 2021-04-18 20:20:20 | <d34df00d> | safinaskar: I might also suggest avoiding types and switching to python. |
| 2021-04-18 20:20:32 | <d34df00d> | Or js for that matter. |
| 2021-04-18 20:22:28 | <d34df00d> | koz_: in the meanwhile, I've reimplemented that repa/massiv stuff in C++ and it's also ridiculously slow, so I guess expecting ghc/llvm to optimize better than clang/llvm is unreasonable. I'll just use my inline-asm thing! |
| 2021-04-18 20:23:40 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
| 2021-04-18 20:25:22 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-04-18 20:25:47 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 2021-04-18 20:27:06 | <sm[m]> | safinaskar: you can write more concise/elegant haskell too. I don't have specific suggestions for your paste, except you use a lot of verbose qualified imports |
| 2021-04-18 20:28:28 | → | barakkl1993 joins (~barakkley@2.55.14.78) |
| 2021-04-18 20:29:57 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds) |
| 2021-04-18 20:30:20 | → | ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 2021-04-18 20:31:42 | → | horatiohb joins (~horatiohb@45.55.40.152) |
| 2021-04-18 20:31:56 | × | Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.8) |
| 2021-04-18 20:34:14 | × | coot quits (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
| 2021-04-18 20:34:38 | × | ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds) |
| 2021-04-18 20:36:11 | × | wonko7 quits (~wonko7@62.115.229.50) (Ping timeout: 240 seconds) |
| 2021-04-18 20:36:39 | × | barakkl1993 quits (~barakkley@2.55.14.78) (Quit: Leaving) |
| 2021-04-18 20:36:55 | → | barakkl1993 joins (~barakkley@2.55.46.17) |
| 2021-04-18 20:37:39 | → | kenanmarasli joins (1fdf0934@31.223.9.52) |
| 2021-04-18 20:38:33 | <cjay> | safinaskar: Your choices of where to break lines and indent are very unusual, and they seem to be enabled by using {} for blocks. If you would use layout instead of {}, you would be forced into a cleaner structure I think. |
| 2021-04-18 20:39:32 | → | hexfive joins (~hexfive@50.35.83.177) |
| 2021-04-18 20:39:49 | → | acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
| 2021-04-18 20:40:04 | → | seven_three joins (~user@pool-96-233-64-53.bstnma.fios.verizon.net) |
| 2021-04-18 20:40:59 | <cjay> | hmm.. I think some of the line breaks are a copy/paste artefact, breaking in the middle of a type signature can't work |
| 2021-04-18 20:41:18 | <koz_> | d34df00d: Inline-asm for the win. |
| 2021-04-18 20:41:35 | <davean> | safinaskar: Thats some of the craziest Haskell I've seen. Also the thing about imperitive at the end isn't the entire story - even if you write it imperitive you can gain with Haskell because its only local and you can ignore it remotely. |
| 2021-04-18 20:42:00 | <davean> | cjay: I break in the middle of type signatures all the time |
| 2021-04-18 20:42:15 | <cjay> | oh right. I should go to sleep, I'm talking bs ^^ |
| 2021-04-18 20:42:26 | <monochrom> | Your "[0 .. n] <&> \i -> ...", we normally write list comprehension instead. |
| 2021-04-18 20:43:41 | × | usr25 quits (~usr25@unaffiliated/usr25) (Quit: Leaving) |
| 2021-04-18 20:43:42 | <monochrom> | "and [ f i j | i <- [0..n], j <- [0..i] ]" for example. |
| 2021-04-18 20:43:56 | <monochrom> | Overall you are not writing idiomatic Haskell. |
| 2021-04-18 20:44:00 | <davean> | is this style from somewhere? I can't imagine how you'd get here from reading how to program Haskell |
| 2021-04-18 20:44:09 | <davean> | I've never seen an example like this EVER. |
| 2021-04-18 20:44:56 | <davean> | It would take me skill to bend Haskell into something this abnormal without seeing an example, so I'm confused as to the genesis of this. |
| 2021-04-18 20:45:07 | <davean> | Makes me feel he saw a really weird tutorial or something |
| 2021-04-18 20:45:25 | <dmj`> | you need to study the instances, then its less weird |
| 2021-04-18 20:45:35 | <dmj`> | @google typeclassopedia |
| 2021-04-18 20:45:37 | <lambdabot> | No Result Found. |
| 2021-04-18 20:45:48 | <d34df00d> | Is there haskell code obfuscation contest? |
| 2021-04-18 20:45:53 | <d34df00d> | Lenses would still be clear winner, but still. |
| 2021-04-18 20:46:06 | <safinaskar> | hi. sorry, i was afk for some time. now reading your messages |
| 2021-04-18 20:46:26 | <cjay> | hm, what doesn't work is breaking in the middle of somethin enclosed in () within a type signature, apparently. til |
| 2021-04-18 20:46:37 | <davean> | d34df00d: Why do you think lenses obfuscate? |
| 2021-04-18 20:46:41 | <monochrom> | d34df00d: shapr wants to hold one for #haskell 20th anniversary. |
| 2021-04-18 20:46:51 | <d34df00d> | davean: @##~. |
| 2021-04-18 20:46:59 | → | fiedlr joins (~fiedlr@83.148.33.254) |
| 2021-04-18 20:47:04 | <davean> | d34df00d: so? Hows that different than any Haskell function? |
| 2021-04-18 20:47:23 | <davean> | I actually find that easy because the pieces mean something |
| 2021-04-18 20:47:26 | <monochrom> | Hell, how does that differ from C's ?: operator >:) |
| 2021-04-18 20:47:28 | <davean> | so its easier than most haskell functions |
| 2021-04-18 20:47:34 | <d34df00d> | Oh, that's an operator? |
| 2021-04-18 20:47:49 | <d34df00d> | I pressed some arbitrary buttons in my top row while holding shift. |
| 2021-04-18 20:47:50 | <davean> | Yes? of course, its not char |
| 2021-04-18 20:48:00 | <davean> | The '@' part is a problem |
| 2021-04-18 20:48:29 | <monochrom> | K&R pressed two arbitrary keys near the return key while hold shift, too. >:) |
| 2021-04-18 20:48:32 | <davean> | d34df00d: this seems a non-sensicle argument based on first appearances instead of understanding\ |
| 2021-04-18 20:48:49 | <davean> | d34df00d: but nothing makes sense when you don't understand it |
| 2021-04-18 20:48:58 | <d34df00d> | davean: I know there is a certain system in naming lenses operators, but, unless one uses it often enough, I think it's impossible to memorise. |
| 2021-04-18 20:49:18 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 2021-04-18 20:49:19 | <davean> | d34df00d: but that doesn't matter - theres NO system to most Haskell function namings |
| 2021-04-18 20:49:25 | <monochrom> | That's my sentiment about Japanese, too. |
| 2021-04-18 20:49:27 | <davean> | d34df00d: Every name is, be default, opaque |
| 2021-04-18 20:49:32 | <d34df00d> | I mean, once you need "$subj cheatsheet" (and there's plenty for lenses), you can't tell it's easy. |
| 2021-04-18 20:49:54 | <davean> | d34df00d: I mean, so Haskell isn't easy? |
| 2021-04-18 20:49:54 | <d34df00d> | monochrom: and Japanese is perhaps not that simple for somebody who doesn't use it often enough. |
| 2021-04-18 20:50:04 | <davean> | because people need a cheatsheet for prelude functions when they start too |
| 2021-04-18 20:50:16 | × | seven_three quits (~user@pool-96-233-64-53.bstnma.fios.verizon.net) (Remote host closed the connection) |
| 2021-04-18 20:50:20 | <d34df00d> | davean: other parts of the ecosystem have less of 5-symbol operators. |
| 2021-04-18 20:50:40 | <davean> | d34df00d: so? Whats special about symbol operators vs. any function name of another sort? |
| 2021-04-18 20:50:48 | <davean> | d34df00d: you seem to be making a disctinction without a difference |
| 2021-04-18 20:50:49 | <d34df00d> | Oh, if for some reason I forget the name of the function of the type (a, b) -> (b, a), then I can hoogle it. Hoogling lenses is not fun. |
| 2021-04-18 20:50:54 | → | seven_three joins (~user@pool-96-233-64-53.bstnma.fios.verizon.net) |
| 2021-04-18 20:50:57 | <davean> | I could name that with chars and it wouldn't change anything |
| 2021-04-18 20:51:23 | <davean> | which symbol set I use to name a function jsut specifies its fixity |
| 2021-04-18 20:51:25 | <d34df00d> | Maybe using proper names for less-often used functions that are easier to internalize is a bit better? |
| 2021-04-18 20:51:39 | <davean> | define "proper" |
| 2021-04-18 20:51:44 | <safinaskar> | cjay: "If you would use layout instead of {}, you would be forced into a cleaner structure I think." - i came to haskell from c++, so {} are natural for me. My main problem here is not indentation, but this if/case/let cascade instead of normal imperative code. in imperative code i can simply do early return |
All times are in UTC.