RFC 265: Interface polymorphism considered lovely

A little preface with an off-topic first. In the process of writing this post I was struck by the worst sysadmin’s nightmare: loss of servers followed by a bad backup. Until the very last moment I have had well-grounded fears of not finishing the post whatsoever. Luckily, I made a truce with life to getContinue reading “RFC 265: Interface polymorphism considered lovely”

RFC 84 by Damian Conway: => => =>

RFC 84 by Damian Conway: Replace => (stringifying comma) with => (pair constructor) Yet another nice goodie from Damian, truly what you might expect from the interlocutor and explicator! The fat comma operator, =>, was originally used to separate values – with a twist. It behave just like , operator did, but modified parsing toContinue reading “RFC 84 by Damian Conway: => => =>”

RFC 200, by Nathan Wiger: Revamp tie to support extensibility

Proposed on 7 September 2000, frozen on 20 September 2000, depends on RFC 159: True Polymorphic Objects proposed on 25 August 2000, frozen on 16 September 2000, also by Nathan Wiger and already blogged about earlier. What is tie anyway? RFC 200 was about extending the tie functionality as offered by Perl. This functionality in Perl allows one to inject program logic into the system’s handling ofContinue reading “RFC 200, by Nathan Wiger: Revamp tie to support extensibility”

RFC 159, by Nathan Wiger: True Polymorphic Objects

Proposed on 25 August 2000, frozen on 16 September 2000 On polymorphism RFC159 introduces the concept of true polymorphic object. Objects that can morph into numbers, strings, booleans and much more on-demand. As such, objects can be freely passed around and manipulated without having to care what they contain (or even that they’re objects). WhenContinue reading “RFC 159, by Nathan Wiger: True Polymorphic Objects”

RFC 188, by Damian Conway: Objects: Private keys and methods

Break someone’s code today! On September 1st of 2000 Damian Conway sent a proposal №188, promoting the idea of Private Keys and Methods. In those days, Perl’s object-oriented programming relied heavily on hashes. Indeed, a hash can store data values by keys, as well as references to routines, which is how you can describe anContinue reading “RFC 188, by Damian Conway: Objects: Private keys and methods”

RFC 190, by Damian Conway: NEXT pseudoclass for method redispatch

In his series of object orientation RFC’s Perl/Raku luminary Damian Conway includes a proposal for method redispatch, RFC 190, which is the subject of today’s article. On method dispatch Perl has a pseudoclass named SUPER which an object can use to invoke a method of its parent class that it has overridden. It looks approximatelyContinue reading “RFC 190, by Damian Conway: NEXT pseudoclass for method redispatch”

RFC22: Control flow: Builtin switch statement, by Damian Conway

The problem C has switch/case, and many other languages either copied it, or created a similar construct. Perl in 2000 didn’t have any such thing, and this was seen as a lack. A Tale of Two Languages This RFC not only became two (related) features, it did so in both Perl and Raku with dramaticallyContinue reading “RFC22: Control flow: Builtin switch statement, by Damian Conway”

RFC 43: Integrate BigInts (and BigRats) Support Tightly With The Basic Scalars

Intro RFC 43, titled ‘Integrate BigInts (and BigRats) Support Tightly With The Basic Scalars’ was submitted by Jarkko Hietaniemi on 5 August 2000. It remains at version 1 and was never frozen during the official RFC review process. Despite this somewhat “unoffical” seeming status, the rational (or Rat) numeric type, by default, powers all ofContinue reading “RFC 43: Integrate BigInts (and BigRats) Support Tightly With The Basic Scalars”