Scala
表題の通り。調べたら色々興味深いのでメモとして残そうと思う。文章がぶっきらぼうなのは許して。 Playframework では、 Action と Action.async を切り替えることにより、 Future を利用したノンブロッキング処理を Controller 内部にで行うことができる。…
ScalaMatsuri2019も3日間の行程を終え、大盛況のうちに幕を閉じました。 今年は、カメラマンとしての参加となりました。というか、毎回カメラマンしているのですが、例年はメインで写真撮影をして下さる方がいて、自分は「サブ的に適当に写真を撮る」という…
Scalaには、非同期実行をサポートするために Future というクラスがあります。 正確にはJavaにも同名の仕組みがあるのですが、それをちょっと便利にした感じのものです。 Futureの仕組みを簡単に言うと、関数を渡すと別のThreadでその関数を実行してくれるも…
久しぶりに、#rpscalaにて発表をしました。 最近TLなんかでfoldの話しが盛り上がっていたので、foldについて簡単にまとめたスライドです。 fold沼について あまり、深みのある話しは無いのですが、Markdownで書いたのでブログにも転載しておこうと、下記に貼…
みなさん、輪廻してますか? 「輪廻とはなんなのでしょうか?」という話題にも興味があるのですが、それは今回は置いといて、この話は完全にネタです。^^; まず、輪廻と一口に言っても、仏教だけの用語ではなく、インド方面に広く浸透している考え方なので、…
この記事は、Scala Advent Calendar 2016の18日目の記事になる予定です。 ふふふ。順調に3日間途切れてる。^^; ということで、4日目の僕が颯爽と記事を透過できればカッコ良かった(?)んですが、順調に何も書いていません。 掲題の通り、久し振りに完全自己満…
愚痴です。 そして、久しぶりにプログラミングに関するネタです。 最近、Reactを使ってみているのですが、下記のようなコードを見かけました。 <Hoge {...this.props} /> この、(...)が、構文なのか例文なんで処理を省略しているのかわからずに悩んだのですが、頼みの綱のGoogle様は</hoge>…
/* 注意!! この記事は、Scalaのプログラミングについて書かれています */ 麗しき、@ponkotuy氏の作ったhttp-client-wrapperを改造して、Stateモナドを利用してみました。 使い勝手は、むしろ悪化した模様。(^^; 元プログラムの解説記事はこちらです。 qiita.…
ScalaMatsuriとは、Scala好きのScala好きによるScala好きのための祭典です。 Scalaとはプログラミング言語です。 そして、ScalaMatsuriは、プログラミング言語のカンファレンスとしては、国内最大級の催し物です。 スタッフと来場者合わせて600名ほどが集ま…
ScalaMatsuriとは、Scala好きのScala好きによるScala好きのための祭典です。 Scalaとはプログラミング言語です。 そして、ScalaMatsuriは、プログラミング言語のカンファレンスとしては、国内最大級の催し物です。 スタッフと来場者合わせて600名ほどが集ま…
Scala Advent Calendar 2015(Qiita版)14日目の記事です。 昨日の記事はこちらです。 d.hatena.ne.jp それでは・・・。 毎年、苦し紛れの記事を上げるのですが、今年は特にネタが思いつかないので、マサカリ覚悟で苦し紛れの妄言を吐きます。 タイトルは、Sca…
前回: 「関数プログラミング 珠玉のアルゴリズムデザイン」をScalaで実装してみる 第5章 - セカイノカタチ 関数プログラミング 珠玉のアルゴリズムデザイン作者: Richard bird,山下伸夫出版社/メーカー: オーム社発売日: 2014/11/12メディア: 単行本(ソフ…
前回: 「関数プログラミング 珠玉のアルゴリズムデザイン」をScalaで実装してみる 第4章 - セカイノカタチ 関数プログラミング 珠玉のアルゴリズムデザイン作者: Richard bird,山下伸夫出版社/メーカー: オーム社発売日: 2014/11/12メディア: 単行本(ソフ…
先日、foldの融合則についての記事を書きました。 foldの融合則について #haskell - セカイノカタチ こちらHaskellで書いたのですが、Scalaに書き直してみました。 foldrの融合定理 関数プログラミング入門 ―Haskellで学ぶ原理と技法―作者: Richard Bird,山…
前回: 「関数プログラミング 珠玉のアルゴリズムデザイン」をScalaで実装してみる 第3章 その2 - セカイノカタチ さて、時間が開いてしまいましたが、第4章行きたいと思います。 関数プログラミング 珠玉のアルゴリズムデザイン作者: Richard bird,山下伸…
(2021/2/23 加筆訂正。文章を見直して現在の結論を追記しました。文意は変わっていません) 最近、オブジェクト指向と関数型を比べる人が多くなってきたみたいなんで、自分の考えをまとめてみます。 まず、本件ですが、壮大なテーマだと思いますので、全体を…
今、関数型言語の流行により、プログラムを純粋に書くことが求められています*1。 そういわれて、「わかった、副作用のないプログラムを書くぞ!」と勇んで書き始めるとすぐにわかりますが、これがなかなか簡単なものではありません。 純粋な関数を定義する…
さて、前回の続きです。 「関数プログラミング 珠玉のアルゴリズムデザイン」をScalaで実装してみる 第3章 その1 - セカイノカタチ この章では、f (x,y) == z を満たす(x,y)を全て挙げる関数の設計について話題にしています。 一つの解き方として、鞍型探…
前回: 「関数プログラミング 珠玉のアルゴリズムデザイン」をScalaで実装してみる 第2章 - セカイノカタチ 関数プログラミング 珠玉のアルゴリズムデザイン作者: Richard bird,山下伸夫出版社/メーカー: オーム社発売日: 2014/11/12メディア: 単行本(ソフ…
先日、 Scala Advent Calendar 2014 - Qiita で「関数プログラミング 珠玉のアルゴリズムデザイン」の第1章をScalaで実装してみましたが。味をしめて第2章もやってみたいと思います。 関数プログラミング 珠玉のアルゴリズムデザイン作者: Richard bird,山…
Scala Advent Calendar 2014 - Qiita14日目の記事です。 昨日の記事は、 @gakuzzzz さんの play2-auth で OpenID とか Twitter OAuth とか OAuth2.0 とか でした。 さて、今日のネタです。。。 関数プログラミング 珠玉のアルゴリズムデザイン作者: Richard …
こんな記事に触発されて。富士通、業務プログラム開発支援ツール「Interdevelop Designer」を販売開始:ITpro Active・・・未だにこんな事やってるのか。正直、驚きと失望と倦怠感と怒りと哀れみと嘲笑がないまぜに押し寄せて、(・_・)こんな顔になりました。S…
前置き みなさん、モナドって、わかりにくいですよね。 なので、図解することで解りやすく説明できるんじゃないかと、何回かモナドの図解を試みてきたのですが、むしろ複雑さが強調されてしまい残念な感じになってしまいました。過去の図解 モナドってなんだ…
さて、前回まででimplicit parameterを使ってHaskellの型クラス的なものを実装する方法は理解できた。Haskellの型クラスとScalaのimplicit parameterの対応について2しかし、最後にハットリクンのトホホ落ちよろしく、コンパイルエラーが出て解説を終了して…
前回の続き。Haskellの型クラスとScalaのimplicit parameterの対応について 既存の型クラスに新たなインスタンスを追加する 前回の記事で、最終的に僕の中でimplicit parameterがスッキリとした形で記述出来たので大変満足している。| ´ - ω - ` |しかし、Ha…
Scalaには、「implicit parameter」という機能があります。これは、メソッドに対して暗黙的にパラメーターを付与するものです。この機能自体の説明は割愛します。暗黙的に知っているものとして以下の記事を書きます。で、この機能、どうやらHaskellの型クラ…
この記事は、Play or Scala Advent Calendar 2012 11日目の記事です。 「急にScalaのprojectツリーを作らなきゃいけない!」ってこと、よくありますよね? 僕は、そんな時このやりかたで、ささっとprojectを作っています。 この間、ジャック・バウアーに拳銃…
さて。会社の開発合宿にいってきました。(合宿の様子)それで、僕のテーマは、Websocketにしてみたのですが、色々ハマった上で、おもしろいものができたっぽいので、エントリーしようかと思いました。「websocket scala」でggrとでてくるid:yuroyoroさんの日…
なんか、よく解らないくなったので書き捨て気味。Scalaのfor文に謎の制限があった気がしたので調査してみた。 for{ x<-List(1) x<-List(x) x<-List(x) x<-List(x) x<-List(x) x<-List(x) x<-List(x) x<-List(x) x<-List(x) x<-List(x) x<-List(x) x<-List(x)…
このエントリーは#scalaadventcalendarの一日目です。ScalaでProcessingをして、さらにOpenGLも使っちゃうための方法。qtamakiは、Eclipse + Scala IDE + Mavenを使っています。Eclipse 3.7.1 Scala IDE - http://download.scala-ide.org/releases/2.0.0-bet…