Category:Raku: Difference between revisions
Thundergnat (talk | contribs) m (Add repl.it link) |
m (Perl 6 -> Raku) |
||
Line 17: | Line 17: | ||
{{infobox_begin}}Can't install Raku locally?<br>Try Raku on-line!<br> |
{{infobox_begin}}Can't install Raku locally?<br>Try Raku on-line!<br> |
||
[https://tio.run/#perl6 Try Raku on tio.run].<br> |
[https://tio.run/#perl6 Try Raku on tio.run].<br> |
||
[https://glot.io/new/ |
[https://glot.io/new/raku Try Raku on glot.io].<br> |
||
[https://repl.it/languages/raku Try Raku on repl.it].<br> |
[https://repl.it/languages/raku Try Raku on repl.it].<br> |
||
[https://perl6.github.io/6pad/ Try Raku on 6pad].<br> |
[https://perl6.github.io/6pad/ Try Raku on 6pad].<br> |
Revision as of 19:42, 25 December 2020
This programming language may be used to instruct a computer to perform a task.
Official website |
---|
Garbage collected: | Yes |
---|---|
Parameter passing methods: | By reference, By value |
Type safety: | Safe, Unsafe |
Type strength: | Gradual |
Type compatibility: | Nominative, Duck |
Type checking: | Dynamic, Static |
Lang tag(s): | raku,perl6 |
See Also: |
|
Try Raku on-line!
Try Raku on tio.run.
Try Raku on glot.io.
Try Raku on repl.it.
Try Raku on 6pad.
Raku is a member of the Perl family of programming languages. Though it resembles previous versions of Perl to no small degree, Raku is substantially a new language. By design, it isn't backwards-compatible with Perl 5. The first official release was at Christmas of 2015.
Damian Conway described the basic philosophy of Raku as follows:
The Perl 6 (now Raku) design process is about keeping what works in Perl 5, fixing what doesn't, and adding what's missing. That means there will be a few fundamental changes to the language, a large number of extensions to existing features, and a handful of completely new ideas. These modifications, enhancements, and innovations will work together to make the future Perl even more insanely great -- without, we hope, making it even more greatly insane.
Major new features include multiple dispatch, declarative classes, grammars, formal parameters to subroutines, type constraints on variables, lazy evaluation, junctions, meta-operators, and the ability to change Perl's syntax at will.
The definition of Raku is specified entirely by a test suite, so we could in theory have multiple implementations. The current version of the language is 6.d, as defined by the test suite known as "roast" (Repository Of All Spec Tests). Compiler releases have date-based versions, and these are typically used in Rosetta Code entries for the "works with" fields. The only compiler implementing the full test suite, Rakudo, currently runs on either of two backends, MoarVM or JVM. Subsequent language revisions are planned for release on a roughly yearly cycle.
Useful links
A Note on the Renaming
The renaming of "Perl 6" as "Raku" occurred in October 2019. Since the old name has been in use for many years, it will take some time for the new designation to propagate widely. Expect to see both names in use for some time, but understand that they refer to exactly the same underlying idea. As of March 14, 2020, all of the existing "Perl 6" tasks have been renamed to "Raku". There are still many mentions of Perl 6 throughout the site, and likely will be for the foreseeable future.
Subcategories
This category has the following 3 subcategories, out of 3 total.
Pages in category "Raku"
The following 200 pages are in this category, out of 1,623 total.
(previous page) (next page)C
- Check Machin-like formulas
- Check output device is a terminal
- Check that file exists
- Checkpoint synchronization
- Checksumcolor
- Chemical calculator
- Chernick's Carmichael numbers
- Cheryl's birthday
- Chinese remainder theorem
- Chinese zodiac
- Cholesky decomposition
- Chowla numbers
- Church numerals
- Cipolla's algorithm
- Circles of given radius through two points
- Circular primes
- Cistercian numerals
- Classes
- Closest-pair problem
- Closures/Value capture
- Code Golf: Code Golf
- Code segment unload
- Collect and sort square numbers in ascending order from three lists
- Collections
- Color of a screen pixel
- Color quantization
- Color wheel
- Colorful numbers
- Colour bars/Display
- Colour pinstripe/Display
- Colour pinstripe/Printer
- Combinations
- Combinations and permutations
- Combinations with repetitions
- Combinations with repetitions/Square digit chain
- Comma quibbling
- Command-line arguments
- Commatizing numbers
- Comments
- Common list elements
- Common sorted list
- Compare a list of strings
- Compare length of two strings
- Compare sorting algorithms' performance
- Compile-time calculation
- Compiler/code generator
- Compiler/lexical analyzer
- Compiler/Simple file inclusion pre processor
- Compiler/Verifying syntax
- Compiler/virtual machine interpreter
- Composite numbers k with no single digit factors whose factors are all substrings of k
- Compound data type
- Concatenate two primes is also prime
- Concurrent computing
- Conditional structures
- Conjugate a Latin verb
- Conjugate transpose
- Consecutive primes with ascending or descending differences
- Consistent overhead byte stuffing
- Constrained genericity
- Constrained random points on a circle
- Continued fraction
- Continued fraction convergents
- Continued fraction/Arithmetic/Construct from rational number
- Continued fraction/Arithmetic/G(matrix ng, continued fraction n)
- Continued fraction/Arithmetic/G(matrix ng, continued fraction n1, continued fraction n2)
- Convert decimal number to rational
- Convert seconds to compound duration
- Convex hull
- Conway's Game of Life
- Coprime triplets
- Coprimes
- Copy a string
- Copy stdin to stdout
- CORDIC
- Count how many vowels and consonants occur in a string
- Count in factors
- Count in octal
- Count occurrences of a substring
- Count the coins
- Count the coins/0-1
- Countdown
- Cousin primes
- Cramer's rule
- CRC-32
- Create a file
- Create a file on magnetic tape
- Create a two-dimensional array at runtime
- Create an HTML table
- Create an object at a given address
- Create an object/Native demonstration
- Create your own text control codes
- CSV data manipulation
- CSV to HTML translation
- Cuban primes
- Cubic special primes
- Cullen and Woodall numbers
- Cumulative standard deviation
- Currency
- Currying
- Curve that touches three points
- Curzon numbers
- CUSIP
- Cut a rectangle
- Cycle detection
- Cycles of a permutation
- Cyclops numbers
- Cyclotomic polynomial
D
- Damm algorithm
- Data Encryption Standard
- Date format
- Date manipulation
- Dating agency
- Day of the week
- Day of the week of Christmas and New Year
- Days between dates
- De Bruijn sequences
- De Polignac numbers
- Deal cards for FreeCell
- Death Star
- Deceptive numbers
- Decimal floating point number to binary
- Decision tables
- Deconvolution/1D
- Deconvolution/2D+
- Decorate-sort-undecorate idiom
- Deepcopy
- Define a primitive data type
- Delegates
- Delete a file
- Deming's funnel
- Department numbers
- Descending primes
- Detect division by zero
- Determinant and permanent
- Determine if a string has all the same characters
- Determine if a string has all unique characters
- Determine if a string is collapsible
- Determine if a string is numeric
- Determine if a string is squeezable
- Determine if only one instance is running
- Determine if two triangles overlap
- Determine sentence type
- Dice game probabilities
- Digit fifth powers
- Digital root
- Digital root/Multiplicative digital root
- Dijkstra's algorithm
- Dinesman's multiple-dwelling problem
- Dining philosophers
- Disarium numbers
- Discordian date
- Discrete Fourier transform
- Display a linear combination
- Display an outline as a nested table
- Distance and Bearing
- Distinct palindromes within decimal numbers
- Distinct power numbers
- Distributed programming
- Distribution of 0 digits in factorial series
- Diversity prediction theorem
- Divide a rectangle into a number of unequal triangles
- DNS query
- Documentation
- Doomsday rule
- Dot product
- Double Twin Primes
- Doubly-linked list/Definition
- Doubly-linked list/Element definition
- Doubly-linked list/Element insertion
- Doubly-linked list/Element removal
- Doubly-linked list/Traversal
- Dragon curve
- Draw a clock
- Draw a cuboid
- Draw a pixel
- Draw a rotating cube
- Draw a sphere
- Draw pixel 2
- Duffinian numbers
- Dutch national flag problem
- Dynamic variable names
E
- Earliest difference between prime gaps
- Eban numbers
- Echo server
- Eertree
- Egyptian division
- Eisenstein primes
- EKG sequence convergence
- Element-wise operations
- Elementary cellular automaton
- Elementary cellular automaton/Infinite length
- Elementary cellular automaton/Random number generator
- Elliptic curve arithmetic
- Elliptic Curve Digital Signature Algorithm
- Emirp primes
- Empty directory
- Empty program
- Empty string
- Enforced immutability
- Garbage collection/Yes
- Parameter passing/By reference
- Parameter passing/By value
- Typing/Safe
- Typing/Unsafe
- Typing/Gradual
- Typing/Compatibility/Nominative, Duck
- Typing/Checking/Dynamic
- Typing/Checking/Static
- Programming Languages
- Programming paradigm/Dynamic
- Programming paradigm/Imperative
- Programming paradigm/Procedural
- Programming paradigm/Reflective
- Programming paradigm/Functional
- Programming paradigm/Object-oriented
- Programming paradigm/Generic