From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <4f34febc0902021322x12767a07rcffdbe8d1c349438@mail.gmail.com> References: <4f34febc0901312147m1ae91148oa384c00bb2430b1d@mail.gmail.com> <1d7d61e068228cc77ea1f53fc7eb4459@quanstro.net> <4f34febc0901312327h2fe297bk490d3ee36faac5e@mail.gmail.com> <140e7ec30902021125k6ffb0e9fic8a8152dd8f05ea8@mail.gmail.com> <4f34febc0902021322x12767a07rcffdbe8d1c349438@mail.gmail.com> Date: Mon, 2 Feb 2009 13:32:26 -0800 Message-ID: <3e1162e60902021332k2fd57392ob6b0e840cae4d6c6@mail.gmail.com> From: David Leimbach To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=000e0cd30470847aa30461f64a82 Subject: Re: [9fans] Pegasus 2.6 is released Topicbox-Message-UUID: 92699a78-ead4-11e9-9d60-3106f5b1d025 --000e0cd30470847aa30461f64a82 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit On Mon, Feb 2, 2009 at 1:22 PM, John Barham wrote: > > You're missing the beauty of 9p. Who needs dynload() when you have > mount()? > > Mount allows me to add new names to the process namespace. Dynload > allows me to call functions or access data in a library that is not > known to the process (e.g., scripting language interpreter) until > runtime. They solve different problems. They solve the same class of problems, if you step back far enough. If your application's mechanism of dealing with processing is to use the namespace, then binding new functionality over old is roughly equivalent to a plugin mechanism. I mean sure you could use FTP to transfer files, but the old shell based tools are automagically plugged in with network capabilities when they deal with a FTP backed namespace right? So without any binary loader capabilities "cp" "mv" and other existing "small programs" are now "plugged in". Dave > > > John > > --000e0cd30470847aa30461f64a82 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

On Mon, Feb 2, 2009 at 1:22 PM, John Bar= ham <jbarham@gmai= l.com> wrote:
>  You're missing the beauty of 9p. Who n= eeds dynload() when you have mount()?

Mount allows me to add new names to the process namespace.  Dynl= oad
allows me to call functions or access data in a library that is not
known to the process (e.g., scripting language interpreter) until
runtime.  They solve different problems.

They solve the same class of problems, if you step back far enough. &nbs= p;

If your application's mechanism of dealing = with processing is to use the namespace, then binding new functionality ove= r old is roughly equivalent to a plugin mechanism.

I mean sure you could use FTP to transfer files, but th= e old shell based tools are automagically plugged in with network capabilit= ies when they deal with a FTP backed namespace right?  So without any = binary loader capabilities "cp" "mv" and other existing= "small programs" are now "plugged in".

Dave

 


 John


--000e0cd30470847aa30461f64a82--