»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:13
tokuhiro_ joined
00:46
replore joined
01:09
drbean left
01:10
tokuhiro_ left,
bluescreen10 joined
01:16
drbean joined
01:19
benabik joined
01:21
jaldhar joined
01:22
benabik left,
benabik joined
01:26
uasi joined
01:31
japhb_ joined
|
|||
dalek | ecza/serialize: 604037a | sorear++ | lib/Serialize.cs: Fix generic thawing of array objects |
01:33 | |
ecza/serialize: c52005a | sorear++ | / (4 files): Implement unit linking |
|||
japhb_ | jnthn, it looks to me that rt.perl.org/rt3/Ticket/Display.html?id=92986 is indeed solved, though I note that 'say "main $n { $n.WHAT }";' needs to be 'say "main $n { $n.WHAT.gist }";' to work as intended | 01:35 | |
I can't find my bitcard credentials and need to run at the moment, but anyone is free to do the needful to the ticket. | 01:36 | ||
01:38
japhb_ left
01:40
drbean left
|
|||
dalek | ecza/serialize: 29191f9 | sorear++ | lib/ (2 files): Recursively initialize units |
01:45 | |
01:45
drbean joined
|
|||
dalek | ecza/serialize: 8983cfc | sorear++ | lib/Kernel.cs: Remove left-in debugging statement |
01:46 | |
sorear | stefan@stefans:~/rel/niecza$ mono run/Niecza.exe -e 'say "Hello world"' | ||
Hello world | |||
01:47
shinobicl_ joined
02:01
whiteknight left
|
|||
colomon | \o/ | 02:07 | |
sorear | today's example of a subtle bug introduced by an editing error: $*CURLEX<!sub>.set_signature(<multisig> ?? $<multisig>[0].ast !! Any); | 02:10 | |
diakopter | $ | ||
dalek | ecza/serialize: 3842922 | sorear++ | / (3 files): Reimplement "is export" |
02:24 | |
ecza/serialize: ba7d08c | sorear++ | lib/ (2 files): Finish implementation of CATCH/CONTROL |
02:27 | ||
ecza/serialize: 3a27812 | sorear++ | / (2 files): Reduce spurious nonuse warnings |
02:38 | ||
sorear | niecza can now compile Test.pm6 | ||
diakopter | :) | ||
how big is the serialized output | |||
compared to Test.pm6 | |||
sorear | stefan@stefans:~/rel/niecza$ ls -lh obj/Test.* lib/Test.* | 02:39 | |
-rw-r--r-- 1 stefan stefan 5.0K Sep 29 23:01 lib/Test.pm6 | |||
-rwxr-xr-x 1 stefan stefan 26K Oct 19 19:37 obj/Test.dll | |||
-rw-r--r-- 1 stefan stefan 29K Oct 19 19:37 obj/Test.ser | |||
for comparison: | |||
stefan@stefans:~/rel/niecza$ ls -lh /tmp/niecza/obj/Test.* | |||
-rwxr-xr-x 1 stefan stefan 44K Sep 28 20:05 /tmp/niecza/obj/Test.dll | |||
-rw-r--r-- 1 stefan stefan 59K Sep 28 20:05 /tmp/niecza/obj/Test.nam | |||
(that's a master checkout) | 02:40 | ||
for fairness, note that Test.dll was self-contained in master but serialize requires the .ser at runtime | 02:41 | ||
I wonder if it should be possible to catch WORRYs from eval using some kind of CONTROL thing | 02:42 | ||
02:44
yves left,
envi_ joined
|
|||
ingy is @ the bay area haskell mongers meeting :) | 02:47 | ||
O HAI sorear | |||
sorear | ...yes, ingy? | ||
sorear needs to move out of the middle of nowhere someday | 02:48 | ||
ingy | do you have a msg for the bahaskell peeps? | ||
and do you have a spare couch in the middle of nowhere? :) | |||
sorear | not really. I've been absent for a while, and moreover, if they remember me it's as a teenager | 02:49 | |
diakopter | ingy: where do you need a couch | ||
sorear | Sadly our couch is not sparable. | ||
02:50
yves joined
|
|||
sorear | Why, is ingy going to pay the middle of nowhere a visit? :) | 02:50 | |
ingy | sorear: always on the move I am | 02:51 | |
sorear | Oh right, I remember now, you were the homeless ascetic. | 02:52 | |
ingy | :D | ||
s/were/are | |||
diakopter | ingy: there's even a spare bed/bath here. just sayin'. 10 min from SFO | 02:53 | |
sorear | ingy: now you're making me wonder if there's some interesting Perl/OSS event going on in my backyard | ||
or if all you care about is me? <flattered/> | 02:54 | ||
02:54
uasi left
|
|||
dalek | ast: b6a2dde | Coke++ | S (3 files): rakudo fudging |
02:55 | |
kudo/nom: 5af761e | Coke++ | t/spectest.data: run more tests. |
02:56 | ||
02:56
donri left
02:58
shinobicl_ left
03:00
envi_ left,
envi_ joined
|
|||
dalek | ecza/serialize: 2e191e7 | sorear++ | / (2 files): Implement the "use" statement |
03:25 | |
03:37
TimToady left
04:01
molaf_ left
04:04
benabik_ joined,
pomysl joined,
pomysl left,
pomysl joined,
moritz_ joined,
masak_ joined
04:05
Yappoko___ left,
breinbaas left,
tty234 left,
Yappoko___ joined,
masak left,
sirmacik left,
moritz left,
benabik left,
PZt left,
benabik_ is now known as benabik
04:06
breinbaas joined,
wolfman2000 left
04:07
tty234 joined
04:10
satyavvd joined
|
|||
dalek | ecza/serialize: c7a98e8 | sorear++ | lib/CodeGen.cs: Fix compilation of state-names |
04:10 | |
04:16
PZt joined
|
|||
dalek | gs.hs/deprecations: 501306f | (Shachaf Ben-Kiki)++ | Pugs/src/ (82 files): Remove most pragma-related deprecation warnings. Mainly by removing unneeded OPTIONS declarations (and replacing them with the appropriate LANGUAGE declarations where needed). |
04:16 | |
ecza/serialize: a2beb89 | sorear++ | / (2 files): Fix qualified private method call compilation |
|||
sorear | o/ shachaf | ||
04:16
satyavvd left
|
|||
shachaf | sorear: Hello. | 04:17 | |
shachaf is also at bahaskell. | |||
04:21
satyavvd joined
|
|||
dalek | gs.hs/deprecations: d4c5c2a | (Ingy dot Net)++ | Pugs/src/Pugs/ (7 files): Make compile on 7.2 |
04:34 | |
sorear | shachaf: pity, I'm not. | 04:35 | |
shachaf | sorear: Is the middle of nowhere in San Diego? | 04:39 | |
04:41
thou joined
04:43
TimToady joined
04:49
moritz_ is now known as moritz
|
|||
moritz | good morning | 04:50 | |
masak_: pong | |||
sorear | shachaf: yes | ||
dalek | ast: cc1b81e | moritz++ | S04-phasers/begin.t: test that BEGIN happens indeed at parse time |
04:51 | |
moritz | nom: say $*FATAL | 04:52 | |
p6eval | nom 5af761: OUTPUT«Failure.new()» | ||
moritz | nom: use fatal; say $*FATAL | 04:53 | |
p6eval | nom 5af761: OUTPUT«Bool::True» | ||
dalek | ecza/serialize: 3da8e40 | sorear++ | src/niecza: Fix {} in regexes |
||
04:56
PerlJam joined
05:00
amkrankruleuen left,
amkrankruleuen joined,
pnu left
05:01
kfo left,
pochi left,
overrosy left,
pochi joined
05:02
pnu joined,
kfo joined
05:03
overrosy joined
05:11
orafu left
05:12
orafu joined
|
|||
dalek | ecza/serialize: a77df2e | sorear++ | lib/Kernel.cs: Fix error when protopad is created while >10 lexicals already exist |
05:22 | |
ecza/serialize: f2453c4 | sorear++ | lib/CodeGen.cs: Implement defining parametric roles |
|||
05:24
soh_cah_toa left
05:38
sftp left
05:45
apejens joined
05:47
preflex left
05:49
dual joined
05:50
mberends joined
05:57
kaleem joined
06:00
kfo left,
kfo joined
06:06
koban joined
06:13
MayDaniel left
06:21
wtw joined
|
|||
dalek | ecza/serialize: e7d3f3f | sorear++ | lib/ (3 files): Reimplement regex_infix:<|> table generation |
06:23 | |
sorear wonders if it would be possible in general to assign numbers to () at the momemnt they are parsed | 06:30 | ||
moritz | () = 1 ? | 06:31 | |
sorear | (foo) [ (bar) | (baz) ] (quux) / kind of thing | 06:32 | |
in that case yes | |||
s|^|/ | # irc fail | |||
moritz | iirc the numbering scheme is designed to make that possible, yes | 06:34 | |
[ (foo)|(b)(a)(r) ] (baz) # baz is always in $3, right? | 06:35 | ||
sorear | right | ||
currently niecza delays the numbering a bit, but it turns out /serialize potentially needs the numbers very soon indeed | 06:36 | ||
I'm done for tonight | |||
sorear sleep | |||
moritz | good night | 06:37 | |
06:45
SHODAN joined
06:57
koban left
07:09
mj41 joined
07:34
mj41 left
07:37
am0c joined
07:40
thou left
07:46
mj41 joined
|
|||
masak_ yawns | 08:13 | ||
08:13
masak_ is now known as masak
|
|||
masak | g'm #p6 | 08:13 | |
08:15
wk left
|
|||
masak | "old [ticket] doesn't a priori mean irrelevant" -- [Coke]++ | 08:16 | |
also... a *year*? that's nothing. if it was five years, I might start agreeing. | |||
(use IO::Logging).assuming(logfile => ".log"); | 08:23 | ||
now that's just crazy. | |||
moritz: why I pinged you. yesterday jnthn++ and I recreated the breakfast-in-Copenhagen question about "the trouble with macros and lexicals". | 08:27 | ||
aka "how the heck will that work?" | 08:28 | ||
consider | 08:29 | ||
macro foo() { my $a = 42; quasi { say $a } }; foo() | |||
(doesn't work in my branch yet, and now I understand a lot better why not) | 08:30 | ||
moritz: what, according to normal rules of macro expansion, does 'foo()' expand to? | |||
moritz | to the same as quasi { say 42 }, no? | 08:32 | |
masak | depending what you mean exactly by that, no. | ||
moritz | ie references to outer lexicals are reified (replaced by their values) before applying the quasi | ||
masak | nope. | 08:33 | |
that's exactly what they're not. | |||
moritz | just like if you returned "say $a" | ||
08:33
dakkar joined
|
|||
moritz | wasn't that what you said a few days ago? | 08:33 | |
that we should see quasis as analog to quoted strings? | |||
diakopter | what does 'quasi' mean there | ||
moritz | diakopter: "give me an AST" | ||
see S06/Macros | |||
masak | moritz: oh, but that is what happens to *placeholders*, not ordinary variables. | 08:34 | |
moritz: I'm sorry I made you apply the analogy too far. | |||
diakopter: like backquote in Lisp. | |||
moritz | just to be sure I get this straight, placeholders are {{{$a}}}, right? | ||
masak | aye. | ||
I've called them "holes" up until now. | |||
"placeholders" is a better term. | |||
moritz | I thought "holes" were $COMPILING::a | 08:35 | |
masak | no, no, no :) | ||
moritz | what do you call those? | ||
masak | unhygiene :P | ||
moritz | "pulp" | ||
masak | "filth" | ||
"gross" | |||
moritz | back to the actual question... so it's a compile-the-macro-time error? | 08:36 | |
masak | nope. | ||
it actually works and prints 42. | |||
by actually going and getting the $a in the macro body. | 08:37 | ||
moritz | that would have been my next guess | ||
masak | :P | ||
and this is what we must've realized in Copenhagen. | |||
that it does this, and that it's *insane*. | |||
moritz | so the quasi is a closure that closes over the $a? | ||
masak | yup. | ||
but that's not enough. | 08:38 | ||
moritz | even though it doesn't stay in an inner scope of the macro when flattened out? | ||
masak | since the AST is a "serialization" of the code and doesn't retain closure-ness. | ||
right. | |||
that's the trouble. | |||
so it can't just be 'say $a' or equiv out in the mainline after expansion. | |||
it has to be 'say SPECIAL_MACRO_MAGIC("$a")' | 08:39 | ||
er, q[$a] | |||
moritz | LOOKUP_VAR_IN_FOREIGN_SCOPE('$a', :scope_id(1234567890)) | ||
masak | yeah. | 08:40 | |
moritz | that's... scary. | ||
masak | as far as I can tell, it's the quasi Perl6::AST that carries around the closure. | ||
moritz | action at a distance at its best | ||
masak | and all lookups have to be vetted against that closure to see if they "stick" inside an OUTER chain that the mainline doesn't see. | 08:41 | |
and then they have to be magicalized in the above way. | |||
moritz | macro term:<global> { my $a; quasi { $a } }; global = 5; global = 8; say global; # doctor, it hurts when I do this | ||
masak | now this is an interesting one. | ||
recall that there are two invocations of the macro here. | 08:42 | ||
moritz | three :-) | ||
masak | thus, two call frames and two fresh lexical pads. | ||
oops, yes. | |||
so it prints 'Any()'. | |||
because the 'my $a' is fresh with every macro call. | |||
08:42
molaf joined
|
|||
masak | but the assignments work, no problem. | 08:43 | |
they just assign to a container that you will never see again. | |||
moritz | but this means you don't need to actually close over $a | ||
masak | sure you do. | ||
you need the container. | |||
moritz | so you need to create an anon container when you interpolate the macro | 08:44 | |
masak | well, I guess a reasonable alternative would be to fake the... right. | ||
moritz | and you need to initialize it with the value that $a has at macro call time | ||
but it doesn't need to reference the $a in the macro body | |||
masak | I'd consider that an "optimization" or whatever. | ||
moritz | because when you run the macro again, it gets a fresh $a anyway | ||
masak | the real semantics are as I outlined them. | 08:45 | |
moritz considers it a road to sanity | |||
masak | also consider | ||
{ my $a; macro globalish() { quasi { $a } } }; globalish = 3; say globalish # 3 | |||
moritz | is that supposed to work? | 08:46 | |
masak | you ask that at every step, it seems :P | ||
moritz | that's the math background | ||
masak | note that my model covers this just fine. | ||
:) | |||
the AST takes a closure and stores it somewhere. | 08:47 | ||
moritz | "is it defined? is it unique?" | ||
masak | 'globalish' gets translated into the magical lookup for '$a' inside the block. | ||
jnthn | morning o/ | 08:50 | |
phenny | jnthn: 19 Oct 23:42Z <[Coke]> tell jnthn that to get the # of tickets iwth testneeded, to login to rt, then go to rakudo.org/rt/testneeded | ||
mls_ | morning jnthn! | 08:51 | |
moritz | that link doesn't work for me :( | ||
I use rt.perl.org/rt3/Search/Results.htm...C%0A%27%27 | 08:52 | ||
urk, cut off | |||
tinyurl.com/testneeded | 08:53 | ||
jnthn | That one owrks for me :) | ||
moritz++ | |||
moritz | also available from rakudo.de/testneeded | ||
jnthn wonders why the rakudo.org one only works for some people :) | 08:54 | ||
moritz | jnthn: RT URLs changed; it used to work for me too | ||
masak | it's a meritocracy, so it only works for some. | 08:55 | |
moritz | :-) | ||
masak | moritz: reading the spec, I think calling COMPILING:: variables "variables in the compiling scope" makes the most sense. | 09:03 | |
dalek | ast: e42a6ad | moritz++ | S02-types/whatever.t: tests for RT #77000 |
09:04 | |
masak | macros are fun because they involve three actors: the macro routine, the quasi, and the compiling scope. | ||
moritz | mls_: your parrot patch to IO::Select fixed the problem segfaults | 09:08 | |
s/problem/ | |||
mls_: at least I haven't seen any since then | |||
jnthn | .oO( there are non-problem segfaults? :) ) |
||
masak | jnthn: that was an alternative ending to Independence Day: they caused a segfault in the mothership. | 09:09 | |
moritz | poor aliens | 09:10 | |
09:10
jedai_ left
|
|||
snarkyboojum | I'm trying to imagine the mothership dropping a huge core dump | 09:10 | |
btw, hi #perl6 :D | 09:11 | ||
masak | snarkyboojum! \o/ | 09:12 | |
09:12
jedai joined
|
|||
dalek | ast: b653885 | moritz++ | S06-signature/optional.t: test for RT #76728, assigning to optional hash param |
09:12 | |
snarkyboojum | masak: hey! enjoying your macro posts/comments... | ||
jnthn | moritz++ # eating into testneeded | 09:15 | |
snarkyboojum | masak: also linked off from a url you posted yesterday, a couple of very interesting video talks by the creator or Ioke - blip.tv/carlfk/ioke-a-folding-langu...-2-2240400 etc | ||
so cheers for that :) | |||
masak | \o/ | 09:17 | |
I have two more macro posts in the (mental) pipe. | |||
one is "how abstractions and late binding are *everywhere* and on every level" | 09:18 | ||
the other is "Frequenty (and not so frequently) Asked Questions about macros" | |||
moritz | I'd be particularly interested in the first one | 09:19 | |
masak | me too. I'm currently researching it. | ||
moritz | :-) | 09:20 | |
snarkyboojum | masak: awesome - check out those Ioke vids if you get the time.. he talks about macros in there too :D | ||
masak | snarkyboojum: ok, thanks. I will. | ||
snarkyboojum | masak: some crazy/clever Swedish dude :) | ||
masak | oh, that guy :P | ||
snarkyboojum | heh | ||
masak | moritz: variables are a late binding of values. subroutines are a late binding on code structure. classes/inheritance/roles are a late binding on algorithms. macros are a late binding on syntax. | 09:21 | |
something like that. | |||
s/<<on>>/of/ | 09:22 | ||
moritz | dispatch tables are late binding of dispatch | ||
masak | yeah. multi subs factor in there somehwere too, true. | ||
looking at the past 60-70 years of computer programming from this perspective is intriguing. | 09:23 | ||
in the olden days, everything was hard-coded. even the programs where wired into the machine. | |||
nowadays we're finding abstractions to make the right things soft so that we can change them more easily. | 09:24 | ||
flussence misread that first bit as "60-70 days"... | 09:25 | ||
09:27
wk joined
|
|||
moritz | and curiously, whenever somebody proposes to make another things soft, the first reaction is "I wonder what that will break" | 09:27 | |
snarkyboojum | been thinking about similar things dealing with virtualised hardware/platforms at work lately a la the elastic cloud amazon is/has been building | 09:29 | |
09:37
preflex joined
|
|||
dalek | ast: 6e4c316 | moritz++ | S03-operators/binding-scalars.t: test for RT #76508, binding variable to itself |
09:42 | |
masak emailed karen@tpf | |||
moritz: yes, because this tower-building isn't trivial. it takes decades to find out what abstractions are stable and pull their own weight. cf. OO | 09:43 | ||
jnthn | .oO( Frequently Questions Answers About Macros ) |
09:44 | |
*questione | |||
gah | |||
questioned... | |||
Can't even type on the one keyboard I actually like now... | |||
masak | actually, this process of finding new late-bind cuts is complemented by the process of chunking things down into smarter syntax. | ||
for example, structured programming allowed us to start reasoning properly about loops and conditions, even though it was "just" syntactic sugar. | 09:45 | ||
colomon | pretty much everything in higher level langauges is "just" syntactic sugar. :) | 09:46 | |
moritz | hm... no. | 09:47 | |
masak | I think I used to think so :) | 09:50 | |
snarkyboojum | how about semantic sugar :D | 09:52 | |
masak | I find your ideas fascinating and I want to subscribe to your newsletter. | 09:53 | |
09:56
uasi joined
|
|||
moritz grins | 09:56 | ||
colomon | anyone know the right syntax for hash :exists off the top of their head? | 09:59 | |
moritz | %h<key>:exists | 10:00 | |
niecza: my %h; say %h<key>:exists | |||
p6eval | niecza v10-58-gc851cf8: OUTPUT«Bool::False» | ||
moritz | niecza: my %h = key => Mu; say %h<key>:exists | ||
p6eval | niecza v10-58-gc851cf8: OUTPUT«Bool::True» | ||
moritz | or %h{'key'}>exists if you prefer that | ||
colomon | niecza: my $h; say %h{'key'}:exists | 10:01 | |
p6eval | niecza v10-58-gc851cf8: OUTPUT«===SORRY!===Variable %h is not predeclared at /tmp/4opglomVLI line 1:------> my $h; say ⏏%h{'key'}:existsPotential difficulties: $h is declared but not used at /tmp/4opglomVLI line 1:------> my ⏏$… | ||
colomon | niecza: my $h; say %h{'key'}>exists | ||
p6eval | niecza v10-58-gc851cf8: OUTPUT«===SORRY!===Variable %h is not predeclared at /tmp/Bk7nGRcvdY line 1:------> my $h; say ⏏%h{'key'}>existsUndeclared routine: 'exists' used at line 1Potential difficulties: $h is declared but not used at /tmp/B… | ||
colomon | niecza: my %h; say %h{'key'}>exists | 10:02 | |
p6eval | niecza v10-58-gc851cf8: OUTPUT«===SORRY!===Undeclared routine: 'exists' used at line 1Unhandled Exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 766 (CORE die @ 2)  at /home/p6eval/niecza/src/STD.pm6 line 1136 (STD P6.comp_unit @ 36)… | ||
colomon | niecza: my %h; say %h{'key'}:exists | ||
p6eval | niecza v10-58-gc851cf8: OUTPUT«Bool::False» | ||
colomon | niecza: my %h; say !%h{'key'}:exists | ||
p6eval | niecza v10-58-gc851cf8: OUTPUT«Unhandled Exception: Excess arguments to CORE prefix:<!>, unused named exists at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE prefix:<!> @ 0)  at /tmp/073DhM95aj line 1 (MAIN mainline @ 1)  at /home/p6eval/niecza/lib/CORE.setting line 2176 (COR… | ||
moritz | needs parens | ||
colomon | niecza error, std error, or colomon error? | ||
yes, it works fine with parens | |||
jnthn | Or use "not" and avoid the parens | 10:03 | |
moritz | colomon: spec nastiness, I assume | 10:05 | |
colomon | man, I've got something weird going on in my code here. | ||
moritz | colomon: there are rules based on operator precdence about where the adverbs belong to. They sometimes surprise you. | 10:06 | |
colomon | niecza: say <"a", "b", "c", "d", "e", "f">.pick(5).perl | 10:07 | |
p6eval | niecza v10-58-gc851cf8: OUTPUT«(""f"", ""d",", ""c",", ""a",", ""e",").list» | ||
colomon | duh | ||
niecza: say <a, b, c, d, e, f>.pick(5).perl | |||
p6eval | niecza v10-58-gc851cf8: OUTPUT«("d,", "c,", "f", "e,", "a,").list» | ||
masak | sorear: that .perl output is wrong. submitting nieczabug. | 10:08 | |
colomon | no it's not | ||
masak | the quotes aren't escaped. | ||
colomon | ... okay, yes it is | ||
masak | the one two evals back is clearly wrong. | ||
colomon | niecza: say <a b c d e f>.pick(5).perl | ||
p6eval | niecza v10-58-gc851cf8: OUTPUT«("d", "e", "b", "a", "f").list» | ||
colomon | I think .pick is slightly broken, but for some reason I can't get it to duplicate here, and it happens all the time in my code. :\ | 10:09 | |
masak | perl6: say "\"".perl | ||
p6eval | niecza v10-58-gc851cf8: OUTPUT«"""» | ||
..pugs b927740, rakudo 5af761: OUTPUT«"\""» | |||
colomon | niecza: say <a b c d e f>.pick(6).perl | 10:11 | |
p6eval | niecza v10-58-gc851cf8: OUTPUT«("f", "c", "d", "b", "e", "a").list» | ||
colomon | niecza: say (2, 13, 18, 12, 24, 31, 30, 15, 39, 38, 35, 23, 33, 37, 36, 21, 48, 5, 47, 0, 49, 3, 40, 41, 43).pick(5).perl | ||
p6eval | niecza v10-58-gc851cf8: OUTPUT«(30, 5, 36, 48, 39).list» | ||
colomon | niecza: say (2, 13, 18, 12, 24, 31, 30, 15, 39, 38, 35, 23, 33, 37, 36, 21, 48, 5, 47, 0, 49, 3, 40, 41, 43).pick(5).perl | ||
p6eval | niecza v10-58-gc851cf8: OUTPUT«(0, 47, 12, 23, 24).list» | ||
colomon | niecza: my @a = <a b c d e>; my %f = @a X 1; say @a.perl | 10:13 | |
p6eval | niecza v10-58-gc851cf8: OUTPUT«Potential difficulties: %f is declared but not used at /tmp/ULeWst6_K1 line 1:------> my @a = <a b c d e>; my ⏏%f = @a X 1; say @a.perl["a", "b", "c", "d", "e"].list» | ||
colomon | niecza: my @a = <f s h w d r t>; my @b = @a.pick(5); say @b.perl; @a = @a.sort; say @b.perl; | 10:16 | |
p6eval | niecza v10-58-gc851cf8: OUTPUT«["d", "t", "w", "r", "f"].list["d", "t", "w", "r", "f"].list» | ||
colomon is getting spooky action-at-a-distance in his code, but is having trouble golfing it | |||
colomon is also listening to his 3-year-old gently singing in his bed, when by all reasonable measures they both should be asleep | 10:17 | ||
10:19
uasi left,
mtk left
10:25
saaki left
10:26
saaki joined
|
|||
colomon | it seems like .pick is giving me a reference into the original array rather than just the Int values in the array. | 10:27 | |
hmmm, int values; | |||
10:28
envi_ left
|
|||
colomon | niecza: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; my @b = @a.pick; say @b.perl; @a = @a.sort({ $^a <=> $^b }); say @b.perl; | 10:28 | |
p6eval | niecza v10-58-gc851cf8: OUTPUT«[5].list[5].list» | ||
colomon | niecza: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; my @b = @a.pick(5); say @b.perl; @a = @a.sort({ $^a <=> $^b }); say @b.perl; | 10:29 | |
p6eval | niecza v10-58-gc851cf8: OUTPUT«[9, 6, 8, 1, 4].list[9, 6, 8, 1, 4].list» | ||
colomon | niecza: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; sub test(@b) { say @b.perl; @a = @a.sort({ $^a <=> $^b }); say @b.perl }; test(@a.pick(5)); | 10:30 | |
p6eval | niecza v10-58-gc851cf8: OUTPUT«(9, 3, 8, 1, 7).list(4, 2, 2, 4, 5).list» | ||
colomon | bingo! | ||
moritz | rakudo: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; sub test(@b) say @b.perl; @a = @a.sort({ $^a <=> $^b }); say @b.perl }; { test(@a.pick(5)); | 10:31 | |
p6eval | rakudo 5af761: OUTPUT«===SORRY!===Malformed block at line 1, near "say @b.per"» | ||
10:31
envi_ joined
|
|||
moritz | rakudo: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; sub test(@b) { say @b.perl }; @a = @a.sort({ $^a <=> $^b }); say @b.perl; test(@a.pick(5)); | 10:31 | |
p6eval | rakudo 5af761: OUTPUT«===SORRY!===Symbol '@b' not predeclared in <anonymous> (/tmp/77WVyaIYMm:1)» | ||
moritz can't even copy&paste | 10:32 | ||
colomon | rakudo: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; sub test(@b) { say @b.perl; @a = @a.sort({ $^a <=> $^b }); say @b.perl }; test(@a.pick(5)); | 10:33 | |
p6eval | rakudo 5af761: OUTPUT«(6, 9, 1, 7, 2).list(6, 9, 1, 7, 2).list» | ||
colomon | niecza: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; my @b = @a.pick(5); say @b.perl | 10:35 | |
p6eval | niecza v10-58-gc851cf8: OUTPUT«[10, 3, 6, 5, 1].list» | ||
colomon | niecza: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; my @b = @a.pick(5); say @a.perl; say @b.perl | ||
p6eval | niecza v10-58-gc851cf8: OUTPUT«[10, 9, 8, 7, 6, 5, 4, 3, 2, 1].list[5, 10, 1, 9, 6].list» | ||
colomon | okay, I completely don't understand how this can be happening | ||
.... or I guess, if everything is a very shallow clone ... | 10:36 | ||
what a terrible thing to find at 2am sorear++ time... | |||
niecza: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; sub test(@b) { say @b.perl; @a = @a.sort({ $^a <=> $^b }); say @b.perl }; test(@a.pick(5)); | 10:37 | ||
p6eval | niecza v10-58-gc851cf8: OUTPUT«(9, 10, 4, 1, 7).list(3, 2, 3, 3, 5).list» | ||
colomon | sorear: ^^ | ||
10:47
uasi joined
10:50
benabik left
10:58
Alias left
10:59
Alias joined
|
|||
colomon | niecza: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; sub test(@b) { say @b.perl; @a = @a.sort({ $^a <=> $^b }); say @b.perl }; test(@a.pick(5).map(*+0)); | 10:59 | |
p6eval | niecza v10-58-gc851cf8: OUTPUT«(8, 10, 5, 1, 7).list(8, 10, 5, 1, 7).list» | ||
11:12
kaleem left
11:15
kaleem joined
11:18
wk left
11:19
pomysl is now known as sirmacik
11:21
lestrrat left
11:22
mtk joined,
lestrrat joined
11:25
uasi left
11:35
replore left
11:39
benabik joined
11:41
Patterner left
11:43
Psyche^ joined,
Psyche^ is now known as Patterner
11:51
whiteknight joined
11:54
GlitchMr joined
|
|||
masak | sorear: how feasible is it to implement 'my @a[ 10 ; 10 ]' in Niecza currently? | 11:56 | |
12:05
abercrombie joined
|
|||
flussence | rakudo: my $chars = 4; my $text = 'abcdefghij'; my $rx = rx/(\N ** {0..$chars}) $ /; say $text.match($rx, :pos(0)).perl; | 12:25 | |
p6eval | rakudo 5af761: OUTPUT«Match.new(orig => "abcdefghij", from => 0, to => 10, ast => Mu, list => (Match.new(orig => "abcdefghij", from => 0, to => 10, ast => Mu, list => ().list, hash => EnumMap.new()),).list, hash => EnumMap.new())» | ||
flussence | rakudo: my $chars = 4; my $text = 'abcdefghij'; my $rx = rx/(\N ** {0..$chars}) $ /; say $text.match($rx).perl; | ||
p6eval | rakudo 5af761: OUTPUT«Match.new(orig => "abcdefghij", from => 0, to => 10, ast => Mu, list => (Match.new(orig => "abcdefghij", from => 0, to => 10, ast => Mu, list => ().list, hash => EnumMap.new()),).list, hash => EnumMap.new())» | ||
flussence | I know /. ** {5}/ isn't working, but I'm sure at least ranges like that were working a few days ago... | 12:26 | |
12:26
sftp joined
12:28
im2ee joined
|
|||
im2ee | Hello! :) | 12:28 | |
tadzik | hello im2ee | ||
im2ee | tadzik, i saw Your solution to my problem. :) Thanks :) | 12:30 | |
tadzik | you're welcome | ||
im2ee | I will continue my work this weekend. :) | 12:31 | |
masak | hello im2ee :) | 12:34 | |
dalek | osystem: 61b0e91 | (Aliaksandr Zahatski)++ | META.list: add plosurin - Perl 6 implementation of Closure Templates |
12:55 | |
osystem: c2180ce | tadzik++ | META.list: Merge pull request #7 from zag/master add Plosurin - Perl 6 implementation of Closure Templates |
|||
moritz gives zag a commit bit | 12:57 | ||
12:57
kaleem left
12:59
satyavvd left
|
|||
tadzik | good idea | 13:03 | |
13:05
smash joined,
replore joined
|
|||
smash | hello everyone | 13:06 | |
moritz | \o smash | ||
dalek | ast: ea311cc | moritz++ | S05-substitution/subst.t: RT #76664 |
13:09 | |
13:10
shinobicl joined
13:11
Holy_Cow joined,
GlitchMr left
|
|||
colomon | tadzik: do you understand what Plosurin is? | 13:14 | |
ah, code.google.com/closure/templates/ -- maybe? | 13:15 | ||
tadzik | colomon: unsure. I think it generates Perl 5 code or so | ||
PerlJam | What's Plosurin? | 13:16 | |
moritz | 14:55 <+dalek> ecosystem: add Plosurin - Perl 6 implementation of Closure Templates | ||
PerlJam: how's the release going? | 13:17 | ||
PerlJam | moritz: not at all yet. Probably not going to get started for several hours | ||
moritz | PerlJam: ok; let me know if you need any help, I might have tuits | 13:18 | |
13:18
JimmyZ joined
|
|||
JimmyZ | Is there a bool type? | 13:20 | |
moritz | no, just Bool | ||
13:20
cognominal left
|
|||
PerlJam | There's one thing I can do right now though ... | 13:20 | |
dalek | kudo/nom: e17c139 | duff++ | docs/release_guide.pod: Choose a release name |
13:21 | |
13:22
uasi joined
|
|||
JimmyZ | maybe int1 | 13:23 | |
moritz | unit1 iirc | 13:24 | |
13:25
whiteknight left
|
|||
masak | no, there's an int1 too. | 13:26 | |
and a joke about it in the spec. | |||
(it has the values 0 and -1) | |||
moritz | b: my $x = do { class X {} }; say $x | ||
p6eval | b 1b7dd1: OUTPUT«!class_init_72» | ||
jnthn | nom: my $x = do { class X {} }; say $x | 13:27 | |
p6eval | nom 5af761: OUTPUT«X()» | ||
JimmyZ | nom++ ? | ||
jnthn | yes, nom is correct here | ||
13:31
bluescreen100 joined
|
|||
moritz | b: my $x = class X {}; say $x | 13:32 | |
p6eval | b 1b7dd1: OUTPUT«!class_init_72» | ||
moritz | b: my $x = class X {}; say $x ~~ X | ||
p6eval | b 1b7dd1: OUTPUT«Bool::False» | ||
moritz | ok, that's how I can test it | ||
JimmyZ | nom: my $x = class X {} ; say $x | ||
p6eval | nom 5af761: OUTPUT«X()» | 13:33 | |
13:33
bluescreen10 left
13:38
ponbiki left
|
|||
dalek | ast: 15664cb | moritz++ | S12-class/basic.t: test for RT #76270, named class declaration should return the class |
13:40 | |
moritz | pmichaud: are there any nqp changes you want to make today that should go into the rakudo release? | 13:43 | |
13:44
SHODAN left
|
|||
moritz | ("don't know yet" is also a fine answer) | 13:44 | |
13:45
GlitchMr joined
13:46
bluescreen10 joined
|
|||
pmichaud | don't know yet; I have nqp changes coming soonish but I can't give a good enough time estimate to warrant holding the release for them | 13:48 | |
so, if they make it, great; if not, we'll just get them in the next (possibly 'special') release | |||
jnthn | Yes, I'd really like us to get back to time-based releases. | 13:49 | |
moritz | pmichaud: that's fine; the background was just that if you hadn't planned NQP changes at all, I would have tagged nqp now | ||
pmichaud | well, I think we're fine with time-based releases. I thought we were going to give ourselves a bit more time between parrot and regular release, but it looks like we're sticking with the 2-days-later approach? | ||
moritz | as is, PerlJam++ will do it close to the rakudo release | 13:50 | |
pmichaud | I think that nqp tagging should (for now) be close to the rakudo release, yes. | ||
tadzik | yeah, I was supposed to have an eye on that, so we won't get the madness from the last month | 13:51 | |
jnthn | afk for half an hour or so | ||
13:52
kaare_ joined
|
|||
masak | (time-based releases)++ | 13:54 | |
turned out it was important for morale not just within the Perl 6 group, but within the larger Perl community as well. | 13:55 | ||
13:55
Sarten-X left
13:57
thou joined
|
|||
pmichaud | so, we're all agreed about time-based releases. Are we also sticking to the 2-days-after-parrot-release timing? | 13:58 | |
13:58
thou left
|
|||
masak | dontmuchcare | 13:58 | |
do whatever makes sense. | 13:59 | ||
moritz | I'm +1 to the current practise, which seems to be "target 2 days after parrot release, bug let it slack for a few days if necessary. Stay within the same month as the parrot release" | ||
s/bug/but/ | |||
pmichaud | I'm fine with that. | ||
masak | +1 for "same month" :) | ||
pmichaud | should we change the text to read "shortly after Parrot monthly releases", then? | ||
moritz | yes | ||
nom: say (1 Z 2).[0].WHAT | 14:00 | ||
p6eval | nom e17c13: OUTPUT«Parcel()» | ||
pmichaud | that looks like a bug to me | 14:01 | |
masak | nom: say (1 Z 2)[0][0][0].WHAT | ||
p6eval | nom e17c13: OUTPUT«Int()» | ||
pmichaud | nom: say (1 Z 2).perl | ||
dalek | kudo/nom: bfedd99 | moritz++ | src/core/List.pm: Implement simplest form of List.tree You can now say for (1, 2 Z 10, 20).tree { } and have the loop bind $_ to the parcels (1, 10) and (2, 20) in turn |
||
p6eval | nom e17c13: OUTPUT«((1, 2),).list» | ||
moritz | nom: say 1[0].perl | ||
p6eval | nom e17c13: OUTPUT«1» | ||
pmichaud | nom: say ((1,2),).[0] | 14:02 | |
p6eval | nom e17c13: OUTPUT«1» | ||
pmichaud | nom: say ((1,2),).[0].WHAT | ||
p6eval | nom e17c13: OUTPUT«Int()» | ||
moritz | evalbot rebuild nom | ||
p6eval | OK (started asynchronously) | ||
masak | now I agree with pmichaud. looks like bug. | ||
moritz | waitwaitwait | ||
do () around literals flatten? | 14:03 | ||
JimmyZ | I'm curious, what does my $ = $_ means ? | ||
pmichaud | fwiw, $_ should never bind to a parcel. | ||
JimmyZ | and sometimes it doesn't work | ||
moritz | JimmyZ: it's a way to put stuff in scalar context | ||
pmichaud: why not? | |||
pmichaud | parcels are "invisible" -- they tend to flatten out | 14:04 | |
JimmyZ | nom: my $ = $_ | ||
p6eval | nom e17c13: ( no output ) | ||
moritz | maybe .item would have worked too | ||
JimmyZ | hmm, last time I tried it ,but didn't work | ||
pmichaud | let me re-check the .tree spec.... but if you do .tree then it should result in $_ binding to individual Lists | 14:05 | |
14:05
Sarten-X joined
|
|||
moritz | pmichaud: well, I can't stick to the spec in your head until it's written down, and the currently written spec seems to disagree with rakudo on quite many points | 14:05 | |
pmichaud | well, the currently written spec disagrees with TimToady++ on most of these points also :) | 14:06 | |
moritz | I think it says List, but I don't see why it'd need to be List | ||
JimmyZ | nom: $_ = 1, 2, 3, 5; say my $ = $_; | ||
p6eval | nom e17c13: OUTPUT«1» | ||
pmichaud | because Parcels tend to be invisible. that's not just in my head, that's the way all of the discussions have been. | ||
moritz | ie why should .tree involve type conversion, when it's really about flattening and non-flattening, which (IIUC) isn't tied to types at all | ||
JimmyZ | nom: $_ = 6, 2, 3, 5; say my $ = $_; | ||
p6eval | nom e17c13: OUTPUT«6» | ||
pmichaud | .tree is all about converting things into LoLs | ||
which is a type conversion | 14:07 | ||
moritz | pmichaud: so should infix:<Z> return parcels in the first place? | ||
pmichaud | I think so, yes. | ||
moritz | then I don't understand the "Parcels tend to be invisible" statement | ||
masak | they tend to collapse into other things. | 14:08 | |
pmichaud | S02:2139 | ||
Unlike C<Capture> objects, C<Parcel> objects are ephemeral, insofar as the | |||
user almost never sees one as a real standalone object, since binding or | |||
assignment always turns a parcel into something else. | |||
moritz | so if assignment is fixed in rakudo, my code stops returning parcels :-) | 14:09 | |
s/if/when/ | |||
pmichaud | anyway, .tree should return a LoL, where each element at the top level is a List | 14:10 | |
moritz | nom: say MapIter.new(:list(1, 2 Z 10, 20), :block({ my $ = .list })).list.[0] | 14:11 | |
p6eval | nom e17c13: OUTPUT«1 10» | ||
moritz | nom: say MapIter.new(:list(1, 2 Z 10, 20), :block({ my $ = .list })).list.[0].WHAT | 14:12 | |
p6eval | nom e17c13: OUTPUT«List()» | ||
JimmyZ | nom: my @a = 1 ... 5; say my $ = @a | ||
p6eval | nom e17c13: OUTPUT«1 2 3 4 5» | ||
moritz | though probably needs to be $_ ~~ Parcel ?? list !! $_ | ||
pmichaud | that ~~ Parcel is suspect, though. | 14:13 | |
moritz | nom: my @a = 1 ... 5; my $counter = 0; for my $ = @a { $counter++ }; say $counter | ||
p6eval | nom e17c13: OUTPUT«1» | ||
moritz | nom: my @a = 1 ... 5; my $counter = 0; for @a { $counter++ }; say $counter | ||
p6eval | nom e17c13: OUTPUT«5» | ||
moritz | pmichaud: the spec explicitly talks about Parcel sublists | 14:14 | |
moritz feels the pain of low communication bandwith | |||
thing is, if I just call .list, it will also convert hashes | 14:15 | ||
pmichaud | sure, Parcels exist -- they just aren't typically visible via variables. | ||
JimmyZ | nom: my @a = 1 ... 5; my $counter = 0; for my $ = @a { .say }; | ||
p6eval | nom e17c13: OUTPUT«1 2 3 4 5» | ||
pmichaud | I don't think you need to call .list at all -- just .item should do it. | 14:16 | |
moritz | nom: say Parcel.new.item.WHAT | ||
p6eval | nom e17c13: OUTPUT«Parcel()» | ||
moritz | should I change that to do a .list.item? | 14:17 | |
pmichaud | hrm | ||
I'm thinking that Parcel's "item" method should do .list.item | |||
maybe. | |||
14:18
wtw left
|
|||
pmichaud | fwiw, there's not a grand design in my head on the list spec -- I'm just parroting things that TimToady has said in the past about lists (and the logical consequences of things that were said) | 14:18 | |
JimmyZ | nom: my @a = 1 ... 5; my $counter = 0; for my $ = @a { .WHAT.say }; | ||
p6eval | nom e17c13: OUTPUT«Array()» | ||
moritz | nom: my @a = 1, 2; say @a.flattens; say (my $ = @a).flattens | 14:19 | |
p6eval | nom e17c13: OUTPUT«11» | ||
JimmyZ | it's still a Array()? | ||
pmichaud | note that nom's .flattens doesn't mean the same as niecza's .flattens | ||
moritz | this is not the droi^W method I'm looking for | ||
pmichaud | there's not a method that tells you if an expression interpolates in list context | 14:20 | |
JimmyZ | nom: my @a = 1 ... 5; my $counter = 0; for my $ = @a { .perl.say }; | ||
p6eval | nom e17c13: OUTPUT«[1, 2, 3, 4, 5]» | ||
pmichaud | at least, not yet. | ||
moritz | such a thing would be very useful | ||
JimmyZ | nom: my @a = 1 ... 5; my $counter = 0; @a.perl.say | ||
p6eval | nom e17c13: OUTPUT«Array.new(1, 2, 3, 4, 5)» | ||
moritz | given that type introspection doesn't tell me | ||
pmichaud | what's the use case, ooc? | ||
moritz | nom: my @a = (1, 2); say nqp::iscont(@a); say nqp::iscont(my $ = @a) | 14:21 | |
p6eval | nom e17c13: OUTPUT«Method 'gist' not found for invocant of class 'Integer' in sub say at src/gen/CORE.setting:5251 in block <anon> at /tmp/oHeOCTWHvk:1 in <anon> at /tmp/oHeOCTWHvk:1» | ||
moritz | pmichaud: the first I can think of is debugging | ||
pmichaud | right; I'm curious about "besides debugging" I guess. | ||
(not that debugging is unimportant) | |||
moritz | nom: my @a = (1, 2); pir::say nqp::iscont(@a); pir::say nqp::iscont(my $ = @a) | ||
p6eval | nom e17c13: OUTPUT«01» | ||
moritz | @a is not a container? :-) | ||
pmichaud | actually, there's a bug with @a in general | 14:22 | |
[Coke] ponders adding a skype channel or something to phasers. | |||
pmichaud | I've mentioned it to jnthn++ before but it's not a trivial fix. | ||
moritz | pmichaud: recursive traversal of stuff | ||
[Coke] is kind of freaked out to see all this pmichaud++ activity today! | |||
pmichaud | nom: my @a; say @a.defined; # wrong | ||
p6eval | nom e17c13: OUTPUT«Bool::True» | ||
[Coke] | . o O (In a good way!) | ||
moritz | pmichaud: say I want to create a (modified) recursive copy of a data structure. I need to preserve the interpolating/non-interpolating bits | 14:23 | |
pmichaud | when done correctly, I suspect that @a needs to become a flattening container | ||
moritz: yeah, at that point the Parcels have to become visible somehow. | 14:24 | ||
moritz | how, if both binding and assignment kills them? :-) | 14:25 | |
pmichaud | well, nom currently belives that binding in the := sense doesn't kill a Parcel | ||
although binding in the ::= sense does. | |||
(or should) | |||
so, if you use := bindings, then you can get to the Parcels | |||
(and note that parameter passing / pointy blocks use ::= binding, which would kill the Parcel) | 14:26 | ||
14:26
whiteknight joined
|
|||
jnthn back | 14:26 | ||
:= binding is very primitive | 14:27 | ||
[Coke] | ~/ the gangs all here /~ | ||
nom: say 706 - 85 | 14:29 | ||
p6eval | nom e17c13: OUTPUT«621» | ||
jnthn | moritz++ # down to 84 tickets with testneeded | ||
[Coke] | rakudo: multi f ($ (Int :$value)) { say "Int $value" }; multi f($ (Str :$value)) { say "Str $value" }; f('a' => 3); f('a' => 'foo') | 14:30 | |
p6eval | rakudo e17c13: OUTPUT«No applicable candidates found to dispatch to for 'f'. Available candidates are::(Any):(Any) in block <anon> at /tmp/VKxxeUL8D4:1 in <anon> at /tmp/VKxxeUL8D4:1» | ||
[Coke] | rakudo: (1/2).Capture.perl.say | 14:31 | |
p6eval | rakudo e17c13: OUTPUT«Capture.new()» | ||
jnthn | Those $ are a bit superstitious. | ||
It won't bind because there's a key named argument too | |||
[Coke] | jnthn: it's an old ticket. | ||
moritz | rakudo: (1/2).Capture.keys.perl | ||
p6eval | rakudo e17c13: OUTPUT«SixModelObject does not support the clone v-table; consider using the repr_clone op instead in method list at src/gen/CORE.setting:3563 in method keys at src/gen/CORE.setting:3620 in block <anon> at /tmp/GECKp2180y:1 in <anon> at /tmp/GECKp2180y:1»… | ||
[Coke] | rt.perl.org/rt3/Ticket/Display.html?id=77950 | ||
jnthn | wtf... | 14:32 | |
pmichaud | ....clone? | ||
clone is Evil. | |||
[Coke] | moritz! I'm trying to CLOSE tickets here. ;) | ||
jnthn | pmichaud: Yes, should never happen. | ||
pmichaud: 6model objects throw an exception if you try. | |||
moritz | [Coke]: I guess that Capture.perl is broken-ish | ||
rakudo: (1/2).Capture.hash.perl | |||
p6eval | rakudo e17c13: ( no output ) | ||
[Coke] | jnthn: anyway, if you want to comment on #77950 (it was your code in the first place! ;) I'd appreciate it. | ||
moritz | rakudo: say (1/2).Capture.hash.perl | ||
p6eval | rakudo e17c13: OUTPUT«EnumMap.new("numerator", 1, "denominator", 2, )» | ||
jnthn | nom: multi f ((Int :$value, *%)) { say "Int $value" }; multi f((Str :$value, *%)) { say "Str $value" }; f('a' => 3); f('a' => 'foo') | 14:33 | |
p6eval | nom e17c13: OUTPUT«Int 3Str foo» | ||
jnthn | [Coke]: The code in the ticket would need to be the above to work; note the extra *% | ||
moritz | .hash returns an EnumMap. How amusing :-) | ||
pmichaud | phenny: tell PerlJam if you could work on RT #97102 as part of the release it would be really awesome. msg me if you need some ideas. kthx | ||
phenny | pmichaud: I'll pass that on when PerlJam is around. | ||
jnthn | (to slurp up key) | ||
moritz: It's .hash, not .Hash :) | |||
Maybe we need to make them reflect associative and positional better | 14:34 | ||
[Coke] | jnthn: so, given that, we can reject the ticket? ;) | ||
jnthn | .ass and .pos :) | ||
moritz | jnthn: that's why I said "amusing" and not "wrong" | ||
jnthn | ...er, no, NOT .ass :) | ||
moritz | ... and NOT .pos | ||
pmichaud | .keyed and .posed | ||
iiuc, a .pos is what comes out of most people's .ass (SORRY!) | 14:35 | ||
moritz thinks of _keyed_ vtables and wants to run | |||
jnthn | [Coke]: I'd consider it fixed | ||
colomon | masak: just found a bug that had been in my $work code since the 1990s because I wrote a new test | ||
[Coke] | moritz: there's no vtables. it's perl6 all the way down. | ||
jnthn: needs test, you think? | |||
jnthn | [Coke]: It gave the wrong error before, now it gives the right one | ||
masak | colomon: I love such tests. | ||
jnthn | And it was the wrong code | 14:36 | |
[Coke]: I can blieve we need a test for the correct version of it. | |||
moritz | agreed | ||
jnthn | pmichaud: ouch! :P | ||
masak | colomon: that's why I'm not totally demoralized by brownfield development; because I can make things better using things like tests and facades and new interfaces. | ||
colomon | masak: basically wrote the test to check new behavior of library Y, but said, hey, it ought to work library X too, and then it didn't. | 14:37 | |
[Coke] | rakudo: say (1..2) | (4..5) | ||
p6eval | rakudo e17c13: OUTPUT«any(1, 2, 4, 5)» | ||
moritz | [Coke]: anyway, I'm writing those tests right now; feel free to close the ticket without explicit test coverage | ||
[Coke] | rakudo: say (1..23) | (1000..2000) | 14:38 | |
p6eval | rakudo e17c13: OUTPUT«any(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029… | ||
[Coke] | moritz: too late, already updated to needtestz. | ||
masak | colomon: this summer when I was going through a 1000-line file and generating tests out of it *automatically*, I *still* found tests that broke and told me about years-old bugs in the code. shouldn't be possible, but it happened, several times. | ||
[Coke] | well, more like "too lazy". | ||
moritz | [Coke]: 's ok | 14:39 | |
14:39
whiteknight left
|
|||
[Coke] | rakudo: say $*ARGFILES.slurp | 14:40 | |
p6eval | rakudo e17c13: OUTPUT«Method 'slurp' not found for invocant of class 'ArgFiles' in block <anon> at /tmp/maAkjzf3p0:1 in <anon> at /tmp/maAkjzf3p0:1» | ||
moritz | that's probably a LHF | ||
[Coke] | rakudo: say $*ARGFILES.WHAT | ||
p6eval | rakudo e17c13: OUTPUT«ArgFiles()» | ||
dalek | ast: 340ff7d | moritz++ | S06-signature/unpack-object.t: test for typed object unpacking in subsignatures |
||
[Coke] | rakudo: say eval(("a","b").Seq.perl ).WHAT | 14:41 | |
p6eval | rakudo e17c13: OUTPUT«Method 'Seq' not found for invocant of class 'Parcel' in block <anon> at /tmp/hiXW8eZ29W:1 in <anon> at /tmp/hiXW8eZ29W:1» | ||
pmichaud | .Seq is (hopefully) gone | ||
[Coke] | rt.perl.org/rt3/Ticket/Display.html?id=76596 is obsolete, then? | 14:42 | |
pmichaud | looking | ||
[Coke] | (danke) | ||
masak | yay .Seq is gone! | 14:43 | |
moritz | .Seq is stil in the specs | ||
pmichaud | I call obsolete. The meaning of Seq and .perl have changed since that ticket was filed. | ||
yes, .Seq is still in the specs; I need to get to work on my spec updsates | |||
*updates | |||
.Seq is in the specs but is likely a fossil. | 14:44 | ||
at least, I'm hoping it'll be a fossil. | |||
[Coke] kills the ticket. | 14:45 | ||
pmichaud++ | |||
pmichaud | rakudo: say eval(('a','b').perl).WHAT | ||
p6eval | rakudo e17c13: OUTPUT«Parcel()» | ||
pmichaud | rakudo: say eval(('a','b').list.perl).WHAT | ||
p6eval | rakudo e17c13: OUTPUT«List()» | ||
pmichaud | rakudo: say eval(('a','b').list.item.perl).WHAT | 14:46 | |
p6eval | rakudo e17c13: OUTPUT«List()» | ||
14:46
cognominal joined
|
|||
pmichaud | hmmmm | 14:46 | |
not sure about that last one. | |||
[Coke] | rakudo: for 1,2,3, { say $_ } | ||
p6eval | rakudo e17c13: OUTPUT«===SORRY!===Missing block at line 1, near ""» | ||
pmichaud | std: for 1,2,3, { say $_ } | ||
p6eval | std 580b69a: OUTPUT«===SORRY!===Expression needs parens to avoid gobbling block at /tmp/LVrMJLXlRk line 1:------> for ⏏1,2,3, { say $_ }Missing block (apparently gobbled by expression) at /tmp/LVrMJLXlRk line 1:------> for 1,2,3, { say $_ }… | ||
[Coke] | is that good enough or do we need to duplicate std's error? | ||
pmichaud | what ticket? | 14:47 | |
[Coke] | rt.perl.org/rt3/Ticket/Display.html?id=66776 | ||
[Coke] doesn't mean to be hogging pmichaud's time, btw. | |||
pmichaud | I don't see it as hogging. :) Closing tickets has been on my list for a while :) | ||
I could go either way on this one. | 14:48 | ||
moritz | btw, long standing parsing bug: | ||
nom: say 1, , 3 | |||
p6eval | nom e17c13: OUTPUT«13» | ||
moritz | std: say 1, , 3 | ||
p6eval | std 580b69a: OUTPUT«===SORRY!===Preceding context expects a term, but found infix , instead at /tmp/jbvlirySyo line 1:------> say 1, ⏏, 3Parse failedFAILED 00:01 121m» | ||
[Coke] | there's another ticket open for that one that I've seen recently. | ||
moritz | I know | ||
it's one of our oldest open tickets | 14:49 | ||
pmichaud | std: say(1,,3) # curious | ||
p6eval | std 580b69a: OUTPUT«===SORRY!===Preceding context expects a term, but found infix , instead at /tmp/4jo3LjnKJa line 1:------> say(1,⏏,3) # curiousParse failedFAILED 00:01 121m» | ||
pmichaud | okay | ||
14:49
kmwallio joined
|
|||
pmichaud | that's newish to me | 14:49 | |
moritz | maybe related: | 14:50 | |
[Coke] | someone just fixed rt.perl.org/rt3/Ticket/Display.html?id=58592, didn't they? did we update to require whatever version had that change? | ||
moritz | nom: say ~~ 1 | ||
p6eval | nom e17c13: OUTPUT«1» | ||
14:50
thou joined
|
|||
moritz | std: say ~~ 1 | 14:50 | |
p6eval | std 580b69a: OUTPUT«===SORRY!===Expecting a term, but found either infix ~~ or redundant prefix ~ (to suppress this message, please use space between ~ ~) at /tmp/RtDG7Qcule line 1:------> say ~~⏏ 1Parse failedFAILED 00:01 121m» | ||
14:50
cognominal left,
cognominal joined
|
|||
moritz | [Coke]: we haven't updated yet | 14:51 | |
[Coke]: will happen as part of the release process anyway | |||
pmichaud | false | ||
rakudo and nqp no longer use PCT::HLLCompiler | |||
so the fix that was applied in Parrot has no impact on rakudo/nqp | |||
moritz | pmichaud: it was an nqp commit (05b7873eda74cb0ae1d038736098af0c3bc00dfd) "Based on a patch" to PCT::HLLCompiler | 14:52 | |
pmichaud | ah, I missed that then. | ||
looking. | |||
moritz | but the commit did modify HLL::Compiler | ||
it's nqp master | |||
HEAD | |||
benabik | pmichaud: I made the identical fix to nap that I did to Parrot, modulo language (PIR v NQP). | ||
*nqp, stupid autocorrect | 14:53 | ||
pmichaud | there was a reason I didn't make that patch... not sure that I remember what it was. | ||
iirc, it causes something else important to fail. | |||
benabik | It seems very limited in scope. Skips no vital code, changes no variables. Not sure what it could break. | 14:54 | |
[Coke] | we'll find out when we update. ;) | 14:55 | |
pmichaud | had something to do with what was produced with other combinations of command line options | ||
benabik | Feel free to revert, but let me know so I can try to fix PCT as well. | ||
moritz builds it to see if anything fails | |||
pmichaud | well, I won't revert unless/until I remember what the problem was. | 14:56 | |
masak | by the way, hakank++ pointed out AFK that the --optimize flags aren't reported in Rakudo's --help | ||
want me to submit a rakudobug for that? | 14:57 | ||
pmichaud | a commit would be cool, too :) | 14:58 | |
(yes, rakudobug is fine) | |||
(mark it as LHF) | |||
moritz again wishes for a method to pass command line arguments to p6eval | |||
masak submits LHF rakudobug | 14:59 | ||
pmichaud | benabik/others: I think the problem I had with the patch were due to other problems with '-e' that have since been fixed in nqp in the past couple of months. So I'm guessing the patch can stay. | ||
14:59
pmurias_ joined,
pmurias_ left
|
|||
pmichaud | I don't know what the equivalent -e fixes would be for PCT::HLLCompiler -- might need to check nqp's commit history on HLL::Compiler to find them | 14:59 | |
14:59
pmurias joined
|
|||
pmurias | sorear: hi | 14:59 | |
sorear: where should i store a list of passing p5 integration spec tests? | 15:00 | ||
dalek | ast: 7dd36e1 | (Paweł Murias)++ | S01-perl-5-integration/subs.t: test for calling p5 subs from perl6 |
||
ast: f6d832a | (Paweł Murias)++ | S01-perl-5-integration/subs.t: basic test for calling p5 subs |
|||
pmichaud | re: message in makefile about long compilation step -- I think it's okay to make the change pre-release. Seems like it should just be an @echo line in Makefile.in | 15:02 | |
moritz does it so | 15:04 | ||
15:04
sftp left,
sftp joined
|
|||
benabik | pmichaud: Looking at git-log, I don't see any changes that would affect the --target patch… *shrug* The patch was three years old, so perhaps it was an old issue. Thanks for looking at it though. | 15:05 | |
pmichaud | returning to List.tree for a moment -- I'm fine with what was committed for now. It likely needs some changing (and MapIter may be going away with other upcoming changes), but it's fine as-is for now until we get some bug reports against it or see other issues. | ||
benabik had considered just submitting a pull request for nap, but decided to go with the old axiom "forgiveness > permission" | |||
pmichaud | benabik: +1 | 15:06 | |
moritz | pmichaud: ok | ||
benabik just teaches Lion that nqp is a word, darn it. | |||
pmichaud | benabik: I know that originally I didn't apply the three-year-old patch because I expected to make a significant refactor in how PCT::HLLCompiler dumps its output and the patch wouldn't have been applicable under the refactor. But the refactor never occurred. | ||
moritz | pmichaud: the "real .tree" has much more bells and whistles anyways, this was just for making nested list available to the user /somehow/ | 15:07 | |
pmichaud | moritz: +2 | ||
moritz | nom: for (1, 2 Z 10, 20).tree -> $x { say $x.fmt('%02d', ',') } | ||
pmichaud | iwbni if the simple .tree could at least return a LoL, though :) | ||
p6eval | nom bfedd9: OUTPUT«01,1002,20» | ||
pmichaud | (if it's not doing so already) | 15:08 | |
oh! | |||
benabik | pmichaud: Ah. Fair enough. Some changes to dumping in nqp should probably still be on the list… --target=p[ao]st failes trying to dump 6model objects. I've occasionally thought about targeting it, but I'm spending too much time away from homework as it is. :-) | ||
moritz | nom: say (1, 2 Z 10, 20).tree.WHAT | ||
p6eval | nom bfedd9: OUTPUT«List()» | ||
pmichaud | method tree(**@lol) { @lol } # might work | ||
moritz doesn't think so | |||
it needs to do some work with the invocant at least | 15:09 | ||
pmichaud | oh, yeah. | ||
ummmm | |||
method tree() { sub foo(**@lol) { @lol }; foo(self) } | 15:10 | ||
:-P | |||
method tree() { ( -> **@lol { @lol } )(self) } | 15:11 | ||
moritz | nom: use MONKEY_TYPING; augment class List { method treeish() { sub foo(**@lol) { @lol }; foo(self) }}; given (1, 2 Z 10, 20).treeish { say .WHAT; say .[0].perl } | ||
p6eval | nom bfedd9: OUTPUT«LoL()((1, 10), (2, 20)).list.item» | ||
moritz | that doesn't look right | ||
TimToady | it seems to me that if it defaults to lol then that is a useless redundancy | ||
I think a deeper default would make sense on .tree | 15:12 | ||
moritz | should Z returns a LoL in the first place? | ||
*return | |||
TimToady | no | ||
pmichaud | agreed, "no" | ||
don't pre-itemize things | 15:13 | ||
moritz | huh, is LoL the itemization? | 15:14 | |
pmichaud | elements of a LoL are itemized | ||
TimToady | it prevents flattening of the top layer | ||
pmichaud | basically, LoL is like an Array but without the flattening of deeper layers | ||
moritz | so would @lol.push: 1, 2 add a single sublist with two elems? | 15:15 | |
TimToady | and I think .tree should do that all the way down | ||
by dfeault | |||
pmichaud | I'm fine with tree defaulting to deep itemization | ||
moritz: I would expect @lol.push: 1,2 to add two elems | |||
moritz isn't sure what to expect anymore | 15:16 | ||
pmichaud | if you want to add a sublist, you use @lol.push: (1,2).item | ||
@lol.push: 1,2 would be the same as @lol.push(1,2) | 15:17 | ||
(and .push is defined as method push(*@values), which flattens) | 15:19 | ||
okay, I'm afk for a while | 15:21 | ||
kmwallio | Is there an online guide for doing NativeCalls from Perl6? | 15:28 | |
moritz | kmwallio: not really, the current state is rather sad | ||
kmwallio: there are some approaches, but they only work with rather old versions of rakudo | 15:29 | ||
kmwallio | lame | ||
thanks for the information | |||
moritz | lame indeed; efforts to improve the situations are greatly appreciated | 15:30 | |
15:30
GlitchMr left
|
|||
moritz | github.com/jnthn/zavolaj/ is what used to work, but what I belive is broken now | 15:30 | |
kmwallio | does that mean I should learn PIR? | 15:31 | |
moritz | no, I think the next iteration will use nqp (and maybe C) | ||
masak | \o/ | ||
jnthn | I started working on that. | 15:32 | |
moritz | but I think jnthn has a plan, I'm just parroting things I've heard | ||
jnthn | I'm mostly just undecided whether ot use Parrot's NCI or wrap something like libffi directly from NQP | ||
Or something else. | |||
benabik | jnthn: If libffi is available, Parrot's NCI is basically a wrapper around it. | ||
kmwallio | thanks for the information, I have to go. | 15:33 | |
15:33
kmwallio left
|
|||
benabik | Although I guess Parrot NCI knows nothing about 6model, which might be awkward. | 15:33 | |
jnthn | Well, yeah, that's the reason I'm wondering what to do. | 15:34 | |
Will it be easier to do 6model => libffi integration than go via Parrot's existing binding. I didn't look closely enough yet. | |||
benabik | If 6model objects used get_pointer to return the start of where data is stored, then you might be able to use 'p' NCI type to pass them as structs. Dunno. | 15:35 | |
benabik digs back into XS. | |||
PerlJam | jnthn: when you say "6model => libffi integration", do you mean at the NQP level or lower? | 15:36 | |
phenny | PerlJam: 14:33Z <pmichaud> tell PerlJam if you could work on RT #97102 as part of the release it would be really awesome. msg me if you need some ideas. kthx | ||
benabik | (Well, pointers to structs.) | ||
15:40
mj41 left
15:41
risou_awy is now known as risou
15:45
pmurias left
15:51
wamba joined
16:01
donri joined
|
|||
masak decommutes | 16:01 | ||
16:09
wk joined
16:10
JimmyZ left
16:15
whiteknight joined,
wk left
|
|||
[Coke] | decommutes == "leave work to head for home" or "arrive home having left from work" ? | 16:29 | |
16:30
GlitchMr joined,
drbean left
|
|||
jnthn | [Coke]: The first, I think | 16:31 | |
diakopter | leaving work is how I use it | ||
jnthn | same | 16:32 | |
16:36
finanalyst_ joined
|
|||
[Coke] | thank you. ;) | 16:37 | |
finanalyst_ | yesterday I updated rakudo and found that it broke a lot of my code, including fairly standard regexes | ||
what happened? | |||
[Coke] | finanalyst_: how old was your older version? | 16:39 | |
16:40
alester joined
|
|||
finanalyst_ | maybe a month or so | 16:40 | |
16:40
kaleem joined
|
|||
[Coke] | it is quite possible that you upgraded past the transition to the nom branch, which brings great improvements in the object model, but hasn't quite caught up yet in regex. | 16:40 | |
Are you going against releases? | |||
finanalyst_ | that would explain it | ||
[Coke] | I believe there was a note in the release announcement about this. checking. | ||
finanalyst_ | Also I have found that IO isnt working, eg. my @arr = lines('path/to/data/data'); | 16:42 | |
16:42
daniel-s left
|
|||
[Coke] | Hurm. I don't actually see the latest release announcement anywhere. | 16:43 | |
finanalyst_ | i rewrote to my $fn=open('filename',:r); my @arr= $fn.lines, which works, but only the second time | 16:44 | |
for some reason I get a segmentation error on the first attempt | |||
should i be filing bug reports on these things? | 16:45 | ||
[Coke] | gah. | ||
Yes, pleaes. | |||
definitely for segvs. | |||
For things that nom has regressed on, yes. Hopefully, aside from the regex, these are low hanging fruit that we can bring back. | 16:46 | ||
jnthn | lines('path/to/data/data') will not do IO now - that's Rakudo following a spec change | 16:49 | |
Need to coerce the filename to an IO object, e.g. 'path/to/data/data'.IO | 16:50 | ||
finanalyst_ | jnthn: i missed that change. | ||
jnthn | finanalyst_: Well, I think it happened a little bit ago, but took until the nom branch to switch it over. | 16:51 | |
segv is *always* wrong, so certainly that wants a ticket. | |||
finanalyst_ | btw I really miss the full patches the cvs used to give. git only gives the log comment, which is not always helpful | ||
[Coke] | finanalyst_: I also dislike having to click through to see the commits. | 16:52 | |
finanalyst_ | jnthn: what is an elegant idiom now for what used to be: my @arr=lines('fn',:r) ? | 16:54 | |
benabik | finanalyst_: In general, -p will give you patches out of git. | 16:55 | |
finanalyst_: i.e. git log -p | |||
finanalyst_ | [Coke]: how long for regexes to return to bleeding edge rakudo? | ||
jnthn | my @arr = 'fn'.IO.lines; # not so bad | ||
[Coke] | finanalyst_: we have a low bus number there. unsure. | 16:56 | |
finanalyst_ | jnthn: is that read only, or has readonly become OS dependent? | ||
[Coke] | I mean, they're there now, they're just not as full featured. | ||
nom: say "abcd" ~~ /d/ | 16:57 | ||
p6eval | nom bfedd9: OUTPUT«=> <d>» | ||
TimToady | perl6: say '/etc/passwd'.IO.lines[0] | ||
p6eval | pugs b927740: OUTPUT«*** No such method in class Str: "&IO" at /tmp/SRFGmfb7Ey line 1, column 5 - line 2, column 1» | ||
..niecza v10-58-gc851cf8: OUTPUT«Unhandled Exception: Unable to resolve method lines in class IO at /tmp/WwUWpWIDhi line 1 (MAIN mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 2176 (CORE C1040_ANON @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 2177 (CORE module-CO… | |||
..rakudo bfedd9: OUTPUT«root:x:0:0:root:/root:/bin/bash» | |||
[Coke] | nom: say ?("abcd" ~~ /e/) | ||
p6eval | nom bfedd9: OUTPUT«Bool::False» | ||
16:57
dakkar left
|
|||
finanalyst_ | [Coke]: how would I get a rakudo with more/better/old regex? | 16:57 | |
[Coke] | bad rakudo! | ||
finanalyst_: don't upgrade to the latest release? | 16:58 | ||
finanalyst_ | just upgraded!!! :( | ||
i want to go back. Not sure of syntax | |||
[Coke] | We could always use another pair of hands, if you'd rather upgrade and hack on rakudo. ;) | ||
TimToady | rakudo: my @arr = '/etc/passwd'.IO.lines; @arr[0] = 123; say @arr[1]; # why do you think it's readonly? | ||
p6eval | rakudo bfedd9: OUTPUT«daemon:x:1:1:daemon:/usr/sbin:/bin/sh» | ||
TimToady | rakudo: my @arr = '/etc/passwd'.IO.lines; @arr[0] = 123; say @arr[0]; # why do you think it's readonly? | 16:59 | |
p6eval | rakudo bfedd9: OUTPUT«123» | ||
16:59
Trashlord left
|
|||
finanalyst_ | TimToady: what is the default for IO.lines? | 16:59 | |
jnthn | oh my...a leak | ||
TimToady | IO.lines returns a lazy list of strings. I don't know what you're trying to do. | 17:00 | |
17:00
Trashlord joined
|
|||
TimToady | you aren't expecting lines = $new to change a file in place are you? | 17:01 | |
finanalyst_ | TimToady: sorry for stupid questions: I should go and look at the latest syntax. In general, I try to keep input data files readonly and output files write only | 17:02 | |
TimToady | lines() with no argument is supposed to default to $*ARGFILES | ||
but IO.lines isn't that | |||
perl6: for lines() { .say } | |||
p6eval | rakudo bfedd9: OUTPUT«Land der Berge, Land am Strome,Land der Äcker, Land der Dome,Land der Hämmer, zukunftsreich!Heimat bist du großer Söhne,Volk, begnadet für das Schöne,vielgerühmtes Österreich,vielgerühmtes Österreich!Heiß umfehdet, wild umstrittenliegst dem Erdteil du inmi… | ||
..pugs b927740: OUTPUT«*** No such subroutine: "&lines" at /tmp/6vBKBkCTBv line 1, column 5-13» | |||
..niecza v10-58-gc851cf8: OUTPUT«Land der Berge, Land am Strome,Land der Äcker, Land der Dome,Land der Hämmer, zukunftsreich!Heimat bist du großer Söhne,Volk, begnadet für das Schöne,vielgerühmtes Österreich,vielgerühmtes Österreich!Heiß umfehdet, wild umstrittenliegst dem Erdtei… | |||
17:02
ksi joined
|
|||
TimToady | lines with an argument splits a string into lines | 17:02 | |
perl6: say lines("a\nb\nc\n")[1] | 17:03 | ||
p6eval | pugs b927740: OUTPUT«*** No such subroutine: "&lines" at /tmp/dyUciplGte line 1, column 5 - line 2, column 1» | ||
..rakudo bfedd9, niecza v10-58-gc851cf8: OUTPUT«b» | |||
TimToady | which is why the .IO is mandatory if you want the string to mean a filename | ||
jnthn | shop & | 17:04 | |
[Coke] | lunch& | ||
finanalyst_ | TimToady: now I remember the change to the IO syntax being discussed. | 17:05 | |
Always seemed to be a change from IO being on IO objects, to IO being done to string objects | 17:06 | ||
17:06
Chillance joined
|
|||
finanalyst_ | Even though filenames are strings, I always thought of them as names for some different to strings | 17:07 | |
s/some/somthing/ | |||
sorry. need to go. | 17:08 | ||
17:08
finanalyst_ left
17:12
MayDaniel joined
17:21
bombworm joined
17:22
bombworm left,
thou left
17:39
MayDaniel left
17:41
drbean joined
17:47
donri left
17:53
replore left
17:57
thou joined
17:58
uasi left,
MayDaniel joined
18:02
risou is now known as risou_awy
18:07
packetknife joined
|
|||
masak | filenames are Bufs sometimes, IIRC. | 18:10 | |
I remember something about Py3k having trouble because it assumed that all filenames are utf-8-encoded strings; and they aren't. | |||
flussence | that's not an unreasonable assumption, as long as you don't care about working on OSes besides Linux :) | 18:13 | |
(or foreign filesystems, or...) | 18:14 | ||
18:21
shinobicl left
18:34
envi_ left
18:43
drbean left
18:49
drbean joined
|
|||
TimToady | perl6: say 3.5 ~~ (1..5) | (10..50) | 18:54 | |
p6eval | niecza v10-58-gc851cf8: OUTPUT«Bool::True» | ||
..rakudo bfedd9: OUTPUT«Bool::False» | |||
..pugs b927740: OUTPUT«any(VBool False)» | |||
TimToady | niecza is correct, rakudo is wrong | ||
colomon | Nice variety! | ||
perl6: say 3.5 ~~ (1..5) | 18:55 | ||
p6eval | rakudo bfedd9, niecza v10-58-gc851cf8: OUTPUT«Bool::True» | ||
..pugs b927740: OUTPUT«» | |||
jnthn | nom: say 3.5 ~~ (1..5) | ||
p6eval | nom bfedd9: OUTPUT«Bool::True» | ||
[Coke] | is there a more descriptive spec for range than: perlcabal.org/syn/S32/Containers.html#Range ? | 18:56 | |
jnthn | nom: say 3.5 ~~ (10..50) | ||
p6eval | nom bfedd9: OUTPUT«Bool::False» | ||
[Coke] | the problem with the junction is that it's flattening them. | ||
nom: say (1..2) | (10..12) | |||
p6eval | nom bfedd9: OUTPUT«any(1, 2, 10, 11, 12)» | ||
jnthn | yeah | ||
colomon | oh, ick | ||
[Coke] | there's a ticket for that that I just marked "no change" on recently. | 18:57 | |
18:58
kaleem left
|
|||
[Coke] | rt.perl.org/rt3/Ticket/Display.html?id=76422 | 18:58 | |
PerlJam | I'm starting on the release and I'd like to update the release_guide.pod. Step 2 is to update build/P | 19:02 | |
ARROT_REVISION | |||
what should be the appropriate procedure now? | |||
moritz | PerlJam: tag nqp, and put the tag in tools/build/NQP_REVISION | 19:05 | |
moritz -> sleep | |||
jnthn | 'night, moritz | 19:06 | |
> say 3.5 ~~ (1..5) | (10..50) | 19:08 | ||
Bool::True | |||
> say 3.5 ~~ (1..5) & (10..50) | |||
Bool::False | |||
masak | 'nacht, moritz | ||
dalek | kudo/nom: cc4f39e | jnthn++ | src/core/Junction.pm: Make sure |, & and ^ don't go flattening the arguments. |
19:09 | |
jnthn | [Coke]: Verified the above patch resolves #76422 and tagged it test needed. :) | 19:10 | |
[Coke] | jnthn: sweet. I'll mark the ticket. | ||
... even sweeter! | |||
jnthn | :) | ||
[Coke] | wow, that was a simple fix. | 19:13 | |
jnthn | nom: say 704 - 85 | ||
p6eval | nom bfedd9: OUTPUT«619» | ||
[Coke] | I can probably close 4 tickets this evening. ;) | 19:14 | |
jnthn | Wonder if we can break 600 in the next couple of weeks :) | ||
[Coke] | 600 total, or taking testneeded into account? | ||
jnthn | Taking testneeded into account :) | 19:15 | |
Mostly depends if the fixers can fix faster than the masak can file ;) | |||
TimToady | perl6: say 3.5 ~~ (1..5) & (1..5) | 19:16 | |
p6eval | niecza v10-58-gc851cf8: OUTPUT«Bool::True» | ||
..pugs b927740: OUTPUT«all(VBool False)» | |||
..rakudo bfedd9: OUTPUT«Bool::False» | |||
japhb | jnthn, do you backlog, and did you get my answer from yesterday that the ticket appears fixed, but the code in the ticket seems out of date? | ||
phenny | japhb: 19 Oct 20:55Z <jnthn> tell japhb Does your work on MAIN resolve rt.perl.org/rt3/Ticket/Display.html?id=92986 ? | ||
jnthn | japhb: I tend to backlog the time I was sleeping. Though if I'm away for some days I tend not to manage. | 19:18 | |
japhb | nodnod | ||
jnthn | Anyway, saw the answer :) | 19:19 | |
japhb | ah, good | ||
jnthn | Happy it's fixed | ||
And yes, needs .gist to actually output the type name. | |||
jnthn updates the ticket | 19:20 | ||
japhb | thank you! | ||
jnthn | Thank you for making it work! | 19:21 | |
Ticket tagged testneeded :) | |||
mberends | jnthn: have you submitted a talk proposal to conferences.yapceurope.org/lpw2011 ? I've proposed a 20 minute Niecza GUI talk. | 19:24 | |
jnthn | mberends: Submitted a couple, yes | ||
nom: class C { has %!p; submethod BUILD(:%!p) {} }; C.new; say 'alive' | |||
p6eval | nom bfedd9: OUTPUT«alive» | ||
[Coke] | jnthn: taking testneeded into account, I can probalby hit that tonight just by trolling the queue more. | ||
jnthn | oh, heh, 95340 already says "fixed in nom" :) | ||
19:25
GlitchMr left
|
|||
jnthn | That's one more testneeded :) | 19:25 | |
[Coke] | \o/ | ||
[Coke] notes that non-hague grants are open again this quarer. | 19:27 | ||
*quarter | |||
[Coke] eagerly anticipates some requests. | |||
rakudo: say 3.5 ~~ 1..5 | 19:29 | ||
p6eval | rakudo bfedd9: OUTPUT«Bool::True» | ||
[Coke] | rakudo: say 3.5 ~~ (1..5|7..10) | ||
p6eval | rakudo bfedd9: OUTPUT«Bool::False» | ||
TimToady | 5|7 | ||
in fact... | |||
[Coke] | so, now it's failing some new interesting reason. | ||
TimToady | std: say 3.5 ~~ (1..5|7..10) | 19:30 | |
p6eval | std 580b69a: OUTPUT«===SORRY!===".." and ".." are non-associative and require parens at /tmp/wok9dLsVMO line 1:------> say 3.5 ~~ (1..5|7..⏏10)Check failedFAILED 00:01 121m» | ||
[Coke] | rakudo: say 3.5 ~~ (1..5)|(7..10) | ||
p6eval | rakudo bfedd9: OUTPUT«Bool::False» | ||
TimToady | your precedence is rong | ||
that should work better | |||
and does work in my local copy now | |||
jnthn++ | 19:31 | ||
[Coke] | ah, so it does. | ||
p6eval: rebuild nom | |||
evalbot: rebuild nom | |||
[Coke] shrugs. | |||
say (1..5|7).perl | 19:32 | ||
nom: say (1..5|7).perl | |||
p6eval | nom bfedd9: OUTPUT«any(1, 2, 3, 4, 5e0, 1, 2, 3, 4, 5, 6, 7e0)» | ||
TimToady | heh | 19:33 | |
jnthn | Nice auto-threading :) | ||
But...wtf happened to the end fo the range? :) | |||
TimToady | looks like a p5ism | 19:34 | |
jnthn | 5e0 | ||
colomon | niecza: say (1..5|7).perl | ||
p6eval | niecza v10-58-gc851cf8: OUTPUT«any(1..5, 1..7)» | ||
[Coke] | that seems less surprising. | ||
TimToady | nom: say 1..5 | ||
p6eval | nom bfedd9: OUTPUT«1..5» | 19:35 | |
TimToady | nom: say flat 1..5 | ||
p6eval | nom bfedd9: OUTPUT«1 2 3 4 5» | ||
jnthn | nom: say (flat 1..5).perl | ||
p6eval | nom bfedd9: OUTPUT«(1, 2, 3, 4, 5).list» | ||
TimToady | nom: say flat(1..5)[*-1].WHAT | ||
p6eval | nom bfedd9: OUTPUT«Int()» | ||
[Coke] | phenny: tell masak I can't read rt.perl.org/rt3/Ticket/Display.html?id=77746 | 19:36 | |
phenny | [Coke]: I'll pass that on when masak is around. | ||
dalek | kudo/nom: 9d2f113 | jnthn++ | src/binder/multidispatch.c: Fix required named parameter optimization in multi dispatcher. |
19:37 | |
jnthn | That's one more :) | ||
19:38
wk joined
|
|||
masak | jnthn++ | 19:39 | |
phenny | masak: 19:36Z <[Coke]> tell masak I can't read rt.perl.org/rt3/Ticket/Display.html?id=77746 | ||
masak looks | 19:40 | ||
that is an odd bug. how did it end up like that? :/ | 19:41 | ||
anyway, I think I can read it. | 19:42 | ||
19:44
packetknife left
|
|||
masak | [Coke]: �,� should be «,» | 19:44 | |
jnthn closes one more, and tags a couple of others testneeded :) | 19:45 | ||
[Coke] | masak: can you mark that on the ticket? Thanks. | ||
jnthn | nom: say 703 - 90 | 19:46 | |
p6eval | nom bfedd9: OUTPUT«613» | ||
jnthn | closer ;) | ||
masak | [Coke]: will do. | ||
TimToady | while you're at it, rewrite the ticket system to support the 21st century | ||
[Coke] | jnthn: heh. I'm at work, you might beat me to it! | ||
TimToady: we have bigger fish to fry. :P | |||
TimToady | Bye, and thanks for all the bigger fish... :) | 19:48 | |
masak | TimToady: I can't really blame the ticket system; it's gotten all my other tickets right... | ||
just can't think what I got wrong that one time... :) | |||
19:49
drbean left
|
|||
TimToady | maybe it got it right by accident the other times... | 19:49 | |
masak | Mr Bayes frowns. | 19:51 | |
TimToady | Mr Holmes grins | ||
masak | ;) | 19:52 | |
tadzik | . o O ( A day of very low probabiity ) | ||
TimToady | {3,5,7,9,11,13} # obviously 9 is prime :) | ||
masak .oO( Accidentally, Mr Watson ) | 19:53 | ||
19:53
wk left
19:56
drbean joined
|
|||
masak | huh! the *emails* I got back about #77746, a year ago, are encoded right. | 19:57 | |
maybe it was just a temporary glitch in RT? | 19:58 | ||
dalek | p: 7eda54b | duff++ | docs/release_guide.pod: Add a simple release guide |
20:01 | |
masak | PerlJam++ | 20:19 | |
dalek | kudo/nom: 59332ae | duff++ | docs/release_guide.pod: update release guide |
20:23 | |
20:25
soh_cah_toa joined
20:34
dorlamm joined
20:38
mberends left,
mtk left
|
|||
japhb | It looks to me like some of the tests in S06-other/main-usage.t are bogus and/or out of date. What's the normal process for changing them? Just commit? Submit a patch to someone? Discuss here and then implement? | 20:42 | |
tadzik | which tests? | ||
masak | I don't speak for everyone, but if you have a commit bit, just commit. | ||
we can fix up chaos after the fact. | |||
if you feel like discussing beforehand, discuss. | 20:43 | ||
jnthn | japhb: Unless you're unsure, don't hesitate to commit. | ||
japhb: Discussion is always fine too, of coruse. | |||
japhb | masak, jnthn: fair enough, thanks. | ||
20:44
mtk joined
|
|||
japhb | tadzik: For example, two tests test putting options after positional params, and expect that to work, which is converse to spec | 20:44 | |
*counter | |||
20:49
mberends joined
|
|||
masak | mberends! \o/ | 20:49 | |
20:52
localhost left
20:53
localhost joined
|
|||
dalek | kudo/nom: 63326f6 | duff++ | docs/announce/2011.10: The beginnings of a release announcement |
20:55 | |
20:55
abercrombie left
|
|||
PerlJam | looks like I won't get the release out until several hours from now ... probably around 10pm-ish localtime (it's ~4pm now) | 20:55 | |
jnthn | That's still today somewhere :) | 20:56 | |
PerlJam | until then feel free to comment on the release announcement I just committed | 21:00 | |
PerlJam afk | |||
masak | 'night, everyone. happy releasing, PerlJam. | ||
japhb | Anything special that must be done when adding a new test file? | ||
*(spec test file) | 21:01 | ||
jnthn | japhb: If you want Rakudo to run it, it'll need to go in t/spectest.data also. | ||
21:01
MayDaniel left
|
|||
jnthn | (in the Rakudo repo) | 21:01 | |
japhb | jnthn, OK, thansk | 21:02 | |
*thanks | |||
21:05
bluescreen100 left,
bluescreen10 left
21:06
molaf left
21:17
bluescreen10 joined,
bluescreen100 joined
21:20
im2ee left
21:24
y3llow_ joined,
pothos_ joined
21:26
y3llow left,
y3llow_ is now known as y3llow,
pothos left,
pothos_ is now known as pothos
21:29
ksi left
|
|||
dalek | ast: 86de197 | (Geoffrey Broadwell)++ | S06-other/main-usage.t: S06-other/main-usage.t cleanup/revamp stage 1 * Reorder tests to group them more logically * Move spacey value tests to end, with comment pointing to relevant spec discussion * Fix a couple tests that were out of spec or testing too many things at once * Fix test reasons and program output to be more consistent and clear * Add three more tests; many more still needed |
21:45 | |
21:51
kaare_ left
21:55
dual left
22:03
bluescreen100 left
22:04
bluescreen10 left
22:06
Holy_Cow left
22:09
wamba left
22:12
stepnem left
22:15
replore joined,
stepnem joined
22:16
bluescreen10 joined
22:17
bluescreen100 joined
22:19
dorlamm left
22:25
Chillance left
22:26
benabik left
22:46
replore left
22:51
abercrombie joined
23:16
drbean left
23:21
tokuhiro_ joined
23:23
drbean joined
23:34
benabik joined
23:49
smash left
23:54
daniel-s joined
|