|
»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by lichtkind on 5 March 2010. |
|||
| pugssvn | r30065 | Darren_Duncan++ | the '%','mod' are the 'modulo' op; 'modulus' is either what you call the result besides 'remainder', or it is another name for 'absolute value' op | 00:06 | |
|
00:10
lue left
|
|||
| sorear | Tene: Here's my take - if your $LANGUAGE is insufficiently Parrot-like to handle arbitrary PMCs thrown at it, it should provide an overriden 'import' that can take outside PMCs and coerce them into the most appropriate local object, possibly creating a proxy for things with state | 00:14 | |
| Tene: note that get_exports needs to do the same thing, for contravariant types | |||
| Tene: if possible, said language should provide pragmata for controlling how it munges Parrot data | 00:15 | ||
| Tene: see github.com/jnthn/blizkost/raw/1dd01.../SEMANTICS | 00:16 | ||
| Tene: that's what I'm going to do for Perl 5... you cannot take an arbitrary PMC and make it look like a SV, so I've had to make up a few rules. | 00:17 | ||
| Unrelatedly, I wonder if there would be a market for a Perl5 on Parrot implementation that can't handle XS (but could use Parrot and Perl6 libs) | 00:19 | ||
| jnthn | sorear: Thing is, CPAN is of epic importance, and a decent bit of it relies on XS. | 00:21 | |
| Either directly or indirectly. | 00:22 | ||
| That's why I wanted to go the "embed Perl 5" route with Blizkost'. | |||
| sorear | yes | ||
| Blizkost is our only hope for *direct* XS users | |||
| jnthn | uh, Blízkosť, I mean, of course. :-) | 00:23 | |
| sorear | but a lot of Perl 5 modules that use XS directly, are actually small little things that could be reimplemented in terms of Parrot | ||
| jnthn | That's quite possible. | 00:24 | |
| TimToady | in any case, p6 needs a p5 parser built in so that it can find the extent of p5 code, even if it ends up feeding it off to the p5 interpreter | ||
| sorear | then there's big stuff like DBI and POE that use XS for performance hacks, but I'm sure other people will port those | ||
| jnthn | TimToady: If you're embedding 5 in 6 or interleaving, sure. | ||
| sorear | \o/ I just got a license to write Parse::Perl5 | 00:25 | |
| jnthn | TimToady: I'm mostly hoping for being able to do a "use" of Perl 5 modules for Rakudo *. | ||
| TimToady | that's also a good thing | ||
| jnthn | Well | ||
| It's the one I think we have some vague chance of actually being successful with in the timeframe too :-) | 00:26 | ||
| TimToady | I wasn't suggesting anyone other than me work on STD_P5 :) | 00:27 | |
| jnthn | Granted Zavolaj has somewhat calmed our immediate "omg no way to access databases in Perl 6" issues, so being able to use Perl 5 DBI isn't as absolutely critical as I first expected, but it's still nice, and there's the rest of CPAN of course. :-) | ||
.oO( One day I might start a project and give it an English name... ) |
00:28 | ||
| sorear | One day I might start a project and finish it. | 00:30 | |
| TimToady | mee2 | 00:33 | |
| viv was supposed to replace gimme5, but hasn't happened yet... | 00:34 | ||
| jnthn | It's almost as if implementing Perl 6 is hard or something. | ||
| :-) | 00:35 | ||
| TimToady | .oO(hard things should be possible) |
||
|
00:47
jhuni joined
01:02
xomas left
|
|||
| spinclad | .oO(impossible things should be before breakfast) |
01:04 | |
| pugssvn | r30066 | lwall++ | [STD] allow for the fact that ambiguous use of . probably indicates p5-think, not missing method parens | 01:07 | |
|
01:18
meppl left
01:22
dolmen left
01:30
jaldhar left
01:36
jaldhar joined
01:58
synth left
02:07
hercynium left,
brushie joined
02:21
silug left
02:29
am0c left
02:31
Chillance left
02:35
ruoso left
|
|||
| TimToady | std: my @%a = (1, (2, (3, 4))); | 02:48 | |
| p6eval | std 30066: OUTPUT«===SORRY!===Invalid hard reference syntax at /tmp/pyJNqSN2CT line 1:------> my @⏏%a = (1, (2, (3, 4))); expecting any of: desigilname twigilFAILED 00:01 107m» | ||
| TimToady | std: $_ .= 'string'; | 02:53 | |
| p6eval | std 30066: OUTPUT«===SORRY!===Unsupported use of . to concatenate strings or to call a quoted method; in Perl 6 please use ~ to concatenate, or if you meant to call a quoted method, please supply the required parentheses at /tmp/oPXbPZo4R5 line 1:------> $_ .= | ||
| ..'string'⏏… | |||
| colomon | rakudo: $_ .= 'string'; | 02:56 | |
| p6eval | rakudo 328227: OUTPUT«Quoted method name requires parenthesized arguments at line 11, near ";"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
| colomon | LTA. | ||
|
02:59
lue joined
|
|||
| lue | ...not doing that again! :) | 03:00 | |
|
03:03
gfx joined
|
|||
| colomon | TimToady: ping? | 03:07 | |
| rakudo: say 0 ?| Mu | |||
| p6eval | rakudo 328227: OUTPUT«No applicable candidates found to dispatch to for 'infix:<?|>'. Available candidates are::(Any $a, Any $b)current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
| colomon | rakudo: say 0 || Mu | 03:08 | |
| p6eval | rakudo 328227: OUTPUT«Mu()» | ||
| colomon | rakudo: say Mu || 0 | 03:09 | |
| p6eval | rakudo 328227: OUTPUT«0» | ||
| TimToady | pang | ||
| lue | Moo | ||
| colomon | TimToady: should 0 ?| Mu work? Right now it gripes because ?| is defined on Any, Any. | 03:10 | |
|
03:10
vamped left
03:11
vamped joined
|
|||
| TimToady | seems reasonable for it to fail | 03:13 | |
| colomon | rakudo: say ?Mu | ||
| p6eval | rakudo 328227: OUTPUT«0» | ||
| colomon | I will change the test to Any, then... | 03:14 | |
| rakudo: say 0 ?| Any | |||
| p6eval | rakudo 328227: OUTPUT«0» | ||
| TimToady | most failures should return a Failure, anyway | ||
| or Nil | |||
| Mu is more undef than undef :) | |||
| colomon | :) | 03:15 | |
| lue | Aw, but I like cheese ( :D ) | ||
| colomon | rakudo: say 7 > any(4..12) | 03:16 | |
| p6eval | rakudo 328227: OUTPUT«maximum recursion depth exceededcurrent instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)» | ||
| TimToady | rakudo: say 7 > any(4...12) | 03:17 | |
| p6eval | rakudo 328227: OUTPUT«maximum recursion depth exceededcurrent instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)» | ||
| TimToady | rakudo: say 7 > any(4,5,6,7,8,9,10,11,12) | ||
| p6eval | rakudo 328227: OUTPUT«maximum recursion depth exceededcurrent instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)» | 03:18 | |
| colomon is not going to learn how auto-threaded is implemented before going to bed tonight. | |||
| TimToady | rakudo: say 7 > 4|5|6|7|8|9|10|11|12 | ||
| p6eval | rakudo 328227: OUTPUT«maximum recursion depth exceededcurrent instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)» | 03:19 | |
| lue | result: true (in my book) | ||
| TimToady | rakudo: say "yes" if 7 > 4|5|6|7|8|9|10|11|12 | ||
| p6eval | rakudo 328227: OUTPUT«maximum recursion depth exceededcurrent instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)» | ||
| TimToady | rakudo: say "yes" if 7 > 4 | ||
| p6eval | rakudo 328227: OUTPUT«yes» | ||
| TimToady | rakudo: say "yes" if 7 > 4|5 | ||
| p6eval | rakudo 328227: OUTPUT«maximum recursion depth exceededcurrent instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)» | ||
| TimToady | rakudo: say 4|5 | ||
| p6eval | rakudo 328227: OUTPUT«any(4, 5)» | ||
| lue | That's is not what recursion is not that is not...! | 03:20 | |
| TimToady | rakudo: say "yes" if 7 == 4|5 | ||
| p6eval | rakudo 328227: ( no output ) | ||
| TimToady | rakudo: say "yes" if 7 == 4|7 | ||
| p6eval | rakudo 328227: OUTPUT«yes» | ||
| TimToady | rakudo: say "yes" if 7 == any(4..12) | ||
| p6eval | rakudo 328227: OUTPUT«yes» | ||
| TimToady | problem seems to be with > | ||
| lue | rakudo: say "yes" if 7 > (4|5|6|7|8|9|10|11|12) | 03:21 | |
| p6eval | rakudo 328227: OUTPUT«maximum recursion depth exceededcurrent instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)» | ||
| TimToady | rakudo: say "yes" if 7 >= any(4..12) | ||
| p6eval | rakudo 328227: OUTPUT«maximum recursion depth exceededcurrent instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)» | ||
| TimToady | rakudo: say "yes" if 7 <= any(4..12) | ||
| p6eval | rakudo 328227: OUTPUT«maximum recursion depth exceededcurrent instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)» | ||
| TimToady | rakudo: say "yes" if 7 <=> any(4..12) | 03:22 | |
| p6eval | rakudo 328227: OUTPUT«yes» | ||
| pugssvn | r30067 | colomon++ | [t/spec] Refudge for Rakudo. | ||
| TimToady | are the comparisons defined in Mu rather than Any? | ||
| lue | what does <=> do? Does it mean less than, equal to, or greater than? | 03:23 | |
| TimToady | yes | ||
| so does leg | |||
| colomon | TimToady: looking... they don't appear to be in operators.pm... | 03:24 | |
| TimToady | is > or < used in Junction? | ||
|
03:24
hercynium joined
|
|||
| sorear | does auto-threaded actually even exist yet? seems like an odd priority for pre-R* | 03:25 | |
| lue | rakudo: say 3 <=> 4 | ||
| TimToady | it was in alpha | ||
| p6eval | rakudo 328227: OUTPUT«-1» | ||
| lue | rakudo: say 3 <=> Mu | ||
| p6eval | rakudo 328227: OUTPUT«No applicable candidates found to dispatch to for 'infix:<<=>>'. Available candidates are::(Any $a, Any $b)current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
| lue | rakudo: say 3 <=> Any | ||
| colomon | sorear: it works for ==, as TimToady just showed... | ||
| p6eval | rakudo 328227: OUTPUT«Use of type object as valuecurrent instr.: 'perl6;Perl6Exception;throw' pc 14489 (src/builtins/Seq.pir:77)» | ||
| TimToady | alpha: say 7 > any(4..12) | ||
| p6eval | alpha 30e0ed: OUTPUT«any(Bool::True, Bool::False)» | ||
| sorear | colomon: Oh, so auto-threaded only means distribution over junctions | 03:26 | |
| I was taking it to imply actual parallel execution | |||
| colomon | rakudo: say 7 == any(4..12) | ||
| p6eval | rakudo 328227: OUTPUT«any(Bool::False, Bool::True)» | ||
| TimToady | it can be parallel | ||
| colomon | TimToady: I can't figure out where the comparisons are defined at all. | 03:27 | |
| lue | rakudo: my $boot=3; my $up=True; say $boot leg $up # Is there something I can fix? I'm bored :/ | ||
| p6eval | rakudo 328227: OUTPUT«1» | ||
| colomon | (except for before and after, which I wrote.) | ||
| sorear | What is alpha? | ||
| TimToady | rakudo: say 7 after any(4..12) | ||
| colomon | sorear: the first Rakudo | ||
| p6eval | rakudo 328227: OUTPUT«any(Bool::True, Bool::False)» | ||
| TimToady | you'll be please to know that your creation works righ | 03:28 | |
| *pleased | |||
| colomon | sorear: the current Rakudo is a major refactor of the original, and lots of bits still don't work. | ||
| sorear | rakudo: if (7 == any(4 .. 12)) { say "Y" } else { say "N" } | ||
| colomon | on the other hand, lots of bits work better than before. | ||
| p6eval | rakudo 328227: OUTPUT«Y» | ||
| sorear | rakudo: if (7 != any(4 .. 12)) { say "Y" } else { say "N" } | ||
| p6eval | rakudo 328227: OUTPUT«Y» | ||
| colomon | TimToady: before and after are declared Any, Any. | 03:29 | |
| TimToady | maybe > and < get turned into parrot codes | ||
|
03:30
MAK_ joined
|
|||
| colomon | TimToady: could be. beyond my ken. | 03:30 | |
| lisppaste3 | MAK pasted "Num in context of reference" at paste.lisp.org/display/96351 | 03:31 | |
| MAK_ | say didn't work as I expected | 03:32 | |
| TimToady | you don't say | ||
| sorry :) | |||
| colomon | rakudo: my @a = 1..3; say "hello @a[1]" | ||
| p6eval | rakudo 328227: OUTPUT«hello @a[1]» | ||
| colomon | that's NYI. | ||
| dalek | kudo: fefb298 | (Solomon Foster)++ | t/spectest.data: Turn on S03-operators/misc.t. |
||
| colomon | rakudo: my @a = 1..3; say "hello { @a[1] }" | 03:33 | |
| p6eval | rakudo 328227: OUTPUT«hello 2» | ||
| lue | Is there anything critical that needs fixing? I hate lurking. | ||
| MAK_ | ok | ||
| colomon | afk # bed | 03:34 | |
| lue | bye o/ | 03:36 | |
| rakudo: my $a=1; say "hello there $a" | 03:37 | ||
| p6eval | rakudo 328227: OUTPUT«hello there 1» | ||
| lue | rakudo: my @a=[1,2,3]; say "hello there @a and to you too @a[1]" | ||
| p6eval | rakudo 328227: OUTPUT«hello there @a and to you too @a[1]» | ||
|
03:37
MAK_ left
|
|||
| lue | ah, so array don't interpolate AT ALL yet (what about hashes...) | 03:38 | |
| rakudo: my %a={"hi",1,"oi",2}; say %a # making sure I typed this right... | |||
| p6eval | rakudo 328227: OUTPUT«Odd number of elements found where hash expectedcurrent instr.: '&die' pc 16872 (src/builtins/Junction.pir:373)» | ||
| lue | rakudo: my %a="hi",1,"oi",2; say %a # making sure I typed this right... | ||
| p6eval | rakudo 328227: OUTPUT«hi 1oi 2» | ||
| lue | rakudo: my %a="hi", 1, "oi", 2; say "Oh hello %a" | 03:39 | |
| p6eval | rakudo 328227: OUTPUT«Oh hello %a» | ||
| lue | I guess everyone leaves with colomon. (Here TimToady, I has your cricket) | 03:41 | |
|
03:41
[particle] joined
|
|||
| TimToady | tnx...tnx...tnx...tnx... | 03:42 | |
|
03:42
[particle]1 left
|
|||
| lue | RED ALERT! Particle 1 has vanished. All units out to recover! </nonsense> | 03:44 | |
| lue considers fixing the interpolation issue... | 03:49 | ||
|
03:58
hercynium left
04:04
rv2733 left
|
|||
| lue | xkcd.com/353/ this comic almost killed XKCD :) (read the title text) | 04:07 | |
| lue --not-here & | 04:12 | ||
|
04:15
lest_away is now known as lestrrat
04:17
alester joined
04:25
vamped left
04:29
silug joined
04:37
eternaleye joined
05:17
c1sung joined
05:47
jferrero left
06:18
molaf joined
06:24
wolf2k_ubuntu left
06:28
wolf2k_ubuntu joined
06:38
gfx left
06:56
snarkyboojum left
|
|||
| colomon | rakudo: say Mu // 42 | 07:17 | |
| p6eval | rakudo fefb29: OUTPUT«42» | ||
|
07:17
justatheory left
|
|||
| colomon | rakudo: say 0 ^^ 42 | 07:17 | |
| p6eval | rakudo fefb29: OUTPUT«42» | ||
| colomon | rakudo: say 1 ^^ 42 | 07:18 | |
| p6eval | rakudo fefb29: OUTPUT«» | ||
|
07:22
k23z__ joined
|
|||
| k23z__ | came to ask about set operations | 07:22 | |
| if we'll have them in p6 | |||
| I mean in the core | |||
| now I have to use Set::Scalar in p5 to use them | 07:23 | ||
| and they're written in pure Perl which makes them a bit slow .. | |||
| so for example for size of intersection of 2 sets I do (Set::Scalar->new(elements) * Set::Scalar->new(elements))->size | |||
| colomon | There is a Set type specified for p6, but as I understand it, the details are still in doubt. | 07:24 | |
| k23z__ | this is .. ok , but we I've seen better things | ||
| colomon: ah ok.. it would be very useful if it would be implemented ... | |||
| sorear | How do I export a trait? | 07:25 | |
| use My::Module; class Foo { has $.moo is cool; } | |||
| colomon | rakudo: say 0 ^^ 0 | 07:27 | |
| p6eval | rakudo fefb29: OUTPUT«0» | ||
| pugssvn | r30068 | colomon++ | [t/spec] Refudge, switch return 1 if to if { return 1 }. | 07:29 | |
|
07:32
alester left
|
|||
| dalek | kudo: 60f9b3b | (Solomon Foster)++ | t/spectest.data: Move some S03-operators tests back into their proper location, delete duplicate, turn on S03-operators/short-circuit.t. |
07:33 | |
| colomon | rakudo: say 42 if 0 | 07:43 | |
| p6eval | rakudo fefb29: ( no output ) | ||
| colomon | rakudo: say (42 if 0) | ||
| p6eval | rakudo fefb29: OUTPUT«» | ||
|
07:43
M_o_C left
|
|||
| colomon | rakudo: say (42 if 0).WHAT | 07:44 | |
| p6eval | rakudo fefb29: OUTPUT«Parcel()» | ||
| pugssvn | r30069 | colomon++ | [t/spec] Fudge out "return if" test. | ||
| dalek | kudo: 345f63d | (Solomon Foster)++ | t/spectest.data: Turn on S04-statement-modifiers/if.t. |
07:50 | |
| jhuni | rakudo: say [+] ^5; | 07:56 | |
| p6eval | rakudo fefb29: OUTPUT«Confused at line 11, near "say [+] ^5"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
|
08:47
masak joined
|
|||
| masak | good morning, #perl6 | 08:47 | |
| sorear | hello | ||
| masak | this Japanese twitterer who wants 'are' as a synonym of 'is'... is there some simple grammar-extending code snippet we could throw at him to give him that? | 08:50 | |
| masak tries to answer his own question by reading STD.pm | |||
| sorear | While you're there, could you please tell me how to export a trait | 08:56 | |
| masak | not sure the answer to that is in STD.pm. | ||
|
09:04
Trashlord left
09:06
rgrau joined
09:07
iblechbot joined
09:15
eternaleye left
|
|||
| k23z__ | this STD.pm seems to be quite central , I should read it too | 09:18 | |
| masak | it's a good read. | ||
| in terms of the Perl 6 code out there, it's one of the most complex pieces of code, and it's virtually devoid of short-term workarounds due to implementation limitations. | 09:20 | ||
|
09:22
eternaleye joined
09:23
jhuni left
09:28
rgrau left
09:31
mssm joined
|
|||
| k23z__ | when I git pull on the rakudo | 09:35 | |
| how do I know if I have to recompile in order to get the new things added ? | |||
| for example now I see this modifs | |||
| build/PARROT_REVISION | 2 +- | |||
| src/Perl6/Actions.pm | 121 +++++++++++++++++++++++++++++------------- | |||
| src/Perl6/Grammar.pm | 28 +++++++--- | |||
| src/Perl6/Module/Loader.pm | 41 +++++++++++---- | |||
| src/Perl6/Module/Locator.pm | 15 ++++-- | |||
| src/core/Any-str.pm | 6 ++- | |||
| src/core/EnumMap.pm | 7 ++- | |||
| src/core/Num.pm | 15 +++++ | |||
| src/core/Parcel.pm | 2 +- | |||
| src/core/Seq.pm | 45 ++++++++++++++++ | 09:36 | ||
| masak | basically, if anything changed withing src/, you need to recompile. | ||
| k23z__ | src/core/operators.pm | 20 +++++++ | ||
| src/core/traits.pm | 4 ++ | |||
| src/glue/dispatch.pir | 27 ++++++++++ | |||
| src/pmc/p6opaque.pmc | 3 + | |||
| src/pmc/perl6multisub.pmc | 63 ++++++++++++++++------ | |||
| t/spectest.data | 47 +++++++++-------- | |||
| masak | k23z__: please don't paste large amounts of text on the channel. | ||
| k23z__ | do the .pir or .pmc mean I need to recompile rakudo ? | ||
| ah ok | |||
| sorry | |||
| masak | k23z__: use nopaste services for that, such as the ones in the topic. | ||
| k23z__: yes, any change within src/ means you very probably need to recompile Rakudo. | 09:37 | ||
| k23z__ | can I open a socket currently in rakudo ? | ||
|
09:37
jhuni joined
|
|||
| masak | one used to be able to do that in alpha. | 09:37 | |
| it doesn't work yet in master. | |||
| sorear | no sockets? I guess I'm going to be fixing that soon | 09:38 | |
| I have this wonderful knack for jumping in the deep end accidentally | 09:39 | ||
| masak | yay | ||
| k23z__ | sorear: if you do please let me know, I'd hack something with it | ||
| sorear is trying to learn the perl 6 way by righting an IRC client | |||
|
09:39
Trashlord joined
|
|||
| sorear | writing | 09:39 | |
| masak | sorear: cool. | ||
| we need apps like that. | 09:40 | ||
|
09:41
saleem left
|
|||
| sorear | well, it's also competing with bliznost for brain cycles | 09:41 | |
| do you still say cool? :) | |||
| k23z__ | masak: if I hit make now it says there's nothing to be done, although I have "git pull" before | ||
| masak | sorear: I wouldn't dream of laying out your schedule for you :) | 09:42 | |
| sorear | when in doubt, git clean -dfx # read the documentation before running this | ||
| masak | k23z__: what sorear said. also, it makes little sense, so one of us is missing something. :) | 09:43 | |
| k23z__ | hm | 09:45 | |
| sorear | masak: can you give me an example of perl 6 socket code? | ||
| k23z__ | sorear: src/old/setting/IO/Socket/INET.pm ? | 09:46 | |
| masak | aye. | ||
| was just going to link to that: github.com/rakudo/rakudo/tree/alpha...etting/IO/ | |||
| sorear | k23z__: socket code, not socket implementation | ||
| masak | oh. | 09:47 | |
| k23z__ | oh | ||
| masak | well, there's Web.pm. | ||
| sorear | I need to know exactly what's not working if I'm going to fix anything at all | ||
| k23z__ | but I remember there was this wiki called november implemented in p6 , that surely needed to use some sockets sooner or later | ||
| masak | sorear: github.com/masak/web/blob/master/li...PDaemon.pm | ||
| I should probably link to the HTTP::Daemon code as well... | 09:48 | ||
| gitorious.org/http-daemon/mainline/.../Daemon.pm | 09:49 | ||
| sorear | So why is there lots of setting stuff in old? | ||
| sorear is really, really new here | |||
|
09:49
z3ndrag0n joined
|
|||
| masak | sorear: the old/ directory contains alpha code. | 09:49 | |
| I'm actually not sure what prompted people to keep it around in the new branch. | 09:50 | ||
| then again, I can sometimes be a purist, and I don't always see the pragmatic reasons for things. | |||
|
09:50
Su-Shee joined
|
|||
| sorear | When did rakudo cease being alpha? | 09:50 | |
| masak | sorear: a week or so after the January release, I believe. | 09:51 | |
| sorear | oh | 09:52 | |
| right | |||
| ng | |||
| now I just need to figure out what's wrong | |||
| I guess ng doesn't support a setting? | 09:53 | ||
| masak | it does. but it calls it CORE instead. | 09:57 | |
| sorear | where is it kept? | 10:04 | |
| masak | github.com/rakudo/rakudo/tree/master/src/core/ | ||
| araujo | guys, pugs was abandoned? | 10:05 | |
| masak | araujo: no, but the air went out of its one single implementor. | ||
| sorear | that's exactly the same thing | ||
| araujo | :P | 10:06 | |
| masak | unless you count 'abandon' as a conscious, deliberate act. | ||
| I don't think anyone wanted Pugs to slow down to a halt, implementation-wise. | 10:07 | ||
| it just happened. | |||
| araujo | I see I see, ok | ||
| sorear | Is it possible for me to modify the setting without rebootstrapping Rakudo? | 10:11 | |
| k23z__ | sorear: what you suggested is equivalent to make clean ; make | ||
| sorear | no | ||
| k23z__ | sorear: which is ok but it takes the time of a build from scratch ... | ||
| sorear: it's not ? | |||
| hm | |||
| sorear | make clean is unreliable | ||
| you should always expect it to not work | |||
| because, quite simply, it never gets tested | |||
| k23z__ | ah ok, I was just trying to say it's building from scratch now | 10:12 | |
| masak | sorear: if by 'rebootstrapping' you mean 'rebuilding', then no. | ||
| k23z__ | sorear: I was hoping for incremental builds | ||
| sorear: would that be possible ? | |||
| sorear | k23z__: don't ask me | ||
| masak | k23z__: usually, that's what make does. | ||
| sorear | wait, nevermind, there's no way what I asked for is even possible | 10:13 | |
|
10:13
zoi joined
|
|||
| masak | :) | 10:13 | |
| sorear | parrot perl6.pbc src/gen/core.pm > src/gen/core.pbc # this command takes 12 hours on my machine, I'd *love* it if it could be broken up somehow | ||
| k23z__ | hey sorry | 10:14 | |
| masak | sorear: you don't have much RAM, do you? | ||
| k23z__ | if parrot had something like distcc ... | 10:15 | |
| and you had a build farm | |||
| sorear | core.pm build has a VMSIZ of ~400MB, I have 384MB of RAM | ||
| if there were some magic parrot --use-10%-less-ram switch I'd be set | |||
| k23z__ | sorear: use swap on disk ? | 10:16 | |
| sorear | or if I could somehow figure out why rakudo uses so much ram | ||
| k23z__: I *do* use swap on disk. If I were using swap on network I would know exactly what was wrong | |||
| masak | sorear: it's taking so long because you have so little RAM. if you'd get more, it would go faster. | 10:17 | |
| building Rakudo easily gobbles up 1024MB. probably a lot more. | |||
| the memory consumption definitely went up as we switched to the ng branch. | 10:18 | ||
| sorear | what does it even use that much for | 10:20 | |
| sorear wonders if there's a memory leak somewhere; compiling a bunch of functions ought not to require that much more than compiling one | |||
| also, I was watching top during the build, and total allocated memory never went above ~420 | 10:21 | ||
| masak | I am compiling Rakudo now. top tells me that the allocated memory is 620 MB. | 10:25 | |
| sorear | oh, probably word size differences | ||
| masak | how would word size differences affect the number of bytes allocated? | 10:26 | |
| sorear | PMC* is 4 bytes on my system, 8 bytes in most of the rest of the world | ||
| an awful lot of the data Parrot allocates is made of void* | |||
| masak | I see. | ||
| k23z__ | sorry my question went unanswered about incremental builds, my question was if I could recompile faster please ? | 10:29 | |
| recompile rakudo | |||
| sorear | no, you can't | ||
| k23z__ | because for example if I change 10 lines I need to wait ~30m to see the result | ||
| sorear: ah ok then | |||
| sorear | the bulk of the time spent compiling rakudo is compiling the prelude | ||
| which is a single monolithic thing | 10:30 | ||
| k23z__ | sorear: and could it be broken up ? | ||
| sorear | then it wouldn't be a prelude | ||
| masak | k23z__: I don't know if it answers your question -- but usually, unless one did 'make clean' or equivalent, the 'make' process only rebuilds the thing that change and those things that are dependencies of that. | ||
| the CORE/Setting/Prelude is quite late in the build chain, for example. | |||
| if you only change that, make won't rebuild the grammar and actions files. | 10:31 | ||
| sorear | masak: src/core/* is 3ksloc of code. Can I expect that, if my own programs grow to that size, they too will consume 400+ MiB to load? | ||
| k23z__ | masak: yes the problem is I tried "make" exactly after I "git pull" and it told me there was nothing else to do(which was weird since I saw that git pulled ~335 new lines) and so sorear told me to do "git clean -dxf" which erased all the built binaries and then I "perl ./Configure.PL --gen-parrot" again and "make" again ... and now I'm waiting for it to finish ... | 10:32 | |
| I'm pretty sure I missed something ... I don't know what | |||
| masak | sorear: I'm not one to either give promises or dire predictions about Rakudo memory use. but I do know that competent people are working at optimizing Parrot and Rakudo. | ||
| k23z__: right. neither do I. I hope 'make' works for you next time. | 10:33 | ||
| it usually does for me. | |||
| k23z__ | masak: I will try to change one line in some file under src/ and see if make behaves the same way(telling me there's nothing else to be done) | 10:34 | |
| but about the build times I wonder | |||
| wouldn't it be possible to build a dependency tree | |||
| of the whole rakudo project | |||
| and then compile distributed on multiple machines | 10:35 | ||
| looking at that tree to see if there are no inter-dependencies ? | |||
| if they are on differen branches of the tree they can be compiled on differen machines I would think | |||
| that is how I suppose distcc works | |||
| I have 3-4 idle machines I could put them to work for me like that :) | |||
|
10:36
perl7 joined
|
|||
| masak | k23z__: those are interesting questions. I don't have the answer, unfortunately. | 10:36 | |
| sorear | masak: fair enough. | 10:37 | |
| perl7 | What does "Rakudo *" really mean? | ||
| masak | [baclog] TimToady: what remains before viv can replace gimme5? | ||
| perl7: it's a point in the development of Rakudo where we say "Here. This is something that you can start building applications with." | 10:38 | ||
| perl7 | masak: production ready? | ||
| masak | perl7: depends on what you're producing :) | ||
| more like 'usable'. | 10:39 | ||
| k23z__ | masak: :) | ||
| perl7 | masak: applications in wich I have no time to fix language tricks | ||
| masak | perl7: 'fix language tricks'? what do you mean? | ||
| perl7 | mberends: There are more intelligent ways of calling me stupid | 10:40 | |
| sorry | |||
| k23z__ | wtf ? | ||
| masak | very non sequitur, I must say. | ||
| perl7 | masak: I don't like to work with language implementation issues,... | 10:41 | |
| masak | perl7: we're still finding a lot of them. that's just where we are right now. | 10:42 | |
| perl7: it will get better, but we simply have to find the issues before that. | |||
| there's no magical way that I'm aware of. | |||
| perl7 | masak: will be the Rakudo * clean of identified issues? | ||
| masak | :) | 10:43 | |
| is that the same as asking 'will the RT queue be empty?' ? | |||
| because I don't think it ever will. even if you're charitably only counting the real bugs in there. | |||
| and that's not because of Rakudo, that's because of software in general. | 10:44 | ||
| perl7 | masak: you're rigth, but I ask for identified ones | ||
| masak | RT contains the identified ones. | ||
| k23z__ | if you have supplies of f00d and a place to crash and paid utilities ... I could take the bug count to zero | ||
| sorear | perl7: please realize that you are not dealing with a contracted company here | ||
| masak | k23z__: you're welcome to stay at my house. | ||
| perl7 | sorear: I'm asking, nor requiring | ||
| k23z__ | masak: that is very nice of you Carl , very hospitable :) | 10:45 | |
| perl7 | masak: do you have a link to see the RT status for Rakudo * | ||
| masak | perl7: tinyurl.com/yak6y85 | 10:46 | |
| perl7 | masak: thnaks | ||
| masak | k23z__: it'll be fun. I'll provide the f00d, a mattress, and even a laptop if you need it. free wifi. stay as long as you fix things in the RT queue. | 10:47 | |
|
10:48
xinming_ joined
|
|||
| masak | k23z__: we can even race and see if you can fix more tickets than I can submit :) | 10:50 | |
|
10:50
meppl joined
10:51
xinming left
10:55
jaldhar left,
jaldhar joined
|
|||
| masak | rakudo: subset OddInt of Int where { $_ % 2 }; class OhNoes is OddInt {}; my $i = OddInt.new; say $i | 10:57 | |
| p6eval | rakudo 345f63: OUTPUT«0» | ||
| masak | should classes be allowed to inherit from subtypes? | ||
| um. I mean. | 10:58 | ||
| rakudo: subset OddInt of Int where { $_ % 2 }; class OhNoes is OddInt {}; my $i = OhNoes.new; say $i | |||
| p6eval | rakudo 345f63: OUTPUT«0» | ||
| masak | both of these cases are problematic, of course. but the first one is already known. | 10:59 | |
|
11:05
perl7 left
11:07
m6locks left,
m6locks joined
11:08
zibri joined
11:10
mssm left
11:22
payload joined
11:23
mssm joined
|
|||
| k23z__ | masak: hehe :) | 11:26 | |
|
11:28
payload left
|
|||
| masak | '"Talent" is the worst excuse cited by people who give up." -- Carl, the glassblower in ソ・ラ・ノ・ヲ・ト (Soranowoto) | 11:38 | |
| that's heartening for those of us who just make it up as we go along. :) | 11:41 | ||
|
11:46
pmurias joined
|
|||
| masak | rakudo: subset A of Int where { $_ == 42 }; grammar G is A {} | 11:50 | |
| p6eval | rakudo 345f63: ( no output ) | ||
| masak | rakudo: subset A of Int where { $_ == 42 }; grammar G does A {} | ||
| p6eval | rakudo 345f63: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class ''current instr.: 'perl6;ClassHOW;add_composable' pc 3996 (src/metamodel/ClassHOW.pir:186)» | ||
| masak | those two make even less sense. | 11:51 | |
|
11:56
k23z__ left
|
|||
| jnthn | oh hai | 12:33 | |
|
12:33
k23z__ joined
|
|||
| masak | lolitsjnthn | 12:33 | |
| jnthn | huh...inheriting from a subset type? :-/ | 12:34 | |
| Or does-ing one | |||
| masak | k23z__: I saw you were asking about set operations in the backlog. jnthn and I were just discussing that on the train back from the Copenhagen++ hackathon. | ||
| jnthn | Yes, I think we'll ban that. :-) | ||
| masak | jnthn: I agree. | ||
| jnthn | Good find. | ||
| k23z__ | Queried user last spoke 14s ago. masak is currently in this channel. | ||
| masak | :) | ||
| jnthn still needs to finish up a few other aspects of subset too | 12:35 | ||
| May do that today. | |||
| masak | yay | ||
| k23z__ | hmm my seen irssi script seems to work | ||
| jnthn was happy to close a masakbug last night too :-) | 12:36 | ||
| masak | yeah, saw that. jnthn++ | ||
| jnthn | I still need to make $x.SomeRole::methname() work | ||
| Though did put things back so there'll be an easy-ish way to do taht. | 12:37 | ||
| *that | |||
| masak | in 'my $a := $b;', both $a and $b are treated as lvalues. | 12:38 | |
| that's the same, I guess, as saying that the operation is on the level of the containers, not the values. | |||
| alpha: my $c = 42; my $a := my $b = $c; $b = 5; say ($a, $b, $c).perl | 12:40 | ||
| p6eval | alpha 30e0ed: OUTPUT«[5, 5, 42]» | ||
| k23z__ | masak: ban ? | 12:41 | |
|
12:41
iblechbot left
|
|||
| masak | k23z__: sorry, I don't have an op bit. you'll have to ask someone else. | 12:41 | |
| k23z__ | jnthn: ban ? | ||
| masak: no no, I was talking about | |||
| <@jnthn> Yes, I think we'll ban that. :-) | |||
| masak | oh. | ||
| k23z__ | I didn't understand what he meant | ||
| jnthn: you will ban set operations ? | |||
| masak | k23z__: no, jnthn was talking about a class inheriting from a subset. | 12:42 | |
| k23z__ | aah yes | ||
| masak: yes and can you tell me your conclusion from your train conversation please ? | |||
| jnthn | k23z__: What masak said. I don't want to ban sets! :-) | ||
| masak | k23z__: only loose things. we want set operations. there are many ways to do them; the least adventurous should probably be in CORE. | 12:43 | |
| k23z__: might support one Unicode op set and one Texas/ASCII op set. | |||
| k23z__ | If I were to implement them should I write them in PIR, NPQ , Perl6 ? | 12:44 | |
| masak | k23z__: might be simplest to do it as a Perl 6 module for now. | ||
| jnthn | Aye, Perl 6. | ||
| k23z__ | I understand and maybe it can be ported to PIR/NPQ later | ||
| masak | k23z__: watch out for serious bikeshedding around the topic. | ||
| jnthn | Avoid porting stuff to PIR. | ||
| masak | k23z__: well, the nice thing about the CORE/Setting/Predule is that it doesn't need to be ported to PIR. | ||
| jnthn | I'm trying to reduce the amount of PIR we have, not increase it. | ||
| k23z__ | is PIR/NPQ faster than Perl6 ? I mean if it's more close to Parrot I'd imagine it would be faster but I may be wrong | 12:45 | |
| jnthn | k23z__: Yes, for the moment that's certainly true. | 12:46 | |
|
12:46
masak left
|
|||
| jnthn | Writing stuff in Perl 6 means that all of the metamodel bits and code types Just Work, though. | 12:46 | |
| colomon | it also means it will work for other implementations of Perl 6. | 12:53 | |
| and good morning. :) | 12:54 | ||
| jnthn | morning, colomon :-) | 12:55 | |
| Yes, that too - and other backends that Rakudo gets in the future. | 12:56 | ||
| colomon | jnthn: tried to get S03-smartmatch/any-num.t last night in the middle of the night by defining Rat.ACCEPTS. But that just broke things even worse. | ||
| > say 1 ~~ 1.0 | 12:57 | ||
| Ambiguous dispatch to multi 'ACCEPTS'. Ambiguous candidates had signatures: | |||
| :(Mu : Any $other;; *%_) | |||
| :(Mu : Any ::Complex $other;; *%_) | |||
| k23z__ | you guys like morphisms ? | 12:58 | |
|
13:02
M_o_C joined
|
|||
| k23z__ | ah then I'll write it in Perl6 | 13:02 | |
| those haskell guys apparently have a permutation module since april 2009 | |||
| but I'm catching up on them :) | 13:03 | ||
| jnthn | colomon: That's...weird. | 13:08 | |
| colomon | jnthn: agreed | ||
| jnthn | oh wait | ||
| thsoe candidates are ambiguous | |||
| Wait, ::Complex is a type capture | 13:09 | ||
| Not a constraint. | |||
| Is Complex not defined at this point? | |||
| Or can you stub it? | |||
| colomon | rakudo: ("That's" ... "weird").batch(10).perl.say | ||
| p6eval | rakudo 345f63: OUTPUT«("That's", "That't", "That'u", "That'v", "That'w", "That'x", "That'y", "That'z", "That'aa", "That'ab")» | ||
| jnthn | wow. :-) | 13:10 | |
| colomon | jnthn: that's actually your Num.ACCEPTS (::Complex $other) it's referring to there, I think. | ||
|
13:10
k23z__ left
|
|||
| jnthn | Removing the :: should work. | 13:11 | |
| colomon | trying... | ||
| jnthn | (if Complex has been stubbed) | ||
| colomon | which it hadn't been, so it failed, but now I've added class Complex { ... } | 13:13 | |
|
13:13
k23z__ joined,
k23z__ left
|
|||
| colomon | jnthn: I think that may have done it. | 13:22 | |
| jnthn | \o/ | 13:23 | |
| colomon: I think after that one, the rest of the smart-match tests are syntactic ones. | |||
| colomon | unfortunately, while that makes test #2 in that testfile work, that doesn't get the test file working, because test #3 is a hard fail. | 13:24 | |
| rakudo: say Mu ~~ 0 | |||
| p6eval | rakudo 345f63: OUTPUT«Use of type object as valuecurrent instr.: 'perl6;Perl6Exception;throw' pc 14489 (src/builtins/Seq.pir:77)» | ||
| colomon | jnthn: next problem: | 13:29 | |
| > say 3+1i ~~ 3 | |||
| You can only coerce a Complex to Num if the imaginary part is zero | |||
| (which means I'm going to make some more tests here....) | 13:30 | ||
|
13:33
jhuni left
13:36
sECuRE joined
|
|||
| sECuRE | my perl6 segfaults with a trivial hello world program. output, rakudo and parrot versions here: p.nnev.de/1210 - what could that be? | 13:37 | |
| pugssvn | r30070 | colomon++ | [t/spec] Fudge and add some more obvious tests. | 13:38 | |
| dalek | kudo: 2751645 | (Solomon Foster)++ | src/core/ (2 files): Fix Num.ACCEPTS(Complex), and implement Rat.ACCEPTS. |
13:45 | |
| kudo: 8f0ca97 | (Solomon Foster)++ | t/spectest.data: Turn on S03-smartmatch/any-num.t. |
|||
| jnthn | sECuRE: How did you build? With --gen-parrot, or a seperate Parrot build? | 13:47 | |
| sECuRE | jnthn: using --gen-parrot | ||
| i also deleted parrot* before calling that because it wouldn’t build otherwise | |||
| before i used git pull ; git reset --hard to update my checkout of rakudo | |||
| jnthn | That all sounds fine. | 13:49 | |
| I'm sure I've seen something like this get posted a few days ago, I'm trying to remember what the outcome was. | |||
| colomon just realized he pushed his last change without spectesting. Drat. | 13:50 | ||
| jnthn | colomon: Oh noes! ;-) | ||
| colomon | Mind you, I don't know of any fails yet. | 13:51 | |
| jnthn | ah yes... irclog.perlgeek.de/perl6/2010-03-13#i_2097693 | ||
| sECuRE: Looking at the IRC log, last time somebody ran into this they were able to get around it with a "make install" of Rakudo. | 13:52 | ||
| sECuRE | let’s see if it works | ||
| indeed, it did. thanks! | |||
| jnthn | What platform are you building on, out of curiosity? | 13:53 | |
| sECuRE | debian gnu/linux, x86_64 | ||
| jnthn | OK. | 13:54 | |
|
13:56
mssm left
13:57
Trashlord left
|
|||
| jnthn | Ah, I just remembered...if you want to run Rakudo from outside of the build directory, make install is required. I think we used to have a nice check and helpful error message at startup about that... | 13:59 | |
|
13:59
mssm joined
|
|||
| jnthn | ...should try to re-instate it. | 13:59 | |
| sECuRE | ok, just trying a simple grep command, but it says it’s confused by that. what am i doing wrong? p.nnev.de/1211 | 14:03 | |
| colomon | rakudo: my @events = grep { 1 } @events; | 14:04 | |
| p6eval | rakudo 345f63: OUTPUT«Confused at line 11, near "my @events"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
| jnthn | Missing comma. | ||
| (after the closure) | 14:05 | ||
| colomon | rakudo: my @events; @events = grep { 1 }, @events; | ||
| p6eval | rakudo 345f63: ( no output ) | ||
| sECuRE | thanks | ||
| but what about the following? | |||
| rakudo: my @events; @events .= grep { 1 }; | |||
| p6eval | rakudo 345f63: OUTPUT«Confused at line 11, near "@events .="current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
| sECuRE | rakudo: my @events; @events .= grep { 1 },; | ||
| p6eval | rakudo 345f63: OUTPUT«Confused at line 11, near "@events .="current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
| colomon | rakudo: my @events; @events .= grep {1}; | 14:06 | |
| p6eval | rakudo 345f63: OUTPUT«Confused at line 11, near "@events .="current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
| colomon | rakudo: my @events; @events .= grep: {1} | ||
| p6eval | rakudo 345f63: ( no output ) | ||
| colomon | or | ||
| jnthn | std: my @events; @events .= grep { 1 }; # better errors than Rakudo usually | ||
| p6eval | std 30070: OUTPUT«===SORRY!===Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/m3TAoiW43Y line 1:------> my @events; @events .= grep ⏏{ 1 }; # better errors than Rakudo usual expecting any of: | ||
| ..bracke… | |||
| colomon | rakudo: my @events; @events .= grep({1}) | ||
| p6eval | rakudo 345f63: ( no output ) | ||
| sECuRE | colomon: what’s the : syntax about? | 14:07 | |
| colomon | jnthn can probably explain it better than me. I just know it works. | 14:08 | |
| sECuRE | what is the "new XS" in perl6? so, is it already possible to create bindings for a C library, and if so, where can i read about it? | 14:12 | |
| colomon | Parrot has a facility for adding C bindings, which ought to work with Rakudo. I don't know the details, and I don't know where there is documentation. (But hopefully someone out there on the channel does...) | 14:15 | |
| jnthn: help? | 14:20 | ||
|
14:20
iblechbot joined
|
|||
| colomon | Looks like my Int.ACCEPTS patch broke is m2(1), "a", 'literal Int in signature matches value correctly'; | 14:21 | |
| jnthn | oops, sorry...was afk for a moment | 14:25 | |
| sECuRE: When a method call is parsed, you have two ways of specifying the arguments for it: either a colon and then a list, or by putting them in parens. | 14:26 | ||
| You can choose which looks nicest. :-) | |||
| sECuRE | ah, i see | 14:27 | |
| jnthn | sECuRE: There's some early implementation work on C bindings. The one I've hacked on with mberends++ is github.com/jnthn/zavolaj/ | ||
| See for example github.com/jnthn/zavolaj/blob/maste...lclient.p6 - a mysql binding written in Perl 6. | 14:28 | ||
| colomon | jnthn: woah, how'd I miss zavolaj? cool! | ||
| sECuRE | thanks, will have a look at it | ||
| jnthn | colomon: Well, it was written while I was moving country. :-) | ||
| And shown off at the hackathon first. | 14:29 | ||
| I guess maybe the details didn't make it to the channel. :-) | |||
| (Int.ACCEPTS) way odd. :-/ | |||
| colomon: How does it break? | 14:30 | ||
| colomon | Null PMC access in get_bool() | 14:31 | |
| current instr.: 'm2' pc 1208 (EVAL_1:471) | |||
| ... call repeated 1 times | |||
| called from Sub '_block127' pc 840 (EVAL_1:353) | |||
| afk... biab | |||
| jnthn | Can't really guess from that...would need to glance the patch. | 14:32 | |
| sECuRE | jnthn: unfortunately, it does not seem to work atm: p.nnev.de/1212 | 14:34 | |
| jnthn | sECuRE: It's early code and the errors suck. | 14:36 | |
| sECuRE: If it gave good errors | |||
| Then it'd probably want to tell you that it couldn't find the mysqlclient library. | 14:37 | ||
| jnthn makes mental note to improve the errors. | |||
| sECuRE | ah, it needed the -dev-package. sorry ;) | ||
| jnthn | :-) | ||
| bbiab, phone call, other bits | 14:38 | ||
| lisppaste3 | colomon pasted "Int.ACCEPTS patch" at paste.lisp.org/display/96370 | 14:54 | |
|
15:08
jferrero joined,
Psyche^ joined
15:11
Patterner left,
Psyche^ is now known as Patterner
15:39
Chillance joined
15:50
pmurias left
15:55
Trashlord joined
16:00
Exodist left
16:11
envi^home joined
16:21
payload joined
16:26
justatheory joined
16:37
Exodist joined
16:43
rv2733 joined
16:45
Exodist left
|
|||
| pugssvn | r30071 | lwall++ | [STD] read minds of people who forget that ".meth args" is a TTIAR error | 16:46 | |
|
16:49
Exodist joined
16:56
Exodist_ joined,
Exodist left
16:57
Exodist_ left,
iblechbot left,
Exodist joined
16:58
Lorn joined
|
|||
| payload | TTIAR? | 16:58 | |
| TimToady | two terms in a row | 17:00 | |
| the restriction that makes p6 code "self clocking" | 17:01 | ||
| and allows the parser to know whether you meant / as division or regex | 17:02 | ||
|
17:02
wolf2k_ubuntu left
|
|||
| pugssvn | r30072 | lwall++ | [STD] no need to rescan whitespace, just check if line number changed | 17:07 | |
| r30072 | add "previous line missing its semicolon" to the unexpected block checker | |||
| r30072 | s/acomp/arraycomp/ for more clarity | |||
| betterworld | Could $x/$y be made a short form for Rat(:numerator($x), :denominator($y)) in a signature? | 17:15 | |
|
17:18
k23z__ joined,
k23z__ left,
k23z__ joined
17:22
wolverian left
|
|||
| jnthn | colomon: I wonder if we're hitting a .tailcall somewhere in the chain of things... | 17:23 | |
| colomon: Will see if I can fathom it. | 17:24 | ||
|
17:24
wolverian joined
|
|||
| jnthn | betterworld: Not without making it a special case of some kind...I'm not sure it's a common enough need for that though? | 17:24 | |
| betterworld: Note that rather than unpacking it in the signature - cool as that is - you may be better served by doing nude in the method body. | |||
| sub foo(Rat $r) { my ($x, $y) = $r.nude; ... } | 17:25 | ||
| TimToady | signature unpacking can already do it, if there are methods | 17:28 | |
| jnthn | TimToady: The problem isn't the lack of methods, just that numerator and dominator are quite lon | 17:30 | |
| *denominator, long | |||
| TimToady: If they were .nu and .de it'd be...like a bunch of European domains name TLDs. :-) | |||
| It does work today though afaik | |||
| Think the request was just for a shorter way, but I'm not sure it's worth huffmanizing. | 17:31 | ||
| betterworld | well, I just thought that "sub foo($x/$y)" would be cool and nice to read and quite consistent with the unpacking semantics | 17:32 | |
|
17:42
payload left
|
|||
| lue | hiya! | 17:46 | |
| rakudo: my $a=1; say "hello $a" | 17:48 | ||
| p6eval | rakudo 8f0ca9: OUTPUT«hello 1» | ||
| lue | rakudo: my @a=1,2,3; say "hello @a" | 17:49 | |
| p6eval | rakudo 8f0ca9: OUTPUT«hello @a» | ||
| lue | rakudo: my %a=1,2,3,4; say "hello %a" | ||
| p6eval | rakudo 8f0ca9: OUTPUT«hello %a» | ||
| lue | rakudo: my $a=1; say "hello $b" | ||
| p6eval | rakudo 8f0ca9: OUTPUT«Symbol '$b' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
| hejki | my @a=1,2,3; say "hello" ~ @a.join(" "); | 17:50 | |
| rakudo: my @a=1,2,3; say "hello" ~ @a.join(" "); | 17:51 | ||
| p6eval | rakudo 8f0ca9: OUTPUT«hello1 2 3» | ||
| lue | heijki: of course you can do something like that. The problem itself is string interpolation, and I want to try and fix it. | ||
| Just making sure no else did in the meantime :D | |||
| hejki | :P | 17:52 | |
| TimToady | std: my @events; @events .= grep { 1 }; | ||
| p6eval | std 30072: OUTPUT«===SORRY!===Unexpected block in infix position (method call needs colon or parens to take arguments) at /tmp/atj443WWtI line 1:------> my @events; @events .= grep ⏏{ 1 }; expecting any of: bracketed infix infix or | ||
| ..meta-infixFAILED 00:01… | |||
|
17:58
nihiliad joined,
wknight8111 joined
18:02
envi^home left
|
|||
| colomon is back from a failed trip to the pub. | 18:03 | ||
| szbalint | failed? | 18:04 | |
| lue | were there people inside with paper bags over their heads? | 18:05 | |
| jnthn | How does a pub trip fail? | ||
| EOUTOFBEER? | |||
| szbalint feels like in a pub. He has 5 different types of alcohol on his desk atm. | 18:07 | ||
| arnsholt | Not bad, not bad. What kinds of booze? | 18:08 | |
| jnthn | Wow. My kitchen isn't even quite that awesome (yet). :-) | ||
| jnthn only has 4 types to hand at the moment | 18:09 | ||
| colomon | too many st pat's celebrators to have lunch with my family there. it was a complete zoo. | ||
| szbalint | Caol Ila, Zubrowka, homebrew pálinka, stiegl and some red wine | ||
| colomon | pity, because my friends were playing music. | ||
| oooo, Caol Ila!!! | |||
| jnthn | Borovička, Slivovica, Lemon Cello, Beer. | 18:10 | |
| I finished all my vodka and Korean stuff before moving. | |||
| Żubrówka sounds nice. :-) | 18:12 | ||
| lue | colomon: were people wearing paper bags over their heads? It's very important! [ :) ] | ||
| colomon | no, they were wearing giant green leprechaun hats. (among other things, but no paper bags.) | 18:13 | |
| jnthn | Pálinka sounds like Hungarian version of what is called Slivovica in Slovakia. | ||
| lue | good! The end of the world isn't in 10 minutes then. | ||
| colomon | lue: I thought you might be worried about something like that. | ||
| jnthn | colomon: Too bad about the fail. :-( | ||
| lue | well, you went to a PUB. If there were people wearing paper bags, I'd advise you to run to the nearest bulldozer :D | 18:14 | |
| colomon | well. we still had a nice lunch out and then cupcakes from the super-tasty cupcake shop, so not a complete fail. | ||
| szbalint | not too much left :( I'll keep the packaging though. dev.perl.hu/static/IMG_2923.JPG | ||
|
18:14
mberends joined
|
|||
| szbalint | jnthn: yeah, that's about right :) | 18:14 | |
| colomon | and I'll probably be back at the pub playing music myself in about three hours. :) | 18:15 | |
| lue | get yourself some peanuts their. Just in case. :) | ||
| OOPS there | |||
| colomon | jnthn: any luck with Ints and ACCEPTS? | 18:16 | |
| jnthn | szbalint: Wow, nice packacing indeed! | ||
| colomon: No, I have a hunch what it may be though. | |||
| colomon | hunches are good... | 18:17 | |
| jnthn | If you end up doing a tailcall in a call from C (e.g. the one made by the binder), it can happen that an annoying Parrot bug bites, which results in getting a null PMC back rather than the desired result. | ||
| It may be that we're hitting something still written in PIR that tailcalls to prefix:<?> | 18:18 | ||
| I can dig more later today, but right now I have a Need For Nom. | 18:19 | ||
| colomon | huh. and by all means, nom! | 18:20 | |
| rakudo: say Any ~~ 0 | 18:22 | ||
| p6eval | rakudo 8f0ca9: OUTPUT«Use of type object as valuecurrent instr.: 'perl6;Perl6Exception;throw' pc 14489 (src/builtins/Seq.pir:77)» | ||
|
18:23
hercynium joined
18:43
hercynium left
|
|||
| lue | how would one ssh in emacs? TRAMP comes up a lot. | 18:43 | |
|
18:43
zibri left
18:46
zibri joined
18:48
nadim left
|
|||
| sorear | it occurs to me that I don't *actually* have to mess around with the rakudo recompiler | 19:08 | |
| I can write the missing parts of the setting as external modules | |||
| then, when they're completely working, let someone else worry about integration | 19:09 | ||
| who invented Q:PIR? | |||
| jnthn | Q:blah as a general quoting syntax is part of the Perl 6 spec | 19:12 | |
| Q:PIR was done by pmichaud, iirc. | |||
| sorear | pmichaud++ | ||
| colomon | pmichaud++ | ||
| arnsholt | lue: Open one of the Emacs terminal emulators and fire off the OpenSSH client? =) | 19:14 | |
|
19:21
brushie_ joined
19:23
brushie left
|
|||
| spinclad | pir::<opname> is nice too. pmichaud++ | 19:25 | |
| oh and hi all | 19:26 | ||
|
19:28
Trashlord left
|
|||
| colomon | o/ | 19:29 | |
|
19:29
IllvilJa left
19:30
eternaleye left
|
|||
| colomon | rakudo: say 3 !> 5 | 19:30 | |
| p6eval | rakudo 8f0ca9: OUTPUT«1» | ||
|
19:31
eternaleye joined
|
|||
| pugssvn | r30073 | unobe++ | [t/spec] Fudge S06-other/main-eval.t | 19:31 | |
| r30073 | | |||
| r30073 | modified: S06-other/main-eval.t | |||
|
19:32
molaf left,
k23z__ left
19:37
rv2733 left
|
|||
| colomon | rakudo: my $b = 0; say not($b) + 1); say (not $b) + 1 | 19:38 | |
| p6eval | rakudo 8f0ca9: OUTPUT«Confused at line 11, near "); say (no"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
| colomon | rakudo: my $b = 0; say not($b) + 1; say (not $b) + 1 | ||
| p6eval | rakudo 8f0ca9: OUTPUT«02» | ||
| colomon | is (not($b) + 1), ((not $b) + 1), 'not($b) is (not $b)'; | 19:39 | |
| can anyone see a reason that test makes any sense? | |||
| arnsholt | Makes sure that the operator not and the function not do the same, methinks | 19:40 | |
| colomon | actually, I think it's intended to make sure not is higher precedence than +, maybe? | ||
| arnsholt | Doesn't look like it from the description | 19:41 | |
| colomon | If not, then why have the "+ 1"s in there? | ||
| arnsholt | Not entirely sure =) | ||
| colomon | raudo: my $b = 0; say not($b); say (not $b) | 19:42 | |
| rakudo: my $b = 0; say not($b); say (not $b) | 19:44 | ||
| p6eval | rakudo 8f0ca9: OUTPUT«11» | ||
| pugssvn | r30074 | colomon++ | [t/spec] Add some more tests for not. | 19:45 | |
| jnthn | colomon: But that fail reproduced here now. | 19:49 | |
| spinclad | given that rakudo seems to get it wrong ( as not($b) should make not's arglist be just '$b' ), it seems like a good test to have... | ||
| rakudo: my $b = 0; say not($b)+1 | 19:50 | ||
| p6eval | rakudo 8f0ca9: OUTPUT«0» | ||
| colomon | spinclad: are you sure that's not how it should work? | 19:51 | |
| spinclad | (why isn't this parsed 'say( (not($b)) + 1 )' ?) | ||
| colomon | alpha: my $b = 0; say not($b)+1 | 19:52 | |
| p6eval | alpha 30e0ed: OUTPUT«0» | ||
| spinclad | perl6: my $b = 0; say not($b)+1 | ||
| p6eval | elf 30074, pugs: OUTPUT«2» | ||
| ..rakudo 8f0ca9: OUTPUT«0» | |||
| colomon | not is loose_unary, which is much lower precedent than addition. | 19:54 | |
| spinclad | (how again do you ask p6eval for rakudo --output=parse ?) | ||
| colomon | *precedence | 19:55 | |
| spinclad | but ident(args) is always taken as function call... | 19:56 | |
| perl6: my $b = 0; say not $b + 1 | |||
| p6eval | rakudo 8f0ca9: OUTPUT«0» | ||
| ..elf 30074, pugs: OUTPUT«» | |||
| spinclad | (without the ident(args), all are agreed on precedence, as you say) | 19:57 | |
| perl6: my $b = 1; say not $b - 1 | 19:58 | ||
| p6eval | elf 30074, pugs, rakudo 8f0ca9: OUTPUT«1» | ||
| spinclad | perl6: my $b = 1; say not($b)-1 | ||
| p6eval | rakudo 8f0ca9: OUTPUT«1» | ||
| ..elf 30074, pugs: OUTPUT«-1» | |||
| spinclad | (another example) | 19:59 | |
| perl6: my $b = 1; say (not $b)-1 | 20:02 | ||
| p6eval | elf 30074, pugs, rakudo 8f0ca9: OUTPUT«-1» | ||
| spinclad | mildew: my $b = 0; say not($b)+1 | 20:03 | |
| p6eval | mildew: OUTPUT«Can't open perl script "mildew": No such file or directory» | ||
| spinclad | sprixel: my $b = 0; say not($b)+1 | 20:04 | |
| p6eval | sprixel 30074: OUTPUT«Undeclared routine: 'not' used at line 1NYI: term__S_scope_declarator» | ||
| colomon | spinclad: it's okay, I won't take the test out. | ||
| spinclad | sorry, i wasn't trying to pile up witnesses, i was curious how many witnesses we actually have at this point | 20:06 | |
|
20:09
rgrau joined
|
|||
| colomon | :) | 20:09 | |
| not that I give a fig for the number of witnesses. ;) | 20:10 | ||
| but it occurred to me I'd be really cheesed off if sin($b) + 1 was the same as sin($b + 1). | |||
| arnsholt | Indeed =) | ||
| colomon | (I mean, not that I give a fig for number of witnesses in terms of establishing what it should do. It's way cool there are that many implementations out there!) | 20:11 | |
| jnthn | colomon: That would be...epicly confusing. :-) | ||
| colomon | jnthn: yeah, it's not obvious to me how "not" should work, but it's very obvious to me how "sin" should. :) | 20:12 | |
| sigh,. | 20:13 | ||
| I had this great ambition to see how many meta ops I could get implemented before going back to the pub. | |||
| but my conscience said, well, you should get !op working as well as possible first. | |||
| and then my conscience said, and where are the !op tests, anyway? | |||
| and then I looked in not.t and got completely sidetracked. :) | 20:14 | ||
| spinclad | sideyakked | ||
| colomon | so, does anyone remember where the !op tests are? I remember looking at a few of them when I implemented it, but I can't recall where now... | 20:15 | |
| rakudo: say so(1) + 1 | 20:16 | ||
| p6eval | rakudo 8f0ca9: OUTPUT«1» | ||
| colomon | same deal there... | ||
| jnthn | rakudo: say so(1) | 20:17 | |
| p6eval | rakudo 8f0ca9: OUTPUT«1» | ||
| jnthn | rakudo: say (so(1) + 1) | 20:18 | |
| p6eval | rakudo 8f0ca9: OUTPUT«1» | ||
| jnthn | ...huh? | ||
| spinclad | rakudo: say so (1) + 1 | ||
| p6eval | rakudo 8f0ca9: OUTPUT«1» | ||
| colomon | those are all so (1 + 1) | ||
| spinclad | perl6: say so (1) + 1 | ||
| p6eval | rakudo 8f0ca9: OUTPUT«1» | ||
| ..pugs: OUTPUT«*** No such subroutine: "&so" at /tmp/6RHmCn1n0m line 1, column 5 - line 2, column 1» | |||
| ..elf 30074: OUTPUT«Undefined subroutine &GLOBAL::so called at (eval 123) line 3. at ./elf_h line 5881» | |||
| colomon | rakudo: say (so 1) + 1 | ||
| p6eval | rakudo 8f0ca9: OUTPUT«2» | ||
| spinclad | rakudo isn't seeing so(1) as func(args) as i think it ought | 20:19 | |
| colomon | right | 20:20 | |
| any idea how STD.pm sees it? | |||
| afk # taking out the garbage while my spectest runs | |||
| spinclad | std: say so(1) + 1 | ||
| p6eval | std 30074: OUTPUT«ok 00:01 106m» | ||
| spinclad | doesn't say ;) | 20:21 | |
| colomon | right, but people with high magic can get the parse tree from STD... | ||
| spinclad | but again i seem to remember p6eval would pastebin a parsetree given the right xx-yy: invocation | 20:22 | |
| std-parse: say so(1) + 1 | |||
| rakudo-parse: say so(1) + 1 | |||
| which i can't lay recall on | 20:23 | ||
| jnthn gets to the bottom of why colomon++'s Int.ACCEPTS patch doesn't work, and swears loudly at Parrot. | 20:24 | ||
| TimToady | std parses so() as a function call | 20:25 | |
| spinclad | .oO( what, build my own copy? such a thought. ... back in 12 hours o/ ) |
||
| (easily verified at home...) | 20:26 | ||
| colomon | oooo, jnthn++ | 20:28 | |
| dalek | kudo: d631c8f | (David Romano)++ | (9 files): Merge remote branch 'upstream' |
20:30 | |
| kudo: e013cab | (David Romano)++ | t/spectest.data: Merge remote branch 'upstream' |
|||
| kudo: 5d15313 | (David Romano)++ | (3 files): Merge remote branch 'upstream' |
|||
| kudo: 77ee50d | (David Romano)++ | t/spectest.data: Turn on S06-other/main-eval.t remove unneeded comment lines in t/spectest.data |
|||
| jnthn | Epic merge | 20:31 | |
| pugssvn | r30075 | colomon++ | [t/spec] Add needed done_testing. | 20:33 | |
| colomon | Hmmm..... wonder what was up with all those merge branches? My bad somehow? | 20:34 | |
|
20:36
huf joined
20:37
rindolf joined
|
|||
| jnthn | git happens. | 20:38 | |
| rindolf | jnthn: heh. | ||
| jnthn++ | |||
| eat git! | |||
| jnthn | colomon: Think I has a fix. | 20:44 | |
| rindolf | jnthn: I has? | ||
| jnthn | *have :-) | 20:45 | |
| rindolf | jnthn: OK. | ||
| I can haz the fix? | |||
|
20:46
IllvilJa joined
|
|||
| jnthn | oh, so you DO know lolspeak! | 20:46 | |
| :-P | |||
| rindolf | jnthn: I doez. | 20:47 | |
| jnthn | colomon: spectesting. | ||
| colomon: Shall I put the Int part of your patch in too? | |||
| Or will that create bother/conflicts for you? | |||
| colomon | jnthn: I actually completely backed out the Int part locally, so by all means please put it back in. :) | 20:48 | |
| jnthn | colomon: OK, will do provided the test run is OK. | 20:49 | |
| colomon | \o/ | 20:56 | |
|
20:57
tylerni7 joined,
tylerni7 left,
tylerni7 joined
|
|||
| colomon is off to the pub again... | 21:01 | ||
|
21:01
payload joined
|
|||
| jnthn | colomon: enjoy! | 21:02 | |
|
21:10
rv2733 joined
|
|||
| dalek | kudo: 9ffe679 | jonathan++ | src/pmc/perl6multisub.pmc: Tweak to make sure Perl6MultiSub matches a (somewhat dubious) Parrot heuristic. |
21:10 | |
| kudo: 558c638 | jonathan++ | src/ (2 files): Apply patch from colomon++ to move Int.ACCEPTS into the setting. |
|||
|
21:11
hercynium joined
|
|||
| jnthn | std: my Nil $x | 21:13 | |
| p6eval | std 30075: OUTPUT«ok 00:01 107m» | ||
| rindolf | A few TODO tests passed for me here on x86-64. | 21:20 | |
| pugssvn | r30076 | jnthn++ | [t/spec] Re-fudge S02-builtin-data-types/declare.t. | 21:22 | |
| dalek | kudo: 8915a61 | jonathan++ | t/spectest.data: Turn S02-builtin_data_types/declare.t back on. |
21:27 | |
|
21:28
Su-Shee left
21:31
nihiliad left
|
|||
| pugssvn | r30077 | jnthn++ | A couple of todos and skips; we can now run most of what alpha did of unspace.t. | 21:32 | |
| m6locks | hmm make spectest returned FAIL although all the tests were ok | 21:33 | |
| dalek | kudo: a2ceb6f | jonathan++ | t/spectest.data: Turn unspace.t back on. |
||
| jnthn | std: sub baz ($.x) { ... } | 21:37 | |
| p6eval | std 30076: OUTPUT«ok 00:01 108m» | ||
| jnthn | std: sub quuux ($?VERSION) { ... } | 21:39 | |
| p6eval | std 30076: OUTPUT«Potential difficulties: Illegal to use ? twigil in signature at /tmp/PUhtqGp33c line 1:------> sub quuux (⏏$?VERSION) { ... }ok 00:01 106m» | ||
| pugssvn | r30078 | jnthn++ | [t/spec] Toss two wrong tests. | 21:45 | |
|
22:00
vamped joined,
rindolf left
|
|||
| lue | rakudo: my @a=1,2,3; say "@a" # just checking | 22:25 | |
| p6eval | rakudo a2ceb6: OUTPUT«@a» | ||
| diakopter | rakudo: my @a=1,2,3; say "{@a}" | 22:28 | |
| p6eval | rakudo a2ceb6: OUTPUT«1 2 3» | ||
|
22:40
alanm joined
22:41
alanm left
|
|||
| lue | where is string interpolation defined? (guessing String.pir/.pm) | 22:42 | |
| mberends | lue: perlcabal.org/syn/S02.html | 22:46 | |
| lue | oh noes I pressed that for firefox! What have I done! It's gonna die! :( | 22:48 | |
| jnthn | mberends: o/ | 22:51 | |
| mberends | \o jnthn, are you down to only 4 kinds of alcohol? | 22:52 | |
| jnthn | YARLY! | ||
| mberends | :-( sorry to hear that | ||
| jnthn | Well, I depleted my Ukrainian vodka shortly before leaving Slovakia. | ||
| That obviously means I have to go to the Perl workshop there later this year. :-) | 22:53 | ||
| lue | does S02 say it's okay for @ and % vars to interpolate in strings like $ can? | ||
| rakudo: my $a=3; say "hey $a" | 22:54 | ||
| p6eval | rakudo a2ceb6: OUTPUT«hey 3» | ||
| jnthn | lue: iirc, "@foo" will not interpolate but "@foo[]" or "@foo[1,2]" for example would. | ||
| Or in general, only if there's a postcircumfix. | |||
| dalek | kudo: 17766db | jonathan++ | src/Perl6/Actions.pm: Add a missing twigil in signature check from STD. |
||
| kudo: 1d5c09f | jonathan++ | t/spectest.data: Turn S06-signature/errors.t back on. |
|||
| kudo: 7a56f35 | jonathan++ | src/ (3 files): Get $x.$y() idirect method calls working again. |
|||
| kudo: e704ef9 | jonathan++ | src/Perl6/Actions.pm: The illegal twigil detection was a little...over-eager...to complain. Fixed in this patch. |
|||
| mberends | lue: inside "{ ... }" | ||
| jnthn | Or that. :-) | 22:55 | |
| lue | so this should fail: | 22:56 | |
| rakudo: my @a=1,2,3; say "@a" | |||
| p6eval | rakudo a2ceb6: OUTPUT«@a» | ||
| jnthn needs to focus on putting some more S12 bits back over the next day or two. | |||
| lue | and this should win: | ||
| rakudo: my @a=1,2,3; say "@a[1]" | |||
| p6eval | rakudo a2ceb6: OUTPUT«@a[1]» | ||
| jnthn | lue: I think Rakudo is correct on the above one. | ||
| lue: And wrong on that second one. | |||
| (that is, we win at failing, but fail at winning) | 22:57 | ||
| mberends | I think Rakudo is correct in both cases | ||
| jnthn | orly? | ||
| mberends | *I think* | ||
| lue | and what if a nonexistant variable is encountered? | ||
| jnthn | std: say "@a" | ||
| p6eval | std 30078: OUTPUT«ok 00:01 108m» | ||
| jnthn | std: say "@a[]" | ||
| lue | rakudo: say "$b" | ||
| jnthn | std: say "@a[1]" | ||
| p6eval | std 30078: OUTPUT«ok 00:01 106m» | ||
| rakudo a2ceb6: OUTPUT«Symbol '$b' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | |||
| std 30078: OUTPUT«ok 00:01 106m» | |||
| jnthn | std: say "{@a[1]}" | 22:58 | |
| p6eval | std 30078: OUTPUT«ok 00:01 106m» | ||
| jnthn | ...oh. | ||
| std: say @a[1] | |||
| p6eval | std 30078: OUTPUT«ok 00:01 105m» | ||
| jnthn | Um. | ||
| That wasn't quite what I was expecting... | |||
| std: say $a | |||
| p6eval | std 30078: OUTPUT«ok 00:01 105m» | ||
| jnthn was sure STD complained about undeclared lexicals. | 22:59 | ||
| mberends | std: say "hello @a["; | ||
| p6eval | std 30078: OUTPUT«===SORRY!===(Possible runaway string from line 1)Bogus statement at /tmp/TXaQfxALPJ line 1 (EOF):------> say "hello @a[";⏏<EOL> expecting escapeFAILED 00:01 107m» | ||
| mberends | std: say "hello @a[0]"; | ||
| p6eval | std 30078: OUTPUT«ok 00:01 106m» | ||
| lue | If the scalar doesn't exist, shouldn't NOT error out? What If you wrote a string "@result[1] is $x (add four for £)" | ||
| and $x doesn't exist? | |||
| jnthn | lue: Yes, it should error out, imo. | ||
| rakudo: say "lol $x does not exist" | |||
| p6eval | rakudo a2ceb6: OUTPUT«Symbol '$x' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
| jnthn | And it does. | ||
| lue | rakudo: say "lol \$x does exist" | 23:00 | |
| p6eval | rakudo a2ceb6: OUTPUT«Symbol '$x' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)» | ||
| lue | darn :/ | ||
| jnthn | From STD: | 23:02 | |
| Bare scalar variables always interpolate in double-quotish | |||
| strings. Bare array, hash, and subroutine variables may I<never> be | |||
| interpolated. However, any scalar, array, hash or subroutine variable may | |||
| start an interpolation if it is followed by a sequence of one or more bracketed | |||
| dereferencers | |||
| lue: That above issue is a rakudobug. | |||
| er, *From S02 | |||
| If it's bare, interpolation don't dare... | |||
| But an array subscript makes it interpolate | |||
| It's listed near the top of S02 as one of the very few places that the Perl 6 grammar does lookahead beyond one token. | 23:03 | ||
| lue | so @a[3] should interpolate? If that's the case, just tell me where interpolation is defined (in the code) and I'll look at it (no promises on fixing it :D ) | ||
| jnthn | It should | ||
| I think that bit is defined in nqp-rx | |||
| mberends | rakudo: my @a=1,2; say "total = { @a[0]+@a[1] }" | 23:04 | |
| p6eval | rakudo a2ceb6: OUTPUT«total = 3» | ||
| lue | and let me guess nqp-rx is part of svn? | 23:05 | |
| mberends | part of Parrot, which you can get via svn | ||
| lue | s/svn/pugs/ | ||
| mberends | nope | ||
| jnthn | lue: github.com/perl6/nqp-rx/blob/master...rammar.pir | 23:06 | |
| See quote_EXPR | |||
| lue | and now I has to get parrot too!? :/ | ||
| mberends | lue: if you built Rakudo using --gen-parrot, it happened automagically | 23:07 | |
| jnthn | lue: You already have Parrot if you have Rakudo. What you do need is to check out the nqp-rx source from github | ||
| Unless there's a way to do it solely in Rakudo. | 23:08 | ||
| I don't understand that area of the codebase very well. | |||
| lue | Well then. Here we go, as a plumber once said. :) | 23:09 | |
| rakudo: my @a=1,2,3; my @a[3]=5; say @a | 23:12 | ||
| p6eval | rakudo a2ceb6: OUTPUT«Redeclaration of symbol @a at line 11, near "=5; say @a"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
|
23:12
M_o_C left
|
|||
| lue | rakudo: my @a=1,2,3; @a[3]=5; say @a | 23:12 | |
| p6eval | rakudo a2ceb6: OUTPUT«1235» | ||
| lue | rakudo: my @a=1,2,3; @a[3] := @a[1]; say @a | ||
| p6eval | rakudo a2ceb6: OUTPUT«:= binding of variables not yet implementedcurrent instr.: '&die' pc 16859 (src/builtins/Junction.pir:373)» | ||
| lue | alpha: my @a=1,2,3; @a[3] := @a[1]; say @a | 23:13 | |
| p6eval | alpha 30e0ed: OUTPUT«rtype not setin Main (file <unknown>, line <unknown>)» | ||
|
23:14
PacoLinux left
|
|||
| lue & | 23:15 | ||
|
23:21
mssm left
23:30
payload left
23:31
alester joined
23:32
payload joined
|
|||
| vamped | building on that ... | 23:33 | |
| rakudo: my @a=0,1,2; @a[5]=5; @a.perl.say | |||
| p6eval | rakudo e704ef: OUTPUT«[0, 1, 2, Proxy.new(), Proxy.new(), 5]» | ||
|
23:34
Lorn left
|
|||
| vamped | rakudo: my @a=0,1,2; @a[5]=5; @a[3]=3,4; say @a.perl | 23:34 | |
| p6eval | rakudo e704ef: OUTPUT«[0, 1, 2, Seq.new(), Proxy.new(), 5]» | ||
| vamped | rakudo: my @a=0,1,2; @a[5]=5; @a[3]=3,4; say |@a | ||
| p6eval | rakudo e704ef: OUTPUT«Null PMC access in type()current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
|
23:34
mssm joined
23:35
Lorn joined,
lisppaste3 left
|
|||
| vamped | rakudo: my @a=0,1,2; @a[5]=5; @a[3]=3,4; @a[4]=4; say @a' | 23:37 | |
| p6eval | rakudo e704ef: OUTPUT«Confused at line 11, near "say @a'"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
| vamped | rakudo: my @a=0,1,2; @a[5]=5; @a[3]=3,4; @a[4]=4; say @a | 23:38 | |
| p6eval | rakudo e704ef: OUTPUT«0123 445» | ||
| vamped | rakudo: my @a=0,1,2; @a[5]=5; @a[3]=3,4; @a[4]=4; say @a.perl | ||
| p6eval | rakudo e704ef: OUTPUT«[0, 1, 2, Seq.new(), 4, 5]» | ||
|
23:43
snarkyboojum joined
|
|||
| sorear | Is there a nice list anywhere of all the P6 setting bits that are missing in rakudo? | 23:51 | |
| jnthn | Don't think there's even a nasty list of that, let alone a nice one. | 23:53 | |
| The spectests we don't yet attempt give some hints | |||
| But there's stuff in the spec that's neither implemented nor has tests. | |||