[racket-dev] code base metrics

From: Jon Rafkind (rafkind at cs.utah.edu)
Date: Mon Nov 29 14:20:38 EST 2010

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.

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/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/struct.rkt defined 1 exported 1
collects/racket/match/runtime.rkt defined 11 exported 6
collects/racket/match/patterns.rkt defined 194 exported 163
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/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/private/helpers.rkt defined 12 exported 9
collects/racket/contract/private/arr-util.rkt defined 2 exported 2
collects/racket/contract/private/blame.rkt defined 30 exported 18
collects/racket/draw/private/font-syms.rkt defined 3 exported 3
collects/racket/draw/private/libs.rkt defined 1 exported 1
collects/racket/draw/private/fmod.rkt defined 1 exported 1
collects/racket/draw/private/lzw.rkt defined 3 exported 1
collects/racket/draw/private/local.rkt defined 50 exported 25
collects/racket/draw/bmp.rkt defined 9 exported 1
collects/racket/draw/xpm.rkt defined 4 exported 1
collects/racket/draw/unsafe/bstr.rkt defined 1 exported 1
collects/racket/draw/xbm.rkt defined 3 exported 1
collects/racket/provide.rkt defined 2 exported 2
collects/racket/async-channel.rkt defined 32 exported 6
collects/racket/private/old-if.rkt defined 1 exported 1
collects/racket/private/sandbox-coverage.rkt defined 26 exported 1
collects/racket/private/serialize-structs.rkt defined 17 exported 17
collects/racket/private/lang/reader.rkt defined 6 exported 3
collects/racket/private/dict.rkt defined 96 exported 33
collects/racket/private/stx.rkt defined 19 exported 18
collects/racket/private/ellipses.rkt defined 2 exported 2
collects/racket/private/class-events.rkt defined 15 exported 10
collects/racket/private/portlines.rkt defined 3 exported 3
collects/racket/private/modbeg.rkt defined 3 exported 1
collects/racket/unit/lang/reader.rkt defined 6 exported 3
collects/racket/mpair.rkt defined 23 exported 20
collects/racket/trait.rkt defined 64 exported 9
collects/racket/fasl.rkt defined 2 exported 2
collects/racket/udp.rkt defined 1 exported 22
collects/racket/base/lang/reader.rkt defined 6 exported 3
collects/racket/function.rkt defined 5 exported 4
collects/racket/vector.rkt defined 26 exported 19
collects/racket/lang/reader.rkt defined 6 exported 3
collects/racket/require-syntax.rkt defined 1 exported 1
collects/racket/fixnum.rkt defined 6 exported 34
collects/racket/flonum.rkt defined 6 exported 42
collects/racket/local.rkt defined 1 exported 1
collects/racket/enter.rkt defined 16 exported 1
collects/racket/pretty.rkt defined 85 exported 25
collects/racket/port.rkt defined 17 exported 46
collects/racket/require.rkt defined 4 exported 4
collects/racket/dict.rkt defined 106 exported 37
collects/racket/path.rkt defined 11 exported 9
collects/racket/language-info.rkt defined 1 exported 1
collects/racket/block.rkt defined 1 exported 1
collects/racket/promise.rkt defined 44 exported 11
collects/racket/list.rkt defined 39 exported 35
collects/racket/stxparam-exptime.rkt defined 2 exported 2
collects/racket/bool.rkt defined 6 exported 5
collects/racket/trace.rkt defined 33 exported 8
collects/racket/signature/lang/reader.rkt defined 6 exported 3
collects/racket/place.rkt defined 1 exported 10
collects/racket/provide-transform.rkt defined 22 exported 14
collects/racket/math.rkt defined 8 exported 8
collects/racket/stxparam.rkt defined 2 exported 4
collects/racket/string.rkt defined 2 exported 2
collects/racket/sandbox.rkt defined 95 exported 43
collects/racket/match.rkt defined 1 exported 16
collects/racket/help.rkt defined 10 exported 3

On 11/27/2010 10:11 AM, Matthias Felleisen wrote:
> Could someone with one of these neat scripts please check out the following question: 
>
> how many of the defined identifiers in a module are exported? 
>
> The question is really how much 'hiding' we do. Thanks -- Matthias
>
> p.s. I know that we can get at the rest anyway.
> _________________________________________________
>   For list-related administrative tasks:
>   http://lists.racket-lang.org/listinfo/dev



Posted on the dev mailing list.