並び順

ブックマーク数

期間指定

  • から
  • まで

201 - 240 件 / 701件

新着順 人気順

haskellの検索結果201 - 240 件 / 701件

  • 関数型Pythonアンチパターン

    From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE

      関数型Pythonアンチパターン
    • HaskellでS3にファイルアップロードしてみた | DevelopersIO

      はじめに あけましておめでとうございます。CX事業本部の吉川です。 年末年始連休は全体的にダラダラとした寝正月を過ごしていましたが、ちょっとくらい何かやろうということで自由研究として「Haskell+AWS」に取り組んでみました。 ずっとHaskellに興味があり、すごいH本と『入門Haskellプログラミング』は買ったのですが、すっかり積んでしまっていました。 そんなわけで、勉強しようしようと思いつつ手を出せていなかったのでこの機会にえいやで始めました。 今回は手頃なところでS3へのファイルアップロードを行います。 GitHubリポジトリ まずは完成物から。 stack run でS3バケットに10MBと100MBのダミーファイルをアップロードします。 https://github.com/dyoshikawa/amazonka-s3-playground S3バケットとIAMユーザ作成

        HaskellでS3にファイルアップロードしてみた | DevelopersIO
      • Guardian で巨大 Haskell レポジトリの依存関係を正気に保つ

        TL;DR 巨大なモノレポはパッケージ間の依存関係に気を付けないと、変更が思わぬ所に波及して保守が大変だって? DeepFlow 株式会社製ツール guardian を使って、Haskell モノレポのパッケージ間の依存関係が抽象化や意味論的な境界を侵犯していないかチェックしよう! この度 OSS 化したので、巨大 Haskell モノレポの依存関係管理に困っている皆さんは是非試してみてください。 GitHub Action もあるよ。 はじめに - 巨大モノレポを保守する悲しみ 大量のパッケージから成るモノレポ[1]を管理するのが大変だというのは、あらゆる言語で共通の悩みであろうと思われる[2]。 こうしたモノレポというのは、「CIで全部ビルドできるようにしておく」というだけでは不十分で、ある箇所への変更が必要以上の部分のリビルドを惹き起こさないようにしないと、開発サイクルが全然回らずに

          Guardian で巨大 Haskell レポジトリの依存関係を正気に保つ
        • 3D Model in Haskell

          3D Model in Haskell Haskellで3Dモデルに触れる

            3D Model in Haskell
          • プログラミングHaskell第2版を翻訳しました - あどけない話

            プログラミングHaskell第2版の翻訳とレビューが完了し、ラムダノートから発売されました。レビューしてくださった5名の方に、改めてお礼を申し上げたいと思います。閉じられたissueは177個ですが、複数の指摘を含むissueもあるので、大雑把に言って250箇所ぐらいは改善されたのだと思います。 初版を買ってない方や、これからHaskellに入門したい人には、手放しでお勧めできます。この記事では、初版を持っているけど、第2版を買うべきか迷っている人に、どこが変わったのか説明します。 書体 コードが数学風の書体から、ブロック体になりました。Haskellに関する論文は、数学風の書体を使う伝統があって初版で採用されていましたが、これが一番不評でした。第2版では、奇を衒らわずに普通になりましたので、安心して読めると思います。 利用するシステム 利用するシステムが、HugsからGHCになりました。

              プログラミングHaskell第2版を翻訳しました - あどけない話
            • Haskellと余代数(Coalgebra) - 朝日ネット 技術者ブログ

              ここではHaskellの中級者向けのトピックを簡単に取り上げたいと思います。 今回は余代数(Coalgebra)についてです。Haskellを書いていると『余(なんとか)』という言葉をみかけることがあります。これは英語の接頭辞 Co- の訳で、ここでは代数(Algebra)の双対(Dual)という意味で余代数と呼ばれています。 さてHaskellやOCamlのデータ型は一般に代数的データ型(Algebraic data type)と呼ばれます。このデータ型にパターンマッチングを加えて、(オブジェクト指向言語などと比較したときの)関数型言語の特徴と紹介されることも多いと思います。実はこのデータ型にはもともと余データ(Codata)と呼ばれるような相方がいたのですが、人類が扱うには早すぎたのか、データ型に比べると余データは長らく影の存在でありました(ちなみに余データは口語上はコデータと呼ぶかも

                Haskellと余代数(Coalgebra) - 朝日ネット 技術者ブログ
              • 今日は Haskell Day 2019 の日です - 北海道苫小牧市出身の初老PGが書くブログ

                咳が止まらない状態で非常に厳しいですが、来ていますので、自分用のメモを残しておきます。 関数型(function type)を見つめるプログラミング / 山下さん 関数の型、 Haskell では第一級 リスト型 a が型なら [a] も型 タプル a b が型なら (a, b) も型 タプル a b が型なら a -> b も型 a が domain 、 b が codomain 高階関数型 domain が関数 (a -> b) -> c codomain が関数 a -> (b -> c) こちらは意識されにくい 2変数関数 (a, b) -> c Haskell 以外でもよく使う セクション (+) は高階関数 a が domain、 b が codomain 逆に、 codomain が関数の高階関数は 2 項演算子 f: a -> a -> a `f` curry :: ((a

                  今日は Haskell Day 2019 の日です - 北海道苫小牧市出身の初老PGが書くブログ
                • GitHub - graninas/functional-declarative-design-methodology: Article: Functional Declarative Design

                  Statically-typed functional languages boast numerous merits, such as robust type safety, immutability, and expressive syntax, but these can also pose challenges when designing software that effectively solves intricate problems and scales over time. While Object-Oriented Design (OOD) [1] has proven useful in structuring code in its domain, it does not always align with the functional programming p

                    GitHub - graninas/functional-declarative-design-methodology: Article: Functional Declarative Design
                  • GHCの型レベル自然数を理解する - Qiita

                    Haskellの多相型システムでは、型をパラメーターとして取る型を定義することができる。この拡張として、GHC拡張の型レベル自然数を使うと、自然数をパラメーターとしてとる型を定義することができる。 型レベル自然数を使うには、GHC拡張の DataKinds を有効にして、 GHC.TypeLits モジュール(もしくは GHC.TypeNats モジュール)をimportする。 この記事で説明するのは基本的に、GHC組み込みの Nat カインドを持つ型レベル自然数である。データ型として帰納的に定義される自然数については、比較のために紹介する程度にとどめる。 初級編 まずは、型レベル自然数の基本的な使い方を紹介する。 雰囲気を掴む 小難しい話に入る前に、GHCの型レベル自然数の雰囲気を見ておこう。 {-# LANGUAGE DataKinds #-} {-# LANGUAGE ScopedT

                      GHCの型レベル自然数を理解する - Qiita
                    • https://samgrayson.me/2019-08-06-monads-as-a-programming-pattern/

                        https://samgrayson.me/2019-08-06-monads-as-a-programming-pattern/
                      • Kalyn: a self-hosting compiler for x86-64

                        Over the course of my Spring 2020 semester at Harvey Mudd College, I developed a self-hosting compiler entirely from scratch. This article walks through many interesting parts of the project. It’s laid out so you can just read from beginning to end, but if you’re more interested in a particular topic, feel free to jump there. Or, take a look at the project on GitHub. Table of contents What the pro

                        • GHCに初めてコントリビュートした/最近のGHC動向 | 雑記帳

                          事実上の標準デファクトスタンダードなHaskell処理系であるGHCに貢献するというのが去年掲げた目標だったが、それがようやく実現したので報告する。ついでに、最近のGHC開発状況についても簡単にまとめてみる。 「貢献」と言っても色々あって、バグ報告とかも立派な貢献なのだが、ここで目標としていたのは「書いたコードをGHC本体に取り込んでもらう」ことである。 一つ目:fromInteger :: Integer -> {Float,Double} 年末に書いた記事 Haskell/GHCでの浮動小数点数の扱い – Qiita にあるように、現行のGHCのfromIntegerは値の大きさによって丸め方法が違っている。それによってどういう問題が引き起こされるかというと、 import Numeric import Data.Word main = do putStrLn $ "literal :

                          • Scalaで関数型 再入門

                            よく遭遇する、Scala標準ライブラリだけだと大変なケースでも、 Catsを使うとうまく関心事を分離して、クリーンかつ拡張に対して頑強になることがあります。 このスライドでは、そういった場合のCatsの使い所について、初学者向けに解説をしています。 2019年7月26日のセプテーニ・オリジナルでの社内勉強会資料です。

                              Scalaで関数型 再入門
                            • An introduction to typeclass metaprogramming

                              Typeclass metaprogramming is a powerful technique available to Haskell programmers to automatically generate term-level code from static type information. It has been used to great effect in several popular Haskell libraries (such as the servant ecosystem), and it is the core mechanism used to implement generic programming via GHC generics. Despite this, remarkably little material exists that expl

                              • Haskell Optimization Handbook

                                Haskell Optimization Handbook¶ by Jeffrey M. Young This book assumes you are using ghc 9.2.x or above and using the Linux operating system. If you are new then the best place to start is the How to use this book chapter. If you are returning then feel free to jump to the Table of Contents and best wishes. It is dangerous to go alone, please take this handbook and good luck! Sincerely, The Contribu

                                • 限定継続いろいろ | 雑記帳

                                  このブログでは限定継続について過去に何回か記事を書きました: LunarMLと継続限定継続と例外とモナド 今回、LunarML向けのVMに限定継続を実装してみて理解が深まったので、改めて記事にします。 限定継続:スタックを使ったざっくりとした説明 今回はスタックを使って限定継続をざっくりと説明してみます。 関数という概念を持つプログラミング言語では、スタックを使って関数の呼び出しを管理することが多いです。コールスタックとか、スタックのバックトレースとか言いますよね。ここではネイティブのスタックか仮想マシンのスタックかというのは問いません。 関数を呼び出すと、フレームと呼ばれる領域がスタックに確保されて、関数への引数やローカル変数はそこに確保されたりします。 例えば、以下のプログラムを考えます: void g() { // すごい計算 } void f() { double j; g();

                                  • 100行のHaskellでスネークゲームを作った - Qiita

                                    200行のVue.jsでスネークゲームを作ったという面白い記事を見つけて自分のスネークゲーム魂に火がついたので書いてみました。別に短い行数で書けたぞとか言う話ではなく、純粋に僕はスネークゲームを昔からよく作っていたのですが12 シンプルに 分かりやすく を目指して作ったことがないことに気づいたので作ってみることにしました。プログラム自体は2時間ぐらいで完成しました。 今回使うHackageはglossとmwc-randomのみです。 {-# LANGUAGE RecordWildCards #-} import Data.Function (fix) import Graphics.Gloss.Interface.IO.Game import System.Random.MWC wWidth, wHeight :: Num a => a wWidth = 640 wHeight = 480

                                      100行のHaskellでスネークゲームを作った - Qiita
                                    • AWS Lambda で Python みたいな関数型言語 Coconut を動かすぞ!!!!!!!(非カスタムランタイム)

                                      ホームテクノロジーAWS Lambda で Python みたいな関数型言語 Coconut を動かすぞ!!!!!!!(非カスタムランタイム) AWS Lambda で Python みたいな関数型言語 Coconut を動かすぞ!!!!!!!(非カスタムランタイム)みなさんはじめまして!!!!!!!!!!!! 会津ラボで主にバックエンドの開発を担当している吉原です。他にブロックチェーン等もやってます。好きな言語は Haskell、趣味はクイズゲームです。以後お見知りおきを。 ※ ちなみに弊社には吉の字がつくバックエンド担当が2人おり、度々間違われます。当ブログをご覧になる場合はご留意ください。 さて、今日(注:執筆開始時点)はお盆です。 ……お盆も働いていたやつらだ。面構えが違う。 というのは冗談で、お盆休みをずらして取得しているため、その代わりに出勤しています。こういったことができる所

                                      • テンソルを実装するのに表現可能関手がとても便利な件 - Qiita

                                        最近hmatrixで深層学習を実装する機会があったのですが、hmatrixはベクトルと行列しか提供していないので3階以上のテンソルが必要になって困るという場面に出くわしました。そこで自分で長さ付きベクトルを組み合わせてサクッとn階テンソルが作れると便利かな〜と調べていたら(素直にrepaやmassivを使えという話ではあるのですが )表現可能関手を使うことでn階テンソルとその演算が楽に(そして抽象的に)実装できるという文献1を見つけたので備忘録も兼ねてまとめておこうと思います。 この記事で紹介したコードは以下のGistで公開しています。 https://gist.github.com/lotz84/78474ac9ee307d50376e025093316d0f 関手、つまりFunctorのことですが、表現可能関手はその中でも特別な性質を持つものです。この記事は前半と後半に分けて、前半では

                                          テンソルを実装するのに表現可能関手がとても便利な件 - Qiita
                                        • Haskellでグラフアルゴリズムを攻略する(WIP)

                                          はじめに Haskellでは、ListやTreeがよく取り上げられる一方で、グラフの話題はあまり出てこないことがあります。これは、ListやTreeには適切な始代数があり、それに応じたコンストラクタ(パターンマッチング)がうまく機能するためです。しかし、グラフ構造でも実はmatch関数を使ったパターンマッチングで、驚くほど簡潔に各種のアルゴリズムを実装できます。 グラフの基本構造 まず、グラフの基本構造を以下に示します。 import Data.List import Data.IntMap.Strict (IntMap) import qualified Data.IntMap.Strict as IM type Gr a b = IntMap (a, IntMap b) type Node = Int type LNode a = (Node, a) type Edge = (Node

                                            Haskellでグラフアルゴリズムを攻略する(WIP)
                                          • Table of Contents · Crafting Interpreters

                                            ❧Frontmatter Dedication Acknowledgements I.Welcome 1.Introduction Design Note: What’s in a Name? 2.A Map of the Territory 3.The Lox Language Design Note: Expressions and Statements II.A Tree-Walk Interpreter 4.Scanning Design Note: Implicit Semicolons 5.Representing Code 6.Parsing Expressions Design Note: Logic Versus History 7.Evaluating Expressions Design Note: Static and Dynamic Typing 8.Statem

                                            • モナドオリンピック1-トラック競技-

                                              はじめに 最速のモナドを決めるモナドオリンピックを開催することになりました。 この大会では、各ライブラリの提供するモナドたちが 様々な競技(ベンチマーク)に挑戦します。 競技説明 今回は副作用のないシンプルなベンチマークで計算速度を測ります。 ベンチマーク おなじみのfibをつかいます。普通のfibは返り値が整数型ですが、次の理由から偶奇を表すブール値にしています。 Int型にするとReaderモナドやIdentityモナドで返り値がUnboxingされて有利になりすぎる。 Integer型にすると演算にかかる時間が無視できない xor :: Bool -> Bool -> Bool xor True x = not x xor False x = x fib :: Monad m => Int -> m Bool fib = go where go n | n <= 1 = pure $

                                                モナドオリンピック1-トラック競技-
                                              • 関数を組み合わせてシステムを組む「Haskell」。クセの強さがその魅力?〜エンジニアが語る技術愛 #01〜|ミクシル

                                                ミクシィには、探究心溢れるエンジニアがたくさん在籍しています。 その探究心は業務で扱う技術にとどまらず、趣味で書いているプログラムだったり、個人的に研究している言語だったりと、自身の気になった技術への追求も留まることを知りません。 そこで、社内のエンジニアに“好きな技術”について、思う存分に語ってもらうシリーズを始めました。 ルールはこの通り。 ・業務で使っている技術でも、使われていない技術でもOK ・あくまでも個人的な見解で ・その技術のどこが面白いのか ・愛を込めて語り尽くしてもらう 第1回目は、「モンスターストライク(以下モンスト)」のサーバーエンジニアの松原に、関数型プログラミング言語「Haskell」についていったい何が面白いのか、どういうものなのか、好きなだけ語ってもらいました。 有名プログラミング言語のナレッジが通用しづらい独特な「Haskell」 ━━今日は好きな技術につい

                                                  関数を組み合わせてシステムを組む「Haskell」。クセの強さがその魅力?〜エンジニアが語る技術愛 #01〜|ミクシル
                                                • GitHub - luke-clifton/shh: Simple shell like scripting from Haskell

                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                    GitHub - luke-clifton/shh: Simple shell like scripting from Haskell
                                                  • GHC IO モナドの中身

                                                    Haskell の IO モナドって,中身どうなってたんだろと気になってて,ちょっと調べてみた.そのメモ. IO モナドと RealWorld まずは基本から. IO モナドは, Haskell の根幹となるモナドで, main も IO で書く. GHC では中身は次のように定義されている [1]: -- In GHC.Types module of ghc-prim package newtype IO a = IO (State# RealWorld -> (# State# RealWorld, a #)) 見ての通り, IO a は State# RealWorld -> (# State# RealWorld, a #) の newtype だ.あんまり見慣れない State# RealWorld という型と (# , #) という型が出てきたけど, State# RealWo

                                                      GHC IO モナドの中身
                                                    • Knuth–Morris–Pratt illustrated | Journal of Functional Programming | Cambridge Core

                                                      We use cookies to distinguish you from other users and to provide you with a better experience on our websites. Close this message to accept cookies or find out how to manage your cookie settings.

                                                        Knuth–Morris–Pratt illustrated | Journal of Functional Programming | Cambridge Core
                                                      • GitHub - tfausak/rampart: :european_castle: Determine how intervals relate to each other.

                                                        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                          GitHub - tfausak/rampart: :european_castle: Determine how intervals relate to each other.
                                                        • おじいさん、今日のご飯はCatamorphismですよ - Qiita

                                                          100年ぶりにポエムを書きます。 F代数から出発して、最終的にはCatamorphismを理解することを目指します。 F代数 ある関手Fに対して、対象と射の組 $(A, a : F(A) \rightarrow A)$ のこと。

                                                            おじいさん、今日のご飯はCatamorphismですよ - Qiita
                                                          • Caramel: massively scalable, type-safe applications

                                                            caramel is a functional language for building type-safe, scalable, and maintainable applications Install Docs Discord Code

                                                              Caramel: massively scalable, type-safe applications
                                                            • 2023年の Linear Haskell で純粋・並列 FFT を実装する──「Haskell は Rust になれるのか?」補遺

                                                              この記事は Haskell Advent Calendar 2023 14 日目の記事です[1]。 更新履歴 2023-12-15 並列化のパフォーマンスに関する追記。 2023-12-14 初版公開。 はじめに 先々月、Linear Haskell のまとまりのない記事を書いたところ、思ったよりも反響を頂いてびっくりしました。 ただかなりまとまりのない長文だった結果、「長い」「結局 Rust になれるのかようわからん」といった御叱りを頂きました。本当にすいません……。 冒頭に「RustのようになるにはLinear Constraintsに期待」とか、末尾に「2023年のHaskellはまだ Rust ではないが、近い将来 Rust になれる可能性が大きい」とか書きはしましたが、全体があまりにも長いのでこの結論を見つけ出すのも大変ですし、話題があんまり散漫に過ぎまたので論拠もすごくわかりづ

                                                                2023年の Linear Haskell で純粋・並列 FFT を実装する──「Haskell は Rust になれるのか?」補遺
                                                              • Blazing fast Fibonacci numbers using Monoids

                                                                This post illustrates a nifty application of Haskell’s standard library to solve a numeric problem. The Fibonacci series is a well-known sequence of numbers defined by the following rules: In fact, that’s not only a specification of the Fibonacci numbers: that’s also valid Haskell code (with a few gratuitous parentheses to resemble traditional mathematical notation). However, that solution is inef

                                                                • Elixir版?①「プログラミングHaskell第2版」 - Qiita

                                                                  fukuoka.ex/kokura.exのpiacereです ご覧いただいて、ありがとうございます 先日9/7(土)に開催した、「ElixirConf JP 2019」の準備・運営にかかりきりで、約3ヶ月弱ぶりの投稿です(ElixirConf JP 2019のレビューは追ってまとめます) さて最近、Haskellerの方々と、ご一緒することが、ちょくちょくあります ご存知の方は、ご存知ですが、元々、私の関数型初体験は、Haskellでした … それから幾つものプログラミング言語を経由して、現在、Elixirに落ち着いており、恐らく、Elixir以外の言語を選ぶことは、よほどのことが無い限り、無いと思います とはいえ、言語ヲタとして、他言語に学ぶことは多くあり、今回は、先月出たばかりの「プログラミングHaskell 第2版」の第1章を、Elixirで解釈してみようと思います(コラムは、原著の

                                                                    Elixir版?①「プログラミングHaskell第2版」 - Qiita
                                                                  • 代数的データ型と初等代数学

                                                                    「関数プログラミングとはなんですか?」と問われたときには「デ,データファースト……(震え声)」と答えることが多いのだが,実際 Haskell や OCaml などの言語を特徴付けるものとして,代数的データ型 (Algebraic Data Type; ADT) の存在は無視できないだろう.その有用性ゆえに,近年では新たな言語の策定の際にその概念が輸出され,Rust や Swift などの言語にも採用されている. 「代数的データ型とはなんですか?」と問われたときには——問われたことがないのでわからないのだが——おもむろに ghci か utop を立ち上げて,解説を始めるのではないかと思う.ひとしきり解説をした後,「つまり直積の直和なんですよ〜🙌✨」と言って話を締めくくるだろう. int 型や float 型など,「メモリ上の表現」という計算機の気持ちに極めて寄り添ったプリミティヴなデータ

                                                                      代数的データ型と初等代数学
                                                                    • Android むけ Haskell コンパイラをリリースしました!

                                                                      4 年まえに「Haskell コンパイラを書こう!」 という記事で紹介した自作コンパイラを、いよいよリリースしますというお話です。 その記事で述べた通り、Haskell 2010 仕様を満たし、かつ、FFI をサポートしたら Version 1 にしようと思っているのですが、まだそこまで至っていないため、 今回は 0.9.0 版としてリリースします。 Bunny は、Android 上で動くアプリケーションの作成をターゲットとした Haskell コンパイラです。このコンパイラを作成するにあたって、基礎的な部分を「最新コンパイラ構成技法」という本で勉強したので、 その本の通称である Tiger Book にちなんで Bunny という名前にしました。 Bunny は、Haskell で書かれた Haskell コンパイラです。Haskell プログラムをソースコードとし、オブジェクトコード

                                                                      • IHP is a modern batteries-included Web Framework, built on top of Haskell and Nix.

                                                                        The Haskell Framework for Non-Haskellers. Blazing fast, secure, easy to refactor and the best developer experience with everything you need - from prototype to production.

                                                                          IHP is a modern batteries-included Web Framework, built on top of Haskell and Nix.
                                                                        • Megaparsec tutorial from IH book (翻訳)

                                                                          Posted on July 14, 2019 translated by Wataru Yamada authored by Mark Karpov Last Updated October 11, 2020 Great original post: Megaparsec tutorial from IH book この Megaparsec のチュートリアルは、元々は Intermediate Haskell という本の1つの章のために書かれました。 ここ一年で本が進展していないため、 他の著者は私がスタンドアロンのチュートリアルとしてテキストを公表し、 人々が少なくとも私たちの仕事のこの部分から恩恵を受けることができるようにする ことに同意しました。 ParsecT と Parsec モナド 文字 とバイナリストリーム モナディック構文とアプリカティブ構文 Eof による入力の強制消

                                                                          • The Hamler Programming Language

                                                                            Haskell-style functional programming language running on Erlang VM. View the Project on GitHub hamler-lang/hamler The Hamler Programming Language Hamler is a strongly-typed language with compile-time typechecking and built-in support for concurrency and distribution. Hamler empowers industries to build the next generation of scalable, reliable, realtime applications, especially for 5G, IoT and edg

                                                                            • プログラミングHaskell 第2版

                                                                              紙書籍をお届けします(PDFがついてきます) PDFのみが必要な場合は、こちらのPDF単品をお求めください PDFは購入後すぐにダウンロード可能です 紙書籍は通常、ご注文から2~3営業日で発送します 年末年始や大型連休など、1週間から10日程度、配送のお休みをいただく場合があります。詳しくはお知らせをご覧ください プログラムが、手続きでなく、関数と型に見えてくる Graham Hutton 著、山本和彦 訳 328ページ A5判 ISBN:978-4-908686-07-8 2019年8月2日 第1版第1刷 発行 翻訳者による補足情報があります(リンク) 正誤情報 Haskellは、1990年に誕生した歴史あるプログラミング言語です。強力な型推論を備えた、静的型付きで遅延評価の純粋関数型言語として知られています。Haskellを知ることは、こうした概念の背景にある計算機の理論を知り、それが

                                                                                プログラミングHaskell 第2版
                                                                              • Ante

                                                                                For exploring algebraic effects, safe shared mutability, and other novel features Ante is currently in active development and the compiler is in a very early state. In addition, the features listed on this website detail the language itself rather than the subset that is implemented by the current compiler. If you are interested to see which features are implemented, please look at the github page

                                                                                • JavaScript backend merged into GHC | IOG Engineering

                                                                                  A new JavaScript backend was merged into GHC on November 30th, 2022! This means that the next release of GHC will be able to emit code that runs in web browsers without requiring any extra tools, enabling Haskell for both front-end and back-end web applications. In this post, we, the GHC DevX team at IOG, describe the challenges we faced bringing GHCJS to GHC, how we overcame those challenges, and