
I tried to run `cloc` in the `compiler` folder and got this. Not sure how to further break down the Compiler into smaller modules. ``` ➜ ghc git:(master) ✗ cloc compiler 723 text files. 655 unique files. 68 files ignored. github.com/AlDanial/cloc v 1.92 T=0.64 s (1025.4 files/s, 716024.5 lines/s) ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- Haskell 635 68541 147036 224747 yacc 2 971 10 5024 Logos 3 530 0 3642 Pascal 1 661 936 2312 C/C++ Header 7 187 304 1512 Puppet 1 106 0 445 make 2 47 84 187 C 3 11 16 37 YAML 1 6 10 18 ------------------------------------------------------------------------------- SUM: 655 71060 148396 237924 ------------------------------------------------------------------------------- ``` -Haisheng On Tue, Jun 14, 2022 at 9:14 AM Simon Peyton Jones < simon.peytonjones@gmail.com> wrote:
Indeed cool.
- Can it do numeric breakdowns too? Like I needed for my talk? - Can it distinguish code from comments?
Simon
On Tue, 14 Jun 2022 at 16:04, Bryan Richter
wrote: A quick googling discovered https://githubnext.com/projects/repo-visualization, which has some of the desired features. :)
(CC'ing the author and team mentioned in the article, too.)
Has:
* very visual * subdirectory breakdown * filetype breakdown
Doesn't have:
* Separating code from comments * History is listed under "future work" * Drop-in support for gitlab (it's presented as a GitHub Action)
The article has an interactive widget you can point at a repo. I pointed it at ghc/ghc, and although my browser is still churning ten minutes later, here's a preview. It's pretty cool!
On 14/06/2022 16:20, Hécate wrote:
I'm taking the liberty of forwarding this to Bryan, as he's in a unique position to help on this front. :) Le 14/06/2022 à 16:18, Simon Peyton Jones a écrit :
Thanks Hecate. I used your figures in my talk. Really helpful.
A note to all ghc-devs: it's be lovely to have a regularly-updated summary visualisation of GHC's source code:
- Separating code from comments - Broken up by sub-directory - As visual as possible - Ideally with some kind of historical time-line ability
This can't be new. Zillions of GitHub repositories could be visualised like this. There must be prior art; probably a lot of it. Can we just press a button and get it?
Simon
On Fri, 10 Jun 2022 at 17:45, Hécate
wrote: If you don't have a nix shell handy, here is what I'm getting:
❯ cloc compiler rts driver 1148 text files. 1137 unique files. 108 files ignored.
github.com/AlDanial/cloc v 1.88 T=1.31 s (794.3 files/s, 431269.4 lines/s)
--------------------------------------------------------------------------------------- Language files blank comment code
--------------------------------------------------------------------------------------- Haskell 635 68541 140216 231567 C 158 10529 16953 51162 C/C++ Header 209 4329 8984 14536 yacc 2 971 10 5024 Logos 3 530 0 3642 Pascal 1 661 936 2312 make 14 252 409 850 Windows Module Definition 7 27 0 489 Assembly 5 76 269 478 Puppet 1 106 0 445 Python 1 32 19 162 D 1 16 42 60 YAML 1 6 10 18 Lisp 1 2 4 7 Windows Resource File 1 0 0 1
--------------------------------------------------------------------------------------- SUM: 1040 86078 167852 310753
--------------------------------------------------------------------------------------- Le 10/06/2022 à 18:29, chessai a écrit :
You might be able to do something with cloc and a shell script for a rough estimate.
``` $ cd ghc $ nix-shell -p clock --run "cloc ." ```
will output a detailed report of the loc and language breakdown of the top level ghc directory (it is comment-aware and aware of many languages). there might be a way to get cloc or a similar tool to output something more inspect able (eg json), and then use a shell script to gather everything from the appropriate directories/files.
I suspect something could be hacked up in less than a day, but it would require a bit of research. Hopefully this is helpful and gets you going - I'd be happy to hear of better solutions.
Thanks
On Fri, Jun 10, 2022, 11:20 Simon Peyton Jones < simon.peytonjones@gmail.com> wrote:
Dear GHC devs
Is it possible to get a "lines-of-code" summary of GHC these days? Like the one below, from 2011.
It needs more than `wc` because it's helpful to split lines of code from lines of comments and notes.
We used to have `count_lines` but I'm not sure whether it is still extant.
I'm giving a talk at Zurihac on Sunday morning, about the internals of GHC. Any data before then, preferably in a form comparable to that below, would be terrific.
But you have a lot else to do. This isn't do-or-die, just nice to have.
Thanks
Simon
[image: image.png]
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________ ghc-devs mailing listghc-devs@haskell.orghttp://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
-- Hécate ✨ 🐦: @TechnoEmpress IRC: Hecate WWW: https://glitchbra.in RUN: BSD
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
-- Hécate ✨ 🐦: @TechnoEmpress IRC: Hecate WWW: https://glitchbra.in RUN: BSD
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs