タグ

Functional-ProgrammingとClojureに関するmasa8aurumのブックマーク (6)

  • Functional Design Patterns

    Clojure's Journey: From Simplicity to Enterprise Maturity Jordan Miller discusses the evolution of the Clojure ecosystem, from Rich Hickey's initial vision tackling complexity to its current status as a mature enterprise solution. He explains key philosophies, highlights pivotal moments like the "Simple Made Easy" talk, and showcases the vibrant Clojure community and its innovative tools.

    Functional Design Patterns
    masa8aurum
    masa8aurum 2020/12/31
    関数型の設計パターン(動画+スライド)
  • Clojure + core.async による非同期&並列プロセスの世界 - 紙箱

    core.asyncによる非同期プログラミング core.async はClojure用の、事実上標準の非同期プログラミングのライブラリです。 core.asyncの一番わかりやすい説明は、「Go-langのchannelのClojure版」という言い方でしょう。goマクロによってgo-blockを作り、そのブロック内が非同期に動きます。このブロックが常駐すれば、軽量プロセスというやつになります。プロセス同士のやりとりをする口として、チャネル(channel)があります。core.asyncを使ったプログラムでは、チャネルへの入出力を介して非同期軽量プロセスにデータを処理させることで、全体のシステムを作り上げます。 goマクロはステートマシンを作り、チャネルへの入力があるたびにマシンが1回転します。この一回転時に、チャネルを待ち受けていたgoブロックにスレッドが割り当てられ、次のチャネル入

    Clojure + core.async による非同期&並列プロセスの世界 - 紙箱
    masa8aurum
    masa8aurum 2020/11/28
    わからんのでまたいつか読む。 / Clojure の core.async を使うと、非同期処理のパイプラインを作れる / > go(非同期ブロック), channel(キュー), transducer(変換処理), pipeline(処理の並列実行)
  • Clojureの設計に見る"simple"という考え方 Simple Made Easyを解説 Part2 | ログミーBusiness

    2019年7月29日、Opt Technologiesが主催するイベント「Fun Fun Functional (2) 関数型言語Lightning Talks!!」が開催されました。関数型プログラミングについて楽しく学び、知見を共有することを目的に開催されている勉強会。今回は6名のエンジニアが、関数型プログラミング言語にまつわるユニークな発表を行いました。プレゼンテーション「"Simple Made Easy" Made Easy 」に登壇したのは、lagenorhynque氏。講演資料はこちら なぜ"simple"を重視するのかなぜsimpleが大事なのかと言うと、人間には限界があるからです。わけがわからないものに対して信頼ができないので理解をしながら進める必要がありますし、能力的に普通の人は5個ぐらいはできても、10個や20個のものは同時に考えられません。なので、絡まったものを一緒

    Clojureの設計に見る"simple"という考え方 Simple Made Easyを解説 Part2 | ログミーBusiness
    masa8aurum
    masa8aurum 2019/10/04
    complect=絡まる。 / OOは状態&「どれとどれ」という識別&値、の3要素がcomplect / 変数は値と時間がcomplect / 継承は複数の型がcomplect。ad-hoc多相はsimple / actorは操作する側と操作対象がcomplect
  • シンプルさの必要性 · eed3si9n

    2013-06-24 2012年4月23日にテキサスの Austin で行われた RailsConf 2012 での Rich Hickey (@richhickey) さんによる基調講演、Simplicity Matters を書き起こして翻訳しました。 Rich Hickey さんは Clojure や Datomic の作者です。 この翻訳は Creative Commons Attribution ShareAlike 3.0 ライセンスに基いて公開します。 Rich Hickey 講演 e.e d3si9n 訳 談: こんにちは。ご招待いただきありがとうございます。 聞く所によると RailsConf はいつもコミュニティーからかなり外れた人を選ぶらしく、今回は僕ということになりました。 僕の電話ボックスは外に駐車してあります。(会場、笑) だけど、今日は言語の壁を越える話題を持

    masa8aurum
    masa8aurum 2018/08/24
    Clojure の作者 Rich Hickey の“Simplicity Matters”の書き起こし翻訳。元講演は https://youtu.be/rI8tNMsozo0
  • Clojureの世界観 - 紙箱

    ブログを書くのは久々です。 京都で小さな会社をやっていて、自社開発でClojureとClojureScriptを使用し続けて、概ね3年くらい使い続けています。その過程で、Clojure自体にも小さいながらソースレベルの貢献ができたりして、オープンソースプロジェクトとしても面白かったのですが、もともとオブジェクト指向言語ばかりやってきたところから、Clojureという、まったくオブジェクト指向言語ではない言語に飛び込んだ経験や考えたことなんかを、ブログにストックすると、何か他の人にも役立つこともあるかと思って、ブログに書くことにしました。 このところずっと、自社の仕事とは別に、恵比寿にある 株式会社ユーザベース さんのお仕事に参加しています(私が法人を作る前からなので、もう5、6年くらいになります)。そちらの方でもClojureやシステム設計の話(プレゼンなど)などを何度かさせてもらったり、

    Clojureの世界観 - 紙箱
    masa8aurum
    masa8aurum 2018/07/06
    事実上ほとんどのデータがSeqまたはAssociativeで表現される(recordも) / 多態は関数ディスパッチ(関数を後から多態に切り替え可能)
  • Clojureと「Simple Made Easy」 - 紙箱

    プログラミング言語というのは、その作者が理想とする世界に合うようにデザインされているものだから(みんな信じないかもだけど、Javaですらそうなのですよ)、Clojureのことを理解するには、作者であるRich Hickeyのプログラミング観を知るのが手っ取り早いでしょう。 Rich Hickeyはさまざまなプレゼンテーションを発表していて、多くはネットで見られます。示唆に富んで皮肉も効いてておもしろいので、ファンも多くて、彼の独特の髪型(往年のロック歌手風)からか、「Rich Hickey’s Greatest Hits」というブログ記事もあったりします(プレゼンテーション動画へのリンク集です)。 ただ、彼のプレゼンテーションは難解な英語も出てきて、私のようなリスニング苦手人間には音声だけで聴くのは難しいです。そういう人は国外でも多いからか、有志が書きおこし(transcript)を公開し

    Clojureと「Simple Made Easy」 - 紙箱
  • 1