simplified language in JavaScript engine

This commit is contained in:
Jeena Paradies 2011-05-10 14:17:59 +02:00
parent 4a339df475
commit 0c1a46b82e

View file

@ -7382,11 +7382,12 @@ ons and the flexibility of the language.
\end_layout \end_layout
\begin_layout Standard \begin_layout Standard
There are two main JavaScript virtual machines, or There are two JavaScript virtual machines, or
\emph on \emph on
engines engines,
\emph default \emph default
available at the time of the writing of this thesis. with suitable bindings to erlang available at the time of the writing of
this thesis.
There is a group of machines developed by Mozilla called There is a group of machines developed by Mozilla called
\emph on \emph on
TraceMonkey, JaegerMonkey, SpiderMonkey TraceMonkey, JaegerMonkey, SpiderMonkey
@ -7395,9 +7396,13 @@ and
\emph on \emph on
IonMonkey IonMonkey
\emph default \emph default
, and also there is Google V8. , and also there is Googles
The group of Mozilla machines are largely the same, and are referred to \emph on
as the same machine for simplicity. V8
\emph default
.
The members in the group of Mozilla machines are largely the same, and
are referred to as the same machine for simplicity.
\end_layout \end_layout
\begin_layout Standard \begin_layout Standard
@ -7410,25 +7415,24 @@ erlang_js
\end_layout \end_layout
\begin_layout Standard \begin_layout Standard
Erlang_js provides direct communication with the JavaScript VM. erlang_js provides direct communication with the JavaScript VM.
Which is exactly what is desired, however also required is thee possibility Which is exactly what is desired, however also required is the possibility
to communicate from erlang_js to Erlang. to communicate from JavaScript to Erlang.
The ability to communicate from JavaScript to Erlang functionality is not The ability to communicate from JavaScript to Erlang is not yet implemented
yet implemented in erlang_js, due to lack of time on the behalf of the in erlang_js, due to lack of time of the erlang_js developers.
erlang_js developers.
\end_layout \end_layout
\begin_layout Standard \begin_layout Standard
There were two possible solutions to the problem of the JavaScript to Erlang There were two possible solutions to the problem, either one would implement
communication path missing, the path could be implemented by the GGS project, the missing functionality, or a switch from erlang_js to some other JavaScript
or a switch from erlang_js for some other JavaScript engine could be made. engine with better bindings could be made.
\end_layout \end_layout
\begin_layout Standard \begin_layout Standard
Attempts at creating the communication path from JavaScript to Erlang were Attempts at implementing the missing functionality were initially made but
initially made, however the communication path never became stable enough never became stable enough for usage in the GGS and the erlang_js software
for usage in the GGS and the erlang_js software was abandoned. was abandoned.
\end_layout \end_layout
\begin_layout Subsection \begin_layout Subsection
@ -7436,18 +7440,16 @@ erlv8
\end_layout \end_layout
\begin_layout Standard \begin_layout Standard
erlv8 is powered by the V8 engine developed by Google rather than the engines erlv8 is powered by the V8 engine developed by Google.
developed by Mozilla. The ability to communicate from JavaScript to Erlang using callbacks (aka
The ability to communicate with Erlang from JavaScript using callbacks NIF) is available in the erlv8 bindings and can be used within the GGS.
is available in the erlv8 bindings, therefore this feature does not have
to be added to the bindings in order to be used in the GGS.
\end_layout \end_layout
\begin_layout Standard \begin_layout Standard
Initial releases of the erlv8 bindings had stability issues, these were Initial releases of the erlv8 bindings had stability issues, these however
however solved by the erlv8 developers during the usage of erlv8 in the were resolved by the erlv8 developers during the development GGS.
GGS. At this point erlv8 is the JavaScript engine powering JavaScript as a GDL
erlv8 is the JavaScript engine powering JavaScript as a GDL in the GGS. in the GGS.
\end_layout \end_layout
\begin_layout Standard \begin_layout Standard