On Thursday, 30 October 2014 at 09:35:04 UTC, Suliman wrote:
It is possible, but you need to design the language within the constraints of javascript:

1. single threaded (or worker threads)

Javascript is single threaded by nature. Parallel execution is done in isolation. No shared memory.

2. 53 bits integers, 26 bits for multiplies.

Javascript only support double. Double has 53 bits precision. So without emulation javascript support:

53 bit division /
52 bit addition +, -
32 bit masking &, |
26 bit fast multiply *

4. "weird" fixed size heaps (ArrayView)

You can allocate a fixed size byte array and put aligned typed views on it in modern browsers. This is used in asm.js

5. if garbage collection then it has to be javascript style

You have no notion of a stack in javascript. You are therefore stuck with what javascript provides.

6. no tricks: forget coroutines

You cannot implement your own coroutines without an emulation layer which will be heavy.

I can't understand why this restructions? Could you explain them?

The restrictions come from what javascript can do efficiently (execution time, code size and memory use).

Reply via email to