GGG

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

Haskell

Haskell 変換:中置記法 -> 後置記法

1 + 2 * 3 のような中置記法を後置記法へ変換するコードを書いてみた。 +,-,*,/,^ に対応。 () は未対応。()はそのうち対応したい。 数値は正の整数しか対応できていないので、この辺をもっと柔軟にできないかな。 正規表現使えれば簡単なんだが、Haskellで…

Haskell 逆ポーランド記法

どうやらもっと簡潔に書けるようですが・・・。 逆ポーランド記法をHaskellで書いてみた。 畳み込み(fold)を使いこなせるようになると もっと簡潔に書けるみたい。 Haskellで自分で考えて書いたのは初なので、こんなものですかね。 動くものが作れるってやっ…

関数型言語人気動向

世界 日本 TIOBE TIOBE Software: The Coding Standards Companywww.tiobe.com メモ ピックアップ関数型言語は独断ですw Googleトレンドで人気を見てみました。 人気プログラミング言語ランキングと言えばTIOBEだと思いますが こちらでは2015年7月発表時点…

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

Haskellの型 やっぱり基本は大事だぜ! 書籍を読んでいて、あれ?IntとIntegerの違いって? とか思った時点で要再確認。 ※型は大文字で始まる。 型 説明 Int 整数 有界である:最大値、最小値がある CPUのワードサイズによって変わるらしい。 →64bit CPU の…

Haskell 最初のn歩 :関数を調べる

調べた関数 関数名 定義説明 例 const 第1引数を出力する。 https://hackage.haskell.org/package/base-4.7.0.0/docs/src/GHC-List.html には定義がない。組み込み関数? Prelude> :t const const :: a -> b -> a Prelude> const 12 (1 `div` 0) 12 seq 正…

Haskell 最初のn歩 :演算子の優先順位

Haskellの演算子の優先順位についてまとまっているサイトを見つけた。 ◆調べたきっかけ ^演算子 (累乗) はC/C++にはない。 ^演算子の優先順位が分からなかった。 優先順位 演算子 高 ↑ ^ ↑ */ ↑ +- 低 参考 演算子 - ウォークスルー Haskell Haskellの演算子…

Haskell 最初のn歩 :関数を調べる

少しずつHaskell勉強中。 調べた関数 関数名 定義説明 例 id 入力(引数)をそのまま出力する https://hackage.haskell.org/package/base-4.7.0.0/docs/Prelude.html#v:id id :: a -> aid x = x Prelude> id 3 3 map よく使う高階関数(high-order-function) ht…

Haskell Platformを使って遊ぶ準備をする。

Haskellにはインタラクティな実行環境があるようだ。 GHCi というもの。 Windows環境にも提供されているため、導入してみることに。 Download : Haskell Platform https://www.haskell.org/platform/windows.html ダウンロードしたファイル名 HaskellPlatfor…

Haskell 最初のn歩 :演算子を調べる

Haskell始めました。 すぐ忘れちゃって、話にならんので構文メモ。 GHCi を使ってる。 ・大文字、小文字を区別する。 計算系の基本演算子。全て関数らしい。 演算子(関数) 例 備考 加算 + >1 + 2 3 文字の連結は+ではない。 文字列の場合は ++ 減算 - >1 - …

Haskell のIDE

Haskellをまた懲りずにやってみようと思った。 GHCi上でやるのはいいとして、Windows上で良さそうなエディタがないな と探してみたらあった。 IDEでエディタじゃないけど。 Haskellで作ったHaskellのためのIDEという素敵なIDEです。 leksah 逆さから読むとハ…