From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@cse.psu.edu Subject: Re: [9fans] Awk or Limbo ? From: geoff.9fans@collyer.net MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Message-Id: <20010427191000.3ABBA19A80@mail.cse.psu.edu> Date: Fri, 27 Apr 2001 15:09:41 -0400 Topicbox-Message-UUID: 95906de0-eac9-11e9-9e20-41e7f4b1d025 For writing some applications, limbo is quite pleasant. I've written concurrent ("multithreaded") programs in limbo and felt comfortable doing so, whereas using the Unix LWP (light-weight process) libraries (or POSIX threads) directly has always seemed hazardous. Unix LWPs are fighting Unix, specifically the libraries, that were designed assuming one process (or "thread") per address space. This is one reason (aside from unportability across Unixes and dubious gains) that we let Rich Salz go off and do INN; I had no desire to deal with that mess, especially the mess 10 years ago. However, limbo is implemented as a part of Inferno and the two are somewhat intertwined, so running limbo programs on Plan 9 is really running limbo programs in Inferno on Plan 9, and Inferno's interface as a command (emu) to the surrounding Plan 9 isn't seemless, though it's getting better. Thus forsyth's recent comments about a native implementation of limbo on Plan9, which would make it more appealing for some jobs. libthread attempts to capture some of the benefits of limbo (notably communication) in C, but I'd rather have one kind of process (not processes and threads) and it feels a little like LWP libraries to me, plus you don't get the concise limbo communication syntax and automatic memory (de)allocation.