サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
世界禁煙デー
marony0607.hatenadiary.org
もう数年関数型プログラミングを断続的に勉強し続けていますが、作れと言われれば作れるものの出来上がるコードが全然関数型じゃないばかりかスマートじゃありません。これはもうオブジェクト指向や手続き型に脳みそが浸食されていて、考え方の部分から関数型ではないのだろうなと思いました。 そこでTwitterで以下のようなつぶやきをしたところ反応してくださった方々がいましたので、紹介しつつ理解したいと思います。 自分の手続き型な回答 まずは、自分がC#で順列を順列を列挙するプログラムを組んでみました。 C#で関数型のことは考えずに素直に書いたつもりです。 ideone.com Ideone.com - 6uPhHY - Online C# Compiler & Debugging Tool 考え方としては、[1, 2, 3, 4]の順列を作るには、まずは先頭の4つを先頭にしたリストを作りその先頭以外につい
人が作ったHaskellのコードを読んでいると、記号の意味がわからなくて困ることが多々あったので纏めてみた。hrefでもGoogleでも検索できないしさ… Haskellの演算子で使える記号 !#$%&*+./<=>?@\^|-~ 及びUnicodeに含まれる記号(一覧が欲しい…けど√とか→とかもきっとそうだよね。) ただし「(),;[]`{}_:"'」は除く さらに、「:」で始まるのはデータコンストラクタで予約されているので演算子では使えない。 また、以下の記号列は予約されている 演算子 意味 .. リストの範囲指定。 : リストのcons。 :: 型指定 = 関数束縛。 \ ラムダ(無名関数)。 | パターンマッチのガード条件。data型enum定義。リスト内包表現。 <- リスト内包表現のジェネレータ。do記法での値束縛。 -> 関数の型定義。ラムダ(無名関数)定義。case式。 @
電車の中でしか開発時間がとれないので、LifeTouch Note(Android)にLinux入れられないかなぁと思っていたら、How to Install Ubuntu on Android! | Android+Linux=AndroLinuxを見つけました。 その通り作業したらあっさりインストールは出来たんですが、起動時にエラー… LifeTouch Noteのカーネルはループデバイスをサポートしてないみたいです。PCでならカーネルの再構築で解決するところですが、Androidだと敷居が高そうなのでやめました。 そこで、ループデバイスが駄目なら展開しちゃえばいいじゃんと、SDカードを二つのパーティションに分け、一つはAndroid用にFAT32、もう一つはUbuntu展開用にext2でフォーマットしました。そして、上記URLからダウンロードできるファイルの中のイメージをSDカードに
このページを最初にブックマークしてみませんか?
『marony0607.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く