pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/ Set by TimToady on 25 January 2008. |
|||
TimToady | I believe when pugs implemented that the right side of = wasn't an implicit closure | 00:03 | |
in other words, pugs is wrong there | |||
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:04 | |
(1..5).map({Foo.new(count => $_)}) works just fine, but it's uglier | |||
00:07
yahooooo2 left,
yahooooo joined
00:08
eternaleye_ joined
|
|||
Auzon | rakudo: try {my @o = (1..5); @o>>++;}; say "lives ok" | 00:11 | |
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:12
rian left
00:16
IllvilJa left,
yahooooo left
00:17
yahooooo joined
|
|||
speckbot | r14550 | larry++ | fixed "samebase" illogic pointed out by moritz++ | 00:36 | |
00:52
sri_work left
|
|||
speckbot | r14551 | larry++ | added <...> et al. as suggested by ruoso++ | 00:55 | |
01:05
[particle] left
|
|||
pugs_svnbot | r20765 | lwall++ | [STD] parse (and use) <...> | 01:09 | |
01:11
Jedai left
|
|||
pugs_svnbot | r20766 | lwall++ | [STD] s/basechar/ignoreaccent/ | 01:21 | |
Auzon | We're renaming basechar? | 01:22 | |
Err, never mind | |||
I thought you meant samebase. | 01:24 | ||
TimToady | that too | ||
is now sameaccent | |||
.oO(Kato! What have you done to my rheum?) |
01:25 | ||
Auzon | perl6: a|bc|def.perl.say | 01:26 | |
perl6: a|bc|def.values.perl.say | |||
p6eval | kp6 r20766: OUTPUT[no method 'APPLY' in Class 'Undef' at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345 | ||
..pugs: OUTPUT[*** No such subroutine: "&a" at /tmp/ctZsmlQh7U line 1, column 1 - line 2, column 1] | |||
..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) | |||
..elf r20766: OUTPUT[Undefined subroutine &GLOBAL::a called at (eval 14) line 3. at ./elf_f_faster line 4496] | |||
kp6 r20766: OUTPUT[syntax error at position 20, line 1 column 20:a|bc|def.values.perl.sa ^ HERE] | |||
..pugs: OUTPUT[*** No such subroutine: "&a" at /tmp/wx7y1pyUsZ line 1, column 1 - line 2, column 1] | |||
..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) | |||
..elf r20766: OUTPUT[Undefined subroutine &GLOBAL::a called at (eval 14) line 3. at ./elf_f_faster line 4496] | |||
TimToady | precedence | ||
not to mention quotes... | 01:27 | ||
Auzon | pugs: say (1|2|3).perl | ||
p6eval | OUTPUT[(1 | 2 | 3)] | ||
Auzon | pugs: say 1|2|3.perl | ||
p6eval | OUTPUT[any(VInt 1,VInt 2,VStr "3")] | ||
TimToady | that's wrong | ||
Auzon | which part? | 01:28 | |
TimToady | that should parse as (say 1)|2|(3.perl) | ||
er, rather | |||
say (1|2)|(3.perl) | |||
oh, wait, that's what it idi | 01:29 | ||
*did | |||
see the quotes around "3" | |||
diakopter sees | |||
Auzon | Yes. | ||
Which is why I shouldn't mix functional calls and method calls. | |||
Not that it'd help here | |||
pugs: perl(1|2|3) | 01:30 | ||
p6eval | RESULT["(1 | 2 | 3)"] | ||
rhr | what is say(1|2) supposed to print? | ||
TimToady | lists don't autothread | ||
so it's whatever 1|2 stringifies to as a junction | 01:31 | ||
Auzon | pugs: say ~(1|2) | ||
p6eval | OUTPUT[any(VStr "1",VStr "2")] | ||
rhr | is that just unspecced on purpose? | ||
TimToady | that lists don't autothread? that's specced somewhere... | 01:32 | |
rhr | no, ~(1|2) | ||
TimToady | it is not specced how Junction should stringify | ||
rhr | ok | ||
TimToady | but making it the same as Junction.perl is probably reasonable | 01:33 | |
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:34 | |
01:34
r0bby joined,
[particle] joined
|
|||
TimToady | I presume you mean really multimethods and not multisubs | 01:34 | |
01:35
japhb left
|
|||
TimToady | I've argued that one both ways in my head | 01:35 | |
I think current spec says that you determine which class to dispatch to before you do multiple dispatch within that class's multimethods | |||
if I recall... | 01:36 | ||
but not ifn't I don't recall... | |||
biab & | 01:37 | ||
Auzon | Thanks TimToady++ | ||
01:37
Helios- left
01:38
Helios- joined
|
|||
pugs_svnbot | r20767 | Auzon++ | [gsoc_spectest] New tests for parallel dispatch in S12. (21 tests added) | 01:42 | |
02:08
elmex left
02:10
cls_bsd_ is now known as cls_bsd
02:12
meteorjay left
02:32
pmichaud_ joined,
pmichaud left
02:36
felipe left
02:44
japhb joined
02:50
Limbic_Region left
03:09
pbuetow left
03:23
felipe joined
03:25
Entonian joined
03:39
redicaps joined
04:22
Entonian_ joined
|
|||
pugs_svnbot | r20768 | diakopter++ | [yap6] well, the grammar engine is stabilized/reliable; | 04:22 | |
r20768 | diakopter++ | now the grammar needs fixin' | |||
04:22
Entonian left
04:31
alc joined
04:53
iblechbot joined
05:01
[particle] left
05:02
Eevee joined
05:08
Eevee__ left
05:09
iblechbot left
05:33
Eevee_ joined
05:35
Eevee left
05:44
Entonian_ left,
Entonian_ joined
05:45
barney joined
05:46
Entonian_ left
05:52
Eevee__ joined
05:53
Eevee_ left
05:57
barney left
06:15
simcop2387 joined
06:21
nipotan is now known as nipotaway,
Psyche^ joined
06:30
meppl joined
06:35
Patterner left,
Psyche^ is now known as Patterner
06:37
Eevee__ is now known as Eevee
06:49
diakopter left,
bbkr_ left,
qmole left,
kolibrie left,
PerlJam left,
TimToady left,
kcwu left,
cls_bsd left,
gugod left,
perlbot left,
silug left
06:51
TimToady joined,
silug joined,
qmole joined,
bbkr_ joined,
kcwu joined,
cls_bsd joined,
kolibrie joined,
gugod joined,
PerlJam joined,
diakopter joined,
perlbot joined,
irc.freenode.net sets mode: +o TimToady
07:05
pmurias joined
07:13
wknight8111 left
07:15
bacek left
07:18
ting left,
ting joined
07:19
ting left
07:22
iblechbot joined
07:35
viklund left,
Jedai joined
07:38
viklund joined
07:41
redicaps left
07:51
elmex joined
07:52
felipe left
08:26
fullermd left
08:51
jiing left
09:05
meppl left
09:14
Ched- joined
09:15
Ched- left
|
|||
rakudo_svn | r28257 | jonathan++ | [rakudo] Fill out the implementation of ^.., ..^ and ^..^ operators. | 10:24 | |
10:26
vixey joined
10:50
ludan joined
11:06
fullermd joined
|
|||
rakudo_svn | r28258 | jonathan++ | [rakudo] Fix trailing whitespace. | 11:14 | |
r28259 | jonathan++ | [rakudo] Add min and max to list. Patch courtesy of Vasily Chekalkin (bacek++). | 11:16 | ||
11:18
felipe joined
11:36
iblechbot left
11:39
mjk joined
11:52
rindolf joined
11:53
Lorn left
12:09
alc left
12:15
rindolf left
12:24
wknight8111 joined
12:26
bacek joined
12:37
cognominal_ left
12:43
renormalist joined,
Jedai left
12:46
Jedai joined
13:03
cmarcelo joined
|
|||
rakudo_svn | r28263 | jonathan++ | [rakudo] A few changes to get us a little further along with role attributes. | 13:08 | |
13:13
pbuetow joined
13:19
iblechbot joined
|
|||
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 | |
13:25
sri_work joined
|
|||
pugs_svnbot | r20769 | jnthn++ | [spectest] A couple of basic tests for role attribute composition. | 13:31 | |
rakudo_svn | r28265 | jonathan++ | [rakudo] Get accessor and handles methods of roles in the correct namespace, making composition of public attributes work. | 13:32 | |
r28266 | jonathan++ | [rakudo] Add passing regression test for some basic role attribute composition to spectest_regression. | 13:34 | ||
13:41
eternaleye_ left,
alc joined
13:51
sscaffidi joined
14:07
chris2 joined,
Ara4n left,
Ara4n joined
14:12
cognominal_ joined
14:15
alester joined
14:34
jhorwitz joined
14:44
IllvilJa joined
14:46
ruoso left
|
|||
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 | |
14:52
ruoso joined
|
|||
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. | 14:55 | |
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:11 | ||
15:13
renormalist left,
stevan_ left
15:19
[particle] joined
15:26
[particle]1 joined
15:32
mjk left
15:36
alc left
15:42
stevan_ joined
15:53
pmurias left
16:04
gbarr joined
16:07
[particle] left
16:29
aindilis left
16:43
mncharity joined
16:44
armagad left
|
|||
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 | |
16:48
armagad joined
|
|||
mncharity | kolibrie: re exercise Cursor5 engine, you might find svn.pugscode.org/pugs/misc/pX/Commo..._engine/t/ of use, though it's based on a somewhat outdated rx syntax. | 16:50 | |
lambdabot | Title: Revision 20770: /misc/pX/Common/yet_another_regex_engine/t, tinyurl.com/5ujc2g | ||
16:50
armagad left,
eternaleye_ joined
16:53
pmurias joined
16:59
kanru left
17:00
gbarr left
17:04
iblechbot left,
nipotaway is now known as nipotan
17:09
alester left
|
|||
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:12 | |
diakopter | pmurias: I strictified yap6 for you | 17:17 | |
pugs_svnbot | r20771 | diakopter++ | [yap6] added a new memoization/recursion-escape technique. | ||
r20771 | diakopter++ | The diff is very very long. | |||
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:18 | |
17:19
Southen_ joined
|
|||
diakopter | I forgot to say, O(n) parsing, even when the grammar is filled with left recursive rules (both direct and indirect). | 17:19 | |
which I *know* will be the case with this grammar..... | |||
commutativity & | |||
17:23
ludan left
|
|||
pmurias | diakopter: comutativity = commuting? | 17:26 | |
17:30
Southen left
17:33
r0bby left
17:39
t35t0r joined
|
|||
t35t0r | woo autothreading | 17:42 | |
17:44
pbuetow left,
pbuetow joined
|
|||
pmurias | diakopter: why don't use overload -- instead of using a source filter? | 17:45 | |
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 | ||
..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:47
pbuetow left,
pbuetow joined
17:48
eternaleye_ left
|
|||
pmurias | s/don't/not/ | 17:50 | |
diakopter | pmurias: yeah commuting; a pun | 17:52 | |
pmurias: how would I use overload for what the source filter is doing | 17:53 | ||
pmurias | looking in the camel more& | ||
mncharity | netropolis.org/hash/70-lisp-and-perl :) | 17:54 | |
lambdabot | Title: Lisp and Perl | ||
mncharity | pmurias: re time, neat. :) | ||
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:59
iblechbot joined
|
|||
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:02 | |
18:02
bnjmn-- left
|
|||
pmurias | diakopter: why do you need all those declarations? | 18:02 | |
are there used elsewhere then for creating the subs? | 18:06 | ||
a rule foo {...} could be replaced by rule foo => sub {...} or rule 'foo' {} which would create the appropriate sub and %N entry | 18:08 | ||
diakopter | pmurias: yeah; I couldn't use ++, so I worked around it with a source filter :D | 18:09 | |
the declarations are necessary so the scalars are created before the coderefs are created | |||
pmurias | why do you need the scalars? | ||
diakopter | because the rules refer to each other | ||
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:11 | ||
even if they're assigned coderefs in main | |||
anyway, obviously the grammar could be in a separate file and then the package file generated and then eval'd from it... | 18:12 | ||
pmurias | diakopter: you are doing it to enable sub foo {bar}; sub bar {...} style thing? | 18:13 | |
with &foo being declared later in the file then being defined? | 18:14 | ||
diakopter | yes | ||
18:14
Southen joined
|
|||
diakopter | any other ideas on implementing that? | 18:14 | |
pmurias | use foo() instead of foo | 18:15 | |
diakopter | do you mean sub foo() {} or sub bar { foo() } | 18:16 | |
pmurias | sub bar { foo() } | ||
diakopter | yeah, I could use that, but that's too many arcs | ||
:P | 18:17 | ||
18:17
eternaleye joined
|
|||
diakopter | not too many to type, I mean (obviously)... too many to look at | 18:17 | |
diakopter wonders if an entire package can be eval'd like that | 18:20 | ||
and if it would persist.. | 18:21 | ||
pmurias | diakopter: you have a list of sub foo();sub bar();... on top | 18:22 | |
* could have | |||
18:23
r0bby joined
|
|||
diakopter | it's not the functions that are the problem, anyway, it's the my $Uppercase = parser { $lowercase->(@_) } that are the problem | 18:23 | |
pmurias | what to use you the $Uppercase for? | 18:24 | |
diakopter | Uppercase is what lowercase() returns | ||
it's the generated parser | |||
parser sub { lower... } builds the parsers | |||
pmurias | why can use have rule 'lowercase' {} create &lowercase | ||
diakopter | based on how they're declared below it | ||
pmurias | s/can use/can't you/ | 18:25 | |
diakopter | I tried that, but would you declare them as "our"? | ||
b/c I couldn't get them to persist | |||
pmurias | with sub lowercase(); at the top allowing you to omit parens | ||
all subs are our in p5 | 18:26 | ||
well global | |||
diakopter | no, I mean $U and $l | ||
pmurias | throw $U and $l away | ||
diakopter | they have to be there | 18:27 | |
pmurias | what for? | ||
18:27
pmichaud_ is now known as pmichaud
|
|||
pmurias | you only use them to generate &l | 18:27 | |
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 | ||
pmurias | it's possible to that withought tem | ||
s/tem/them | 18:28 | ||
diakopter | I'll be impressed.... I mean, if MJD couldn't figure it out... :P | ||
18:28
Southen_ left
|
|||
diakopter | so you'd have sub rule ($&) { eval qq{ sub $_[0] { \$.... what? | 18:30 | |
parser {} returns a coderef... what would you call this coderef? | 18:32 | ||
18:32
t35t0r left
|
|||
pmurias | i wouldn't use eval | 18:32 | |
diakopter | I suppose parser could stash it in a hash | ||
pmurias | is yap6 supposed to work right now? | ||
diakopter waits for pmurias to explain the idea | 18:33 | ||
pmurias: nope | |||
well, it should work with "use v6;" :) | |||
pmurias | yap6: use v6;1; | 18:34 | |
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 | ||
..failed--compilation aborted at lib/Perl6in5/Compiler/Parser.pm lin... | |||
diakopter | yup | ||
moritz_: Auzon: Tie::IxHash ? | |||
Auzon checks | 18:35 | ||
diakopter | you asked whether yap6 works, not "yap6:" | ||
pmurias | yes | ||
got back something strange :{...}, so i guess it does | |||
Auzon | yap6: 1 | 18:36 | |
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 => | ||
..9,line => -1}] | |||
pasteling | "diakopter" at 209.9.237.164 pasted "sorta broken" (4 lines, 276B) at sial.org/pbot/31292 | ||
diakopter | heh | 18:37 | |
I didn't realize it can stringify a re | |||
obviously the ast part doesn't work yet... also, don't give it anything longer; it ulimit/segfaults | 18:38 | ||
pmurias | i'll do the refactoring then | ||
diakopter | wait, just give me 1 rule example | ||
pmurias | i intend to do it for 1 rule first | ||
you can revert if you wish | 18:39 | ||
diakopter | ok; cool | ||
18:45
cjfields joined
|
|||
pmurias | execnow {...} is just do {...}? | 18:46 | |
diakopter | rakudo: 1;; | ||
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) | ||
diakopter | pmurias: I guess so, yeah... obviously that shouldn't be necessary with your change | 18:47 | |
18:48
barney joined,
ilogger2 joined
|
|||
cjfields | perl6: say "ABCDEFGH".trans( ('A..CE..G' => ' a..c e..g '); | 18:51 | |
p6eval | kp6 r20771: OUTPUT[syntax error at position 20, line 1 column 20:say "ABCDEFGH".trans( ('A..CE..G' => ' a..c e..g ') ^ HERE] | ||
..pugs: OUTPUT[***  Unexpected end of input expecting ":", identifier or ")" at /tmp/FQw8LW0euz line 2, column 1] | |||
..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) | |||
..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' | |||
..STD_red/std.rb:210:in `_UNIT' ./../STD_red/STD_red_run:108:in `... | 18:52 | ||
cjfields | perl6: "ABCDEFGH".trans( ('A..CE..G' => ' a..c e..g ')); | ||
p6eval | kp6 r20771: OUTPUT[no method 'trans' in Class 'Str' at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345 | ||
..pugs: RESULT["abcDefgH"] | |||
..rakudo r28278: OUTPUT[too few arguments passed (2) - 3 params expectedcurrent instr.: '_block11' pc -340016394 ((unknown file):-1) | |||
..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] | |||
cjfields | Don't know if TimToady is around, but how should transliteration handle spaces | 18:53 | |
diakopter | replace them with time? | 18:54 | |
cjfields | like "ABCDEFGH".trans( ('A..CE..G' => ' a..c e..g ')), which has two Ranges with spaces | ||
diakopter: :D | 18:55 | ||
No, I mean if one wanted to transliterate a literal ' '. | |||
diakopter | provide the hex? | 18:57 | |
cjfields | S05 indicates that trans() uses a List of Pairs; each Pair key/val could be an Array, Range, or string | ||
I thought of that, but there is this one: | 18:58 | ||
perl6: say " <>&".trans( (['<', '>', '&', ] => ["<", ">", "&" ])) | 18:59 | ||
p6eval | kp6 r20771: OUTPUT[no method 'trans' in Class 'Str' at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345 | ||
..pugs: OUTPUT[ <>&] | |||
..rakudo r28278: OUTPUT[too few arguments passed (2) - 3 params expectedcurrent instr.: '_block11' pc -339180784 ((unknown file):-1) | |||
..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] | |||
cjfields ignoring rakudo for the moment; that's what I'm trying to implement... | |||
perl6: say " <>&".trans( ([' ', '<', '>', '&' ] => [' ', '<', '>', '&' ])) | 19:00 | ||
p6eval | kp6 r20771: OUTPUT[no method 'trans' in Class 'Str' at compiled/perl5-kp6-mp6/lib/KindaPerl6/Runtime/Perl5/MOP.pm line 345 | ||
..pugs: OUTPUT[ <>&] | |||
..rakudo r28278: OUTPUT[too few arguments passed (2) - 3 params expectedcurrent instr.: '_block11' pc -340315406 ((unknown file):-1) | |||
..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] | |||
cjfields | I'm assuming the Array form only accepts single characters for the key, while the value can be any length | 19:02 | |
pmichaud | I think that spaces are significant in the translation keys | ||
cjfields | That's what I thought, but the spec test indicate otherwise | ||
pmichaud | the spec tests can be wrong. | ||
that's why we're reviewing them. :-) | |||
also, I think it's likely that the test was written before the current version of trans() in S05. | 19:03 | ||
diakopter | sometimes, all three of: the spec, the spectests, and the implementations are wrong... | ||
19:04
rindolf joined
|
|||
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:06 | |
but I have a p6 grammar that gets through that bit | 19:07 | ||
Just trying to work out the whitespace bit. I'll see how p5 deals with it for now. | 19:08 | ||
pmichaud | (supposed to be converted to a List) ... where did you see that? | ||
cjfields | "The two sides of any pair can be strings interpreted as tr/// would: $str.=trans( 'A..C' => 'a..c', 'XYZ' => 'xyz' );" | 19:09 | |
pmichaud | but that doesn't say anything about converting the strings into a list. | ||
cjfields | Wouldn't 'A..C' be ( | 19:10 | |
('A', 'B', | 19:11 | ||
'C') | |||
cjfields hitting 'Enter' too many times | |||
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:12 | ||
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:13 | |
I'm not saying it cannot be doing with a List, only that I don't see it being required by the spec. | |||
s/doing/done/ | |||
cjfields | okay, I see what you mean | 19:14 | |
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 | ||
19:18
macae joined
|
|||
pmichaud | coool. | 19:19 | |
19:21
macae left
|
|||
diakopter | pmurias: any progress? :) I'm excited to see what you create | 19:22 | |
rakudo: (; ;) | |||
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) | ||
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:23 | |
diakopter | elf: (; ;) | 19:24 | |
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] | ||
diakopter | pugs: (; ;) | ||
p6eval | OUTPUT[***  Unexpected ";" expecting expression or ")" at /tmp/oRDTG6f2Js line 1, column 2] | ||
pmichaud | heh. | ||
we're all confused. | |||
diakopter | yap6: (; ;) | ||
p6eval | yap6 r20771 OUTPUT[syntax error (or degenerate/incomplete grammar) at line 0 col 1 near "; ;)"Expected: "only".] | 19:25 | |
diakopter | Expected "only" lol | ||
mncharity briefly wonders why p6 implementations are being fed orange smiley faces... | |||
pmichaud | because the lemon ones are too tart. | 19:26 | |
diakopter | kp6: (; ;) | ||
p6eval | kp6 r20771: OUTPUT[syntax error at position 0, line 1 column 0:(; ;^ HERE] | ||
mncharity | :) | 19:27 | |
diakopter | yap6: say 4; | 19:28 | |
p6eval | yap6 r20771 OUTPUT[parse successful:{inp => "use v6;\nsay 4;",success => 1,want => "package",name => "/tmp/tKCrKUX1B0",hit => "",ast => [["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],["EOI"]],mut => 0,backed => | ||
..0,col => 6,fated => 1,pos => 14,line => -1}] | |||
diakopter | that's quite the ast :P | ||
pmurias | diakopter: it turned out the issue is more complex then i think, but i'm steadily moving in the right directions proximity | ||
diakopter | I guess now I should tell you I wasted probably 8 hours last week trying to work around it myself... | 19:29 | |
well, not wasted. I learned a lot. | |||
mncharity | i'm puzzling over the question of when exactly we'll start seeing people writing in p6 again. | 19:31 | |
does pugs' ext/ figure in the rakudo project vision anywhere? or is the code too stale, and authors all gone. | |||
moritz_ | mncharity: ext/CGI/ nearly works on rakudo | 19:32 | |
mncharity: and I plan to get ext/Sudoku/ running as well | |||
mncharity | :) | ||
any feel for when those might be possible? | 19:33 | ||
moritz_ | not really | 19:35 | |
mncharity | :/ ok, tnx | ||
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:39 | |
diakopter | pugs: say;; | ||
p6eval | OUTPUT[] | ||
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:41 | |
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:48 | |
pmurias | pX means? | 19:49 | |
p(5|6)? | |||
19:49
ron joined
|
|||
ron | pugs: say 'hello';; | 19:50 | |
p6eval | OUTPUT[hello] | ||
diakopter | p-56 | ||
mncharity | re 5|6, yes. | ||
diakopter | /usr/bin/perl56 | ||
19:50
ron left
|
|||
pmurias | mncharity: do you think a CL backend would beat perl5? | 19:51 | |
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:52 | |
re CL faster than p5, yes, no question. and critically, abstractions can compile away, | 19:53 | ||
moritz_ | mncharity: features on demand would bring people back to p6 | ||
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...". | ||
diakopter | maybe they're/we're waiting for Dlugosz to finish his rigorous spec doc | 19:54 | |
mncharity | "features on demand"? | ||
pmurias | "we write a test, you write the feature" | ||
moritz_ | right | ||
mncharity | ah... ok. yes, that was very nice. | 19:55 | |
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:58 | ||
pmurias | re intrested in writing p6, you mean the point when people start playing with it or writing (semi-) serious stuff in it | ||
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:59 | |
diakopter | why doesn't someone melt these shotgun pellets into a bullet... | 20:00 | |
oh yeah; b/c there's no rifle... | 20:01 | ||
mncharity | re meaning of intrested in writing p6, people writing ext/ like things? not sure if that's play or semi-serious. | ||
creating order 10 classes and at least high order 100 lines of code with the indent of doing something? | 20:03 | ||
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:04 | |
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:05 | |
pugs_svnbot | r20773 | pmurias++ | [yap6] initial try at removing some of the boilerplate | ||
pmurias | diakopter: checked my attempt in | ||
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 | www.perl.com/pub/a/2001/04/02/wall.html grep RFC 141 | 20:10 | |
lambdabot | Title: perl.com: Apocalypse 1: The Ugly, the Bad, and the Good | ||
diakopter | ooo neat | 20:11 | |
mncharity | dev.perl.org/perl6/doc/design/apo/A...r_Revision | ||
lambdabot | Title: Apocalypse 1: The Ugly, the Bad, and the Good - perl6, tinyurl.com/5h4mfl | ||
diakopter | pmurias: looks good to me.. thanks! | 20:16 | |
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 | ||
diakopter | nah; the order doesn't matter..., although it might if the parser generator functions were memoized | 20:17 | |
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. | ||
diakopter can't believe the first attempt at implementing packrat_TR-2007-002.pdf is actually sorta working | 20:18 | ||
the current grammar creates 541 parser objects | |||
pmurias | mncharity: i'm not a typical perl coder, so i can't really help you with finding out what motivates others | 20:20 | |
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:21 | |
[particle]1 | mncharity: nobody knows about what you're doing, because there's 125 people in the room, and most are just lurking | 20:22 | |
use email, blog, share with the world! | |||
you need to let people know what you're doing, and why it matters to them | |||
vixey | what is happening with elf now? | 20:23 | |
pugs_svnbot | r20774 | jnthn++ | [spectest] Couple more tests for attribute composition. | ||
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:27 | |
20:27
rindolf left
|
|||
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:27 | |
get the elf on CommonLisp backend bootstrap working, or add more-than-positional-arguments to the p5 backend, or | 20:28 | ||
or drop stuff from Snn into the preludes, or further patch std.rb so you can actually do that an have it parse, or | |||
there's a TODO file... | 20:29 | ||
[particle]1 | mncharity: it may be time, but not for me to write :) | 20:30 | |
mncharity | or pursue the rx_on_re translation/creation of an p6 rx engine, | ||
svn.pugscode.org/pugs/misc/elf/TODO | |||
has some of these | |||
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:35 | |
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:36 | |
diakopter | in fact, I barely remember what I was *going* to use them for. | ||
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:37 | |
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:39 | ||
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:42 | ||
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:45 | |
rakudo: our $x=3; temp $x =4; say $x; | 20:46 | ||
p6eval | rakudo r28281 OUTPUT[Could not find non-existent sub tempcurrent instr.: '_block11' pc 77 (EVAL_10:31) | ||
20:47
IllvilJa joined
|
|||
mncharity | hmm, "Why Perl 6 matters"... the ideas it has, and "why not just take those ideas to python/ruby/scala/javascript/(other?)". | 20:49 | |
diakopter watches evalglot in #parrot | 20:55 | ||
pmurias | implementing them in those languages would be difficult too | ||
mncharity | pmurias: which in which? | 20:56 | |
Auzon | APL and Tcl and BF and lolcode? | 20:57 | |
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 | |
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]: | 21:01 | |
r28284 | pmichaud++ | * Refactor Range a bit. | |||
mncharity | ruby, and perhaps js, aren't as well set up as python to do language extentions, eg, to add type information gracefully. | 21:02 | |
pmurias | mncharity: implementing perl6 ideas in python/ruby/scal/javascript would be hard too | 21:03 | |
mncharity | yes, but they have more active communities. | ||
than p6 | |||
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:05 | ||
so a "Why Perl 6 matters" has to address those questions. | 21:06 | ||
pmurias | by 'random neat p6 feature' you mean a syntactic, vm or semantic feature? | 21:10 | |
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. | ||
same for Hash. | |||
pmurias: syntactic or semantic, yes. p6, the langauge, doesn't have vm features. | 21:11 | ||
though p6 would of course be a nice language to _implement_ vm's in. | 21:13 | ||
and "real compile-time and aggressive compiler story, rather than merely jit", is one 'neat feature' vs rb/py/js. | 21:14 | ||
diakopter | pmurias: I can't get it to work with any more than 'program' | 21:15 | |
pmurias | hm | ||
diakopter: i converted usev6 withought problems | 21:18 | ||
diakopter: what errors do you get | 21:19 | ||
pugs_svnbot | r20775 | pmurias++ | [yap6] | ||
r20775 | pmurias++ | removed debugging leftover | |||
r20775 | pmurias++ | usev6 converted | |||
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:20 | |
diakopter | I converted stmtList | 21:21 | |
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. | ||
pmurias | you can ci the code and i'll try to fix it | ||
21:23
Jedai joined
|
|||
pmurias | i should be getting some sleep now& i'll backlog as always | 21:23 | |
mncharity | hmm. I suspect making p5 _easier_ to use in elf is very much the wrong direction. it | 21:24 | |
oh | |||
diakopter | pmichaud: it's b/c stmtList is self-referential | 21:25 | |
oops | |||
pmurias: | |||
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:26 | |
pmichaud | diakopter: ...? | 21:27 | |
mncharity | pmichaud: that was a misaddress I believe | ||
diakopter | pmichaud: I meant to say pmurias: | ||
pmichaud | oh, okay. | 21:28 | |
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:31 | |
but perhaps I've just overlooked some need for 'use p5;'? let me know... | |||
err, "not so much that we need it now...", but that it might attract developers,... | 21:32 | ||
21:35
Chillance joined
|
|||
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:42 | |
Ie, start writing the spec p6 prelude. | |||
Don't worry about the method bodies and such. just collecting the sigs would be valuable. | 21:43 | ||
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:46 | ||
proto? | 21:47 | ||
pugs_svnbot | r20776 | diakopter++ | [yap6] reverting pmurias' change; it worked 97% | 21:49 | |
spinclad | re netropolis 70-lisp-and-perl, that's xkcd.com/224/, unattributed (and rescanned??)... # xkcd++ | ||
lambdabot | Title: xkcd - A webcomic of romance, sarcasm, math, and language - By Randall Munroe | ||
21:50
Jedai left
|
|||
spinclad | mncharity: re CL/p6 Array implementation: interesting idea. will think about it more later tonight when i've more time. | 21:51 | |
mncharity | netropolis-- #unattributed | ||
:) | 21:52 | ||
Auzon | xkcd++ # generally awesome | ||
mncharity | indeed | 21:53 | |
Auzon | actually, it's linked from xkcd directly. | ||
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:54 | |
anything to promote common progress... | 21:55 | ||
spinclad afk, bbi4h & ~~ | 21:56 | ||
mncharity | at least having a single set of signatures would be neat. | ||
just as STD.pm is useful as a reference, even if it can't be used directly yet. | |||
rakudo: class A{}; multi infix:<+>(A $x,A $y){3}; my $a = A.new; say $a + $a; | 21:57 | ||
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) | ||
mncharity | pugs: rakudo: class A{}; multi infix:<+>(A $x,A $y){3}; my $a = A.new; say $a + $a; | 21:58 | |
p6eval | OUTPUT[3] | ||
mncharity | pugs: thatwasodd: say 3; | 21:59 | |
Auzon | Woah, I didn't know that Rakudo could do that yet | ||
p6eval | OUTPUT[3] | ||
mncharity | can't. evalbot artifact. | ||
oh, of course. foo: is a label. | |||
not artifact. | |||
pugs_svnbot | r20777 | diakopter++ | [yap6] fixes/breakages | 22:04 | |
22:19
Limbic_Region joined
|
|||
mncharity | rakudo: sub infix:<+>{say $?ROUTINE}; infix:<+>(2,3); | 22:31 | |
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) | ||
mncharity | pugs: sub infix:<+>{say $?ROUTINE}; infix:<+>(2,3); | ||
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>, | ||
..pe_flags = MkEntryFlags {ef_isContext = False}, pe_st... | |||
mncharity | pugs: sub infix:<+>{3}; say &infix:<+>; | 22:32 | |
p6eval | OUTPUT[<SubRoutine(&infix:+)>] | ||
mncharity | pugs: sub circumfix:<( )>{3}; say &circumfix:<( )>; | 22:33 | |
p6eval | OUTPUT[<SubRoutine(&circumfix:( ))>] | ||
mncharity | pugs: sub circumfix:<( )>{3}; say &circumfix:<( )>.perl; | ||
p6eval | OUTPUT[\sub :(@_) "$_" := "Scalar" #<Scalar:0xb66534d4> "@_" := "Array" #<Array:0xb66537c0> "&?ROUTINE" := "Sub" #<Sub:0xb66022b0> "&?BLOCK" := "Sub" #<Sub:0xb66022b0> {"$_" := "Scalar" #<Scalar:0xb6653538> "@_" := | ||
.."Array" #<Array:0xb665357c> ... | |||
Tene | Hey, anyone have access to install Bot::BasicBot on feather? | 22:34 | |
[particle]1 | i may, but i haven't logged on there since....... | 22:39 | |
Juerd | Tene: Installed | 22:46 | |
Tene | Hey, Juerd, you cool with me running an evalbot on feather1? | ||
22:47
if joined
|
|||
Tene | Juerd: Can you get Config::File, too? | 22:47 | |
Juerd | Tene: Actually, I would prefer if you could run it on the dedicated eval virtual machine. | ||
22:47
if is now known as FurnaceBoy
|
|||
Tene | Juerd: where's that? | 22:48 | |
Juerd | Tene: It's feather3 | ||
Tene: Hold on, I'm making you an account | |||
[particle]1 | ah, feather3 | ||
juerd++ | |||
Tene | sweet | ||
[particle]1 | another SLAVE | ||
Juerd | Tene: Your username is tene, your password is changeme (change it :)), you have sudo access. Have fun! | 22:49 | |
Juerd watches everyone in #perl6 rushing to abuse the root access ;) | |||
Tene: Please make things reboot proof | 22:50 | ||
Tene | What's the standard way to install perl modules on debian? | ||
22:51
drbean left
|
|||
Juerd | Tene: cpan Foo::Bar | 22:51 | |
;) | |||
Tene: If the module is in the Debian repository, you're better off installing it with apt-get install libfoo-bar-perl | |||
Tene | Ouch. Okay. | ||
Juerd | But if it's not, there's little reason to build debian packages on a box like feather3. | 22:52 | |
Tene | Juerd: what's a good interval for rebuilding parrot on that system? Alternately, is there already a parrot build on taht system? | ||
Juerd | Tene: A good interval: eh, every 15 minutes, if there's a new revision. Something like that? | ||
No, there's no parrot on feather3 yet. | 22:53 | ||
(Besides that, I think it's a good idea to build a local copy, so you control all parameters) | |||
Tene | Okay. | ||
Juerd | Consider using ulimits, chroot, and nice | ||
23:06
pbuetow joined
|
|||
[particle]1 | tene: you know your way around debian apt-get? | 23:09 | |
Tene | Mostly. | 23:10 | |
[particle]1 | ok, probably better than me, then :) | ||
mncharity | pugs: sub ☺ {3}; say ☺(); | 23:21 | |
p6eval | OUTPUT[***  Unexpected "\9786" expecting "=", subroutine parameters, trait or block at /tmp/YFcdJ4Mgh6 line 1, column 5] | ||
mncharity | rakudo: sub ☺ {3}; say ☺(); | ||
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) | ||
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:22
yahooooo2 joined
|
|||
Juerd | mncharity: ☺ is not alpha | 23:23 | |
Maybe prefix:<☺> () would work. | |||
[particle]1 | unicode is turned off in rakudo atm, unless declared via command-line switch | ||
parrot's utf8 io is sloooooow | 23:24 | ||
Juerd | Why? | ||
[particle]1 | i think it's the lookahead required | 23:25 | |
Juerd | How do you define lookahead? | ||
[particle]1 | i mean variable width chars | ||
glyphs, whatever | |||
Juerd | Until you actually *do* something with the string (which isn't very relevant for I/O), you can computer the length pretty fast: www.daemonology.net/blog/2008-06-05...trlen.html | 23:26 | |
23:26
FurnaceBoy left
|
|||
lambdabot | Title: Even faster UTF-8 character counting, tinyurl.com/4w9cbw | 23:26 | |
[particle]1 | ok, maybe it's the downcase op that's causing the slowness | ||
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:27 | |
[particle]1 | there's a thread or two, maybe an rt ticket in the parrot queue related to this | ||
yep | |||
atm we're using icu | |||
Juerd | What's the downcase op? | ||
[particle]1 | we need to roll our own though for folks for those without icu | ||
translating upper to lower case for icu chars | |||
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 | ||
[particle]1 | it's a lack of pge optimizations causing the slowness | 23:28 | |
or how pge currently deals with utf8, anyway | |||
Juerd | Hm. I don't understand why PGE should have to deal with utf8 | ||
IIRC parrot used some simpler internal representation for strings | 23:29 | ||
[particle]1 | it makes the parser very slow if the text is utf8 | ||
no | |||
Juerd | One that supposedly would be faster | ||
[particle]1 | parrot string impl is still a prototype | ||
Juerd | Aha | 23:30 | |
23:50
IllvilJa left
|
|||
mncharity | Juerd: thanks :) | 23:56 | |
23:56
FurnaceBoy joined
|