Skip to content

Instantly share code, notes, and snippets.

@jorpic
Last active May 25, 2017 03:03
Show Gist options
  • Save jorpic/6f574f2993c021d05947 to your computer and use it in GitHub Desktop.
Save jorpic/6f574f2993c021d05947 to your computer and use it in GitHub Desktop.
Count FlexibleContexts usage on hackage
#!/bin/bash
ROOT=http://hackage.haskell.org
PACKAGES=`curl -s http://hackage.haskell.org/packages/ \
| sed 's/href/\n/g' \
| grep -o '/package/[^"]*'`
echo Total number of packages
echo $PACKAGES | wc -w
FC=0
EX=0
for p in $PACKAGES ; do
CABAL=`curl -s "$ROOT$p" \
| grep -o '/package/[^"]*.cabal'`
TEXT=`curl -s "$ROOT$CABAL"`
echo "$TEXT" | grep -i extensions:
if [[ $? == 0 ]] ; then
EX=$(($EX+1))
fi
echo "$TEXT" | grep FlexibleContexts
if [[ $? == 0 ]] ; then
FC=$(($FC+1))
fi
>&2 printf .
done > /dev/null
echo
echo Packages with extensions
echo $EX
echo Packages with FlexibleContexts
echo $FC
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment