Logs: freenode/#haskell
| 2020-09-17 05:06:18 | <davean> | Usually if you're writing your own monad though not composing MTL you're doing something "interesting" that would get reused elsewhere. |
| 2020-09-17 05:06:27 | <davean> | Not always but its a good predictor |
| 2020-09-17 05:07:02 | <davean> | siraben: I'd say usually you write your own when you care about semantics, not capabilities, but thats not well defined. |
| 2020-09-17 05:07:35 | × | exodrifter quits (adacad5d@cpe-173-172-173-93.tx.res.rr.com) (Remote host closed the connection) |
| 2020-09-17 05:08:26 | × | isovector1 quits (~isovector@172.103.216.166.cable.tpia.cipherkey.com) (Quit: Leaving) |
| 2020-09-17 05:09:09 | → | asan joins (~yan4138@124.78.5.33) |
| 2020-09-17 05:09:46 | <davean> | siraben: did that make sense? |
| 2020-09-17 05:10:05 | <siraben> | davean: what do you mean by capabilities? |
| 2020-09-17 05:10:28 | <davean> | "Get access to Disk" "Ask about a value" |
| 2020-09-17 05:10:30 | × | nan` quits (~nan`@unaffiliated/nan/x-5405850) (Ping timeout: 260 seconds) |
| 2020-09-17 05:10:54 | <siraben> | Ah, I see. |
| 2020-09-17 05:11:01 | → | jedws joins (~jedws@101.184.189.58) |
| 2020-09-17 05:11:05 | <siraben> | And semantics here as in PL semantics? |
| 2020-09-17 05:11:10 | → | Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 2020-09-17 05:11:21 | <davean> | semantics: "Do monadic things sequentually, but applicative things on a thread pool of a given size" |
| 2020-09-17 05:11:37 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 264 seconds) |
| 2020-09-17 05:12:12 | <davean> | yah, semantics are about how you do the computation |
| 2020-09-17 05:12:29 | <davean> | hence PlanT as an example |
| 2020-09-17 05:12:32 | Lord_of_Life_ | is now known as Lord_of_Life |
| 2020-09-17 05:12:42 | <davean> | topos: slap me around and say something a little tighter? |
| 2020-09-17 05:13:20 | topos | slaps davean |
| 2020-09-17 05:13:23 | <topos> | something a little tighter |
| 2020-09-17 05:13:42 | <davean> | Cont is the exception |
| 2020-09-17 05:13:46 | <davean> | that does anything, badly. |
| 2020-09-17 05:14:12 | × | mmohammadi9812 quits (~mmohammad@5.116.223.123) (Ping timeout: 256 seconds) |
| 2020-09-17 05:14:25 | → | rapskalian joins (~user@2601:804:8400:5750:6d07:cb01:64a9:36bb) |
| 2020-09-17 05:14:40 | <siraben> | One issue I've had with effects was trying to convert my Scheme interpreter to a monadic version |
| 2020-09-17 05:14:41 | <siraben> | https://github.com/siraben/r5rs-denot/blob/fba3b49d88c6d7c4e7a2cff302589a669a4fdb88/src/SchemeEval.hs#L10 |
| 2020-09-17 05:15:01 | × | Foritus quits (~buggery@cpc91334-watf11-2-0-cust153.15-2.cable.virginm.net) (Read error: Connection reset by peer) |
| 2020-09-17 05:15:22 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-157-9.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection) |
| 2020-09-17 05:15:39 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-157-9.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 2020-09-17 05:15:44 | <siraben> | I tried something like, Except over Reader over Cont over State, but the Except <> Cont interaction didn't work out |
| 2020-09-17 05:16:06 | <siraben> | In a sense I don't want Haskell's full range of continuations, just the Scheme continuations, if that makes sense |
| 2020-09-17 05:16:06 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
| 2020-09-17 05:16:07 | → | dansho joins (~dansho@ip68-108-167-185.lv.lv.cox.net) |
| 2020-09-17 05:16:20 | <davean> | siraben: That sure is a scheme interpriter that reads like scheme! |
| 2020-09-17 05:16:47 | <siraben> | davean: Heh, it was converted directly from the denotational semantics of R5RS |
| 2020-09-17 05:16:59 | <davean> | I ... could have guessed |
| 2020-09-17 05:17:20 | → | Foritus joins (~buggery@cpc91334-watf11-2-0-cust153.15-2.cable.virginm.net) |
| 2020-09-17 05:18:12 | <siraben> | Maybe it was someone here who mentioned that they were working a similar project and was planning to encapsulate primitive operations in a typeclass |
| 2020-09-17 05:18:35 | <siraben> | Like a CSEK machine. |
| 2020-09-17 05:18:37 | <siraben> | CESK* |
| 2020-09-17 05:19:11 | × | __Joker quits (~Joker@180.151.106.108) (Ping timeout: 272 seconds) |
| 2020-09-17 05:19:49 | × | rapskalian quits (~user@2601:804:8400:5750:6d07:cb01:64a9:36bb) (Ping timeout: 272 seconds) |
| 2020-09-17 05:20:11 | <siraben> | Hm, http://matt.might.net/articles/cesk-machines/ |
| 2020-09-17 05:20:48 | <topos> | i mean, edwardk's been doing some of that with his livestreaming. I'm working on a machine based on matt might's abstract abstract interpreters work as well |
| 2020-09-17 05:20:51 | → | justanotheruser joins (~justanoth@unaffiliated/justanotheruser) |
| 2020-09-17 05:21:00 | <edwardk> | i need to stream again |
| 2020-09-17 05:21:12 | <siraben> | edwardk: streaming on twitch? |
| 2020-09-17 05:21:39 | × | elliott_ quits (~elliott@pool-71-114-77-65.washdc.fios.verizon.net) (Quit: WeeChat 2.9) |
| 2020-09-17 05:21:58 | <edwardk> | yeah, i moved and never bothered to get set back up |
| 2020-09-17 05:22:17 | <siraben> | topos: are you referring to http://matt.might.net/papers/might2010free.pdf ? |
| 2020-09-17 05:22:19 | → | elliott_ joins (~elliott@pool-71-114-77-65.washdc.fios.verizon.net) |
| 2020-09-17 05:22:47 | <siraben> | Wow, that circular dependence in figure 1 is exactly the issue I came across |
| 2020-09-17 05:22:48 | <topos> | yeah |
| 2020-09-17 05:23:28 | <topos> | but this one http://matt.might.net/papers/vanhorn2010abstract.pdf |
| 2020-09-17 05:23:39 | <topos> | it's all gravy tho |
| 2020-09-17 05:24:03 | <edwardk> | siraben: that interpreter is nice and direct |
| 2020-09-17 05:24:40 | <siraben> | edwardk: the r5rs-denot one? |
| 2020-09-17 05:24:53 | <edwardk> | capturing scheme continuations in a CESK machine is super simple. Capture K, restore K,. |
| 2020-09-17 05:24:58 | <edwardk> | yeah |
| 2020-09-17 05:25:07 | <siraben> | Thanks. |
| 2020-09-17 05:26:43 | × | elliott_ quits (~elliott@pool-71-114-77-65.washdc.fios.verizon.net) (Client Quit) |
| 2020-09-17 05:26:54 | → | eric joins (~eric@2804:431:c7d4:b75:19f7:ea85:5be8:4c8e) |
| 2020-09-17 05:26:57 | <siraben> | topos: interesting paper |
| 2020-09-17 05:27:23 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2020-09-17 05:27:41 | → | elliott_ joins (~elliott@pool-71-114-77-65.washdc.fios.verizon.net) |
| 2020-09-17 05:28:01 | × | Guest74761 quits (sid13060@gateway/web/irccloud.com/x-rcuirdcnfpfdubdp) () |
| 2020-09-17 05:28:27 | → | dsal joins (sid13060@gateway/web/irccloud.com/x-pvmusdavojjxflwa) |
| 2020-09-17 05:28:38 | <siraben> | These techniques, do they carry over to compilation as well? I haven't looked much into abstract interpretation. |
| 2020-09-17 05:28:52 | dsal | is now known as Guest85365 |
| 2020-09-17 05:30:25 | → | __Joker joins (~Joker@180.151.106.108) |
| 2020-09-17 05:32:06 | × | eric quits (~eric@2804:431:c7d4:b75:19f7:ea85:5be8:4c8e) (Ping timeout: 244 seconds) |
| 2020-09-17 05:33:23 | Guest85365 | is now known as dsal |
| 2020-09-17 05:34:10 | <edwardk> | abstract interpretation can be a good first step towards compilation, as you get a sense of what cases are and aren't possible in each use site |
| 2020-09-17 05:34:19 | × | ransom quits (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-09-17 05:34:47 | <edwardk> | there's another paper by van horn and might on abstract abstract machines, that i'm particularly fond of |
| 2020-09-17 05:34:48 | <edwardk> | https://arxiv.org/pdf/1007.4446.pdf |
| 2020-09-17 05:34:59 | <edwardk> | that paper is the one that made abstract interpretation finally gel for me |
| 2020-09-17 05:35:01 | → | falafel joins (~falafel@2605:e000:1527:d491:f090:20fe:cddf:2a1a) |
| 2020-09-17 05:35:16 | × | __Joker quits (~Joker@180.151.106.108) (Ping timeout: 260 seconds) |
| 2020-09-17 05:36:45 | <siraben> | edwardk: Heh, the notation looks somewhat intimidating |
| 2020-09-17 05:37:19 | <edwardk> | all the greek letters and hats? |
| 2020-09-17 05:39:26 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 2020-09-17 05:39:34 | <edwardk> | the paper starts with a CEK machine, which you can squint at a krivine machine and see, adds a store, moves continuations into the store, then starts to play with what happens if you make the store, etc. less accurate approximations. |
| 2020-09-17 05:40:09 | <siraben> | Ok, so on closer inspection it may be tractable for me. |
| 2020-09-17 05:40:12 | × | lc_ quits (~lc@94.198.42.164) (Ping timeout: 272 seconds) |
| 2020-09-17 05:41:29 | <Axman6> | topos: for the encode loop, have you tried the version which just does the maths to compute the hex character for the nibble? |
| 2020-09-17 05:41:39 | × | mitchellsalad_ quits (uid40617@gateway/web/irccloud.com/x-wopqfurhxhollxgh) (Quit: Connection closed for inactivity) |
| 2020-09-17 05:43:06 | → | ransom joins (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) |
| 2020-09-17 05:43:30 | × | ransom quits (~c4264035@c-73-243-2-10.hsd1.co.comcast.net) (Client Quit) |
| 2020-09-17 05:43:39 | <edwardk> | one thing all these papers on quantitative type theory seem to sweep under the rug is how much harder it makes inference for things like what to instantiate meta variables to. |
| 2020-09-17 05:44:06 | <edwardk> | (just to mention a frustraton that is on y mind) |
| 2020-09-17 05:44:25 | <siraben> | edwardk: what paper are you reading? |
| 2020-09-17 05:44:52 | <edwardk> | well. i've been trying to build a little "ELF" style logical framework with quantitative type theory bolted in. |
| 2020-09-17 05:45:40 | <siraben> | Quantitative type theory differs from linear type theories in what way? |
| 2020-09-17 05:46:58 | <edwardk> | the papers in question are https://personal.cis.strath.ac.uk/conor.mcbride/PlentyO-CR.pdf which came first https://bentnib.org/quantitative-type-theory.pdf which fixed it up. then abel and bernardy which gave us the formulation for linear haskell, https://wg28.mpi-sws.org/technical-presentations/files/cfdb7_uploads/1584070624-w28-qtt-zion.pdf and finally the choudhury et al paper |
| 2020-09-17 05:46:58 | <edwardk> | https://richarde.dev/papers/2020/quantitative/quantitative.pdf |
| 2020-09-17 05:47:06 | <edwardk> | but the gist is this |
| 2020-09-17 05:47:08 | <edwardk> | take your type theory |
All times are in UTC.