[Gauche-devel-jp] ANN: glint 0.1.2

アーカイブの一覧に戻る

KOGURO, Naoki naoki****@kogur*****
2008年 4月 6日 (日) 16:40:41 JST


小黒です。

glint (codecheck モジュール) 0.1.2 をリリースしました。 
以下のサイトからダウンロードできます。
http://homepage.mac.com/naoki.koguro/prog/codecheck/index-j.html

glint は Gauche 用のコードチェックツールで、文法の誤り 
や未定義のシンボルや型の誤りといったエラーを検出することができます 
(とはいえ、まだ実験的なものなのでエラーを見過ごしたり、正しい 
コードに対してエラーを報告してしまうことがあるかもしれませ 
ん)。


例えば、以下のようなコードがあった場合、
(let (a 1)
   (print (+ a 2)))

(define (fact n)
   (if (= n 1)
       1
       (* n (fact (- m 1)))))

(define (hash-table->alist tbl)
   (hash-table-map cons tbl))

glintを使うと以下のようなエラーを報告してくれます。

% glint wrong.scm
wrong.scm:2: error: syntax-error: malformed let: (let (a 1) (print (+
a 2)))
wrong.scm:8: error: m(user) referenced but not defined
wrong.scm:11: error: wrong type for argument 1 of #<closure hash-table-
map>: <hash-table> required, but got #<subr cons>


なお、glintは静的なチェックを行いますが、トップレベルの 
defineやimportされたモジュールについては実際に評価して 
しまいます。そのため、glintで以下のようなコードをチェッ 
クするのはやめたほうがいいです。

(use module.has.dangerous.side.effects)
(define a (format-your-hard-drive))


--
KOGURO, Naoki <naoki****@kogur*****>




Gauche-devel-jp メーリングリストの案内
アーカイブの一覧に戻る