Re: [racket-dev] code base metrics
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
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
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