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

技術memo

関数型ゴースト

シーケンスのソート後の順番を、元の順番を保ったまま取得したい

FSharp 小ネタ 演習

Twitterお題が出されたので、F# でやってみました。

sortして、indexとzipして、またsortし直すなんて、「ずいぶんとダサいコードを書いてるのね!」って思いました。*1

例のコードの「人」と「車」のデータ型にcarRankinghumanRankingとがあるのも、型の利用しやすさを考えるとちょっと微妙に思えるので、それとなく改修したり。単に「元のデータとランキング結果のタプル」として取得することにします。

*1:冗談です。

続きを読む

プログラミングパラダイムの話への補足、あるいは「正しさ」について

観念的な話

先日の記事 関数型・オブジェクト指向なプログラミングパラダイムについて思うところ - 技術memo で誤魔化したいくつかのことについて、補足します。

続きを読む

関数型・オブジェクト指向なプログラミングパラダイムについて思うところ

観念的な話
  • 動機
    1. イメージ論でない言語パラダイムに関する話を書きたかった。*1
    2. まともな意見をインターネット空間に1つでも多く残しておきたかった。*2
  • 要約
    1. オブジェクト指向プログラミングはデータに対する操作をオブジェクト*3として抽象化する。
    2. 関数型プログラミングでは関数による抽象化を基本とする。
    3. 言語設計の問題と概念の問題は、混同すべきではない。

*1:あるいはインターネットスラング的な意味での技術ポエム的話題に一言言いたかったと言っても構いません。

*2:実際にまともかどうかは、自分自身にはわかりようもないことですが。

*3:Java的にはインターフェース

続きを読む

FireFox + KeySnail でEmacsキーバインドなWebブラウジング環境を作った話

Emacs env

昨年末からEmacsを使い始めて以来5ヶ月ほど、すっかり洗脳完了し、今ではEmacsキーバインドがなければ生きていけない状態になっています。 普段Webブラウジングに使っていたGoogle Chromeでは良い方法がなさそうだったのですが、FireFoxのKeySnailという拡張が非常に優秀とのことだったので、この機会にお試し&移行してみることにしました。

続きを読む

Scala言語を急ぎ足で学ぶ(勉強メモ 2/2)

Scala

勉強メモその2です。

その1に戻る

続きを読む

Scala言語を急ぎ足で学ぶ(勉強メモ 1/2)

Scala

普段はC#, F#, Java辺りを書いてる目線から、Scalaを勉強してみたので、コードメモを晒してみます。

動作環境はこの記事のPlayFramework無し(JDK + Scala + IntelliJ IDEA)です。

続きを読む

IntelliJ IDEA(無償版)でScala+PlayFramework2.3の開発環境を作った話

Scala PlayFramework env

何故かScalaを始めることにしたので、環境構築メモです。意外と躓きました。

続きを読む