|
Parrot 4.7.0 "Hispaniolan" | parrot.org | Log: irclog/perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 27 August 2012. |
|||
| dalek | sella/commandline_2: cccf82d | Whiteknight++ | src/commandline/ (4 files): [CommandLine] Fix automated help message generation |
00:58 | |
| sella/commandline_2: 38bb2e5 | Whiteknight++ | src/commandline/ (5 files): [CommandLine] Some cleanup and docs |
|||
| sella/commandline_2: b0fd618 | Whiteknight++ | src/commandline/Argument (2 files): [CommandLine] Add a few TODO notes for things I want to do next |
|||
| sella/commandline_2: 11eb38f | Whiteknight++ | src/commandline/Arguments.winxed: [CommandLine] Throw an error if we see an argumet without a definition. Handle the case of parsing -XYZ where -X, -Y and -Z are each flags |
|||
| sella/commandline_2: f8a619f | Whiteknight++ | t/commandline/Arguments.t: [CommandLine] Add tests to Argument.t for combination args and unknown args |
|||
|
01:01
benabik joined
01:30
MikeFair joined
|
|||
| MikeFair | Any available that can help with comprehending what all the functions available are in the PCT? | 01:33 | |
| I ran mk_language_shell script, and I managed to modify the Grammar/Actions/Runtime .pms to add my first command and modify the syntax (I cloned "say" and modified the Grammar) | 01:35 | ||
| Now I'd like to variable declaration and create an assignment statement but I can't seem to find any good references | |||
| for moving on past the shell | |||
|
01:37
mvorl joined
03:05
benabik joined
|
|||
| MikeFair | benabik: You open to a quick recommendation of something I'd love to see in PACT? | 03:22 | |
| benabik: Somethings, like assignment and variable declaration, are expected to be in most every language | 03:23 | ||
| benabik: What I'd love to be able to do is have some kind of 'language family' prototypes that I can marry my language too (like 'C' for instance) in terms of what I mean | 03:24 | ||
| benabik | MikeFair: The idea is, much like PCT, to have a generic AST. Assignment is an "assign" op with a variable and expression children. | 03:26 | |
| MikeFair | Maybe I'm asking too much here, but for instance my language is going to be like lots of languages, scopes, namespaces, if/for/while | ||
| right, but what I'd like to do is write my rule, but then assign the matches to the rules of another language | 03:27 | ||
| instead of having to push AST nodes directly | |||
| So for instance, "put 10 into x" is assignment in my language | |||
| So I think I'd like to have a rule "<PUT>" that matches "put (<EXPR>) into (<EXPR)" | 03:28 | ||
| benabik | Well, to some extent, PACT's current (planned) scope ends at the AST level. Parsing and building the trees are the responsibility of the front end. | 03:29 | |
| MikeFair | And then write something like ProtoLang::C::assign($2, $1) | ||
| and put that in Grammar.pm | |||
| benabik | Why is that different than `new Op($2, $1)` ? | ||
| Ooops. | |||
| new Op('assign', n2, n1) | 03:30 | ||
| MikeFair | benabik: Well the idea is that I don't know what Parrot's list of OpCodes are, but I do know what constructs exist in a language like 'C' | 03:31 | |
| benabik: For instance "struct" | |||
| benabik | You'd have to look up the list of ProtoLang::C::* functions... | ||
| And the AST ops are probably not 1:1 parrot opcodes. | 03:32 | ||
| Instead you get things like 'assign', 'while', 'if' | |||
| MikeFair | benabik: The idea is that it'd be a language I know that has sematics like that I could reuse | 03:33 | |
| benabik: I'll keep working at it | |||
| benabik | I'd rather target the generic language concepts. | ||
| MikeFair | benabik: Right, however how do I the not-so-sophisticated at understanding compiler concepts express the behavior I want? | 03:34 | |
| benabik: For instance, I really like the idea of "namespaces" that can be declared in any file to have a code block be part of that namespace | 03:35 | ||
| benabik | PCT's AST is probably going to express namespaces and classes more directly than PCT's. | ||
| MikeFair | benabik: however I'm not looking forward to learning everything I'll have learn to get that behavior | ||
| benabik | s:1st/PCT/PACT | ||
| I'm picturing that the top of the AST is a namespace, which holds classes, namespaces, and subs. | 03:37 | ||
| In the complex case. In the simple case, you give it code which gets wrapped until it fits that. | |||
| MikeFair | benabik: That sounds great! | 03:38 | |
| benabik: It could be really neat if you assumed that namespaces might cross process boundaries | 03:39 | ||
| benabik: I might be mixing the concepts here, but I'm thinking like erlang, or some other distributed system | |||
| benabik | Yeah. Parrot's not that. | 03:40 | |
| MikeFair | ok kids are calling | ||
| bbl | |||
| benabik | sleep & | 03:48 | |
|
04:08
schmoo joined
05:09
mvorl joined
05:40
mvorl joined
06:42
rurban_mobile joined
07:06
brrt joined
07:17
dngor joined
08:03
rurban_mobile joined
|
|||
| rurban_mobile | Good morning #parrot | 08:03 | |
| brrt | morning rurban | 08:05 | |
| rurban_mobile | working on win64 stat failures | 08:11 | |
| brrt | fun :-) | 08:13 | |
| win64 specific? | |||
|
08:19
Psyche^ joined,
simcop2387 joined
|
|||
| rurban_mobile | no idea yet. see Win32::UTCFileTime | 08:19 | |
| mtime is wrong suddenly | 08:20 | ||
| perl5 and parrot stat.mtime return different values | 08:21 | ||
| I believe this deserves a ticket. jonathan knows about it. it makes working with file caches on windows impossible. | 08:22 | ||
|
08:26
he_ joined
08:27
simcop2387_ joined
08:54
rurban_mobile joined
09:00
simcop2387_ joined
|
|||
| dalek | rrot: 40d3f64 | rurban++ | / (3 files): [GH #820] win32 stat() mtime problems Try to use Win32::UTCFileTime, but it did not help. Compare stat mtimes to each other, not against the system-time. The tests still fail. |
09:01 | |
| p/toqast: e817f40 | jonathan++ | src/how/NQPClassHOW.pm: Fix vtable mapping handling so that it doesn't ignore mappings of handlers from attributes. |
09:11 | ||
| p/toqast: 884d509 | jonathan++ | src/core/NQPMu.pm: Give NQPMu a default at_pos and at_key for type object invocants, like we have for Any in Rakudo. |
|||
| rrot/native_pbc: 7fd17b9 | rurban++ | t (18 files): re-enable native_pbc use new t/native_pbc/testdata templates to generate pbc's, change string to use binary and utf8 encodings, update mk_native_pbc. TODO: little-endian pbc files missing, preparing a 8_le qemu image to generate them. |
09:20 | ||
| rrot/native_pbc: 0314d17 | rurban++ | / (15 files): [GH #394] Revamp native_pbc: t/native_pbc/Test.pm Simplify tests with a common t/native_pbc/Test.pm library. Delete unneeded pbc files. Update ppc32 t/native_pbc files. TODO: endian-conversion fails |
|||
| rrot/native_pbc: 5c80dcb | rurban++ | / (40 files): refactor t/native_pbc/ test ids Parrot::Test had the odd assumption that testing pbc can only be done for native_pbc tests, and that the tests must be of _<int>++.pbc. We pass now the filename as first arg to pbc_output_is() and check if it exists. So we can use now readable test names. |
|||
| rrot/native_pbc: c6dd10c | rurban++ | t (2 files): mk_packfile_pbc refactor with t/native_pbc/testdata/annotations.pir |
|||
|
09:20
rurban_mobile joined
|
|||
| dalek | Heuristic branch merge: pushed 164 commits to parrot/native_pbc by rurban | 09:20 | |
|
09:21
simcop2387 joined
|
|||
| dalek | rrot/native_pbc: 02feb07 | rurban++ | / (40 files): refactor t/native_pbc/ test ids Parrot::Test had the odd assumption that testing pbc can only be done for native_pbc tests, and that the tests must be of _<int>++.pbc. We pass now the filename as first arg to pbc_output_is() and check if it exists. So we can use now readable test names. mk_packfile_pbc refactor with t/native_pbc/testdata/annotations.pir |
09:31 | |
| rrot/native_pbc: 60f0615 | rurban++ | / (50 files): Merge remote-tracking branch 'origin/master' into native_pbc |
|||
| rrot/native_pbc: c5ee7aa | rurban++ | t/native_pbc/testdata/string.p (2 files): Merge branch 'native_pbc' of github.com:parrot/parrot into native_pbc |
|||
| rrot/native_pbc: 9efc506 | rurban++ | t/native_pbc/testdata/string.p (2 files): mv t/native_pbc/testdata/string.pir t/native_pbc/testdata/string.pasm |
|||
|
09:34
dngor joined
09:36
simcop2387 joined
|
|||
| dalek | p/toqast: 39b2a95 | jonathan++ | src/NQP/Actions.pm: Avoid the global NQPMu thing, which is a Very Bad Idea in a bootstrapping compiler. What was I thinking?! |
09:50 | |
| p/toqast: b39cf30 | jonathan++ | / (10 files): Update the stage0 to the QAST-based NQP. \\o/ |
|||
|
10:30
rurban_mobile joined
10:31
brrt joined
|
|||
| dalek | kudo/nom: d703632 | moritz++ | src/Perl6/Grammar.pm: warn on obsolete use of \\ and | with sigilled parameter |
10:34 | |
| p/toqast: 8c12e83 | jonathan++ | src/core/NQPMu.pm: Eliminate call to nqp_set_nqpmu. |
10:58 | ||
|
11:02
alin joined
11:08
rurban_mobile joined
|
|||
| dalek | kudo/nqpqast: 54d1cf4 | jonathan++ | src/Perl6/ (6 files): First round of PIR op fixes, plus changing some to nqp::. |
11:16 | |
|
11:35
rurban_mobile joined
|
|||
| dalek | p/toqast: da99914 | jonathan++ | src/NQP/ (2 files): Ensure --vmlibs takes effect for on-demand compiled code. |
12:03 | |
| rurban_mobile | I'm now pretty pissed off by the new packfile design, which broke almost everything. This thing called parrot has no future if anybody can break pbc and pessimize perl6 performance at will. | 12:08 | |
| brrt | .. harsh words | 12:13 | |
| dalek | p/toqast: 8ac7d80 | jonathan++ | src/NQP/Actions.pm: Optimize some type lookups. |
12:28 | |
| kudo/nqpqast: 2874f19 | jonathan++ | src/Perl6/Metamodel/ (5 files): Fixes to get metamodel to compile with updated NQP. |
|||
| kudo/nqpqast: 89aefb2 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm: A couple of fixes to BOOTSTRAP, though it doesn't yet work. |
|||
|
12:28
rurban_mobile joined
12:39
JimmyZ joined
|
|||
| dalek | p/toqast: 9834252 | jonathan++ | src/how/NQPClassHOW.pm: Fix thinko that broke initialization of @ and % attributes. |
12:46 | |
| sella: 2233933 | awhitworth++ | src/include/Ascii.winxed: [Parse] Add a few TODO notes and comments for parsing helper inlines which are not unicode safe |
13:10 | ||
| Coke | rurban: is the problem that "the packfile format changed" or that "the new format has issues" ? | 13:12 | |
| dalek | rrot/native_pbc: c98a878 | rurban++ | / (18 files): Fixed pbc_header.pl, usage docs, improved version tests Fixed pbc_header.pl to query and update pbc versioninfo in headers. Improved release manager guide to update native_pbc headers when PBC_COMPAT was not changed. Add better skip message to tests when just the Parrot version was bumped, but bc version matches. Bumped all native_pbc/*.pbc headers to 4.7.0. |
13:24 | |
|
13:33
rurban_mobile joined
|
|||
| dalek | rrot/native_pbc: 0f0e291 | rurban++ | t/native_pbc/Test.pm: native_pbc: refactor skip messages |
13:37 | |
| rurban_mobile | test | 13:39 | |
| PacoAir_ | !seen notfound | 13:40 | |
| rurban_mobile | Coke: The api changed and somewhere in the pbc format is now also a new version check, which was not there before. I fixed the version in the header, but still the old version is somewhere, fatal. pbc_header.pl --update-fingerprint is now useless. | ||
| And because someone disabled my native_pbc tests everything broke. not only cross-platform compat | |||
| Not speaking about the calling convention performance debacle. | |||
| See github.com/parrot/parrot/commit/c9...5a247dc738 | 13:41 | ||
| And since I already fixed the same mistakes some years ago, the new rewrite threw it away again, it's useless to argue anymore. | 13:44 | ||
| Coke | rurban_mobile: it's not useless. you weren't here when the rewrite was done, but you're here now. | 13:56 | |
| I'm not sure if this is part of the issue, but I don't think we're at a point (even now!) where we need to worry about PBC either working across parrot versions OR across hardware platforms. | 13:58 | ||
| I think those are still both nice to have, but I don't think we have enough market to worry about it. | |||
| PerlJam | Coke: that sounds a little like a catch-22. | 13:59 | |
| Coke | I think the best thing we an do is improve the technology and the performance at this point. (and if that means adding cross platform or supporting old bytecode, great, but I don't think it's a priority for any of our users.) | ||
| PerlJam: well, yes. | |||
| but it means we can decide what the right impementation is before we say "ok, we can't change this without also supporting any old verions" | 14:00 | ||
| assuming that this is what rurban is actually concerned about. | |||
| dalek | p/toqast: 1fbf703 | jonathan++ | src/NQP/Actions.pm: Optimize package lookups where the first part is lexical; also fixes them inside of BEGIN blocks. |
14:02 | |
| p/toqast: 602bf23 | jonathan++ | src/QAST/Compiler.nqp: Fix compilation of parameter lists with nameds and positional slurpies. |
|||
| p/toqast: 017a3d3 | jonathan++ | t/nqp/37-slurpy.t: Add a test for slurpy/named interaction. |
|||
| kudo/nqpqast: 71916b5 | jonathan++ | src/Perl6/Metamodel/ (7 files): Various bits of initialization cleanup. |
14:03 | ||
| kudo/nqpqast: 1b076c8 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm: Diddle BOOTSTRAP.pm enough for it to build. |
|||
| kudo/nqpqast: ebc4a05 | jonathan++ | src/Perl6/World.pm: World needs a BUILD (can revisit after refactoring HLL::World, though). |
|||
| PerlJam | I dunno. Right now it seems like a communications or understanding snafu. At a guess it looks like rurban is of a mindset to set the bar high, then hurdle it. Only, after setting the bar, he's come back to find it gone. Why? Maybe because other people didn't understand or believe in the importance of it? Or maybe this particular issue fell off their radar? Or maybe the rest of the Parrot people decided the importance of this thing was eclipsed by othe | 14:17 | |
| Since I apparently have my Optimism Hat on today, I think this is one of those things where a conversation between the right people could sort it out. | |||
| Coke | "was their a communication problem"? almost certainly. ;) | 14:18 | |
| *there | |||
| reading rurban's email, I think he's on the right track. I was just trying to make sure everyone stayed optimistic myself. :) | 14:19 | ||
| dalek | kudo/nqpqast: bbda747 | jonathan++ | src/Perl6/World.pm: Use 'new' to construct statix lexpad properly. |
14:22 | |
| kudo/nqpqast: 59bf84e | jonathan++ | src/Perl6/Actions.pm: Harden parameter trait handling. |
|||
|
14:29
mtk joined
|
|||
| dalek | p/toqast: deeca93 | jonathan++ | src/how/Archetypes.pm: Make sure archetypes methods don't return nulls. |
14:31 | |
|
14:48
dmalcolm joined
|
|||
| dalek | kudo/nqpqast: d3af128 | jonathan++ | src/Perl6/Metamodel/B (2 files): Last couple of null hardenings needed in order to get CORE.setting to build again. |
14:50 | |
| kudo/nqpqast: e691019 | jonathan++ | src/Perl6/World.pm: Eliminate a hack we no longer need in the code for finding the NQP module loader. |
|||
| Coke | rurban++, btw. | 15:07 | |
|
15:13
plobsing joined
15:25
JimmyZ joined
15:43
fperrad joined
16:01
brrt left
|
|||
| dalek | kudo/nqpqast: a98bc62 | jonathan++ | src/Perl6/Metamodel/ (11 files): Make sure we use NQP's BUILDALL in the meta-objects to avoid some differences in build protocol (can unify them later). Now this branch builds and make test all passes. |
16:13 | |
| p/toqast: 851a4e0 | jonathan++ | src/QAST/Compiler.nqp: Bump up register allocation window so it ain't far too small. |
|||
|
16:24
rurban_mobile joined
16:59
Patterner joined
17:12
rurban_phone joined
17:18
alester joined
17:19
rurban_phone2 joined
17:46
kurahaupo joined
18:15
schmoo joined
|
|||
| dalek | rtcl-nqp/borked: a9fd286 | coke++ | src/init.pm: remove references to P6object |
18:29 | |
| rtcl-nqp/borked: aaf9633 | coke++ | .gitignore: Simplify ignore rules |
|||
| rtcl-nqp/borked: 26ccfbd | coke++ | / (161 files): isolate serialization error to src/init.pm |
|||
|
19:16
lucian joined
|
|||
| moritz | Coke: do you use NQP::World in partcl-nqp? | 19:40 | |
|
19:43
whiteknight joined
|
|||
| whiteknight | hello parrot | 19:43 | |
| did I miss #ps? | |||
| oh wait, nevermind. I missed all of tuesday | 19:44 | ||
| whiteknight checks the calendar to make sure it's still 2012 | 19:45 | ||
|
19:49
mvorl joined,
NotFound joined
|
|||
| NotFound | Hi | 19:50 | |
| benabik | ~~ | ||
| whiteknight | NotFound!!! | 19:51 | |
| NotFound | I'm back! | ||
| moritz | welcome back NotFound | ||
| NotFound | Thanks | 19:52 | |
| whiteknight | Where were you? | 19:54 | |
| NotFound | Holidays, then some relax time, then some coldness. Nothing serious. | 19:55 | |
| whiteknight | relax time is best time | 19:59 | |
| NotFound | Yeah | 20:00 | |
| whiteknight | we managed not to break winxed while you were gone | 20:02 | |
| NotFound | Maybe you don't tried hard enough | 20:04 | |
| moritz | hey, a branch was merged :-) | 20:05 | |
| whiteknight | a damn big branch | 20:11 | |
| NotFound | Wich one? | ||
| whiteknight | whiteknight/io_cleanup1 | ||
| threads may be going in this week or next week | |||
| NotFound | Good! | ||
| PerlJam | whiteknight: and then you'll be ready for the 3rd and 4th 90% :) | 20:12 | |
| whiteknight | heh | 20:13 | |
| I'm away this weekend, so I don't want to merge threads if I'm not around to deal with the problems | 20:14 | ||
| dalek | sella/commandline_2: fdd62c3 | awhitworth++ | src/ (3 files): [CommandLine] Redo Arguments and ArgumentDef to option aliasing and more of the argument types supported by GetOpt::Obj. More cleanup and error detection/handling. |
20:20 | |
| sella/commandline_2: 8665de0 | awhitworth++ | / (2 files): [CommandLine] Fix Arguments.t tests to use A instead of -A for arg accesses. A few other fixes to make that test file pass. Add a new test for the new behavior of requesting an arg value which does not exist |
|||
| sella/commandline_2: 982ce53 | awhitworth++ | / (2 files): [CommandLine] Delete old tests from ProgramMode.t and replace with a few new tests (mostly stubs) |
|||
| sella/commandline_2: 1babcac | awhitworth++ | s (2 files): [Utilities] Add in a new dump_pbc program, showcasing the new Commandline setup. This utility dumps class, namespace and function information from an existing pbc file to the console. |
|||
| sella/commandline_2: 07c7d41 | awhitworth++ | src/utilities/dump_pbc.winxed: [Utilities] Add an --all option to the dump_pbc utility |
|||
| sella/commandline_2: 9279d57 | awhitworth++ | src/ (3 files): [CommandLine] Update test_all_lib to use the new CommandLine interface. This exposes some missing functionality. Add some TODO notes for later. |
|||
| sella/commandline_2: 0a3f33f | awhitworth++ | src/ (2 files): [CommandLine] Fix some on_error semantics. Differentiate between usage messages and help messages. Misc cleanups |
|||
| rurban_mobile | threads really looks fixed now, adougherty++ | 20:27 | |
| whiteknight | okay, I'm sold on it. We can merge any time people are ready. | 20:30 | |
| I'm going home now, we can talk more about it tonight | |||
| dalek | rrot/threads: e1d4c06 | doughera++ | src/alarm.c: Fix alarm.c racy sleep_cond with threads I've never really done any threads programming, so I could be quite off here, but it looks to me as if there's a race condition in src/alarm.c in the threads branch. Specifically, Parrot_alarm_init() creates a thread that checks sleep_cond before it initializes sleep_cond. (Similar remarks hold for alarm_lock.) rurban: This fixed the deadlock in the sleep Timer task, but there are still race conditions. See lists.parrot.org/pipermail/parrot-d...07163.html |
20:53 | |
| kudo/nqpqast: efa7916 | jonathan++ | src/Perl6/Actions.pm: A few our => my (had no need to be our). |
21:01 | ||
| p: 2b1bcbb | (Elizabeth Mattijsen)++ | docs/pir2nqp.todo: A "todo" list to get rid of unneeded "pir::" references |
21:03 | ||
| p/toqast: c7ae2e6 | jonathan++ | / (3 files): Eliminate some of the now-unrequired PAST code. |
21:07 | ||
|
21:19
perlite joined
|
|||
| Coke | moritz: I'm trying to port partcl-nqp from parrot-nqp to nqp at the moment, so things are in flux. I'm not sure. | 21:29 | |
| Coke waves from MCO. | |||
| dalek | p/toqast: 8503dbe | jonathan++ | src/Q (4 files): Eliminate rxtype pastnode. |
21:35 | |
| Coke | most of the nqp variants (both of them) infrastructure was done by pmichaud anyway. I did a lot of the "implement this tcl command" bits. | 21:36 | |
| seen schwern | 21:56 | ||
| aloha | schwern was last seen in #perl6 455 days 2 hours ago leaving the channel. | ||
|
21:57
lucian joined
|
|||
| dalek | p/toqast: 67fc54e | jonathan++ | src/ops/nqp.ops: Toss an unused op. |
22:07 | |
|
22:07
whiteknight joined
|
|||
| dalek | p/toqast: e10bae4 | jonathan++ | src/how/NQPClassHOW.pm: Eliminate an unused multi-dispatch code path from a previous factoring. |
22:07 | |
| p/toqast: e2dedb8 | jonathan++ | src/how/NQPClassHOW.pm: Eliminate a bit more of the old multi code. |
|||
| p/toqast: 5abcf1d | jonathan++ | src/stage0/ (9 files): Update the bootstrap. |
|||
| p/toqast: 132adc6 | jonathan++ | src/ops/nqp.ops: Toss a bunch of unused dynops. |
|||
| Coke | is there a working "build a language on nqp" example? (not parrot-nqp) | 22:18 | |
| whiteknight | good evening, #parrot | ||
| dalek | p/toqast: b8e94a8 | jonathan++ | / (4 files): Eliminate the now-unused DispatcherSub PMC. |
22:30 | |