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. |
|||
00:13
ujwalic left
00:16
Eevee left
00:36
eternaleye_ left
00:55
cjfields joined
|
|||
cjfields | pugs: class Foo { has $.x; has $.y; } my $f1 = Foo.new(:x(1), :y(100)); say $f1.x; say $f1.y; | 00:55 | |
exp_evalbot | OUTPUT[1100] | ||
cjfields | rakudo: class Foo { has $.x; has $.y; } my $f1 = Foo.new(:x(1), :y(100)); say $f1.x; say $f1.y; | ||
exp_evalbot | OUTPUT[Statement not terminated properly at line 1, near "my $f1 = F"current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82)called from Sub 'parrot;Perl6::Grammar;statementlist' pc 16808 (src/gen_grammar.pir:2398)called from Sub | ||
..'parrot;Perl6::Grammar;statement_block' pc 13979 (src/gen_grammar.pir:1384)called f... | |||
cjfields | rakudo: class Foo { has $.x; has $.y; }; my $f1 = Foo.new(:x(1), :y(100)); say $f1.x; say $f1.y; | 00:57 | |
exp_evalbot | OUTPUT[1100] | ||
cjfields | Hmm.... looks Rakudo requires ';' after class declaration on a one-liner. | 00:58 | |
Not so for multi-line script. | |||
pugs: class Foo { has $.x; has $.y; }; my $f2 = Foo.new(x => 1, y => 100); say $f2.x; say $f2.y; | 01:00 | ||
exp_evalbot | OUTPUT[1100] | ||
cjfields | rakudo: class Foo { has $.x; has $.y; }; my $f2 = Foo.new(x => 1, y => 100); say $f2.x; say $f2.y; | ||
exp_evalbot | OUTPUT[1] | ||
Juerd | cjfields: IIRC that's in all of Perl 6 - ; is required except when } is on a line by itself | ||
dev.perl.org/perl6/doc/design/syn/S04.html | 01:01 | ||
lambdabot | Title: Synopsis 4: Blocks and Statements - perl6 | ||
Juerd | "Statement-ending blocks" | 01:02 | |
cjfields | juerd: thanks for the pointer. pugs doesn't require that. | ||
guess that hasn't been updated. | 01:03 | ||
Looks like rakudo is not catching the last Pair in the above example, whereas pugs does | 01:05 | ||
rakudo: class Foo { has $.x; has $.y; }; my $f2 = Foo.new(x => 1, y => 100); say $f2.x; say $f2.y; | 01:09 | ||
exp_evalbot | OUTPUT[1] | 01:10 | |
cjfields | pugs: class Foo { has $.x; has $.y; }; my $f2 = Foo.new(x => 1, y => 100); say $f2.x; say $f2.y; | ||
exp_evalbot | OUTPUT[1100] | ||
cjfields | I'm guessing this is Hash-related (maybe something not implemented)? | 01:12 | |
01:14
yewenbin joined
01:28
alester joined
01:36
Skapillie joined
01:42
Skapillie left,
alester left,
cjfields left
01:43
cjfields joined
01:50
syle joined
01:51
eternaleye_ joined
02:03
pravus left
02:06
alester joined
02:21
Gothmog_ left,
yath left,
gbacon left,
gbacon joined
02:27
pravus joined
02:29
Eevee joined
02:30
alester left
02:32
cjfields left
03:07
alester joined
03:17
justatheory left
03:25
justatheory joined
03:30
eternaleye joined
03:31
syle left,
eternaleye_ left
03:33
eternaleye left
03:34
eternaleye joined
03:40
wknight8111 left
03:42
pbuetow_ joined
03:51
syle joined
03:53
justatheory left
03:54
pbuetow left
03:57
pbuetow_ left,
Gothmog_ joined
03:58
yath joined
04:00
vaughn left
04:24
joejaxx joined
04:48
rindolf joined
04:52
Psyche^ joined,
meppl joined
05:06
lerog left
05:09
Patterner left,
Psyche^ is now known as Patterner
05:10
Ched- joined
|
|||
TimToady | hmm, svnbot seems hosed now | 05:13 | |
05:27
[particle]ventus joined
05:37
Psyche^ joined
|
|||
rindolf | Hi all. | 05:43 | |
Hi TimToady | |||
TimToady: is it Monday there already? | |||
TimToady | not yet | 05:45 | |
my clock reads 22:39 or so | |||
05:50
Patterner left,
Psyche^ is now known as Patterner
|
|||
eternaleye | Holyshit I'm in the same timezone as TimToady | 05:55 | |
rindolf | TimToady: so it's still a holy day. | 05:58 | |
TimToady: not that I consider Sunday a holy day. | |||
TimToady: but that's because I'm an infidel! | |||
06:20
belon joined
06:21
Eevee left
06:38
overlast left
06:39
overlast joined
06:41
alester left
06:58
elmex joined
07:01
[particle]ventus left
07:02
iblechbot joined
07:10
BinGOs joined
|
|||
moritz_ | [particle]: are you around? | 07:33 | |
08:09
renormalist joined,
IllvilJa joined
08:28
masak joined
08:34
Auzon joined
08:35
masak left
08:39
masak joined
08:59
rindolf left
09:02
chris2 joined
09:09
alanhaggai joined
09:16
renormalist left
09:27
syle left
09:37
meppl left
09:40
cls_bsd joined
09:41
zamolxes_ left,
zamolxes joined
09:52
belon left
10:28
Patterner left
10:32
Patterner joined
10:38
renormalist joined
10:50
wknight8111 joined
|
|||
masak | can someone tell me a little more about the longest token matcher? | 10:52 | |
what role does it play in Perl 6? | |||
moritz_ | it's the thing that makes the grammar extensible | 10:53 | |
masak | in what sense? | ||
I thought the fact that the grammar is introspectible makes the grammar extensible | |||
10:54
gbacon left
|
|||
moritz_ | extensions are done by inheriting from the grammar, and adding new rules | 10:54 | |
for example you could add one in the statement_modifier: group | |||
if you use the derived grammar, all statement_modifier's are ORed together | 10:55 | ||
and all of them try to match | |||
and if multiple match, the longest wins | |||
masak | ok | ||
moritz_ | as opposed to perl 5 regexes where the first one win that matches | ||
masak | that makes sense | ||
moritz_ | which means that you'd have to provide an order | 10:56 | |
which makes things mucch more complicated | |||
masak | now I understand your description of it as that which makes the grammar extensible | ||
however, I hear Larry talking quite a lot about this | 10:57 | ||
what is the big challenge in implementing it? | |||
I'm asking out of curiosity, not audacity | |||
moritz_ | the challenge is to define its boundaries | 10:58 | |
masak | boundaries? | ||
moritz_ | there are things in Perl 6 rules that acts as "sequence points" | ||
and every alternatioin between two sequence points is subject to LTM | |||
so you have to take care that for example a twigil doesn't stop LTM | 10:59 | ||
because it would break extensibilty in most cases | |||
masak | can you give an example of a sequence point? | ||
moritz_ | code assertions for example | ||
masak | hm... | ||
moritz_ | or {*} in STD.pm | ||
masak | so, stuff with side effects? | 11:00 | |
moritz_ | yes | ||
11:00
smtms left
|
|||
moritz_ | and you need those for constructing a meaningful parse tree | 11:00 | |
so the hard question is "where should LTM stop?" | 11:01 | ||
masak | every time I read this, I understand it a little more: luqui.org/blog/archives/2007/01/19/...ed-vocabu/ | ||
lambdabot | Title: Perl 6 Rules: Elementary Compositionality and More Contrived Vocabulary @ The dr ..., tinyurl.com/6x9dum | ||
masak | basically, luqui argues that the extensibility that you described above can be bad, too | 11:02 | |
because it breaks old stuff in unexpected ways | |||
moritz_: I'm not sure I grok the "where should LTM stop" problem yet | 11:03 | ||
moritz_ | that's why you explicitly need to say which grammar should parse the code | ||
masak | I'll have to think about it | ||
11:05
smtms joined
|
|||
moritz_ | I'm no good at explaining this in a few lines on IRC | 11:05 | |
masak | I can understand that | 11:06 | |
those are deep issues | |||
followup q: are the assertions/{*} thingies needed to create the right parse tree because they can modify it? | |||
moritz_ | not really | 11:07 | |
masak | or just because the side effects can affect whether the parse tree is output at all? | ||
moritz_ | more because they have to actually *do* something | ||
like a 'sub foo { ... }' has to add sub foo to the symbol table | |||
masak | right | ||
moritz_ | and a BEGIN block has to run as soon as the closing curly is parsed | 11:08 | |
11:08
cosimo joined
|
|||
masak | moritz_: so, how does it affect the rest of the parse whether the sub `foo` is in the symbol table or not? | 11:09 | |
and what does it matter whether the BEGIN block is run as soon as the closing curly is parsed, or right after the whole file is parsed? | |||
moritz_ | BEGIN blocks can alter the grammar | 11:10 | |
and I think the symbol table can do that as well | |||
sub might be a bad example | |||
but for example it could matter if a class name is defined | |||
if not, it should throw a (parse) error | |||
masak | oy! | 11:11 | |
masak starts to see the complexities of this | |||
but tell me, how is it a problem for the LTM to just take a break at assertions/{*} and letting them have their fun? | 11:12 | ||
moritz_ | it would mean that the extensibilty is limited by implementation details | ||
masak | huh? how does that follow? | 11:13 | |
moritz_ | because you couldn't extend beyond anything that contains as closure or {*} | ||
at least that's my humble understanding of the issue | |||
masak | such as `this_is_one_ve{*}ry_long_token`? | ||
moritz_ | I think I'll have to reread on the details of LTM | 11:14 | |
masak | ich auch | 11:15 | |
Auzon | Hi moritz_ | 11:17 | |
moritz_ | hi Auzon | 11:19 | |
Auzon | I was reading some of the SoC posts, and they talk about separating the SoC commits into a separate branch or something similar. Will we need to do anything like that? | ||
moritz_ | I dunno, I tried to ask [particle] the same thing | ||
if we don't use a branch, at least mark all commits with a '[gsoc]' in the first line of the commit message | 11:20 | ||
then we can use the svn search to comb together all of your commits | |||
Auzon | Yeah, I figured we'd mark them somehow. It just seems silly to wait so long to merge changes back in, especially since my refactoring will help others that are adding tests. | 11:21 | |
moritz_ | let's wait for [particle] and his educated opinion, I never actually worked with branches :/ | ||
d'oh, the SVN search seems really broken | 11:22 | ||
moritz.faui2k3.org/svn-search/searc...or%3Aauzon | |||
lambdabot | Title: Pugs SVN search | ||
moritz_ | it lists the same revision all over again | ||
Auzon | indeed, it likes that commit ;) | 11:23 | |
moritz_ | it likes every commit multiple times | 11:24 | |
now I delete the index to build it again, and broke everything | 11:29 | ||
no, I was just too tentative ;) | 11:30 | ||
I deleted the contents | |||
but if I delete the whole directory, it starts anew | |||
YaY | |||
Auzon guesses that it's a bad idea to poke a rebuilding webapp | 11:31 | ||
neat tool though :) | 11:32 | ||
moritz_ | it should be safe, because the searches don't modify the index | ||
it will just say that it can't find anything until it's finished | 11:33 | ||
Auzon | ah, makes sense | ||
moritz_ | [X] done | 11:35 | |
but I suspect the indexer has a off-by-one error somewhere still | 11:36 | ||
11:37
cls_bsd left
11:42
muixirt joined
|
|||
muixirt | hi | 11:43 | |
Auzon | hi | ||
muixirt | rakudo: my Int $y=undef; say "Hallo Welt" | 11:44 | |
exp_evalbot | OUTPUT[Type check failedcurrent instr.: 'die' pc 7027 (src/gen_builtins.pir:4804)called from Sub '!TYPECHECKEDASSIGN' pc 7130 (src/gen_builtins.pir:4942)called from Sub '_block10' pc 71 (EVAL_11:27)called from Sub 'parrot;PCT::HLLCompiler;eval' pc 785 (src/PCT/HLLCompiler.pir:458)called from | ||
..Sub 'parrot;PCT::HLLCompiler;evalfiles' pc 1067 (... | |||
muixirt | pugs: my Int $y=undef; say "Hallo Welt" | 11:45 | |
exp_evalbot | OUTPUT[Hallo Welt] | ||
11:45
chris2 left
|
|||
moritz_ | afaict 'int' should forbid undef, 'Int' should allow it | 11:45 | |
muixirt | pugs: my int $y=undef; say "Hallo Welt" | 11:46 | |
exp_evalbot | OUTPUT[Hallo Welt] | ||
muixirt | moritz_: on my system rakudo even segfaults (0.6.1) | 11:47 | |
moritz_ | muixirt: I'm buliding the current parrot right now | ||
echo 'my Int $x = undef' | ../../parrot perl6.pbc | 11:49 | ||
Type check failed | |||
muixirt | what os? | 11:50 | |
moritz_ | muixirt: I just told jonathan, who implemented the type system | ||
Debian GNU/Linux 4.0 "Etch" | |||
muixirt | 32bit? | ||
11:51
pmurias joined
|
|||
moritz_ | aye | 11:51 | |
pmurias | moritz_: re [gsoc] isn't possible to search by nicknames? | ||
moritz_ | pmurias: of course it is, but who says that all of Auzon's commits will be soc sponsored? | 11:52 | |
Auzon | school & | 11:57 | |
11:57
rindolf joined
|
|||
pmurias | moritz_: i assume that for the duration of SoC all/most his work on parrot/p6 will be SoC related | 12:00 | |
moritz_ | pmurias: presumably, yes. But I'd still like a marker for clarity | 12:02 | |
rindolf | pmurias: who? | 12:07 | |
moritz_ | rindolf: Auzon is doing the "Flesh out the Perl 6 test suite" GSoC project | 12:08 | |
rindolf | moritz_: ah. | ||
moritz_ | and I'm trying to be the mentor ;) | ||
12:22
iblechbot left
12:30
Lorn_ joined
12:36
wknight8111 left
12:43
Lorn left
12:56
iblechbot joined
13:22
ispy_ joined
13:33
shlomif joined,
rindolf left,
shlomif is now known as rindolf
13:46
TJCRI joined
13:53
elmex left
14:01
yath left,
Gothmog_ left,
elmex joined
14:04
cmarcelo joined,
alester joined
14:12
sscaffidi joined
14:19
yath joined
14:20
Gothmog_ joined
14:22
yewenbin left
14:26
Lorn_ is now known as Lorn
14:32
gbacon joined
14:35
jhorwitz joined
14:40
renormalist left
14:43
syle joined
14:46
chacha_chaudhry joined,
chacha_chaudhry left
14:47
zamolxes_ joined,
zamolxes left
14:58
alanhaggai left
15:02
vaughn joined
15:03
rdice joined
15:23
rdice left
15:25
ispy_ left
15:56
pbuetow joined
16:15
rdice joined
16:16
[particle] left
16:17
[particle] joined
16:24
rdice left
16:28
alanhaggai joined
16:35
BinGOs left
16:36
diakopter left,
Lunchy_ left,
drbean left,
r0bby left,
felipe left
16:37
BinGOs joined,
felipe joined,
Lunchy_ joined,
r0bby joined,
drbean joined,
diakopter joined
16:58
justatheory joined
17:09
nipotaway is now known as nipotan
17:22
tobeya joined
17:44
masak left
17:45
schmalbe joined
18:09
pugs_svnbot joined,
kyrbe joined,
kyrbe left
18:17
Lorn_ joined
18:20
Lorn left
18:42
lisppaste3 left
|
|||
pugs_svnbot | r20369 | lwall++ | [Cursor5] much improved debugging flags | 18:48 | |
r20369 | lwall++ | [STD] added worry so we don't always have to panic | |||
diff: dev.pugscode.org/changeset/20369 | |||
18:55
lisppaste3 joined
18:58
muixirt left
19:19
rindolf left
19:45
alanhaggai left
19:51
alester left
19:54
pmichaud joined
20:06
syle2 joined
20:07
alester joined,
syle left
20:10
chris2 joined
20:34
schmalbe left
20:46
[particle]ventus joined
|
|||
pugs_svnbot | r20370 | lwall++ | [STD5] improved logging | 20:52 | |
r20370 | lwall++ | [STD] copy $<sym> up into expect_infix | |||
diff: dev.pugscode.org/changeset/20370 | |||
20:57
pmurias left
|
|||
moritz_ | github.com/why/unholy/tree/master | 20:59 | |
lambdabot | Title: why's unholy at master — GitHub | ||
moritz_ | ruby to python compiler | ||
a far friend of mine commented "He must have lost a bet, I can think of no other reason" ;-) | 21:00 | ||
21:08
ting___ joined
21:09
agentz1 joined
21:22
meppl joined
21:25
ting left,
agentzh left
21:28
jhorwitz left
21:41
araujo joined
22:12
TJCRI left,
wknight8111 joined
22:13
elmex left
22:26
alester left
22:31
rdice joined
22:37
iblechbot left
|
|||
Patterner | fefe++ | 22:57 | |
23:13
chris2 left
23:15
r0bby left
23:17
syle2 left
|
|||
meppl | good night | 23:18 | |
23:20
meppl left
23:28
cmarcelo left
23:36
drbean_ joined
23:37
drbean left
23:38
drbean_ left,
drbean joined
23:51
syle joined
|