- full support
- generator api translator tests
- target version: Ecmascript 5
JavaScript equivalents used for pseudo types and concepts:
Pseudo | JavaScript |
---|---|
List[T] | Array |
Dictionary[K, V] | Object |
Set[T] | Object with boolean values |
Tuple[T1, T2..] | Array |
Array | Array |
Int | Number |
Float | Number |
String | String |
for-loops | for, _.each |
classes | objects and prototypical inheritance |
methods | prototype functions |
functions | functions |
We use some standard javascript methods (.splice
, .slice
, Math...
), node.js
standard library (File
) and lodash
.
JavaScript doesn't really have the equivalent of a all-implementations-use-it standard library historically, and lodash
or underscore
are widely used to fill that gap for a lot of base type methods, so that was a good match for pseudo's goal.
In the future pseudo
might add support for different JS api translators targeting/using different libraries/your own library
Currently Ecmascript 5 is the most popular version, so that's what pseudo targets. Actually ES6/ES7/Coffeescript/Typescript are closer semantically and have a richer choice of builtin types/language structures, so they would be even easier to support in next versions.
io:read
is not currently supported, because it's typically equivalent
to a callback for the stdin
stream in Node.
Pseudo would support callback-based js api-s from v0.3 or v0.4