3

Haskellの完全な初心者として、私はHaskellに関するさまざまな記事、PDF、チュートリアルを継続的に読んでいます。ほとんどの例/サンプルコードには数学文字が含まれています。タイピングの一般的なタスクでも

->

次のように入力する必要があります:-&>

事実、私はemacsで数学文字を入力する方法がわかりません(私はhaskellコーディングの練習に使用しています)。私の現在のキーボードレイアウトは「EnglishUS」です。

数学記号の入力に最適な特定のキーボードまたはキーボードレイアウトはありますか(haskellプログラミング用)?

haskellにはすべての数学記号が関数としてありますか?私の現在の仮定は、haskellがすべての数学記号を関数としてサポートしている必要があるということです。

例:+、-、/、*など。

Unicode数学記号 注:これらの表記は、多くのハスケルの論文に見られます。

4

3 に答える 3

10

紙に見られるような派手なUnicode記号を使用する必要はありません。→の代わりに、->特殊文字ごとに書くことができます。これを考えると、Haskellでは通常のUSQwertyレイアウトが完全に見つかります。

ただし、→スタイルが読みやすい(ただし、明らかに入力しにくい)場合は、代わりにそれらの記号を使用してEmacsにコードを表示させることができます。これは、構文の強調表示のように、完全に表面的なものです。→が表示されていても、ソースコードにはまだがあり、->それを入力します。これを次のように有効にできます。

(setq haskell-font-lock-symbols t)

このシンボルモードでは、インデントの一部が少し奇妙に見える場合があります。ただ、しばらく使っていて全く問題ありませんでした。ASCIIサロゲートの代わりにきれいな記号を使用している場合は、コードをもっと見るのが好きです。

だからあなたはまだタイプします->が、それはただきれいに見えます。

ただし、ギリシャ文字のような派手な記号が必要な場合もあります。たとえば、論文からアルゴリズムを実装している場合は、変数名を同じに保つことが理にかなっている場合があります。このために、を介してEmacsのTeX入力モードを使用できC-\ますTeX。これにより、たとえば、を入力\lambdaして取得できるようになりますλ。入力できる記号の完全なリストを表示するには、実行してから。M-x describe-input-methodと入力しTeXます。

最後に:Haskell+や-のようなすべての「数学記号」を演算子としてサポートしています。実際、これらの文字で構成される識別子は自動的に中置されます。したがって、実際に独自の演算子を定義できます。次のように書くことができます:

a +++ b = a * a + b * b

そうすれば+++、他の演算子と同じように、この関数を中置位置で使用できるようになります。Haskellは、Unicodeカテゴリを調べることで、どの文字が「演算子文字」であるかを判断できると思います。つまり、のような演算子を定義できます(実際に定義しました)×

要約すると、Haskellコードに特別な記号は必要ありません。すべてASCIIにすることができます。読みやすい場合は、Emacsにこれらの記号を使用してASCII Haskellコードをレンダリングさせることができ、TeX入力モードを使用して実際に入力することができます。

于 2012-07-22T06:06:19.653 に答える
6
于 2012-07-22T06:07:43.297 に答える
1

プログラミング用に作られたDvorakスタイルがあることは知っていますが、新しいキーボードレイアウトを学ぶことは、ヒットしなければならない新しいキーの組み合わせのために筋肉の記憶を構築するよりも難しいようです。

于 2012-07-22T02:04:54.173 に答える