develooper Front page | perl.perl5.porters | Postings from May 2013

Re: Proposal: initial type annotation in SV

Thread Previous | Thread Next
From:
demerphq
Date:
May 6, 2013 10:13
Subject:
Re: Proposal: initial type annotation in SV
Message ID:
CANgJU+VoOcr2Q1QBv66f_WtPWidx0=mZEqm5F7_kygkMttYH3w@mail.gmail.com
On 6 May 2013 12:02, Dave Mitchell <davem@iabyn.com> wrote:
> On Sun, May 05, 2013 at 11:45:25PM +0200, Sébastien Aperghis-Tramoni wrote:
>> So, here is a proposal to try making this situation a bit better:
>> annotate the SV to record the initial (or canonical) type of the the
>> value, that is the type of the value that was last affected to the SV.
>
> But I don't think that necessarily solves the problem. Consider:
>
>     while (<DATA>) {
>         chomp;
>         my ($x,$y) = split / /, $_;
>         my $z = sqrt($x*$x + $y*$y);
>         ... serialise $x, $y, $z;
>     }
>     __DATA__
>     0.123 1.234
>     ...
>
> should $x, $y be serialised as strings or floats? I think the desire of
> the programmer would be for them to be floats, but the canonical form is
> string. In other words, the initial type still doesn't necessarily DWIM,
> and its still up to the programmer to manually ensure the output is as
> desired.

Personally i think most serialization module authors would consider
the canonical form to be the string, not the NV.

Consider what should happen if the data line was

__DATA__
0.123x 0.1234x

Yves

--
perl -Mre=debug -e "/just|another|perl|hacker/"

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About