»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by wolfe.freenode.net on 30 October 2009. |
|||
jnthn back | 00:00 | ||
00:03
nihiliad left
00:21
nbrown joined
00:23
carlin sets mode: +vv zaslon pointme
00:36
tarski joined
|
|||
tarski | perl6: say '1' . 5; | 00:38 | |
p6eval | elf 29297: Parse error in: /tmp/Mnje3ILWFXpanic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: say '1' . 5;WHERE:/\<-- HERE STD_red/prelude.rb:99:in `panic' STD_red/std.rb:76:in `scan_unitstopper' STD_red/std.rb:224:in `comp_unit' STD_red/std.rb:210:in `_UNIT' | ||
..… | |||
..pugs: ***  Unexpected "." expecting operator, ":" or "," at /tmp/oOtITp5jNV line 1, column 9 | |||
..rakudo 7ef386: Confused at line 2, near ". 5;"in Main (file <unknown>, line <unknown>) | |||
00:38
lestrrat is now known as lest_away
|
|||
colomon | tarski: what were you expecting that to do? | 00:40 | |
rakudo: say '1' ~ 5; | |||
p6eval | rakudo 7ef386: 15 | ||
tarski | i was wondering about how concat works now | ||
colomon | It's ~ now, like my example there. | 00:42 | |
tarski | colomon, i noticed | ||
thowe | Has the Perl 6 spec been finalized in any way, or is it still subject to change? | 00:49 | |
00:49
JMorse joined,
JMorse left
|
|||
colomon | It's not finalized, but the changes are slowing down, I think. | 00:50 | |
It goes back and forth with spec improvements and implementation improvements, with info feeding both ways. | |||
wayland76 | thowe: The main bulk is fairly stable, but there are some areas that are still almost unwritten | ||
Threads, for example | 00:51 | ||
thowe | interesting | 00:52 | |
00:54
nihiliad joined
|
|||
colomon | thowe: as a simple example I was part of, someone doing numerical work turned up a bug in Rat involving adding fractions whose denominators temporarily made a number too large to hold in a 32-bit Int. | 00:56 | |
tarski | are the core operators of perl6 still being modified or have they been finalized? | ||
colomon | Around the time I was adding tests to rat.t that Rat arithmetic failed gracefully in these cases, TimToady was writing that rule into the Specs. | ||
thowe | Rat being "rational"? | ||
colomon | thowe: yes. | ||
ng: say 1/ 60000 + 1 / 60000; | 00:57 | ||
p6eval | ng 98d34f: 3.33333333333333e-05 | ||
colomon | hmmm. | ||
ng: say (1 / 60000 + 1 / 60000).perl | |||
p6eval | ng 98d34f: 1/30000 | ||
colomon | Interesting, I didn't think that worked in ng. | 00:58 | |
that was going to be my example of how it used to fail. | |||
tarski: I'm not quite sure what you mean by "core operators". | 00:59 | ||
tarski: I can tell you that in the perl 6 code I've written, only the tiniest changes have been needed because of changes to the Spec. | 01:00 | ||
tarski: That's over the last eight months or so. | |||
thowe: anyway, 1 / 60000 + 1 / 60000 used to fail hard, with a completely incomprehensible error message. | 01:01 | ||
thowe: As soon as we realized what was going on, I fixed the code and the spec was changed to more or less match the changes I was making. | 01:02 | ||
thowe | Is there something like Ruby's BigInteger? | ||
colomon | thowe: That's in the spec, but not yet implemented in Rakudo. | ||
thowe | I guess it is kind of like a numeric in PostgreSQL. | ||
TimToady | Int is supposed to be big | 01:03 | |
thowe | I'm trying to write something like that in C++ (using GMP) and it's not always easy to decide how certain things should work... | ||
colomon | The basic Int type is unlimited. | ||
thowe | Oh? And accurate? Integer math? | ||
colomon | Yes. | ||
thowe | awesome. | ||
colomon | and Rat is supposed to have an Int numerator, but only a 64-bit denominator. | 01:04 | |
wayland76 | ng: Int $a = 62; Int $b = 8; say $a / $b; | ||
p6eval | ng 98d34f: Confused at line 1, near "Int $a = 6"current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336) | ||
thowe | That's super nice to have. Especially for business programs that probably deal with money. | ||
colomon | right now, though, everything is 32-bits or 64-bits, I believe. | ||
tarski | colomon, i had in mind the basic operators like assignment, arithmetic, logical and relational | 01:05 | |
TimToady | wayland76: you can't start a declaration with a typename | ||
wayland76 | Yeah, I'm re-reading the spec now. I've been away from p6 for a month :) | ||
colomon | tarski: I don't know that TimToady has officially locked them down, but I think they're pretty unlikely to change. | ||
romanhunt | does get_hll_global query the global symbol table for perl6 metadata? | ||
sjohnson | missed ya | 01:06 | |
tarski | colomon, ok thanks | ||
TimToady | tarski: we aim only for a convergent design, not a static design :) | ||
wayland76 | ng: my Int $a = 62; my Int $b = 8; say $a / $b; | 01:08 | |
p6eval | ng 98d34f: 7.75 | ||
wayland76 | ng: my Int $a = 62; my Int $b = 8; say $a div $b; | ||
p6eval | ng 98d34f: 7 | ||
wayland76 | thowe: If by "Integer math", you mean "Integer division", you see you have to use the appropriate operator | ||
tarski | TimToady, oy vey. what about the basic types? are they nailed down, or same thing? | 01:09 | |
01:10
lest_away is now known as lestrrat
|
|||
TimToady | define "basic" | 01:11 | |
we have specced native, low-level types like int32 and complex64 | |||
colomon | thowe: note that if $a and $b are Ints, $a / $b isn't division at all, it's constructing a Rat. | 01:12 | |
TimToady | rakudo: say (1/0).WHAT | ||
p6eval | rakudo 7ef386: Rat() | ||
colomon | TimToady: which is a perfect example of a corner of the spec I'm not sure we're all comfortable with yet. :) | 01:13 | |
TimToady | looks like another name for +Inf to me :) | ||
tarski: I quibble with your word "basic" because the native types are further from "basic" mathematical integers than Int is. :) | 01:14 | ||
they're more like constrained types | |||
tarski | TimToady, for example, hashes, lists, scalars, and now there are static types such as Str and Int, etc. are the features of those types/structures expected to change? | ||
colomon | TimToady: but unless you've tweaked something since the last time I've looked, that''s 1/0 = +Inf is not in the spec yet. :) | 01:15 | |
TimToady | okay, basic in the Perl 5 sense. :) | ||
tarski | TimToady, yes sir, thats what i mean | ||
TimToady | anything that is currently in Perl 5 is likely to be fairly well specced | 01:16 | |
01:17
nbrown_ joined
|
|||
TimToady | generally, the default behavior for a hash or array or such is going to degenerate to the P5ish behavior | 01:18 | |
sjohnson | std: use v5; | ||
TimToady | hashes still have string keys by default, but may be declared to take object keys | ||
p6eval | std 29297: ok 00:01 104m | ||
sjohnson | std: use v5; local $" = "\n"; | ||
p6eval | std 29297: ===SORRY!===Unsupported use of $" variable; in Perl 6 please use .join() method at /tmp/fHPAzZG44u line 1:------> use v5; local $"⏏ = "\n";FAILED 00:01 105m | ||
TimToady | sjohnson: but STD doesn't know what that means, and thinks it's still in p6 | ||
sjohnson | TimToady: ic. is this the "ideal" syntax once it's "factory ready"? | 01:19 | |
TimToady | I have to finish the p5 parser in src/perl6/STD_P5.pm | ||
ideal for what? | |||
sjohnson | ideal as in, correct syntax that will be used when release time comes | ||
and also, the "best way" of the timtoady ways | |||
TimToady | the best way of the timtoady ways doesn't involve regressing to Perl 5 :P | 01:20 | |
sjohnson | haha | ||
01:20
nbrown_ left
|
|||
TimToady | but that's likely to work | 01:21 | |
sjohnson | rakudo: no strict; { $i = 1;} say $i | ||
p6eval | rakudo 7ef386: Confused at line 2, near "say $i"in Main (file <unknown>, line <unknown>) | ||
sjohnson | rakudo: no strict; { $i = 1;}; say $i | ||
TimToady | for some definition of work | ||
p6eval | rakudo 7ef386: Symbol '$i' not predeclared in <anonymous> (/tmp/tMsCjVkqC1:2)in Main (file <unknown>, line <unknown>) | ||
sjohnson | i broketed it!! | ||
TimToady | rakudo doesn't know what "strict" means | ||
sjohnson | i should probably just read the Apocolypses | ||
TimToady | that will give you the original thinking, and some of the [Update] sections might even still be accurate... | 01:22 | |
if you really want to understand history, though, you should read all 361 RFCs | 01:23 | ||
carlin | would be nice if it was 'use lenient;' :-) | 01:24 | |
TimToady | I was thinking "use cheat" yesterday :) | ||
sjohnson | use sjohnson; | ||
( `ー´) | |||
carlin | use less; | 01:25 | |
sjohnson | i'm pretty stoked about a lot of p6's base class array / list methods | 01:27 | |
i wonder if i can think up a good one that might be included prior to major rakudo releases | |||
maybe an in_array type thing PHP has | 01:28 | ||
if it hasn't been done already | |||
maybe grep already does that though | |||
01:29
ihrd joined
01:30
ihrd left,
payload left
|
|||
sjohnson | <-- out of good ideas | 01:30 | |
01:31
stephenl1 joined
|
|||
sjohnson | rakudo: my @list; @list.push(0); say (@list); | 01:31 | |
p6eval | rakudo 7ef386: 0 | ||
01:32
agentzh joined
|
|||
sjohnson | rakudo: for 2 { print "hi" } | 01:32 | |
carlin | *sigh* I didn't achieve my proto goal for today because I spent to long finding a silly bug (that was my fault) and now I have to go to work ... ah well | ||
01:32
jaldhar joined
|
|||
p6eval | rakudo 7ef386: hi | 01:32 | |
carlin | later all | ||
sjohnson | cya | ||
rakudo: my $buf; for 2 { $buf ~= "hi" }; say $buf; | 01:33 | ||
01:33
thowe left
|
|||
p6eval | rakudo 7ef386: hi | 01:33 | |
sjohnson | rakudo: my $buf; for 1 .. 2 { $buf ~= "hi" }; say $buf; | ||
p6eval | rakudo 7ef386: hihi | ||
TimToady | you're look for rakudo: my $buf; for ^2 { $buf ~= "hi" }; say $buf; | 01:34 | |
*looking | |||
rakudo: my $buf; for ^2 { $buf ~= "hi" }; say $buf; | |||
p6eval | rakudo 7ef386: hihi | ||
01:35
nbrown left
|
|||
sjohnson | rakudo: say (^2).WHAT | 01:36 | |
p6eval | rakudo 7ef386: Range() | ||
sjohnson | <--- learning | ||
rakudo: say (1..2).WHAT; | |||
p6eval | rakudo 7ef386: Range() | ||
sjohnson tents fingers | |||
cool feature! | |||
01:37
rgrau left
|
|||
TimToady | note that ^2 is 0..1 rather than 1..2 | 01:38 | |
sjohnson | thanks for the headsup. i couldn't quite figure out a p6 way to print the range vals | ||
TimToady | actually, it's officially 0..^2 | ||
sjohnson | rakudo: say Range().list | ||
p6eval | rakudo 7ef386: invoke() not implemented in class 'Range'in Main (file <unknown>, line <unknown>) | ||
sjohnson | say Range().methods | 01:39 | |
rakudo: say Range().methods | |||
p6eval | rakudo 7ef386: invoke() not implemented in class 'Range'in Main (file <unknown>, line <unknown>) | ||
sjohnson | (´ー` ) | ||
01:40
payload joined
|
|||
romanhunt | rakudo: say Range().HOW | 01:40 | |
p6eval | rakudo 7ef386: invoke() not implemented in class 'Range'in Main (file <unknown>, line <unknown>) | ||
TimToady | omit the () | ||
sjohnson | rakudo: say Range.methods | ||
p6eval | rakudo 7ef386: Method 'methods' not found for invocant of class ''in Main (file src/gen_setting.pm, line 324) | ||
sjohnson | rakudo: say Range.list | ||
TimToady | .^methods | ||
p6eval | rakudo 7ef386:  | ||
sjohnson | rakudo: say Range.^methods | 01:41 | |
p6eval | rakudo 7ef386: maxminmaxiteratorfrom_exclusivepopperlfromofScalarStrto_exclusivebyreverseshifttruepostcircumfix:[ | ||
..]ACCEPTStominordrandtruncatesortsqrtrindexasinintatanhcoshcosecgrepvaluescharsrootsreverseisaucfirstkvsamecasetancoscapitalizefmtbytesflipdoesp5choplcasinhacotanreducecotanhchracotanh:d:e:fc… | |||
sjohnson | (´ー` ) | ||
are they null string terminated? | |||
rakudo: for (Range.^methods) { print "$_ " } | |||
TimToady | say isn't gonna put ' ' between the list elements for you | ||
p6eval | rakudo 7ef386: minmax iterator from_exclusive pop perl from of Scalar Str to_exclusive by reverse shift true postcircumfix:[ ] ACCEPTS to min max flip does atanh cosec exp acosec chars can cosech lcfirst roots map cis comb log atan min acos max bytes chop sin rindex tanh Int values asinh acosech | ||
..abs e… | |||
sjohnson | <--- smart | 01:42 | |
TimToady | now leave out those parens too :) | ||
sjohnson | that is a nice feature no parens | ||
TimToady | rakudo: say ~Range.^methods | ||
p6eval | rakudo 7ef386: ACCEPTS to min max minmax iterator from_exclusive pop perl from of Scalar Str to_exclusive by reverse shift true postcircumfix:[ ] tan substr cos fmt bytes pick evalfile acosec join sinh asinh cosech trim asec chr acotanh floor sech asech rand truncate round sort sqrt rindex asin | ||
..split … | |||
TimToady | stringifying a list puts spaces | 01:43 | |
sjohnson | that squiggle must be some sort of specical char | ||
oh | |||
rakudo: say {Range.^methods} | |||
p6eval | rakudo 7ef386: _block55 | ||
sjohnson | ahh thats what i get for being too createive | ||
rakudo: say ${Range.^methods} | |||
TimToady | add "" | ||
p6eval | rakudo 7ef386: say requires an argument at line 2, near " ${Range.^"in Main (file src/gen_setting.pm, line 2593) | ||
01:43
ihrd joined
|
|||
sjohnson | rakudo: say "{Range.^methods}" | 01:43 | |
p6eval | rakudo 7ef386: minmax iterator from_exclusive pop perl from of Scalar Str to_exclusive by reverse shift true postcircumfix:[ ] ACCEPTS to min max chop tanh split exp match acosh words can cotan atan2 lcfirst uc srand keys map polar cis log substr min max pick first evalfile trans sin Int acosec | ||
..join s… | |||
sjohnson | oh that is what i meant to do | ||
there we go | 01:44 | ||
cute methods | |||
rakudo: say ^5 | |||
p6eval | rakudo 7ef386: 01234 | ||
01:44
tylerni7 joined
|
|||
sjohnson | rakudo: say "{^5}" | 01:44 | |
p6eval | rakudo 7ef386: 0 1 2 3 4 | ||
01:44
ihrd left
|
|||
TimToady | rakudo: say ~^5 | 01:44 | |
p6eval | rakudo 7ef386: 0 1 2 3 4 | 01:45 | |
01:45
r0bby_ is now known as r0bby
|
|||
TimToady | arguably incorrect, though | 01:45 | |
sjohnson | rakudo: say "^5 is {^5]" | ||
p6eval | rakudo 7ef386: Unable to parse block; couldn't find final '}' at line 2, near "]\""in Main (file <unknown>, line <unknown>) | ||
sjohnson | rakudo: say "^5 is {^5}" | ||
p6eval | rakudo 7ef386: ^5 is 0 1 2 3 4 | ||
sjohnson | this language spec seems pretty powerful and robust | ||
TimToady | rakudo: say ~^ "foo" | ||
p6eval | rakudo 7ef386:  | 01:46 | |
sjohnson | i'm really happy for it's near release | ||
its* | |||
TimToady | rakudo doesn't implement the buffer complement yet | ||
sjohnson | is that the :buffer thing? | ||
TimToady | a buffer is like a string, but just an array of integers really | 01:47 | |
like old-fashioned byte strings are really buffers | |||
buffers don't know about unicode | |||
01:48
stephenlb left
|
|||
sjohnson | so it is possible, to do $buf[2] type editing? | 01:48 | |
or would i be doing @buf[2] | |||
kind of like ye olde C char arrays? | 01:49 | ||
TimToady | depends on the name of the variable, but yes, like C strings | ||
except not 0 terminated | |||
sjohnson | is there any sort of XS type thing for Perl 6? or does it depend on its interpretor | 01:50 | |
ie, rakudo, smop, etc may have their own way of doing things... | |||
TimToady | implementation dependent | ||
though anyone that implements "use v5" will probably want to give access to XS | |||
sjohnson | use v1; | ||
classic mode | |||
i had a look at some XS code but it was a bit over my head. do you know the internals quite well? | 01:51 | ||
or did another major perl5 dev kind of take care of that XS system | |||
TimToady | well, there's a "punie" language on parrot that implements Perl 1 | ||
so they should be able to support "use v1" | |||
sjohnson | heh, that's kind of cool | 01:52 | |
was kind of curious to see the differences in the languages | |||
TimToady: did you ever do C++ sometime in your past? | 01:53 | ||
or are you mostly a "C guy" | |||
TimToady | I've done some C++, which is why Perl 5 got objects | 01:54 | |
sjohnson | have you ever met Bjarne or Mr. Ritchie | 01:55 | |
? | |||
jimi_hendrix | TimToady, you wrote perl6's spec? | ||
sjohnson | i believe he helped serve as an "editor" with probably his own ideas as well | 01:56 | |
01:56
cottoo joined
|
|||
sjohnson | compiled from various suggestion papers submitted to him | 01:56 | |
01:56
cotto left
|
|||
jimi_hendrix | ah | 01:56 | |
wayland76 | Maybe arbiter might be better | ||
TimToady | a lot of people have participated in the design, but I'm where the buck stops | ||
sjohnson | heheh | 01:57 | |
jimi_hendrix | TimToady, hehe | ||
sjohnson | all bribes should thus be directed to him | ||
TimToady | .oO(if only that implied that some bucks would stop here too... :) |
||
wayland76 | Any fool can change the spec, but TimToady has the final word. Sometimes there are arguments that convince him that he's wrong, though, so it's not as bad as it might sound. We *asked* him to make the final decisions | ||
diakopter | see perlcabal.org/syn/ (Apocalypses first, then the Exegeses, then the Synopses) | ||
jimi_hendrix | TimToady, btw, THANK YOU FOR OBJECTS! i hated the hacky perl OO in perl5 | ||
diakopter | ... he was referring to perl5 when he said it got objects | 01:58 | |
TimToady | yes, well, rule 2 and all that... | ||
jimi_hendrix | i feel lost | ||
jimi_hendrix goes back to sleep | |||
TimToady | Rule 1: Larry is always right. Rule 2: When Larry changes his mind, he's still right. :) | 01:59 | |
wayland76 | hugme: hug cotto's computer | 02:00 | |
hugme hugs cotto's | |||
wayland76 | Interesting :) | ||
jimi_hendrix | TimToady, hehe | ||
the star language quote is my favorite :) | |||
(the rules about hubris and laziness are up there too) | |||
02:02
nbrown joined
|
|||
TimToady | so, basically, apply Rule 1 to Perl 5 and Rule 2 to Perl 6. :) | 02:02 | |
jimi_hendrix | xD | 02:03 | |
* | |||
sjohnson | im still trying to figure out exactly what those 3 values mean | ||
jimi_hendrix | does vim have perl6 highlights yet? | 02:04 | |
sjohnson | kobesearch.cpan.org/htdocs/Syntax-H...anges.html | 02:06 | |
diakopter | no.. | 02:07 | |
sjohnson | syn off | ||
diakopter | (that's not the place to find perl6.vim) | ||
TimToady | github.com/petdance/vim-perl maybe | 02:08 | |
wayland76 | Googling << "star language" "larry wall" >> doesn't come up with any useful hits | ||
diakopter | github.com/petdance/vim-perl/blob/m.../perl6.vim seems fairly up-to-date, yeah | 02:09 | |
TimToady | the * language is actually from GEB, iirc | ||
dinner & | |||
02:09
vamped joined
|
|||
diakopter | Sternensprache | 02:10 | |
jimi_hendrix | TimToady, oh really? a friend told me it was Wall's | ||
wayland76 | Ah, ok. I'm currently reading GEB, so I'll come across it if I haven't | ||
diakopter | zvezdnyj jazyk | ||
jimi_hendrix | GEB = ? | ||
02:10
hcchien_ is now known as hcchien
|
|||
diakopter | en.wikipedia.org/wiki/G%C3%B6del,_Escher,_Bach | 02:11 | |
sjohnson | jimi_hendrix: TimToady is Larry Wall | ||
wayland76 | Does Sternensprache mean what I think it means? | ||
sjohnson | .. maybe i misread you | 02:12 | |
jimi_hendrix | i am lost | ||
sjohnson | sounds like german for sore throat | ||
wayland76 | sjohnson: Well, I thought stern = rear, and sprache = speak | ||
jimi_hendrix | lol | ||
sjohnson | i also know absolutely no german, so don't quite me on anything | 02:13 | |
vamped | stern = star ? | ||
02:13
hercynium left
|
|||
wayland76 | Ah, that would make sense :) | 02:13 | |
vamped | I've a question for TimToady | ||
wayland76 | jimi_hendrix: Are you found now? | ||
vamped | TimToady: I am wondering if you are active still in P5 development, or if you're letting "the P5 camp" take over the language. | 02:14 | |
jimi_hendrix | wayland76, i am still looking for my cerebellum after my head exploded, give me a minute | 02:15 | |
well sleep will help clear my brain... | 02:16 | ||
and if TimToady is larry wall, then you are my favorite programmer | |||
night all | |||
wayland76 | 'night | ||
vamped | afk - will look back later. | 02:20 | |
02:31
Wolfman2000 joined
02:35
romanhunt left
02:44
crythias joined,
ihrd1 joined
02:45
ShaneC left
02:51
envi^office joined
02:56
aubreyja_ joined
02:59
tarski left
03:01
JimmyZ joined
03:04
cottoo left
03:05
orafu left,
orafu joined
03:30
yahooooo left,
aubreyja_ left,
yahooooo joined
03:36
justatheory left
|
|||
sjohnson | perl6: say 3; | 03:37 | |
p6eval | elf 29297, pugs, rakudo 7ef386: 3 | ||
03:40
zamolxes left,
zamolxes joined
03:45
synth left
|
|||
sjohnson | test | 03:49 | |
03:51
cdarroch left
03:53
synth joined
03:56
meppl left
|
|||
colomon | shouldn't day 9 of the Advent calendar have gone live by now? | 03:56 | |
PerlJam | @seen masak | 03:57 | |
lambdabot | Unknown command, try @list | ||
PerlJam | seen masak | ||
sjohnson | im surprised that isn't in there! | ||
colomon | I'm going to publish what he's got, it looks fine to me. | ||
PerlJam | I'd wait | 03:58 | |
He'll be up in a couple of hours | |||
colomon | he had it scheduled to up at midnight UTC, not sure why it didn't. | ||
PerlJam | hmm. | 03:59 | |
Well, go ahead an publish it then I guess | 04:00 | ||
colomon | Already did before you said "I'd wait." :) | ||
zaslon | lolperl6adventhazblogged! perl6advent++ 'Day 9: Having beautiful arguments (and parameters)': perl6advent.wordpress.com/2009/12/0...arameters/ | ||
colomon | I've just backlogged, I'm pretty sure he did intend it to go up. | ||
It's a lovely post, at any rate. | 04:01 | ||
04:05
synth left
04:06
stephenl1 left
|
|||
colomon should be in bed, but is listening to Ron Hynes and trying to get a few more passing tests for ng instead. | 04:13 | ||
Wolfman2000 just finished reading the day 9 post. Definitely expands on what I did...I appreciate it. | 04:18 | ||
04:19
colomon left
|
|||
pugs_svn | r29298 | colomon++ | [t/spec] Change "list reverse" to just "reverse". Not sure what the list was supposed to be doing there, but it was confusing ng, and all the tests worked with it. | 04:24 | |
dalek | kudo/ng: ff5edcf | (Solomon Foster)++ | t/spectest.data: Turn on S32-list/reverse.t. |
04:26 | |
diakopter | <sigh /> my C# nfa engine made the mono JIT segfault | 04:30 | |
oh, and made the mono C# compiler produce invalid IL | 04:31 | ||
04:32
colomon joined
|
|||
dalek | kudo/ng: 5bc904a | (Solomon Foster)++ | src/core/Any-list.pm: proto and slurpy sub versions of reverse. |
04:32 | |
pugs_svn | r29299 | colomon++ | [t/spec] Fudge for ng. | 04:42 | |
04:44
gfx joined
|
|||
dalek | kudo/ng: 7796544 | (Solomon Foster)++ | (2 files): Add proto for join. |
04:44 | |
04:59
lestrrat is now known as lest_away
05:04
lest_away is now known as lestrrat
05:10
xomas_ left
05:15
colomon left
05:38
orafu left
05:39
orafu joined,
nihiliad left
05:46
vamped left
05:57
cotto joined
06:08
crythias left
06:12
am0c joined
06:14
FCO left
06:16
gfx left,
masak joined
|
|||
masak | good actual morning, #perl6! \o/ | 06:16 | |
PerlJam | masak: guten Nacht (hopefully I got that right :) | 06:17 | |
masak | PerlJam: I think you did, but I'm not German. :P | 06:18 | |
PerlJam: moritz_ my IRC twin, is. | |||
PerlJam | I know. | ||
I'm just trying to not be so American :) | 06:19 | ||
masak | oh. :) | ||
well done, in that case. :) | |||
PerlJam | anyway, it's 12:19 here | ||
masak | PerlJam: 晚安! | ||
PerlJam | and what ever that means right back at you :) | 06:21 | |
masak | :) | ||
(it means 'guten Nacht'.) | |||
PerlJam | masak: hey, any ideas why your post didn't er ... post when it was supposed to? | 06:23 | |
colomon had to manually kick it into being. | |||
masak | colomon++ | ||
PerlJam: no idea, except that I had a slight glitch with auto-posting last time as well. | |||
I blame software. | 06:24 | ||
PerlJam | Usually it's humans that cause the problems though. | ||
masak | nod. | ||
perhaps I missed a step somewhere. | 06:25 | ||
wayland76 | PerlJam: when you see Masak, write "Gøøð Mørn" | 06:27 | |
masak | :D | 06:28 | |
PerlJam | Awesome presentation title: A fictitious domain/distributed Lagrange multiplier method for the particulate flow of Oldroyd-B fluids | ||
wayland76 | (sorry, that was supposed to be a joke) | ||
PerlJam makes a note to miss that particular talk | |||
masak | wayland76: it was funny. :) | ||
wayland76 | My Dad's thesis had something about pseudopotentials in it | ||
My sister joked that he had a lot of pseudo-potential, but it didn't pan out :) | 06:29 | ||
PerlJam wonders if he has any finnish saved away somewhere | 06:32 | ||
A long time ago, it seemed there were many more Finns on IRC than today. I used to ask them how to say phrases and save them in a file for later use. | 06:33 | ||
haluan nuolla seksikk�it� varpaitasi | 06:34 | ||
That means "I want to lick your sexy toes" if what I have here is accurate :) | |||
diakopter | masak: you woke up! | 06:36 | |
masak | diakopter: I know! | ||
diakopter: and you know what? I feel rested! | |||
PerlJam: that sounds about right. | |||
PerlJam: two characters came out as encoding trouble, though. | 06:37 | ||
PerlJam | anyway, it is *Way* past my bed time, so good night all. See you in a few hours :) | 06:40 | |
PerlJam .zZ & | |||
wayland76 | 'night | ||
diakopter | masak: I broke mono | ||
masak | :/ | 06:41 | |
diakopter | :) | ||
masak | wayland76: 'night! | ||
colomon: "1/0 = +Inf isn't in the spec *yet*". you sound like it should ever be. | 06:42 | ||
am0c | (test) | 06:44 | |
wayland76 | masak: Sorry, I was replying to PerlJam. it's about 6pm here :) | 06:49 | |
masak | oh, right. | 06:50 | |
wayland76 | I've finally gotten the hang of this "Morning = Americans, Evening = Europeans, 3-5pm = no one here but us Australians" :) | ||
masak | heh. :) | 06:51 | |
here, it's "Afternoon = pmichaud, Night = jnthn, Morning = mberends" :) | |||
07:01
kaare joined
|
|||
JimmyZ | ALL day = masak? | 07:02 | |
07:02
kaare is now known as Guest76737
|
|||
masak | JimmyZ: during the past week, yes. not so anymore. | 07:02 | |
JimmyZ | ;) | 07:03 | |
07:04
brrant joined
07:26
hicx174 left
07:30
snearch_ joined
|
|||
moritz_ | re | 07:31 | |
07:32
Lorn left
|
|||
masak | good morning, moritz_. | 07:33 | |
07:37
hicx174 joined
07:41
ihrd1 left
07:51
Lorn joined,
brrant left
07:52
elkng joined
07:58
elkng_ joined,
elkng_ left
08:00
allbery_b left,
obra left,
Baggio_ joined
|
|||
mdxi | and a very late (and crazy, in a good way) night for me on the east coast of NA. zzzzz | 08:01 | |
08:02
Baggio_ left
08:03
allbery_b joined
08:17
elkng left,
ashizawa left
08:26
iblechbot joined
|
|||
masak | www.nntp.perl.org/group/perl.ponie....sg487.html | 08:33 | |
this was three years ago, and then some. | |||
I'm curious about the phrase "When it [Ponie] had good momentum and sponsored developers, it needed a number of Parrot features that weren't yet available." | 08:34 | ||
in the three years since, how do we stand with those Parrot features? | |||
mathw | I always felt that Ponie could probably be taken up again one day | 08:35 | |
08:35
cotto left
|
|||
mathw | By somebody smarter than me, which is going to be the problem throughout | 08:35 | |
moritz_ | I think it's not primarily about smartness | 08:36 | |
masak | agree. | ||
moritz_ | but about knowing the Perl 5 and Parrot internals well enough | ||
masak | also, having an astounding supply of long-term tuits. | ||
moritz_ | ng: say 0.WHAT | 08:37 | |
p6eval | ng 779654: Int() | ||
moritz_ | ng: say abs(0).WHAT | ||
p6eval | ng 779654: Int() | ||
masak | ng: say 'so'.WHAT | ||
p6eval | ng 779654: Str() | ||
mathw | Tuits are the biggest problem | ||
masak | mathw: yeah. it's a big difference from a limited project like the Advent Calendar. | 08:38 | |
mathw: in fact, Pugs got started by first being limited to a subset of Perl 6. | |||
probably wouldn't have at that time otherwise. | 08:39 | ||
mathw | Well the Advent Calendar is easy | ||
We're mostly just playing off the knowledge we already have | |||
We can be comprehensive because there are so many of us | 08:40 | ||
08:40
Baggio_ joined
|
|||
masak | mathw: yes, but look at the energy put into it. in kW or whatever. | 08:40 | |
mathw: it's currently the most active project in Perl 6 land, more so even than Rakudo. | 08:41 | ||
mathw | Also, the Advent Calendar is the result of many tuits spent over a long period of time, I suppose | ||
In that we have to acquire that knowledge | |||
pugs_svn | r29300 | moritz++ | [t/spec] use smart match for type checking in abs.t, comparing $thing.WHAT is a bit too strict | ||
mathw | And we've all studied things in order to do that | ||
moritz_ | .o( kW is power, not energy :-) | ||
masak | moritz_: oops. thanks. | ||
look at the power put into it. | |||
mathw wonders what @ryanmaple doesn't like about Perl 6 | 08:42 | ||
masak | mathw: also, it's odd that he thinks he *has* to learn it anyway, or 'burn in Perl hell'. | 08:44 | |
moritz_ | people are weird. | 08:45 | |
masak | but they're better than the alternatives. :P | ||
masak resolves to read the Moose test suite for Christmas | 08:47 | ||
mathw | He probably thinks Perl 5's going to drift away | 08:48 | |
Which is clearly not going to happen | |||
At least not without something like Ponie | |||
Because projects can't just transition wholesale onto Perl 6 | |||
masak | no. | ||
mathw | I hope what Perl 6 will inspire is new projects to choose it over other languages | ||
A goal of mine is to see good GObject library bindings, and see if we can get people writing Linux desktop things in Perl 6 | 08:49 | ||
I think it'd be a great language for sticking UIs together with | |||
Even if you push your serious calculation stuff into libraries | |||
If you write them in Vala, and we've got GObject Introspection bindings generators for Perl 6, it'd be trivial to call them | 08:50 | ||
I don't seem to be able to envisage any good situation for anything at all that doesn't involve multiple languages. I guess some people wouldn't like that. | |||
08:52
farkerd joined
09:02
JimmyZ left
09:08
farkerd is now known as farkered_
|
|||
masak | here's the thread that announced Pugs. groups.google.com/group/perl.perl6....b3c2?pli=1 | 09:08 | |
it bears an interesting resemblance with Linus' announcement of Linux. "just a hobby, won't be big and professional like gnu" | 09:09 | ||
moritz_ | well, it didn't stay side-effect free for long :-) | ||
masak | exactly. | ||
and Linux didn't stay just a hobby for long. | |||
09:09
farkered_ is now known as farkerd
|
|||
mathw approves of today's advent post | 09:10 | ||
masak | \o/ | 09:11 | |
mathw | where clauses are wonderful things | 09:12 | |
masak | I didn't describe them; only used them. | 09:13 | |
it felt like any description of them would only complicate things. :P | |||
09:16
farkerd left
|
|||
Tene | *sigh* | 09:17 | |
Another night without getting anything done. | |||
I hate these early-morning classes. they take everything out of me for the rest of the day. | 09:18 | ||
Goodnight all. | |||
masak | hugme: hug Tene | ||
hugme hugs Tene | |||
masak | Tene: 'night! | ||
09:19
c9s_ joined
|
|||
moritz_ | ng: sub increase_by_one($n is rw) { ++$n }; increase_by_one(42) | 09:22 | |
p6eval | ng 779654: Cannot assign to readonly valuecurrent instr.: '&infix:<=>' pc 13684 (src/builtins/Junction.pir:124) | ||
mathw | well, go on and fix it then :P | 09:24 | |
09:24
cogno joined
|
|||
mathw is writing tests in C++ and finding it moderately unpleasant | 09:25 | ||
need a regex library... | |||
masak | hm, Andrew Shitov mentioned a regex library in C++. | 09:27 | |
what was its name again? | |||
moritz_ | I think boost comes with a regex library, amongst other things | ||
mathw | yeah | 09:28 | |
we've got libpcre floating around somewhere | |||
unfortunately our build system can't cope with Boost::Regex at the moment, as it only understands Boost header-only libraries | 09:29 | ||
fortunately boost::shared_ptr is header-only | |||
masak | right, boost. moritz_++ | 09:30 | |
mathw | boost is astonishing | ||
it even has a library for named parameter passing | |||
although it's a bit messy | |||
masak | what is boost? a kind of Spring for C++? | ||
mathw | and some of the stuff they do with template metaprogramming is utterly terrifying | 09:31 | |
boost is a collection of C++ libraries | |||
smart pointers, data structures, parsers, programming aids, threading, I/O... | |||
Kind of like, everything you wished was in the standard library, but isn't (yet) | |||
Just a few Boost libraries, correctly applied, can make a massive difference to your code | 09:32 | ||
that's a positive difference of course, as they're correctly applied :) | |||
moritz_ | template metaprogramming can be quite scary | 09:33 | |
mathw | just a tad | ||
moritz_ | I think I've mentioned the linear algebra library "eigen" at times here | ||
mathw | there is one team here who are reputedly using Boost::MPL | ||
09:33
lestrrat is now known as lest_away
|
|||
mathw | I don't even want to *think* about what they're doing with it | 09:33 | |
moritz_ | that library has the most scary expression template system I've ever seen | 09:34 | |
but it allows you to write things like A = B * C + f*D, where A, B, C, D are matrices and f is a scalar | |||
and it evaluates such an exression in a single, vectorized operation | |||
and without creating a temporary | 09:35 | ||
mathw | ... | 09:36 | |
And I bet the error messages when it goes wrong are spectacular | |||
moritz_ | yes | ||
09:37
lest_away is now known as lestrrat,
japhb left
|
|||
moritz_ | it tells me about template parameter mismatches in 5 line long types | 09:37 | |
09:37
japhb joined
09:39
colomon joined
|
|||
mathw | That's about what I'd expect | 09:40 | |
09:41
envi^office left
|
|||
colomon | moritz_: on the abs(0).WHAT thing -- I'm under the impression ng parses that as (0).WHAT.abs. | 09:41 | |
mathw | That's... surprising | 09:43 | |
09:43
pmurias joined
|
|||
colomon | At least, that was the only way I was able to make sense of the messages I was seeing. Maybe there is some other explanation. | 09:44 | |
ng: say abs(4).WHAT | 09:45 | ||
p6eval | ng 779654: sh: ./perl6: No such file or directory | ||
colomon | ng: say abs(4).WHAT | 09:46 | |
p6eval | ng 779654: sh: ./perl6: No such file or directory | ||
09:47
cogno left
|
|||
colomon | ng: say abs(4).WHAT | 09:48 | |
p6eval | ng 779654: Int() | ||
09:48
jl_2 left,
simcop2387 left,
[particle] left,
mj41 left,
brody left,
estrai left,
PZt left
|
|||
colomon | ng: say 4.abs.WHAT | 09:48 | |
p6eval | ng 779654: Num() | ||
colomon | ng: say (abs(4)).WHAT | ||
p6eval | ng 779654: Num() | ||
mathw | ng: my $a = abs(4); say $a.WHAT; | ||
p6eval | ng 779654: Num() | ||
mathw | Well, isn't that interesting | ||
colomon | abs is an operator, you see.... | 09:49 | |
09:50
flip214 joined
|
|||
flip214 | Hello everybody! | 09:50 | |
Clap your hands! | |||
It's feeling good ... | |||
and so on and so on, keep working, thanks | |||
Does anybody have some '/path/to/file'.stat for me? | 09:51 | ||
Or maybe .IO.s, .IO.d or something like that? | |||
masak | flip214: I usually do things like 'file' ~~ :e | ||
09:52
Baggio_ left
09:54
Baggio_ joined
|
|||
mathw | I still don't like that syntax | 09:54 | |
masak | which one? | 09:55 | |
mathw | 'file' ~~ :e | 09:56 | |
masak | there's a fundamental difficulty in the whole strings/files/stats design area. | ||
a pair of opposing forces, if you will. | |||
(1) we want things to be easy to write | |||
(2) we want OO-y and type-wise purity | |||
mathw | 'file'.IO.e is no harder to write | 09:57 | |
masak | I think "'file' ~~ :e" wins on (1), but fails on (2). | ||
even "'file'.IO" is doubtful, because it claims that Str needs to know about statbufs. | 09:58 | ||
flip214 | I thought "...".IO.e to be both 1 and 2 | ||
No ... but there's a way to get a statbuf from a string | |||
mathw | No, it claims that Str needs to know how to turn itself into a filename | ||
flip214 | likewise from a handle | ||
masak | it's certainly more (2) than "'file' ~~ :e" | ||
mathw | which then knows about stat | ||
flip214 | Well, I read the bit about pathname quoting p{} ... | 09:59 | |
masak | even Str knowing how to turn itself into a filename feels less-than-pure to me. | ||
flip214 | and while I can understand it (at least for windows users), it feels a bit wrong .... | ||
moritz_ | actually windows has an api for accessing file names as text strings | 10:00 | |
flip214 | at least if it's more than a "quoting without escape" | ||
mathw | masak: yeah, I'm not entirely sure that's good either | ||
moritz_ | as opposed to unix | ||
masak | flip214: it's an idea with merit, but one of those things that p6l tends to discuss until the idea is destroyed. :/ | ||
moritz_ | in which file names are just buffers | ||
flip214 | that's another thing I've been thinking about ... | 10:01 | |
10:01
jl_2 joined,
simcop2387 joined,
[particle] joined,
mj41 joined,
brody joined,
PZt joined,
estrai joined
|
|||
flip214 | the *@ARGV should perhaps be a Buf type, as we can only guess its encoding | 10:01 | |
masak | flip214: did you mean @*ARGV? is there still such a variable? | ||
flip214 | I don't know how a Str is stored internally, but if it's something else than Buf+encoding information (say, autoconvert to utf8) I wouldn't be happy | ||
yes, sorry, just quick typing | 10:02 | ||
because if a user enters a string on the commandline, and this has to be converted to something else, only to be converted back to be used in an open() call, that's (at least IMO) inacceptable | |||
moritz_ | flip214: you're not supposed to care about how a Str is stored internally | ||
but you're right that there should be a way to access the Buf nature of @*ARGS | 10:03 | ||
10:03
estrai left,
jl_2 left,
[particle] left,
brody left,
PZt left,
mj41 left,
simcop2387 left
|
|||
flip214 | And should Buf have most of the same methods as a Str? RegexMatch, substr, etc? | 10:04 | |
10:04
Baggio_ left
|
|||
flip214 | Because if it doesn't, and it has to be converted to do matching, that feels bad, too | 10:04 | |
But maybe I'm worrying too much | |||
Or not enough ... encoding issues are always bad | |||
moritz_ | no, it's a good question | ||
basically we have three classes of types so far: pure text strings (Str), buffers that know their encoding (utf8, utf16le etc.), and "pure" buffers | 10:06 | ||
I think you can argue that utf8 and utf16 should automatically allow all the operations that Str supports | |||
however doing Buf().match(/\w/) doesn't make sense | 10:07 | ||
because \w implies "word character", and a buffer has no ideas about what is a word character and what not | |||
flip214 | maybe that should be a plain ASCII word character? | ||
So there should be an "C" locale Buf encoding, too | 10:08 | ||
10:08
Baggio_ joined
10:10
Baggio_ left
|
|||
flip214 | In parrot there's a compilers/ncigen ... | 10:10 | |
Does someone have experience with that? | |||
masak | phenny: tell jnthn : since you're reading papers on metamodels, you might find this paper on ADTs and OO classes interesting. delivery.acm.org/10.1145/1650000/16...N=11430493 it's quite short, and draws interesting parallels between the two worlds. | 10:11 | |
phenny | masak: I'll pass that on when jnthn is around. | ||
10:11
Baggio_ joined
|
|||
flip214 | masak: I can't read that, it needs an ACM account | 10:12 | |
masak | flip214: :/ | ||
flip214: I'm probably inside a uni wall that I don't know about, then. | 10:13 | ||
moritz_ | rakudo: say 1234567890.flip.comb(/\d**1..3/).join('.').flip | ||
p6eval | rakudo 7ef386: 1.234.567.890 | ||
10:13
Baggio_ left
|
|||
flip214 | But if that's the same, we're ok: www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf | 10:13 | |
masak | flip214: yep. thanks. | 10:14 | |
phenny: tell jnthn better URL from flip214++: www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf | 10:15 | ||
phenny | masak: I'll pass that on when jnthn is around. | ||
flip214 | masak: but if you can easily read such ACM things, then I'll know who to ask next time ;-} | 10:16 | |
10:18
jl_2 joined,
simcop2387 joined,
[particle] joined,
mj41 joined,
brody joined,
PZt joined,
estrai joined
|
|||
flip214 | > flip214 | In parrot there's a compilers/ncigen ... Does someone have experience with that? | 10:20 | |
lambdabot | <no location info>: parse error on input `|' | ||
flip214 | sorry, that should've been quoting ... | ||
mathw | lambdabot-- | 10:21 | |
moritz_ is tempted to hack karma tracking into hugme, and kick lambdabot for good | 10:22 | ||
mathw | yes | ||
please do | |||
moritz_ | sadly ELITTLETUITS atm | ||
10:23
Baggio_ joined
|
|||
sjohnson | hi guys! | 10:24 | |
mathw | ETOOFEWTUITS, surely | ||
or mayb eyou have tuits, but they are small ones | |||
hmm | |||
we could get all philosophical about that | |||
hi sjohnson | |||
sjohnson | hi matt | ||
10:25
agentzh left
|
|||
masak | hi sjohnson! | 10:26 | |
mathw | sjohnson: what's upo | ||
masak | whoz op? | ||
mathw | s/o $$// | ||
10:26
mathw sets mode: +o masak
|
|||
mathw | masak: you | 10:26 | |
masak | :D | ||
"op bit by street slang". | 10:27 | ||
sjohnson | hi masak | ||
mathw: just got home from shooting pool and avoiding a bar fight with my stupid yet awesome pool mentor | 10:28 | ||
... but perl6-related... really stoked for the rakudo release soon | |||
mathw | :D | 10:29 | |
I'm getting ready for the weekly fire alarm test. Fingers in ears... | |||
moritz_ | weekly? | ||
paranoia? | |||
mathw | rules | ||
the alarms must be tested every week | |||
there are people who have to go around and make sure they're all making noises | 10:30 | ||
masak | if I were a fire, I'd go off Monday mornings, when people were expecting a drill... | ||
mathw | ah well the rule is, if the test lasts for more than thirty seconds then we must evacuate | ||
masak | even more fun! | 10:31 | |
10:31
pmurias left
|
|||
mathw | unfortunately once when they changed maintenance people, they managed to be incapable of shutting it off for ten minutes | 10:31 | |
by which time we were all outside in the rain | |||
office management were not impressed | |||
because they hadn't bene able to get their umbrellas, and it ruined their hair | |||
masak | lunch & | 10:32 | |
mathw | LUNCH? | ||
sigh | |||
10:32
ashizawa joined
|
|||
moritz_ | good idea, actually | 10:33 | |
flip214 | enjoy your happy meal | 10:38 | |
10:41
kaare joined,
kaare is now known as Guest40164
10:44
estrai left,
jl_2 left,
[particle] left,
brody left,
PZt left,
mj41 left,
simcop2387 left
10:47
gfx joined
|
|||
sjohnson | hows it going moritz? | 10:48 | |
10:51
snearch_ left
10:54
Guest76737 left
10:56
jl_2 joined,
simcop2387 joined,
[particle] joined,
mj41 joined,
brody joined,
PZt joined,
estrai joined
11:04
quantumEd joined
11:09
estrai left,
jl_2 left,
[particle] left,
brody left,
PZt left,
mj41 left,
simcop2387 left
|
|||
wayland76 | sjohnson: It looks like "elsewhere" is the correct answer to your question :) | 11:09 | |
mathw | hi wayland76 | ||
wayland76 | Hi :) | 11:10 | |
Juerd_ | What does Array.join return if the array contains both Strs and Bufs? | 11:11 | |
sjohnson | night guys :) | 11:17 | |
wayland76 | goodnight | ||
flip214 | rakudo: my @ar= 1,2,3; @ar ==> @ar; | ||
p6eval | rakudo 7ef386: Feed operators are not yet implemented in Rakudo, sorryin sub | 11:18 | |
flip214 | Does anyone know when they will be? | ||
So that the operations can be written in the flowing order, instead of backwards (map,grep, etc) | |||
jnthn | oh hai, #perl6 | 11:19 | |
phenny | jnthn: 10:11Z <masak> tell jnthn : since you're reading papers on metamodels, you might find this paper on ADTs and OO classes interesting. delivery.acm.org/10.1145/1650000/16...N=11430493 it's quite short, and draws interesting parallels between the two worlds. | ||
jnthn: 10:15Z <masak> tell jnthn better URL from flip214++: www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf | |||
jnthn | masak: Tack! | 11:20 | |
flip214 | happy meal | 11:22 | |
11:28
simcop2387 joined
11:29
xomas_ joined
11:36
lestrrat is now known as lest_away
11:39
Baggio_ left
11:40
jferrero joined
11:42
jl_2 joined,
[particle] joined,
mj41 joined,
brody joined,
PZt joined,
estrai joined
11:47
payload left
11:49
envi^home joined
|
|||
moritz_ | şøñđëřżēıċħęŋđőmæîņĭśŧşũþėŗ.de/char.jpg | 11:51 | |
masak | heh. for once, Emacs' URI module fails on that one. :) | 11:53 | |
moritz_ | (sonderzeichendomain could be translated as "special character domain") | ||
masak: so does Regexp::Common, which my IRC logs use | |||
masak | software: we're not there yet. | 11:54 | |
jnthn | My IRC client didn't highlight that. :-/ | 11:56 | |
11:56
Baggio_ joined
|
|||
spinclad | that ... is a _very_ silly name | 11:57 | |
moritz_ | aye. | ||
I like it. | |||
flip214 | Well, konsole lets me open that. | 11:59 | |
masak | kønsøle++ | ||
flip214 | Well, göögle.de does something different from göogle.de | 12:00 | |
spinclad | i count one, two, or three arguably undecorated characters | 12:01 | |
flip214 | interesting ... | ||
spinclad | but the first counts as a negative decoration | 12:02 | |
.u m | 12:06 | ||
phenny | U+006D LATIN SMALL LETTER M (m) | ||
spinclad | and i missed that one entirely | ||
12:08
payload joined
12:10
hanekomu joined
12:14
Astoria` joined
|
|||
Astoria` | Hello | 12:14 | |
masak | hi! | 12:15 | |
Astoria` | Hi masak | ||
12:22
lichtkind joined
12:23
gfldex joined
|
|||
gfldex | is there an easy way to type cast a whole list (untyped) to a typed list? | 12:24 | |
moritz_ | gfldex: not yet. We've been discussion various approaches for that, but haven't settled on one yet | 12:26 | |
12:27
bluescreen joined,
payload left
12:29
lest_away is now known as lestrrat
|
|||
masak | gfldex: one thorny problem with that is what to do when the list is lazily infinite. | 12:30 | |
say, my @a = 5..Inf, "lolnotanint"; and then try to cast that to Array[Int]. | 12:31 | ||
12:31
ihrd joined
|
|||
moritz_ | that would never get to the "lolnotanint", so not a problem :-) | 12:31 | |
but the problem as such persits | |||
12:32
ihrd left
|
|||
moritz_ | *persists | 12:32 | |
maybe it could check the first 1 or 2 elements, and defer the rest of the type checks to the evaluation time | |||
12:36
Baggio_ left
12:39
asdasd joined
|
|||
gfldex | the naive way would be @list_of_strings>>.Num , what doesnt work because it gets out of order and Str does not implement Num | 12:40 | |
but it looks neat :) | |||
12:41
Baggio_ joined
|
|||
moritz_ | it doesn't get out of order | 12:42 | |
the execution is not in order, but the result is | |||
12:42
Astoria` left
|
|||
moritz_ | but in the end it also just returns a List, not a List[Num] | 12:42 | |
12:42
asdasd left
12:43
DJ-Dongdot joined
12:45
DJ-Dongdot left,
DJ-Dongdot joined
12:51
DJ-Dongdot left
|
|||
moritz_ | rakudo: say "45".num | 12:57 | |
p6eval | rakudo 7ef386: Method 'num' not found for invocant of class 'Str'in Main (file src/gen_setting.pm, line 324) | ||
moritz_ | rakudo: say "45".Num | ||
p6eval | rakudo 7ef386: Method 'Num' not found for invocant of class 'Str'in Main (file src/gen_setting.pm, line 324) | ||
moritz_ | rakudo: say <42 23 7>.map(+*).perl | ||
p6eval | rakudo 7ef386: [42, 23, 7] | ||
Tene | rakudo: say <42 7 23>.sort(-*).perl | 12:59 | |
p6eval | rakudo 7ef386: ["42", "23", "7"] | ||
gfldex | map(+*) does not look neat. It looks like ... perl :D | ||
13:00
iblechbot left
|
|||
moritz_ | anyway, >>.Num is supposed to work, in the sense that it converts each item of the list to a number | 13:01 | |
13:01
gfx left
|
|||
masak | gfldex: well, Perl 6 is all about taking line noise to a higher level of abstraction. :) | 13:05 | |
moritz_ | luckily the number of bugs is rougly proportional to the lines of code | 13:07 | |
most independent of the abstraction level of the programming language | |||
which is why expressive languages produce better code :-) | |||
masak | as overgeneralizations go, that's pretty accurate. | 13:11 | |
13:12
lichtkind left
|
|||
moritz_ | insert $appropriate-degeneracy here :-) | 13:12 | |
takadonet | morning all | 13:13 | |
13:15
Baggio_ left
13:16
meppl joined
13:17
KatrinaTheLamia left,
lestrrat is now known as lest_away
13:19
lest_away is now known as lestrrat
13:20
Baggio_ joined
13:21
KatrinaTheLamia joined
|
|||
takadonet | wow the Perl6 advent calendar is really slow... that's a good thing! | 13:21 | |
masak | not so slow here... | 13:23 | |
moritz_ | the admin interface is slow, the blog itself seems fine here | ||
takadonet | it's better now but a few minutes ago could not even load a page | 13:24 | |
masak | .oO( we need to get slashdotted again... ) |
13:26 | |
moritz_ | hey, did anybody submit it to digg? :-) | 13:27 | |
masak didn't | |||
13:27
colomon left
|
|||
masak | also Reddit, Hacker News, Metafilter... | 13:28 | |
moritz_ | I did it with reddit | ||
13:28
Baggio_ left
|
|||
moritz_ | but only to the perl section, not programming | 13:28 | |
masak | 7 days ago... no comments. :/ it must not have gotten very much attention. | 13:29 | |
moritz_ | www.reddit.com/r/programming/commen..._calendar/ | 13:31 | |
somebody else did | |||
masak | \o/ | ||
but that's the Perl calendar, not Perl 6. | 13:32 | ||
moritz_ | oh | ||
moritz_ not really concentrated | |||
takadonet | moritz_: did you post on reddit about the perl 6 advent calendar? | 13:33 | |
13:33
lestrrat is now known as lest_away
|
|||
masak | takadonet: see the above discussion. | 13:34 | |
moritz_ | takadonet: www.reddit.com/r/perl/comments/aa0t..._calendar/ | ||
but not in the programming section | |||
takadonet | thanks | ||
moritz_ | feel free to that | ||
I'll upvote it :-) | |||
takadonet | me too | 13:35 | |
masak | nepotism feels so much nicer when you're on the nephew's side yourself. :) | 13:37 | |
moritz_ | masak: www.perlmonks.org/?node_id=811919 you might compete with Perl 6 there :-) | 13:38 | |
masak | :) | 13:39 | |
I'm at work, so tl;dr. but definitely intersting. | |||
I'm actually slightly dubious as to whether Perl 6 would beat Perl 5 at such a task. | 13:40 | ||
especially since we don't have 'no strict' yet in Rakudo. | |||
moritz_ | got a point there | 13:41 | |
masak | Perl 6: slightly more verbose, and proud of it. :) | 13:42 | |
moritz_ thought that .fmt being shorter than sprintf might help :-) | 13:43 | ||
13:46
Baggio_ joined
13:49
wolverian joined
13:54
payload joined
13:56
pmurias joined
13:57
pmurias_ joined,
pmurias_ left
|
|||
moritz_ | translate.google.com/translate?js=y...&tl=en <- machine-translation of opennet.ru/opennews/art.shtml?num=24567 which talks about our advent calendar | 14:04 | |
PerlJam | good morning (or afternoon for some of you) | 14:06 | |
moritz_ | good localtime | ||
14:06
colomon joined
|
|||
colomon | o/ | 14:08 | |
14:20
payload left
14:30
flip214 left
14:32
payload joined
|
|||
Tene | perlgeek.de/blog-en/perl-6/failing-softly.html -- fail() returns a Failure, not an Exception | 14:35 | |
14:38
lest_away is now known as lestrrat
14:39
iblechbot joined
|
|||
moritz_ | oh | 14:41 | |
I should change that | |||
Tene++ | 14:43 | ||
14:46
tarbo2 joined
14:53
Guest40164 left
|
|||
pmichaud | good morning #perl6 | 14:53 | |
PerlJam | morning pm | 14:54 | |
moritz_ | oh hai | ||
masak | greetings, pmichaud. | 14:55 | |
14:55
payload left
14:56
payload joined
|
|||
colomon | \o | 14:58 | |
15:00
pmurias left
15:01
KyleHa joined
15:10
mberends joined
|
|||
diakopter | mberends: hi | 15:11 | |
mberends | hi diakopter, just finished $work here, now reading some backlogs :) nice Advent posts | 15:13 | |
15:15
PacoLinux joined,
BOOKZ joined
|
|||
masak | welcome to our humble backlogs, mberends. :) | 15:17 | |
15:18
BOOKZ left,
payload left,
BOOKZ joined
|
|||
mberends | diakopter: you uploaded a lot into Sprixel, but is it runnable yet? | 15:18 | |
masak: it's a bind having a backlog habit :P | 15:19 | ||
masak | mberends: there are worse vices than that. :) | ||
15:19
BOOKZ left
|
|||
Tene | Just maintain a healthy ignore list. ;) | 15:20 | |
morning pm | |||
masak | Tene: I usually backlog in skim mode, until my eyes pick up a term or piece of code I'm interested in. | 15:21 | |
mberends | Tene: /ignore is very useful, should do that more | ||
15:22
payload joined
|
|||
masak considers making a joke out of 'did somebody just say something?' | 15:22 | ||
15:22
BOOKZ joined
|
|||
masak | nah. better not. :) | 15:22 | |
Tene | I used to backlog obsessively, but I've learned to stop doing that. | 15:26 | |
masak | rakudo: class A { has $.c; method foo() { bar(:$!c) }; sub bar(:$c!) { say $c } }; A.new(:c("OH HAI")).foo | 15:27 | |
p6eval | rakudo 7ef386: ( no output ) | 15:28 | |
moritz_ | masak: don't even try. p6eval + rakudo + class = timeout | ||
masak | locally, "OH HAI". | ||
moritz_: I thought you disproved that hypothesis. | |||
moritz_ | ng: class A { has $.c; method foo() { bar(:$!c) }; sub bar(:$c!) { say $c } }; A.new(:c("OH HAI")).foo | 15:29 | |
p6eval | ng 779654: Unable to parse blockoid, couldn't find final '}' at line 1current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (src/stage0/Regex-s0.pir:907) | ||
moritz_ | masak: nope, I didn't | ||
masak | moritz_: at least, I'm pretty sure I've seen both false positives and false negatives lately. | ||
ah, there's that Cursor we keep hearing about. :) | |||
and FAILGOAL is for when it can't find matching '}'s, for example... | 15:30 | ||
masak makes mental notes | |||
15:32
BOOKZ left
15:33
BooK joined,
BooK left,
BooK joined
|
|||
frettled | Shouldn't that be «masak makes mental memorandums»? | 15:36 | |
masak | frettled: not as long as memorandum is pluralized -a :P | ||
frettled | d'oh! | ||
masak makes mental mazes | 15:37 | ||
masak dusts off frettled's Latin | |||
frettled | hmm, actually, «memorandums» is permissible in English. | ||
moritz_ | shouldn't the plural be 'memoranda' or something? | ||
frettled | that works, too | ||
moritz_ | (I've never learned Latin, just guessing) | 15:38 | |
sometimes it also feels as if I haven't learned English either :-) | |||
masak | yes, the '-ums' forms are probably quite OK in contemporary English. | ||
PerlJam | frettled: "datums" is permissible in English too, but it means something different than "data" :) | ||
frettled | Latin ≠ English anyway. | ||
masak | PerlJam: no, it doesn't. :P | ||
PerlJam | masak: yes, it does. | ||
masak | data is datums. | ||
moritz_ | "Commander Datums, please come to the bridge immediately" | ||
masak | 哈哈 | 15:39 | |
frettled | According to 1913-Webster, «memorandums» is English, «memoranda» is Latin. | ||
masak | bah, Webster. :) | ||
15:41
BooK_ joined
|
|||
masak | oh -- 'memorandum' comes from 'memorandus', which is a gerundive of 'memorāre', to mention, tell. | 15:41 | |
15:42
BooK_ left
|
|||
masak | in other words, 'memoranda'/'-ums' means 'needsmentionings'. | 15:43 | |
or 'to-be-mentioneds'. | 15:44 | ||
15:45
Psyche^ joined
15:48
cotto joined
|
|||
frettled | So, er, you're welcome for letting me derail you from whatever important stuff you were procrastinating from. | 15:50 | |
15:51
romanhunt joined
|
|||
frettled | But now that carlin surely has fixed zaslon, it's time for me to write a small blog entry again, just to keep the hungry crowds (all three of them) happy. What about? :d | 15:51 | |
moritz_ | blog posts are good. | 15:53 | |
15:54
bpetering joined
15:57
Avi-school joined
16:01
nihiliad joined,
Patterner left,
Psyche^ is now known as Patterner
16:02
Baggio_ left
16:07
hanekomu left
|
|||
romanhunt | is there any particular reason everything in src/classes in written in PIR? Is there anything stopping some of it from being re-written in perl 6 ? | 16:07 | |
16:08
payload left,
mberends left,
payload joined
|
|||
PerlJam | romanhunt: you must be looking at the master branch. In the ng branch, most things are written in Perl 6. | 16:08 | |
moritz_ | some of them are quire low-level | ||
PerlJam | (well, NQP anyway) | ||
moritz_ | for example you can't write class Object in Perl 6 | 16:09 | |
because it would try to inherit from class Any | |||
but that doesn't exist yet | |||
and so on | |||
romanhunt | is there a perl 6 equivalent to get_hll_global ? | 16:10 | |
16:10
payload left
|
|||
romanhunt | I was looking at something simpler than that | 16:10 | |
moritz_ | there might a syntax for looking into namespaces directly | ||
but I don't know if that's implemented | |||
romanhunt | i see | 16:11 | |
16:11
parduncia left,
ssm left,
constant left,
nihiliad left,
yahooooo left,
cognominal left,
pugs_svn left,
Woodi left,
spinclad left,
Infinoid left,
phenny left,
hatseflats left,
dukeleto left,
jiing left,
TimToady left,
cls_bsd left,
jjore_ left,
ingy left,
Tene left,
meppl left,
Gothmog_ left,
jantore_ left,
rjh_ left,
kolibrie left,
krunen left,
jnthn left,
avar left,
nsh left,
elmex left,
sbp left,
felipe left,
bigpresh_ left,
simcop2387 left,
sjohnson left,
revdiablo left,
arnsholt left,
frettled left,
rhr left,
frew left,
meteorswarm left,
PerlJam left,
pjcj left,
ilbot2 left,
jrockway left,
Maddingue left,
gabiruh left,
IRSeekBot left,
lambdabot left,
zostay left,
charsbar left
|
|||
moritz_ | also the notion of "global" is a bit tricky in Perl 6 | 16:11 | |
there are no real globals | |||
builtins notionally live in an outer lexical scope, not in a global scope | 16:12 | ||
romanhunt | I see | ||
16:13
hanekomu joined
16:14
PZt left
|
|||
colomon | romanhunt: One of the various things I've done on the ng branch is translate a few of the low-level routines from PIR to Perl 6. The index method, for instance. | 16:14 | |
16:14
jnthn joined,
Gothmog_ joined,
bigpresh_ joined,
jantore_ joined,
rjh_ joined,
avar joined,
elmex joined,
nsh joined,
sbp joined,
felipe joined,
kolibrie joined,
krunen joined,
meppl joined,
payload joined,
nihiliad joined,
yahooooo joined,
cognominal joined,
ssm joined,
constant joined,
parduncia joined,
Tene joined,
jjore_ joined,
ingy joined,
Woodi joined,
Infinoid joined,
TimToady joined,
cls_bsd joined,
dukeleto joined,
irc.freenode.net sets mode: +oooo jnthn Tene TimToady dukeleto,
pugs_svn joined,
hatseflats joined,
jiing joined,
phenny joined,
spinclad joined,
irc.freenode.net sets mode: +vvo pugs_svn phenny spinclad
|
|||
colomon | It's a good thing, too, because I can sort of make out what PIR is doing, but I'm not competent to write it. | 16:14 | |
16:15
frettled joined,
simcop2387 joined,
meteorswarm joined,
jrockway joined,
frew joined,
zostay joined,
charsbar joined,
rhr joined,
IRSeekBot joined,
Maddingue joined,
arnsholt joined,
gabiruh joined,
pjcj joined,
ilbot2 joined,
irc.freenode.net sets mode: +ovov frettled IRSeekBot arnsholt ilbot2,
revdiablo joined,
sjohnson joined,
lambdabot joined,
PerlJam joined,
irc.freenode.net sets mode: +vo lambdabot PerlJam,
Avi-school left,
pmurias joined
|
|||
frew | in yesterday's advent post Wolfman2000 did sub very_odd(Int $odd where {$odd % 2}) | 16:17 | |
phenny | frew: 26 Nov 00:59Z <Wolfman2000> tell frew it's near that time for me to let go of my donkeyness | ||
frew: 26 Nov 14:43Z <Wolfman2000> tell frew github.com/wolfman2000/Perl-6-Pastebin/ | |||
frew | would where { * % 2 } work as well? | ||
or maybe $_ % 2? | |||
TimToady | either * or {} but not both | 16:18 | |
frew | I thought that might be the case | ||
so where * % 2? | |||
TimToady | is fine | ||
frew | nice | ||
TimToady | std: sub foo ($x where * % 2) {} | 16:19 | |
p6eval | std 29300: ok 00:01 108m | ||
TimToady | where requires an expression of no lower precedence than chaining, or you'd need parens | 16:20 | |
I'm sure a caffeinated brane would find a better way to say that... | 16:21 | ||
pmurias | diakopter: where does sprixel live nowdays? | ||
masak | I don't know why, but I'm unnerved by the `$a where { $a % 2 }` style. i.e. using the actual parameter in the where block. | ||
PerlJam | masak: me too | 16:22 | |
(but only a little) | |||
moritz_ likes it | |||
pmurias | masak: you prefer $a where { $_ % 2)? | ||
masak | pmurias: semantically, yes. syntactically, no. :) | ||
16:23
romanhunt left
|
|||
pmurias | masak: so what's your prefered version of that? | 16:23 | |
masak | but I suppose a case could be made for :($a, $b where { $b > 2 * $a }) | ||
TimToady | hmm, $a where $a ![!%] 2 ought to work | ||
masak | so perhaps I'm just squeamish. | ||
colomon | I'm with moritz_, I like $a where { $a % 2 } -- feels very natural to me. | ||
TimToady | or $a where $a % 2 != 0 | 16:24 | |
moritz_ | std: 1 ![!%] 2 | ||
p6eval | std 29300: ok 00:01 106m | ||
masak | pmurias: my absolute favourite is `$a where { $^n % 2 }`, for some reason. module the actual names. | ||
s/module/modulo/ | |||
TimToady | std: 1 !!% 2 # fail, I think | ||
p6eval | std 29300: ===SORRY!===Ternary !! seems to be missing its ?? at /tmp/XDgh61beW9 line 1:------> 1 ⏏!!% 2 # fail, I think expecting any of: infix stopper standard stopper terminatorFAILED 00:01 106m | ||
masak | I just realized something. Since Perl 5 has finitely many operators, and Perl 6 has aleph-0 of them, Perl 7 will have to have aleph-1 operators... | 16:26 | |
TimToady | get real | ||
masak | too late. | ||
we're already up in the hyperreals. | |||
oh. | 16:27 | ||
masak gets the joke | |||
:D | |||
moritz_ | :-) | 16:28 | |
16:28
perlygatekeeper joined
|
|||
TimToady | א¹ bottles of real beer on the wall... | 16:28 | |
masak | I'm slow today. it took me several seconds to get a cardinality joke. :) | ||
PerlJam | that's because you're not catholic. | 16:29 | |
TimToady | or is that א₁ I want? | ||
masak | PerlJam: that's an unorthodox opinion. | ||
moritz_ | .oO( Q: is there a cardinal higher than the pope? A: sure: two to the pope ) |
16:30 | |
PerlJam | masak: as long as we're kosher | ||
TimToady | yes, but how big is the cantor set? | 16:31 | |
personally, I'd rather have a decantor.. | |||
masak | I think you're preaching to the choir. | ||
PerlJam | masak++ nice | ||
TimToady | that's in france | 16:32 | |
so likely catholic | |||
colomon | wow, ack -w end on rakudo/src was massively ineffective for finding the implementation of end... | 16:35 | |
PerlJam | you mean for arrays? | 16:36 | |
colomon | yes. | ||
colomon is looking for LHF | |||
moritz_ | colomon: ack 'method.*\bend\b' | 16:37 | |
that will exclude all those .end lines from PIR | |||
colomon | moritz_++ # brill! | ||
moritz_ | but fail if the method end was implemented in PIR | ||
colomon | and instantly successful, too. | ||
moritz_ | then you need ack '\bend\b.*:method' | ||
colomon | ah, so the master implementation doesn't even attempt to handle the tricky bits. | 16:38 | |
moritz_ | .end and .elems are allowed to force eager evaluation of the list | ||
colomon | I was more worried about the multi-dimensional cases | 16:39 | |
moritz_ | there is no multi-dimensional case :-) | 16:40 | |
colomon | "Returns the final subscript of the first dimension; for a one-dimensional array this simply the index of the final element. For fixed dimensions this is the declared maximum subscript. For non-fixed dimensions (undeclared or explicitly declared with *), the index of the actual last element is used." | ||
S32-containers end, that is. | 16:41 | ||
moritz_ | you might have missed my smiley at the end :-) | ||
colomon | ah. | ||
16:43
KyleHa left
16:46
bpetering left
16:50
IllvilJa left
|
|||
colomon | ng: my @array = (); say @array.elems | 16:53 | |
p6eval | ng 779654: 1 | ||
colomon | ummm.... | ||
moritz_ | ng: my @array; say @array.elems | ||
colomon | rakudo: my @array = (); say @array.elems | ||
p6eval | ng 779654: 0 | ||
rakudo 7ef386: 0 | |||
moritz_ | ng: my @array = (), (); say @array.elems | ||
p6eval | ng 779654: 1 | ||
masak | :) | ||
colomon | :\ | 16:54 | |
masak | strangely inconsistent. | ||
colomon | ng: my @array; say @array.defined | ||
p6eval | ng 779654: 1 | ||
16:54
justatheory joined
|
|||
colomon | rakudo: my @array; say @array.elems | 16:54 | |
p6eval | rakudo 7ef386: 0 | ||
moritz_ would wait with .end until pmichaud++ has fixed lists and iterators | 16:55 | ||
16:56
pmurias left
|
|||
colomon | but I think .elems is all that is really needed to make it work.... | 16:57 | |
though the damned end.t calls pop and shift and unshift and push, and I think at least half of those aren't implemented yet.... | |||
moritz_ | ng: my @a = < foo bar >; say @a.pop | 16:58 | |
p6eval | ng 779654: Method 'pop' not found for invocant of class 'Array'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
moritz_ | ng: my @a = < foo bar >; say @a.shift | ||
p6eval | ng 779654: Method 'shift' not found for invocant of class 'Array'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
moritz_ | ng: my @a = < foo bar >; say @a.push(3) | ||
p6eval | ng 779654: foobar3 | ||
moritz_ | ng: my @a = < foo bar >; say @a.unshift(3) | ||
p6eval | ng 779654: 3foobar | ||
colomon | well, I'm in the mood for some ng hacking.... | ||
moritz_ wonders why the hard cases are implemented, but not the simple ones | 16:59 | ||
colomon | I seem to recall someone coming up with clever implementations for push and unshift.... | ||
ooo, push and unshift aren't in the core. | 17:00 | ||
moritz_ | and I think there's good reason for that | ||
17:01
payload left,
payload joined,
cdarroch joined
|
|||
colomon | actually, may be wrong about that. | 17:03 | |
core/Array.pm has them. | |||
I think I was looking in list.pm any-list.pm before. | |||
TimToady | ng: my @array = Nil; say @array.elems | 17:07 | |
p6eval | ng 779654: 1 | ||
TimToady | ng: my @array = Nil; say @array[0].WHAT | ||
p6eval | ng 779654: Method 'WHAT' not found for invocant of class 'Undef'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
masak | I'm reading www.t3.org/tangledwebs/07/tw0706.html and feeling more than a twinge of recognition... :) | 17:08 | |
RichiH | should i be able to paste multi-line code into the interactive shell? i want follow some of the examples in the advent calendar & not being able to just c & p annoys me to no end | 17:09 | |
masak | I think I should start twirling my moustache. | ||
RichiH: pro tip: do not use the interactive shell. | |||
RichiH: you'll thank yourself. | |||
pmichaud | how about a form-based perl6 evaluator? | 17:10 | |
colomon | Anyone know the pir:: magic code to take an array and return an Any? (ie pop or shift) | ||
RichiH | masak: i am used to the shell of perl5 sucking, but i had more hopes for perl 6 | 17:11 | |
pmichaud | RichiH: we're not done with it yet. | ||
masak | RichiH: oh, the high hopes are still there. | 17:12 | |
RichiH: what pmichaud said. | |||
RichiH | pmichaud: that was my assumption, which is why i asked :) | ||
masak | RichiH: but seriously, you'll feel better putting things in a file and running the file. | ||
pmichaud | it still might be worthwhile to have a form-based perl6 evaluator :-) | ||
(online, e.g.) | |||
RichiH | masak: i regularly use perl -e to test stuff and run short helper one-liners | 17:13 | |
masak | RichiH: me too. | 17:14 | |
moritz_ | I think most of us do :-) | ||
RichiH | so i have a natural interest in the shell :) | ||
moritz_ | for Perl 5 you might also be interested in Devel::REPL | ||
masak | RichiH: use.perl.org/~masak/journal/38279 | 17:15 | |
colomon | ng: say fail("Hello?"); | ||
p6eval | ng 779654: sh: ./perl6: No such file or directory | ||
masak | it didn't even fail to fail... | 17:16 | |
food & | 17:17 | ||
17:17
masak left
|
|||
colomon | ng: say fail("Hello?"); | 17:17 | |
p6eval | ng 779654: sh: ./perl6: No such file or directory | ||
colomon | grumble | 17:18 | |
moritz_ | ng: say fail("Hello?"); | ||
p6eval | ng 779654: No exception handler and no messagecurrent instr.: '&fail' pc 13834 (src/builtins/Junction.pir:200) | ||
17:18
estrai left,
jl_2 left,
[particle] left,
brody left,
mj41 left
|
|||
colomon | interesting. | 17:18 | |
moritz_ | ng: say sub { fail("Hello?") }.(); | ||
p6eval | ng 779654: Confused at line 1, near "say sub { "current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336) | ||
moritz_ | ng: sub f { fail("Hello?") }; say f() | ||
p6eval | ng 779654: Mu() | ||
RichiH | rakudo: sub test($first = "foo", $second = "bar"){say $foo; say bar}; test (undef, "quux") | ||
colomon | I just tried it at home, and I don't get anything at all, not even a newline. | ||
p6eval | rakudo 7ef386: Symbol '$foo' not predeclared in test (/tmp/qz9QnUPFgM:2)in Main (file <unknown>, line <unknown>) | ||
RichiH | how am i supposed to use the default value for the first argument, in this case? | 17:19 | |
colomon | rakudo: sub test($first = "foo", $second = "bar"){say $foo; say bar}; test (:second("bar")); | ||
moritz_ | rakudo: sub test($first = 'foo', $second = 'bar') { say $first }; test(:second('blubb')) | ||
p6eval | rakudo 7ef386: Symbol '$foo' not predeclared in test (/tmp/xfdK1Dh5AB:2)in Main (file <unknown>, line <unknown>) | ||
rakudo 7ef386: foo | |||
RichiH | erm, i failed to rewrite my example | 17:20 | |
rakudo: sub test($first = "foo", $second = "bar"){say $first; say $second}; test (undef, "quux") | |||
p6eval | rakudo 7ef386: Use of uninitialized value quuxbar | ||
moritz_ | RichiH: first of all there's no space allowed between 'test' and '(" | 17:21 | |
colomon | pmichaud: pir::pop__?? | ||
moritz_ | RichiH: with space it means "calls function test with this list as its only argument" | ||
pmichaud | colomon: pir::pop__PP, probably. | ||
RichiH | ah, makes sense | ||
colomon | PP? | ||
pmichaud | colomon: but you also have to update the $!generated counter. | ||
RichiH | rakudo: sub test($first = "foo", $second = "bar"){say $first; say $second}; test(undef, "quux") | ||
p6eval | rakudo 7ef386: Use of uninitialized valuequux | ||
moritz_ | RichiH: and you can fill the second parameter by name | 17:22 | |
colomon | pmichaud: okay, that's a new one on me. | ||
pmichaud | PP === returns a PMC, takes a PMC argument. | ||
moritz_ | rakudo: sub test($first = "foo", $second = "bar"){say $first; say $second}; test(:second<bar>) | ||
p6eval | rakudo 7ef386: foobar | ||
moritz_ | rakudo: sub test($first = "foo", $second = "bar"){say $first; say $second}; test(:second<other>) | ||
p6eval | rakudo 7ef386: fooother | ||
colomon | I don't see any examples of generated in the src? | ||
RichiH | moritz_: that seems to be very cumbersome | 17:23 | |
moritz_ | RichiH: then it's your job to write the parameters in a better order :-) | ||
17:24
envi^home left
|
|||
moritz_ | how does C++ do this? | 17:25 | |
colomon | moritz_: it doesn't. | ||
RichiH | hmm, there is a way which i can live with | 17:26 | |
colomon | pmichaud: "pop_pmc() not implemented in class 'Array'" (that's without any $!generated) | ||
RichiH | rakudo: sub test($first = "foo", $second = "bar"){say $first; say $second}; $second="quux" test(:$second) | ||
p6eval | rakudo 7ef386: Confused at line 2, near "test(:$sec"in Main (file <unknown>, line <unknown>) | ||
RichiH | rakudo: sub test($first = "foo", $second = "bar"){say $first; say $second}; $second="quux"; test(:$second) | 17:27 | |
p6eval | rakudo 7ef386: Symbol '$second' not predeclared in <anonymous> (/tmp/tRuA1RVj0w:2)in Main (file <unknown>, line <unknown>) | ||
pmichaud | colomon: you have to pop the '$!values' attribute, not the array itself. | ||
RichiH will take this back to his shell | |||
pmichaud | An Array object is a List.... a List has a $!values attribute that is used to hold the (possibly lazy) elements of the list | ||
moritz_ | rakudo: sub test($first = "foo", $second = "bar"){say $first; say $second}; my $second="quux"; test(:$second) | ||
p6eval | rakudo 7ef386: fooquux | 17:28 | |
moritz_ | RichiH: btw you can also /msg p6eval rakudo: say "hi" | ||
17:28
brody joined
|
|||
colomon | pmichaud: woot! That seems to have done it! | 17:30 | |
Huh. The method form works now, but the sub form gets a Null PMC. | 17:34 | ||
our proto sub pop(@array) { @array.pop; } | |||
17:34
facsimile joined
|
|||
colomon | Am I doing something stupid there? | 17:34 | |
17:34
quantumEd left
|
|||
moritz_ | try s/proto/multi/ for now | 17:34 | |
sometimes it works with proto, sometimes it dosn't | 17:35 | ||
I haven't found a pattern in it | |||
17:35
facsimile left
|
|||
colomon | yeah, I've been having pretty good luck with proto | 17:35 | |
17:35
quantumEd joined
|
|||
colomon | Same with multi. | 17:36 | |
moritz_ | colomon: have you looked in cheats/ if there's a PIR version somehere? | 17:37 | |
s/here/where/ | |||
colomon | a PIR version of pop? | ||
17:37
perlygatekeeper left,
pmurias joined
|
|||
moritz_ | aye | 17:37 | |
colomon | ng: my @array = 1...10; say @array.perl; say pop @array | ||
p6eval | ng 779654: (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)Could not find non-existent sub &popcurrent instr.: '_block14' pc 29 (EVAL_1:0) | ||
17:38
perlygatekeeper joined
|
|||
colomon | There is not. | 17:38 | |
(ps ack in TextMate is the nicest thing evar.) | |||
moritz_ | ok. Where' the Null PMC access happening? | ||
17:39
pmurias_ joined
17:40
pmurias_ left,
patspam1 joined
|
|||
lisppaste3 | colomon pasted "Null PMC from pop @array" at paste.lisp.org/display/91820 | 17:40 | |
moritz_ | woo | 17:41 | |
looks as if it does a smart match somewhere | |||
colomon | Hmmm... suppose I could check in my changes. .pop seems to work, and sub pop didn't work before, so no new test failures from the broken one. | 17:42 | |
moritz_ | aye | 17:43 | |
colomon++ | |||
colomon | pushed. | 17:46 | |
17:47
payload left
|
|||
colomon | dear heavens, the master unshift implementation is ugly | 17:47 | |
oh, wait, I wanted to look for shift. | |||
dalek | kudo/ng: e1fcd3c | (Solomon Foster)++ | src/core/Array.pm: Quick version of .pop which seems to work, and a very mysteriously broken pop proto. |
17:48 | |
colomon | I always get those two mixed up. | ||
17:52
mofino joined,
jl_2 joined,
[particle] joined,
mj41 joined,
estrai joined,
romanhunt joined
|
|||
colomon | moritz_: huh. maybe it's proto with an array argument that's the problem? now I'm getting it with end: our proto sub end(@array) { @array.end; } | 17:53 | |
(it eq "Null PMC" blah blah blah) | |||
and it seems like I might have had the same problem with reverse last night as well. | 17:54 | ||
17:55
lambdabot left
|
|||
colomon | ng: sub hello(@a) { say @a.perl }; hello(1...10); | 17:56 | |
pugs_svn | r29301 | pmurias++ | [viv] hack to handle postcircumfix ops | ||
r29301 | [mildew] more porting to current STD | |||
p6eval | ng 779654: Confused at line 1, near "hello(1..."current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336) | ||
17:56
cotto left
|
|||
colomon | ng: sub hello(@a) { say @a.perl; }; my @array = 1...10; hello(@array); | 17:56 | |
p6eval | ng 779654: Null PMC access in get_string()current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1) | ||
colomon | yeah baby, that's the bug. | ||
where's jnthn when you need him? | 17:57 | ||
17:57
IllvilJa joined
18:01
pmurias left
18:03
patspam1 left
|
|||
dalek | kudo/ng: 607a650 | (Solomon Foster)++ | src/core/Array.pm: Quick version of .shift which seems to work, and a very mysteriously broken shift proto. |
18:05 | |
TimToady | ng: say 1...10 | ||
p6eval | ng 779654: 1No applicable candidates found to dispatch to for '&infix:<...>'current instr.: '_block14' pc 29 (EVAL_1:0) | 18:06 | |
frettled | Hmm, should it work with ellipsis instead? | 18:07 | |
That is, should it work with _both_ ellipsis and ...? | 18:08 | ||
colomon | ng: say (1...10).perl | 18:10 | |
p6eval | ng 779654: (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) | ||
colomon | ng: say (1...10) | ||
p6eval | ng 779654: 12345678910 | ||
colomon | ng: say 1...10 | ||
p6eval | ng 779654: 1No applicable candidates found to dispatch to for '&infix:<...>'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
colomon | ??? | 18:11 | |
is that parsing as (say 1)...10 ? | |||
std: say 1...10 | |||
p6eval | std 29300: ok 00:01 106m | ||
18:11
stephenlb joined
|
|||
colomon | std: (say 1)...10 | 18:11 | |
p6eval | std 29300: ok 00:01 104m | 18:12 | |
colomon | std: say (say 1).WHAT | ||
p6eval | std 29300: ok 00:01 104m | ||
colomon | ng: say (say 1).WHAT | ||
p6eval | ng 779654: 1Bool() | ||
18:12
rgrau joined
18:13
jferrero left
18:14
Astoria` joined
18:15
payload joined
18:19
ShaneC joined
|
|||
colomon | TimToady: is that an ng bug or just a weird corner of Perl 6? | 18:22 | |
18:24
japhb left
|
|||
moritz_ | list infix is tighter than list prefix | 18:24 | |
so it's a ng bug | |||
diakopter | .u 20000 | 18:25 | |
phenny | diakopter: Sorry, no results for '20000'. | ||
diakopter | .u \u20000 | ||
phenny | diakopter: Sorry, no results | ||
colomon | moritz_: quite possibly my bug, then. | ||
diakopter | .u "\u20000" | ||
phenny | diakopter: U+0022 U+005C U+0075 U+0032 U+0030 U+0030 U+0030 U+0030 U+0022 | ||
frettled | I think we need a bugfix notation as well. | 18:26 | |
moritz_ | bugfix notation? | ||
frettled | infix, outr | 18:27 | |
infix, outfix, postfix, prefix | |||
and bugfix | |||
moritz_ | finally got it :-) | ||
token infix:sym<...> { <sym> <O('%list_infix')> } # looks right to me | |||
colomon | what about the next line? | ||
the next was in STD.pm, but I wasn't sure how to port it, and it seemed to work with just the list_infix one... | 18:28 | ||
moritz_ | that looks also right, but ng doesn't seem to have the list_prefix prec level | ||
which would also explain the parse failure | |||
18:28
riffraff joined
|
|||
colomon | hmmm.... | 18:28 | |
moritz_ | unless that's supposed to be list_assignment | 18:29 | |
colomon | ...this would be an excellent time for pmichaud or jnthn to wander by... | 18:30 | |
moritz_ | ah yes, S03 lists infix:<=> as list prefix precdence | ||
colomon | STD.pm also has a list_assignment, though. | ||
it's prec<i=> | 18:31 | ||
okay, this is all way over my head. | 18:32 | ||
moritz_ | prec<i=> is item_assignment in ng :-) | 18:34 | |
colomon | It's both in std.pm | 18:35 | |
item and list, I mean. | |||
moritz_ | ng: say 1, 2 Z 3, 4 | 18:36 | |
p6eval | ng 607a65: 12Could not find non-existent sub &infix:<Z>current instr.: '_block14' pc 29 (EVAL_1:0) | ||
colomon | Hmmm, Z is in the ng grammar... | 18:38 | |
moritz_ | but not implemented, it seems | ||
and it's the only other list infix in ng | |||
colomon | ng: sub infix:<Z>(@a, @b) { say @a.perl; say @b.perl; }; say 1, 2 Z 3, 4 | ||
p6eval | ng 607a65: 12Null PMC access in get_string()current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1) | ||
colomon | oh, right. | 18:39 | |
moritz_ | ng: multi sub infix:<Z>(@a, @b) { say @a.perl; say @b.perl; }; say 1, 2 Z 3, 4 | ||
p6eval | ng 607a65: 12Null PMC access in get_string()current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1) | ||
18:39
riffraff left
|
|||
colomon | I really thing @ arguments in subs are just completely broken in ng. | 18:41 | |
moritz_ | ng: multi sub infix:<Z>(*@a, *@b) { say @a.perl; say @b.perl; }; say 1, 2 Z 3, 4 | 18:42 | |
p6eval | ng 607a65: 12(1, 3, 4)Method 'perl' not found for invocant of class 'Undef'current instr.: 'perl6;List;_block7106' pc 257721 (src/gen/core.pir:28409) | ||
colomon has finally stopped listening to Ron Hynes.... | |||
ooo, nice attempt! | 18:43 | ||
18:43
thowe joined
|
|||
colomon | wherefore comes the 12? | 18:44 | |
moritz_ | (say 1, 2) Z ... | 18:45 | |
colomon | then why 1, 3, 4? | 18:53 | |
18:54
literal is now known as Hinrik
|
|||
moritz_ | because *@a gets all the arguments | 18:54 | |
1 is the return value from say | |||
colomon | aha! | ||
moritz_ | and 3, 4 come from the RHS of Z | ||
colomon | moritz_++ | ||
moritz_ | rakudo: (say 4).perl | 18:55 | |
18:55
Hinrik is now known as literal
|
|||
p6eval | rakudo 7ef386: 4 | 18:55 | |
moritz_ | rakudo: say (say 4).perl | ||
p6eval | rakudo 7ef386: 4Bool::True | ||
18:58
literal left,
payload1 joined,
literal joined
18:59
payload left
|
|||
colomon | moritz_: does this suggestion a solution to you? | 19:01 | |
moritz_ | is 'fix the parser' a solution? :-) | 19:04 | |
I think of myself as being good with regexes, but whenever I touch a parser it blows up | 19:06 | ||
colomon | moritz_: well, it's a bit better plan than my plan to beg jnthn and/or pmichaud to fix it... | 19:07 | |
but it could definitely use some more details. | |||
pmichaud | hello | 19:08 | |
TimToady | good timing | ||
or bad... | |||
pmichaud sees his nick highlighted several times in the backscroll.... | |||
PerlJam | colomon: now that you've summoned the pmichaud, get him to fix whatever it is. | ||
What needs fixing anyway? | |||
oh, Z | 19:09 | ||
colomon | PerlJam: most recently, the operator precedence for list infix operators. | ||
moritz_ | TimToady: don't think you'll get away easily :-) I see that S03 lists infix:<=> among "list prefix" precedence, but STD.p has both "list prefix" and "list assignment" | ||
colomon | Also, @ arguments seem to be broken in ng. | ||
pmichaud | infix:<=> is special. | ||
moritz_ | (and ng only has list_assignment, not list_prefix) | 19:10 | |
pmichaud | I suspect STD.pm is correcter here | ||
TimToady | STD is correct on its precedence to the right of =, but I'm less certain it's doing the right thing on the left | 19:14 | |
19:14
SmokeMachine joined
|
|||
wayland76 | ping bots :) | 19:15 | |
TimToady: That reminds me of "Asterix and the Great Divide" :) | 19:16 | ||
TimToady | it should probably reduce the left side at item assignment precedence always, but I suspect it's using the right-hand precedence to reduce the left | ||
it should probably use the 'sub' substitute precedence mechanism that listops use | |||
19:17
TimToady sets mode: +vvvv buubot dalek hugme iblechbot,
TimToady sets mode: +vvv ilbot2 ilogger2 IRSeekBot,
TimToady sets mode: +vvv lisppaste3 p6eval phenny,
TimToady sets mode: +vvv pointme pugs_svn zaslon,
romanhunt left,
supernovus left
|
|||
wayland76 | Does that mean I should ping bots again? | 19:18 | |
TimToady | I won't stop you. | 19:19 | |
19:28
orafu left
|
|||
pmichaud | ng: multi sub infix:<Z>($a, $b) { say $a.perl; say $b.perl; }; say 1,2 Z 3,4; | 19:30 | |
p6eval | ng 607a65: 121(3, 4) | ||
thowe is wondering what he needs to be aware of to handle the UTF-8 databases he has with Perl 6 | |||
pmichaud | looks right to me. | ||
moritz_ | rakudo: say 1, 2 Z 3, 4 | 19:31 | |
p6eval | rakudo 7ef386: 1324 | ||
pmichaud | rakudo is wrong there, then. | ||
moritz_ disagrees with pmichaud | |||
pmichaud | STD appears to parse say 1, 2 Z 3, 4 as (say 1,2) Z 3,4 | 19:32 | |
TimToady | if so, STD is wrong | ||
pmichaud | (if I'm reading the output correctly) | ||
moritz_ | list infix precedence is tighter than list prefix, according to S03 | ||
pmichaud | argument lists only go down to %list_infix precedence, though | ||
STD.pm:3399 | 19:33 | ||
| <EXPR(item %list_infix)> {{ | |||
TimToady | yes, it looks like STD is wrong | ||
pmichaud | ah, then that's why ng is wrong :) | ||
TimToady | not sure why yet | 19:34 | |
pmichaud | well, infix:<Z> is %list_infix, and the EXPR line in arglist says to stop parsing when reaching a %list_infix operator | ||
19:35
japhb joined,
supernovus joined
|
|||
diakopter imagines another operator-precedence-parser layer for list_prefix... | 19:36 | ||
TimToady | yeah, probably lt vs le confusion | ||
pmichaud | what is EXPR(item %list_infix) supposed to mean? | ||
does it mean stop on a %list_infix operator, or stop on any operator that is looser than %list_infix ? | 19:37 | ||
TimToady | currently STD uses le, which probably means that should be %list_prefix instead | ||
pmichaud | so, stop on any operator that is %list_prefix or below | ||
wfm | |||
TimToady | yes | 19:38 | |
tweaked STD.pmc to list_prefix and it parses correctly | 19:39 | ||
pmichaud makes the corresponding tweak to ng's grammar | |||
colomon | \o/ | ||
19:41
tann1 joined
19:44
iblechbot left
|
|||
pmichaud | pushed. | 19:47 | |
dalek | kudo/ng: dc293ee | pmichaud++ | src/Perl6/Grammar.pm: Update precedence of arglist parsing to %list_prefix (to match STD.pm update). |
19:49 | |
moritz_ | ng's spectest is... noisy | 19:53 | |
colomon | pmichaud: It appears slurpy array arguments work in ng, while non-slurpy ones fail. | ||
say 1...10 | 19:54 | ||
12345678910 | |||
\o/ | |||
19:54
SmokeMachine left
|
|||
pugs_svn | r29302 | lwall++ | [STD] off-by-fencepost in limiting precedence inside list prefix, @::('#perl6')>>.++ | 19:54 | |
pmichaud | colomon: example ? | ||
colomon | ng: sub hello(@a) { say @a.perl; }; my @array = 1...10; hello(@array); | ||
p6eval | ng 607a65: Null PMC access in get_string()current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1) | ||
pmichaud | ng: sub hello(@a) { say 'yes'; }; my @array = 1,2,3; hello(@array); | 19:55 | |
p6eval | ng 607a65: Null PMC access in get_string()current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1) | ||
pmichaud | ng: my @array = 1,2,3; say @array ~~ Positional; | ||
p6eval | ng 607a65: Null PMC access in get_string()current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1) | 19:56 | |
pmichaud | *that's* the problem. | ||
colomon | ah. | ||
pmichaud | it doesn't recognize Positional | ||
PerlJam | it's all jnthn's fault! ;) | ||
pmichaud | actually, it's pmichaud's fault | ||
(as usual) | |||
just haven't gotten around to restoring positional roles for array-like objects yet | |||
colomon | Is it a nasty piece of work? I've found a good bit of LHF that could be claimed if that were fixed... | 19:57 | |
PerlJam | .oO(There's a bunch of low hanging fruit just on the other side of this fence...) |
19:58 | |
pmichaud | I'm not sure what the state of roles in general is at the moment | ||
colomon wonders if saying jnthn's name three times in a row would make him appear... | 19:59 | ||
TimToady | phone | 20:00 | |
colomon | perhaps the right question to ask is if there is a quick cheat? | ||
pmichaud | is Positional even defined yet in ng ? | ||
colomon | builtins/Positional.pir | 20:01 | |
tann1 | how close is ng to becoming master? | 20:02 | |
moritz_ | it's still quite a bit away | ||
20:02
payload1 left
|
|||
colomon | ng: my @array = 1,2,3; say @array ~~ Array | 20:04 | |
p6eval | ng 607a65: 1 | ||
moritz_ | ng: my @array = 1,2,3; say @array ~~ Positional | 20:05 | |
p6eval | ng 607a65: Null PMC access in get_string()current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1) | ||
colomon | This would be handy information if there actually were a straightforward call to ~~ Positional in the code... | 20:07 | |
I'm looking at bind.c, and it looks tantalizingly comprehensible, but I still can't quite see what is going on.... | 20:11 | ||
moritz_ | it's not a bind problem, but a type check/roles problem, I think | 20:12 | |
20:18
mariano__ joined
20:19
gabiruh_ joined
|
|||
pmichaud | say Positional.WHAT | 20:19 | |
ng: say Positional.WHAT | |||
20:19
mariano__ left
|
|||
p6eval | ng dc293e: ( no output ) | 20:19 | |
pmichaud | ng: say ~Positional | ||
p6eval | ng dc293e: Null PMC access in get_string()current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1) | ||
pmichaud | rakudo: say ~Positional | ||
p6eval | rakudo 7ef386: Positional() | ||
20:19
mariano__ joined,
gabiruh left
|
|||
pmichaud | the problem is probably that List is not yet defined as "does Positional" | 20:20 | |
20:20
literal_ joined
|
|||
moritz_ | rakudo: say Int ~~ Positional | 20:20 | |
p6eval | rakudo 7ef386: 0 | ||
moritz_ | rakudo: say Array ~~ Positional | 20:21 | |
pmichaud | rakudo: say List ~~ Positional | ||
p6eval | rakudo 7ef386: 1 | ||
20:21
KyleHa joined,
estrai left,
jl_2 left,
[particle] left,
mj41 left
|
|||
pmichaud | ng: say List ~~ Positional | 20:21 | |
p6eval | ng dc293e: Null PMC access in get_string()current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1) | ||
20:21
literal left
|
|||
moritz_ | ng: say Int ~~ Positional | 20:21 | |
p6eval | ng dc293e: Null PMC access in get_string()current instr.: 'perl6;Perl6Role;Str' pc -1 ((unknown file):-1) | ||
pmichaud | the problem is either an imcomplete implementation of Positional or that List doesn't have that role composed into it | ||
or both | |||
*incomplete | 20:22 | ||
moritz_ | right; that allone would explain why Int ~~ Positional dies | ||
20:24
bluescreen left
20:26
jaldhar left
20:30
jaldhar joined
20:32
viklund_ joined,
viklund left
20:33
jl_2 joined,
mj41 joined,
SmokeMachine joined
20:34
[particle] joined
20:35
kwan joined
20:39
payload joined
20:41
kwan left
20:44
_jaldhar joined
20:45
mariano__ left
20:46
pmurias joined
20:52
iblechbot joined
20:56
jaldhar left
21:02
pmurias_ joined
21:04
crythias joined,
romanhunt_ joined,
nihiliad left
|
|||
romanhunt_ | hello all | 21:04 | |
21:04
nihiliad joined
21:05
aindilis joined
|
|||
pmurias_ | romanhunt_: hi | 21:05 | |
21:05
SmokeMachine left
|
|||
moritz_ | hi | 21:05 | |
21:06
lambdabot joined
|
|||
diakopter | pmurias_: to answer your question (re: sprixel), it lives locally for the time being. I'm still tinkering with different VMs/architectures. | 21:07 | |
pmurias_ | what VM are you considering? | ||
* VMs | |||
21:10
pmurias_ left
|
|||
diakopter | pmurias: you still there? | 21:11 | |
still V8 && mono/clr | 21:12 | ||
leaning more toward mono/clr | |||
21:13
pmurias left
|
|||
moritz_ | what happened to your PAST translater for NQP-rx? | 21:13 | |
diakopter | it's still "there", and it passed all the nqp-rx test suite up until the OO/class & Regex stuff.. | 21:14 | |
the same translator/interpreter model will operate much faster in C#... | 21:15 | ||
colomon is salivating at the thought of Perl 6 running on mono / .net... | |||
diakopter | ... but I got ever grossed out at the thought of having to emulate parrot's OO system so that it could support a direct lift-shift/port from nqp-rx | 21:16 | |
just too many peculiarities (not necesarily bad ones) | |||
21:17
jferrero joined
|
|||
diakopter | so now it seems it's angling toward being an nqp-rx implementation itself | 21:17 | |
not a self-hosting one, mind you | 21:18 | ||
(being an interpreter) :) | |||
21:18
dbrock joined
|
|||
romanhunt_ | could someone please tell me what :<is>($arg, $list) syntax means | 21:19 | |
? | |||
as in multi func_name:<is>($arg1, $arg2) | |||
does it verify the argument signature for the multi function? | 21:20 | ||
colomon | where is that from? | ||
diakopter | the regex/nfa engine is now primitive-feature complete... it supports Perl (as opposed to POSIX) semantics on *, +, ?, (and their non-greedy editions), |, char ranges, full unicode, lookahead, lookbehind ... what remains is capturing groups, and I guess character classes? | 21:21 | |
oh, and ^, $ (are done/working) | 21:22 | ||
it's about 20x slower than Perl 5 for success-only paths, but scads faster for paths requiring lots of backtracking | |||
21:23
meppl left
|
|||
diakopter | the engine is definitely optimized for backtracking | 21:23 | |
for very large inputs, it will need a fallback mode for handling unicode (that doesn't presplit the input string), since currently it splits the input string into int32[]) | 21:24 | ||
but only 20x slower than Perl 5 on success paths isn't unbearable, imho | 21:26 | ||
moritz_ | romanhunt_: looks like some kind of adverb, but a bit strange to me | 21:28 | |
diakopter | after capturing groups, I was going to work on the LTM modes. I tried to get to the LTM modes two (and one) days ago, but .. kept finding issues with the primitives implementation. Now I have confidence in it... | 21:29 | |
jnthn/pmurias/masak/pmichaud: you may be interested to learn that I tried an explicit stack (Stack<StateNode>), but storing the Invoker on each StateNode is much more efficient than using a Stack.. | 21:32 | ||
also it will make the LTM mode much simpler to implement | |||
(.Invoker) | |||
21:38
estrai joined
21:41
perlygatekeeper left,
xenoterracide left
21:42
xenoterracide joined
21:45
pmurias joined,
Wolfman2000 left
21:49
am0c left
21:57
romanhunt_ left
22:00
PZt joined
22:05
crythias left
22:06
takadonet left
22:07
hercynium joined
|
|||
sjohnson | afternoon dudes | 22:11 | |
colomon | o/ | 22:12 | |
sjohnson | hi colomon | 22:13 | |
colomon | 'ello | ||
jnthn | colomon: (roles) still working on 'em. | 22:16 | |
diakopter | jnthn: howdy | ||
jnthn | colomon: Didn't quite get to doing does checks properly yet. | ||
Planned to today but ended up fighting a screwed SQL Server installation instead. | |||
diakopter: hi | 22:17 | ||
colomon | jnthn: you've seen the Positional stuff WRT @ arguments in the backlog? | ||
jnthn | colomon: Yeah | ||
colomon: I suspect that's not *quite* working yet. | |||
diakopter: I see you're making nice progress on regexy stuff in .Net. That's cool. | |||
diakopter | whee | 22:18 | |
jnthn | diakopter: I plan to work on object model stuff in .Net | ||
I guess we can then meet in the middle somehow. :-) | |||
diakopter: ng is priority for now though. | |||
diakopter | jnthn: plz plz plz don't try to make Perl 6 types bijective with .NET types...? | ||
jnthn | diakopter: No, I won't. | ||
diakopter | HAPPY | 22:19 | |
jnthn | diakopter: I've already sketched out a bit what I may want. | ||
diakopter | b/c DLR sux0r that way | ||
jnthn | While figuring out metamodel bits overall. | ||
I suspect we'll need changes to the way Rakudo on Parrot handles it all. | |||
(not just for multi backends, just generally anyway) | |||
So I don't expect "emulating all of Parrot" is how it'll wind up. | 22:20 | ||
It's just a bit much to do all of those bits while doing ng too. | |||
My aim is that ClassHOW and RoleHOW and so on will be in nqp. | 22:21 | ||
diakopter | probably what I'll end up with is a simple actor/message/responder system | 22:22 | |
(all dispatchers in nqp code) | |||
jnthn | Yeah...not sure about the dispatchers yet. | 22:23 | |
I strongly suspect the Rakudo ones will stay in c. | 22:24 | ||
*c | |||
wtf...C | |||
:) | |||
anyways, now I've got a fixed sql server...I'll go and do the one hour task I set out to do early afternoon. :-/ | 22:25 | ||
diakopter | l8r | ||
22:34
KyleHa left
22:37
meppl joined
22:53
literal_ is now known as literal
22:55
payload left
22:59
stephenlb left,
romanhunt joined
|
|||
wayland76 | I hate writing Perl 5 code that really needs a macro :) | 22:59 | |
romanhunt | hello all | 23:00 | |
wayland76 | hi! | 23:01 | |
romanhunt | quick question. 'Perl6Object' from the parrot global symbol table.... how does it translate to perl 6? is it the protoobject that all perl 6 objects decend from? | 23:02 | |
23:03
zibri joined,
crythias joined
|
|||
romanhunt | it is often called as 'perl6meta = get_hll_global('Perl6Object', ... | 23:03 | |
in PIR | 23:04 | ||
I am new to OOP by the way ... to make matters worse | |||
wayland76 | pmichaud? jnthn? | ||
23:05
_jaldhar is now known as jaldhar
|
|||
romanhunt | I am just working on converting some Q::PIR blocks to perl6 but I need to know more about how the Parrot global symbol table abstracts to the compiler | 23:08 | |
23:09
xenoterracide left
|
|||
romanhunt | learning by immersion! If it works for natural language it *should* work for perl :) | 23:09 | |
23:09
xenoterracide joined
|
|||
carlin | rakudo: my @a=((1|1),'',[],1,{1},1,{},/1/,/1/,(1=>1),/1/,'',{1},{},{1},/1/,'');my @b=(0,2,0,2,0,1,1,1,2,1,2,1,0,1,1,1,0,1,0,1,1,1,2,1,1,1,0,2,3,2,1,1,2,1);for map {lc .WHAT},@a {print .substr(@b.shift,@b.shift)}; | 23:15 | |
p6eval | rakudo 7ef386: ( no output ) | ||
carlin | oh come on :( | ||
23:17
payload joined
23:19
iblechbot left
|
|||
colomon | romanhunt: what are you trying to convert? | 23:22 | |
23:24
Astoria` left
23:25
tarbo2 left
|
|||
romanhunt | to be honest I am just trying to understand what I am reading moreso than actually convert anything *sorry for delays I am afk and back again* | 23:26 | |
23:27
stephenlb joined
|
|||
colomon | I guess my thought here is that Perl6Object is a Parrot detail, not a Perl 6 one. | 23:29 | |
The root object as far as Perl 6 is concerned is Mu. | |||
jnthn | References to Perl6Object should be gone in ng. | ||
In master, Perl6Object is the internal name for object | 23:30 | ||
erm, Object | |||
If you're talking about it in Perl 6 code, write Object. | |||
diakopter | which which? | ||
:) | |||
colomon | jnthn: Was Object not renamed to Mu in master? | 23:31 | |
jnthn | colomon: No | ||
colomon: We just did the equivalent of Mu := Object :) | |||
colomon | Ah. | ||
romanhunt | awesome thx all | 23:35 | |
so I checked out master as specified in Frew's workflow and did a `git co -b ng --track' | 23:36 | ||
git said my branch was changed but when I tried a git pull I was told I was up tp date | 23:37 | ||
am I syncing to ng correctly? | |||
colomon | romanhunt: I'm not good with the git, but there's a simple test. | ||
cat build/PARROT_REVISION | |||
If you've got an up-to-date ng, it should be 42920. | 23:38 | ||
romanhunt | eerg im at 42559 | ||
colomon | yeah, that's probably still master, then. | ||
supernovus | romanhunt: that's the rev from master | ||
colomon | git branch | 23:39 | |
? | |||
(as a command to run, I mean) | |||
romanhunt | CFW88430WY1B0:rakudo romanhunt$ git branch | 23:41 | |
master | |||
* ng | |||
[particle] | git fetch origin ng | 23:42 | |
romanhunt | could it be because I forked my cp? | ||
thowe | does Larry Wall ever actually show up here? | ||
colomon | thowe: pretty much every day. | ||
romanhunt: you're on a forked Rakudo? | |||
romanhunt | yeah thats what the suggested workflow linked on rakudo.org said to do | 23:43 | |
[particle] | git checkout ng | ||
thowe | that's pretty cool of him. what's his nick? | ||
[particle] | TimToady | ||
23:43
nihiliad left
|
|||
romanhunt | [particle] it says I am already on ng | 23:43 | |
23:43
nihiliad joined
|
|||
romanhunt | the fork must be the issue I bet | 23:44 | |
[particle] | yeah, that's what git branch says, too | ||
colomon | do you have a fork on github? | 23:46 | |
supernovus | hmm, if you do a git clone git://github.com/rakudo/rakudo.git then type 'git branch' it only shows 'master'. If you do 'git checkout -b ng --track' it creates a new branch called 'ng' which is identical to master. I | ||
jnthn | I think you need to do something like git checkout remote/ng/ first or some such... | ||
And then a command like the above. | 23:47 | ||
I forget exactly...it takes a little fiddling. :-) | |||
colomon | jnthn: gack. we need to document this somewhere so we don't do this every time someone tries to switch to ng. | 23:48 | |
[particle] | which remote branch is your local ng branch tracking? | ||
supernovus | okay, 'git checkout origin/ng -b ng --track' properly switches to the remote 'ng' branch. | ||
[particle] | supernovus++ | ||
23:52
avar left
23:53
avar joined
|