以前,Clojureで音楽組織プログラミングについて書いた。 それを今度はHaskellで書こうと思う。 Haskellによる音楽構造プログラミングについて。 プログラマが音楽することについて 音楽家でない人が新しい音楽を作ることだってある 現代音楽では有名なヤニス クセナキスという人がいました。彼は音楽家を目指す以前は、建築家であり数学に堪能な人でした。そして、音楽家を目指し、そして偉大な現代音楽家オリヴィエ・メシアンに、師事し、尋ねました。 音楽家になるために、私は音楽の理論を学びたい。何を学ぶべきでしょうか? そして、メシアンは言いました。 君は数学を知っている。なぜそれを作曲に応用しないのか。伝統的な修練は、あってもなくても同じではないか そして、クセナキスは気づきました。そして、音楽の構築に彼の持つ数学的な知識、建築の感覚を音楽に応用して、新しい音楽を作曲していきます。大変すごい
J. Functional Programming 9 (4): 355–372, July 1999. Printed in the United Kingdom c ! 1999 Cambridge University Press 355 A tutorial on the universality and expressiveness of fold GRAHAM HUTTON University of Nottingham, Nottingham, UK http://www.cs.nott.ac.uk/-gmh Abstract In functional programming, fold is a standard operator that encapsulates a simple pattern of recursion for processing lists.
Haskellの静的な型検査は強力ですが,プログラムの実行時に起こり得るすべての問題を解決できるわけではありません。例えば第5回で指摘したように,依存型を持たない現在の標準Haskellでは,検証できる問題の範囲に限界があります。また,FFIを使って呼び出す外部関数には,Haskellの型検査は行き届きません。実行前に静的に解決できない問題は,実行時に動的に解決する必要があります。このための手段を提供するのが例外処理です。 例外処理については,これまで何度か断片的に説明しましたが,全体像をまとめて解説したことはありませんでした。次回以降にFFIと例外処理との関係について説明する前に,今回はHaskellの例外処理についてきちんと説明しておきましょう。 例外処理の仕組みは,GHC 6.10に収録されるbase 4.0パッケージ以降で大きく変更されます。baseパッケージはデファクト・スタンダ
Yale Computer Science has moved Please bookmark our new URL http://cpsc.yale.edu If you are not automatically redirected to the new site in a few seconds, please click on the link above.
Introduction About this tutorial So what's Haskell? What you need to dive in Starting Out Ready, set, go! Baby's first functions An intro to lists Texas ranges I'm a list comprehension Tuples Types and Typeclasses Believe the type Type variables Typeclasses 101 Syntax in Functions Pattern matching Guards, guards! Where!? Let it be Case expressions Recursion Hello recursion! Maximum awesome A few m
モナドって結局何なのよ?¶ Haskell を勉強しようとすると必ず「モナド」ってのが出てきます。困ったものです。数学とか圏論とか関係があるらしくって、何が書いてあるんだか分からなくって嫌になってしまいます。でもね、Haskell って凄いらしいじゃないですか、格好良いらしいじゃないですか。ここはちょっとがんばって色々考えてみましょう。 そもそも Haskell って何なのよ?¶ 何なんでしょうね、Haskell って。コンピュータ言語らしいんです、あ、それは分かってると。良く挙げられる性質は次な感じ?: 関数型言語 強い型付け 遅延評価 参照透過 ここでちょっと型に関して見てみましょう。試しに Haskell の実装の 1 つである Hugs で 1 について考えてみます: $ hugs __ __ __ __ ____ ___ _____________________________
I’ve spilt this post into two so I can cover one concept from a couple of different angles. What I want to do first is explain the major elements of Functional Programming (FP) to those who, like me, might struggle with a lot of mathematical hoopla, Haskell and Lisp code, and second show by simple example where all this stuff is useful in the real world. Meaning I have struggled through the hoopla
TL;DR 簡潔で直感的に扱える、宣言的なRust向けのコマンドライン引数パーザーを作りました。 https://crates.io/crates/argopt モチベーション Rustにstructoptというライブラリがあります。これはコマンドライン引数をパーズするライブラリなんですが、僕はこのライブラリが大好きなんです。Rustのライブラリの中で一二を争うほど好きです。なんならコマンドラインツールをRustを書く理由の大部分がこのライブラリの存在といっても過言ではないかもしれません(過言ですけど)。 しかしstructoptも使い続けていると、どうにももっと便利にできるんじゃないのかと思う部分が出てきます。structoptでは名前の通りコマンドライン引数をstructで定義して、それに#[derive(StructOpt)] とStructOptをderiveすることでパーザーのコ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く