tag:blogger.com,1999:blog-7964484936470829118.comments2023-06-19T00:13:27.403+09:00Modegramming Styleasamihttp://www.blogger.com/profile/12083671403528595185noreply@blogger.comBlogger35125tag:blogger.com,1999:blog-7964484936470829118.post-51682258117252873062021-03-17T09:17:14.600+09:002021-03-17T09:17:14.600+09:00こんにちは。
よく勉強させていただきます!こんにちは。<br /><br />よく勉強させていただきます!師子乃https://www.blogger.com/profile/16494381059968334220noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-79712549174750807882015-03-30T18:19:15.933+09:002015-03-30T18:19:15.933+09:00お、そうでしたか。
情報ありがとうございます!お、そうでしたか。<br />情報ありがとうございます!asamihttps://www.blogger.com/profile/12083671403528595185noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-71167118945853559092015-03-30T09:41:10.670+09:002015-03-30T09:41:10.670+09:00> traverseSコンビネータはStateモナド用のtraverseコンビネータです。Sc...> traverseSコンビネータはStateモナド用のtraverseコンビネータです。Scalaの型推論が若干弱いためStateモナド専用のコンビネータを用意していますが<br /><br /><br />型推論の関係もありますが、普通に実装したものを使うとstack overflowするので、それを避けるためという意味もありますAnonymoushttps://www.blogger.com/profile/06933613413174746225noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-72664680191821501932014-05-08T11:25:04.405+09:002014-05-08T11:25:04.405+09:00情報ありがとうございます!
TryとFutureの型クラスがあればプログラミングが楽になりそうです。...情報ありがとうございます!<br />TryとFutureの型クラスがあればプログラミングが楽になりそうです。<br />試してみたいと思います。asamihttps://www.blogger.com/profile/12083671403528595185noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-5780194305369817592014-05-07T17:08:49.713+09:002014-05-07T17:08:49.713+09:007.1.0-M4から入ってます
https://github.com/scalaz/scalaz/...7.1.0-M4から入ってます<br /><br />https://github.com/scalaz/scalaz/blob/v7.1.0-M6/core/src/main/scala/scalaz/std/Future.scala<br /><br />また、scalaz7.0.x系の場合は、別ライブラリですがこっち<br />https://github.com/typelevel/scalaz-contrib/blob/v0.1.5/scala210/main/scala/Future.scala<br />https://github.com/typelevel/scalaz-contrib/blob/v0.1.5/scala210/main/scala/Try.scala<br />にFutureとTryのインスタンスありますAnonymoushttps://www.blogger.com/profile/06933613413174746225noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-68647688863799883502012-12-15T00:46:46.341+09:002012-12-15T00:46:46.341+09:00手元のWindows XPマシンにJava SE 6u38をインストールしてPATHをJava SE...手元のWindows XPマシンにJava SE 6u38をインストールしてPATHをJava SE 6側に指定してみたところ、上述の例外は発生せずインストールが終了しdoxコマンドも例外を吐かずに立ち上がりました。<br />その後にJava SE 7u10をインストールしてPATHをJava SE 7側に指定してdoxコマンドを実行したところ、上述の例外が発生しました。<br /><br />現象的には、Javaのバージョンに依存があるようです。ただ、例外が起きたjava.lang.ComparableインタフェースはJava SE 6と7との間に差異はありませんでした(JDK付属のソースを比較したところ)。<br /><br />torutkhttps://www.blogger.com/profile/01782601016806299861noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-76852002728681360502012-12-13T04:38:40.570+09:002012-12-13T04:38:40.570+09:00すみません。こちらで発生していない現象なので時間がかかるかもしれませんが調べてみます。すみません。こちらで発生していない現象なので時間がかかるかもしれませんが調べてみます。asamihttps://www.blogger.com/profile/12083671403528595185noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-44272442231907789892012-12-11T20:15:50.138+09:002012-12-11T20:15:50.138+09:00再度実行してみましたが、同様のエラーが発生しました。
例外スタックトレースは省略せず載せました。
...再度実行してみましたが、同様のエラーが発生しました。<br />例外スタックトレースは省略せず載せました。<br /><br />C:\Users\toru>cs asami/dox<br />Getting org.smartdox smartdoxprocessor_2.9.1 0.3.0a ...<br />:: retrieving :: org.scala-sbt#boot-app<br /> confs: [default]<br /> 33 artifacts copied, 0 already retrieved (37150kB/105ms)<br />java.lang.ClassCastException: org.goldenport.service.ShellCommandServiceCall cannot be cast to java.lang.Comparable<br /> at java.util.concurrent.PriorityBlockingQueue.siftUpComparable(Unknown Source)<br /> at java.util.concurrent.PriorityBlockingQueue.offer(Unknown Source)<br /> at org.goldenport.service.GServiceCallQueue.enqueue(GServiceCallQueue.scala:17)<br /> at org.goldenport.session.SessionServiceCallEngine.addServiceCall(SessionServiceCallEngine.scala:18)<br /> at org.goldenport.session.SessionServiceCallEngine.execute(SessionServiceCallEngine.scala:34)Error during sbt execution: java.lang.ClassCastException: org.goldenport.service.ShellCommandServiceCall cannot be cast to java.lang.Comparable<br /><br /> at org.goldenport.session.GSession.execute(GSession.scala:28)<br /> at org.goldenport.Goldenport.executeShellCommand(Goldenport.scala:254)<br /> at org.smartdox.processor.SmartDox.executeShellCommand(SmartDoxProcessor.scala:28)<br /> at org.smartdox.processor.AppMain.run(SmartDoxProcessor.scala:37)<br /> at org.smartdox.processor.AppMain.run(SmartDoxProcessor.scala:33)<br /> at xsbt.boot.Launch$.run(Launch.scala:54)<br /> at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:43)<br /> at xsbt.boot.Launch$.launch(Launch.scala:68)<br /> at xsbt.boot.Launch$.apply(Launch.scala:14)<br /> at xsbt.boot.Boot$.runImpl(Boot.scala:25)<br /> at xsbt.boot.Boot$.main(Boot.scala:15)<br /> at xsbt.boot.Boot.main(Boot.scala)<br /><br />torutkhttps://www.blogger.com/profile/01782601016806299861noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-42133856649737134352012-12-10T22:12:35.759+09:002012-12-10T22:12:35.759+09:00すみません。設定が間違っていたようです。
修正しましたので、再度トライアルをお願いします。すみません。設定が間違っていたようです。<br />修正しましたので、再度トライアルをお願いします。asamihttps://www.blogger.com/profile/12083671403528595185noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-68883654653020434242012-12-09T11:02:53.500+09:002012-12-09T11:02:53.500+09:00インストール(cs asami/dox)時、およびdox実行時、次の例外が発生しました。
環境は、W...インストール(cs asami/dox)時、およびdox実行時、次の例外が発生しました。<br />環境は、Windows 7(64bit)/JDK7u9(64bit), conscript-0.4.1 です。<br /><br />java.lang.ClassCastException: org.goldenport.service.ShellCommandServiceCall can not be cast to java.lang.Comparable<br /> at java.util.concurrent.PriorityBlockingQueue.siftUpComparable(Unknown Source)<br /> at java.util.concurrent.PriorityBlockingQueue.offer(Unknown Source)<br /> at org.goldenport.service.GServiceCallQueue.enqueue(GServiceCallQueue.scala:17)<br />torutkhttps://www.blogger.com/profile/01782601016806299861noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-89454347295836041782012-11-16T12:36:40.984+09:002012-11-16T12:36:40.984+09:00モナドの定義として、一時的にではあれflatMap内部で、型がGenTraversableOnceを...モナドの定義として、一時的にではあれflatMap内部で、型がGenTraversableOnceを受け入れるようになっているのは、確かにモナドのbindとして正しくはないです。<br />ただ、flatMapはGenTraversableOnceのCanBuildFrom型クラスのインスタンスを要求するようになっているので、最終的な結果型は保存されますAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-64620387554820834102012-11-16T12:29:56.545+09:002012-11-16T12:29:56.545+09:00ScalaのflatMapも型が合わないとコンパイルエラーです。
flatMapの定義は以下です。
...ScalaのflatMapも型が合わないとコンパイルエラーです。<br />flatMapの定義は以下です。<br /><br /> def flatMap[B, That](f: A => scala.collection.GenTraversableOnce[B])(implicit bf: generic.CanBuildFrom[Repr,B,That]): That <br /><br />冒頭の例ではOptionがGenTraversableOnceにimplicit conversionされるので、たまたま型があってなくても動いているように見えるだけです。<br />例えば、以下の例ではエラーです。<br /><br />scala> Some(1).flatMap{ _ => List(1) }<br />:8: error: type mismatch;<br /> found : List[Int]<br /> required: Option[?]<br /> Some(1).flatMap{ _ => List(1) }<br /> ^<br />List[Int] <: Option[?]?<br />false<br /><br />scala> Some(1).toList()<br />Unit <: Int?<br />false<br />:8: error: not enough arguments for method apply: (n: Int)Int in trait LinearSeqOptimized.<br />Unspecified value parameter n.<br /> Some(1).toList()<br /> ^<br /><br />Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-32780005085535545982012-10-30T09:06:32.962+09:002012-10-30T09:06:32.962+09:00scalaz の version 表記が間違ってませんか?scalaz の version 表記が間違ってませんか?Anonymoushttps://www.blogger.com/profile/06933613413174746225noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-66161575059436811662012-09-03T10:44:59.868+09:002012-09-03T10:44:59.868+09:00あ、Finagleについては前回の記事で触れられていたのですね、失礼しましたあ、Finagleについては前回の記事で触れられていたのですね、失礼しましたAnonymoushttps://www.blogger.com/profile/06933613413174746225noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-68958728835075499702012-09-03T10:42:54.618+09:002012-09-03T10:42:54.618+09:00すいません、慌てて書いたら、なぜか呼び捨てになってしまいました
s/浅海/浅海さん
すいません、慌てて書いたら、なぜか呼び捨てになってしまいました<br /><br />s/浅海/浅海さん<br /><br />Anonymoushttps://www.blogger.com/profile/06933613413174746225noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-85696942882365837502012-09-03T10:41:53.217+09:002012-09-03T10:41:53.217+09:00はい。その点は認識していますよ。
前回の記事でもその点には言及しています。
今回の記事の該当部分は、...はい。その点は認識していますよ。<br />前回の記事でもその点には言及しています。<br />今回の記事の該当部分は、少なくてもScalazのPromiseは取り込んでいるね、という意味で、他のフレームワークも取り込んでいる可能性はあるけど未確認です、ということです。asamihttps://www.blogger.com/profile/12083671403528595185noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-23772272046315027042012-09-03T10:29:55.640+09:002012-09-03T10:29:55.640+09:00> いずれもScalaz Promiseの特徴的な機能で、Scalaz Promiseの機能を...> いずれもScalaz Promiseの特徴的な機能で、Scalaz Promiseの機能をScala本体が取り込んだのではないかと思います。(他のフレームワークからも色々機能を取り込んでいる可能性がありますが未確認です。)<br /><br /><br />SIP14のdocument<br />http://docs.scala-lang.org/sips/pending/futures-promises.html<br />を見ると、Scalazへの言及があるので、もちろん影響は受けているとは思いますが、「Scalazだけ」ではないというか、他のライブラリの影響もある程度存在するかと思います。そもそもSIP14のFitureの統一の目的が「様々なライブラリにfitureがあるが、かなり似ているし、統一したほうがメリットがある」<br />という感じでしょうから。SIP14のdocumentには浅海が挙げていない、twitter社のFinagleのFutrueについても触れらています。<br />Anonymoushttps://www.blogger.com/profile/06933613413174746225noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-71253470225310580202012-08-28T07:46:42.039+09:002012-08-28T07:46:42.039+09:00情報有り難うございます。
確かにMaxOption,MinOptionのaliasはありますね。訂正...情報有り難うございます。<br />確かにMaxOption,MinOptionのaliasはありますね。訂正しておきます。asamihttps://www.blogger.com/profile/12083671403528595185noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-53378955032808010552012-08-28T06:02:29.266+09:002012-08-28T06:02:29.266+09:00> OptionのTags.Maxでは、FirstOptionに対応する型やfirstメソッド...> OptionのTags.Maxでは、FirstOptionに対応する型やfirstメソッドに対応するメソッドはないようです。<br /><br />First,Last,Max,Min に関して、package object にすべて alias が定義されてます<br /><br />https://github.com/scalaz/scalaz/blob/v7.0.0-M2/core/src/main/scala/scalaz/package.scala#L156-159Anonymoushttps://www.blogger.com/profile/06933613413174746225noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-51324106245151059122012-05-04T09:56:51.656+09:002012-05-04T09:56:51.656+09:00PlayのScala向けフレームワークのAPIを、DSL的に見るかどうかは主観によると思いますので、...PlayのScala向けフレームワークのAPIを、DSL的に見るかどうかは主観によると思いますので、伝統的なAPIと見えるのであればそれでよいと思います。<br /><br />フレームワーク開発者は、Scalazを採用するかどうかは別にして、使いこなすスキルは必要になると思いますよ。今風の関数型プログラミングのエッセンスが詰まってるので。このあたりの技術を使わないとDSL作るときの選択肢が狭くなります。asamihttps://www.blogger.com/profile/12083671403528595185noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-6631981901848221312012-05-03T18:14:51.043+09:002012-05-03T18:14:51.043+09:00>PlayやScaldingといったDSL
Play は DSL ではなくフレームワークだと思...>PlayやScaldingといったDSL<br />Play は DSL ではなくフレームワークだと思うのですが、どういう意図があるのでしょうか。<br /><br />>フレームワークのAPIをDSLで提供する場合には、Scalazを使いこなすスキルが必要になります。<br />これはどのような理由で必要になるのでしょうか。lyrical_logicalhttps://www.blogger.com/profile/13529132207273082986noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-37069908490051589782012-04-05T05:15:33.387+09:002012-04-05T05:15:33.387+09:00この方法ではうまくいかないようです。この方法ではうまくいかないようです。asamihttps://www.blogger.com/profile/12083671403528595185noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-13888441672671674902012-03-05T12:03:22.225+09:002012-03-05T12:03:22.225+09:00圏論でのプログラミングというと,私が真っ先に連想するのはこのあたりです。
『CiNii 論文 - ...圏論でのプログラミングというと,私が真っ先に連想するのはこのあたりです。<br />『CiNii 論文 - カテゴリー理論的関数型プログラミング言語』 http://ci.nii.ac.jp/naid/110003743564<br />『Categorical programming with inductive and coinductive types』 http://www.cs.ut.ee/~varmo/papers/thesis.pdf<br /><br />いろんな応用がありますから,視野を広く保ちたいものですね。しゃみの(syamino)https://www.blogger.com/profile/13918818332423635029noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-3060027734732925242012-03-04T01:07:12.056+09:002012-03-04T01:07:12.056+09:00https://twitter.com/#!/halcat0x15a/status/17597387...https://twitter.com/#!/halcat0x15a/status/175973874968694784<br /><br />https://twitter.com/#!/halcat0x15a/status/175974439589122048Anonymoushttps://www.blogger.com/profile/06933613413174746225noreply@blogger.comtag:blogger.com,1999:blog-7964484936470829118.post-11819131100535513002012-03-04T01:01:46.401+09:002012-03-04T01:01:46.401+09:00このコメントは投稿者によって削除されました。Anonymoushttps://www.blogger.com/profile/06933613413174746225noreply@blogger.com