並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 138件

新着順 人気順

haskellの検索結果41 - 80 件 / 138件

  • プロパティベーステスト (Property Based Testing) を Ruby で書き雰囲気を味わう - DIGGLE開発者ブログ

    2023 年 10 月 30 日に『実践プロパティベーステスト ― PropErとErlang/Elixirではじめよう』(以下 実践プロパティベーステスト本)という本が出版されました。 プロパティベーステストというのは、テストの一手法なのですが、これまでとは違う範囲をカバーするテストです。 今回はそれを Ruby に適用するとどうなるか検証、また似ている既知との概念と対比して理解を深めました。 これは Ruby Advent Calendar 2023 15 日目の記事です。 プロパティベーステストとはどのような形式か 既知の概念との対比 普段書いているテストと、プロパティベーステスト データ(テーブル)駆動テストと、プロパティベーステスト ファジングと、プロパティベーステスト 型と、プロパティベーステスト まとめ 実践プロパティベーステスト本は 2023 年 12 月現在、テストの一手

      プロパティベーステスト (Property Based Testing) を Ruby で書き雰囲気を味わう - DIGGLE開発者ブログ
    • unsafePerformIOではじめる愉快なHaskellプログラミング

      Haskellは「入出力のためにIOモナドを使う必要があるので難しい」というイメージを持たれがちです[要出典]。この記事ではそのイメージに異を唱えることを目指します。すなわち、モナドを使わずに入出力を含むプログラミングをやってみます。 と言っても、Haskell標準の入出力関数には IO 型がついていることに変わりはありません。ですが、 unsafePerformIO という魔法の関数を使うと、IO 型を外して値を取り出すことができるのです。この記事ではこれを最大限活用します。 module System.IO.Unsafe where -- 魔法の関数 unsafePerformIO :: IO a -> a

        unsafePerformIOではじめる愉快なHaskellプログラミング
      • Hypothesisとpytestを使ってDjangoのユニットテストを書く - 何かを書き留める何か

        Hypothesisとは何か、プロパティベーステストとは何か Hypothesisは、Python向けのプロパティベーステストのライブラリである。 プロパティベーステストは、生成された多数の入力データに対してプロパティ(性質)が満たされるかどうかをテストする手法である。 HaskellのQuickCheckライブラリが初出で、現在は各プログラミング言語に移植されている。 従来のユニットテストは、ある程度固定したテストデータを指定してテストを行っていた。 その際、境界値分析などで妥当なパラメータを決定していた。 しかし、境界値分析が必ず通用するとは限らないし、人間が行う以上、ミスも発生する。 プロパティベーステストはデータを固定する代わりにそのデータが満たすプロパティを指定してテストを行う。 実際のテストケースはHypothesisがプロパティを満たすパラメータを決めて生成してくれる。 人力

          Hypothesisとpytestを使ってDjangoのユニットテストを書く - 何かを書き留める何か
        • How terminal works. Part 1: Xterm, user input

          Motivation Introduction User input strace Printing non-printable stty raw -echo -isig UTF-8 Conclusion Motivation This blog series explains how modern terminals and command-line tools work. The primary goal here is to learn by experimenting. I’ll provide Linux tools to debug every component mentioned in the discussion. Our focus is to discover how things work. For the explanation of why things wor

          • Announcing F# 8 - .NET Blog

            F# 8 is released as part of .NET 8. It is included with new updates of Visual Studio 2022 and .NET 8 SDK. Download the latest version of .NET 8 Install Visual Studio 2022 F# 8 brings in many features to make F# programs simpler, more uniform and more performant. Read more about language changes, new diagnostics, quality of life improvements, performance boosts for project compilation and upgrades

              Announcing F# 8 - .NET Blog
            • Reddit で振り返る今年の英語圏 Haskell 界隈の話題 - Qiita

              Haskel advent calendar 2023 の1日めの記事です. お仕事も情報系でなく,多忙を言い訳に数年ほとんどコード自体をかけていなかったのですが,最近 e-Gov 法令検索 で公開されている法令XMLを読みたい需要があって久しぶりに Haskell で書いてみたらやはり書きやすく,とても楽しくて改めて感動しました.書きながら自然に思考が整理される感じがよい. Hoogle は変わらぬ使いやすさでモリモリサポートしてくれるし,環境構築も GHCup などが噛み合って随分スムーズで,Haskell Language Server も成熟してきているようです.環境構築については,昨年の Advent Calendar の1日め @mod_poppo さんの記事 などが参考になります. 最近入った言語拡張にも,ちょっとだけコード書く位でも(大規模なあるいは高度なコードじゃなくても

                Reddit で振り返る今年の英語圏 Haskell 界隈の話題 - Qiita
              • What do I think about Lua after shipping a project with 60,000 lines of code?

                Hi there! This is Oleg from Luden.io. We decided to have a deep and meaningful conversation about Lua programming language with Ivan Trusov, lead programmer of the video game Craftomation 101. It contains ~60,000 lines of Lua code and is made with Defold game engine. I asked Ivan to talk about the real issues and show real code, not the “hypothetical code, carefully prepared for the public to illu

                  What do I think about Lua after shipping a project with 60,000 lines of code?
                • 各言語の非同期処理の仕組みまとめ - Qiita

                  はじめに 非同期処理はアプリケーション開発においてほぼ必須となっていますが、プログラミング言語やライブラリによってその実現方法は大きく異なります。 この記事では、以下の言語における非同期処理の実現方法を調査し、分類した結果をまとめたものです。 JavaScript/TypeScript(Promise) Kotlin(Coroutines) Java(Reactor Core/Completable Future) Python(asyncio) Golang(goroutine/conc) Haskell(async) Rust(tokio) 非同期処理の分類 構文 async/await 採用している言語: JavaScript/TypeScript/Python/Kotlin/Haskell/Rust もっとも代表的な非同期処理の構文です。 asyncとawaitという対になる二つの

                    各言語の非同期処理の仕組みまとめ - Qiita
                  • 開発品質とDeveloper eXperienceを高めるコンテナ開発環境のご紹介 (Python) - ABEJA Tech Blog

                    はじめに こんにちは 2023年1月に入社し、システム開発グループでエンジニアをしてる春名です。 私の所属しているシステム開発グループでは、開発初期の環境構築をより効率的に行うための活動に取り組んでいます。 今回はそのうちの一つである、Pythonでコンテナ開発をする環境を構築した内容をご紹介します。 なぜコンテナ開発環境かと言いますと、単にAWSのECSやGoogle CloudのCloud Runを使ってデリバリーする案件が多いからです。 より使用頻度の高い開発環境を整備し、テンプレート化しておくことで開発の効率化に活用しています。 目次 はじめに 目次 今回作成する環境 Poetryによるプロジェクトの作成 Poetryのインストール プロジェクトの作成 poetryの設定 .gitignoreの作成 依存関係の追加 FastAPI Ruff / Black / mypy / pyt

                      開発品質とDeveloper eXperienceを高めるコンテナ開発環境のご紹介 (Python) - ABEJA Tech Blog
                    • RubyKaigi 2024に参加できて本当に良かった - joker1007’s diary

                      RubyKaigi 2024に参加してきました。 今回参加までに紆余曲折あったので、一時は参加を諦めていたんですが、何とか無事参加することが出来ました。 2011年に初参加して以来休まず参加していたので、ついに連続参加が途絶えるのかと思ってましたが、無事連続参加を達成できて嬉しい限りです。 今回はそういう事情もあってか、コミュニティとの繋がりを強く感じることができたRubyKaigiでした。 色々思いが溢れてしまって、技術的に楽しかったこと、自分が嬉しかったこと、参加前の事情とか全部書いてたらえらい分量になってしまいました。気が向いたら目に付いたところだけ読んでくださいw 参加前 そもそも何があったかというと、大体去年の12月ぐらいから咳が止まらなくなり、更に年明けぐらいに高熱が出た上で咳が出続けている状態でした。 余りに咳が酷かったので、喉に傷が付いた後胃酸が逆流したりして声帯の近くに潰

                        RubyKaigi 2024に参加できて本当に良かった - joker1007’s diary
                      • 【エフェクトシステムとは一体なんなのか?】なぜ私はHaskellでエフェクトシステムのライブラリを作るに至ったか

                        はじめに 本記事は、今回筆者が作成したHaskellのエフェクトシステムライブラリの背景を説明するものです。Haskellに触れたことがない読者のために、理解に必要な事柄や文法等は記事中で簡単に説明します。Haskellやライブラリ自体に興味がなくとも、エフェクトシステムの紹介だけでも今後の参考にしていただければ幸いです。 エフェクトシステム エフェクトシステムというプログラミングパラダイムが以前より研究されていました。 これは、プログラムのコード内で起こりうる副作用を分類、タグ付けし、実行時より前に分かるようにするというものです。ここでは、副作用を分類して名前を付けて型として表したものをエフェクト型と呼び、あるコード片が発生させうるすべてのエフェクト型の集合をエフェクト集合と呼ぶことにします。 例えば 1+1 このプログラムのエフェクト集合は空集合{}です。なぜなら、一切の副作用(入出力

                          【エフェクトシステムとは一体なんなのか?】なぜ私はHaskellでエフェクトシステムのライブラリを作るに至ったか
                        • Statically Typed Functional Programming with Python 3.12

                          Lately I’ve been messing around with Python 3.12, discovering new features around typing and pattern matching. Combined with dataclasses, they provide support for a style of programming that I’ve employed in Kotlin and Typescript at work. That style in turn is based on what I’d do in OCaml or Haskell, like modelling data with algebraic data types. However, the more advanced concepts from Haskell —

                          • Overview - Crux: Cross-platform app development in Rust

                            Overview Crux is an experimental approach to building cross-platform applications with better testability, higher code and behavior reuse, better safety, security, and more joy from better tools. It splits the application into two distinct parts, a Core built in Rust, which drives as much of the business logic as possible, and a Shell, built in the platform native language (Swift, Kotlin, TypeScri

                            • 2023年の Linear Haskell で純粋・並列 FFT を実装する──「Haskell は Rust になれるのか?」補遺

                              この記事は Haskell Advent Calendar 2023 14 日目の記事です[1]。 更新履歴 2023-12-15 並列化のパフォーマンスに関する追記。 2023-12-14 初版公開。 はじめに 先々月、Linear Haskell のまとまりのない記事を書いたところ、思ったよりも反響を頂いてびっくりしました。 ただかなりまとまりのない長文だった結果、「長い」「結局 Rust になれるのかようわからん」といった御叱りを頂きました。本当にすいません……。 冒頭に「RustのようになるにはLinear Constraintsに期待」とか、末尾に「2023年のHaskellはまだ Rust ではないが、近い将来 Rust になれる可能性が大きい」とか書きはしましたが、全体があまりにも長いのでこの結論を見つけ出すのも大変ですし、話題があんまり散漫に過ぎまたので論拠もすごくわかりづ

                                2023年の Linear Haskell で純粋・並列 FFT を実装する──「Haskell は Rust になれるのか?」補遺
                              • Unity 6がいよいよ本気でゲーム開発者へオブジェクト指向を捨て去りDOTSに移行することを推奨〜関数型プログラミングとの関係性は?

                                Unity 6がいよいよ本気でゲーム開発者へオブジェクト指向を捨て去りDOTSに移行することを推奨〜関数型プログラミングとの関係性は? Introducing our new e-book: Unity’s Data-Oriented Technology Stack (DOTS) for advanced developers / 新しい電子書籍のご紹介: 上級開発者向けの Unity のデータ指向テクノロジー スタック (DOTS) Unity のデータ指向テクノロジースタック (DOTS) を使用すると、 ターゲットハードウェアを最大限に活用できるパフォーマンス強化ツールスイートが提供され、大規模で複雑なゲームを作成できます。 50 ページを超える電子書籍「上級 Unity 開発者向けのデータ指向テクノロジー スタック入門」が、無料でダウンロードできるようになりました。データ指向プロ

                                  Unity 6がいよいよ本気でゲーム開発者へオブジェクト指向を捨て去りDOTSに移行することを推奨〜関数型プログラミングとの関係性は?
                                • CS・プログラミング関連の、無料で読める優良記事一覧 - watasuke

                                  CSはコンピューターサイエンスです n番煎じな気がするけどこんなんなんぼあってもええですからね ソースはだいたいTwitter The Missing Semester of Your CS Education MITの講義ページ 「Missing Semester」の名の通り、シェルスクリプトやバージョン管理(Git)のほか、デバッグ・プロファイリングの方法やメタプログラミングまで学ぶことが出来る これだけではないので、リンク先を見て自分の目で確かめてみてください https://twitter.com/ImAI_Eruel/status/1388083116040916994 日本語版がある 和歌山大学(たぶん)におけるCGに関する授業の資料(たぶん) (GLFW|GLUT)によるOpenGL入門・CG制作演習 (Blender) ・メディアプログラミング演習 (openFramewo

                                    CS・プログラミング関連の、無料で読める優良記事一覧 - watasuke
                                  • 4年ぶりのScala国際カンファレンス、Scala Days Madrid 2023 に参加しました! - たにしきんぐダム

                                    画像元: https://twitter.com/scaladays/status/1701616520546206039 Scala の世界最大のオフラインカンファレンス、Scala Days Madrid 2023 に参加してきました。Scala Days は例年に2回、アメリカとヨーロッパで開催されており、今年は Madrid での開催でした。 scaladays.org コロナ期間中 Scala Days は開催されておらず、2019年以来4年ぶりの開催!(前回はLausanne開催でした) developer.hatenastaff.com 会場は世界中から集ったたくさんの人で賑わい、参加者の熱意の高さから感じられるとても良いイベントでした。その中で印象に残ったセッションの紹介を交えつつ、会場の様子をレポートしたいと思います。 カンファレンス本体の話に移る前に、周辺イベントを紹介

                                      4年ぶりのScala国際カンファレンス、Scala Days Madrid 2023 に参加しました! - たにしきんぐダム
                                    • The ultimate guide to Haskell Strings · Hasufell's blog

                                      © 2021. All rights reserved. Site created with Hakyll. Modified theme lanyon-hakyll based on Lanyon. The ultimate guide to Haskell Strings May 7, 2024, Posted by Julian Ospald This guide is aimed at Haskellers who seek to improve their understanding of String types, be it beginners or seasoned developers. It is also meant to be a quick reference/cheat sheet for deciding which string type to use in

                                      • 【2023年版】今年生まれた新しいプログラミング言語を紹介! - Qiita

                                        はじめに あなたの好きなプログラミング言語は何ですか? これまで多くのプログラミング言語が生まれてきました。Wikipedia の言語一覧を見てみると、非常に多くのプログラミングが存在することを読み取れます。 しかし、近年、「人気な言語」や「よく使われる言語」のランキングを見てみると、順位の変化はありますが、出てくる言語はほとんど変わらなくなってきました。もちろん、人気の言語は人気たる理由がありますが、マイナーな言語にも個性があり、学んでみる価値があると思います。新たなプログラミング言語との出会いで、人生が変わることもあるかもしれません。 この記事では、最近生まれた新しいプログラミング言語をいくつか紹介します。人生を変えるようなプログラミング言語との出会いのきっかけとなれば幸いです。 また、おまけとして、「新しいプログラミングを探す方法」についても考えてみたので、新たな言語を探す旅に出たい

                                          【2023年版】今年生まれた新しいプログラミング言語を紹介! - Qiita
                                        • 【告知】12/1にZennで関数型プログラミングの入門本を公開します 〜 Unknown Unknowns 「知らない事に気づいてない」

                                          【告知】12/1にZennで関数型プログラミングの入門本を公開します 〜 Unknown Unknowns 「知らない事に気づいてない」 この記事は、 2023-12-1にZennで公開予定 関数型プログラミングの入門本 Functional Programming From Scratch 関数型プログラミングをゼロからわかりやすく実用的に幅広い視点から解説!〜 圏論からFRPの構築まで 🔷UNIT 1🔷 OVERVIEW の冒頭部分です。 全UNIT 1 ~ 5のうち、この本は、UNIT 1です ★1. OVERVIEW 関数型プログラミングの一番「外側」を紹介 関数型プログラミングとは何か? 最新のプログラミングコミュニティの動向、CPUと命令型プログラミング、システム言語における型、構造化プログラミングへの抽象化、関数型言語の紹介、オブジェクト指向と関数型プログラミングの用語と

                                            【告知】12/1にZennで関数型プログラミングの入門本を公開します 〜 Unknown Unknowns 「知らない事に気づいてない」
                                          • サイボウズで活躍中のid:itchynyを訪問 | はてな卒業生訪問企画 [#11] - Hatena Developer Blog

                                            こんにちは、CTOの id:motemen です。 Hatena Developer Blogの連載企画「卒業生訪問インタビュー」では、創業からはてなの開発に関わってきた取締役の id:onishi、CTOの id:motemen、エンジニアリングマネージャーの id:onkが、いま会いたい元はてなスタッフを訪問してお話を伺っていきます。 id:motemenが担当する第11回のゲストは、サイボウズ株式会社でソフトウェアエンジニアとして活躍しているid:itchynyさんこと、濱田健さんです。 itchynyさんは、京都大学大学院工学研究科電子工学専攻修了後、はてなに入社。Mackerelチームやはてなブックマークチームでアプリケーションエンジニアとして活躍していただいていました。2021年にサイボウズ株式会社に転職し、Webアプリケーションエンジニアとして、kintoneの基盤チームで開

                                              サイボウズで活躍中のid:itchynyを訪問 | はてな卒業生訪問企画 [#11] - Hatena Developer Blog
                                            • Direct-style Effects Explained

                                              Direct-style Effects Explained By Noel Welsh on 24 Apr 2024 Direct-style effects, also known as algebraic effects and effect handlers, are the next big thing in programming languages. At the same time I see some confusion about direct-style effects. In this post I want to address this confusion by explaining the what, the why, and the how of direct-style effects using a Scala 3 implementation as a

                                              • RBSをテストコードにする - スペクトラム

                                                DALL-Eより: Imagine a scene where the abstract concepts of Ruby programming and property-based testing blend harmoniously. Picture a large, glowing ruby crystal まいどお馴染み、作ってみたシリーズです。 今回は、RaaP(ラープ)というツールを作りました。RBS as a PropertyでRaaPです。 github.com RaaPはテスティングツールの一種で、RBSをそのままテストコードにみたてて実行してくれるツールです。 次のようなRBSがあったとして class Foo end class Bar def initialize: (foo: Foo) -> void def f2s: (Float) -> String end

                                                  RBSをテストコードにする - スペクトラム
                                                • Serverless Haskell - GHCのWASMバックエンドで Haskell を Cloudflare Workers に載せる

                                                  Serverless Haskell - GHCのWASMバックエンドで Haskell を Cloudflare Workers に載せる TL;DR GHC 9.10 から WASM バックエンド(クロスコンパイラ)が JavaScript FFI に対応したので、Haskell コードを Cloudflare Workers 上で動かしてみたよ。快適に開発するための環境構築・ハック方法と、GHCの出力をCloudflare Workers 向けに修正する方法を紹介するよ。 はじめに──Asterius から GHC WASM バックエンドへ GHC は 9.6 から WASM バックエンド(クロスコンパイラ)を搭載していますが、GHC 9.10 から WASM バックエンドが遂に JavaScript FFI に対応しました。 従来から C FFI には対応しており、これを使って F

                                                    Serverless Haskell - GHCのWASMバックエンドで Haskell を Cloudflare Workers に載せる
                                                  • An Introduction to Asynchronous Programming in Rust and a High-level Overview of Tokio's Architecture

                                                    An Introduction to Asynchronous Programming in Rust and a High-level Overview of Tokio's Architecture Asynchronous programming allows the development of services that can handle millions of requests without saturating memory and CPU utilization. Support for asynchrony is usually baked into the programming language; we take a look at async support in Rust, a type-safe and memory-safe systems progra

                                                      An Introduction to Asynchronous Programming in Rust and a High-level Overview of Tokio's Architecture
                                                    • 拡張可能レコードのライブラリrecord4sについてScalaMatsuri 2024で発表しました - 貳佰伍拾陸夜日記

                                                      ScalaMasturi 2024で, 拙作の拡張可能レコードのライブラリrecord4sについて発表してきました. 発表で触れられなかった点も補足しながら, 内容を文章にしておこうと思います. とくにrecord4s以外のレコード実装との比較についてはこの記事での完全書き下ろしです. モチベーション Scala 3の標準機能による解決 理想 record4s Tips メソッドの定義 例を使ってJSONをデコード 内部実装 フィールドアクセス レコードの結合 重複キー問題 Scalaの他のレコード実装 shapelessのRecord scala-records Karlsson & Haller '18 record4sのArrayRecord Named Tuples 他の言語での例 PureScript TypeScript Haskell パフォーマンス レコード作成の実行時間

                                                        拡張可能レコードのライブラリrecord4sについてScalaMatsuri 2024で発表しました - 貳佰伍拾陸夜日記
                                                      • YAPC::Hiroshima 2024レポート――YAPC::Japan史上最大規模の448名が参加 | gihyo.jp

                                                        2024年2月9、10日、広島国際会議場(広島)にて、YAPC::Hiroshima 2024の前夜祭・本編・懇親会が開催されました。 コロナ禍を過ぎて、再び完全オフラインでの開催となったYAPC::Japan。初めて中国地方・広島での開催となり、本編参加者には過去最大規模の448名の参加者が集まり、改めてYAPCというコミュニティが持つ熱量の大きさ、技術を楽しみたい人たちの期待を体感できる場となりました。 写真 多くの来場者が足早に本編受付を行った(写真提供:Japan Perl Association) 今回は本編の会場:厳島(ダリア)のセッションを中心に、その模様をお届けします。 「what you like」の気持ちで――オープニングメッセージ オープニングを担当したのは広島在住の@chanyou0311氏。 写真 「ようこそ広島へ!!」のメッセージで本編が開幕(写真提供:Japa

                                                          YAPC::Hiroshima 2024レポート――YAPC::Japan史上最大規模の448名が参加 | gihyo.jp
                                                        • This is why you should never use parser combinators and PEG

                                                          Let me tell you why you should (nearly) never use PEG (parsing expression grammars). Nearly everything I will say applies to parser combinators (parsec in Haskell, nom in Rust), too. So, don't use PEG. Use CFGs (context-free grammars) instead. They are more natural. I feel that CFGs more naturally represent how we think. Thus when you have some language in your head and you try to write it down as

                                                            This is why you should never use parser combinators and PEG
                                                          • Unification-free ("keyword") type checking

                                                            From my perspective, one of the biggest open problems in implementing programming languages is how to add a type system to the language without significantly complicating the implementation. For example, in my tutorial Fall-from-Grace implementation the type checker logic accounts for over half of the code. In the following lines of code report I’ve highlighted the modules responsible for type-che

                                                              Unification-free ("keyword") type checking
                                                            • Haskellで、手軽にプロパティベーステスト

                                                              はじめに Haskell Advent Calender 2023の2日めの記事です。カレンダーの枠が空いていたので、久しぶりに勢いで書いてみました。 さて、ラムダノート社から「実践プロパティベーステスト」が出版されたので、巷ではプロパティベーステストが流行っていることでしょう (紹介宣伝です)。 Haskellでは、プロパティベーステスト用のライブラリとして、例えばQuickCheckがあります。 この記事では、Haskellではソースコードのコメント中に簡単な記述をするだけで、プロパティベーステストを手軽に実行できることを改めて紹介します。 本格的なコードを開発している局面だけではなく、ちょっと頭の中を整理したい時などにも手軽で便利です。 (前準備) テストケースと期待値によるテスト Haskellでは、ソースコードのコメント中に埋め込まれたテストケースを実行できるdoctestという

                                                                Haskellで、手軽にプロパティベーステスト
                                                              • Divan: Fast and Simple Benchmarking for Rust

                                                                Announcing Divan! Divan is a Rust framework for quick comfy benchmarking, featuring: Simple easy-to-use interface Allocation profiling Generic parameters Thread contention insights Divan currently has 706 GitHub stars and is used by 269 projects. Get started easily with examples that span from introductory to advanced scenarios. The entire example benchmark suite compiles and runs in 40 seconds on

                                                                  Divan: Fast and Simple Benchmarking for Rust
                                                                • References are like jumps

                                                                  In a high-level language, the programmer is deprived of the dangerous power to update his own program while it is running. Even more valuable, he has the power to split his machine into a number of separate variables, arrays, files, etc.; when he wishes to update any of these he must quote its name explicitly on the left of the assignment, so that the identity of the part of the machine subject to

                                                                  • SE 3年目で読んだ技術書52冊 - Qiita

                                                                    概要 2ヶ月遅刻ですが、2023年4月~2024年3月で読んだ本145冊のうち技術寄りの本から52冊をざっくり紹介します。 オススメ度は10段階です。 1年目。 2年目。 プログラミング言語 実践Rustプログラミング入門 オススメ度★6 章ごとに1つのプログラムを作成しながら、Rustとそのエコシステムの特徴を学べる形式の本です。Rust哲学や文法解説は少なめです。 Rust学習者にはプログラミング初心者が少なく、質の高い公式ドキュメントも充実しているため、この形式の本は多い印象ですが、その中でも最もポピュラーな本です。 多様な用途を紹介する都合で作成するプログラムも多様で、これは好みが分かれるかなと思います。「ざっくり出来ることが分かればいいので後半は読み流すだけで、あとは自分で作りたいものを作りながら学ぶ」という人にはオススメです。一方で、マトモにコードを理解して環境構築して動かそう

                                                                      SE 3年目で読んだ技術書52冊 - Qiita
                                                                    • AI搭載エディタ「Cursor」にHaskellを書かせてみた

                                                                      これは「Haskell Advent Calendar 2023」13日目の記事です。 日頃、私は趣味としてAIをHaskellで実装することに没頭しています。しかし、今回は少し違ったアプローチを試してみようと思います。逆に、AIにHaskellを使って自ら実装させ、その過程や成果を共有してみたいと考えています。この新たな取り組みがどのような結果を生むのか、一緒に探ってみましょう。 AI搭載エディタ「Cursor」 気を取り直して、今回は最近話題のAI搭載エディタ Cursor を使って実際に動くHaskellのアプリを0から作らせてみたいと思います!Cursorをまだ知らない人は以下の記事がオススメです(僕もまだこれしか読んでません🤫) Cursorのダウンロードとインストール、そしてアカウント登録が完了したらさっそくHaskellを書かせてみたいと思います。 それではレッツ・・・ ゴ

                                                                        AI搭載エディタ「Cursor」にHaskellを書かせてみた
                                                                      • いろんなソートアルゴリズムを実装してみよう - Qiita

                                                                        最近昼夜逆転がひどい六角レンチです 夕方まで起きてようと思ったらいつの間にか寝て夜に起きる謎 haskellに興味を持って入門の記事を見ながらソートを実装して楽しんでます。 ガードとかパターンマッチ楽しい 他にはどんなソートがあるんだろうと思いwikipediaを見ていろいろなソートアルゴリズムを発見したので、pythonの練習として実装してみたいと思います。 実装してみたソートたちはここに置いてます。 バブルソート def bubblesort(target:list): # バブルソート for targetrange in reversed(range(1, len(target))): isnotswap = True for r in range(targetrange-1): if target[r] > target[r+1]: target[r], target[r+1]

                                                                          いろんなソートアルゴリズムを実装してみよう - Qiita
                                                                        • Fault tolerant Gleam – Gleam

                                                                          Published 27 May, 2024 by Louis Pilfold Gleam is a type safe and scalable language for the Erlang virtual machine and JavaScript runtimes. Today Gleam v1.2.0 has been published, a release that focuses on improving the language server and developer experience. It’s a big one both in terms of size and impact, so let’s take a look as what it includes. Fault tolerant compilation Gleam’s compiler has t

                                                                            Fault tolerant Gleam – Gleam
                                                                          • Visual Studio Code February 2024

                                                                            Version 1.92 is now available! Read about the new features and fixes from July. February 2024 (version 1.87) Update 1.87.1: The update addresses these issues. Update 1.87.2: The update addresses this security issue. Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap Welcome to the February 2024 release of Visual Studio Code. There are many updates in thi

                                                                              Visual Studio Code February 2024
                                                                            • A universal lowering strategy for control effects in Rust - Abubalay

                                                                              The Rust language has incrementally grown a set of patterns to support control-flow effects including error handling, iteration, and asynchronous I/O. In The registers of Rust, boats lays out four aspects of this pattern shared by Rust’s three effects. Today these effects are typically used in isolation, or at most combined in bespoke ways, but the Rust project has been working on ways to integrat

                                                                              • Rust の tonic で gRPC の Richer Error Model を扱う — HACK The Nikkei

                                                                                この記事は Nikkei Advent Calendar 2023 および Rust Advent Calendar 2023 の 10 日目の記事です. はじめに Wave チームの何でも屋さん 伊東 です. 社内に ito さんがたくさんいるので区別が大変です. 最近嬉しかったことは短期インターンシップ参加者に Haskell 使いが 2 人もいたことです. 弊社にも静的型付け関数型プログラミング言語を普及したいです. さて、弊チームのサービスのバックエンドには gRPC を利用しています. gRPC はクライアント・サーバー間でスキーマ駆動開発をするのに便利なツールですがエラーハンドリングに少し癖があります. gRPC のエラーモデルにはシンプルだが柔軟性に欠ける Standard error model と柔軟だが互換性に欠ける Richer error model があります.

                                                                                  Rust の tonic で gRPC の Richer Error Model を扱う — HACK The Nikkei
                                                                                • 「Binary Hacks Rebooted」が出ます | 雑記帳

                                                                                  今月(2024年8月)末にオライリージャパンから出る「Binary Hacks Rebooted」という本の執筆に、著者の一人として参加しました。私は主に浮動小数点数周りの記事を執筆しました。 O’Reilly Japan – Binary Hacks Rebooted(2024年) サポートリポジトリはこちらになります。サンプルコードなどを掲載する予定です。 oreilly-japan/binary-hacks-rebooted: 『Binary Hacks Rebooted』のサポートリポジトリ また、各Hackの中に踏み込んだ詳細な目次を以下のページで公開しています。購入に迷った際の判断材料にしてください。 Binary Hacks Rebooted 目次 | Akira Kawata オライリーの本は全ての書店に並ぶわけではありません。店頭で確認したい方は、オライリーの本を扱ってい