@ryoppy さんに先を越されてしまったが、こちらはマクロじゃなくて線形合同法でやってみます。 定式化 オリジナルのズンドコキヨシは 「ズン」「ドコ」のいずれかをランダムで出力し続けて「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら「キ・ヨ・シ!」って出力した後終了って関数作ったら満点で単位貰ってた ですが、今回は型レベルで実装したいので、もう少し問題を定式化する必要があります。 ここでは、以下をズンドコキヨシと定義して解くことにします。 定数A, C, Mおよび初期値$X_0$, 閾値Tを与え、次の式でズンドコ列{$Zn$}を生成する (線形合同法) $X_{n+1} = (AX_n+C)modM$ に対し、$Xn >= T$ならズン, $Xn < T$ならドコ $Z_{n-3}, Z_{n-2}, Z_{n-1}, Z_{n}$ = ズン, ズン, ズン, ドコをみたす$n$が

ITproの読者には既にご存じの方も多いと思うが、2014年3月に「Java SE」の次期版「Java SE 8」(以下、Java 8)がリリース予定である。国内のエンタープライズ分野では「レガシーJava」が多いとされ、現行版の「Java SE 7」に移行しているユーザーすら少数派と聞く。Java 8といっても遠い話のように感じる方も多いかもしれない。 しかし、Java 8はJavaにとって一つの大きなマイルストーンとなる。関数型プログラミングに由来する「ラムダ(lambda)式」なる構文が導入されるのだ。Javaをよく知る技術者の方の中には、「いや、Java 8のラムダ式は関数型プログラミングのために導入されたのではない」と主張される方がいるだろう。この点については後ほど触れたいと思うが、「ラムダ式が何のために導入されたか」はさておき、ラムダ式という記法そのものが「関数型に由来する」

Kenji Yoshida @xuwei_k 一度公開したあともどんどん書き足したら、結構な量になったでござる(´・ω・`) http://t.co/X7ewxjzJ っていうかHaskellとあまり比較してないし関係なくなってきている・・・ 2012-02-05 04:50:38 Kenji Yoshida @xuwei_k コメントがっ「述語を量化できる論理体系では、同一性という概念をプリミティブに持たなくても 「XとYが等しいとは、全ての述語Pに対してP(X)ならばP(Y)、が成り立つこと」 という形で定義できる」 http://t.co/vKvJT0My 難しいがちょっとだけ理解が深まったような 2012-02-05 13:42:00

https://github.com/scalajp/introduction-to-category-theory-in-scala-jp/wiki に移動しました。こちらは、ミラーとさせていただきます。 これは、Typesafe 社の Director Professional Services である Heiko Seeberger 氏による「Introduction to Category Theory inScala」の翻訳文です。誤訳、誤記などがありましたら、 日本Scalaユーザーズグループの「圏論入門 レビューのお願い」トピックに投稿していただくか、@quassia88 にご連絡ください。 もし君が僕みたいに、以前はJavaディベロッパーで、Scalaのファンになったばかりなら、君は多分遅かれ早かれ、モナドやら関手やらの、圏論の分野からやってきた謎に遭遇するだろう。そうい
Haskell な人がScala について tweet してたので、色々聞いてみたりして、自分の TL でちょっと盛り上がったことのメモ

既に発売されてから1週間以上経過し、色々感想をいただいています。今回の記事では、各種感想に対してコメントをしようと思います。 まず、少なからずあった感想が、「実践編」を期待していたが期待はずれだった、というものです。これについては、がっかりされた方には申し訳ありません、としかいいようがありません。おそらく、期待はずれだと感じられた方は、開発環境やテストツールを使って実際にScalaアプリケーションを作っていく上での詳細なノウハウを期待されていたのかだろうと推測します。これについては、今後執筆の機会があったとき、参考にさせていただきます。 その一方で、「概要編」が読みやすくて、Scala入門者や、Scalaについての知識を整理したい人に向いている、という書評もいくつかいただいています。「概要編」についても、(私だけではありませんが)結構力を入れて書いたので、そういう感想をいただけるのは嬉しい

どうも、鹿島和郎(かしまかずお)です。前回のコラムを書いたのが例の大震災直後だったので、約3ヶ月ぶりとなりますが、皆様はいかがお過ごしだったでしょうか。私の方はというと、地震直後は何となく気分がそわそわして仕事にあまり集中できず、4月くらいからようやく落ち着いてきたと思ったら、今度は仕事で忙しくなってしまい、ずるずると6月になってしまいました(正直ネタが切れてたのもあります)。 さて、突然ですが、この原稿は羽田空港でサンフランシスコ行きの飛行機を待っている間に書き始めたものです。6月2日~3日の2日間、アメリカのスタンフォード大学で開催されたScala Days 2011というイベントに参加するためです。本コラムを読んでくださっている方はご存じかもしれませんが、昨年の9月に思い立ってScalaというプログラミング言語を勉強し始めて半年以上が経ちました。Scalaを勉強し始めて1週間も経た

2011-05-28Scala界の関数型プログラミング一派を代表する論客の一人、@djspiewak が 2010年に書いた “Monads Are Not Metaphors” を翻訳しました。翻訳の公開は本人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2010年12月27日 Daniel Spiewak 著 2011年5月29日 e.e d3si9n 訳 僕は今、約束を破るところだ。およそ三年前、僕は絶対にモナドの記事だけは書かないと自分に約束した。既にモナドに関する記事は有り余っている。記事の数が多すぎてその多さだけで多くの人は混乱している。しかも全員がモナドに対して異なる扱い方をしているため、モナドの概念を初めて学ぼうとする者は、ブリトー、宇宙服、象、砂漠のベドウィン (訳注: アラブ系遊牧民) の共通項を探す努力をするハメになっている。 僕は、この混乱した
秀和システムさんからScalaの本が出ます。発売は多分6月くらいです。 "オープンソース徹底活用"シリーズとして、Scalaをより実践的に使うための色々な事を盛り込みました。タイトルはまだ未定です。 @kmizu, @ryugateITプランニングさんから(@osiire @keigoi 他)、 監修 @keisuke_n というメンバーと俺で共著という形で執筆しました。 4月末に脱稿して今校正作業中です。自分で言うのもアレですけど、今までのScala本とはまったく異なった面白い内容に仕上がったと自負しています。ITプランニングさんには貴重な経験を提供して頂きましたし、@kmizu や @ryugate は精力的に原稿の取り纏めやスケジュールの管理をしてもらいました。俺はほとんど何もできてないんですが、宣伝くらいはさせてもらおうと思ってコレを書いてます。 どんな内容なの? 最初に断ってお
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 (Pip!Gold) have altered them to be more amenable toprogramming inScala. 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
2009年08月20日18:00 カテゴリ書評/画評/品評Lightweight Languages 理想の言語? -書評 -Scalaスケーラブルプログラミング インプレス石橋様より献本御礼。Scalaスケーラブルプログラミング Martin Odersky Lex Spoon Bill Venners / 羽生田栄一監 / 長尾高弘訳 [原著:Programming inScala] 素晴らしい言語の、素晴らしい入門本。 何が素晴らしいかというと、言語の思想が、頭ではなく体で覚えられるようになっていること。これなら言語オタクでなくとも、いや言語オタクでない方が、無名関数やActorの素晴らしさがよくわかる。 それだけに、結構残念である。Scalaが、Java上の言語であることに。本書「Scalaスケーラブルプログラミング」の原題は、「Programming inScala

ついに無制限に解放されたGoogle App Engine/Java。RoRやPHP、もちろんJavaも試そう 4月8日に発表されたGoogle App Engine/Java。利用できるのは1万人までと制限がついていたのですが、それが撤廃されてだれでもサインアップして利用できるようになったと、Google App EngineBlogが伝えています。Google App Engine/Javaは発表されてまだ2カ月と少しですが、はやくもJava VMの上にPHPやRuby、それにJavaのフレームワークなどの実装が行われています。今回はそうしたGoogle App Engine/Javaの活用情報をまとめてご紹介しましょう。Google App Engineの基礎知識ITproで、Google App Engineの入門記事が掲載されています。アカウントの取得方法やSDKの入手方

まめめもより。Scala を勉強してみます。売り文句だけ見てみると 1. 手続き型でも関数型でも書ける 2. 純粋なオブジェクト指向 3. 柔軟な文法で DSL しやすい 4. パターンマッチ 5. 静的型付け (ジェネリクスあり) 6. JVM で動く (Java の資産を活用できる) 以下はチュートリアルやマニュアルを読んで得たいい加減な理解や疑問点を晒すものです。間違ってるところは教えてください。 http://d.hatena.ne.jp/ku-ma-me/20090512/p1Scalaを初めて調べて見た人の多くが疑問に思う点が網羅されていたので、せっかくなので、ツッコミのネタにさせていただきます。 class 以外に object という構文があるらしくて、特異メソッドつきのオブジェクトみたいなものを定義しているっぽい。それがJava の static メソッドに相当する
学び始めて最初っからずーっとなんですが、Scalaが従来の関数型に対してオブジェクト指向とのハイブリッドだと言われるのはどういう意味でなんだろう? という疑問がありました。 関数型言語でありながら、言語にオブジェクト指向機能があり、再代入が可能な変数がある、という機能的特徴だけ取り上げると、OCamlにScalaのような呼び名が与えられず、あくまで関数型と認識されている理由が説明できない。APIのデザインがOOPっぽいか関数型っぽいか、なんてのは、いくらでも作り変えられるから言語の本質じゃないし。なんてことを思っていたのですが、最近謎が解けそうです。 どう書く?.orgのナベアツ算をお題として、ScalaとOCamlを比べてみました。 http://ja.doukaku.org/233/ 「3の倍数と3がつく数字の時だけアホになる」コードを実装して下さい。 また、余裕のあるかたは更に、 「
<< 2009/04/ 1 1. 今期の録画予報 2 3 4 1. 【こ れ は ひ ど い】 Baysick: BASIC DSL 5 6 1. 録画予報の予報 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >> ここは日記でblogではありません.好き勝手に話題や出来事を書いていきます TrackBackをめったに打たないので、何かあればコメントしてください Refererを出さない環境の場合正常に見れないかもしれません /.J: keisuken, mixi: keisuken,Twitter: keisuke_n, Wassr: keisuken,はてな: keisuke_n, Tumblr: keisuken O [Scala][Java] 【こ れ は ひ ど い】 Baysi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く