Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,803,858 events total
2021-07-29 21:47:58 × spirit_ quits (~spirit@171.61.156.55) (Quit: Konversation terminated!)
2021-07-29 21:47:59 <yushyin> i usually just use libraries I need, ask here for opinions (lots of opinions here) and I (try to) avoid certain authors
2021-07-29 21:48:16 <aegon> Drew[m]: hoogle --server :)
2021-07-29 21:48:21 <aegon> thanks!
2021-07-29 21:48:41 <Drew[m]> Remember the `--local`!
2021-07-29 21:48:43 <arkanoid> I've just searched a library for testing in a stackage LTS distribution, I get more than 30 different libraries for just testing
2021-07-29 21:49:04 <dsal> That's not a meaningful thing to do, though. What are you expecting to find?
2021-07-29 21:49:14 <dsal> Something like tasty?
2021-07-29 21:49:14 <motle> local hoogle server?
2021-07-29 21:49:23 <motle> wait...
2021-07-29 21:49:50 <motle> what about mercurial?
2021-07-29 21:50:13 <motle> ih god my code! such a mess
2021-07-29 21:50:18 × chele quits (~chele@user/chele) (Remote host closed the connection)
2021-07-29 21:50:54 × xff0x quits (~xff0x@2001:1a81:52ef:f900:5eb1:ed8e:7709:10d6) (Ping timeout: 272 seconds)
2021-07-29 21:50:55 × deejaytee quits (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net) (Killed (tungsten.libera.chat (Nickname regained by services)))
2021-07-29 21:51:00 deejaytee joins (~deejaytee@193.46-255-62.static.virginmediabusiness.co.uk)
2021-07-29 21:51:10 <motle> hang on ill just take its jacobian...
2021-07-29 21:51:33 <sm> aegon: also `stack haddock --open`
2021-07-29 21:51:36 xff0x joins (~xff0x@2001:1a81:52ef:f900:6be3:99e6:cbd0:482d)
2021-07-29 21:52:42 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-07-29 21:53:10 <motle> harmonic driving version control is whats required.
2021-07-29 21:53:19 justsomeguy joins (~justsomeg@user/justsomeguy)
2021-07-29 21:53:25 <motle> i think mine crashed...
2021-07-29 21:53:55 <arkanoid> if I want to put haskell into my toolbelt as production language, it's required to put haskell on the time-to-write-a-program graph. I have a strong feeling that the fragmentation of the libraries is going to make up most of the problems here
2021-07-29 21:53:56 <motle> i was hoping you might have seen a wheel rolling by...
2021-07-29 21:54:22 <motle> dont "time to write a program graph" me sunny jim
2021-07-29 21:54:27 <sm> arkanoid: hackage is a strong central package store, anything intended to be reused appears there. stackage is the rolling series of stable curated subsets of that. Like debian unstable, testing, stable, or similar
2021-07-29 21:54:39 <dsal> arkanoid: That sounds good. I've had worse problems with library fragmentation in all the other languages I've used. :)
2021-07-29 21:55:14 <sm> stackage was the answer to "how to I make this reproducible for production". In recent times, cabal.project is another answer
2021-07-29 21:55:24 <motle> anyway its not representative, i wasnt even sure i was driving tbh
2021-07-29 21:55:30 <dsal> My stack default template drops out a project with a lib, app, and test suite in tasty with an example quickcheck property I can run immediately.
2021-07-29 21:56:20 <arkanoid> apart from new languages where the ecosystem is quite small, among the "big and mature" languages I find haskell the one out of a central control. I'm still talking about the ecosystem, not the implementation itself oviously
2021-07-29 21:57:18 <motle> advice for people starting learning haskell would be something like "start simple, abstract, keep abstracting - ok enough abstracting!! stop already!! gigs of .hs files, no no no...
2021-07-29 21:57:53 <dsal> arkanoid: I'm not sure what you mean. What makes something like go or java better in this regard?
2021-07-29 21:58:09 <motle> its at the point where it goes all styrofoam expanding foam you want to put the cup down
2021-07-29 21:58:31 <motle> if any of the surfaces are solid
2021-07-29 21:59:00 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
2021-07-29 21:59:04 <dsal> go ships with an implementation of quickcheck that's objectively bad and they froze the API over a decade ago. heh
2021-07-29 21:59:34 <arkanoid> go has google that delivers basically what'ever needed to be productive
2021-07-29 21:59:45 deejaytee is now known as Guest5510
2021-07-29 21:59:45 × Guest5510 quits (~deejaytee@193.46-255-62.static.virginmediabusiness.co.uk) (Killed (sodium.libera.chat (Nickname regained by services)))
2021-07-29 21:59:49 <dsal> The quickcheck thing I just mentioned is a counter argument to that.
2021-07-29 21:59:50 <motle> google is a huge productivity inhibitor
2021-07-29 21:59:50 deejaytee joins (~deejaytee@cpc91196-cmbg18-2-0-cust215.5-4.cable.virginm.net)
2021-07-29 21:59:55 <sm> go, rust etc. ship one blessed set of tools and everyone's on board with that (or so it appears from the outside). haskell isn't like that, in part because of less corporate support
2021-07-29 22:00:01 <Drew[m]> As a language with a smaller user base one of the effects of that we have to live with is just generally less people around to make a library for every single concievable problem, and less businesses depending on code written in Haskell so less money sloshing about to pay for developer time.
2021-07-29 22:00:03 <motle> its more of an experiment in futility
2021-07-29 22:00:20 <motle> seriously, these code fragments...
2021-07-29 22:00:26 × sheepduck quits (~sheepduck@user/sheepduck) (Remote host closed the connection)
2021-07-29 22:00:29 <sm> dsal, quickcheck isn't a core tool
2021-07-29 22:00:35 × fendor quits (~fendor@178.165.162.84.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2021-07-29 22:00:58 × Null_A quits (~null_a@2601:645:8700:2290:44f7:81a6:341:7abe) (Remote host closed the connection)
2021-07-29 22:01:02 <motle> no ppls to make the libraries theory is lies
2021-07-29 22:01:08 <motle> its because aliens i tels ya
2021-07-29 22:01:16 <dsal> sm: it's a core test library that ships with base, but is bad and they will definitely never improve it
2021-07-29 22:01:25 <motle> semi-literate aliens!!
2021-07-29 22:02:01 Null_A joins (~null_a@2601:645:8700:2290:44f7:81a6:341:7abe)
2021-07-29 22:02:03 <sm> dsal but you get my point I hope. install/build tools matter more. go/rust are more unified at this than haskell. Nothing controversial here
2021-07-29 22:02:31 <motle> you have to reasemble the spacecraft with mechano - and anyone trying to subvert fissile materials will be hastily reoriented
2021-07-29 22:02:56 <dsal> sm: Maybe? But `go build` isn't used inside of google, and the maybe that's not the right way to do stuff in general.
2021-07-29 22:03:00 <dsal> I don't know rust, though.
2021-07-29 22:03:00 <motle> talk about junk bonds, sheesh
2021-07-29 22:03:04 <sm> arkanoid, it'll probably change eventually, since haskell is too good to die. But it might take another decade
2021-07-29 22:03:49 <motle> you cant fly that its still linear!
2021-07-29 22:03:58 <Drew[m]> We stubbornly avoiding success and failure
2021-07-29 22:04:00 × charukiewicz quits (~quassel@irouteince04.i.subnet.rcn.com) (Read error: Connection reset by peer)
2021-07-29 22:04:33 <motle> "your lucky its even linear yet mate"
2021-07-29 22:05:06 <motle> whacky races!
2021-07-29 22:05:53 <motle> drat!
2021-07-29 22:06:07 <arkanoid> writing haskell feels great and refactoring feels like putting the last piece of a puzzle every time. Now all my OO code seems fragile and my procedural code really want pure functions and algebraic data types, but on the other end I don't feel that the plus are over the cons when I think about writing a real service. Maybe for doing science, but I've also tried that and while being very nicely
2021-07-29 22:06:09 <arkanoid> expressed my "transpiled to C" code from other languages I like is much faster at runtime
2021-07-29 22:06:19 <sm> arkanoid: but you totally can get real production work done in haskell, don't get me wrong. Many companies have been doing it for a while now. We just have two pretty good tools instead of one.
2021-07-29 22:06:54 <sm> like everything, it's not perfect and there are tradeoffs.
2021-07-29 22:07:01 <motle> putting the algebraic in the algebraic datatypes
2021-07-29 22:07:31 <deejaytee> Every time I try to explain ADTs to people I come up against blub
2021-07-29 22:07:43 <motle> sm: like vinyl!? in terms of tradeoffs...
2021-07-29 22:08:00 <deejaytee> Absolutely infuriating
2021-07-29 22:08:17 charukiewicz joins (~quassel@irouteince04.i.subnet.rcn.com)
2021-07-29 22:08:27 <motle> yeah but prabablys your just using records
2021-07-29 22:08:56 <justsomeguy> deejaytee: Lately I've been toying with the idea that explaining things, rather than first exposing them to a direct experience, is an inherently flawed approach. It can definitely be frustrating.
2021-07-29 22:08:57 <arkanoid> now I can count how many unique input combinations my functions have! Never though about these topic while dealing whith other programming paradigms
2021-07-29 22:09:51 <deejaytee> justsomeguy: I exaggerate a bit - I've had some success recently, esp. when explaining how ADTs are useful for modelling state machines & valid bits in Clash circuits
2021-07-29 22:10:03 <motle> impure languages.....
2021-07-29 22:10:24 <sm> arkanoid: also, the strengths of haskell are most apparent with larger and long-lived software
2021-07-29 22:10:37 gehmehgeh joins (~user@user/gehmehgeh)
2021-07-29 22:10:52 <arkanoid> also I've learn that haskell is not really pure and I can do pure stuff everywhere else too, it's just a matter if the compiler can do something for me in this direction
2021-07-29 22:11:06 pesada joins (~agua@2804:14c:8793:8e2f:98cd:a6bd:9d36:17f2)
2021-07-29 22:11:13 × fluffyballoon quits (~fluffybal@pat-verona-h.epic.com) (Ping timeout: 246 seconds)
2021-07-29 22:11:14 <motle> IO we cant help you
2021-07-29 22:11:55 <motle> anyone else get crank called by their fricking recruiter as they pushed the price?
2021-07-29 22:12:11 <sm> arkanoid, well that compiler support is quite important. In practice if you can't enforce purity, you can't really achieve it
2021-07-29 22:12:12 <motle> haha "job" ... "security" ... fun times!
2021-07-29 22:12:17 <sm> enforce it and express it clearly
2021-07-29 22:13:06 × agua quits (~agua@2804:18:4f:b157:1:0:6976:119) (Ping timeout: 240 seconds)
2021-07-29 22:13:09 <deejaytee> justsomeguy: in a way, it reminds me of the "when will I ever use mathematics" question in high school - the artificial need for "concrete examples" forces me to try to make (often untrue) assumptions about how someone programs
2021-07-29 22:13:17 <motle> i was like, yeah, im still the only person and its still the only language, and im guessing that means your still not going to pay me
2021-07-29 22:13:33 <motle> and he was like saluting as he hung up
2021-07-29 22:13:33 <arkanoid> I've just reimplemented kinda typeclasses and monads by metaprogramming in my favorite procedural language, that also supports enforcing no side effects and zero exceptions (and other custom effects)
2021-07-29 22:14:17 <Drew[m]> arkanoid: Well it's at least pure in the sense that if you break referential transparency then the programs the compiler produces end up doing very strange things
2021-07-29 22:14:23 <arkanoid> sure no math rooted concepts like in haskell, but yeah It resembles same pattern

All times are in UTC.