2016年09月01日

8月度概況

access1608.jpg8月度の弊社HPへのアクセス状況は図のようになりました。6月にブログを弊社HP内に移動してからアクセスが急増しておりましたが、徐々に落ち着きつつあります。

今月度は、CodeSqueezer2.0関連業務もかなり進むと期待したのですが、予期せざる新規のコンサルティング業務と決算処理に時間をとられ、あまり本業は進んではおりません。とはいえ、最近コンサルティング業務を多く抱えたこともあり、決算が良好であったことが良いニュースではあります。

今月度行ないましたCodeSqueezer関連のわずかな業務といたしまして、4月度概況でご紹介いたしました、以下の宿題事項(?)に結論を出すことができました。すなわち、以下の課題が残っていたのですね。

リンクリストに対するもう一つの演算子として、降階演算子“'”を準備します(かっこを外す「皮むき」という意味で、ピーラーなりストリッパーと呼んだほうが良いかもしれません)。降階演算子は、リンクリストの後ろに記述し、その前のリンクリストの階数を一つ低下させる作用をします。すなわち、((a, b)’, (c, d)’)は(a, b, c, d)を意味します。

この演算子が意味を持つのは、リンクリスト名を用いる場合で、たとえばdat1.(q, r)とdat2.(q, r)に対して(dat1, dat2)とすれば((dat1.q, dat1.r), (dat2.q, dat2.r))と解釈される一方、(dat1’, dat2’)とすれば(dat1.q, dat1.r, dat2.q, dat2.r)とすることができます。

なお、この部分については、現在検討中であり、(dat1, dat2)と書いただけで(dat1.q, dat1.r, dat2.q, dat2.r)と解釈するのが妥当であるかもしれません。なにぶん、(dat1)が(dat1.q, dat1.r)と解釈されますので。この場合は、((dat1.q, dat1.r), (dat2.q, dat2.r))と解釈させたい場合は((dat1), (dat2))と記述することになり、降階演算子は不要になります。


これに対する解として最初に考えましたことは、「降階演算子“'”は、これに隣接する前後のリストの階数を一つ下げる」というもので、上の引用部では、「降階演算子の前に置かれたリストの階数を一つ下げる」としていたモノを変更して、「降階演算子に隣接して後に置かれたリストの階数も一つ下げる」という機能を追加するという一手です。

具体的には、(a, b)と(c, d)をつなげて(a, b, c, d)としたい場合、((a, b)', (c, d)')とする以外に、((a, b) ' (c, d))とする記法を許します。“'”の後にコンマを設けず“'”自体を区切り記号として用いる場合、降階演算子“'”は前後のリストに作用して、双方の階数を一つ下げます。

別の言い方をすれば、“'”はリストの連接演算子として機能する二項演算子としても使われる、ということもできます。また、単項演算子としての“'”は、前置・後置のいずれも使用できてこれらは同じ意味を持つということでもあります。

あまり使われることもなさそうなケースですが、この考え方を敷衍すれば、原理的には降階演算子を二つ以上用いることも可能です。このような場合、リスト連接演算子と逆の位置に降階演算子を記述することで、双方独立に任意の階数だけ降階することが可能となります。

ところで、これをリストの連接演算子として考えるためには、単項と二項の降階演算子は同じ作用をするわけにはいかず、複数の項を降階二項演算子で接続する場合、降階二項演算子に挟まれた項に対して降階は一回だけ作用するようにしなくてはいけません。

つまり、((a, b) ' (c, d) ' (e, f))を(a, b, c, d, e, f)とするということですね。(c, d)には前後に降階演算子がありますので、これが単項の降階演算子と同じ作用をすると考えれば、二階の降階演算がおこなわれるとしてもおかしくはないのですが、二項の降階演算子をリンクの接続演算子と考えるのであれば、一つの項に降階演算は一回だけ作用すると考えなくてはいけません。

そこで、厳密な定義として、単項の降階演算子と二項の降階演算子を分けて、二項の降階演算子はリンクの接続演算子として機能する、といたしましょう。また、解釈の多様性を防ぐため、単項の降階演算子は、後置のみといたします。

なお、複数の“'”を空白を入れずに並べた演算子は、複数の単独の演算子と解釈します。(a ''' b)は、最初の二つの降階演算子が単項の降階演算子としてaを降階し、 最後の降階演算子は二項演算子としてa''とbを接続します。

ということで、一つの課題は片が付きました。来月度は、コンサルティング業務もかなり入ってはおりますが、もう少し内容の多い形でCodeSqueezer2.0も前に進めたいと考えております。
posted by 管理人 at 18:55| Comment(0) | TrackBack(0) | 日記
Powered by さくらのブログ