GGG

プログラミング言語やソフトウェア開発について思ったことを書いてます

Haskell 最初のn歩 :型を知る。

Haskellの型

やっぱり基本は大事だぜ!

書籍を読んでいて、あれ?IntとIntegerの違いって?

とか思った時点で要再確認。

 ※型は大文字で始まる。

説明

Int

整数

有界である:最大値、最小値がある

CPUのワードサイズによって変わるらしい。

→64bit CPU の環境では -2^63 ~ 2^63-1 となるようだ。


Prelude> maxBound :: Int

9223372036854775807

Prelude> minBound :: Int

-9223372036854775808

Integer

整数

有界ではない:最大値、最小値がない

Intの方が効率的とのこと。  (すごいHaskell楽しく学ぼうより)

Float

単精度浮動小数点数 

IEEE 754にもとづき実数を表現する。

Double

倍精度浮動小数点数

IEEEE 754にもとづき実数を表現する。

数を表現するために使うbit数がFloatの2倍

Bool

真理値 : True , False

Char

Unicode文字を表現する。

(文字は1文字のこと。2文字以上は文字列という)

‘ (シングルクォート)で囲む

Ordering

GT  (Greater Than)

LT  ( Less Than)

EQ ( EQual )

[,]

リスト

(,)

タプル

最大数は62 らしい (すごいHaskell楽しく学ぼうより)

[Char]

文字列 を表現する

String

[Char] のエイリアス

“ (ダブルクォート)で囲む

“abc” は[‘a’,’b’,’c’] と等価

Rational

有理数を表現する型:標準では使えないらしい

※導入方法は別途調査。

Prelude> :m + Ratio

<no location info>:

   Could not find module ‘Ratio’

   It is a member of the hidden package ‘haskell98-2.0.0.3’.


表記例

-- % を使用する。

--  文法:分子 % 分母

-- 1 / 7 (7分の1)を表現 : / の代わりに % を使う

1 % 7  

Complex

複素数を表現する型:標準では使えないらしい.

※導入方法は別途調査。

Prelude> :m Complex

<no location info>:

   Could not find module ‘Complex’

   It is a member of the hidden package ‘haskell98-2.0.0.3’.


表記例

-- :+ を記号に使用する

-- 文法: 実数部 :+ 虚数

 

参考

https://www.shido.info/hs/haskell4.html

 

qiita.com