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

レガシーコード生産ガイド

私に教えられることなら

Factorでレキシカル変数使用・未使用の比較

レキシカル変数使用でどれぐらいわかりやすく書けるか、フィボナッチ数列で試してみる。 5 fibの結果[ 5 3 2 1 1 ]が積まれるという仕様にする。 まずはスタック操作のみ。レキシカル変数以外のFactorの便利仕様は使っていいものとする。 : (fib-no-var) ( q…

Factorで羽賀朱音ちんの画像を表示する

images.httpが便利。 USE: images.http "http://stat.ameba.jp/user_images/20150223/22/mm-12ki/83/c4/j/o0480064013226986770.jpg" http-image. 結果 Listenerで巨大なあかねちん画像を表示できました。 画像をちょっとだけいじる images.httpのload-http-…

FactorでGUI

Re: Factor: Calculator with GUI がものすごくわかりやすかった上に、Factorの「力」を使ってるカンジがしていい。(最後のcalc-uiが必見!) 十分わかりやすいんだけど、更にミニマムなステップを書いておく。 最初の最初のGUI USING: ui ui.gadgets.label…

factorでワードの実行を監視 / コンテキストメニューメニューに追加

ワードそのものを積む、ワードの実行を監視 ワード実行前後のスタック状態を監視するためにはtools.anotationsのwatchを使う。解除にはreset。 使う方法は2つあって ListenerやBrowserなどからワードを右クリック→watch/reset \ hoge-word watch \ hoge-wor…

FactorでFizzBuzz

factorらしく?TUPLEとlexical-variableをふんだんに使ってみた。自動でお掃除してくれるからswap/dup/drop減らせていいカンジ。Forthとしては邪道なのかもしれないけど、Concatenative Languageとしては良いのではなかろうか。 USING: math.parser locals ;…

factorでカレントディレクトリのファイルを出力するまで

ずっと気になってたfactorにようやく手を出してみることにする。 これSmalltalkっぽい開発環境とか同図像性?とかライブラリの大きさとかすごいと思うんだけど、知ってる人すら少ない気がする。 しかし広めたいというよりむしろ、自分だけ極めて差を付けてや…