A Day in the Life

2006-07-29

唐突に、そういえば

苺ましまろの五巻っていつ出るの?

擬人化

はてなサーバ擬人化とかどうだろう。

病弱の美少女。

数百数十人姉妹という設定。あなたが死んでも、代わりはいるもの。

暑い

あぢー

ラーメン

今日はいつもと違うラーメン屋で。大盛りとか替え玉しなかったよぅ><このままじゃ id:precuredaisuki になっちゃうから><

ただたんに病み上がりで食欲がないだけとも云う

hasktags

hasktags -c `find /home/gorou/src/ghc6-6.4.2/libraries -type f -name '*.hs'|tr '\n' ' '`

で tags 作ってウハウハ!と思ってやってみたんだけど、組み込みの関数(というのか?)のおしりにM(mapMとか)がついていてダメポっぽー?

日記システムでもないし

http://journal.mycom.co.jp/articles/2006/07/29/ror/

まずWebブラウザから「http://0.0.0.0:3000/」にアクセスしよう

すげぇな。ぽっくんの windows マシンじゃアクセスできないよぅ><ノ

今後の課題は初期導入の容易性か

今までに見たことのない発想><

vim の indent

indentexpr にソレっぽい関数を渡してやればいいのね。んでそいつが一行前のラインを見て、今どんな風にインデントすべきかを結果として返すと。vim70aa の indent/ruby.vim が簡潔で解りやすかった。最新のは複雑になってムヅイ。

というわけで haskell の文法もよく解ってないけど indent ファイルを書き出した!完成すると良いな。例えば

main = do cs <- getContents
          |ここにインデントが来て欲しい

みたいなときには

let col = strlen(matchstr(getline(lnum), '^.*\sdo\s*'))
  if col > 0
    let ind = col
  endif

のように書けばおk、と。

vim の挿入モードでインデントを部分キャンセル

ってできるんだっけ?

main = do cs <- getContents
          putStr cs
          |Enter だとインデントでここにカーソルが

となってキャンセルしたい場合いちいちCtrl-oCtrl-m とかしてるんだけどめどすぎる。

はすけるのべんきょうをるするぞう

というわけで runghc(インタプリタ)の方を使った vim の compiler から書き始める俺。回り道万歳!

~/.vim/compiler/haskell.vim

if exists("current_compiler")
  finish
endif
let current_compiler = "haskell"

if exists(":CompilerSet") != 2    " older Vim always used :setlocal
  command -nargs=* CompilerSet setlocal 
endif

let s:cpo_save = &cpo
set cpo-=C

CompilerSet makeprg=runghc
" example errormsg| hello.hs:3:17: lexical error in string/character literal
" example errormsg| expand.hs:5:16:
"                      Couldn't match `Char' against `String'
"                        Expected type: Char -> Char
"                        Inferred type: Char -> String
"                      In the first argument of `map', namely `expandTab'
"                      In the definition of `expand': expand cs = map expandTab cs

CompilerSet errorformat=
    \%E%f:%l:%c:%m,
    \%+E%f:%l:%c:,%C%m,
    \%-G%.%#

let &cpo = s:cpo_save
unlet s:cpo_save

んでオレオレ呼び出しをかいとく

~/.vim/ftplugin/haskell.vim

if (exists("b:did_ftplugin"))
  finish
endif
let b:did_ftplugin = 1

comp haskell
nmap ,e :make %

これで ,e でインタプリタから即実行ががが!エラー行数にも(たぶん)飛ぶよ!

NDSもらった

弊社n氏からもらった!やった!これで脳トレ英語で12歳の英語力並に!!!(なにそれ

とりあえずマリヲ買おう。

きょうは

かんすうがたをべんきょうしよう。

記事の一覧 >