Hacker News new | ask | show | jobs
by Latty 2543 days ago
Ports have always existed. The change was to stop people writing "effect modules" which were the unsafe version of this where you could run arbitrary JS.

The upside to this is that because ports work by message passing, it means that all the language's guarantees can be held even when using them, and packages can't do anything without you knowing about it.

The downside is it is a lot more verbose and awkward. In my opinion, it also makes community contribution to the standard library a lot harder.