Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2020-11-18 17:05:20 stree joins (~stree@50-108-97-52.adr01.mskg.mi.frontiernet.net)
2020-11-18 17:05:25 <maerwald> I remember this is a problem in "real-time" ads bidding I think
2020-11-18 17:05:40 nuncanada joins (~dude@179.235.160.168)
2020-11-18 17:05:41 <tdammers> oh yes
2020-11-18 17:05:42 <p0a> maerwald: my opinion is not molded by experience or shapen by facts, just something I conjured out of thin air. :P
2020-11-18 17:05:53 <tdammers> I definitely wouldn't use Haskell for the tight parts of that
2020-11-18 17:06:16 <tdammers> although the parallel GC could probably do it just fine, but it's still kind of icky that reasoning about perf in Haskell is so bloody hard
2020-11-18 17:06:26 <maerwald> tdammers: could write it in rust, make a nice C interface and use it in haskell
2020-11-18 17:06:42 <tdammers> yeah, write it in whatever performs well enough, and then orchestrate it from Haskell
2020-11-18 17:06:50 <tdammers> C, C++, rust, golang, whatever
2020-11-18 17:07:04 <maerwald> but a more reasonable assumption might be: their CTO fled the country :p
2020-11-18 17:07:10 <tdammers> yeah
2020-11-18 17:07:18 <tdammers> IME, it's usually unreasonable expectations
2020-11-18 17:07:21 <maerwald> and they were left with an esoteric haskell stack and one junior dev
2020-11-18 17:07:36 <boxscape> oh no I upgraded to ghc 8.10 and now the type level code I spent today writing doesn't work anymore
2020-11-18 17:07:38 <tdammers> yep. the "unreasonably enthusiastic junior dev" problem
2020-11-18 17:08:00 hackage array-chunks 0.1.2.0 - Lists of chunks https://hackage.haskell.org/package/array-chunks-0.1.2.0 (andrewthad)
2020-11-18 17:08:25 <idnar> is there something like `take` that takes from the end?
2020-11-18 17:08:38 alp joins (~alp@88.126.45.36)
2020-11-18 17:08:41 <maerwald> not lazily
2020-11-18 17:08:42 <maerwald> :p
2020-11-18 17:08:54 <merijn> :t \n -> reverse . take n . reverse -- *ducks*
2020-11-18 17:08:55 <lambdabot> error:
2020-11-18 17:08:55 <lambdabot> Ambiguous occurrence ‘reverse’
2020-11-18 17:08:55 <lambdabot> It could refer to
2020-11-18 17:09:03 <merijn> wut
2020-11-18 17:09:05 <merijn> @undefine
2020-11-18 17:09:05 <lambdabot> Undefined.
2020-11-18 17:09:09 <merijn> :t \n -> reverse . take n . reverse -- *ducks*
2020-11-18 17:09:11 <lambdabot> Int -> [a] -> [a]
2020-11-18 17:09:30 <maerwald> that's probably fine for small lists
2020-11-18 17:09:37 <tdammers> https://hackage.haskell.org/package/extra-1.7.8/docs/Data-List-Extra.html#v:takeEnd
2020-11-18 17:09:52 <merijn> maerwald: For big ones to if you do it infrequently enough :p
2020-11-18 17:10:05 hidedagger joins (~nate@unaffiliated/hidedagger)
2020-11-18 17:10:15 <tdammers> for very big ones, "infrequently enough" means "once per universe"
2020-11-18 17:10:42 <boxscape> not even that if you're dealing with [0..]
2020-11-18 17:10:49 × hidedagger quits (~nate@unaffiliated/hidedagger) (Client Quit)
2020-11-18 17:10:55 <boxscape> unless you count a non-terminating evaluation as "once"
2020-11-18 17:11:20 <tdammers> right yeah, if you don't need it to terminate, then you can spawn as many of these as you want
2020-11-18 17:11:44 <maerwald> You add RAM as you go
2020-11-18 17:12:24 <p0a> that's what scalable means
2020-11-18 17:12:37 <idnar> oh I need it reversed anyway and I'm starting with a Map so toDescList + take
2020-11-18 17:13:03 <hekkaidekapus> If the list is finite, see also Data.Sequence.
2020-11-18 17:13:08 <p0a> What is an example of a simple monad transformer?
2020-11-18 17:13:24 <maerwald> p0a: none
2020-11-18 17:13:30 <idnar> IdentityT :P
2020-11-18 17:13:44 <maerwald> but there are plenty examples of non-simple transformers :p
2020-11-18 17:13:49 <p0a> are monad transformers like natural transformations?
2020-11-18 17:13:58 <tdammers> there's this concept of theoretical size of information, I don't remember the details, but the idea is to calculate how small you could theoretically make a data store for a given amount of information until you hit the limitations of the speed of light (or quantum physics? it's been a while)
2020-11-18 17:14:14 × st8less quits (~st8less@2603:a060:11fd:0:d56c:a5ec:de50:ff91) (Quit: WeeChat 2.9)
2020-11-18 17:14:17 <tdammers> which implies that the amount of information that can be stored in a finite universe is also finite
2020-11-18 17:14:48 <koz_> Something something Bekenstein bound.
2020-11-18 17:14:54 <maerwald> p0a: check out ExceptT, most other transformers are non-sense anyway
2020-11-18 17:14:55 × ggole quits (~ggole@2001:8003:8119:7200:f828:bf:5160:1d23) (Quit: Leaving)
2020-11-18 17:15:23 <p0a> maerwald: thank you
2020-11-18 17:16:01 hackage json-syntax 0.1.2.0 - High-performance JSON parser and encoder https://hackage.haskell.org/package/json-syntax-0.1.2.0 (andrewthad)
2020-11-18 17:16:08 <tdammers> maerwald: ExceptT Dynamic RWST Dynamic Dynamic Dynamic IO, a.k.a. the "I give up" monad
2020-11-18 17:16:16 jakob_ joins (~textual@p200300f49f162200855785b1c0c4761c.dip0.t-ipconnect.de)
2020-11-18 17:16:38 ubert1 joins (~Thunderbi@p200300ecdf1e53a7e6b318fffe838f33.dip0.t-ipconnect.de)
2020-11-18 17:17:01 hackage say-my-name 0.1.0.0 - Require explicit type application for some type variables. https://hackage.haskell.org/package/say-my-name-0.1.0.0 (mnoonan)
2020-11-18 17:18:07 × ubert quits (~Thunderbi@p200300ecdf1e53c9e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-11-18 17:18:08 ubert1 is now known as ubert
2020-11-18 17:18:18 <maerwald> at least we can say that the design space of monads has been exhaustively researched in haskell
2020-11-18 17:18:57 <maerwald> many tears have been shed, but it is what it is
2020-11-18 17:20:12 × ericsagn1 quits (~ericsagne@2405:6580:0:5100:53e4:af5e:8890:d6d0) (Ping timeout: 260 seconds)
2020-11-18 17:20:47 <koz_> maerwald: Press F in chat for monads.
2020-11-18 17:22:05 × ubert quits (~Thunderbi@p200300ecdf1e53a7e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-11-18 17:23:29 ubert joins (~Thunderbi@p200300ecdf1e53a7e6b318fffe838f33.dip0.t-ipconnect.de)
2020-11-18 17:24:05 <int-e> > let ekat n xs = last $ zipWith const (replicate n xs ++ tails xs) (tails xs) in map (ekat 3) ["", "ab", "abc", "abcd"]
2020-11-18 17:24:07 <lambdabot> ["","ab","abc","bcd"]
2020-11-18 17:24:49 <int-e> . o O ( cotake )
2020-11-18 17:25:00 hackage array-builder 0.1.1.0 - Builders for arrays https://hackage.haskell.org/package/array-builder-0.1.1.0 (andrewthad)
2020-11-18 17:25:47 Tario joins (~Tario@201.192.165.173)
2020-11-18 17:25:48 random joins (~random@46.254.129.126)
2020-11-18 17:25:50 geekosaur joins (82659a09@host154-009.vpn.uakron.edu)
2020-11-18 17:26:00 <random> hey guys
2020-11-18 17:26:20 <random> is there a way to get all types used by a Servant API?
2020-11-18 17:26:23 <random> like, a ready made library or something?
2020-11-18 17:27:39 × Ariakenom quits (~Ariakenom@h-98-128-229-104.NA.cust.bahnhof.se) (Ping timeout: 256 seconds)
2020-11-18 17:28:18 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-18 17:28:19 × knupfer quits (~Thunderbi@200116b8244bd600953b9562e9fc25b9.dip.versatel-1u1.de) (Remote host closed the connection)
2020-11-18 17:28:27 knupfer joins (~Thunderbi@200116b8244bd600859a1b799407ebc4.dip.versatel-1u1.de)
2020-11-18 17:30:14 <texasmynsted> Could with write what you can in Haskell and what you must, in C/Rust.
2020-11-18 17:30:28 <texasmynsted> oh yikes. I missed much scrollback
2020-11-18 17:31:20 <maerwald> Yeah, I think exploring rust and haskell in a single stack is interesting.
2020-11-18 17:31:22 <idnar> does `Scientific` preserve trailing zeroes?
2020-11-18 17:31:36 cgfuh joins (~cgfuh@181.167.191.58)
2020-11-18 17:32:06 ericsagn1 joins (~ericsagne@2405:6580:0:5100:b570:65da:9eeb:ab03)
2020-11-18 17:33:07 <texasmynsted> Yes, that is my plan at least
2020-11-18 17:33:18 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-11-18 17:33:25 AlterEgo- joins (~ladew@124-198-158-163.dynamic.caiway.nl)
2020-11-18 17:33:49 Ariakenom joins (~Ariakenom@h-98-128-229-104.NA.cust.bahnhof.se)
2020-11-18 17:35:30 <texasmynsted> I tried two almost the same projects. One in Haskell and one in Rust. Just to see how they feel and compare. Rust feels verbose and awkward when encountering complexity.
2020-11-18 17:35:33 <merijn> idnar: Probably not
2020-11-18 17:36:23 <texasmynsted> But when getting closer to the metal language options shrink dramatically.
2020-11-18 17:37:02 × Boomerang quits (~Boomerang@xd520f68c.cust.hiper.dk) (Remote host closed the connection)
2020-11-18 17:37:13 × cgfuh quits (~cgfuh@181.167.191.58) (Quit: WeeChat 2.9)
2020-11-18 17:37:26 cgfuh joins (~cgfuh@181.167.191.58)
2020-11-18 17:38:14 × jonatanb quits (~jonatanb@83.24.155.27.ipv4.supernova.orange.pl) (Quit: Leaving...)
2020-11-18 17:40:08 <merijn> Pet peeve "C is not close to the metal"

All times are in UTC.