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:00
Eevee__ left
00:07
donaldh left
00:08
donaldh joined
00:12
sri_work left
00:15
bacek_ joined,
bacek_ left
00:16
bacek_ joined
00:18
pbuetow_ left,
eternaleye_ left,
eternaleye_ joined
00:26
wknight8111 joined
00:27
lambdabot left,
Chillance left
00:28
lambdabot joined
00:46
IllvilJa left
00:56
Limbic_Region left
00:59
r0bby_ joined,
bacek__ joined
01:04
r0bby left,
r0bby_ is now known as r0bby
01:17
bacek_ left
01:25
ruoso left
01:27
lambdabot left
01:28
lambdabot joined
01:29
Ched- joined
01:37
alanhaggai joined
01:43
Ara4n joined
01:50
rian_ joined
|
|||
rian_ | moritz_: r u here | 01:50 | |
moritz_: i want to use ur irc bot | |||
i'm confused about the lib directory being above the cgi directory | 01:51 | ||
the index.pl scripts aren't finding lib | |||
rian_ says hello | 02:00 | ||
02:01
rian_ left
02:02
rian joined
|
|||
rian | moritz_: ping ping | 02:03 | |
Auzon | I imagine he's asleep. | ||
rian | yeah i guessed that | ||
lol actually not really | 02:04 | ||
is he in europe? | |||
02:05
eternaleye_ left,
justatheory left
|
|||
Auzon | Yes. | 02:06 | |
Actually... he's out of town anyway. | |||
But I can probably help you. | |||
02:23
[particle]1 joined,
Eevee__ joined
02:25
Eevee_ left
02:26
eternaleye_ joined
|
|||
diakopter | you know it's bad when you can't remember how/why you wrote some code earlier the same day. | 02:26 | |
02:27
rian left
02:38
[particle] left
|
|||
Patterner | read the comments. | 02:42 | |
vixey | comments o_o | 02:43 | |
03:03
wknight8111 left
|
|||
diakopter | Patterner: lol | 03:23 | |
<- refactored yap6 to use an immutable input string and a cursor; as a bonus it got line/pos numbers for syntax errors/warnings/panics. | 03:25 | ||
03:37
nixfu joined,
nixfu left
03:41
alester_ joined
|
|||
pugs_svnbot | r20758 | diakopter++ | [yap6] lots still broken from the refactor, but | 03:46 | |
r20758 | diakopter++ | everything is oodles faster.... | |||
diakopter | must escape refactor hexone | 03:51 | |
Auzon | yap6: {} | 04:09 | |
p6eval | yap6 r20758 OUTPUT[parse successful] | ||
diakopter | yap6: s88s8s8s88s | 04:18 | |
p6eval | yap6 r20758 OUTPUT[parse successful] | ||
diakopter | heh | ||
yap6: | |||
yap6: | |||
yap6: . | 04:19 | ||
p6eval | yap6 r20758 OUTPUT[incomplete statement near "."] | ||
diakopter | yap6: ; | ||
p6eval | yap6 r20758 OUTPUT[parse successful] | ||
04:23
rian_ joined
04:58
meppl joined
|
|||
rian_ | Auzon: are you still around? | 04:58 | |
Auzon | For a few moments, yes. | ||
rian_ | to answer my ilbot.pl question :( | ||
so i fixed the lib problem | 04:59 | ||
Auzon | What's your question? I'm not familiar with it, but I can look | ||
rian_ | i just symlinked the lib dir from the parent dir into the cgi dir | ||
so my problem was that i have the cgi directory symlinked to from my cgi-bin dir | |||
but a lot of the files that the scripts in ./cgi need are in its parent folder | 05:00 | ||
like lib, database.conf prolly the other .confs | |||
i guess i can keep symlinking | |||
but is that what you guys do? | |||
Auzon | I haven't seen that server, sorry. I suggest sending moritz a message using lambdabot's offline message feature thing | 05:02 | |
just say @tell moritz_ message here | |||
I thought you were asking about evalbot | |||
rian_ | oh lol nope | ||
okay thx | |||
p6eval: print "hello\n"; | 05:03 | ||
Auzon: did i do it wrong? | |||
Auzon | rakudo: say "hi" | ||
p6eval | rakudo r28229 OUTPUT[hi] | ||
Auzon | p6eval listens for several Perl 6 implementation names, such as rakudo, elf, pugs, kp6, nqp, and yap6. | 05:04 | |
pugs: say [*] 1 .. 6 | |||
p6eval | OUTPUT[720] | ||
rian_ | Auzon: have to start with "say"? | ||
rakudo_svn: say "hello" | 05:05 | ||
Auzon | No, but it runs faster/more reliably if you produce output to STDOUT | ||
and say is the traditional Perl 6 way | |||
say is roughly print plus a newline | |||
rian_ | Auzon: ohh yeah i haven't kept up to date with all the perl 6isms | ||
rakudo: say [+] 0 .. 100 | |||
p6eval | rakudo r28229 OUTPUT[Statement not terminated properly at line 1, near "[+] 0 .. 1"current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82) | 05:06 | |
Auzon | Try it with Pugs. | ||
rian_ | Auzon: how can i do a lambda in perl6? | ||
i'm guessing [+] 0 .. 100 is a fold | |||
pugs: say 1 .. 6 | 05:07 | ||
p6eval | OUTPUT[123456] | ||
Auzon | [whatever] (list) is a reduce using the whatever operator on list | ||
pugs: multi postfix:<!> (Int $final) {[*] 1 .. $final}; say 5! | |||
p6eval | OUTPUT[120] | ||
Auzon | factorial operator, implemented in Perl 6 | ||
rian_ | lol so operators are first class in perl6 | 05:08 | |
pugs: [+] | |||
p6eval | RESULT[0] | ||
Auzon | Lots of things are first class | ||
rian_ | pugs: say [+] | ||
p6eval | OUTPUT[0] | ||
rian_ | pugs: say + | ||
p6eval | OUTPUT[***  Unexpected end of input at /tmp/miz3FUlje3 line 2, column 1] | 05:09 | |
rian_ | oh i guess + is still syntactic | ||
Auzon | pugs: say infix:<+>.WHAT | ||
p6eval | OUTPUT[*** No compatible multi variant found: "&infix:+" at /tmp/qPE5r6hcpy line 1, column 5 - line 2, column 1] | ||
Auzon | pugs: say (infix:<+>).WHAT | ||
p6eval | OUTPUT[*** No compatible multi variant found: "&infix:+" at /tmp/83sUCA21mN line 1, column 6-15] | ||
Auzon | hm | ||
pugs: multi postfix:<!> (Int $final) {[*] 1 .. $final}; say (postfix:<!>).WHAT | |||
p6eval | OUTPUT[*** No compatible multi variant found: "&postfix:!" at /tmp/GN1VLRMWvq line 1, column 56-67] | ||
05:10
parallax joined
|
|||
Auzon | .WHAT is the "tell me what type it is" thing | 05:10 | |
pugs: "hello, world".WHAT | |||
p6eval | RESULT[::Str] | ||
Auzon | rakudo: class Foo {}; say Foo.new.WHAT | ||
p6eval | rakudo r28229 OUTPUT[Foo] | ||
parallax | rakudo: $_ | 05:11 | |
p6eval | rakudo r28229 OUTPUT[too few arguments passed (0) - 1 params expectedcurrent instr.: '_block11' pc 0 (EVAL_8:3) | ||
rian_ | pugs: say (infix:<+>).WHAT | ||
p6eval | OUTPUT[*** No compatible multi variant found: "&infix:+" at /tmp/yKwvltAE87 line 1, column 6-15] | ||
rian_ | pugs: say infix:<+> | ||
p6eval | OUTPUT[*** No compatible multi variant found: "&infix:+" at /tmp/WoxLxjDb0K line 1, column 5 - line 2, column 1] | ||
rian_ | Auzon: can you define new subroutines? | 05:12 | |
Auzon | sure. | ||
pugs: sub foo {say "hi"}; foo | |||
p6eval | OUTPUT[hi] | ||
rian_ | pugs: foo | ||
p6eval | OUTPUT[*** No such subroutine: "&foo" at /tmp/fhhtrh32vR line 1, column 1 - line 2, column 1] | ||
Auzon | Everything is compartmentalized. | 05:13 | |
rian_ | pugs: sub foo {$hi = [+] 0 .. 6; say $hi;}; foo | ||
p6eval | OUTPUT[***  Unexpected " =" expecting "::" Variable "$hi" requires predeclaration or explicit package name at /tmp/cOSVzfyHCl line 1, column 13] | ||
Auzon | Perl 6 is strict. | ||
rian_ | my | ||
my $hi? | 05:14 | ||
parallax | how do you turn off strict mode in perl 6? | ||
Auzon | pugs: sub foo {my $hi = [+] 0 .. 6; say $hi;}; foo | ||
p6eval | OUTPUT[21] | ||
Auzon | parallax: generally, you don't. 'no strict' might work. | ||
rian_ | pugs: sub foo {my $hi; $hi = [+] 0 .. 6; say $hi;}; foo | ||
p6eval | OUTPUT[21] | ||
Auzon | But why wouldn't you want strict? :-/ | ||
parallax | i prefer concise code | 05:15 | |
Auzon | Well, a module for disabling strict should be pretty easy once Perl 6 is done, since Perl 6 is typically written in Perl 6 | 05:16 | |
Here's something that you might find surprising. | 05:17 | ||
rakudo: say "{1+1}" | |||
p6eval | rakudo r28229 OUTPUT[2] | ||
rian_ | Auzon: do you know off-hand where that is from? | 05:18 | |
Auzon: i've seen another language that has eval in strings with brackets | 05:19 | ||
Auzon | Nope, I'm not sure. | ||
Auzon checks Ruby | |||
Not Ruby. It wouldn't be Python or PHP or C, either | 05:20 | ||
My guess is that it came from the Perl 5 habit of "@{[1+1]}" | |||
rian_ | oh this is killing me | 05:21 | |
oh lol | |||
i'm thinking of bash | |||
makes sense | |||
Auzon | Not in bash that I can tell | ||
rian_ | Auzon: hmm ur right | 05:22 | |
Auzon | not csh or zsh | 05:23 | |
rian_ | Auzon: maybe i'm thinking of `(,(+ 1 1)) in scheme | 05:24 | |
Auzon | The general trend is to use curlies for as much interpolation as possible beyond the simple cases | 05:25 | |
rian_ | Auzon: lol you know what, i could just be remembering an old perl 6 doc i read a year ago or something haha | 05:27 | |
Auzon | you can still say stuff like "$foo", and "\x49", but most of the rest is gone (especially the disambiguation syntax of ${foo}) | ||
Anyway, I must be going. Good night | 05:30 | ||
parallax | Good night! | ||
rian_ | Auzon: thx for ur help | 05:32 | |
05:40
rian_ left,
rian joined
|
|||
TimToady | pugs: say &infix:<+>.WHAT | 05:41 | |
p6eval | OUTPUT[Sub] | ||
TimToady | have to use & sigil to treat the verb as a noun | ||
05:52
alc joined
05:56
penk joined
05:57
Eevee_ joined
05:58
Eevee__ left
06:01
donaldh left
06:02
donaldh joined
06:08
alester_ left
06:17
Eevee__ joined
06:18
Eevee_ left
06:21
penk left,
penk joined
06:22
Psyche^ joined
06:29
nipotan is now known as nipotaway
06:33
oltec joined
06:34
Patterner left,
Psyche^ is now known as Patterner
06:37
Eevee__ left,
Eevee__ joined
06:53
eternaleye_ left
06:54
eternaleye_ joined
07:00
parallax left
07:02
Ched- left
07:04
Ched- joined,
Ched- left
07:09
iblechbot joined
07:13
meppl left
07:16
oltec left,
oltec joined
07:19
nipotaway is now known as nipotan
07:22
alc left
07:24
ruoso joined
07:29
bsb left
07:37
alc joined
|
|||
spinclad | pugs: say (1 infix:<+> 2) | 07:49 | |
p6eval | OUTPUT[***  Unexpected "infix" expecting operator or ")" at /tmp/6spEh5ppx6 line 1, column 8] | ||
spinclad | say infix:<+>(1,2) | ||
pugs: say infix:<+>(1,2) | |||
p6eval | OUTPUT[3] | ||
07:54
elmex joined
|
|||
vixey | pugs: say "BONANZA" | 07:55 | |
p6eval | OUTPUT[BONANZA] | ||
08:03
eternaleye_ left
08:11
araujo left
08:19
Lorn left
08:27
pbuetow joined
08:33
braceta joined
08:42
Eevee__ left
08:43
alanhaggai left,
alanhaggai joined
08:44
alanhaggai left
08:47
alanhaggai joined
|
|||
drbean | perl6: say "BONANZA" | 08:59 | |
p6eval | kp6 r20758: OUTPUT[BONANZA] | ||
..pugs: OUTPUT[BONANZA] | |||
..rakudo r28231: OUTPUT[BONANZA] | |||
..elf r20758: OUTPUT[BONANZA] | |||
drbean | rakudo is the odd one out there, but none of them are returning the Unicode wide characters. | 09:01 | |
Or is that my system? | |||
vixey | actually the problem is IRC | 09:02 | |
pugs> say "BONANZA" | |||
BONANZA | |||
spinclad | looks like they may be, but with the wrong encoding | 09:03 | |
or rather: evalbot isn't preserving the encoding | |||
vixey | if they were working in a totally different encoding to me, then maybe what they did is correct behavoir | 09:04 | |
spinclad | rakudo: utf8 -> 8bit twice? | ||
p6eval | rakudo r28231 OUTPUT[Statement not terminated properly at line 1, near "-> 8bit tw"current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82) | ||
spinclad | (sorry, evalbot, that wasn't really for you) | 09:05 | |
drbean | Freenode supports UTF-8, so it must be evalbot. | 09:09 | |
perl6: say "你好, 世界。" | 09:11 | ||
p6eval | kp6 r20758: OUTPUT[ä½ å¥½, ä¸çã] | ||
..pugs: OUTPUT[ä½ å¥½, ä¸çã] | |||
..rakudo r28231: OUTPUT[你好, ä¸ÂçÂÂãÂÂ] | |||
..elf r20758: OUTPUT[ä½ å¥½, ä¸çã] | |||
09:15
bacek__ left
|
|||
vixey | you could use a different encoding on freenode | 09:18 | |
UTF-8 is just the usual | |||
09:23
pmurias joined
|
|||
pmurias | rian,Auzon: ruby has puts "#{1+2}" | 09:24 | |
09:37
|Jedai| joined
09:38
pmurias left
09:47
pjcj joined
09:54
chris2 joined
09:55
Jedai left
10:16
alc left
10:18
[particle]1 left
10:37
alanhaggai_ joined
10:44
|Jedai| is now known as Jedai
10:52
alanhaggai left
|
|||
ruoso | hmmm... I'll have to unsubscribe p6-all and subscribe each individual list... :( my posts keep being held for too long... | 11:08 | |
oltec | whose on windows | 11:18 | |
11:23
vixey left
11:30
mjk joined
11:36
pbuetow left
11:56
acmoore left
11:58
chris2 left
12:04
braceta left
12:17
iblechbot left
12:37
r0bby left
12:42
IllvilJa joined
12:48
cmarcelo joined
13:00
IllvilJa left
13:06
IllvilJa joined
13:12
jhorwitz joined
13:15
iblechbot joined
13:28
sri_work joined
13:31
eternaleye_ joined
13:32
IllvilJa left
|
|||
pasteling | "kolibrie" at 66.239.158.3 pasted "TimToady: results of running Bogus.pm through gimme5 (blowup)" (196 lines, 4.4K) at sial.org/pbot/31279 | 13:36 | |
13:47
nipotan is now known as nipotaway
13:49
[particle] joined
14:00
IllvilJa joined
14:01
nipotaway is now known as nipotan
14:05
eternaleye_ left
14:11
wknight8111 joined
14:15
ron joined
14:17
sscaffidi joined
14:31
[particle1 joined,
IllvilJa left
14:32
penk left
14:35
rdice joined
|
|||
diakopter begrudgingly acknowledges the necessity of another [few] round[s] of refactoring (for yap6). | 14:37 | ||
14:38
Jedai left
14:45
pmurias joined
|
|||
pmurias | diakopter: you don't like refactoring? ;) | 14:45 | |
cycling& | 14:49 | ||
14:49
[particle] left
14:57
Ched- joined
15:02
Jedai joined
15:03
Ched- left
15:07
bacek left
15:08
Eevee joined
15:34
alanhaggai_ left
|
|||
diakopter | TimToady: to continue from yesterday and to more fully answer your question, yap6 implementations of <?before > and <?after > would make use of iff() and unmore() (get it? it's not quite "unless"), but aren't identical. | 15:35 | |
15:43
lumi joined
15:45
IllvilJa joined,
pbuetow joined
15:48
Lorn joined
15:54
eternaleye_ joined,
ron left
|
|||
pugs_svnbot | r20759 | lwall++ | [gimme5] remove another Perl dependency | 15:56 | |
15:59
IllvilJa left
16:01
TJCRI joined
16:06
|Jedai| joined
16:11
mjk left
16:12
lumi left
16:13
lumi joined
|
|||
[particle1 | TimToady: ping | 16:15 | |
16:16
[particle1 is now known as [particle]
16:19
lumi left
16:20
lumi joined
16:24
peepsalot joined,
Jedai left
16:25
lumi left
16:26
lumi joined
16:37
tye joined
|
|||
pugs_svnbot | r20760 | lwall++ | [Cursor5] add basic ws rule for non-Perl grammars to use | 16:39 | |
[particle] | TimToady: tye and i were just discussing lazy lists in p5 | 16:40 | |
i'm not sure i gave him all your requirements | |||
16:42
lumi left,
nothingmuch left
|
|||
[particle] | seems an important bit i forgot is that you need lists to remain lazy even after return @foo or @bar = @foo | 16:42 | |
tye | ah, return @foo is harder | 16:43 | |
16:43
justatheory joined,
nothingmuch joined
|
|||
[particle] | what goes on with return? | 16:44 | |
tye | tie won't even save you with return @foo | ||
16:44
lumi joined
16:45
nothingmuch left
|
|||
tye | @bar= @foo; has a similar problem but it is easier to work around with some source-code munging | 16:45 | |
lambdabot | Maybe you meant: arr part yarr | ||
[particle] kicks lambdabot | 16:46 | ||
tye | reworking the code to return \@foo; might be a lot of work. | 16:47 | |
16:47
lumi left
|
|||
TimToady | here | 16:48 | |
[particle] | scalar+iterator would work everywhere, i assume | ||
16:48
nothingmuch joined
|
|||
[particle] | it's just a hassle to convert | 16:48 | |
is that right, TimToady? | |||
TimToady | correct | ||
diakopter | TimToady: is <ws> parsetime mutable? | 16:49 | |
TimToady | was already planning to go that direction eventually | ||
diakopter: it's overridable... | |||
[particle] | ...but true lazy lists in p5 would save you from the conversion | ||
16:50
eternaleye_ left
|
|||
TimToady | kolibrie: your bogus grammar should work now | 16:50 | |
16:50
alanhaggai joined
|
|||
TimToady | but real lazy lists that survive return etc. would involve core hackery | 16:50 | |
you'd need some kind of special closure return that you could put at the end of a list, and everything that wants the rest of the list would have to know to call it at the right time | 16:51 | ||
tye | @foo= @bar; could even be handled with optree rewriting. return @foo; seems a much tougher nut. | 16:52 | |
lambdabot | Unknown command, try @list | ||
TimToady | yeah, sigh... | ||
16:53
nothingmuch left
|
|||
tye | ooh, that's a neat idea. you could define an array magic for lazy arrays that calls that closure when extending the array. | 16:53 | |
16:53
lumi joined
|
|||
tye | except magic doesn't get copied. | 16:54 | |
I'm not sure if there is already hooks for adding magic to arrays by default like for overloaded constants | |||
[particle] | could the special kind of closure use sub attributes? | 16:55 | |
tye | you don't need lazy grep/map ? | ||
TimToady | the problem is that there is no way to pass an array object through the stack except via a reference | 16:56 | |
if you just pass all the values, the array is denatured | |||
tye | so the "no tie" requirement was more than just "too slow", as I was lead to believe :) | 16:57 | |
TimToady | if the last element in the list was magical such that it did something special when put *back* into an array, that might be sufficient | ||
yeah, tie depends on OO, and perl 5's stack isn't | |||
[particle] | will there ever be unevaluated elements anywhere but at the end? | 16:58 | |
16:58
Eevee left
16:59
lumi left
|
|||
tye | that the standard for lazy lists, so "no" | 16:59 | |
TimToady | not for normal lazy lists, though range objects can be iterated on either end | ||
[particle] | i'm thinking about range | ||
is that a requirement for your work, TimToady? | |||
TimToady | no | ||
[particle] | ok, fab | ||
tye | seems a small change to have av_store check for magic such that a scalar value's magic could infect the array | 17:00 | |
ruoso | TimToady, my post still didn't made into p6-language... but have you seen the patch I've sent you on S12 for the HOW thing? | 17:01 | |
TimToady | yes, just haven't gotten back into spec mode lately... | ||
17:01
Maghnus joined
|
|||
TimToady | takes more brainpower than mere STD debugging, it seems... | 17:02 | |
17:05
lumi joined
|
|||
TimToady | or at least a different brainstate than I've been in recently | 17:05 | |
kolibrie pulls TimToady's recent patches | 17:09 | ||
looks good | 17:11 | ||
now if I want to play with my match object, I suppose I can do that, rather than calling 'hash' on it? | 17:12 | ||
TimToady | sure | 17:13 | |
17:13
lumi left
|
|||
kolibrie | okay, I'll play with it | 17:14 | |
TimToady | there's lots of extra gunk in there though because it's really a Cursor | ||
kolibrie | it follows the the interface described in the synopsis? | 17:15 | |
TimToady | kinda | ||
positionals are really hashed 0, 1, etc | |||
17:16
tye left
|
|||
TimToady | and I'm not sure what it does with "make" yet | 17:16 | |
it's a little hard to get a Perl 5 object to actually behave like a Capture | |||
kolibrie | to get the string value a rule matched, just use the rule name as a method, I'm guessing | ||
TimToady | currently, use ->text | 17:17 | |
kolibrie | okay | ||
how about things captured via () or <()> | |||
TimToady | ->list | 17:18 | |
17:18
Eevee joined
|
|||
TimToady | ->item is supposed to return the "result" object | 17:18 | |
kolibrie | okay, and result is where <()> goes | ||
TimToady | neither of those are heavily tested | ||
dunno if <()> is implemented right yet, untested | 17:19 | ||
17:19
zostay joined
|
|||
TimToady | probably will just find missing methods | 17:20 | |
17:20
Lorn left,
Lorn joined
|
|||
kolibrie | maybe I can exercise this stuff a bit - or maybe not - driving to NH tomorrow, then inlaws without Internet, then YAPC | 17:20 | |
TimToady | try to avoid .* too if you mean, say, \N* | 17:22 | |
kolibrie | ok | ||
TimToady | .* will make cursor objects for every possible position for the rest of the file | ||
because p5 isn't lazy enough | |||
biab & | 17:23 | ||
17:23
eternaleye_ joined
17:25
rian left
17:26
stef_ joined,
stef_ left
17:28
rian joined
17:31
sscaffidi left,
sscaffidi_ joined
17:35
nothingmuch joined
17:40
nothingmuch left
17:42
nothingmuch joined,
nothingmuch left,
nothingmuch joined,
barney joined
17:49
oltec left,
IllvilJa joined
17:52
lumi joined
17:54
alester left
|
|||
Auzon | rakudo: say 10 ** 1.8 | 17:58 | |
p6eval | rakudo r28238 OUTPUT[63.0957] | ||
17:58
IllvilJa left
18:01
donaldh left,
lumi left
18:02
donaldh joined
18:04
rdice left,
drbean left
18:05
rdice joined,
drbean joined
18:06
drbean left,
drbean joined
18:07
lumi joined
|
|||
pugs_svnbot | r20761 | lwall++ | [STD] move ws caching logic to Cursor | 18:12 | |
18:14
lumi left,
lumi joined
18:23
rindolf joined,
rdice left
18:24
integral left,
rindolf left
18:25
integral joined
18:26
rdice joined
18:45
dmq joined,
Eevee_ joined
18:47
Eevee left
|
|||
kolibrie | TimToady: my $r = Bogus->new($text)->$what()->text; # shows substr that matched | 18:51 | |
my $r = Bogus->new($text)->$what()->hash; # shows subrules that matched | |||
my $r = Bogus->new($text)->$what()->greeting; # returns undey | |||
undef | |||
my $r = Bogus->new($text)->$what()->$what()->greeting; # also returns undef | 18:53 | ||
$/<main><greeting>, is what I thought that would translate to | |||
pmurias | ruoso: in www.nntp.perl.org/group/perl.perl6....29270.html you meant that it's not possible to detect side effects? | ||
lambdabot | Title: Re: Google index and subsets (two topics for the price of one!) - nntp.perl.org, tinyurl.com/6gnq94 | ||
pmurias | or that it only possible to throw an exception when they occur in pure code? | 18:54 | |
ruoso | pmurias, I meant that you have absolutely no control on what happens inside a method call | ||
pmurias | tha't implementation specific | 18:55 | |
ruoso | that call might be dispatching a c library call, for instance, there's no way to keep track of side effects | ||
pmurias, not really... | |||
pmurias | one could use a modified valgrind | ||
(in the c case) | |||
ruoso | I think it's a false assumption that any implementation might have control of a method call | ||
18:56
rdice left
18:58
rdice joined
19:04
rdice left
19:07
rdice joined
19:09
rindolf joined
|
|||
TimToady | kolibrie: dump it out in yaml and see what's there | 19:10 | |
you probably need a ->{greeting} somewhere in p5-land | 19:11 | ||
kolibrie | TimToady: my $r = Bogus->new($text)->$what()->{greeting}; # has stuff in it, but ... | 19:14 | |
hmm | |||
now it's working | |||
my $r = Bogus->new($text)->$what()->{greeting}->text | |||
that makes me feel better | 19:15 | ||
19:15
felipe left
|
|||
kolibrie | but you are right, make does not work (seems to be ignored), and <()> does not work (blows up) | 19:16 | |
TimToady | basically, I've only been implementing things I need for STD :) | 19:17 | |
well, I've been implementing more than that, but mostly only testing what STD wants | |||
kolibrie | and I've been trying to figure out how to need only what you've been needing (simplify my needs) | ||
TimToady | though, to be sure, STD wants a lot... | ||
Cursor5 is intended for more general use, but gimme5 is really only for translate STD until STD can translate itself | 19:18 | ||
kolibrie | so should I be using Cursor5 directly? | 19:20 | |
kolibrie likes being able to get back working code from gimme5 | |||
TimToady | gimme5 is useful for transliterating a subset of p6 to p5-on-Cursor5 | 19:23 | |
and as you can see from the output, the p5 you want to write on Cursor5 is not intuitively obvious | 19:24 | ||
kolibrie | and I'd rather write perl 6, if I'm writing grammars especially | ||
TimToady | though it would look prettier if p5 had the primitives to write it in the correct order | ||
19:25
japhb left
|
|||
kolibrie | so I'm happy with gimme5 so far - much faster than any of the other implementations I've played with | 19:25 | |
TimToady | or once we switch to iterator objects, we can probably come up with constructs that pass values left-to-right rather than right-to-left | 19:26 | |
actually, the lists can go left-to-right if you use foreach instead of map, and it used to be that way | |||
except that p5 doesn't return all the loop values | 19:27 | ||
kolibrie | bummer | ||
19:28
araujo joined
19:38
IllvilJa joined,
|Jedai| left
19:44
Jedai joined
19:55
renormalist joined
19:57
felipe joined
20:05
rdice left,
drbean left,
ruoso left,
apeiron left,
rian left,
wknight8111 left,
cookys left,
rafl left,
kanru left,
gbacon left,
baest left,
Jedai left,
Eevee_ left,
sscaffidi_ left,
eternaleye_ left,
pbuetow left,
cmarcelo left,
silug left,
qmole left,
donaldh left,
alanhaggai left,
TJCRI left
20:06
iblechbot left,
ting left,
aindilis left,
charsbar left,
sri_work left,
lambdabot left,
tobeya left,
kst left,
zostay left,
Maghnus left,
peepsalot left,
elmex left,
Khisanth left,
jan left,
pugs_svnbot left,
cosimo left,
xdg left,
thepler left,
wolverian left,
audreyt left,
buu left,
felipe left,
rindolf left,
pjcj left,
Gothmog_ left,
stevan_ left,
xinming left,
yahooooo left,
mj41 left,
BinGOs left,
Grrrr left,
jjore left,
yath left,
nnunley left,
Juerd left,
lisppaste3 left,
lumi left,
cognominal_ left,
osfameron left,
awwaiid left,
bnjmn-- left,
c1sung left,
fullermd left,
arguile left,
Caelum left,
allbery_b left,
erikh left,
Maddingue left,
IllvilJa left,
araujo left,
Lorn left,
jhorwitz left,
p6eval left,
kane_ left,
mtve left,
jiing left,
tcliou_ left,
cj left,
buubot left,
Tene left,
avar left,
renormalist left,
dmq left,
nothingmuch left,
justatheory left,
pmurias left,
[particle] left,
Patterner left,
agentzh left,
smtms left,
speckbot left,
clkao left,
jrockway left,
obra left,
moritz_ left,
IRSeekBot left,
LCamel left,
SubStack left,
nipotan left
20:09
TimToady joined,
felipe joined,
renormalist joined,
Jedai joined,
IllvilJa joined,
araujo joined,
rindolf joined,
Eevee_ joined,
dmq joined,
lumi joined,
drbean joined,
donaldh joined,
nothingmuch joined,
sscaffidi_ joined,
rian joined,
eternaleye_ joined,
Lorn joined,
zostay joined,
Maghnus joined,
alanhaggai joined,
justatheory joined,
peepsalot joined,
TJCRI joined,
pbuetow joined,
pmurias joined,
[particle] joined,
wknight8111 joined,
sri_work joined,
iblechbot joined,
jhorwitz joined,
cmarcelo joined,
pjcj joined,
elmex joined,
ruoso joined,
Patterner joined,
lambdabot joined,
apeiron joined,
Khisanth joined,
Gothmog_ joined,
cognominal_ joined,
tobeya joined,
agentzh joined,
ting joined,
stevan_ joined,
jan joined,
osfameron joined,
irc.freenode.net sets mode: +o TimToady,
xinming joined,
cookys joined,
pugs_svnbot joined,
bnjmn-- joined,
rafl joined,
kst joined,
kanru joined,
p6eval joined,
silug joined,
yahooooo joined,
aindilis joined,
cosimo joined,
smtms joined,
gbacon joined,
awwaiid joined,
charsbar joined,
qmole joined,
kane_ joined,
baest joined,
bbkr_ joined,
dalek joined,
viklund joined,
spinclad joined,
yves joined,
pmichaud joined,
pasteling joined,
ilbot2 joined,
meteorjay joined,
broquaint joined,
kcwu joined,
simcop2387 joined,
rhr joined,
perlbot joined,
diakopter joined,
PerlJam joined,
gugod joined,
kolibrie joined,
Auzon joined,
cls_bsd_ joined,
TreyHarris joined,
ingy joined,
hcchien joined,
SamB joined,
Southen joined,
rakudo_svn joined,
mj41 joined,
BinGOs joined,
tcliou_ joined,
erikh joined,
yath joined,
c1sung joined,
fullermd joined,
lisppaste3 joined,
avar joined,
jiing joined,
wolverian joined,
moritz_ joined,
nnunley joined,
allbery_b joined,
thepler joined,
audreyt joined,
xdg joined,
buu joined,
Caelum joined,
clkao joined,
Juerd joined,
jjore joined,
mtve joined,
SubStack joined,
cj joined,
obra joined,
buubot joined,
speckbot joined,
Tene joined,
nipotan joined,
IRSeekBot joined,
LCamel joined,
Maddingue joined,
arguile joined,
jrockway joined,
Grrrr joined,
Jedai left
20:10
Jedai joined
20:11
rdice joined,
cjfields joined
|
|||
pugs_svnbot | r20762 | diakopter++ | [yap6] finished the refactoring to cursoriness. | 20:12 | |
r20762 | diakopter++ | Next modification is to adopt the pruning caching specified | |||
r20762 | diakopter++ | here: cs.uwindsor.ca/~hafiz/PADL_PAPER_FINAL.pdfx | |||
20:12
schmalbe joined,
barney left,
alanhaggai left
|
|||
diakopter | without the trailing x in that url | 20:12 | |
silly EDIT.COM | |||
20:12
donaldh left
20:13
pmurias left
|
|||
stevan_ | hmm, is STD in svn somewhere? | 20:14 | |
[particle] | yesa | ||
svn.pugscode.org/pugs/src/perl6/STD.pm | |||
stevan_ | excellent, thank [particle] | ||
20:15
Eevee__ joined
20:17
Eevee_ left
20:19
IllvilJa left
|
|||
diakopter | TimToady: I've been struggling to eliminate the cyclicalcy of this grammar... | 20:19 | |
xinming | hyy@G7u | 20:24 | |
Oops. sorry. wrong channel. | 20:25 | ||
pugs_svnbot | r20763 | diakopter++ | [yap6] | 20:30 | |
r20763 | diakopter++ | off-by-1 error in syntax error line numbers | |||
r20763 | diakopter++ | typo in Parser | |||
TimToady | I find most cycles are broken by EXPR | ||
diakopter | I find most cycles are created by EXPR :P | 20:31 | |
at least, my edition | |||
which is admittedly vastly different | |||
20:32
rindolf left
|
|||
TimToady | your EXPR is top-down, is it not? | 20:34 | |
diakopter | yeah | ||
20:58
schmalbe left
21:03
peepsalot left
21:08
rdice left
21:09
renormalist left
|
|||
speckbot | r14547 | larry++ | change most left-associative short-circuit ops to list-associative | 21:11 | |
r14547 | larry++ | x and xx are now left associative | |||
r14547 | larry++ | define what associativity means for unary ops | |||
21:18
meppl joined
|
|||
spinclad | TimToady: 'Similar to the C<[^^]> reduce operator, but short-circuits in the sense'...: s/[^^]/[^]/ ? | 21:33 | |
21:34
pmurias joined
|
|||
pmurias | yap6: 1 | 21:34 | |
p6eval | yap6 r20763 No output (you need to produce output to STDOUT) | 21:35 | |
pmurias | elf: say 1 | ||
p6eval | OUTPUT[1] | ||
pmurias | yap6: say 1 | ||
diakopter | pmurias: yap6 is broken; please disregard it for now | ||
21:35
perl7 joined
|
|||
diakopter | :) still fixing | 21:35 | |
pmurias | diakopter: yap6: or yap6 | ||
p6eval | yap6 r20763 No output (you need to produce output to STDOUT) | ||
diakopter | both | ||
:P | |||
pmurias can't wait to add the strictures in | 21:37 | ||
;) | |||
diakopter | strictures? | 21:41 | |
pmurias | use strict | ||
diakopter | oh; heh | ||
spinclad | TimToady: (^ at S03:1206) | 21:44 | |
pmurias | sleep& | 21:47 | |
21:47
pmurias left
|
|||
diakopter | aww | 21:49 | |
pugs_svnbot | r20764 | diakopter++ | [yap6] unrelaxed strictures pmurias+++++++++++++++++++ | 21:50 | |
r20764 | diakopter++ | fixed a few more things; yap6 still not ready for yap6: | |||
22:02
perl7 left
22:04
[particle] left
22:05
meppl left,
cjfields left
22:06
armagad joined
22:07
meppl joined,
justatheory left
22:09
Limbic_Region joined
22:13
sscaffidi_ left
22:15
TJCRI left
|
|||
meppl | good night | 22:18 | |
22:18
Auzon left
22:19
meppl left
22:20
Auzon joined,
iblechbot left
22:24
jhorwitz left
22:30
simcop2387 left
22:33
sscaffidi joined
22:42
eternaleye_ left
22:52
yahooooo left
22:53
yahooooo joined
23:01
japhb joined
23:04
cmarcelo left
|
|||
Auzon | perl6: (1..^6).perl.say | 23:04 | |
p6eval | kp6 r20764: OUTPUT[syntax error at position 0, line 1 column 0:(1..^6).perl.sa^ HERE] | ||
..pugs: OUTPUT[(1, 2, 3, 4, 5)] | |||
..rakudo r28245: OUTPUT[./parrot: error while loading shared libraries: /home/evalenv/parrot/blib/lib/libparrot.so.0.6.2: invalid ELF header] | |||
..elf r20764: OUTPUT[syntax error at (eval 14) line 3, near "..^" at ./elf_f_faster line 4496] | |||
Auzon | rakudo: say "are you broken?" | 23:05 | |
p6eval | rakudo r28245 OUTPUT[are you broken?] | ||
Auzon | rakudo: (1..^6).perl.say | ||
p6eval | rakudo r28245 OUTPUT[Could not find non-existent sub infix:..^current instr.: '_block11' pc 35 (EVAL_14:19) | ||
Auzon | rakudo: (1 ..^ 6).perl.say | ||
p6eval | rakudo r28245 OUTPUT[Could not find non-existent sub infix:..^current instr.: '_block11' pc 35 (EVAL_12:19) | ||
Auzon | rakudo: (1 .. ^6).perl.say | ||
p6eval | rakudo r28245 OUTPUT[1..0..5] | ||
23:12
[particle] joined
|
|||
diakopter gave up removing cyclicality; implementing instead cs.uwindsor.ca/~hafiz/PADL_PAPER_FINAL.pdf (as earlier mentioned) | 23:13 | ||
23:15
IllvilJa joined
|
|||
Auzon | rakudo: my @a = 1 .. 6; @a>>++; @a.perl.say | 23:16 | |
p6eval | rakudo r28245 OUTPUT[Statement not terminated properly at line 1, near ">>++; @a.p"current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82) | ||
Auzon | rakudo: my @a = 1 .. 6; @a.>>.++; @a.perl.say | ||
p6eval | rakudo r28245 OUTPUT[Statement not terminated properly at line 1, near ".>>.++; @a"current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82) | ||
Auzon | pugs: my @a = 1 .. 6; @a.>>.++; @a.perl.say | ||
p6eval | OUTPUT[[1, 2, 3, 4, 5, 6]] | ||
Auzon | pugs: my @a = 1 .. 6; @a>>++; @a.perl.say | 23:17 | |
p6eval | OUTPUT[[1, 2, 3, 4, 5, 6]] | ||
Auzon | pugs: my @a = 1 .. 6; @a = @a>>++; @a.perl.say | ||
p6eval | OUTPUT[[*** Can't modify constant item: VInt 1 at /tmp/V5w9e66xGf line 1, column 22-28, *** Can't modify constant item: VInt 2 at /tmp/V5w9e66xGf line 1, column 22-28, *** Can't modify constant item: VInt 3 at /tmp/V5w9e66xGf line 1, column 22-28, *** Can't modify constant item: VInt 4 | ||
.. at /tmp/V5w9e66xGf line 1, column 22-28, ***... | |||
Auzon | pugs: my @a = 1 .. 6; @a = @a>>.++; @a.perl.say | 23:19 | |
p6eval | OUTPUT[[*** Can't modify constant item: VInt 1 at /tmp/deEyccQH9k line 1, column 22-29, *** Can't modify constant item: VInt 2 at /tmp/deEyccQH9k line 1, column 22-29, *** Can't modify constant item: VInt 3 at /tmp/deEyccQH9k line 1, column 22-29, *** Can't modify constant item: VInt 4 | ||
.. at /tmp/deEyccQH9k line 1, column 22-29, ***... | |||
Auzon | pugs: my @a = 1 .. 6; @a>>.++; @a.perl.say | ||
p6eval | OUTPUT[[1, 2, 3, 4, 5, 6]] | ||
Auzon | bzzt, wrong :-/ | 23:20 | |
23:23
yahooooo2 joined
23:24
yahooooo left
23:25
IllvilJa left
23:27
Lunchy left,
Lunchy joined
|
|||
speckbot | r14548 | larry++ | clarification of reduced short-circuit ops | 23:28 | |
23:35
sscaffidi left
|
|||
Auzon | perl6: say (1,2,3,4) >>+<< (1,2,3,4) | 23:50 | |
p6eval | kp6 r20764: OUTPUT[syntax error at position 14, line 1 column 14:say (1,2,3,4) >>+<< (1,2,3,4 ^ HERE] | ||
..pugs: OUTPUT[2468] | |||
..rakudo r28245: OUTPUT[Statement not terminated properly at line 1, near ">>+<< (1,2"current instr.: 'parrot;PGE::Util;die' pc 120 (runtime/parrot/library/PGE/Util.pir:82) | |||
..elf r20764: OUTPUT[Useless use of a constant in void context at (eval 14) line 3.Useless use of a constant in void context at (eval 14) line 3.2] | |||
speckbot | r14549 | larry++ | Fixes suggested by Ryan++ | 23:51 | |
diakopter tries to help memoize() battle it out with weaken() | |||
23:52
bacek joined
23:53
IllvilJa joined
|
|||
Auzon | rakudo: class Foo {my $i = 0; has $.id = $i++;}; my $o = Foo.new; say $o.id; | 23:55 | |
p6eval | rakudo r28245 OUTPUT[Method 'lvalue' not found for invocant of class 'PAST::Stmts'current instr.: 'parrot;PAST::Compiler;as_post' pc 2787 (src/PAST/Compiler.pir:719) | ||
Auzon | rakudo: class Foo {my $i = 0; has $.id; $.id = $i++;}; my $o = Foo.new; say $o.id; | ||
23:55
p6eval left,
p6eval joined
|
|||
Auzon | pugs: class Foo {my $i = 0; has $.id; $.id = $i++;}; my $o = Foo.new; say $o.id; | 23:56 | |
p6eval | OUTPUT[*** Undeclared variable: ("$__SELF__",MkPad (padToList [("$_",PELexical {pe_type = (mkType "Scalar"), pe_proto = <Scalar:0xb69b7c24>, pe_flags = MkEntryFlags {ef_isContext = True}, pe_store = <ref:0xb69b8074>}),("@_",PELexical {pe_type = (mkType "Array"), pe_proto = <Array:0xb69b7ca4>, | ||
..pe_flags = MkEntryFlags {ef_isContext = False}, pe_st... | |||
Auzon | pugs: class Foo {my $i = 0; has $.id = $i++;}; my $o = Foo.new; say $o.id; | 23:57 | |
p6eval | OUTPUT[0] | ||
Auzon | pugs: class Foo {my $i = 0; has $.id = $i++;}; my $o = Foo.new; my $p = Foo.new; say $p.id; | ||
p6eval | OUTPUT[0] | ||
Auzon | pugs: class Foo {my $i = 0; has $.id = $i++;}; (1..2).map({Foo.new}).perl.say | 23:59 | |
p6eval | OUTPUT[(Foo.new(("id" => 0),), Foo.new(("id" => 0),))] |