Category: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: 

Wren is a lightweight, objectoriented programming language designed to be an easilyembeddable 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 prebuilt standalone executable for 64bit 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 'Wrenfmt' 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 thirdparty 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  Raylibwren  
3  SpiderWren  4  Wrenassert  
5  Wrenjson  6  Wrentest  
7  WrenGo  8  Wrenxsequence 
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)1
A
 A* search algorithm
 A+B
 Abbreviations, automatic
 Abbreviations, easy
 Abbreviations, simple
 ABC problem
 ABC words
 Abelian sandpile model
 Abelian sandpile model/Identity
 Abstract type
 Abundant odd numbers
 Abundant, deficient and perfect number classifications
 Accumulator factory
 Achilles numbers
 Ackermann function
 Active Directory/Connect
 Active Directory/Search for a user
 Active object
 Add a variable to a class instance at runtime
 Addition chains
 Additionchain exponentiation
 Additive primes
 Address of a variable
 ADFGVX cipher
 Air mass
 AKS test for primes
 Algebraic data types
 Align columns
 Aliquot sequence classifications
 AlmkvistGiullera formula for pi
 Almost prime
 Alternade words
 Amb
 Amicable pairs
 Anadromes
 Anagram generator
 Anagrams
 Anagrams/Deranged anagrams
 Angle difference between two bearings
 Angles (geometric), normalization and conversion
 Animate a pendulum
 Animation
 Anonymous recursion
 Antiprimes
 Append a record to the end of a text file
 Append numbers at same position in strings
 Apply a callback to an array
 Apply a digital filter (direct form II transposed)
 Approximate equality
 Arbitraryprecision integers (included)
 Archimedean spiral
 Arena storage pool
 Arithmetic coding/As a generalized change of radix
 Arithmetic derivative
 Arithmetic evaluation
 Arithmetic numbers
 Arithmeticgeometric mean
 Arithmeticgeometric mean/Calculate Pi
 Arithmetic/Complex
 Arithmetic/Integer
 Arithmetic/Rational
 Array concatenation
 Array length
 Arrays
 Ascending primes
 ASCII art diagram converter
 Aspect oriented programming
 Assertions
 Assertions in design by contract
 Associative array/Creation
 Associative array/Iteration
 Associative array/Merging
 Atomic updates
 Attractive numbers
 Audio alarm
 Audio frequency generator
 Audio overlap loop
 Autogram checker
 Average loop length
 Averages/Arithmetic mean
 Averages/Mean angle
 Averages/Mean time of day
 Averages/Median
 Averages/Mode
 Averages/Pythagorean means
 Averages/Root mean square
 Averages/Simple moving average
 AVL tree
B
 Bspline
 Babbage problem
 Babylonian spiral
 Bacon cipher
 Balanced brackets
 Balanced ternary
 Banker's algorithm
 Barnsley fern
 Base 16 numbers needing a to f
 Base58Check encoding
 Base64 decode data
 Base64 encode data
 Bell numbers
 Benford's law
 Bernoulli numbers
 Best shuffle
 Bifid cipher
 Bilinear interpolation
 Bin given limits
 Binary coded decimal
 Binary digits
 Binary search
 Binary strings
 Bioinformatics/base count
 Bioinformatics/Global alignment
 Bioinformatics/Sequence mutation
 Bioinformatics/Subsequence
 Biorhythms
 Birthday problem
 Bitcoin/address validation
 Bitcoin/public point to address
 Bitmap
 Bitmap/Bresenham's line algorithm
 Bitmap/Bézier curves/Cubic
 Bitmap/Bézier curves/Quadratic
 Bitmap/Flood fill
 Bitmap/Histogram
 Bitmap/Midpoint circle algorithm
 Bitmap/PPM conversion through a pipe
 Bitmap/Read a PPM file
 Bitmap/Read an image through a pipe
 Bitmap/Write a PPM file
 Bitwise IO
 Bitwise operations
 Black box
 Blackjack strategy
 Boids
 Boolean values
 Boustrophedon transform
 Box the compass
 BoyerMoore string search
 Brace expansion
 Brace expansion using ranges
 Brazilian numbers
 Break OO privacy
 Brilliant numbers
 Brownian tree
 Bulls and cows
 Bulls and cows/Player
 Burrows–Wheeler transform
C
 Caesar cipher
 Calculating the value of e
 Calendar
 Calendar  for "REAL" programmers
 CalkinWilf sequence
 Call a foreignlanguage function
 Call a function
 Call a function in a shared library
 Call an object method
 Camel case and snake case
 Canny edge detector
 Canonicalize CIDR
 Cantor set
 Card shuffles
 Carmichael 3 strong pseudoprimes
 Cartesian product of two or more lists
 Casesensitivity of identifiers
 Casting out nines
 Catalan numbers
 Catalan numbers/Pascal's triangle
 Catamorphism
 Catmull–Clark subdivision surface
 Change e letters to i in words
 Changeable words
 Chaocipher
 Chaos game
 Character codes
 Chat server
 Chebyshev coefficients
 Check input device is a terminal
 Check Machinlike formulas
 Check output device is a terminal
 Check that file exists
 Checkpoint synchronization
 Checksumcolor
 Chemical calculator
 Chernick's Carmichael numbers