9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Bakul Shah <bakul+plan9@bitblocks.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] Plan9 development
Date: Fri,  5 Nov 2010 11:43:46 -0700	[thread overview]
Message-ID: <20101105184347.63ED15B74@mail.bitblocks.com> (raw)
In-Reply-To: Your message of "Thu, 04 Nov 2010 22:20:04 -0000." <bb4fd0152d5ccdb8acf49ae0d7b3f4d5@terzarima.net>

On Thu, 04 Nov 2010 22:20:04 -0000 Charles Forsyth <forsyth@terzarima.net>  wrote:
> >But why isn't the source for mk (3929 lines w/ headers, okay 4661 with mkfil
> e and acid)
> >at least as long as all that Java in the ant distribution (213151 lines)?
> >That's a lot of catching up to do.
> >The market has clearly spoken, and it appears that more lines dominates the
> soup.
>
> one interesting thing about that example is that if it were done again
> for the Plan 9 environment, mk might well be even smaller, since
> some of the existing functionality isn't really used,
> or might be achieved by simpler mechanisms, or with functionality
> added instead by further composition with other programs;
> alternatively, it might be redone in a radically different way.
>
> either way you probably wouldn't get an entire O'Reilly book out of it though.

Some random thoughts triggered by Charles'es message:

1.  The idea is to map mk to a special filesystem -- "mkfs"
    takes on a whole new meaning! One would overlay mkfs on
    a source tree.

    We are going to build foo
	mkdir foo foo/src
	<put foo's source files in foo/src/>
	cd foo

    Specify a build rule for command foo:
	echo 8c src/*.c -o .build > .rule

    Specify dependencies a b & c of foo:
	ln -s ../^(a b c) .dep/

    Build foo:
	ls .build
    This checks dependencies a b c (if they are directories,
    checks a/.build etc) and builds them.  This will need to
    be fleshed out the most... Default rules can be added
    with something like plumb....

    Install foo:
	cp .build /bin/foo

    Remove temporary files
	rm .obj/* .build

    I used symlinks to point to dependencies but may be there
    is a smarter way.

    A default .rule can be derived depending on what is in src/

    Initial .dep/ may be derived by mkfs running a dependency
    deriving program.

    Objects in .obj/ may be similarly derived.

    The utility if any is that a small set of mechanisms is
    used, coupled with a simple convention.

    This was fun little exercise (spent more time on
    writing this email) so I am sure there are lots of holes.
    Probably not worth building.  It'd be too slow.

2.  Factor out a way to track changes in any fs and trigger
    commands.  This would probably obviate the need to build a
    number of special purpose file systems.



  parent reply	other threads:[~2010-11-05 18:43 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-04  9:36 Admiral Fukov
2010-11-04  9:47 ` Lucio De Re
2010-11-04 10:20   ` Steve Simon
2010-11-04 11:30 ` Brantley Coile
2010-11-04 15:39 ` David Leimbach
2010-11-04 15:55   ` Stanley Lieber
2010-11-04 16:01     ` John Floren
2010-11-04 16:39       ` ron minnich
2010-11-04 16:57         ` Stanley Lieber
2010-11-04 17:01         ` Don Bailey
2010-11-04 17:19         ` Jeff Sickel
2010-11-04 22:20           ` Charles Forsyth
2010-11-05  1:41             ` Venkatesh Srinivas
2010-11-05  3:50               ` Bruce Ellis
2010-11-05  7:11                 ` Lucio De Re
2010-11-05  7:55                   ` Bruce Ellis
2010-11-05 13:31                     ` Eric Van Hensbergen
2010-11-05 15:16                       ` C H Forsyth
2010-11-05 17:07                       ` dexen deVries
2010-11-05 17:18                         ` Nick LaForge
2010-11-05 17:32                           ` dexen deVries
2010-11-05 17:39                             ` andrey mirtchovski
2010-11-05 17:55                               ` dexen deVries
2010-11-05 17:45                             ` David Leimbach
2010-11-05 18:14                               ` erik quanstrom
2010-11-05 18:37                                 ` roger peppe
2010-11-05 19:06                                   ` erik quanstrom
2010-11-08 11:04                                     ` roger peppe
2010-11-08 21:24                                       ` Bruce Ellis
2010-11-08 22:22                                         ` Charles Forsyth
2010-11-08 22:25                                           ` Bruce Ellis
2010-11-08 22:33                                           ` Charles Forsyth
2010-11-09  2:10                                             ` Jeff Sickel
2010-11-09  3:18                                               ` EBo
2010-11-09  8:10                                                 ` Bruce Ellis
2010-11-13 19:15                                             ` Enrico Weigelt
2010-11-05 20:37                         ` Eric Van Hensbergen
2010-11-06  0:55                           ` Charles Forsyth
2010-11-06  2:20                         ` Bruce Ellis
2010-11-06 20:24                           ` dexen deVries
2010-11-05 18:43             ` Bakul Shah [this message]
2010-11-13 19:24         ` Enrico Weigelt
2010-11-14  2:17           ` Gary V. Vaughan
2010-11-14  5:47             ` Anthony Sorace
2010-11-14  6:24               ` erik quanstrom
2010-11-14  8:13                 ` Gary V. Vaughan
2010-11-14 15:56                   ` Jacob Todd
2010-11-14 16:24                     ` ron minnich
2010-11-14  6:26               ` Russ Cox
2010-11-14  8:03                 ` Anthony Sorace
2010-11-14 15:23                 ` erik quanstrom
2010-11-14 17:46                   ` Russ Cox
2010-11-14 22:16                     ` erik quanstrom
2010-11-14  9:10             ` tlaronde
2010-11-14  9:32               ` Gary V. Vaughan
2010-11-14 10:22                 ` tlaronde
2010-11-14 10:50               ` Carl-Daniel Hailfinger
2010-11-14 11:47                 ` tlaronde
2010-11-14 21:44                 ` Charles Forsyth
2010-11-14 21:47                   ` Ori Bernstein
2010-11-18  5:30                   ` Joel C. Salomon
2010-11-18  5:57                     ` erik quanstrom
2010-11-18 22:50                     ` Federico G. Benavento
2010-11-19  2:06                       ` Joel C. Salomon
2010-11-19  3:13                         ` Federico G. Benavento
2010-11-25  9:39                       ` Greg Comeau
2010-11-15  4:29                 ` Gary V. Vaughan
2010-11-15  5:05                   ` Carl-Daniel Hailfinger
2010-11-15 15:48                   ` Dan Cross
2010-11-15 16:24                     ` Lucio De Re
2010-11-15 17:26                       ` Brian L. Stuart
2010-11-16  3:32                         ` lucio
2010-11-16  4:53                           ` erik quanstrom
2010-11-16  5:09                             ` lucio
2010-11-16 22:18                           ` Christopher Nielsen
2010-11-15 18:11                   ` Dave Eckhardt
2010-11-15 20:04                     ` Steve Simon
     [not found]           ` <79E9F966-3C4E-44D9-8B1F-D22C9548CE74@gnu.org>
2010-11-15  1:02             ` Enrico Weigelt
2010-11-15  4:17               ` Gary V. Vaughan
2010-11-15 16:22                 ` erik quanstrom
2010-11-17 23:48                 ` Enrico Weigelt
2010-11-04 16:00   ` erik quanstrom
2010-11-04 17:12     ` Admiral Fukov
2010-11-04 17:19       ` andrey mirtchovski
2010-11-04 17:30         ` Admiral Fukov
2010-11-04 20:27     ` David Leimbach
2010-11-04 12:15 dexen deVries
2010-11-04 12:48 ` Venkatesh Srinivas
2010-11-04 17:14   ` Admiral Fukov
2010-11-17  7:38 Pavel Zholkover
2010-11-17  7:44 ` Lucio De Re

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101105184347.63ED15B74@mail.bitblocks.com \
    --to=bakul+plan9@bitblocks.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).