diff options
author | cinap_lenrek <cinap_lenrek@localhost> | 2011-05-03 11:25:13 +0000 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@localhost> | 2011-05-03 11:25:13 +0000 |
commit | 458120dd40db6b4df55a4e96b650e16798ef06a0 (patch) | |
tree | 8f82685be24fef97e715c6f5ca4c68d34d5074ee /sys/src/cmd/python/Tools/scripts/dutree.doc | |
parent | 3a742c699f6806c1145aea5149bf15de15a0afd7 (diff) |
add hg and python
Diffstat (limited to 'sys/src/cmd/python/Tools/scripts/dutree.doc')
-rw-r--r-- | sys/src/cmd/python/Tools/scripts/dutree.doc | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/sys/src/cmd/python/Tools/scripts/dutree.doc b/sys/src/cmd/python/Tools/scripts/dutree.doc new file mode 100644 index 000000000..2a094261b --- /dev/null +++ b/sys/src/cmd/python/Tools/scripts/dutree.doc @@ -0,0 +1,54 @@ +Path: cwi.nl!sun4nl!mcsun!uunet!cs.utexas.edu!convex!usenet +From: tchrist@convex.COM (Tom Christiansen) +Newsgroups: comp.lang.perl +Subject: Re: The problems of Perl (Re: Question (silly?)) +Message-ID: <1992Jan17.053115.4220@convex.com> +Date: 17 Jan 92 05:31:15 GMT +References: <17458@ector.cs.purdue.edu> <1992Jan16.165347.25583@cherokee.uswest.com> <=#Hues+4@cs.psu.edu> +Sender: usenet@convex.com (news access account) +Reply-To: tchrist@convex.COM (Tom Christiansen) +Organization: CONVEX Realtime Development, Colorado Springs, CO +Lines: 83 +Nntp-Posting-Host: pixel.convex.com + +From the keyboard of flee@cs.psu.edu (Felix Lee): +:And Perl is definitely awkward with data types. I haven't yet found a +:pleasant way of shoving non-trivial data types into Perl's grammar. + +Yes, it's pretty aweful at that, alright. Sometimes I write perl programs +that need them, and sometimes it just takes a little creativity. But +sometimes it's not worth it. I actually wrote a C program the other day +(gasp) because I didn't want to deal with a game matrix with six links per node. + +:Here's a very simple problem that's tricky to express in Perl: process +:the output of "du" to produce output that's indented to reflect the +:tree structure, and with each subtree sorted by size. Something like: +: 434 /etc +: | 344 . +: | 50 install +: | 35 uucp +: | 3 nserve +: | | 2 . +: | | 1 auth.info +: | 1 sm +: | 1 sm.bak + +At first I thought I could just keep one local list around +at once, but this seems inherently recursive. Which means +I need an real recursive data structure. Maybe you could +do it with one of the %assoc arrays Larry uses in the begat +programs, but I broke down and got dirty. I think the hardest +part was matching Felix's desired output exactly. It's not +blazingly fast: I should probably inline the &childof routine, +but it *was* faster to write than I could have written the +equivalent C program. + + +--tom + +-- +"GUIs normally make it simple to accomplish simple actions and impossible +to accomplish complex actions." --Doug Gwyn (22/Jun/91 in comp.unix.wizards) + + Tom Christiansen tchrist@convex.com convex!tchrist + |