[ghc-steering-committee] #380 GHC2021: Principal Component Analysis

Joachim Breitner mail at joachim-breitner.de
Sun Jan 10 22:21:15 UTC 2021


Hi,

as a little Sunday evening statistics and visualization nerding
relaxation, I tried to see if I can visualize where the committee
members stand on the various kinds of extensions. It seems that
“Principal Component Analysis” might be a good fit.

In the ~100 dimensional space where each of our ballots inhabits one
point, it identifies the primary (and secondary) direction along which
we are most diverse (I think). One nice thing is that this produces a
two dimensional chart.

I was _hoping_ to maybe see “heavy type hackery” and “lots of syntactic
sugar” emerge as the two main directions.

Well, let’s look at pca.png first…

Not quite surprising, we see Tom relatively isolated (Tom voted for 7
extensions that nobody else voted for, and was in general very
liberal).

Also Iavor is somewhat far off, also not surprising, given his
reluctance to go all in on GADTs/TypeFamilies etc. Surprisingly,
Richard is quite close to him!

Simon PJ and me are very close to each other, and somewhere in the
middle, and the others seem to have quite an opposite stand from Iavor
in the second principal components?


Can we understand these two directions? They are essentially (I
believe) eigenvectors in the ~100-dimensional space. I tried to
visualize them by another scatter plot, see vectors.png. There, we can
see that one’s vote for StarIsType contributes a lot towards the
primary principal component, and one for Unicode a lot towards the
secondary.

We see GADTs and TypeFamilies on the far bottom, and FunDeps not far.
This indicates that the y-axis really might be the “heavy type level
programming” axis (with type level programming features causing
negative numbers).

I can’t quite make sense of the x-axis though…


I stopped short of coloring the points in this graph by “extension
cateogry”…


So, no big conclusions to be drawn from this. Also, I am definitely no
expert in the Data Sciences, so this may be misguided, or simply wrong.
If someone wants to give it a better shot, please do! I am happy to
provide the raw data in a simple accessible form.


Cheers,
Joachim

-- 
Joachim Breitner
  mail at joachim-breitner.de
  http://www.joachim-breitner.de/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pca.png
Type: image/png
Size: 22010 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20210110/bc66e3d7/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vectors.png
Type: image/png
Size: 254472 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/ghc-steering-committee/attachments/20210110/bc66e3d7/attachment-0003.png>


More information about the ghc-steering-committee mailing list