2010-01-01から1年間の記事一覧

型クラスでHaskellのguardを定義してみる(未完)

@mzpさん主催の非公式名古屋Scalaに行ってきました。 前半は@yoshihiro503さんによるモナド講座。後半はCoq、F#、AmazonEC2、MessagePackなど「り、りろんはしってる」な話が飛び交ってました。モナド講座のなかでfor文のifはfilterが必要だったり、先頭に置…

Scala+Android小ネタ集

(この記事は Scala Advent Calendar jp 2010 の5日目です。)Scala+Androidで過去にはまったことなどを小ネタとして紹介します。 Androidに限らず、JavaのライブラリをScalaから使用する上でも役にたつかも。 java.lang.Classのインスタンスを取得する Scala…

名古屋Hackathon「ラムダ村」

先週土曜日(10/9) [twitter:@mzp]さん主催の名古屋Hackathon「ラムダ村」にいってきました。自分はScala組([twitter:@maeda_],[twitter:@a_hisame],[twitter:@RKTM],[twitter:@fumokmm],[twitter:@papamitra])に参加しました。 最近はプログラミングというと…

Scalaでモナド

前回(第11回)の名古屋scala勉強会の前半はfor式を肴にモナド三昧。『ふつうのHaskell』を発売直後*1に買ったものの途中で投げ出した自分はやっぱりチンプンカンプン。でもまぁチンプンカンプンなりにいろいろ教えてもらったので、それを頼りになんとかモナド…

Scalaの限定継続で四天王問題を解いてみた

Scalaの限定継続でSICP4章のambっぽいものを作って四天王問題(勝手に命名)を解いてみた。一応転載もしておく A「Dがやられたようだな…」B「ククク…奴は我ら四天王の中でも最弱…」C「私はBよりも弱い…」A「そして私は最強ではない…」B「四天王の中に私より…

Scalaの限定継続で四天王問題を解いてみた その2

ググってみるといろいろ派生問題が出来ているらしい(笑悪ノリしてその中の1つ、人力検索に出ているやつを解いてみた。 http://q.hatena.ne.jp/1284217294 A「Dがやられたようだな…」B「ククク奴は四天王でも最弱…」C「私はBよりも強い」A「私は最強ではない…

第一回Scala座に参加してきました&発表してきました

9/4(土)WINC愛知で開催された第一回Scala座に参加してきました。 そして(人生初の?!)発表もしてきました。ネタはこの日記で書いてたScala+Androidのまとめみたいなやつです。ScalaでAndroidアプリ開発View more presentations from papamitra.発表の順番が…

sbtでjavaコマンドから実行できるJAR作成

要はsbtで作ったjarファイルでこういうことがしたい $ java -cp ./hoge/fuga.jar org.example.HelloScala Hello,Scala!いろいろ試した結果、sbt-proguard-pluginを使用すれば可能だとわかった。sbt-proguard-pluginの使用方法は以下のページが詳しい。 sbtの…

ScalaのfjbgでHello,World

ScalaがBytecodeを作成するために使用しているfjbg(Fast Java Bytecode Generator)を使ってHello.classを作成してみた。 もちろん実行できる $ ./fjbg.scala $ java Hello Hello,World やってることはFJBGContextのJClassでHelloクラス作成。作成したクラス…

ensimeで補完生活

追記(2010/09/05): ensimeは開発&変化のスピードが早く、ここに掲載されている設定ファイルはすでに一部が無効になっています。正しい設定ファイルの書き方はマニュアルを参照してください。 最近話題になってるemacs上のScala開発環境「ensime」をAndroid…

C++のテンプレートは非変か

C++のテンプレートって非変なんですかね?ここでの議論がちょっと気になった。 上の記事のコメ欄で template <class T> class Hoge { public: Hoge() { } template<class U> Hoge(const Hoge<U>&) { } template<class U> Hoge& operator=(const Hoge<U>&) { return *this; } };こう書いてしま</u></class></u></class></class>…

Scala+Androidアプリ公開中

公開といってもマーケットではなくgithub上にScala+Androidのソースコードを公開しています。 sbt-android-plugin使用版(こっちが最新)http://github.com/papamitra/LocationAlarm2 ant使用版http://github.com/papamitra/LocationAlarm GPS等で目的地に近づ…

sbt-android-pluginで型安全にリソース取得

ネタ元はここ http://code.technically.us/post/824974287/rewiring-android-for-type-safe-layout-resourcessbt-android-pluginが0.5.0からTyped resources referencesという便利なものに対応したので紹介。 短く型安全なリソース取得 Scalaでボタンなどの…

sbtでScala+Android その2

前回に引き続きsbt+Android。いろいろ触ってみて困った点など3点ほど。 minSdkVersionがないとコンパイルエラー AndroidManifest.xmlにminSdkVersionがないと警告ではなく、なぜかいきなりjava.util.NoSuchElementExceptionが投げられるスパルタ仕様。 以下…

sbtでScala+Android

以前紹介したScala+Androidのスライドにあったsbt+Androidを試してみたけど、これは良い! セットアップは簡単だし、その上一度セットアップしてしまえば、あとは1コマンドでsbt+Androidなプロジェクトが作れてしまう。 ところでsbtって? sbt(simple-build…

Scala+AndroidでGoogle Mapsがコンパイルエラーになる(解決編?)

追記(2010/07/27): rev22630にて問題は修正されたようです。次期バージョン(2.8.1?)から下記現象は発生しないと思われます。 追記2(2010/10/03): Scala2.8.1.RC1でコンパイルし、問題が修正されていることを確認しました。前回もScala+AndroidでGoogle Maps…