Rave uses the es6-module-loader[1] project for its loader. That loader is based off of the proposed ES6 Loader spec being developed by the TC39 team. Coincidentally, some parts of it look a lot like what I was working on as a successor to curl.js, anyways.
That said, I have some disagreements with the TC39 folks who are designing the official ES6 Loader spec, but hopefully they'll eventually fix the inherent performance and scalability problems it currently has.
The biggest difference is that the ES6 Loader will prefer the forthcoming ES6 module format. The existing ES5 formats (AMD, node) can be adapted, as can future translated/transpiled languages, but must be accommodated via "loader hook overrides". Rave comes with some essential loader hook overrides for AMD, node, and global scripts and allows easy installation of other overrides for CSS, text/html, json, etc.[2]
Another difference is size. Rave is way bigger than curl because rave is more complex and uses es6-module-loader, which isn't very efficient and comes with a lot of baggage atm. (Guy has actually made it possible to use parts of es6-module-loader, but we haven't taken advantage of that feature, yet.)
Once rave has a decent feature set, we can start working on its size and speed.
-- John