タグ

functionに関するrydotのブックマーク (17)

  • 「関数型Ruby」という病(7) - Elixir's Pipe operator |> in Ruby - ( ꒪⌓꒪) ゆるよろ日記

    最近Elixirが人気ですよね。Erlang VM上でOTPの恩恵を受けながら簡潔な記法で並行処理を書ける言語ということで話題になっていますな? Elixirは関数型プログラミングのエッセンスを取り入れていると言われており、そのひとつにPipe演算子(|>) がある。 Enumerables and Streams - Elixir Kernel – Elixir v1.1.1 Pipe演算子(|>)とは何かというと、左辺の値を右辺の関数の第1引数に適用する演算子。 iex> [1, [2], 3] |> List.flatten() [1, 2, 3] 上記のコードは、左辺の[1, [2], 3] を 右辺の List.fatten(list) の引数として渡す。 このPipe演算子は、Stream モジュールなどと合わせて利用するとデータが左から右へ流れている模様をコードとし視覚化する

    「関数型Ruby」という病(7) - Elixir's Pipe operator |> in Ruby - ( ꒪⌓꒪) ゆるよろ日記
  • 正格評価と遅延評価(基本編)

    今回からスペースリークに関することに踏み入ります。 まずは正格評価と遅延評価の動作についてです。 型と動的な挙動 まず型についてはここでは触れません。Haskellの型は非常に複雑なものです。型についてメンタルモデルを構築する際もλ計算のシンプルさを念頭におくと非常に理解しやすいとは思いますが、ここでは扱いません。 なので型クラス(type class)や型パラメータ(parametric polymorphism)や型関数(type function)といったものは出てきません。 昔僕も静的な箇所と動的な箇所の違いが見えなかった感覚を少しだけ覚えていますが(スクリプト言語しか書いていないと陥りそうです)、静的な箇所とはプログラムを動作させなくても決定できるところを指すとしましょう。慣れればちゃんと項レベルと型レベルの違いはきちんとわかるものです(ここでは型レベルと項レベルの違いについても

    正格評価と遅延評価(基本編)
  • イージング関数チートシート

    イージング関数は、時間の経過に伴うパラメーターの変化率を指定します。 現実の物体は、即座に動いたり停止したりすることはなく、一定の速度で動くこともほとんどありません。引き出しを開けるとき、私たちは最初に引き出しをすばやく引き出し、それが外に出てくるにつれてゆっくりと動かします。床に向けてなにかを(例えばペンのような)放すと、最初に重力によって下に向かって加速し、床に当たった後上に跳ね返ります。 あなたの必要なイージングを選択して、あなたのプロジェクトの中で使用してみてください。

    イージング関数チートシート
  • Prime-counting function - Wikipedia

    2 Table of π(x), ⁠x/log(x)⁠, and li(x)

    Prime-counting function - Wikipedia
  • A simple example showing that IO doesn't satisfy the monad laws?

  • How does seq force functions?

    Background This question arises from a challenge Brent Yorgey posed at OPLSS: write a function f :: (Int -> Int) -> Bool that distinguishes f undefined from f (\x -> undefined). All of our answers either used seq or something like bang patterns that desugar into seq. For example: f :: (Int -> Int) -> Bool f g = g `seq` True *Main> f undefined *** Exception: Prelude.undefined *Main> f (\x -> undefi

    How does seq force functions?
  • Why is seq bad?

  • 誤差関数 - Wikipedia

    誤差関数のグラフ相補誤差関数のグラフ 誤差関数(ごさかんすう、英: error function)は、数学におけるシグモイド形状の特殊関数(非初等関数)の一種で、確率論、統計学、物質科学、偏微分方程式などで使われる。ガウスの誤差関数とも。定義は以下の通り。 相補誤差関数 (英: complementary error function) は erfc と表記され、誤差関数を使って以下のように定義される。 スケーリング相補誤差関数(英: scaled complementary error function)[1] erfcxも定義される (アンダーフロー[1][2]を避けるために、 erfc の代わりに用いる)。 複素誤差関数 (英: complex error function) はと表記され、やはり誤差関数を使って次のように定義される(Faddeeva関数とも呼ぶ)。

    誤差関数 - Wikipedia
  • まさに忍者...JavaScriptの関数は第一級オブジェクト - maeharinの日記

    JavaScriptの関数は「ファーストクラスオブジェクト(第一級オブジェクト)」である。なので、変数に代入したり、配列にセットしたり、他の関数にわせたりできる。この変幻自在っぷりはすごい。newでコンストラクタになるところなんて変化の術のようだ。無名関数の即実行は影縫いの術みたいだし、callやapplyでthisの値を変えるとこなんて口寄せの術を彷彿とさせる。正に忍者 |--)ノシュッ==卍 変数に代入する var foo = function() {console.log('foo');}; foo(); 配列にセットする var fnList = [ function() {console.log('foo');}, function() {console.log('bar');}, function() {console.log('piyo');} ]; for(var i =

    まさに忍者...JavaScriptの関数は第一級オブジェクト - maeharinの日記
  • Y コンビネータって何? - IT戦記

    このエントリの 親友へ。ブログを書こう。 - IT戦記 y がブログを始めたみたいなので、読んでみた。 で、最新のエントリを読んでみたら、 Y コンビネータというものについて書いてあったので、 Y Combinatorが凄すぎる! - yuji1982の日記 Y コンビネータって何ってところから、自分でもいろいろ考えてみた。 結局なんなのかさっぱり分からなかったんですが、自分が考えたことをまとめておく まず、フィボナッチ数を求める fib を定義する var fib = function(n){ return (n <= 2) ? 1 : (arguments.callee(n-1) + arguments.callee(n-2)); }; fib(10); おお! JS すげー!名前は n しか使ってねーよ! めでたし、めでたし。。。。じゃなくて! JS が素晴らし過ぎて話が終わってしま

    Y コンビネータって何? - IT戦記
  • Scala 関数メモ(Hishidama's Scala Function Memo)

    概要 C言語にはクラスという概念が無いので、定義できるのは全て「関数」(と呼ぶ)。 Javaではクラス内にしか定義できないので、全て「メソッド」。 Scalaは関数型言語なので、defで定義されるものを「関数」と呼ぶ…かと言うと、そうでもない。 Scalaにはオブジェクト指向言語の特徴も含まれているので、クラス(やトレイト)内で定義されたdefは「メソッド」と呼ばれることも多いようだ。 自分は、使い方に応じて「メソッド」と「関数」を呼び分けている。 classやtraitの直下でdefで定義され、呼び出し時に「インスタンス.」(「this.」「super.」やthis省略も含む)を付けて呼び出すものは「メソッド」。 そうでないものは概ね「関数」。 Scala内部では(JavaVM上で稼動することもあって)全ての関数はメソッドとして定義されるが、表面上classやtraitに属していないもの

  • Hayoo! Haskell API Search

    Hayoo! - Haskell API Search Search Hackage by function, signature or package. How to use Hayoo! by Example About Hayoo!

  • 檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」

    気まぐれと偶然となりゆきで、ここ2,3回はモナドを話題にしました。googleで「モナド」を引いてザッと眺めると、「モナドはむずかしいー」とか「モナドで挫折した」みたいな雰囲気が感じられて、説明芸人の血が少し騒ぎましたね。「なら、予備知識ゼロでモナドの説明をしてやろうじゃねーか」と。 タイトルはだいぶ煽っちゃった…… けど、ハッタリじゃないつもり…… けど、実際はどうかな? ※印刷のときはサイドバーが消えます。 内容: とりあえず、あたりさわりなくモナドの来歴を紹介する こんな課題を考えてみよう:副作用付き計算 カウントアップする関数達 カウントアップしたい意志を戻り値で伝える それでは、いったい誰がカウントアップをするのだ 関数の引数の型をCountup型にまで拡張する そして、これがモナドだ とりあえず、あたりさわりなくモナドの来歴を紹介する 今からここで説明する「モナド(monad)

    檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」
  • Island Life - 動的型のメリットは「決断の遅延」かもしれない

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...ループを使わずに1から100までMore... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチ

    Island Life - 動的型のメリットは「決断の遅延」かもしれない
  • Beautiful differentiation

    March 2009 Appeared in ICFP 2009 Abstract Automatic differentiation (AD) is a precise, efficient, and convenient method for computing derivatives of functions. Its forward-mode implementation can be quite simple even when extended to compute all of the higher-order derivatives as well. The higher-dimensional case has also been tackled, though with extra complexity. This paper develops an implement

  • Kernel density estimation - Wikipedia

  • 第5章 第2節

    第5章 Bスプライン曲線 第2節  Bスプラインの数学的定義 計算の仕組み いくつかの制御点から曲線または曲面上のある点を計算する場合、 各制御点に係数をかけて足し合わせることでその点の座標を求めます。 係数は制御点が与える影響力を示しており、 その係数を求める関数をブレンディング関数と言います。 Bスプライン曲線・曲面を求める数式は以下のようになります。 曲線 Bスプライン曲線は、n個の制御点列とn+p個のノット列から以下の式により定義されます。 式中のNi,p(u)はブレンディング関数です。 Bスプラインはブレンディング関数にBスプライン基底関数とよばれる関数を用います。 Piは制御点です。 pはBスプライン曲線の階数、p-1を次数といいます。 曲面 Bスプライン曲面は、n×m個の制御点列と、 u方向(n+p個)とv方向(m+q個)のノット列によって以下の式により定義されます。 制御点

  • 1