タグ

programmingとscalaに関するcoppieeeのブックマーク (13)

  • 型レベルプログラミング in Scala(Type-Level Programming in Scala) — Japanese translation of Apocalisp v1.0 documentation

    型レベルプログラミング in Scala(Type-Level Programming in Scala)¶ この連載はScalaにおける型レベルプログラミングの紹介です。解説は、コードと例とすこしばかりの説明で成り立ちます。また、読者はScalaの一般的な型システムについての知識があることを前提にしています。これは著者の傲慢ではないので(もちろん読者のでもなく)、質問は歓迎します。 連載は10のパートから成ります。有るパートは他の記事の内容を含んで構成されることもあります。過去の記事はこの目次にリンクされますので、簡易なリファレンスとしてこのページをブックマークするとよいでしょう。

  • 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 での型クラスについて論議していると,突然このトピックに関する書きかけだった記事を発見した.これを読んでもあなたは特に目新しい事を発見するわけではないが,型クラスに基づいた思考はあなたの設計の幅に価値を与えることができると思う.この記事を書き始めたのはしばらく前に設計の直交性についての

  • Scalaの学校

    高木社長「今週の流行は……Scalaだ!」「めだかの学校」という童謡の替え歌です。---- 質問コメントへのお答え・曲自体は替え歌なのでオリジナルというわけではありませんが、音源は私(jgoamakfP)がDTMで作成したものです。・「Erlangの歌」も私の作です。・2011年5月29日追記「IT系替え歌」というマイリストを作りました。mylist/25461341

    Scalaの学校
    coppieee
    coppieee 2010/08/29
    なんだこれw
  • ヽ( ・∀・)ノくまくまー(2010-06-28) [Smalltalk] 第21回 Smalltalk勉強会「Traits」

    Traits て何? いくつかのメソッドを定義しておいて、他のクラスに取り込む方法 (メソッド群の継承機構) Rubyのmoduleみたいなもの? そう。ほぼそれ。ScalaだとTrait 大概の言語にあるよね? うん。Perl6だとRoleらしい そして、JavaだとInterface! 違う。それだけは違う ちょw。なんでよ!差別イクナイ! JavaAPI定義のみで実装がないから ああ、API+実装がTraitsなのか そう。言語ごとに違いがある(追加方法、衝突管理、状態、継承)ので、そう言い切るのも火種になる なるほど。ぢゃ、*大筋で*「API+実装がトレイト」と思っていればOK? うん、完璧。Smalltalk実装のTraitsと区別するためにカタカナにしたものナイス えへへ。あ、でさ、さっきの衝突管理って何? 同じメソッド名がある場合にどうなるか問題 ああ、Ruby の強制上書

  • Ruby より Scala がいいって?? - たかみやの日記

    RubyからScalaに乗り換えた 15 くらいの理由 という記事がすごいブックマーク数だったので、「Scala というのは Ruby を改善したすごい言語なのかな?」と思って超期待して読んですけどもいきなり「メソッドの引数に型指定ができる Scala はエラい」とか言い出しててガッカリしました。。。そもそも Scala は静的型付けで関数型、Ruby は動的型付けで手続き型とパラダイムがまるっきり違い、その守備範囲も異なります。プログラムを書きたいけどあらかじめ問題の定義がよくわかんないとか (人工知能など)、プロトタイプを早く仕上げることがビジネスてきに価値がある場合には当然 Lisp や Ruby などの動的型付けの言語を使うだろうし、大規模プロジェクトでメンバーがいっぱい、スキルもばらばらというケースで形式的なミスをなくしたい場合には JavaScala など静的型付けの言語

    coppieee
    coppieee 2010/05/08
    ScalaはRubyより開発効率よさそうだけど。
  • Scala開眼

    1階受付:インストール等 / 1階案内版:コマンド / 2階:書き方 / 3階:文と式 / 4階:関数 / 5階:オブジェクト指向 / 6階:型 / 7階:注釈等 / 屋上:言語仕様要約 / 雲:scalaパッケージ概観 / 青空:その他の付属パッケージ概観 なお、以上の解説はJavaの文法とコマンドや標準ライブラリ等を一応知っていることを前提(現行のScalaはなおJavaライブラリへの依存度が高くScalaだけで完結できる状態では無い。なお、Scalaのコンパイラ自体はJava1.4用のコードも吐けるが、標準ライブラリが多く1.5を前提としている)とし、その違いだけをとりあえずは書き留めるものである。もっぱら文法やライブラリ参照用であることを目指しているので、例や特長等は次のリンクを参照されたい(なおただし、原著者たちの配慮にもかかわらず、それらの例は関数型言語に関する事前の概要的把握

    coppieee
    coppieee 2010/05/04
    Scalaべた褒め。
  • RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

    ● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのがになる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc

    coppieee
    coppieee 2010/04/28
    俺もC#から乗り換えたい。C#のvarとか関数内でしか使えないし、パターンマッチないし、ifが式じゃないし・・・。
  • Scala的な考え方 - Scalaがとっつきにくいと思っている人へ - ( ꒪⌓꒪) ゆるよろ日記

    Javaな人から見ると、「Scalaって難しい」ってイメージがありますね。俺も最初はそう思ってました。今もですけど。 で、考えてみたんですが、何が難しいって考え方・イディオムになじみがないのが原因かと思ったんです。 ここでは、俺が今までScalaをやってきて得た考え方を紹介します。「Scalaをちょっとやってみたんだけど、とっつきにくくて…」と思われている方は、ぜひご一読ください。 参考資料: Scala入門 - Scalaで書きはじめたJava使い向け - Scala勉強会@東北 Dropbox - 404 神は言われた。「リストあれ。」 Lisperは、リストをどう作るかをまず考えるらしいです。適切なリストが出来たら、プログラムはもうできたも同然だと。同じ考え方は、Scalaでも通用すると思います。 大まかに、こんな流れで考えてます。(リストは最初から与えられることもあるでしょう) 「

    Scala的な考え方 - Scalaがとっつきにくいと思っている人へ - ( ꒪⌓꒪) ゆるよろ日記
    coppieee
    coppieee 2010/03/18
    MayBeモナド!
  • 佐藤先生がErlang、Scala、Javaなどの並行処理を斬る! - スティルハウスの書庫の書庫

    ここ数日の佐藤先生のエントリが熱い! Erlang、ScalaGoJavaなどの現代の言語(Erlangは古いか)における並行処理の扱い方について、それぞれの歴史的背景や意義、得手不得手などがわかりやすく紹介されてます。80年代から並行処理やオブジェクト指向を研究されてきた佐藤先生ならではの視点ですね。ちょっと長くなりますが特に私が興味深かった部分を引用します(強調は私): 佐藤一郎: Web日記 (2010年) 最近、興味深いのはオブジェクト指向言語のScalaやErlangが話題を集めていることでしょうか。どちらもActor Modelをベースにしているそうですが、オブジェクト指向言語の歴史でいうと、Actor Modelなどの並行処理用オブジェクト指向言語の研究が盛んになったのは1985年からの6,7年ぐらいだと思います(Actor Model自身はもっと古いですが)。そして19

    佐藤先生がErlang、Scala、Javaなどの並行処理を斬る! - スティルハウスの書庫の書庫
  • 第14回 関数脳のつくり方 Second Season 〜モナドで悟りをひらく〜 - 刺激を求める技術者に捧げるScala講座:ITpro へのツッコミ - kmizuの日記

    ITProのScala連載「刺激を求める技術者に捧げるScala講座」の第14回 関数脳のつくり方 Second Season 〜モナドで悟りをひらく〜がはてなブックマークで150ブクマ超えるなど注目を集めていますが、読んで見ると初学者に誤解を与える箇所が散見されるので、一応、連載に関わってる者(といっても1回記事書いただけですが)の一人としてツッコミを入れさせていただきます。 「参照透明性を保持しながら手続き型的な記述をするための枠組み」?(p.1) モナドとは,関数型言語で,参照透明性を保持しながら手続き型的な記述をするための枠組みです。 早速ですが、これは、IOモナドやStateモナドには当てはまっても、全てのモナドについて当てはまるものではないですよね。たとえば、Maybeモナドではこれは当てはまりません。 「モナドがHaskellで必要な理由」? これはページタイトルの一部ですが

    第14回 関数脳のつくり方 Second Season 〜モナドで悟りをひらく〜 - 刺激を求める技術者に捧げるScala講座:ITpro へのツッコミ - kmizuの日記
  • 第14回 関数脳のつくり方 Second Season ~モナドで悟りをひらく~

    大手SIベンダにてSEやPMやアーキテクトとして勤務したのち,株式会社豆蔵を経て,現在は合同会社シンプルアーキテクト代表社員であり,株式会社匠Business Placeのチーフコンサルタント。主に超上流のプロセスである要求開発やオブジェクト指向,アジャイル開発のコンサルタントとして活躍中。開発の現場にこだわり,開発の現場を少しでもよくしたいと日夜奮闘している。要求開発アライアンス執行委員。著書に『オブジェクト脳のつくり方』や『eXtreme Programming実践レポート』(ともに翔泳社発行。後者は共著)などがある。 Javaなど,オブジェクト指向や手続き型のプログラミングの経験はあるけれど,関数型のプログラミングは初めてという皆様のための,そして筆者自身のための「関数脳のつくり方」シリーズのSecond Season(First Seasonはこちら)。今回は「モナド」を取り上げま

    第14回 関数脳のつくり方 Second Season ~モナドで悟りをひらく~
  • Scala基礎文法最速マスター - ( ꒪⌓꒪) ゆるよろ日記

    面倒なのでここ見てください。 yuroyoro/scala-hackathon · GitHub Dropbox - 404

    Scala基礎文法最速マスター - ( ꒪⌓꒪) ゆるよろ日記
    coppieee
    coppieee 2010/02/01
    タイトルに釣られた。なんというボリューム、もとい手抜き。
  • 第15回 Scala 2.8の新機能 (1)

    SIer勤務。関数型プログラミング言語や形式手法に興味があり色々勉強中。"A Scala Tutorial for Java programmers"の和訳やScala勉強会(scala-beなど)での発表などScalaの普及活動を行っている。 現在使用されているScala 2.7系に対して、2009年後半にβ版が公開されテスト中のScala 2.8系では大きな変更や数多くの興味深い機能追加が行われています。今回と次回はScala 2.8についての紹介を行います。 なおScala 2.8は現在も開発中です。この記事は2009/12/24版のScala 2.8.0を元に執筆していますので、Scala 2.8の正式リリースまでに変更が加わる可能性があることを予めお断り致します。 Scala 2.8 について この記事を執筆している時点(2009年12月)におけるScalaの安定版は2.7.7

    第15回 Scala 2.8の新機能 (1)
  • 1