やわらかテック

興味のあること。業務を通して得られた発見。個人的に試してみたことをアウトプットしています🍵

Haskell

関数型言語とはどんな言語なのかChatGPTに聞いてみた

近年、ハードの発展に伴って関数型言語の名前をよく聞くようになりました。 当時、何も知らなかった自分は「バグが出ないコードが書ける」という噂を聞きつけて、elixirというプログラミング言語に出会いました。その後、Haskellの学習を通じて関数型言語と…

【Elixirで実装】関数型言語でカプセル化をする方法

この記事の概要 関数型言語の多くでは値は束縛されるため、不変である 値を再束縛(≒再代入)することが出来ないため、値を更新する際には新たなデータを作る必要がある 更新の度に新たなデータを作ることで、関数型言語でもカプセル化をすることが可能になる …

数学全然わからないけどElixirでEitherを作ってみる

概要 Haskellではエラーが発生した際に対応するためにEitherというモナドを使う EitherはLeft(エラー時)とRight(正常時)の2つの値を持ち、それぞれ別の型の値を受け取ることが可能(Either = Left a | Right b) LeftにはStringがよく用いられ、エラーメッセー…

数学全然わからないけどElixirでMonadを作ってみる

前回までのあらすじ 「入門Haskellプログラミング」を読み進めながら、理解を深めるためにElixirを使ってHaskellのFunctorとApplicativeを再現してみました。 www.okb-shelf.work www.okb-shelf.work Functorは上手く再現出来ましたが、Applicativeはデフォ…

数学全然わからないけどElixirでApplicativeを作ってみる

前回のあらすじ www.okb-shelf.work 「入門Haskellプログラミング」という書籍を読み続けながら、理解を深めるために自分でFunctorを実装してみました。今回は、Functorに引き続き、Applicativeに挑戦してみます。 先に結論ですが、ElixirでApplicativeを作…

数学全然わからないけどElixirでFunctorを作ってみる

きっかけ 最近、「入門Haskellプログラミング」という書籍を読み進めています。 入門Haskellプログラミング作者:Will Kurt翔泳社Amazon 毎日1章ずつと非常にスローペースではありますが、第27章のFunctorまで辿り着きました。このFunctorというものが非常に…