並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 117件

新着順 人気順

LLVMの検索結果1 - 40 件 / 117件

  • Pythonの高速なスーパーセットをうたう新言語「Mojo」、コンパイラなど公開、ローカル環境で利用可能に

    Pythonの高速なスーパーセットをうたう新言語「Mojo」、コンパイラなど公開、ローカル環境で利用可能に Modular社はPythonの高速なスーパーセットだと同社が位置づける新言語「Mojo」をローカル環境で実行可能にする、コンパイラなどのツール群を公開しました。 Mojo is now available for download locally to your machine! Beyond a compiler, the Mojo SDK includes a full set of developer and IDE tools that make it easy to build and iterate on Mojo applications. Let’s build the future together!https://t.co/KxmLvsxx5e — Modula

      Pythonの高速なスーパーセットをうたう新言語「Mojo」、コンパイラなど公開、ローカル環境で利用可能に
    • 高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性

      高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性 Modular社はPythonの高速なスーパーセットと同社が位置づける開発中の新言語「Mojo」の、Appleシリコンにネイティブ対応したMac版をリリースしました。 Today is the day! Mojo for Mac is live! Download it right now! Read our launch blogpost on how to get startedhttps://t.co/XSMkqUmHKt — Modular (@Modular_AI) October 19, 2023 Mojoは9月に初めてローカル環境でコンパイルなどを実行可能なLinux対応のツール群を公開しています。今回のAppleシリコンにネイティブ対応した

        高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性
      • Rust で SQLite を再実装している - kawasin73のブログ

        セキュリティを盾に一点突破。どうもかわしんです。最近 Rust で SQLite を実装してます。 以前の記事で HTTP Parser を Rust で実装しようとしたものの、すでに実装されていたので断念しましたが、いい題材を見つけました。SQLite です。開発中のリポジトリはこれです。 github.com 今の時点では、Read Only で1つの WHERE 句を持った SELECT 文しか処理できないですが、以下の機能を実装しています。 sqlite3 で生成された database ファイルの読み取り (cursor.rs, btree.rs, record.rs) SQL 文の解析 (token.rs, parser.rs) テーブルとインデックスのメタデータのパース (schema.rs) 動的なファイルの読み込み (pager.rs) SQL クエリとスキーマ情報を元に

          Rust で SQLite を再実装している - kawasin73のブログ
        • プログラマーがソースコード内に書いた「アスキーアート」図2000点以上を収集 使われ方を分析しデータベース化【研究紹介】 レバテックラボ(レバテックLAB)

          米カリフォルニア大学サンディエゴ校に所属する研究者らが発表した論文「Taking ASCII Drawings Seriously: How Programmers Diagram Code」は、ソースコード内で使用するアスキーアート(ASCII art)を収集し分析した研究報告である。 ▲ソースコード内で活用されたアスキーアートの一例 keyboard_arrow_down 研究背景 keyboard_arrow_down 研究内容 オープンソースのソフトウェア開発では、プログラマーがコードの中にアスキーアートを使って図を描き、アイデアを視覚的に表現することがよくある。アスキーアートはコードや自然言語では表現しにくい概念を視覚的に明快に説明でき、またコードよりも詳細度は低いものの、コードを理解するうえで「サムネイル」のような役割を果たす。 こうしたアスキーアートは、実際のソフトウェア開発

            プログラマーがソースコード内に書いた「アスキーアート」図2000点以上を収集 使われ方を分析しデータベース化【研究紹介】 レバテックラボ(レバテックLAB)
          • Python普及しろ協会に入会したい

            この記事はタナイ氏によるPython滅ぼす協会に入会したいを読んでから執筆したものです。 この記事の趣旨はPython滅ぼす協会に入会したいに対する反論という形をとりながら、タナイ氏により「バカの言語」と揶揄され、「使ってエンジニアを名乗るというのは」「滑稽」とまで言われたPythonの立場を再考することです。 追記 本記事は「Pythonはこれだけ優れた言語だからみんな使おう!」というものではなく「言うほど酷くないと思うよ」程度のものです。 型アノテーションがあるからと言って静的型付けを軽視しているわけでもなければ、map関数をもってmapメソッドを不要だと言っているわけでもありません。 この記法は嫌い〜この記法が好き〜と表明することは個人の自由ですが、同様に「この記法は実はこういう意味があって〜」という意見があればそれを聞いた上で、物事を判断して欲しいです。もちろん、聞いても意見が変わ

              Python普及しろ協会に入会したい
            • 次期Python、ついにJITコンパイラ搭載の見通し。「copy-and-patch」と呼ばれる新たなJITコンパイラの仕組みとは?

              次期Python、ついにJITコンパイラ搭載の見通し。「copy-and-patch」と呼ばれる新たなJITコンパイラの仕組みとは? 機械学習やAI処理の分野を中心に非常に高い人気のプログラミング言語である「Python」の次期バージョンに、処理速度の向上を目指したJITコンパイラが搭載される見通しです。 このJITコンパイラは、PythonコアデベロッパーのBrandt Bucher氏が提案し、実装しています。 そしてPython Software FoundationのフェローであるAnthony Shaw氏がブログ「Python 3.13 gets a JIT」で、このJITコンパイラについて解説しています。 これらの情報を元に、PythonのJITコンパイラがどのように実装されようとしているのか、少し紹介していきましょう。 RubyもJavaScriptもJITが高速化を実現してき

                次期Python、ついにJITコンパイラ搭載の見通し。「copy-and-patch」と呼ばれる新たなJITコンパイラの仕組みとは?
              • WebAssembly所感

                WebAssemblyをちょっといじってみて思ったところをまとめてみます。 設計思想 WebAssembly/designに設計文書がまとまっています。特にHighLevelGoals.mdから読み取れるポイントは以下の4点です。 サンドボックス化された環境であること。 移植性があること。つまり、特定の実CPUアーキテクチャ等に依存しないこと。 少なくともC/C++の(十分に高速な)コンパイルターゲットとして機能すること。 安定した仕様を持つこと。 サンドボックスという観点からは、先行技術として以下のようなものが特筆に値します。 Webサンドボックス JavaScript および asm.js Javaアプレット Flash (ActionScript) NaCl, PNaCl Web以外のサンドボックス OSのユーザーランド、特にLinux userland これらのサンドボックスとの比

                  WebAssembly所感
                • WebAssembly の過去・現在・未来 - Qiita

                  はじめに WebAssembly (略して Wasm) では WASI や WIT、 Component Model など様々な仕様があります。 それぞれが登場した背景、モチベーションなどを理解することでなんとなく概要を掴んでいくことができるのではないかと考えたため、過去・現在・未来と時間軸で整理してみました。 まず Wasm とその特徴に関して簡単に紹介した後、Wasm の過去として生まれた背景やモチベーションを紹介します。 そして現在の Wasm がなぜ注目を集めているのか、そして現在策定中の仕様と目指している未来について紹介します。 WebAssembly とはなにか WebAssembly はスタックベースの仮想マシン用バイナリ命令フォーマットの仕様です。Wasm と略されます。 Wasm ファイル(Wasm モジュール)は一般に .wasm という拡張子で表されるバイナリファイル

                    WebAssembly の過去・現在・未来 - Qiita
                  • Z80+C言語で16ビット機級の本格的なゲームが創れるゲーム機(VGS-Zero)を作ってみた - Qiita

                    はじめに 2024年1月1日に VGS-Zero (Video Game System - Zero) という RaspberryPi Zero 2W のベアメタル環境で動作するオリジナルのゲーム機エミュレータと SDK を公開しました。 VGS-Zero は、RaspberryPi Zero 2W をテレビに HDMI ケーブルで接続し、USB ゲームパッドで遊ぶタイプ(据え置き型)の新しいゲーム機です。 無料でゲームを開発&販売ができる SDK も公開していて、開発したゲームを完全ロイヤリティフリーで自由に販売して頂くことができます。 なお、OS は Linux ではなく独自カーネルです。 特徴 VGS-Zero の特徴について、カーネル視点とゲーム機視点の両面から解説します。 独自カーネルの特徴 ラズパイ全般(※Picoを除く)は Linux で動かすのが一般的ですが、VGS-Zer

                      Z80+C言語で16ビット機級の本格的なゲームが創れるゲーム機(VGS-Zero)を作ってみた - Qiita
                    • WasmLinux: WebブラウザでLinuxカーネルとBusyBoxを動かす(エミュレーションなしで)

                      WebブラウザでOS動かしてどうすんだよ という根源的な疑問に回答が無いままとりあえずできちゃった。。 ※ コマンドが終了してもプロンプトが出ません。Enterを空打ちする必要があります (バグ) WasmLinuxは、WebAssembly "ネイティブ" なLinux環境です。カーネルもユーザーランドも、WebAssemblyのツールチェインでコンパイルされたWebAssemblyモジュール(をwasm2cでCにしたもの)です。 前回はカーネルしか動いていなかったんですが、今回はブラウザ上で ifconfig lo up して ping 127.0.0.1 したり top したり vi したりできます。BusyBox入ってるので。 ただしまだ実用性は皆無 です。Proof of Conceptって奴ですね。 前回の記事: 今回はMUSL libcを移植してBusyBoxが動くようになっ

                        WasmLinux: WebブラウザでLinuxカーネルとBusyBoxを動かす(エミュレーションなしで)
                      • HaskellとRustを足して2で割ったような関数型言語Fixを作っている話 - Qiita

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

                          HaskellとRustを足して2で割ったような関数型言語Fixを作っている話 - Qiita
                        • 「LLVM lld」「mold」が解決した、リンクが遅い問題 間違った思い込みの解消に必要だったのは“クレイジーな人”

                          Blue Whale Systems株式会社の植山類氏は、「LLVM lld」「mold」が解決したプログラムのビルドの問題を例に、“大きな問題”を解決することについて話しました。全3回。 1個の本質的な問題を解いてしまうほうが細かいことを考えるよりも簡単 植山類氏:では始めます。本日、機会をいただいて講演をすることになった植山と申します。この講演の内容は「大きな問題のほうが小さな問題より解くのは簡単だ」というタイトルです。 どういう趣旨かというと、常に簡単だというわけではないのですが、いろいろな場面で、1個の本質的な問題をドッカンと解いてしまうほうが、いろいろな細かいことを考えるよりも簡単なことが多いという話です。 そういうソリューションが往々にして見逃されがちということがけっこうあって、そういうことにどうやって挑戦していくのかという気持ちの話を、僕がそういう大きな問題を解決した経験を踏

                            「LLVM lld」「mold」が解決した、リンクが遅い問題 間違った思い込みの解消に必要だったのは“クレイジーな人”
                          • WebAssemblyへのコンパイルだけに特化した新言語「Onyx」登場

                            米Wasmer社が、WebAssemblyへのコンパイルだけに特化した新しいプログラミング言語「Onyx」をブログで紹介しています。 Onyxは(Wasmer社ではなく)Brendan Hansen氏が開発に3年を費やしたプログラミング言語です。 (2023/12/13 お詫びと訂正。当初OnyxをWasmer社が開発したと紹介していましたが、Wasmer社とは直接関係のないBrendan Hansen氏が開発した者でした。お詫びして訂正します。タイトルと本文の一部を修正しました) We're so excited about Onyx . A new programming language which solely compiles to #WebAssembly. Read all about it in our new blogpost:https://t.co/L6yZ9Ls5Q

                              WebAssemblyへのコンパイルだけに特化した新言語「Onyx」登場
                            • キャリアと給料 - たにしきんぐダム

                              (自分の気持ちを整理するために考えをダンプしただけの雑文です) 日本のエンジニア達は海外に出なければいけない|Kei というブログを見た。日本より海外の方がソフトウェアエンジニアの給料が一般に高いので海外に行こうという話 僕は今ポーランドの会社にコンパイラエンジニアとして(日本からリモートで)働いていて、コンパイラバックエンドやIDEなどの開発をフルタイムでしている。"海外" に関する話だけど上記ブログに載せられているスクショにはポーランドが見当たらないですね。 上記のブログのソースとなった Average Software Engineering Salaries by Country [2022] を見てみると、 Japan $36,024 に対して Poland $22,740 で日本のほうが200万円くらい平均が高い。実際、日本でフリーランスとしてWebアプリケーションとか書いてた

                                キャリアと給料 - たにしきんぐダム
                              • Rustで作るプログラミング言語—— コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで

                                この本の概要 小さなプログラミング言語から本格的なプログラミング言語へ……ステップバイステップでの開発を通して,プログラミングそのものへの理解を深めよう! こんな方におすすめ コンピュータサイエンス,とくにプログラミング言語そのものやコンパイラについての素養を得たいと考えている人 他言語でのプログラミング経験があり,Rustの習得に興味のある人。とくに,学習のための題材を探している人 第1章:プログラミング言語概論 プログラミング言語の分類 他の切り口での分類方法 コンパイルパイプライン 第2章:スタックベース仮想マシン 仮想マシン概論 Rustでの実装 標準入力からの読み込み パースとコマンドの実行 ブロックとネスト構造 if制御構文 変数の定義 複数行のソースコードへの対応 関数呼び出し 関数の再帰呼び出し WebAssemblyへのコンパイルとブラウザでの実行 第3章:プログラミング

                                  Rustで作るプログラミング言語—— コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで
                                • WasmLinux: LinuxカーネルをWebAssemblyにする

                                  LinuxカーネルがWebブラウザで動いたらどう考えても面白い んだけど、そこに至るまではなかなか難しい道のりになる。その第一歩として、Linuxカーネルのユーザーランド版であるLKL( https://github.com/lkl/linux )をWebAssemblyにコンパイルして、wasm2cでC言語に変換した上、Visual Studio 2022でコンパイルしてWindows上で実行してみた。 まだWebブラウザでは動いていないが、思ったよりは簡単にWasmに移植できた(個人の感想です) ウケが良ければMUSL libc移植編 → デバイスドライバ活用編 → Webブラウザ上動作編と続ける感じで。。 EDIT: Visual Studioのスクリーンショットを撮りなおし。 memory-control はanonymousなmapしか救えないので、ここ数年スパンではエミュレーシ

                                    WasmLinux: LinuxカーネルをWebAssemblyにする
                                  • Meta、LLMコンパイラを公開——AIがプログラミングの常識を変えるかも - BRIDGE(ブリッジ)テクノロジー&スタートアップ情報

                                    Image credit: Hugging Face Meta は、「Meta Large Language Model (LLM) Compiler」を発表した。Meta Large Language Model (LLM) Compiler は、コードを最適化し、コンパイラ設計に革命を起こすために設計された、堅牢でオープンソースのモデル群だ。この技術革新は、開発者がコード最適化に取り組む方法を変革し、より速く、より効率的で、費用対効果の高いものにする可能性を秘めている。 LLM Compiler を開発した研究者たちは、大規模言語モデル(LLM)をコードやコンパイラの最適化に適用する際に、これまで十分に検討されてこなかった重要なギャップに対処した。LLVM-IR とアセンブリコードの5,460億トークンからなる膨大なコーパスでモデルをトレーニングすることで、コンパイラの中間表現、アセン

                                      Meta、LLMコンパイラを公開——AIがプログラミングの常識を変えるかも - BRIDGE(ブリッジ)テクノロジー&スタートアップ情報
                                    • bpftraceによるGoアプリケーションのトレース|hayajo

                                      はじめにシステムの状態を的確に捉え、運用に必要なインサイトを継続的に得るための特性は「オブザーバビリティ」と呼ばれます。オブザーバビリティを実現することで、パフォーマンスのモニタリングやトラブルシューティングを効果的に行い、システムの信頼性を高めることができます。 この重要な特性を実現する上で、eBPFやbpftraceは強力なツールとなります。 本記事では、Goアプリケーションにおけるオブザーバビリティを実現するための一つの方法として、bpftraceを用いたトレースの手法を紹介します。 内容が多いため、目次を活用して段階的に読み進めることをお勧めします。 eBPFとbpftraceはじめに、eBPFとbpftraceについて簡単に説明します。 eBPFとはeBPF(Extended Berkeley Packet Filter)はLinuxカーネル内で動作する柔軟なプログラミングフレー

                                        bpftraceによるGoアプリケーションのトレース|hayajo
                                      • 第793回 自作のカーネルモジュールをRustで作る | gihyo.jp

                                        第791回では基本的なカーネルモジュールの作り方とそれをDKMSに対応させる方法を紹介しました。今回はカーネルの新しい機能のひとつである「Rustでカーネルモジュールを作る方法」を紹介しましょう。 UbuntuカーネルにおけるRustの対応 Linuxカーネルでは、Kernel 6.1からプログラミング言語である「Rust」の機能が取り込まれました。これは「Rust for Linux」の成果で、カーネルの機能をC言語やアセンブラだけでなく、Rustでも書けるようにするというものです。メモリー安全性や強い静的型付けなどの特徴を取り込むことで、カーネルのセキュリティ問題の原因の多くを占めるメモリー関連の不具合に対して、一種の対策になることが期待されます。 あらゆるケースにおいてRustに置き換えられるというわけではありませんが、今後カーネルのコードを読み書きする上でC言語やアセンブラだけでな

                                          第793回 自作のカーネルモジュールをRustで作る | gihyo.jp
                                        • GitHub Actions のストレージ空き容量を限界まで拡張する

                                          name: Container deploy on: release: types: [published] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true env: REGISTRY: ghcr.io IMAGE_NAME: pinto0309/test jobs: docker-deploy: runs-on: ubuntu-22.04 permissions: contents: read packages: write steps: - name: Git checkout uses: actions/checkout@v3 - name: Enable buildx uses: docker/setup-buildx-action@v2 - name: Ch

                                            GitHub Actions のストレージ空き容量を限界まで拡張する
                                          • Rustがサポートするアーキテクチャ少なすぎる!

                                            「RustでLinuxカーネルモジュールを実装しよう!」とはしゃいできましたが、実は、X86-64とLoongArchという2つのCPUアーキテクチャしかサポートされていません。近いうちに、ARM64もサポートされそうですが、Linuxカーネルがサポートする大半のアーキテクチャで、Rustは使えません。 Linuxカーネルの標準コンパイラのGCCは、CのソースコードをLinuxカーネルがサポートする様々なCPUアーキテクチャ用の実行ファイルに変換することができます。一方、Rustの公式コンパイラがサポートを保証しているCPUアーキテクチャはARM64とX86、X86–64だけです。 Rustの公式コンパイラがサポートしているアーキテクチャが少なすぎるということで、別のコンパイラを試してみました。 Rustの公式コンパイラRustの公式コンパイラは、コンパイラを実装するための基盤的なソフトウ

                                              Rustがサポートするアーキテクチャ少なすぎる!
                                            • ZigでWriting an OS in 1,000 Linesをやる

                                              ZigでWriting an OS in 1,000 Linesをやる #2023-11-21 自作 OS で学ぶマイクロカーネルの設計と実装(通称エナガ本)の補足資料として公開されているWriting an OS in 1,000 Linesを、できるだけZigでやってみることにした。 目次成果物 #repositoryは以下。 さいしょに #エナガ本は一通り読んでいたのだが、機能に対していくつかのOSの実装を眺める。という構成になっており、個人的には「同じような難易度でRV32を対象に 0->1 でシンプルなOSを作る書籍があるといいなあ」と思いながら読んでいたのだが、まさに欲していたものが公開されたので大喜びで実装を開始した。 自分はそのまま写経してしまうと頭に入らないため、異なる言語で書いてみたり、何らかの制約を課して実施することが多い。今回はZigで書いてみることにした。 概ね問

                                                ZigでWriting an OS in 1,000 Linesをやる
                                              • LINE LLMをMacで動かす - きしだのHatena

                                                先日、LINE(現LINEヤフー)のNLP Foundation Devチームから日本語言語モデルが公開されました。(以降LINE LLMと表記します) 36億パラメータの日本語言語モデルを公開しました Instruction Tuningにより対話性能を向上させた3.6B日本語言語モデルを公開します でも「NVIDIAのGPUがないと動かないんでしょ」と、試していない人も多いんではないでしょうか。 そこでこのブログでは、MacでLINE LLMを動かす手順をまとめたいと思います。 Windowsや他のLLMでもほぼ同じ手順で動かせるはずです。 次のような手順で進めます。 pythonインストール ライブラリインストール 1.7Bのサンプルコードを動かす チャットインタフェースで1.7Bを動かす CTranslateによる3.6B llama.cppによる3.6B Pythonインストール

                                                  LINE LLMをMacで動かす - きしだのHatena
                                                • Thorium Browser

                                                  Chromium fork for Linux, Windows, MacOS, Android, and Raspberry Pi named after radioactive element No. 90. Highlights Compiler optimizations include SSE4.2, AVX, AES, and modifications to CFLAGS, LDFLAGS, thinLTO flags, import_instr_limit flags, and PGO, as well as other compiler flags. LLVM LOOP optimizations as -mllvm flags Learn more about these compiler optimizations and how they work Here. UI

                                                  • Rustで作る!自作言語・コンパイラ入門:学園生活研究部

                                                    Rustで自作言語とコンパイラを作るために必要な知識と実装手法を初心者向けに簡単に説明することを試みました。パーサコンビネータやLLVM関連のライブラリを利用し、Rustで自作言語やコンパイラ作りをやっていきます。

                                                      Rustで作る!自作言語・コンパイラ入門:学園生活研究部
                                                    • なぜ成功者たちは一部の会社や地域に偏っているのか? “優秀だから”だけではない2つの要因

                                                      Blue Whale Systems株式会社の植山類氏は、「LLVM lld」「mold」が解決したプログラムのビルドの問題を例に、“大きな問題”を解決することについて話しました。全3回。前回はこちらから。 同じ人が何回も成功できる外部的要因と心理的要因 植山類氏:「では、挑戦していくにはどうしたらいいの?」という話をしようと思います。(スライドを示して)この人たちが誰だかわかりますか? まぁ偉い人たちなんですけど。右がケン・トンプソンという人で、「UNIX」の開発者です。左がロブ・パイクという人で、Go言語を作った人です。 この人たちは、ロブ・パイクは、僕のGoogleのオフィスのわりと近くで働いていて、見たことがあります。ケン・トンプソンも1回オフィスで見たことがあります。 この人たちはUNIXやGoを作っただけじゃなくて、他にもPlan 9というOSやInfernoというOSを作った

                                                        なぜ成功者たちは一部の会社や地域に偏っているのか? “優秀だから”だけではない2つの要因
                                                      • Kubernetesクラスタの可観測性の隙間を埋めるeBPF - LIFULL Creators Blog

                                                        KEELチームの相原です。 今回はeBPFを利用してKubernetesクラスタの可観測性の隙間を埋めている話です。 前回のエントリではLLMにうつつを抜かしていたので本業(?)の話をしようと思います。 www.lifull.blog LIFULLの可観測性の現在地 eBPFとは 可観測性の隙間 NAT Loopback eBPFを実行するには BPF CO-RE libbpf-rsを利用したNAT Loopbackの検知 1. (ユーザ空間) コマンドライン引数として受け取ったDNSをTTLごとに名前解決してIPアドレスを取得する 2. (ユーザ空間) IPアドレスに変化がある度にカーネル空間で動くBPFプログラムにそのIPアドレスのリストを渡す 3. (カーネル空間) Kprobesで tcp_v4_connect/tcp_v6_connect にフックを仕込む 4. (カーネル空間)

                                                          Kubernetesクラスタの可観測性の隙間を埋めるeBPF - LIFULL Creators Blog
                                                        • 自分が Moonbit 言語について知っていること

                                                          I will write an English version later to give back to the moonbit community. Addition: https://gist.github.com/mizchi/aef3fa9977c8832148b00145a1d20f4b この記事はリバースエンジニアリングを含んでいる。公式の Discord サーバーで質問して得られた内容を含むが、ここに書かれたものは自分の理解であって、公式の見解ではない。 前の紹介記事では煽り気味だったので、実際に調べながら書いてみてどう感じているかという実践的な話をする。 作者と開発組織 開発母体は深センの研究組織 IDEA 元 Meta で BuckleScript | ReScript を開発していた Hongbo Zhang 氏がチーフアーキテクト。 ReScript を知らない人の

                                                            自分が Moonbit 言語について知っていること
                                                          • Python 3.13 gets a JIT

                                                            Happy New Year everyone! In late December 2023 (Christmas Day to be precise), CPython core developer Brandt Bucher submitted a little pull-request to the Python 3.13 branch adding a JIT compiler. This change, once accepted would be one of the biggest changes to the CPython Interpreter since the Specializing Adaptive Interpreter added in Python 3.11 (which was also from Brandt along with Mark Shann

                                                              Python 3.13 gets a JIT
                                                            • MySQL アンカンファレンスを開催したい - tom__bo’s Blog

                                                              MySQL アンカンファレンス開催したい。というかします。 概要 最近のMySQLはバージョニング方針も変わって、周辺ツールを含めた機能追加も着々とされている一方で、MySQL関連のイベントは減ってしまったような気がします。 コロナ以降、イベントが少ない気がするのは残念に思いつつも、最近の私には社外で活動できる余力がなく、社内にMySQLのプロ、その他DBのプロがたくさんいるので、なんとなく満足してしまっていました。 ですが、MySQL Advent Calendar 2023でいろいろなブログを一気に読んでいて、社内の会話だけで満足するのはもったいない。2024年はMySQLコミュニティのイベントに参加していきたいと思っていました。 オフラインで集まることも以前ほど慎重にならなくて良いので、MySQL Casualを開催することもできます(手を上げれば誰でも開催できると思っていますし、私

                                                                MySQL アンカンファレンスを開催したい - tom__bo’s Blog
                                                              • AWS Outposts Server (Graviton2, Xeon) 電力効率検証 - NTT Communications Engineers' Blog

                                                                はじめに こんにちは、イノベーションセンターの鈴ヶ嶺です。 普段はクラウドサービスをオンプレミス環境でも同様のUI/UXで使用できるハイブリッドクラウド製品の技術検証をしています。 我々は以下のように過去にAWSのサーバ型ハイブリッドクラウドの解説や実施検証などを行ってきました。 engineers.ntt.com engineers.ntt.com このたび、新たにAWS Graviton2搭載のOutposts Serverを導入しさまざまな検証を進めています。 本記事では、AWS Graviton2搭載のOutposts ServerとIntel Xeon搭載のOutposts Serverとの性能差や電力効率を比較した結果を共有します。 まずこれまでのAWS Graviton2, Intel Xeonの比較検証記事の調査結果を共有します。 次に、実際にインテリジェントPDUに接続し

                                                                  AWS Outposts Server (Graviton2, Xeon) 電力効率検証 - NTT Communications Engineers' Blog
                                                                • Taming Floating-Point Sums | orlp.net

                                                                  Suppose you have an array of floating-point numbers, and wish to sum them. You might naively think you can simply add them, e.g. in Rust: fn naive_sum(arr: &[f32]) -> f32 { let mut out = 0.0; for x in arr { out += *x; } out } This however can easily result in an arbitrarily large accumulated error. Let’s try it out: naive_sum(&vec![1.0; 1_000_000]) = 1000000.0 naive_sum(&vec![1.0; 10_000_000]) = 1

                                                                  • Cassette

                                                                    Cassette is a small, Lisp-like programming language. It looks like this: import List import Math import Canvas import System let width = 800, height = 480, canvas = Canvas.new(width, height) canvas.text("Lines!", {200, 2}) System.seed(System.time()) def rand-line(i) do let x0 = Math.floor(i * width / 100), y0 = Math.rand-int(20, height / 10), x1 = Math.rand-int(0, width), y1 = Math.rand-int(20, he

                                                                    • Onyx, a new programming language powered by WebAssembly

                                                                      Back to articlesOnyx, a new programming language powered by WebAssemblyLearn about Onyx, a new imperative programming language that leverages WebAssembly and Wasmer for seamless cross-platform support What is Onyx? Onyx is a new programming language featuring a modern, expressive syntax, strict type safety, blazingly-fast build times, and out-of-the-box cross platform support thanks to WebAssembly

                                                                        Onyx, a new programming language powered by WebAssembly
                                                                      • 「Webに対して不満があるからWebブラウザに手を加える」は大げさか? 植山類氏が語る、“クレイジーなアイデアに挑戦する”ということ

                                                                        Blue Whale Systems株式会社の植山類氏は、「LLVM lld」「mold」が解決したプログラムのビルドの問題を例に、“大きな問題”を解決することについて話しました。全3回。前回はこちらから。 サーバーサイドのアプリケーションで分散処理をさせる必要は本当にあるのか? 植山類氏:「では、大きな問題って何?」という話で、いくつか例を挙げてみたいと思います。これは必ずしもそうするべきという話ではなくて、エンジニアリングはトレードオフなので、すべての選択肢に良いところもあれば悪いところもあります。 ただ、検討もしない、最初から考えてもみないというのは、それはそれで正しいエンジニアリングとは言えないので、気づきを与えるという意味で「こういうふうに考えてみることもできるんじゃないの」という話をいくつかしたいと思います。 このセッションを見ている方で、サーバーサイドのアプリケーションを書い

                                                                          「Webに対して不満があるからWebブラウザに手を加える」は大げさか? 植山類氏が語る、“クレイジーなアイデアに挑戦する”ということ
                                                                        • Pythonと互換性を保ちつつ、非常に高速に動作することで話題のMojoをGoogle Colab上で動作させる方法 - Qiita

                                                                          Pythonと互換性を保ちつつ、非常に高速に動作することで話題のMojoをGoogle Colab上で動作させる方法PythonDeepLearningmojoGoogleColaboratory Pythonのスーパーセットとして互換性を保ちながら、驚くべき速さで実行できると話題の「Mojo」をGoogle Colab上で動作させる方法について解説します。 Mojoについては、おおまかには、以下の通りです。 Modular社は、コンパイラ基盤として広く使われているLLVM、Swift言語、GoogleがAI処理のために設計したCloud TPUなどの開発に関わってきたChris Lattner氏が共同創業者兼CEOを務める企業です。 その同社が5月に初めてMojoを発表した際に、MojoはAI処理を高速に実行するための言語だと説明しました。 MojoはPythonとの互換性によって既存の

                                                                            Pythonと互換性を保ちつつ、非常に高速に動作することで話題のMojoをGoogle Colab上で動作させる方法 - Qiita
                                                                          • The path to implementing a programming language

                                                                            This blog tries to summarize all the choices and paths you could take to implement your next programming language, more specifically the frontend for your language. There are a lot of factors that will influence your choices. Maybe you have your favorite host language that you would like to use for implementing your language, whether your language is dynamically or statically typed, or you are des

                                                                            • A new way to bring garbage collected programming languages efficiently to WebAssembly · V8

                                                                              A recent article on WebAssembly Garbage Collection (WasmGC) explains at a high level how the Garbage Collection (GC) proposal aims to better support GC languages in Wasm, which is very important given their popularity. In this article, we will get into the technical details of how GC languages such as Java, Kotlin, Dart, Python, and C# can be ported to Wasm. There are in fact two main approaches:

                                                                              • TypeScript is Surprisingly OK for Compilers

                                                                                TypeScript is Surprisingly OK for Compilers Aug 17, 2023 There are two main historical trends when choosing an implementation language for something compiler-shaped. For more language-centric tasks, like a formal specification, or a toy hobby language, OCaml makes most sense. See, for example, plzoo or WebAssembly reference interpreter. For something implementation-centric and production ready, C+

                                                                                • レッドハット、「Red Hat Enterprise Linux 9.4」を一般提供--「RHEL 7.9」に4年間の追加サポートも

                                                                                  レッドハット、「Red Hat Enterprise Linux 9.4」を一般提供--「RHEL 7.9」に4年間の追加サポートも Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 編集部 2024-05-02 10:03 Red Hatは米国時間5月1日、同社OSの最新版「Red Hat Enterprise Linux(RHEL)9.4」をリリースした。また、「RHEL 7.9」のサポートを4年延長することも発表した。 他のバージョンのRHELではこのような延長サポートは期待できないだろう。CanonicalがUbuntuの長期サポート(LTS)版に12年間のサポートを提供しているのとは異なり、Red Hatは「RHEL 7 Extended Life Cycle Support(ELS)」に1回限りの4年間の追加サポートを

                                                                                    レッドハット、「Red Hat Enterprise Linux 9.4」を一般提供--「RHEL 7.9」に4年間の追加サポートも