2年後のHomeLisp

HabréのHomeLispに関する記事が公開されてからちょうど2年が経過しました。 私の息子が投稿したその記事は、聴衆の特定の部分の非常に激しい議論と激しい攻撃を引き起こしました。



この2年間でプロジェクトはどうなりましたか?



私は早急に悪意のある人を「喜ばせ」ます。プロジェクトは放棄されず、ゆっくりと発展しています。 2012年9月2日、開発者はWebサイトhomelisp.ruにパッケージ1.13.4の最新バージョンを投稿しました。 それが以前のもの(ハブロフスクの住民が2年前に「つついた」もの)とどのように異なるかについてさらに説明します。



最も重要な違いは、変数がレキシカルになったことです (想像してください、開発者はレキシカル変数、クロージャー、ジェネレーターなどを知っています)。特別な関数によって作成される動的変数もあります。



関数本体は、いくつかのS式で構成できるようになりました(最新バージョンのLispで受け入れられています)。



キーとオプションの関数パラメータを設定するための一般的なLisp機能が実装されました。 引数の数が不定の関数を作成する機能がサポートされています。



多くのCommon Lisp関数が実装されています(LET、DO、DOTIMES、DOLIST、LOOP、IF、WHEN、UNLESSなど)



ハッシュ配列とそれらを操作するために必要な関数のセットが実装されています。



Lispマシンの状態をディスクファイルに保存する機能を実装しました。 すべてが記録されます-ウィンドウのグラフィックに至るまで。 ファイルから情報を復元できます。



シンプルなダイアログデバッガを実装しました。



グラフィック関数のパッケージには、ベジェ曲線を描画し、ウィンドウの透明度を制御する機能が追加されました。



現在のコンテキストの状態を示すCONTEXTおよびVARLIST関数を追加しました。



インターバルタイマーが実装されました。



マクロに逆ロックを実装しました。



Webコンポーネントのスクリプト部分がJavaScriptで書き直されたため、FireFoxまたはOperを使用してWebコンポーネントを操作できるようになりました(検証済み!)



さらに、まともな量の小さな(そしてそうではない)エラーが修正されました。



一般に、HomeLispはCommon Lispに近くなりました(そして、ほとんどボリュームが増加しませんでした)。



ここで、HomeLispの使用に関するいくつかの言葉。 著者の情報によると、パッケージは数千人のユーザーによってダウンロードされました。 それ(パッケージ)は、Lispを教えるためにゆっくりと使用され始めました(たとえば、ノボシビルスクでは、著者は20分間のメッセージを作成しました)。 さまざまなフォーラムのHomeLispへのリンクが出始めました。



linkoidsの悪意のある攻撃を除いて、リンクはほとんどポジティブです。 つまり、すべてが通常どおりです。



2011年の夏、著者は有名な若いプログラマー向けのシベリアのサマースクール-LSHUP-2011の仕事に参加しました。そこでは、Lispで6〜8年生をHomeLispで教えました。



そして、2011年9月から12月に、著者はサラトフ工科大学で関数プログラミングの短いコースを読みました。これはHomeLispに基づいています。



したがって、著者は当初の意図を完全に理解したと言えます。 そして、プロジェクトはさらに発展します。



結論として、著者は建設的な批判や希望に感謝すると述べたいと思います。



All Articles