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].