Category:Wren: Difference between revisions
(Added link to Wren-ellipse module.) |
(Changed module list to a tabular format.) |
||
Line 19: | Line 19: | ||
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: |
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: |
||
{| class="wikitable" |
|||
* [https://rosettacode.org/wiki/Category:Wren-fmt fmt] |
|||
! No. !! Module name !! !! No. !! Module name |
|||
* [https://rosettacode.org/wiki/Category:Wren-str str] |
|||
|- |
|||
* [https://rosettacode.org/wiki/Category:Wren-sort sort] |
|||
| 1 || [https://rosettacode.org/wiki/Category:Wren-fmt fmt] || || 2 || [https://rosettacode.org/wiki/Category:Wren-str str] |
|||
|- |
|||
* [https://rosettacode.org/wiki/Category:Wren-trait trait] |
|||
| 3 || [https://rosettacode.org/wiki/Category:Wren-sort sort] || || 4 || [https://rosettacode.org/wiki/Category:Wren-math math] |
|||
|- |
|||
* [https://rosettacode.org/wiki/Category:Wren-date date] |
|||
| 5 || [https://rosettacode.org/wiki/Category:Wren-trait trait] || || 6 || [https://rosettacode.org/wiki/Category:Wren-seq seq] |
|||
|- |
|||
* [https://rosettacode.org/wiki/Category:Wren-pattern pattern] |
|||
| 7 || [https://rosettacode.org/wiki/Category:Wren-date date] || || 8 || [https://rosettacode.org/wiki/Category:Wren-rat rat] |
|||
|- |
|||
* [https://rosettacode.org/wiki/Category:Wren-upc upc] |
|||
| 9 || [https://rosettacode.org/wiki/Category:Wren-pattern pattern] || || 10 || [https://rosettacode.org/wiki/Category:Wren-big big] |
|||
|- |
|||
* [https://rosettacode.org/wiki/Category:Wren-set set] |
|||
| 11 || [https://rosettacode.org/wiki/Category:Wren-upc upc] || || 12 || [https://rosettacode.org/wiki/Category:Wren-matrix matrix] |
|||
|- |
|||
* [https://rosettacode.org/wiki/Category:Wren-queue queue] |
|||
| 13 || [https://rosettacode.org/wiki/Category:Wren-set set] || || 14 || [https://rosettacode.org/wiki/Category:Wren-llist llist] |
|||
|- |
|||
* [https://rosettacode.org/wiki/Category:Wren-dynamic dynamic] |
|||
| 15 || [https://rosettacode.org/wiki/Category:Wren-queue queue] || || 16 || [https://rosettacode.org/wiki/Category:Wren-complex complex] |
|||
|- |
|||
* [https://rosettacode.org/wiki/Category:Wren-long long] |
|||
| 17 || [https://rosettacode.org/wiki/Category:Wren-dynamic dynamic] || || 18 || [https://rosettacode.org/wiki/Category:Wren-ioutil ioutil] |
|||
|- |
|||
* [https://rosettacode.org/wiki/Category:Wren-sound sound] |
|||
| 19 || [https://rosettacode.org/wiki/Category:Wren-long long] || || 20 || [https://rosettacode.org/wiki/Category:Wren-crypto crypto] |
|||
|- |
|||
* [https://rosettacode.org/wiki/Category:Wren-srandom srandom] |
|||
| 21 || [https://rosettacode.org/wiki/Category:Wren-sound sound] || || 22 || [https://rosettacode.org/wiki/Category:Wren-polygon polygon] |
|||
|- |
|||
⚫ | |||
| 23 || [https://rosettacode.org/wiki/Category:Wren-srandom srandom] || || 24 || [https://rosettacode.org/wiki/Category:Wren-lsystem lsystem] |
|||
|- |
|||
⚫ | |||
|} |
|||
<br> |
<br> |
||
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. |
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. |
Revision as of 17:55, 22 August 2021
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, object-oriented programming language designed to be an easily-embeddable scripting language.
It is under development on GitHub and is fully documented here.
Version 0.3.0 was released in June 2020 and the CLI tool (Wren CLI) was then split off into its own repository. It is now available as a pre-built standalone executable and is the main focus of examples written for RC. Unfortunately, its embedded VM suffers from a stack corruption bug which often manifests itself in recursive code. This bug was fixed in September 2020 and, rather than use the pre-built executable, I would recommend that RC users build Wren CLI themselves using the latest VM code pending the release of version 0.4.0. From April 2021, the latest build already includes Wren 0.4.0 features and the official release will follow soon.
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 |
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.
Pages in category "Wren"
The following 200 pages are in this category, out of 1,677 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
- Addition-chain exponentiation
- Additive primes
- Address of a variable
- ADFGVX cipher
- Air mass
- AKS test for primes
- Algebraic data types
- Align columns
- Aliquot sequence classifications
- Almkvist-Giullera formula for pi
- Almost prime
- Alternade words
- Amb
- Amicable pairs
- Anadromes
- Anagram generator
- Anagrams
- Anagrams/Deranged anagrams
- Anaprimes
- Angle difference between two bearings
- Angles (geometric), normalization and conversion
- Animate a pendulum
- Animation
- Anonymous recursion
- Anti-primes
- 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
- Apéry's constant
- Arbitrary-precision integers (included)
- Archimedean spiral
- Arena storage pool
- Arithmetic coding/As a generalized change of radix
- Arithmetic derivative
- Arithmetic evaluation
- Arithmetic numbers
- Arithmetic-geometric mean
- Arithmetic-geometric mean/Calculate Pi
- Arithmetic/Complex
- Arithmetic/Integer
- Arithmetic/Rational
- Array concatenation
- Array length
- Arrays
- Ascending primes
- ASCII art diagram converter
- ASCII control characters
- 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
- B-spline
- 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
- Bernstein basis polynomials
- Best shuffle
- Bifid cipher
- Bilinear interpolation
- Bin given limits
- Binary coded decimal
- Binary digits
- Binary search
- Binary strings
- Binomial transform
- 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
- Blum integer
- Boids
- Boolean values
- Boustrophedon transform
- Box the compass
- Boyer-Moore 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
- Bézier curves/Intersections
C
- Caesar cipher
- Calculating the value of e
- Calendar
- Calendar - for "REAL" programmers
- Calkin-Wilf sequence
- Call a foreign-language function
- Call a function
- Call a function in a shared library
- Call an object method
- Calmo numbers
- CalmoSoft primes
- Camel case and snake case
- Canny edge detector
- Canonicalize CIDR
- Cantor set
- Card shuffles
- Carmichael 3 strong pseudoprimes
- Carmichael lambda function
- Cartesian product of two or more lists
- Case-sensitivity of identifiers
- Casting out nines
- Catalan numbers
- Catalan numbers/Pascal's triangle
- Catamorphism
- Catmull–Clark subdivision surface
- Centre and radius of a circle passing through 3 points in a plane
- Centroid of a set of N-dimensional points
- Change e letters to i in words
- Changeable words
- Chaocipher