Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2010-03-20

Shibuya.lisp TT#5無事終了!

| 23:28 | Shibuya.lisp TT#5無事終了! - わだばLisperになる を含むブックマーク はてなブックマーク - Shibuya.lisp TT#5無事終了! - わだばLisperになる

大体4ヶ月に1度のペース/年3回のペースで開催していますが、今回5回目を迎えました。

今回はECナビさんのご好意で、懇親会も同じ会場で開催することができました。

懇親会は、立食形式だったのですが、色々移動して色々な方と話ができることもあり、いつもより話が盛り上がっていたようです。

次回TT#6は、7、8月あたりになるかもしれませんが、今のところ全くの未定です。

TT/LT発表者は常に募集していますので、よろしくお願いします!!

KMRCLを眺める FAST-STRING-SEARCH (120)

| 23:04 | KMRCLを眺める FAST-STRING-SEARCH (120) - わだばLisperになる を含むブックマーク はてなブックマーク - KMRCLを眺める FAST-STRING-SEARCH (120) - わだばLisperになる

今回はKMRCLのstrings.lispから、FAST-STRING-SEARCHです。

動作は、

(KL:FAST-STRING-SEARCH "foo" "bazbarfoo" 3 0 9)
⇒ 6

となっていて、名前のとおり最適化されている代わりに色々指定することが多くて使いにくい感じです。

定義は、

(defun fast-string-search (substr str substr-length startpos endpos)
  "Optimized search for a substring in a simple-string"
  (declare (simple-string substr str)
           (fixnum substr-length startpos endpos)
           (optimize (speed 3) (space 0) (safety 0)))
  (do* ((pos startpos (1+ pos))
        (lastpos (- endpos substr-length)))
       ((> pos lastpos) nil)
    (declare (fixnum pos lastpos))
    (do ((i 0 (1+ i)))
        ((= i substr-length)
         (return-from fast-string-search pos))
      (declare (fixnum i))
      (unless (char= (schar str (+ i pos)) (schar substr i))
        (return nil)))))

内側のDOはDOTIMESで良いんじゃないかと思いますが、なにかのこだわりなのかもしれません。