タグ

Scalaに関するsyttruのブックマーク (42)

  • blog.8-p.info: sbt で Scala の開発サイクルを速くする (前編)

    Posted at 2010/01/06 00:53, Modified at 2010/01/06 01:54 fsc は速くなった のだけど、コンパイルしたらテストしたいし、テストしたら普通に実行したい。コンパイルだけ速くなっても開発のサイクル全体はそんなに速くならないのでは、といまさら気づいた。scalac, fsc 同様に scala コマンドの実行のために Java VM をあげさげするのを減らす必要がある。 Java VM のあげさげを減らすのは Java 界にも需要があるらしく、具体的な実装として、Ant を対話的にした antshell や Ant Console がある。Scala は Ant からも使えるので、これらもまま使えるはずだけど、実はページがどちらも消えてしまっていて試せていない。 どうしようと探していたら sbt が良さげだった。 sbt - simple

  • 20090911 Seasar Conference2009 Autumn

    2024 Trend Updates: What Really Works In SEO & Content Marketing

    20090911 Seasar Conference2009 Autumn
    syttru
    syttru 2009/09/14
    スライド見て爆笑。見に行きかったなー。
  • 2009-04-19

    なんか、非常に面白い話なので言ってみたかったのですけど、ものすごい人気だったようなので、 ちまちまと考えてみたことを書きます。 結論を先に書くと、TemplateHaskellの型の部分は推論できるところは書かないと短くかけて嬉しいんじゃないかと思います。 構文木をあらわす表示も型推論の逆のことをすれば、簡略化できるよねと。 まずですよ。 プログラムを記述するのは、人間にも、コンピュータにも両方がわかりやすいものがよいです。 っていうことがあります。 最初は全部数字でコンピュータより過ぎた。 で、ニーモニックとアセンブラが生まれた。 そして、コンパイラが生まれ、インタプリタが生まれた。 LISPやforthが生まれ、smalltalkが生まれた。 BNFができて、多種多様な言語が生まれた。 マクロはプログラムを生成する技術だったが、わけがわからないと嫌われた。 オブジェクト指向がたびたびも

    2009-04-19
    syttru
    syttru 2009/04/20
  • 東京は赤坂に行って来ました - Yet Another Ranha

    型レベルプログラミングについて聞きに行きました。 つくばと東京はやっぱりそれなりに遠いなーと最近思う様に成って来たあたり。大学に入った頃はそうでも無かった様な気がするけど、あの時から事実としてそうだったのであればやっぱりその通りなのかもしれない。でもまぁTXが出来る前に比べれば大分良く成っているらしいので、これぐらいならまだまだ大丈夫だ。 一次会の自分用メモ かなり偏りアリ 水島さんのScala Scalaはぱっと見何を書いてるのかが分からないのが依然として問題であるなという気がしてならない。 落ち着いて考えてみると、割とズレたやり方をしていると言うよりも、既に確立している部分に合わせてる分ぱっと見が意味不明になっちゃってるんじゃないかなーと。 例えば class Ref[T](private var value :T) { def unary_! :T = value // 単項演算子

    東京は赤坂に行って来ました - Yet Another Ranha
    syttru
    syttru 2009/04/20
  • artima - Twitter on Scala

    Three Twitter developers, Steve Jenson, Alex Payne, and Robey Pointer, talk with Bill Venners about their use of Scala in production at Twitter. Twitter is a fast growing website that provides a micro-blogging service. It began its life as a Ruby on Rails application, and still uses Ruby on Rails to deliver most user-facing web pages. But about a year ago they started replacing some of the back-en

    syttru
    syttru 2009/04/06
    twitterの中のScala。読めない><
  • ScalaでRubyのtimesメソッドを実現する - Kazumi007の日記

    最近Scalaで遊んでいるんだけど、結構おもしろいです。わくわくするような機能はないのですが、なんというかいろんな機能が絶妙なバランスでミックスされている感じがいいです。お気に入りは、動的にmix-inを定義する関数なんかですね。 implicitメソッドを用いて、暗黙の型変換を利用した例を紹介します。その例としてRubyのtimesメソッドを実現してみます。Rubyのtimesメソッドは、n.timesでn回ブロックを評価するというメソッドです。まずは、irbで実験してみます。 >> 5.times{print "hello\n"} hello hello hello hello hello => 5 このtimesメソッドをScalaで実現してみます。まず、timesメソッドが定義されていないことを確認してみます。 scala> 5.times{println("Hello")} <c

    ScalaでRubyのtimesメソッドを実現する - Kazumi007の日記
    syttru
    syttru 2009/04/06
    implicidの例。わかりやすい。
  • S-99: Ninety-Nine Scala Problems

    These are an adaptation of the Ninety-Nine Prolog Problems written by Werner Hett at the Berne University of Applied Sciences in Berne, Switzerland.  I (Phil! Gold) have altered them to be more amenable to programming in Scala.  Feedback is appreciated, particularly on anything marked TODO. The problems have different levels of difficulty.  Those marked with a single asterisk (*) are easy.  If you

    syttru
    syttru 2009/04/01
    Scalaの問題99問
  • 2009-03-31

    とりあえず,Wikipediaにアクターモデルで載ってた。 Scalaでたびたび見かけるアクターだけど,元々はErlang由来のものらしい。マルチコアなプロセッサでは並行性や並列処理(concurrency and parallelism)が大事になるよ。Erlangの並列処理はスケーラビリティあるよトカナントカ。 →Understanding actor concurrency, Part 1: Actors in Erlang | JavaWorld つってもErlang知らんよね。だからJVMで使えるアクターモデルの実装を教えちゃる。と,この記事に繋がる。 →Understanding actor concurrency, Part 2: Actors on the JVM | JavaWorld メッセージ交換できるんで,MDBの軽いヤツ的な理解をしてるけど,例示されているジャンケ

    2009-03-31
    syttru
    syttru 2009/04/01
    あとで読むー
  • Scala練習問題 - プログラミング言語 Scala Wiki

    初心者の為の練習問題 原文はScala exercises for beginnersを参照の事。 関数型言語の初心者向けの良い課題だと思うのだが。...が、関数型言語に不慣れだと、そもそもどんな関数を作る事が期待されているのか判んないかもしれないなぁ。(メソッド名とか関数の型から大体の見当がつくかな?) ソースコード中の error("課題") の部分を自分の書いたコードで置き換える事が期待されています。 初心者の回答を自動で採点する為に、scalacheck で回答の正当性を検証する為の方法を誰か解説しない? // 下記の List のメソッドは使用してはならない: // * length // * map // * filter // * ::: (および ++ のようなその変形) // * flatten // * flatMap // * reverse (および reverse

    Scala練習問題 - プログラミング言語 Scala Wiki
    syttru
    syttru 2009/03/25
    こんどやってみよう
  • Scala - InfoQ

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Scala - InfoQ
    syttru
    syttru 2009/03/25
  • [Scala] オブジェクトの初期化のシンタックスシュガー

    syttru
    syttru 2009/03/18
  • Actorを学ぶ - syttruの日記

    Actorがまだよくわからない。インターネットで検索したり色んな人のブログを見たりしてもまだよくわからない。 APIを見てもtraitのActorとobjectのActorがあってうんにゃかもんにゃかだ。 JavaのThreadクラスみたい objectのActorはひとまず置いといて、traitのActorから攻めてみよう。 これはなんだかJavaのThreadクラスみたいな感じだ。 actメソッドを実装してstartメソッドを呼ぶと、actメソッドの中身が非同期に実行されるみたい。 ちょっとやってみよう Actorを継承したオブジェクトを定義する。actメソッドの中身は1秒sleepしてから「アクション!」と出力するようにしておく。 import scala.actors.Actor object MyActor extends Actor { def act = { Thread.s

    Actorを学ぶ - syttruの日記
  • Scala メモ

    Scala メモ Last Updated : 2009/5/31 (2006/7/4 より執筆開始) asato <asatohan at gmail.com> 内容に関するコメント(感想、提案、書き間違いの指摘)は歓迎します。 実験環境 例 - Class 例 - Trait 例 - Case Classes 例 - Generic Types and Methods (2009/3/14 更新 ) 例 - Pattern Matching (2009/3/14 更新 ) 例 - Method Values 例 - Higher-Order Functions 例 - Anonymous Function Syntax 例 - Currying 例 - Repeated Parameters 例 - By Name Parameters 例 - Implicit Parameters

    syttru
    syttru 2009/03/14
  • Scala - 偏見プログラマの「語り」!

    syttru
    syttru 2009/03/13
  • 全てがオブジェクト - A Memorandum

    Scala は純粋オブジェクト指向言語です。これには、数値や関数も含まれます。Java でいうプリミティブ型はありません。 以下の2つは同じ意味になります。 1 + 2 * 3 1.+(2.*(3))1行目は実際には+メソッドと*メソッドの呼び出しとなっています。これは Scala が自明なメソッド呼び出しの () を省略可能となってるので普通の算術式みたいに書けるのです。 また関数もオブジェクトです。そのため関数を引数に渡したり、それらを変数として格納したり、他の関数からの戻り値としたりすることができます。これらの側面は関数型の特徴ですね。 object Hello extends Application { def speak(greeting: () => unit) { greeting() } def hello() { println("Hello") } speak(hell

    全てがオブジェクト - A Memorandum
    syttru
    syttru 2009/03/12
  • Scala/Liftが(個人的に)熱い » Happy My Life

    最近日語の記事でもscalaをよく見掛けるようになった。 ただのプログラミング言語ならあまり注目しないんだけど、優れたwebフレームワークもあるなら話は別。 Liftというwebフレームワークがあるのだが、rails,Django,Wicketsなどのいい所らしい。 個人的には、Scala/Liftはrailsの次にブームが来ると踏んでいるので、世間より前に勉強しておこうかと。この予測、当ればデカいけど、外すとペナルティも大きい、なんか先読みキャッシュのようだ。 まだ注目している人も(たぶん)少ないし、今から使いこなせるようになっていれば、2~3年後には解説出しているかも。 出せるぐらいに頑張りますか。 written by でむやん

  • [Scala Tips] Java型からScalaのラッパー型への明示的変換を仲介してくれるライブラリ

    Scalaでは、Javaの型の多くをラップしたクラスにて再定義している。 byte型 -> scala.Byte short型 -> scala.Short int型 -> scala.Int など。 そのため、ScalaからJavaのライブラリを利用していると、ライブラリのAPIの返り値がJavaの型で、Scalaのラッパークラスではないので変換が必要な事がよくある。例えば、java.util.List型は、ScalaのSeq[A]を継承していないので、enumerableではない。 このため、Scalaの標準ライブラリ中にいくつかの明示的な変換規則を定義してある。例えば、java.util.List[T]からList型への変換などは、scala.collection.jcl.Conversion.convertListを読みこむだけで、後はScalaの言語仕様の明示的な型変換機構により

    syttru
    syttru 2009/03/11
    こりゃ便利だ。scala.collection.jcl.Conversions
  • dirkmeister.de » Remote Actors in Scala

    A well known feature of Scala is it support for message passing concurrency via Actors similar to Erlang. In Chapter 30 of “Programming in ScalaScala’s Actors is described in detail. However, it is not so well-known that Scala also supports actors distributed across different nodes (Remote Actors). Here is the Ping-Pong example with the Ping actor and the Pong actor running in different processe

    syttru
    syttru 2009/03/10
    英語だー
  • 6 Scala resources for Java programmers | STUQ.nl

    My name is Daan van Etten. I am a software developer using a myriad of languages and frameworks. You can find me on Twitter (@daanvanetten), GitHub, StackOverflow and Linkedin. Stay up to date by following me via RSS or Twitter.

    syttru
    syttru 2009/03/10
    JavaプログラマーのためのScala情報源。ただし全部英語。メーリングリストに登録してみようかな。
  • An experiment with Scala an Guice [Scala] [guice]

    Never been to DZone Snippets before? Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world // An experiment with Scala an Guice /* * Main.scala * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package scalaapplication1 import

    syttru
    syttru 2009/03/10
    うわー。英語だー。読めないー。