Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→
Page 1 .. 946 947 948 949 950 951 952 953 954 955 956 .. 18028
1,802,738 events total
2021-07-14 16:17:38 <EvanR> oof
2021-07-14 16:17:39 <davean> The concept of the cache giving wrong results generally falls under the term "memory ordering"
2021-07-14 16:18:12 <davean> https://en.wikipedia.org/wiki/Memory_ordering
2021-07-14 16:18:19 <davean> but also in multicore consistency, etc
2021-07-14 16:18:31 × cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds)
2021-07-14 16:18:32 cheater1__ joins (~Username@user/cheater)
2021-07-14 16:18:34 cheater1__ is now known as cheater
2021-07-14 16:18:50 <davean> If you use the CPU cache correctly you get correct results - if you use HTTP caching correctly you get correct result
2021-07-14 16:19:00 <davean> theres no mysteries here - other than what the x86 cache actually does!
2021-07-14 16:19:05 <davean> Its a bit unknown on x86
2021-07-14 16:19:15 <davean> ARM for example actually has something of a specification
2021-07-14 16:19:44 <davean> Mind you that wikipedia article focuses more on the instruction pipeline
2021-07-14 16:20:13 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-07-14 16:20:30 <davean> Both HTTP and the CPU cache directly tie back to https://en.wikipedia.org/wiki/Consistency_model
2021-07-14 16:20:53 <EvanR> can we has a type system that guarantees correct use of cache
2021-07-14 16:21:08 <davean> uh ...
2021-07-14 16:21:16 × jippiedoe quits (~david@2a02-a44c-e14e-1-1e76-24e-f48d-1c7a.fixed6.kpn.net) (Ping timeout: 268 seconds)
2021-07-14 16:21:24 <davean> Not for x86
2021-07-14 16:21:35 <davean> because we don't know the semantics for x86 so we'd have nothing to type against
2021-07-14 16:21:39 <davean> for ARM or something?
2021-07-14 16:21:50 × anandprabhu quits (~anandprab@94.202.243.198) (Quit: Leaving)
2021-07-14 16:22:01 <davean> sure, but you'd not like the type system, because it would dictact what came before and after for variable distances.
2021-07-14 16:22:19 <davean> Your types would be like some form of hoare triples I guess ...
2021-07-14 16:22:31 <EvanR> cool
2021-07-14 16:22:41 <davean> The compiler deals with this for you though
2021-07-14 16:22:43 <davean> thats its job
2021-07-14 16:22:47 <Profpatsch> [exa]: reductio ad absurdum
2021-07-14 16:22:58 <davean> its job is to be a compitent CPU user, like yours is to be a compitent cabal user
2021-07-14 16:23:02 <EvanR> it could maybe be a type system for use in a compiler
2021-07-14 16:23:26 <davean> EvanR: I think this is a better place for something like a model checker
2021-07-14 16:23:54 <davean> which, wait, is what we actually use currently
2021-07-14 16:23:58 <davean> so I guess thats a boring statement
2021-07-14 16:25:46 <davean> Well I'm kinda getting bored of giving a "how computers work - the basics" lecture, so I think I'll wander away
2021-07-14 16:26:53 <davean> I will say though if you want to do any performance optimisation in your future, I'd spend a few hours reading about this stuff, it only takes a few hours
2021-07-14 16:27:17 <davean> Computers are actually really simple
2021-07-14 16:27:32 <davean> You could learn enough to build one in a day
2021-07-14 16:27:58 <hololeap> what would be the recommended way to bind a python library to a haskell interface?
2021-07-14 16:28:22 <lechner> Hi, is yesod still a suitable foundation for a website these days? Thanks!
2021-07-14 16:28:30 <EvanR> all that aside, would be cool if websites showed the latest version, according to timestamps xD
2021-07-14 16:28:51 × jneira[m] quits (~jneira@214.red-176-83-92.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-07-14 16:29:11 <EvanR> sorry for boring!
2021-07-14 16:29:24 <davean> EvanR: its cool, and they CAN
2021-07-14 16:29:27 <davean> EvanR: if they don't, its by choice
2021-07-14 16:29:42 × Brianmancer quits (~Neuromanc@user/briandamag) (Ping timeout: 255 seconds)
2021-07-14 16:30:30 <davean> (For a trivial version: You put an ETag on the root page, you stick your resource at hashs, and set the hashes to cache forever since they're content addressed)
2021-07-14 16:31:11 ec joins (~ec@gateway/tor-sasl/ec)
2021-07-14 16:32:28 <davean> EvanR: the HTTP cache semantics are layed out in the RFC, and seperate CDN style caches from user's browser caches, and CDNs can do semi-consistent invalidations
2021-07-14 16:32:35 <davean> so this is ENTIRELY on the website in question
2021-07-14 16:34:03 <davean> EvanR: I you ever run a website you care to actually get performant and correct, I'd be happy to talk about all the various options with you
2021-07-14 16:34:15 hexfive joins (~eric@50.35.83.177)
2021-07-14 16:34:34 <davean> I'll point out a site like reddit doesn't even SERVE fresh content.
2021-07-14 16:34:39 <davean> never mind have the cache
2021-07-14 16:34:42 <davean> its just too expensive
2021-07-14 16:34:53 <davean> the content is updated by background tasks
2021-07-14 16:35:02 jneira[m] joins (~jneira@214.red-176-83-92.dynamicip.rima-tde.net)
2021-07-14 16:35:56 <davean> EvanR: Oh, you've probable seen the cleaner version of the above scheme - images like /.../img.jpg?12df22f2432fc22
2021-07-14 16:36:13 <davean> That last piece after the question mark is a cache buster, which has the hash of the content
2021-07-14 16:36:38 <davean> so you force your way through the cache whenever the content updates, but keep the nice base names
2021-07-14 16:36:41 <EvanR> the poor timestamps, so unappreciated xD
2021-07-14 16:37:02 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-07-14 16:37:14 <EvanR> anyway!
2021-07-14 16:41:24 × Atum_ quits (IRC@user/atum/x-2392232) (Ping timeout: 255 seconds)
2021-07-14 16:41:40 Gurkenglas_ joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-07-14 16:43:10 × Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-14 16:43:22 cheater1__ joins (~Username@user/cheater)
2021-07-14 16:43:39 × derelict quits (~derelict@user/derelict) (Ping timeout: 255 seconds)
2021-07-14 16:43:40 × cheater quits (~Username@user/cheater) (Ping timeout: 272 seconds)
2021-07-14 16:43:40 Vajb joins (~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01)
2021-07-14 16:43:40 × Vajb quits (~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01) (Read error: Connection reset by peer)
2021-07-14 16:43:45 cheater1__ is now known as cheater
2021-07-14 16:43:48 Vajb joins (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
2021-07-14 16:44:41 × jolly quits (~jolly@208.180.97.158) (Quit: Connection closed)
2021-07-14 16:44:42 × drd quits (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 268 seconds)
2021-07-14 16:45:00 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds)
2021-07-14 16:46:42 × s_ quits (~s@50.34.81.185) (Quit: Leaving)
2021-07-14 16:47:47 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-07-14 16:48:25 × qbt quits (~edun@user/edun) (Quit: WeeChat 3.2)
2021-07-14 16:48:51 × jneira[m] quits (~jneira@214.red-176-83-92.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-07-14 16:49:44 × chele quits (~chele@user/chele) (Read error: Connection reset by peer)
2021-07-14 16:50:19 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds)
2021-07-14 16:52:21 qbt joins (~edun@user/edun)
2021-07-14 16:53:52 MQ-17J joins (~MQ-17J@8.21.10.15)
2021-07-14 16:53:56 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-07-14 16:58:06 chomwitt joins (~Pitsikoko@ppp-94-67-202-202.home.otenet.gr)
2021-07-14 17:03:21 drd joins (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-14 17:03:29 arkanoid joins (~arkanoid@2-238-151-49.ip244.fastwebnet.it)
2021-07-14 17:03:35 × Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-07-14 17:03:44 <arkanoid> hello
2021-07-14 17:03:49 Vajb joins (~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01)
2021-07-14 17:07:27 <arkanoid> I'm not an haskell programmer, just a newcomer to FP that's reading book about category theory for programmers. The book give a lot of examples and talks about haskell, but there's a phrase that just triggered my curiosity: it says that Haskell standard library comes with proofs of correctness. Is that true?
2021-07-14 17:10:53 Profpatsch parts (~Profpatsc@static.88-198-193-255.clients.your-server.de) (WeeChat 3.1)
2021-07-14 17:11:29 <hololeap> arkanoid: is it the Milewski one?
2021-07-14 17:11:50 <monochrom> The answer is no.
2021-07-14 17:12:03 <davean> Uh, theres a liquid haskell covered base I think? Maybe?
2021-07-14 17:12:08 <davean> Certainly not the standard library!
2021-07-14 17:12:27 <davean> https://hackage.haskell.org/package/liquid-base I think?
2021-07-14 17:12:36 <davean> I've certainly never looked into it
2021-07-14 17:14:19 Atum_ joins (IRC@user/atum/x-2392232)
2021-07-14 17:15:05 Pickchea joins (~private@user/pickchea)
2021-07-14 17:15:20 <sm> lechner: certainly

All times are in UTC.