- importしてみて、使ってみる
- Data.Listなるものをimportしてみる
- その中のnubという関数を使う(重複を除いて出してくれる)
- それをIO()標準出力させてみる
- print関数を使えば、STALモジュール内の関数の結果を表示できる(Show属性を持つタイプなら)
module STAL
where
import Data.List
someFuncSTAL :: IO ()
someFuncSTAL = putStrLn (nub "abcbca")
-
- Main.hsにSTAL.hsをimportさせて、その中の関数 someFuncSTAL を実行させる
module Main where
import Lib
import GS
import TAMO
import STAL
main :: IO ()
main = do
someFuncSTAL
-
- .cabalでもSTALを読みこませるように書き換えて
library
hs-source-dirs: src
exposed-modules: Lib
, GS
, TAMO
, STAL
build-depends: base >= 4.7 && < 5
default-language: Haskell2010
$ stack install
$ mathBookStack-exe
abc
- このData.Listを、誰が、いつ、どこから取ってきて、使わせてくれているのかはまだわかっていないのだが…。デフォルトで入っているのでimportに成功すればよい、ということか???
module STAL
where
import Data.List
someFuncSTAL :: IO ()
someFuncSTAL = print (powerList "abc")
naturals = [0..]
evens1 = [ n | n <- naturals , even n ]
odds1 = [ n | n <- naturals , odd n ]
evens2 = [ 2*n | n <- naturals ]
small_squares1 = [ n^2 | n <- [0..999] ]
small_squares2 = [ n^2 | n <- naturals , n < 1000 ]
run :: Integer -> [Integer]
run n | n < 1 = error "argument not positive"
| n == 1 = [1]
| even n = n: run (div n 2)
| odd n = n: run (3*n+1)
ones = 1 : ones
powerList :: [a] -> [[a]]
powerList [] = [[]]
powerList (x:xs) = (powerList xs) ++ (map (x:) (powerList xs))