LL Ring

新木場で行われた LL Ring (Lightwight Language Ring) に行ってきました.

3時に起きたのに 2 度寝しちゃって20分くらい遅刻しました.
SchemeHaskell の LanguageUpdate を見逃したぽい….

Language Update

'{print $3}' とかいうのしか書いたことないです.
XML 扱えるとは….後のじゃんけんデモにも参加していらっしゃいました.

馬の被り物つけてプレゼン.マイクが届かないから,馬の口の中に入れてました.
お疲れ様です.
Haskell に挫折したら OCaml ってねん.

  • Scripting for Java Platform

ウクレレ弾きながら発表.
Java の固くて脆いとこをスクリプト言語で補強.
Java 6 (Mustang) ではスクリプト言語が呼べる(文字列をevaれる)ようになるよ.
24種類くらい対応してるそうな.数うろおぼえ.
動的クラス宣言は 7 からか….

  • FORTH

昔は 高水準はlisp ,低水準 forth だったそうな.
よく知りません.すみません.

思い出せない….
お絵描きしてフラッシュを作っている人も実はプログラミングしてて,swf に
なるまでに全部がクラスに変換されるそうな.

GoogleMicrosoft の共通点は python のコミュニティ.
python foundation なんて団体もあるのね.
Python 3000.西暦3000年に完成予定の python.アルファ版が近々リリース.

思い出せない….

唯一の作者プレゼン.
松江市長と写真とっちゃった.オープンソースラボ (ローソンの上).
今日のために,1.8.5のリリースを合わせてきた.
次のリリースは,来年のクリスマス?

思い出せない….

Perl6 のこと.
メソッド呼び出しがアロー演算子じゃなくて,ドットに.やっとOOぽくなた.
ネコ演算子 (.., ^.., ..^, ^..^)

無限に文法を拡張できるのでやりたい放題.方言ができまくってたっていう歴
史的背景もあり,LanguageUpdate なんて把握できるわけない.

アラン・ケイSmalltalk は死んだ言語」….
Smalltalk-80 は商業用なんで制限がある.
デモがいい.
3D 空間で他人とデスクトップを共有できる.P2Pで勝手に近くの人と繋ぐっぽい.

LL で関数プログラミング

高階関数があればいい.
関数に関数が渡せる/返せる.関数も関数の操作対象.関数合成とか.
みんなが関数型言語っていってればいい.
型推論とかあるといい.

  • 副作用

Monad というか,IO Monad は副作用を上手くごまかしたと言われてるけど,
Monad でかけちゃったよという感じ.OCaml は副作用も寛容.でもそればっか
やってると手続型使ってんのとかわらないよ.

動的型付け…お手軽感.ダックタイピング.
静的型付け…たいていのバグはこれで防げる.型推論があるから型宣言書かなくてもいい.Java型推論ないからイライラする.

  • 遅延評価

ないと面倒.
木構造のノードを1つずつなめて,それぞれに何かする処理を書きたいときに遅延評価があれば,木構造のノードを flatten する関数と map をくっつけるだけでいい.
python の yield もできるね.gauche の util.stream とか.
# Java とかで木構造iterator() メソッド書くとめんどいな.

部分適用の話?

プログラミング言語はどんどん抽象化が進んでる.
宣言的記述っていいよね.仕様書がそのまま動けばいちばんいい.
# YACC とか Parsec とかいい.
# 属性文法やってた人いるのね….なつかしいな.Rie だっけ.
# 仕様記述論

Haskell は例外がないから楽できる.縛られるの好きな人はおすすめ.でもこ
ればっかやってると,メモリがどうなってるとかコンピータの仕組みがさっぱ
りわからなくなる.

ConcurrentClean いいよ.Oz? もいいよ.

GUI もできるよ.OCaml は Garrigue サソががんばってる.Haskell はデモがある.

OCaml のパッケージ管理は汚いよ.がんばるよ.

遅延評価はメモリをいっぱい喰う.メモリが溢れるってのも副作用だけど.

遅延評価はデバッグしにくい.引数の値を見るためには,その値を得るために
処理を進める必要がある.

多言語対応は? OCaml デフォでは無理.ライブラリ入れればなんとか OK.
Haskell はきつい.

最近,CPU がマルチコア化されてるけどその辺考えられた実装になってんの.
OCaml は問題になってる.Haskell は Parallel-Haskell なるものがあるけど….

じゃんけん2.0

準備不足やがな.

  • awk でもTCP/IPで通信できるのか.戦略は 'od 走れメロス.txt' して mod 3 して uniqする.
  • JavaScript が強かったけどなんでだろ.誰か分析してほしかったな.
  • Python の Oneline化の努力.
    • python は改行が文法の一部.
    • クラス定義,繰り返し構文,例外処理なんかは改行必須.
      • クラス定義は他のクラスを乗っ取ってメソッドを動的に追加.
      • 繰り返し構文は再帰でかきなおす.末尾再帰最適化してくれへんけど.
      • 例外処理は子プロセスの終了ステータスを解析する.
  • じゃんけんの発祥は?じゃんけん協会の闇.
  • コーディネータ (じゃんけん挑戦者とおしゃべりする人) が一番えらい気がした.

キミならどう書く

Web 家計簿.各項目にタグづけができるようにすること.
タグ付けができると,食費に入れるのか遊興費に入れるのか悩むこともないとか.
タグ付けって本当に便利なんだろうか….

円グラフつくるのに時間かかりますた.
思い出せない.

継続ベースなんでひとつ前に戻るのも楽チン.JavaScript つかわね.
作成中にDB のバグ発見.
1,000 行だけど自動生成して3,000行くらいに.
けっこうがりがり書かなきゃならんみたい.

1日でマリオカートやりながらつくった.
フレームワーク作者なんでそっちもいじりながら.

紅一点.円グラフはプラグインで一発.
コード数350行くらい.テストも入ってる.
日付もタグ.

LL Gong

審査員が全員×を挙げたら退場.事前審査があったからか退場はなかった.
○の札いらないじゃん.

c-wrraper

Ruby を呼んで open-uri たたいて,ImageMagick もよんで画像処理しまくってた.

制約ベースのアニメーション生成系

制約のイメージがよくわからんが,コミカルな動きがとってもいい.
デモが止って残念.

every spam is sacred...?

False-Positive (スパムじゃないのにスパムとされる)を防ぎたい.
スパムをニューラルネットワークでうにうにうごかして分類しつつふりわけてみる.

脆弱なCGI プログラミングの常識・非常識

よくわからん.perl?

haskellGUI

よく見えない….

真のLinuxカーネル向けシェル

% ./helloworld.c とかできる.

csh って C のインタープリタじゃないの?じゃあ作る.

ksh って Kernel の(ry

世界の果てから漢字変換

外国のネットカフェとかで日本語入力できない人向けの sumibi.org の紹介.
wikipedia や hatena から新出単語を学習してる.

Plagger is a LL.

Perl のアプリだけど,yaml 形式で色々記述できる.DSL だけどもはや LL じゃんと.
モデル (RSS やら) とビュー (Gmail やら) をつなぐ道具.
もはや,(C の実装があれば)立派な LL.

プレゼント

100 個のボールを会場に投げて取った人がプレゼントget.会場は300人なんで
1/3の人は貰えたはず.商品は本だけど,うちわの人もいました.
自分は本を頂けました.

Ship It! ソフトウェアプロジェクト 成功のための達人式ガイドブック

Ship It! ソフトウェアプロジェクト 成功のための達人式ガイドブック

当日発売ですがな.ありがとうございました.