Discussion:
What Is Inferno?
(too old to reply)
Alex Efros
2007-02-24 01:25:48 UTC
Permalink
Hi!

Disclaimer: in my email there few topics (like JStyx or ACME) discussing
which may ease result in flame war. I don't try to start flame war here,
so please if you really-really wanna say "you wrong!" to me please use
email instead of maillist. These topics isn't related to main idea of this
message anyway.
there can be somebody ported vi?
i want mplayer, any more :-)
Few years ago I also asked these questions... and lack of satisfactory
answer result in forgetting about Inferno for next few years.

Maybe it's only me (and few my friends who also interested in Inferno) so
stupid, so we unable to understand What Is Inferno... but I think there
can be a lot of people with similar problem.

For me, "AHA!" happens few days ago, when I realized:
---> Inferno _ISN'T_ OS, it's environment! <---
Sounds strange, year? Especially after "Inferno is a compact operating
system ..." stated in first sentence at
http://www.vitanuova.com/inferno/index.html

Nowadays when people hear "OS" they start thinking about Windows or Linux.
Many also know "OS" can be for desktop and for server. But Inferno doesn't
look feature rich enough even for server OS. So, people compare Inferno to
Windows/*nix, and decide it's wonderful, amazing, but "toy" OS, unusable
for them right now... maybe later, when bash, apache, mysql, perl, vi and
mplayer :) will be ported... 4 years later we come back and... found
nothing is changed! Still no apache/mysql/etc!! WTF?! ;-)

My own "AHA!" can be described this way: Inferno isn't OS, it's more like
usual service/daemon, which serve Styx protocol and make resources of
host OS available for network.
BTW, that answer my old question: why there is no independent Styx
protocol realization on every popular language for every popular OS
yet - because they don't needed! I know, there one attempt do to this
for Java - JStyx project, but I suppose it authors just misunderstand
What Is Inferno like me and that's main reason why JStyx was born.
(If JStyx authors reading this and disagree - that's ok, it's just
my supposition and I may be wrong.)
This is was very simple, and probably not really correct "AHA!", but it
immediately changed everything: I stop feeling frustration about lack
of features in Inferno, I already have bash, vi (with syntax highlight for
limbo!), mc, mplayer and everything else I need for comfortable
development for Limbo/Inferno!
BTW, few years ago I've spend about 1-2 weeks trying to understand
ACME philosophy and learn how to use it... Lack of syntax highlight,
IntelliSense-like autocomplete (or even Vim-like word autocomplete),
3-button mouse requirement (my 2-nd button is wheel, and it isn't
comfortable to use it as usual button -- and I never see real
3-button mouse in shop in last ~10 years), using only part of screen
for editing source code (I prefer full-screen apps and hate window
philosophy)... Probably acme is just 'not for me', don't know.
Also, I must say, mouse-oriented interface is slow, even in acme!
Using key combinations like in Vim is much, much, much faster...

Today, after few discussions in this maillist and my own tests, I'm going
to change my mind this way: maybe it will be more correct to compare
Inferno to programming languages, like Perl. In both cases I should write
program, it will be compiled into bytecode, and then executed in virtual
machine. My program will have access to some high-level abstractions and
low-level (host OS) syscalls. So it can do virtually everything, and
probably with comparable speed! Only different things between Perl and
Inferno is environment with which I should interact while coding:
- Perl provide "more than one way to do it", a lot of high-level things like
structural, object-oriented and functions (map, grep, sort, etc.) styles
or programming, scalar variables and no type checking, and a lot of other
things to make development pleasant.
- Inferno provide very simple and elegant environment, hiding from me all
horrors of POSIX/Linux kernel/Glibc architecture and realization.
Also, I hope, it provide me much better control over resources spend by
my application (perl not just "eat" memory, it DEVOUR it! :)) without
forcing me to coding at too low level: free() memory, constructing
strings from arrays of chars and calling function every time I need to
concatenate or compare strings, etc.

I say "Inferno is like Perl" just because to use it I should know HOW I
can use it or What Is Inferno. For example, I need to develop some app:
fetch webpage from server, find all urls on this page and check is these
urls alive/exists. I can use perl/linux or limbo/inferno for this task.
Probably size of code, development speed and execution performance will be
comparable. So, only difference for me will be environment: choose
feature-rich and flexible perl together with ugly linux architecture or
not-so-feature-rich, but simple limbo with amazing inferno architecture.
If I'm developing complex regex app, I probably choose perl, because it's
regex much more flexible than inferno's. If I'm developing application
more tied to low-level linux architecture (complex I/O client/server).


#######################################################################


Of course I don't really think Inferno isn't OS - it's OS!
Of course I don't really think Inferno is just another programming
language like Perl or Java.

I use these assertions just to detect some boundaries of unusual Inferno
World:
- is I must use Inferno's browser, shell and text editors, or I can
edit .b files using mc and vim, and run wm/wm only when I need debugger
- is I should use Limbo only for development distributed application
or I can use it for most of other applications where I previous used
perl
- etc. (I expecting more "AHA" soon ;-))


RESUME: Probably Inferno documentation/website lack one very important
document, which made 100% clear What Is Inferno and for which (real!)
tasks it has sense to use it instead of another existing solutions.
What is strong and weak sides of Inferno, which limitation it has, etc.
Examples of tasks very suitable for Inferno (which use most strong and
less weak sides of Inferno), and examples of tasks not suitable for
Inferno.

Inferno is a tool. Very amazing tool. But to use it this isn't enough.
To use it we should know for which real tasks we can use this tool,
and how it compares to another tools (for these tasks).
I.e. when we've a task, we should be able to realize: that task is better
to develop using Inferno!

Sorry, looks like I'm repeating... time to stop writing. ;-)
--
WBR, Alex.
Alex Efros
2007-02-24 01:52:47 UTC
Permalink
Hi!
Post by Alex Efros
If I'm developing complex regex app, I probably choose perl, because it's
regex much more flexible than inferno's. If I'm developing application
more tied to low-level linux architecture (complex I/O client/server) -
I probably choose limbo. And I sure there a lot of another tasks more
suitable for inferno, even in situation when I don't need super-portable
application doing distributed computations.
--
WBR, Alex.
Uriel
2007-02-24 08:43:05 UTC
Permalink
Post by Alex Efros
BTW, that answer my old question: why there is no independent Styx
protocol realization on every popular language for every popular OS
yet - because they don't needed! I know, there one attempt do to this
for Java - JStyx project, but I suppose it authors just misunderstand
What Is Inferno like me and that's main reason why JStyx was born.
(If JStyx authors reading this and disagree - that's ok, it's just
my supposition and I may be wrong.)
There are many 9p/styx implementations, here is a list of some of them:

http://cat-v.org/9p/#Implementations

And while I'm the first to criticize the inferno documentation,
website, and general presentation and PR, it is up to whoever wants it
to come up with something better.

uriel
Alex Efros
2007-02-24 15:07:06 UTC
Permalink
Hi!
Post by Uriel
And while I'm the first to criticize the inferno documentation,
Ohh, I don't try to criticize the Inferno documentation! I just wish to
hear from somebody experienced What Is Inferno from practical point of
view. Which way I should think about it to find it useful for me.

Phrases like 'Inferno is OS' or 'Inferno is for grid/distributed computing'
doesn't make clear What Is Inferno, moreover they make it harder to
understand how Inferno can be used "for fun and profit (c)" - because of
misunderstanding "what is OS", for example, as I explained in previous
email.

Features like ability to run in 1MB and on any embedded devices isn't
important from this view: these features just select area Where Inferno
can be installed, but doesn't answer my question - in which cases it's
better to install/use Inferno instead of other OS.

For example, if Inferno is inefficient in all ways except it provide
exactly same environment on any host and so allow to develop portable
applications much ease (with sacrifice efficiency of that applications) -
then Inferno usage really will be limited to grid/distributed computing.

But looking at some benchmarks and discussions give me idea Inferno should
be as efficient and mature for most general tasks as other VM like Perl or
Java. In this case area where Inferno can be used become much wider than
just grid/distributed computing!

For example, I'm thinking about FastCGI protocol implementation for
Inferno - that make it possible to use Apache on hosted OS to run
CGI developed in Limbo very efficiently! And MySQL protocol (tcp)
realization - that make it possible for Inferno applications (CGI :))
to use MySQL server on host OS (or even on any other host on network).

But all that CGI-madness isn't for fun - I wish to be able to use it on
production servers, and for this it should be at least as efficient as Perl.
If Inferno efficient enough for general tasks, then after developing two
modules (FastCGI&MySQL) I'll have choice what to use: Perl or Limbo
for my CGI scripts and chances are I choose Inferno - because it should
allow me to develop nearly with same speed as in Perl but in much more
simple, elegant, etc. environment.

In other words, as developer I like Inferno and wish to use it. But I need
to develop production-level efficient and stable software and if Inferno
inefficient for my tasks or significantly slowdown my development it
become useless for me, just a "toy". :(
--
WBR, Alex.
Caerwyn Jones
2007-02-24 19:07:34 UTC
Permalink
Inferno is dried dung!
Alex Efros
2007-02-24 20:09:02 UTC
Permalink
Hi!
Post by Caerwyn Jones
Inferno is dried dung!
Ohh, thank God! I was afraid nobody knows answer on my question!
Looks like at least one know What Is Inferno.
Anybody else?
:-)
--
WBR, Alex.
Charles Forsyth
2007-02-24 22:29:30 UTC
Permalink
it's possibly only that it's the weekend; but i shall gladly answer you on Tuesday for your question today!
Alex Efros
2007-02-28 03:06:06 UTC
Permalink
Hi!

So, can anybody reply on this thread? :(

I sure: misunderstanding what is inferno and how it can be used is
very important topic. Inferno is very unusual thing, and many people
misunderstand it. If somebody who developing Inferno or actively using
it will explain his understanding of this topic, it should be very helpful
for others!

There also two other unanswered my threads (about exception-wrappers for
Sys module and strange compile-time error while trying to execute host os
command using Os module instead of Sh), but they are not very important,
so if nobody has time to answer I can understand - amount of my emails
in this maillist looks like spam now, sorry...
--
WBR, Alex.
Vester Thacker
2007-02-28 05:01:11 UTC
Permalink
Post by Alex Efros
So, can anybody reply on this thread? :(
I sure: misunderstanding what is inferno and how it can be used is
very important topic. Inferno is very unusual thing, and many people
misunderstand it. If somebody who developing Inferno or actively using
it will explain his understanding of this topic, it should be very helpful
for others!
The answer to "what is Inferno?" can be found at:
http://www.vitanuova.com/inferno/papers/bltj.html.

Regards,

Vester Thacker
Alex Efros
2007-02-28 06:46:25 UTC
Permalink
Hi!
Post by Vester Thacker
http://www.vitanuova.com/inferno/papers/bltj.html.
Actually, before subscribe to maillist, I've read all information about
Inferno I was able to find using Google both in english and russian.
Moreover, I'm interesting in Inferno many years, so I've read all that
documentations _many_ times each in last years.

Probably I'm trying to misuse Inferno, and that's my main and only problem.

I understand everything in bltj document. And I'm pretty sure Inferno is
really good for tasks described there and in other documents.

Only problem - I don't work in that area: I'm specializing in developing
effective network applications and web programming in Linux/Perl/MySQL
environment (read: spidering web sites (24x7, hundreds web pages per second),
parsing html (fast and accurate) and provide some services using that data).
But I really like Inferno architecture, and I wish to develop my software
in such simple and elegant environment. I'm able to keep Stevens APUE in
my mind and develop software with DJB-like reliability, but I'm tired of
ugliness and complexity of Linux (POSIX, *NIX) architecture. I can work
with it, and work good enough, but if I've choice to move to Inferno...

So, maybe this is misusing, but I wish to use Inferno for developing
mainly usual applications, neither distributed nor targeted to run on
anything except my Linux dedicated servers. Ability to make these apps
distributed with ease and run on Windows servers is nice 'bonus' for me,
but not very important.

And so we come to my questions, unanswered in bltj.html: is it possible to
(mis?)use Inferno for general programming? What is Inferno strong/weak
sides in this area, comparing to any usual language like Perl?

I'm pretty sure it's really hard to develop distributed applications
which should work everywhere in Perl and it's ease to do this in Inferno.
But this may in turn mean it's really hard to use Inferno for my
current tasks... :-(

My benchmarks make me optimistic enough, at least Inferno looks like
suitable for effective network programming. About parsing html - it's more
complex to say, because features of Inferno regex isn't enough. But maybe
this can be worked around by using yacc instead of regex, don't sure -
I never used yacc before.
--
WBR, Alex.
Vester Thacker
2007-02-28 11:46:02 UTC
Permalink
Post by Alex Efros
And so we come to my questions, unanswered in bltj.html: is it possible to
(mis?)use Inferno for general programming? What is Inferno strong/weak
sides in this area, comparing to any usual language like Perl?
Inferno provides an application development environment. Can you
misuse tools? Yes.

Before moving on let's define Inferno a bit. There are two versions, a
native version and an emulated version. Native Inferno consists of the
Inferno kernel, device drivers, driver call interface, driver
filesystem interface, Styx, and the Dis virtual machine. The hosted
Inferno consists of an emulator with device drivers, driver call
interface, driver filesystem interface, Styx, and the Dis virtual
machine.[1]

With this in mind, I don't see much of a correlation for comparing it
with the language Perl. I think you might be better served if you want
to compare GNU/Linux and the native version of Inferno, or compare
Perl and Limbo.

HTH,
Vester Thacker

[1] As described on pages 2 and 3 of "Inferno Programming with Limbo"
by Phillip Stanley-Marbell (2003).
Anthony Sorace
2007-02-28 13:12:12 UTC
Permalink
On 2/28/07, Alex Efros <powerman-***@public.gmane.org> wrote:

// ...is it possible to (mis?)use Inferno for general programming?

yes; it's not in any way misuse. most of the benefits of limbo apply
just as well to entirely local programs as they do to distributed
ones. the fact that it's really good for distributed computing doesn't
in any way make it unsuitable local programming.

// What is Inferno strong/weak sides in this area,
// comparing to any usual language like Perl?

well, you're comparing an entire OS/environment to a language, which
doesn't seem quite right. but the primary drawback of using
inferno+limbo as opposed to, say, linux+perl is that inferno doesn't
have the huge mass of existing libraries for things you might want to
do. it's also less integrated with the host environment than things
like perl, which is sometimes an issue for interactive, especially
graphical, programs.
Alex Efros
2007-02-28 15:53:33 UTC
Permalink
Hi!
Post by Anthony Sorace
// What is Inferno strong/weak sides in this area,
// comparing to any usual language like Perl?
well, you're comparing an entire OS/environment to a language, which
doesn't seem quite right. but the primary drawback of using
If I need to hammer in a nail and I can use both a hammer and a microscope
for this task, then I'll compare them to find out which one is better for
that task.

If I use entire OS/environment to write single application and execute it
on my Linux server - just like I use Perl - I'll compare it to Perl.

Actually, there not too much difference between them - they both:
1) developed on C and running in Linux
2) has a "drivers" which emulate inside Inferno/Perl some environment
which isn't exists in plain C/Linux environment:
- Inferno provide channels, Perl provide scalars
- Inferno provide "virtual" files which can be opened using open(),
Perl provide ability to run shell commands using open()
- etc.
3) has a virtual machine
4) provide programming language which can be compiled into that VM bytecode

Maybe it's too much philosophy, but from this view only differences
between Inferno and Perl are:
- internal environment provided for applications
- effectiveness of VM
- syntax and features of programming language
Post by Anthony Sorace
inferno+limbo as opposed to, say, linux+perl is that inferno doesn't
have the huge mass of existing libraries for things you might want to
This isn't really important for me.

While trying to develop really reliable applications I found most existing
libraries useless. They all usually feature-rich, but forget to handle
this case, and that case, and looks like most authors never hear about
signals and how unexpected signal can broke their libraries. :(
(DJB even don't use glibc in his C applications.)

Yeah, these libraries work 'most of time', and it has sense to use them to
develop feature-rich application very fast to make boss happy and earn money.
But I'm programming mostly for self-actualization, not for money, so I'd like
to develop much more reliable applications than my customer may really need.
I'm just trying to do my best, and this result in using only few existing
libraries - which really reliable, secure and effective or which I don't
have a time to rewrite myself yet.
Post by Anthony Sorace
do. it's also less integrated with the host environment than things
like perl, which is sometimes an issue for interactive, especially
graphical, programs.
Yeah, this can be a problem. For example, all my applications use
syslog (actually - 'socklog' http://smarden.org/socklog/ and
'svlogd' http://smarden.org/runit/) for reliable logs with rotation.
To continue using it from Inferno I probably should develop Limbo module
which will support syslog protocol.

Hmm... another interesting question: is it possible to open and write to
unix-socket file (a-la /dev/log used by syslog) from Inferno?
It's possible to use UDP instead, but it's less reliable and slower... :(
--
WBR, Alex.
Anthony Sorace
2007-02-28 18:28:03 UTC
Permalink
Post by Alex Efros
If I need to hammer in a nail and I can use both a hammer and a microscope
for this task, then I'll compare them to find out which one is better for
that task.
fair enough. but i think you might be comparing a hammer to a loaded
toolbox. there are certainly elements which make for a valid
comparison like you're trying to do (which will be better for
executing a single app on a single server?), but i think it's
contributing to your confusion over "what is inferno". inferno is
*also* particularly suited to distributed or networked applications,
or resource-constrained embedded devices, but that doesn't imply a
negative impact on its suitability for other tasks.
Post by Alex Efros
Actually, there not too much difference between them...
in the general case, if you're reducing the problem domain to exclude
the differences, then yes, there's not going to be many differences.
however, even within your list
Post by Alex Efros
- Inferno provide "virtual" files which can be opened using open(),
Perl provide ability to run shell commands using open()
i have a really hard time understanding how you view these as
equivalent (which seems to be the implication from your list). can you
explain that for me?
Post by Alex Efros
Maybe it's too much philosophy, but from this view only differences
- internal environment provided for applications
- effectiveness of VM
- syntax and features of programming language
those are pretty substantial differences. the last one makes a huge
difference in the speed and quality of application development on its
own. the first contributes to those as well (also providing
portability above and beyond just having a VM).

[ on existing library support ]
Post by Alex Efros
While trying to develop really reliable applications I found most existing
libraries useless. They all usually feature-rich, but forget to handle
this case, and that case...
in most cases i agree with you, but it's still worth pointing out.
this question is really bigger than your immediate task at hand.

[ on integration ]
Post by Alex Efros
Yeah, this can be a problem. For example, all my applications use
syslog (actually - 'socklog' http://smarden.org/socklog/ and
'svlogd' http://smarden.org/runit/) for reliable logs with rotation.
To continue using it from Inferno I probably should develop Limbo module
which will support syslog protocol.
i have some recollection of someone doing syslog for inferno some
months ago, but it's fuzzy. lacking that, yes, this is an example of
something you'd have to reproduce if you really need it.
Alex Efros
2007-03-01 00:11:17 UTC
Permalink
Hi!
Post by Anthony Sorace
[ on existing library support ]
this question is really bigger than your immediate task at hand.
[ on integration ]
i have some recollection of someone doing syslog for inferno some
months ago, but it's fuzzy. lacking that, yes, this is an example of
something you'd have to reproduce if you really need it.
I understand this. And I'm ready to develop all needed modules myself
(probably except something scaring like perl-regex-compatible engine -
I think it's anyway should be too slow in Limbo).

But on this way there can be limitations, which I'm unable to see now!

For example, if Inferno doesn't support unix sockets, then adding syslog
(and mysql) support become problematic because syslog's alternative (UDP)
neither reliable nor fast, and mysql's alternative (TCP) is also slower.

Developing TCP client which must download hundreds web pages per seconds
looks possible. But what about TCP server which should have 10000
clients connected simultaneously? That's result in 10000 blocking syscalls
executed 99% of time, i.e. 10000 host os threads PLUS 10000 internal
Inferno threads... scheduling them all may be big bottleneck, which can't
be worked around because Inferno doesn't have multiplexing for file
descriptors.

Another interesting example: half-closed sockets. If my high-level
protocol detect end of user request by receiving EOF, and my server will
start replying only after it receive EOF from client, then I have a
question: how to simulate syscall shutdown(SHUT_WR) using file descriptor
opened to /net/tcp/15/data file? Of course there is no Sys->shutdown()
function in Inferno - WTF shutdown() for files?! But I've seen somewhere
in Inferno documentation note about interesting feature - ability to
do Sys->write() for empty buffer, which should result in reading 0 bytes
on other side - with suggestion to use this for separating records ;-).
Maybe for file descriptors opened to /net/tcp/*/data such empty write()
will result in calling host os syscall shutdown(SHUT_WR) - at least I hope so.

Such things (unix domain socket support, huge amount of host os threads,
etc.) can be possible Inferno limitations which make it unusable for some
general-programming tasks. I just trying to detect such things _before_
I'll spend few months developing complex application in Limbo which simple
can't work because of such limitations.

Of course I'll do a lot of testing and benchmarking myself to protect
against this, but if somebody already have such information (I think
Inferno authors have it) I hope he will reply in this thread........
Post by Anthony Sorace
Post by Alex Efros
- Inferno provide "virtual" files which can be opened using open(),
Perl provide ability to run shell commands using open()
i have a really hard time understanding how you view these as
equivalent (which seems to be the implication from your list). can you
explain that for me?
Agreed, weak example. But, anyway, I can explain: both changing
environment I have for my application, and this make programming some
features ease.

For example, Inferno provide virtual /net/ directory accessible with
open/read/write and so avoid having a lot of syscalls for network
operations and additional thing 'sockets' with slightly different
behaviour compared to files.

Perl, in turn, provide other features, like opening virtual file
descriptor which is really connected to scalar variable instead of real
file and thus allowing me read/write into that scalar variable.

Or another feature - safe pipe trick:

#!/usr/bin/perl
# Start filtering output of this script:
$pid = open STDOUT, '|-';
die "open: $!" if !defined $pid;
filter() if !$pid;
# Parent process here.
# Doing usual work:
print "$_\n" for 1 .. 10;

sub filter {
# Child process here.
# Working like usual filter started
# in command prompt using pipes:
while(<STDIN>) {
print if $_ < 5;
}
exit;
}

__END__
This script output will be:
1
2
3
4

It may looks like just-another-small-feature, but I think it's more
related to development environment because allow to add output filtering
to _ANY_ perl script by adding few lines of code (one line, if we doesn't
bother about possible fork errors: open(STDOUT,'|-') || filter();).

Mentioned feature to run shell commands can be used to add support for
processing gzip'ed files to existing script in one line:
$filename =~ s/(.*\.gz)\s*$/gzip -dc < $1|/; # <--- THIS LINE ADDED
open(FH, $filename) or die "Can't open $filename: $!";
(This code isn't safe from security view, but that depends on how we got
$filename.)
--
WBR, Alex.
Abhey Shah
2007-02-28 17:40:21 UTC
Permalink
Sounds like you're trying to use inferno in a somewhat similar way to
sawzall.
I'd recommend checking out the sawzall paper, there's a lot of
infernoesque stuff going on there.
Post by Alex Efros
Hi!
Post by Vester Thacker
http://www.vitanuova.com/inferno/papers/bltj.html.
Actually, before subscribe to maillist, I've read all information about
Inferno I was able to find using Google both in english and russian.
Moreover, I'm interesting in Inferno many years, so I've read all that
documentations _many_ times each in last years.
Probably I'm trying to misuse Inferno, and that's my main and only problem.
I understand everything in bltj document. And I'm pretty sure
Inferno is
really good for tasks described there and in other documents.
Only problem - I don't work in that area: I'm specializing in
developing
effective network applications and web programming in Linux/Perl/MySQL
environment (read: spidering web sites (24x7, hundreds web pages per second),
parsing html (fast and accurate) and provide some services using that data).
But I really like Inferno architecture, and I wish to develop my software
in such simple and elegant environment. I'm able to keep Stevens APUE in
my mind and develop software with DJB-like reliability, but I'm tired of
ugliness and complexity of Linux (POSIX, *NIX) architecture. I can work
with it, and work good enough, but if I've choice to move to
Inferno...
So, maybe this is misusing, but I wish to use Inferno for developing
mainly usual applications, neither distributed nor targeted to run on
anything except my Linux dedicated servers. Ability to make these apps
distributed with ease and run on Windows servers is nice 'bonus' for me,
but not very important.
And so we come to my questions, unanswered in bltj.html: is it
possible to
(mis?)use Inferno for general programming? What is Inferno strong/weak
sides in this area, comparing to any usual language like Perl?
I'm pretty sure it's really hard to develop distributed applications
which should work everywhere in Perl and it's ease to do this in Inferno.
But this may in turn mean it's really hard to use Inferno for my
current tasks... :-(
My benchmarks make me optimistic enough, at least Inferno looks like
suitable for effective network programming. About parsing html - it's more
complex to say, because features of Inferno regex isn't enough. But maybe
this can be worked around by using yacc instead of regex, don't sure -
I never used yacc before.
--
WBR, Alex.
Alex Efros
2007-03-01 13:15:53 UTC
Permalink
Hi!
Post by Abhey Shah
Sounds like you're trying to use inferno in a somewhat similar way to
sawzall.
No, I'm trying to use Inferno to avoid using POSIX. ;-)
Post by Abhey Shah
I'd recommend checking out the sawzall paper, there's a lot of
infernoesque stuff going on there.
Thanks a lot! MapReduce and Sawzall papers was very interesting reading...
--
WBR, Alex.
Vester Thacker
2007-02-28 05:17:43 UTC
Permalink
Post by Alex Efros
---> Inferno _ISN'T_ OS, it's environment! <---
Sounds strange, year? Especially after "Inferno is a compact operating
system ..." stated in first sentence at
http://www.vitanuova.com/inferno/index.html
To put it into UNIXese, consider an environement(s) as being the
userland(s) that you want your apps/users to work in; distributed or
otherwise. Don't confuse this concept with operating system.

Regards,
Vester Thacker
Continue reading on narkive:
Loading...