てくのろじーたのしー

Haskellぺろぺろ

Haskellerから見たElixir

なぜこれを書いたか 誰かHaskellしか関数型を知らない僕にElixirの特徴(特にHaskellとどう違うか)を教えて欲しいです#elixir— Tatsuki@Vim (@ttk_vim) 2017年5月22日 テクノさん案件だ— Haskell (@aiya_000) 2017年5月22日 オッス!オラ、テクノ— techno_tan…

チェビシェフの不等式の証明

記事を書けばチェビシェフの不等式の証明の勉強になると思ったので書きます。案の定勉強になりましたが、予想以上に時間がかかった・・・(主にはてなブログとTeXの相性の問題で)証明のスケッチは1. 確率分布の分散の定義 2. 確率変数の値によって2つのグルー…

関数型プログラミングに関わる本の書評

この記事はShinosaka.rb Advent Calendar 2016の19日目の記事です。 持っている本一覧 このACではrubyに限らず、どのような記事でも良いらしいので、現在僕が持っている関数型プログラミングに関係する(と思う)本の書評を書いてみようと思います。 現在持っ…

Shinosaka.hs #3 Elixir入門をした

やってしまった〜〜〜!! やってしまいました大失態です。持ってくるノートパソコンを間違えました。 僕は現在、2台のノートパソコンを持っています。片方は中古で買ってUbuntuを入れたThinkPadで、もう一方はWindowsの入ったLenovo G510です。 普段開発用…

shinosaka.hs #2 Elixir入門を開催した

2016年9月15日にshinosaka.hs #2としてelixir入門勉強会を行いました。 イベントページはこちら 前回のhaskell入門がアレ過ぎて、かなり凹んだのですがめげずに頑張りました。 最近はelixirが熱いということで、haskell入門を行った前回とは打って変わって、…

Haskell勉強会をしたことに関する反省会

2016年7月31日にHaskellハンズオン shinosaka.hs #1を開催しました。 場所は大阪本町の株式会社ソウの代表である八木さんにオフィスを使わせて頂きました。場所がなかなか見つからず困っていたので本当にありがたいです。 勉強会の内容はHaskellの基礎という…

Rubyのcase式のたくさんの使い方(翻訳)

Ruby Case Statements with Examples 英語の練習のための翻訳 以下翻訳 if / elsif式を使うときはいつでも代わりにRubyのcase式を使うことを考慮してください。この投稿ではいくつかのユースケースと実際にどのようになっているか見てみましょう。 ノート: …

いまさらhaskellの状態管理に関して一言いっとくか

今回の記事はパッと出の思いつきで書いたものなのでぶっちゃけ読まないでいいです。例が面白くないです。 タイトルはそろそろFreeモナドに関して一言いっとくかのパクリオマージュです。 「そろそろhaskellの状態管理に関して一言いっとくか」ではありません…

TAPL4章の型無し算術式の実装

型無し算術式の実装 - プログラミング勉強日記に影響されて実装。 data Term = TmTrue | TmFalse | TmIf Term Term Term | TmZero | TmSucc Term | TmPred Term | TmIsZero Term deriving(Eq, Show) isnumericval :: Term -> Bool isnumericval TmZero = Tru…

elixir1.3で入りそうな機能

こんにちは。最近haskellの書き方を忘れてきたtechno-tanoCです。 「elixirのwhenってEitherっぽいよなーでも失敗した瞬間失敗したものが返ってくるから使いづらいなーもう自分でマクロ作ろうかなー」と思いながらネットの海を漁っていたら(海だけに)、when…

なぜ初心者にHaskellのファンクターは怖いと言われるのか(翻訳)

英語の勉強のためにWhy say the design of functor in Haskell is terrible for NEWBIE | neutronestを翻訳してみました。 以下翻訳 ファンクターって何? 今日私が話したい"ファンクター(functor)"は圏論(category theory)の概念ではなく、Haskellの中心的…

精巣捻転になりました

こんにちはtechno_tanoCです。 学校の定期試験がひとまず終わって、追試に向けて勉強をしなくてはと思いながらも怠惰な性格なもので勉強せずに部屋でゴロゴロしていたのですが、精巣捻転になりました。治療を受けたところすっかり良くなって、今のところ痛み…

WordPressで作られたサイトにログインする

やりたいことはタイトルそのまま。haskellで書く。 使うパッケージはhttp-contuid 2.1.8とutf8-string 1.0.1.1(stackのlts-3.14) {-# LANGUAGE OverloadedStrings #-} import qualified Data.ByteString.Lazy.UTF8 as U import Network.HTTP.Conduit ap = [(…

「関数型」というジャンル

多くのプログラミング言語で関数型プログラミング要素が取り込まれるようになって久しいです。 Java8でラムダ式が導入された時は大きな話題になりました。 C#では2.0でジェネリクスが使えるようになり、3.0ではラムダ式と型推論(のようなもの)も使えるように…

Rubyで正規表現を使った抽出

rubyって楽で良いですよね。今日もその良さを感じたのでお裾分け。 最初にマッチした部分を取得したいことってよくありますよね。 文字列の中からfooの後に連なった最初の数字を取得したいとします。冗長に書くとこんな感じですかね? if match = "foo123bar…

Haskellで正規表現

Haskellで正規表現を使った覚書。 最初にマッチした部分を取得 firstCapture :: String -> String -> String firstCapture source pattern = head . mrSubList $ source =~ pattern firstCapture "abcdefg" =~ "a(\\w\\w)d\\w\\w) == "bc" matchResultでは最…

Tera TermでDockerにattachしたら面白かった(小並感

Tera Termを複数開いて、同じサーバにログイン後、同じコンテナにattachするとコンソールが同期する。それだけ。

(.) . (.) の型

初めましての方が多いかもしれません。にわかプログラマのtechno_tanoCです。前にふとghciで :t (.) . (.) と打ち込んでみたところ、 (.) . (.) :: (b -> c) -> (a -> a1 -> b) -> a -> a1 -> c と表示されました。にわかの私はこれだけでもう大混乱です。(b…

ζ*'ヮ')ζ

ζ*'ヮ')ζ<うっうー!

Hello World!

Haskellすごい(とても) 競技プログラミング難しい(とても) react.js楽しい(とても) Rubyは便利(とても)