問題タブ [miranda]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
functional-programming - ミランダ エラーは 12 行目の [[char]] を [char] と統合できません
ミランダとのコーディングに問題があります関数型プログラミングの初心者なので、簡単な間違いをしなければ私を強く叩いてください。
とにかく、12行目でunifyin char with charに問題があるとエラーが発生します。私の考えは、単語のリストと一緒に追加されたファイルからの別のリストの両方になる辞書でフィルタリングすることによって、何かが正しく綴られているかどうかを確認することです
これは私の12行目です
これがこれまでの私のプログラムの残りの部分です
誰かが私が間違っていた場所を指摘できますか?
functional-programming - ミランダのwhileループとforループ
ミランダでwhileループまたはforループを実行する方法を探しています。
私は次のようなことをしようとしています
functional-programming - リストを通過するミランダ
リストを調べる簡単な方法はありますか?リストの5番目のデータにアクセスしたかったのですが、それがBであることがわかりませんでした。
リストを並べ替えることなくそれを行う方法はありますか?
functional-programming - ミランダでの症例定義の欠落
これを呼んでいると、ケース定義が欠落しています
私はこれをチェックしました、そしてそれは私がそれを何を送ってもそれ自身で働きます。
これは私がそれを呼んでいるところです(警告:それは今のところ少しひどく書かれています):
haskell - Haskell / Miranda: 関数の型を見つける
概要: これは Miranda 試験の過去の試験問題ですが、構文は Haskell に非常に似ています。
質問: 次の式の型とその機能は何ですか? (関数 length と swap の定義は以下に示します)。
ノート:
Haskell 構文でお気軽に返信してください - 星をポリタイプとして使用して申し訳ありませんが、誤って Haskell に変換したくありませんでした。基本的に、1 つの変数の型が * で、もう 1 つの変数の型が * である場合、それらは任意の型にすることができますが、両方とも同じ型でなければならないことを意味します。** がある場合、* と同じ型を持つことができますが、その必要はないことを意味します。Haskellの使い方でa,b,cなどに相当すると思います。
私のこれまでの仕事
長さの定義から、何かのリストの長さを見つけることができるので、これは次のようになります
定義から、swap は関数と 2 つのパラメーターを取り、2 つのパラメーターがスワップされた関数を生成すると思います。
foldr は二項関数 (plus のような) 開始値とリストを取り、その関数を使用してリストを右から左に折り畳みます。これは与える
関数合成では右結合であることを知っています。たとえば、最初のドット (.) の右側にあるものはすべて、最初のフォルダーへの引数として与えられるため、リストを生成する必要があります。
foldr 関数は単一の値 (リストを折りたたんだ結果) を出力するので、戻り値の型はポリタイプのリストではなく、ある種のポリタイプになることがわかります。
私の問題
ここからどこへ行くのか本当にわかりません。swap が別の引数を受け取る必要があることがわかりますが、この部分的な適用は全体が関数であることを意味しますか? 私はかなり混乱しています!
haskell - Haskell: リスト内包表記を使用してリストを分割する
リスト内包表記を使用してリストを半分に分割するにはどうすればよいですか?
例:もし私が持っていて[1,1,2,2,3,3,4,4,5,5]
、私が欲しいだけなら[1,1,2,2,3]
これまでの私の試み:
何かご意見は?
[注: これは実際には Haskell ではありませんが、似ています。! はリストの索引付けに使用され、# は長さを示します)
編集::
さて、それは
機能しますが、文字列ではなく数値のリストでのみ機能します。手がかりはありますか?
haskell - 関数としての整数の表現 (教会の数字?)
次の関数定義が与えられ、すべての正の整数に対して同様の定義があると仮定すると、整数を表す 2 つの関数を引数として取り、2 つの入力整数の和を表す関数を返す plus という関数の型定義とコードが得られます。たとえば(plus one two)
、2 つの引数を取りf x
、 を返す関数に評価する必要があります(f(f(f x)))
。
等
私は関数型プログラミングが初めてで、これについて頭を悩ませることができません。まず、すべての正の整数の関数を書き出さずに定義する方法がわかりません (これは明らかに不可能です)。のように、 がある場合plus(sixty, forty)
、60 が f に 60 回適用されることを関数がどのように認識できx
ますか?
私はこれを Miranda で書くことを意図していますが、私は Haskell の方が詳しいので、どちらのヘルプも大歓迎です。
haskell - ミランダ タイプエラー
誰がどこが間違っているのか教えてもらえますか?
私の理解は次f
のとおりです。左側には1つの引数がありますが、右側には2つの引数がありますか?
詳細な説明はありますか?