タグ

scalaに関するt_yanoのブックマーク (14)

  • visible true : Scalaで無限リストを使ってフィボナッチ数列

    2010年10月22日00:53 カテゴリScala Scalaで無限リストを使ってフィボナッチ数列 元ネタ:基礎を終えた人のScalaミニtipslazy val fib: Stream[Int] = Stream.cons(0, Stream.cons(1, fib.zip(fib.tail).map(p => p._1 + p._2)))これ、Scalaで無限リストと遅延評価でフィボナッチ数列を実現してるんですが、 もう、何やってるかぜんっぜんわからなかったので、がんばってみました。 登場人物lazy valStreamStream.consStream.zipStream.tailStream.map_1, _2という表現Stream.takeこれ、これらが判ればきっと解る! 1.lazy val 遅延評価! valとかにlazyとか付けると遅延評価になります! 遅延評価ってなんだ

    t_yano
    t_yano 2011/11/15
    ScalaでHaskellな無限リストをとりあつかう話。Stream.cons()。
  • モナドはメタファーではない · eed3si9n

    2011-05-28 Scala界の関数型プログラミング一派を代表する論客の一人、@djspiewak が 2010年に書いた “Monads Are Not Metaphors” を翻訳しました。翻訳の公開は人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2010年12月27日 Daniel Spiewak 著 2011年5月29日 e.e d3si9n 訳 僕は今、約束を破るところだ。およそ三年前、僕は絶対にモナドの記事だけは書かないと自分に約束した。既にモナドに関する記事は有り余っている。記事の数が多すぎてその多さだけで多くの人は混乱している。しかも全員がモナドに対して異なる扱い方をしているため、モナドの概念を初めて学ぼうとする者は、ブリトー、宇宙服、象、砂漠のベドウィン (訳注: アラブ系遊牧民) の共通項を探す努力をするハメになっている。 僕は、この混乱した

    t_yano
    t_yano 2011/05/30
    うん、わかりやすい/『僕と同じような考えなら、以下の疑問を持っていることだろう: もしそんなに単純なら、なんで皆大騒ぎしてるの?』
  • Scala 2.9.0のscala.sys.processパッケージが便利過ぎる件について - kmizuの日記

    先日、Scala 2.9.0 RC4がリリースされ、正式リリース(final)までもうあと少しといった感じになって来ましたが、皆様、いかがお過ごしでしょうか。訓練されたScala使いはRCには手を出さないとも言われますが、私は新し物好きなので、RCにも手を出してしまいます。 それはともかくとして、Scala 2.9.0の最大の目玉は何でしょうか?世間的(どこの世間だというツッコミはおいといて)には並列コレクションではないでしょうか。Scalaの公式サイトでも新機能の紹介で真っ先に挙げられていますし、少なくとも一番注目されているのは並列コレクションでしょう。 並列コレクションは、公式サイトも含め、英語圏のブログなどあちこちで既に紹介されているので、このエントリではあえて、その陰に隠れてあまり注目されないが、なかなか便利なscala.sys.processパッケージについて紹介します。 sca

    Scala 2.9.0のscala.sys.processパッケージが便利過ぎる件について - kmizuの日記
    t_yano
    t_yano 2011/05/13
    Process簡単処理。implicit conversionで、文字列をいきなり実行とかも。
  • 雑談 - noire722 の日記

    t_yano
    t_yano 2011/05/10
    互換性云々とは別の、基礎の言語デザインの違い。
  • 2010-09-14

    少したまったのでまとめてみた。 IterableLike zip(that):自身とthatを先頭から要素ごとにタプルにしたIterableを返す。要素数が異なる場合、余りは捨てられる。要素の多い方に揃える場合は zipAll を使う。 例) "hoge" zip "Scala" zipWithIndex:先頭の要素から順に (hoge,0),(piyo, 1),(foo, 2)...と添字をzipした(タプルにした)Iterableなオブジェクトを返す。 sliding(n,s) sつづつ進みながらn個をとる。 ex) "1234567".sliding(3,2) → Iterator("123", "345", "567") http://bit.ly/bJNfY6 TraversableLike groupBy(f):fの戻り値を元に分類する。ex) List(1,2,3,4).gr

    2010-09-14
    t_yano
    t_yano 2010/09/14
    便利メソッドまとめ
  • Scala Tribes: Welcome, Scala Enthusiast

    Welcome, Scala Enthusiast What is this about?Are you looking for Scala enthusiasm somewhere near? This site is keeping track of all Scala user groups (more commonly referred to as Scala enthusiasts) across the globe. Where's the rest?If you feel there is something missing from the list below, feel free to send a tweet to @scalatribes, and we will update the list. Where are the Tribes?The followi

    t_yano
    t_yano 2010/04/21
    ユーザグループ
  • Scala的な考え方 - Scalaがとっつきにくいと思っている人へ - ( ꒪⌓꒪) ゆるよろ日記

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

    Scala的な考え方 - Scalaがとっつきにくいと思っている人へ - ( ꒪⌓꒪) ゆるよろ日記
    t_yano
    t_yano 2010/03/17
    この記事はすばらしい。
  • Life with Cygwin

    沖ソフトウェア株式会社は、沖通信システム株式会社および株式会社沖インフォテックと平成22年10月1日をもって合併いたしました。新会社名は、株式会社OKIソフトウェアとなります。3社が行っております事業は新会社にて従来通り継続いたします。

    t_yano
    t_yano 2010/01/11
    scalaで簡易Lispを作る話
  • 複数の技術をScalaで統合する - 神崎コンサルノート

    最近少し時間が出来たので要件定義用のツールをまた開発している。 Webベースのクラサバ構成とし、不要なデータ交換を極力避けるためにオブジェクトテクノロジーで通せるアーキテクチャとして以下の構成にした。 クライアント Flex サーバー DB:NeoDatis オブジェクト指向のDB 言語:Scala 通信:BlazeDS Flexとサーバーサイドの通信手段 コンテナ:Jetty HttpServer クライアントはJavaFXが使えればJavaVMで固められるので、可能性を少し探ったが大きな障害が2つあった。 ビジュアルな図をプログラムと統合するツールが無い、イラストレーターやフォトショップからの変換ツールはあるが、どちらのツールも使い慣れていないので使えない。 それでもNetBeansでコードガリガリでも我慢できたが、もう一つの問題が致命的だった。それはGUIコンポーネントが未整備でとて

    複数の技術をScalaで統合する - 神崎コンサルノート
    t_yano
    t_yano 2009/11/03
    scalaですべてを統合する
  • スカラちゃんのお姉さん設定で だれか たのむ - 矢野勉のはてな日記

    Java, 雑談 スカラちゃん じゃばこではマスコット力が足りないので、新しく「Scalaちゃんという頭のいい妹がいるちょっと出来の悪いお姉さんで、でも友達はたくさんいる」という設定のJavaのマスコットを誰か描いてくれ。ください。お願いします。お願いします。 MDD(マスコットドリブン開発)を発展させるべき。

    t_yano
    t_yano 2009/07/15
    そうか...スカラちゃんとジャバにいさま、という設定もありだったか...盲点。
  • Introduction to Perl6

    << 2007/08/ 1 1. [言語] 連載:C# 2.0入門 第3回 新しい繰り返しのスタイル − yield return文とForEachメソッド − @IT 2. [Ruby] Shoes, a Tiny Toolkit for Making Browser-like Things 2 1. [OSS] Download Hadoop at OSCON (Yahoo! Developer Network blog) 2. ウェブキャリアでWebエンジニアとしてのキャリアを磨こう 株式会社ウェブキャリア 3. 先達の業界に学ぶプロジェクトマネジメント 第1回 20年は遅れているITプロマネ:ITpro 4. 横浜 3 1. [OSS] 特別講演:「オープンソース・ソフトウェア開発思想とリアルな地域ネットワークの連 2. [Ruby] トークセッション-5:「世界に広がるオブジェク

    t_yano
    t_yano 2007/08/29
    Ruby開発者が知っておくべきScalaについての5つのこと。
  • artima - First Steps to Scala

    In this article, you'll follow twelve steps that are designed to help you understand and gain some basic skills in the Scala programming language. Scala is a statically typed, object-oriented programming language that blends imperative and functional programming styles. Scala is designed to integrate easily with applications that run on modern virtual machines, primarily the Java virtual machine (

    t_yano
    t_yano 2007/08/19
    Scalaの第一歩。わかりやすい。
  • Coderspiel / The escape hatch

    Programming in Java can be tiresome. The language itself is pedantic, famously knowing better than its users when exception handling code is necessary. But its users are worse, always fretting over their best practices and how to avoid dreaded anti-patterns (as if the word “pattern” applied only to good things). The Java contingent’s corporate mindset, tolerance for unwieldy syntax, and lack of cr

    t_yano
    t_yano 2007/08/12
    WicketコードをScalaで書く。これは面白い。
  • Lift :: Home

    When I decided to put Innovation Games® online, I knew that I couldn't afford a massive development effort. I needed a small, sharp team who could leverage best-in-class tools to help us solve the problems we knew that we'd have to solve in creating a new kind of collaborative gaming experience on the web. David suggested Lift and Scala and initial testing proved that we could realize the develope

    t_yano
    t_yano 2007/08/09
    Scalaで作られたフレームワークLift。フルスタックっぽい。
  • 1