wren

The Wren Programming Language

Github stars Tracking Chart

Wren is a small, fast, class-based concurrent scripting language

Think Smalltalk in a Lua-sized package with a dash of Erlang and wrapped up in
a familiar, modern syntax.

System.print("Hello, world!")

class Wren {
  flyTo(city) {
    System.print("Flying to %(city)")
  }
}

var adjectives = Fiber.new {
  ["small", "clean", "fast"].each {, word, Fiber.yield(word) }
}

while (!adjectives.isDone) System.print(adjectives.call())
  • Wren is small. The VM implementation is under 4,000 semicolons.
    You can skim the whole thing in an afternoon. It's small, but not
    dense. It is readable and lovingly-commented.

  • Wren is fast. A fast single-pass compiler to tight bytecode, and a
    compact object representation help Wren compete with other dynamic
    languages
    .

  • Wren is class-based. There are lots of scripting languages out there,
    but many have unusual or non-existent object models. Wren places
    classes front and center.

  • Wren is concurrent. Lightweight fibers are core to the execution
    model and let you organize your program into an army of communicating
    coroutines.

  • Wren is a scripting language. Wren is intended for embedding in
    applications. It has no dependencies, a small standard library,
    and an easy-to-use C API. It compiles cleanly as C99, C++98
    or anything later.

If you like the sound of this, let's get started. You can even try
it in your browser! Excited? Well, come on and get
involved
!

Build Status

Main metrics

Overview
Name With Ownerwren-lang/wren
Primary LanguageWren
Program languagePython (Language Count: 9)
Platform
License:MIT License
所有者活动
Created At2013-11-19 00:43:45
Pushed At2025-03-12 00:06:49
Last Commit At
Release Count5
Last Release Name0.4.0 (Posted on )
First Release Name0.1.0 (Posted on 2016-05-21 10:53:19)
用户参与
Stargazers Count7.2k
Watchers Count155
Fork Count572
Commits Count1.8k
Has Issues Enabled
Issues Count579
Issue Open Count144
Pull Requests Count322
Pull Requests Open Count102
Pull Requests Close Count152
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private