»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! | feather will shut down permanently on 2015-03-31 Set by jnthn on 28 February 2015. |
|||
00:03
idontknow joined,
idontknow left
|
|||
skids | m: my $n = "f-1-f-2-f-" ~~ /.*/; $n.say; $n ~~ s:g/ \- <before [ \d | $ ]>/_/; $n.say; | 00:06 | |
camelia | rakudo-moar 198d9e: OUTPUT«「f-1-f-2-f-」f_1-f_2-f_» | ||
skids | m: grammar g { token TOP {.*} }; class c { method TOP($/) { my $n = ~$/; $n ~~ s:g/ \- <before [ \d | $ ]>/_/; $n.say; }}; g.parse("f-1-f-2-f-",:actions(c)); | ||
camelia | rakudo-moar 198d9e: OUTPUT«Cannot assign to a readonly variable or a value in method TOP at /tmp/gDr3R_1I4V:1 in regex TOP at /tmp/gDr3R_1I4V:1 in block <unit> at /tmp/gDr3R_1I4V:1» | ||
tony-o | m: gist.github.com/tony-o/4a42f3807d9d5bba3688 | 00:12 | |
camelia | rakudo-moar 198d9e: OUTPUT«timeout in block <unit> at /tmp/hCM75V3723:71013.34» | ||
tony-o | weird..it continues to process for me | ||
00:12
Akagi201 left
|
|||
timotimo | there is no sane way to abort a thread that doesn't explicitly cooperate | 00:19 | |
that said, when the mainline reaches the end, moarvm will shut down | |||
tony-o | i had an old build where moarvm wouldn't shut down -- i was getting 3+ seconds on that gist | 00:21 | |
which seemed incongruent with the slides i was looking at from a perl6 talk | 00:22 | ||
timotimo | there's a flag you can set on a Thread that'd make it a "keep the program alive" thread | 00:25 | |
that's as much as i know | |||
00:38
tinyblak joined
|
|||
TimToady | m: grammar g { token TOP {.*} }; class c { method TOP($/ is copy) { my $n = ~$/; $n ~~ s:g/ \- <before [ \d | $ ]>/_/; $n.say; }}; g.parse("f-1-f-2-f-",:actions(c)); | 00:38 | |
camelia | rakudo-moar 198d9e: OUTPUT«f_1-f_2-f_» | ||
TimToady | skids: ^^ | 00:39 | |
s/// is trying to modify your formal parameter | |||
00:39
yqt left
|
|||
skids | TimToady++ | 00:40 | |
TimToady | m: grammar g { token TOP {.*} }; class c { method TOP($match) { my $n = ~$match; $n ~~ s:g/ \- <before [ \d | $ ]>/_/; $n.say; }}; g.parse("f-1-f-2-f-",:actions(c)); | ||
camelia | rakudo-moar 198d9e: OUTPUT«f_1-f_2-f_» | ||
00:44
dabockster joined
00:48
perlvim joined
00:53
cognominal joined
00:56
perlvim left
|
|||
tony-o | m: try { CATCH { $_.bracktrace.nice; } ; die 'dead'; }; | 01:01 | |
camelia | rakudo-moar 198d9e: OUTPUT«Method 'bracktrace' not found for invocant of class 'X::AdHoc' in block at /tmp/3ILtg4Pd4L:1 in block <unit> at /tmp/3ILtg4Pd4L:1» | ||
tony-o | m: try { CATCH { default { $_.bracktrace.nice; }; } ; die 'dead'; }; | ||
camelia | rakudo-moar 198d9e: OUTPUT«Method 'bracktrace' not found for invocant of class 'X::AdHoc' in block at /tmp/KRcnpw1niC:1 in block <unit> at /tmp/KRcnpw1niC:1» | ||
raydiak | tony-o: "bracktrace" :) | 01:03 | |
tony-o | m: try { CATCH { default { $_.backtrace.nice; }; } ; die 'dead'; }; | 01:04 | |
camelia | rakudo-moar 198d9e: OUTPUT«use of uninitialized value of type Any in numeric context in block at /tmp/mOBQYlIIRt:1» | ||
tony-o | yea i know :-), i'm trying to determine where i'm getting that warning from :-) | ||
raydiak | ah I see | 01:05 | |
tony-o | seems it's in the backtrace method somewhere .. | 01:06 | |
01:08
Zoffix joined
01:09
dabockster left
01:14
pecastro_ joined,
Akagi201 joined
01:15
pecastro left
01:23
yeahnoob joined
|
|||
raydiak | anyone awake know if the grave/backtick (`) is as common on keyboards in other countries as it is in the US? | 01:35 | |
01:37
dayangkun joined
|
|||
geekosaur | my understanding is that in general it's not | 01:38 | |
also I just ran through the set of alternative layouts I have set up on my Mac with "Keyboard Viewer" active and only one out of 5 non-US layouts had readily available on a key | 01:40 | ||
01:41
grondilu left
|
|||
raydiak | well dang nabbit what good is extensibility if we used up all the easily typable chars with core ops and syntax? | 01:41 | |
but thanks for the info, guess I needed to know that :) | |||
01:48
cognominal left
|
|||
pmichaud | raydiak: well, you would prefer the core ops used non-easily typable chars? ;-) | 01:51 | |
ugexe | lizmat recently added env variables for showing more code in backtraces or something | ||
tony-o | yea i saw the backtrace methods change when i rebuilt moar . it seems to be randomly warning | 01:54 | |
raydiak | pmichaud: heh I suppose not...just wish we coulda had one or two non-word non-whitespace chars left over for the user to play with | 01:55 | |
01:55
synbot6 joined,
synbot6 left
01:58
synbot6 joined
|
|||
pmichaud | Even the core ops had to spill into Latin-1 with « and ». Not to mention that we started using things like "Z" as operators. :) | 02:00 | |
so I suspect there are a number of one-letter ops still available. :-P | |||
02:01
dfarrell joined
|
|||
japhb | pmichaud, TimToady: Are there expected to be more major semantic changes coming in the GLR, or have all the major semantic changes been done and now it's down to performance and niggling bits? | 02:04 | |
pmichaud | japhb: many of the identified semantic changes haven't been implemented yet | 02:05 | |
japhb | (Sorry, I've been u )nable to follow this too closely lately. :-( | ||
pmichaud | it's my plan for May. | ||
(now that robotics is done. :) | |||
japhb | Ah, OK | ||
How did that go, BTW? | |||
pmichaud | my team ended up 5th in their division, which is far better than we expected. | 02:06 | |
they performed very well. | |||
japhb | Nice! | ||
pmichaud | And my team captain (and stepdaughter) was a Dean's List Award Winner | ||
japhb | Very nice! | ||
pmichaud | (www.usfirst.org/aboutus/dean-kamen-...-ceremony) # link with announcement | 02:09 | |
TimToady | japhb: we've done a lot of the semantic shifts, but the subtle ones having to do with how we intuit the transitive laziness/eagerness/batchiness of list interactions could still distort the semantics | 02:11 | |
as a case in point, a lot of the :eager options that have been added recently would like to be automatic | |||
pmichaud | well, and we still have to fix Nil. And eliminate Parcel. | 02:12 | |
TimToady | yes, we've been converging the semantics of Parcel and List, but aren't quite there yet | ||
and Nil is just gonna be a headache, I suspect | |||
japhb nods as he soaks in the above | 02:13 | ||
labster | Congrats pmichaud and family, well done | ||
colomon | indeed! | ||
labster | What in particular are we fixing about Nil? I can't say I'm terribly surprised it needs fixing. | 02:16 | |
02:17
noganex_ joined
02:20
noganex left
02:22
dfarrell left
02:24
rmgk_ joined,
rmgk is now known as Guest37091,
Guest37091 left,
rmgk_ is now known as rmgk
02:47
synbot6 left,
synbot6 joined
02:50
dustinm` left,
dfarrell joined
02:57
Akagi201 left
02:58
risou is now known as risou_awy,
Akagi201 joined,
risou_awy is now known as risou
02:59
risou is now known as risou_awy,
risou_awy is now known as risou
03:02
dustinm` joined
|
|||
skids | labster: Many things that return Nil should be returning () instead, for one. | 03:02 | |
03:04
mr-foobar left,
Akagi201 left
03:05
Akagi201 joined
03:10
dfarrell left
03:18
konsolebox joined,
konsolebox left
03:23
telex left
03:24
telex joined
03:33
hobbs left
03:36
konsolebox joined
03:38
hobbs joined
03:45
owlsley_ joined
03:54
araujo joined
04:06
mr-foobar joined
04:08
araujo left
04:18
ggoebel left
|
|||
dalek | ecs: 1df1815 | raydiak++ | S28-special-names.pod: ::?CLASS is a class object, not a name string |
04:24 | |
04:28
skids left
04:33
konsolebox left
|
|||
moritz | \o | 04:40 | |
labster: currently iterating over Nil results in zero iterations (it's list-like); that's supposed to change | |||
ugexe | lizmat: looks like the Shell::Command thing has to do with bootstrap.pl and its 'use lib' statements. in the "could not find shell::command in any of" statement its still using ':' as the separator which would explain why it cant find it | 04:41 | |
labster | o/ moritz, you're up early | 04:43 | |
moritz | I noticed :-) | 04:45 | |
timotimo | my sleep rhythm has just gone a little bit haywire | 04:46 | |
but for some reason i feel motivated to do stuff | |||
how do we feel about teaching doc.perl6.org and examples.perl6.org about the explanations in S99? | |||
i'm thinking it might be nice to be able to reach the definitions from S99 through the search box on doc.perl6.org and to have that html tag that allows you to hover over text and get an explanation put into the rendered text | 04:47 | ||
moritz | timotimo: +1 | ||
timotimo: in particular, I don't want two glossaries maintained (one in specs, one in doc) | |||
timotimo | maybe after that i'll check out what i'd have to do to get cairo rendering with opengl in a gtk window | ||
aye, i think that S99 is a good source to re-use | 04:48 | ||
04:49
konsolebox joined
04:51
diana_olhovik_ joined
04:52
konsolebox left
05:09
konsolebox joined
05:14
konsolebox left
05:24
Akagi201 left
05:25
Akagi201 joined
05:26
kaare__ joined
05:27
Akagi201 left,
Akagi201 joined
05:28
Akagi201_ joined
05:30
Erendis42d joined
|
|||
Erendis42d | p6: say 3; | 05:31 | |
camelia | rakudo-moar 198d9e: OUTPUT«3» | ||
Erendis42d | :D | ||
05:31
diana_olhovik_ left,
konsolebox joined,
konsolebox left,
Akagi201 left
|
|||
Erendis42d | p6: for(my $i=0;i<3;i++){ say "lol\n"}; | 05:33 | |
camelia | rakudo-moar 198d9e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileWhitespace required before < operatorat /tmp/tmpfile:1------> 3for(my $i=0;i<3;i++){ say "lol\n"};7⏏5<EOL> expecting any of: postfix» | ||
Erendis42d | :DDD | ||
p6: for(my $i=0;i<3;i++){ say "lol \n"}; | 05:34 | ||
camelia | rakudo-moar 198d9e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileWhitespace required before < operatorat /tmp/tmpfile:1------> 3for(my $i=0;i<3;i++){ say "lol \n"};7⏏5<EOL> expecting any of: postfix» | ||
Erendis42d | um... | ||
p6: for(my $i=0;i <3;i++){ say "lol\n"}; | |||
camelia | rakudo-moar 198d9e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileUndeclared routine: for used at line 1» | ||
Erendis42d | p6: say "lol\n" * 3; | 05:35 | |
camelia | rakudo-moar 198d9e: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏lol' (indicated by ⏏) in block <unit> at /tmp/tmpfile:1» | ||
Erendis42d | nevermind | ||
please go and make me a coffee | 05:36 | ||
p6: say "☕"; | 05:37 | ||
camelia | rakudo-moar 198d9e: OUTPUT«☕» | ||
Erendis42d | thank you | ||
timotimo | m: say "lol" for ^3 | 05:38 | |
camelia | rakudo-moar 198d9e: OUTPUT«lollollol» | ||
Erendis42d | cool | ||
timotimo | p6: for (my $i=0;i <3;i++){ say "lol\n"} | ||
camelia | rakudo-moar 198d9e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfileUnsupported use of C-style "for (;;)" loop; in Perl 6 please use "loop (;;)"at /tmp/tmpfile:1------> 3for 7⏏5(my $i=0;i <3;i++){ say "lol\n"}» | ||
timotimo | p6: loop (my $i=0;i <3;i++){ say "lol\n"} | ||
camelia | rakudo-moar 198d9e: OUTPUT«use of uninitialized value of type Any in numeric contextEarlier failures: Can not convert 0+1i to Real: imaginary part not zero in block <unit> at /tmp/tmpfile:1Final error: Cannot call Real(Failure: ); none of these signatures match:…» | ||
Erendis42d | okay, i got it | ||
aha | |||
timotimo | oh wow | ||
Erendis42d | cool again | 05:39 | |
thanks | |||
timotimo | p6: loop (my $i=0;$i <3;$i++){ say "lol\n"} | ||
camelia | rakudo-moar 198d9e: OUTPUT«lollollol» | ||
timotimo | you're welcome :) | ||
Erendis42d | ntot very patient, huh | ||
timotimo | hm? | ||
Erendis42d | you are impatient | 05:40 | |
timotimo | oh, you preferred to figure it out by yourself? | ||
you're right, i hadn't even realized | |||
Erendis42d | finally. | ||
what is the difference between the impatient and the incredibly fast? | 05:42 | ||
timotimo | let me guess: the impatient make more mistakes? | 05:43 | |
Erendis42d | confidence | ||
nice to meet you :) | 05:51 | ||
05:52
Rounin joined
|
|||
timotimo | likewise :) | 05:52 | |
05:57
quester joined
06:04
Foxcool joined
06:07
diana_olhovik_ joined
|
|||
[ptc] | timotimo++ # p6weekly | 06:13 | |
timotimo | dankeschön :) | 06:15 | |
[ptc]++ # moarvm memory leaks, examples.perl6.org, documentation, ... | |||
[ptc] | gerne geschehen :-) | 06:18 | |
timotimo is installing a fresh system on his desktop machine | 06:27 | ||
that's why there's no progress with the doc.perl6.org <-> S99 integration | |||
Erendis42d likes this | 06:28 | ||
06:29
_mg_ joined
|
|||
dalek | pan style="color: #395be5">perl6-examples: 48ea582 | paultcochrane++ | t/categories/wsg/beginner-2007.t: [wsg] add tests for beginner competition in 2007 |
06:30 | |
Erendis42d | why not monday1, monday2, monday3, monday4, monday5, sunday1, sunday2, it would be so much easier to script | 06:34 | |
timotimo | hehe | ||
the problem is, that in some regions, sunday2 is actually at the front of the list | |||
well, maybe not "the" problem, but "a" problem | |||
Erendis42d | or a tag | 06:35 | |
opening tag, closing tag | |||
that's even better in a point of view | |||
i'll go and tell Ben Franklin about that | |||
well, maybe later | 06:36 | ||
[Tux] | Aaaaahrg, no panda! | 06:39 | |
06:39
hobbs left
|
|||
[Tux] | gist.github.com/Tux/f2235ccfe0349e8feaf4 | 06:40 | |
06:40
hobbs joined
06:43
domidumont joined
06:46
konsolebox joined
06:48
domidumont left,
domidumont joined
06:52
jepeway left
06:53
konsolebox left
06:54
jepeway joined
06:57
zakharyas joined
|
|||
timotimo | something seems to be wrong with the hard drive i backed up all my files to | 06:59 | |
oh, it's just the "only root is allowed to use the last few gigabytes of your hard drive" | 07:00 | ||
that thing | |||
tony-o | [Tux]: i'm getting that a lot too with moar | 07:03 | |
[Tux] | moar here too | ||
tony-o | [Tux]: i'm also getting a lot of random failures, sometimes the code works as expected, other times it fails randomly | ||
with wildly differently messages | |||
masak | morning, #perl6 | 07:06 | |
tony-o | hey masak | ||
07:10
konsolebox joined
|
|||
dalek | kudo/nom: a8326d0 | lizmat++ | src/core/Backtrace.pm: Silence backtrace generation, spotted by tony-o++ |
07:10 | |
timotimo | oh, that explains a lot | 07:11 | |
lizmat | [Tux]: working on panda | ||
tony-o | gist.github.com/tony-o/86411383afb0dd6e06e5 | ||
[Tux] | lizmat++ | ||
tony-o | i'm getting that type of thing ^ | ||
lizmat++ | |||
07:12
konsolebox left
|
|||
tony-o | here is the lib/Green associated with that gist github.com/tony-o/perl6-green/blob.../Green.pm6 | 07:13 | |
timotimo | Green has a :) operator? :) | 07:17 | |
tony-o | haha, yea for now - all tests are happy tests, esp when short handed | 07:19 | |
masak | I'd make it prefix:<☺> and not look back | 07:21 | |
the mismatched ')' feels like a design smell... ;) | |||
timotimo | yeah | ||
07:23
mr-foobar left
|
|||
tony-o | i'll change it up once i figure this thing out, i can't tell if i'm doing something wrong with the async stuff or if something broke. i had it working very consistently with a moar/p6 from last week before i left work. i updated moar/p6 on the same machine and started getting random results (that's a debian jessie on surface pro 3 box), same strange behavior on imac | 07:23 | |
DrForr | PHP nearly had a :) operator. | 07:24 | |
07:24
mr-foobar joined
07:25
RabidGravy joined
07:26
Ven_ joined
07:28
Ven_ left
|
|||
Erendis42d | once in Python camp i saw a snowman as a variable name | 07:28 | |
but i also like the idea of ascii code table being 256 number system | 07:29 | ||
07:29
brrt joined,
mr-foobar left
|
|||
DrForr | *cough* 127 :) | 07:31 | |
lizmat just pushed a fix that gets panda bootstrap a little further | 07:32 | ||
===SORRY!=== | 07:33 | ||
Missing or wrong version of dependency '&METAOP_CROSS' (from 'lib/Panda/Common.pm') | |||
07:33
mr-foobar joined
|
|||
lizmat | velly confoozed | 07:33 | |
tony-o | i just changed the smiley prefix to '>>' | ||
gonna try and sleep now | |||
lizmat | good night, tony-o | 07:34 | |
tony-o | night | ||
ugexe | github.com/rakudo/rakudo/blob/44d4...po.pm#L134 | 07:35 | |
lizmat | ugexe: good catch! | 07:36 | |
ugexe | should fix shell::command | 07:37 | |
lizmat | eh. but, | ||
that's an old version ? | |||
sub CREATE-INCLUDE-SPECS(*@INC) { @INC.join(',') } | |||
masak | DrForr: 128, surely? as in 0..^128 -- the highest possible value being 127? | 07:38 | |
ugexe | oh jeez | ||
masak | <nitpick /> | ||
ugexe | theres a : getting put into @INC during use lib for the test of shell::command | 07:39 | |
DrForr | Yeah, I was going to correct myself but figured it wasn't worth the time. | ||
masak | happy to waste that time for you :P | 07:40 | |
07:41
Isp-sec joined
|
|||
masak .oO( outsourced time wasting as a service ) | 07:41 | ||
DrForr | No worries. Has there been any discussion about my => discovery? | ||
timotimo | yes | 07:42 | |
we're intentionally making it hard to have a bareword, then =>, then a newline, then a value | |||
masak | relevant backlog here: irclog.perlgeek.de/perl6/2015-05-04#i_10547052 | 07:44 | |
jnthn | o/ #perl6 | ||
timotimo | ohai jnthn | 07:45 | |
jnthn wonders if he has time to do anything useful (besides drink coffee) before the airport trip... | |||
timotimo | the local/localref thing perhaps? :)) | 07:46 | |
DrForr | Wow, I'm the first person to typo a newline in a decade. I feel honored. | ||
jnthn | No, I don't have *that* much time :) | ||
07:47
abraxxa joined
|
|||
DrForr | And 'LTM' is? | 07:48 | |
lizmat | design.perl6.org/S05.html#Longest-token_matching | 07:49 | |
DrForr | Thanks. | ||
sjn | gitminer.com/report/aptl7 # rakudo git log "report" :) | ||
masak | LTM is what allows us to have both a prefix:<+> and a prefix:<++>, and there's never any confusion about which one we mean :) | 07:52 | |
m: my $p = start { say "OH HAI" }; say $p.^name | 07:53 | ||
camelia | rakudo-moar a8326d: OUTPUT«PromiseOH HAI» | 07:54 | |
masak | m: my $p = start { say "OH HAI" }; $p.break | ||
camelia | rakudo-moar a8326d: OUTPUT«OH HAIAccess denied to keep/break this Promise; already vowed in block <unit> at /tmp/oEiXo9VWSv:1» | ||
jnthn | YOu break a Promise in a start block by dieing. | 07:55 | |
07:56
Erendis42d left
|
|||
timotimo | and you can't shoot it from outside | 07:56 | |
you have to have some code inside that cooperates | |||
labster | timotimo++ P6weekly: catching me up on the things I missed this week. | 07:57 | |
jnthn | Indeed | 07:58 | |
Promise.in(...) does need a good cancellation mechanism though | 07:59 | ||
lizmat | and Supply.interval(:every) :-) | 08:01 | |
jnthn | That has one. | ||
You close the tap | |||
lizmat | are you sure that works? I seem to recall it still eating 100% of one CPU even after closing the tap | ||
or maybe that was before your fix :-) | 08:02 | ||
jnthn | lizmat: That's not related to timers in particular, but a more general issue. | ||
08:02
wtw joined
|
|||
jnthn | And yes, it's fairly high on my conc todo list, though it's a perf bug rather than a "it crashes" bug, and I'm looking more at the latter kind first. | 08:03 | |
[Tux] | Compiling lib/Panda/Ecosystem.pm to mbc | 08:05 | |
===SORRY!=== | |||
Missing or wrong version of dependency '&METAOP_CROSS' (from 'lib/Panda/Common.pm') | |||
build stage failed for panda: Failed building lib/Panda/Ecosystem.pm | |||
[Tux] started from scratch | |||
lizmat | ===SORRY!=== | 08:08 | |
Missing or wrong version of dependency 'p6capturelex' (from 'lib/Shell/Command.pm') | |||
t/02-shell-command.t .. | |||
:-( | |||
[Tux]: did you start with a fresh panda clone ? | 08:11 | ||
08:12
bjz joined
08:13
darutoko joined
|
|||
masak | pmichaud: I'm not so sure that core ops "had to spill into Latin-1"... I took it more as it's safe enough to assume Latin-1, so it's like an only slightly extended ASCII. | 08:15 | |
that reminds me, I should familiarize myself more with Latin-1, to see what can be turned into custom operators ;) | 08:16 | ||
lizmat | jnthn: t/02-shell-command.t (Wstat: 11 Tests: 0 Failed: 0) | ||
Non-zero wait status: 11 | |||
08:16
cschwenz joined
|
|||
lizmat | that means we had a segfaiult, right ? | 08:16 | |
08:16
bjz left
|
|||
[Tux] | lizmat, I started with rm -rf moar-nom/ git_reference/ | 08:18 | |
rakudobrew build moar ; rakudobrew build-panda | 08:19 | ||
08:19
espadrine joined
|
|||
[Tux] | as panda didn't work in jvm at all, I abandoned that experiment for a while | 08:19 | |
08:20
dakkar joined
08:21
bjz joined
08:26
bjz left
|
|||
lizmat | of course, if I manually run the tests in Shell::Command, everything is hunky dory :-( | 08:27 | |
08:27
Ven_ joined
|
|||
masak | lizmat: did you run the tests with TEST_JOBS ? | 08:30 | |
lizmat | hmmm... good point | ||
yes | |||
08:31
cschwenz left
08:32
andreoss joined
08:33
uncleyear joined
|
|||
lizmat | running without TEST_JOBS doesn't make a difference | 08:33 | |
masak | but harness/no harness does? | 08:34 | |
timotimo | harness is as harness does | 08:37 | |
lizmat | I need to be afk for a few hours | ||
I just pushed github.com/tadzik/panda/commit/06f...40efbca0bb | 08:38 | ||
afk for ~ 2 hours | 08:39 | ||
& | |||
jnthn | lizmat: Yes, 11 tends to mean SEGV | ||
08:46
konsolebox joined
08:50
bjz joined
|
|||
quester | [Tux] and lizmat: I've been having panda problems too. I tried not installing anything, just copying the .pm files for panda itself to install/share/perl6/site/lib, then using panda look to get... | 08:50 | |
08:50
cschwenz joined
|
|||
[ptc] | hrm, sometimes 'Malformed UTF-8' is a bit confusing when actually the file doesn't exist... | 08:51 | |
quester | ... the modules I needed (Inline::Perl5 for example) and sticking their .pm's into the same directory. It worked, modulo fixing $path in Inline/Perl5.pm. I'm inclined to think the majority of what looks... | 08:52 | |
timotimo | yes, that's a bad error for that, [ptc] | ||
quester | ... like panda breakage is a side effect of problems that Rakudo is having with mbc (*.moarvm) files, rather than problems inside of panda itself. FWIW... but that's how it looks from here. | 08:53 | |
[ptc] | timotimo: was only commenting about it; not annoyed or anything | ||
timotimo: it's just tripped me up more than once | |||
timotimo | yes. i ought to look into that | 08:54 | |
RabidGravy | I had a quick look a couple of weeks ago, it's something to do with the Perl filename getting appended to the output of perror() or something similar | 08:55 | |
I can't remember who else tracked it down but I think they RTd | 08:56 | ||
jnthn | [ptc]: That one got fixed some days ago... | 08:58 | |
airport & | |||
quester wishes #perl6 a pleasant * | 09:00 | ||
[ptc] | jnthn: thanks | ||
[ptc] needs to rebuild his Rakudo | |||
09:01
quester left
09:02
risou is now known as risou_awy
09:03
risou_awy is now known as risou,
risou is now known as risou_awy,
risou_awy is now known as risou,
risou is now known as risou_awy
09:04
risou_awy is now known as risou
09:10
quester joined,
quester left,
dustinm` left
09:13
Isp-sec left
|
|||
masak | m: role pleasant {}; say pleasant ~~ * | 09:15 | |
camelia | rakudo-moar a8326d: OUTPUT«WhateverCode.new» | ||
masak | oh, that produces a whatevercode these days? | 09:16 | |
m: role pleasant {}; say (pleasant ~~ *)(pleasant) | |||
camelia | rakudo-moar a8326d: OUTPUT«True» | ||
masak | m: role pleasant {}; role Tuesday does pleasant {}; say (Tuesday ~~ *)(pleasant) | 09:17 | |
camelia | rakudo-moar a8326d: OUTPUT«True» | ||
masak | m: role pleasant {}; role Tuesday { also does pleasant }; say (Tuesday ~~ *)(pleasant) | ||
camelia | rakudo-moar a8326d: OUTPUT«True» | ||
dalek | pan style="color: #395be5">perl6-examples: c6342ff | paultcochrane++ | categories/wsg/beginner-2008/event001-eric256.pl: [wsg] make output consistent for all beginner 2008 event001 problems |
09:19 | |
perl6-examples: fb21ef0 | paultcochrane++ | categories/wsg/beginner-2008/event003-unobe.pl: | |||
perl6-examples: [wsg] only match txt files for the given event | |||
09:19
dalek left,
dalek joined,
ChanServ sets mode: +v dalek,
brrt left
09:21
rindolf joined
09:23
konsolebox left
09:39
sue_ left
09:44
yeahnoob left,
cschwenz left
09:52
dustinm` joined
10:00
sue_ joined
10:03
dustinm` left
|
|||
RabidGravy | I'm having a senior moment, is there a more succinct way of doing: | 10:05 | |
for %foos{0,1} -> $v { | |||
for $v.kv -> $key, $value { | |||
%dist{$key} = $value; | |||
} | |||
} | |||
i.e. flatten a HoH | 10:06 | ||
masak | m: my %h = 0 => { x => 1, y => 2 }, 1 => { z => 3 }; say %h>>.values.perl | 10:07 | |
camelia | rakudo-moar a8326d: OUTPUT«{"0" => 1, "1" => 3}<>» | ||
masak | m: my %h = 0 => { x => 1, y => 2 }, 1 => { z => 3 }; say %h.values.perl | ||
camelia | rakudo-moar a8326d: OUTPUT«({:z(3)}, {:x(1), :y(2)})» | ||
masak | m: my %h = 0 => { x => 1, y => 2 }, 1 => { z => 3 }; say %h.values>>.pairs.perl | 10:08 | |
camelia | rakudo-moar a8326d: OUTPUT«((:z(3),), (:x(1), :y(2)))» | ||
masak | m: my %h = 0 => { x => 1, y => 2 }, 1 => { z => 3 }; say %h.values>>.pairs.flat.perl | ||
camelia | rakudo-moar a8326d: OUTPUT«(:z(3), :x(1), :y(2))» | ||
masak | m: my %h = 0 => { x => 1, y => 2 }, 1 => { z => 3 }; say (hash %h.values>>.pairs.flat).perl | ||
camelia | rakudo-moar a8326d: OUTPUT«{:x(1), :y(2), :z(3)}<>» | ||
masak | you even got a diamond <> at the end, for free :P | 10:09 | |
RabidGravy | good old hyper, cheers | 10:10 | |
masak | hyper is like a very short for loop | 10:11 | |
(with no guarantees about temporal sequencing; so actually more like a "parallel" for loop) | |||
[Tux] | thanks to whoever made the final fix: panda is back in business again | 10:13 | |
RabidGravy | yeah, it just hasn't stuck in my inner pattern book yet | 10:14 | |
10:14
Ven_ left,
Ven_ joined
10:15
Ven_ left
10:16
dustinm` joined
|
|||
lizmat | [Tux]: does Inline::Perl5 work ??? | 10:18 | |
[Tux] | not yet :( | ||
lizmat | ah, ok | 10:19 | |
[Tux] | its tests pass, and install with panda, but still unable to *use* it | ||
lizmat | yeah, that's the state I brought it back to | 10:21 | |
10:22
dayangkun left
10:35
mr-foobar left
10:43
_mg_ left
10:45
andreoss` joined
10:48
andreoss left
|
|||
lizmat | hmmm.... %!dists.keys.first( *.IO.w ) that doesn't feel right | 10:51 | |
10:52
uncleyear left
10:54
uncleyear joined,
Ven_ joined
10:57
mr-foobar joined
10:58
muraiki joined
11:04
dustinm` left
|
|||
RabidGravy | what's the score with adding a test for something that you are changing in core? make it todo until the change gets merged or just leave it failing as a reminder to do the merge? | 11:18 | |
lizmat | mark it todo | ||
there's great fun in removing todo fudges :-) | |||
11:20
dustinm` joined
11:26
cognominal joined
|
|||
arnsholt | Definitely TODO | 11:26 | |
11:26
_mg_ joined
|
|||
arnsholt | Failing tests being "normal" is something you really want to avoid | 11:26 | |
11:29
brrt joined
11:30
Ulti left
11:31
mr-foobar left
11:36
dustinm` left,
_mg_ left
11:39
dustinm` joined
11:42
fhelmberger left
11:44
rurban joined
|
|||
dalek | ast: 4b6a5d1 | (Jonathan Stowe)++ | S17-channel/earliest.t: Add test for pending PR #421 against rakudo |
11:45 | |
11:46
kurahaupo joined
|
|||
dalek | kudo/nom: 262e08f | (Jonathan Stowe)++ | src/core/asyncops.pm: handle "earliest @c { more $c1 { .. } more * { } } if there are any remaining channels without specific handlers |
11:53 | |
kudo/nom: 34c15da | lizmat++ | src/core/asyncops.pm: Merge pull request #421 from jonathanstowe/nom handle "earliest @c { more $c1 { .. } more * { } } |
|||
11:55
H2O1 joined,
H2O1 left
|
|||
lizmat | t/spec/S17-channel/earliest.rakudo.moar (Wstat: 0 Tests: 7 Failed: 0) | 11:59 | |
TODO passed: 7 | |||
RabidGravy: ^^ | |||
RabidGravy | goovy, I'll unfundge the test then ;-) | 12:00 | |
lizmat | has $.a will fetch { lazy init code } # TimToady: better name for will lazy ? matched Proxy's FETCH logic | 12:01 | |
RabidGravy++ | |||
12:02
Akagi201_ left
|
|||
RabidGravy | ooh that's nice, can't have too many slack attributes | 12:03 | |
12:07
telex left
12:08
telex joined
|
|||
dalek | ast: 0bd6333 | (Jonathan Stowe)++ | S17-channel/earliest.t: Unfudge test for wildcard earliest handlers (34c15da) |
12:09 | |
12:14
ggoebel joined
12:16
airdisa joined
|
|||
RabidGravy | right that's one thing off the yak stack | 12:16 | |
dalek | kudo-star-daily: e966e82 | coke++ | log/ (2 files): today (automated commit) |
12:17 | |
kudo/nom: 66b713d | lizmat++ | / (2 files): Make $?FILE absolute always Relative paths are useless when debugging problems with module loading. |
12:19 | ||
tadzik | REWARD: Module that enables 'will procrastinate { }' instead/in addition to 'will lazy { }' | ||
RabidGravy | :) | 12:22 | |
it creates a proxy that under the hood has a promise that will be kept with the value at some point in the future when it can get round to it? | 12:24 | ||
12:25
konsolebox joined,
konsolebox left
|
|||
RabidGravy | after, y'now it has indexed its collection of MacGuyver episodes by which tool on the swiss army is used | 12:25 | |
tadzik | not sure if it's exactly a Promise, or just a block that'll get called the first time you access it, but yeah | ||
may help me with Panda actually, and the fact that it requires network access for offline things in a few places, because of how Panda::Ecosystem is initialized | |||
brrt | what does the 'will' thing do? | 12:29 | |
RabidGravy | isn't it just another way of introducing a trait on a thingy? | 12:31 | |
tadzik | it is, but how is it different? :) | 12:32 | |
dalek | line-Perl5: 438d023 | lizmat++ | lib/Inline/Perl5.pm6: Add failsafe for finding the p5helper |
||
lizmat | m: my $a will leave { say "goodbye" } = 42; say $a | 12:33 | |
camelia | rakudo-moar 34c15d: OUTPUT«42goodbye» | ||
RabidGravy | it gets passed a block of code | ||
lizmat | m: my $a will leave { say "goodbye to $_" } = 42; say $a++ | ||
camelia | rakudo-moar 34c15d: OUTPUT«42goodbye to 43» | ||
tadzik | nah, it gets a 'lazy { }' | ||
searching suspections for 'will' is quite a task :) | 12:34 | ||
speculations* | |||
12:36
kurahaupo left
|
|||
lizmat | deep sigh Cannot locate native library '/Users/liz/Github/panda/.panda-work/1430829325_4/lib/Inline/p5helper.dylib' | 12:37 | |
[Tux] | did did did you fix it? | 12:38 | |
lizmat | no | 12:39 | |
[Tux] | :( | ||
RabidGravy | m: multi sub trait_mod:<will>(Variable $a, $block, :$wibble) { $block() }; my $v will wibble { say "wibble"}; | ||
camelia | rakudo-moar 34c15d: OUTPUT«wibble» | ||
[Tux] running a perl5 core bisect on a box that take more than 5 *minutes* to just build | |||
lizmat | RabidGravy: might want to add a ! after $wibble | ||
RabidGravy | :-) | 12:40 | |
lizmat | I guess precomped files remember where they were made :-( | ||
12:41
dustinm` left
12:46
rararara left,
dustinm` joined
12:52
pecastro_ is now known as pecastro
13:00
molecules joined,
molecules is now known as Guest61737
|
|||
Guest61737 | I just wanted to say thank you to everyone for all of your current and past work on Perl6, Rakudo, MoarVM, Parrot, and Pugs. Perl6 is awesome. I am enjoying using it very much. | 13:04 | |
13:04
Guest61737 left
|
|||
muraiki | yay :D | 13:09 | |
dalek | line-Perl5: f6e2993 | lizmat++ | lib/Inline/Perl5.pm6: Add a better failsafe for finding p5helper |
13:10 | |
RabidGravy | happy camper | 13:11 | |
note to self: when C says "const char *" you want explictly-manage | 13:12 | ||
lizmat | [Tux]: with this last Inline::Perl5 patch, it likes panda again | 13:15 | |
[Tux] rebuilds | 13:16 | ||
RabidGravy updates Log::Syslog::Native so that ident works properly | 13:19 | ||
lizmat | which ident? | ||
RabidGravy | the "ident" that gets passed to openlog() | 13:20 | |
I hadn't realised about the explicitly-manage thing | |||
:-) | |||
lizmat | .tell FROGGS CURLI is now effectively disabled as an installation method because @*INC only contains Str, which !.can('install') | 13:23 | |
yoleaux | lizmat: I'll pass your message to FROGGS. | ||
FROGGS | :/ | ||
yoleaux | 30 Apr 2015 14:07Z <hoelzro> FROGGS: thanks for the tip, that worked! | ||
30 Apr 2015 15:43Z <hoelzro> FROGGS: for the %?RESOURCE<lib/liblinenoise.so> suggestion, will %?RESOURCE contain Str values, or perhaps IO::Path ones? | |||
2 May 2015 12:45Z <lizmat> FROGGS: is there a reason we add $home/.perl6/$ver/lib as a CURLF *and* as a CURLI ? | |||
2 May 2015 12:46Z <lizmat> FROGGS: feels to me like adding it as a CURLI would be sufficient ? You don't usually use such a dir for development ? | |||
2 May 2015 20:16Z <lizmat> FROGGS: re github.com/rakudo/rakudo/commit/d2...1bf4e8fea, shouldn't it be the responsibility of panda to create a directory in which to install? | |||
13:23
carlin joined
|
|||
yoleaux | 13:23Z <lizmat> FROGGS: CURLI is now effectively disabled as an installation method because @*INC only contains Str, which !.can('install') | 13:23 | |
FROGGS | uff | ||
lizmat | yeah | 13:24 | |
I've been banging my head on this for the better part of a day now | 13:25 | ||
and am about to either revert all the speed gain patches, or reimplement panda from scratch | |||
FROGGS | reimplement panda from scratch? | ||
to solve a single issue? | |||
lizmat | a single issue that breaks the whole ecosystem | 13:26 | |
FROGGS | but that is not panda's fault | ||
if we cannot get our hands on a CUR anymore, then we have to solve that issue | |||
lizmat | well, it's messing with PERL6LIB, @*INC willy nilly | ||
well, the other option is to first actually write tests for CURLI | 13:27 | ||
FROGGS | it has to mess with at least one of them | ||
it need to prepend a CUR somehow | |||
needs* | |||
lizmat | why would it need to prepend? | 13:28 | |
13:28
konsolebox joined
|
|||
FROGGS | to but the build directory at front IIRC | 13:28 | |
put* | |||
ahh no, it does something else | 13:29 | ||
I am distracted right now | |||
lizmat | ok | ||
that's ok :-) | |||
13:29
Akagi201 joined
|
|||
lizmat | I will be on the road most of the coming 2 days | 13:29 | |
and I've given up on solving this today | 13:30 | ||
FROGGS | but before we do changes to panda we need to understand how the CUR/@*INC stuff is supposed to work | ||
[Tux] | $ datecalc 19871218 20150505 | ||
Day 1: 18-12-1987 Friday | |||
Day 2: 05-05-2015 Tuesday | |||
Diff : 18-04-0027 10000 days (27 y, 4 m, 17 d) | |||
perl5 is 10000 days old today | |||
cheerio | |||
FROGGS | :o) | 13:31 | |
nice | |||
Juerd | And how old is Perl 6 today? :) | ||
lizmat | [Tux]: I must correct you: "Perl" is now 10000 days old ! | 13:34 | |
:-) | |||
[Tux] | ah, yes | ||
almost there (test/time) ... | 13:35 | ||
tux.nl/Files/20150505153603.png <= current timing | 13:36 | ||
and yes, Inline::Perl5 works again | |||
FROGGS | jnthn: nqp::scdisclaim($sc) works for simple things, but when I push to a just deserialized array I cannot serialize it again :/ | ||
13:42
andreoss` left,
Ven_ left
|
|||
lizmat | nqp::bindhllsym('perl6', 'ModuleLoader', DepTracker) # /me starts to silently scream | 13:43 | |
nine knows what I'm talking about | |||
FROGGS | what's wrong? | 13:45 | |
cognominal | it seems that Perl 6 major releases have followed kind an exponential time trend for delivery, so maybe Perl 6 will be early in that view frame. | 13:46 | |
dalek | c: b54a5b4 | (Jonathan Stowe)++ | lib/Language/nativecall.pod: mention explicitly-manage for const char * arguments |
||
c: 5adbaaf | (Jonathan Stowe)++ | / (4 files): Merge branch 'master' of github.com:perl6/doc |
|||
lizmat | FROGGS: it's completely unclear which code is responsible for module loading at what time | ||
FROGGS | lizmat: no, it is quite simple | 13:47 | |
RabidGravy | just so I don't forget again | ||
FROGGS | lizmat: at the end of the setting, we register CompUnitRepo to be the one, so there is just one switch | ||
lizmat | FROGGS: please elaborate, as nine and I have been spending a few hours on that at the PQAH | 13:48 | |
13:48
airdisa left
|
|||
FROGGS | lizmat: and the line you pasted is only used when you use the Panda::DepTracker module, and you don't do that on your own | 13:48 | |
lizmat | unless we run panda DepTracker, and it installs a different one ? | ||
sorry, that's just too many cases of action at a distance to me :-( | 13:49 | ||
FROGGS | lizmat: that only happens when we shell out to do dependency and symbol tests (panda gen-meta .) | ||
lizmat: there is no distance | |||
dalek | kudo/nom: 0ad4607 | lizmat++ | src/core/Distribution.pm: Remove CompUnitRepo::Distribution panda apparently has migrated |
13:50 | |
lizmat | RabidGravy: I've just had earliest test 7 flap :-( | 13:51 | |
dalek | ast: f60e7f9 | lizmat++ | S02-types/WHICH.t: CompUnitRepo::Distribution is no more |
13:52 | |
FROGGS | jnthn: I can unshift to my deserialized array just fine, but cannot push?! O.o | 13:53 | |
13:53
tinyblak left
|
|||
lizmat | afk& | 13:54 | |
RabidGravy | lizmat, was the "got" completely empty or partially so? | ||
13:54
tinyblak joined
|
|||
lizmat | # expected: '1 2 3 4 5 done_a' | 13:55 | |
# got: '1 2 3 4' | |||
really afk& | |||
actually, that was a flapping 6 | 13:56 | ||
# expected: '6 7 8 9 10 done_b' | |||
# got: '6 7 8 9' | |||
was a flapping 7 | 13:57 | ||
really really afk& | |||
13:57
dustinm` left
|
|||
RabidGravy | need to up the number of loops in the test or think of some other way of breaking out if it doesn't look like it's going to work | 13:58 | |
timotimo | FROGGS: perhaps there's a SCWB missing? | ||
13:58
skids joined,
tinyblak left
|
|||
timotimo | actually .. could you try with spesh disabled? or do you think spesh isn't kicking in this early to hit your code? | 13:58 | |
FROGGS | timotimo: hmmm, how do I check that? | ||
there is not a single loop, so there can't be anything hot | 13:59 | ||
timotimo | good question | ||
FROGGS | but I'll check with spesh disabled | ||
timotimo | the push or unshift methods could be hot, though | ||
RabidGravy | (without the limit the loop will run forever if the new code doesn't work) | ||
FROGGS | timotimo: it is not a spesh issue | 14:00 | |
jnthn waves from Trondheim | |||
timotimo | OK | ||
hey jnthn! :) | |||
FROGGS | hi jnthn :o) | ||
jnthn | .oO( A city not famous for being an anagram of "im hot nerd" ) |
||
RabidGravy | how are the parrots? | ||
jnthn | They...have parrots in Trondheim? :) | ||
jnthn is very glad to be here in nice weather | 14:01 | ||
And at a time of year when there's more than a few hours of daylight :) | |||
14:02
Sqirrel joined
14:03
mr-foobar joined,
airdisa joined
14:06
dustinm` joined
14:08
Rounin left
|
|||
dalek | ast: fca774d | (Jonathan Stowe)++ | S17-channel/earliest.t: Only break the loop if the * produced no action |
14:12 | |
ast: e252944 | (Jonathan Stowe)++ | S02-types/WHICH.t: Merge branch 'master' of github.com:perl6/roast |
|||
RabidGravy | there that should rid the flappiness | 14:13 | |
timotimo | that loop didn't last long | ||
14:14
tinyblak joined
14:15
thou joined
14:16
owlsley_ left
|
|||
dalek | Heuristic branch merge: pushed 67 commits to rakudo/jsoff by FROGGS | 14:21 | |
14:26
Ven_ joined
14:29
andreoss joined
|
|||
andreoss | is there a submethod which to be called after .new? | 14:30 | |
POSTCONSTRUCTOR or something | |||
tadzik | you can use BUILD if you really want to | 14:31 | |
timotimo | you can leave your types behind | ||
tadzik | it's a bit of a PITA though | ||
timotimo | 'cus those types don't compose and if they don't compose well they're no types of mine | ||
tadzik | but my friends don't BUILD and since they don't BUILD then BUILD is no friend of mine | 14:32 | |
timotimo | that's way better | ||
tadzik | panda does that: github.com/tadzik/panda/blob/maste...tem.pm#L23 | ||
jnthn | andreoss: No, though some folks do method BUILDALL(|) { callsame; ...stuff here... } | 14:33 | |
tadzik | seems like the problem needs a common, reusable solution | ||
perhaps as a module | |||
REWARD: ^ | |||
PerlJam | tadzik: what's "the problem"? | 14:34 | |
tadzik | PerlJam: doing stuff post object initialization | ||
"I want to do stuff after all is ready and setup" | |||
all the solutions we have are ugly and error prone | |||
or just unnecesserily complicated | 14:35 | ||
imho | |||
skids | Well, the attribute initializer abuse is ugly, but not sure if it is especially error prone. | ||
tadzik | I once had a rakudo patch adding an automated call to method AFTERPARTY | ||
PerlJam | yeah, too many traps to fall into for something so simple | ||
tadzik | Perl 6 takes away Moose's BUILD mechanics, not giving much in return | 14:36 | |
although I'm not sure if Moose's BUILD mechanics are not just universally abused :) | |||
skids | So, A module that could make a private attribute and use the initializer and hide the attribute could sweep the ugly under the rug. | 14:37 | |
And that would give us a playground for deciding what things should look like. | 14:38 | ||
14:55
molaf joined,
Akagi201_ joined
|
|||
raydiak | if we did it that way, is there anything else which would should this hiccup? | 14:56 | |
m: class C { has $.foo = "foo"; has $!bar = say $.foo }; C.new | |||
camelia | rakudo-moar 0ad460: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IXLC6wL89JVirtual call $.foo may not be used on partially constructed objectsat /tmp/IXLC6wL89J:1------> 3has $.foo = "foo"; has $!bar = say $.foo7⏏5 }; C.new expecting any of: ar…» | ||
timotimo | you can just use $!foo there, can't you? | 14:58 | |
on the RHS fo the = i mean | |||
14:58
owlsley joined
14:59
rurban left
|
|||
[Tux] | OHHH NOOOOES! my /tmp is filled with files named 20248-p5helper.so | 14:59 | |
14:59
Akagi201 left
|
|||
raydiak | timotimo: yes but I'm wondering what else you can't do with partially-constructed objects | 14:59 | |
I'd rather be able to say "okey the object is fully constructed, now do something" | 15:00 | ||
cognominal | french parlement just voted massive surveillance fast tracked law with almost no oversight mechanisms :( | ||
skids | What mechanism declares the object "fully constructed" | ||
? | |||
RabidGravy | doesn't the "lazy" thing sort that? Inasmuch as you could postpone the initialisation of $!bar until is actually needed? | 15:01 | |
raydiak | skids: I'm guessing it's "partially constructed" until it returns from .bless | ||
jnthn | Note the analysis in question here is actually semantic checks in the compiler | 15:02 | |
raydiak | RabidGravy: yes but that misses the point of using it to prop up build semantics | ||
15:06
owlsley left
|
|||
raydiak | jnthn: are there other things which won't work on partially-constructed objects? | 15:06 | |
skids | The initializer could just add closures to a list of things to run, if a single entry point for running that list post-fully-constructed could be got. | 15:07 | |
15:07
molaf_ joined
|
|||
raydiak | I'd be pretty happy with BUILD if declaring it didn't mess with attribute defaults (and more happy if it were composable) | 15:08 | |
jnthn | raydiak: submethods iirc have the partial invocant also | ||
15:08
brrt left
15:10
molaf left
|
|||
raydiak | m: class C { submethod foo { say "foo" }; has $!bar = self.foo }; C.new # looks like those work | 15:10 | |
camelia | rakudo-moar 0ad460: OUTPUT«foo» | ||
raydiak | why don't we allow $.foo on partially-constructed objects anyway, when we allow self.foo and $!foo? | 15:13 | |
15:14
domidumont left
|
|||
jnthn | raydiak: $!foo is safe because you're talking about the current class | 15:15 | |
raydiak: $.foo could be overridden and be referring to something not yet initialized, 'cus it goes top down | 15:16 | ||
And self.foo is just an escape mechanism | |||
15:16
airdisa left
15:18
abraxxa left
|
|||
raydiak | jnthn: it's the "self.foo but not $.foo" that really confuses me...escape mechanism? am I supposed to know to be careful of something non-obvious when I write "self.foo" in an initializer? it doesn't look very scary. | 15:18 | |
15:19
airdisa joined
|
|||
jnthn | raydiak: Well, most poeple use $.foo for the things they think of as state-y, and those are the ones that are the main risk. | 15:19 | |
15:19
chenryn joined
|
|||
raydiak | hm, I see | 15:20 | |
raydiak has no consistent conventions between self. and $. and $! (unless it's a hot path, then I always use $! if it's in scope) | |||
15:20
cygx joined
|
|||
cygx | o/ | 15:21 | |
m: my $n = 42; / a ** $n / | |||
camelia | rakudo-moar 0ad460: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FgHr3eg4uQQuantifier quantifies nothingat /tmp/FgHr3eg4uQ:1------> 3my $n = 42; / a **7⏏5 $n /» | ||
cygx | ^ any workaround for that? | ||
(besides writing a recursive rule) | |||
moritz | a ** {$n} iirc | 15:22 | |
m: my $n = 42; say 'a' x 50 ~~ / a ** {$n} / | |||
camelia | rakudo-moar 0ad460: OUTPUT«「aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa」» | ||
cygx | \o/ | 15:23 | |
moritz | m: my $n = 42; say ('a' x 50 ~~ / a ** {$n} /).Str.chars | ||
camelia | rakudo-moar 0ad460: OUTPUT«42» | ||
jnthn | std: my $n = 42; / a ** $n / | 15:25 | |
camelia | std 28329a7: OUTPUT«Potential difficulties: Unsupported use of atom ** $n as separator; nowadays please use atom +% $n at /tmp/VRqSF9wPoK line 1:------> 3my $n = 42; / a ** $n 7⏏5/ok 00:00 138m» | ||
jnthn | hah | ||
STD-- # that error tells you a second thing thta won't work :P | |||
cygx | my current approach to prototyping my own programming language: use Perl6 grammars, generate C code and JIT compile via TinyCC | 15:31 | |
cf github.com/cygx/p6-tinycc | |||
so far, seems to work out just fine | |||
15:32
cdc left
|
|||
nebuchadnezzar | erf, evalbot password in git? | 15:32 | |
moritz | nebuchadnezzar: just don't tell anybody :-) | 15:33 | |
jnthn | I can't believe you picked "secret"! | 15:34 | |
raydiak | oh cool... cygx++ :) | ||
moritz | right, the password isn't really secret :-) | ||
15:34
zakharyas left
|
|||
masak | $ time perl6 -ne '.say if /^.x/ && /n.$/' /usr/share/dict/words | 15:35 | |
takes 20 seconds here. | 15:36 | ||
corresponding Perl 5 script takes 0.025 seconds. | |||
ugexe | lizmat: CompUnitRepo::Local::Installation.install still uses the removed CompUnitRepo::Distribution | 15:38 | |
skids has run into that pain point too. | |||
15:38
diana_olhovik_ left
|
|||
skids | (masak's pain point) | 15:38 | |
RabidGravy | also uses a fair amount of memory, is that because it slurps the whole file and then splits it into the lines in one go? | 15:41 | |
masak | skids: in this case it's fine. those 20 seconds are an acceptable pain. but mostly because the use is a bit frivolous. | ||
skids: I'm surprised the difference is as much as that -- three orders of magnitude. | 15:42 | ||
but also a little grateful it isn't worse ;) | |||
colomon backed out yesterday’s changes to emmentaler, and smoke is back to 76 additional modules failing (vs two weeks ago) instead of 98% of them failing. | |||
cygx | is the GLR supposed to improve performance of the grammar engine as well, and if not, what would? | 15:43 | |
moritz | I don't think GLR will change grammar perf much | 15:44 | |
jnthn | I suspect the GLR will help a good with with the -ne one | ||
Don't see how it'll affect the grammar engine, though maybe match object access will improve a bit. | |||
Well, may improve a bit. | |||
nwc10 | jnthn: you're now in Oslo? | 15:46 | |
timotimo | masak: i don't think we anchor regexes that end at $ properly yet | ||
masak: fwiw, could you try ^^ and $$, too? | |||
jnthn | nwc10: Nah, Trondheim | ||
nwc10: Oslo on Friday | |||
masak | timotimo: sure thing. | 15:47 | |
timotimo | axiomatizing | ||
masak | timotimo: 20.2 seconds | ||
timotimo | how does it change if you use a single regex, but .* in between? | ||
masak | 13.6 seconds. | 15:48 | |
timotimo | interesting; is the overhead to calling a regex that big? | ||
masak | which I guess shows that a bunch of overhead goes to that second regex. | ||
timotimo | on my machine, that script takes 1m39s :( | ||
4.8M is the size of my words file | 15:49 | ||
479828 lines | |||
masak | timotimo: oh, mine is only 917K | 15:50 | |
and there were two levels of linkdirection and it was really named /usr/share/dict/american-english | |||
timotimo | right; i have linux.words | ||
masak | <insert joke about US English vocab here> | 15:51 | |
timotimo | "english traditional" vs "english simplified", right? :) | ||
masak | 哈哈 | 15:52 | |
timotimo | well, we allocate 13.435.249 scalars in match (m-CORE.setting:7791) and another 5.758.012 in reify + 3.838.677 in gimme + another 2.878.980 in reify | 15:53 | |
and another 2.875.319 in an anonymous inner block inside gimme | |||
but the time spent garbage collecting is only 15%, so that's not the main problem | 15:54 | ||
oh wow | |||
dalek | kudo/nom: bf8aaa1 | lizmat++ | src/core/Distribution.pm: CURLI needs CompUnitRepo::Distribution, ugexe++ |
||
timotimo | match (in src/gen/m-CORE.setting:7791) deopts locally 959.357 times | ||
that's quite amazing, given it's entered 959.661 times | 15:55 | ||
15:58
Ven_ left
|
|||
timotimo | so basically the match routine, which takes 15% exclusive time (and 64% inclusive time) runs "pretty much unspesh'd" | 15:59 | |
but it doesn't say what deopt point gets hit | |||
15:59
airdisa left
16:03
TimToady left
16:09
gfldex joined
16:10
konsolebox left
16:13
konsolebox joined
|
|||
RabidGravy | ooh so travis-ci has a weird filesystem that breaks Linux::Fuser | 16:15 | |
cool | |||
ugexe | i think someone asked recently, but is there a way/phaser for a role to know when its being composed into something? | 16:18 | |
PerlJam | ugexe: S04:1376 | 16:21 | |
synbot6 | Link: design.perl6.org/S04.html#line_1376 | ||
16:21
diana_olhovik joined
|
|||
PerlJam | ugexe: dunno if it's implemented or not though. | 16:21 | |
ugexe | i thought that was for use in the object being composed into | 16:22 | |
PerlJam | Hmm. | 16:23 | |
I've always thought of it as "fire at compose-time" whether from a class or a role. | |||
dalek | c: a61a7d2 | (Jonathan Stowe)++ | lib/Type/Metamodel/RoleContainer.pod: s/add_role/roles_to_compose/ in the right place |
||
RabidGravy | ugexe, dunno but I did find that as a consequence of you asking ;-) | 16:24 | |
ugexe | ive been playing with dependency injection so my expectation of compose time is probably skewed | ||
[Coke] | labster++ # my boss, who isn't a perl guy but knows I work on perl stuff, said, "I just read this article about perl, python, and php..." | 16:25 | |
PerlJam | [Coke]: Did your boss form any kind of opinion or conclusion from what he read? | 16:26 | |
16:27
Sqirrel left
|
|||
RabidGravy | m: role F { COMPOSE { say "oooo" } }; class A does F {}; # NYI it seems | 16:28 | |
camelia | ( no output ) | ||
lizmat | COMPOSE is NYI indeed | ||
I was looking at it the other day, but it was too far out of my comfort zone | 16:29 | ||
raydiak | if it's a trait by chance, doesn't .compose() gets called if it exists? | 16:30 | |
16:31
lolisa joined
16:32
camelia left
|
|||
RabidGravy | Dunno if anyone is interested in X::Panda gobbling blocks on jvm? travis-ci.org/jonathanstowe/p6-Lin...s/61327914 | 16:32 | |
[Coke] | PerlJam: no clue. I mentioned I "knew" the author, talked about the python/php agita it got feedback on, that was it. | ||
16:33
camelia joined
16:34
ChanServ sets mode: +v camelia,
Foxcool_ joined
|
|||
timotimo | RabidGravy: i think that comes from the type not being found :( | 16:35 | |
m: when X::Panda | |||
camelia | rakudo-moar bf8aaa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qejF2lxRuTMissing blockat /tmp/qejF2lxRuT:1------> 3when X::Panda7⏏5<EOL> expecting any of: parameterized block» | ||
timotimo | m: when X::Panda { say "test" } | ||
camelia | rakudo-moar bf8aaa: OUTPUT«5===SORRY!5===Function X::Panda needs parens to avoid gobbling blockat /tmp/etb4mVeLnt:1------> 3when X::Panda { say "test" }7⏏5<EOL>Missing block (apparently taken by 'X::Panda')at /tmp/etb4mVeLnt:1------> 3when X::Panda { s…» | ||
timotimo | m: class X::Panda { }; when X::Panda { say "test" } | ||
camelia | ( no output ) | ||
timotimo | the error could mention that, too, IMO. | ||
16:36
Foxcool_ left,
Foxcool left
16:37
Foxcool joined,
hobbs left
16:38
hobbs joined
16:41
vendethiel joined,
espadrine left
|
|||
jnthn | About roles, if you just want to do something when the role is composed into a class, note the code in the role body runs at that point. | 16:46 | |
m: role R { say 'omg composed in ter ' ~ ::?CLASS.^name }; class A does R { }; class B does R { } | |||
camelia | rakudo-moar bf8aaa: OUTPUT«omg composed in ter Aomg composed in ter B» | ||
16:46
cdc joined
16:47
cdc is now known as Guest59586
|
|||
timotimo | oh, that's pretty cool | 16:47 | |
i always forget about being able to put code into class bodies and such | |||
jnthn | Also it runs at BEGIN time so it's a fine time to twiddle the class dynamically too, without running into pre-comp issues. | 16:48 | |
jnthn has a hungry | 16:49 | ||
Time to go eat chili pakoras and stuff | |||
bbl & | |||
16:49
Guest59586 is now known as cdc_
|
|||
PerlJam | Then I guess a COMPOSE phaser really is only useful for the class that the roles are being composed into. | 16:49 | |
timotimo | classes get composed even without roles being involved, though | 16:51 | |
16:57
dakkar left
|
|||
PerlJam | m: role R { say 'omg composed in ter ' ~ ::?CLASS.^name }; my $x = 42; $x does R; | 16:59 | |
camelia | rakudo-moar bf8aaa: OUTPUT«omg composed in ter Int+{R}» | ||
PerlJam | neat | ||
16:59
FROGGS[mobile] joined
17:00
rindolf left,
rindolf joined
17:02
Sqirrel joined
17:04
rindolf left,
rindolf joined
17:06
rindolf left,
rindolf joined
17:11
vendethiel left
17:12
tinyblak left
17:14
vendethiel joined
17:17
kaare__ is now known as kaare_
17:18
cygx left
17:20
chenryn left,
mr-foobar left
|
|||
masak | role closures are a lot like routine closures. mixing a role into something is a lot like calling a routine. | 17:29 | |
vendethiel | nqp: my $a := sub() { say(42) }; say($a.HOW.name($a)) | 17:32 | |
17:32
camelia left
|
|||
vendethiel | oh. | 17:32 | |
sorry, camelia... | |||
17:33
fhelmberger joined,
camelia joined
|
|||
vendethiel | nqp: my $a := sub() { say(42) }; say($a.HOW.name($a)) #was it me? :P | 17:33 | |
17:34
carlin left
|
|||
camelia | ..nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (fasttop): 0x00007f064400a480 ****** Error in `java': double free or corruption (fasttop): 0x00007f064400a5f0 ***## There is insufficient memory for the Java Runtime Environment to continue.# pth…» | 17:34 | |
..nqp-moarvm: OUTPUT«NQPMu» | |||
17:34
ChanServ sets mode: +v camelia
|
|||
camelia | nqp-parrot: OUTPUT«Can't exec "./rakudo-inst/bin/nqp-p": No such file or directory at lib/EvalbotExecuter.pm line 188.exec (./rakudo-inst/bin/nqp-p /tmp/tmpfile) failed: No such file or directoryLost connection to server irc.freenode.org.» | 17:34 | |
..nqp-moarvm: OUTPUT«NQPMu» | |||
..nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (fasttop): 0x00007f444400a290 ****** Error in `java': double free or corruption (fasttop): 0x00007f4444013880 ****** Error in `java': double free or corruption (fasttop): 0x00007f444401d450 ***» | |||
vendethiel | nqp: my $a := sub () { say(42) }; say($a.HOW.name($a)) #was it me? :P | ||
17:34
camelia left,
diana_olhovik left
|
|||
lizmat | .oO( stop swatting the butterflies ! ) |
17:35 | |
masak | vendethiel, internationally wanted camelia-killer. | ||
17:35
camelia joined
17:37
fhelmberger left
|
|||
camelia | nqp-parrot: OUTPUT«Can't exec "./rakudo-inst/bin/nqp-p": No such file or directory at lib/EvalbotExecuter.pm line 188.exec (./rakudo-inst/bin/nqp-p /tmp/tmpfile) failed: No such file or directoryServer error occurred! Closing Link: ns1.niner.name (Client Quit)Lost connectio…» | 17:37 | |
..nqp-jvm: OUTPUT«(signal ABRT)*** Error in `java': double free or corruption (!prev): 0x00007f515001a8c0 ****** Error in `java': double free or corruption (!prev): 0x00007f515001a8c0 ***» | |||
..nqp-moarvm: OUTPUT«BOOTCode» | |||
17:37
ChanServ sets mode: +v camelia
|
|||
vendethiel | ah, so it's true that whitespace between sub and () matters... | 17:37 | |
17:37
fhelmberger joined
17:38
woolfy joined,
fhelmberger left,
woolfy left
17:39
Rounin joined
17:41
domidumont joined
|
|||
masak | m: sub() {} | 17:43 | |
camelia | rakudo-moar bf8aaa: OUTPUT«5===SORRY!5===Word 'sub' interpreted as 'sub()' function call; please use whitespace around the parensat /tmp/IDAoQyBVuk:1------> 3sub7⏏5() {}Unexpected block in infix position (two terms in a row)at /tmp/IDAoQyBVuk:1------> 3s…» | ||
masak | m: sub sub() { say "OH HAI" }; sub() | ||
camelia | rakudo-moar bf8aaa: OUTPUT«OH HAI» | ||
masak hugs Perl 6 | |||
m: sub byte($n) { say $n }; byte(42) | 17:44 | ||
camelia | rakudo-moar bf8aaa: OUTPUT«Cannot invoke this object (REPR: P6int, cs = 0) in block <unit> at /tmp/KLbTDGGfWQ:1» | ||
lizmat | m:sub sub() { say "OH HAI" }; sub # just checking | ||
m: sub sub() { say "OH HAI" }; sub # just checking | |||
camelia | rakudo-moar bf8aaa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6ypr5UnifPMissing blockat /tmp/6ypr5UnifP:1------> 3 { say "OH HAI" }; sub # just checking7⏏5<EOL> expecting any of: new name to be defined» | ||
masak | that one feels fair, somehow. | 17:45 | |
cognominal | masak, or to paraphrase Walter Sobchak "Look at our current situation with that camel f* in #per6" | ||
lizmat | m: sub foo() { say "OH HAI" }; sub.invoke | ||
camelia | rakudo-moar bf8aaa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/R1hdhh9DBiMissing blockat /tmp/R1hdhh9DBi:1------> 3sub foo() { say "OH HAI" }; sub7⏏5.invoke expecting any of: new name to be defined» | ||
lizmat | m: sub sub() { say "OH HAI" }; sub.invoke | ||
camelia | rakudo-moar bf8aaa: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qIAY1PreFkMissing blockat /tmp/qIAY1PreFk:1------> 3sub sub() { say "OH HAI" }; sub7⏏5.invoke expecting any of: new name to be defined» | ||
masak | lizmat: &sub ? | ||
lizmat | m: sub sub() { say "OH HAI" }; &sub.invoke | ||
camelia | rakudo-moar bf8aaa: OUTPUT«Method 'CALL-ME' not found for invocant of class 'Sub' in block <unit> at /tmp/qQmGJoGg6u:1Saw 1 call to deprecated code during execution.Method invoke (from Any) called at: /tmp/qQmGJoGg6u, line 1Deprecated since v2015.3, will be remov…» | ||
lizmat | m: sub sub() { say "OH HAI" }; &sub.CALL-ME | 17:46 | |
camelia | rakudo-moar bf8aaa: OUTPUT«Method 'CALL-ME' not found for invocant of class 'Sub' in block <unit> at /tmp/92sQAvv6be:1» | ||
FROGGS[mobile] | nwc10: so you are not comming since I dont spot you at the preconf dinner? | 17:48 | |
nwc10 | FROGGS[mobile]: no, we *are* coming, on EN 406, which OBB insist is going as far as Dresden. | 17:51 | |
So, we will be arriving around 7 tomorrow morning. | 17:52 | ||
(to Dresden, and no further) | |||
timotimo | nqp-m: say("test") | 17:53 | |
camelia | nqp-moarvm: OUTPUT«test» | ||
timotimo | i think nqp: without -m takes camelia down sometimes :( | ||
jdv79 | what is happening tomorrow? | 17:54 | |
nwc10 | OK, to be pedantically accurate, we'll be going to the station in Vienna in about 2 hours, expecting the train to run. And will be in an L.T.A. mood if it doesn't get us to Dresden as advertised. | ||
jdv79: German Perl Workshop, day 1. | |||
jdv79 | neat | 17:55 | |
FROGGS[mobile] | nwc10: good luck | 17:56 | |
17:56
Rounin left
|
|||
timotimo | yes, good luck indeed | 17:57 | |
FROGGS[mobile] | .oO( Good Lok) |
17:58 | |
timotimo | hehehe | 17:59 | |
masak | oh, it's "Lok" in German too? nice. | 18:05 | |
timotimo | aye | ||
18:08
fhelmberger joined
|
|||
masak | in Russian it means "onion" :) | 18:08 | |
timotimo | i like onions! | 18:12 | |
18:13
tinyblak joined
|
|||
vendethiel | cool! | 18:16 | |
(I meant WRT german perl workshop, hehe) | |||
18:18
tinyblak left
18:19
diana_olhovik_ joined
18:21
japhb left
18:25
fhelmberger left
18:34
japhb joined
18:38
Isp-sec joined
18:40
andreoss left
18:41
mrf left
18:47
yqt joined
18:52
mohij joined
18:59
domidumont left
|
|||
dalek | kudo/nom: 99786d2 | lizmat++ | src/Perl6/Actions.nqp: Remove %?PRAGMAS I hadn't realised that it only makes sense to change pragmas at compile time. Since BEGIN blocks run in the lexical scope of the underlying nqp code, we can simply access %*PRAGMAS there. |
19:01 | |
lizmat | m: use nqp; BEGIN say %*PRAGMAS | ||
camelia | rakudo-moar bf8aaa: OUTPUT«nqp => 1» | ||
dalek | : 4afef20 | usev6++ | misc/rt.perl.org/cleanup_nyc_hackathon_tickets.txt: Merge 3 tickets for '::: NYI' |
19:05 | |
timotimo | jnthn: you were right, the perl6 optimizer doesn't annotate its ops with returns values | ||
lizmat | is that the reason for the reify deopts that you saw? | 19:06 | |
timotimo | don't think so | ||
that was just a random thing that jumped out at me in the code | |||
but perhaps implementing something there (rather: stealing from the nqp optimizer) will make the code gen'd there a little bit better | 19:08 | ||
19:08
telex left
19:10
jack_rabbit joined,
telex joined
19:15
domidumont joined
|
|||
timotimo | oh, didn't i try to make that work and ran into having the wrong "int" to give to .returns()? | 19:15 | |
jnthn | timotimo: Mebbe, but see $!symbols | 19:16 | |
timotimo | surely will :) | ||
jnthn | timotimo: Which'll let you get the right one | ||
timotimo | i think i've been instructed to use that before and something went wrong | ||
i'll just try again and see what happens | |||
i wonder why it'd not be enough to simply have something in there that objprimspec's to the right number | 19:17 | ||
jnthn | mebbe 'cus trial binds in multi dispatch want Perl 6 types | 19:19 | |
timotimo | ah | 19:20 | |
we'll see. stage optimize is already through | |||
19:24
Erendis42d joined
|
|||
Erendis42d | HI | 19:24 | |
masak | Erendis42d: hi! | ||
Erendis42d | ^*^ | ||
masak | Erendis42d: you were here earlier, no? I think I missed you then. | ||
Erendis42d | yeah, i forgot to say hi, mazbe that made me invisible | 19:25 | |
sry | |||
vendethiel saw Erendis42d in the backlog as well | |||
masak | Erendis42d: no prob | ||
timotimo saw Erendis42d, too | |||
Erendis42d | :D | ||
masak | Erendis42d: welcome back! | ||
Erendis42d | ty | ||
masak | Erendis42d: I enjoyed backloggin over you :) | ||
Erendis42d | um | ||
okay, now that's embarrassing | |||
masak | hehe | ||
Erendis42d: ok, switching topics. how may I assist you today? | 19:26 | ||
dalek | kudo/nom: 65cd273 | lizmat++ | src/Perl6/World.nqp: Prefix file# if needed |
||
Erendis42d | i'm not here for assistance | 19:27 | |
you know, just | |||
hangin' around | |||
masak scrabbles around for the image of the upside-down bats | |||
vendethiel wonders why "bats". | |||
Erendis42d | so thats upside up bats actually? | ||
masak | i.huffpost.com/gen/1341373/images/o...cebook.jpg | 19:28 | |
Erendis42d | access denied | ||
19:28
FROGGS[mobile] left
|
|||
masak | I google images'd for "upside-down bats". might work for you too. | 19:29 | |
www.google.com/search?tbm=isch&...-down+bats | |||
Erendis42d | i googled upside up bats | ||
thanks | 19:30 | ||
masak | it's the second image in my search. it kinda looks like they're circling each other in the ring or something. | ||
anyway. just a random association from "hangin' around" | |||
Erendis42d | those look like squirrels | ||
aa | |||
ic | |||
masak | bats and squirrels are not that far from each other in the evo tree. | 19:31 | |
anyway, back to Perl 6... :) | |||
Erendis42d | kk | ||
masak | m: class Greeter { method greet($name) { say "hidey ho, $name!" } }; Greeter.greet("Erendis42d") | 19:32 | |
camelia | rakudo-moar 99786d: OUTPUT«hidey ho, Erendis42d!» | ||
Erendis42d | want me to show you my "hidey-ho"-s? | ||
i have two of them | |||
masak | please do | 19:33 | |
m: sub phrase($t1, $t2) { say "why, those $t1 look like $t2!" }; phrase "upside-down bats", "squirrels" | |||
camelia | rakudo-moar 99786d: OUTPUT«why, those upside-down bats look like squirrels!» | ||
Erendis42d | 8 | ||
timotimo | m: role Greeter[Str $target] { method greet() { say "ohai, $target!" } }; Greeter["Erendis42d"].greet(); | ||
camelia | rakudo-moar 99786d: OUTPUT«ohai, Erendis42d!» | ||
Erendis42d | oh ie, bot | ||
o ie? | 19:34 | ||
nvm | |||
masak | m: role R[$t1, $t2] { method phrase { say "why, those $t1 look like $t2!" } }; R["upside-down bats", "squirrels"].new.phrase | ||
camelia | rakudo-moar 99786d: OUTPUT«why, those upside-down bats look like squirrels!» | ||
Erendis42d | i'm not a proper weaboo | ||
i can't use yes as a greeting | |||
you know, just... this is not how you say hi | |||
hai means fucking yes | |||
masak | trust me, we know :) | 19:35 | |
Erendis42d | i'm wondering how annoyed japs become when they see this | ||
i bet they also know | |||
dalek | c: d1c43b7 | (Jonathan Stowe)++ | lib/Language/concurrency.pod: wrapp up Channel |
||
19:36
Ugator joined
|
|||
huf | probably about as annoyed as random english pedants get about "literally" | 19:36 | |
Erendis42d | still the same old shitty atmosphere | ||
this is why you don't have nice things, you know | |||
timotimo imagines a litter rallye | 19:37 | ||
masak | or a lit e-rally. | 19:38 | |
huf | litter-ally | ||
also known as "sibling" | |||
Erendis42d | how... creative | ||
masak | huf: :P | ||
huf | wait, no. twin. | ||
Ugator | \o #perl6 :-) please see and comment: | 19:39 | |
r.789695.n4.nabble.com/Integrate-R-...06844.html | |||
masak | sounds cool. do carry on :) | 19:41 | |
labster | Good morning, #perl6 🎏 | 19:42 | |
masak | .u 🎏 | ||
yoleaux | U+1F38F CARP STREAMER [So] (🎏) | ||
19:42
uncleyear left,
uncleyear joined
|
|||
jnthn | ...you're kidding, Unicode. :P | 19:42 | |
labster | Today is Kodomo no Hi | ||
masak | wai~! | 19:43 | |
jnthn | oh, streamer, not steamer... | 19:44 | |
19:44
Erendis42d left
|
|||
masak | jnthn: that makes it better how? :P | 19:44 | |
labster | Yeah, there's a whole section of holidays in Unicode, but those holidays were decided by Japan. | ||
jnthn | Well, I was wondering what made kitchen equipment for steaming carp specialized to that kind of fish... :P | ||
masak .oO( whoever carps the most gets the Unicode code points ) :P | 19:45 | ||
RabidGravy | a section on Proc::Async in the concurrency doc: yes/no/meh? | 19:46 | |
masak | when I was young, Unicode was mostly for writing systems. | ||
RabidGravy | when I was young, Unicode was, er., wait ... ;-) | 19:47 | |
labster | [Coke]: I guess if touching other people's holy wars is a good way to get people to talk about Perl 6, it worked out. It was actually fascinating because almost everyone read their own prejudices into my text, which in retrospect was be 100% likely given the topic. | ||
jnthn | It's hard to find 0xEFFFF things to fill your code pages with... | ||
labster | s/be// | 19:48 | |
masak | not for lack of trying | ||
jnthn | RabidGravy: Yeah, we can doc it, though it's known flaky at the moment. | ||
RabidGravy | It'll encourage improvement :) | ||
lizmat | m: use cur <bar>; say @?INC; { use cur <foo>; say @?INC }; say @?INC | 19:51 | |
camelia | rakudo-moar 65cd27: OUTPUT«file#barfile#foo file#barfile#bar» | ||
lizmat | jnthn: ^^^ now if I initialize %*PRAGMAS<INC> with a clone of PROCESS::<@INC>, the lexicalness of @?INC disappears | 19:52 | |
+ %*PRAGMAS<INC> := @INC.clone; | |||
dalek | rl6-roast-data: 3a647b6 | coke++ | / (9 files): today (automated commit) |
||
lizmat | jnthn: am I making a thinko ? | ||
jnthn | lizmat: Did you update how you clone it later? | 19:54 | |
lizmat: 'cus nqp::clone on a Perl 6 array won't be enough. | |||
lizmat | I used P6's .clone | ||
jnthn | OK, then I don't immediately have more guesses | 19:55 | |
lizmat | Ok, I'll muddle on a bit more :-) | ||
jnthn | m: my @a = 1,2,3; @a.clone.push(4); say @a | 19:56 | |
camelia | rakudo-moar 65cd27: OUTPUT«This type does not support elems in block <unit> at /tmp/OVHMR4K3Pq:1» | ||
jnthn | um. | ||
lizmat | m: my @a = 42; @a.clone # golfed | 19:58 | |
camelia | rakudo-moar 65cd27: OUTPUT«Unhandled exception: This type does not support elems at src/gen/m-CORE.setting:10898 (/home/camelia/rakudo-inst-2/share/perl6/runtime/CORE.setting.moarvm:REIFY:34) from src/gen/m-CORE.setting:11416 (/home/camelia/rakudo-inst-2/share/perl6/runtim…» | ||
19:59
rindolf left
20:06
domidumont left
20:10
espadrine joined
|
|||
raydiak | m: my @a = 42; say @a; @a.clone; say 'alive'; | 20:10 | |
camelia | rakudo-moar 65cd27: OUTPUT«42alive» | ||
20:17
muraiki left
|
|||
raydiak | hrm | 20:20 | |
m: my @a = 42; try { @a.clone }; say "alive" | |||
camelia | rakudo-moar 65cd27: OUTPUT«This type does not support elems in block <unit> at /tmp/C1KaQR943R:1» | ||
raydiak | m: my @a = 42; try { @a.clone; CATCH { default {} } }; say "alive" | ||
camelia | rakudo-moar 65cd27: OUTPUT«alive» | ||
lizmat | almost seems the clone is done at BEGIN time before $!items is set ? | ||
tony-o | i've been getting the same error on a Promise.in() | 20:21 | |
raydiak | well what seemed weird to me about that is that it does catch the error, but only if you have an explicit CATCH | ||
seems contrary to "A try block by default has a CATCH block that handles all fatal exceptions by ignoring them." | |||
m: try { die }; say "alive" | 20:22 | ||
camelia | rakudo-moar 65cd27: OUTPUT«alive» | ||
raydiak | m: try { fail }; say "alive" | ||
camelia | rakudo-moar 65cd27: OUTPUT«alive» | ||
lizmat | yeah, those were fixed by jnthn's work on lexical pragmas | 20:23 | |
20:24
hernan605 left
|
|||
dalek | kudo/nom: 1763049 | lizmat++ | src/Perl6/World.nqp: Go native |
20:25 | |
raydiak | fixed? looks broken to me. why does the try catch the .clone exception only when there's an *explicit* CATCH block which does the same thing as the implicit one should? | 20:26 | |
20:26
darutoko left
|
|||
lizmat | because there's something spooky going on there :-) | 20:26 | |
m: try { fail } used to *not* catch the failure | |||
camelia | rakudo-moar 65cd27: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8GrqpGw681Strange text after block (missing semicolon or comma?)at /tmp/8GrqpGw681:1------> 3try { fail }7⏏5 used to *not* catch the failure expecting any of: infix infi…» | ||
raydiak | ah, got it...fixed as in "things are shaken up in there recently" :) | ||
lizmat | that may be true :-) | 20:27 | |
PerlJam | raydiak: your examples make me think that there's really 2 (related) problems. | ||
raydiak | lizmat: anyway, wasn't trying to derail you from the problem you started with, was hoping it was a klew, but guess it's something else | 20:28 | |
PerlJam: yeah I was just thinking along the lines of "the bug has a bug" :) | 20:29 | ||
20:30
][Sno][ joined,
[Sno] left
20:40
konsolebox left
20:41
hobbs left,
integral left,
integral joined,
integral left,
integral joined
|
|||
dalek | pan style="color: #395be5">perl6-examples: 1eda24d | paultcochrane++ | t/categories/wsg/beginner-2008.t: [wsg] add a test for beginner 2008, event010 |
20:43 | |
jnthn | I suspect the sinking of the thing being returned from the try is the issue. Maybe we don't sink hard enough in try yet | 20:45 | |
Though I thought we did. | |||
But yeah, the bug is in Array.clone. | |||
masak | 'night, #perl6 | ||
tony-o | later masak | 20:46 | |
20:47
hobbs joined,
hobbs left,
hobbs joined
|
|||
lizmat | there's only one Mu.clone (apart from in Temporal) | 20:48 | |
good night, masak! | |||
jnthn | lizmat: Ah. Well, I'm pretty sure Array and Hash need their own clone logic to get the right answer. | 20:49 | |
lizmat | well, there doesn't appear to be there one now | 20:50 | |
jnthn | Right, which helps explain why it's knackered. | 20:51 | |
raydiak | jnthn: is sinking in a try different when there is an explicit CATCH instead of relying on the implicit "ignore everything"? | 20:54 | |
jnthn | raydiak: Possibly, though not intentionally | 20:55 | |
raydiak | m: my @a = 42; try { CATCH { default {} }; @a.clone }; say "alive" # maybe because I put the CATCH as the last statement before? | ||
camelia | rakudo-moar 176304: OUTPUT«This type does not support elems in block <unit> at /tmp/OJ58IZObie:1» | ||
raydiak | ah ha, yep | ||
20:56
RabidGravy left
|
|||
jnthn | I *think* when I actually made things sink in a try then Bad Things happened, alas. | 20:56 | |
raydiak wishes it were easier to append to a RT | 20:57 | ||
jnthn | lizmat: Are you blocking on some clone fix? | 20:59 | |
lizmat | no | ||
jnthn | (If so I'll try and do one quickly, if not I'll probably sleep soon :)) | ||
lizmat | nono please go sleep | ||
will discuss this in a few days or so | 21:00 | ||
I'll just stash what I'm doing | |||
jnthn | ok | 21:01 | |
tony-o | jnthn: how long ago was that? | 21:02 | |
PerlJam wonders why Mu.clone checks if %twiddles has any elements instead of just relying on multi dispatch for the %twiddles vs non-%twiddles case ... | 21:03 | ||
21:05
molaf_ left,
Ugator left
|
|||
lizmat | PerlJam: I remember testing that, and it had an averse affect of performance | 21:05 | |
*effect | 21:06 | ||
21:06
mls left,
mls joined
|
|||
dalek | Heuristic branch merge: pushed 46 commits to rakudo/newio by lizmat | 21:06 | |
lizmat | and that concludes my hacking for the coming 48 hours... | ||
21:07
brrt joined
|
|||
raydiak | jnthn: do you have a guess off the top of your head what Grammar::Generative's segfault is likely about? seems there is interest around every time I talked about it, even masak ++'d me just for filing the issue, so thought I might even try to take a look at it myself | 21:07 | |
brrt | \o | 21:08 | |
raydiak | jnthn: since I assume it'd like...off the bottom edge of your possibly-infinite todo list :) but touches very deeply on things I've been working on recently | ||
21:09
RabidGravy joined
21:12
dolmen joined
|
|||
bartolin | [Coke]: ping | 21:13 | |
21:22
Foxcool left
|
|||
jnthn | raydiak: Sorry, no. I'd maybe be albe to guess if I saw, say, a gdb stacktrace | 21:26 | |
21:26
beastd joined
21:27
Zoffix left
|
|||
brrt | raydiak - can you try it with MVM_JIT_DISABLE=1 | 21:27 | |
dalek | c: 343fca6 | (Jonathan Stowe)++ | lib/Language/concurrency.pod: Proc::Async basics |
||
[Coke] | bartolin: pong | ||
raydiak | jnthn: absolutely, will add it to the issue...you saw that there is strace there already, right? | 21:28 | |
brrt: oh wish I'd thought of that...but no change sadly | 21:29 | ||
brrt | hmmm | ||
jnthn | raydiak: Yeah, but strace doesn't tell me so much sadly | 21:30 | |
raydiak: I mean, an strace can tell me much, but not about a SEGV problem. | |||
brrt | gdb can :-) | ||
jnthn | Right :) | ||
bartolin | [Coke]: locally I have a clone of roast where I solved the merge conflicts for PR 59 | ||
raydiak | figured that was probably the case, just wanted to make sure since I'm going to go learn how to use gdb now :) | 21:31 | |
brrt | hmm... if you'd have some golfed testcase i could take a look for a bit | ||
jnthn | I think there's a perl6-gdb-m helper these days | ||
brrt | right | ||
raydiak | hah! cool... | ||
are the debugging symbols important? | 21:32 | ||
jnthn | Yes :) | ||
bartolin | [Coke]: I ran a spectest with rakudo.moar and got the same results as with HEAD | ||
[Coke]: do you think it's worth to push it now? | |||
brrt | in fact, if you can, build moar withouth optimize | 21:33 | |
perl Configure.pl --optimize=0 --debug | |||
that saves a lot of trouble in missing variables when running under gdb | 21:34 | ||
raydiak | oh I can do that, thanks brrt :) | ||
brrt | yw :-) | ||
21:35
Peter_R left
21:39
skids left
|
|||
jnthn | Time for some rest... 'night, #perl6 | 21:40 | |
lizmat | and from me as well, good night jnthn , #perl6! | ||
raydiak | rest well jnthn & lizmat | ||
bartolin | o/ o/ | ||
21:41
Peter_R joined
|
|||
brrt | yes, sleep well #perl6 | 21:42 | |
21:42
brrt left
|
|||
timotimo | Oxenstierna ... ?! | 21:45 | |
21:49
Peter_R left
|
|||
dalek | kudo-star-daily: ddeba44 | coke++ | log/ (2 files): today (automated commit) |
21:52 | |
timotimo | masak: i managed to shave 1.30s off of that benchmark (the one that takes almost exactly 1:01.30) | 21:53 | |
21:53
kaare_ left
22:00
Zoffix joined,
Zoffix left,
Zoffix joined
|
|||
dalek | : 1327bdd | usev6++ | misc/rt.perl.org/cleanup_nyc_hackathon_tickets.txt: Mark rejected tickets which referred to parrot Please note that I didn't Cc: perl6-compiler when rejecting the tickets. That looked like too much spam to me ... |
22:04 | |
22:04
Zoffix left
22:05
Ugator joined
|
|||
RabidGravy | I think a small section on Locks at the bottom and I'm pretty much done with the concurrency doc | 22:13 | |
nighty night | |||
[Coke] | bartolin: was there an update on the pull request from the OP? | 22:14 | |
If not, go ahead and commit your version and close out the PR. | |||
and thank you so much for your help moving forward on this. | 22:15 | ||
raydiak | grr how can I automatically escape a bunch of text so github doesn't butcher it as markdown? | ||
22:15
diana_olhovik_ left
|
|||
[Coke] | this in a ticket? | 22:17 | |
22:17
RabidGravy left
|
|||
[Coke] | ```foo``` ? | 22:18 | |
raydiak | doesn't seem to work across multiple lines | 22:23 | |
heh I'll just do that to each line in vim I guess | 22:24 | ||
ah, indenting the whole thing does the trick well enough | 22:26 | ||
22:28
jepeway_ joined
22:29
jack_rabbit_ joined,
jepeway left
22:30
ribasushi left,
jack_rabbit left,
rmgk left,
renormalist left,
isacloud left
|
|||
raydiak | .tell jnthn I've added the gdb backtrace to github.com/jnthn/grammar-generative/issues/1 | 22:30 | |
yoleaux | raydiak: I'll pass your message to jnthn. | ||
22:30
ribasushi_ joined
22:31
rmgk joined
22:34
vendethiel left
|
|||
timotimo | key=0xffffffff00000001 - yeah, that looks kinda fishy :) | 22:34 | |
22:35
isacloud joined
|
|||
timotimo | raydiak: you could help us out even more if you "print MVM_dump_stacktrace(tc)" or what the magical incantation was | 22:35 | |
raydiak | 'No symbol "MVM_dump_stacktrace" in current context.' - I'll go look for the magical incantation, then :) | 22:36 | |
22:36
vendethiel joined
22:37
beastd left
|
|||
raydiak | ah, s/stack/back/ | 22:37 | |
timotimo | ah | 22:38 | |
raydiak | added | 22:39 | |
22:39
bjz left
|
|||
timotimo | huh, how come its line number is :1? | 22:39 | |
raydiak | b/c I'm triggering it from a -e maybe? | 22:40 | |
timotimo | but ... | ||
...runtime/CORE.setting.moarvm:ASSIGN-KEY:4294967295 | |||
that must be a mistake | |||
raydiak | not on my end, that's literally what's in the terminal | 22:41 | |
22:42
Isp-sec left
|
|||
raydiak | this is awesome, now I know how y'all find your way around those "it just says nothing and segfaults" problems | 22:42 | |
I always ended up just changing stuff until it worked, or at least broken differently :) | 22:43 | ||
m: say log(4294967295)/log(2) | 22:45 | ||
camelia | rakudo-moar 176304: OUTPUT«31.9999999996641» | ||
raydiak | yep, definitely something fishy | ||
m: say 2**32-4294967295 | |||
camelia | rakudo-moar 176304: OUTPUT«1» | ||
raydiak | the line number is the max value for a uint32 | 22:46 | |
22:49
gfldex left,
mohij left
|
|||
timotimo | ah, so -1 | 22:50 | |
raydiak | ah right, that too | 22:51 | |
timotimo | some code somewhere sets that as a "i don't know" value, i bet | ||
22:52
grondilu joined
|
|||
grondilu | With NativeCall, can you make a binding to a function that takes "SomeStruct **theStruct" as argument? The double pointer is the issue here. | 22:53 | |
22:57
skids joined
|
|||
raydiak | as long as what you pass it actually is what is needed, I'd think you could declare the binding as just Pointer and it'd work, if nothing else | 22:57 | |
but did you try Pointer[Pointer[SomeStruct]] ? | |||
timotimo | that's beautiful | 22:58 | |
m: my $a = "2d9"; $a++; say $a; $a++; say $a; | |||
camelia | rakudo-moar 176304: OUTPUT«2e02e1» | ||
timotimo | guess what php makes of this code :) | ||
22:59
vendethiel left
|
|||
raydiak | dunno php, random guess...3d9 and 4d9? | 23:00 | |
timotimo | no | ||
2e0 3 | |||
raydiak | ah ha | ||
23:01
pierrot left,
vendethiel joined
|
|||
raydiak | (and here I was wondering what regularly-shaped 9-sided dice would look like...it'd have to have rounded sides...) | 23:02 | |
timotimo | :) | ||
23:04
baest left
23:05
hernan joined
23:06
pierrot joined
|
|||
cognominal | what are the CALL-ME methods in the setting? | 23:08 | |
timotimo | the what? | 23:12 | |
raydiak | m: my $obj = class { method CALL-ME { say "hi!" } }.new; $obj() | ||
camelia | rakudo-moar 176304: OUTPUT«hi!» | ||
timotimo | ah | ||
23:13
dolmen left
|
|||
cognominal | github.com/rakudo/rakudo/blob/nom/...st.pm#L711 | 23:14 | |
raydiak | m: List(1,2,3).say | ||
camelia | rakudo-moar 176304: OUTPUT«1 2 3» | ||
timotimo | that's for coercion, right | ||
23:15
pierrot left
|
|||
cognominal | ok, that may explains the code in Actions.pm I was looking at | 23:15 | |
m: my $obj = class { method CALL-ME { say "hi!" } }.new; say $obj ~~ Code | 23:20 | ||
camelia | rakudo-moar 176304: OUTPUT«False» | ||
23:21
pierrot joined
|
|||
cognominal | so you can call an object that "does" not do Code :( | 23:21 | |
23:22
Vlavv left
|
|||
timotimo | a type object | 23:24 | |
er | |||
that's not right | |||
23:25
vendethiel left
23:26
BenGoldberg joined
23:29
baest joined
|
|||
raydiak | yes you can call objects which don't do Callable, and you can index objects that don't do Positional or Associative | 23:30 | |
23:31
vendethiel joined
|
|||
raydiak | m: my $o = class { method AT-POS ($i) { $i } }.new; say $o[42] | 23:33 | |
camelia | rakudo-moar 176304: OUTPUT«42» | ||
cognominal | you have example of the latters? | ||
thx | |||
raydiak | m: say Match.^mro # and a core class example | 23:34 | |
camelia | rakudo-moar 176304: OUTPUT«(Match) (Capture) (Cool) (Any) (Mu)» | ||
cognominal | Well, I thought AT-POS was supposed to be used to implement objects that do Positional | ||
tony-o | m: my @promises; my $p = Promise.new; start { my $p2 = Promise.new; @promises.push($p2); $p.keep(True); $p2.keep(True); }; await Promise.allof(@promises); "here".say; | 23:35 | |
cognominal | m: say Match ~~ Code | ||
camelia | rakudo-moar 176304: OUTPUT«(timeout)» | 23:36 | |
rakudo-moar 176304: OUTPUT«False» | |||
raydiak | yes but it's used on objects that don't do Positional also...like Match | ||
idk why | |||
23:36
Vlavv joined
|
|||
tony-o | m: my @promises; my $p = Promise.new; start { my $p2 = Promise.new; @promises.push($p2); $p.keep(True); $p2.keep(True); }; await Promise.allof(@promises); "here".say; | 23:36 | |
raydiak | tried to ask, don't recall atm if I ever got a straight answer or not | ||
cognominal | that defeats the purpose of the 6model as a learning tool. | 23:37 | |
camelia | rakudo-moar 176304: OUTPUT«(timeout)» | ||
tony-o | should that work or ...? | ||
23:37
yqt left
|
|||
cognominal | s/purpose/use/ | 23:38 | |
raydiak | it certainly seems...unsettling, to me | 23:40 | |
cognominal | I am like a child that was just said that Santa does not exist. I hope Christmas is for real, because that is the target release date. | 23:41 | |
* Santa Klaus | |||
raydiak | maybe we're supposed to look at the role being used or not as more a statement of intent/purpose than a hard restriction...certainly most of the usual suspects do follow the pattern, like List, Array, Hash, and so forth | 23:42 | |
[Coke] | the folks who organized the hackathon are hoping to get someone down to NYC in the fall to give a talk on perl 6 to spread the word. (I'm in) | ||
raydiak | but I'm not too familiar with this 6model thing I hear talked about | ||
23:45
pierrot left
|
|||
cognominal | TimToady would say that consistency is a mean and not an end in itself, but I don't see the motivation here to break it. | 23:45 | |
raydiak | well, he should see this in the backlog ( \o ) so we'll see what he says about it | 23:50 | |
23:52
vendethiel left
23:55
thou left
|
|||
ugexe | m: m: my @promises; my $p = Promise.new; start { my $p2 = Promise.new; @promises.push($p2); $p.keep(True); $p2.keep(True); }; await Promise.allof(@promises.grep(*)); "here".say; | 23:58 | |
camelia | rakudo-moar 176304: OUTPUT«here» | ||
23:59
espadrine left
|
|||
raydiak | ah, a laziness bug? | 23:59 |