🦋 Calling C++ and Fortran functions from Raku using the NativeCall interface

Some time ago, I published an article about using NativeCall in Raku to call functions written in C. Today, let’s see how you can call simple functions written in C++ or in Fortran. There will be three examples for both languages: A function printing a message A function returning a number A function taking an … Continue reading “🦋 Calling C++ and Fortran functions from Raku using the NativeCall interface”

Implementing a stack-based language in Raku

I assume there is no need to tell what a stack is, and a stack-based programming is something that uses the stack to perform all the operation. The program flow in such a language resembles a reversed Polish notation, when you first list the operands, and then the operation: 40 2 + There are a … Continue reading “Implementing a stack-based language in Raku”

Raku at a Glance — A Language a Day, Advent Calendar 2019 Day 11/24

About this ‘A Language a Day’ Advent Calendar 2019 Welcome to Day 11 of this year’s A Language a Day Advent Calendar. Today’s topic is introduction to the Raku programming language. Facts about the language A re-thinking of Perl Gradual type system Multi-paradigm: object-oriented, functional Allows concurrent computing Announced in 2000, implemented in 2015 Renamed from … Continue reading “Raku at a Glance — A Language a Day, Advent Calendar 2019 Day 11/24”

Concurrent atomic operations in C++ and Raku

Here’s a problem to solve: you have two threads, each incrementing the same single counter N times. What is the state of the counter at the end of the program? A straightforward solution A naïve C++ program can be written using the standard library threads like this: #include <iostream> #include <thread> int counter; void f() {     for (int c = 0; c != 100000; c++) counter++; } int main() {     std::thread thread_a {f}; … Continue reading “Concurrent atomic operations in C++ and Raku”

Raku One-Liners — a free book

Let me announce the new book, Raku One-Liners. The book is available in the PDF format for free. Later, paper copies will also be available. Download the Raku One-Liners book now N.B. As of today, the book is in the test mode, and a few updated PDF versions will be uploaded in a few days. … Continue reading “Raku One-Liners — a free book”

🦋 110. is rw vs is raw in Raku

The cryptic title should not stop you from seeing bits of the regular Raku code. Namely, the two traits that you can add to function arguments: is rw and is raw. These two traits may look confusing because both allow changing the passed variable: sub f1($x is rw) {     say $x; } sub f2($x is raw) {     say $x; } my $a = 42; f1($a); # 42 f2($a); … Continue reading “🦋 110. is rw vs is raw in Raku”

Using Raku — a free book

Let me announce the second edition of my Using Perl 6 book. This time, it is published under the new name, Using Raku. The book is available in the PDF format for free. Later, paper copies will also be available. Download the Using Raku book now This is not a bare text replacement s/perl6/raku/. This … Continue reading “Using Raku — a free book”