Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

An Introduction to Dragon/Lessons/History

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

History Dragon was created by Aavesh Jilani, who authored the reference implementation and continues to maintain the project. Dragon began as a project to build a small, fast, embeddable scripting language with a friendlier surface syntax than many existing dynamic languages. The reference implementation is written entirely in Rust, which gives the interpreter memory safety without a garbage-collected host runtime, and makes the toolchain (the dragon CLI, its bytecode VM, and its optional C transpiler) easy to build and distribute as a single native binary. Over time the language grew from a simple tree-walking interpreter into a full pipeline: A hand-written lexer and recursive-descent parser producing an AST. A bytecode compiler that lowers the AST into a compact instruction set. A stack-based virtual machine that executes the compiled bytecode. An experimental AST-to-C transpiler (codegen_c) that allows performance-sensitive or distribution-sensitive programs to be compiled to a native binary instead of interpreted. Alongside the language core, the project grew a standard library of built-in modules (math, json, file, path, os, time, net, crypto, zip, xml, uuid, pdf, font, ffi, struct, mem, and thread), a package-based project runner (dragon run, driven by a package.json manifest), and a terminal user-interface editor nicknamed the TurboDragon IDE, launched with dragon --ide. The project is open source and distributed under the MIT License, copyright Aavesh Jilani. The canonical source repository and issue tracker are the primary place where the language's ongoing history is tracked release-by-release.