in reply to 2*pi*$r -- constant function without prototype

I'm on a Perl 6 kick right now, and reading this thread made me reflect on these features as described in the Synopses. There is a lot "fixed" that I don't even think about much.

In Perl 6, you can declare a constant simply by using constant instead of my. And you can declare one with or without a sigil. So you could have:

constant π = 2*atan2(1,0);
constant $pi ::= π;
And either 2*$pi*$r or 2*π*$r are natural.

Thing is, constant is lexical, like a read-only version of my. So how do you export one?

You could also declare subs that act like unprototyped Perl 5 subs, or declare to take no arguments, or you can declare a 'term' directly.


  • Comment on [Perl 6] constant function without prototype