Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→
Page 1 .. 730 731 732 733 734 735 736 737 738 739 740 .. 5022
502,152 events total
2020-10-19 11:20:44 <sclv> no paid ide would be profitable or even close
2020-10-19 11:20:58 <kuribas> and not enough users because not good tooling
2020-10-19 11:22:25 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 11:22:35 <kuribas> so how does clojure do it?
2020-10-19 11:23:25 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 11:23:30 thir joins (~thir@pd9e1b1d6.dip0.t-ipconnect.de)
2020-10-19 11:23:35 <dminuoso> Running on jvm and java interop is probably a big part of it.
2020-10-19 11:23:56 <dminuoso> That means interfacing with existing code is reasonably easy, and you get access to a relatively large eco system that way
2020-10-19 11:23:57 da39a3ee5e6b4b0d joins (~textual@n11211935170.netvigator.com)
2020-10-19 11:25:17 <dminuoso> I'd argue that similarly C++ wouldn't have had nearly as much success as it did, if it wasn't largely C-compatible by syntax, and didn't have seamless linkage into C.
2020-10-19 11:25:33 <merijn> kuribas: "we provide escape from Java"
2020-10-19 11:25:46 <merijn> kuribas: Also, by Rich Hickey labouring unpaid for ages to bootstrap things
2020-10-19 11:26:01 <dminuoso> merijn: And that's probably survival bias right there!
2020-10-19 11:26:04 × invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 260 seconds)
2020-10-19 11:26:08 <merijn> Yeah
2020-10-19 11:27:00 <merijn> It's just baffling how software engineers as a community can see billion/trillion dollar companies exploiting unpaid labour in open source while stressing out maintainers and go "yeah...this is fine!"
2020-10-19 11:27:23 christo joins (~chris@81.96.113.213)
2020-10-19 11:27:34 <kuribas> merijn: for what it's worth, we are not a billion dollar company, and we are barely profitable.
2020-10-19 11:27:37 Franciman joins (~francesco@host-82-48-166-25.retail.telecomitalia.it)
2020-10-19 11:27:50 × thir quits (~thir@pd9e1b1d6.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2020-10-19 11:27:53 <kuribas> merijn: actually our current project isn't even profitable yet
2020-10-19 11:27:57 <merijn> And instead of going "hey, wait, maybe these people can damn well pay for all this support they want" and instead go "we should bend over backwards to be used"
2020-10-19 11:28:14 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-19 11:28:16 <merijn> kuribas: That sounds like a "your company" problem and not a "open source maintainer" problem
2020-10-19 11:28:16 × Franciman quits (~francesco@host-82-48-166-25.retail.telecomitalia.it) (Client Quit)
2020-10-19 11:28:34 Franciman joins (~francesco@host-82-48-166-25.retail.telecomitalia.it)
2020-10-19 11:30:09 <kuribas> btw clojure tooling isn't that nice IMO
2020-10-19 11:30:26 <kuribas> I think haskell is still better, if only because of the type system.
2020-10-19 11:31:01 <kuribas> clojure: no dead code detection, no way to see if you are calling functions that don't exist.
2020-10-19 11:31:02 <merijn> Frankly, I don't care if companies are billion dollar companies or 2 cents away from bankruptcy. I support what's convenient for me and if you need more I can send you my bank account and an invoice
2020-10-19 11:31:15 <opqdonut> well said
2020-10-19 11:31:43 <kuribas> merijn: personally I think with the bad tooling etc haskell is still better and more productive than what we have currently.
2020-10-19 11:31:50 <kuribas> merijn: but it's hard to convince others
2020-10-19 11:31:51 <merijn> And if that causes everyone who wants more from open source to leave, I say "good riddance"
2020-10-19 11:32:01 avoandmayo joins (~textual@122-58-158-238-adsl.sparkbb.co.nz)
2020-10-19 11:32:51 <kuribas> it's always the same myth "haskell is not practical because it's made by/for academists"
2020-10-19 11:33:21 <merijn> I'm not convinced "better tooling" will have measurable impact on "people who have dumb opinions"
2020-10-19 11:35:14 <kuribas> though there is some truth to it.
2020-10-19 11:35:33 tersetears[m] joins (tersetears@gateway/shell/matrix.org/x-idycfalifvfectvy)
2020-10-19 11:38:08 × avoandmayo quits (~textual@122-58-158-238-adsl.sparkbb.co.nz) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-19 11:38:33 avoandmayo joins (~textual@122-58-158-238-adsl.sparkbb.co.nz)
2020-10-19 11:39:11 <dminuoso> So... for over a year Ive been using LoggingT and ReaderT. Why exactly have runLoggingT and runReaderT the argument order they have?
2020-10-19 11:39:23 <dminuoso> Every time I feel like they should be flipped
2020-10-19 11:39:52 <merijn> dminuoso: Because they use record syntax?
2020-10-19 11:40:02 <dminuoso> merijn: That's such a poor reason. :(
2020-10-19 11:40:06 <merijn> Yes
2020-10-19 11:40:29 <kuribas> dminuoso: that annoys me too
2020-10-19 11:40:43 <kuribas> runState as well
2020-10-19 11:40:48 <kuribas> :t runStateT
2020-10-19 11:40:50 <lambdabot> StateT s m a -> s -> m (a, s)
2020-10-19 11:41:39 knupfer joins (~Thunderbi@dynamic-046-114-151-029.46.114.pool.telefonica.de)
2020-10-19 11:41:41 <lortabac> has anybody every used run* without flip?
2020-10-19 11:41:54 <dminuoso> lortabac: Yes
2020-10-19 11:42:01 <dminuoso> I use & (.) and sections
2020-10-19 11:42:25 <merijn> I use where bindings :p
2020-10-19 11:42:28 <merijn> I dislike flip
2020-10-19 11:42:32 <dminuoso> foo & (`runFoo` f) . (`runBar` b)
2020-10-19 11:42:42 <dminuoso> (you can align the dots with the (&) nicely
2020-10-19 11:42:48 <lortabac> I use where too, it was just a joke
2020-10-19 11:43:11 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 11:43:11 × knupfer quits (~Thunderbi@dynamic-046-114-151-029.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2020-10-19 11:44:23 Amras joins (~Amras@unaffiliated/amras0000)
2020-10-19 11:44:44 knupfer joins (~Thunderbi@dynamic-046-114-151-029.46.114.pool.telefonica.de)
2020-10-19 11:46:09 × cfricke quits (~cfricke@unaffiliated/cfricke) (Ping timeout: 246 seconds)
2020-10-19 11:46:09 × elosant quits (uid446058@gateway/web/irccloud.com/x-gqcalxxblktojltg) (Quit: Connection closed for inactivity)
2020-10-19 11:47:45 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-19 11:48:25 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
2020-10-19 11:49:32 christo joins (~chris@81.96.113.213)
2020-10-19 11:50:13 unfixpoint joins (550112fd@253.18.1.85.dynamic.wline.res.cust.swisscom.ch)
2020-10-19 11:50:30 × kenran quits (~maier@b2b-37-24-119-190.unitymedia.biz) (Ping timeout: 256 seconds)
2020-10-19 11:50:53 <unfixpoint> It's been a while since I've been using lenses for the last time, here's a thing which I'm stuck on:
2020-10-19 11:51:29 <dminuoso> lortabac: I was serious though https://gist.github.com/dminuoso/e28a461bcb324a5d29c125165c0da0e0
2020-10-19 11:51:43 <unfixpoint> If I have a `State (Array Int Bool) *` I can change state with `ix 0 .= True` but I cannot read somehow?
2020-10-19 11:52:16 <unfixpoint> `use (ix 0)` always tells me: No instance for (Monoid Bool) arising from a use of `ix'
2020-10-19 11:52:30 <dminuoso> unfixpoint: You are probably view'ing through a Fold.
2020-10-19 11:52:40 <dminuoso> (Or a traversable)
2020-10-19 11:52:51 <dminuoso> Consider:
2020-10-19 11:52:58 <unfixpoint> Are you saying it's an issue with GHC.Arr.Array?
2020-10-19 11:53:12 <dminuoso> oh mm
2020-10-19 11:53:26 <unfixpoint> I could move to `IntMap` but not sure whether that'd help
2020-10-19 11:53:26 <dminuoso> unfixpoint: ix gives you a traversal back
2020-10-19 11:53:29 <dminuoso> That's the problem
2020-10-19 11:53:43 <dminuoso> Consider a more simplified example:
2020-10-19 11:53:45 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-19 11:53:56 <dminuoso> [Product 1, Product 2, Product 3] ^. each
2020-10-19 11:53:58 <dminuoso> What should that give you?
2020-10-19 11:54:03 <dminuoso> What would you expect?
2020-10-19 11:54:08 <unfixpoint> [1..3]?
2020-10-19 11:54:19 <dminuoso> % [Product 1, Product 2, Product 3] ^. each
2020-10-19 11:54:19 <yahb> dminuoso: ; <interactive>:76:1: warning: [-Wtype-defaults]; * Defaulting the following constraints to type `Integer'; (Show a0) arising from a use of `print' at <interactive>:76:1-41; (Num a0) arising from a use of `it' at <interactive>:76:1-41; * In a stmt of an interactive GHCi command: print it; Product {getProduct = 6}
2020-10-19 11:54:24 <dminuoso> % [Product 1 :: Product Int, Product 2, Product 3] ^. each
2020-10-19 11:54:25 <yahb> dminuoso: Product {getProduct = 6}
2020-10-19 11:54:30 <dminuoso> unfixpoint: ^- voila. Maximum surprise.
2020-10-19 11:54:52 <dminuoso> When you view through a fold/traversable, it uses the monoid instance on what you're looking at to combine all targets.
2020-10-19 11:54:54 <unfixpoint> Oh so it wants to mconcat it?
2020-10-19 11:55:01 <dminuoso> and it defaults to mempty if there's nothing to look at
2020-10-19 11:55:03 <dminuoso> so
2020-10-19 11:55:11 <dminuoso> % [] ^. each :: Product Int
2020-10-19 11:55:11 <yahb> dminuoso: Product {getProduct = 1}
2020-10-19 11:55:14 invaser joins (~Thunderbi@31.148.23.125)

All times are in UTC.