タグ付けされた質問 「reduction」

1
Perl 6のreduce関数とreduceメタオペレーターは異なる結果を出します
my @s=<1 2 3 2 3 4>; say reduce {$^a < $^b}, @s; say [<] @s; # -------- # True # False 私の質問は2つあります。第1に、なぜ還元メタ<オペレーターがオペレーターを異なる方法で処理するのですか?削減metaopは、trueからfalseへの最初の変更時にその変更を保持する変数を使用していると推定されているようです。 say [\<] @s; # ---------- # (True True True False False False) 次に、reduce関数内でもこれを使用します。つまり、reduce関数の波括弧内にコードを導入して、reductionメタ演算子と同じ結果が得られるようにします。どうすればできますか?ありがとうございました。
12 raku  reduction 

1
Haskellsウィークヘッドノーマルフォーム
私はいくつかのイライラするものにつまずきました。私はhaskellが弱い頭の正規形(WHNF)で機能することを知っており、これが何であるかを知っています。次のコードをghciに入力します(私の知識では、式をWHNFに削減する:sprintコマンドを使用しています)。 let intlist = [[1,2],[2,3]] :sprint intlist 与えintlist = _これますが、完全に私には意味。 let stringlist = ["hi","there"] :sprint stringlist 与えstringlist = [_,_] これは、すでに私を混乱させる。しかしその後: let charlist = [['h','i'], ['t','h','e','r','e']] :sprint charlist 意外と与える charlist = ["hi","there"] 私がHaskellを理解している限り、文字列は文字のリストに他なりません。これは、型"hi" :: [Char]とを確認することで確認できます['h','i'] :: [Char]。 私の理解では、上記の3つの例はほぼ同じ(リストのリスト)であり、したがって同じWHNF、つまり_に削減する必要があるため、混乱しています。何が欠けていますか? ありがとう
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.