タグ

haskellとRustに関するpoad1010のブックマーク (3)

  • Rust使用者がHaskellを学んだ感想 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Rustは多くの言語に影響を受けており、C++のほか、OCamlやHaskellといった関数型言語の影響も受けています (参考: The Rust Reference - Influences)。 私はC++からRustに入りましたが、関数型言語を使った経験はありません。せっかくRustを学んだのだから、その影響元である関数型言語についても学んでみたいと思いました。 関数型言語を学ぶならHaskellだろうということで、以下の書籍を参考に触れてみました。その感想を記します。 参考書: プログラミングHaskell 第2版 (出版: ラム

    Rust使用者がHaskellを学んだ感想 - Qiita
    poad1010
    poad1010 2024/12/23
    この記事をおすすめしました
  • HaskellとRustを足して2で割ったような関数型言語Fixを作っている話 - Qiita

    はじめに ここ1年ぐらいかけて、Fixという名前のプログラミング言語を作っています。 コアとなる機能の実装がある程度落ち着き、実際にFixを使ってプログラムを書けるようになってきたので、そろそろ言語の紹介をしてみようと思います。 記事はFixのチュートリアルではなく、どういう思想で設計されていて、どういう特徴を持つ言語なのか、という点を紹介するものです。 意見・提案・助言などをいただけるとうれしいです。 リポジトリはこちらです。 ※ コメントやコミットメッセージは一応拙い英語で書いていますが、日語でissueを立てたりdiscordで意見・質問してもらっても大丈夫です。 ※ 急いで作った部分もあるため、コンパイラのコードは結構汚いです。ご容赦ください。 現状、Fixをローカルで実行するためにはLLVMのインストールが必要で時間がかかりますが、Fix playgroundを使えばブラウザ

    HaskellとRustを足して2で割ったような関数型言語Fixを作っている話 - Qiita
  • ROT13をHaskell,Go,Rustで実装する - Qiita

    概要 腕試しにHaskellでROT13を実装してみた。 (GoRustは以前に書いたものでこの記事としてはおまけです) 次の点を意識しています。 論理的に理解しやすいことが優先で、処理をまとめすぎない 数学的な思考を優先する ($ を使って写像の合成を意識するぐらいですが) 指針 大まかに次の指針がある。 ローテーションの境界で場合分けする a-m, n-z, A-M, N-Z で場合分けする(modは使わない) mod を使う a-z, A-Z で場合分けし、ローテーションは mod を使って計算する ROT13 の変換テーブルを用意する 今回は、1つ目のが多分一番理解しやすく、2つ目が自然な定式化で簡潔、3つ目がHaskell心をくすぐる書き方ができる…といった感じです。 解1: ローテーションの境界で場合分けする a-m/n-z と A-M/N-Z で符号が変わるという知識をもと

    ROT13をHaskell,Go,Rustで実装する - Qiita
  • 1