Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    oyama919
    @oyama919
    乗り換えが遅れ、到着が16時過ぎとなりそうです。
    oyama919
    @oyama919
    到着しました!
    Naoki Aoyama
    @aoiroaoino
    みやしー
    @mi12cp_twitter
    Tagless Finalの資料とか
    みやしー
    @mi12cp_twitter
    さっきの青山さんのコード
    import scala.language.higherKinds
    import scala.concurrent._
    import scala.util._
    
    trait ~>[F[_], G[_]] {
      def apply[A](fa: F[A]): G[A]
    }
    
    val tryToFuture: Try ~> Future = new (Try ~> Future) {
      def apply[A](fa: Try[A]): Future[A] = Future.fromTry(fa)
    }
    
    trait UserRepository[F[_]] { self =>
      def resolveById(id: Int): F[String]
      def mapK[G[_]](fk: F ~> G): UserRepository[G] = {
        new UserRepository[G] {
          def resolveById(id: Int): G[String] = fk(self.resolveById(id))
        }
      }
    }
    
    val userRepoTry = new UserRepository[Try] {
      def resolveById(id: Int) = Try("id: " + id)
    }
    
    val userRepoFuture = userRepoTry.mapK(tryToFuture)
    type =>?[A, B] = PartialFunction[A, B]
    def pf: String =>? Int = ???
    def pf: String =>? Int = {
      case s: String => s.toInt
    }
    Shunji Konishi
    @shunjikonishi
    Passing an explicit array value to a Scala varargs method is deprecated (since 2.13.0) and will result in a defensive copy; Use the more efficient non-copying ArraySeq.unsafeWrapArray or an explicit toIndexedSeq call
    [error]         JObject(list.toArray: _*)
    Naoki Aoyama
    @aoiroaoino
    for {
      i <- Option(1)
      j <- Option(2)
      k <- Option(3)
    } yield i + j + k
    
    Option(1).flatMap(i =>
      Option(2).flatMap(j =>
        Option(3).map(k =>
          i+ j + k)
    ))
    
    import scala.language.higherKinds
    import scala.util.Try
    
    trait Monadic[F[_]] {
      def map[A, B](fa: F[A])(f: A => B): F[B]
      def flatMap[A, B](fa: F[A])(f: A => F[B]): F[B]
    }
    
    implicit class MonadicSyntax[F[_], A](fa: F[A])(implicit M: Monadic[F]) {
      def map[B](f: A => B): F[B] = M.map(fa)(f)
      def flatMap[B](f: A => F[B]): F[B] = M.flatMap(fa)(f)
    }
    
    implicit val optionMonadic: Monadic[Option] = new Monadic[Option] {
      override def map[A, B](fa: Option[A])(f: A => B) = fa.map(f)
      override def flatMap[A, B](fa: Option[A])(f: A => Option[B]) = fa.flatMap(f)
    }
    
    trait Repository[F[_]] {
      def foo(i: Int): F[String]
    }
    class Service[F[_]: Monadic](r: Repository[F]) {
      for {
        i <- r.foo(1)
        j <- r.foo(2)
      } yield i + j
    }
    
    val s: Service[Try] = new Service[Try](new Repository[Option] {
      override def foo(i: Int) = ???
    })
    TSUYUSATO Kitsune
    @MakeNowJust
    今回のScala勉強会で発表したいのですけど大丈夫ですか?
    Naoki Aoyama
    @aoiroaoino
    @MakeNowJust
    ご連絡ありがとうございます!ぜひぜひ!
    Naoki Aoyama
    @aoiroaoino
    TSUYUSATO Kitsune
    @MakeNowJust
    拙作のこのライブラリについて話したいと思います https://github.com/MakeNowJust/dali
    harry
    @harry0000
    TSUYUSATO Kitsune
    @MakeNowJust
    今日話したスライドはちょっと修正してからspeakerdeck辺りに上げます
    TSUYUSATO Kitsune
    @MakeNowJust
    スライド公開しました。 https://speakerdeck.com/makenowjust/dali-introduction
    dali自体もMaven Centeralでreleaseされています。 https://search.maven.org/search?q=codes.quine
    Taketora
    @taket0ra1_twitter
    みやしー
    @mi12cp_twitter
    brew install lampepfl/brew/dotty
    ©︎ureれも:=ネ=>℃🐳
    @curelemonade2_twitter
    val optNum =
      for
        x <- Option(3)
        y <- Option(2)
      yield
        x + y
    Taketora
    @taket0ra1_twitter

    告知です!

    10月ということでScala関西Summit2019が近づいて来ました。

    今年は大阪駅のグランフロント大阪タワーで開催されるとのことで
    遠方からScala関西Summit2019に参加される方に向けて
    梅田駅から徒歩15分の一軒家を借りました。

    10月25日(金)チェックイン 〜 10月27日(日)チェックアウト

    もしScala関西Summit2019に参加されて宿探されている方いらっしゃいましたぜひお声がけください。先着で3名募集しております。

    料金が二泊三日でお一人あたり、5,457円になります。
    ※個別の領収書が出ませんのでご了承ください。

    また10月25日(金)の夜は一軒家でお酒飲んだりできればと思いますんで、宿泊されない方でも遊びに来てください。

    Taketora
    @taket0ra1_twitter
    本日のハングアウトになります!
    https://hangouts.google.com/call/ZHI8fdVpc2yn0_BQxodBAEEM
    Taketora
    @taket0ra1_twitter
    本日のハングアウトになります
    https://hangouts.google.com/call/C7QN0Pa5RNphV43_elV-AEEM
    Taketora
    @taket0ra1_twitter
    本日のハングアウトになります
    https://hangouts.google.com/call/mbsJ1dMshQZMpAkFGafzAEEM
    タケ@ノーアニメノーライフ
    @masayadk1229_twitter
    Sanshiro Yoshida
    @halcat0x15a
    タケ@ノーアニメノーライフ
    @masayadk1229_twitter
    ありがとうございます!
    Taketora
    @taket0ra1_twitter
    本日のハングアウトです
    https://meet.google.com/tmu-ahce-mcs
    Taketora
    @taket0ra1_twitter
    Scalaによるメリットとは?
    言語的な話というよりb文化の話
    Scalaのライブラリーは基本的にイミュータブル
    ミュータブルな奴が外に出ているのはダメだだが、中に閉じて入ればチューニングとしてOK
    Taketora
    @taket0ra1_twitter
    JVMが乗っからない環境がC向け。(Rust)
    Rustはメモリ管理したいところでC++より安全、コンパイル時にメモリが見れる