»ö« 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! Set by masak on 12 May 2015. |
|||
00:01
tokuhiro_ joined
00:05
tokuhiro_ left
|
|||
dalek | kudo/nom: a275685 | hoelzro++ | docs/announce/2015.09.md: Fix release announcement typo |
00:06 | |
00:10
cognominal left
00:11
telex left,
telex joined
00:13
telex left
00:14
telex joined
00:20
telex left
00:21
telex joined
00:23
aborazmeh left
00:24
araujo_ joined
00:25
araujo left
00:28
pochi joined
|
|||
flussence | has anyone tried to implement The Algorithm in p6 yet? html.spec.whatwg.org/multipage/syn...ml#parsing | 00:30 | |
(I've made a start on section 12.5...) | |||
00:32
adu left
00:39
sufrostico joined
00:45
laouji joined
00:51
AlexDaniel left
|
|||
tony-o | its mostly in html parsee xml with the exception of script execution | 00:52 | |
00:53
aborazmeh joined,
aborazmeh left,
aborazmeh joined
00:59
tokuhiro_ joined
01:02
mr-foobar left
01:03
kernel joined
|
|||
flussence | this module code scares me, it looks eerily similar to one I wrote in PHP years ago, tag-closing stuff and all... | 01:03 | |
(probably works better than mine, mind.) | |||
01:03
kernel is now known as Guest22461
01:05
lichtkind left
01:06
araujo__ joined
|
|||
flussence | I take that back, mine was way harder to read :( | 01:08 | |
01:09
araujo_ left
01:12
telex left,
telex joined
01:13
prevost joined
01:28
vendethiel joined
01:42
adu joined
01:45
mr-foobar joined
|
|||
psch | gosh | 01:51 | |
finally | |||
$ ./perl6-j --ll-exception -e'say grep { True }, %(a => 1, b => 2).pairs' | |||
(b => 2 a => 1) | |||
now just run a few test files and then commit and then sleep :P | 01:52 | ||
01:52
vendethiel left,
sufrostico left
01:55
maverick87 joined
|
|||
psch | aww shugs | 01:56 | |
it doesn't actually *really* work | |||
the patch that is | |||
psch shrugs and goes to bed | |||
02:02
telex left
|
|||
adu | what's "The Algorithm"? | 02:03 | |
02:03
telex joined
|
|||
adu | if I were writing a browser, I would make document.write evaluate to "undefined" | 02:06 | |
[Coke] just realized he's never seen weird al and larry wall in the same room. | 02:09 | ||
flussence | /o\ | 02:13 | |
japhb | [Coke]: For some reason, that thought makes me want to listen to Word Crimes | ||
flussence | and, adu: that megabyte-long subsection of the HTML spec is The Algorithm. 25 years of parsing mistakes codified in one massive document. | 02:15 | |
02:15
perlawhirl joined
|
|||
adu | pretty verbose | 02:16 | |
[Coke]: lolol | |||
flussence | I've seen one implementation of a draft version of it, a 6000 line file. I think it's grown significantly since then... | 02:18 | |
02:21
stanrifkin_ joined
02:22
stanrifkin_ left
|
|||
ShimmerFairy | how do you set stuff for the :auth<> field? There's nothing about META6.json that would set it. | 02:26 | |
flussence | that's a good question... I just try to manually keep mine consistent with what goes in %.<support><source>. | 02:30 | |
ugexe | design.perl6.org/S22.html#auth ? | 02:37 | |
ShimmerFairy | ugexe: that part doesn't describe META6.json, though | 02:38 | |
(that's just a section describing terminology, not offering anything about how stuff works yet) | |||
ugexe | i see. i think the majority of modules simply do "auth" : "github:username" | 02:39 | |
ShimmerFairy | that's not spec though, so I can't do that :) | ||
ugexe | probably half of s22 isnt up to spec | 02:40 | |
er, rakudo | |||
ShimmerFairy | Point is, I'll need to hear from the people who know about modules before I just blindly throw in an "auth" field :) | 02:41 | |
ugexe | rakudo will set it for you spec or not for instance (from author and authority). no emulates/supercedes, .content, excludes, %*RESOURCE, hooks/ | 02:42 | |
well i would consider myself one of those people | |||
ShimmerFairy | well, AFAIK it's lizmat and FROGGS who've done a lot of work on modules in P6. | 02:44 | |
ugexe | who do you think is 3rd after them? | 02:45 | |
i mean jeez | 02:46 | ||
ShimmerFairy | I didn't know, sorry. | ||
In any case, I need a more definitive answer before I can do anything about :auth<>, since I've no idea how it's supposed to work (as S22 is silent on the matter) :) | 02:47 | ||
02:50
noganex joined
02:52
noganex_ left,
maverick87 left
|
|||
flussence | afaik it just boils down to a hash key so that you can have two same-named modules from different authors installed... though I don't think we've had that actually happen yet, so it's fine to omit for now. | 02:53 | |
ugexe | i imagine you wouldnt set auth. request auth sure, but it would be constructed from the required content storage and author | 02:58 | |
03:02
kaare_ joined
|
|||
tony-o | i wouldn't call it blindly throwing it in if it's spec'd.. | 03:09 | |
adu | flussence: upon first inspection it looks like something that coroutines would be useful in implementing | 03:12 | |
ShimmerFairy | tony-o: sure, but the point is that an "auth" field for META6.json *isn't* spec'd :) | 03:13 | |
ugexe | and it shouldnt be | ||
if you hard code the content storage portion of the auth, then you are stuck maintaing a branch for each content storage | |||
requesting an auth is a different story | 03:14 | ||
ShimmerFairy | ugexe: if "auth" is meant to be pulled from another source, it'd be nice if that was explained somewhere (either under S22/TERMINOLOGY/auth, or before describing the META6.json fields), preferably also explaining how auths are supposed to be constructed | ||
Before the META6.json fields, the description would explain the question of "why can I specify name and ver here, but not auth?", to clarify. | 03:15 | ||
03:19
colomon left
03:43
telex left
03:44
telex joined
03:45
prevost left
|
|||
dalek | kudo/nom: 2266f4a | TimToady++ | src/core/List.pm: simplify +args binding code |
04:05 | |
ast: 12dc2eb | TimToady++ | S06-signature/slurpy-params.t: add some tests for +args binding |
|||
tony-o | i think the intent is implied that you dont want to maintain a hardcoded value in auth, even if you disagree at the implication it seems intuitive that youd not want to do that | 04:09 | |
04:20
adu left,
rjb joined
04:21
rjb left
|
|||
tokuhiro_ | how do i use string-io like `open my $io, "<", \$buffer;`? | 04:23 | |
04:26
rmgk is now known as Guest44882,
rmgk_ joined,
Guest44882 left,
rmgk_ is now known as rmgk
|
|||
flussence | tokuhiro_: there isn't a module for that yet :( | 04:28 | |
tokuhiro_ | orz | ||
flussence | (there's an IO::String, but reading from the string is a todo) | ||
04:30
perlawhirl left
04:37
cdc left
04:57
khw left
05:02
araujo__ left
05:03
araujo joined,
araujo left,
araujo joined
|
|||
ugexe | maybe IO::Capture::Simple can do what you want | 05:04 | |
05:06
thou left
05:24
skids left
05:38
vendethiel joined
05:46
Guest38636 left
05:47
bowtie joined,
bowtie is now known as Guest72901
05:54
simcop2387 joined
05:58
domidumont joined,
domidumont left
05:59
domidumont joined
06:02
domidumont left,
vendethiel left
06:03
domidumont joined
06:05
diana_olhovik_ joined,
aborazmeh left
06:07
aborazmeh joined,
aborazmeh left,
aborazmeh joined
06:09
telex left
06:10
telex joined
06:29
thou joined
06:33
thou left
06:34
chenryn joined
06:41
[Sno] joined
|
|||
dalek | kudo/nom: 63a883f | TimToady++ | src/core/Any-iterable-methods.pm: start using +args to glrify common listops |
06:44 | |
ast: 9679da8 | TimToady++ | S32-list/reduce.t: reduce won't flatten anymore |
|||
06:53
FROGGS joined
|
|||
FROGGS | o/ | 06:53 | |
ShimmerFairy / ugexe: I expect that a module installer will set the auth/author/authority for you when downloading dists from a location that provides this information | 06:54 | ||
ShimmerFairy / ugexe: github and cpan surely do that | |||
ShimmerFairy / ugexe: though, one can and perhaps should add that field to the META6.json, at least as a fallback | 06:55 | ||
06:57
ShimmerFairy left
07:02
ShimmerFairy joined
07:06
abraxxa joined,
Peter_R left
07:15
rurban joined
|
|||
[Tux] | o/ | 07:18 | |
yoleaux | 16 Sep 2015 17:23Z <nine> [Tux]: I tried bisecting your performance regression but could not find it. If anything, Rakudo seems to have become faster | ||
[Tux] | nine, I get a fluctuation between 37 and 40.5 depending on the moonphase squared by the daytime in milliseconds | 07:19 | |
moritz | which again shows that measurements without error bars are mostly worthless | 07:20 | |
07:22
chenryn left
07:25
chenryn joined,
jack_rabbit_ joined
|
|||
nine | [Tux]: I've found that when I do "cpupower frequency-set -g performance" my benchmarks give much more reliable results. | 07:25 | |
[Tux] | cpupower: Command not found. | 07:26 | |
nine | CPU frequency scaling is really an extremely complicated matter nowadays | ||
[Tux]: it's in the cpupower package on openSUSE. Originally part of www.kernel.org/pub/linux/utils/kern...utils.html | 07:27 | ||
[Tux] just installed it | |||
re-running | |||
FROGGS | [Tux]: you're doing your benchmarks still on that hp-ux box? :o) | 07:29 | |
[Tux] | no, OpenSUSE 13.1 - Linux 3.11.10-29-desktop [openSUSE 13.1 (Bottle)] HP Z220CMT Xeon(R) CPU E3-1245 V2 @ 3.40GHz/3706(8) x86_64 11914 Mb | 07:30 | |
ShimmerFairy | FROGGS: would it make sense to have META6.json ask for an "owner" field, so that the fallback auth could be constructed as "fallback:JRANDOM" or whatever? (Instead of letting someone pick whatever they want for the left side of the colon?) | ||
FROGGS | ShimmerFairy: hmmmmm | 07:31 | |
ShimmerFairy: it is hard to tell how that works in the real world | |||
ugexe | different content storage might not let you have the same author name as another | 07:33 | |
FROGGS | true | 07:38 | |
ShimmerFairy | that's why I'm unsure about letting you specify whatever content storage you want :) (and the section on the "authors" field mentions that only the "owner" should be used for whatever, but there is no current "owner" field) | 07:39 | |
[Tux] | test 50000 38.048 37.967 | 07:41 | |
test-t 50000 40.237 40.156 | |||
ugexe | you arent supposed to set the content storage yourself. thats just what happens | ||
[Tux] => $work | |||
ugexe | right now | ||
FROGGS | that's problematic either way | 07:42 | |
ShimmerFairy | ugexe: of course, we're discussing a fallback auth (which I think should be a fallback "owner", so you can't specify whatever content storage), in the event that an auth can't be constructed. | ||
ugexe | that should be implied by the person installing | ||
ShimmerFairy | ? We're not talking about module users, but module authors | 07:43 | |
ugexe | yes | ||
FROGGS | ugexe: how will that work out with the use statements in your large $work application that require a certain :auth? | ||
ugexe | i dont see how its a problem | 07:44 | |
ShimmerFairy | ugexe: then I still don't understand "should be implied by the person installing" | ||
FROGGS | well, if the auth in the META6.json (or in the CURLI database) changes so much, you can't use :auth filters in your use statements at all | ||
right now I think I'd better use: use Foo:md5<z2397846298437602364z203zo> | 07:45 | ||
moritz | md5 *shudder* | ||
FROGGS | moritz: was just an example | 07:46 | |
:o) | |||
moritz good at bikeshuddering | |||
FROGGS | shudder up! | ||
:P | |||
moritz | :-) | ||
ShimmerFairy | FROGGS: I think the issue may be that :auth<> is actually a pretty open thing. Something feels off about how it works, I can't place my finger on it. | 07:47 | |
FROGGS nods | |||
BooK | wouldn't using md5 prevent quick local patches to the source? | ||
07:47
aborazmeh left
|
|||
FROGGS | BooK: aye | 07:48 | |
BooK: it is pain, whatever we do | |||
ShimmerFairy | FROGGS: It feels like :auth<> would work better if Perl 6 handled authorship (some sort of 'author registry'), instead of letting *everyone else* handle it. But, I don't think making people register their auth somewhere is ideal either :) | ||
FROGGS | ShimmerFairy: that occoured to me as well | 07:49 | |
ShimmerFairy | Perhaps the mere fact that it doesn't easily make sense in META6.json is a clue that it doesn't currently work as a filter on modules :) | ||
BooK | what problem is that trying to solve? | 07:50 | |
ugexe | ah i was speaking for the recommendation manager. for using the module there should be no problem with :auth | ||
as in, if i want my recommendation manager to install from github content storage only, it shouldnt jump to a fallback (the recommendation manager) | 07:51 | ||
ShimmerFairy | BooK: the idea is that we don't require a globally-unique module name in Perl6-land | ||
BooK | I thought the idea was to be able to load multiple version of "almost the same thing" at once, and use different ones in different cases/other modules | 07:56 | |
so that one could be very picky about what they want, while others would use * | 07:57 | ||
ShimmerFairy | Well yeah, it helps with doing that when everyone can just name their module JSON::Fast, with different auth/vers, instead of JRANDOM::v0_1::JSON::Fast and such :) | 07:58 | |
mst | so far, we've mostly done fine with requiring unique names | ||
BooK | mst: my thought exactly | ||
07:59
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
mst | I can see multiple completely different JSON::Fast dists being a complete disaster | 07:59 | |
essentially you'd then have to -talk- about them as JRANDOM::JSON::Fast | |||
BooK | but as soon as JRANDOM's version is installed and has a incompatible interface, every module saying "I'm fine with using whatever JSON::Fast" will blow up | ||
mst | which, well, PAUSE already supports | ||
BooK | well, mst and I are already talking about diffrent JRANDOM::JSON::Fast :-) | 08:00 | |
ShimmerFairy | FROGGS: what if, instead of a registered list of auths, it was just a registry of content storages? Could it help if we had a well-defined list of things for the LHS of the auth colon? (With perhaps an internal: or something set aside for whenever some company has an internal storage system) | ||
Using JSON::Fast wasn't the best example, but in general we need some way to neatly bring together different "universes" of modules, where any number of them from each universe have a name clash. | 08:01 | ||
dalek | ast: 48999d9 | TimToady++ | S32-list/reduce.t: reduce doesn't automatically flatten now |
08:02 | |
mst | ShimmerFairy: why? | ||
actually, no, wrong question | |||
why is this any different to JRANDOM::JSON::Fast | |||
in theory, I understand the idea | 08:03 | ||
ugexe | i mostly found it nice for when joe shmoe puts his boiler plate code in an otherwise good root namespace | ||
mst | but in practice, trying to do this stuff involves more complexity than useful, IME | ||
BooK | ugexe: but isn't that better solved with non-technical means? | ||
ShimmerFairy | mst: I don't know the reasoning for those who originally came up with it, but for me having a specified :auth<> is better for conveying an author than some sort of "top level name is author" convention | 08:04 | |
mst | ok, but then, what happens when the releaser changes? | ||
FROGGS | mst: the problem we are actually trying to solve is: dist Foo is popular, gets forked, other one (also Foo) gets more popular, so people switch auths | ||
ShimmerFairy | mst: in a sense, I myself think having a "named" package name component is better than a "positional" one for this sort of thing :) | ||
mst | consider DBIx::Class, which in the early days often had eight releasers across eight releases | 08:05 | |
FROGGS | mst: like, allowing evolution | ||
mst | how is an author name even sensical at that point? | ||
FROGGS | mst: can also be an authority, like TheDBIxClassGroup | 08:06 | |
dalek | kudo/nom: 32ce653 | TimToady++ | src/core/allomorphs.pm: allomorphic .gist will just print the string Fears of user confusion are less well founded than fears of users rampaging because they just wanted to print out the values, and got extra crap. This includes me, trying to run a rosettacode entry on a <> list of integers. |
||
TimToady --> zzz & | 08:07 | ||
08:10
aborazmeh left
08:17
thou joined
08:20
dakkar joined,
telex left,
telex joined
08:21
thou left
08:22
frodwith left
08:40
anaeem1_ joined,
laouji left
08:41
darutoko joined
08:43
espadrine joined
08:45
laouji joined
08:46
sergot joined
08:49
anaeem1_ left
08:53
jack_rabbit_ left
08:59
zakharyas joined
09:04
morjo joined
09:15
cognominal joined
|
|||
timotimo | m: my $s = Channel.new; $s.close; say $s.poll; | 09:28 | |
camelia | rakudo-moar 32ce65: OUTPUT«Nil» | ||
psch | r: my $a = Bag.new("a", "b", "b"); say $a.roll(2) | ||
camelia | rakudo-jvm 32ce65: OUTPUT«Type check failed in binding @pairs; expected 'Positional' but got 'Seq' in block <unit> at /tmp/tmpfile:1» | ||
..rakudo-moar 32ce65: OUTPUT«(a b)» | |||
psch | i got past the type check failure, but now i'm getting "This Seq has already been consumed" :/ | 09:29 | |
it points at the for in the gather in ROLLPICKGRABN, which i find confusing | |||
moritz | psch: how did you get past it? | ||
psch | moritz: correcting the .cache invocation in the Binder | 09:30 | |
09:30
geekosaur joined
|
|||
psch | moritz: gist.github.com/peschwa/6fff3a7c51bc27fa67bd | 09:30 | |
moritz | psch: huh, then you need to debug where it has been consumed | ||
nine | mst: I'm hoping for the :auth mechanism to fix the ambiguity of Perl 5 and Perl 6 modules sharing a name | ||
psch | moritz: right, i'm trying :) | 09:32 | |
moritz | m: my \seq = gather { take 1; take 2 }; my @list = seq.cache; .say for seq | 09:34 | |
camelia | rakudo-moar 32ce65: OUTPUT«This Seq has already been iterated, and its values consumed in block <unit> at /tmp/LRByNouMYm:1» | ||
nine | m: my \seq = gather { take 1; take 2 }; my @list = seq.cache; .say for seq.cache | 09:35 | |
camelia | rakudo-moar 32ce65: OUTPUT«12» | ||
moritz | nine: I know that's possible; I just wonder if Seq.iterator should be smart enough to fall back to Seq.cache.iterator | 09:36 | |
timotimo | m: try die "oh noes" orelse say "test" | 09:37 | |
camelia | ( no output ) | ||
timotimo | m: die "oh noes" orelse say "test" | ||
camelia | rakudo-moar 32ce65: OUTPUT«oh noes in block <unit> at /tmp/wrbcRN2G11:1» | ||
timotimo | m: (try die "oh noes") orelse say "test" | ||
camelia | rakudo-moar 32ce65: OUTPUT«test» | ||
timotimo | m: try die "oh noes" // say "test" | ||
camelia | ( no output ) | ||
timotimo | m: (try die "oh noes") // say "test" | ||
camelia | rakudo-moar 32ce65: OUTPUT«test» | ||
timotimo | movable type doesn't let me edit my comment :( | 09:39 | |
i should have preview'd | |||
blogs.perl.org/users/aaron_baugher/...erl-6.html ← this is what i replied to | 09:41 | ||
morjo | Anyone know of an easy to understand guide to Rules? | 09:45 | |
Timbus_ | not me; they're so hard to follow. | ||
timotimo | have you read doc.perl6.org/language/regexes ? | 09:47 | |
nine | moritz: that would be just gist.github.com/niner/e82fd8f33ca4c465477c which works and passes spec tests. I wonder about the performance implications though. | 09:49 | |
morjo | Not everyting. Guess I should just start from the top :) | 09:50 | |
timotimo | morjo: it's not much, but i would try to answer any questions you have | 09:52 | |
morjo | timotimo: Thanks, I'll read that doc and try to make a test case and see how that goes. If I cant manage, I'm sure to come back :) | 09:55 | |
timotimo | the most common problem i encounter is "significant whitespace" as "rule" gives you being less than helpful | 09:56 | |
so if you put mostly "regex" into your grammar, you'll not be so surprised | |||
09:56
telex left
|
|||
moritz | or 'token' if you don't want backtracking | 09:56 | |
timotimo | right | 09:57 | |
09:57
telex joined,
telex left
|
|||
timotimo | oh, look! | 09:57 | |
wordpress has made another post i've spent some time on disappear out of the blue! | |||
09:58
telex joined
|
|||
timotimo | it's nice that wordpress' editor saves in-progress posts in the local storage of the browser, but it seems like they are using the session storage, rather than the general local storage? | 09:59 | |
i'm not happy right now | 10:00 | ||
10:01
andreoss joined,
chenryn left
10:05
thou joined
10:07
colomon joined
10:10
thou left
|
|||
andreoss | m: my $x; say "hi" with $x; | 10:31 | |
camelia | ( no output ) | ||
10:31
cdc joined
|
|||
cdc | m: 1 »+» (2, 3) | 10:31 | |
camelia | rakudo-moar 32ce65: OUTPUT«Lists on either side of non-dwimmy hyperop of infix:<+> are not of the same lengthleft: 1 elements, right: 2 elements in block <unit> at /tmp/jcNHIdXWtc:1» | ||
cdc | m: (1, 2) »+» 3 | 10:32 | |
camelia | ( no output ) | ||
cdc | ^^ LTA error | ||
timotimo | huh, that message seems not-right | ||
cdc | patch: gist.github.com/anonymous/3758973094fe2a3a1fe3 | ||
:) | |||
this is just s/same/expected/ | 10:33 | ||
timotimo | mhm mhm | 10:34 | |
andreoss | m: say "hi" with False | 10:37 | |
camelia | rakudo-moar 32ce65: OUTPUT«hi» | ||
psch | m: my $x; say $x.defined; say False.defined | ||
camelia | rakudo-moar 32ce65: OUTPUT«FalseTrue» | ||
andreoss | say Nil.defined; say Empty.defined; | 10:38 | |
m: say Nil.defined; say Empty.defined; | |||
camelia | rakudo-moar 32ce65: OUTPUT«FalseFalse» | ||
10:40
Ven joined
|
|||
ilmari | m: say( ("hi" with False) ?? "True" !! "False" ) | 10:42 | |
camelia | rakudo-moar 32ce65: OUTPUT«True» | ||
moritz | m: say( ("hi" does False) ?? "True" !! "False" ) | 10:48 | |
camelia | rakudo-moar 32ce65: OUTPUT«Cannot mix in non-composable type Bool into object of type Str in block <unit> at /tmp/mk64YT9eSt:1» | ||
moritz | m: say( ("hi" but False) ?? "True" !! "False" ) | ||
camelia | rakudo-moar 32ce65: OUTPUT«False» | ||
andreoss | say False but True | 10:50 | |
m: say False but True | |||
camelia | rakudo-moar 32ce65: OUTPUT«True» | ||
Ven | o/, #perl6! | 10:58 | |
10:58
andreoss left
|
|||
[ptc] | Ven: o/ | 11:06 | |
timotimo | o/ | 11:07 | |
11:14
rindolf joined
11:15
mprelude joined
|
|||
ilmari | m: say( (True but False) ?? "True" !! "False" ) | 11:16 | |
camelia | rakudo-moar 32ce65: OUTPUT«False» | ||
timotimo | yeah, mixing in an instance of the class "Bool" will override the ".Bool" method to return that exact value | 11:17 | |
11:17
chenryn joined
|
|||
timotimo | so when the ?? !! operator tries to boolify the value it got, it calls .Bool and that returns False | 11:17 | |
^- that's my interpretation of the result | |||
of course it's strange that we call .Bool on something that we know is already a Bool | |||
11:18
TEttinger left
|
|||
ilmari | m: my $x = "42" but 37; say $x + 5 | 11:19 | |
camelia | rakudo-moar 32ce65: OUTPUT«47» | ||
[ptc] | m: my @moo = []; @moo.push(1); @moo.say; @moo.push([1]); @moo.say | 11:20 | |
camelia | rakudo-moar 32ce65: OUTPUT«[1][1 1]» | ||
timotimo | oh, huh? | ||
[ptc] | why does pushing an array onto an array not result in an array of arrays? What am I misunderstanding here? | ||
11:21
andreoss joined
|
|||
psch | m: my @moo = []; @moo.push(1); @moo.say; @moo.push(([1],)); @moo.say | 11:21 | |
camelia | rakudo-moar 32ce65: OUTPUT«[1][1 [1]]» | ||
[ptc] | it seems that .push(1) and .push([1]) do the same thing | ||
psch | single arg rule i think? | ||
[ptc] | ah, ok, could be | ||
nine | yes | ||
m: my @moo = []; @moo.push(1); @moo.say; @moo.push($[1]); @moo.say | |||
camelia | rakudo-moar 32ce65: OUTPUT«[1][1 [1]]» | ||
nine | Use itemization to get around that | ||
[ptc] | nine: that looks better. | 11:22 | |
[ptc] wonders where we need to update the docs now... | |||
nine | It's the difference between @moo.push(@new_values) and @moo.push($@additional_array) | ||
[ptc] | ah, that's a nice way to think about it! Thanks :-) | 11:24 | |
one can see in that example why one would need the $ in the single arg case | |||
[Coke] | Ugh. Forgot there was a child school thing tonight. gonna be up laaate with the release. | 11:29 | |
11:33
chenryn left
|
|||
lizmat | [Coke]: fwiw, one more day wouldn't hurt much, I don't think :-) | 11:34 | |
[Coke] | eh. releases are most easy. | 11:40 | |
and there's enough coffee. Maybe. | |||
[ptc] | do we have a pre-GLR camelia? | 11:41 | |
11:42
telex left
|
|||
[Coke] | there was a tag so one can be setup. | 11:42 | |
11:42
telex joined
|
|||
[ptc] | [Coke]: thanks. Just wondered if I could save myself some work :-) | 11:42 | |
ilmari | m: my $a = Nil; say Nil; say $a; say $a eqv Nil; | 11:43 | |
camelia | rakudo-moar 32ce65: OUTPUT«Nil(Any)False» | ||
timotimo | we have star-m: | ||
but by now that's rather old | |||
[ptc] | timotimo: might be good enough. thanks | 11:45 | |
star-m: my @directions = (1, -1 X 2, -2), (2, -2 X 1, -1); @directions.say | 11:48 | ||
camelia | star-m 2015.03: OUTPUT«1 2 1 -2 -1 2 -1 -2 2 1 2 -1 -2 1 -2 -1» | ||
[ptc] | m: my @directions = (1, -1 X 2, -2), (2, -2 X 1, -1); @directions.say | ||
camelia | rakudo-moar 32ce65: OUTPUT«[((1 2) (1 -2) (-1 2) (-1 -2)) ((2 1) (2 -1) (-2 1) (-2 -1))]» | ||
ilmari | huh, the first hit on duckduckgo.com/?q=perl6+eqv is doc.perl6.org/routine/eqv, but that 404s | ||
timotimo | doc.perl6.org/language/operators#infix_eqv | 11:51 | |
[Coke] | searching for eqv fails. (as does ==) | ||
ilmari | reorganised recently? | 11:53 | |
[Coke] addeed github.com/perl6/doc/issues/129 for a new 404 handler. | |||
timotimo | hm, potentially | ||
11:53
thou joined
|
|||
ilmari | doc.perl6.org/language/operators#infix_=== links to doc.perl6.org/type/WHICH, which als o404s | 11:54 | |
[Coke] | and 130, 131 for the missing eqv/== terms | ||
[ptc] | timotimo: I think it's now in language/operators | ||
11:54
larion joined
|
|||
timotimo | huh, WHICH should not be in /type/ at all | 11:54 | |
[ptc] | timotimo: doc.perl6.org/language/operators#infix_eqv | ||
timotimo | i pasted that link up there already :) | 11:55 | |
[ptc] is just too slow today... | 11:57 | ||
11:58
thou left
12:00
Skarsnik joined
|
|||
ilmari | doc.perl6.org/language/operators#po...%AB_%C2%BB links to doc.perl6.org/routine/%C2%AB%20%C2%...%AB_%C2%BB | 12:02 | |
that's « » for those who don't read uri-encoded utf8 fluently | |||
circumifx « » isn't mentioned in /language/operators at all | 12:03 | ||
s/ifx/fix/ # pesky laggy mobile data | |||
12:03
rurban left
12:05
ShimmerFairy left
|
|||
dalek | c: 26441e3 | paultcochrane++ | lib/Language/operators.pod: Update cross product output post-GLR |
12:12 | |
c: 9da60a0 | paultcochrane++ | lib/Language/operators.pod: Fix zip operator examples post GLR |
|||
12:15
abraxxa left
|
|||
andreoss | should rakudobrew exec run command for all installed compilers or just one? | 12:17 | |
tadzik | imho just one, but there should be a way to run it on all of them | 12:18 | |
yoleaux | 15 Sep 2015 18:26Z <patrickz> tadzik: you can merge the PR now. Did some more testing and fixing and am confident this is loads better than before. | ||
12:18
ShimmerFairy joined
|
|||
tadzik | .tell patrickz ok, I'll look into it :) | 12:18 | |
yoleaux | tadzik: I'll pass your message to patrickz. | ||
12:18
abraxxa joined
|
|||
andreoss | why run it with just one compiler? what's the point of exec then if one could just type perl6 instead? | 12:22 | |
moritz | which perl6? | 12:24 | |
12:24
ZoffixWork joined
|
|||
moritz | what if it's not in $PATH? | 12:25 | |
perl6-m vs. perl6-j ? | |||
and I hope we'll have a perl6-js (or perl6-q) one day | |||
ZoffixWork | Hey, I've just came across this ancient commit of mine and I think it's wrong. People shouldn't change "The Perl Foundation" text since the name refers to the copyright owner of the *license itself* and not the module, right? github.com/perl6/doc/commit/485645...e78a3fcca5 | ||
12:33
carlin joined
|
|||
psch | heh, trying to fix the Binder *and* adjusting jvm to not need the workaround in ROLLPICKGRABN at the same time wasn't particularly great an idea... | 12:33 | |
also grrr: | 12:34 | ||
# expected: 'foofoofoobarbarfoobarbar' | |||
# got: 'barbarbarfoofoobarfoofoo' | |||
FROGGS | :/ | ||
psch | there's probably a dozend or so tests that fail exclusively due to hash elem ordering... | ||
carlin | m: my $module = "Test"; require $module; say 'alive'; | ||
camelia | rakudo-moar 32ce65: OUTPUT«Could not find file 'Test' for module Test in block <unit> at /tmp/ll_qx9VedB:1» | ||
carlin | m" require Test; say 'alive'; | ||
m: require Test; say 'alive'; | 12:35 | ||
camelia | rakudo-moar 32ce65: OUTPUT«alive» | ||
carlin | I'm sure that used to work ... :/ | ||
until quite recently? | |||
psch | star-m: my $m = "Test"; require $m; say "alive" | ||
camelia | star-m 2015.03: OUTPUT«alive» | ||
psch | that's not particularly recent, i guess | ||
but it is a point for "it used to work" :) | 12:36 | ||
might be cu_load changes? | |||
12:39
Ven left
|
|||
ZoffixWork | Larry wrote the original 1.0 license... cool. I guess he'd know best the answer to my question. | 12:39 | |
TimToady, no idea whether this commit is right or wrong :) You be the judge :) github.com/perl6/doc/commit/485645...e78a3fcca5 | |||
12:39
ZoffixWork left
12:40
Ven joined
12:41
JimmyZ joined
|
|||
ilmari | m: my $foo = foo; my @bar = <bar blat>; say «$foo @bar baz» | 12:41 | |
camelia | rakudo-moar 32ce65: OUTPUT«5===SORRY!5=== Error while compiling /tmp/L990QZYSAyUndeclared routine: foo used at line 1» | ||
ilmari | m: my $foo = 'foo'; my @bar = <bar blat>; say «$foo @bar baz» | ||
camelia | rakudo-moar 32ce65: OUTPUT«(foo @bar baz)» | ||
psch | m: my $foo = 'foo'; my @bar = <bar blat>; say «$foo @bar[] baz» | 12:43 | |
camelia | rakudo-moar 32ce65: OUTPUT«(foo bar blat baz)» | ||
12:43
abraxxa left
12:47
tokuhiro_ left
12:48
laouji left
|
|||
moritz | m: my $foo = 'foo'; my @bar = <bar blat>; say «$foo @bar[] baz».perl | 12:52 | |
camelia | rakudo-moar 32ce65: OUTPUT«("foo", "bar", "blat", "baz")» | ||
12:52
Loren joined
13:01
abraxxa joined
13:10
skids joined
13:12
rurban joined
13:18
Ven left
|
|||
dalek | kudo/nom: 7a2b4a8 | peschwa++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java: Fix PositionalBindFailover binding code. |
13:25 | |
psch | progress \o/ | 13:26 | |
13:26
larion left
|
|||
moritz | \o/ | 13:26 | |
psch++ | |||
psch | there's two more things that are probably behind a lot of test failures | 13:27 | |
13:27
hernanGOA joined
|
|||
psch | one is the mystery StackOverflowError, the other is the allomorph mishandling | 13:28 | |
(and then there's of course the written-with-assumed-hash-element-ordering tests...) | |||
13:28
Ven joined
13:29
Ven left
|
|||
moritz | those need fixing, yes | 13:31 | |
13:31
larion joined
13:34
sufrostico joined
13:39
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
dalek | kudo-star-daily: 904d162 | coke++ | log/ (2 files): today (automated commit) |
13:40 | |
[Coke] | moritz: is docs.perl6.org a mojo5 app at the moment? | 13:41 | |
13:41
thou joined
|
|||
[Coke] | or is it a static site? | 13:42 | |
wondering how we'd do the 404. | |||
[ptc] | [Coke]: I believe it's a mojo5 app | ||
[Coke]: no, sorry, it's not. The mojo5 app is for local use | 13:43 | ||
[Coke]: the files get copied to the server via rsync and thus it's just a static site | |||
moritz | [Coke]: it's a static page | 13:45 | |
[Coke]: and 404 pages can be just a 404.html, and I can tell Apache to use that as the error document | |||
13:46
thou left
13:47
tokuhiro_ joined
|
|||
moritz idle wonders if he should name his facade classes "ThingFaçade", just to annoy cow-orkers :-) | 13:48 | ||
psch | r: say [max]() | 13:49 | |
camelia | rakudo-moar 32ce65: OUTPUT«-Inf» | ||
..rakudo-jvm 32ce65: OUTPUT«Too few positionals passed; expected 1 arguments but got 0 in block <unit> at /tmp/tmpfile:1» | |||
psch | r: my @a; say @a.max | 13:50 | |
13:50
andreoss left
|
|||
camelia | rakudo-{moar,jvm} 32ce65: OUTPUT«-Inf» | 13:50 | |
psch | r: say ().WHAT | 13:51 | |
camelia | rakudo-{moar,jvm} 32ce65: OUTPUT«(List)» | ||
psch | r: sub f(@a) { say @a.WHAT }; f () | ||
camelia | rakudo-{moar,jvm} 32ce65: OUTPUT«(List)» | ||
13:52
tokuhiro_ left,
Ven joined
|
|||
[Coke] | moritz: ok. I'll add a 404.html at some point today, and you can do the apache magic? | 13:54 | |
moritz | [Coke]: sure | 13:55 | |
dalek | c: ec82f33 | (David H. Adler)++ | lib/Language/control.pod: Added docs for with/without =head3 under the =head2 for C<if> |
||
13:55
dalek left
13:56
dalek joined,
ChanServ sets mode: +v dalek
|
|||
dalek | kudo/nom: 61022e7 | FROGGS++ | / (3 files): make C++ NativeCall tests work on darwin Sadly clang and gcc cannot export symbols of purely virtual functions when the implementation of the function (or rather method) is inside of the class body. |
13:57 | |
13:58
PerlJam joined,
nucp6 joined
|
|||
psch | oh | 13:59 | |
that's the new param thingy, +args | |||
can't even catch up before new bugs get introduced /o\ | |||
nucp6 | hi perl6 | ||
psch | hi nucp6 o/ | ||
14:03
telex left,
telex joined
|
|||
Ven | FROGGS: do you need me to test some stuff:)? | 14:04 | |
14:05
aborazmeh left
|
|||
Ven | heh, I guess I can abstract "if %a<b>:exists { $_ = %a<b>; }" into `with %a<b>`, if I'm sure the key isn't null | 14:06 | |
14:06
rurban left
|
|||
moritz | s/abstract/simplify/ | 14:07 | |
14:09
carlin left,
cognominal left
|
|||
lizmat | m: my %h = a => Any; say h<a>:exists; .say with %h<a> | 14:10 | |
camelia | rakudo-moar 7a2b4a: OUTPUT«5===SORRY!5=== Error while compiling /tmp/CuRF8wGxVcUndeclared routine: h used at line 1» | ||
lizmat | m: my %h = a => Any; say %h<a>:exists; .say with %h<a> | ||
camelia | rakudo-moar 7a2b4a: OUTPUT«True» | ||
lizmat | Ven ^^^ *and* the value is defined :- | ||
) | |||
FROGGS | Ven: would be nice if you could pull rakudo and run 'make test', the two C++ tests should now pass | ||
moritz | lizmat: I guess that's what Ven meant with "if the kye isn't null" | ||
Ven | moritz: yar. not sure why I put that word there | ||
also yes, "null" was meant for Nil/general undefinedness | 14:11 | ||
FROGGS: am doing it :) | |||
14:12
Sqirrel_ left,
pyrimidi_ joined
14:15
telex left
14:16
telex joined
|
|||
nucp6 | racudo: 29*1 | 14:16 | |
. | |||
14:16
Sqirrel joined
|
|||
moritz | m: say 29 * 1; # for nucp6 | 14:17 | |
camelia | rakudo-moar 7a2b4a: OUTPUT«29» | ||
14:18
thou joined
|
|||
nucp6 | thx moritz :) | 14:18 | |
dalek | kudo/nom: b94b49d | peschwa++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java: Implement one-arg slurpies for the jvm. |
14:19 | |
psch | r: say [max]() # fixes this, soonish probably | ||
camelia | rakudo-jvm 7a2b4a: OUTPUT«Too few positionals passed; expected 1 arguments but got 0 in block <unit> at /tmp/tmpfile:1» | ||
..rakudo-moar 7a2b4a: OUTPUT«-Inf» | |||
psch | and when the spectest is clean i get to fix the interop list handling \o/ | 14:20 | |
FROGGS | spectest clean? | ||
psch | eventually, hopefully :P | 14:21 | |
FROGGS | psch: how many spectest files are left? | ||
psch | FROGGS: something between 55 and 70 i guess | 14:22 | |
14:22
telex left
|
|||
psch | FROGGS: i'm running spectest now after the onearg slurpies | 14:22 | |
FROGGS | k | ||
14:22
telex joined
|
|||
psch | FROGGS: eh, upper bound is actually 68, that's from before the onearg slurpies | 14:22 | |
14:22
morjo left
|
|||
psch | FROGGS: i'm pretty confident at least 4 or 5 files is hash ordering, i.e. bad tests | 14:23 | |
FROGGS | psch: can you gist the summary then? | ||
bbiab & | |||
psch | FROGGS: sure, i'll gist the new one after this run | ||
14:23
FROGGS left
14:25
pyrimidi_ is now known as pyrimidine
14:26
MilkmanDan joined
|
|||
Ven | .tell FROGGS t/04-nativecall/13-cpp-mangling.t .... ok | 14:34 | |
yoleaux | Ven: I'll pass your message to FROGGS. | ||
14:46
telex left
14:47
telex joined
14:49
tokuhiro_ joined
14:51
FROGGS joined
14:53
khw joined
|
|||
FROGGS | \o/ | 14:53 | |
yoleaux | 14:34Z <Ven> FROGGS: t/04-nativecall/13-cpp-mangling.t .... ok | ||
14:53
tokuhiro_ left
|
|||
[Coke] | anyone else "the regex guy" at work? | 14:53 | |
Ven | FROGGS++ | ||
[Coke] | release today! Make sure Changelog keeps up to date. Don't sneak in any last minute big changes. | 14:54 | |
psch held a 2h regex workshop at one job | |||
FROGGS | [Coke]: customers even call and say: I just need to talk to somebody sane about regexes... | ||
geekosaur | implied contradiction? | 14:55 | |
PerlJam | "sane" and "regexes" are often mutually exclusive (See Damian ;) | ||
TimToady just snuck in a last-minute big change, and hasn't been updating the Changelog :) | |||
lizmat looking forward to that entry :-) | |||
geekosaur | (and yes, I am very much "the regex guy" at work and elsewhere) | 14:56 | |
PerlJam | TimToady: I think 63a883fccec95c692b1fd4b3f4f6e5b641dab5a7 broke panda (But I don't understand the difference between +args and *args yet) | ||
[Coke] | TimToady: I think everyone is used to you cheating. :P | ||
TimToady: tell you what, let me know when you think it's safe to release with your latest stuff. :) | 14:57 | ||
TimToady | you might need to throw a flat in somewhere on one of the affected listops | ||
PerlJam | aye, that's what I'm thinking. | ||
TimToady | less likely, itemize a one-arg argument | ||
jdv79 | what big change? | 14:58 | |
14:58
cognominal joined
|
|||
PerlJam | So, *foo is a "flattening slurpy" and +foo does no flattening? | 14:59 | |
[Coke] tries to get a key for the release. (PGP will only build on PowerPC Macs.) wow, that's showing its age. | |||
TimToady | +foo is one-arg semantics | ||
so it's more like **, but if there's a single arg, expands it to be multiple (unless itemized) | |||
PerlJam | ok | 15:00 | |
FROGGS | I guess that's what I only can understand through examples | ||
TimToady | or looking at it the other way, it always takes the rest of the argument list as a single thing to be iterated, and sometimes the top-level iteration is commas, and sometimes it's just some object | 15:01 | |
15:01
nucp6 left
|
|||
TimToady | m: sub foo (+@args) { say @args.elems }; foo [1..4]; foo [1..4],2 | 15:02 | |
camelia | rakudo-moar b94b49: OUTPUT«42» | ||
TimToady | there's some examples | ||
that's the caching form; here's the non-caching form: | 15:03 | ||
m: sub foo (+args) { say args.elems }; foo [1..4]; foo [1..4],2 | |||
camelia | rakudo-moar b94b49: OUTPUT«42» | ||
PerlJam | m: sub foo (*@args) { say @args.elems }; foo [1..4]; foo [1..4],2; # a contrasting example for me (should be 4,5 I think) | 15:04 | |
camelia | rakudo-moar b94b49: OUTPUT«45» | ||
PerlJam | cool | ||
TimToady | at least, it's supposed to be non-caching, haven't actually tested that :) | ||
skids | FROGGS: The +@args replaces the first box of code currently at doc.perl6.org/language/functions#Sl...onventions and the +args does the same thing but gives you a one-shot Seq so you can handle massive things with low memory. | ||
FROGGS | .tell jnthn How hard would it be to allow rw attributes on CStructs? | ||
yoleaux | FROGGS: I'll pass your message to jnthn. | ||
[Coke] | when creating a key to sign releases with, should I pick a key with an expiration date? | 15:07 | |
lizmat is looking at #126073 trying to get it fixed before release | 15:08 | ||
[Coke] | lizmat++ | 15:10 | |
Ven reads about + | 15:13 | ||
Ven doesn't get the difference between +a and +@a yet :) | 15:14 | ||
is + a ... pregil? | |||
psch | FROGGS: 54 files show up in the summary, but at least one is a TODO PASS | ||
TimToady | it's a slurpy | ||
psch | gisting it now... | ||
15:14
diana_olhovik_ left
|
|||
Ven | right. * would have to be considered a pregil for + to even be. | 15:14 | |
it's a funny word, though :P. | |||
psch | gist.github.com/peschwa/90c8dcc516ea934a17be # latest j-spectest, for the curious | 15:15 | |
Ven | so, *@a is non-flattening, **@a is total-flattening, and +@a/+a is one-arg-rule-style flattening..? | ||
FROGGS | psch: thanks | ||
TimToady | you got * and ** backwards | ||
Ven | whoops. thanks. | 15:16 | |
psch | not happy about all the "Bad plan"s :/ | ||
cause that's usually leaking jvm-level stuff | |||
Ven | I wonder why you didn't go with *** and label 6.0 "Dancing with the stars" *g* | ||
dalek | kudo/nom: 0fca4dc | coke++ | docs/release_guide.pod: fix typo |
||
kudo/nom: bcde489 | coke++ | docs/release_guide.pod: use moar Unicode |
|||
skids | m: sub f(+a) { a.WHAT.say }; f((1,2,3).grep({$_})); # not Seq? | 15:19 | |
camelia | rakudo-moar b94b49: OUTPUT«(List)» | ||
TimToady | patches welcome :) | 15:20 | |
skids | :-) | 15:21 | |
15:22
Loren left
|
|||
psch | r: my ::foo $x; | 15:24 | |
camelia | ( no output ) | ||
psch | r: my ::foo $x, say $x | ||
camelia | rakudo-jvm b94b49: OUTPUT«java.lang.RuntimeException: java.lang.StackOverflowError» | ||
..rakudo-moar b94b49: OUTPUT«Method 'gist' not found for invocant of class 'foo' in block <unit> at /tmp/tmpfile:1» | |||
psch | r: my $x, say $x | 15:25 | |
camelia | rakudo-{moar,jvm} b94b49: OUTPUT«(Any)» | ||
rindolf | Hi all. paste.debian.net/312188/ - this code gives me Method 'count' not found for invocant of class 'Range' | 15:27 | |
in block <unit> at prob329-shlomif.p6:28 | |||
- what should I do? | |||
Anyone? | 15:32 | ||
15:33
telex left,
telex joined
|
|||
[Coke] | First, patience. | 15:35 | |
PerlJam | rindolf: are you using a recent version of rakudo? | ||
rindolf | PerlJam: possibly not. | ||
PerlJam: let me upgrade. | |||
[Coke] | I get a different error. | ||
Cannot call map(Block: Range); none of these signatures match: | 15:36 | ||
m: map { 1.say }: 1..2 | 15:37 | ||
camelia | rakudo-moar b94b49: OUTPUT«Cannot call map(Block: Range); none of these signatures match: (\SELF: █; :$label, :$item, *%_) (HyperIterable:D $: █; :$label, *%_) in block <unit> at /tmp/UkqDfSZuT3:1» | ||
rindolf | m: map { 1.say }: (1,2,3) | ||
camelia | rakudo-moar b94b49: OUTPUT«Cannot call map(Block: List); none of these signatures match: (\SELF: █; :$label, :$item, *%_) (HyperIterable:D $: █; :$label, *%_) in block <unit> at /tmp/9ldDRUOstN:1» | ||
[Coke] | m: map { 1.say }, 1..2 | ||
camelia | rakudo-moar b94b49: OUTPUT«11» | ||
[Coke] | ^^ you'll need to change that, also. | 15:38 | |
line 34 | |||
15:38
larion left
|
|||
PerlJam | or use the indirect object notation correctly :) | 15:38 | |
m: (1..2).map: { .say }; | 15:39 | ||
camelia | rakudo-moar b94b49: OUTPUT«12» | ||
lizmat | m: Supply.new.grep(1).grep(1).unique.tap: *.say # shortest golf for #126073 so far | ||
camelia | rakudo-moar b94b49: OUTPUT«Memory allocation failed; could not allocate 58608 bytes» | ||
[Coke] | ... and then there's a ton of uninitialized value warnings, and it dies with an another error. | ||
lizmat | it needs two greps, 1 unique and a tap to go into never never land | ||
even *without* any value needing to be emitted | 15:40 | ||
dalek | c: 591a8a5 | TimToady++ | lib/Language/modules.pod: Revert "Added note that raw license copy/paste needs modification of copyright owner" This reverts commit 48564569710f175d8baa61b4ef1038e78a3fcca5. As Zoffix++ suspected, the copyright is on the license itself, not on what is being licensed. |
||
rindolf | [Coke]: done. | 15:42 | |
FROGGS finally starts to work on XML::Compile | 15:43 | ||
dakkar | FROGGS: in perl6? are you going to bind libxml2? | ||
(because I started looking into libxml and libxslt bindings) | |||
|Tux| | FROGGS, markov's suite? | ||
FROGGS | |Tux|: aye | 15:44 | |
|Tux| | FROGGS++; # brave guy | ||
FROGGS | dakkar: have already started ages ago | ||
rindolf | [Coke], PerlJam : thanks! I mixed up ":" and "," - now can you please tell me how to get a list/array/etc. of characters from a string ? .chars() only does a count, and .split('') adds an empty string at beginning and end. | ||
PerlJam | m: "string".comb.perl; | 15:45 | |
lizmat | m: Supply.new.grep(1).grep(1).unique.tap # even shorter, jnthn any ideas on what might going on here ? | ||
camelia | ( no output ) | ||
rakudo-moar b94b49: OUTPUT«Memory allocation failed; could not allocate 640 bytes» | |||
FROGGS | dakkar: well, months, the basics work... now I want to start to work on XML::Compile to see what is needed from XML::LibXML and how it is used | ||
dakkar | FROGGS: I'm clearly not paying enough attention :) link? | ||
PerlJam | m: "string".comb.say.perl; | ||
camelia | rakudo-moar b94b49: OUTPUT«(s t r i n g)» | ||
FROGGS | ... to get the interface straight | ||
PerlJam | blah | ||
rindolf: anyway ... use comb | |||
dakkar | I was going to mirror Shlomy's work for the perl5 bindings | ||
FROGGS | dakkar: github.com/FROGGS/p6-XML-LibXML # though I've got unpushed changes.... | ||
dakkar | Shlomi, even | ||
FROGGS | dakkar: if you intend to look more closely, I'll push more often | 15:46 | |
rindolf | dakkar: I am Shlomi Fish. | ||
dakkar | rindolf: hi! | ||
rindolf | dakkar: hi. | ||
dakkar | sorry for mistyping your name | ||
FROGGS: www.thenautilus.net/cgit/WebCoso-p.../LibXML.pm ← that's my exploratory attempt | 15:47 | ||
dalek | pan style="color: #395be5">perl6-examples: f1f8dc8 | (Shlomi Fish)++ | categories/euler/prob329-shlomif.p6: Add a solution to Euler #329 |
15:48 | |
FROGGS | dakkar: nice | ||
dakkar | I was aiming to get the same API in perl5 and perl6 (eventually) | 15:49 | |
dalek | p: d96dcc1 | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (3 files): Split cclass ops into a separate file. |
15:50 | |
p: 84386f3 | (Pawel Murias)++ | src/vm/js/nqp-runtime/nfa.js: [js] fix nfa bug |
|||
p: d3b3e62 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp: [js] Fix regex bugs. |
|||
rindolf | OK, it's working now and even runs under a minute here. | ||
15:50
domidumont left
|
|||
rindolf | But my machine is pretty fast. | 15:50 | |
TimToady | skids: actually, I think I know how to fix the Seq thing | ||
PerlJam | rindolf: maybe make youre #! line say "/usr/bin/perl6" or "/usr/bin/env perl6" instead of "/usr/bin/perl" :-) | 15:51 | |
15:52
frodwith joined
|
|||
rindolf | PerlJam: sure. | 15:52 | |
FROGGS | dakkar: I hope to not end up with the same api as in P5, because for one it is not very Perl 6ish and some stuff is just weird | ||
15:52
pmurias joined
|
|||
rindolf | paste.debian.net/312199/ - seems like Perl 5 and Perl 6 execute it in roughly the same time. | 15:52 | |
tony-o | PerlJam++ on the env thing | 15:53 | |
FROGGS | dakkar: like I think that parse_string, parse_file, parse_fh etc etc do not make much sense in Perl 6 | 15:54 | |
dakkar: I can give you a commit bit if you want... | |||
dinner & | |||
15:55
travis-ci joined
|
|||
travis-ci | NQP build passed. Pawel Murias '[js] Fix regex bugs.' | 15:55 | |
travis-ci.org/perl6/nqp/builds/80855483 github.com/perl6/nqp/compare/47408...b3e62e41b2 | |||
15:55
travis-ci left
|
|||
dalek | pan style="color: #395be5">perl6-examples: 3974007 | (Shlomi Fish)++ | categories/euler/prob329-shlomif.p6: Correct she-bang and use v6. |
15:55 | |
rindolf | PerlJam: thanks! | ||
dakkar | FROGGS: agree, we have multi-methods now ☺ I was mostly thinking about all the other methods and classes | 15:56 | |
nine | lizmat: endless recursion in live | 16:01 | |
lizmat: called from add_source | 16:02 | ||
16:03
perl6_newbee joined,
pmurias left,
andreoss joined
|
|||
lizmat | nine L823 ? | 16:04 | |
16:05
Ven left
|
|||
nine | lizmat: yes, looks like it | 16:05 | |
andreoss | perlbrew's exec runs command for each of perls, rakudbrews's exec runs it only for currently selected compiler | ||
i believe it's wrong | |||
can rakudobrew run command for all compilers? | 16:06 | ||
lizmat | nine: think I found t | 16:10 | |
nine | cool :) | ||
lizmat | SupplyOperations, L48: I think it should refer to the source tap, not to the source | 16:12 | |
L148 rather | |||
nine | Sounds reasonable | 16:13 | |
dalek | ast: c2c13fb | TimToady++ | S06-signature/slurpy-params.t: make sure +args passes through Seq directly |
||
lizmat | hmmm.. wrong :-( | ||
dalek | kudo/nom: 25c8d24 | TimToady++ | src/core/List.pm: +args should bind a Seq directly, not via List |
16:15 | |
lizmat | m: Supply.new.flat.flat.squish.tap # weirder still, then maybe not | 16:17 | |
camelia | rakudo-moar bcde48: OUTPUT«Memory allocation failed; could not allocate 58608 bytes» | ||
16:17
larion joined
|
|||
lizmat | if we have 2 identical methods out of SupplyOperations, followed by one from Supply, and tap that, this happens | 16:17 | |
feels like a scoping issue on the SupplyOperations methods | 16:18 | ||
moritz | does SupplyOperations uses roles that reference outer lexicals? | ||
lizmat | yes to roles, but I don't see any outer lexical references (yet) | 16:19 | |
16:19
telex left
16:20
Sqirrel left,
telex joined
|
|||
nine | lizmat: method live in SupplyOperations does indeed access the outer lexical scope | 16:21 | |
timotimo | are they supposed to scope over any lexicals? | ||
don't we usually have to push values in through the parameters? | |||
nine | $source is the argument of grep, not available in the anonymous class | ||
timotimo | i've recently been taught classes don't do closure semantics | ||
nine | exactly that's the problem here | 16:22 | |
lizmat | ah, duh... | ||
nine | Should be $!source, not $source | ||
lizmat is testing | 16:23 | ||
nine | Confirmed, bug fixed :) | ||
timotimo | nice | 16:24 | |
good job | |||
timotimo afk for a bit | |||
nine | moritz++ # excellent hint! | ||
lizmat | thanks all: will commit fix (to other methods that suffer the same issue) | ||
dalek | rl6-roast-data: f791d0f | coke++ | / (9 files): today (automated commit) |
16:30 | |
[Coke] | tools/contributors.pl6 is broken. | 16:32 | |
needs some post-GLR love. | |||
lizmat | [Coke]: will do | ||
16:33
vendethiel joined
|
|||
thou | hi, i'm wanting to do something like $match = Perl6::Grammar.parse($src); then use the parse to read out a list of identifiers, method names, pod chunks, etc. for making an indexed code browser. I've looked at Rakudo::Perl6::Parsing module but it's not working and seems to be a tough way to go (mucking with nqp-level stuff). Is there a better way to go about this? | 16:33 | |
dalek | kudo/nom: d25a07a | lizmat++ | src/core/SupplyOperations.pm: Fix for RT #126073 Problem was caused by thinko: when checking for a live source, the anonymous class should check the attribute, not the original parameter being passed. nine++ moritz++ timotimo++ for support in fixing this bug |
16:35 | |
timotimo | the grammar class is unable to function without the actions and a world object | ||
and then you will have something that also runs begin blocks and such | |||
dalek | kudo/nom: fb9f788 | lizmat++ | src/core/IO/Notification.pm: Add convenience .IO to .IO.watch generated objects |
16:36 | |
timotimo | thou, i have no good suggestion sadly | 16:37 | |
but if you take care to properly handle quoting, you can basically just do a simple search through the code i imagine | 16:38 | ||
nine | Perl cannot be properly parsed without running Perl code. That's been true for Perl 5 and is still true with Perl 6. It's where much of its power comes from. | 16:40 | |
16:41
larion left
|
|||
thou | Yeah, I was thinking of making a custom :actions() that would generate something more accessible, but I'm not sure how to proceed w/ that. | 16:41 | |
Or run STD from Inline::Perl5 and get something from there? :-D | 16:42 | ||
16:44
telex left
16:45
telex joined,
espadrine left
|
|||
nine | thou: that would probably have been the very last use case I could have come up with for Inline::Perl5 ;) | 16:45 | |
16:48
spider-mario joined
|
|||
vendethiel | timotimo: another way would be to wait until runtim e and collect info there | 16:49 | |
16:50
tokuhiro_ joined,
dakkar left
16:52
abraxxa left
|
|||
dalek | kudo/nom: 3dfa856 | TimToady++ | src/core/List.pm: call .cache on Seq if +@args used Also, avoid returns in hot code. |
16:52 | |
ast: a78f857 | TimToady++ | S06-signature/slurpy-params.t: test +args vs +@args distinctions +@args must be repeatable, while +args must not be |
16:53 | ||
16:54
tokuhiro_ left
16:55
patrickz joined
|
|||
masak | evening, #perl6 | 16:58 | |
dalek | ast: 3165b8c | lizmat++ | S17-supply/on.t: Add test for #126073 |
17:00 | |
patrickz | Hi. I'm currently trying to build MoarVM on Windows using MSVC. It builds successfully, but the resulting moar.exe fails with exitcode -1073741819 when doing `MoarVM\moar.exe --libpath="src/vm/moar/stage0" "src/vm/moar/stage0/nqp.moarvm" -e "print('hi')"` | ||
yoleaux | 12:18Z <tadzik> patrickz: ok, I'll look into it :) | ||
patrickz | When running without arguments it does give the usage. | ||
17:01
tokuhiro_ joined
|
|||
patrickz | Giving wrong paths for libpath or the nqp.moarvm file gives error messages. | 17:01 | |
I suspect it's failing on some higher level but I have no idea how to look deeper. Any hints/ideas? | 17:02 | ||
tokuhiro_: plenv is quite an awesome tool. Thanks for building it! | |||
lizmat | [Coke]: will look at contributors.pl after dinner& | 17:03 | |
patrickz | tokuhiro_: I'm currently trying to mimic some of it for Perl6 in rakudobrew | ||
17:06
tokuhiro_ left
|
|||
[Coke] | lizmat++ | 17:08 | |
17:13
zakharyas left
|
|||
cdc | /pos | 17:16 | |
17:16
muraiki joined
17:20
espadrine joined
17:24
thou left,
thou joined
17:25
espadrine left
17:30
lichtkind joined
17:34
Sqirrel joined
17:35
thou left
17:36
domidumont joined
|
|||
dalek | kudo/nom: 25fed44 | TimToady++ | docs/ChangeLog: added TimToady changes since last release |
17:36 | |
TimToady has been busy... | 17:37 | ||
muraiki | "New `supply`, `whenever` and `react` blocks for easy reactive programming" neat | 17:38 | |
where can I find more info on those :D | |||
flussence | just noticed in the backlog a mention about `cpupower frequency-set -g performance`... I just have a shell alias that does `echo performance | sudo tee /sys/devices/system/cpu/*/cpufreq/scaling_governor` for the same result, if that helps anyone :) | ||
(on gentoo, installing cpupower downloads an entire kernel tarball...) | |||
moritz | m: say 42 | 17:39 | |
camelia | rakudo-moar 3dfa85: OUTPUT«42» | ||
moritz | m: say 42say 43 | ||
camelia | rakudo-moar 3dfa85: OUTPUT«5===SORRY!5=== Error while compiling /tmp/sQcATCcOCMBogus postfixat /tmp/sQcATCcOCM:2------> 3say 427⏏5<EOL> expecting any of: infix infix stopper postfix statement end statement mo…» | ||
moritz | TimToady: ^^ have you seen that error message? | ||
17:39
Ven joined
|
|||
moritz | TimToady: I'm pretty sure it used to say something like "two terms in a row" and hint that there might be a forgotten semicolon | 17:39 | |
TimToady | yeah, I remember you mentioned it before | 17:40 | |
moritz | ok, then I'll stop bugging you :-) | ||
TimToady | it's in my personal todo | 17:41 | |
17:41
patrickz left
|
|||
moritz | are +arg and +@arg in a signature the same? | 17:42 | |
TimToady | the latter caches | 17:43 | |
moritz | ok | ||
TimToady | there's even tests for it now :) | ||
moritz | m: sub f(+@arg) { say @arg }; f() | ||
camelia | rakudo-moar 3dfa85: OUTPUT«[]» | ||
moritz had hoped for a "slurpy but at least one argument" syntax, and that would naturally have been +@arg | |||
17:44
Ven left
|
|||
TimToady | I decided this was worth stealing the + for | 17:44 | |
there wasn't really any other good character left on the keyboard, and I got tired of typing *| | 17:45 | ||
and it just looks a lot cleaner | |||
FROGGS | TimToady: do you also have the feeling that current rakudo+roast (including GMR) feels pretty RC0ish? | 17:46 | |
17:46
patrickz joined
17:48
perl6_newbee left,
mullagainn joined
|
|||
mullagainn | so DBI has not been ported to perl6 yet? | 17:48 | |
FROGGS | mullagainn: only DBIish | 17:49 | |
mullagainn | ok | ||
ilmari | or you can use DBI via Inline::Perl5 | ||
mullagainn | I know this question is asked a lot, but when will rakudo be stable? | 17:50 | |
jnthn | Stability (e.g. "won't break my code a few months down the line") is more a property of the language than the implementation | 17:51 | |
yoleaux | 15:04Z <FROGGS> jnthn: How hard would it be to allow rw attributes on CStructs? | ||
17:51
telex left
|
|||
FROGGS | that too, yes | 17:51 | |
17:51
telex joined
|
|||
jnthn | So "when the language design is", and that's what we're aiming to commit to by December this year. | 17:51 | |
mullagainn | well let me re-phrase. When will it be production ready? | ||
jnthn | Given a bunch of people already seem to be using it in production, "now"? :) | 17:52 | |
mullagainn | ok, so finalization of the language hopes to be done by December | ||
Oh, I did not know that | |||
flussence | .oO( has DBDI gone the way of parrot? ) |
||
FROGGS | mullagainn: given that we are preparing "The Release™", i expect that all will settle down in the next three months | 17:54 | |
jnthn | mullagainn: Trouble is that people's requirements for "production ready" vary a good bit. But are people using it to do stuff useful to their $dayjob? Sure. | ||
colomon has actually been using p6 to do useful $dayjob work for about six years now… | 17:55 | ||
mullagainn | I dont see a lot of XS modules out there. | 17:56 | |
muraiki | yeah, "production ready varies." I've found a few bugs but am essentially using p6 in production (well, I will be once this product launches) | ||
TimToady | XS modules may only be accessed via Inline::Perl5 | 17:57 | |
Perl 6 has a different way to get to C | |||
mullagainn | oh ok | ||
TimToady | much, much cleaner | ||
17:58
Sqirrel_ joined
|
|||
muraiki | yeah, the perl6 C stuff is hardcore | 17:58 | |
17:58
Sqirrel_ left
|
|||
muraiki | a beauty to behold | 17:58 | |
mullagainn | yeah. I use a lot of it though | ||
17:58
Sqirrel_ joined
|
|||
mullagainn | SNMP vs Net::SNMP is about a 300% difference in speed | 17:58 | |
arnsholt | NativeCall (the C interaction stuff) is similar to Python's cffi, if you're familiar | ||
17:59
Sqirrel left
|
|||
_itz | or perl5 NCI | 17:59 | |
muraiki | mullagainn: github.com/jnthn/zavolaj#getting-started | 18:00 | |
skids | ergh now I'm reminded that in addition to multidim and the new async stuff I also wanted to check out the new C++ thing. Much indecision. | ||
mullagainn | So are there any major performance upgrades in p6, specifically in the realm of network io? | 18:01 | |
FROGGS | mullagainn: we currently focus more on getting the semantics right... I expect that we care more about performance in a few months, not much earlier | 18:02 | |
mullagainn | That is actually a really bad question lol. | ||
poorly worded i guess. | |||
skids | More potential for performance than actually-optimized so far. But the async code is likely to work out well in that area. | ||
mullagainn | I have been using async for years in p5. | 18:03 | |
raiph | mullagainn: have you tried using Inline::Perl5 with one or more of the XS modules you regularly use with Perl 5? | ||
mullagainn | But for almost everything I have to handle everything myself. | ||
No. I am really just trying to learn more before I get started. | 18:04 | ||
Kind of assess my challenges. | |||
muraiki | coming from perl5, the async stuff in perl6 is, in my opinion, the best part :) | ||
mullagainn | and at least we get real threads now :) | 18:05 | |
raiph | mullagainn: it would be very helpful to the P6 effort, even if not to yourself, if you simply hammered on being able to use your existing P5 mainstays with P6 | ||
mullagainn | Oh like re-writing all those modules I know and love? | 18:06 | |
muraiki | I should try loading our p5 stack via Inline::Perl5 again. I made it fairly far a few months ago... but something was causing it to die | ||
mullagainn: no, you can simply use them via Inline::Perl5 | |||
skids | mullagin: no just trying to use them with Inline::Perl5 and keeping nine++ very busy fixing anything that's broke :-) | ||
muraiki | I was using Perl 5's YAML in Perl 6 without a problem | ||
raiph | mullagainn: and in particular seeing if you can wrap P6 PAC (parallelism/async/concurrency) around your existing P5 codebase | ||
muraiki | raiph: I think that's where my things started exploding | ||
mullagainn | hmm, that is a good idea | 18:07 | |
any good reads on p6 PAC? | 18:08 | ||
raiph | www.reddit.com/r/perl6/comments/3i...in_perl_6/ | ||
mullagainn | What is all this in the Rakudo Readme about Java? | 18:10 | |
18:11
Peter_R joined
|
|||
nine | muraiki: I still don't know if I need to adapt Inline::Perl5 better to the post GLR world. I works fine, but Perl 5 APIs may have become a bit more difficult to use due to the new (non-)flattening rules. | 18:11 | |
muraiki: feedback would be greatly appreciated | |||
raiph | mullagainn: in the near term the Rakudo Perl 6 compiler is focused on running on a VM designed for P6 called MoarVM | 18:12 | |
mullagainn | what on earth is that? | 18:13 | |
raiph | mullagainn: you could treat that as an unimportant implementation detail if you prefer | ||
moarvm.org | 18:14 | ||
jnthn | mullagainn: Rakudo can target different VMs; one of them is the JVM. | ||
If you don't want to do that, you can ignore those bits of the README :) | 18:15 | ||
raiph | mullagainn: what are some examples of the P5 XS modules you regularly use? | 18:17 | |
mullagainn | SNMP (which is packaged in the net-snmp toolset) | 18:18 | |
JSON::XS | |||
[Coke] | (christmas) we need to decide what platforms we are officially targeting, also, as we don't have parity on OS X at the moment. | ||
mullagainn | Redis::Fast | ||
jnthn | [Coke]: In what areas, ooc? | 18:19 | |
raiph | mullagainn: Could you try, say, JSON::XS with your Rakudo and confirm it works fine for you? | ||
mullagainn | yes, I am compiling Rakudo now | 18:20 | |
want me to pm you or group? | |||
tony-o | i'd be interested to know | ||
mullagainn | k | 18:21 | |
18:23
leont joined
|
|||
FROGGS | [Coke]: I'd think we target windows, linux and osx (64bits, as usual) mainly | 18:24 | |
[Coke] | jnthn: many nativecall failures in make test. | ||
raiph | mullagainn: to this channel at least at first | ||
mullagainn | getting issues using panda | ||
Use of uninitialized value of type Str in string context in method update at | |||
[Coke] | rt.perl.org/Ticket/Display.html?id=124351 | ||
FROGGS | [Coke]: isnt there just one about an rt...? | 18:25 | |
[Coke]: weird... that did work on lizmat++'s box | |||
raiph | mullagainn: do you know about rakudobrew? | ||
[Coke] adds that one to the christmas ticket... | |||
mullagainn | I do not | ||
[Coke] | FROGGS: happy to give you more diagnostic info from my box. | ||
mullagainn | like perlbrew but p6? | 18:26 | |
[Coke] | I am on 10.10.5. Just updated xcode today, will double check that. | ||
FROGGS | [Coke]: ahh nvm, the original output is outdated... | ||
mullagainn | This is perl6 version 2015.07.2 built on MoarVM version 2015.07 | ||
FROGGS | [Coke]: t/04-nativecall/16-rt125408.t fails everywhere | ||
[Coke]: and the C++ tests do pass now | |||
raiph | mullagainn: sorta, perl6advent.wordpress.com/2014/12/...akudobrew/ | ||
[Coke] double checks. | 18:27 | ||
FROGGS | [Coke]: I'm going to look into t/04-nativecall/16-rt125408.t now | ||
[Coke]++ | |||
[Coke] | FROGGS++! | ||
muraiki | nine: sounds good, I'll hopefully have some time to test post-GLR Inline::Perl5 stuff soon | ||
[Coke] | FROGGS: closed 124351. | 18:29 | |
FROGGS | cool :o) | 18:30 | |
[Coke] | RT: 1,015 tickets; 3 [GLR] tickets, 3 Christmas blockers, 8 testneeded | ||
is there a consensus that RT should be for bugs, NYIs that are spec'd, but not for feature requests? | 18:33 | ||
moritz | FROGGS: I've notices there aren't any module loader changes in docs/ChangeLog | ||
FROGGS | moritz: ups | ||
moritz | FROGGS: is there anything user-visible worthy of a changelog entry? | 18:34 | |
[Coke] | (basically asking for RT #61602) | ||
FROGGS | I'll add a line | ||
[ptc] | m: my (1, -1 X 2, -2) | ||
camelia | rakudo-moar 25fed4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/b1e8BilGbfMalformed parameterat /tmp/b1e8BilGbf:1------> 3my (1,7⏏5 -1 X 2, -2) expecting any of: formal parameter» | ||
moritz | [Coke]: feature requests should be issues on perl6/specs on github | ||
[ptc] | m: my say(1, -1 X 2, -2) | ||
camelia | rakudo-moar 25fed4: OUTPUT«5===SORRY!5===Type 'say' is not declaredat /tmp/gAo_eL__sh:1------> 3my say7⏏5(1, -1 X 2, -2)Malformed myat /tmp/gAo_eL__sh:1------> 3my7⏏5 say(1, -1 X 2, -2)» | ||
[ptc] | m: say(1, -1 X 2, -2) | ||
camelia | rakudo-moar 25fed4: OUTPUT«((1 2) (1 -2) (-1 2) (-1 -2))» | ||
FROGGS | moritz: a user can now CompUnit.new(...).load | ||
[ptc] | m: say (1, -1 X 2, -2).flat | 18:35 | |
camelia | rakudo-moar 25fed4: OUTPUT«(1 2 1 -2 -1 2 -1 -2)» | ||
[Coke] | ok. I'm going to close 61602 with a final note pointing back to the already extant spec ticket. | ||
18:36
andreoss left
|
|||
FROGGS | uhh, github has issues | 18:37 | |
[Coke] | m: say :10(':16<99>') | ||
camelia | rakudo-moar 25fed4: OUTPUT«153» | ||
jnthn is glad to see TimToady++ decided the .gist behavior for allomorphs was just the string representation :) | 18:38 | ||
[Coke] | m: say :10('99'), :16('99'), :10('0x99'), :10(':16<99>') #RT #77624 | ||
camelia | rakudo-moar 25fed4: OUTPUT«99153153153» | ||
[Coke] | m: say (:10('99'), :16('99'), :10('0x99'), :10(':16<99>')).join(":") #RT #77624 | ||
camelia | rakudo-moar 25fed4: OUTPUT«99:153:153:153» | ||
[ptc] | m: (1, -1 X 2, -2), (2, -2 X 1, -1) | 18:39 | |
camelia | ( no output ) | ||
[ptc] | m: say (1, -1 X 2, -2), (2, -2 X 1, -1) | ||
camelia | rakudo-moar 25fed4: OUTPUT«((1 2) (1 -2) (-1 2) (-1 -2))((2 1) (2 -1) (-2 1) (-2 -1))» | ||
[ptc] | sorry for the mistakes; I must be tired... | 18:40 | |
any ideas how I could flatten that nicely? | |||
I've tried ((1, -1 X 2, -2).flat, (2, -2 X 1, -1).flat).flat which works, but is horrible... | |||
TimToady | jnthn: well, ShimmerFairy++ for pushing the allomorph stuff through | ||
moritz | m: say flat (1, -1 X 2, -2), (2, -2 X 1, -1) | ||
camelia | rakudo-moar 25fed4: OUTPUT«(1 2 1 -2 -1 2 -1 -2 2 1 2 -1 -2 1 -2 -1)» | ||
moritz | [ptc]: ^^ like this? | ||
[Coke] | m: say <1 2 3 4 5 10>.max | ||
camelia | rakudo-moar 25fed4: OUTPUT«10» | ||
jnthn | TimToady: Oh, indeed. I'm generally happy with it, just wasn't with that part :) | 18:41 | |
[ptc] | moritz: yes. I'm just blown away that I never stumbled across that option! | ||
[Coke] | m: <1 2 3>[2].WHAT.say | ||
camelia | rakudo-moar 25fed4: OUTPUT«(IntStr)» | ||
[ptc] | m: my @directions = (1, -1 X 2, -2), (2, -2 X 1, -1); say flat @directions | 18:42 | |
camelia | rakudo-moar 25fed4: OUTPUT«(((1 2) (1 -2) (-1 2) (-1 -2)) ((2 1) (2 -1) (-2 1) (-2 -1)))» | ||
[ptc] | moritz: ^^ that's the original problem I'm trying to solve. Maybe the code doesn't need to be an array anymore? | 18:43 | |
dalek | kudo/nom: 78c4805 | FROGGS++ | docs/ChangeLog: mention CompUnit changes, moritz++ |
||
moritz | m: my @directions = (1, -1 X 2, -2), (2, -2 X 1, -1); say flat |@directions | 18:44 | |
camelia | rakudo-moar 25fed4: OUTPUT«(((1 2) (1 -2) (-1 2) (-1 -2)) ((2 1) (2 -1) (-2 1) (-2 -1)))» | ||
moritz | huh | ||
m: my @directions = (1, -1 X 2, -2), (2, -2 X 1, -1); say @directions.flat | |||
camelia | rakudo-moar 25fed4: OUTPUT«(((1 2) (1 -2) (-1 2) (-1 -2)) ((2 1) (2 -1) (-2 1) (-2 -1)))» | ||
moritz thorougly surprised | |||
[ptc] | another question: why does .flat seem to work differently to the flat function? | ||
[Coke] | m: say ("foo" & "a nice old foo") ~~ /foo/ | 18:45 | |
camelia | rakudo-moar 25fed4: OUTPUT«「all(Failure.new(exception => X::OutOfRange.new(what => "Start argument to substr", got => "5", range => "0..3", comment => "use *5 if you want to index relative to the end"), backtrace => Backtrace.new), "e o")」» | ||
[ptc] | m: my $directions = (1, -1 X 2, -2), (2, -2 X 1, -1); say $directions.flat | ||
camelia | rakudo-moar 25fed4: OUTPUT«(1 2 1 -2 -1 2 -1 -2)» | ||
[ptc] | hrm, my rakudo doesn't give that output... | ||
jnthn | moritz: An Array already is flat, so it returns identity | ||
[ptc] thinks an update of rakudo is probably in order | |||
[Coke] | r: say "foo"[1..*] | 18:46 | |
camelia | rakudo-{moar,jvm} 25fed4: OUTPUT«()» | ||
[Coke] | r: say "foo"[2] | 18:47 | |
[ptc] | s/update/local update/ | ||
camelia | rakudo-{moar,jvm} 25fed4: OUTPUT«Index out of range. Is: 2, should be in 0..0 in block <unit> at /tmp/tmpfile:1Actually thrown at: in block <unit> at /tmp/tmpfile:1» | ||
[Coke] | r: say "foo"[2..*] | ||
camelia | rakudo-{moar,jvm} 25fed4: OUTPUT«()» | ||
raiph | mullagainn: I have a panda error following a rakudobrew refresh; investigating | ||
[Coke] | (RT #112216) | ||
m: use MONKEY_TYPING; augment class Any { method foo {say "FOO"}}; "barf".foo | 18:48 | ||
camelia | rakudo-moar 25fed4: OUTPUT«===SORRY!===Could not find MONKEY_TYPING in any of: file#/home/camelia/.perl6/2015.07.1-973-g25fed44/lib inst#/home/camelia/.perl6/2015.07.1-973-g25fed44 file#/home/camelia/rakudo-inst-2/share/perl6/lib file#/home/camelia/rakudo-inst-2/s…» | ||
[Coke] | m: use MONKEY-TYPING; augment class Any { method foo {say "FOO"}}; "barf".foo | ||
camelia | rakudo-moar 25fed4: OUTPUT«Method 'foo' not found for invocant of class 'Str' in block <unit> at /tmp/c5n5raKkz3:1» | ||
[Coke] | jnthn: ^^ should that work? | ||
(if not, please gently reject RT #115618) | 18:49 | ||
FROGGS | it would have to clear the method cache somehow, right? | ||
psch | for sub-classes even | ||
FROGGS | m: use MONKEY-TYPING; augment class Any { method foo {say "FOO"}}; augment class Str { }; "barf".foo | ||
camelia | rakudo-moar 25fed4: OUTPUT«FOO» | ||
psch | ISTR some discussion that it will never cascade downwards automatically | 18:50 | |
jnthn | [Coke]: Eventually, yes | ||
But we're not so smart at the cache invalidation yet | |||
psch probably misunderstood or misremembers the discussion then | |||
dalek | kudo/nom: f0044bc | (Stefan Seifert)++ | docs/ChangeLog: Add ChangeLog entry for backwards incompatible lines() fix |
18:51 | |
FROGGS | cache invalidation is probably the biggest problem in software engineering space :o) | ||
dalek | kudo/nom: 1e70188 | TimToady++ | src/Perl6/World.nqp: notice TTIAR across line before Bogus postfix |
||
TimToady | moritz: ^^ | 18:52 | |
18:52
brrt joined
|
|||
TimToady | lunch & | 18:53 | |
18:53
clearkruti joined
|
|||
[Coke] | RT: 1,014 tickets; 4 [GLR] tickets, 3 Christmas blockers, 11 testneeded | 18:53 | |
18:53
brrt left,
brrt joined
18:57
mullagainn left
19:02
tokuhiro_ joined
|
|||
nine | m: my $a = 1; my $b = 2; $a = (|$a, $b); say $a[0] | 19:02 | |
camelia | rakudo-moar 25fed4: OUTPUT«1» | ||
nine | m: my $a = 1; my $b = 2; $a = ($a, $b); say $a[0] | 19:03 | |
camelia | rakudo-moar 25fed4: OUTPUT«(\List_139651993582776 = (List_139651993582776 2))» | ||
nine | I think we can safely reject this ticket. The bug has never been in list assignment and always in .perl. And it's fixed even there. | 19:04 | |
[ptc] | this is weird. I just rebuilt moar, nqp, rakudo, however this code works... | ||
m: my $directions = (1, -1 X 2, -2), (2, -2 X 1, -1); say $directions.flat | |||
camelia | rakudo-moar 25fed4: OUTPUT«(1 2 1 -2 -1 2 -1 -2)» | ||
19:04
FROGGS left
|
|||
[ptc] | whereas in my rakudo I get This Seq has already been iterated, and its values consumed (within the repl) | 19:04 | |
19:05
diana_olhovik_ joined
|
|||
[ptc] | m: my $directions = (1, -1 X 2, -2), (2, -2 X 1, -1); my $blah = $directions.flat; | 19:06 | |
camelia | ( no output ) | ||
nine | [ptc]: I can see why: the repl prints the result of the last statement, thereby consuming the Seq returned by X | ||
psch: when you then try to print them again, the Seq will rightfully complain | |||
brrt | .tell FROGGS i'm very interested to see what code has a JIT bug | ||
yoleaux | 14 Sep 2015 22:05Z <meisl> brrt: oh-wow... | ||
brrt: I'll pass your message to FROGGS. | |||
14 Sep 2015 22:05Z <meisl> brrt: never had such a nice welcome - and such an immediate one! | |||
PerlJam | someone mentioned earlier about p6 smartly calling .cache Maybe this is why | ||
yoleaux | 14 Sep 2015 22:06Z <meisl> brrt: I *am* interested in Aho-style tiling, will have a look. | ||
[ptc] | nine, psch: thanks. Was wondering what I was missing... | ||
brrt | .botsnak | 19:07 | |
19:07
tokuhiro_ left
|
|||
brrt | .botsnack | 19:07 | |
yoleaux | :D | ||
psch | nine, [ptc]: ...i'm not sure how i got involved in that discussion :S | ||
oh, probably inattentive tabbing! | 19:08 | ||
muraiki | hrm, I just updated rakudobrew, built perl6, and build panda. if I try to `panda install` anything, I get a type check failure. is anyone else running into this? | ||
dalek | pan style="color: #395be5">perl6-examples: 5963e85 | paultcochrane++ | categories/99-problems/P91-edpratomo.pl: [99probs] fixed P91-edpratomo post GLR |
||
19:08
brrt left
19:09
FROGGS joined
|
|||
PerlJam | [ptc]: That code would work in the repl too as long as you put them on one line :) | 19:09 | |
raiph | muraiki: same here | ||
muraiki | raiph: :( | ||
I'll open an issue on panda | 19:10 | ||
raiph | muraiki: just installed zef (for first time) to see how that does... | ||
PerlJam | bah! | ||
[Coke] finds i.imgur.com/uW4Zhm7.png which may be relevant to this discussion. | |||
19:10
brrt joined
|
|||
PerlJam | muraiki: I think I just fixed it, if someone would merge my PR | 19:10 | |
dalek | kudo/nom: ecdf815 | skids++ | src/Perl6/ (2 files): Do not shortcut anon capture param if it has subsig or post constraint Fixes :(| ($f)) but due to a parse issue, not :(|($f)) |
||
kudo/nom: fb852ed | niner++ | src/Perl6/ (2 files): Merge pull request #536 from skids/binder2 Do not shortcut anon capture param if it has subsig or post constraint |
|||
muraiki | PerlJam: oh, thanks! | ||
PerlJam | or give me a commit bit on the panda repo | ||
19:11
patrickz left,
domidumont left
|
|||
muraiki | weird | 19:11 | |
psch | so S03-metaops/hyper.t breaks on test 312 (l:907) but writing lines 904 to 908 to a file and running that files on the equivalent of l:908... | ||
muraiki | it says your commit was merged 3 hours ago | ||
[ptc] | PerlJam: thanks :-) I think I'm a bit mentally tired to think 100% straight atm. | ||
PerlJam | muraiki: that was a different one. I just realized that the same fix was needed in multiple places. | ||
19:11
thou joined
|
|||
[ptc] | probably time to avoid the keyboard | 19:11 | |
muraiki | perljam: oh, I get it. thanks again | ||
psch | s/that files on/that file breaks on/ | 19:12 | |
FROGGS | PerlJam: done | 19:13 | |
yoleaux | 19:06Z <brrt> FROGGS: i'm very interested to see what code has a JIT bug | ||
PerlJam | FROGGS++ danke | 19:14 | |
FROGGS | PerlJam: gern geschehen :o) | ||
psch | gist.github.com/peschwa/149552262ee830d90fc5 # spooky state hiding somewhere in HYPER..? | 19:17 | |
19:18
[Sno] left,
mullagainn joined
|
|||
mullagainn | back | 19:18 | |
still getting erros with panda | |||
Type check failed in assignment to '$prefix'; expected 'Str' but got 'List' | 19:19 | ||
muraiki | mullagainn: it was just fixed, hehe | ||
mullagainn | lolol | ||
muraiki | muraiki: do `rakudobrew build-panda` assuming you are using rakudobrew | ||
mullagainn | ok | ||
lol | |||
SInce I just did, do I need to clear it out or anything? | 19:21 | ||
PerlJam | Maybe "rakudobrew nuke moar" to start from scratch, but I wouldn't think you'd need to. | ||
raiph | hmm. panda still not working for me; doing rakudobrew nuke moar and trying over | ||
dalek | kudo/nom: 9363e00 | (Steve Mynott)++ | src/core/Deprecations.pm: remove Sept part of deprecated message |
19:22 | |
kudo/nom: 0b47248 | (Will Coleda)++ | src/core/Deprecations.pm: Merge pull request #537 from stmuk/nom remove Sept part of deprecated message |
|||
19:23
brrt left
19:24
mullagainn left
|
|||
nine | psch: what do you mean? | 19:26 | |
psch | nine: i think "< nine> psch: when you then try to print them again, the Seq will rightfully complain" was mis-addressed to me :) | 19:27 | |
(the gist is pretty clear, but that's probably not what you're asking about...) | 19:28 | ||
raiph | mullagainn, muraiki, PerlJam: needed a nuke for me, panda now seems to be working again | 19:29 | |
nine | psch: oh the first message was a tab completion screw up. The second however was about the spooky state thing | ||
muraiki | raiph: yeah, FROGGS merged PerlJam's fix. :) | 19:30 | |
psch | nine: oh, okay. the first three evals in the gist show <<+>>, <<+<< and >>+>> not-failing when run alone | ||
raiph | muraiki: just sayin' I had to do a nuke to get it to work | ||
PerlJam | doesn't "rakudobrew build-panda" fetch the latest one? | 19:31 | |
psch | nine: the last two show different orders of those three hypers fail | ||
muraiki | PerlJam: raiph: Yeah, `rakudobrew build-panda` fixed it for me without a nuke | ||
assuming nuke means erase everything and start over from scratch | |||
nine | psch: I cannot reproduce those failures here | ||
psch | nine: are you running r-j? :) | ||
nine | psch: ah, that's it! | 19:32 | |
psch | j: my @a = 1, 2, 3; @a >>+>> (); @a <<+>> (); @a <<+<< () | ||
camelia | rakudo-jvm 1e7018: OUTPUT«Cannot call HYPER(Sub+{<anon>}+{Precedence}, Int, Int, Int); none of these signatures match: (&op, \left, \right, :$dwim-left, :$dwim-right) (&op, Associative:D \left, Associative:D \right, :$dwim-left, :$dwim-right) (&op, Associative:D \l…» | ||
nine | j: my @a = 1, 2, 3; @a >>+>> (); @a <<+>> (); | 19:34 | |
camelia | ( no output ) | ||
nine | j: my @a = 1, 2, 3; @a >>+>> (); @a <<+<< () | ||
camelia | ( no output ) | ||
nine | j: my @a = 1, 2, 3; @a <<+>> (); @a <<+<< () | ||
camelia | ( no output ) | ||
nine | weird | ||
psch | yeah | 19:37 | |
it's the third one that triggers it | |||
but like, not really i guess | |||
nine | j: my @a = 1, 2, 3; @a >>+>> (); @a >>+>> (); @a >>+>> (); | ||
camelia | rakudo-jvm 1e7018: OUTPUT«Cannot call HYPER(Sub+{<anon>}+{Precedence}, Int, Any, Int); none of these signatures match: (&op, \left, \right, :$dwim-left, :$dwim-right) (&op, Associative:D \left, Associative:D \right, :$dwim-left, :$dwim-right) (&op, Associative:D \l…» | ||
psch | 'cause in hyper.t there's a lot more than three | ||
nine | j: my @a = 1, 2, 3; @a >>+>> (); @a >>+>> (); | ||
camelia | rakudo-jvm 1e7018: OUTPUT«Cannot call HYPER(Sub+{<anon>}+{Precedence}, Int, Any, Int); none of these signatures match: (&op, \left, \right, :$dwim-left, :$dwim-right) (&op, Associative:D \left, Associative:D \right, :$dwim-left, :$dwim-right) (&op, Associative:D \l…» | ||
nine | twice in the same direction? | ||
psch | oh | 19:38 | |
nine | j: my @a = 1, 2, 3; @a <<+<< (); @a <<+<< (); | ||
psch | i hadn't looked for that yet! | ||
camelia | ( no output ) | ||
dalek | c: b0a6ed3 | (David H. Adler)++ | lib/Language/variables.pod: Fixed code example for C<state> |
||
psch | j: my @a = 1, 2, 3; @a <<+>> (); @a <<+>> (); | ||
nine | j: my @a = 1, 2, 3; @a >>+<< @a; @a >>+<< @a; | ||
camelia | rakudo-jvm 1e7018: OUTPUT«Cannot call HYPER(Sub+{<anon>}+{Precedence}, Int, Int, Int); none of these signatures match: (&op, \left, \right, :$dwim-left, :$dwim-right) (&op, Associative:D \left, Associative:D \right, :$dwim-left, :$dwim-right) (&op, Associative:D \l…» | ||
( no output ) | |||
psch | uhh | ||
oh | |||
raiph | mullagainn: PerlJam++'s fix plus muraiki++'s `rakudobrew build-panda` worked for me; are you too now up and running with panda? | 19:39 | |
psch | j: my @a = 1, 2, 3; @a <<+<< (); @a <<+>> (); | ||
camelia | ( no output ) | ||
psch | j: my @a = 1, 2, 3; @a >>+>> (); @a <<+>> (); | ||
camelia | rakudo-jvm 1e7018: OUTPUT«Cannot call HYPER(Sub+{<anon>}+{Precedence}, Int, Int, Int); none of these signatures match: (&op, \left, \right, :$dwim-left, :$dwim-right) (&op, Associative:D \left, Associative:D \right, :$dwim-left, :$dwim-right) (&op, Associative:D \l…» | ||
TimToady | j: my @a = 1, 2, 3; @a >>+>> (); $@a <<+>> (); | 19:40 | |
camelia | rakudo-jvm 1e7018: OUTPUT«Cannot call HYPER(Sub+{<anon>}+{Precedence}, Int, Int, Int); none of these signatures match: (&op, \left, \right, :$dwim-left, :$dwim-right) (&op, Associative:D \left, Associative:D \right, :$dwim-left, :$dwim-right) (&op, Associative:D \l…» | ||
psch | that looks like it's about two dwimmy rhs..? (assuming "it points outward to dwim" is the right semantics) | ||
TimToady | j: my @a = 1, 2, 3; $@a >>+>> (); $@a <<+>> (); | ||
camelia | rakudo-jvm 1e7018: OUTPUT«Cannot call HYPER(Sub+{<anon>}+{Precedence}, Int, Int, Int); none of these signatures match: (&op, \left, \right, :$dwim-left, :$dwim-right) (&op, Associative:D \left, Associative:D \right, :$dwim-left, :$dwim-right) (&op, Associative:D \l…» | ||
19:43
hlelo joined,
mullagainn joined
|
|||
mullagainn | panda worked | 19:43 | |
19:43
telex left
19:44
telex joined
|
|||
mullagainn | use Inline::Perl5; | 19:45 | |
use JSON::XS::from<Perl5>; | |||
my $json = JSON::XS.new(); | |||
TimToady | m: say 42say 43 | ||
camelia | rakudo-moar 1e7018: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HfGJNIZa9ZTwo terms in a row across lines (missing semicolon or comma?)at /tmp/HfGJNIZa9Z:2------> 3say 427⏏5<EOL> expecting any of: infix infix stopper postfi…» | ||
mullagainn | ===SORRY!=== | 19:46 | |
Could not find JSON::XS::from in any of: | |||
raiph | mullagainn: single colon before the 'from' | ||
mullagainn | aah | ||
ok | |||
thanks | |||
PerlJam | That could probably use a more awesome message as it's likely to be a commonish error. | 19:47 | |
mullagainn | no errors | ||
slow to start though | |||
I tried to load SNMP.pm and I got a Do no know how to load code from perl5 | 19:48 | ||
grr | |||
another typo | |||
I am not used to using capital P in perl | |||
19:49
colomon left,
colomon_ joined
|
|||
raiph | mullagainn: fwiw, decent Rakudo module loading performance needs module precompilation but precomp was disabled a week or so ago pending changing where it happens | 19:49 | |
mullagainn | oh, so it will be fixed eventaually | 19:50 | |
PerlJam | all things will be "fixed" eventually :-) | ||
19:51
hlelo left
|
|||
mullagainn | lol | 19:51 | |
skids | Ohhh... I *thought* something seemed slower these last couple of days but couldn't put my finger on it. | ||
dalek | c: 2fda12d | paultcochrane++ | lib/Type/List.pod: Fix example output for map post GLR |
19:54 | |
[Coke] wonders why the first part of the nqp build step is to tag and push. That seems premature. | |||
er, nqp -release- steps | |||
I'm going to remove parrot from the nqp release information. No one is currently maintaining that, and there are known test failures. | 19:56 | ||
raiph | mullagainn: do you think either or both of the ::from and <perl5> errors need a better error message? | ||
[Coke] | ... ugh. except there's stuff that exists only in the parrot Makefile. | 19:57 | |
19:57
telex left
|
|||
mullagainn | is there something wrong with this syntax? | 19:57 | |
y $sess = SNMP::Session.new( 'DestHost' => $ip, 'Community' => $community, 'Version' => 2 ); | 19:58 | ||
my** | |||
19:58
telex joined
|
|||
mullagainn | raiph: yes probably | 19:59 | |
I am getting this. | 20:00 | ||
Could not find symbol '&Session' | |||
in method AT-KEY at /opt/nms/.rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm:1 | |||
in block <unit> at ./json:15 | |||
[ptc] | m: say ((1, 2), <a b>).flatmap(&uc).join('|'); | 20:01 | |
camelia | rakudo-moar 0b4724: OUTPUT«1 2|A B» | ||
[ptc] | m: say ((1, 2), <a b>).map(&uc).join('|'); | ||
camelia | rakudo-moar 0b4724: OUTPUT«1 2|A B» | ||
[ptc] | hrm, according to the docs, flatmap should give 1|2|A|B as output | 20:02 | |
nine | mullagainn: that's a nown limitation. Try use SNMP:from<Perl5>; use SNMP::Session:from<Perl5>; | 20:03 | |
mullagainn: I only create a Perl 6 class for the use'd package, not any sub-packages that may load. | |||
mullagainn | oooh | 20:06 | |
ok | |||
nine | Unfortunately it's not exactly straight forward to find out which packages are loaded in a use statement. | ||
mullagainn | Can't locate SNMP/Session.pm in @INC ( | 20:07 | |
dalek | kudo/nom: 643eb6d | TimToady++ | src/Perl6/Grammar.nqp: correctly detect malformed parameters |
||
mullagainn | SNMP::Session is within SNMP | ||
nine | mullagainn: ok, till that's fixed, you can always do; use Inline::Perl5; my $p5 = Inline::Perl5.new; my $session = $p5->invoke('SNMP::Session', 'new', DestHost => $ip, Community => $community, Version => 2); | 20:08 | |
mullagainn | ok. | 20:09 | |
thanks. That will work ok | |||
nine | This worked for me: perl6 -e 'use Inline::Perl5; my $p5 = Inline::Perl5.new; $p5.use("SNMP"); my $session = $p5.invoke("SNMP::Session", "new", DestHost => "127.0.0.1", Community => "public", Version => 2)' | 20:10 | |
20:14
darutoko left
|
|||
[Coke] | raiph: when opening a ticket, if there's not that much text, inline the text so it's easy for someone to write a test or retry the bug without having to click through. | 20:14 | |
linking back for more discussion is always awesome, keep doing that. | |||
raiph++ | |||
PerlJam | nine: how do you create Perl 6 classes at all? I mean, someone could name a file Foo.pm that only has package Bar in it (no Foo package) | 20:15 | |
20:15
telex left
20:16
telex joined,
telex left
|
|||
nine | PerlJam: currently I just create a Foo class. Once I implement support for actually trying to figure out which packages were loaded, this will be gone. | 20:18 | |
20:18
telex joined
|
|||
muraiki | nine: I got a "*** longjmp causes uninitialized stack frame ***" crash when trying to run the same perl5 function in two different start blocks :( | 20:19 | |
20:20
diakopter joined,
kenhat joined
|
|||
muraiki | unfortunately this is proprietary code so I can't share it... I'm not really certain what I can give you to help diagnose what happened | 20:20 | |
dalek | ast: a8f9dca | TimToady++ | S13-overloading/typecasting- (3 files): remove obsolete overloading tests |
20:21 | |
kudo/nom: be0fdeb | TimToady++ | t/spectest.data: remove obsolete overloading tests |
20:22 | ||
nine | muraiki: short answer: don't run Perl 5 code from different threads. Perl 5 code is not thread safe. | ||
20:23
espadrine joined
|
|||
muraiki | ah, I thought somebody before said to try using perl5 code with the various async/concurrent features :( | 20:23 | |
that's what I figured, though | |||
nine | muraiki: you may create multiple Perl 5 objects (provided your Perl is compiled with -DMULTIPLICITY) and use them in different threads. I haven't tried that in almost a year though, so there may be bugs. | ||
multiple Inline::Perl5 objects that is | 20:24 | ||
muraiki | ah yeah, I think I had done that about 6 months ago | ||
leont | Yeah, using one interpreter in multiple threads would be "fun" | ||
PerlJam | nine: you could inspect (keys %::) recursively to see what symbols show up when you use a P5 module. I don't know if you'll have enough information to decide which you should create as P6 classes though. | ||
20:24
pyrimidine left
|
|||
muraiki | it makes sense now; I assumed I'd automatically get one interpreter per p6 thread | 20:24 | |
nine | PerlJam: certainly worth a try | ||
20:24
pyrimidine joined
|
|||
nine | Ok, off to bed now. Good night #perl6! | 20:24 | |
muraiki | night | ||
PerlJam | nine: good night | 20:25 | |
TimToady | o/ | ||
dalek | ast: c702610 | usev6++ | S02-literals/radix.t: Mention RT #77624 for existing test |
||
20:25
telex left,
kaare_ left
|
|||
masak | good nine, night | 20:26 | |
20:26
telex joined
|
|||
muraiki | night nine good | 20:26 | |
20:26
lizmat left
20:27
lizmat joined
|
|||
btyler_ | muraiki: one thing I was playing around with a while ago was to use OO::Monitors to manage a perl5 object worker pool, which is nice if you don't want to have an unbounded number of perl5 interpreters in your process :) | 20:28 | |
maybe I can find the gist, moment | |||
muraiki | btyler_: oh, that sounds really nice | ||
masak | m: use Test; done | ||
camelia | ( no output ) | ||
dalek | kudo/nom: 47b4c1a | lizmat++ | tools/contributors.pl6: Fix contributers script, it needed a slip |
||
masak | ...why doesn't `done` output "1..0" in the above case? | ||
lizmat | [Coke] ^^^ | 20:29 | |
masak | m: use Test; ok 1; done; | ||
camelia | rakudo-moar 643eb6: OUTPUT«ok 1 - » | ||
masak | this seems to be a recent regression. | ||
lizmat | masak: because it's called "done-testing" nowadays | ||
m: done | |||
camelia | ( no output ) | ||
masak | lizmat: :( :( :( | ||
lizmat | done is part of the supply sugar | ||
masak | lizmat: back several years ago we managed to rename it from `done_testing` to `done` :( | ||
lizmat | m: use Test; done-testing | 20:30 | |
camelia | rakudo-moar 643eb6: OUTPUT«1..0» | ||
lizmat | yes, I know | ||
but it was felt that the syntactic sugar for supplies was more needed than "done" from Test.pm | |||
masak | ok. | ||
lizmat | since you probably shouldn't be using "done", but plan your tests anyway :-) | ||
jnthn | Yes, I think the suply sugar deserved the keyword | 20:31 | |
[Coke] | lizmat++ #contribs | ||
20:31
diakopter left
|
|||
masak | lizmat: whether to plan one's tests or to use `done` still seems like a matter of taste to me. | 20:31 | |
lizmat | I disagree: a plan will make sure that all tests are actually run | ||
masak | so will `done`. | 20:32 | |
lizmat | and give you a fail if they didn't | ||
dalek | kudo/nom: 1fdf9df | (Steve Mynott)++ | docs/ChangeLog: ChangeLog now has `dd` now displays variable type |
||
kudo/nom: 48c03ad | (Will Coleda)++ | docs/ChangeLog: Merge pull request #538 from stmuk/nom ChangeLog now has `dd` now displays variable type |
|||
[ptc] | masak: isn't it done-testing now? | ||
masak | [ptc]: yes. I still haven't quite updated my brain. | ||
[Coke] | jnthn: github.com/rakudo/rakudo/pull/306 may be rejectable as pre-GLR. | ||
lizmat | masak: no, it doesn't, it only means you don't expect any tests after | 20:33 | |
20:33
telex left
|
|||
lizmat | if for some reason a loop decides to run fewer tests than you thought, done-testing will *not* catch that | 20:33 | |
jnthn | masak: I have ran into cases where the number of tests run actually changed due to a bug | ||
masak: And the explicit plan in the file caught it. | |||
masak | I agree that an explicit `plan` makes sense in the spectests. | ||
PerlJam | (explicit plan)++ | ||
masak | for my module tests, I've tended to prefer `done`. | 20:34 | |
jnthn | I think done-testing is useful when developing a test file | ||
Then when it's "stable" drop a plan in | |||
PerlJam | jnthn++ exactly | ||
20:34
telex joined
|
|||
lizmat | jnthn: problem with that approach, is that by the time it's stable, you forget to put a plan in | 20:34 | |
FROGGS | also true | 20:35 | |
raiph | Thanks [Coke]++ # for RT guidance | ||
lizmat | so personally, I *always* put a plan in from the start, and ignore the wrong number of tests message in the beginning | ||
jnthn | lizmat: Do I? :P :P | ||
lizmat: Sure, people should do what works for them :) | |||
leont | One other advantage of done is that it prevents merging errors | ||
skids | ok 0, "you will always fail 1 test until you put a plan in"; done-testing(); | ||
lizmat | jnthn: well, *I* tend to forget, so I taught myself to use a plan from the very beginning :-) | ||
leont | You can't get a conflict on the number if there is no number | ||
arnsholt | I usually put in a plan at the top, and just keep updating the numbers when the test harness reminds me to =) | 20:36 | |
That's what TDD is for, no? =) | |||
lizmat | arnsholt++ :-) | ||
jnthn | Anyways, if we didn't steal "done" for the supply stuff, we'd have had to go rename *that*, which would also have cauesd breakage... | ||
(we were already using the name "done", just didn't have a function with that name) | |||
skids remembers Array.plan is still XX GLR. | 20:37 | ||
masak | so what does `done` actually do outside of a `supply` block? | ||
dalek | p: b3d6658 | coke++ | VERSION: bump VERSION to 2015.09 |
||
p: f50929a | coke++ | docs/release_guide.pod: Explicitly test the 2 backends we expect to pass |
|||
p: 885986b | coke++ | docs/release_guide.pod: Fix typo |
|||
p: 67653b8 | coke++ | tools/build/MOAR_REVISION: Use latest MOAR release |
|||
jnthn | masak: Nothing, just as "last" doesn't do anything outside of a loop | ||
PerlJam | masak: throws a CONTROL_DONE | ||
masak | m: last | ||
camelia | rakudo-moar 643eb6: OUTPUT«last without loop construct in block <unit> at /tmp/boWVx0Xrit:1» | ||
jnthn | Well, yeah, it whines you used it in the wrong place | ||
masak | jnthn: at least it warns. | ||
`done` does nothing. | |||
jnthn | Doesn't do anything *useful* | ||
m: done | |||
camelia | ( no output ) | ||
jnthn | Hm | ||
raiph | mullagainn: I've added RTs #126087 and #126088 to cover the ::from and :from<perl5> surprises you had | 20:38 | |
lizmat | m: emit | ||
camelia | rakudo-moar 643eb6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8lnsfK4qIrCalling emit() will never work with declared signature (\value)at /tmp/8lnsfK4qIr:1------> 3<BOL>7⏏5emit» | ||
jnthn | m: emit 1; | ||
camelia | ( no output ) | ||
lizmat | m: emit 42 | ||
camelia | ( no output ) | ||
lizmat | :-) | ||
masak | jnthn: which is unfortunate, because I suddenly had a lot of failing tests but no reason why. | ||
jnthn | Wonder why that gets dropped | ||
masak | well, confused test files, rather. | ||
jnthn | It *is* throwing a control exception | ||
masak | if you say so :P | ||
jnthn | Read the bloody code if you don't belive me | 20:39 | |
masak | anyway, it seems you agree with me it should do something ;) | ||
lizmat | .oO( stop stabbing the code! ) |
||
20:39
erxeto joined
|
|||
jnthn | Aye | 20:39 | |
masak submits rakudobug | 20:40 | ||
20:41
TimToady left
|
|||
jnthn | oh, damn | 20:42 | |
print_control just drops unknown control exceptions on the floor | |||
[Coke] | nqp release done, including gpg signing. | ||
20:43
diakopter joined,
TimToady joined,
telex left
|
|||
[Coke] | don't see any difference in the signed tag on github. | 20:43 | |
dalek | kudo/nom: 3091699 | FROGGS++ | t/04-nativecall/16-rt125408.t: skip test, the fix is not in the 2015.09 release |
20:44 | |
20:44
telex joined
|
|||
FROGGS | [Coke]: it is not visible there | 20:44 | |
jnthn | masak: I'll try and sneak a patch in for this ahead of the release, if [Coke] permits :) | ||
[Coke] | jnthn: JEZU, I just did the nqp release. | 20:45 | |
FROGGS | okay, that was the last thing I committed today | ||
jnthn | [Coke]: This is in Rakudo | ||
[Coke] | that isf ine. | ||
I ONLY did the nqp release. :) | |||
jnthn | What does JEZU mean? :P | ||
FROGGS | [Coke]++ # :o) | ||
masak | [Coke]++ # release | ||
[Coke] | and I can't start on rakudo until about 4 hours out. | 20:46 | |
PerlJam | [Coke]: did you end up keeping the parrot stuff? | ||
[Coke] | some scifi author used that instead of "jesus" when swearing. | ||
20:46
[Sno] joined
|
|||
masak | jnthn: rt.perl.org/Ticket/Display.html?id=126089 | 20:46 | |
jnthn | Ah | ||
masak detrains & | |||
[Coke] | PerlJam: had to, we need to build the parrot makefile to release nqp | ||
I just removed the bit that tried to run parrot's tests for now. | 20:47 | ||
FROGGS | btw, on my box is all clean... nqp, rakudo and roast | ||
jnthn | Well, darn...the change to print_control shows we don't actually make it into there :S | 20:48 | |
mullagainn | BTW JSON::XS worked using Inline::Perl5 | 20:49 | |
SNMP is half working | |||
dalek | kudo/nom: bc9ec3a | coke++ | tools/build/NQP_REVISION: [release] bump NQP revision |
||
FROGGS | half? | ||
raiph | mullagainn: thanks for that update, was just typing a message to ask :) | ||
vendethiel | is the beta release happening? :o) | ||
[Coke] | vendethiel: a release of the compiler is happening. :P | 20:50 | |
FROGGS | vendethiel: of the compiler, yes :o) | ||
jnthn | m: say 0xFFE | ||
camelia | rakudo-moar 643eb6: OUTPUT«4094» | ||
vendethiel | when is TimToady++'s bday? | ||
20:50
erxeto left
|
|||
_itz | is this a pre-alpha beta? | 20:50 | |
FROGGS | I still think that I've got a good feeling about roast... and would consider its state worthy a RC0 | 20:51 | |
jnthn | m: say 0xFFFE | ||
camelia | rakudo-moar 643eb6: OUTPUT«65534» | ||
pink_mist | vendethiel: 27th according to wikipedia | ||
FROGGS | BOM | ||
[Coke] finds another bug in tools/contributors.pl6 | |||
FROGGS | [Coke]: fwiw, panda and Inline::Perl5 are doing well as well | 20:52 | |
jnthn | Bad news, it seems that there *is* an NQP level bug wrt the disappearing done control exception | ||
FROGGS | :S | ||
how come it appears now? | |||
it is not like the GLR changed the way our mainline works | |||
PerlJam | bad luck | ||
FROGGS | or how exceptions are handled outside of loops... | ||
[Coke] | jnthn: bad news in that it won't make it to 2015.09, or bad news in that I have to cut another release in an hour? ;) | ||
jnthn | It's that I added extra control exceptions and they were outside the mask | 20:53 | |
lizmat | [Coke]: what's the pb in contributors.pl ? | ||
[Coke] | lizmat: it assumes we release every month. | ||
jnthn | [Coke]: Depends how seroius you consider the issue | ||
[Coke] | I will work around it with a hardcoded run instead of letting it pick a date, and then pretend we release every month again. | ||
lizmat | yea, you can specify a date with YYYY-MM-DD as the parameter | 20:54 | |
[Coke] | jnthn: what's the symptom? does done work, except in masak's case? That seems like something we can live with for a month. | ||
jnthn | [Coke]: Basically, we stole "done" from Test.pm for something else | ||
[Coke] | I have to head out shortly - I have no problem doing another nqp release today if this is fixable. | 20:55 | |
FROGGS | [Coke]: things like last or done do not explode when used outside of their blocks/loops | ||
skids | .oO(irony of a feature named "done" holding up a release) |
||
_itz | :) | ||
FROGGS | *g* | ||
jnthn | [Coke]: And the incorrect use of "done" doesn't explode, so we silently do nothing | ||
FROGGS: No, last is fine | |||
FROGGS: It's only for emit and done that we have an issue | |||
[Coke] | travis says that I broken nqp by updating to moar 2015.09 | ||
FROGGS | jnthn: ahh, that's fine then isnt it? | 20:56 | |
20:56
clearkruti left
|
|||
lizmat | m: "emit".flip.say # :-) | 20:56 | |
camelia | rakudo-moar 48c03a: OUTPUT«time» | ||
[Coke] | if the failure is failure to explode in the bad path, rather than failure to work in the happy path, I think we can live with that. | ||
jnthn | lizmat: I noticed that and thought it was wonderfully appropriate for async :) | ||
[Coke]: It may just cause some confusion for people is all | 20:57 | ||
bartolin | lizmat: would you mind to take a look at github.com/usev6/rakudo/commit/bf1537daa9 ? i tried to fix RT #124205 but my patch feels smelly. i couldn't think of a clean way to execute special case for the first element of a lazy list (and so i added a my hack within .map) ... | ||
FROGGS | [Coke]: travis just reports that the javascript backend failed a test | 20:58 | |
20:58
skids left
|
|||
[Coke] | FROGGS: I can't get travis to tell me what failed. | 20:58 | |
looks like it's thinking about it, then just ... . . . ... | |||
FROGGS | [Coke]: travis-ci.org/perl6/nqp/jobs/80904368#L924 | 20:59 | |
jnthn | bartolin: Could use a state var instead | ||
FROGGS | err, now I clicked on the redo button and travis starts over again... | ||
but anyway, was just a problem with js | 21:00 | ||
lizmat | bartolin: looking at it now | ||
bartolin | jnthn, lizmat: thanks! | 21:01 | |
dalek | p: ac856c1 | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp: Fix control exception mask for new additions. Now CONTROL also handles AWAIT/EMIT/DONE. |
21:02 | |
timotimo | how do people feel about building speculative tests for UDP sockets? | ||
timotimo goes to bed :P | 21:03 | ||
FROGGS | gnight timotimo | ||
bartolin | jnthn: i'm unhappy with the extra conditional within the map block. could a state var help to avoid that block? | ||
bartolin has to think about that some more | 21:04 | ||
21:04
tokuhiro_ joined
21:05
sufrostico left
|
|||
lizmat | bartolin: looking at the ticket, I think it should be rejected | 21:05 | |
bartolin | lizmat: oh! | ||
lizmat | if you provide a :with that is stupid enough to always return 1, then you get what you deserve ? | ||
now, maybe the initialization of $last should be a bit smarter | 21:06 | ||
[Coke] | jnthn: that was quick. | ||
bartolin | m: my @rt124205_b = "", "", "b", "b", "B", "B"; say @rt124205_b.squish(:with(*.Str eq *.Str)).perl | ||
camelia | rakudo-moar 48c03a: OUTPUT«("b", "B").Seq» | ||
21:07
telex left
|
|||
bartolin | m: my @rt124205_b = "", "", "b", "b", "B", "B"; say @rt124205_b.unique(:with(*.Str eq *.Str)).perl | 21:07 | |
camelia | rakudo-moar 48c03a: OUTPUT«("", "b", "B").Seq» | ||
[Coke] | leaving now, but I guess I'll cut 2015.09.01 for nqp when I get back. toodles. | ||
jnthn | [Coke]: OK. I'm getting a Rakudo patch in with further improvement too | ||
lizmat | bartolin: this was about squish ? | ||
ah, ok | |||
bartolin | lizmat: that's from S32-list/squish.t -- so it's not only a :with that always returns 1 | 21:08 | |
21:08
tokuhiro_ left,
telex joined
|
|||
bartolin | yeah, i think squish should return the same thing as unique here | 21:08 | |
lizmat | bartolin: ok, clear now, lemme try something | ||
21:10
Peter_R left
|
|||
FROGGS | good night #perl6 | 21:11 | |
21:11
FROGGS left
|
|||
jnthn | 'night, FROGGS | 21:11 | |
.oO( he really shouldn't spill his beer on his connection like that...it's a waste of beer! ) |
21:12 | ||
21:12
Peter_R joined
|
|||
PerlJam | bartolin: why wouldn't you use $last = self[0]; and gather self[1..*].map: { ... } ? | 21:12 | |
jnthn | PerlJam: If self is a Seq that won't go well | 21:13 | |
PerlJam | I suppose that would still return the empty list | ||
dalek | kudo/nom: 6afd267 | lizmat++ | src/core/Any-iterable-methods.pm: Fix for #RT 124205, usev6++ bartolin++ |
||
bartolin | PerlJam: I think I tried that and it didn't work out. | 21:14 | |
lizmat | hmm.... not so good after all :-( | 21:15 | |
21:18
rurban joined
21:19
rurban left,
colomon_ left
21:20
pmurias joined,
kenhat left
21:21
colomon joined,
rindolf left
|
|||
lizmat | hmmm.. 20,21 now passing, 22-23 not yet | 21:22 | |
pmurias | arnsholt: if you don't count the tests manually but just make the test harness do the counting doesn't it defeat the purpose of having a plan? | ||
jnthn | pmurias: Not the anti-regression one, know | 21:24 | |
bartolin | lizmat: 22 and 23 don't have their itemization right, do they? looks GLR related to me | ||
lizmat | yeah, fixed that now as well, all tests passing | 21:25 | |
pmurias | in the spec tests where weird stuff can happen due to a buggy compiler plans make a lot more sense | ||
bartolin | \o/ lizmat++ | ||
dalek | kudo/nom: 0921fa4 | lizmat++ | src/core/Any-iterable-methods.pm: Better fix for #RT 124205, usev6++ bartolin++ |
||
kudo/nom: e25cbf4 | jnthn++ | src/core/Exception.pm: Don't leak unexpected control exceptions. |
21:26 | ||
kudo/nom: f435959 | jnthn++ | src/core/Exception.pm: Good errors for unhandled emit and done. |
|||
kudo/nom: e95a7f3 | jnthn++ | src/core/Exception.pm: Remove superstitious parens. |
|||
jnthn | There we goes | ||
bartolin | lizmat: ahh, 'once' was what i wanted :-) | ||
dalek | ast: 729f46f | lizmat++ | S32-list/squish.t: Fix GLR-busted initialization |
||
lizmat | hmmm.. have my suspicions about the scoping of once though | 21:28 | |
21:28
telex left
21:30
telex joined
|
|||
dalek | ast: f2199d3 | lizmat++ | S32-list/squish.t: Unfudge #RT 124205 related tests |
21:34 | |
lizmat | jnthn: a bare "done" and "emit 42" are still silent for me ? | 21:36 | |
jnthn | You need a newer NQP | ||
detrain and then sleep at last! :) | 21:37 | ||
back tomorrow & | |||
lizmat | good night, jnthn | ||
dalek | kudo-star-daily: ae04bda | coke++ | log/ (2 files): today (automated commit) |
||
21:37
muraiki left
|
|||
[Coke] finds a network connection but probably can't get a lot done here. :) | 21:38 | ||
bartolin | g'night, #perl6 | 21:39 | |
21:42
diana_olhovik_ left
21:48
spider-mario left,
espadrine left
21:50
telex left
21:51
araujo left
21:52
telex joined
|
|||
dalek | p: 8fd2e96 | coke++ | docs/release_guide.pod: avoid weird git error that bit me on last release |
21:56 | |
21:56
hernanGOA left
|
|||
lizmat goes to bed while it is still today... | 21:58 | ||
21:59
telex left,
telex joined,
travis-ci joined
|
|||
travis-ci | NQP build failed. Will "Coke" Coleda 'avoid weird git error that bit me on last release' | 21:59 | |
travis-ci.org/perl6/nqp/builds/80918921 github.com/perl6/nqp/compare/ac856...d2e96edc66 | |||
21:59
travis-ci left
|
|||
[Coke] | ~~ | 21:59 | |
that was a doc only bug. | 22:00 | ||
22:00
telex left
|
|||
[Coke] | er, commit. travis-- # noise | 22:00 | |
22:02
telex joined
22:06
Sqirrel_ left
22:19
cognominal left
|
|||
lichtkind | good night lizmat | 22:21 | |
i clearly not huged you enough in spain | 22:23 | ||
22:23
pmurias left
22:31
telex left
22:32
telex joined,
kid51 joined
22:41
skids joined
22:44
Skarsnik left
22:45
Gruber joined
22:51
Sqirrel joined
|
|||
raiph | m: class A { has $.a; }; say A.new(a => 5) eqv A.new(a => 5); #=> False # <-- from doc.perl6.org/language/operators#infix_eqv | 22:54 | |
camelia | rakudo-moar e95a7f: OUTPUT«True» | ||
23:01
leont left
23:04
telex left
23:05
tokuhiro_ joined
23:06
telex joined
|
|||
raiph | star: class A { has $.a; }; say A.new(a => 5) eqv A.new(a => 5); | 23:08 | |
camelia | star-m 2015.03: OUTPUT«False» | ||
23:10
tokuhiro_ left
23:12
telex left
23:13
labster joined
23:14
telex joined,
larion joined
|
|||
ShimmerFairy | Something that's been on my mind: is there any way to make the output more useful for test failures (when using 'make spectest', at least)? I've personally never found the summary helpful when mentioning "Tests 15, 20-25, 31", since tests aren't numbered in the actual file. Could the summary output possibly reference line numbers instead? | 23:20 | |
23:22
telex left,
telex joined
|
|||
pink_mist | +1 to that idea | 23:22 | |
ShimmerFairy | Taking a quick look at `man prove`, it doesn't seem to be something it does offhand. I honestly wonder how the summary from `prove` has ever been considered useful -- maybe P5 tests have test numbers in source, or maybe rakudo uses the most tests with it out of anyone :P | 23:26 | |
23:30
telex left
23:32
telex joined
|
|||
pink_mist | I've been annoyed with p5 tests before that I had to manually count the tests :/ | 23:33 | |
prove -v helps if the tests are given names though | |||
which isn't always the case | |||
ilmari | without -v the summary is less necessary, since that only outputs the failures | 23:34 | |
(with line numbers) | |||
the summary is more useful with -v, if there's lots of passes between/after the fails | |||
ShimmerFairy | pink_mist: with P6's Test at least, failed tests give a line number in the error reporting, IIRC. It's just the summary that isn't so helpful :) | 23:38 | |
pink_mist: When I get failures from "spectest", I always end up running the files individually so I can see the errors printed amongst the passes. | |||
pink_mist | if the test failed because it die()d I'd get line numbers in perl5 :P | 23:39 | |
... but it's getting late, and I must sleep | |||
good night #perl6 | 23:40 | ||
vendethiel | \o pink_mist | ||
23:41
telex left
|
|||
ShimmerFairy | ♞ pink_mist o/ | 23:42 | |
23:42
telex joined
23:44
skids left
23:53
lichtkind left
23:55
TEttinger joined
|