Vimのおすすめプラグイン紹介

Vim

プラグインマネージャ プラグインを探す おすすめプラグイン vim-airline YouCompleteMe ALE fzf / fzf.vim プラグインマネージャ vim-plug https://github.com/junegunn/vim-plugVimではプラグインのインストールや読み込みの管理などを行うプラグインマネ…

Haskellで数値計算 線形代数編

BLASとLAPACK 数値計算では、連立線形方程式に帰着させられる問題はとても多い。また、固有値問題は分野を越えて応用範囲が広い。そのため、これらの問題を扱うための線形代数ライブラリは古くから活発に開発されてきた。中でも代表的なものは基礎的な行列、…

Free Monadで言語内DSLをつくろう

抽象構文木の構築とその評価の分離 インタプリタやコンパイラでは最初に、コードの文字列を構文解析して抽象構文木 (AST) を構築する。その具体的な表現形式は変化して行くことも多いが、基本的にはこの抽象構文木に対して様々な最適化がほどこされる。イン…

Haskellの代数的データ型

多相性の実現 Haskellでは型クラスによってアドホック多相が実現でき、型変数によってパラメータ多相が実現できる。また、部分型付けは型変数に対して型クラス制約を課すことで近しいことが実現できる。個人的な印象では、Haskellの型システムは強い型付けと…

メモ

Haskellのモナドの話には圏論の言葉がよく出てくるのですが、ざっくりとした理解しかできていません。自分の理解をまとめるためにメモを残します。間違っているかもしれないので、鵜呑みにはしないでください。圏論はなんとなく集合論をさらに抽象化したよう…

Haskellで数値計算

普段はJavaやFortranで数値計算をしているのだが、使える範囲でHaskellも使ってみたくなった。宣言的に書けるのでコードが簡潔になることや、副作用が厳格に管理されている上に、静的な型付けがしっかりしていてコンパイラが賢いので、バグが見つけやすいこ…

Schemeの継続と環境

前回の記事で、call/cc は呼ばれた時点での継続を取り出してくれるということを書いたのだが、その時点での環境は保存されているのだろうか? 前回の記事に出て来た wayback 関数を少し書き換えて実験してみる。 (define cont #f) (define (capture x) (call/…

Schemeと継続

目次 継続とcall/cc 継続とは call/ccは継続を取り出してくれる 継続はファーストクラスのオブジェクト 時をさかのぼる どこでも取り出せる継続 継続の利用 大域脱出 処理の一時中断と再開 まとめと参考文献 継続とcall/cc 継続とは Schemeでは継続を手続き…

Schemeの紹介と内包表記マクロ

LispとS式 SchemeやCommon LispのようなLisp系言語の強みは強力なマクロ機能にある。LispではプログラムはS式と呼ばれる形式で記述され、それは、Lispがデータとして扱うリストと全く同じ構造を持っている。そのため、LispがデータとしてLispのプログラムを…

vim-plugでSwiftとRustのプラグインを導入

Vim

VimにSwiftとRustのシンタックスカラーリングが欲しかったのでvim-plugでプラグインをインストールしてみた。Vimのプラグインマネージャは色々つくられているけれど、vim-plugはファイル1つで導入でき、記法もシンプルで軽いようです。GitHub - junegunn/vim…

Vimのコマンド

Vim

Vimの紹介 ブログに書けば忘れない気がする。VimはUnix系のOSなら大抵どこでも最初から入っている軽量なエディタ。普通のエディタと同じように使える入力モードと、コマンドを打つことで操作するコマンドモードがあって、iとEscで切り替えられる。最初は奇妙…

VimとAtom

コードを書くのにずっとEclipseとVimを使ってきたのだが、最近Swiftを書いてみたくなったのをきっかけにXcodeも使いはじめた。そうしたら新しいエディタも色々と試してみたくなった。 Sublime Text、Light Table、Brackets、Atomなどなど、Vimのかわりに使っ…