This Blog Uses Idris
I am not using node.js to generate this blog. I am now using Idris! I’ve chucked the source up on GitHub.
I wanted to be the first to use a dependently typed compiler to generate my blog. From what I can tell, I was beat by just a couple of weeks.
Sadly, there are no interesting uses of dependent types used yet but one interesting thing I worked on was using Nix to build Idris packages. I worked on and packaged:
I also had to create a package to wrap some POSIX functions, such as listing the contents of a directory and checking if a file exists.
To build my program I can just open up a nix-shell from a dummy expression:
with import <nixpkgs> { };
with import <idrispkgs> { };
runCommand "dummy" {
buildInputs = [
(idrisWithPackages [ idris-commonmark idris-config idris-lens idris-posix ])
];
} ""
And compile it with a simple command:
idris -p effects -p config -p commonmark -p lens -p posix -o bam-idris-blog Main.idr
I plan on using Idris for what it’s good at (i.e. not as a poor Haskell replacement) by introducing dependent types in some way but I’m happy that I was able to improve some Idris libraries and tools.