Play2は「2.3.0」から環境構築方法が少し変わります。前回記事で紹介したように、以前のバージョンでは「play new」などのPlayコマンドでアプリケーションの環境を構築しましたが、本バージョンからPlay2は「Typesafe Activator」とセットで提供されるようになりActivatorコマンドを利用することになります。基本的な流れは同じなので簡単に紹介します。 ダウンロードサイトからZipファイル「typesafe-activator-1.2.2-minimal.zip」をダウンロードし、任意のディレクトリに展開します。筆者は「C:\pleiades\activator\activator-1.2.2」としました。Activatorコマンドを利用できるように展開したディレクトリを環境変数の「Path」に追加しておきます。 アプリケーションの作成は「activator n
You are viewing the documentation for the 2.9.x release series. The latest stable release series is 3.0.x. Search Home Getting started §Creating a New Application Play expects a specific project structure. If you already have sbt installed, you can use a giter8 template, similar to a Maven archetype, to create a new Play project. This gives you the advantage of setting up your project folders, bui
1階受付:インストール等 / 1階案内版:コマンド / 2階:書き方 / 3階:文と式 / 4階:関数 / 5階:オブジェクト指向 / 6階:型 / 7階:注釈等 / 屋上:言語仕様要約 / 雲:scalaパッケージ概観 / 青空:その他の付属パッケージ概観 なお、以上の解説はJavaの文法とコマンドや標準ライブラリ等を一応知っていることを前提(現行のScalaはなおJavaライブラリへの依存度が高くScalaだけで完結できる状態では無い。なお、Scalaのコンパイラ自体はJava1.4用のコードも吐けるが、標準ライブラリが多く1.5を前提としている)とし、その違いだけをとりあえずは書き留めるものである。もっぱら文法やライブラリ参照用であることを目指しているので、例や特長等は次のリンクを参照されたい(なおただし、原著者たちの配慮にもかかわらず、それらの例は関数型言語に関する事前の概要的把握
Scala による小さな Lisp 2009.12.10 - 2009.12.15 (鈴) 1. 簡単な S 式パーサ 2. 文字列表現への変換 3. アトムと基本5関数だけの eval 関数 4. 条件式と関数適用を追加した eval 関数 5. 仕上げ はじめに 本稿では,小さな Lisp の実装をとおして,最初の入門の次の段階としての Scala を学んで行きます。 Java 1.5.0 上の Scala 2.7.7 を使いますが,コードは Scala 2.8.0.r20121 でもひととおり確認しています。 Lisp の仕様と評価のアルゴリズムは基本的に下記にしたがいます。 John McCarthy: A Micro-Manual for Lisp - Not the Whole Truth, ACM SIGPLAN Notices, Vol. 13, No. 8, Augus
以前に出来なかった環境が完成しました. 想像していたものは以下のようで 結果としてこのようになりました. 背景は後日変えよう... 本家ターミナルにtmuxで画面分割し,左と右上にEmacs,右下に普通のzshからREPLを呼び出しもちろん補完も出来ます. ここに至るまで色々問題があったのですが,簡単にまとめると以下な感じに. tmuxでターミナルを分割. azuki_fontをターミナルで使うと分割時の枠線が化けるため泣く泣く捨てる. Rictyというフォントを使う. Emacs daemon使ったら,色がばぐったけどcolor-themeを入れたら揃った. Rictyとcolor-themeでEmacs.appとほぼ同じ綺麗さになった. 以前はEmacsと別にターミナル開いてREPLで確認する度に移動しなきゃいけなかったから助かる. Emacsのshell-modeでREPL開いてやっ
Emacsでのscala開発環境をご紹介。 ちょっと量が多いので2回に分けます。 前編はscala-mode 後編はENSIME(scala IDE) 今日は前編 scala-modeについて scala-mode インストール Emacsにはデフォルトでscala用のモードは入っていません。 自分でscala-modeをインストールする必要があります。 scala-modeはScalaの配布パッケージに含まれています。 まずscalaのtarをダウンロードします。 現在の安定板は2.8.0.finalです。 まずはダウンロード $ wget http://www.scala-lang.org/downloads/distrib/files/scala-2.8.0.final.tgz 展開します。 $ tar zxvf scala-2.8.0.final.tgz scala-2.8.0.f
Just for posterity, here is a Bash one-liner to download the VIM plugins to handle syntax highlighting for Scala: mkdir -p ~/.vim/{ftdetect,indent,syntax} && for d in ftdetect indent syntax ; do wget --no-check-certificate -O ~/.vim/$d/scala.vim https://raw.githubusercontent.com/derekwyatt/vim-scala/master/syntax/scala.vim; done Update Here is a solution using cURL submitted by Joe: mkdir -p ~/.vi
注意: 遊んでみただけなので実用的ではない*1だろうし、この仕組みをあえて使ってる例全く見たこと無いし、初心者は混乱するかもしれないのであまり真面目に見ないほうがいいかもしれません forでyield使わなくても、foreachが値を返す場合、for全体も値を返すのですね・・・ https://gist.github.com/xuwei-k/5611368 「pointとbindさえ実装すればMonadだよ!」*2というのがわかりやすいように、わざとtrait作りましたが、べつにforeachを直接MaybeやConsListに実装しても同じです *1:ここから色々工夫しないと、pointの型書かないといけないとか、そもそもこうやってforeachを定義してもなにもメリットない?とか *2:そして、foreachは通常ではUnit返すのに、そうではなく foreach == bind ==
Play 2.1にアップグレードしてコントローラを使いこなす:Scala+Play 2.0でWebアプリ開発入門(5)(1/3 ページ) 2.0からScalaに対応したWebアプリ開発の人気軽量フレームワーク「Play」について解説し、Webアプリの作り方を紹介する入門連載。今回は、Play 2.0から2.1への移行方法やパラメータのバインド、リバースルーティング、セッション、フラッシュスコープの使い方などを解説します。 前回の記事「Playコントローラ/Action/HTTP Routerの基本的な使い方」では、コントローラの基本的な使用方法について紹介しました。 今回はまず、新しくリリースされたPlay 2.1についての情報と移行方法を紹介します。また、前回紹介できなかった、コントローラ使用方法の続編についても解説します。 Play 2.1にアップグレードしよう 前回記事の冒頭でPla
Effective Scala Marius Eriksen, Twitter Inc. marius@twitter.com (@marius) [translated by Yuta Okamoto (@okapies) and Satoshi Kobayashi (@scova0731)] Table of Contents 序章 書式: ホワイトスペース, 命名, インポート, 中カッコ, パターンマッチ, コメント 型とジェネリクス: 戻り型アノテーション, 変位, 型エイリアス, 暗黙 コレクション: 階層, 使う, スタイル, 性能, Java コレクション 並行性: Future, コレクション 制御構造: 再帰, Return, forループと内包, require と assert 関数型プログラミング: 代数的データ型としてのケースクラス, Option, パターンマ
射っていうのはscalaだと単なる関数だし、関手はmap、モナドはflatMapなだけです。これのどこが難しいというのでしょう。 圏論とかモナドなんて簡単だからscalaを使って説明してみた 内容について考えてみよう。 圏の定義? trait Cat { type A type B def f:A => B } trait Cat { type A type B type C def f:A => B def g:B => C def f_g:A => C = f andThen g } 圏論とかモナドなんて簡単だからscalaを使って説明してみた ここで定義されているCatはただの1本の射であって圏とは言い難い。hom setを定義したというのならまだわかるが、ScalazのHomとは似ているが違う定義だ。具体的に言うと、Homは1本の射fではなく、射を表す型であるCが定義されている。
・型を書け! ・名前を付けろ! ・合成しろ! 型を書け! 「は?型推論あるのにわざわざ型なんて書かなくていいし!」と思いましたか? では保守を任されて緊急でソースを理解したい時にこのようなコードだった場合はどうでしょう。 //XXとYYはどこか別の場所で定義されている class AAA[A <: XX, B <: YY] { def f(a:A,b:B) = a.xx + b.yy } 「戻りの型くらい書いとけ、ばかやろぅ」と言いたくなりましたね。それが普通の反応です。 class AAA[A <: XX, B <: YY] { def f(a:A,b:B):String = a.xx + b.yy } 戻り値の型がある場合と比べて見てください。コードの読みやすさが全く違います。このようにコーディングする際にほんのひと手間掛けるだけで、保守時のコストが大幅に削減出来ます。 保守のコストを
Scala で圏論入門 https://github.com/scalajp/introduction-to-category-theory-in-scala-jp/wiki に移動しました。こちらは、ミラーとさせていただきます。 これは、Typesafe 社の Director Professional Services である Heiko Seeberger 氏による「Introduction to Category Theory in Scala」の翻訳文です。誤訳、誤記などがありましたら、 日本Scalaユーザーズグループの「圏論入門 レビューのお願い」トピックに投稿していただくか、@quassia88 にご連絡ください。 もし君が僕みたいに、以前はJavaディベロッパーで、Scalaのファンになったばかりなら、君は多分遅かれ早かれ、モナドやら関手やらの、圏論の分野からやってきた謎
At Devoxx last week I used the phrase "Scala feels like EJB 2 to me". What was on my mind? For a number of years on this blog I've been mentioning a desire to write a post about Scala. Writing such a post is not easy, because anyone who has been paying attention to anti-Scala blog posts will know that writing one is a sure fire way of getting flamed. The Scala community is not tolerant of dissent.
ある日突然「Scala (lift) のプロジェクト作ったから Jenkins でテスト結果とカバレッジをいい感じで表示できるようにしておけよ」と言われて、一生懸命設定したときの内容をシェアする。 完成予想図 環境 sbt 0.7.5 sbt-coverage 0.2 junit_xml_listener 0.2 Jenkins 1.414 Jenkins Emma plugin 1.25 Jenkins sbt plugin 1.2 環境設定 sbt がインストールされている必要がある。 Mac OS X ユーザで homebrew ユーザなら $ brew install sbtでインストールされる。Scala のインストールは不要。 バージョンが少し古くても問題ない。 まずはローカルで試す (1) Scala (lift) プロジェクトを用意する ここでは説明のため、 Google
EclipseにScalaプラグインを入れると「Scala Project」を作成することができる。でもこれやと EclipseのWTPを使ったAPサーバ上での開発はできない。そこで、作成した動的WebプロジェクトにScala環境を追加するようにした。 動的Webプロジェクトで簡単なScalaサーブレットを動かす手順をまとめておく。 環境・Mac OS X・JDK1.5.0_13・Eclipse(Eclipse IDE for Java Developers) 3.3.1.1 ダウンロードURL: http://www.eclipse.org/downloads/・Scala Plugin for Eclipse 2.7.1.r14915-b20080506010100 (BETA) アップデートサイト: http://www.scala-lang.org/downloads/scala
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く