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.

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.

Miraheze uses Pygments (rather than GeSHi) for syntax highlighting and initially there was no specific support for Wren. However, I have now written a Pygments lexer for Wren which will be included in the next release 2.14.0 and will probably be generally available by the end of 2022.

In the meantime 'ecmascript', which we currently use for the 'lang' attribute, is supported by virtue of a GeSHi mapping to the 'javascript' lexer and highlights all Wren 0.4.0 keywords except: is, construct and foreign. I suggest we continue to use that until the Wren lexer is available after which we can use the latter for new tasks and when updating existing tasks. A major effort would be needed to update all existing tasks straightaway given that there are almost 1,600 of them as at November 2022.

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
39 debug 40 table

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 Wren-xsequence

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

Pages in category "Wren"

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

(previous page) (next page)


(previous page) (next page)