APLNEWS20065月号

 

1.次回の“QUOTE QUAD”誌の論文募集案内が届きましたので以下掲載いたします。

 

------------------

                                ANNOUNCEMENT

 

Issue 34:3 of APL QUOTE QUAD is now closed and ready for publishing.

We are now starting to process the next issue (34:4), and we need new material. Therefore, I am sending this

 

                              CALL FOR PAPERS

 

                              APL QUOTE QUAD

 

The next issue of APL Quote Quad is being designed. Prospective authors are encouraged to submit papers on any of the usual subjects of interest related to Array-Processing Languages (APL, APL2, J, and so forth).

 

Submitted papers, in Microsoft Word (.doc), Rich Text Format (.rtf), Openoffice format (.scw), Latex (.tex) or Acrobat (.pdf) should be addressed to

 

Manuel Alfonseca

Manuel.Alfonseca@uam.es

 

Care must be taken to make the submitted papers self-contained, eg. if they require special APL typesettings.

 

The tentative time limit for the new material is May 31st, 2006.

 

 

2.マイクロソフトEXCEL上で各シートを2次元配列とみなし、EXCELの操作と平行して、APLで計算処理する仕組み“APLEXL”のプログラムと解説書の配布の準備ができました。このシステムの有効性については先月号の記事で紹介した“一夜漬けのAPLプログラミング講座 − その1”で、EXCEL関数をAPLで置き換えて実行した例を取り上げましたが、一般の方が、APLを試し、結果を目で確かめる、ひとつの手段として、“APL2学習支援システム”と同様、手っ取り早い方法だと思います。

 

“APL2学習支援システム”はAPLシステム全般にわたる知識を広めるために作りましたので、APLセッション、コマンド、画面設計、アップリケーション開発、その他Full機能を持ったAPL製品環境の使用に導くための安直で、有効な手段と考えています。

 

それに対して、“APLEXLパッケージ”は“学習支援システム”とは別個に独立して動き、APLのシステム周りの理解は必要でありません。APLシステムの、もっとも中核となる言語そのものを、APLとは別の環境で実用化する試みとして作りました。

 

したがって、解説書(PDF)にはこのパッケージを動かすために必要な事柄のみを取り上げています。APL言語は式の組み立ての原理を、試行錯誤で体験しながら、理解にいたるはずです。これでいいのかと思うほど単純な仕組みで、例外はほとんど皆無といってもいいですので、記憶より想像力によって効果的な仕様が達成できます。是非試してみてください。

 

3.先月号で“数独”の問題のAPLによる解法についての試みを紹介しました。その後、時間の合間に、試みを継続しましたが、やっと“ポケット数独 二コリ編著 中級篇”(ソフトバンククリエイティブ)の全問105問をすべて解けるものができました。そのプログラムで“激辛数独3”(ニコリ)の最後の問題105番(レベル10)を処理しようとしたら、見事に失敗しました。

 

このことを、わが息子三枝由儀に話したところ、それはAPLで簡単に解けるといいました。そのときは彼の身の程知らずにあきれる思いでしたが、次の日に解法をメールしてきました。彼は問題をインターネットで拾い、テストしたそうです。これで、私が失敗した問題も含めて、あっというまに全部といてしまいました。したがって、私がこれをする必要がなくなりましたので、そのうち彼の時間が空いたときにその解説をここに掲載しようかと思っています。

 

私はAPLを長い間やっていますが、彼のプログラムを理解することができません。しかしプログラムは簡潔で結果は正しいです。APLとはそのようなものです。すなわち、自分の得意とする分野のロジックを、自分の納得いく方法でプログラム化する非常に強力な言語ですが、そのロジックを他人が理解するのは、プログラムの問題ではなく、人間のロジックの問題で、APLは人間のロジックと1対1で対応するものだからだと思います。

(In regard to the APL program to solve the SUDOKU problems, I tried to come up with a final solution. The one I wrote last solved the total of 105 problems up to difficulty level of 6 contained in a booklet called Pocket SUDOKU medium class by Softbank Creative. However when it was applied to a level 10 problem contained in another booklet, it failed. On the other hand, I mentioned this to my son Yoshinori, who was busy with our companys APL clients. I advised him not to spend time on this, because it is basically non-productive and has the danger of getting too much involved. He mailed me his APL solution, next day. He said it shuld work, because he tested the program on other SUDOKU problems he found on internet. And he was right, and it solved level 10 problems in a split second. I couldnt follow the logic of his very compact APL program. APL programs could reflect human logic very closely. Unless one is good at understanding other humans logic in his special interest area, it is most difficult to understand the program. But it worked. Such is APL, I think.)      

 

4.インターネットを利用してAPLに関する情報を、経費をあまりかけずに、提供できるようになったことは非常にありがたいことだと思います。しかし一方的な通信ではこれが果たして意味のあるものか自信を持つことができません。確かにアクセス・ログを見るとこの情報を参考にしていらっしゃると思われる方が数多くいらっしゃいます。しかし今までそのかたがたからのご意見や質問を受けたことはほとんどありません。

 

APLは非常に大きな仕組みです。その必要な部分をいかに効率的に現場の要求に対応させて効果有らしめるかは、われわれ提供者とユーザーが対話を進めていく以外に方法はありません。たとえば講習会のご案内に関しても、出席される方がいらっしゃらなければ準備をすることもできず、いたずらに時間が経過していきます。皆様からの通信をお待ちしています。

(Internet is a very economical way of disseminating APL related information. However, it has been mostly one way communication. As I look at the internet access logs, this information is definitely used by a number of people and organizations. But I have seldom received remarks or questions from the readers, which makes me to doubt the usefulness of our efforts. Please send any messages to kyosuke.saigusa@nifty.com).