I recently read a bunch of papers on Synchronous Programming Languages. They are very cool!
This chapter on Lucid Synchrone is my favorite so far in that it's super easy to see the connections between Elm. I wish I'd read it earlier :) It appears that many of the static checks on signal graphs we have discussed are implemented there, so I highly recommend it if you are thinking about loops or anything around more complex graphs.
This has also helped me understand why approaches with join have various issues. I'm hoping to incorporate a lot of these lessons into my StrangeLoop talk, so there'll at least be a video of this even if writing it up is taking forever.
On top of that, everything I've read so far has been extremely refreshing in that it is rigorous, efficient, and practically minded. I'm a big fan of this literature so far!