#:g1: LispWorks 8.0発売!

Posted 2021-12-16 14:06:53 GMT

Lisp一人 Advent Calendar 2021 16日目の記事です。

アドベントカレンダーとは全然関係ない感じではありますが、LispWorks 8.0が発売になりました!
最近macOS montereyの対応パッチが出たりしていたので、まだしばらくは、LispWorks 7.1系で行くのかなと思っていたところだったので割と意外でした。 LispWorks 7.1のリリースは2017年の11月13日だったようなので、実に四年ぶりのリリースです。

目立った新機能/改善

今回、割と周囲から期待されていたようなのは、Apple Siliconにネイティブ対応したバージョンだったのですが、今回のリリースで実現されました。
M1 Macでは、グラフィック周りの性能が結構向上したようで一部で盛り上がっています。
また、生成されるアプリもユニバーサルバイナリ対応なので、現在一部でIntel vs M1でベンチを取ったりして盛り上がっています。

macOS対応以外のところでは、ホストOSとのやりとりが基本的にbase-charだったのが、UTF-8対応となり、LispWorksのShellウィンドウもやっと使い物になる感じになりました。
また、これまでは、Unixシェルなどに渡す文字列は、UTF-8の文字列をbase-charに変換して渡していたりしたのですが、これも不要となりました。
不要になったのは良いのですが、これまでのアドホックな対応は撤去しないと文字化けするので、7系以前の環境と混合する場合は注意かと思います(そんな人いないか)

その他の目立った新機能/改善は、下記くらいかなと思います。

Display Command List

MCLにあったの物と似たツールなのですが、エディタやリスナのコマンド検索のツールが増えました。
自分もMCLを真似して自作のツールを作ってみていたのですがブログに記事を書く前に自作ツールが過去の遺物となりました。

Fold Buffer Definitions

エディタで定義が畳み込み表示できるようになりました。
Emacs等ではお馴染の機能です。 Find Definitionタブで常に定義一覧があるので、あまり必要ない気もしますが畳み込みたい人もいるかもしれません。

macOSのGUIがダークモードに対応した

今の職場ではmacOSのアプリをLispWorksで作成したりしているのですが、ダークモード対応はしてないので、ダークモードの人の環境ではLispWorksアプリが浮いた表示になってました。まあ大した問題ではないんですが、用途によっては重要かもしれません。

いまのところ遭遇している問題

LispWorksのHemlockでuim-skkで日本語入力がちょっと変

Linux+GTKでuim-skkと組合せて使う場合、変換時のインライン候補の表示のされ方が割と謎挙動になっています(というか表示されない)。
どうもファイル末尾でしかインライン変換や候補がうまく表示できてない様子……。 これは自分の環境要因なのかなんなのか、まだ原因が良く分かっていません。少なくともLispWorks 7や7.1では起きておらず、またLispWorksのHemlock限定なのでエディタの新挙動との組み合わせで起きる現象のようではあります。しかしLispWorksのHemlockでガンガン日本語文章を書きたい人には解決しないとちょっと困ってしまうかもしれません。
そんな人はいないかもしれないですが、この文章もLispWorks 8.0のエディタで書いています!

以前報告したバグはどうなったか確認してみる

7.1.0は関数のボディで点対リストを受けつける

LispWorks 7.1では

(defun foo (x) x . a)

(compile nil (lambda (x) x . a))

というのを受け付け ていましたが、

Forms should not be dotted lists, but found a in (x . a).

というエラーになるようになっていました。しかし7.1.3のPersonal Editionで確認したところ同様にエラーになったので、 7.1のパッチでも修正されていたようです。気付かなかった……。

ちなみに下記のどうでも良いやつはいまだに治ってないようです。まあ内部シンボルなので……。

試用の申し込みについて

試用については、以前とまったく同じ流れでした。LispWorks 7.1.3 Personalと挙動が違うこともあるので、一応利用環境でどういう挙動になるかは購入前に確認してみた方が安心かと思います。

まとめ

LispWorksをメインで使って6年くらい経過しましたがCommon Lispの環境としては結構良いと思います。
プログラミング環境にお金を払う時代ではないといわれれば、まあそうかもしれませんが、Common Lispをメインにプログラミングをしている人であれば、購入して損はないと思います!
特にSBCLが不得意とするGUI周りは充実していますので結構根強い人気があります。

関連


HTML generated by 3bmd in LispWorks 8.0.0

comments powered by Disqus