Hatena::Grouphackathon

zrail (a.k.a. tobira17, h14i, ...) の Learning Log

2017-07-03

[]やる気出ない 01:07 やる気出ない - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - やる気出ない - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

全然手を動かせてない。動かす気にもならない。

純粋関数型データ構造を読み始めた頃くらいからML(まぁOCamlだが)で文字列処理を上手くやれるようになりたいなぁと思い始めて適当にそれっぽいツールのソース読んだりアルゴリズム関連のテキスト読み直したり(というか眺めてるだけ)するだけで満足してる。

2017-06-09

[][][]ML書いててついた変な癖 03:07 ML書いててついた変な癖 - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - ML書いててついた変な癖 - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

  • レコードを使わない
    • リスト、タプル、ヴァリアント。このあたりだけで何でもやろうとしてしまう。レコード使ったほうがすっきり書けるときもあるんだろうな、気付いてないだけで。
  • 末尾呼び出し
    • 明らかに深くネストしないような関数まで末尾呼び出しにしようと頑張る。
  • 内部関数の量産
    • 上の末尾呼び出しに関連して、アキュムレータを隠そうとした結果、大概の関数に内部関数。
  • ML 以外の言語でも ML っぽい書き方
    • まぁこれはプログラミングスタイルをまだ消化できてないというかプログラマの麻疹というか。

2017-05-21

[][]シンタックスファイルの作成 23:33 シンタックスファイルの作成 - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - シンタックスファイルの作成 - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

メモ。多分随時更新。

シンタックスファイル職人を目指そうと思っているのでなければ止めておくのが吉。

  • Q. 既存のシンタックスファイルがあるけど、気に入らないので自前のものを作りたい
    • A. やめておけ(既存のものをafter以下で拡張・修正する程度にしておけ)
  • Q. シンタックスファイルが存在しないので作りたい
    • A. キーワードとリテラルをハイライトするくらいで満足しよう(まともに構造を扱おうとするとパズルになる)
  • Q. でも fdm=syntax でフォールドしたい
    • A. コードブロックのはっきりしてる(開始と終了のトークンがある)ような言語なら書いてもいいんじゃないでしょうか(MLみたいなほとんど式だけで構成されるような言語はやめておいたほうが……)

[][][]シンタックスファイルの作成 for OCaml 23:44 シンタックスファイルの作成 for OCaml - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - シンタックスファイルの作成 for OCaml - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

割と地獄。

いや自分のスタイルだけは正しくハイライトとフォールドできる、みたいな奴ならそんなに大変じゃないんだけど、汎用っぽいのを書こうとするとなぁ。

僕はばんばんターミネータを置く派なので……。

外部のパーサでシンタックスファイルの生成してもらって適切なタイミングで読み直すとかしたいレベル。

2017-03-30

[]テキストエディタの入力補完についてのメモ 23:56 テキストエディタの入力補完についてのメモ - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - テキストエディタの入力補完についてのメモ - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

まぁ一応Vimmerなのでキーワード補完、つまりバッファ内外の連続した&isk文字列の補完があれば別に問題ないよな、と思っていたんだけど、微妙に考えが変わってきたかも知れない。

というのも下に書いた二つの状況が重なったらつらいなと思ったからです。実際には同時に体験してないので本当につらいかどうかは分かりません。


今どきはマシンパワー余ってることも多いんだし、タイポとかシンタックスエラーの類の検出みたいな難しい処理は処理系に任せて、テキストエディタみたいな開発のUI部分は(体感的な)速度が一番重要だ、と思ってたんです。

だって今どきの処理系ってビルド始めてもソースがおかしければすぐエラー吐いて止まるじゃん?

でもそうじゃない処理系があるんだなぁと。mltonとか。いやmltonはそういう風に使うもんじゃない、っていうのは分かるけど、mlton以外にもまぁきっとあるよね。(なんか一つのファイルをコンパイルするのにもめっちゃ時間掛かるんだけど、こういうもんなの?)


で、補完の話に戻るけど、上で書いたキーワード補完だとキーワードに見えれば何でも補完してくれてすげー便利なんです。

でも、(Vimの設定的には)キーワードに見えて、(人間の目の)ぱっと見にはソースコード内に出現する文字列に見える、でも実はコメント内にあったタイポ、みたいなケースに当たってハマりかけたんです。ハマんなかったけど。

それでキーワード補完は便利で快適だけど困ることもあるなと。もうちょっと賢いキーワード補完も欲しいなと。


すぐ思い付く解決策としては、もし処理系が自分のASTにアクセスするAPIを公開してるならそこからトークンだけ貰ってくる、とか?

まぁこれだと動的型付け言語の場合は代入のタイミングにやらかしたタイポは防げないですね。


バックグラウンドで監視、変更の都度コンパイル、エラーが出たらそれを注意深く読む、でいいじゃんとも思うけど、夢がない。

[]いまさらGNU Makeに入門した 00:02 いまさらGNU Makeに入門した - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - いまさらGNU Makeに入門した - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

なんか色々関数とかあるし、Guileも使えるっていうし、きっと魔的な何かなんだろうなと思ってたけど、意外と嫌いじゃないかも知れない。まだ分からんけど。

2017-02-26

[]Re-try GNOME on Wayland on Fedora 20:15 Re-try GNOME on Wayland on Fedora - zrail (a.k.a. tobira17, h14i, ...) の Learning Log を含むブックマーク はてなブックマーク - Re-try GNOME on Wayland on Fedora - zrail (a.k.a. tobira17, h14i, ...) の Learning Log

失敗。すぐ GNOME on Xorg に帰りました。

  • ~/.Xresources が無視される
    • wayland はログインシェルとして動かない(らしい)から読み込まない
      • そういうモデルなのでこれは(多分)仕方ない
    • gdm のフックとか dbus とかその辺りで読み込めよってことらしい
    • bugzillaの一昨年あたりのissueには「大したオーバーヘッドじゃないんだからシェルの~/.profileあたりに 'xrdb -load ~/.Xresources' って書け」みたいなコメントが
  • caps lock
    • gnomte-tweak-tool でやる
    • でもなんか journalctl のログが 'Key repeat なんちゃらかんちゃら' で埋まる
  • ウィンドウの切り替えでdelay

X 関連マジ分からんなぁ。取っ掛りすら分かんない。