タグ

scalaに関するno8410のブックマーク (69)

  • で、結局型クラスって何がうれしいの、ということの説明 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    前回の記事では、Scala では implicit parameter を利用することで型クラスと同等のことが実現できることがわかりました。しかし前回の疑問として、「で、それの何がうれしいのよ」というのは残っていましたね。 今回はそのうれしみをなるべくわかりやすく説明したいと思います。 たとえば、色んなクラスに flipFlap メソッドを生やしたい まず、前回と同じく「値をひっくり返す」という flipFlap について考えてみましょう。 前回は関数を作りましたが、Scalaらしく、こういう動きにしたいですね 1.flipFlap // => -1 true.flipFlap // => false "string".flipFlap // => gnirts Scala ではクラスを拡張するときには implicit conversion を使うのが一般的ですね。 class IntF

    で、結局型クラスって何がうれしいの、ということの説明 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
    no8410
    no8410 2014/07/01
  • Scalaのオブジェクトの話

    2016/2/14 開催の第一回 hs.hs 勉強会で用いたスライドです。 流れは以下の通りです。 1. はじめに 自己紹介や発表の目的について 2. GHC 7.8 からの変更点 GHC 7.8 の前後で起きたライブラリの変化と、その変化への対処法について 3. Haskell が遅いと言われるワケとか 遅延評価や各種データ構造の内部表現に起因する諸問題と、その対処法について 4. 知らないと損する言語拡張たち 型の表現力を高めたり、計算速度を向上させる種々の言語拡張について 5. FFI の話 Haskell での FFI の扱いと、身近なライブラリから見る実装例について(※一部抜粋) 6. おまけ(その他便利グッズの話) あるとコーディングがある程度便利になる言語拡張について 一部訂正あり: http://qiita.com/func-hs/items/51b314a2323b83

    Scalaのオブジェクトの話
    no8410
    no8410 2014/06/28
  • Scala Implicits: 型クラス、襲来 · eed3si9n

    2010-11-03 Debasish Ghosh さん (@debasishg) の “Scala Implicits : Type Classes Here I Come” を翻訳しました. 元記事はこちら: http://debasishg.blogspot.com/2010/06/scala-implicits-type-classes-here-i.html (翻訳の公開は人より許諾済みです) 翻訳の間違い等があれば遠慮なくご指摘ください. 先日 Twitter 上で Daniel と Scala での型クラスについて論議していると,突然このトピックに関する書きかけだった記事を発見した.これを読んでもあなたは特に目新しい事を発見するわけではないが,型クラスに基づいた思考はあなたの設計の幅に価値を与えることができると思う.この記事を書き始めたのはしばらく前に設計の直交性についての

    no8410
    no8410 2014/06/27
  • Scala.js | 天下一AltJS武闘会

    あなたは、Javascript で開発をしようと思って一歩を踏み出したけれど、 まだできていないという状況ではありませんか? もしかして、 Scala は知っているけど JavaScript は使いたくない JavaScript は使っているけどメンテナンスがしんどい 型...型... ・・・このような悩みをお持ちではないでしょうか? このウェブサイトは、これらのお悩みをお持ちのあなたのために作りました。 ScalaJavaScript に変換するツールがあったら、今すぐ欲しい!とあなたがお思いなら、 この先を読む必要はありません。 こちらからお申し込みいただき、このサイトを読む時間を実装にあててください。 さて、 Scala は知っているけど JavaScript は使いたくない JavaScript は使っているけどメンテナンスがしんどい 型...型... このような理由で実装が

    Scala.js | 天下一AltJS武闘会
  • 「Javaで継続モナド」をScalaに翻訳/Scala Advent Calendar 2013

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    「Javaで継続モナド」をScalaに翻訳/Scala Advent Calendar 2013
  • gradle-android-scala-plugin/README.md at master · saturday06/gradle-android-scala-plugin

  • Scala.jsが凄い - mizchi's blog

    タイトルで嫌な予感がしてる人もいるでしょうが、ScalaがJSに変換されて動きます。やったぜ。 Scala.js http://www.scala-js.org/ 試す このサンプルプロジェクトを git clone するのが良いです。 sjrd/scala-js-example-app https://github.com/sjrd/scala-js-example-app サンプルコードはこんな感じ package example import scala.scalajs.js import js.Dynamic.{ global => g } object ScalaJSExample { def main(): Unit = { val paragraph = g.document.createElement("p") paragraph.innerHTML = "<strong>

    Scala.jsが凄い - mizchi's blog
  • Developers Summit 2014 で「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」という内容で発表してきました - sifue's blog

    あまりにタイトルが長すぎるだろうと各所から突っ込まれ、あまりにも詰め込んだ内容で発表してしまったとちょっと反省しています。 お話としては、現在ニコニコ生放送の内部をPHPからScalaへ書きなおしているよ、というお話でした。 発表内容はこちら。 Developers Summit 2014 「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」 from Yoshimura Soichiro これらの内容は、これからScalaを使ってWebサイトを構築、運営してみようとしているリーダーさん向けに書いたものとなっています。Play2/Scalaやドメイン駆動設計、またスクラム開発の導入への足がかりにの情報となっていれば幸いです。 こんな雪の中わざわざ聞きに来てくださった皆様、そしてこの書き直しを着想するにあたってお世話になった特にじゅんいちかと

    Developers Summit 2014 で「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」という内容で発表してきました - sifue's blog
    no8410
    no8410 2014/02/14
    Scalaの仕事がしたい
  • 『たのしい Scala』

    はじめに 初めまして。 2011年度入社のつちはしと申します。 アメーバのゲーム部門でエンジニアをしています。 今回はエンジニアブログを書く機会を頂きましたので、大好きな Scala について書かせていただきました。 「たのしさ」というとらえどころのない話しゆえ、すこしゆるーくなっておりますが、ご了承くださいませ。 というわけで、よく「Ruby は使っていて楽しいお 気持ちいいお」と聞くけど、 Scala も楽しいし気持ちいいんだよー! とゆうのを伝えたいです。。 伝わるといいです。。 (この記事は私が Scala の楽しいと感じる部分に的を絞って書いています。 Scala には楽しくない部分もいろいろありますが、それに関してはここでは触れません。 Scala たんは俺の嫁) さくっと書いてためしてみることが出来るの 題に入る前に。。 Ruby には irb という、その場でプログラムを

    『たのしい Scala』
    no8410
    no8410 2014/02/07
  • IntelliJ IDEA 13.0.2の新しいScalaコンパイラ - 最大で25%高速化 | Post Blog

    IntelliJ IDEA 13.0.2でご利用いただけるScalaプラグインの最新版(v0.30.375)ではSBT incrementalかIntelliJ IDEA内蔵のものか、コンパイラを選べます。 後者はIntelliJ IDEAのバイトコード依存アナライザをベースにした新しいビルトインコンパイラで、Scala特有のソースコード間の依存を無視することで最大で25%の高速化を実現しています。この手法をJetBrainsでは”lower precision approach”(低精度アプローチ)と呼んでいます。なぜならパフォーマンスにフォーカスするため、幾分正確性を犠牲にしているからです。 プラグインそのものをコンパイルした際のベンチマーク結果を以下に示します: 新しいコンパイラはデフォルトで有効になっていますので、すぐにどれくらいコンパイラが早くなっているか実感出来ることでしょう。

    IntelliJ IDEA 13.0.2の新しいScalaコンパイラ - 最大で25%高速化 | Post Blog
    no8410
    no8410 2014/01/31
  • 第18回 Scalaとパーザコンビネータ(実装編)

    筑波大学第三学群情報学類を卒業したのち、現在は、筑波大学大学院システム情報工学研究科コンピュータサイエンス専攻博士後期課程3年。プログラミング言語や処理系に強い興味を持っている。現在の研究テーマは、プログラミング言語の構文解析アルゴリズム。Scala勉強会を不定期で行うなど、研究の合間にScalaの普及活動を行っている。 Scalaにはパーザコンビネータライブラリという、構文解析を行うための専用ライブラリが存在します。今回は、前回に説明したHello, World!パーザをより簡潔に書けるように修正していくほか、JSONのサブセットのパーザの実装までを解説します。 Hello, World!パーザを改良してみる strメソッド - 文字列を直接扱えるように 前回説明したリスト5のパーザは、プリミティブとして1文字にマッチするパーザしか扱えなかったため、いちいちそれを~でつないでいくのが面倒

    第18回 Scalaとパーザコンビネータ(実装編)
  • Javaの10個のBad Partsのほとんどはscalaだと解決されちゃうんだぜ - xuwei-k's blog

    ネタ元 業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策 結論から先に言うと、3と10以外は結構直接的にscalaで解決できるというか、javaに比べてscalaの方が便利だとおもいます。*1 あと、元ネタのblogの人はgroovy詳しいみたいですが・・・ groovyとscala比べるとgroovyの方が手軽で便利だったり、scalaのほうが型安全だったり*2いろいろあるかもしれませんが、groovyあまり詳しくないので、その辺の言及というか、比較はやめておきます。*3 1.標準APIのチェック例外が扱いにくい チェック例外ってなにそれおいしいの?(・ω・) java Field field; try { field = getClass().getField("testField"); Object value = field.get(this); }

    Javaの10個のBad Partsのほとんどはscalaだと解決されちゃうんだぜ - xuwei-k's blog
    no8410
    no8410 2013/11/09
  • Scala稟議の通し方(公開版)

    22. Scalaのメリット 1. 少ないコード量で生産性向上 n 例 Javaの例 List<User> list = new ArrayList<User>(); list.add(user01); .... Collections.sort(list, new Comparator<User>(){ @Override public int compare(User o1, User o2){ return 01.id - o2.id; } }); Scalaの例 val list = List(.... User ....) list sort (_.id < _.id)

    Scala稟議の通し方(公開版)
  • ScalaでWebAppの開発に必要なN個のこと - tototoshi の日記

    PerlでWebAppの開発に必要なN個のこと - Islands in the byte stream の Scala 版です。 あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だと思われる。とりあえずScalaについて知っていることを書いた。 パッケージマネージャ sbt が全てやってくれる。Scala のバージョン管理も、ライブラリのバージョン管理も。 http://www.scala-sbt.org/ Maven や gradle を使用することもできる。 アプリケーションサーバ Scala の Web アプリは 2 つのタイプに分けられる。Java の Servlet API を使用するものと、使用しないものである。どのフレームワーク、ライブラリを使うかによって変わっ

    ScalaでWebAppの開発に必要なN個のこと - tototoshi の日記
  • Scalaはモテ言語?

    タイトルは釣りです。一部で「Scalaを始めたら~」の改変ツイートが流行っていたのでまとめてみました。

    Scalaはモテ言語?
    no8410
    no8410 2013/07/29
    scalaスゲェー
  • 奇跡のJava

    アプリケーションの最も基的な部分を支える開発基盤が大きく変わろうとしている。主役は「二つのJava」だ。Javaを基に、関数型という先進技術を導入した「Scala」。Scalaに触発されて関数型のアイデアを取り入れたJavaの次期版「Java 8」。この二つが互いに影響を及ぼしながら、来ならトレードオフの関係にある「高生産性」「高品質」を両立できる新たな基盤を実現しようとしている。三菱UFJフィナンシャル・グループのように利用を始めた企業も出てきた。情報システム部門として二つのJavaを生かさない手はない。 (進藤 智則) 記事は日経コンピュータ7月11日号からの抜粋です。そのため図や表が一部割愛されていることをあらかじめご了承ください。「特集」の全文は、日経BPストアの【無料】特別編集版(電子版)で、PCやスマートフォンにて、7月18日よりお読みいただけます。なお号のご購入はバ

    奇跡のJava
  • Scalaにおける細かい最適化のプラクティス - xuwei-k's blog

    列挙順自体はとくに意味ありません。あと「どの最適化がどのくらい速くなるのか?」を詳細に計ったことはないですし、「原理的にこうなってるから(ry」というのを説明するに過ぎません。中には「JITで無意味になるようなどうでもいい細かすぎること」も書いてありますし、最適化のトレードオフとして失うものもあるので、そのあたり自己責任でお願いします。当に最適化が必要とされる場合は、以下のものを無闇に実行するよりまず計測したほうがいいのは、言うまでもありません。*1 1. private[this]をつかえ scalaのvalやvarは、private[this]にしたときのみ、直接のフィールドアクセスになります(それ以外ではメソッド呼び出し)。シングルトンのobjectの場合も同様です。private[this]をつけられる場合はできるだけつけましょう 2. なんでもかんでもListをつかうな 最初の

    Scalaにおける細かい最適化のプラクティス - xuwei-k's blog
  • Scala.js - Write in Scala for the browser

    Sébastien Doeraene @sjrdoeraene Scala Days 2013, June 12th LAMP, lamp.epfl.ch École polytechnique fédérale de Lausanne, Switzerland JavaScript The one and only language of the Web A scripting language, designed for programming in the small How to scale to Rich Internet Applications? JavaScript as a target language Compile a higher-level language to JavaScript GWT, Scala/GWT CoffeeScript, Dart, Typ

  • 実戦での Scala: Cake パターンを用いた Dependency Injection (DI) · eed3si9n

    2011-04-23 Akka の作者として益々注目を集めている Jonas Bonér が 2008年に書いた “Real-World Scala: Dependency Injection (DI)” を翻訳しました。翻訳の公開は人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2008年10月6日 Jonas Bonér 著 2011年4月22日 eed3si9n 訳 さて、実戦での Scala シリーズ第二弾の今回は、Scala を用いた Depenency Injection (DI) の実装をみていきたい。Scala は、備わっている言語機構だけを用いても何通りかの DI を実現できる非常に豊かでディープな言語だが、必要に応じて既存の Java DI フレームワークを使うこともできる。 Triental では、一つの戦略に落ち着くまで三つの異なる方法を試した

  • 独習 Scalaz — 独習 Scalaz

    独習 Scalaz これまでいくつのプログラミング言語が羊の衣を着た Lisp に喩えられただろうか? Java は馴染み親しんだ C++ のような文法に GC を持ち込んだ。それまで他にも GC を載せた言語はあったけども、現実的に C++ の代替となりうる言語に GC が載ったことは 1996年には画期的に思われた。やがて時は経ち、人々は自分でメモリ管理をしないことに慣れていった。JavaScriptRuby の両言語もその第一級関数 (first-class function) やブロック構文を持つことから羊の衣を着た Lisp と呼ばれたことがある。S式の同図像性がマクロに適することから Lisp系の言語はまだ面白いと思う。 近年の言語はもう少し新しい関数型言語から概念を借りるようになってきた。型推論やパターンマッチングは ML にさかのぼることができると思う。時が経てば、人