Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

//= not understood by Rakudo #555

Closed
p6rt opened this issue Dec 31, 2008 · 7 comments
Closed

//= not understood by Rakudo #555

p6rt opened this issue Dec 31, 2008 · 7 comments

Comments

@p6rt
Copy link

p6rt commented Dec 31, 2008

Migrated from rt.perl.org#61880 (status was 'resolved')

Searchable as RT61880$

@p6rt
Copy link
Author

p6rt commented Dec 31, 2008

From @masak

Rakudo r34703​:

$ perl6 -e 'my $year; $year //= 2009'
get_iter() not implemented in class 'Integer'

This looks like a misparse, interpreting '//= 2009' as '// =2009'.

@p6rt
Copy link
Author

p6rt commented Jan 1, 2009

From dave.whipp@gmail.com

<dwhipp> rakudo​: my $a; $a //= 1
<p6eval> rakudo 34768​: OUTPUT«get_iter() not implemented in class
'Integer'␤current instr.​: 'prefix​:=' pc 17718
(src/builtins/misc.pir​:17)␤»

@p6rt
Copy link
Author

p6rt commented Jan 19, 2009

From @jnthn

On Wed Dec 31 08​:44​:02 2008, masak wrote​:

Rakudo r34703​:

$ perl6 -e 'my $year; $year //= 2009'
get_iter() not implemented in class 'Integer'

This looks like a misparse, interpreting '//= 2009' as '// =2009'.

Tried just adding it to generate as a meta-op, then realized that we're
using pasttype def_or for // so there's no infix​://. So I hand-rolled a
//= for now, but are we really going to get away with using pasttype for
//? I'm thinking that // will want to be overloadable, so needs to
become a multi infix​:<//>? If there's agreement I'll re-do it that way
(then we can probably have [//] too...)

Anyway, it's testable now. OH HAI, moritz...

Jonathan

@p6rt
Copy link
Author

p6rt commented Jan 19, 2009

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Jan 19, 2009

From @moritz

On Mon Jan 19 14​:18​:43 2009, jnthn@​jnthn.net wrote​:

Anyway, it's testable now. OH HAI, moritz...

Jonathan

Jonathan found (and corrected) the tests in S03-operators/assign.t
himself ;-)

Cheers,
Moritz

@p6rt
Copy link
Author

p6rt commented Jan 19, 2009

@moritz - Status changed from 'open' to 'resolved'

@p6rt p6rt closed this as completed Jan 19, 2009
@p6rt
Copy link
Author

p6rt commented Jan 23, 2009

From @pmichaud

On Mon, Jan 19, 2009 at 02​:18​:46PM -0800, jnthn@​jnthn.net via RT wrote​:

On Wed Dec 31 08​:44​:02 2008, masak wrote​:

Rakudo r34703​:

$ perl6 -e 'my $year; $year //= 2009'
get_iter() not implemented in class 'Integer'

This looks like a misparse, interpreting '//= 2009' as '// =2009'.

Tried just adding it to generate as a meta-op, then realized that we're
using pasttype def_or for // so there's no infix​://. So I hand-rolled a
//= for now, but are we really going to get away with using pasttype for
//? I'm thinking that // will want to be overloadable, so needs to
become a multi infix​:<//>?

It also needs to short-circuit, which is why we currently use a
pasttype and not a simple multi.

Beyond that, many of the infixes are switching from left
associative to list associative precedence, which means we'll
be revisiting this when the dust settles anyway.

Pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant