-
Notifications
You must be signed in to change notification settings - Fork 55
Commit f39077e

Steve Krouse
## Morning FRP readings, and next steps
* TOC
{: toc }
### Morning FRP readings
#### Flapjax
I started the morning by reading [the paper on the Flapjax language/library](http://cs.brown.edu/~sk/Publications/Papers/Published/mgbcgbk-flapjax/paper.pdf). It seems to do FRP in much the same way that CycleJS does: stream combinators. It's kinda neat in how it makes things higher level, but just as with CycleJS, I found it quite difficult to parse the code. However, it is crazy to think that this pre-dated CycleJS by a decade... I guess this goes to Bret's point about aiming higher than "improving programming."
#### "Real FRP"
I've gotten tired of [Haskell people talking about "real FRP"](https://news.ycombinator.com/item?id=7965027), so I spent a few hours re-reading [the Fran tutorial](http://conal.net/fran/tutorial.htm) and re-watching two of Conal's talks on it ([1](https://www.youtube.com/watch?v=j3Q32brCUAI) and [2](https://www.youtube.com/watch?v=teRC_Lf61Gw)). Finally, I feel like I have a clear understanding of what people mean by "real FRP." I don't think I had seen enough of the "fake FRP" when I first watched the video to understand the distinction:
Real FRP is (mostly) about continuous time, in the same way that vector graphics are about continous space. In other words, "resolution independent time", or "time as a function from the real numbers".
Real FRP is also about denotational design, of which I feel slightly closer to groking, but likely still a hundred hours of Haskell away from. One day I'll memorize the Typeclassopedia and everything will make sense.
### Next steps
#### Hareactive
This is a JS library for "real FRP", and I'm excited to play with it a bit.
#### Sean McDirmid
I've been seeing his name pop up a lot recently, so I'm excitd to check out this [Live Programming Experience](https://www.youtube.com/watch?v=YLrdhFEAiqo) video. Maybe I'll reach out too...
#### Callbags
I'm excited to check out Staltz [new article on Callbacks](https://egghead.io/articles/comparing-callbags-to-rxjs-for-reactive-programming).
#### Facebook Origami Community
Another thing I want to do is continue to investigate how far I can push Facebook's Origami. There are a few interesting threads in the FB Group I want to either look into or reply to, along with posting a question myself about updating complex centralized state.
* [https://www.facebook.com/groups/origami.community/search/?query=createElement](https://www.facebook.com/groups/origami.community/search/?query=createElement)
* [https://www.facebook.com/groups/origami.community/permalink/1180492722049608/](https://www.facebook.com/groups/origami.community/permalink/1180492722049608/)
* [https://www.facebook.com/groups/origami.community/1419542018144676/](https://www.facebook.com/groups/origami.community/1419542018144676/)
* [https://www.facebook.com/groups/origami.community/permalink/1577202409045302/](https://www.facebook.com/groups/origami.community/permalink/1577202409045302/)
#### Jonathan Edwards
He's also been saying interseting things on Twitter recently, so I've been meaning to reach out...
#### Synchronous programming langauges
Apparently, this is a interesting family of languages, including Lucid and Esterel, etc. I wonder where to start... This article on [Lucid Synchrone](http://www.di.ens.fr/~pouzet/bib/chap_lucid_synchrone_english_iste08.pdf) looks good.
#### Prototype a better text-based dataflow langague
As in re-write the logic for [a game I made yesterday for fun in WoofJS](woofjs.com/create#ballz). Maybe I could re-write it in Hareactive or just prototype it on paper (without a library to back it up).
#### More centralized place for todos
It's a bit crazy to put them in a log like this... Maybe /now or /todo would make sense...1 parent d898746 commit f39077eCopy full SHA for f39077e
File tree
Expand file treeCollapse file tree
0 file changed
+0
-0
lines changedFilter options
Expand file treeCollapse file tree
0 file changed
+0
-0
lines changed
0 commit comments