並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 701件

新着順 人気順

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

  • Strict拡張を使用する際の注意点 - Haskell-jp

    Tweet Haskellは他の多くのプログラミング言語と異なった特徴を備えており、しばしばそれらが議論を呼ぶことがあります。その中でも特によく俎上に上がるのが、遅延評価です。遅延評価は、適切に扱えば不要な計算を行わず、計算資源を節約してくれるステキな仕組みですが、一歩使い方を間違うと「サンク」という「これから実行する(かも知れない)計算」を表すオブジェクトが無駄に作られてしまい、却ってメモリー消費量が増えてしまう、などといった問題を抱えています。この現象は「スペースリーク」と呼ばれ、かつて専門のAdvent Calendarが作られたことがあるほど、Haskeller達の関心を集めてきました。 そんなHaskeller達の悩みの種を軽減しようと、GHC 8.0以降、StrictとStrictDataという言語拡張が搭載されました。これらの拡張は、大雑把に言うと、 StrictData:

      Strict拡張を使用する際の注意点 - Haskell-jp
    • 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

      • Implementing HTTP/3 in Haskell - あどけない話

        Mew.org is now speaking HTTP/3 (HTTP/2 over QUIC). If you gain access to the site using Firefox Nightly, the first connection would be HTTP/2 then the following connections should be HTTP/3 led by Alt-Svc:. Firefox Nightly This article explains insights which I found through the implementation activities of QUIC and HTTP/3 in Haskell. HTTP/2 server library I started implementing QUIC in January 20

          Implementing HTTP/3 in Haskell - あどけない話
        • Fix-ing regular expressions

          TL;DR: We add variables, let bindings, and explicit recursion via fixed points to classic regular expressions. It turns out that the resulting explicitly recursive, finitely described languages are well suited for analysis and introspection. It’s been almost a year since I touched the kleene library, and almost two years since I published it – a good time to write a little about regular expression

          • 数式からいい感じに図表が生成できてしまう! Penroseを試す (SIGGRAPH 2020) - Qiita

            Penroseとはなにか Penroseは、数式に近い数学的表現から、細かなパラメータの指定なく、いい感じに図表を生成してくれる、カーネギーメロン大発、SIGGRAPH 2020に採択されたプロジェクトです。以下に、論文より、自動生成された図表を抜粋します。 数式にとどまらず、コンピュータグラフィックスのメッシュ図示など、幅広い表現に使えます。 Penroseは、数式に近い数学的表現から、細かなパラメータの指定なく、いい感じに図表を生成してくれる、カーネギーメロン大発、SIGGRAPH 2020に採択されたプロジェクトです。 数式にとどまらず、コンピュータグラフィックスのメッシュ図示などにも使えます。 まずは筆頭著者のKatherine Ye氏のTweetにつけられた動画をご覧ください。 今日現在(2020.6.7)、紹介動画のPenrose Web IDEは未公開 (今後公開予定とのこと

              数式からいい感じに図表が生成できてしまう! Penroseを試す (SIGGRAPH 2020) - Qiita
            • 浮動小数点数オタクが AtCoder Beginner Contest 169 のC問題をガチで解説してみる - Qiita

              どうも、浮動小数点数オタクのmod_poppoです。 昨日開催された ABC169 の C 問題が浮動小数点数の罠な問題だったらしいので、どこが罠なのか、そしてどうすれば罠を回避できるのかを解説してみます。 また、典型的な誤答に対しては、それを落とすためのテストケースも用意しました。 問題文(引用) まず最初に問題文を引用しておきます。 AtCoder Beginner Contest 169 | C - Multiplication 3 問題文 $A\times B$ の小数点以下を切り捨て、結果を整数として出力してください。 制約 $0\le A\le 10^{15}$ $0\le B<10$ $A$ は整数 $B$ は小数第 2 位まで与えられる 入力 入力は以下の形式で標準入力から与えられる。

                浮動小数点数オタクが AtCoder Beginner Contest 169 のC問題をガチで解説してみる - Qiita
              • Monoidクラスのインスタンスにすることがうまくいかない

                1newtype MyAny = MyAny {getMyAny :: Bool} deriving (Eq,Ord,Read,Bounded,Show) 2 3instance Monoid MyAny where 4 mempty = MyAny False 5 MyAny u `mappend` MyAny v = MyAny (u || v) と書いたファイルをghciに読み込ませると file13.hs:22:10: error: • No instance for (Semigroup MyAny) arising from the superclasses of an instance declaration • In the instance declaration for ‘Monoid MyAny’ | 22 | instance Monoid MyAny where

                  Monoidクラスのインスタンスにすることがうまくいかない
                • Fixing Space Leaks in Ghcide

                  Summary: A performance investigation uncovered a memory leak in unordered-containers and performance issues with Ghcide. Over the bank holiday weekend, I decided to devote some time to a possible Shake build system performance issue in Ghcide Haskell IDE. As I started investigating (and mostly failed) I discovered a space leak which I eventually figured out, solved, and then (as a happy little acc

                  • Go製のToolをHaskellで実装する - Qiita

                    初めに 最近Haskellの学習としてGo製のToolをHaskellで実装するようにしています。 Haskellでなにかしら作りたいと考えていて、そういえばGo製のToolはよく作られているから面白そうなものありそうだなと思ったのがきっかけです。 mockサーバであるhttplabをHaskellで作ることにしました。 まだ100%の実装ができていないのですが、ある程度形ができたので記事を書くことにしました。 ソースコードはこちらにあります。 Haskellでbrickというライブラリを使っていますが、使い方等は以前書いた記事を参考してください GoもHaskellも至らぬところがあるので間違った箇所はアドバイスや助言をいただけると嬉しいです。 HaskellとGoもさほど違いがない箇所があったので、比較していきます。 引数のパース Goではpflagを使ってパースしています。 pfla

                      Go製のToolをHaskellで実装する - Qiita
                    • GitHub - vekatze/neut: A dependently-typed programming language with static memory management

                      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 - vekatze/neut: A dependently-typed programming language with static memory management
                      • Error Messages in Haskell, and how to Improve them

                        Main.hs:3:11: error: • No instance for (Num a) arising from a use of ‘+’ Possible fix: add (Num a) to the context of the type signature for: foo :: forall a. a -> a -> a • In the expression: a + b In an equation for ‘foo’: foo a b = a + b | 3 | foo a b = a + b | ^^^^^ On a pure technical level, this is correct. The usage of (+), as a function with type signature (Num a) => a -> a -> a, causes a co

                        • Functional Design and Architecture (First Edition)

                          Important: this is the First Edition of the book. * Consider buying Functional Design and Architecture (Second Edition) by Manning instead. * See also my new book Pragmatic Type-Level Design. FDaA is a fundamental book about Software Design in Haskell and other functional languages. The main idea of this book is to provide a comprehensive source of knowledge, and a complete methodology for buildin

                            Functional Design and Architecture (First Edition)
                          • Haskellの例外処理事情 - Qiita

                            Haskellを使うたびに例外について調べ直す癖がついているので、諸々をまとめておく。 TL;DR 部分関数を使うな。 失敗可能性はMaybe?Either?IO? -> 迷ったらMonadThrowを使え。 予めエラー型を統一しないと例外処理クソだるいんだけど -> SomeExceptionを使え。 ライブラリどれ使えばいいの? -> safe-exceptionsを使え。 部分関数を使うな 死の化身。部分関数自体を避けるしか方法はない。用意された部分関数を使う場合は必ずラップすること。 パターンマッチの失敗やundefined, error等のピュアな文脈での例外は、IOモナドの中でのみキャッチすることができる。しかし、ピュアな文脈で解決できる問題を神モナドで解決するのはあまり嬉しくない。ピュアなものはピュアなものに、神のものは神に返すべきである。 もし失敗をどの型で表すのか迷ったら

                              Haskellの例外処理事情 - Qiita
                            • The state of GHC on ARM — The Glasgow Haskell Compiler

                              bgamari - 2020-05-15 The ARM architecture represents an overwhelming majority of CPUs on this planet. Furthermore, there are now GHC users (myself included) who stake their livelihood on being able to deploy their Haskell applications on ARM-based platforms. As such, the task of making GHC run well on ARM has never been more important. This task has a long history, being the project that brought m

                              • たくさんあるプログラミング言語からどれを選ぶべきか:新刊ピックアップ

                                今,何を学ぶべきかがわかる プログラミング言語は世に多く存在します。C,Java,Python,Ruby,JavaScript,PHP……。パッと名前が上がるようなメジャーな言語でも10個以上はあるはずです。マイナーな言語も加えれば100,200も上回るでしょう。さらに世の中には常に新しい言語が出てきます。まさしく,星の数ほどプログラミング言語があるような状態です。 プログラミング言語を学び始める人の多くが抱くのが,言語はたくさんあるらしいがどれを学べばいいのだろうという悩みです。どういったプログラミング言語を使えば,何を実現できるか,簡単かは初心者にはなかなか想像できません。経験者にしても,次にどのプログラミング言語を学ぶべきかというのは重要な問題です。 最初に学ぶプログラミング言語は「定番」にすればいい? プログラミング言語の入門というと,定番として名前が出てくるのはCやJavaといっ

                                  たくさんあるプログラミング言語からどれを選ぶべきか:新刊ピックアップ
                                • Chalmers Functional Programming Group - Home

                                  Welcome to the Functional Programming group! FP talks Members (TODO) Aarne Ranta, Professor Abhiroop Sarkar, PhD Student Alejandro Russo, Professor Alex Gerdes, Senior Lecturer Ana Bove, Associate Professor Andreas Abel, Associate Professor Carl-Johan (Carl) Seger, Research Professor Henrik Valter, PhD Student Jean-Philippe Bernardy, Associate Professor John Hughes, Professor Koen Claessen, Profes

                                  • recursion-algorithms

                                    ██████╗ ███████╗ ██████╗██╗ ██╗██████╗ ███████╗██╗ ██████╗ ███╗ ██╗ ██╔══██╗██╔════╝██╔════╝██║ ██║██╔══██╗██╔════╝██║██╔═══██╗████╗ ██║ ██████╔╝█████╗ ██║ ██║ ██║██████╔╝███████╗██║██║ ██║██╔██╗ ██║ ██╔══██╗██╔══╝ ██║ ██║ ██║██╔══██╗╚════██║██║██║ ██║██║╚██╗██║ ██║ ██║███████╗╚██████╗╚██████╔╝██║ ██║███████║██║╚██████╔╝██║ ╚████║ ╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═══

                                    • IDE: The State of Haskell IDEs

                                      Posted on May 8, 2020 by Luke Lau It is an exciting time for Haskell tooling. As many might be aware, the past year has seen a number of significant changes to the ecosystem, with one of the most noticeable ones being the marriage of ghcide and haskell-ide-engine. We now have contributors from both projects working towards a unified vision of a language server, the haskell-language-server, which a

                                      • 「関数型プログラミング」と「オブジェクト指向」ってなんやねんPython編 - Qiita

                                        こ の 記 事 は 土 木 専 攻 の エ ン ジ ニ ア が 鼻 水 た ら し な が ら 書 き 上 げ た 努 力 の 結 晶 で す 。 ご 指 摘 は マ サ カ リ で な く 真 っ 白 な タ オ ル で も 優 し く 投 げ て く だ さ い 。 ことの発端 ぼく「いやーしかしぼくもそこそこ長いことPyhton書いとるしもうPython完全に理解したんちゃうんかなー!」 ぼく「久々にdocs.python.orgでもみるかー。今見たら全部わかるんちゃうかwww」 ぼく「関数型プログラミング HOWTO…?何やねんそれ…」 ぼく「えーと…?ほとんどのプログラミング言語は手続き型?で、入力に対して行うべきことをコンピューターに教える指示リスト?オブジェクト指向?はオブジェクトの集まりを操作する。オブジェクトには内部状態があり、その状態を調べたり変更したりするためのメソッ

                                          「関数型プログラミング」と「オブジェクト指向」ってなんやねんPython編 - Qiita
                                        • HerokuにHaskellで作ったWebサービスを公開する簡単な方法 - Qiita

                                          趣味で作ったWebアプリをHerokuにデプロイしたのですが、4年前にまとめたHerokuにHaskellのアプリを公開するに比べてかなりデプロイが簡単になっていたので設定方法をまとめておこうと思います。 GW暇だったので簡単なバーチャルオフィスみたいなアプリを作りましたー!バックエンドはHaskellとServantで作ってます✌/ lotz84/remote-househttps://t.co/VWPRPtMN87 pic.twitter.com/CbkZ0IpMss — lotz (@lotz84_) May 4, 2020 設定方法 結論、Dockerを利用したデプロイがとても楽です。 事前にHeroku側のアプリを新規作成しデプロイするWebサービスを用意しておきましょう。ここではweb-serviceという名前のプロジェクトを作成したと仮定しますので以下のファイル名などは適宜置

                                            HerokuにHaskellで作ったWebサービスを公開する簡単な方法 - Qiita
                                          • GitHub - lotz84/remote-house: 話したい人々と話しかけられたい人々を繋げるWebアプリ

                                            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 - lotz84/remote-house: 話したい人々と話しかけられたい人々を繋げるWebアプリ
                                            • Haskellで超簡単にWebアプリケーションを作る(モナドも出てこないよ) - Qiita

                                              はじめに Haskellは静的純粋関数型プログラミング言語と言われるジャンルの言語であり、型や状態に厳しくWeb開発に向いていないと思われる方が多いと思います。 しかし 型の力によるクリーンアーキテクチャ 抽象化による高級な記述 圧倒的な型推論による軽量言語のような書き心地 意外と高いシングルスレッド性能 パフォーマンスも非常に高く, 書きやすい並行並列処理 上記のような利点があり、実はWeb開発に非常に有用な言語であると思っています。 HaskellでのWeb開発における標準的なインターフェースであるwai(web application interface)、そのインターフェースのアプリケーションを動作させる標準的なサーバーであるwarpという二つのライブラリを用いてボトムアップでWebアプリを作っていき、徐々に応用させていこうと思います。 waiとwarpはHaskellのWeb開発

                                                Haskellで超簡単にWebアプリケーションを作る(モナドも出てこないよ) - Qiita
                                              • Speeding up the Sixty compiler | Olle Fredriksson's blog

                                                Speeding up the Sixty compiler by Olle Fredriksson 2020-04-23 Background I'm working on a reimplementation of Sixten, a dependently typed programming language that supports unboxed data. The reimplementation currently lives in a separate repository, and is called Sixty, though the intention is that it going to replace Sixten eventually. The main reason for doing a reimplementation is to try out so

                                                  Speeding up the Sixty compiler | Olle Fredriksson's blog
                                                • WSLへのHaskellのインストール並びにVisual Studio Codeの環境設定 - Qiita

                                                  by Shuichi Ohtsu ビデオ解説(日本語) https://youtu.be/FLqdj87pE9U ビデオ解説(英語) https://youtu.be/aC3-Ur-mNM0 動作環境 WSL(Windows Subsystem for Linux)にインストールされたUbuntuにHaskellをインストールする方法をご紹介いたします。 Haskellは、関数を中心にしてプログラムを組み立てる、プログラミング言語です。 Haskellの概要や文法については、Referenceをご覧ください。 Ubuntuのアップデート まずWSL上のUbuntuを開きます。 まず、sudo apt updateを実行し、更新情報を取得します。 次に、sudo apt upgradeを実行し、システムを更新します。 最初にコマンドラインから cd /mnt/cと打ち込んでWindows C

                                                    WSLへのHaskellのインストール並びにVisual Studio Codeの環境設定 - Qiita
                                                  • Haskellを業務で使う、カジュアルに - Haskell-jp

                                                    Link to hereはじめに この記事では、Haskellを業務でカジュアルに使う観点やヒントについて、簡単に紹介します。 Haskellを業務で使える局面は、以下のようにいくつか考えられます。 「プロダクト」の開発用言語として、Haskellを使う 「作業」の支援・加速用に、Haskellを使う 「思考」の支援・加速用に、Haskellを使う つまり、プロダクトの開発用言語としてHaskellを用いない業務形態においても、上記2や3のケースとして、Haskellを使用できます。すなわち、Haskellは幅広い局面でカジュアルに、つまり気軽に手軽に使用できます。 本記事では、特に、上記の2と3について、いくつかの観点やヒントや例を紹介します。 なお、上記は、Haskellを用いる場合には限りません。Python, Perl, Ruby, Rust, Scala, OCaml, Cloj

                                                      Haskellを業務で使う、カジュアルに - Haskell-jp
                                                    • REST APIを簡単にMockできるツールSmopeckの紹介 - Qiita

                                                      はじめに 最近のウェブアプリではバックエンドをREST-APIとして用意し、 フロントエンドはREST-APIから引っ張ってきたデータをReactやVueといったフレームワークで描画することが多いと思います。 このようなウェブアプリを開発する際に問題となるのはバックエンドとフロントエンドを並行して開発しにくいということです。バックエンドができなければフロントエンドはどんなデータが来るのかわからず描画できませんし、バックエンドもフロントエンドからどのようなリクエストが来るか決まらないと実装ができません。 そのため、最初にREST-APIの仕様を定めて、その仕様に沿ったモックサーバを作成し、 フロントエンドはバックエンドが完成するまでそれを用いて開発を進めるということが行われます。 さてそのREST-APIの仕様とはどのように記述されるのでしょうか? 1. 自然言語で記述する 一番よくある場合

                                                        REST APIを簡単にMockできるツールSmopeckの紹介 - Qiita
                                                      • Haskellを書き始める(勉強進捗メモ) - niszetの日記

                                                        初心者なので…。 昨日ふと思い立って書き始めた。やはり読むのと書くのでは全然違う。知ってることと出来ることは違うように。 この記事はどこで躓いていたのかを記すだけのメモ的な日記です。あとで振り返るため。なので、有益なことは書かれていません。 また、半月に1度(月2回)を目途に進捗を書いていきたい。とはいえ、普段投稿する記事とどう分けるのかは何も決まっていません。まぁやってれば固まるさ… GHCiで複数行入力 関数を定義する場合などは複数行一気に入力をしないといけないので、:{ ... :} が必要。最後が:}である点に注意。何度も書くようであればファイルに書いた方が良い。 deriving Show これをつけないと、GHCi上で表示しようとしたときに怒られる。 識別子 dataの左辺と右辺で型とか値とかコンストラクタとか色々呼び名があってまだ整理できていない。 今後、このあたりを参照、調

                                                          Haskellを書き始める(勉強進捗メモ) - niszetの日記
                                                        • リテラルにTypeApplicationsを使えない理由とその対策、あるいはTypeApplicationsの注意点 - Qiita

                                                          リテラルにTypeApplicationsを使えない理由とその対策、あるいはTypeApplicationsの注意点Haskellghcghc-extensions 最近のGHCにはTypeApplicationsという拡張があります。これを使うと show @Int 42 というふうに多相関数の型を明示的に指定できます(型適用)。 ところで、Haskellの数値リテラルや、OverloadedStrings拡張下での文字列リテラルはオーバーロードされた型を持ちます。オーバーロードは便利ですが、状況によっては型が曖昧となってしまいます。 曖昧さを解決するには、型を明示すれば良いですね。しかし、通常の型注釈で 42 :: Int とは書けても、型適用を使って 42 @Int とは書けません。 通常の型注釈 :: には、優先順位が低いという問題があります。そのため、例えば「xの3乗」を型の曖昧

                                                            リテラルにTypeApplicationsを使えない理由とその対策、あるいはTypeApplicationsの注意点 - Qiita
                                                          • Dropboxが同期エンジンを全面的に改良、新エンジンはどこが改善されているのか?

                                                            クラウドストレージサービス「Dropbox」が、ローカルストレージとクラウドストレージを同期するためのエンジンを全面的に改良しました。改良に際しては「テストのしやすさ」に焦点が当てられており、新エンジンの概要をDropboxのソフトウェアエンジニアであるアイザック・ゴールドバーグ氏が解説しています。 Testing sync at Dropbox - Dropbox https://dropbox.tech/infrastructure/-testing-our-new-sync-engine 以前の同期エンジンでは、すべての情報をローカルのメタデータに記載し、メタデータの情報を元にローカルとクラウドとの情報を同期していました。 新しい同期エンジン「Nucleus」では、ローカルの情報を表す「ローカルツリー」と、クラウド上の情報を表す「リモートツリー」、さらに「最後にローカルとクラウドの同

                                                              Dropboxが同期エンジンを全面的に改良、新エンジンはどこが改善されているのか?
                                                            • Terminal Coalgebra as Directed Limit

                                                              Terminal Coalgebra as Directed Limit Posted by Bartosz Milewski under Programming 1 Comment Previously, we talked about the construction of initial algebras. The dual construction is that of terminal coalgebras. Just like an algebra can be used to fold a recursive data structure into a single value, a coalgebra can do the reverse: it lets us build a recursive data structure from a single seed. Her

                                                                Terminal Coalgebra as Directed Limit
                                                              • 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

                                                                • Testing sync at Dropbox

                                                                  …and how we rewrote the heart of sync with confidence. Executing a full rewrite of the Dropbox sync engine was pretty daunting. (Read more about our goals and how we made the decision in our previous post here.) Doing so meant taking the engine that powers Dropbox on hundreds of millions of user’s machines and swapping it out mid-flight. To pull this off, we knew we would need a serious investment

                                                                    Testing sync at Dropbox
                                                                  • GHCの型レベル自然数を理解する - Qiita

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

                                                                      GHCの型レベル自然数を理解する - Qiita
                                                                    • 4歳娘「パパ、constしか使わないで?」 - Qiita

                                                                      休日ワイ ワイ「(カタカタカタカタカタ・・・)」 ワイ「(ッターーーーン!!!)」 ワイ「あっ、ぜんぶ消えてもうた」 娘(4歳)「パパ?」 娘「私のお願いしたシステム、作ってくれた?」 娘「曜日によって色々なメッセージが表示されるシステム」 ワイ「おお、鋭意製作中やで(震え声」 ワイ「今、休日かどうかを表示する機能のコーディングを開始したところや」

                                                                        4歳娘「パパ、constしか使わないで?」 - Qiita
                                                                      • タイル型ウィンドウマネージャXmonadを使う(基礎編) | クロの思考ノート

                                                                        こんにちは。今回のテーマは「タイル型ウィンドウマネージャXmonadを使う(基礎編)」です。タイル型ウィンドウマネージャとしてはAwesomeを紹介していましたが、同様なタイル型ウィンドウマネージャとしてXmonadも気に入って使っているので紹介したいと思います。ネット上に多くの設定例や情報があるのですが、今回は自分の備忘録も兼ねてまとめておきたいと思います。今回は基本的な使い方を扱います。詳細な設定とカスタマイズについてはタイル型ウィンドウマネージャXmonadを使う(カスタム編)をご覧ください。 [adsense02] 【目次】 Xmonadとは? Xmonadのインストール 設定とコンパイル 起動 再起動 Xmonadの終了 Xmonadの基本的な使い方 xmonad起動時時に他のプログラムを実行する 日本語入力環境について xmobarを使おう Xmonadとは? XmonadはH

                                                                        • それでもRuby、Python、JavaScript(あるいはJava)を使う方々へ.md · GitHub

                                                                          それでもRuby、Python、JavaScript(あるいはJava)を使う方々へ.md 前置き この記事は静的型付け言語が理解されないことに業を煮やし……いや、ブチギレてしたためたものです。そのため多少過激な表現を伴います 性質上どうしても特定の人々に攻撃的な内容になります リーナスの下品な発言の引用は非現実的です。わたしが5人くらいいれば現実的なのですが…… Pythonの機械学習分野は例外です。ですがここもいずれ静的型付け言語に取って代わられるべきであると考えています(そもそもFFIが得意と言うだけでPython使われてるだけだし) 「型」の概念が石器時代で止まっている方へ まずはこちらをお読みください。 私と型システムとポエム - The curse of λ https://myuon.github.io/posts/type-system-poem/ 特に「よくある誤解」のこ

                                                                            それでもRuby、Python、JavaScript(あるいはJava)を使う方々へ.md · GitHub
                                                                          • adventures in uncertainty: Towards Faster Iteration in Industrial Haskell

                                                                            2020-04-14 I’ve been writing Haskell in industry for the last eight years, at four different employers. I’ve been a full-time Haskell programmer since 2014. Though I never anticipated this turn of events, I’m certainly not complaining: I truly like writing Haskell, and I’m experienced enough in it to write at or exceeding the speeds at which I can write in the imperative languages I used before Ha

                                                                            • Micro C, Part 1: Parsing – Joseph Morag

                                                                              Welcome to the beginning of the compiler proper! If you haven't yet, check out part 0 for a description of the project and help setting up the development environment. A note about the presentation structure: We will be going through each phase of the compiler mostly in its entirety before moving onto the next phase. Most other tutorials and books don't do this. Instead, they build up the language

                                                                              • HaskellのEitherについて - Qiita

                                                                                HaskellのEitherモナドとそれに関連するData.Eitherの関数についてまとめました。この記事で使われているGHCのバージョンは8.8.3です。 Eitherとは Eitherとは、Haskellに標準で入っているモナド・型の1つです。GHCiで定義を見てみましょう。

                                                                                  HaskellのEitherについて - Qiita
                                                                                • DBなど副作用が絡む場合の自動テストをどう行うか

                                                                                  質問をすることでしか得られない、回答やアドバイスがある。15分調べてもわからないことは、質問しよう!新規登録して質問してみよう

                                                                                    DBなど副作用が絡む場合の自動テストをどう行うか