Read essays by Stepan Parunashvili
κeenです。実践Rust入門 言語仕様から開発手法まで(技術評論社)を書いた(3人で共著)のでどういう本なのか解説します。 5/8発売です。電子版もありますよ。Gihyo Digital PublishingだとPDFが手に入るので人気らしいです。 See Also 書籍『実践Rust入門』の詳細な目次です 目指したもの Rustの入門書といえば公式ドキュメントのThe Book、TRPLなどと呼ばれるThe Rust Programming Languageやその有志による和訳が一番に挙がるでしょう。 それ以外にもオライリーよりProgramming Rustやその和訳版も出ています。 どちらもRustについてよく書かれており、本書の購入を検討されている方は上記2冊との違いが気になるかと思います。 本書の大きな特徴は以下の2点です。 Rust 2018 Editionに対応している 実
Denoのコードを読んでみました。 Rust に入門したばかりで基礎知識が足らず四苦八苦していますが、Deno のプロセスが起動してから TypeScript のコードが実行されるまでの仕組みについて愚直に読んでみたメモです。 想定読者 Deno の内部挙動に興味がある Node.js、TypeScript、C++(と V8)のコードがドキュメントを参照しつつ読める Rust で Hello world したことある程度の経験がある 参考情報 コア内部を理解するには非公式ガイド(以下ガイド)がとても参考になります。 — A Guide to Deno Core - A Guide to Deno Core Deno のディレクトリ構成やレイヤー分けについてはRepo StructureとInfrastructureを一読し、リポジトリの構造をざっくり把握してからコードを読み始めるとより捗る
As Lin Clark emphasizes in her article about Rust and WebAssembly: the goal of WebAssembly is not to replace JavaScript, but to be an awesome tool to use with JavaScript. Lots of amazing work has been done to simplify crossing the language boundary between JavaScript and WebAssembly, and you can read all about that in Alex Crichton’s post on wasm-bindgen. This post focuses on a different type of J
この記事では、rust を使ってCortex-Mの上で直接(ベアメタルで)動作するプログラムの作り方を説明する。全部を自前で書くのではなく、STが提供する CubeMX といったツールや HAL を有効活用することを基本方針とする。 環境構築 前提とする環境は次のとおり。ホストについては Ubuntu なら apt-get で入る(なんて楽なんだろう)。CubeMX は ST のサイト(http://www.st.com/ja/development-tools/stm32cubemx.html)からインストールする。ダウンロードするのにメールアドレスの登録を求められるが、そういった前時代的なものは滅んで欲しいものだ。ターゲットは、日本橋や通販で購入できるだろう。 Host: OS: Linux(Ubuntu 16.04LTS 64bit) compiler: gcc-arm-none-e
はじめに Rustには有名なnomというパーサーコンビネーターライブラリがあるが、せっかく高級な型システムと最適化があるのにマクロで何とかしようとするのは勿体無いと思うので、マクロに深く依存しないcombineを使ってみた。 combineの主な特徴 parsec リスペクトのパーサーコンビネーター コンビネーターはマクロではなく、 Parser traitを実装する値で表す バイトストリーム、文字(Unicodeコードポイント)ストリーム、トークンストリームの全てに対応 メモリ上の文字列だけではなく、入力ストリームからの直接のパースにも対応 まだ計測はしていないが、 Box を多用していたりはしないので、速度的に大きく遅れをとるようなことはないのではないかと思う。 以下、parsecについて知っていたほうが読みやすい構成になっているので、必要ならparsecの資料を探して読むといいかもし
disclaimer 追記で注意書き足すのはどうなんでしょうね。ということで追記です。 別にギョムでガンガン書いてるとかではないです。 ノミコンの方も含めてドキュメント全部読んだ、API 一通り眺めた、型推論というかリージョン推論部分の概要眺めた、関連する論文読んだ、言語触った、程度の人間が書いてます。 正しくない、不正確な部分もあると思います。 雑です、すいません。 TL;DR 的には、C++ 置き換えるための言語として作られたので当然 C++ にあった概念引き継いでますよみたいな話です。 以下追記前の元の全文。 以下の記事が結構人気と聞きました。 Rustは何が新しいのか(基本的な言語機能の紹介) - いもす研 (imos laboratory) ここでは、記事中の「新しくない」部分を historical な話を交えて説明する形で何か書きたいと思います。 記事を否定するようなものでは
この投稿はEdward Z. Yangが2010年に書いた OCaml for Haskellers 、私自身が今年頭に書いた Haskell for OCaml programmers の流れに沿っています。 目次 プロローグ なぜRustを学ぶべきか 直接対応が可能なもの トレイト:Rustの型クラス アドホックなオブジェクトとメソッド 安全な参照 寿命と記憶域、そして管理オブジェクト オブジェクトの共有:RcとArc マクロとメタプログラミング リテラル 謝辞 参照 Copyright and licensing 注 : この記事の最新版は下記サイトで見られます。 http://science.raphael.poss.name/rust-for-functional-programmers.html 他のフォーマット: Source , PDF プロローグ C言語プログラマのための
プログラミング言語Rust ようこそ! 本書では、あなたにプログラミング言語Rustについて解説します。 Rustは3つの目標に焦点を合わせたシステムプログラミング言語です。その目標とは、安全性、速度、並行性の3つです。 Rustはこれらの目標をガベージコレクターなしで維持しています。そのことによって、Rustは他の言語が得意としない多くの利用場面で便利な言語になっています。例えば、他の言語への組込み、限定されたスペースや時間で動かなくてはならないプログラム、デバイスドライバーやオペレーティングシステムのような低レベルのコードの記述です。 Rustは、この領域を対象とする現在の言語を、実行時にオーバーヘッドを生じることなくたくさんのコンパイル時の安全性チェックを行うことと同時に、全てのデータ競合を削除することで改善しています。 Rustはまた、「0コストの抽象化」の実現も目標としています。
この記事はRust Advent Calendar 2015 1日目の記事です。 次 Rustで小さなツールを作ってみる(後編) κeenです。Rust Advent Calendar初日ということで軽い話から。 小さなツールって何だよって感じですが手元にIRCの生ログが大量にあるのでそれをDBにインポートしてみましょう。 あまりRustに向いた仕事じゃなさそうですが手始めとして。 前編でログのパースを、後編でDBへのインポートをやります。 IRCの生ログはtiarraが吐いたものです。 #emacs@freenodeのようにチャネル名@サーバ名のディレクトリに入っていて、ファイル名はYYYY-mm-dd.txtで、 13:43:24 <#emacs@freenode:codingquark> Such key generation, much wow. 13:43:59 ! Vejeta
警告 (2014/1/25 追記) 以下の記事ですが、今となっては通用しない記述が多く含まれています。 0.7 から現在までに行われた大きな変更としては、思いつくだけでも 言語組み込み機能としての managed box が非推奨になった (将来削除され、ライブラリによる実装と置き換わる) rusti ツールが削除された というものがあります。 おそらく、文中のコード例はコンパイルすら通らなくなっていることでしょう。 また、今後も 1.0 に向け大きな変更が予定されています (DST や GC の実装など)。 文中の、言語の基本的なコンセプトに関する部分はかろうじて現在でも通用すると思いますが、その他の部分についてはきちんとメンテナンスされている文章 (公式のドキュメントなど) を参照してください。 以下、オリジナルの記事です。 ブログ移転後の最初の記事っということで、最近僕がハマっている
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く