52700.fb2 Учебник по Haskell - читать онлайн бесплатно полную версию книги . Страница 297

Учебник по Haskell - читать онлайн бесплатно полную версию книги . Страница 297

Version:

1.0

Cabal-Version:

>= 1.2

License:

BSD3

Author:

Anton

Synopsis:

Little example of cabal usage

Category:

Example

Build-Type:

Simple

Library

Build-Depends: base == 4.*

Hs-Source-Dirs: src/

Exposed-modules:

Hello

Other-Modules:

Utility.Hello

Utility.World

Executable hello

Build-Depends: base == 4.*

Main-Is: Main. hs

Hs-Source-Dirs: src/

В этом файле мы описали библиотеку и программу. В строке base == 4.* мы указали версию пакета base.

Запись 4.* означает любая версия, которая начинается с четвёрки. Осталось только поместить в корневую

директорию пакета файл Setup. hs.

import Distribution.Simple

main = defaultMain

Теперь мы можем переключиться на корневую директорию пакета и установить пакет:

anton@anton-desktop:~/haskell-notes/code/ch-17/hello$ cabal install

Resolving dependencies...

Configuring hello-1.0...

Preprocessing library hello-1.0...

Preprocessing executables for hello-1.0...

Building hello-1.0...

[1 of 3] Compiling Utility.World

( src/Utility/World. hs, dist/build/Utility/World. o )

[2 of 3] Compiling Utility.Hello

( src/Utility/Hello. hs, dist/build/Utility/Hello. o )

[3 of 3] Compiling Hello

( src/Hello. hs, dist/build/Hello. o )

Registering hello-1.0...

[1 of 4] Compiling Utility.World

( src/Utility/World. hs, dist/build/hello/hello-tmp/Utility/World. o )

[2 of 4] Compiling Utility.Hello

( src/Utility/Hello. hs, dist/build/hello/hello-tmp/Utility/Hello. o )

[3 of 4] Compiling Hello