並び順

ブックマーク数

期間指定

  • から
  • まで

521 - 560 件 / 589件

新着順 人気順

ProgrammingLanguageの検索結果521 - 560 件 / 589件

  • An Overview of the Starlark language

    Starlark is a small programming language, designed as a simple dialect of Python and intended primarily for embedded use in applications. Some people might say it’s a bit like Lua with Python syntax, but I think there are many interesting bits to discuss. The language is now open-source and used in many other applications and companies. As I led the design and implementation of Starlark, I’d like

    • hurl-lang: a language that should not exist but, regrettably, does

      #Hurl Hurl is a toy general-purpose language which gives you everything you need: a variety of error handling mechanisms! And ways to generate errors. #Licenses This software is licensed under the following licenses: Under AGPL-3.0 Under GAL-1.0 (Gay Agenda License) Under a commercial license You may use the software under any one of these licenses, without regard for the others.

      • 正規表現の季節と聞いて、正規表現エンジンを作ってみた - I Would Prefer Not To.

        Kernel/VM探検隊@関西 11回目や、Nextbeat Tech Bar: 楽しい正規表現に参加して、どうやら人間は正規表現エンジンを作っているらしいということを知り、私も作ってみたいという気持ちが高まったので正規表現エンジンを作ってみた。 どうやら「秋から冬は正規表現の季節」なのだそうだ。しかし、少し待ってほしい。今は夏ではないか?いや、本当にそうだろうか? 立秋(りっしゅう)は、二十四節気の第13。七月節(旧暦6月後半から7月前半)。 現在広まっている定気法では太陽黄経が135度のときで8月7日ごろ。暦ではそれが起こる日だが、天文学ではその瞬間とする。恒気法では冬至から5/8年(約228.28日)後で8月8日ごろ。 参照: https://ja.wikipedia.org/wiki/%E7%AB%8B%E7%A7%8B というわけで、暦の上では今は秋と言えるだろう。そう、「正規表

          正規表現の季節と聞いて、正規表現エンジンを作ってみた - I Would Prefer Not To.
        • Wayback Machine

            Wayback Machine
          • The Ferrocene Language Specification is here!

            A Rust compiler toolchain for safety- and mission-critical environments. It’s here! A couple of months ago, we announced that as part of our efforts with Ferrocene, we were creating the Ferrocene Language Specification – and now our first draft is online. The Ferrocene Language Specification (FLS) is an effort of Ferrocene, a collaboration between Ferrous Systems and AdaCore to bring a qualified R

              The Ferrocene Language Specification is here!
            • tylr

              • Writing A Compiler In Goを完走した - demouth::blog

                去年の夏に書籍「Writing A Compiler In Go」を購入して以降、時間を見つけてコツコツ進めていたのですが、先日ようやく完走することができました。 基本的には本に書いてあることを写経しながら進めるだけでコンパイラが完成してしまうので、内容をしっかり理解していなくても完走はできてしまいます。なので、記憶の定着を目的にこの本で何をやったのかブログに残しておこうと思います。 目次 「Writing A Compiler In Go」とは 前作「Writing An Interpreter In Go」でやったこと 字句解析 Laxer 構文木解析 Parser 評価 Eval 「Writing A Compiler In Go」で何をやるか スタックマシンとバイトコードとデコード コンパイラとVM 終わりに 「Writing A Compiler In Go」とは 「Writin

                  Writing A Compiler In Goを完走した - demouth::blog
                • New in Scala 3

                  The exciting new version of Scala 3 brings many improvements and new features. Here we provide you with a quick overview of the most important changes. If you want to dig deeper, there are a few references at your disposal: The Scala 3 Book targets developers new to the Scala language. The Syntax Summary provides you with a formal description of the new syntax. The Language Reference gives a detai

                  • Rubyist のための他言語探訪 【第 2 回】 CLU

                    著者:まつもとゆきひろ 編集:なかむら はじめに 「Rubyist のための他言語探訪」は、Ruby 作者まつもとゆきひろが、Ruby と関係があったりなかったりする他の言語を紹介していく連載です。 他の言語を知ることによって、視野が広がると同時に、逆に Ruby への理解も深まることでしょう。 今回は、Ruby の言語仕様に様々な影響を与えた言語 CLU を紹介します。 CLU とは CLU は 1974 年に MIT の Barbara Liskov 教授によって 開発された抽象データ型プログラミング言語です。 ALGOL や Simula の影響を受けているような気がしますが、実際 Liskov 女史が CLU を設計した時にこれらの言語からどの程度影響を受けていたのかはよくわかりません。 世間ではあまり知られていない CLU ですが、東京工業大学木村研究室近辺ではかなり使われていた

                    • Lean 4 Web

                      • Stamp: a microlang for project templates

                        June 23, 2024 — Regardless if you specialize in React, Rails, Django, Next, Java, C#, or ObjectiveC, you probably use templates to start new projects. Templates generate a handful of files like readme.md, .gitignore, and main. They also initialize a handful of directories like src/ and tests/. What if it was even easier to make, edit and use these templates? Introducing Stamp, a microlang (only 60

                          Stamp: a microlang for project templates
                        • Pyston | Python Performance

                          Pyston is an open-source faster implementation of the Python programming language, designed for the performance and compatibility challenges of large real-world applications. ​ Simply drop Pyston into your environment and get a 35-65% speedup with no development work required. ​ Please check out our blog or GitHub for more details.

                          • Some programming language ideas

                            Published on 21-02-2025 This post is me writing down some ideas for programming languages or programming language features. Mainly to get them out of my head into the world without having to write an actual compiler for them 😅 I start by providing some context and then present my ideas. Hopefully it’s interesting. Explanation of existing concepts Here are a few short explanations and references t

                            • 数日前からCコンパイラを書き始めた。 - memo.yammer.jp

                              数日前からCコンパイラを書き始めた。(GitHub) 植山類さんのオンラインブック、低レイヤを知りたい人のためのCコンパイラ作成入門を読みながら、概ね本の内容に沿って進めている。 自分の書いたコンパイラで自身をコンパイルするセルフホストを目指している。 コンパイラというのはある言語で書かれたプログラムを別の言語に変換するプログラムだ。 ここではC言語をアセンブリに変換するものを指している。 いきなりC言語をコンパイルするのは無理なので、徐々に複雑な入力を受け付けるように改良し、最終的にC言語を受け付けるようにする(したい)。 最初は入力をそのまま出力することから始まり、四則演算ができるようになり、いまは関数呼び出しができるようになった。 本はとても丁寧に書かれていて、参考として実装も2種類ほど存在する。 さらにSlackやYoutube Liveで質問ができるというとても恵まれた環境が揃っ

                                数日前からCコンパイラを書き始めた。 - memo.yammer.jp
                              • Implementing Type Systems as Macros

                                There’s a neat paper Type Systems as Macros by Chang, Knauth, and Greenman [1] that describes how to implement a typed language using an untyped host language and macro expansion. The paper is neat, but I found the code hard to follow—the paper uses a compact notation that’s convenient for print, but not so much for reproducing on one’s own. This post is my attempt to implement and explain in more

                                • GitHub - ImperialCollegeLondon/formalising-mathematics: Lean 3 material for Kevin Buzzard's 2021 TCC courrse on formalising mathematics. Lean 4 version available here: https://github.com/ImperialCollegeLondon/formalising-mathematics-2024

                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                    GitHub - ImperialCollegeLondon/formalising-mathematics: Lean 3 material for Kevin Buzzard's 2021 TCC courrse on formalising mathematics. Lean 4 version available here: https://github.com/ImperialCollegeLondon/formalising-mathematics-2024
                                  • SyncとSendトレイトで拡張可能な並行性 - The Rust Programming Language 日本語版

                                    SyncとSendトレイトで拡張可能な並行性 面白いことに、Rust言語には、寡少な並行性機能があります。この章でここまでに語った並行性機能のほとんどは、 標準ライブラリの一部であり、言語ではありません。並行性を扱う選択肢は、言語や標準ライブラリに制限されません; 独自の並行性機能を書いたり、他人が書いたものを利用したりできるのです。 ですが、2つの並行性概念が言語に埋め込まれています: std::markerトレイトのSyncとSendです。 Sendでスレッド間の所有権の転送を許可する Sendマーカートレイトは、Sendを実装した型の所有権をスレッド間で転送できることを示唆します。 Rustのほとんどの型はSendですが、Rc<T>を含めて一部例外があります: この型は、Rc<T>の値をクローンし、 クローンしたものの所有権を別のスレッドに転送しようとしたら、両方のスレッドが同時に参

                                    • GitHub - chaosprint/glicol: Graph-oriented live coding language and music/audio DSP library written in Rust

                                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                        GitHub - chaosprint/glicol: Graph-oriented live coding language and music/audio DSP library written in Rust
                                      • madhadron - The seven programming ur-languages

                                        I regularly hear people asking which programming language to learn, and then reeling off a list of very similar languages (“Should I learn Java, C#, C++, Python, or Ruby?”). In response I usually tell them that it doesn’t really matter, as long as they get started. There are fundamentals behind them. What do I mean when I say fundamentals? If you have an array or list of items and you’re going to

                                        • Nickel

                                          Manage complex configurations. Modular, correct and boilerplate-free. This configuration contains an error. Fix it and press Ctrl+Enter (or Cmd +Enter) or click Run to try your solution.

                                          • スタックとヒープの違いにはまった話 - sasurau4のブログ

                                            TL; DR ヒープとスタックは違う メモリは0と1 gdb楽しい はじめに 以前に引き続き、C compilerを作っている ポインタが思いの他簡単に実装できて感動していたら、ポインタと数字の加減算でめちゃくちゃにハマった あっちこっちデバッグして、原因を探っていったら飛ぶように1週間ほど経っていたが、さきほど原因が判明してめっちゃ感動して、この記事を書き出した 書き上げるのに2日ぐらいかかってしまった 原因を探っていく過程で、スタックマシンとメモリについての理解が深まった その記録 簡単なポインタの加減算 実装しようとしたのは、compiler bookのここ 「まだ配列がないので、mallocする」と書いてあったのでmalloc関数を使うのかと思いきや、mallocを使って配列をアロケートする方法がよく分からず肝心のテストが書けない 秘伝のあんちょこ、本家9ccのcommit log

                                              スタックとヒープの違いにはまった話 - sasurau4のブログ
                                            • Rustのパーサーライブラリ、Chumskyの紹介

                                              はじめに この記事ではRustのパーサーライブラリ、Chumskyに軽く入門していきます。 ChumskyはAriadneと連携することで綺麗なエラー表示を行うことができるのでそれもやっていきます。 参考リンク Chumsky 本書で紹介するChumskyのリポジトリ Ariadne エラー表示用のライブラリ。Chumskyと同じ作者が作っている Tao Chumskyと同じ作者が作っているプログラミング言語。パーサーにChumskyを使っているので例を見るのにちょうど良い Chumskyとは ChumskyはRust用のパーサーライブラリで、他のパーサーライブラリと比べると エラー処理に力を入れている Ariadneと連携することでかっこいいエラー表示ができる。(もちろん他のパーサーでもAriadneを使うことはできます) トークン列用のパーサーから元の文字列の範囲(スパン)を取れる。先

                                                Rustのパーサーライブラリ、Chumskyの紹介
                                              • Why Algebraic Effects?

                                                Why Algebraic Effects Algebraic effects1 (a.k.a. effect handlers) are a very useful up-and-coming feature that I personally think will see a huge surge in popularity in the programming languages of tomorrow. They’re one of the core features of Ante, as well as being the focus of many research languages including Koka, Effekt, Eff, and Flix. However, while many articles or documentation snippets tr

                                                  Why Algebraic Effects?
                                                • GitHub - berry-lang/berry: A ultra-lightweight embedded scripting language optimized for microcontrollers.

                                                  Berry is a ultra-lightweight dynamically typed embedded scripting language. It is designed for lower-performance embedded devices. The Berry interpreter-core's code size is less than 40KiB and can run on less than 4KiB heap (on ARM Cortex M4 CPU, Thumb ISA and ARMCC compiler). The interpreter of Berry include a one-pass compiler and register-based VM, all the code is written in ANSI C99. In Berry

                                                    GitHub - berry-lang/berry: A ultra-lightweight embedded scripting language optimized for microcontrollers.
                                                  • 言語実装パターンを読んだ - orangain flavor

                                                    言語実装パターン ―コンパイラ技術によるテキスト処理から言語実装まで 作者: Terence Parr,中田育男,伊藤真浩出版社/メーカー: オライリージャパン発売日: 2011/12/24メディア: 大型本購入: 5人 クリック: 333回この商品を含むブログ (13件) を見る 「言語実装」と聞くとコンパイラの本かと思いますが、本書は「言語アプリケーション」を実装するための本です。言語アプリケーションには設定ファイルの読み取り、データの読み取り、コード生成、コード変換器、インタプリタなど、入力ファイルを処理・解析したり、変換したりするアプリケーションが含まれます。 このようなアプリケーションはだいたい同じような構成になり、以下のような要素を組み合わせて実装することになりますが、各要素の実装パターンが数種類紹介されていて、メリット・デメリットを考慮して適切なものを選択できるようになってい

                                                      言語実装パターンを読んだ - orangain flavor
                                                    • Quint - Executable Specification Language

                                                      /// A state variable to store the balance of each account var balances: str -> int pure val ADDRESSES = Set("alice", "bob", "charlie") action withdraw(account, amount) = { // Decrement balance of account by amount // Whoops, we forgot to check for enough balance balances' = balances.setBy(account, curr => curr - amount) } // ... /// Invariant: Account balances should never be negative val no_negat

                                                      • MoonBit Documentation — MoonBit v0.6.24+012953835 documentation

                                                        MoonBit Documentation# MoonBit is an end-to-end programming language toolchain for cloud and edge computing using WebAssembly. The IDE environment is available at https://try.moonbitlang.com without any installation; it does not rely on any server either. Get started Tutorials: Follow tutorials to start your journey Language: Introduction to detailed language specifications Toolchains: Introductio

                                                        • Grit

                                                          Grit is a developer tool to put software maintenance on autopilot. We automatically handle your: Dependency upgradesLarge migrationsCode quality improvements

                                                          • distcc: a fast, free distributed C/C++ compiler

                                                            distcc: a fast, free distributed C/C++ compiler Speed, it seems to me, provides the one genuinely modern pleasure. — Aldous Huxley distcc is a program to distribute builds of C, C++, Objective C or Objective C++ code across several machines on a network. distcc should always generate the same results as a local build, is simple to install and use, and is usually much faster than a local compile. d

                                                            • RubyでつくるRubyみたいな言語のコンパイラ

                                                              コンパイラ初学者が、Rubyみたいな言語のコンパイラをRubyで作る話です。

                                                                RubyでつくるRubyみたいな言語のコンパイラ
                                                              • C3 | Blog | An evolution, not a revolution

                                                                Forget Borrow Checkers: C3 Solved Memory Lifetimes With Scopes 2025-07-11 Modern languages offer a variety of techniques to help with dynamic memory management, each one a different tradeoff in terms of performance, control and complexity. In this post we’ll look at an old idea, memory allocation regions or arenas, implemented via the C3 Temp allocator, which is the new default for C3. The Temp al

                                                                • The State of Developer Ecosystem in 2021 Infographic

                                                                  The State of Developer Ecosystem 2021This report presents the combined results of the fifth annual Developer Ecosystem Survey conducted by JetBrains. 31,743 developers from 183 countries or regions helped us map the landscape of the developer community. Here you can find the latest trends in the tech industry, as well as interesting facts about tools, technologies, programming languages, and many

                                                                    The State of Developer Ecosystem in 2021 Infographic
                                                                  • [Rust] ボトムアップパーサを自前で書いてみる

                                                                    「Rustで作るプログラミング言語」とはあまり関係ないですが、やってみたかったことの一つです。 構文解析の世界には LL と LR パーサと呼ばれる分類があります。LL パーサはソースを左からスキャンし、左から導出することを意味します。同様に LR パーサは左からスキャンし、右から導出することを意味します。「導出」というのはトークンの並びを構文の構造で置き換えることを意味します[1]。 LL パーサはトップダウン、 LR パーサはボトムアップパーサとも呼ばれます。再帰下降パーサは LL(k) と呼ばれるパーサになります。 (k) は先読みするトークンの数を表し、再帰下降パーサはマッチに失敗した場合はバックトラックして他の構文を試すため、任意の数の先読みが必要とされることを (k) で示しています。注意深く構文を設計すれば先読みのトークンの数を減らすこともできます。 LR パーサは手で書くの

                                                                      [Rust] ボトムアップパーサを自前で書いてみる
                                                                    • GitHub - eashanhatti/peridot: A fast functional language based on two level type theory

                                                                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                        GitHub - eashanhatti/peridot: A fast functional language based on two level type theory
                                                                      • Introducing Roto: A Compiled Scripting Language for Rust

                                                                        By Terts Diepraam We are working on an embedded scripting language for Rust. This language, called Roto, aims to be a simple yet fast and reliable scripting language for Rust applications. The need for Roto comes from Rotonda, our BGP engine written in Rust. Mature BGP applications usually feature some way to filter incoming route announcements. The complexity of these filters often exceed the cap

                                                                          Introducing Roto: A Compiled Scripting Language for Rust
                                                                        • GitHub - tenetlang/tenetlang: A GPT-Designed Language Built for Humans

                                                                          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                            GitHub - tenetlang/tenetlang: A GPT-Designed Language Built for Humans
                                                                          • Why I use the D programming language for scripting

                                                                            The D programming language is best known as a system programming language, but it's also a great option for scripting. The D programming language is often advertised as a system programming language due to its static typing and metaprogramming capabilities. However, it's also a very productive scripting language. Python is commonly chosen for scripting due to its flexibility for automating tasks a

                                                                              Why I use the D programming language for scripting
                                                                            • ~zjm/Cassette - A little programming language - sourcehut git

                                                                              Cassette is a small, Lisp-like programming language. It is a home-cooked meal. 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),

                                                                              • Goで作るインタプリタ/コンパイラ入門! - Qiita

                                                                                本記事はQualiArts Advent Calendar 2022 18日目の記事です。 プログラミング言語ってどうできているんだろう?自作できたらめっちゃかっこいい!と思って出会った以下2冊の紹介です🙆‍♂️ Writing An Interpreter In Go tree-walking型インタプリタで動作するプログラミング言語をGoで自作できるようになる 邦訳: Go言語でつくるインタプリタ Writing A Compiler In Go ASTから中間表現であるバイトコードを出力するコンパイラとそれを実行する仮想マシンを実装する 邦訳版はないので英語を頑張って読んだ🥺 (kindle版で翻訳かければよかった) 自作言語の入門書的な立ち位置で、広義のインタプリタ・コンパイラを簡易的にGoで実装してみよう!っていう内容です。 そんなに新しい本でもないのですが、簡易的と言っても

                                                                                  Goで作るインタプリタ/コンパイラ入門! - Qiita
                                                                                • GitHub - google/mangle

                                                                                  Mangle is a programming language for deductive database programming. It is an extension of Datalog, with various extensions like aggregation, function calls and optional type-checking. Deductive database programming is useful for bringing data from multiple data sources together since it enables us to represent and query that data in a uniform way. It can also be used to model domain knowledge, si

                                                                                    GitHub - google/mangle

                                                                                  新着記事