Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→
Page 1 .. 297 298 299 300 301 302 303 304 305 306 307 .. 17989
1,798,845 events total
2021-06-05 20:36:36 azeem joins (~azeem@176.200.190.170)
2021-06-05 20:37:25 fendor joins (~fendor@91.141.0.144.wireless.dyn.drei.com)
2021-06-05 20:37:58 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e061:bfad:5c85:da98)
2021-06-05 20:39:03 × azeem quits (~azeem@176.200.190.170) (Read error: Connection reset by peer)
2021-06-05 20:39:16 azeem joins (~azeem@dynamic-adsl-94-34-34-125.clienti.tiscali.it)
2021-06-05 20:40:46 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e061:bfad:5c85:da98) (Remote host closed the connection)
2021-06-05 20:40:59 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e061:bfad:5c85:da98)
2021-06-05 20:41:57 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
2021-06-05 20:42:18 × xff0x quits (~xff0x@2001:1a81:53bd:ad00:cace:1aaf:4d66:6b7f) (Ping timeout: 264 seconds)
2021-06-05 20:43:59 xff0x joins (~xff0x@185.65.135.235)
2021-06-05 20:44:28 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
2021-06-05 20:48:45 Henson joins (~kvirc@23-233-1-122.cpe.pppoe.ca)
2021-06-05 20:49:24 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Ping timeout: 268 seconds)
2021-06-05 20:49:26 <Henson> has the freenode #haskell channel moved to here?
2021-06-05 20:49:36 <boxscape> Henson, yes
2021-06-05 20:50:05 <boxscape> oh, neat, the official rust playground default code starts with a reference to Haskell and an implementation of the Monad trait https://play.rust-lang.org/
2021-06-05 20:50:42 <boxscape> (it also fails to compile for me)
2021-06-05 20:51:30 <boxscape> (because apparently you need to select nightly instead of stable at the top)
2021-06-05 20:52:51 × fendor quits (~fendor@91.141.0.144.wireless.dyn.drei.com) (Remote host closed the connection)
2021-06-05 20:53:23 <monochrom> :)
2021-06-05 20:53:39 × zeenk quits (~zeenk@2a02:2f04:a310:b600:b098:bf18:df4d:4c41) (Quit: Konversation terminated!)
2021-06-05 20:53:43 × xff0x quits (~xff0x@185.65.135.235) (Ping timeout: 268 seconds)
2021-06-05 20:53:57 fendor joins (~fendor@91.141.0.144.wireless.dyn.drei.com)
2021-06-05 20:55:12 xff0x joins (~xff0x@2001:1a81:53bd:ad00:cace:1aaf:4d66:6b7f)
2021-06-05 20:56:09 <maerwald> no one runs stable
2021-06-05 20:56:29 pritambaral joins (~pritam@user/pritambaral)
2021-06-05 21:01:10 × alx741 quits (~alx741@186.178.108.209) (Ping timeout: 245 seconds)
2021-06-05 21:02:45 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-06-05 21:03:38 ddellacosta joins (~ddellacos@89.45.224.196)
2021-06-05 21:06:13 × mc47 quits (~yecinem@89.246.239.190) (Remote host closed the connection)
2021-06-05 21:13:25 <ski> _73 : note that "a uniquely determines b" *doesn't* mean that, for any given `a', there *has* to be a corresponding `b', with `C a b'. what it does say is that there can't be *more* than one `b' corresponding to each `a'. so, for each `a', there is at *most* one `b' such that `C a b'
2021-06-05 21:14:31 alx741 joins (~alx741@186.178.109.11)
2021-06-05 21:14:48 ddellaco_ joins (~ddellacos@86.106.121.33)
2021-06-05 21:16:58 haask joins (~harry@92.234.0.237)
2021-06-05 21:16:59 <ski> _73 : what this practically means, is two things : (a) the implementation ensures that you can't have instances `C T U0' and `C T U1' at the same time, for differing types `U0' and `U1'; and (b) whenever you have two constraints `C a b0' and `C a b1' (e.g. because of using methods of `C' in a way that ensures that the same type `a' is used), then the implementation knows that `b0' must be equal to `b1'
2021-06-05 21:17:00 × boioioing quits (~boioioing@cpe-76-84-141-127.neb.res.rr.com) (Ping timeout: 245 seconds)
2021-06-05 21:17:05 <ski> (since there can be at most one `b' corresponding to an `a'), so it unifies `b0' and `b1' (call that `b'), and replaces the two constraints with just a single `C a b' one
2021-06-05 21:17:18 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2021-06-05 21:18:04 <ski> _73 : it's this (b) part which can help type inference (e.g. simplifying inferred types, and especially avoiding ambiguity which often otherwise could arise)
2021-06-05 21:18:12 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2021-06-05 21:19:36 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
2021-06-05 21:19:37 × ddellaco_ quits (~ddellacos@86.106.121.33) (Ping timeout: 272 seconds)
2021-06-05 21:20:01 × HarveyPwca quits (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06) (Remote host closed the connection)
2021-06-05 21:20:04 <ski> _73 : logically speaking, we could say that the FD in `class C a b c | a -> b' expresses `forall a. unique b. exists c. C a b c' (for each type `a', there can be at most one type `b', (nevermind which type `c' is), satisfying `C a b c'
2021-06-05 21:20:22 × Bartosz quits (~textual@24.35.90.211) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-06-05 21:20:25 HarveyPwca joins (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06)
2021-06-05 21:21:13 <ski> _73 : another (equivalent) way of expressing this is `forall a b0 b1 c0 c1. (C a b0 c0,C a b1 c1) => b0 = b1' (if we have two instances with the same `a' parameter, then the `b' parameter must also be the same (no restriction on the `c' one))
2021-06-05 21:21:26 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
2021-06-05 21:21:30 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Quit: mikoto-chan)
2021-06-05 21:21:33 <mrmonday> boxscape: I think that's just left over from a previous playground link you clicked... it defaults to hello world if you open it in a private/incognito window
2021-06-05 21:21:44 <boxscape> oh, hm
2021-06-05 21:21:59 <boxscape> let me see how I got there
2021-06-05 21:22:12 <boxscape> (I don't think I've ever been on rust-lang.org before)
2021-06-05 21:22:23 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
2021-06-05 21:22:47 <boxscape> it's what I got after clicking on the first link for "try rust online" in google
2021-06-05 21:22:47 <mrmonday> I always find interesting code there that I'd forgotten about
2021-06-05 21:23:07 <mrmonday> most of the rust playground links I click are people doing weird things with the type system
2021-06-05 21:23:28 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-06-05 21:23:30 <boxscape> mrmonday hmm I guess I must have clicked on a link to it at some point with that code without remembering
2021-06-05 21:23:53 <mrmonday> yeah, it sticks around forever
2021-06-05 21:25:38 <boxscape> mrmonday yup, found it, a link to there with this gist hash as URL param was in my history https://gist.github.com/rust-play/61caef82814783feadc33a3b865fe8b3
2021-06-05 21:26:23 × ddellacosta quits (~ddellacos@89.45.224.196) (Ping timeout: 252 seconds)
2021-06-05 21:27:20 <mrmonday> there's gonna be some really exciting and really horrifying code when that feature stabilises, I'm sure :)
2021-06-05 21:27:42 <boxscape> hah, yeah
2021-06-05 21:27:43 × sayola quits (~vekto@dslc-082-082-145-205.pools.arcor-ip.net) (Quit: Leaving.)
2021-06-05 21:28:17 <boxscape> (though I wouldn't know, I've never seen rust snippets longer than 3 lines, save for that gist)
2021-06-05 21:29:06 × Jeanne-Kamikaze quits (~Jeanne-Ka@static-198-54-128-61.cust.tzulo.com) (Ping timeout: 264 seconds)
2021-06-05 21:29:13 <mrmonday> I've seen a full implementation of the standard suite of haskell classes using stable Rust before, that was... interesting
2021-06-05 21:31:05 <mrmonday> it was like when you see code based on a paper and it's completely illegible until you've read/understood the paper... crossed with someone really pushing a languages type system to its limits in ways it's really not designed to be used
2021-06-05 21:33:11 × alx741 quits (~alx741@186.178.109.11) (Ping timeout: 268 seconds)
2021-06-05 21:33:34 <boxscape> I once started (but didn't get very far) implementing GHC's base in haskell... here is what `data () = ()` looks like: https://github.com/JakobBruenker/jase/blob/master/jase-lib/main/com/github/jakobbruenker/jase/prim/ghc/Tuple.java#L48-L61
2021-06-05 21:33:39 <boxscape> in Java
2021-06-05 21:33:41 <boxscape> not in Haskell
2021-06-05 21:33:45 <boxscape> that would be somewhat redundant
2021-06-05 21:33:58 <ski> mrmonday : including higher-order ones, like `Functor' ?
2021-06-05 21:34:25 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
2021-06-05 21:34:26 <dibblego> ya can't in Java
2021-06-05 21:34:28 <boxscape> wait
2021-06-05 21:34:32 <boxscape> that repo is secret isn't it
2021-06-05 21:35:00 <boxscape> https://paste.tomsmeding.com/1PbbTe9e is the code that link points to
2021-06-05 21:35:15 <boxscape> dibblego yeah there's lots of things you can't do in Java, but a surprising number of things you can do
2021-06-05 21:35:17 <c_wraith> I was under the impression rust can fake Functor in a way, but it totally falls over when you get to Traversable (A higher-kinded class over an independently higher-kinded-polymorphic function)
2021-06-05 21:35:48 <dibblego> boxscape: yes we did this 15 years ago https://functionaljava.org/
2021-06-05 21:36:14 <boxscape> dibblego ah, nice, I've been on that website a few times
2021-06-05 21:36:37 <mrmonday> ski: yeah, there are some really interesting tricks you can use in stable rust to "implement" Functor
2021-06-05 21:36:50 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-06-05 21:36:51 <dibblego> also Java 7 lambdas http://javac.info
2021-06-05 21:36:54 <mrmonday> implement feels like the wrong word to use there :P
2021-06-05 21:37:17 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-06-05 21:37:52 <dibblego> the fake is called "Lightweight Higher-Kinded Polymorphism" and "lightweight" is a generous adjective
2021-06-05 21:39:01 × bitmapper quits (uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity)
2021-06-05 21:41:32 × pieguy128 quits (~pieguy128@bas1-quebec14-67-70-101-46.dsl.bell.ca) (Ping timeout: 272 seconds)
2021-06-05 21:42:38 pieguy128 joins (~pieguy128@bas1-montreal02-65-92-161-178.dsl.bell.ca)
2021-06-05 21:46:22 alx741 joins (~alx741@186.178.108.47)
2021-06-05 21:47:00 ski . o O ( "Java Precisely" by Peter Sestoft (of Moscow ML fame) in 2002 (1st ed.),2005 (2nd ed.),2016 (3rd ed.) at <https://www.itu.dk/people/sestoft/javaprecisely/> mentions various functional stuff (in 3rd ed.) )
2021-06-05 21:48:03 × echoreply quits (~echoreply@45.32.163.16) (Quit: WeeChat 1.9.1)
2021-06-05 21:48:31 echoreply joins (~echoreply@45.32.163.16)
2021-06-05 21:49:09 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
2021-06-05 21:49:21 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
2021-06-05 21:50:01 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)

All times are in UTC.