PureScript has the same goals I had with Roy but hits them much better:
http://www.purescript.org/
Similar to Roy, it's possible to violate referential transparency in
PureScript but you'll have to write FFI code to do it.
> --
> You received this message because you are subscribed to the Google Groups
> "roylang" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to
roylang+u...@googlegroups.com.
> For more options, visit
https://groups.google.com/d/optout.