Игорь Пашев

Jan. 10th, 2010

02:51 pm - Численное интегрирование на Хаскеле

Методы прямоугольников, трапеций, Симпсона.
Цель — освоиться с Хаскелем.

where h = (b - a) / n )

P. S. GHC 6.12.1 прекрасно собирается из исходников и устанавливается как надо и куда скажешь :-)

Tags: , ,
(Оставить комментарий)

May. 31st, 2009

12:04 am

Традиционно, первая программа — НОД по Евклиду :-)

 1 gcd1 a b  | a > b  = gcd (a-b) b
 2           | a < b  = gcd a (b-a)
 3           | a == b = a
 4
 5 gcd2 a b  = gcd (abs a) (abs b) where
 6           gcd a 0 = a
 7           gcd a b = gcd b (rem b a)
 8
 9 main = do
10         print (gcd2 121 11)
11         print (gcd1 121 11)
12


Проверка:

# ghc -o gcd gcd.hs && ./gcd 
11
11
Под Виндой тоже работает.
Переносимость не может не радовать.

Tags: ,
(Оставить комментарий)

May. 28th, 2009

12:47 pm - Хочу хаскель

Я скачал:
http://haskell.org/ghc/dist/6.10.3/ghc-6.10.3-i386-unknown-linux-n.tar.bz2

Установил:
./configure && make install

Попробовал:
http://www.haskell.org/haskellwiki/Haskell_in_5_steps

Результат:

# ghci
GHCi, version 6.10.3: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... : can't load .so/.DLL for:
HSghc-prim-0.1.0.0 (libHSghc-prim-0.1.0.0.so: cannot open shared object file:
No such file or directory)

# find /usr/lib/ghc-6.10.3/ -name \*libHSghc-prim\*
/usr/lib/ghc-6.10.3/ghc-prim-0.1.0.0/libHSghc-prim-0.1.0.0_p.a
/usr/lib/ghc-6.10.3/ghc-prim-0.1.0.0/libHSghc-prim-0.1.0.0.a


Создал файл hello.hs:
main = putStrLn "Hello, World!"

Попробовал скомпилировать:
# ghc -o hello hello.hs

hello.hs:1:0:
    Failed to load interface for `Prelude':
      There are files missing in the `base' package,
      try running 'ghc-pkg check'.
      Use -v to see a list of the files searched for.


Что я делаю не так?
Можно мне пример небольшой работающей программы?
Нагуглил только отрывки и абстрактные рассуждения.

Tags: ,
(6 комментариев | Оставить комментарий)