Re: [racket-dev] code base metrics

2010-12-01 Thread Jon Rafkind
And because I already started it, here is the entire collects tree (370k
file)

http://www.cs.utah.edu/~rafkind/tmp/racket-definitions.txt

On 11/29/2010 03:34 PM, Matthias Felleisen wrote:
 That makes sense. For now, I am fine with this very first-order 
 approximation. Thanks 


 On Nov 29, 2010, at 5:32 PM, Jon Rafkind wrote:

 There is one thing defined at phase 0, module-begin. The module exports
 a bunch of stuff

 (provide (rename-out [module-begin #%module-begin])
 (except-out (all-from-out scheme/base) #%module-begin)
 (all-from-out scheme/unit)
 (all-from-out scheme/contract)
 (for-syntax (all-from-out scheme/base)))

 I realize you probably wanted something like 'only count exports of
 things defined in the module' but thats a little harder to compute,
 which is why the metric is a first approximation.

 On 11/29/2010 03:29 PM, Matthias Felleisen wrote:
 Thanks, that's great. But what does this mean: 

 collects/racket/signature/lang.rkt defined 1 exported 2747

 -- Matthias




 On Nov 29, 2010, at 4:24 PM, Jon Rafkind wrote:

 On 11/29/2010 12:20 PM, Jon Rafkind wrote:
 I hacked my old tool to get a first approximation and ran it on all the
 files of the collects/racket tree. I can run it on the entire collects
 tree if you want, but its sort of slow so it will take a while. I
 couldn't expand all the files because local requires failed, I'll try to
 fix that.
 Here is a better list

 collects/racket/file.rkt defined 29 exported 18
 collects/racket/include.rkt defined 5 exported 4
 collects/racket/set.rkt defined 32 exported 26
 collects/racket/gui/info.rkt defined 3 exported 2
 collects/racket/gui/init.rkt defined 0 exported 3354
 collects/racket/gui/base.rkt defined 4 exported 209
 collects/racket/gui/lang/reader.rkt defined 6 exported 3
 collects/racket/gui/dynamic.rkt defined 5 exported 2
 collects/racket/gui/installer.rkt defined 1 exported 1
 collects/racket/match/define-forms.rkt defined 1 exported 1
 collects/racket/match/compiler.rkt defined 13 exported 1
 collects/racket/match/struct.rkt defined 1 exported 1
 collects/racket/match/runtime.rkt defined 11 exported 6
 collects/racket/match/gen-match.rkt defined 3 exported 2
 collects/racket/match/patterns.rkt defined 194 exported 163
 collects/racket/match/reorder.rkt defined 11 exported 1
 collects/racket/match/parse-legacy.rkt defined 1 exported 1
 collects/racket/match/parse.rkt defined 2 exported 1
 collects/racket/match/parse-helper.rkt defined 15 exported 11
 collects/racket/match/parse-quasi.rkt defined 3 exported 1
 collects/racket/match/legacy-match.rkt defined 11 exported 15
 collects/racket/match/match-expander.rkt defined 1 exported 1
 collects/racket/match/match.rkt defined 11 exported 16
 collects/racket/match/split-rows.rkt defined 2 exported 1
 collects/racket/system.rkt defined 0 exported 8
 collects/racket/control.rkt defined 0 exported 24
 collects/racket/package.rkt defined 10 exported 11
 collects/racket/runtime-path.rkt defined 2 exported 7
 collects/racket/tcp.rkt defined 1 exported 12
 collects/racket/runtime-config.rkt defined 1 exported 1
 collects/racket/init.rkt defined 0 exported 3206
 collects/racket/serialize.rkt defined 5 exported 12
 collects/racket/surrogate.rkt defined 1 exported 1
 collects/racket/cmdline.rkt defined 5 exported 2
 collects/racket/splicing.rkt defined 15 exported 11
 collects/racket/provide-syntax.rkt defined 1 exported 1
 collects/racket/require-transform.rkt defined 30 exported 22
 collects/racket/load/lang/reader.rkt defined 6 exported 3
 collects/racket/stream.rkt defined 19 exported 17
 collects/racket/contract/regions.rkt defined 5 exported 3
 collects/racket/contract/private/object.rkt defined 15 exported 6
 collects/racket/contract/private/arrow.rkt defined 104 exported 17
 collects/racket/contract/private/ds.rkt defined 45 exported 9
 collects/racket/contract/private/guts.rkt defined 95 exported 69
 collects/racket/contract/private/misc.rkt defined 121 exported 28
 collects/racket/contract/private/provide.rkt defined 4 exported 2
 collects/racket/contract/private/base.rkt defined 5 exported 3
 collects/racket/contract/private/hash.rkt defined 22 exported 1
 collects/racket/contract/private/vector.rkt defined 52 exported 4
 collects/racket/contract/private/helpers.rkt defined 12 exported 9
 collects/racket/contract/private/basic-opters.rkt defined 0 exported 0
 collects/racket/contract/private/arr-i.rkt defined 26 exported 1
 collects/racket/contract/private/opt-guts.rkt defined 40 exported 31
 collects/racket/contract/private/legacy.rkt defined 22 exported 18
 collects/racket/contract/private/arr-util.rkt defined 2 exported 2
 collects/racket/contract/private/box.rkt defined 26 exported 2
 collects/racket/contract/private/prop.rkt defined 72 exported 19
 collects/racket/contract/private/opt.rkt defined 20 exported 6
 collects/racket/contract/private/arr-i-old.rkt defined 22 exported 1
 collects/racket/contract/private/arr-i-parse.rkt defined 45 

Re: [racket-dev] code base metrics

2010-12-01 Thread Matthias Felleisen

Thanks. When I re-run my 'averaging' I get around 34% exports.  

BTW, your script is broken. Look for view: name



On Dec 1, 2010, at 4:36 PM, Jon Rafkind wrote:

 And because I already started it, here is the entire collects tree (370k
 file)
 
 http://www.cs.utah.edu/~rafkind/tmp/racket-definitions.txt
 
 On 11/29/2010 03:34 PM, Matthias Felleisen wrote:
 That makes sense. For now, I am fine with this very first-order 
 approximation. Thanks 
 
 
 On Nov 29, 2010, at 5:32 PM, Jon Rafkind wrote:
 
 There is one thing defined at phase 0, module-begin. The module exports
 a bunch of stuff
 
 (provide (rename-out [module-begin #%module-begin])
(except-out (all-from-out scheme/base) #%module-begin)
(all-from-out scheme/unit)
(all-from-out scheme/contract)
(for-syntax (all-from-out scheme/base)))
 
 I realize you probably wanted something like 'only count exports of
 things defined in the module' but thats a little harder to compute,
 which is why the metric is a first approximation.
 
 On 11/29/2010 03:29 PM, Matthias Felleisen wrote:
 Thanks, that's great. But what does this mean: 
 
 collects/racket/signature/lang.rkt defined 1 exported 2747
 
 -- Matthias
 
 
 
 
 On Nov 29, 2010, at 4:24 PM, Jon Rafkind wrote:
 
 On 11/29/2010 12:20 PM, Jon Rafkind wrote:
 I hacked my old tool to get a first approximation and ran it on all the
 files of the collects/racket tree. I can run it on the entire collects
 tree if you want, but its sort of slow so it will take a while. I
 couldn't expand all the files because local requires failed, I'll try to
 fix that.
 Here is a better list
 
 collects/racket/file.rkt defined 29 exported 18
 collects/racket/include.rkt defined 5 exported 4
 collects/racket/set.rkt defined 32 exported 26
 collects/racket/gui/info.rkt defined 3 exported 2
 collects/racket/gui/init.rkt defined 0 exported 3354
 collects/racket/gui/base.rkt defined 4 exported 209
 collects/racket/gui/lang/reader.rkt defined 6 exported 3
 collects/racket/gui/dynamic.rkt defined 5 exported 2
 collects/racket/gui/installer.rkt defined 1 exported 1
 collects/racket/match/define-forms.rkt defined 1 exported 1
 collects/racket/match/compiler.rkt defined 13 exported 1
 collects/racket/match/struct.rkt defined 1 exported 1
 collects/racket/match/runtime.rkt defined 11 exported 6
 collects/racket/match/gen-match.rkt defined 3 exported 2
 collects/racket/match/patterns.rkt defined 194 exported 163
 collects/racket/match/reorder.rkt defined 11 exported 1
 collects/racket/match/parse-legacy.rkt defined 1 exported 1
 collects/racket/match/parse.rkt defined 2 exported 1
 collects/racket/match/parse-helper.rkt defined 15 exported 11
 collects/racket/match/parse-quasi.rkt defined 3 exported 1
 collects/racket/match/legacy-match.rkt defined 11 exported 15
 collects/racket/match/match-expander.rkt defined 1 exported 1
 collects/racket/match/match.rkt defined 11 exported 16
 collects/racket/match/split-rows.rkt defined 2 exported 1
 collects/racket/system.rkt defined 0 exported 8
 collects/racket/control.rkt defined 0 exported 24
 collects/racket/package.rkt defined 10 exported 11
 collects/racket/runtime-path.rkt defined 2 exported 7
 collects/racket/tcp.rkt defined 1 exported 12
 collects/racket/runtime-config.rkt defined 1 exported 1
 collects/racket/init.rkt defined 0 exported 3206
 collects/racket/serialize.rkt defined 5 exported 12
 collects/racket/surrogate.rkt defined 1 exported 1
 collects/racket/cmdline.rkt defined 5 exported 2
 collects/racket/splicing.rkt defined 15 exported 11
 collects/racket/provide-syntax.rkt defined 1 exported 1
 collects/racket/require-transform.rkt defined 30 exported 22
 collects/racket/load/lang/reader.rkt defined 6 exported 3
 collects/racket/stream.rkt defined 19 exported 17
 collects/racket/contract/regions.rkt defined 5 exported 3
 collects/racket/contract/private/object.rkt defined 15 exported 6
 collects/racket/contract/private/arrow.rkt defined 104 exported 17
 collects/racket/contract/private/ds.rkt defined 45 exported 9
 collects/racket/contract/private/guts.rkt defined 95 exported 69
 collects/racket/contract/private/misc.rkt defined 121 exported 28
 collects/racket/contract/private/provide.rkt defined 4 exported 2
 collects/racket/contract/private/base.rkt defined 5 exported 3
 collects/racket/contract/private/hash.rkt defined 22 exported 1
 collects/racket/contract/private/vector.rkt defined 52 exported 4
 collects/racket/contract/private/helpers.rkt defined 12 exported 9
 collects/racket/contract/private/basic-opters.rkt defined 0 exported 0
 collects/racket/contract/private/arr-i.rkt defined 26 exported 1
 collects/racket/contract/private/opt-guts.rkt defined 40 exported 31
 collects/racket/contract/private/legacy.rkt defined 22 exported 18
 collects/racket/contract/private/arr-util.rkt defined 2 exported 2
 collects/racket/contract/private/box.rkt defined 26 exported 2
 collects/racket/contract/private/prop.rkt defined 72 exported 19
 

Re: [racket-dev] code base metrics

2010-12-01 Thread Jon Rafkind
Oh, there were some errors while running the script so to clean it up I
just did 'grep defined out' :p

/home/kazzmir/svn/plt/racket/collects/htdp/tests/guess-gui.rkt:10:3:
view: name is not defined, not a parameter, and not a primitive name in:
view


On 12/01/2010 08:40 PM, Matthias Felleisen wrote:
 Thanks. When I re-run my 'averaging' I get around 34% exports.  

 BTW, your script is broken. Look for view: name


_
  For list-related administrative tasks:
  http://lists.racket-lang.org/listinfo/dev