タグ

ブックマーク / qiita.com/ChenCMD (2)

  • Scala.js で 「import で副作用を起こすライブラリ」 と戦った話 - Qiita

    この記事は Scala Advent Calendar 2023 13 日目の記事です。 はじめに 私的には Scala.js の利点として JavaScript / TypeScript 向けのライブラリを利用しつつ Scala の書き心地を得られる。 純粋関数型プログラミングを容易にできる。 という二点が特に大きいと考えています。 しかし、せっかく Scala で副作用を隔離して気持ちよくコードを書いていても、JS / TS 向けライブラリの中には import するだけで環境変数読み込みや HTTP リクエスト等の副作用が発生するような危険なライブラリが存在します。1 この記事では、そのような 「import で副作用を起こすライブラリ」 をどのように副作用を起こさずに扱うかを書き記したいと思います。 また、この記事では副作用の隔離について Effect runtime として Ca

    Scala.js で 「import で副作用を起こすライブラリ」 と戦った話 - Qiita
    Windymelt
    Windymelt 2023/12/17
    面白い、importするだけで環境変数読み込んでなんかが発生するライブラリ割とよく見るけどやめてほしい!!!!!!
  • Scala + LangoustineでJVMに依存しない言語サーバーを書いた話 - Qiita

    この記事は Scala Advent Calender 2022 20日目の記事です。 はじめに 言語サーバーを Scala で書きたいと思い立ったのですが、lsp4j 等のライブラリを使うと言語サーバーを動作させるために JVM が必要になってしまうため、JVM ではなく nodejs に依存する言語サーバーを Langoustine というライブラリを利用して書いた話です。 Langoustine で言語サーバーを作るにあたって Effect runtime として Cats Effect の IO を使用しています。 ご存知ない方でも雰囲気で読めるとは思いますが、ちょうど1週間前に Scala Advent Calender 2022 13日目の記事として Cats Effect 使ってみたという記事が上がっていますので読んでみると良いかも知れません。 クライアント側実装を含む完全な

    Scala + LangoustineでJVMに依存しない言語サーバーを書いた話 - Qiita
    Windymelt
    Windymelt 2022/12/20
    面白い。依存が少ないとポンッとScala NativeやScalajsに放り込めて良いですよね
  • 1