読者です 読者をやめる 読者になる 読者になる

Elixir入門するついでにelixir-supervisordというライブラリを作った

だいたいのことはErlangでいいんじゃないかなと思いつつ、まー触ってみないことには何とも言えないよねというのもあり、今回重い腰をようやくあげた。 触り始めて一週間。 ついでにライブラリ作った https://hex.pm/packages/supervisord supervisordのXMLRP…

Persimmonはユニットテストを分散実行する夢をみるか?

F#

みるかもしれない。 どういうこと? かいつまんで問題を説明すると PersimmonというF#用テスティングフレームワークが存在する PersimmonでもRRRSpecやtest_queueみたいに分散実行したいね? Persimmonでのテスト実行の入力はdll アセンブリロードして アセ…

#fsharp 用テスティングフレームワーク Persimmon 1.0.0 をリリースしました

F#

https://github.com/persimmon-projects/Persimmon/releases/tag/1.0.0 https://github.com/persimmon-projects/Persimmon.Dried/releases/tag/1.0.0 https://github.com/persimmon-projects/FAKE.Persimmon/releases/tag/1.0.0 Testing Framework Meetingで…

java-ja.OSSに参加

初のjava-ja参加でした。 java-ja.OSS - connpass なんというかよく分からないテンションなので書きなぐってみます。 (遊びで書いた)コードの保管場所としてのGitHub PC移行するときに面倒臭いしGitHubに置いてそういうリポジトリの通知を無視する勇気をもつ…

勉強会開催について考えていることを雑に書く

雑です。 前提 多くても100名くらいの 発表系イベントで コミュニティで企画するのではなくてきとーに興味ありそうな人に声をかける 開催のモチベーション 私が表立って開催している勉強会は「知らないことは何か、ということを知る」ことを目的として開催し…

#TestingFrameworkMeeting を開催しました

発表資料やtogetterは以下にあります。 https://github.com/tddbc/TestingFrameworkMeeting/blob/master/links.md 久々にこの濃度のイベントに参加した気がしますね…。 今やってることに直接参考になる話とかも聞けたりしたので個人的には大満足でした。 と…

とある単語メモ

Twitterを眺めているとたまに流れてくるのでメモ モッ -> Monad ファッ -> Functor 遠藤さん -> Endo 注意: 一般に通じる略語ではありません!!!

dog用のautodocライブラリを作った

Rubyにはautodocというライブラリがあります。 r7kamura/autodoc · GitHub これのdog用のライブラリを作りました。 pocketberserker/dog-autodoc · GitHub dog-autodoc用のsbtプラグインは実装中です…最低限部分できたので一旦リリースしました。 pocketbers…

dogというScala用テストフレームワーク(?)を作ってみた

https://github.com/pocketberserker/dog このフレームワークは Persimmon の移植というか Persimmon に存在していた型をよりMonadとかそういう方面に倒してみようというものです。 テストという存在の型について考えてみる - pocketberserkerの爆走 上記に…

テストという存在の型について考えてみる

いわゆるユニットテストフレームワークに現れる各種型について考えてみる。 成果は考えない。 このエントリは考えがまとまっていない段階で書かれたものであるため、間違っている可能性があります。 成果物(の途中経過) 途中結果を素っ飛ばした作成中のもの…

#TestingFrameworkMeeting というイベントをやります

tddbc/TestingFrameworkMeetinggithub.com 概要や参加方法諸々は上記リポジトリに書いてあります。 ユニットテスティングフレームワークや関連のあるものについて議論してみてもいいんじゃないかな、と思って企画しました。 (なお、ここまでこぎつけたのは企…

"なぜshapelessにはGeneric[Boolean]がないの?"と尋ねてみた

Gitterで質問したのでそのメモ*1。 なお私の英語は壊滅的なので片言?なのは許してください。 Hello. Why does Generic[Boolean] instance not exist? と投稿したところ、milessabinさん(shapeless作者)から Because there's no obvious sum of product repr…

「Persimmonでテストを書く」での疑問点に回答してみる

F#

Persimmon でテストを書く — a wandering wolf 上記記事で2点ほどあがっていたものがあるので。 Usingがない 検証さぼってただけです、すみません。pull requestだしたのでそのうち入るかもしれません。 enable use keyword by pocketberserker · Pull Reque…

あの時を振り返る

ふと、 初回TDDBC名古屋 が開催されてから5年が経過したことに気がついた。 あの時はブログをやっていなかったので感想記事を書けなかったが、良い機会だし、感傷に浸りたい年頃になってしまったので、駄文(になるだろう)を書いてみる。 なお、これを読んで…

JavaScriptのパーサコンビネータparsimmonをTypeScriptで使ってみる

時代の流れに逆らえなくなってきた感があるので、TypeScriptの練習。 とはいえ、最初は慣れ親しんだものから攻めるのが現実的だと思われるので、パーサコンビネータを題材にする。 jneen/parsimmon · GitHub ライブラリはこれを使う。 自作するかとも考えた…

7月以降に開催するイベントの告知

こんにちは、もみあげです。 最近ブログではイベントの告知をあまりしていなかったのですが、今回はいくつか企画が走っているので紹介しておきます。 FSharp談話室(20) ゲストもくるよ! F#談話室(20) - connpass Yan Cuiさんの来日に合わせての開催です。 …

Functional Java の HList を C# に移植して F# 拡張を作った

前々からFunctional JavaにHListが存在するのは知っていたのですが、なかなか手をだせていませんでした。 で、最近Lensライブラリ移植の息抜きにちょっと時間があったので移植してみました。 そもそもHListって? heterogenous list。 日本語ではたまにヘテ…

QuickCheck系統のGenのfilter(suchThat)実装比較

Gen#filter · Issue #5 · xuwei-k/scalaprops · GitHub こういうissueを投げたあとで、オープンではない場所で色々話していた際にちょっと調べてみたのでメモ。 filter(suchThat)の挙動 あるジェネレータから条件を見たす値のみを出力したい場合に使う -- こ…

F# User Goup Japan用のgitter roomができました

F#

タイトルの通りです。 fsugjp/public - Gitter yukitosさん++ 何する場所? F#についてゆるふわ喋る場所です。 以前から scalajp/public - Gitter みたいなのがF#にもあるといいなぁ、と思っていたので、嬉しい限りです。 どう書けばいいのか こういうライブ…

Quoteメソッドでコンピュテーション式に介入する(実践編?)

F#

全国コンピュテーション式ユーザの皆様こんにちは。 GWの進捗どうですか? 私は駄目です。 ネプテューヌVⅡを1周しようと思っていたのにまだできていません…。 さて、今回はQuoteメソッドを使ってコンピュテーション式への介入しようという話の実践編(?)です…

Microsoft MVP for .NET を受賞しました

2015年1月からC#, VB.NET, F#の枠が統合され「.NET」となっていたので、正確には再受賞です。 .NETに関してはこれからもF#に偏ったことしかしない可能性が高いですが、何かしら成果を残せたらいいな…と思っております。 あと、せっかく東京にきたのでF#で定…

入社経緯など

先日記載した通り、株式会社ドワンゴに入社しました。 ただ、前記事では入社までの経緯を書いていなかったので、本記事にてまとめておきます。 きっかけとか 前職は誘われる形での転職だったので、今回はWebページからの応募でやってみようと考えました。 た…

退職のご報告

3月31日に、某社を退職することになりました。 本日が最終出社日で、来週から有給消化期間です。 忙しい人のための3行まとめ 現職は良い環境だと思う でも東京遠いから 移住する お前誰よ? 2013年11月中旬から、愛知県のとある会社で C# や F# を使った開発…

HaskellのlogictをScalaに移植してみた

Haskell に logict というライブラリがあります。 logict: A backtracking logic-programming monad. | Hackage MonadLogicやLogicTが何者なのかはそのうち解説記事を書くとして、今回はこのライブラリをScalaに移植してみました。 pocketberserker/scala-lo…

AppVeyorのSQL ServerにJDBC Driverで接続する

備忘録です。 簡単な経緯は以下の通り。 あと体力あれば URL これ使って scalikejdbc の テストできるか試してみたい2015-02-11 13:45:22 via Krile StarryEyes @pocketberserker やってみたんですけど URL テストの実行までいったけれど、(設定間違ってるの…

scalacheckの内部構造をいじって遊んでみた

SPECIAL DAY Scala Hack-a-son 143th in KABUKIZA - Scala Meetup Group in Tokyo | Doorkeeper たまにはハッカソンもいいかなと思って参加してみました(噂の rpscala に参加してみたかったというのもある)。 で、当日は scalacheck をいじっていたコードが…

scalacheckのcommandsパッケージをPersimmon.Driedに移植

F#

ちったーを眺めていたら 気がついたら ScalaCheck の状態付きテストができるバージョンが出てた。 URL Erlang 版 QuickCheck をマネしたんだとか。 URL #scalajp2015-02-04 13:30:06 via Twitter Web Client というつぶやきが見え、そういえば干し柿にはまだ…

CoArbitraryの実装比較

全国 QuickCheck 系ユーザの皆様こんにちは、もみあげです。 今日は CoArbitraryとScalacheck - scalaとか・・・ に関連して、各言語の QuickCheck 実装の CoArbitrary や Arbitrary (a -> b) インスタンスについてみていきましょう。 CoArbitrary とは Quci…

sonatypeのアカウントを作成してscodec-msgpackをpublishした

数日前(?)に xuwei さんが ,msgpack4z というライブラリをリリースしたことが(少なくとも私の中では)話題です。 msgpack4zというmsgpackのScala用ライブラリを作った - scalaとか・・・ こちらの開発が続くだろうし、私が作った scodec-msgpack はリリースせ…

Persimmon用のランダムテストライブラリ案(もしくは scalacheck の F# 移植)

あけましておめでとうございます。 さっそくですが進捗どうですか? 私は駄目でした(Persimmon用VS Test Explorer拡張的な意味で)。 今回はランダムテスト実装の話です。 Persimmon と FsCheck の相性について FsCheck には IRunner という、拡張ポイントが…

2014年簡易振り返り

寝落ちしていたらこの時間になっていたので、簡易版で。 生活 25歳定年説の歳だったけど新卒2年目(だった年)に定年という悲しみのネタになりそうだったので記事はかかなかった 定時に帰ると時間が空く 朝の時間帯にパf-マンスがでない 東京に行く回数がふ…

スコープやオフサイドルール小話

この記事は F# Advent Calendar 2014 の28日目の記事です。 引き続きガス欠気味なので小ネタで。 module Hoge = let hoge = // lazy もオフサイドルールの対象である lazy let a = 1 a + 1 do // スコープが異なるので定義できる let hoge = 1 let mutable x…

1ファイル内に複数のnamespaceを書く

この記事は F# Advent Calendar 2014 の28日目の記事です。 ガス欠気味なので超小ネタで。 namespace Hoge type Fuga() = class end namespace Foo type Bar() = class end このコードは1ファイル内でコンパイルできます。 =が必要ないのがミソですね。 入れ…

F# 製ユニットテスティングフレームワーク Persimmon について #FsAdvent

F#

この記事は F# Advent Calendar 2014 の27日目の記事です。 内容は今年の10月末あたりから作っている Persimmon というフレームワークについてです。 諸注意 本記事に書くことはあくまでpocketberserker個人の見解です。 他の開発者がどう考えているのかは …

FsCheckのこまごまとしたこと #FsAdvent

F#

全国のF#erの皆様こんにちは、もみあげことなかやんぺんぎんです。 ここからは F# Advent Calendar 2014の延長戦(25日目)です。 英語圏と張り合ってるわけじゃ、ないんだからね!? 今回は今年めでたく正式版がリリースされた FsCheck についてちょっとした…

FsAttoparsecについて

F#

この記事は F# Advent Calendar 2014の16日目の記事兼ML Advent Calendar 2014の16日目の記事になります。 今日はF# のネタリストの中から、FsAttoparsecについてです。 attoparsec とは attoparsec は Haskell のパーサコンビネータライブラリの一つです。 …

"コンピュテーションビルダーに機能を後付けする"の補足?

アドベントカレンダーとその補足記事で色々と賑わっていて素晴らしいですね。 と、前置きはここまでにしておいて。 コンピュテーション式の変形後を覗き見るを改良する - ぐるぐる~ さて、この記事に下記の記述があります。 さて、コンピュテーションビルダ…

Async小話(末尾再帰関数)

F#

過去にTomas Petricekさんの非同期に関する記事を翻訳しました。 Async in C# and F#: Asynchronous gotchas in C# (Japanese translation) この記事の最後には以下の記述が存在します。 また、F# の async も問題を持っています(最も一般的な落とし穴は、…

コンピュテーション式の Tips

F#

この記事は F# Advent Calendar 2014 - connpass の初日の記事です。 12月になってしまいましたね、進捗どうですか?私は駄目です。 タイトルは"コンピュテーション式の Tips"となっていますが、中身は Basis.Core や "Persimmon 内で使われているコンピュテ…

コンピュテーション式のカスタムオペレーターで遊ぶ

F#

柿プロジェクトを触っているときに思いついたネタです。 ホモビルダー 日本語を使ってみたかったので作ったもの。 ネタが思いつかなかったのでこのネタに…。 https://gist.github.com/pocketberserker/b0f67590f0bcc615b330 一番最初のカスタムオペレーター…

FsAttoparsecとattoの内部構造が変わった話とか

私が FsAttoparsec を実装し始めた5月頃、実は本家 attoparsec は内部構造を新しいものに変更していたということに先月末気が付きました*1。 どういう変更かというのは A major upgrade to attoparsec: more speed, more power | teideal glic deisbhéalach …

"F# でのテスト用 DSL について考える"で書いたコンピュテーション式

発端や流れに関しては F# でのテスト用 DSL について考える — a wandering wolf を読んでください。 本記事では私が実装してみたコンピュテーション式についてゆるく説明します。 先に読むべきもの 詳説コンピュテーション式 - ぐるぐる~ コンピュテーショ…

#関数型なんたら という勉強会をやります(ニコ生もあるよ!)

2014年10月25日土曜日に関数プログラミング的な交流会(?)のような勉強会を開催します。 函数型なんたらの集い 2014 in Tokyo - connpass なぜ1週間前のこのタイミングで告知記事を書いているかというと、二木ニコ生放送があることを伝えたいからです(ドワン…

各言語でtype classesを実装する際に使いそうな道具とか

現時点における GHC、Scala、F#、Java の type classes 実装に使う道具比較をメモしておきます。 言語比較したいわけではなく、論争を繰り広げたいわけでもないのであしからず。 あとてきとーに書いてる感は否めないので、間違っている言葉、表現、概念など…

ermine-parser(scala-trifecta?)の F# 移植を試みたが…

F#

ermine-parser という、Haskell の trifecta を参考に実装されたパーサコンビネータライブラリが Scala には存在します。 ermine-language/ermine-parser · GitHub 今回はこれの F# 移植を試みました。 注意事項 F# で推奨される実装、ガイドラインから逸脱…

F# で高階型のエミュレーション

この記事では、F# で 高階型 (higher kinded types) をエミュレーションすることについて記述します。 本当は 函数型なんたらの集い 2014 in Tokyo - connpass で話そうと思っていたのですが、運営を考えると発表できる気がしなくなった*1ので、記事にしてお…

scodecでmsgpackライブラリを作ってみた

pocketberserker/scodec-msgpack · GitHub 名前は特に思いつかなかったのでそのまんまです。 実装理由 scalazフレンドリーなmsgpackライブラリがほしかった(建前) scodecの勉強のため そろそろ一度はscalaのライブラリレベルのコード書かないとなーと思って…

http4s 0.2.0の依存ライブラリについてメモ

http4s 0.2.0 時点での話です。 あと、特にぶつかりそうなライブラリのみ対象にしています。 scalazに依存するライブラリ群 http4s 0.2.0時点では、scalaz 7.0.x系に依存したものが使われています。 というわけで、たぶん他のscalazに依存するライブラリも 7…

ScalaのArgonautを触ってみた

最近、 Argonaut: Purely Functional JSON in Scala というライブラリを興味本位で触っているのでメモ。 利用したライブラリのバージョン "io.argonaut" %% "argonaut" % "6.0.4" "com.github.nscala-time" %% "nscala-time" % "1.2.0" サンプル 本家サイト…

F# でFree MonadとOperational Monad(未完成)

F#

JavaでFreeモナドを表現するためのテクニックやexistential type(存在型)の話 - scalaとか・・・ JavaでFree Monadを実装する際のテクニックをxuweiさんが解説されているので、F#側も少し説明してみようと考えた次第です。 筆者はCLIやジェネリックに詳しく…