Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
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.