We're not using E, we're strongly inspired by it. It's written in Racket/Scheme because it's a very easy environment to do experimentation with language ideas in. It turns out everything we've built didn't really require language-level ideas, and could be ported to any language that has sane lexical scoping support. And with the CapTP networked layer, we might even be able to achieve interoperability.
In fact, we're in talks with the wonderful folks at Agoric, who are building very similar things in Javascript-land: https://agoric.com/
And we want our two CapTP implementations to be compatible. If we do that, you can have programs written in Scheme/Racket talking to programs written in Javascript just fine.
Hope that makes sense!