Category:Wren
![Language](http://static.miraheze.org/rosettacodewiki/thumb/2/27/Rcode-button-language-crushed.png/64px-Rcode-button-language-crushed.png)
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 | |
27 | check | 28 | array | |
29 | gmp |
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,680 total.
(previous page) (next page)G
H
- Hailstone sequence
- Halt and catch fire
- Hamming numbers
- Handle a signal
- Happy numbers
- Harmonic series
- Harshad or Niven series
- Hash from two arrays
- Hash join
- Hashtron inference
- Haversine formula
- Hello world/Graphical
- Hello world/Line printer
- Hello world/Newbie
- Hello world/Newline omission
- Hello world/Standard error
- Hello world/Text
- Hello world/Web server
- Here document
- Heronian triangles
- Hex dump
- Hex words
- Hexapawn
- Hickerson series of almost integers
- Higher-order functions
- Hilbert curve
- History variables
- Hofstadter Figure-Figure sequences
- Hofstadter Q sequence
- Hofstadter-Conway $10,000 sequence
- Holidays related to Easter
- Home primes
- Honaker primes
- Honeycombs
- Horizontal sundial calculations
- Horner's rule for polynomial evaluation
- Horse racing
- Host introspection
- Hostname
- Hough transform
- Hourglass puzzle
- HTTP
- HTTPS
- HTTPS/Authenticated
- HTTPS/Client-authenticated
- Huffman coding
- Humble numbers
- Hunt the Wumpus
I
- I before E except after C
- I'm a software engineer, get me out of here
- IBAN
- Iccanobif primes
- Identity matrix
- Idiomatically determine all the characters that can be used for symbols
- Idiomatically determine all the lowercase and uppercase letters
- Idoneal numbers
- Image convolution
- Image noise
- Imaginary base numbers
- Implicit type conversion
- Include a file
- Inconsummate numbers in base 10
- Increasing gaps between consecutive Niven numbers
- Increment a numerical string
- Index finite lists of positive integers
- Infinity
- Inheritance/Multiple
- Inheritance/Single
- Inner classes
- Input loop
- Input/Output for lines of text
- Input/Output for pairs of numbers
- Integer comparison
- Integer long division
- Integer overflow
- Integer roots
- Integer sequence
- Interactive help
- Interactive programming (repl)
- Intersecting number wheels
- Introspection
- Inventory sequence
- Inverted index
- Inverted syntax
- IPC via named pipe
- IRC gateway
- ISBN13 check digit
- Isograms and heterograms
- Isqrt (integer square root) of X
- Iterated digits squaring
- Iterators
J
K
- K-d tree
- K-means++ clustering
- Kahan summation
- Kaprekar numbers
- Kernighans large earthquake problem
- Keyboard input/Flush the keyboard buffer
- Keyboard input/Keypress check
- Keyboard input/Obtain a Y or N response
- Keyboard macros
- Klarner-Rado sequence
- Knapsack problem/0-1
- Knapsack problem/Bounded
- Knapsack problem/Continuous
- Knapsack problem/Unbounded
- Knight's tour
- Knuth shuffle
- Knuth's algorithm S
- Knuth's power tree
- Knuth-Morris-Pratt string search
- Koch curve
- Kolakoski sequence
- Kosaraju
- Kronecker product
- Kronecker product based fractals
L
- L-system
- Lagrange Interpolation
- Lah numbers
- Langton's ant
- Largest difference between adjacent primes
- Largest five adjacent number
- Largest int from concatenated ints
- Largest number divisible by its digits
- Largest palindrome product
- Largest prime factor
- Largest product in a grid
- Largest proper divisor of n
- Last Friday of each month
- Last letter-first letter
- Last list item
- Latin Squares in reduced form
- Latin Squares in reduced form/Randomizing using Jacobson and Matthews' technique
- Launch rocket with countdown and acceleration in stdout
- Law of cosines - triples
- Leap year
- Least common multiple
- Least m such that n! + m is prime
- Left factorials
- Legendre prime counting function
- Length of an arc between two angles
- Leonardo numbers
- Letter frequency
- Levenshtein distance
- Levenshtein distance/Alignment
- Line circle intersection
- Linear congruential generator
- Linux CPU utilization
- List comprehensions
- List rooted trees
- Literals/Floating point
- Literals/Integer
- Literals/String
- Logical operations
- Logistic curve fitting in epidemiology
- Long literals, with continuations
- Long multiplication
- Long primes
- Long stairs
- Long year
- Longest common prefix
- Longest common subsequence
- Longest common substring
- Longest common suffix
- Longest increasing subsequence
- Longest palindromic substrings
- Longest string challenge
- Longest substrings without repeating characters
- Look-and-say sequence
- Loop over multiple arrays simultaneously
- Loops/Break
- Loops/Continue
- Loops/Do-while
- Loops/Downward for
- Loops/For
- Loops/For with a specified step
- Loops/Foreach
- Loops/Increment loop index within loop body