<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Disqus - Latest Comments for raulraja</title><link>http://disqus.com/by/raulraja/</link><description></description><atom:link href="http://disqus.com/raulraja/comments.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Thu, 11 Oct 2018 16:02:36 -0000</lastBuildDate><item><title>Re: Well-Typed Reflections</title><link>http://lptk.github.io/programming/2018/10/04/comprehending-monoids-with-class.html#comment-4140542987</link><description>&lt;p&gt;This is inspiring. Thanks for the amazing write up and examples. I'm considering porting some of these ideas to Arrow in Kotlin. Intrigued as to what monoid comprehensions may look like in Kotlin. Cheers and Kudos!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Thu, 11 Oct 2018 16:02:36 -0000</pubDate></item><item><title>Re: Java Optionals and Kotlin Nulls</title><link>https://typealias.com/guides/java-optionals-and-kotlin-nulls/#comment-3592510454</link><description>&lt;p&gt;Check out &lt;a href="http://kategory.io/docs/datatypes/option/" rel="nofollow noopener" target="_blank" title="http://kategory.io/docs/datatypes/option/"&gt;http://kategory.io/docs/dat...&lt;/a&gt; for a proper Option type that is safe and adheres to many useful type classes&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Mon, 30 Oct 2017 19:08:49 -0000</pubDate></item><item><title>Re: When old-school developer goes freestyle</title><link>https://scalac.io/freestyle-free-monads-scala-project#comment-3415489923</link><description>&lt;p&gt;Lech, thanks for the post and writting about Freeestyle.&lt;/p&gt;&lt;p&gt;Let me address some of your concerns here.&lt;/p&gt;&lt;p&gt;Regarding IDE support. All FP libs in Scala face the same issue. IntelliJ uses its own parser and not the presentation compiler. Most of the issues you mention are getting fixed as we speak though and libraries that use macro annotations such as Freestyle are getting full IDEA support and code completion as soon as this in progress branch gets merged and released in the new scala IDEA plugin: &lt;a href="https://github.com/JetBrains/intellij-scala/tree/feature/desugarTrees" rel="nofollow noopener" target="_blank" title="https://github.com/JetBrains/intellij-scala/tree/feature/desugarTrees"&gt;https://github.com/JetBrain...&lt;/a&gt; .&lt;/p&gt;&lt;p&gt;Freestyle also comes with `LoggingM` and other effects such as `OptionM` that you may use in place of transformers or nested for comprehensions like in the example in `login`. The code as described there is overly complicated as you would find when not using transformers or in this case effect algebras to deal with absence, error, logging and other common application concerns.&lt;/p&gt;&lt;p&gt;Regarding referring to all your algebras in the uber module, Freestyle can recurse down nested submodules so there is no need to include all of your algebras in your final module. Modules are recursive and when they find another module as dependency they recurse down until they find the Algebras at the leafs of the tree in your application.&lt;/p&gt;&lt;p&gt;You don't need to redefine `FS` in your helper classes. FS is a depedent type that points to the FreeApplicative and `import freestyle._` brings in implicit conversion that can automatically lift `FS` to its monadic representation in for comprehensions. For methods in helper classes where you are manually carrying over the `F[_]` constrain that refers to the manual Coproduct you may just have your methods return `FreeS[F, A]`.&lt;/p&gt;&lt;p&gt;When using for comprehensions with a single binding those are not needed because you may just use `map` instead.&lt;/p&gt;&lt;p&gt;As for the type annotations those are not a Freestyle artifact but probably the variance in your algebras or ADTs though I have not looked closely and attempted to compile the code yet.&lt;/p&gt;&lt;p&gt;If your code examples are open for improvement and you'd like some advice on how to better organize them perhaps with a follow up post or some corrections to this one let me know. I'd love to help.&lt;/p&gt;&lt;p&gt;Thanks again for writing about Freestyle.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Thu, 13 Jul 2017 18:06:41 -0000</pubDate></item><item><title>Re: Free and tagless compared - how not to commit to a monad too early</title><link>https://softwaremill.com/free-tagless-compared-how-not-to-commit-to-monad-too-early#comment-3296417135</link><description>&lt;p&gt;Great article and comparison @Adam Warski  . For what is worth and at the risk of shameless self promotion we are working on Freestyle &lt;a href="http://frees.io/" rel="nofollow noopener" target="_blank" title="http://frees.io/"&gt;http://frees.io/&lt;/a&gt;. It allows for both approaches and performs optimizations you don't get with the manual encoding including a faster Coproduct, automatic stack-safety for tagless, mixed composition of Free and Tagless and removal of all the associated boilerplate.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Tue, 09 May 2017 11:39:01 -0000</pubDate></item><item><title>Re: Functional Error Handling</title><link>https://www.47deg.com/presentations/2017/02/18/Functional-error-handling/#comment-3165071993</link><description>&lt;p&gt;Thanks!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Mon, 20 Feb 2017 04:57:43 -0000</pubDate></item><item><title>Re: Functional Error Handling</title><link>https://www.47deg.com/presentations/2017/02/18/Functional-error-handling/#comment-3162487979</link><description>&lt;p&gt;Thanks Philippe, I'll get those fixed as soon as I get to a computer. &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Sat, 18 Feb 2017 13:48:25 -0000</pubDate></item><item><title>Re: Doobie | Connecting To Database</title><link>https://localhost:9000/doobie/connecting_to_database#comment-2997756428</link><description>&lt;p&gt;See the Getting Started sample sbt file at &lt;a href="http://tpolecat.github.io/doobie-0.3.0/01-Introduction.html" rel="nofollow noopener" target="_blank" title="http://tpolecat.github.io/doobie-0.3.0/01-Introduction.html"&gt;http://tpolecat.github.io/d...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Fri, 11 Nov 2016 17:04:58 -0000</pubDate></item><item><title>Re: FP for the average Joe - III - Applications as Coproducts of Free Algebras</title><link>http://www.47deg.com/blog/fp-for-the-average-joe-part3-free-monads#comment-2923918560</link><description>&lt;p&gt;Thanks! Cheers! &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Wed, 28 Sep 2016 19:35:39 -0000</pubDate></item><item><title>Re: FP for the average Joe - III - Applications as Coproducts of Free Algebras</title><link>http://www.47deg.com/blog/fp-for-the-average-joe-part3-free-monads#comment-2923296563</link><description>&lt;p&gt;Konstantin, thanks for the kind words and for catching the typo. I'll submit a fix soon. The issue with your composition is that you are parameterizing `Application2` to the actual smart constructor class and not the ADT ops. It should be `type Application2[A] = Coproduct[LogOp, C01, A]` instead of `type Application2[A] = Coproduct[LogOps, C01, A]`. That is why the interpreters can't align properly to match the application Coproduct.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Wed, 28 Sep 2016 13:20:30 -0000</pubDate></item><item><title>Re: Scala Exercises</title><link>https://localhost:9000/cats/foldable#comment-2786387578</link><description>&lt;p&gt;Thanks Jeff! &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Sat, 16 Jul 2016 07:04:42 -0000</pubDate></item><item><title>Re: Scala Exercises</title><link>https://scala-exercises.herokuapp.com/shapeless/polymorphic_function_values#comment-2781429010</link><description>&lt;p&gt;You have to fill in all the blanks before running. If the issue still persist please take add an issue to &lt;a href="https://github.com/scala-exercises/scala-exercises/issues" rel="nofollow noopener" target="_blank" title="https://github.com/scala-exercises/scala-exercises/issues"&gt;https://github.com/scala-ex...&lt;/a&gt; thanks!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Wed, 13 Jul 2016 16:16:54 -0000</pubDate></item><item><title>Re: Scala Exercises</title><link>https://localhost:9000/cats/foldable#comment-2781423870</link><description>&lt;p&gt;There is many missing typeclasses and datatypes for cats that are not even in their documentation. Exercises for open source libraries is a work in progress. We are tracking all issues in the Github issue repository for each one of the content exercises. I recommend you post these concerns there so they can be properly addressed either by the maintainers or people that wish to collaborate on improving the exercises &lt;a href="https://github.com/scala-exercises/exercises-cats/issues" rel="nofollow noopener" target="_blank" title="https://github.com/scala-exercises/exercises-cats/issues"&gt;https://github.com/scala-ex...&lt;/a&gt; . thanks!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Wed, 13 Jul 2016 16:13:50 -0000</pubDate></item><item><title>Re: Scala Exercises</title><link>https://localhost:9000/cats/semigroup#comment-2781416796</link><description>&lt;p&gt;Hi Jeff this should have been fixed&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Wed, 13 Jul 2016 16:09:41 -0000</pubDate></item><item><title>Re: Scala Exercises</title><link>https://www.scala-exercises.org/std_lib/traits#comment-2771354877</link><description>&lt;p&gt;It's an issue with the scala compiler. We just deployed a fix that works around it. Hopefully it works now. thanks!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Thu, 07 Jul 2016 20:50:34 -0000</pubDate></item><item><title>Re: Scala Exercises</title><link>https://www.scala-exercises.org/std_lib/partially_applied_functions#comment-2771353769</link><description>&lt;p&gt;We just deployed a workaround for an issue with the scala compiler internal state&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Thu, 07 Jul 2016 20:49:39 -0000</pubDate></item><item><title>Re: Scala Exercises</title><link>https://localhost:9000/std_lib/tuples#comment-2771349124</link><description>&lt;p&gt;It's a scala compiler issue. We just deployed a workaround&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Thu, 07 Jul 2016 20:45:46 -0000</pubDate></item><item><title>Re: Scala Exercises</title><link>https://scala-exercises.herokuapp.com/std_lib/asserts#comment-2771295605</link><description>&lt;p&gt;Internal scala compiler issues, getting workaround as we speak&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Thu, 07 Jul 2016 20:01:55 -0000</pubDate></item><item><title>Re: Scala Exercises</title><link>https://localhost:9000/shapeless/heterogenous_lists#comment-2756349515</link><description>&lt;p&gt;Should be fixed now. Thanks! &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Wed, 29 Jun 2016 04:55:41 -0000</pubDate></item><item><title>Re: Scala Exercises</title><link>https://localhost:9000/cats/semigroup#comment-2756284951</link><description>&lt;p&gt;Hi Felix, feel free to submit an issue in Github and it will be considered as we add new functionality. Thanks! &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Wed, 29 Jun 2016 03:29:31 -0000</pubDate></item><item><title>Re: Std Lib | Ranges</title><link>https://www.scala-exercises.org/std_lib/ranges#comment-2748459153</link><description>&lt;p&gt;We are going to add a dialog that allows you to share and continue once a section is completed. &lt;a href="https://github.com/scala-exercises/scala-exercises/issues/462" rel="nofollow noopener" target="_blank" title="https://github.com/scala-exercises/scala-exercises/issues/462"&gt;https://github.com/scala-ex...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Fri, 24 Jun 2016 11:04:22 -0000</pubDate></item><item><title>Re: Scala Exercises</title><link>https://localhost:9000/std_lib/options#comment-2748210324</link><description>&lt;p&gt;The exercise is now fixed and it uses Double.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Fri, 24 Jun 2016 08:25:42 -0000</pubDate></item><item><title>Re: Scala Exercises</title><link>https://scala-exercises.herokuapp.com/shapeless/polymorphic_function_values#comment-2746095782</link><description>&lt;p&gt;This is taken from the Shapeless Feature list and these are the examples used there. Feel free to send a PR a with improvements. Thanks!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Thu, 23 Jun 2016 07:20:34 -0000</pubDate></item><item><title>Re: FP for the average Joe - II - ScalaZ Monad Transformers</title><link>http://www.47deg.com/blog/fp-for-the-average-joe-part-2-scalaz-monad-transformers#comment-2438128841</link><description>&lt;p&gt;Thanks @Prescott I'll get that fixed&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Sun, 03 Jan 2016 18:48:33 -0000</pubDate></item><item><title>Re: FP for the average Joe - I - ScalaZ Validation</title><link>http://www.47deg.com/blog/fp-for-the-average-joe-part-1-scalaz-validation#comment-2290431005</link><description>&lt;p&gt;@farid gutierrez True, it's for people getting introduced to Scala but also looking into getting acquainted with the more functional approach. After all Scala is a hybrid and many people stick with the basics and more OOP style.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Mon, 05 Oct 2015 04:52:45 -0000</pubDate></item><item><title>Re: FP for the average Joe - I - ScalaZ Validation</title><link>http://www.47deg.com/blog/fp-for-the-average-joe-part-1-scalaz-validation#comment-2290429294</link><description>&lt;p&gt;@Alex T That is great question. You can certainly do that. The point of using Validation is that being an Applicative you get all the abstractions implemented there beyond the example shown here in this article. A few of them illustrated here: &lt;a href="http://eed3si9n.com/learning-scalaz/Applicative.html" rel="nofollow noopener" target="_blank" title="http://eed3si9n.com/learning-scalaz/Applicative.html"&gt;http://eed3si9n.com/learnin...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Raúl Raja</dc:creator><pubDate>Mon, 05 Oct 2015 04:50:18 -0000</pubDate></item></channel></rss>