プログラミングに関するlichengのブックマーク (27)

  • Haskell 超入門 - Qiita

    Haskellで簡単なプログラムを書くのに最低限必要な基礎文法を取り上げます。練習では再帰に慣れることに重点を置きます。再帰によるリスト処理の例として各種ソート(挿入ソート、バブルソート、マージソート、クイックソート)を紹介します。ラムダやモナドなどの発展的な内容には触れませんのでご了承ください。 シリーズの記事です。 Haskell 超入門 ← この記事 Haskell 代数的データ型 超入門 Haskell アクション 超入門 Haskell ラムダ 超入門 Haskell アクションとラムダ 超入門 Haskell IOモナド 超入門 Haskell リストモナド 超入門 Haskell Maybeモナド 超入門 Haskell 状態系モナド 超入門 Haskell モナド変換子 超入門 Haskell 例外処理 超入門 Haskell 構文解析 超入門 【予定】Haskell 継続

    Haskell 超入門 - Qiita
  • Python を Numba で高速化するときの間違えやすいポイントまとめ - Qiita

    はじめに 決まればPythonを劇的に速くするNumba。 使ってみて細かなはまりポイントがあったので注意点を集約してみた。 以下も参考 https://numba.pydata.org/ 公式ホーム https://numba.readthedocs.io/ 公式ドキュメント https://ikatakos.com/pot/programming/python/packages/numba https://nagiss.hateblo.jp/entry/2020/08/20/060340 https://qiita.com/sonokr/items/4b35ac2137bb16e82bd0 変更履歴 (2023-12-20) heapqを使うときの注意点を追加 (2023-12-20) 再帰関数をキャッシュや事前コンパイルできたので言及を訂正 (2023-12-20) 「Numba内か

    Python を Numba で高速化するときの間違えやすいポイントまとめ - Qiita
  • 関数型言語のウソとホント - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 追記 こんな記事を読むより、まともな関数型プログラミング言語を使ってまともに関数型プログラミングを学ぶほうが、関数型プログラミングについてよほど正確な理解を得られます。少しでも関数型プログラミングに興味のある人は、まずは真面目なHaskellの教科書やすごいHを読んだり、やさしいHaskell入門を読んだりしながら、実際に関数型プログラミングのコードを書いてみることをお勧めします。 繰り返しますが、この記事はあんまり読む必要はないです。関数型プログラミングを理解するには実際に自分でコードを書いてみるのが一番です。関数型プログラミングあ

    関数型言語のウソとホント - Qiita
  • モナドを理解する - 迷える者への手引き

    いずれにせよ、システムの状態が時間の関数であり、そのため時間は考慮しなければならない余分な要素となります。"xの値は何?"と問い合わせることは実際できません。代わりに、"時間tにおけるxの値は何?"と問い合わせなければなりません。これではコードを判断するのが難しくなり、複雑な要素が増えます。結論としては... 状態あり: ダメ! 状態なし: グッド! 式とアクション 式とは値を持った文です。たとえば以下のコードを考えてみましょう。 x = 5 y = x + 7 x = y + 1 最初のxは値が5であるという式です。最後のxは値が13であるという式です。コードは他の式も含んでいます。たとえば真ん中の行は、x + 7が12という値であるという式です。 ほとんどのコンピュータ言語では、キーボードから読み込むコマンドは式であり、その式は値を持っています。次の文を考えてみましょう。 x = ne

    モナドを理解する - 迷える者への手引き
  • Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方

    FPやHaskellのモナドをSwiftを使って説明してみたけど、過去のものなので今はあまり参考にならないかも。それと内容的にも少し修正が必要。Read less

    Swiftで説明する「モナド」:Swiftにおける関数型プログラミングの使い方
  • BohYoh.com【C言語講座】演算子一覧表

    【C言語講座】演算子一覧表 C言語講座のページへ 優先順位演算子形式名称結合性 1 ()x(y)関数呼出し演算子左 []x[y]添字演算子左 .x . y.演算子(ドット演算子)左 ->x -> y->演算子(アロー演算子)左 ++x++後置増分演算子左 --y--後置減分演算子左 2 ++++x前置増分演算子右 ----y前置減分演算子右 sizeofsizeof xsizeof演算子右 &&x単項&演算子(アドレス演算子)右 **x単項*演算子(間接演算子)右 ++x単項+演算子右 --x単項-演算子右 ~~x~演算子(補数演算子)右 !!x論理否定演算子右 3 ()(x)yキャスト演算子右 4 *x * y2項*演算子左 /x / y/演算子左 %x % y%演算子左 5 +x + y2項+演算子左 -x - y2項-演算子左 6 <<x << y<<演算子左 >>x >> y>>演

  • Rustで高速な標準出力 | κeenのHappy Hacκing Blog

    κeenです。Rustで何も考えずに標準出力に吐いてると遅いよねーって話です。 今回、標準出力に「yes」と1000万回出力するアプリケーションを書いてみたいと思います。 println! まあ、最初に思いつくのはこれでしょうか。

    Rustで高速な標準出力 | κeenのHappy Hacκing Blog