Logs: liberachat/#haskell
| 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.