| Time |
S |
Nick |
Message |
| 00:01 |
|
TimToady |
I believe when pugs implemented that the right side of = wasn't an implicit closure |
| 00:02 |
|
TimToady |
in other words, pugs is wrong there |
| 00:02 |
|
Auzon |
It's a really cool concept. Sadly, no one seems to be able to do it yet, so I won't rely on it when I'm not testing it |
| 00:02 |
|
Auzon |
(1..5).map({Foo.new(count => $_)}) works just fine, but it's uglier |
| 00:05 |
|
|
yahooooo joined #perl6 |
| 00:06 |
|
|
eternaleye_ joined #perl6 |
| 00:09 |
|
Auzon |
rakudo: try {my @o = (1..5); @o>>++;}; say "lives ok" |
| 00:09 |
|
p6eval |
rakudo r28246 OUTPUT[Statement not terminated properly at line 1, near ">>++;}; sa"current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82) |
| 00:15 |
|
|
yahooooo joined #perl6 |
| 00:35 |
|
speckbot |
r14550 | larry++ | fixed "samebase" illogic pointed out by moritz++ |
| 00:53 |
|
speckbot |
r14551 | larry++ | added <...> et al. as suggested by ruoso++ |
| 01:07 |
|
pugs_svnbot |
r20765 | lwall++ | [STD] parse (and use) <...> |
| 01:19 |
|
pugs_svnbot |
r20766 | lwall++ | [STD] s/basechar/ignoreaccent/ |
| 01:20 |
|
Auzon |
We're renaming basechar? |
| 01:20 |
|
Auzon |
Err, never mind |
| 01:22 |
|
Auzon |
I thought you meant samebase. |
| 01:22 |
|
TimToady |
that too |
| 01:22 |
|
TimToady |
is now sameaccent |
| 01:23 |
|
TimToady |
.oO(Kato! What have you done to my rheum?) |
| 01:24 |
|
Auzon |
perl6: a|bc|def.perl.say |
| 01:24 |
|
Auzon |
perl6: a|bc|def.values.perl.say |
| 01:24 |
|
p6eval |
kp6 r20766: OUTPUT[no method 'APPLY' in Class 'Undef' at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345 |
| 01:24 |
|
p6eval |
..pugs: OUTPUT[*** No such subroutine: "&a" at /tmp/ctZsmlQh7U line 1, column 1 - line 2, column 1] |
| 01:24 |
|
p6eval |
..rakudo r28247: OUTPUT[Statement not terminated properly at line 1, near ".perl.say"current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82) |
| 01:24 |
|
p6eval |
..elf r20766: OUTPUT[Undefined subroutine &GLOBAL::a called at (eval 14) line 3. at ./elf_f_faster line 4496] |
| 01:24 |
|
p6eval |
kp6 r20766: OUTPUT[syntax error at position 20, line 1 column 20:a|bc|def.values.perl.sa ^ HERE] |
| 01:25 |
|
p6eval |
..pugs: OUTPUT[*** No such subroutine: "&a" at /tmp/wx7y1pyUsZ line 1, column 1 - line 2, column 1] |
| 01:25 |
|
p6eval |
..rakudo r28247: OUTPUT[Statement not terminated properly at line 1, near ".values.pe"current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82) |
| 01:25 |
|
p6eval |
..elf r20766: OUTPUT[Undefined subroutine &GLOBAL::a called at (eval 14) line 3. at ./elf_f_faster line 4496] |
| 01:25 |
|
TimToady |
precedence |
| 01:25 |
|
TimToady |
not to mention quotes... |
| 01:25 |
|
Auzon |
pugs: say (1|2|3).perl |
| 01:25 |
|
p6eval |
OUTPUT[(1 | 2 | 3)] |
| 01:25 |
|
Auzon |
pugs: say 1|2|3.perl |
| 01:25 |
|
p6eval |
OUTPUT[any(VInt 1,VInt 2,VStr "3")] |
| 01:26 |
|
TimToady |
that's wrong |
| 01:26 |
|
Auzon |
which part? |
| 01:26 |
|
TimToady |
that should parse as (say 1)|2|(3.perl) |
| 01:26 |
|
TimToady |
er, rather |
| 01:26 |
|
TimToady |
say (1|2)|(3.perl) |
| 01:27 |
|
TimToady |
oh, wait, that's what it idi |
| 01:27 |
|
TimToady |
*did |
| 01:27 |
|
TimToady |
see the quotes around "3" |
| 01:27 |
|
* diakopter |
sees |
| 01:27 |
|
Auzon |
Yes. |
| 01:27 |
|
Auzon |
Which is why I shouldn't mix functional calls and method calls. |
| 01:28 |
|
Auzon |
Not that it'd help here |
| 01:28 |
|
Auzon |
pugs: perl(1|2|3) |
| 01:28 |
|
p6eval |
RESULT["(1 | 2 | 3)"] |
| 01:28 |
|
rhr |
what is say(1|2) supposed to print? |
| 01:28 |
|
TimToady |
lists don't autothread |
| 01:29 |
|
TimToady |
so it's whatever 1|2 stringifies to as a junction |
| 01:29 |
|
Auzon |
pugs: say ~(1|2) |
| 01:29 |
|
p6eval |
OUTPUT[any(VStr "1",VStr "2")] |
| 01:30 |
|
rhr |
is that just unspecced on purpose? |
| 01:30 |
|
TimToady |
that lists don't autothread? that's specced somewhere... |
| 01:30 |
|
rhr |
no, ~(1|2) |
| 01:30 |
|
TimToady |
it is not specced how Junction should stringify |
| 01:31 |
|
rhr |
ok |
| 01:31 |
|
TimToady |
but making it the same as Junction.perl is probably reasonable |
| 01:32 |
|
Auzon |
OK. Another question. The candidates for the methods of an object are processed with the multimethods of a given class, then the ones of its superclass, correct? |
| 01:32 |
|
|
r0bby joined #perl6 |
| 01:32 |
|
|
[particle] joined #perl6 |
| 01:33 |
|
TimToady |
I presume you mean really multimethods and not multisubs |
| 01:33 |
|
TimToady |
I've argued that one both ways in my head |
| 01:34 |
|
TimToady |
I think current spec says that you determine which class to dispatch to before you do multiple dispatch within that class's multimethods |
| 01:34 |
|
TimToady |
if I recall... |
| 01:34 |
|
TimToady |
but not ifn't I don't recall... |
| 01:35 |
|
TimToady |
biab & |
| 01:35 |
|
Auzon |
Thanks TimToady++ |
| 01:36 |
|
|
Helios- joined #perl6 |
| 01:40 |
|
pugs_svnbot |
r20767 | Auzon++ | [gsoc_spectest] New tests for parallel dispatch in S12. (21 tests added) |
| 02:30 |
|
|
pmichaud_ joined #perl6 |
| 02:42 |
|
|
japhb joined #perl6 |
| 03:21 |
|
|
felipe joined #perl6 |
| 03:24 |
|
|
Entonian joined #perl6 |
| 03:37 |
|
|
redicaps joined #perl6 |
| 04:20 |
|
|
Entonian_ joined #perl6 |
| 04:20 |
|
pugs_svnbot |
r20768 | diakopter++ | [yap6] well, the grammar engine is stabilized/reliable; |
| 04:20 |
|
pugs_svnbot |
r20768 | diakopter++ | now the grammar needs fixin' |
| 04:29 |
|
|
alc joined #perl6 |
| 04:51 |
|
|
iblechbot joined #perl6 |
| 05:00 |
|
|
Eevee joined #perl6 |
| 05:31 |
|
|
Eevee_ joined #perl6 |
| 05:43 |
|
|
Entonian_ joined #perl6 |
| 05:43 |
|
|
barney joined #perl6 |
| 05:50 |
|
|
Eevee__ joined #perl6 |
| 06:14 |
|
|
simcop2387 joined #perl6 |
| 06:20 |
|
|
Psyche^ joined #perl6 |
| 06:28 |
|
|
meppl joined #perl6 |
| 06:49 |
|
|
TimToady joined #perl6 |
| 06:49 |
|
|
silug joined #perl6 |
| 06:49 |
|
|
qmole joined #perl6 |
| 06:49 |
|
|
bbkr_ joined #perl6 |
| 06:49 |
|
|
kcwu joined #perl6 |
| 06:49 |
|
|
cls_bsd joined #perl6 |
| 06:49 |
|
|
kolibrie joined #perl6 |
| 06:49 |
|
|
gugod joined #perl6 |
| 06:49 |
|
|
PerlJam joined #perl6 |
| 06:49 |
|
|
diakopter joined #perl6 |
| 06:49 |
|
|
perlbot joined #perl6 |
| 07:03 |
|
|
pmurias joined #perl6 |
| 07:17 |
|
|
ting joined #perl6 |
| 07:20 |
|
|
iblechbot joined #perl6 |
| 07:33 |
|
|
Jedai joined #perl6 |
| 07:36 |
|
|
viklund joined #perl6 |
| 07:39 |
|
|
redicaps left #perl6 |
| 07:49 |
|
|
elmex joined #perl6 |
| 09:12 |
|
|
Ched- joined #perl6 |
| 09:13 |
|
|
Ched- left #perl6 |
| 10:22 |
|
rakudo_svn |
r28257 | jonathan++ | [rakudo] Fill out the implementation of ^.., ..^ and ^..^ operators. |
| 10:24 |
|
|
vixey joined #PeRL6 |
| 10:49 |
|
|
ludan joined #perl6 |
| 11:04 |
|
|
fullermd joined #perl6 |
| 11:13 |
|
rakudo_svn |
r28258 | jonathan++ | [rakudo] Fix trailing whitespace. |
| 11:14 |
|
rakudo_svn |
r28259 | jonathan++ | [rakudo] Add min and max to list. Patch courtesy of Vasily Chekalkin (bacek++). |
| 11:17 |
|
|
felipe joined #perl6 |
| 11:37 |
|
|
mjk joined #perl6 |
| 11:50 |
|
|
rindolf joined #perl6 |
| 12:23 |
|
|
wknight8111 joined #perl6 |
| 12:25 |
|
|
bacek joined #perl6 |
| 12:41 |
|
|
renormalist joined #perl6 |
| 12:44 |
|
|
Jedai joined #perl6 |
| 13:01 |
|
|
cmarcelo joined #perl6 |
| 13:06 |
|
rakudo_svn |
r28263 | jonathan++ | [rakudo] A few changes to get us a little further along with role attributes. |
| 13:11 |
|
|
pbuetow joined #perl6 |
| 13:17 |
|
|
iblechbot joined #perl6 |
| 13:22 |
|
rakudo_svn |
r28264 | jonathan++ | [rakudo] Initial work to support basic attribute composition. Far from complete, but gets private attributes from a directly composed role working. |
| 13:23 |
|
|
sri_work joined #perl6 |
| 13:29 |
|
pugs_svnbot |
r20769 | jnthn++ | [spectest] A couple of basic tests for role attribute composition. |
| 13:30 |
|
rakudo_svn |
r28265 | jonathan++ | [rakudo] Get accessor and handles methods of roles in the correct namespace, making composition of public attributes work. |
| 13:32 |
|
rakudo_svn |
r28266 | jonathan++ | [rakudo] Add passing regression test for some basic role attribute composition to spectest_regression. |
| 13:39 |
|
|
alc joined #perl6 |
| 13:49 |
|
|
sscaffidi joined #perl6 |
| 14:05 |
|
|
chris2 joined #perl6 |
| 14:05 |
|
|
Ara4n joined #perl6 |
| 14:10 |
|
|
cognominal_ joined #perl6 |
| 14:13 |
|
|
alester joined #perl6 |
| 14:32 |
|
|
jhorwitz joined #perl6 |
| 14:43 |
|
|
IllvilJa joined #perl6 |
| 14:48 |
|
pugs_svnbot |
r20770 | jnthn++ | [spectest] A couple of tests were using $.x as an lvalue without having declared it 'is rw'. Fix this. |
| 14:50 |
|
|
ruoso joined #perl6 |
| 14:53 |
|
rakudo_svn |
r28267 | jonathan++ | [rakudo] Support 'is rw' on attribute declarations. Trying to use the accessor in l-value context when it's not marked 'is rw' now results in an exception, as per S12. |
| 15:09 |
|
rakudo_svn |
r28269 | jonathan++ | [rakudo] Fix 'handles'. The fact we have to do this may point to a PCT bug - it hadn't used to require a PAST::Val node here. |
| 15:17 |
|
|
[particle] joined #perl6 |
| 15:24 |
|
|
[particle]1 joined #perl6 |
| 15:40 |
|
|
stevan_ joined #perl6 |
| 16:02 |
|
|
gbarr joined #perl6 |
| 16:41 |
|
|
mncharity joined #perl6 |
| 16:43 |
|
rakudo_svn |
r28273 | jonathan++ | [rakudo] Allow types to be declared on attributes and enforce them. We also move a little closer to STD.pm in this patch and gain support for type conjunctions (the code was there, just not being called into), so you can do my Type1 Type2 $foo. |
| 16:45 |
|
mncharity |
no elf-ish activity at all... :/ |
| 16:46 |
|
|
armagad joined #perl6 |
| 16:48 |
|
mncharity |
kolibrie: re exercise Cursor5 engine, you might find http://svn.pugscode.org/pugs/m[…]r_regex_engine/t/ of use, though it's based on a somewhat outdated rx syntax. |
| 16:48 |
|
lambdabot |
Title: Revision 20770: /misc/pX/Common/yet_another_regex_engine/t, http://tinyurl.com/5ujc2g |
| 16:49 |
|
|
eternaleye_ joined #perl6 |
| 16:51 |
|
|
pmurias joined #perl6 |
| 17:08 |
|
|
alester left #perl6 |
| 17:11 |
|
pmurias |
mncharity: i'm trying to do the things i have to till the end of this week and hopefull i'll have lots of free for elf during the next one |
| 17:15 |
|
diakopter |
pmurias: I strictified yap6 for you |
| 17:15 |
|
pugs_svnbot |
r20771 | diakopter++ | [yap6] added a new memoization/recursion-escape technique. |
| 17:15 |
|
pugs_svnbot |
r20771 | diakopter++ | The diff is very very long. |
| 17:16 |
|
diakopter |
that new technique, once it's working (it syntax-checks in perl now! :), should give O(n) parsing once I add a zillion trace lines and actually get it working. you might call that last commit a stub. |
| 17:17 |
|
|
Southen_ joined #perl6 |
| 17:17 |
|
diakopter |
I forgot to say, O(n) parsing, even when the grammar is filled with left recursive rules (both direct and indirect). |
| 17:17 |
|
diakopter |
which I *know* will be the case with this grammar..... |
| 17:18 |
|
diakopter |
commutativity & |
| 17:24 |
|
pmurias |
diakopter: comutativity = commuting? |
| 17:37 |
|
|
t35t0r joined #perl6 |
| 17:40 |
|
t35t0r |
woo autothreading |
| 17:42 |
|
|
pbuetow joined #perl6 |
| 17:43 |
|
pmurias |
diakopter: why don't use overload -- instead of using a source filter? |
| 17:43 |
|
rakudo_svn |
r28276 | jonathan++ | [rakudo] Get us closer to S12 role composition semantics for attributes. This patch implements, 'Two has attributes of the same name, whether public or private, are simply merged into one slot, provided the types are the same; otherwise, the composition fails.' Also, move some |
| 17:43 |
|
rakudo_svn |
..code around to make sure we do the role composition once everything inside the class has been declared, not before, as per the spec. |
| 17:45 |
|
|
pbuetow joined #perl6 |
| 17:48 |
|
pmurias |
s/don't/not/ |
| 17:50 |
|
diakopter |
pmurias: yeah commuting; a pun |
| 17:51 |
|
diakopter |
pmurias: how would I use overload for what the source filter is doing |
| 17:52 |
|
pmurias |
looking in the camel more& |
| 17:52 |
|
mncharity |
http://netropolis.org/hash/70-lisp-and-perl :) |
| 17:52 |
|
lambdabot |
Title: Lisp and Perl |
| 17:52 |
|
mncharity |
pmurias: re time, neat. :) |
| 17:52 |
|
diakopter |
while you're thinking about that, let me know if you have any ideas for autogenerating all those declarations (uppercase/lowercase) and the wrapper functions and the %N |
| 17:57 |
|
|
iblechbot joined #perl6 |
| 17:58 |
|
diakopter |
b/c those are a pain to type every time I add a rule |
| 18:00 |
|
pmurias |
diakopter: overloaded ++ dosn't return a value, not nice :( |
| 18:01 |
|
pmurias |
diakopter: why do you need all those declarations? |
| 18:04 |
|
pmurias |
are there used elsewhere then for creating the subs? |
| 18:07 |
|
pmurias |
a rule foo {...} could be replaced by rule foo => sub {...} or rule 'foo' {} which would create the appropriate sub and %N entry |
| 18:07 |
|
diakopter |
pmurias: yeah; I couldn't use ++, so I worked around it with a source filter :D |
| 18:07 |
|
diakopter |
the declarations are necessary so the scalars are created before the coderefs are created |
| 18:08 |
|
pmurias |
why do you need the scalars? |
| 18:08 |
|
diakopter |
because the rules refer to each other |
| 18:09 |
|
diakopter |
and if it parses $rulename (or some function that returns $rulename) before it's declared, perl dwidm and doesn't complain, but the references are empty |
| 18:10 |
|
diakopter |
even if they're assigned coderefs in main |
| 18:10 |
|
diakopter |
anyway, obviously the grammar could be in a separate file and then the package file generated and then eval'd from it... |
| 18:11 |
|
pmurias |
diakopter: you are doing it to enable sub foo {bar}; sub bar {...} style thing? |
| 18:12 |
|
pmurias |
with &foo being declared later in the file then being defined? |
| 18:12 |
|
diakopter |
yes |
| 18:12 |
|
|
Southen joined #perl6 |
| 18:12 |
|
diakopter |
any other ideas on implementing that? |
| 18:13 |
|
pmurias |
use foo() instead of foo |
| 18:14 |
|
diakopter |
do you mean sub foo() {} or sub bar { foo() } |
| 18:14 |
|
pmurias |
sub bar { foo() } |
| 18:15 |
|
diakopter |
yeah, I could use that, but that's too many arcs |
| 18:15 |
|
diakopter |
:P |
| 18:15 |
|
|
eternaleye joined #perl6 |
| 18:15 |
|
diakopter |
not too many to type, I mean (obviously)... too many to look at |
| 18:19 |
|
* diakopter |
wonders if an entire package can be eval'd like that |
| 18:19 |
|
diakopter |
and if it would persist.. |
| 18:20 |
|
pmurias |
diakopter: you have a list of sub foo();sub bar();... on top |
| 18:20 |
|
pmurias |
* could have |
| 18:21 |
|
|
r0bby joined #perl6 |
| 18:21 |
|
diakopter |
it's not the functions that are the problem, anyway, it's the my $Uppercase = parser { $lowercase->(@_) } that are the problem |
| 18:22 |
|
pmurias |
what to use you the $Uppercase for? |
| 18:22 |
|
diakopter |
Uppercase is what lowercase() returns |
| 18:22 |
|
diakopter |
it's the generated parser |
| 18:22 |
|
diakopter |
parser sub { lower... } builds the parsers |
| 18:23 |
|
pmurias |
why can use have rule 'lowercase' {} create &lowercase |
| 18:23 |
|
diakopter |
based on how they're declared below it |
| 18:23 |
|
pmurias |
s/can use/can't you/ |
| 18:23 |
|
diakopter |
I tried that, but would you declare them as "our"? |
| 18:24 |
|
diakopter |
b/c I couldn't get them to persist |
| 18:24 |
|
pmurias |
with sub lowercase(); at the top allowing you to omit parens |
| 18:24 |
|
pmurias |
all subs are our in p5 |
| 18:24 |
|
pmurias |
well global |
| 18:24 |
|
diakopter |
no, I mean $U and $l |
| 18:25 |
|
pmurias |
throw $U and $l away |
| 18:25 |
|
diakopter |
they have to be there |
| 18:25 |
|
pmurias |
what for? |
| 18:25 |
|
pmurias |
you only use them to generate &l |
| 18:25 |
|
diakopter |
the parsers have to be generated before they're used... and declared before they're generated, but the generating subs have to be declared before the rules are declared |
| 18:25 |
|
pmurias |
it's possible to that withought tem |
| 18:26 |
|
pmurias |
s/tem/them |
| 18:26 |
|
diakopter |
I'll be impressed.... I mean, if MJD couldn't figure it out... :P |
| 18:28 |
|
diakopter |
so you'd have sub rule ($&) { eval qq{ sub $_[0] { \$.... what? |
| 18:30 |
|
diakopter |
parser {} returns a coderef... what would you call this coderef? |
| 18:30 |
|
|
t35t0r left #perl6 |
| 18:30 |
|
pmurias |
i wouldn't use eval |
| 18:30 |
|
diakopter |
I suppose parser could stash it in a hash |
| 18:31 |
|
pmurias |
is yap6 supposed to work right now? |
| 18:31 |
|
* diakopter |
waits for pmurias to explain the idea |
| 18:31 |
|
diakopter |
pmurias: nope |
| 18:31 |
|
diakopter |
well, it should work with "use v6;" :) |
| 18:32 |
|
pmurias |
yap6: use v6;1; |
| 18:32 |
|
p6eval |
yap6 r20771 OUTPUT[Can't locate Tie/IxHash.pm in @INC (@INC contains: ../lib lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at lib/Perl6in5/Compiler/Parser.pm line 19.BEGIN |
| 18:32 |
|
p6eval |
..failed--compilation aborted at lib/Perl6in5/Compiler/Parser.pm lin... |
| 18:32 |
|
diakopter |
yup |
| 18:33 |
|
diakopter |
moritz_: Auzon: Tie::IxHash ? |
| 18:33 |
|
* Auzon |
checks |
| 18:33 |
|
diakopter |
you asked whether yap6 works, not "yap6:" |
| 18:33 |
|
pmurias |
yes |
| 18:34 |
|
pmurias |
got back something strange :{...}, so i guess it does |
| 18:34 |
|
Auzon |
yap6: 1 |
| 18:34 |
|
p6eval |
yap6 r20771 OUTPUT[parse successful:{inp => "use v6;\n1",success => 1,want => "RE (?-xism:^(\\d+))",name => "/tmp/hTHW7qIxZq",hit => "",ast => [["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],["EOI"]],mut => 0,backed => 0,col => 1,fated => 1,pos => |
| 18:34 |
|
p6eval |
..9,line => -1}] |
| 18:34 |
|
pasteling |
"diakopter" at 209.9.237.164 pasted "sorta broken" (4 lines, 276B) at http://sial.org/pbot/31292 |
| 18:35 |
|
diakopter |
heh |
| 18:35 |
|
diakopter |
I didn't realize it can stringify a re |
| 18:36 |
|
diakopter |
obviously the ast part doesn't work yet... also, don't give it anything longer; it ulimit/segfaults |
| 18:36 |
|
pmurias |
i'll do the refactoring then |
| 18:36 |
|
diakopter |
wait, just give me 1 rule example |
| 18:37 |
|
pmurias |
i intend to do it for 1 rule first |
| 18:37 |
|
pmurias |
you can revert if you wish |
| 18:37 |
|
diakopter |
ok; cool |
| 18:43 |
|
|
cjfields joined #perl6 |
| 18:44 |
|
pmurias |
execnow {...} is just do {...}? |
| 18:45 |
|
diakopter |
rakudo: 1;; |
| 18:45 |
|
p6eval |
rakudo r28278 OUTPUT[Syntax error at line 1, near ";"current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82) |
| 18:45 |
|
diakopter |
pmurias: I guess so, yeah... obviously that shouldn't be necessary with your change |
| 18:46 |
|
|
barney joined #perl6 |
| 18:46 |
|
|
ilogger2 joined #perl6 |
| 18:50 |
|
cjfields |
perl6: say "ABCDEFGH".trans( ('A..CE..G' => ' a..c e..g '); |
| 18:50 |
|
p6eval |
kp6 r20771: OUTPUT[syntax error at position 20, line 1 column 20:say "ABCDEFGH".trans( ('A..CE..G' => ' a..c e..g ') ^ HERE] |
| 18:50 |
|
p6eval |
..pugs: OUTPUT[***  Unexpected end of input expecting ":", identifier or ")" at /tmp/FQw8LW0euz line 2, column 1] |
| 18:50 |
|
p6eval |
..rakudo r28278: OUTPUT[Statement not terminated properly at line 1, near "( ('A..CE."current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82) |
| 18:50 |
|
p6eval |
..elf r20771: OUTPUT[Parse error in: /tmp/q3voElZEA3panic at line 1 column 0 (pos 0): Can't understand next input--giving upWHERE: say "ABCDEFGH".trans( ('A..CE.WHERE:/\<-- HERE STD_red/prelude.rb:98:in `panic' STD_red/std.rb:76:in `scan_unitstopper' STD_red/std.rb:224:in `comp_unit' |
| 18:50 |
|
p6eval |
..STD_red/std.rb:210:in `_UNIT' ./../STD_red/STD_red_run:108:in `... |
| 18:50 |
|
cjfields |
perl6: "ABCDEFGH".trans( ('A..CE..G' => ' a..c e..g ')); |
| 18:50 |
|
p6eval |
kp6 r20771: OUTPUT[no method 'trans' in Class 'Str' at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345 |
| 18:50 |
|
p6eval |
..pugs: RESULT["abcDefgH"] |
| 18:50 |
|
p6eval |
..rakudo r28278: OUTPUT[too few arguments passed (2) - 3 params expectedcurrent instr.: '_block11' pc -340016394 ((unknown file):-1) |
| 18:50 |
|
p6eval |
..elf r20771: OUTPUT[Can't locate object method "trans" via package "ABCDEFGH" (perhaps you forgot to load "ABCDEFGH"?) at (eval 14) line 3. at ./elf_f_faster line 4496] |
| 18:51 |
|
cjfields |
Don't know if TimToady is around, but how should transliteration handle spaces |
| 18:52 |
|
diakopter |
replace them with time? |
| 18:53 |
|
cjfields |
like "ABCDEFGH".trans( ('A..CE..G' => ' a..c e..g ')), which has two Ranges with spaces |
| 18:53 |
|
cjfields |
diakopter: :D |
| 18:53 |
|
cjfields |
No, I mean if one wanted to transliterate a literal ' '. |
| 18:55 |
|
diakopter |
provide the hex? |
| 18:56 |
|
cjfields |
S05 indicates that trans() uses a List of Pairs; each Pair key/val could be an Array, Range, or string |
| 18:56 |
|
cjfields |
I thought of that, but there is this one: |
| 18:57 |
|
cjfields |
perl6: say " <>&".trans( (['<', '>', '&', ] => ["<", ">", "&" ])) |
| 18:57 |
|
p6eval |
kp6 r20771: OUTPUT[no method 'trans' in Class 'Str' at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345 |
| 18:57 |
|
p6eval |
..pugs: OUTPUT[ <>&] |
| 18:57 |
|
p6eval |
..rakudo r28278: OUTPUT[too few arguments passed (2) - 3 params expectedcurrent instr.: '_block11' pc -339180784 ((unknown file):-1) |
| 18:57 |
|
p6eval |
..elf r20771: OUTPUT[Can't call method "trans" without a package or object reference at (eval 14) line 3. at ./elf_f_faster line 4496] |
| 18:57 |
|
* cjfields |
ignoring rakudo for the moment; that's what I'm trying to implement... |
| 18:58 |
|
cjfields |
perl6: say " <>&".trans( ([' ', '<', '>', '&' ] => [' ', '<', '>', '&' ])) |
| 18:58 |
|
p6eval |
kp6 r20771: OUTPUT[no method 'trans' in Class 'Str' at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345 |
| 18:58 |
|
p6eval |
..pugs: OUTPUT[ <>&] |
| 18:58 |
|
p6eval |
..rakudo r28278: OUTPUT[too few arguments passed (2) - 3 params expectedcurrent instr.: '_block11' pc -340315406 ((unknown file):-1) |
| 18:58 |
|
p6eval |
..elf r20771: OUTPUT[Can't call method "trans" without a package or object reference at (eval 14) line 3. at ./elf_f_faster line 4496] |
| 19:00 |
|
cjfields |
I'm assuming the Array form only accepts single characters for the key, while the value can be any length |
| 19:00 |
|
pmichaud |
I think that spaces are significant in the translation keys |
| 19:00 |
|
cjfields |
That's what I thought, but the spec test indicate otherwise |
| 19:00 |
|
pmichaud |
the spec tests can be wrong. |
| 19:01 |
|
pmichaud |
that's why we're reviewing them. :-) |
| 19:01 |
|
pmichaud |
also, I think it's likely that the test was written before the current version of trans() in S05. |
| 19:01 |
|
diakopter |
sometimes, all three of: the spec, the spectests, and the implementations are wrong... |
| 19:02 |
|
|
rindolf joined #perl6 |
| 19:03 |
|
diakopter |
afk |
| 19:05 |
|
cjfields |
Okay; that makes the most sense. The interesting bit is that 'AD..Z' (string) is supposed to be converted over to a List ('A', 'D'..'Z'), which involves a little behind-the-scenes work |
| 19:05 |
|
cjfields |
but I have a p6 grammar that gets through that bit |
| 19:06 |
|
cjfields |
Just trying to work out the whitespace bit. I'll see how p5 deals with it for now. |
| 19:07 |
|
pmichaud |
(supposed to be converted to a List) ... where did you see that? |
| 19:07 |
|
cjfields |
"The two sides of any pair can be strings interpreted as tr/// would: $str.=trans( 'A..C' => 'a..c', 'XYZ' => 'xyz' );" |
| 19:08 |
|
pmichaud |
but that doesn't say anything about converting the strings into a list. |
| 19:09 |
|
cjfields |
Wouldn't 'A..C' be ( |
| 19:09 |
|
cjfields |
('A', 'B', |
| 19:09 |
|
cjfields |
'C') |
| 19:09 |
|
* cjfields |
hitting 'Enter' too many times |
| 19:11 |
|
cjfields |
That would be the same as 'A'..'C', but the first is a string interpreted as a Range of values (similar to the older 'A-Z' in p5 tr///) |
| 19:11 |
|
pmichaud |
'A..C' would represent the characters A through C, yes, but I don't see anything that indicates it has to be done using a List. |
| 19:12 |
|
pmichaud |
I'm not saying it cannot be doing with a List, only that I don't see it being required by the spec. |
| 19:12 |
|
pmichaud |
s/doing/done/ |
| 19:12 |
|
cjfields |
okay, I see what you mean |
| 19:15 |
|
cjfields |
I have currently 5/17 tests passing the current spec (the patch is in RT for that one). All failing tests have the spacing issue, ranges, or are p5-like tr///. |
| 19:17 |
|
|
macae joined #perl6 |
| 19:17 |
|
pmichaud |
coool. |
| 19:20 |
|
diakopter |
pmurias: any progress? :) I'm excited to see what you create |
| 19:20 |
|
diakopter |
rakudo: (; ;) |
| 19:20 |
|
p6eval |
rakudo r28279 OUTPUT[Syntax error at line 1, near "(; ;)"current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82) |
| 19:21 |
|
pmichaud |
yes, I know about that one. I haven't had a chance to look at STD.pm to see where it handles empty things in statementlist or semilist |
| 19:22 |
|
diakopter |
elf: (; ;) |
| 19:22 |
|
p6eval |
OUTPUT[Use of uninitialized value in join or string at ./elf_f_faster line 159.Use of uninitialized value in join or string at ./elf_f_faster line 159.syntax error at (eval 14) line 3, near "(," at ./elf_f_faster line 4496] |
| 19:22 |
|
diakopter |
pugs: (; ;) |
| 19:22 |
|
p6eval |
OUTPUT[***  Unexpected ";" expecting expression or ")" at /tmp/oRDTG6f2Js line 1, column 2] |
| 19:22 |
|
pmichaud |
heh. |
| 19:22 |
|
pmichaud |
we're all confused. |
| 19:23 |
|
diakopter |
yap6: (; ;) |
| 19:23 |
|
p6eval |
yap6 r20771 OUTPUT[syntax error (or degenerate/incomplete grammar) at line 0 col 1 near "; ;)"Expected: "only".] |
| 19:23 |
|
diakopter |
Expected "only" lol |
| 19:23 |
|
* mncharity |
briefly wonders why p6 implementations are being fed orange smiley faces... |
| 19:24 |
|
pmichaud |
because the lemon ones are too tart. |
| 19:24 |
|
diakopter |
kp6: (; ;) |
| 19:24 |
|
p6eval |
kp6 r20771: OUTPUT[syntax error at position 0, line 1 column 0:(; ;^ HERE] |
| 19:25 |
|
mncharity |
:) |
| 19:26 |
|
diakopter |
yap6: say 4; |
| 19:26 |
|
p6eval |
yap6 r20771 OUTPUT[parse successful:{inp => "use v6;\nsay 4;",success => 1,want => "package",name => "/tmp/tKCrKUX1B0",hit => "",ast => [["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],["EOI"]],mut => 0,backed => |
| 19:26 |
|
p6eval |
..0,col => 6,fated => 1,pos => 14,line => -1}] |
| 19:26 |
|
diakopter |
that's quite the ast :P |
| 19:27 |
|
pmurias |
diakopter: it turned out the issue is more complex then i think, but i'm steadily moving in the right directions proximity |
| 19:27 |
|
diakopter |
I guess now I should tell you I wasted probably 8 hours last week trying to work around it myself... |
| 19:27 |
|
diakopter |
well, not wasted. I learned a lot. |
| 19:29 |
|
mncharity |
i'm puzzling over the question of when exactly we'll start seeing people writing in p6 again. |
| 19:30 |
|
mncharity |
does pugs' ext/ figure in the rakudo project vision anywhere? or is the code too stale, and authors all gone. |
| 19:30 |
|
moritz_ |
mncharity: ext/CGI/ nearly works on rakudo |
| 19:30 |
|
moritz_ |
mncharity: and I plan to get ext/Sudoku/ running as well |
| 19:30 |
|
mncharity |
:) |
| 19:31 |
|
mncharity |
any feel for when those might be possible? |
| 19:33 |
|
moritz_ |
not really |
| 19:34 |
|
mncharity |
:/ ok, tnx |
| 19:35 |
|
pmurias |
mncharity: PCR was used in production twice afaik |
| 19:37 |
|
pugs_svnbot |
r20772 | moritz++ | [ext/Sudoku] no need for 'my' in pointy blocks |
| 19:37 |
|
diakopter |
pugs: say;; |
| 19:37 |
|
p6eval |
OUTPUT[] |
| 19:39 |
|
mncharity |
re PCR, one potential elf story was "being able to compile p6 rx to fast p5 will be of interest to people, and attract them to p6 and elf". but... even if one accepts the former, the latter two don't really follow... |
| 19:44 |
|
pmurias |
diakopter: shouldn't program do the parsing, instead of returning a sub which does the parsing? |
| 19:46 |
|
mncharity |
puzzle is, looking ahead at a strawman elf dev path of 'CL backend => fastest pX ever'; 'rx engine in'; 'parser->p6 => full bootstrap, runs like the wind'; 'sync rx w spec'; 'flesh out prelude'; 'run ext/'; 'run in browser'; ... or something perhaps vaguely somewhat like that... |
| 19:47 |
|
pmurias |
pX means? |
| 19:48 |
|
pmurias |
p(5|6)? |
| 19:48 |
|
|
ron joined #perl6 |
| 19:48 |
|
ron |
pugs: say 'hello';; |
| 19:48 |
|
p6eval |
OUTPUT[hello] |
| 19:48 |
|
diakopter |
p-56 |
| 19:48 |
|
mncharity |
re 5|6, yes. |
| 19:48 |
|
diakopter |
/usr/bin/perl56 |
| 19:48 |
|
|
ron left #perl6 |
| 19:49 |
|
pmurias |
mncharity: do you think a CL backend would beat perl5? |
| 19:50 |
|
mncharity |
puzzle is, it's not clear at what point in that path anyone starts being interested in writing p6. kp6, well advertised but non-bootstrapped and glacial wasn't it. current elf half-bootstrapped and fast but poorly advertised isn't it. unclear to me what is it... what is sufficient for folks to start writing p6 again? |
| 19:51 |
|
mncharity |
re CL faster than p5, yes, no question. and critically, abstractions can compile away, |
| 19:51 |
|
moritz_ |
mncharity: features on demand would bring people back to p6 |
| 19:52 |
|
mncharity |
so you are not always faced with "there the right way to do this... but I can afford the sub/method call cost of it...". |
| 19:52 |
|
diakopter |
maybe they're/we're waiting for Dlugosz to finish his rigorous spec doc |
| 19:52 |
|
mncharity |
"features on demand"? |
| 19:52 |
|
pmurias |
"we write a test, you write the feature" |
| 19:52 |
|
moritz_ |
right |
| 19:53 |
|
mncharity |
ah... ok. yes, that was very nice. |
| 19:56 |
|
mncharity |
re rigorous spec doc, ... one issue is, the story has always been "need impl to serve as foil for language design". with p6l still arguing over .WHAT, well, my fuzzy impression is oo is on TimToady's todo list after parsing. I've repeatedly found myself stuck on "I just need a bleeping spec"... but currently think of that view as a misunderstanding of the p6 dev process. |
| 19:56 |
|
pmurias |
re intrested in writing p6, you mean the point when people start playing with it or writing (semi-) serious stuff in it |
| 19:57 |
|
mncharity |
so there seem likely to be one or more p6-like impls for a while, with people starting to use them, generating experience and feedback, with the spec continuing to revised... rather than a spec->impls->users waterfall. |
| 19:58 |
|
diakopter |
why doesn't someone melt these shotgun pellets into a bullet... |
| 19:59 |
|
diakopter |
oh yeah; b/c there's no rifle... |
| 19:59 |
|
mncharity |
re meaning of intrested in writing p6, people writing ext/ like things? not sure if that's play or semi-serious. |
| 20:01 |
|
mncharity |
creating order 10 classes and at least high order 100 lines of code with the indent of doing something? |
| 20:02 |
|
diakopter |
I submitted two items to the GSOC tasks idea page - 1. flesh out the Perl 6 test suite 2. Write the Perl 6 compiler in Perl 6 [without a complete implementation on which to run it]. Obviously the second was a little far-fetched |
| 20:03 |
|
mncharity |
diakopter: well, there's this: there's a p6 story that p6+cpan will create an environment for language evolution. towards a p7 which is ai complete or somesuch. something like that. point is, if gracefully evolving language and implementation is a requirement for p6.0.0, then p6 being as yet incompletely spec'ed isn't really a problem, because |
| 20:03 |
|
pugs_svnbot |
r20773 | pmurias++ | [yap6] initial try at removing some of the boilerplate |
| 20:03 |
|
pmurias |
diakopter: checked my attempt in |
| 20:04 |
|
mncharity |
you have to create something which can gracefully move around a p6-ish design space anyway, so it doesn't matter that you don't have a point target at the moment. |
| 20:06 |
|
pmurias |
the perl6 spec isn't likely to change much now |
| 20:08 |
|
mncharity |
http://www.perl.com/pub/a/2001/04/02/wall.html grep RFC 141 |
| 20:08 |
|
lambdabot |
Title: perl.com: Apocalypse 1: The Ugly, the Bad, and the Good |
| 20:09 |
|
diakopter |
ooo neat |
| 20:09 |
|
mncharity |
http://dev.perl.org/perl6/doc/[…]st_Major_Revision |
| 20:09 |
|
lambdabot |
Title: Apocalypse 1: The Ugly, the Bad, and the Good - perl6, http://tinyurl.com/5h4mfl |
| 20:14 |
|
diakopter |
pmurias: looks good to me.. thanks! |
| 20:14 |
|
pmurias |
diakopter: it would be slightly more efficient if reverse @order would be used used inplace of @order, assuming the grammar is structured from the topmost rule downwards |
| 20:15 |
|
diakopter |
nah; the order doesn't matter..., although it might if the parser generator functions were memoized |
| 20:15 |
|
mncharity |
re elf... if there were a 'dedicate N person weeks to build X, and "they will come"' story, that could be nice. but a 'well, we've built F, and they didn't come. M+e weeks will get G, and they might come then, or perhaps M+2e and H, or maybe..." story doesn't lend itself to project planning and resource management. |
| 20:16 |
|
* diakopter |
can't believe the first attempt at implementing packrat_TR-2007-002.pdf is actually sorta working |
| 20:16 |
|
diakopter |
the current grammar creates 541 parser objects |
| 20:18 |
|
pmurias |
mncharity: i'm not a typical perl coder, so i can't really help you with finding out what motivates others |
| 20:19 |
|
diakopter |
now, if only ++ returned something (somehow)... I got the copy constructor to persist a reference to the original, but I gave up at 4 a.m. or something |
| 20:20 |
|
[particle]1 |
mncharity: nobody knows about what you're doing, because there's 125 people in the room, and most are just lurking |
| 20:20 |
|
[particle]1 |
use email, blog, share with the world! |
| 20:20 |
|
[particle]1 |
you need to let people know what you're doing, and why it matters to them |
| 20:21 |
|
vixey |
what is happening with elf now? |
| 20:22 |
|
pugs_svnbot |
r20774 | jnthn++ | [spectest] Couple more tests for attribute composition. |
| 20:23 |
|
mncharity |
[particle]1: hmm, interesting thought... a prerequisite seems a "Why Perl 6 matters" piece, which I've never seen one of (audreyt's paper really wasn't it), and has been on the infinite todo list for years... maybe now's the time to do it? |
| 20:25 |
|
pmurias |
diakopter: should you really be using $obj++ or ++$obj, they seem to be implying side effects |
| 20:25 |
|
mncharity |
vixey: re "what is happening with elf now?", well, whatever I do next? possibilities are 'translate parser from ruby to p6' (or wait for TimToady's parser, as it's not pressing until there's a second backend), or |
| 20:26 |
|
mncharity |
get the elf on CommonLisp backend bootstrap working, or add more-than-positional-arguments to the p5 backend, or |
| 20:27 |
|
mncharity |
or drop stuff from Snn into the preludes, or further patch std.rb so you can actually do that an have it parse, or |
| 20:27 |
|
mncharity |
there's a TODO file... |
| 20:28 |
|
[particle]1 |
mncharity: it may be time, but not for me to write :) |
| 20:28 |
|
mncharity |
or pursue the rx_on_re translation/creation of an p6 rx engine, |
| 20:28 |
|
mncharity |
http://svn.pugscode.org/pugs/misc/elf/TODO |
| 20:28 |
|
mncharity |
has some of these |
| 20:30 |
|
mncharity |
re 'not for me to write', :) but, it would at least be something which actually affects other people, which it's not entirely clear elf does. |
| 20:32 |
|
[particle]1 |
indeed |
| 20:33 |
|
diakopter |
pmurias: now that I look at it, I guess I removed all the -- and ++ from the grammar. |
| 20:34 |
|
mncharity |
vixey: if by happening you mean what works, there's a p6 parser (faster than pugs, and at least a while back, faster and at least in some ways more complete than rakudos), a p6 compiler written in p6 (only one existent, unless you count rakudo's grammar actions as a compiler), fastest not-really-p6 implementation (ie, when it works, faster than pugs/kp6/rakudo). that said, |
| 20:34 |
|
diakopter |
in fact, I barely remember what I was *going* to use them for. |
| 20:35 |
|
mncharity |
various "that's not quite right/enough"s. written to make p6 _compiler writing_ possible. not really to itself be a "let's be a random user writing using random p6 features". |
| 20:38 |
|
mncharity |
so... p6 compiler writing is possible... you can write 100+ class p6 programs and run them... there could be people pouring in prelude code right now (modulo having to be aware of current implementation limitations and weaknesses, and sometimes needing those pushed back)... but, there aren't. |
| 20:40 |
|
mncharity |
more explicitly, both pugs and rakudo have a broader and more correct implementation of p6 that elf at the moment. that wasn't the elf objective. setting people up to be able to address it, while working comfortably in p6, was. |
| 20:41 |
|
rakudo_svn |
r28282 | jonathan++ | [rakudo] S12-role/attributes.t is now fudged. |
| 20:43 |
|
mncharity |
at some point it will become possible to run an elf on rakudo. perhaps even before most of ext/ works. though some things like temp(), which you really want when writing a compiler, don't seem high on the rakudo todo list. |
| 20:44 |
|
mncharity |
rakudo: our $x=3; temp $x =4; say $x; |
| 20:44 |
|
p6eval |
rakudo r28281 OUTPUT[Could not find non-existent sub tempcurrent instr.: '_block11' pc 77 (EVAL_10:31) |
| 20:45 |
|
|
IllvilJa joined #perl6 |
| 20:48 |
|
mncharity |
hmm, "Why Perl 6 matters"... the ideas it has, and "why not just take those ideas to python/ruby/scala/javascript/(other?)". |
| 20:53 |
|
* diakopter |
watches evalglot in #parrot |
| 20:53 |
|
pmurias |
implementing them in those languages would be difficult too |
| 20:54 |
|
mncharity |
pmurias: which in which? |
| 20:55 |
|
Auzon |
APL and Tcl and BF and lolcode? |
| 20:56 |
|
mncharity |
scala, yes, rather fundamentally. the others... it would be mostly non-core performance which bites you, and they all have active jit projects which blur that. besides, all but javascript have "if its a good idea, and you need better-than-native performance, do a plugin" stories. |
| 20:58 |
|
mncharity |
p5 should go on the list too. don't know of an active p5 jit project, but p5 community would be willing to modify impl to do p6ish stuff fast. |
| 20:59 |
|
rakudo_svn |
r28284 | pmichaud++ | [rakudo]: |
| 20:59 |
|
rakudo_svn |
r28284 | pmichaud++ | * Refactor Range a bit. |
| 21:00 |
|
mncharity |
ruby, and perhaps js, aren't as well set up as python to do language extentions, eg, to add type information gracefully. |
| 21:01 |
|
pmurias |
mncharity: implementing perl6 ideas in python/ruby/scal/javascript would be hard too |
| 21:01 |
|
mncharity |
yes, but they have more active communities. |
| 21:01 |
|
mncharity |
than p6 |
| 21:03 |
|
mncharity |
the usual response I get when describing 'random neat p6 feature' is 'ok, neat. but why not do that in X, rather than p6'. where X is rb/js/... hmm, usually not py. |
| 21:04 |
|
mncharity |
so a "Why Perl 6 matters" has to address those questions. |
| 21:08 |
|
pmurias |
by 'random neat p6 feature' you mean a syntactic, vm or semantic feature? |
| 21:08 |
|
mncharity |
spinclad: if you were interesting in a CL/p6 hybrid task, create a class prim { sub array_create() is cl {'...cl code...'}; ... } and class Array { has $prim; method new { ...$prim = prim::array_create(...)... }... all of S29...} wouldn't have to run, but just assembling it all would be a help. feel free to make the method sigs all spec, even where they don't quite run yet. I can then massage elf and them to work. |
| 21:08 |
|
mncharity |
same for Hash. |
| 21:10 |
|
mncharity |
pmurias: syntactic or semantic, yes. p6, the langauge, doesn't have vm features. |
| 21:11 |
|
mncharity |
though p6 would of course be a nice language to _implement_ vm's in. |
| 21:12 |
|
mncharity |
and "real compile-time and aggressive compiler story, rather than merely jit", is one 'neat feature' vs rb/py/js. |
| 21:13 |
|
diakopter |
pmurias: I can't get it to work with any more than 'program' |
| 21:14 |
|
pmurias |
hm |
| 21:17 |
|
pmurias |
diakopter: i converted usev6 withought problems |
| 21:17 |
|
pmurias |
diakopter: what errors do you get |
| 21:17 |
|
pugs_svnbot |
r20775 | pmurias++ | [yap6] |
| 21:17 |
|
pugs_svnbot |
r20775 | pmurias++ | removed debugging leftover |
| 21:18 |
|
pugs_svnbot |
r20775 | pmurias++ | usev6 converted |
| 21:18 |
|
pmurias |
mncharity: before i forget a simple way of parsing use v5; would be to use indentation as a way of determining where p5 code ends |
| 21:19 |
|
diakopter |
I converted stmtList |
| 21:20 |
|
mncharity |
re vm, parrot seems somewhat a no-op on "Why Perl 6 matters". If parrot runs well, then it can run other languages, so it's not an argument against 'add p6 feature X to language Y'. And even if it runs not so well, everyone is targeting multiple vm's, so that would not be an argument that Perl 6 doesn't matter. |
| 21:20 |
|
pmurias |
you can ci the code and i'll try to fix it |
| 21:21 |
|
|
Jedai joined #perl6 |
| 21:22 |
|
pmurias |
i should be getting some sleep now& i'll backlog as always |
| 21:22 |
|
mncharity |
hmm. I suspect making p5 _easier_ to use in elf is very much the wrong direction. it |
| 21:22 |
|
mncharity |
oh |
| 21:23 |
|
diakopter |
pmichaud: it's b/c stmtList is self-referential |
| 21:23 |
|
diakopter |
oops |
| 21:23 |
|
diakopter |
pmurias: |
| 21:24 |
|
mncharity |
anyway, it would only encourage bootstrap compromising things like tidy() (which still needs to be turned into mostly p6;). nice for end users, of which we don't have one yet, but not nice for compiler development. |
| 21:25 |
|
pmichaud |
diakopter: ...? |
| 21:25 |
|
mncharity |
pmichaud: that was a misaddress I believe |
| 21:25 |
|
diakopter |
pmichaud: I meant to say pmurias: |
| 21:26 |
|
pmichaud |
oh, okay. |
| 21:29 |
|
mncharity |
the two objectives of on_SBCL are () speed - no so much that we need it now, though it would be neat to be able to run the the full t/ test suite in < 1 minute (once parsing is converted to p6), and () help keep the bootstrap honest. |
| 21:29 |
|
mncharity |
but perhaps I've just overlooked some need for 'use p5;'? let me know... |
| 21:30 |
|
mncharity |
err, "not so much that we need it now...", but that it might attract developers,... |
| 21:33 |
|
|
Chillance joined #perl6 |
| 21:40 |
|
mncharity |
anyone: Here's an opportunity to get to know p6 better. Go through the Snn, especially S29, pulling out all the bits of code into a single elfish/prelude/Prelude.pm file. Snarf the class hierarchy from elf_f_src/Prelude.pm, and check it against the more-likely-to-be-correct rakudo tree. rakudo: say Foo.isa(Bar). ... |
| 21:40 |
|
mncharity |
Ie, start writing the spec p6 prelude. |
| 21:41 |
|
mncharity |
Don't worry about the method bodies and such. just collecting the sigs would be valuable. |
| 21:44 |
|
mncharity |
could probably do the same thing for operators... though I'm not quite sure what it would look like... multi sub infix:<-> is equiv(&infix:<+>) ($a,$b) {yada} ? |
| 21:45 |
|
mncharity |
proto? |
| 21:47 |
|
pugs_svnbot |
r20776 | diakopter++ | [yap6] reverting pmurias' change; it worked 97% |
| 21:48 |
|
spinclad |
re netropolis 70-lisp-and-perl, that's http://xkcd.com/224/, unattributed (and rescanned??)... # xkcd++ |
| 21:48 |
|
lambdabot |
Title: xkcd - A webcomic of romance, sarcasm, math, and language - By Randall Munroe |
| 21:50 |
|
spinclad |
mncharity: re CL/p6 Array implementation: interesting idea. will think about it more later tonight when i've more time. |
| 21:50 |
|
mncharity |
netropolis-- #unattributed |
| 21:50 |
|
mncharity |
:) |
| 21:51 |
|
Auzon |
xkcd++ # generally awesome |
| 21:51 |
|
mncharity |
indeed |
| 21:52 |
|
Auzon |
actually, it's linked from xkcd directly. |
| 21:52 |
|
spinclad |
re preludes, it would be worth (my/our) while to scavenge previous preludes (pugs, kp6, (rakudo not preluding in p6 yet)), maybe work on a single common prelude fudgoided to the several targets. |
| 21:53 |
|
spinclad |
anything to promote common progress... |
| 21:54 |
|
* spinclad |
afk, bbi4h & ~~ |
| 21:54 |
|
mncharity |
at least having a single set of signatures would be neat. |
| 21:54 |
|
mncharity |
just as STD.pm is useful as a reference, even if it can't be used directly yet. |
| 21:56 |
|
mncharity |
rakudo: class A{}; multi infix:<+>(A $x,A $y){3}; my $a = A.new; say $a + $a; |
| 21:56 |
|
p6eval |
rakudo r28284 OUTPUT[Statement not terminated properly at line 1, near ":<+>(A $x,"current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82) |
| 21:56 |
|
mncharity |
pugs: rakudo: class A{}; multi infix:<+>(A $x,A $y){3}; my $a = A.new; say $a + $a; |
| 21:56 |
|
p6eval |
OUTPUT[3] |
| 21:57 |
|
mncharity |
pugs: thatwasodd: say 3; |
| 21:57 |
|
Auzon |
Woah, I didn't know that Rakudo could do that yet |
| 21:57 |
|
p6eval |
OUTPUT[3] |
| 21:57 |
|
mncharity |
can't. evalbot artifact. |
| 21:57 |
|
mncharity |
oh, of course. foo: is a label. |
| 21:58 |
|
mncharity |
not artifact. |
| 22:02 |
|
pugs_svnbot |
r20777 | diakopter++ | [yap6] fixes/breakages |
| 22:18 |
|
|
Limbic_Region joined #perl6 |
| 22:29 |
|
mncharity |
rakudo: sub infix:<+>{say $?ROUTINE}; infix:<+>(2,3); |
| 22:29 |
|
p6eval |
rakudo r28284 OUTPUT[Statement not terminated properly at line 1, near ":<+>{say $"current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82) |
| 22:29 |
|
mncharity |
pugs: sub infix:<+>{say $?ROUTINE}; infix:<+>(2,3); |
| 22:29 |
|
p6eval |
OUTPUT[*** Undeclared variable: ("$?ROUTINE",MkPad (padToList [("$_",PELexical {pe_type = (mkType "Scalar"), pe_proto = <Scalar:0xb68d15f8>, pe_flags = MkEntryFlags {ef_isContext = True}, pe_store = <ref:0xb6611164>}),("@_",PELexical {pe_type = (mkType "Array"), pe_proto = <Array:0xb68d2068>, |
| 22:29 |
|
p6eval |
..pe_flags = MkEntryFlags {ef_isContext = False}, pe_st... |
| 22:30 |
|
mncharity |
pugs: sub infix:<+>{3}; say &infix:<+>; |
| 22:30 |
|
p6eval |
OUTPUT[<SubRoutine(&infix:+)>] |
| 22:31 |
|
mncharity |
pugs: sub circumfix:<( )>{3}; say &circumfix:<( )>; |
| 22:31 |
|
p6eval |
OUTPUT[<SubRoutine(&circumfix:( ))>] |
| 22:32 |
|
mncharity |
pugs: sub circumfix:<( )>{3}; say &circumfix:<( )>.perl; |
| 22:32 |
|
p6eval |
OUTPUT[\sub :(@_) "$_" := "Scalar" #<Scalar:0xb66534d4> "@_" := "Array" #<Array:0xb66537c0> "&?ROUTINE" := "Sub" #<Sub:0xb66022b0> "&?BLOCK" := "Sub" #<Sub:0xb66022b0> {"$_" := "Scalar" #<Scalar:0xb6653538> "@_" := |
| 22:32 |
|
p6eval |
.."Array" #<Array:0xb665357c> ... |
| 22:32 |
|
Tene |
Hey, anyone have access to install Bot::BasicBot on feather? |
| 22:37 |
|
[particle]1 |
i may, but i haven't logged on there since....... |
| 22:44 |
|
Juerd |
Tene: Installed |
| 22:45 |
|
Tene |
Hey, Juerd, you cool with me running an evalbot on feather1? |
| 22:45 |
|
|
if joined #perl6 |
| 22:45 |
|
Tene |
Juerd: Can you get Config::File, too? |
| 22:45 |
|
Juerd |
Tene: Actually, I would prefer if you could run it on the dedicated eval virtual machine. |
| 22:46 |
|
Tene |
Juerd: where's that? |
| 22:46 |
|
Juerd |
Tene: It's feather3 |
| 22:46 |
|
Juerd |
Tene: Hold on, I'm making you an account |
| 22:46 |
|
[particle]1 |
ah, feather3 |
| 22:46 |
|
[particle]1 |
juerd++ |
| 22:46 |
|
Tene |
sweet |
| 22:46 |
|
[particle]1 |
another SLAVE |
| 22:47 |
|
Juerd |
Tene: Your username is tene, your password is changeme (change it :)), you have sudo access. Have fun! |
| 22:47 |
|
* Juerd |
watches everyone in #perl6 rushing to abuse the root access ;) |
| 22:48 |
|
Juerd |
Tene: Please make things reboot proof |
| 22:48 |
|
Tene |
What's the standard way to install perl modules on debian? |
| 22:49 |
|
Juerd |
Tene: cpan Foo::Bar |
| 22:49 |
|
Juerd |
;) |
| 22:50 |
|
Juerd |
Tene: If the module is in the Debian repository, you're better off installing it with apt-get install libfoo-bar-perl |
| 22:50 |
|
Tene |
Ouch. Okay. |
| 22:50 |
|
Juerd |
But if it's not, there's little reason to build debian packages on a box like feather3. |
| 22:50 |
|
Tene |
Juerd: what's a good interval for rebuilding parrot on that system? Alternately, is there already a parrot build on taht system? |
| 22:51 |
|
Juerd |
Tene: A good interval: eh, every 15 minutes, if there's a new revision. Something like that? |
| 22:51 |
|
Juerd |
No, there's no parrot on feather3 yet. |
| 22:51 |
|
Juerd |
(Besides that, I think it's a good idea to build a local copy, so you control all parameters) |
| 22:51 |
|
Tene |
Okay. |
| 22:52 |
|
Juerd |
Consider using ulimits, chroot, and nice |
| 23:04 |
|
|
pbuetow joined #perl6 |
| 23:07 |
|
[particle]1 |
tene: you know your way around debian apt-get? |
| 23:08 |
|
Tene |
Mostly. |
| 23:08 |
|
[particle]1 |
ok, probably better than me, then :) |
| 23:19 |
|
mncharity |
pugs: sub ☺ {3}; say ☺(); |
| 23:19 |
|
p6eval |
OUTPUT[***  Unexpected "\9786" expecting "=", subroutine parameters, trait or block at /tmp/YFcdJ4Mgh6 line 1, column 5] |
| 23:19 |
|
mncharity |
rakudo: sub ☺ {3}; say ☺(); |
| 23:19 |
|
p6eval |
rakudo r28285 OUTPUT[Statement not terminated properly at line 1, near "\x{e2}\x{98}\x{ba} {3}; s"current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82) |
| 23:19 |
|
rakudo_svn |
r28286 | jonathan++ | [rakudo] Implement role-private attributes. These, declared as 'my $!spleen', are not visible outside of the role (unless you use 'trusts' (which isn't implemented yet)). |
| 23:20 |
|
|
yahooooo2 joined #perl6 |
| 23:21 |
|
Juerd |
mncharity: ☺ is not alpha |
| 23:21 |
|
Juerd |
Maybe prefix:<☺> () would work. |
| 23:22 |
|
[particle]1 |
unicode is turned off in rakudo atm, unless declared via command-line switch |
| 23:22 |
|
[particle]1 |
parrot's utf8 io is sloooooow |
| 23:22 |
|
Juerd |
Why? |
| 23:23 |
|
[particle]1 |
i think it's the lookahead required |
| 23:23 |
|
Juerd |
How do you define lookahead? |
| 23:23 |
|
[particle]1 |
i mean variable width chars |
| 23:24 |
|
[particle]1 |
glyphs, whatever |
| 23:24 |
|
Juerd |
Until you actually *do* something with the string (which isn't very relevant for I/O), you can computer the length pretty fast: http://www.daemonology.net/blo[…]-utf8-strlen.html |
| 23:24 |
|
lambdabot |
Title: Even faster UTF-8 character counting, http://tinyurl.com/4w9cbw |
| 23:24 |
|
[particle]1 |
ok, maybe it's the downcase op that's causing the slowness |
| 23:25 |
|
Juerd |
And you need encoding and decoding. Just copy whatever perl5 did, or what python does, etcetera - this has been done in C a million different ways :) |
| 23:25 |
|
[particle]1 |
there's a thread or two, maybe an rt ticket in the parrot queue related to this |
| 23:25 |
|
[particle]1 |
yep |
| 23:25 |
|
[particle]1 |
atm we're using icu |
| 23:25 |
|
Juerd |
What's the downcase op? |
| 23:25 |
|
[particle]1 |
we need to roll our own though for folks for those without icu |
| 23:25 |
|
[particle]1 |
translating upper to lower case for icu chars |
| 23:25 |
|
Juerd |
PHP 6 is going to use ICU. The PHP folks are very (overly) concerned about performance these days; I don't think they'd pick ICU if it wasn't fast |
| 23:26 |
|
[particle]1 |
it's a lack of pge optimizations causing the slowness |
| 23:26 |
|
[particle]1 |
or how pge currently deals with utf8, anyway |
| 23:27 |
|
Juerd |
Hm. I don't understand why PGE should have to deal with utf8 |
| 23:27 |
|
Juerd |
IIRC parrot used some simpler internal representation for strings |
| 23:27 |
|
[particle]1 |
it makes the parser very slow if the text is utf8 |
| 23:27 |
|
[particle]1 |
no |
| 23:27 |
|
Juerd |
One that supposedly would be faster |
| 23:27 |
|
[particle]1 |
parrot string impl is still a prototype |
| 23:28 |
|
Juerd |
Aha |
| 23:54 |
|
mncharity |
Juerd: thanks :) |
| 23:55 |
|
|
FurnaceBoy joined #perl6 |