Haskell

1/2ページ
関数型プログラミング言語 Haskell についての記事です。

Visual Studio Code で Haskell の環境を構築する

Visual Studio Codeを使う 最近プログラム開発使うのは、VisualStudioかAtomばかりでした。 Haskellでプログラムを書くときはAtomを利用しているのですが、Visual Studio Codeを使って簡単な環境を構築し、こちらでHaskellのプログラムを書いていこうと思います。 以下導入手順を記します。動作環境はWindows10です。 Visual Stud […]

  • 2016.08.05

[Haskell] 平均を求めるaverage関数

Haskellのお勉強 ハノイの塔やユークリッドの互除法、エラトステネスの篩などのアルゴリズムをHaskellで実装したりしてきました。 なんとなくHaskellでの書き方が身についてきたような気がします。 最近これまたなんとなく統計学の本も読んでいて、数年前の勉強内容を思い出そうとしています。 その中で分散や標準偏差が初歩として出てきているのですが、これをHaskellで書いてみようと思いました […]

[Haskell] 10進数からN進数への変換処理

Haskellのお勉強 今日もHaskellの勉強がてら10進数からN進数(1..16進数)への変換処理を書いてみようと思います。関数に変換する数値と、何進数に変換するかの数値を渡すと、変換された文字列がかえってくるイメージです。 早速ですがHaskellのコードです。N進数の適当な言葉が英語で見つからなかったのでNStringとしました。 Haskellのコード intToNString :: […]

[Haskell] 素数判定(試し割り,エラトステネスの篩)

Haskellのお勉強 絶賛Haskell強化週間中です。これまでハノイの塔、ユークリッドの互除法、それぞれのアルゴリズムをHaskellで実装しましたが、今回は素数判定をしてみようと思います。 素数判定にはさまざまな判定法があるらしいのですが、今回は単純な試し割りによる素数判定とエラトステネスの篩をHaskellで書いてみます。 いずれも Wikipediaに記事が有りますのでそれを参考にしてい […]

[Haskell] ユークリッドの互除法で最大公約数を求める

Haskellのお勉強 ハノイの塔の記事のときと同じように、今回もHaskellのお勉強のためにユークリッドの互除法による最大公約数の取得処理をHaskellで実装してみました。 まずは実装したコードを載せます。 main = print $ getGcd 1071 1029 -- 21 -- 最大公約数を求める関数 getGcd :: Int -> Int -> Int getGcd […]

  • 2016.06.10

[Yesod] ログの出力

Yesodでコマンドライン上にログを出力する方法 Yesodでログを出力するには$(logInfo)を使います。 ログはコマンドライン上に表示されます。 getLogR :: Handler Html getLogR = do $(logInfo) "ログです ..." defaultLayout $ [whamlet|<p>logを出力しました ...|] 使い方 […]

  • 2016.06.08

[Yesod] Jsonを返す

Jsonを返すリソース まずは適当なjsonを返すように定義してみます。 getJsonR :: Handler Value getJsonR = jsonToRepJson $ object ["data" .= ("val" :: Text)] 型を Handler Value とします。 jsonToRepJsonでobjectで作ったデータをJsonとして返している… みたいな […]

  • 2016.06.08

[Yesod] StaticR, 静的ファイル(js,css)の読込

Viewからの読込 YesodでCSS/Javascripを使用する場合、Shakespearean TemplatesのCassius(CSS) / Lucius(CSS) / Julius(Javascript) を使うことができます。ただし通常のjavascriptファイルやcssファイルを読み込んで使用したい場合は、StaticRを使ってパスを指定できます。 今回は次のjavascript […]