18 October 2015


System: Microsoft Windows XP Home Edition
CPUs: Intel(R) Atom(TM) CPU N270 @1.60GHz

Installation of yi-0.10.1.

C:\DOCUME~1\UserName>CD \

C:\>MKDIR Programmer\gtk

Extract gtk+-bundle_3.6.4-20130921_win32.zip into C:\Programmer\gtk and add
C:\Programmer\gtk\bin to the System variable PATH.

C:\>pkg-config --cflags gtk+-2.0
-mms-bitfields -IC:/Programmer/gtk/include/gtk-2.0 -IC:/Programmer/gtk/lib/gtk-2.0/include
-IC:/Programmer/gtk/include/atk-1.0 -IC:/Programmer/gtk/include/cairo -IC:/Programmer/gtk /include/gdk-pixbuf-2.0 -IC:/Programmer/gtk/include/pango-1.0 -IC:/Programmer/gtk/include
/glib-2.0 -IC:/Programmer/gtk/lib/glib-2.0/include -IC:/Programmer /gtk/include -IC:/Program
mer/gtk/include/freetype2 -IC:/Programmer/gtk/include/libpng14


Create a file named 'gtkrc' with the line

gtk-theme-name = "MS-Windows"

C:\>edit.com Programmer\gtk\etc\gtk-2.0\gtkrc

C:\>TYPE Programmer\gtk\etc\gtk-2.0\gtkrc
gtk-theme-name = "MS-Windows"


Install HaskellPlatform-2014.2.0.0-i386-setup.exe, accepting the licence and the
default options.

The System variable PATH should now read


a User variable PATH should be created with
C:\Documents and Settings\UserName\Application Data\cabal\bin

that folder however does not yet exist.


Opening the Command Prompt again will load the new PATH variables.

Haskell\mingw\bin;C:\Documents and Settings\UserName\Application Data\cabal\bin


Running the command

C:\DOCUME~1\UserName>cabal list --installed


C:\DOCUME~1\UserName>cabal list --simple-output

will create the file C:\DOCUME~1\UserName\Application Data\cabal\config.

C:\DOCUME~1\UserName>CD \

C:\>cabal update
Downloading the latest package list from hackage.haskell.org
Note: there is a new version of cabal-install available.
To upgrade, run: cabal install cabal-install

C:\>cabal install cabal-install
Resolving dependencies...
Downloading Cabal-
Configuring Cabal-
Building Cabal-
Installed Cabal-
Downloading cabal-install-
Configuring cabal-install-
Building cabal-install-
Installed cabal-install-

C:\>cabal install gtk2hs-buildtools-
Resolving dependencies...
Downloading hashtables-
Configuring hashtables-
Building hashtables-
Installed hashtables-
Downloading gtk2hs-buildtools-
Configuring gtk2hs-buildtools-
Building gtk2hs-buildtools-
Installed gtk2hs-buildtools-

The --dry-run -v options used to check dependencies in verbose mode.

C:\>cabal install yi-0.10.1 -f-vty -fpango --dry-run -v
Reading available packages...
Choosing modular solver.
Resolving dependencies...
In order, the following would be installed:
StateVar- (new package)
base-orphans-0.4.0 (new package)
cautious-file-1.0.2 (new package)
data-default-class-0.0.1 (new package)
data-default-instances-base-0.0.1 (new package)
data-default-instances-containers-0.0.1 (new package)
data-default-instances-old-locale-0.0.1 (new package)
dlist- (new package)
data-default-instances-dlist-0.0.1 (new package)
data-default-0.5.3 (new package)
executable-path-0.0.3 (new package)
extensible-exceptions- (new package)
fingertree- (new package)
ghc-paths- (new package)
io-storage-0.3 (new package)
oo-prototypes- (new package)
pointedlist-0.6.1 (new package)
prelude-extras-0.4 (new package)
reflection- (new package)
safe-0.3.9 (new package)
tagged-0.8.1 (new package)
text- -integer-simple (new version)
hashable- (new version)
nats-1 (new package)
parsec-3.1.9 (new version)
regex-tdfa-1.2.0 (new package)
tf-random-0.5 (new package)
QuickCheck-2.7.6 (latest: 2.8.1) (new version)
transformers-compat- (latest: (new package)
distributive-0.4.4 (new package)
exceptions- (new package)
ghc-mtl- (new package)
hint- (new package)
transformers-base-0.4.4 (new package)
unix-compat- (new package)
unordered-containers- (new version)
dynamic-state- (new package)
semigroups- (new package)
bifunctors-5 (new package)
utf8-string-1 (new package)
cairo- (new package)
glib- (new package)
gio- (new package)
pango- (new package)
gtk- (new package)
void-0.7 (new package)
contravariant- (new package)
comonad-4.2.6 (latest: 4.2.7) (new package)
profunctors-5.1.1 (new package)
semigroupoids- (new package)
free-4.12.1 (new package)
adjunctions-4.2.1 (new package)
kan-extensions-4.2.2 (new package)
lens-4.11 (new package)
word-trie-0.3.0 (new package)
xdg-basedir-0.2.2 (new package)
dyre-0.8.12 (new package)
yi-language-0.2.0 (new package)
yi-rope- (latest: (new package)
yi-0.10.1 (latest: 0.12.0) -vty +pango (new package)

C:\>cabal install yi-0.10.1 -f-vty -fpango

The installation 'C:\>cabal install yi-0.10.1 -f-vty -fpango' was stopped after xdg-basedir-0.2.2 was installed and then the dyre, xdg and yi files were deleted from the \Application Data\ghc and \Application Data\cabal subdirectories.

C:\xdg-basedir-0.2.2\System\Environment\XDG\BasDir.hs was edited to read 'Lokale indstillinger' instead of 'Local Settings' for a Danish computer, and then the modified xdg-basedir-0.2.2 was installed manually.

C:\>CD xdg-basedir-0.2.2

C:\xdg-basedir-0.2.2>runhaskell Setup configure --user
Configuring xdg-basedir-0.2.2...

C:\xdg-basedir-0.2.2>runhaskell Setup build
Building xdg-basedir-0.2.2...
Preprocessing library xdg-basedir-0.2.2...
[1 of 1] Compiling System.Environment.XDG.BaseDir ( System\Environment\XDG\BaseD
ir.hs, dist\build\System\Environment\XDG\BaseDir.o )
In-place registering xdg-basedir-0.2.2...

C:\xdg-basedir-0.2.2>runhaskell Setup install
Installing library in C:\Documents and Settings\UserName\Application
Registering xdg-basedir-0.2.2...

C:\xdg-basedir-0.2.2>cabal install yi-0.10.1 -f-vty -fpango
Resolving dependencies...
Downloading dyre-0.8.12...
Downloading hint-
Downloading yi-language-0.2.0...
Downloading yi-rope-
Configuring hint-
Configuring dyre-0.8.12...
Building dyre-0.8.12...
Building hint-
Configuring gtk-
Installed dyre-0.8.12
Configuring yi-language-0.2.0...
Installed hint-
Building yi-language-0.2.0...
Building gtk-
Configuring yi-rope-
Installed yi-language-0.2.0
Building yi-rope-
Installed yi-rope-
Installed gtk-
Downloading yi-0.10.1...
Configuring yi-0.10.1...
Building yi-0.10.1...
Installed yi-0.10.1


Read the documentation on user customisation.