Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→
Page 1 .. 598 599 600 601 602 603 604 605 606 607 608 .. 5022
502,152 events total
2020-10-12 20:14:32 <davean> Entirely
2020-10-12 20:14:34 × proofofme quits (~proofofme@184-96-74-65.hlrn.qwest.net) (Read error: Connection reset by peer)
2020-10-12 20:14:35 <koz_> LOL
2020-10-12 20:14:44 <davean> I couldn't believe it wasn't that way
2020-10-12 20:14:45 <koz_> Good to know I wasn't wrong to be skeptical to my workmates.
2020-10-12 20:14:53 proofofme joins (~proofofme@184-96-74-65.hlrn.qwest.net)
2020-10-12 20:15:46 <untseac> I finally have a good grasp and can handle haskell more or less easily. the most annoying part is that all these places try to teach monads and friends in a weird way when it's really simple.
2020-10-12 20:16:03 <untseac> but that's just me ranting as usual
2020-10-12 20:16:41 <untseac> codewars helped lol
2020-10-12 20:17:07 <koz_> I found a lot of practice helped. Weirdly, getting my first Haskell Job For Money made me improve almost instantly.
2020-10-12 20:17:23 <untseac> yeah practice is indeed the best way to learn haskell
2020-10-12 20:17:30 <untseac> that's what I found
2020-10-12 20:18:01 <untseac> usually it's the opposite, read first do later, but with haskell it's just do it
2020-10-12 20:18:10 × hbina quits (~hbina@42.153.132.48) (Remote host closed the connection)
2020-10-12 20:18:16 <untseac> at least worked for me
2020-10-12 20:18:55 × thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds)
2020-10-12 20:19:25 <untseac> which is the most technically decent web framework btw? if there's one.
2020-10-12 20:19:37 × proofofme quits (~proofofme@184-96-74-65.hlrn.qwest.net) (Ping timeout: 265 seconds)
2020-10-12 20:19:38 <davean> Depends on what you want, theres levels of complexity
2020-10-12 20:19:44 <untseac> fair enough
2020-10-12 20:19:47 <davean> like servant is rather complicated but buys a lot of nice features with that
2020-10-12 20:20:03 <davean> But you might not want to pay that overhead for some basic stuff
2020-10-12 20:20:34 <koz_> Servant is good _if_ you work in the way they intend.
2020-10-12 20:20:47 <koz_> If you need anything else, it's _very_ difficult to work around.
2020-10-12 20:20:57 <untseac> oof I hate that
2020-10-12 20:21:00 <koz_> And the typelevel stuff can give _horrific_ error messages if you're not familiar with it.
2020-10-12 20:21:01 <cohn> anyone using HDBC to connect to a SQLite database?
2020-10-12 20:21:28 <davean> koz_: right, though I'd disagree with the "_very_ difficult" part - you can patch your own stuff in pretty easily
2020-10-12 20:21:33 <koz_> (I literally had pages of vomit giving me headaches before going 'oh, ScopedTypeVariables wasn't on)
2020-10-12 20:22:05 <untseac> I come from Java world so I doubt any of these web frameworks are worse
2020-10-12 20:22:47 mapperr joins (~mapperr@vmi389916.contaboserver.net)
2020-10-12 20:23:52 <koz_> cohn: What sort of issue are you seeing?
2020-10-12 20:23:52 wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-10-12 20:24:56 <cohn> koz_: can't seem to install HDBC + HDBC-sqlite3 via Stack. Wondering if it's because I'm using a too-new GHC.
2020-10-12 20:25:11 <koz_> cohn: Exact error message (in a pastebin)?
2020-10-12 20:25:56 <cohn> koz_: yep, one sec
2020-10-12 20:27:41 <cohn> koz_: https://pastebin.com/eWfUc67E
2020-10-12 20:27:55 <cohn> fwiw, this is on an OS X box
2020-10-12 20:28:31 <koz_> Yeah, I think it's an issue that HDBC-sqlite3 leans on a deprecated library.
2020-10-12 20:28:32 <bliminse> what were you using in Java untseac ? Spring/quarkus/micronaut?
2020-10-12 20:28:33 <davean> Oh my sqlite is old
2020-10-12 20:28:35 <maerwald> koz_: the funny thing is... most ppl don't make actual use of servant (e.g. sharing types or generating clients) :p
2020-10-12 20:28:58 <bliminse> if you were using smaller frameworks (i.e., not spring), you could try warp in haskell
2020-10-12 20:29:03 <davean> maerwald: Is that true? I know dozens of places using it and doing that.
2020-10-12 20:29:05 <koz_> But yeah, what's your resolver?
2020-10-12 20:29:15 <dminuoso> Where in either the Haskell report and GHC manual can I find a remark, how instance contexts are not considered for instance selection?
2020-10-12 20:29:16 <untseac> bliminse, spring
2020-10-12 20:29:22 <bliminse> it's going to require you implementing some things that may be available in the other frameworks but it's nowhere near as bloated
2020-10-12 20:29:24 <untseac> it's not fun
2020-10-12 20:29:28 <maerwald> davean: I've seen a good chunk of "let's use it, because it's cooler than scotty"
2020-10-12 20:29:32 <bliminse> ahhh, yeah :/
2020-10-12 20:29:38 <cohn> koz_: lts-16.16
2020-10-12 20:29:38 <davean> maerwald: huh, never seen that.
2020-10-12 20:29:45 <bliminse> I mean I get the appeal of spring, having the kitchen sink and then some
2020-10-12 20:30:05 <bliminse> but all the behind-the-doors magic is not something I enjoy
2020-10-12 20:30:17 <untseac> it's enterprise over-engineering crap tbh
2020-10-12 20:30:23 <bliminse> and that's considering at work I have to deal with the whole spring family! xD
2020-10-12 20:30:29 <dminuoso> In particular, Im trying to understand how instance methods of classes with superclass constraints are type checked.
2020-10-12 20:31:03 <davean> maerwald: infact, I've often seen it used *only* to produce clients
2020-10-12 20:31:05 <untseac> yeah my main issue with spring is that it tries to solve everything with this weird complicated mechanism but it's okayish I guess
2020-10-12 20:31:19 <koz_> I'm wondering why it has a dependency on sqlite - neither HDBC nor HDBC-sqlite seem to want it.
2020-10-12 20:31:22 <dminuoso> davean: Id be willing to argue that servant is great even for small APIs.
2020-10-12 20:31:48 snakemas1 joins (~snakemast@213.100.206.23)
2020-10-12 20:31:54 <dminuoso> The complexity is mostly in your head, the actual implementation of servant/servant-server is rather simple.
2020-10-12 20:31:54 <davean> dminuoso: I didn't mean your API size anywhere
2020-10-12 20:31:57 <cohn> koz_: it?
2020-10-12 20:31:58 <untseac> I just want to get rid of Java. Haskell looks like the best way to make maintainable software. At least so far.
2020-10-12 20:31:59 <koz_> cohn: What's your stack.yaml look like?
2020-10-12 20:32:09 <maerwald> For API layer, I don't care about typed API, I want proper structural typing, so I can create web-types easily. TypeScript is better at that
2020-10-12 20:32:16 <davean> dminuoso: Though I really dislike some of its things, like setting HTTP headers is *brokenly bad* in servant
2020-10-12 20:32:18 <bliminse> heh yes it's very enjoyable. well so, if you want to give a try with warp you can set something up really quickly with just a few packages:
2020-10-12 20:32:32 <cohn> koz_: I just have these lines in there. everything else is default:
2020-10-12 20:32:33 <cohn> extra-deps:
2020-10-12 20:32:33 <cohn> - sqlite-0.5.5@sha256:2ffbff8fdeeb4db51550755a4a8fa73f33ac74313713a6f2608e108889d0ef13,1875
2020-10-12 20:32:36 <cohn> - HDBC-sqlite3-2.3.3.1@sha256:5025fd94d02b9b3f0b8b8233796dd9a85a0b3dda6503c6e671e3eddbc51cb4d4,2424
2020-10-12 20:32:40 <davean> you have to set them in 3 places, its rediculous
2020-10-12 20:32:49 <untseac> I don't see much future in imperative languages, not with 32 cores, which we already have. That's my noobish prepective.
2020-10-12 20:32:50 <bliminse> warp itself, warp-tls for HTTPS, and possibly wai-extra for some handlers/middleware
2020-10-12 20:32:56 <davean> Where as *none* of most headers is what servant is supposed to represent at the type level.
2020-10-12 20:33:00 <koz_> Did it ask you to add the sqlite-0.5.5 line when you tried 'stack build' or something?
2020-10-12 20:33:04 <dminuoso> davean: I agree that it has some ergonomics problems, luckily if you're the one providing an API it's a non-issue. :)
2020-10-12 20:33:28 × alp quits (~alp@2a01:e0a:58b:4920:7d9f:c45b:a876:4aa8) (Ping timeout: 244 seconds)
2020-10-12 20:33:35 <cohn> koz_: yes.
2020-10-12 20:33:35 <davean> dminuoso: incorrect?
2020-10-12 20:33:44 <untseac> I do want to see a decent game engine in haskell but it seems like no one figured that out yet
2020-10-12 20:33:46 <davean> The header things is exactly a case where it doesn't matter - its always a problem
2020-10-12 20:33:49 × knupfer quits (~Thunderbi@200116b82c8e3e004d528d974d6e668b.dip.versatel-1u1.de) (Quit: knupfer)
2020-10-12 20:33:54 <koz_> Can you remove that line, run 'stack build' again, and pastebin its error message?
2020-10-12 20:33:56 <cohn> koz_: now that I think of it, I can probably get away with using sqlite-simple instead
2020-10-12 20:33:56 knupfer joins (~Thunderbi@200116b82c8e3e00d4b0380cf8092937.dip.versatel-1u1.de)
2020-10-12 20:33:58 <maerwald> untseac: why
2020-10-12 20:34:06 <untseac> maerwald, why what?
2020-10-12 20:34:07 <koz_> If you _can_, definitely do so.
2020-10-12 20:34:11 <dminuoso> davean: What do you want to encode in headers that you can't encode in QueryParams or a ReqBody?
2020-10-12 20:34:11 <koz_> sqlite is deprecated.
2020-10-12 20:34:17 <maerwald> untseac: why would you want to see it
2020-10-12 20:34:17 × knupfer quits (~Thunderbi@200116b82c8e3e00d4b0380cf8092937.dip.versatel-1u1.de) (Client Quit)
2020-10-12 20:34:17 <cohn> koz_: lemme try that first.
2020-10-12 20:34:21 <davean> dminuoso: You know - like cache controls?
2020-10-12 20:34:24 <davean> HTTP semantics

All times are in UTC.