Hi Paul,

Please forgive my ignorance, but don't the things you advocate require access to, or rewriting of, the JS Server side? Or are you performing this magic from the client side? That’s all I have access to in these foreign tools.

- DM

On Jul 5, 2016, at 09:48, Paul Tarvydas <paultarvydas@gmail.com> wrote:

On 16-07-04 04:08 AM, Kenneth Tilton wrote:


On Sun, Jul 3, 2016 at 10:18 PM, David McClain <dbm@refined-audiometrics.com> wrote:
Hi Ken,

I think I see what you are recommending. But one of the facts of these external programs is the lack of multi-processing in their JS interpreters.

JS is always single-threaded. (But CLJS can fake threads -- they really are doing some good work.)

Aside: all cpu cores are always single-threaded[*].  Multi-processing is an epicycle[+], an illusion.

If you don't need variables on the stack / full-preemption, nor access to special hardware like mmu's, then writing concurrent programs in js is a breeze (esp. with closures).

See collate-fbp-classic and FBP-from-scratch on https://github.com/guitarvydas or try reading my essays on https://bittarvydas.wordpress.com/.

pt

[*] modulo some kind of hardware assist in modern cpu's.  If you understand how to build a multi-tasking O/S on 8-bit cpu's, then you understand how to do this in js (or just about any language) as well.

[+] An epicycle because "we" decided to standardize on subroutines instead of co-routines at Albuquerque [Bugs Bunny].