I'm working on modernizing Rosetta Code's infrastructure. Starting with communications. Please accept this time-limited open invite to RC's Slack.. --Michael Mol (talk) 20:59, 30 May 2020 (UTC)


From Rosetta Code
(Redirected from Wren)
This programming language may be used to instruct a computer to perform a task.
Official website
Execution method: Interpreted
Garbage collected: Yes
Type safety: Safe
Type strength: Strong
Type expression: Implicit
Type checking: Dynamic
See Also:

Listed below are all of the tasks on Rosetta Code which have been solved using Wren.
Your Help Needed
If you know Wren, please write code for some of the tasks not implemented in Wren.

Wren is a lightweight, object-oriented programming language designed to be an easily-embeddable scripting language.

It is under development on GitHub and is fully documented here.

The CLI tool (Wren CLI) has its own repository and is the main focus of examples written for RC. The latest version 0.4.0 is available as a pre-built standalone executable for 64-bit Linux, MacOS and Windows and can be downloaded from here.

In common with several other 'newer' languages (Rust, Kotlin, Julia, Swift, Phix etc.) Wren doesn't have its own syntax highlighting on Rosetta Code as GeSHi support hasn't been updated for a long time and may never be. However, I've found by experimentation that, if ecmascript is used in the lang tag, then this will highlight all of Wren's keywords except construct and foreign and is probably the best we can do in the circumstances.

As a language mainly designed for embedding, Wren's standard library is (of necessity) quite small and I have therefore decided to create some additional modules to assist with writing Rosetta Code tasks so the same code does not have to be written or copy/pasted time and time again thereby bloating a task's script code unnecessarily. The ones written so far are listed below:

No. Module name No. Module name
1 fmt 2 str
3 sort 4 math
5 trait 6 seq
7 date 8 rat
9 pattern 10 big
11 upc 12 matrix
13 set 14 llist
15 queue 16 complex
17 dynamic 18 ioutil
19 long 20 crypto
21 sound 22 polygon
23 srandom 24 lsystem
25 turtle 26 ellipse
27 check 28 array
29 gmp 30 ecm
31 sql 32 event
33 i64 34 perm
35 linear 36 regex
37 maputil 38 plot

These modules are subject to the same license as any other code submitted to Rosetta Code though contributors' user pages should be checked to see whether more permissive terms are available. If anyone wishes to add further modules, please do so using a similar model and append them to the list.

Please note that when creating a category for a new module its name should be prefixed with 'Wren-' as in 'Wren-fmt' and the library header for a task which uses the module should therefore use this name. Modules will normally have generic names and this convention allows Rosetta Code users to easily distinguish Wren modules from similarly named modules/libraries written for other languages.

There are also a number of third-party modules available for Wren of which the following have been used to write solutions for Rosetta Code tasks:

No. Module name No. Module name
1 DOME 2 Raylib-wren
3 SpiderWren 4 Wren-assert
5 Wren-json 6 Wren-test
7 WrenGo 8


For further information and licensing requirements, please consult their individual pages.

Pages in category "Wren"

The following 1,558 pages are in this category, out of 1,558 total.