Scalaバザ~ル

Scala Bazaars(sbaz avaliable)に登録されているパッケージをひたすらインストールして正体を見てみる企画。1つ調べるのに10分以上かけない、という方針で、つらつらとやってみました。

scala-2.7.4.final、windows上でやっています。

レッツ sbaz available !

■Actorrent (0.1)

actorを利用したbittorrentクライアント実装。Actorのサンプルとしてソース眺めてみるとよさそう。

■base (1.9, 1.8, 1.7)

インストールしても何もおきない。scalaの基本セットを管理しているもの?

■bcprov-jdk14 (0.0.0.1)

Bouncy Castle Crypto APIs。暗号API。

■combinator (0.11991, 0.11988M, 0.10301)

Parser Combinator API。scala標準の機能なので必要なし。但しexampleがついてくるので勉強に良い。

■commons-net (1.4.1)

Jakarta Commons Net

■jaxen (0.0.0.1)

JAXEN - XPath API

■jdom (0.10)

JDOM - XML API

■jetty (4.2.19)

jetty - サーブレットコンテナ

■jline (0.9.91)

JLine コンソール用ライブラリ(readlineみたいなもの)。後述のscalashellで使う模様。

■jsp-api (2.0)

JSP APIだろう

■jsr166 (0.1)

java.util.concurrentパッケージ。Java5から標準。
Java1.4のために用意されてるのかな?

■junit (3.8.1.1)

jUnitだろう

■jxta (2.3.5)

JXTA - P2Pフレームワーク

■log4j (1.2.13)

log4jだろう

■mysql-connector-java (3.1.12)

ドライバに違いない

■pex (14, 9)

api-docを読むと"XMLのオンメモリデータストレージ"みたいなことが書いてある。

■sbaz (1.24, 1.23, 1.22, ...)

sbaz本体。sbaz install sbaz などとやると失敗する。

■sbaz-keyclient (0.1)

Dependency error. でインストールできない。

■sbaz-setup (1.0)

scala bazaarsの管理フォルダを変更するコマンド。

■sbaz-testall (1.3b, 1.3, 1.2, ...)

何かのテストランナー。起動しなかった。

■sbazgui (0.40, 0.39, 0.38, ...)

おそらくGUIベースのsbaz管理ツール。おお!と思って起動してみたけど起動しなかった。

■scala (2.7.4.final, 2.7.3.final, 2.7.2.final, ...)

scala本体

■scala-actors-examples (0.4, 0.3)
■scala-actors-jxta (0.4, 0.3)

P2P+Actorのデモ。
scala-actors-examplesインストール時にjetty/jxtaなどもインストールされるので、mavenなどを用意してやれば起動できるだろう。

■scala-analysis (0.1)

「simple unification-based analyzer」
simpunif というコマンドが追加される。プロファイラか何かだろう。

■scala-android (2.7.0-final, 2.6.1-final)

Scala版 Androidフレームワーク。結構豊富にサンプルコードがついてくる。詳しくは「Scala and Android in an Eclipse project」

■scala-cldc (2.7.0-final, 2.6.1-final)

組み込みScala、かな?ステータスがあやしい??

■scala-devel (2.7.4.final, 2.7.3.final, 2.7.2.final, ...)
■scala-library (2.7.4.final, 2.7.3.final, 2.7.2.final, ...)

scala本体のソースだろう。

■scala-devel-docs (2.7.4.final, 2.7.3.final, 2.7.2.final, ...)
■scala-documentation (2.7.4.final, 2.7.3.final, 2.7.2.final, ...)

scala APIリファレンスと、言語仕様書/チュートリアル。これらは必須。

■scala-msil (2.7.4.final, 2.7.3.final, 2.7.2.final, ...)

.Net向けコンパイラ。試している人はたくさんいるようだ。
Scala で .NET 用の実行ファイル作成 - なんとなくな Developer のメモ

■scala-swing (0.5, 0.4, 0.3, ...)

swing用ライブラリ。あとで使い方エントリ予定。

■scala-test (2.7.4.final, 2.7.3.final, 2.7.2.final, ...)

scala本体のテストコードのようだ。ユニットテストツールのScalaTestではない。

■scala-tool-support (2.7.4.final, 2.7.3.final, 2.7.2.final, ...)

主要なコードエディタ用のscalaプラグイン
(emacs/vim/intellij/jedit/textmate..etc)。

■scalacheck (1.5, 1.4, 1.3, ...)

ScalaCheck - ユニットテストツール

■scalap (2.7.1.final, 2.7.0-final, 2.6.1-final, ...)

scala版javap(ディスアセンブラ)。ソースがどういう風に最適化されてJavaクラスに落ちるかがわかる。

ちょっとやってみると、

  object HelloWorld extends Application{
   println("hello")
  }

  > scalac HelloWorld.scala
  > scalap -cp . HelloWorld
  package HelloWorld;
  final class HelloWorld extends scala.AnyRef {
  }
  object HelloWorld {
   def main(scala.Array[java.lang.String]): scala.Unit;
   def executionStart(): scala.Long;
   def $tag(): scala.Int;
    throws java.rmi.RemoteException
  }

  > javap -classpath . HelloWorld
  public final class HelloWorld extends java.lang.Object{
    public static final void main(java.lang.String[]);
    public static final long executionStart();
    public static final int $tag() throws java.rmi.RemoteException;
  }

■scalar (0.1)

ソース読む限り、量計算をしてくれるライブラリ(いわゆる数学的な意味でのスカラー)。
コンパクトなソースなので初学者の勉強に意外と良さそう。SCALA_HOMEにファイルが作成されるのはこいつの仕業です。

■scalashell-library (0.1)
■scalashell-scala (0.1)

scalaによるシェル実装。シェルの中でscalaを実行できる。通常のscalaプロンプトよりかっこいいです。
スクリーンキャストはこちら
WindowではCygwin上で実行しなければならない。

■schema2src (73, 72, 45, ...)

XMLスキーマからscalaバイディングを生成するコマンド。使い方はscala.xmlを参照

■servlet-api (2.4)

サーブレットだろう

■smotor (25, 23, 12)

smotor - scala サーブレットコンテナ う、動くのか!?

■units (1.5, 1.4, 1.3, ...)

単位計算のライブラリ。こんな風にかけるようになる。

  val distance = 5*km
  val time = 10*s

■webcont (15)
■webcont-examples (15)

上記のsmotor上で動作するWebアプリケーションフレームワークとサンプル。かなりシンプルっぽい。

ここで気づいたのは、「Index to Scala and XML projects.
に今まで見てきたパッケージのスタック図が書いてあった。。ちょっと古めですね。パッケージの鮮度は疑ったほうがいいかも。

■x10runtime (1.5, 1.0.47)

IBMが作った言語 X10のランタイム。初めて知ったけど、なぜこんなものが・・

■xinc (13, 12, 9, ...)

XIncluder API。この言葉も初めて知りました>Wikipedia:XML_Inclusions


48 package names
317 total packages


大味ですみませんが、以上です。


同じカテゴリのエントリ
1.Lift再入門 / 8.javascriptからsubmitできない / 7.Ajax Form / 6.Radio、Checkboxについて / 5.行列型の編集FORM / 4.サーバーサイドバリデーションとサーバサイド関数 / 3.ログインFORM - S.param使ったら負け / 2.Snippetメソッドとして許される型 / sbt0.12.xで依存jar抽出タスク / scala2.10+lift2.5+NetBeans7.2 / Scalaで入門関数プログラミング / reactive-webを試してみました / Lift2.2M1のテンプレート機能 / Scala Compiler Plugin / View Bound/Context Bound / ScalaZa01参加してきました / Akka Frameworkチュートリアルの次 / Akka Frameworkチュートリアルその2 / Akka Frameworkチュートリアル / LiftでJCaptcha / Url Rewrite Filter / sbt-android-plugin / Android SDK for Scala / 祝Lift2.0リリース / Liftの携帯対応まとめ / Scala2.8への移行 / Lift 2.0-scala280-SNAPSHOT/sbt0.7.1 / Scalaお絵かき環境 - Kojo / Lift+Quartzでバッチ / Scala&Liftを採用した理由 / Liftでdate_select系ヘルパーを作る / LiftでAjax / LiftのSubmitかしこい / lift-mapperのpaginateを使う / snippetをspecする / Lift Mapperを拡張する / LiftのDBをMySQLに / Liftプロジェクト環境を整える / Scala本読み比べてみました / NetBeans6.7&scala / じつはScalaはライトな言語 / Scalaバザ~ル / lift1.0所感 / specsを読む / implicit def / ScalaならNetBeansがサイコー / scala勉強会@東北がスタート / それでも俺はLiftをやるってのか / Scala&Liftセットアップ / ブログリニューアル /
コメント
ymnk
2009/05/20
すごい! 大作ですね!!
こんなに情報が網羅されてるのは、はじめてみました。
勉強になります!!

武田ソフト
2009/05/21
もうちょっと動作確認とかまでしてエントリした方がよかったかもしれないです。ザツすぎたw
scala-actors-examples/webcontあたりやってみたいと思います。
ymnk
2009/05/22
そういえば、先日 twitter で言及されてた
http://blog.takeda-soft.jp/blog/show/284.html
のエラーですけど、原因はわかりました?

今は、エラーメッセージが見られないのでうる覚え
ですが、確か DataMapper が生成した SQL 文が
おかしいような感じでしたが。
武田ソフト
2009/05/23
たぶんですけど、SQL予約語をカラム名に使うと(今回は"date"でした)、SQL生成するときに"_c"だったかを付与するようになってるみたいです。
以前は大丈夫だったのでlift1.0からチェックがかかるようになったのではないでしょうか。

対策としては、
「とりあえずMapperから外して表示しない」:-p
ymnk
2009/05/23
なるほど、そうでしたか。

調べてみると.... こちらの変更ですね。
http://github.com/dpp/liftweb/commit/0c8acce32b77a451203e63710a7bc3dd9bbe1405
テーブル名もチェックするようですね。
武田ソフト
2009/07/06
てすと

コメントしてください

closed.