Поскольку о языке программирования Quipper, предназначенном для реализации квантовых вычислений, здесь уже писали, а потому сообщество о нём наслышано, я посчитал своим долгом написать эту краткую заметку о том, как можно развернуть инструментарий для работы с языком Quipper у себя на компьютере. Такая заметка нужна в том числе и потому, что создатели языка Quipper до сих пор не озаботились написанием инсталляционного пакета для утилиты Cabal, входящей в состав Haskell Platform, поэтому язык Quipper надо разворачивать вручную. Эта заметка написана для тех, кто пользуется операционной системой Windows, поскольку инструкции для всех остальных операционных систем, на которых может использоваться язык Quipper, проще, чем для Windows (то есть здесь приводится описание самого непростого способа установки). Ну и я полагаю, что те, кто использует иную операционную систему, вполне способны самостоятельно развернуть всё необходимое для работы.
Интерес к языку программирования Quipper также мог быть подстёгнут несколькими переводами, о которых я сообщал ранее. Если кто не видел, то прошу ознакомиться (создатели этого языка уже по достоинству оценили переводы):
Эта заметка является частично переводом и адаптацией инструкции по установке языка Quipper, но в большей мере содержит описание шагов, полученных в результате моих собственных экспериментов. Так что если кому-то интересна эта тема, то прошу под кат.
Чтобы развернуть язык программирования Quipper, нам потребуются:
- Haskell Platform, куда включены компилятор GHC и средство развёртывания приложений и библиотек Cabal.
- Все дополнительные библиотеки, которые необходимы для корректной работы языка Quipper (будут перечислены ниже).
- Для операционной среды Windows также потребуются специальные утилиты, которые позволят исполнять POSIX-команды (например, MSYS).
- И, наконец, поставочный пакет самого языка Quipper.
Всё вышеперечисленное можно свободно скачать из сети Интернет.
Сейчас (на момент написания статьи последней стабильной версией Haskell Platform является 2013.2.0.0, и её можно получить по адресу www.haskell.org/platform/. После получения дистрибутива его необходимо установить, следуя стандартному мастеру установки и отвечая на все его вопросы простым нажатием на кнопку «Далее». После установки будет доступен компилятор языка Haskell GHC последней версии, а также огромное множество дополнительных инструментов для разработки.
После установка Haskell Platform, необходимо добавить все необходимые для языка Quipper библиотеки. Однако перед этим следует актуализировать версию утилиты Cabal, что делается при помощи последовательного запуска в командной строке терминала следующих команд:
C:> cabal update
(эта команда актуализирует список доступных для установки пакетов языка Haskell, а также их последние версии), и
C:> cabal install cabal-install
(и сама утилита Cabal наверняка рекомендует это сделать после актуализации пакетов). Выполнение этой команды займёт приличное время, и для её работы требуется подключение к сети Интернет, поскольку утилита Cabal самостоятельно скачивает всё необходимое для работы.
Теперь при помощи последовательного вызова в командной строке команды:
C:> cabal install *
где символ * обозначает следующие библиотеки (написание должно быть именно таким, с точностью до регистра символов):
- random
- mtl
- primes
- Lattices
- zlib
- easyrender
- fixedprec
- newsynth
- containers
- set-monad
- QuickCheck
При установке этих библиотек утилита Cabal сравнивает номера текущих версий, и если текущая установленная версия достаточна для работы (либо является последней доступной), то установка не осуществляется. В процессе установки перечисленных библиотек такое может возникать, ничего страшного в появлении подобных уведомлений нет.
После установки всех необходимых библиотек также надо поставить среду MSYS, инсталляционный пакет для которой можно получить по адресу downloads.sourceforge.net/mingw/MSYS-1.0.11.exe. После установки (рекомендуется использовать путь по умолчанию; по крайней мере, в пути к этому набору утилит не должно быть пробельных символов) необходимо ответить «Нет» на вопрос о наличии MinGW, а также прописать путь к подкаталогу bin в переменную окружения PATH. После этого утилиты, необходимые для обеспечения совместимости со стандартом POSIX, будут доступны, и можно будет перейти к развёртыванию самого пакета для языка Quipper.
Инсталляционный пакет языка Quipper представляет собой простой заархивированный каталог, который содержит в себе всю поставку всех исходных файлов на языке Haskell, в которых определяется проблемно-ориентированный язык, приводятся многочисленные примеры, а также предлагаются для изучения семь полноценно реализованных квантовых алгоритмов. Скачать этот пакет можно с официальной страницы языка Quipper по адресу http://www.mscs.dal.ca/~selinger/quipper/. Сейчас (на момент написания этой статьи) для скачивания доступна версия 0.6.
Проще всего разархивировать инсталляционный архив в корень диска, в каталог «C:quipper-0.6». После разархивирования необходимо прописать в переменную окружения PATH путь «C:quipper-0.6quipperscripts» (или соответствующий, если разархивирование пакета было произведено в иной каталог). После этих манипуляций язык Quipper будет доступен для работы. Он поставляется, как и компилятор GHC языка Haskell, с компилятором (quipper) и интерпретатором (quipperi), хотя, конечно же, это просто обвязки в виде BAT-файлов над компилятором GHC и интерпретатором GHCi соответственно.
Чтобы запустить режим интерпретации quipperi необходимо зайти в терминал MSYS, в котором перейти в каталог, где хранятся исходники для работы (например, имя файла Example.hs), после чего выполнить команду:
quipperi Example.hs
в результате которой будет запущен интерпретатор GHCi с подключением всех необходимых модулей языка Quipper. После этого можно начинать работать так, как можно работать непосредственно в GHCi.
Из-за того, что установочный пакет языка Quipper оформлен не через систему развёртывания Cabal, при работе с компилятором и интерпретатором GHC возникают определённые сложности. Компилятор GHC «не видит» библиотек языка Quipper, поэтому если есть потребность запустить именно GHC или GHCi, это необходимо делать с указанием пути к библиотеке языка Quipper. Например:
ghci -ic:/quipper-0.6
если язык Quipper установлен в каталоге «C:quipper-0.6».
Надо отметить, что создатели языка программирования Quipper уже задумались над поставкой библиотек языка в стиле Cabal, однако когда выйдет новый инсталляционный пакет — остаётся неизвестным. Но, по крайней мере, Бенуа Валирон и Питер Сэлингер обещали это в частной переписке.
Скачивайте, устанавливайте и работайте на здоровье. И да пребудет с вами квантовая сила.
В конце список ссылок для скачивания:
Автор: Darkus