Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2021-04-06 13:50:09 × drbean_ quits (~drbean@TC210-63-209-216.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-04-06 13:50:10 <merijn> emmanuel_erc: Usually what happens is: Some small team of people write something cool in Haskell that blows other solutions out the water. It takes of. Managers and corporate come in, look at Haskell and go "oh...shit what do we do with this...", hire 100 code monkeys to reimplement the entire thing in Java/C++ and repeat
2021-04-06 13:50:25 <merijn> See: BlueSpec
2021-04-06 13:51:47 <merijn> Managers/companies don't wanna deal with needing to find people with the right skills, training, etc. they mostly want easily replaced, predictable machine cogs :p
2021-04-06 13:51:55 <lortabac> in the company where I work, 2 out of the 3 projects I've worked on have been rewritten
2021-04-06 13:52:04 stree joins (~stree@68.36.8.116)
2021-04-06 13:52:05 <lortabac> the first one was more or less as merijn described
2021-04-06 13:52:33 <lortabac> the second one was more about an ambitious manager blaming Haskell instead of management problems
2021-04-06 13:53:15 <merijn> emmanuel_erc: Orson Scott Card's essay on software companies is always relevant: http://www.call-with-current-continuation.org/rants/how-companies-die.txt
2021-04-06 13:53:16 <lortabac> then blaming the C# devs who quit the project before finishing the rewrite (because they ran into the same problems as the Haskell team)
2021-04-06 13:54:44 bahamas joins (~lucian@unaffiliated/bahamas)
2021-04-06 13:55:16 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-04-06 13:55:39 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 3.0.1)
2021-04-06 13:56:16 <maerwald> lortabac: yes, they tried to hire haskellers with Go experience, I remember.
2021-04-06 13:56:19 × ukari quits (~ukari@unaffiliated/ukari) (Ping timeout: 265 seconds)
2021-04-06 13:56:52 <merijn> lortabac: To be fair, the project couldn't have been a more perfect worst-case for GHC's GC if they'd tried :p
2021-04-06 13:56:57 <merijn> s/the/that
2021-04-06 13:57:23 LKoen joins (~LKoen@65.250.88.92.rev.sfr.net)
2021-04-06 13:58:16 <maerwald> emmanuel_erc: Typescript is awesome. I know haskellers who switched to TypeScript jobs
2021-04-06 13:59:47 × bahamas quits (~lucian@unaffiliated/bahamas) (Ping timeout: 260 seconds)
2021-04-06 14:01:07 <shapr> int-e: much more activity here https://github.com/grin-compiler/
2021-04-06 14:01:34 <zzz> msg lambdabot :t 3
2021-04-06 14:01:43 <zzz> ignore that please
2021-04-06 14:01:54 <merijn> zzz: You can't make me!
2021-04-06 14:01:55 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-06 14:02:41 × notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 268 seconds)
2021-04-06 14:03:29 <fendor> maerwald, while I agree, typescript is really cool, I don't like the ecosystem that comes with it, usually
2021-04-06 14:04:49 <lortabac> typescript is cool, but rewrites are almost always a bad idea
2021-04-06 14:04:59 Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-04-06 14:05:58 <merijn> I disagree
2021-04-06 14:06:04 <merijn> Lots of times they're a great idea
2021-04-06 14:06:05 <emmanuel_erc> Regardless, I'm leaving the current job partially because I think the rewrite is a dumb idea and I don't want to work on a codebase that is going to be thrown out eventually.
2021-04-06 14:06:27 <emmanuel_erc> They didn't really have an interest in listening to what I had to say about the whole venture.
2021-04-06 14:06:31 × `slikts quits (~nelabs@wikipedia/reinis) (Ping timeout: 246 seconds)
2021-04-06 14:06:32 <emmanuel_erc> So I've decided to leave.
2021-04-06 14:06:42 Tops21 joins (~Tobias@dyndsl-095-033-088-082.ewe-ip-backbone.de)
2021-04-06 14:07:14 <maerwald> merijn: the problem is that most ppl think rewrite should include changing langague
2021-04-06 14:07:20 <maerwald> while that's often one of the lesser problems
2021-04-06 14:08:06 <maerwald> most of the time the continuous growing of the codebase is what kills the bird
2021-04-06 14:08:33 <maerwald> assumptions that were true in the beginning aren't anymore, but are still intrinic part of the architecture
2021-04-06 14:08:38 <merijn> maerwald: More people should listen to Brooks. Build one to throw away
2021-04-06 14:08:43 <maerwald> everything after that is going to be sh*te
2021-04-06 14:09:42 <zzz> if i have 'x = 1 :: Num a => a ; y = x :: Int' are x and y the same or is y a copy of x?
2021-04-06 14:09:50 <lortabac> merijn: rewrites in the real world are different, they are often made by different people, who end up reinventing the same wheels and making the same mistakes
2021-04-06 14:10:02 <merijn> zzz: Yes, no, maybe, you shouldn't care :)
2021-04-06 14:10:08 <maerwald> so we have ppl switch languages, frameworks and whatnot... but they rarely switch their *approach* to software engineering
2021-04-06 14:10:24 <merijn> lortabac: I'm not responsible for people doing sensible things in a stupid way, thereby ruining the sensibility
2021-04-06 14:10:25 <lortabac> "Build one to throw away" is a very good idea if you gain knowledge from the first try
2021-04-06 14:10:31 × Tops2 quits (~Tobias@dyndsl-095-033-088-082.ewe-ip-backbone.de) (Ping timeout: 260 seconds)
2021-04-06 14:10:47 <merijn> maerwald: Wait...I have to think to program?
2021-04-06 14:10:58 <merijn> maerwald: I thought I could just copy&paste from SO
2021-04-06 14:11:39 <zzz> merijn: i see. 'x / 2' is fine but 'y / 2' is not
2021-04-06 14:11:49 <maerwald> yeah and read blog posts from Google engineers to figure out what framework you need
2021-04-06 14:12:06 <maerwald> (because you really have the same set of problem as google has, right?)
2021-04-06 14:12:38 Guest15377 is now known as stilgart
2021-04-06 14:13:24 <merijn> zzz: Yes, but that's unrelated?
2021-04-06 14:13:33 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-04-06 14:13:42 tetrahedron joins (~hypercube@137.112.237.23)
2021-04-06 14:13:46 × rdivyanshu quits (uid322626@gateway/web/irccloud.com/x-frmbfjisqfxmhgqn) (Quit: Connection closed for inactivity)
2021-04-06 14:13:53 ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-06 14:15:00 × haskellstudent quits (~quassel@213-225-9-45.nat.highway.a1.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-04-06 14:15:15 haskellstudent joins (~quassel@213-225-9-45.nat.highway.a1.net)
2021-04-06 14:15:51 kiweun joins (~kiweun@dsl-173-206-238-190.tor.primus.ca)
2021-04-06 14:15:59 × haskellstudent quits (~quassel@213-225-9-45.nat.highway.a1.net) (Client Quit)
2021-04-06 14:16:05 <zzz> merijn: it is?
2021-04-06 14:16:13 <merijn> :t (/)
2021-04-06 14:16:14 <lambdabot> Fractional a => a -> a -> a
2021-04-06 14:16:15 haskellstudent joins (~quassel@213-225-9-45.nat.highway.a1.net)
2021-04-06 14:16:30 <merijn> zzz: / only works on types that are instances of Fractional
2021-04-06 14:16:38 <merijn> zzz: Int is not an instance of Fractional
2021-04-06 14:16:44 <tdammers> maerwald: and also because the choice of framework is the one thing that defines you as an "engineer"
2021-04-06 14:16:45 × kiweun quits (~kiweun@dsl-173-206-238-190.tor.primus.ca) (Remote host closed the connection)
2021-04-06 14:16:49 <merijn> So using / on something of type Int is a type error
2021-04-06 14:17:05 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds)
2021-04-06 14:17:10 × barthandelous quits (~calebbrze@2600:1007:b0a1:3aa7:b579:e4ea:b055:38a9) (Ping timeout: 276 seconds)
2021-04-06 14:17:15 <merijn> zzz: 'y' has type "Int" (whether it's the same as x or not)
2021-04-06 14:17:24 <merijn> zzz: You probably want div
2021-04-06 14:17:34 <merijn> > 10 `div` 3
2021-04-06 14:17:36 <lambdabot> 3
2021-04-06 14:17:54 <zzz> no. thats the thing
2021-04-06 14:18:00 <zzz> ok, let me try to explain
2021-04-06 14:18:04 <merijn> Then you want fromIntegral
2021-04-06 14:18:13 <zzz> (1 :: Num a => a) / 2
2021-04-06 14:18:13 <merijn> > (10 :: Int) / 3
2021-04-06 14:18:15 <lambdabot> error:
2021-04-06 14:18:15 <lambdabot> • No instance for (Fractional Int) arising from a use of ‘/’
2021-04-06 14:18:15 <lambdabot> • In the expression: (10 :: Int) / 3
2021-04-06 14:18:17 <merijn> eh
2021-04-06 14:18:18 <merijn> what
2021-04-06 14:18:20 <zzz> > (1 :: Num a => a) / 2
2021-04-06 14:18:21 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2021-04-06 14:18:21 <lambdabot> 0.5
2021-04-06 14:18:22 <merijn> ah, right
2021-04-06 14:18:32 <merijn> > fromIntegral (10 :: Int) / 3
2021-04-06 14:18:34 <lambdabot> 3.3333333333333335
2021-04-06 14:18:45 <zzz> no merijn, here's my problem
2021-04-06 14:18:47 <merijn> :t fromIntegral
2021-04-06 14:18:48 <lambdabot> (Integral a, Num b) => a -> b
2021-04-06 14:18:57 <zzz> i get that, but listen
2021-04-06 14:19:05 <zzz> ill try to be concise

All times are in UTC.