並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 992件

新着順 人気順

haskellの検索結果361 - 400 件 / 992件

  • Defunctionalization and Freyd’s Theorem

    Defunctionalization and Freyd’s Theorem Posted by Bartosz Milewski under Category Theory, Programming [9] Comments The main idea of functional programming is to treat functions like any other data types. In particular, we want to be able to pass functions as arguments to other functions, return them as values, and store them in data structures. But what kind of data type is a function? It’s a type

      Defunctionalization and Freyd’s Theorem
    • 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

      • GitHub - ChrisPenner/slick: Static site generator built on Shake configured in Haskell

        Want to get started quickly? Check out the Slick site template! Slick is a static site generator written and configured using Haskell. It's the spiritual successor to my previous static-site generator project SitePipe; but is faster, simpler, and more easily used in combination with other tools. Slick provides a small set of tools and combinators for building static websites on top of the Shake bu

          GitHub - ChrisPenner/slick: Static site generator built on Shake configured in Haskell
        • building-software.md

          building-software.md Some thoughts on building software Lately I have been busy reading some new books on Domain Driven Design (DDD) and software architecture -- including a short yet eye-opening one in Python and a great one in F#. At the same time, it seems that more people in the Functional Programming world are looking at more formal approaches to modelling -- some examples here. This has brou

            building-software.md
          • zinc: the zinc systems programming language

            #Zinc, a systems programming language prototype Zinc is my attempt at a low-level systems programming language prototype. I found this parser, called Owl mirrored here, that generates parsers for visibly pushdown languages. Visibly pushdown languages are those where recursion to other grammar productions must be guarded by tokens which can only be used for that purpose. While somewhat limiting, th

            • SOPを使ってジェネリックにCase Analysis関数を実装する

              case analysis関数が何かについては、まず kakkun61氏 の以下の記事を参照してください。 case analysis関数はデータ型毎に定まる関数ですがよくよく見てみるとシンプルなルールで統一的に実装できそうです。 Haskellで同じ名前の関数を使って複数のデータ型を扱えるようにするには、モジュールを分けたり型クラスを利用したり工夫する必要があります。 この記事ではジェネリックプログラミングの考え方に基づき、様々なデータ型に対応した一つのcase analysis関数を実装してみたいと思います。 これから実装するgfold'(generic fold)という関数は以下のような振る舞いをするようになります。 > :t unFun . gfold' @Bool unFun . gfold' @Bool :: Bool -> r -> r -> r > :t unFun . g

                SOPを使ってジェネリックにCase Analysis関数を実装する
              • Haskellの最近の乱数生成事情について

                あらすじ Haskellでの乱数生成ライブラリは長らく群雄割拠の時代が続いていました。 その理由は、公式のrandomパッケージの使い勝手がすこぶる悪かったため、 各々が独自のインターフェースでまともな乱数生成ライブラリを公開していました。 その時代は、random-1.2の登場により終わりを迎えました。 これからはrandomパッケージを使えば基本的に問題ないでしょう。 Before random-1.2 Haskellの公式の乱数生成ライブラリがrandomだったのですが、 このライブラリは System.Randomといういかにも標準的なモジュールを提供している割に使い物になりませんでした。 そのため、 mwc-random tf-random xorshift mersenne-random-pure64 などのライブラリが独自のインターフェースを提供していました。 randomの

                  Haskellの最近の乱数生成事情について
                • Lensとは - Qiita

                  Lensとは、初級者Haskellerの苦い思い出 さあさあ、やって参りました。 Haskell何個目かの鬼門にして、素晴らしく便利なアイツ、Lensの時間です。 初級者HaskellerにとってのLensといえば、「これを知らなきゃ初級者Haskellerにもなれない」と突然突きつけられて、何かと思って蓋を開ければ地獄のような型が覗く、恐怖と畏怖の対象でしょう。 調べてみても、様々な言葉で説明されるLensは、いかにもつかみどころのないものに思えます。 Lensはgetterとsetterのペア 参考: Lensの仕組みがわかった#lensを自作してみる レンズは余状態余モナドの余代数だった type Lens s t a b = forall f. Functor f => (a -> f b) -> s -> f t [Control.Lens.Combinators#t:Lens]

                    Lensとは - Qiita
                  • React for Two Computers — overreacted

                    I’ve been trying to write this post at least a dozen times. I don’t mean this figuratively; at one point, I literally had a desktop folder with a dozen abandoned drafts. They had wildly different styles—from rigoruous to chaotically cryptic and insufferably meta; they would start abruptly, chew on themselves, and eventually trail off to nowhere. One by one, I threw them all away because they all s

                    • Redux-Toolkitに学ぶ、TypeScriptの型推論とこれからのAPIデザイン | フューチャー技術ブログ

                      TypeScriptは、JavaScriptのさまざまなフリーダムな書き方を受け入れ、漸進的な型付けを行えるようにするという狂った高難易度な目的のために作成されているのですが、そろそろ、TypeScriptファーストで、利用者にとって使いやすいAPIみたいな方向性で使われることも増えるのでは、という思いを強く持ちました。「既存のJSプロジェクトをTypeScript化して〜」みたいな紹介のされ方はもはや過去のものになったのではないかと。 すでにState of JavaScript 2019では2/3のユーザーがすでにTypeScriptを利用したことがある(使っている)と答え、残りの1/3も学びたい、と答えている状況です。この勢いだと、2年後には80%を超えそうです。僕自身も、TypeScriptファーストな世界がくることを想像して説明に使える教科書を書き始めたわけですが、思ったよりもそ

                        Redux-Toolkitに学ぶ、TypeScriptの型推論とこれからのAPIデザイン | フューチャー技術ブログ
                      • ベクトルからリストを作る方法 〜次数付きモナドのカン拡張〜

                        ベクトルとリスト 要素を並べたデータ構造を考える時、 ベクトルは長さが予め(型レベルで)決められたもの リストは任意の長さを取れるもの と区別することがあります。 Haskellの型で表すと、

                          ベクトルからリストを作る方法 〜次数付きモナドのカン拡張〜
                        • appディレクトリでVanilla Extractサポートなど : Cybozu Frontend Weekly (2023-04-18号)

                          appディレクトリでVanilla Extractサポートなど : Cybozu Frontend Weekly (2023-04-18号) こんにちは! サイボウズ株式会社フロントエンドエンジニアの Saji (@sajikix) です。 はじめに サイボウズでは毎週火曜日に Frontend Weekly という「一週間にあったフロントエンドニュースを共有する会」を社内で開催しています。 今回は、2023/04/18 の Frontend Weekly で取り上げた記事や話題を紹介します。 取り上げた記事・話題 入れ子構造を自由に拡張する – TypeScript 版「Trees that Grow」 | IIJ Engineers Blog 以下のような型を TypeScript でどのように扱うか、様々なパターンや Haskell の例など交えて解説している記事になります。 共通の

                            appディレクトリでVanilla Extractサポートなど : Cybozu Frontend Weekly (2023-04-18号)
                          • RPGツクールからCGI&夢小説、ついにはハガキ職人まで 学生時代の広木大地氏を夢中にさせ挫折させたもの | ログミーBusiness

                            自己紹介広木大地氏:「キャリアの考え方」というテーマで、DX時代の人材について話します。自己紹介をします。2008年に新卒の第1期でミクシィという会社に入社しました。そこからいろいろな開発者としてのキャリア、マネジメントとしてのキャリア、サービス役員の執行役員等を担いながら組織改革を行ってきました。 技術と経営をつなぐCTOのノウハウを世の中に広く還元していきたいと思い、レクターを創業しました。その後、上梓した『エンジニアリング組織論への招待』という本が、ビジネス書大賞と技術書大賞を受賞しました。今は小野さん(小野和俊氏)と一緒に、一般社団法人日本CTO協会の理事をしています。 今日は、僕のキャリアを順に追いながら、どのように考えてキャリアを築いていったのかを話せればと思っています。よろしくお願いします。 今日のセッションで伝えたいこと最近、「キャリアをどう考えたらいいですか?」と相談を受

                              RPGツクールからCGI&夢小説、ついにはハガキ職人まで 学生時代の広木大地氏を夢中にさせ挫折させたもの | ログミーBusiness
                            • Blogs - Tushar Adhatrao

                              Compiling Haskell to WebAssembly: A Step-by-Step Guide Introduction This guide demonstrates how to compile Haskell code into WebAssembly (Wasm). You'll learn how to convert a single Haskell source file to WebAssembly and integrate it into a web application. Additionally, we'll cover compiling a Haskell Cabal project for WebAssembly, including handling data types like strings. For detailed technica

                              • QUICをゆっくり解説(5):2回目以降のハンドシェイクと0-RTT | IIJ Engineers Blog

                                Haskellコミュニティでは、ネットワーク関連を担当。 4児の父であり、家庭では子供たちと、ジョギング、サッカー、スキー、釣り、クワガタ採集をして過ごす。 前回はクライアントとサーバが初めてコネクションを確立する際に実行されるハンドシェイクについて説明しました。まだ、コネクションの切り方を説明してないので恐縮ですが、今回は1回目のコネクションが終了した後の2回目以降のハンドシェイクについてお話しします。 事前共有鍵 前回使ったQUICのハンドシェイク図を少し修正して以下に示します。 色の意味はこうでした。 薄い灰色:イニシャル鍵で暗号化されている 濃い灰色:ハンドシェイク鍵で暗号化されている 黒色:アプリケーションデータ鍵で暗号化されている イニシャル鍵は、クライアントが乱数的に作ったサーバのコネクションIDから生成されました。 ハンドシェイク鍵やアプリケーションデータ鍵は、鍵交換で共有

                                  QUICをゆっくり解説(5):2回目以降のハンドシェイクと0-RTT | IIJ Engineers Blog
                                • Lispはなぜ神の言語と呼ばれるのか - SEむううみんのプログラミングパラダイス

                                  古から存在するプログラミング言語Lisp。その通り名の一つに「神の言語」というものがある。 なんという甘美な響きだろうか。この名前だけで男子中学生は全員習得することを決心するだろう。そのくらいインパクトのある名前である。文部科学省はプログラミング教育を推進するにあたって、この通り名を公式に採用することを真剣に検討されると良いと思う。 さて、「神の言語」の勉強を始めてみて驚くだろう。どのあたりが神なのかよくわからないのだ。たしかに丸括弧は多い。多いが、それと神との関連性はよくわからない。 何か土着の信仰の話なのだろうか?あなたがそう戸惑うのも無理からぬことだ。 私自身、前からこのフレーズは聞いたことがあったが、あまり理解していなかった。そこで今回改めて調べてみたので共有しようと思う。 「神の言語」の由来 そもそも、Lispは神の言語だと誰が言い出したのか?どうやら海外でそのような歌が作られた

                                  • 新しいGHC拡張、NoFieldSelectorsについて - モナドとわたしとコモナド

                                    今まで不満の多かったHaskellのレコードの扱いを改善するための一歩として、NoFieldSelectorsというGHC拡張の実装を進めている。 動機 Haskellにはレコードを定義するための構文がある。 data User = User { userId :: Int , userName :: Text } こう定義すると、各フィールドごとにuserId :: User -> IntとuserName :: User -> Textというゲッターに相当する関数が生成される。これらの関数は特別な意味合いを持っており、以下のレコード操作の構文にも利用できる。 構築 User { userId = 0, userName = "Zero" } パターンマッチ case foo of User { userId = x, userName = name } -> ... 更新 foo {

                                      新しいGHC拡張、NoFieldSelectorsについて - モナドとわたしとコモナド
                                    • Kowainik - Foo to Bar: Naming Conventions in Haskell

                                      Developers spend most of their time reading code, understanding it and exploring other ways to use existing solutions. Frankly, in our profession, there is very little time on actually writing new libraries and creating new interfaces in real-life development. So it is quite important to have some help in the most common activities. Naming conventions is one such thing that improves readability an

                                        Kowainik - Foo to Bar: Naming Conventions in Haskell
                                      • Type level mapを使ったpreload風関連リソースの取り回し。Indexed monad添え

                                        この記事はHaskell Advent Calendar 202011日目の記事です(遅延)。 大晦日です。いかがお過ごしでしょうか。 Haskellでapi server等を作った際、rdbへの問い合わせでPreload的なことを行う箇所で、Type level mapを使った所、なかなかの使い勝手だったので、共有します。 さらにIndexed Monadを使い、明らかに残念だった箇所を改善します。 preload? 1+N問題を起こさぬよう、事前に関連リソースを問い合わせておくもの。prefetchとかとも。 posts = Post.find(...) # query Post # view for p in posts for t in p.tags # ここで問い合わせるとN回なので、事前に問い合わせていて欲しい render t やること viewが要求するpreloadを定義

                                          Type level mapを使ったpreload風関連リソースの取り回し。Indexed monad添え
                                        • The ultimate guide to Haskell Strings · Hasufell's blog

                                          © 2021. All rights reserved. Site created with Hakyll. Modified theme lanyon-hakyll based on Lanyon. The ultimate guide to Haskell Strings May 7, 2024, Posted by Julian Ospald This guide is aimed at Haskellers who seek to improve their understanding of String types, be it beginners or seasoned developers. It is also meant to be a quick reference/cheat sheet for deciding which string type to use in

                                          • コンピュータサイエンスを日本へ!|プログラミング学習Recursionの中の人インタビュー - わたしのまいにち

                                            オンラインでコンピュータサイエンス、プログラミングを学べるRecursion。 前回の記事で、その創業者である田島慎也さんにインタビューさせていただきました。 意外とやんちゃした幼少期とか、ノープランで渡米とか、Recursionの結成秘話とか。 根掘り葉掘り聞いちゃって、かなり面白かったです。 そして、今回はJeffry Alvaradoさんに、インタビュー。 Jeffryさんって、Discordの右上の方にいつもいらっしゃるんですけど、ちょっと秘密のベールに包まれている存在でした(私の勝手なイメージ) インタビューしてみると、とても丁寧に答えてもらえて優しかった。 しかもその才能がすごい! (2021年1月追記) JeffryさんFacebookに合格したそうです。本物のGAFAの人ですね。 【拡散希望..】 皆さんにお知らせがあります。 この度、RecursionのCo-Founde

                                              コンピュータサイエンスを日本へ!|プログラミング学習Recursionの中の人インタビュー - わたしのまいにち
                                            • Property based testing を試してみよう - Qiita

                                              Property based testingとは 歴史的な背景として2000年にJohn HughesとKoen Clasessenによって 開発されたQuickCheckがProperty based testingとしてHaskellエコシステムに実装されました。 QuickCheckはプロパティ(特定の入力が与えられると出力として期待される特性) を与えることで、 テストデータをランダムに生成して、失敗するケースを見つけるHaskellで実装されたフレームワークです。 それによってテスト対象のシステムがプロパティに従っているかどうかをチェックします。 QuickCheckは単体テストだけではなく、統合テストやサンプルベースのテスト等幅広く使われています。 このテスト方法はProperty based testingとして知られるようになりました。 2020年現在は、HaskellのQ

                                                Property based testing を試してみよう - Qiita
                                              • Going REPLing with Haskeline

                                                October 31, 2024 A twenty-six minute read 10 💬 4 🗣️ ❤️ 14 🔁 Tags: programmingprogramming-languagesinterpretershaskell So you went ahead and created a new programming language, with an AST, a parser, and an interpreter. And now you hate how you have to write the programs in your new language in files to run them? You need a REPL! In this post, we’ll create a shiny REPL with lots of nice features

                                                  Going REPLing with Haskeline
                                                • 協調型スケジューリング vs. 先取り型スケジューリング

                                                  この記事はCooperative vs. Preemptive: a quest to maximize concurrency powerの翻訳・意訳記事になっています。 動機 私のチームはJavaを多用しています。システムを構築するために、ウェブサーバやデータベースドライバなど、多くのものに、スレッドを介した同時実行機能を内蔵した、実績のあるオープンソースのJavaライブラリを使用しています。 また、ビジネス特有のロジックを実装する際には、Javaのスレッド化命令を利用して同時実行を実現しています。 しかし、時間が経つにつれ、パフォーマンスの問題が見えてきました。 Javaアプリには合計1万個のスレッドが実行されていたため、ホストのRAMをすべて占有してしまうサービスがありました。 64ビットのJVMのスレッドのスタックサイズが1024バイトであるため、スレッドが1万もあるとスタックだ

                                                    協調型スケジューリング vs. 先取り型スケジューリング
                                                  • 関数型プログラミングを学ぶメリットとは? そもそも関数とは何かを理解する

                                                    今やどんな開発環境でも見られるようになった関数型プログラミングとそのメリットを活用できていますか? JavaやRubyのような命令型のオブジェクト指向言語を利用しているエンジニアが関数型プログラミングを使いこなすためのノウハウが解説された『なっとく!関数型プログラミング』(翔泳社)から、関数とは何か、そして関数型プログラミングのメリットについて紹介します。 本記事は『なっとく!関数型プログラミング』の「第1章 関数型プログラミングを学ぶ」から一部を抜粋したものです。掲載にあたって編集しています。 ※本書はMichał Płachtaによる『Grokking Functional Programming』(Manning Publications 2022)の邦訳版です。 あなたが本書を手に取ったのはきっと... 関数型プログラミングに興味があるから 関数型プログラミングの話を聞いたか、ウィ

                                                      関数型プログラミングを学ぶメリットとは? そもそも関数とは何かを理解する
                                                    • Monoids in the Category of... | Blog | jackkelly.name

                                                      The unfortunate meme phrase “a monad is just a monoid in the category of endofunctors, what’s the problem?” comes from two sources: The fact and most of the phrasing comes from Mac Lane’s Categories for the Working Mathematician, but “What’s the problem?” is a cheeky addition from a funny 2009 blog post: A Brief, Incomplete, and Mostly Wrong History of Programming Languages The meme words have bec

                                                      • GHC 9.2 で導入されたQuick Look型推論アルゴリズムについて - 朝日ネット 技術者ブログ

                                                        初めまして、朝日ネット開発部の hogeyama です。 今回は Haskell の中級的なトピックとして、 GHC 9.2 で導入された Quick Look 型推論アルゴリズムを取り上げようと思います。 概要 Haskell のデファクトスタンダードなコンパイラである GHC では通常の多相(ジェネリクス)の一般化である非可述的多相(impredicative polymorphism)を実装していますが、その型推論アルゴリズムは長らく「型推論が弱い」「実装が不安定でコンパイラのバージョンアップでデグレが起きる」といった問題を抱えていました。 しかし昨年10月、Quick Look という新しいアルゴリズムが GHC 9.2 に実装されたことでこの問題が解決しました。 本記事ではこの Quick Look によって何が変わるのか、利用する際に何に気をつければよいのかを非可述的多相の概要

                                                          GHC 9.2 で導入されたQuick Look型推論アルゴリズムについて - 朝日ネット 技術者ブログ
                                                        • 閉半環を使ってグラフ上の最短距離を計算する!

                                                          この記事は Haskell Advent Calendar 2020 21日目の記事です。 以前の記事でトロピカル行列を使ったグラフの最短経路の求め方を解説しました。 ここではトロピカルな隣接行列の累乗を収束するまで繰り返すという方法で最短経路を計算しましたが、実は閉半環という代数を考えると直接的に最短経路を求める計算が可能になります。そこで今回はその方法について解説したいと思います。 以前はHaskellのリスト [a] をベクトルとして行列を実装しましたが、今回はそれだと実装が少し煩雑になるので型レベル自然数を型引数に持つ Vector n a を中心に実装していきたいと思います。この話は以下の Functional Pearl が元になっていますが、この論文もリストを使って実装されているので Vector n a を使ってどのように実装できるかはこの記事で新しく試したところです。 ト

                                                            閉半環を使ってグラフ上の最短距離を計算する!
                                                          • 圏論入門|日本評論社

                                                            第1章 圏・関手・自然変換 1.1 集合と写像から 1.2 圏・対象・射 1.3 圏のデータ構造 1.4 関手・反変関手 1.5 忠実関手と充満関手 1.6 自然変換 1.7 Haskの部分圏 第2章 自然変換と圏同値 2.1 関手圏 2.2 圏同値 第3章 普遍性と極限 3.1 始対象と終対象 3.2 積 3.3 余積 3.4 極限 3.5 余極限 3.6 極限の存在 3.7 余極限の存在 第4章 関手と極限の交換 4.1 関手は錐や余錐を写す 4.2 Hom関手と極限 4.3 Hom関手と余極限 4.4 実行可能な例 4.5 極限を関手とみる 第5章 随伴 5.1 随伴とは 5.2 単位と余単位 5.3 三角等式 5.4 普遍射と随伴 5.5 随伴の同値な言い替え 5.6 随伴と圏同値 5.7 随伴の大局的な自然性 5.8 随伴と極限 第6章 モナドとHaskellのMonad 6.1

                                                              圏論入門|日本評論社
                                                            • 【プログラミング言語速度比較】Collatz数列ベンチマークを言語別比較しよー! - 競プロメモ

                                                              Collatz ベンチマーク 目次 Collatz ベンチマーク 目次 追記(2021/02/23) Collatz 数列とは やること 計測方法 ベンチマーク結果 結果表 編集履歴 感想 基本的に最速クラス 癖がある最速クラス 準最速クラス まぁまぁ早いクラス 普通クラス やや遅いクラス ビリ う 笑 言語別実装 Rust メモ化版 Rust C++ 編集前 編集後 Java Kotlin Scala Haskell CSharp Python & PyPy Crystal Golang JavaScript Fortran Ruby D 言語 Bash Swift Objective-C C 通常版 アセンブリ修正版 Bc Perl Php Vim Awk Lua Pascal Visual Basic Raku(Perl6) dc Nim Nim(uint) Cython Cytho

                                                                【プログラミング言語速度比較】Collatz数列ベンチマークを言語別比較しよー! - 競プロメモ
                                                              • 動的配列の無難なHaskell実装 - モナドとわたしとコモナド

                                                                qiita.com C++、Rust、Pythonなど、他の言語では当たり前のように多用される動的配列だが、Haskell実装は(開発を始めた時点では)見当たらなかったので作ってみたお話*1。 動的配列とはミュータブルな配列の一種で、通常の配列操作だけでなく、末尾への要素の追加・削除が定数時間で行える構造である。確保しておいた領域がいっぱいになったら、その2倍の大きさの領域を確保するという方法によって、漸近的には要素の追加は定数時間となる。 内部の配列には、デファクトスタンダードであるvectorパッケージを用いる。Vectorには無印(boxed)、Unboxed、Storableの三種類の変種があり、それぞれ以下のように使い分ける。 無印(Data.Vector): サンク含め、任意のHaskellのオブジェクトを格納できる。Traversableなどのインスタンスであり、汎用性が高い

                                                                  動的配列の無難なHaskell実装 - モナドとわたしとコモナド
                                                                • Haskellを雑に使う

                                                                  はじめに Haskell Advent Calender 2024の7日めの記事です。 さて、Haskellはアカデミックやプロダクションやホビーや日常使いなど様々なシーンで利用できます。 この記事ではHaskellを電卓くらいの気軽さでカジュアルに日常使いする一例を紹介します。(昨年のAdvent Calenderの記事と内容が重複気味ですが、今年はワークフロー視点で記載しています。) なんとなく、アルゴリズムを手軽に試したい 日常的に、ちょっとしたアルゴリズムを手早く確認したり、書き捨てのプログラムをささっと作って試したいシーンがあるでしょう。あるものとします。 ここでは話を小さくするために、簡単な例として整数ソートのアルゴリズムを試したいとしましょう。 とりあえず書き捨ててみる 頭の中や紙の上などである程度考えたら、とりあえず雑に書き下してみましょうか。なんらかのテキストエディタで、

                                                                    Haskellを雑に使う
                                                                  • Haskellのsomeを正格評価したら無限ループする話 - 星にゃーんのブログ

                                                                    パーサコンビネータなんかでよく使う、 some と many という関数があります。それぞれ引数を1回以上/0回以上実行して結果のリストを返す関数で、これの単純な定義は some v = (:) <$> v <*> many v many v = some v <|> pure [] となります。 some は v : (many v) 、 many は some v または [] を返すイメージです。 パーサコンビネータでは、例えば英数字1文字以上の文字列をパースしたいとき some alphaNum と書いたりします。 面白いのは、一見とても自明に思えるこの定義は、遅延評価がないと無限ループしてしまう点です。 本当は v が失敗したら some v 自体が失敗してほしいところが、v が失敗するか否かに関わらず many v が実行されてしまいます。正格評価の気持ちで考えるとあたりまえで

                                                                      Haskellのsomeを正格評価したら無限ループする話 - 星にゃーんのブログ
                                                                    • 【Kindle】夏のプログラミング書 合同フェア (2020/8/28から9/10まで)

                                                                      開催期間: 2020.8.28 - 2020.9.10 Kindleストアの出版社横断プログラミング書籍セール 700冊以上が対象 50%ポイント還元 or 50%オフ (対象外のも含まれていますのでご注意を) 出版社別対象作品リスト: インプレス / 日経PB / SBクリエイティブ / マイナビ出版 / 秀和システム / 翔泳社 / 近代科学社 / MdN / NextPublishing (セール対象外多め) 本ページはキンセリの特設ページです アマゾンに当セールの対象作品一覧ページが存在しないので作成しました (間違い等ありましたら運営者までお知らせくだされば幸いです) 沈黙のWebライティング —Webマーケッター ボーンの激闘— 沈黙のWebマーケティング −Webマーケッター ボーンの逆襲− ディレクターズ・エディション アルゴリズムイントロダクション 第3版 総合版:世界標

                                                                        【Kindle】夏のプログラミング書 合同フェア (2020/8/28から9/10まで)
                                                                      • とほほのHaskell入門 - とほほのWWW入門

                                                                        概要 Haskellとは 関数型言語 純粋関数型言語 インストール Haskell Stack Hello world 基本 予約語 コメント ブロック レイアウト 入出力 型 変数 数値 文字(Char) 文字列(String) エスケープシーケンス リスト([...]) タプル((...)) 演算子 関数 演算子定義 再帰関数 ラムダ式 パターンマッチ ガード条件 関数合成(.) 引数補足(@) 制御構文 do文 let文 if文 case文 where文 import文 ループ データ型 データ型(列挙型) データ型(タプル型) データ型(直和型) 新型定義 (newtype) 型シノニム (type) 型クラス (class) メイビー(Maybe) ファンクタ(Functor) アプリケイティブ(Applicative) モナド(Monad) モジュール (module) 高階関

                                                                        • DDDとロラン・バルト

                                                                          昨年(2021年)12/16に増田亨さん主催のイベント「エヴァンス本のススメ」に参加した際、エヴァンス本の読み方と絡めてロラン・バルトの「エクリチュール」概念を紹介したのですが、あまりに唐突でちょっと喋っただけでは伝わらなかったろうなと思うので改めて記事にまとめたいと思います。 ここではタイトルに「DDDと…」としていますが、本質的にはエヴァンス本や他の技術書籍に限らず、より広くプログラミングやソフトウェアの書き方とロラン・バルトの『零度のエクリチュール』についての話です。 TL;DR 技術書やプログラミングを、言語、プログラミングスタイル、そして指導的設計思想(=エクリチュール)の3つのレイヤーに意識しながら読んでみましょう。 エヴァンス本のDDDでは、Smalltalk的なメッセージパッシングによるオブジェクト指向が指導的設計思想として背景にあります。 是非はともかく、そうした設計思想

                                                                            DDDとロラン・バルト
                                                                          • GitHub - lyokha/nginx-haskell-module: A comprehensive web framework aimed at building custom Haskell handlers for the Nginx Web Server

                                                                            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 - lyokha/nginx-haskell-module: A comprehensive web framework aimed at building custom Haskell handlers for the Nginx Web Server
                                                                            • Functorio

                                                                              You might have heard people say that functional programming is more academic, and real engineering is done in imperative style. I’m going to show you that real engineering is functional, and I’m going to illustrate it using a computer game that is designed by engineers for engineers. It’s a simulation game called Factorio, in which you are given resources that you have to explore, build factories

                                                                                Functorio
                                                                              • ElixirとHaskellの根底にある同じもの、そして、Elixirが辿った道

                                                                                本当のDXはSF的で未来志向、そしてサイバーパンク【from 総務省 ICT技術セミナー「自分ごとにするDX」】

                                                                                  ElixirとHaskellの根底にある同じもの、そして、Elixirが辿った道
                                                                                • 【2023年版】今年生まれた新しいプログラミング言語を紹介! - Qiita

                                                                                  はじめに あなたの好きなプログラミング言語は何ですか? これまで多くのプログラミング言語が生まれてきました。Wikipedia の言語一覧を見てみると、非常に多くのプログラミングが存在することを読み取れます。 しかし、近年、「人気な言語」や「よく使われる言語」のランキングを見てみると、順位の変化はありますが、出てくる言語はほとんど変わらなくなってきました。もちろん、人気の言語は人気たる理由がありますが、マイナーな言語にも個性があり、学んでみる価値があると思います。新たなプログラミング言語との出会いで、人生が変わることもあるかもしれません。 この記事では、最近生まれた新しいプログラミング言語をいくつか紹介します。人生を変えるようなプログラミング言語との出会いのきっかけとなれば幸いです。 また、おまけとして、「新しいプログラミングを探す方法」についても考えてみたので、新たな言語を探す旅に出たい

                                                                                    【2023年版】今年生まれた新しいプログラミング言語を紹介! - Qiita