»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by lichtkind on 5 March 2010. |
|||
00:12
dju joined,
chitragupt left
00:14
chitragupt joined
00:25
stepnem left
00:26
justatheory left
00:28
stepnem joined
00:35
opx^away joined
00:40
chitragupt left
|
|||
diakopter | sorear: did you get STD running? | 00:43 | |
00:49
chitragupt joined,
kst left
00:50
chitragupt left
00:51
chitragupt joined,
kst joined
00:55
chitragupt left
00:57
chitragupt joined
01:02
chitragupt left,
chitragupt joined
01:03
drbean left
01:06
drbean joined
01:09
chitragupt left,
ruoso left
01:12
chitragupt joined
01:16
snarkyboojum left
01:22
hicx174 joined,
JimmyZ joined
|
|||
JimmyZ | \o | 01:23 | |
morning | 01:24 | ||
01:24
fda314925 left
01:25
[mark] joined,
fda314925 joined
|
|||
diakopter | hi | 01:25 | |
lue | afk | 01:27 | |
01:27
ruoso joined,
snarkyboojum joined
01:28
wknight8111 left
|
|||
sorear | diakopter: I've had STD running for a while | 01:30 | |
01:30
molaf joined
|
|||
diakopter | ok | 01:30 | |
01:31
kst left
01:33
kst joined
01:36
k23z__ left
01:38
molaf_ joined
|
|||
diakopter | std: my $a = (Array[int]).new # mruhahaha | 01:42 | |
p6eval | std 30541: OUTPUT«ok 00:01 108m» | ||
01:43
molaf left
|
|||
diakopter | though to be more accurate... hrmph. I guess I should use List[int], since that's what's underneath it anyway. | 01:43 | |
boo. | |||
01:45
Intensity joined
|
|||
diakopter | oh yeah. | 01:45 | |
I forgot I already created an alias for that. | |||
sorear | grr. STD.pm6 relies on slangs to parse quasiquotes | 01:47 | |
diakopter was aware of that, once upon a time. | 01:48 | ||
sorear | diakopter: I have macros working | 01:56 | |
01:56
snarkyboojum left
|
|||
diakopter | I saw :) your work rocks | 01:56 | |
sorear | I just need hygenic quasiquotes now for maximum impressiveness | ||
which is not as ridiculously hard as I first beleived | |||
diakopter | someone needs to give you a commitbit | 01:57 | |
(not I, since I can't) | 01:58 | ||
01:58
rv2733 left
01:59
Psyche^ joined
|
|||
colomon | rakudo: say &prefix:<!> ~~ Code | 02:00 | |
p6eval | rakudo c4857a: OUTPUT«1» | ||
colomon | rakudo: my &c = &prefix:<!>; say &c.signature.params | 02:01 | |
p6eval | rakudo c4857a: OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub'current instr.: 'perl6;Code;signature' pc 13378 (src/builtins/Str.pir:68)» | ||
02:01
chitragupt left
|
|||
colomon | dang it, should have gotten that one in before jnthn went off-line for days. :( | 02:02 | |
diakopter | where'd jnthn go | ||
diakopter feels nosy | 02:03 | ||
colomon | He's camping in Iceland. | ||
02:03
KyleHa joined
02:04
Patterner left,
Psyche^ is now known as Patterner,
chitragupt joined,
snarkyboojum joined
|
|||
sorear | colomon: don't you have commits too? | 02:05 | |
colomon | yes. | 02:06 | |
but I don't have the first clue about dealing with signatures. that's jnthn's area. | |||
diakopter | boo. googlecode rejecting my svn ci. | ||
sorear | rakudo: pir::compreg__PS("perl6").dumper(Perl6::Grammar.parse('$Foo::x', :rule('term'), :actions(Perl6::Actions)).ast, "PAST") | 02:13 | |
p6eval | rakudo c4857a: OUTPUT«Contextual $*LEFTSIGIL not foundcurrent instr.: 'perl6;Perl6;Grammar;_block1827' pc 105568 (src/gen/perl6-grammar.pir:17473)» | ||
sorear | rakudo: my $*LEFTSIGIL; pir::compreg__PS("perl6").dumper(Perl6::Grammar.parse('$Foo::x', :rule('term'), :actions(Perl6::Actions)).ast, "PAST") | 02:14 | |
p6eval | rakudo c4857a: OUTPUT«"PAST" => PMC 'PAST;Var' { <name> => "$x" <namespace> => ResizablePMCArray (size:1) [ "Foo" ] <scope> => "package"}» | ||
sorear | heh, it does work in p6eval | ||
diakopter | o__O | 02:15 | |
02:20
nihiliad left,
nihiliad joined
02:21
_jaldhar joined
|
|||
sorear | diakopter: Yes, the compiler API is exposed to Perl 6 code. | 02:23 | |
Isn't it wonderful? | |||
colomon | rakudo: say (1, 1, 1, 2, 3 ... 10).batch(10).join(', ') | 02:30 | |
p6eval | rakudo c4857a: OUTPUT«Method 'batch' not found for invocant of class 'Failure'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
02:35
camenix left,
xinemac left
02:38
camenix joined,
xinemac joined
02:43
camenix left,
xinemac left
02:47
KyleHa left
02:50
nihiliad left
02:51
[[mark]] joined
02:52
KyleHa joined,
KyleHa left
02:53
[mark] left,
chitragupt left
02:55
chitragupt joined
|
|||
sorear has some misgivings about the specced design of hygenic quasiquotes | 02:58 | ||
03:05
justatheory joined
|
|||
sorear | most importantly, unquotes being a kind of term | 03:07 | |
so you can't do stuff like declare functions with variable names | |||
I'd like to wait until someone has a use case before doing much hygiene hacking | 03:08 | ||
03:12
chitragupt left
03:14
chitragupt joined
|
|||
sorear | another problem revolves around lexical binding | 03:18 | |
lexicals are bound to a specific environment at parse time | |||
so quasi { my $COMPILING::x = 2; {{{ $ast }}} } doesn't really make sense | |||
because $ast already has lexicals bound | |||
03:30
chitragupt left
03:32
chitragupt joined
|
|||
sorear | I think what we need is to divide macros into two groups | 03:39 | |
1. Category macros (like Lisp's reader macros) are associated directly with a grammatical category. The 'is parsed' is combined with <sym> to make a new protoregex rule, which is injected into the grammar; user code is run when the grammatical rule is recognized. | 03:40 | ||
1. Functional macros (like Lisp's syntax macros) involve no special syntax; they do not modify the grammar. However, when a function call (including operator syntax calls like x ~ y === &[~](x, y)) is going to be generated, the AST construction is redirected and calls the macro instead. | 03:42 | ||
s:2nd/1./2./ | 03:43 | ||
sorear returns to his real code and tries to pretty it with macros | |||
03:45
molaf_ left
04:01
chitragupt left
04:02
chitragupt joined
|
|||
cognominal | I can't find where nibbler is defined :( | 04:18 | |
04:19
arnsholt_ joined
04:20
arnsholt left,
skangas left
04:23
japhb joined
|
|||
lue wonders if there's a neat little linux program to search the human genome. | 04:24 | ||
lue (firefox doesn't count) :) | |||
sorear | grep | 04:28 | |
04:31
chitragupt left
|
|||
lue | I searched the fedora package repos for 'genome', and came up with a couple things (including a few P5 modules. figures :) ) | 04:33 | |
04:34
chitragupt joined
|
|||
sorear contemplates adding roles to NQP-rx | 04:46 | ||
cognominal | I don't understand. I find nibbler in P6Regex::Grammar. So how rakudo can work if it is not pulled as the parrot in rakudo? | 04:48 | |
sorear | Failed to parse sentence | 04:49 | |
if we had roles in NQP, we could do proper slangs, and lexically scoped macros, and other such stuff | |||
cognominal | I mean. rakudo does pull parrot to compile. how come I don't see nibbler | ||
sorear | Where are you looking and what do you want to find? | 04:50 | |
rakudo: 2 ¢ 3 | |||
p6eval | rakudo c4857a: OUTPUT«Confused at line 11, near "2 \x{a2} 3"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
sorear | rakudo: { my sub infix:<¢> ($x, $y) { !!! }; };2 ¢ 3 | ||
p6eval | rakudo c4857a: OUTPUT«Could not find sub &infix:<¢>current instr.: '_block21' pc 29 (EVAL_2:0)» | ||
cognominal | as I said nibbler is in P6Regex::Grammar of nqp-rx | ||
sorear | operator injections are not lexically scoped | 04:51 | |
I wonder if there's a spectest for that | |||
cognominal | how come I don't see it when I do a ack on rakudo (which includes a parrot/ folder) | ||
sorear | parrot/ is not a parrot source tree | ||
parrot/ is bits specific to the Rakudo Parrot backend | 04:52 | ||
(currently the only one) | |||
note that Perl6::Regex is a subclass of Regex::P6Regex::Grammar and inherits the nibbler method | |||
cognominal | ok, I thought it was a copy of some parrot branch. | ||
sorear | no, it only has four files | 04:53 | |
cognominal | ?? | ||
sorear | unless you're talking about the automatic checkout | ||
cognominal | yes | ||
sorear | but P6Regex isn't part of Parrot anyway | ||
cognominal | I see P6Regex-S0 that must be generated from Regex::P6Regex::Grammar | 04:54 | |
so I am surprised to see that file and not the file that is used to generate it | 04:55 | ||
sorear | yes | ||
the parrot repository contains files without matching source code | |||
cognominal | that's what puzzles me. | ||
ok. I suppoed the contrary :) | 04:56 | ||
sorear | github.com/perl6/nqp-rx/blob/40bb2a...Grammar.pm | ||
P6Regex is implemented using P6Regex | |||
so you need to start with a precompiled version | |||
Parrot ships the compiled version, but the canonical source is in a different project | 04:57 | ||
there are 4 major subsystems here | |||
cognominal | ...in the nqp-rx branch | ||
sorear | not a branch, it's an entire project | 04:58 | |
cognominal | indeed. | ||
sorear | 1. Parrot, a VM. Parrot is shipped as C source | ||
2. PCT, a library for compiling to Parrot bytecodes. Is written in Parrot assembly and shipped along with Parrot | |||
3. NQP-rx, a very simple Perl6-like language for Parrot + an implementation of Perl6 parsing rules. It is written using NQP-rx (for the frontend) and PCT (for the backend). It is shipped *as binaries* with Parrot; the source lives elsewhere | 05:00 | ||
4. Rakudo, an implementation of full-ish Perl6 on top of NQP-rx and PCT | |||
cognominal | " nqp-rx : It is shipped *as binaries* with Parrot; the source lives elsewhere" : now everything makes sense to me. thx | 05:01 | |
05:01
chitragupt left
|
|||
sorear | The first big item on our post-R* agenda is to loosen Rakudo's ties to PCT | 05:02 | |
NQP is very simple, it can be easily implemented on other platforms (nq-nqp and purlesque are active projects in this direction) | 05:03 | ||
PCT is pretty deeply tied to Parrot | |||
cognominal | well, only the pir generation part. The rest is written in pir but could be rewritten in nqp/perl 6 rakudo once the bootstrapping done. | 05:06 | |
05:08
meppl joined
05:09
chitragupt joined
|
|||
lue | afk and goodnight! | 05:10 | |
sorear | I don't think parrotfolk would like that very much | ||
having a core library (PCT) depending on a non-core component (NQP-rx) | |||
05:12
eternaleye left
05:13
jlindsay left
|
|||
JimmyZ | I think it's more easy to get more contributors. | 05:14 | |
05:18
eternaleye joined
05:20
kaare joined
05:21
kaare is now known as Guest19628
05:30
chitragupt left
05:31
chitragupt joined
05:38
eternaleye left
05:54
eternaleye joined
06:02
uniejo joined
06:18
plobsing left
06:21
oldy joined
|
|||
oldy | hi, | 06:22 | |
Looking at fedoraproject.org/wiki/Features/Rakudo_Perl_6. Can Perl6 be installed on Fedora machine, without disprupting existing Perl5.already installed? | 06:24 | ||
araujo | of course oldy | 06:28 | |
the most popular implementation right now is rakudo ... you install that even in your home dir, set a path for the binaries, and ready to go | |||
sorear | Perl6 is installed as perl6 | 06:31 | |
we aren't even attempting to take over perl5 yet | |||
araujo | sorear, we will right?, | 06:33 | |
oldy | araujo: & sorear thanks, will give it a go :) | 06:38 | |
06:41
JimmyZ left
|
|||
snarkyboojum | FWIW, I think quite a few respected perl5 and perl6 guys have been expending effort to dissolve the 'take over perl5' meme | 06:41 | |
mj41 | rakudo: say "and I said: %quotes{"me"}."; | 06:42 | |
p6eval | rakudo c4857a: OUTPUT«Symbol '%quotes' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)» | ||
06:42
JimmyZ joined
|
|||
mj41 | rakudo: my %quotes = {}; say "and I said: %quotes{"me"}."; | 06:42 | |
p6eval | rakudo c4857a: OUTPUT«and I said: .» | ||
moritz_ | rakudo: my %quotes = me => "dunno"; say "and I said: %quotes<me>." | 06:43 | |
p6eval | rakudo c4857a: OUTPUT«and I said: dunno.» | ||
JimmyZ | rakudo: my %quotes = {}; say pir::defined_PP(%quotes); say pir::defined_PP(%quotes<f>); say pir::defined_PP(%quotes<f>); | 06:51 | |
p6eval | rakudo c4857a: OUTPUT«error:imcc:syntax error, unexpected PREG, expecting '(' ('$P48') in file 'EVAL_1' line 73error:imcc:syntax error, unexpected PREG, expecting '(' ('$P51') in file 'EVAL_1' line 79error:imcc:syntax error, unexpected PREG, expecting '(' ('$P54') in file 'EVAL_1' line | ||
..85Could not… | |||
07:08
meppl left
07:11
rgrau joined
07:13
agentzh joined
07:18
riffraff joined,
jonasbn joined
07:20
iblechbot joined
|
|||
sorear | TimToady: Would you characterize :actions as a fossil? | 07:25 | |
07:27
chitragupt left
07:29
chitragupt joined
07:37
justatheory left
07:38
oldy left
|
|||
sorear | huh. perl6.vim parses "is parsed" but not "macro" | 07:39 | |
moritz_ | patch it | ||
07:48
meppl joined
07:51
jql left,
athomason left
07:52
synth left
07:54
lestrrat left,
Koven joined
07:55
athomason joined,
Kovensky left,
lestrrat joined,
agentzh left
07:56
chitragupt left
07:58
kst left,
kst joined
08:00
chitragupt joined
08:04
chitragupt left
08:06
chitragupt joined
08:10
lestrrat is now known as lest_away,
lest_away is now known as lestrrat
08:23
riffraff left
|
|||
sorear | How is ./perl6 --target=past spelled these days? | 08:34 | |
moritz_ | NYI, I fear | 08:35 | |
08:36
riffraff joined
|
|||
sorear | so I'm just hallucinating that it worked in the past? | 08:37 | |
moritz_ | I'm sure it worked in alpha | ||
sorear writes a script to emulate the behavior | |||
I've never used alpha | |||
I might be thinking of nqp though | |||
(would anyone like a copy?) | 08:40 | ||
moritz_ | of what? | 08:41 | |
sorear | a script that emulates perl6 --target=past | ||
moritz_ would prefer a patch | |||
sorear | that would involve me understanding what's wrong | 08:42 | |
the bug doesn't make any sense since AFAICT --target=past is a PCT feature and other PCT compilers work | |||
moritz_ | I'll try here once my rakudo build is finished | ||
works here | 08:44 | ||
sorear: there's a known bug... you can't mix --target= with -e | |||
sorear | --target=pir -e works fine | 08:45 | |
--target=past -e generates no output | |||
moritz_ | now that's weird | ||
sorear | moritz++ perl6 --target=past <( echo 'foo' ) #works fine | 08:46 | |
08:46
fridim joined
|
|||
cognominal | --target=parse -e does not generate any output either | 08:49 | |
sorear | What's idiomatic Perl6 to disambiguate " $varalphanumsafter " ? | 08:54 | |
moritz_ | "{$var}alphanumsafter" | 08:55 | |
though we're all new to Perl 6, more or less, so I'm not that sure with idioms | 08:56 | ||
08:58
JimmyZ left
|
|||
sorear | std: module Soric4::Event; | 09:01 | |
p6eval | std 30541: OUTPUT«ok 00:01 109m» | ||
sorear | rakudo: module Soric4::Event; | ||
p6eval | rakudo c4857a: ( no output ) | ||
sorear | oh, it's just an error attribution bug | 09:03 | |
cognominal | rakudo: my $a; say "{$a}a" | 09:04 | |
p6eval | rakudo c4857a: OUTPUT«Any()a» | ||
cognominal | not sure that what is expected | ||
rakudo: my $a; say "$a" | 09:05 | ||
p6eval | rakudo c4857a: OUTPUT«Any()» | ||
moritz_ | "a" is expected, probably | ||
alpha: my $a; say "$a" | |||
p6eval | alpha 30e0ed: OUTPUT«Use of uninitialized value» | ||
moritz_ | but we don't have the Str/Stringy distinction implemented yet | ||
sorear | rakudo: module Soric4::Event; mxacro term:<event> is parsed( / <?> / ) { } | 09:06 | |
p6eval | rakudo c4857a: OUTPUT«Confused at line 11, near "module Sor"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
sorear | I think this error message counts as outright buggy | ||
moritz_ | aye | ||
sorear | rakudo: module Soric4::Event; mxacro foo is parsed( 0 ) { } | 09:07 | |
p6eval | rakudo c4857a: OUTPUT«Confused at line 11, near "module Sor"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
sorear | rakudo: module S; mxacro foo is parsed( 0 ) { } | ||
p6eval | rakudo c4857a: OUTPUT«Confused at line 11, near "module S; "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
moritz_ | maybe it backtracks over the ; | ||
sorear | most importantly, why are only the first three letters of the error message getting used? | ||
moritz_ | huh? | ||
sorear | er | 09:09 | |
first three letters of the module name | |||
09:10
lestrrat is now known as lest_away,
lest_away is now known as lestrrat
|
|||
moritz_ | I think the length of code quoted in the error message is limited | 09:11 | |
sorear | the actual error was quite simple - I forgot to 'make install' my macro-aware rakudo before trying to write code using it | ||
moritz_ | which is quite sensible, but maybe the limit itself is a bit too tight | ||
sorear | so would a "grammar backtracks too far generating error" bug be valid? | 09:13 | |
is it possible to search the perl6 rt queue? | 09:14 | ||
moritz_ | it is possible, the I don't like the search interface at all | ||
sorear | I only see an option for searching the perl.org rt instance, which is less than helpful for things that affect both 5 and 6 | ||
moritz_ | (and you might need to log in to get to the advanced search) | ||
sorear | sent | 09:19 | |
09:19
Koven is now known as Kovensky
|
|||
moritz_ | sorear: just read in the backlog about your idea of a streaming PAST model | 09:20 | |
I like it | |||
but I don't know how much of it can be used in rakudo | |||
because rakudo will have to do additional passes over some intermediate format (don't know if that will be PAST or not) | 09:21 | ||
sorear | "will"? | ||
what NYI feature requires reprocessing PAST? | |||
moritz_ | to determine sink context, and check routine names at CHECK time | ||
(sink = void) | |||
dalek | kudo: c9d9a99 | moritz++ | build/PARROT_REVISION: bump PARROT_REVISION to get some testing after merge of pbc_frozen_strings1 branch |
09:40 | |
09:42
JimmyZ joined
|
|||
sorear | rakudo: role A { method foo() { ... }; }; role B { method foo() { say 2; }; }; class C does B does A { }; | 09:42 | |
p6eval | rakudo c4857a: OUTPUT«Method 'foo' collides and a resolution must be provided by the classcurrent instr.: 'perl6;Perl6;Metamodel;RoleToClassApplier;_block132' pc 9253 (src/gen/RoleToClassApplier.pir:306)» | ||
moritz_ | this error message could be awesomized in several ways: | 09:43 | |
1) tell which class is being composed | |||
2) tell where the methods are coming from (might be many roles in the composition list) | 09:44 | ||
sorear | if it was going to be completely awesome, it should also be spelled "Role-required methods are NYI in Rakudo" | ||
moritz_ | I don't know what "Role-required" means | 09:46 | |
sorear | S14:0076 | ||
method foo() { ... } means "the composed class must have a foo method, it could come from the class itself or another role" | |||
moritz_ | ah | 09:47 | |
09:50
masak joined
|
|||
masak | oh hai, #perl6 | 09:50 | |
sorear | rakudo: role A { method x() { say 2 }; }; class B does A { }; B.new.x; | ||
p6eval | rakudo c4857a: OUTPUT«Could not find sub &saycurrent instr.: 'perl6;A[];x' pc 577 (EVAL_1:223)» | ||
moritz_ | oh hai masak | 09:51 | |
sorear | hello masak | ||
09:52
bob___ joined
09:57
kst left
09:58
kst joined,
jql joined
|
|||
sorear | I just ran into #74858 / #74078 (dups) | 09:59 | |
not going to submit another | |||
10:06
chitragupt left
|
|||
masak merges those | 10:07 | ||
10:08
chitragupt joined
10:11
clintongormley joined
10:12
alexn_org joined
|
|||
masak | rakudo: for 0, 1 { my $a = { say "LOL" }; say $a.WHICH } | 10:19 | |
p6eval | rakudo c4857a: OUTPUT«108070592108070592» | ||
masak | rakudo: my @a; for 0, 1 { my @a[$_] = { say "LOL" }; say @a[$_].WHICH } | 10:20 | |
p6eval | rakudo c4857a: OUTPUT«4384621648606192» | ||
masak | this intrigues me. why are the blocks different in the latter case, but not in the former? | ||
10:25
ruoso left,
opx^away left
10:28
opx^away joined
|
|||
JimmyZ | nqp: my %quotes; say %quotes<f>.WHAT;say %quotes<f>.WHAT ; | 10:35 | |
p6eval | nqp: OUTPUT«Confused at line 1, near "say %quote"current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)» | ||
JimmyZ | nqp: my %quotes; say %quotes{'d'}.WHAT;say %quotes{'f'}.WHAT ; | 10:36 | |
p6eval | nqp: OUTPUT«Confused at line 1, near "say %quote"current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)» | ||
JimmyZ | nqp: my %quotes; say (%quotes{'d'}).WHAT;say (%quotes{'f'}).WHAT ; | ||
p6eval | nqp: OUTPUT«Confused at line 1, near "say (%quot"current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)» | ||
10:39
chitragupt left
|
|||
snarkyboojum | hi masak o/ | 10:39 | |
masak | snarkyboojum: hi! | ||
10:39
chitragupt joined
|
|||
snarkyboojum | masak++ for awesome yapsi commits :) | 10:39 | |
masak | snarkyboojum: you mentioned you had something going with tardis...? | 10:40 | |
snarkyboojum | masak: yeah, that was before I had read the message you'd left me with phenny | ||
masak | oh, I see. | ||
snarkyboojum | masak: however, I have another couple of questions - first one is re the get-ticks gist | 10:41 | |
masak | fire away. | ||
gist.github.com/386512 | |||
snarkyboojum | masak: it seems to break if you define a variable in an immediate block - is that a bug? | ||
I haven't traced through it | |||
e.g. my $program = '{my $a = 5}'; | 10:42 | ||
masak | sounds like a bug, yes. | ||
snarkyboojum | can't find the var during get-value-of() | ||
masak | seems I only tried it without immediate blocks :/ | ||
snarkyboojum | aye ;) that was my first test case, so I was stuck thinking I'd introduced a bug somewhere for a while | ||
masak | :) | 10:43 | |
JimmyZ | rakudo: our $a = 'Hi'; {my $a; say our $a;} | ||
p6eval | rakudo c4857a: OUTPUT«Redeclaration of symbol $a at line 11, near ";}"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
JimmyZ | rakudo: our $a = 'Hi'; {my $a; say our $a;} # masak, is it a bug? | ||
p6eval | rakudo c4857a: OUTPUT«Redeclaration of symbol $a at line 11, near ";} # masak"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak | JimmyZ: it should give an error, but not that one. | 10:44 | |
JimmyZ | rakudo: our $a = 'Hi'; {say our $a;} # masak, is it a bug? | ||
p6eval | rakudo c4857a: OUTPUT«Hi» | ||
masak | and that's fine. | ||
JimmyZ | rakudo: our $a = 'Hi'; {say our $a;} # not a bug | ||
p6eval | rakudo c4857a: OUTPUT«Hi» | ||
masak | JimmyZ: you shouldn't be able to use an outer-scope variable and then declare one with the same name in the current scope. | ||
std: our $a; { say $a; our $a } | |||
snarkyboojum | masak: I do have something going with tardis, but it's not pretty printing, because I have another newbie perl6 question | ||
p6eval | std 30541: OUTPUT«ok 00:01 110m» | ||
masak | hm. | ||
std: our $a; { say $a; my $a } | 10:45 | ||
p6eval | std 30541: OUTPUT«ok 00:01 108m» | ||
masak | TimToady: ^ | ||
JimmyZ | std: our $a; { my $a; our $a } | ||
p6eval | std 30541: OUTPUT«Potential difficulties: Useless redeclaration of variable $a (see line 1) at /tmp/un87KvmUfl line 1:------> our $a; { my $a; our $a⏏ }ok 00:01 108m» | ||
JimmyZ | rakudo: our $a; { my $a; our $a } | ||
masak | snarkyboojum: I love newbie questions. :) | ||
p6eval | rakudo c4857a: OUTPUT«Redeclaration of symbol $a at line 11, near " }"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
JimmyZ | rakudo: our $a; { our $a; my $a} | ||
p6eval | rakudo c4857a: OUTPUT«Redeclaration of symbol $a at line 11, near "}"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | 10:46 | |
JimmyZ | rakudo: our $a; { our $a; my $a} # masak, does it work on perl 5? | ||
p6eval | rakudo c4857a: OUTPUT«Redeclaration of symbol $a at line 11, near "} # masak,"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
masak | JimmyZ: have you started communicating with me through p6eval now? :) | 10:47 | |
JimmyZ | ;) | ||
masak | JimmyZ: I don't know if it works in Perl 5. does it matter? | ||
Perl 6 has its own way of handling these things, clearly explained in S02 and S04. | |||
JimmyZ wonders why it works in Perl 5 and why it doesn't work in Perl 6, and what wrong with Perl 5 is about it | 10:49 | ||
masak | in Perl 5 'our $a = 1; { say $a; our $a = 2; say $a; my $a = 3; say $a }; say $a' prints 1\n2\n3\n2\n | 10:51 | |
and it also gives one warning about a redeclaration and one about variable masking. | |||
I can think of two sane things that might happen in Perl 6. | 10:52 | ||
either it dies, because the user is obviously confusing herself. | |||
or it lives, and the variable in that block behaves like an 'our' variable. | |||
JimmyZ | rakudo: our $a = 3; { say $a; } | 10:53 | |
p6eval | rakudo c4857a: OUTPUT«3» | ||
JimmyZ | rakudo: our $a = 3; sub foo() { say our $a; }; &foo | ||
p6eval | rakudo c4857a: ( no output ) | ||
JimmyZ | rakudo: our $a = 3; sub foo() { say our $a = 3; }; &foo | 10:54 | |
p6eval | rakudo c4857a: ( no output ) | ||
JimmyZ | rakudo: our $a = 3; sub foo() { say our $a = 3; }; foo() | ||
p6eval | rakudo c4857a: OUTPUT«3» | ||
JimmyZ | rakudo: our $a = 3; sub foo() { say our $a }; foo() | ||
p6eval | rakudo c4857a: OUTPUT«3» | ||
JimmyZ | rakudo: my $a = 3; sub foo() { say our $a }; foo() | ||
p6eval | rakudo c4857a: OUTPUT«Any()» | ||
JimmyZ | rakudo: our $a = 3; sub foo() { say my $a = 3}; foo() | 10:55 | |
p6eval | rakudo c4857a: OUTPUT«3» | ||
10:55
chitragupt left
|
|||
JimmyZ | rakudo: our $a = 3; sub foo() { say my $a = 4}; foo() | 10:55 | |
p6eval | rakudo c4857a: OUTPUT«4» | ||
10:58
chitragupt joined
|
|||
snarkyboojum | masak: ah - looks like I sorted out my issue | 10:58 | |
masak | \o/ | ||
snarkyboojum | an issue of my own making even :) | ||
JimmyZ | rakudo: our $a = 3; sub foo() { say my $a = 4; say our $a;}; foo() # It's sadly for me. | ||
p6eval | rakudo c4857a: OUTPUT«Redeclaration of symbol $a at line 11, near ";}; foo() "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)» | ||
snarkyboojum | masak: now for pretty printing I guess - gist.github.com/387966 | 10:59 | |
masak | :) | ||
snarkyboojum | forgive the debugging output :| | ||
masak | no prob. nice to see things falling into place. | ||
I still think pretty-printing could look something like this: gist.github.com/372419 | 11:00 | ||
snarkyboojum | I wish I had read your gist before trying to integrate :) as I ended up reinventing something like Yapsi::Runtime::get-value-of | ||
so threw that out and uses your (more correct) method | |||
s/uses/used/ | 11:01 | ||
masak | yeah, I put that one in Yapsi::Runtime because it seemed it would be duplicated. | ||
I also think we should invent the commands 'follow $a' and 'unfollow $a', to make some values print automatically ever time the user changes ticks. | 11:02 | ||
snarkyboojum | masak: cool, something like watch | ||
masak | yeah. | ||
maybe that's a better name. | |||
'watch' and 'unwatch'. | |||
lunch & | 11:05 | ||
11:05
pmurias joined
11:12
meppl left
11:18
takadonet1 left
|
|||
moritz_ | rakudo: sub swap($a, $b) { ($a, $b) = ($b, $a) }; swap my $z = 2, my $y = 5; | 11:18 | |
p6eval | rakudo c4857a: ( no output ) | ||
11:19
JimmyZ left
|
|||
moritz_ | rakudo: sub swap($a, $b) { ($a, $b) = ($b, $a) }; swap my $z = 2, my $y = 5; say $z; | 11:20 | |
p6eval | rakudo c4857a: OUTPUT«2» | ||
masak | right. list assignment doesn't die when it can't assign readonly values. | 11:21 | |
colomon | rakudo: sub swap($a is rw, $b is rw) { ($a, $b) = ($b, $a) }; swap my $z = 2, my $y = 5; say $z; | ||
moritz_ | Just replied to Mark's email | 11:22 | |
p6eval | rakudo c4857a: OUTPUT«5» | ||
masak | I already replied to him on RT. | 11:23 | |
oh, and I don't think I cc:ed p6c. d'oh. | |||
11:24
bob___ left
|
|||
masak | well, no, I didn't pick the wrong lines from p6eval. but the first example wasn't golfed enough. | 11:28 | |
the ticket ends with this: | |||
rakudo: (1, 2) = 3, 4 | |||
p6eval | rakudo c4857a: ( no output ) | ||
masak | which is the root of the problem. | ||
moritz_ | agreed | ||
11:31
riffraff left
|
|||
moritz_ | after having fought with my own HTML + JS templates for my slides, somebody pointed me to meyerweb.com/eric/tools/s5/ | 11:31 | |
which looks nicer than what I have now, although my solution now works | |||
moritz.faui2k3.org/tmp/talk/0000.html | 11:32 | ||
masak | S5 is indeed nice. | 11:33 | |
moritz_ | I kinda like their FAQ, too | ||
Shouldn't it really be the "stupendously simple small sized standards-based structural slide show system", or S9? That would be nearly twice as good as S5, right? | |||
Let's not get carried away. | |||
masak | :) | ||
snarkyboojum | alpha: my @list; my %h; %h<a> = <1 2 3>; @list.push: %h; say @list[0].WHAT | 11:34 | |
p6eval | alpha 30e0ed: OUTPUT«Pair()» | ||
snarkyboojum | rakudo: my @list; my %h; %h<a> = <1 2 3>; @list.push: %h; say @list[0].WHAT | ||
colomon cancels his plans to develop S27... | 11:35 | ||
p6eval | rakudo c4857a: OUTPUT«Hash()» | ||
masak | I saw a similar answer on a Perl mailing list once. 'how do I write "else if"' in Perl?' -- 'you write it "elsif", it's abbreviated' -- 'shouldn't it be abbreviated to "elif"?' -- 'now don't be absurd.' | ||
snarkyboojum | masak: I'm running into something like this now | ||
moritz_: I thought this was pretty funky too apirocks.com/html5/html5.html#slide1 | 11:36 | ||
masak | snarkyboojum: not sure I understand what the issue is. | 11:37 | |
moritz_ | snarkyboojum: I've seen that too | ||
snarkyboojum | masak: why does alpha say it's a pair, and rakudo say it's a hash? a pair is only giving me one element in the hash presumably? | 11:38 | |
masak | aye. | 11:39 | |
snarkyboojum | I want alpha to treat that as a hash | ||
moritz_ | a hash in list context behaves like a list of pairs | ||
snarkyboojum | :) | ||
11:39
riffraff joined
|
|||
masak | alpha: my @list; my %h; %h<a> = <1 2 3>; @list.push: %h.hash; say @list[0].WHAT | 11:40 | |
p6eval | alpha 30e0ed: OUTPUT«Pair()» | ||
masak | hm. | ||
11:40
fridim left
|
|||
snarkyboojum | alpha: my @list; my %h = { a => 1, b => 2}; @list.push: %h; say @list[0] | 11:41 | |
p6eval | alpha 30e0ed: ( no output ) | ||
snarkyboojum | ke? | 11:42 | |
rakudo: my @list; my %h = { a => 1, b => 2}; @list.push: %h; say @list[0] | |||
p6eval | rakudo c4857a: OUTPUT«a 1b 2» | ||
snarkyboojum | well anyway, alpha (locally) is returning a 1 | ||
so that's my problem with alpha | 11:45 | ||
11:45
synth joined
|
|||
snarkyboojum | funnily enough this works | 11:46 | |
alpha: my @list; my %h = { a => 1, b => 2}; @list.push: \%h; say @list[0] | |||
but that's a Capture now | |||
or something :S | |||
p6eval | alpha 30e0ed: ( no output ) | ||
11:46
chitragupt left
11:49
chitragupt joined
|
|||
pugssvn | r30542 | colomon++ | [t/spec] Add some tests for some trickier cases for the series operator. | 11:50 | |
dalek | kudo: 1eef087 | (Solomon Foster)++ | src/core/operators.pm: Change infix:<...> code to use the last three elements passed on the left-hand side to determine the series, rather than the first three. |
11:52 | |
masak | that... does sound like an improvement... :) | 11:56 | |
moritz_ | masak: seems you don't use master and/or series operator enough :-) | 11:57 | |
masak | I think I've seen some symptoms that might be due to the above. | 11:58 | |
don't think I've realized that that was what was wrong until now, though. | |||
moritz_ took a while to parse "that that was what was" | 11:59 | ||
12:00
envi^home joined
|
|||
masak | moritz_: seems you don't use French enough :) | 12:00 | |
moritz_ | so it seems indeed | ||
colomon | the difference is pretty subtle unless you're doing something weird | ||
masak is doing something weird :) | 12:01 | ||
moritz_ wrote on his applications in the "languages" section: French: learned in school, needs revitalization | |||
masak | same as mine, then. | 12:02 | |
12:03
riffraff left,
bluescreen joined
12:04
bluescreen is now known as Guest20535
|
|||
colomon | rakudo: say (4, 2, 1, 2, 4 ... 16).perl | 12:06 | |
p6eval | rakudo c4857a: OUTPUT«undef» | ||
12:06
nazgjunk joined,
takadonet joined
|
|||
takadonet | morning all | 12:06 | |
colomon | > say (4, 2, 1, 2, 4 ... 16).perl | 12:07 | |
(4, 2, 1, 2, 4, 8/1, 16/1) | |||
moritz_ | what is this "undef", and where does it come from? | ||
masak | takadonet: \o | ||
colomon | moritz_: not sure. | 12:08 | |
it should have been an infinite series before. | |||
masak | rakudo: sub foo($i) { return { $i } }; say foo(5)(); say foo(42)(); my $c1 = foo(5); my $c2 = foo(42); say $c1(); say $c2() | ||
p6eval | rakudo c4857a: OUTPUT«5424242» | ||
masak | :( | ||
12:08
meppl joined
|
|||
masak | it's not as bad as lexicals not working with recursion, but it's not good either. :/ | 12:09 | |
colomon | " If $ab is zero, and the three values look like numbers, then the function is *+0." | 12:13 | |
12:14
ruoso joined
|
|||
colomon | what do you think the technical meaning of "look like numbers" is? | 12:14 | |
moritz_ | it's probably: either ~~ Numeric, or can be parsed as a number | ||
moritz_ tries to build a newer rakudo on the p6eval server | 12:15 | ||
colomon | moritz_: well yes. I hadn't imagined there was a third possibility.... :) | 12:16 | |
masak | I read it as 'can be parsed as a number'. | ||
colomon | masak: is there a way to test that? | 12:18 | |
masak | colomon: I was going to say $ab eq ~+$ab, but that probably doesn't DWWM. | ||
moritz_ | use Scalar::Util qw(looks_like_number) | 12:19 | |
masak | :) | ||
moritz_ | (that does exist in Perl 5 core) | ||
colomon | ~$ab ~~ /^\d/ | 12:20 | |
? | |||
moritz_ | .4 | ||
masak | 4e3 | ||
moritz_ | rakudo: say .4 | ||
p6eval | rakudo c4857a: OUTPUT«0.4» | ||
masak | 5i | ||
moritz_ | but /^\.?\d/ might be good enough | ||
as a start | |||
masak | 0x30 | ||
moritz_ | starts with 0, with matches \d | 12:21 | |
masak | :) | ||
colomon | say "3.4".succ | ||
moritz_ | rakudo: say 1 + ' 3' | ||
p6eval | rakudo c4857a: OUTPUT«4» | ||
moritz_ | rakudo: say "3.4".succ | ||
p6eval | rakudo c4857a: OUTPUT«4.4» | ||
moritz_ | rakudo: say 'cimg0001.jpg'.succ | 12:22 | |
p6eval | rakudo c4857a: OUTPUT«cimg0002.jpg» | ||
moritz_ | \o/ | ||
masak | that's just sick :P | ||
colomon | rakudo: say ('cimg0001.jpg' ... *).perl | ||
p6eval | rakudo c4857a: OUTPUT«("cimg0001.jpg", "cimg0002.jpg", "cimg0003.jpg", "cimg0004.jpg", "cimg0005.jpg", "cimg0006.jpg", "cimg0007.jpg", "cimg0008.jpg", "cimg0009.jpg", "cimg0010.jpg", "cimg0011.jpg", "cimg0012.jpg", "cimg0013.jpg", "cimg0014.jpg", "cimg0015.jpg", "cimg0016.jpg", "cimg0017.jpg", | ||
.."cimg0018… | |||
masak | whoa. an infinite sequence of .jpg file names. o.O | 12:23 | |
how come .perl finishes? | |||
moritz_ | rakudo: say (1 ... *).perl | ||
p6eval | rakudo c4857a: OUTPUT«(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, {???} ... ???)» | ||
moritz_ | it cheats :-) | 12:24 | |
masak | oh, good. | ||
colomon | masak: it's got a limiter now. | ||
I don't know how great an idea that is in general, but it is very handy for testing. | |||
masak | I was worried for a while that it did something impossible. | ||
12:24
nazgjunk left
|
|||
colomon | (with the REPL, I mean) | 12:24 | |
masak | what REPL? :) | ||
12:28
colomon left
|
|||
masak | sorear: re irclog.perlgeek.de/perl6/2010-04-29#i_2276344 , I don't see how that could work. I see your intention with C.new.*handler, but the error occurs already at class composition time (as it should). | 12:29 | |
moritz_ | rakudo: say "version" | ||
p6eval | rakudo c4857a: OUTPUT«version» | 12:30 | |
masak | sorear: the thing about roles is that they flatten and mostly cease to exist at class composition time. so what you're left with is a collision between multi candidates. | ||
moritz_ | unless the multis are marked externally as stubs, and special-cased at composition time | 12:33 | |
pmurias | ruoso: ping | 12:41 | |
12:41
k23z__ joined
12:43
SmokeMachine joined
|
|||
dalek | kudo: b440a11 | moritz++ | t/spectest.data: two more passing test files |
12:49 | |
12:50
chitragupt left
|
|||
ruoso | hi pmurias | 12:51 | |
12:53
chitragupt joined
12:59
p6eval left
13:01
p6eval joined
13:05
lestrrat is now known as lest_away,
lest_away is now known as lestrrat
13:06
rv2733 joined
|
|||
pmurias | ruoso: i want to seperate the mildew core from the C/smop backend so the perlesque backend can be easily installable | 13:06 | |
13:06
p6eval left
|
|||
ruoso | that'd be nice... | 13:07 | |
pmurias | one thing i'm not sure how to solve is that we load all the VAST classes by getting a list of them with a glob | 13:08 | |
13:08
p6eval joined
|
|||
ruoso | pmurias, using Module::Pluggable would solve that | 13:08 | |
ruoso .oO( is that the name of the module? ) | |||
13:09
chitragupt left
13:11
M_o_C joined
|
|||
pmurias | ruoso: yes that one looks like it will be helpfull | 13:12 | |
13:13
jql left
13:16
chitragupt joined
13:18
Guest19628 left
|
|||
pmurias | ruoso: what would be the could name for the backend independent part? Mildew::Common? | 13:19 | |
or just Mildew | 13:20 | ||
? | |||
13:23
colomon joined,
iblechbot left
13:24
rgrau` joined
13:28
rgrau_ joined
13:29
rgrau` left
13:30
tlb joined
|
|||
masak | Perl 6 equals communism: zag.ru//page/item_view/kommunizm-v-...perl6.html | 13:31 | |
13:32
uniejo left
|
|||
masak | if I understand the reasoning correctly it's that Parrot will enable many languages to run at the same time, and that 28 times 5 is 140. | 13:32 | |
pmurias | i get a 502 error which is propably better as the post doesn't sound sensible | ||
13:34
chitragupt left,
chitragupt joined
|
|||
masak | it was mostly silly, actually. | 13:35 | |
got caught in my Twitter live search. | |||
ruoso | pmurias, just mildew | 13:44 | |
pugssvn | r30543 | pmurias++ | [mildew] started seperating mildew into modules | 13:45 | |
moritz_ | robertfortner.posterous.com/the-unr...ecognition | ||
(probably old news to people like arnsholt_, but I found it quite interesting) | 13:46 | ||
colomon | moritz_: funny thing was, I saw that headline immediate after seeing ESR mention how nice the speech recognition feature on his Android phone was.... | 13:47 | |
arnsholt_ | moritz_: You know how it is. It's hard to wreck a nice beach/It's hard to recognise speech =) | 13:48 | |
moritz_ | colomon: and it does work quite well, for limited applications like controlling a phone | ||
colomon | moritz_: actually the context was how (almost?) any text field could be filled using speech recognition. | 13:49 | |
moritz_ | cool if it works :-) | ||
colomon | "Much more impressive in practice is the fact that voice-to-text now works on any text input box, rather than being a browser-only feature. It’s not perfect – you’ll get the occasional funny homonym – but it’s good enough to reduce the amount of typing I have to do really significantly, and the background-noise cancellation works remarkably well. I’ve grown used to having it work even in the hubbub of a crowded convention | ||
esr.ibiblio.org/?p=1961 but that's all he says about that. | 13:50 | ||
I don't know how true it is, but it was very funny in conjunction with the other article's headline. :) | 13:51 | ||
moritz_ | somehow that reminds me of "Perl is dead" - "Perl is alive and kicking" :-) | 13:52 | |
arnsholt_ | The section about statistics is interesting (and to my taste) | ||
13:52
arnsholt_ is now known as arnsholt
|
|||
arnsholt | You can get some quite interesting results with statistical models, but you only get so far | 13:53 | |
Especially, what is the most probable sequence at one level (word segmentation of running speech for example) may very well turn out to be impossible further up in the hierarchy (syntax, semantics) | 13:54 | ||
13:54
chitragupt left
13:56
alester joined
|
|||
moritz_ | so you need backtracking | 13:57 | |
13:57
chitragupt joined
|
|||
arnsholt | Yeah, I think so. Some kind of interation between the different layers | 14:00 | |
14:00
meppl left
|
|||
arnsholt | Also, as he points out in the conclusion, the problem looks increasingly like flat-out AI | 14:01 | |
14:05
mikehh left
14:08
chitragupt left
14:12
jql joined
|
|||
masak | time to crack flat-out AI, then :P | 14:23 | |
moritz_ | let's do that in Perl 6 | 14:24 | |
masak | "Perl 6 is all good and well, but what can you USE it for?" -- "Here, hold this AI." | ||
moritz_ | rakudo: say 1 | 14:25 | |
p6eval | rakudo 1eef08: OUTPUT«1» | ||
moritz_ | note the new-and-improved revision string | ||
colomon | ? | 14:26 | |
masak | looks like earlier today. | ||
colomon | or do you just mean that it is compiling again? | ||
14:26
PacoLinux joined
14:27
_kaare joined
|
|||
colomon | rakudo: say (4, 2, 1, 2, 4 ... 256).perl | 14:27 | |
p6eval | rakudo 1eef08: OUTPUT«(4, 2, 1, 2, 4, 8/1, 16/1, 32/1, 64/1, 128/1, 256/1)» | ||
moritz_ | colomon: I've compiled a new version again | ||
took 40min | |||
colomon | ye gads. | ||
moritz_++ | 14:28 | ||
moritz_ | so I'm reluctant to cron-job it again right now | ||
masak | :/ | 14:29 | |
Juerd | Just put it in an infinite loop then | ||
;) | |||
moritz_ | thus spoketh the experienced sysadmin, and was never seen again | ||
14:29
kst left
|
|||
Juerd | I have several things running in infinite loops | 14:30 | |
I'm considering it for backups too | |||
14:30
kst joined
|
|||
pugssvn | r30544 | moritz++ | [t/spec] unfudges for rakudo | 14:34 | |
r30545 | moritz++ | [t/spec] typo in file name | 14:35 | ||
lisppaste3 | colomon pasted "C++ versus Perl 6 " at paste.lisp.org/display/98714 | 14:38 | |
moritz_ kinda likes the perl 6 version better :-) | 14:39 | ||
colomon | so far I'm finding the conversion from Perl 6 to C++ to be relatively quick, and it was a lot nicer prototyping in Perl 6. :) | 14:40 | |
masak | sorear: you mixed up me and moritz_ in a bug report :) rt.perl.org/rt3/Ticket/Display.html?id=74866 | 14:44 | |
14:45
molaf joined
|
|||
moritz_ | .oO( are we isomorphic in IRC? :-) |
14:45 | |
masak .oO( isomorizm ) | 14:46 | ||
moritz_ | :-) | 14:47 | |
14:48
nihiliad joined
14:49
christine left
14:52
christine joined
14:53
meppl joined,
_kaare left
14:59
pmurias left
15:00
k23z__ left
|
|||
masak | rakudo: say e ** pi - pi | 15:01 | |
p6eval | rakudo 1eef08: OUTPUT«19.9990999791895» | ||
masak | I hear if there are no rounding errors, that should be 20 :) | ||
moritz_ | exactly 20? | 15:02 | |
masak | yes! | ||
colomon | :\ | ||
masak tries to conceal a smile | |||
www.xkcd.com/217/ | |||
moritz_ | lol | 15:03 | |
15:03
riffraff joined
|
|||
colomon | I should have remembered the cartoon. | 15:04 | |
I see we are indeed as accurate as it. :) | |||
masak | Raccurato++ | 15:06 | |
15:22
M_o_C left
|
|||
colomon | I have to admit that working on const-correctness kind of makes me wish we had that for Perl 6 methods. | 15:22 | |
15:23
M_o_C joined
|
|||
masak | 'const-correctness'? | 15:26 | |
colomon | masak: you can (sort of) guarantee a C++ method has no side-effects on the class object it is run on by declaring it "const". | 15:27 | |
masak | that feels oddly sideways. | 15:28 | |
it's not the method that is 'const', it's the things it doesn't do to the invocant :) | |||
colomon: anyway, I could imagine that being done with a trait of some sort. | 15:29 | ||
colomon | it's definitely not perfect | ||
but having the compiler enforce it can be a handy way of clarifying your thinking that Perl 6 lacks. | |||
(but then, if you can define a trait for that, that would be full of awesome....) | 15:30 | ||
it is one more bookkeeping thing to keep track of while you are programming, but it's mostly second nature to me now. :) | |||
masak | it would probably have to involve some analysis of the method body, in order to enforce the constraint... | ||
colomon nods | 15:31 | ||
masak | something like 'the method body may not assign to attributes, or call other methods which don't have the same trait" | ||
colomon | the nice thing about that is you could also have the stricter version: | 15:33 | |
this method has no side effects. | |||
masak | is 'next' a side effect? | 15:34 | |
what about looping forever? | |||
colomon | heh, there was discussion of looping forever (and the optimization thereof) on Hacker News yesterday. | 15:35 | |
masak | URL? | ||
colomon | news.ycombinator.com/item?id=1310105 | 15:37 | |
15:38
M_o_C left
|
|||
masak | ah, I had put that one in my queue. :) | 15:39 | |
colomon | :) | ||
it's an interesting question. | |||
masak | seems the discussion is divided between those who stick to the spec and those who appeal to reality :) | 15:41 | |
colomon | though I'm inclined to agree with the group who thinks that complicated loops that provably have no side effects in any iteration of the loop ought to be optimized away. | 15:42 | |
masak | hm, maybe. | ||
colomon | sounded to me like a hole in the spec, not really specified either way. | ||
(which would be unsurprising in C/C++, of course.) | 15:43 | ||
15:44
M_o_C joined
15:54
_kaare joined
16:00
eternaleye left
16:03
envi^home left
16:05
constant left
16:07
constant joined,
constant left,
constant joined
16:10
justatheory joined
16:11
chitragupt joined
|
|||
dalek | psi: 8c6edd7 | masak++ | lib/Yapsi.pm: [Yapsi] bumped SIC version upcoming release. |
16:11 | |
16:14
REPLeffect joined
|
|||
masak | swimming & | 16:16 | |
16:16
masak left
16:17
kst left,
kst joined
16:27
iblechbot joined
16:30
ash_ joined
16:39
nihiliad left,
nihiliad joined
16:40
chitragupt left,
chitragupt joined
16:44
tlb left
16:49
sundar_afk joined,
fda314925 left,
hicx174 left
17:12
cdarroch joined,
cdarroch left,
cdarroch joined
17:21
[[mark]] left
|
|||
sorear | phenny: tell masak - (on .*) - .* has other problems anyway (too low level), which is why I'm going via pastie.org/943825 ;) | 17:25 | |
phenny | sorear: I'll pass that on when masak is around. | ||
sorear | phenny: tell masak - closures not working is a PCT problem I think; declaration blocks should get newclosure'd before being capture_lex'd | 17:27 | |
phenny | sorear: I'll pass that on when masak is around. | ||
17:33
_kaare left
17:38
BrowserUk joined
|
|||
colomon | Ack, one line of Perl 6 just translated to 9 of C++. | 17:38 | |
17:39
szabgab left
|
|||
ash_ | ? | 17:39 | |
colomon: how did you translate into c++? | |||
colomon | by hand | ||
ash_ | what line of perl6 was it? | 17:41 | |
colomon | my @limited-points = (@.points, $possible-inner.points).grep({ $_[0] ~~ $inner-u-range }); | 17:42 | |
ash_ | yeah, i can see why that would be so many lines :P | 17:43 | |
o.0 apparently, (i forgot this...) but in my nq-nqp, i can generate functions already, hmmm but they aren't being added to the lexical scope properly, but thats not to hard | 17:44 | ||
diakopter | rakudo: sub foo($i) { return { $i } }; say foo(5)(); say foo(42)(); my $c1 = foo(5); my $c2 = foo(42); say $c1(); say $c2() | 17:51 | |
p6eval | rakudo 1eef08: OUTPUT«5424242» | 17:52 | |
diakopter | !!! | ||
alpha: sub foo($i) { return { $i } }; say foo(5)(); say foo(42)(); my $c1 = foo(5); my $c2 = foo(42); say $c1(); say $c2() | |||
p6eval | alpha 30e0ed: OUTPUT«542542» | ||
diakopter | oh | ||
that's kindof a major regression | |||
ash_ | yeah | 17:53 | |
17:53
ShaneC joined,
ShaneC left
|
|||
ash_ | somewhere its not capturing lexicals properly | 17:53 | |
17:54
mikehh joined
|
|||
PerlJam | ash_: or maybe it's not creating the closure properly | 17:56 | |
ash_ | rakudo: sub foo($i) { return { $i } }; my $c1 = foo(42); my $c2 = foo(5); say $c1(); say $c2(); # a shorter version of it | ||
p6eval | rakudo 1eef08: OUTPUT«55» | ||
diakopter | I would have to insist that that's an R* blocker | 17:59 | |
TimToady | I would tend to agree | ||
PerlJam | I don't think anyone would argue with that :) | ||
18:01
nadim_ joined
18:08
kst left,
kst joined
18:12
M_o_C left
|
|||
colomon | ah, yes, that's been a huge bug for a while. | 18:13 | |
(I mean, it's a regression switching from alpha to master, not a regression in master itself) | |||
sjohnson | hi | 18:14 | |
diakopter | not cloning lexpads might explain speed improvement | 18:16 | |
ash_ | nqp: sub foo($i) { return { $i }; }; my $a := foo(1); my $b := foo(3); say($a(), $b()); | 18:21 | |
p6eval | nqp: OUTPUT«33» | ||
ash_ | its a problem in nqp also | ||
18:26
SmokeMachine left
18:33
M_o_C joined
18:35
pyrimidine joined,
ash_ left
|
|||
colomon | diakopter: speed improvement where? (I'm assuming you're still talking about the closure issue.) | 18:36 | |
18:37
[particle] left
|
|||
diakopter | from alpha to master | 18:39 | |
colomon | was there one? | 18:42 | |
I know the spectests ran faster back in the day, but that was when we weren't running most of them on master/ng. | |||
18:45
SmokeMachine joined
18:46
[particle] joined
18:53
M_o_C left
18:55
cotto_work left
|
|||
colomon | at any rate, IMO the closure thing is one of the top two biggest issues we need solved by R*. | 18:57 | |
18:59
masak joined
|
|||
pyrimidine | colomon: what was the other issue? | 18:59 | |
masak | I agree about the closures thing being a Rakudo Star blocker. | 19:00 | |
phenny | masak: 17:25Z <sorear> tell masak - (on .*) - .* has other problems anyway (too low level), which is why I'm going via pastie.org/943825 ;) | ||
masak: 17:27Z <sorear> tell masak - closures not working is a PCT problem I think; declaration blocks should get newclosure'd before being capture_lex'd | |||
pyrimidine came in late to the conversation | |||
colomon | pyrimidine: getting the current issues with Array, Seq, iterators, and lazy lists sorted out. | ||
masak | it's also a blocker for my understanding of how blocks and closures work in Perl 6. :) | ||
pyrimidine | ok | ||
colomon | rakudo: sub bad(@a) { say @a.perl; say @a.perl; }; bad(1 ... 10) | 19:01 | |
p6eval | rakudo 1eef08: OUTPUT«(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)()» | ||
masak | rakudo: our $a = 1; say $a; { our $a = 2; say $a; my $a = 3; say $a }; say $a | 19:02 | |
p6eval | rakudo 1eef08: OUTPUT«Redeclaration of symbol $a at line 11, near " = 3; say "current instr.: 'perl6;HLL;Grammar;panic' pc 501 (ext/nqp-rx/src/stage0/HLL-s0.pir:327)» | ||
masak | std: our $a = 1; say $a; { our $a = 2; say $a; my $a = 3; say $a }; say $a | ||
p6eval | std 30545: OUTPUT«Potential difficulties: Useless redeclaration of variable $a (see line 1) at /tmp/b4BXQvFtb1 line 1:------> = 1; say $a; { our $a = 2; say $a; my $a⏏ = 3; say $a }; say $aok 00:01 110m» | ||
colomon | pyrimidine: that's a symptom, but the real problem is deeper and conceptual. | ||
pyrimidine | sounds like it reaches back into PCT as well | ||
19:04
skangas joined
|
|||
colomon | hmmm.... next Rakudo release is May 20th? | 19:05 | |
masak thinks so | 19:06 | ||
moritz_ | colomon: aye. And you're the release manager | ||
colomon | moritz_: ah, right! :) | ||
I'll try not to let the power go to my head. | 19:07 | ||
moritz_ | :-) | ||
colomon | But before moritz_++ reminded me of that, I was going to suggest that we really ought to have both those bugs taken care of before this month's release. | ||
seems like it would be very scary for R* if we were trying to deal with those things in June.... | 19:08 | ||
19:09
kst left
19:10
kst joined
|
|||
colomon needs to finish this C++ $work project so he can get to proper Rakudo hacking... | 19:11 | ||
afk | |||
19:13
ash_ joined
|
|||
masak | good topic for tomorrows #rs, then. | 19:17 | |
sorear: I find your macro code intriguing and I want to subscribe to your newsletter. | 19:19 | ||
19:22
SmokeMachine left
|
|||
ash_ | masak: whats the link for sorear's blog? | 19:30 | |
colomon | masak: I'm suddenly wondering why I've been thinking of the lazy list issue as a big block. It seems to me there are probably 3-4 approachable pieces in there... | ||
19:31
nihiliad left
|
|||
masak | ash_: don't know if he has one. my expression was more an instance of a Slashdot meme than anything else. (but sincere. he's doing cool stuff with macros!) | 19:31 | |
19:31
nihiliad joined
|
|||
masak | colomon: that's great news. | 19:32 | |
colomon | masak: mind you, I may be insane. | ||
but I am definitely feeling inspired at the minute. | |||
masak | \o/ | ||
colomon | which of course means it's time for $work. :( | ||
19:34
meppl left
19:35
molaf left
19:37
tri1 joined
19:40
k23z__ joined
|
|||
masak | nom & | 19:50 | |
19:50
masak left
|
|||
pugssvn | r30546 | moritz++ | [helpnow] draft for first challenge/task | 20:00 | |
moritz_ | I'd appreciate it if somebody could gloss over that announcement and give me some feedback | ||
ash_ | moritz_: do you have any idea on the capturing of lexical vars bugs? it appears to be a problem in nqp-rx as well as rakudo | 20:01 | |
20:02
bkeeler left,
bkeeler joined
|
|||
moritz_ | ash_: nope | 20:02 | |
ash_: I think you know the nqp-rx code base better than I do | |||
ash_ | maybe i can compare the pir generated by master and alpha and look for glaring differences (which there will probably be a bunch) | 20:04 | |
moritz_ | rakudo: enum A <b c d>; say A::c | 20:07 | |
p6eval | rakudo 1eef08: OUTPUT«Can not find sub A::ccurrent instr.: 'perl6;Perl6Exception;throw' pc 15354 (src/builtins/Associative.pir:46)» | ||
moritz_ | rakudo: enum A <b c d>; say c | ||
p6eval | rakudo 1eef08: OUTPUT«1» | ||
20:07
thowe joined
|
|||
moritz_ | rakudo: enum A <b c d>; say d | 20:07 | |
p6eval | rakudo 1eef08: OUTPUT«2» | ||
20:07
muixirt joined
|
|||
moritz_ | rakudo: enum A <b c d>; say c ~~ A | 20:07 | |
p6eval | rakudo 1eef08: OUTPUT«0» | ||
moritz_ | rakudo: enum A <b c d>; say 2 ~~ c | ||
p6eval | rakudo 1eef08: OUTPUT«0» | ||
moritz_ | rakudo: enum A <b c d>; say 2 ~~ d | 20:08 | |
p6eval | rakudo 1eef08: OUTPUT«1» | ||
ash_ | rakudo: sub a { 'a' }; enum A <a b c d>; say a; | ||
p6eval | rakudo 1eef08: OUTPUT«0» | ||
ash_ | is that an issue? | ||
moritz_ | yes | ||
ash_ | rakudo: sub a { 'a' }; enum A <a b c d>; say a, &a; | 20:09 | |
p6eval | rakudo 1eef08: OUTPUT«0a» | ||
moritz_ | jnthn wrote "First hacky cut of named enums" not without reason | ||
20:10
clintongormley left
|
|||
ash_ | you can (thankfully) still get to sub a | 20:10 | |
guess i should use & more to make sure you can tell what your doing | |||
moritz_ | not really | ||
a() should be sufficient | |||
rakudo: sub a { 'a' }; enum A <a b c d>; say a() | 20:11 | ||
ash_ | rakudo: sub a { 'a' }; enum A <a b c d>; say a, a(); | ||
p6eval | rakudo 1eef08: OUTPUT«a» | ||
rakudo 1eef08: OUTPUT«0a» | |||
ash_ | ah, cool | ||
colomon apparently just slept 20 minutes sitting up in his office chair . | |||
hey, I just realized jnthn is missing #rs this week. | |||
ash_ | power nap eh? | ||
colomon | perfect time to go crazy. ;) | ||
power nap indeed. | |||
no wonder my mouth was dry. | |||
20:12
krakan left
|
|||
colomon | I thought I was just blinking in and out a bit, but Jen says I snored for 20 minutes. | 20:12 | |
20:26
lue left
20:32
tri1 left
20:37
eternaleye joined
20:50
skangas left
20:51
skangas joined,
patrickas joined
20:54
rv2733 left
21:01
Lorn left
21:02
Lorn joined
21:03
orafu left
21:05
orafu joined
21:11
jonasbn left
21:14
riffraff left
21:20
sundar_afk left
21:21
Tene left,
pmurias joined
|
|||
pmurias | diakopter: hi | 21:21 | |
21:23
lichtkind joined
|
|||
diakopter | hio | 21:24 | |
lichtkind | hai | ||
21:25
cotto_work joined
|
|||
diakopter | pmurias: I'm working on revealing clr generic types to perlesque as parametric types | 21:29 | |
21:29
Guest20535 left
|
|||
diakopter | pmurias: also, I got the asmbly_1.exe files to not have a dependency on Sprixel.exe | 21:30 | |
(necessarily) | |||
(in mildew's case, we'll want to have mildew_stage0.dll available as a link to both Sprixel.exe's compiler and the resulting assemblies) | 21:31 | ||
21:31
mikehh left,
mikehh joined
|
|||
diakopter | (so that mildew's resulting assemblies don't need a reference/dependency to Sprixel.exe) | 21:31 | |
(unless of course the code they represent contains an "eval('code')" | 21:32 | ||
21:36
patrickas left
21:39
chitragupt left
|
|||
pmurias | what should mildew_stahe0.dll contain? | 21:42 | |
* mildew_stage0.dll | |||
the P6{Str,capture...}? | |||
diakopter | yes | 21:45 | |
21:54
kensanata joined
21:56
Tene joined,
Tene left,
Tene joined
21:59
kensanata left
22:00
iblechbot left
22:04
kst left,
kst joined
|
|||
lichtkind | what is ORed ? | 22:04 | |
TimToady | the opposite of ANDed | 22:10 | |
lichtkind | TimToady: thanks | 22:12 | |
TimToady: you got my reaction to your message? | |||
i see now it means or-ed, i read o-red | 22:13 | ||
22:13
pmurias left
|
|||
TimToady | lichtkind: yes, though I sent my message a couple days before you got it :) | 22:14 | |
possibly before Damian sent his... | |||
lichtkind | TimToady: yes so damian was only virtually faster, but he found some other error too | ||
TimToady: however its fixed now in both version, working on metops and escape sequences now | 22:15 | ||
lichtkind currently sees he missed the S meta op | 22:18 | ||
ash_ | /msg p6eval rakudo: my $a = 3; sub f { say $a + 2 }; $a = 1; f(); | ||
22:20
kensanata joined
22:21
ruoso left
22:22
kensanata left
|
|||
ash_ | i found whats wrong with closures in nqp-rx | 22:26 | |
nqp: sub foo($i) { return { $i } }; my $a := foo(4); my $b := foo(2); say($a(), $b()); | 22:27 | ||
p6eval | nqp: OUTPUT«22» | ||
ash_ | nqp: sub foo($i) { return pir::newclosure__PP({ $i }); }; my $a := foo(4); my $b := foo(2); say($a(), $b()); | ||
p6eval | nqp: OUTPUT«42» | ||
ash_ | it's missing a newclosure to capture the variables properly | ||
rakudo: sub foo($i) { return pir::newclosure__PP(%7B $i }); }; my $a = foo(4); my $b = foo(2); say($a(), $b()); | 22:28 | ||
p6eval | rakudo 1eef08: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1696 (ext/nqp-rx/src/stage0/Regex-s0.pir:932)» | ||
ash_ | rakudo: sub foo($i) { return pir::newclosure__PP(%7B({ $i }); }; my $a = foo(4); my $b = foo(2); say($a(), $b()) | ||
p6eval | rakudo 1eef08: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1696 (ext/nqp-rx/src/stage0/Regex-s0.pir:932)» | ||
ash_ | rakudo: sub foo($i) { return pir::newclosure__PP({ $i }); }; my $a = foo(4); my $b = foo(2); say($a(), $b()) | 22:29 | |
p6eval | rakudo 1eef08: OUTPUT«Attempting to do sub operation on non-Sub.current instr.: 'foo' pc 272 (EVAL_1:96)» | ||
22:29
pyrimidine left
22:30
rgrau__ joined
22:32
rgrau_ left
22:41
ash_ left
22:43
kensanata joined
|
|||
snarkyboojum | no | 22:52 | |
oops wrong window :) | |||
TimToady | yes | 22:54 | |
23:04
nihiliad left
23:05
Sanitoeter left
23:06
Sanitoeter joined
23:14
cdarroch left
|
|||
sorear | moritz_: I know *exactly* what's causing the lexical var capture bug. | 23:14 | |
do I need to put this in the topic or something? ash_ just spent however much time rediscovering it... | 23:15 | ||
unfortunately | |||
phenny: seen pmichaud | |||
this is a potentially controvertial change; I need to track down the PCT maintainer before I can push a patch | 23:16 | ||
which is probably going to have to be a #parrotsketch thing | |||
TimToady | well, better to ask around on #parrot than here, I suspect | 23:17 | |
23:20
rgrau__ left
|
|||
snarkyboojum | rakudo: say e ** pi - pi # backlogging fun | 23:21 | |
p6eval | rakudo 1eef08: OUTPUT«19.9990999791895» | ||
23:25
lestrrat is now known as lest_away
|
|||
sorear | phenny: tell ash_ - please contact me before raising more heckles over broken closures in PCT. You're duplicating a ridiculous amount of work I did a week ago. | 23:25 | |
phenny | sorear: I'll pass that on when ash_ is around. | ||
23:27
masak joined
|
|||
masak | ahoy. | 23:27 | |
diakopter | sorear: disregarding the controversial-ness of your proposed change, I'm curious about the technical explanation | ||
23:27
lue joined
|
|||
masak | I just realized that jnthn++ has put in a first shot at named enums. | 23:28 | |
I'm not sure I had registered that before. even though it's not complete, it's great news. | |||
23:29
chitragupt joined
|
|||
masak | and now jnthn has gone underground, which I take to mean that he wants me to round up all the aspects of named enums that still don't work, and package them as RT tickets until he comes back. :P | 23:29 | |
sorear | You could always help me break macros | 23:30 | |
masak | oh, gladly. | ||
23:32
chitragupt left,
chitragupt joined
23:33
wknight8111 joined
|
|||
sorear | masak: Sadly, I don't have a newsletter. | 23:37 | |
snarkyboojum | dobro jutro p6hackers | 23:38 | |
masak | no jutro here for a couple hours yet... :) | ||
snarkyboojum | I thought it was almost 2am there - oh well :) | 23:39 | |
masak | sorear: then how am I supposed to know about the current state of macro implementation? :) | ||
23:39
chitragupt left
|
|||
masak | snarkyboojum: it is. could be seen as a very premature jutro, I guess... :) | 23:39 | |
but I assure you it doesn't get darker than this outside. | 23:40 | ||
sorear | shrug, I guess you could try github's rss generator | ||
23:40
kensanata left
|
|||
colomon | masak: I'm sure he'd be happy if you found the bugs and fixed them instead. ;) | 23:40 | |
23:40
chitragupt joined
|
|||
masak | sorear: on what repo? | 23:40 | |
Rakudo? | |||
sorear | sorear/rakudo | ||
masak | ah, excellent. | ||
I will most certainly download it and give it a whirl. | |||
I mean, macros! wow! | 23:41 | ||
sorear | and I found a rakudobug while implementing it! | ||
masak | yeah, I noticed :) | ||
sorear++ | |||
so, the most recent work is in topic/macros? | 23:42 | ||
sorear | yes | 23:43 | |
heh, I found a wrong spectest | |||
S06-operator-overloading/sub.t 155 'my' needs to be 'our' | 23:44 | ||
23:45
muixirt left
|
|||
masak | why? | 23:45 | |
sorear | because my subs don't live in namespaces | 23:46 | |
so &::(...) is wrong | |||
masak | ah, indeed. | ||
TimToady | well, but symbolic indirection is supposed to look in lexpads as well | 23:47 | |
masak | so 'my' is not wrong? | ||
TimToady | looks pretty okay to me, assuming the & migrates in to the actual lookup | 23:49 | |
but it has to do that anyway for any compound sigiled name like $foo::bar, which is really foo::<$bar> | 23:50 | ||
masak | *nod* | 23:51 | |
TimToady | since 'foo' is allowed to be a named lexical scope, seems like it oughta work | ||
std: my $foo; UNIT::<$foo>; UNIT::<$bar> | 23:52 | ||
p6eval | std 30546: OUTPUT«===SORRY!===Variable UNIT::<$bar> is not predeclared at /tmp/2dWtcRlrKN line 1:------> my $foo; UNIT::<$foo>; UNIT::<$bar>⏏<EOL>Check failedFAILED 00:01 110m» | ||
masak | TimToady: did you see my confusion earlier about the lack of warnings from STD about redeclarations involving 'our'? | ||
TimToady | yes, and it's in my todo file | 23:53 | |
which keeps growing... :( | |||
masak | sorry about that. | 23:54 | |
sorear | STD has bugs? | ||
I thought STD only has LTAness | |||
masak | *gasp* | ||
TimToady | shh! | ||
sorear wonders how many more bugs STD would have if it bundled a compiler | 23:55 | ||
masak | well, people are working on finding out :) | ||
TimToady | well, I know for a fact that [op] args doesn't actually store the args anywhere :) | ||
23:56
eternaleye left
|
|||
sorear | incidentally, I wonder how hard it would be to get roles working in NQP-rx | 23:56 | |
TimToady | and I know that the tie-breaking rules for ambiguous LTM matches probably doesn't take inheritance into account correctly yet | ||
sorear | (you're allowed to use src/metamodel/) | ||
TimToady | and I'm sure if I actually look back at my todo file I could find quite a few more bugs :) | 23:57 | |
sorear | if we had /that/, it would be fairly simple to have slangs in rakudo | ||
just think about it! q:s! lexical macros! use COBOL! actually skip the last one | |||
rakudo: { my sub infix:<¢>($x,$y) { !!! }; }; 2 ¢ 3 | 23:58 | ||
p6eval | rakudo 1eef08: OUTPUT«Could not find sub &infix:<¢>current instr.: '_block21' pc 29 (EVAL_2:0)» | ||
sorear | rakudo: 2 ¢ 3 | ||
p6eval | rakudo 1eef08: OUTPUT«Confused at line 11, near "2 \x{a2} 3"current instr.: 'perl6;HLL;Grammar;panic' pc 501 (ext/nqp-rx/src/stage0/HLL-s0.pir:327)» | ||
masak | why, when I call `sub foo($p) { return { $p } }` twice, do I get two different closures? when is the cloning done? | 23:59 | |
sorear | rakudo: sub foo($p) { return { $p }; }; say foo(2).do.WHICH; say foo(3).do.WHICH; | ||
p6eval | rakudo 1eef08: OUTPUT«6776656067766560» | ||
sorear | What two different closures |