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