dalek | kudo/nom: 5d514af | coke++ | docs/release_guide.pod: release in progress... |
00:01 | |
kudo/nom: c766094 | coke++ | tools/build/NQP_REVISION: [release] bump NQP revision |
|||
kudo/nom: c067957 | coke++ | VERSION: [release] bump VERSION |
|||
kudo/nom: 8e0b56b | coke++ | docs/release_guide.pod: warn about perl6 vs. ./perl6 |
|||
00:06
lizmat joined
|
|||
dalek | kudo/nom: b8302b3 | coke++ | docs/release_guide.pod: fix shell typo |
00:08 | |
kudo/nom: 816a2c4 | coke++ | docs/release_guide.pod: Test the Inline::Perl5 tests in roast as part of the official release process. |
00:18 | ||
kudo/nom: bb40720 | coke++ | docs/release_guide.pod: Warn about stresstest warnings |
00:26 | ||
kudo/nom: 9f3ec1a | coke++ | docs/release_guide.pod: clarify stresstest in the tarball build |
00:51 | ||
kudo/nom: 4461719 | coke++ | CREDITS: combine identical emails |
00:59 | ||
kudo/nom: 0c6c1c1 | coke++ | docs/ChangeLog: one or two more changelogs |
01:03 | ||
kudo/nom: ec2b6b2 | coke++ | docs/announce/2016.04.md: expand people |
01:07 | ||
kudo/nom: d941e62 | coke++ | docs/ChangeLog: remove dupe, whoops |
|||
kudo/nom: 3a606a1 | coke++ | docs/announce/2016.04.md: add notes from Changelog |
|||
kudo/nom: c37939c | coke++ | docs/announce/2016.04.md: remove early adopter language |
|||
[Coke] | release tagged and tarballed. | 01:10 | |
02:15
geekosaur joined
03:29
vendethiel joined
|
|||
stmuk | w00t! | 04:56 | |
07:20
RabidGravy joined
|
|||
[Sno] | nine_: in case you want to destroy one more bubble, take a look at www.lrde.epita.fr/~adl/autotools.html | 07:46 | |
in doubt, skip the macro explanations, just read reasons and consequences | 07:47 | ||
07:51
lizmat joined
|
|||
masak | [Coke]++ # release | 08:11 | |
08:45
brrt joined
|
|||
jnthn | [Coke]++ # release | 09:04 | |
RabidGravy | [Coke]++ # Woah the Okey cokey! | 09:18 | |
jnthn | [Sno]: Was too tied up yesterday with other tasks to read the slides properly. Now I did, and my notes/questions are here: gist.github.com/jnthn/7843dadbe45e...679c21f407 | 09:19 | |
[Sno] | jnthn: thanks, will check them | ||
jnthn: your comment to slide 9 is why I yesterday said "NQP is platform-agnostic" is true and wrong | 09:20 | ||
jnthn | [Sno]: I don't get the "and wrong" bit at all | 09:22 | |
[Sno] | it is the reason for the mail from Feb 298th to you, liz and a few others - caused by a build error of IIRC rakudo | 09:23 | |
jnthn | How do you handle cross-compilation of, say, a pure Perl module? | ||
Or maybe a better example, a Java library that's pure JVM bytecode? | |||
[Sno] | jnthn: the compilation isn't always the problem - it is prereqs and post-compile processes at well | ||
jnthn: see eg. github.com/rehsack/meta-jens/blob/...-bin.patch | 09:25 | ||
jnthn: regarding prereqs - when you cross-compile a pure-perl but use data from build host to do that (simple example: INT_MAX), it might cause hard to find issues on target | 09:27 | ||
for a typical developer - that's all "compile" (for you, it's probably packaging) | |||
psch | hrm | 09:28 | |
psch lacks thinking yet, apparently | |||
not related to the cross-building stuff, sorry for potential interruption... :) | 09:29 | ||
jnthn | [Sno]: OK, so (for the pure Perl case) how is that resolved? | ||
Though maybe it's "not an issue" in that compiling modules doesn't really happen... | 09:30 | ||
[Sno] | jnthn: depends - for recent Perl6 build's it resolved, I still stuck in find the location where the target artifact is executed | ||
that heavily depends on the particular problem if, and when, how to solve | 09:31 | ||
jnthn: s/for recent Perl6 build's it resolved/for recent Perl6 build's it not resolved/ | 09:33 | ||
I talked with lizmat regarding the issue and showed her the build logs and we decided I first do this talk and send it around to "educate" some people and then we look again | 09:34 | ||
it is not a business-critical situation but when we can avoid mistakes made for other languages in Perl6 in early versions, we can become No°1 in IoT ;) | 09:35 | ||
09:35
synopsebot6 joined
|
|||
jnthn | nine_: github.com/rakudo/rakudo/commit/ef...330fcR2119 - if I understand, in nested mode we always immediately run a code object we just produced? | 09:36 | |
[Sno] | jnthn: regarding comment to slide 14 - I didn't dig really deep - I realized that a found lua without lua-jit causes Configure.PL to fail | ||
jnthn | nine_: What happens if the `EVAL` contains a role or defines a class or itself has a BEGIN block? I'm worrying if github.com/rakudo/rakudo/commit/ef...330fcR2303 has bad consequences... | 09:38 | |
[Sno] | jnthn: for cross-compiling Rakudo*, my recipe first builds a build version (runable on build-host), then cross-compiles for target (specifying build with --sdkroot) | ||
09:39
sortiz joined
|
|||
[Sno] | jnthn: my first goal is to make you, moritz, froggs, nine etc. being aware of the situation (even of wrong PATH's because of build sysroots and DESTDIR -- both, and unusual for normal developers) | 09:39 | |
jnthn | nine_: github.com/rakudo/rakudo/commit/ef...330fcR4089 - this looks moar-specific? | 09:40 | |
[Sno] | maybe when you next time visit liz and wendy, I come around or you three come to my house and I can demonstrate all of that in practice | ||
jnthn | nine_: I should probably have made those comments on the commit, d'oh :) | 09:41 | |
[Sno]: Yeah, I see the issue a little better now, at least. | 09:42 | ||
[Sno] | jnthn: if I'm allowed to clarify - I packaged a lot for a cross-build, most languages are weird and Perl6 is (likely because of split into (Moar|J)VM, NQP, Rakudo*) beside really simple ones as lua the one with fewest crap in the build system | 09:44 | |
jnthn | [Sno]: Having the clean separation helps quite a lot architecturally in other ways too...good to know it also has build benefits. | 09:49 | |
m: role Foo::Bar { }; say (42 but Foo::Bar).^shortname | 09:52 | ||
camelia | rakudo-moar c37939: OUTPUT«Bar}» | ||
psch | hm, nqp-j VMNull compiles, mostly... except stage2 wants to do aggregate operations on it, apparently | 09:54 | |
well, stage2 compilation... :) | 09:55 | ||
that's minor, right? :P | |||
jnthn | Odd | 09:56 | |
nine_ | jnthn: we do not run the code object immediately but the compiler_thunk that replaces the stub with the compile_in_context'ed code object. | ||
psch | jnthn: the role shortname? | ||
jnthn: seemed obvious how, functionally, it occurs, but why it only happens for runtime mixins i didn't get into | 09:57 | ||
jnthn | psch: Probably because Mixins.nqp computes the name | 09:58 | |
psch: And I don't think we have anything else | 09:59 | ||
uh, anything else that does that | |||
nine_ | jnthn: it's unfortunate that the EVALed code doesn't get access to the lexical symbols for now, but I figured it's still better than having no EVAL at all. Do you think it could cause back compat issues when we do fix this? | ||
jnthn | Other things like coercion types will, iirc, call shortname on the two types in order to implement its own shortname | ||
m: BEGIN EVAL 'say 42' | 10:00 | ||
camelia | rakudo-moar c37939: OUTPUT«42» | ||
jnthn | It'd break that, no? | ||
psch | m: use nqp; role Foo::Bar { }; my $x = Any.^generate_mixin(nqp::list(Foo::Bar)); say $x.WHAT | ||
camelia | rakudo-moar c37939: OUTPUT«(Bar})» | ||
psch | ah, neat | ||
jnthn | psch: Anyways, I left a fix suggestion on the ticket :) | ||
psch | jnthn: yeah, i might stash the nqp-j VMNull for now and do that instead | 10:01 | |
nine_ | jnthn: I'd be surprised if it did as BEGIN EVAL 'CompUnit::DependencySpecification.new(:short-name<Foo>)' works just fine. Will test. | 10:02 | |
jnthn | nine_: About running the compiler thunk: how does that work out with, say, `sub foo() { if 1 { 2 } }`, where there's code-objects nested within each other? | ||
nine_ | Also it passes all spectests | ||
jnthn | That is, do we compile the { 2 }, then again compile it as part of sub foo's block, and those two again as part of the outermost block? | ||
Passing the spectests is good, though I'm guessing this area is woefully undertested (guess it'll be improving as we add tests for the RT this stuff fixes, though) | 10:04 | ||
nine_ | BEGIN EVAL 'say 42' does indeed work just fine. It prints 42 during precompilation. | 10:05 | |
jnthn | Hm, OK. I wonder how it finds the `say`... | ||
Maybe just late binding... :) | 10:06 | ||
nine_: Oh, I got the wrong example | |||
m: BEGIN EVAL 'BEGIN say 42' | |||
camelia | rakudo-moar c37939: OUTPUT«42» | ||
jnthn | How about that one? :) | ||
nine_ | That blows up :) | 10:07 | |
Cannot invoke this object | |||
jnthn | Right | 10:08 | |
psch | uh, how far through do i have to hand the shortname optional..? | 10:09 | |
jnthn | m: BEGIN EVAL 'my role R { }; my class C does R { }; say C' | ||
camelia | rakudo-moar c37939: OUTPUT«(C)» | ||
nine_ | Well now that I've established a working base line, it should be much easier to try out different approaches. | ||
psch | i mean, from generate_mixin it'd go to new_type, which depends on *what* we're mixin into afaict..? | ||
jnthn | psch: Oh, hmm | ||
nine_ | Could not instantiate role 'R': No lexical found with name '$_' | 10:10 | |
jnthn | :( | ||
Yeah, feared that might break | |||
psch | jnthn: so, probably parse the mixed in long name properly in Metamodel::Naming i guess | ||
nine_ | jnthn: well technically the patch doesn't break it. It errors only if run during precompilation where previously EVAL was not usable at all. | 10:11 | |
jnthn: normal compilation/run time is still just fine | |||
jnthn | nine_: But does it break it in the non-precomp case also? | ||
psch: That sounds fragile | 10:12 | ||
nine_ | jnthn: no. Nesting is only activated during precompilation as there's no need to fix anything outside precomp. | ||
jnthn | nine_: OK, then it's not a regression :) | 10:13 | |
nine_ | github.com/rakudo/rakudo/commit/ef...8dba19R447 | ||
jnthn | psch: In Mixins.nqp: "# Work out a type name for the post-mixed-in role." | ||
psch: We should calculate the shortname there too | |||
psch | jnthn: right, but then i have to touch every new_type, no? | 10:14 | |
+method | |||
jnthn | psch: If you take that root - only those that happen to compose Perl6::Metamodel::Mixins | ||
psch: Which is, afaik, only ClassHOw | |||
*ClassHOW | |||
psch: But there's an easiser option | |||
psch: Which is to update the Naming role to have a set_shortname | 10:15 | ||
And just tweak it *after* the new_type call | |||
psch | ah, right | ||
yeah, i'll do that | |||
10:22
dalek joined
|
|||
psch | oh shucks | 10:27 | |
apparently a role isn't guaranteed to have a method shortname during stage parse..? | 10:28 | ||
jnthn | psch: Possibly not...probably means it's an NQP role | 10:32 | |
Or something else :) | |||
Maybe we really are missing a shortname method somewhere? | |||
psch | hm, Callable[Int:D] is what doesn't have it apparently | 10:38 | |
10:39
brrt joined
|
|||
psch | m: Callable[Int:D].new.^shortname.say | 10:49 | |
camelia | rakudo-moar c37939: OUTPUT«Callable[Int:D]» | ||
jnthn | m: Callable[Int:D].^shortname.say | 10:50 | |
camelia | rakudo-moar c37939: OUTPUT«Method 'shortname' not found for invocant of class 'Perl6::Metamodel::CurriedRoleHOW' in block <unit> at /tmp/yRgw4ACgsr line 1» | ||
jnthn | Indeed | ||
psch | oh, of course | ||
jnthn | .new will pun it | ||
psch checks if "CurriedRoleHOW does Naming " is enough... | |||
10:54
cognominal joined
|
|||
psch | heh, almost | 10:55 | |
$ ./perl6-m -e'role F::B { }; say (5 but F::B).^shortname' | |||
+{} | |||
... | |||
dalek | kudo/moar/reframe: 89f35fa | jnthn++ | src/vm/moar/ops/perl6_ops.c: Sync with MoarVM API changes. |
10:56 | |
jnthn | heh :) | 10:58 | |
11:05
skids joined
|
|||
psch | right, so the solution for that was not removing the bit that sets the shortname in set_name | 11:09 | |
and i think that's fine 'cause we only have that problem with mixins and generate_mixin calls set_shortname shortly after..? | |||
dalek | kudo/nom: 60550d1 | peschwa++ | src/Perl6/Metamodel/ (3 files): Fix RT #127916. jnthn++ for the hints. |
11:16 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127916 | ||
jnthn | psch: Yeah, the default in set_name is a fine enough default, I think | 11:17 | |
psch: Just not right for this case | 11:18 | ||
(the mixin case) | |||
psch grmbls at git diff not showing added but uncommited files | 11:24 | ||
guess i'll have to squash when i get it working instead :/ | 11:25 | ||
'cause i was about to gist the nqp-j VMNull attempt, which dies with a complaint about aggregate operations on a type object | |||
jnthn | git diff --staged :) | ||
lunch & | |||
timotimo | git lunch --staged | 11:27 | |
psch | ...but --staged shows *only* those files /o\ | ||
timotimo | then you can apply that in reverse, then you'll be left with the opposite | 11:28 | |
and then you can restore it again from the .patch on disk | |||
psch | ...what | ||
i just want to gist it so i can realize where i'm being stupid after i ask for help... ;) | |||
timotimo | oh! | ||
well, then you can apply that in reverse, and gist the output of "git diff"? | 11:29 | ||
psch | why do i have to apply anything? i have a new file in the repo and just want a git diff that shows the content of the new file plus the changes in existing files... :/ | ||
timotimo | oh? | ||
psch | also i am in somewhat of a sour mood, so sorry if i'm sounding whine or anything | ||
*whiny | 11:30 | ||
timotimo | so git add the new file and you'll get it in --staged, too, i think | ||
psch | ahh | ||
the actual trick to --staged is to *actually stage* the changed files as well! | |||
as in, git add them as well | |||
timotimo | %) | 11:31 | |
psch | gist.github.com/peschwa/7fddd65858...21ae455596 there | 11:32 | |
i'm doing something else for a bit i think... | |||
if there is an obvious hint for why that breaks as it does feel free to share :P | |||
[Coke] | btw, met Brian Duggan in baltimore, loved his presentation on making a web app in Perl 6 (slides not (yet?) available). on hackathon day he was looking in the Perl 6 Grammar for some p6doc oddities. (multi #|'s not being captured, IIRC) | 12:26 | |
Also let out a WOOT at John Anderson's "Moderl Perl for the Unfrozen Paleolithic Perl Programmer" when he said he had had to remove the slide about P6 not being released yet. | |||
BTW, the last release I didn't do was 2015-07-25 | 12:30 | ||
(and then we skipped August because of the GLR) | |||
dalek | kudo/nom: 6df7ff8 | coke++ | docs/release_guide.pod: reflect actual (not planned) date |
12:34 | |
moritz | stmuk: is there an RC tarball for the star release somewhere? | 12:56 | |
timotimo | there's the one i made earlier, not sure about the one stmuk made | 13:01 | |
psch | so i had an idea why i get the aggregate op error | 13:15 | |
which was "probably because isnull doesn't check for VMNull" | |||
timotimo | ah! | ||
psch | and then i tried to correct that, but isnull needs a TC for that | ||
timotimo | yeah, moar has an MVM_is_null(tc, obj) for that | ||
psch | so i added that the coreop mapping | ||
and now stage0 can't build stage1 | |||
'cause Ops.isnull now needs a TC, but stage0 calls an isnull without a TC | 13:16 | ||
...i think | |||
13:16
perlpilot_ joined
|
|||
timotimo | ah! | 13:16 | |
yes, changing stuff like that will require a stage0 upgrade | |||
with make j-bootstrap-files or what'?s it called | |||
psch | that has the same error | 13:17 | |
oh, but i didn't clean | |||
...well, not that it helped vOv | |||
timotimo | it's ... complicated | 13:20 | |
psch | yeah, i think it's because of the bootstrapping | 13:21 | |
i heard that makes bootstrapping complicated vOv | |||
timotimo | yeah, the bootstrapping does that to the bootstrapping | 13:22 | |
OK, let's think this through | |||
i think if you build an nqp to completion, then change that isnull needs :tc, then make the bootstrap files, you'll have a stage0 that gives a tc to isnull | 13:23 | ||
with java overloading, you should be able to make the same .jar with the ops work with both definitions | |||
psch | so i build HEAD now, unstash, and then make j-bootstrap-files | 13:24 | |
timotimo | i hope that actually works :S | 13:26 | |
psch | me too! | ||
hrm, nope | 13:30 | ||
timotimo | uh oh | 13:38 | |
how does it b0rks? | |||
psch | Unhandled exception: java.lang.NoSuchMethodError: org.perl6.nqp.runtime.Ops.isnull(Lorg/perl6/nqp/sixmodel/SixModelObject;)J | ||
i'd guess stage0 still has bytecode that wants to call that method | 13:39 | ||
which seems sensible | |||
timotimo | well, did you try giving it both alternatives? | ||
psch | but it doesn't exist anymore in what's to become stage1 | ||
timotimo | remember, java has method overloading | ||
psch | oh, right, i don't need an overloaded mapping | ||
timotimo | we don't support overloaded mappings in the QAST compiler anyway | 13:40 | |
psch | i mean, it's already bytecode, so we don't need to translate the nqp op anymore | ||
yeah, that's why i didn't try it... :) | 13:41 | ||
timotimo | there's a few ops that can handle different amounts of arguments, but they just compile to one of multiple different ops using QAST or something like that | ||
psch | hm, now i'm back to the error before. apparently isnull wasn't to blame after all :S | 13:43 | |
timotimo | oh no :| | 13:45 | |
13:46
skids joined
|
|||
stmuk | moritz: pl6anet.org/drop/rakudo-star-2016.04-RC0.tar.gz | 13:53 | |
timotimo | neat | ||
[Coke] | RT: 4 [PATCH]es. might be nice to see if those even still apply. | 13:54 | |
And we might want to update our contributor notes to push people towards github PRs. | |||
moritz | stmuk: thanks, testing now... | ||
stmuk | I get a test fail on the embedded version of Shell::Command in panda with OS X | 14:11 | |
maybe panda needs a Shell::Command version bump | |||
14:13
brrt joined
14:58
lizmat joined
|
|||
stmuk | yes it does .. if someone can panda/update-subtree.pl I'll build a RC1 later | 15:06 | |
15:14
[TuxCM] joined
|
|||
[TuxCM] | This is Rakudo version 2016.04-2-g6df7ff8 built on MoarVM version 2016.04 | 15:15 | |
test 22.996 | |||
test-t 13.032 | |||
csv-parser 26.103 | |||
# Failed test 'Data' | |||
# at 88.t line 27 | |||
# expected: Buf.new(61,171,79,74,34,210,39,46,232,113,247,205,246,38,73,24,50,147,169,107,195) | |||
# got: Buf.new(61,171,79,74,34,210,39,46,232,113,247,205,246,38,73,24,50,147,169,107,195,0) | |||
utf8-c8 decode/encode still not 100% | |||
timotimo | right, that's "the bug" i saw | 15:16 | |
15:24
geekosaur joined
|
|||
dalek | kudo/moar/reframe: 85e3302 | jnthn++ | src/vm/moar/ops/perl6_ops.c: Add an MVMROOT on ctx, now frames are GCable. |
15:31 | |
stmuk | github.com/tadzik/panda/pull/308 | 15:34 | |
TimToady | [Coke]: so, basically, you'll keep doing the releases until we appoint you permanent release manager, and then you'll quit? :) | 16:01 | |
16:02
vendethiel joined
|
|||
[Coke] | TimToady: mmheheh! | 16:03 | |
I think it would be really good if neither jnthn nor I did a release in May. :) | 16:04 | ||
lizmat | m: dd Buf.new(195).decode("utf8-c8") # golf of problem Tux found | 16:06 | |
camelia | rakudo-moar 6df7ff: OUTPUT«"xC3\0"» | ||
16:19
awwaiid joined
|
|||
stmuk | pl6anet.org/drop/rakudo-star-2016.04-RC1.tar.gz | 16:27 | |
[Coke] | if I run "perl Configure --gen-moar --gen-nqp --backends=moar" in that dir, it's trying to download something via git. | 16:47 | |
shouldn't everything be pre-bundled? | |||
ugexe | probably easier to lean on github as a CDN doing it that way for now | 17:27 | |
timotimo | but we *are* supposed to make rakudo star release tarballs installable without an internet connection | 17:28 | |
[Coke] | and I thought we already had bene | 17:33 | |
*been | |||
if it's an old issue, that's fine. just wanted to make sure I mentioned it | |||
stmuk | I don't think it's a new issue .. I suspect the --gen-nqp flag | 18:16 | |
timotimo | so if you only --gen-moar but not --gen-nqp it'll work OK? | 18:17 | |
stmuk | yes which is what I usually type | ||
I did notice "make rakudo-spectest" gave some strange warnings about roast (which it does checkout via git) | 18:19 | ||
but assume those are roast issues (missing files) rather than R* ones | |||
[Coke] | stmuk: see this : | 18:20 | |
... crap. you can't link to an annotated line of an .md file in github? | 18:21 | ||
here, try this; github.com/rakudo/rakudo/commit/bb...b713d01d5d | |||
so if you're using the 2016.04 compiler tarball, you have 6.c-errata branch of spec, but nom t/spectest.data, so... | 18:22 | ||
stmuk | ah | 18:23 | |
you can link to lines via blame view of .md file I think likegithub.com/rakudo/star/blame/maste....04.md#L65 | 18:25 | ||
github.com/rakudo/star/blame/maste....04.md#L65 | |||
[Coke] | stmuk: ahah! thanks. | 18:45 | |
19:06
awwaiid joined
19:08
skids joined
19:25
brrt joined
20:28
hankache joined
22:22
skids joined
|