メインメニューを開く

Lush (プログラム言語)

プログラミング言語

LushLISPオブジェクト指向の機能を加えた言語処理系であり、機械学習ソフトウェアのためのスクリプト言語として開発された。機械学習には数値計算によるもの、GUI を備えるものなど多数合ったが、Lush はより汎用であり、オペレーティングシステムなどのシステム寄りの記述もでき、ネットワーク・プログラミングや計算機管理といったアプリケーションにも対応している。Lush で書かれたプログラムはC言語に変換され、多次元配列処理エンジンが組み込まれる。Lush の開発はオープンソースプロジェクトとして続けられており、GPL にしたがった利用、配布が認められている。Lush には、多くのライブラリ (ALSABLASFFTWGNU Scientific Library(GSL)、HTKLAPACKMPIOpenGLOpenCVSDLVideo4Linux など) を利用するためのインターフェイス (C言語および Lush 自身で書かれている) が用意されている。Lush プロジェクトの創始者 Léon BottouYann LeCun は、実行環境として POSIX 準拠のシステム(BSDUNIX系のオペレーティングシステム)、LinuxSolarisIRIX を想定し、Sourceforge で開発を続けている。言語の名前「Lush」は「LISP統合シェル」を意味する英語の「LISP universal shell」に由来する。

Lush
作者 Leon Bottou、Yann LeCun、Jie Huang Fu.
開発元 Various
初版 1980年代初頭
最新版 2.0.1[1] / 2011年3月12日(8年前) (2011-03-12
リポジトリ https://svn.code.sf.net/p/lush/code/, svn://svn.code.sf.net/p/lush/code/
対応OS POSIX 準拠の複数のオペレーティングシステム
プラットフォーム クロスプラットフォーム
対応言語 Common Lisp
種別 インタープリタ
ライセンス パブリック・ドメイン
公式サイト http://lush.sourceforge.net/
テンプレートを表示

機能編集

ヘルプ編集

Lush はコマンドライン・インターフェイスでの対話的な動作により、簡便な入出力ができる。

ヘルプを表示するには、コマンドライン・インターフェイスで以下のようにする。

? (helptool)

ディスプレイ上にマニュアルやチュートリアルを表示するウィンドウが開かれる。

コマンドライン・インターフェイス内で関数の解説を見るには、以下のようにする。

?^Adraw-line

こうすると、drawline 関数のヘルプが表示される。

配列操作編集

N-次元の多次元配列と、LISP 風の書き方の両方を同時に使うことができる。

値の設定と参照編集

? (defvar m (matrix 2 3)) ;; 多次元配列の定義
= ()
? m  ;; 配列の表示
= [[  0.00  0.00  0.00 ]
   [  0.00  0.00  0.00 ]]

? (m 1 2 5)  ;; (1,2) の要素の値を 5 に設定
= [[  0.00  0.00  0.00 ]
   [  0.00  0.00  5.00 ]]
? (m 1 2) ;; 要素 (1,2) の値を表示
= 5

スライス編集

? (select m 1 2)  ;; 1次元目の方向での二つ目のスライスを選択
= [  0.00  5.00 ]
? (narrow m 1 2 1) ;; 1次元目方向のサイズを 2 に縮小し、オフセットを1 にする
= [[  0.00  0.00 ]
   [  0.00  5.00 ]]

リスト編集

配列は、その配列と同じ構造を持ったリストに変換でき、またリストから配列を生成することもできる。

? (m () () (range 6))
= [[  1.00  2.00  3.00 ]
   [  4.00  5.00  6.00 ]]
? (m () ())
= ((1 2 3) (4 5 6))

参照編集

  1. ^ Lush News”. 2016年6月3日閲覧。

外部リンク編集