raku & rust: Option-Some-None

Regular visitors to my blog will know that I think raku and rust are both awesome in their chosen niches and are natural companions for the modern programming era just as perl and C were back in the day. Coming off an excellent 2nd raku conference over the weekend, I got to thinking about how…More


Is raku Dan RubberSonic?

Intro Raku is a great software language that draws on the scripting heritage of perl. The newly minted raku Dan modules provide Data ANalytics (geddit?) capabilities to raku for data science and engineering use cases. (Intro slides & demo video here). This is one in an occasional series of blog posts that seek to explore…More

raku ‘KISS’

Occam’s razor, also known as Keep It Simple Stupid (KISS), is a sound principle. Larry says it this way ~ “make the easy things easy and the hard things possible”. The raku community is a set of (deep) experts (yes, really) – who are intent on the hard things: the MOP raku AST the truth…More

raku & rust: a romance?

Rust is blazingly fast and memory-efficient: with no runtime or garbage collector, it can power performance-critical services, run on embedded devices, and easily integrate with other languages. Rust continues the spirit of C with emphasis on code safety and performance with a compiled approach. Raku is an open source, gradually typed, Unicode-ready, concurrency friendly programming…More

raku Physics::Unit vs. Python Pint

[Health warning – the following is written by the author of raku Physics::Unit & Physics::Measure – so it is an opinion piece with a strong pro-raku Physics::Measure bias…] The raku Physics::Unit and Physics::Measure module family (“rPM”) was built to make the most of raku’s unique blend of innovative programming language features. During the build, I had the…More

raku for yachting

On Saturday, I was honoured to be among the leaders of the raku community in the FOSDEM 2022 raku devroom. Thanks to Andrew Shitov for organising and to all those who were able to join. Here’s the official video of my presentation for those who missed the talk (and so that I can find it…More

raku on the M1 – up to 2.4x faster

In November (2021) I wrote a couple of posts bemoaning the headaches of the Apple Intel to ARM architecture shift (part I and part II) before coming to a solution that works for me. (raku on docker on ubuntu on vftools as set out at the end of part II). One of the drivers to…More

raku at Monterey Docks (part II)

Recap In Part I of this post, I started on my macOS tool chain rebuild, I want this to work for all my languages (Python, Perl, JavaScript, Raku and so on including specific compiler build versions and combinations such as Inline::Perl5) … coming off the disappointing Apple induced cliff edge for M1 machines upgrading from…More

raku at the Monterey Docks

The Problem… There I was just being tidy and getting the latest macOS release (Monterey) for my pricey new M1 laptop – expecting the usual seamless upgrade. Then bang! <<Homebrew is not supported on ARM processors>>. This is NOT (just) a raku thing. In my case, the proximate cause seems to be lack of support for…More

Can Raku replace HTML?

In my last post, I listed three recent posts that got me thinking about Raku and HTML. I wondered if two of these could be used together to streamline the composition of web sites. Act #1 – LPQ Is drawn from a great idea of gfldex – Low Profile Quoting. Here’s my interpretation: In the…More

Doing Some Funky HTML Sh*t with Raku

Came across some pretty funky PHP/HTML the other day. No, I did not write it! (btw using echo is considered bad practice) By coincidence, three HTML-ish Raku ideas have recently popped into my inbox courtesy of the Raku Weekly rag: An intriguing article on Low Profile Quoting by gfldex The Raku Cro Template language A…More

raku:34 python:19 extreme math

Coming off the excellent raku weekly news, my curiosity was piqued by a tweet about big-endian smells that referenced a blog about “extreme math”. After getting my fill of COBOL mainframe nostalgia, the example of Muller’s Recurrence got me thinking. The simple claim made in the tweet thread was: Near the end it [the blog]…More

raku = Easy | Hard

Larry Wall, the inventor of perl and raku (formerly known as perl6) coined the phrase “making the easy things easy and the hard things possible”. One way this applies is that developers are publishers and|or consumers of code. For example, one programmer may write a compiler toolchain in C (or NQP) and another feed it…More

Raku Performance and Physics::Unit

I have been able to spend some time on the Physics::Unit module over the holidays and to expunge some of the frustrations that have crept in regarding the compile times of raku. The basic problem I have been wrestling with is the desire to express physical SI units using the raku custom postfix operator mechanism…More

Raku Santa Emoticon [}:]>*

Santa has been fretting about the most concise way to use his personal emoticon [}:]>* programatically in a raku one-liner. The best he can do is… Can you help him? If so – please send your version via the Comments field below. The rules are: (i) to use raku (the language formerly known as perl6),…More

Machine Math and Raku

In the machine world, we have Int and Num. A High Level Language such as Raku is a abstraction to make it easier for humans. Humans expect decimal math 0.1 + 0.2 = 0.3 to work. Neither Int nor Num can do this! Huh? How can that be? Well Int is base-2 and decimals are…More

perl7 vs. raku: Sibling Rivalry?

It was an emotional moment to see the keynote talk at TPRCiC from Sawyer X announcing that perl 7.00 === 5.32. Elation because of the ability of the hardcore perl community to finally break free of the frustrating perl6 roadblock. Pleasure in seeing how the risky decision to rename perl6 to raku has paid off…More

Raku Objects: Confusing or What?

Chapter 1: The Convenience Seeker Coming from Python, the Raku object model is recognizable, but brings a tad more structure: What works for me, as a convenience seeker, is: the attributes $.x, $.y are automatically provided with setter and getter methods the constructor new() is automatically provided the output method e.g. ‘say $p.Str’ is automatically…More

Raku vs. Perl – save 70%

Having hit rock bottom with an ‘I can’t understand my own code sufficiently enough to extend/maintain it’, I have been on a journey to review the perl5 Physics::Unit design and to use this to cut through my self made mess of raku Physics::Unit version 0.0.2. Now I bring the perspective of a couple of years…More

Raku: the firkin challenge

For anyone wondering where my occasional blog on raku has been for a couple of months – sorry. I have been busy wrestling with, and losing to, the first released version of my Physics::Measure module. Of course, this is all a bit overshadowed by the name change from perl6 to raku. I was skeptical on…More

Atomic Units?

One of the most exciting parts of blogging about and hacking on perl6* is that there’s a community out there and there’s (always) more than one way to do it! For Physics::Measure I have been working on a design for a ‘nano-slang’ that can provide a shortcut for the usual new Class declaration… quite long…More

Mind the gap

Observant readers looking at the dateline on the left will have noticed a gap of nearly two years between my last blog and today. As a fascinated programming hobbyist, I have only limited time in the day to devote to coding – and a startup venture put the brakes on anything but the day job…More

Clone Wars

Apologies to those that have OO steeped in their blood. I am a wary traveller in OO space,  maybe I am an technician, not an architect at heart. So for me, no sweeping frameworks unless and until they are needed. And, frankly, one can go a long way on procedural code with subroutines to gather…More

perl6 Atomic Fission

I have been listening to the reaction on the web to the incorporation of an emoji as a unicode symbol in perl6 rakudo. Here’s a flavour… my $a = ⚛$var (aka my $a = atomic-fetch($var)) $var⚛++ (aka atomic-fetch-inc($var)) ( ) The rationale for the use of unicode symbols is as follows: These represent operations that are rare They relate to a…More

Physics::Unit in perl6

First and foremost, homage to the original authors of Physics::Unit and related perl5 CPAN modules. I would be honoured to hear from you and to collaborate in any way. What’s the big picture? TOP down, I have in mind: exploring the expressive and modelling potential of Grammars, Unicode, types and junctions for real people (well…More

perl6, really?

I have been waiting for perl6 for over 15 years since it was first conceived. Recently, I have had an urge to get back to hands’ on coding and, having seen the latest Rakudo* release of perl6 felt that it is now sufficiently mature for my nefarious purposes. No doubt I am not the only…More