|
Parrot 4.4.0 "Banana Fanna Fo Ferret" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 15 May 2012. |
|||
| dalek | kudo/qbootstrap: cc75bfd | jnthn++ | src/core/Temporal.pm: Twiddle whitespace around stub syntax; there's actually a bug lingering that causes this to be needed. This does mean we fully parse CORE.setting, though, just blowing up at CHECK time because something causes generation of calls to infix:<> in a few places. |
00:12 | |
| kudo/qbootstrap: dccd9cf | jnthn++ | src/Perl6/Actions.pm: Avoid a double-make (but doesn't fix anything). |
|||
| kudo/qbootstrap: d7e3797 | jnthn++ | src/Perl6/Actions.pm: Apply a tweak also made in HLL::Actions last night; this clears up a vast number of the spectest failures as a result of switching to QRegex for parsing Perl 6 source. O(30) test files have failures that need investigating. |
|||
| cotto | dukeleto++ | 00:28 | |
| that was less work than I expected | 00:34 | ||
|
01:37
whiteknight joined,
japhb joined
01:41
JimmyZ joined
|
|||
| whiteknight | good evening, #parrot | 01:49 | |
| cotto | 'evening, whiteknight | 01:56 | |
| whiteknight | hello cotto, how are things going with you? | 02:13 | |
|
02:15
JimmyZ joined
|
|||
| whiteknight | Two things are really bugging me about this IO code | 02:16 | |
| First is how inconsistent things are. Some APIs don't test that the filehandle is flagged to perform the correct operation, so in some cases you can write to a read-only handle or vice-versa | |||
| Second, all the buffering code assumes that a single buffer can be read and/or write, and every single operation has to test what mode the buffer is in | 02:17 | ||
| what does it even mean to flush a read buffer, or to fill a write buffer? It's nonsensical, but these are both supported operations | |||
| and what happens when we write data to a buffer flagged for reading? I don't know, but it is supported | 02:19 | ||
| and it also bugs me that the functions in src/platform/*/io.c are all named Parrot_io_*, as if they're in that subsystem | 02:29 | ||
| I think I'm going to rename the functions in src/platform/*/io.c, to be more clear about the low-level nature and avoid collisions on the more common shorter names | 02:32 | ||
| for instance, I would expect Parrot_io_seek to be the API seek routine, but that's actually the private low-level routine | |||
| benabik | +1 | 02:33 | |
| whiteknight | Those low-level routines are going to be renamed Parrot_io_internal_* instead, to be more clear | 02:37 | |
| luckily, it doesn't look like we're exporting any of those, so it's a non-issue | |||
| dalek | rrot/ayardley/pod_DESCRIPTIONS: 382d90b | alvis++ | docs/req/model_users.pod: Added DESCRIPTION |
03:00 | |
| rrot/ayardley/pod_DESCRIPTIONS: b20e867 | alvis++ | docs/running.pod: Added DESCRIPTION and upcased '=head1' cps. |
|||
| rrot/ayardley/pod_DESCRIPTIONS: d2701e5 | alvis++ | docs/submissions.pod: Added DESCRIPTION and upcased '=head1' cps. |
|||
| rrot/ayardley/pod_DESCRIPTIONS: 983fe83 | alvis++ | docs/tests.pod: Added DESCRIPTION and upcased '=head1' cps. |
|||
| rrot/ayardley/pod_DESCRIPTIONS: c9e12f8 | alvis++ | docs/user/pir/exceptions.pod: Added DESCRIPTION |
|||
| rrot/ayardley/pod_DESCRIPTIONS: e63513c | alvis++ | docs/user/pir/intro.pod: Added DESCRIPTION and upcased '=head1' cps. |
|||
| rrot/ayardley/pod_DESCRIPTIONS: 3607aaa | alvis++ | docs/user/pir/objects.pod: Added DESCRIPTION and upcased a '=head1' cps. |
|||
| rrot/ayardley/pod_DESCRIPTIONS: bac982b | alvis++ | docs/user/pir/pmcs.pod: Added DESCRIPTION |
|||
| rrot/ayardley/pod_DESCRIPTIONS: 00e764a | alvis++ | docs/vtables.pod: Added DESCRIPTION |
|||
| rrot/ayardley/pod_DESCRIPTIONS: 3178c17 | alvis++ | editor/README.pod: Added DESCRIPTION |
|||
| rrot/ayardley/pod_DESCRIPTIONS: 53ff7ad | alvis++ | t/codingstd/240_files_without_DESCRIPTION.log: Updated with corrected files. |
|||
| rrot/whiteknight/io_cleanup1: 5895ab7 | Whiteknight++ | / (8 files): Rename io-related routines in src/platform/X/io.c to Parrot_io_internal_. Implement most of the FileHandle vtable. Severa other fixes, cleanups, additions and removals. Flitting around like a mosquito. |
03:20 | ||
| whiteknight | This IO cleanup is coming along in large, disjoint chunks | ||
| The casual observer will be learning an uncomfortable amount about the limits of my attention span | 03:21 | ||
| anyway, it's way past my bedtime. Goodnight | 03:22 | ||
|
05:47
JimmyZ joined
07:12
lucian joined
07:18
fperrad joined
07:22
fperrad_ joined
07:28
kurahaupo joined
07:49
kjs joined
08:01
crab2313 joined
|
|||
| dalek | : 6656922 | (kj, kjs)++ | m1.y: move around m0 block |
09:07 | |
| : 957a59e | (kj, kjs)++ | m1_gencode.c: fix up while loops. |
|||
| : 55ef7c7 | (kj, kjs)++ | m1_symtab.h: various |
|||
| : bffd522 | (kj, kjs)++ | while.m1: add test file while.m1 |
|||
| : c23de20 | (kj, kjs)++ | / (3 files): Merge branch 'master' of github.com:parrot/m1 |
09:08 | ||
| : 91fbdf7 | (kj, kjs)++ | dowhile.m1: add test for dowhile |
09:14 | ||
| : 4450703 | (kj, kjs)++ | m1_gencode.c: fix up dowhile statement |
|||
| : 753b88c | (kj, kjs)++ | m1.y: temp. fix boolexpr->expression; needs fixing later - need cmp op |
|||
| : ea81063 | (kj, kjs)++ | m1 (5 files): refactoring: constatns are per chunk, not global |
09:34 | ||
| : 83b1628 | (kj, kjs)++ | m1_ast.h: forgot to commit ast.h last time |
09:41 | ||
| : 5c2b4ac | (kj, kjs)++ | m1.l: report error on unexpected character |
|||
| : c0a9f1b | (kj, kjs)++ | m1.l: support /* */ multi-line comments. |
09:47 | ||
| : 06647dc | (kj, kjs)++ | m1.l: support *nested* C-style multi-line comments. |
09:53 | ||
| : 9d524a4 | (kj, kjs)++ | m1.l: minor tweak: don't allow writing multi-digit ints starting with a 0 |
09:58 | ||
| p/qbootstrap: 2cd24d0 | moritz++ | src/HLL/Compiler.pm: another attempt to get HLL::Compiler to the latest state |
10:16 | ||
| kudo/qbootstrap: a0ed8c0 | jnthn++ | src/Perl6/Grammar.pm: First crack at updating the code that adds new operators. This alone seems to fix O(15) of the failing test files. |
11:22 | ||
|
11:54
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 11:55 | |
| tadzik | hello whiteknight | ||
| whiteknight | hello tadzik, how are you doing? | ||
| tadzik | so-so. I'm quite ill, and now lying down at home writing my C++ assignment | ||
| for which I'm practically doing a job of 5 people, in the name of "want something done right, do it yourself" | 11:56 | ||
| also "want something done in time" | |||
|
12:06
particle1 joined
|
|||
| whiteknight | tadzik: that's no good. | 12:10 | |
| dalek | kudo/nom: e756635 | moritz++ | src/core/control.pm: make &eval a multi that way it is easier for fglock++ to experiment with p5 eval |
||
|
12:16
brrt joined
|
|||
| tadzik | yeah, that's LTA | 12:21 | |
|
12:24
PacoAir joined
|
|||
| dalek | kudo/qbootstrap: 053013e | jnthn++ | src/Perl6/Metamodel/MROBasedMethodDispatch.pm: find_method should cope with unknown adverbs (in this case, :no_trace). Fixes the two broken protoregex test files. |
12:32 | |
| p/qbootstrap: 813a2d5 | jnthn++ | src/HLL/Grammar.pm: Bring preclim handling fix in to EXPR; diakopter++. |
12:45 | ||
| : e7fc58d | (kj, kjs)++ | m1 (9 files): clean up code and remove bugs. also use asserts |
12:51 | ||
| kudo/qbootstrap: 75c0e9c | moritz++ | Configure.pl: [Configure] do not gen-nqp when --with-nqp is provided Fix by diakopter++ |
12:57 | ||
| p/qbootstrap: 7c5d69d | jnthn++ | src/QRegex/Cursor.nqp: ident could accidentally ord past end of string; check for this. Fixes at least one of the Rakudo regressions. |
13:04 | ||
| moritz | jnthn++ is too fast. He pushes fixes before I even get to build the status quo :-) | 13:06 | |
|
13:07
Psyche^ joined
|
|||
| dalek | : 8326078 | (kj, kjs)++ | m1 (6 files): bug fixing. |
13:19 | |
|
13:26
fahg joined
|
|||
| dalek | rrot/whiteknight/io_cleanup1: dde2f96 | Whiteknight++ | / (8 files): Change the buffering logic to use a more linear approach instead of a circular buffer. The added code complexity wasn't worth it. Several cleanups to the buffering code and elsewhere. |
13:30 | |
|
13:40
pjcj joined
|
|||
| dalek | nxed: 670a568 | NotFound++ | winxedst (2 files): Fix options in stages 0 and 1: Enable -e in stage 1 |
13:43 | |
|
13:45
schmooster joined
14:00
JimmyZ joined
|
|||
| dalek | p/qbootstrap: 382602b | jnthn++ | src/QRegex/P6Regex/Actions.nqp: Change the way <?> is handled so that it does not terminate LTM. Fixes parsing of C<...>. |
14:01 | |
| d_parrot: 77def9b | (Bart Wiegmans)++ | / (10 files): mod_parrot responds from a winxed script. |
14:07 | ||
| d_parrot: 598bdb6 | (Bart Wiegmans)++ | README.md: Updated README |
14:08 | ||
| brrt | so, mod_parrot can now run a bytecode-compiled winxed script | ||
| my work is done | |||
| i'm going to take a holiday now :-p | |||
| NotFound | brrt++ | 14:09 | |
| dalek | rrot/whiteknight/io_cleanup1: 09cefd4 | Whiteknight++ | / (4 files): Sketch out how we're going to initialize the IO vtables, and how we are going to store them in the interp. |
14:10 | |
| brrt | in seriousness, i initially thought that this was going to be the bulk of the work | 14:13 | |
| i only now realize the work that lies ahead | |||
|
14:15
crab2313 joined
|
|||
| NotFound | brrt: Do you have a blog post or something explaining how to build and test it? | 14:16 | |
|
14:17
kid51 joined
|
|||
| dalek | nxed: 50ce14f | NotFound++ | winxedst2.winxed: move type conversion of literals to methods in Literal subclasses |
14:34 | |
| nxed: 717e267 | NotFound++ | winxedst2.winxed: move StringLiteral class to match the usual INS order |
|||
| nxed: 5bb340a | NotFound++ | winxedst2.winxed: rename get_value method to getStringValue |
|||
| nxed: d31912a | NotFound++ | winxedst1.winxed: backport some cage cleaning to stage 1 |
14:39 | ||
|
14:42
brrt joined
14:45
isBEKaml joined
|
|||
| brrt | ping whiteknight | 14:52 | |
| Patterner | After installation "parrot/lib/4.4.0-devel/parrot_config.o" has a 600 mask. is that on purpose? | 15:08 | |
|
15:10
brrt joined
|
|||
| dalek | nxed: 807030a | NotFound++ | winxedst2.winxed: move type conversion of values in literals to Literal subclasses |
15:15 | |
| p/qbootstrap: 0197389 | jnthn++ | src/QRegex/ (2 files): Build and use the protoregex table in a much smarter way. Immediately shaves 25% off NQP test suite run time. |
15:17 | ||
| nxed: d0ed751 | NotFound++ | winxedst2.winxed: fix switch inside inline |
15:26 | ||
|
15:44
preflex_ joined
|
|||
| dalek | p/qbootstrap: 25680d9 | jnthn++ | src/ (3 files): Clean up the fate sorting silliness (temporary extra op due to needing a trip around the bootstrap to eliminate it; will keep the old one for another day or so in case the new way introduces issues). This shaves 10% off parse/actions time for CORE.setting. |
15:45 | |
| kudo/qbootstrap: 51f1b93 | moritz++ | src/core/IO/ArgFiles.pm: fix IO::ArgFiles.ins |
15:51 | ||
|
15:53
preflex joined
|
|||
| dalek | nxed: df225d7 | NotFound++ | Makefile: improve testdebug target and its description |
15:53 | |
|
15:57
preflex_ joined
16:00
preflex_ joined,
kurahaupo joined
|
|||
| alvis | /part | 16:15 | |
|
16:16
preflex_ joined
|
|||
| dalek | kudo/qbootstrap: e22f54f | jnthn++ | src/Perl6/Grammar.pm: Remove a couple of unrequied lookaheads, saving almost 40,000 calls to before while parsing CORE.setting. |
16:49 | |
| kudo/qbootstrap: 5bec1f1 | jnthn++ | src/Perl6/Grammar.pm: Remove a now-unrequired <!before ...> in rad_number, meaning that it gets a declarative prefix (and thus trims sooner). |
|||
| kudo/qbootstrap: 1b72f38 | jnthn++ | src/Perl6/Grammar.pm: Micro-optimization to desigilname. |
|||
| kudo/qbootstrap: 12b2cd7 | jnthn++ | / (2 files): Merge branch 'qbootstrap' of github.com:rakudo/rakudo into qbootstrap |
|||
| nxed: 4a17f0a | NotFound++ | winxedst1.winxed: drop pop_* and shift_* builtins from stage 0 |
16:50 | ||
| nxed: 823281c | NotFound++ | winxedst0.cpp: drop operator '~' from stage 0 |
17:05 | ||
| nxed: b9032ae | NotFound++ | winxedst1.winxed: drop multi string concat optimization from stage 1 |
17:19 | ||
|
17:20
alvis joined
|
|||
| dalek | nxed: c5f39da | NotFound++ | / (2 files): drop 'string * int' operator from stage 0 |
17:33 | |
| nxed: 789867a | NotFound++ | winxedst1.winxed: drop 'string * int' operator from stage 1 |
17:39 | ||
| nxed: e7f79fa | NotFound++ | winxedst0.cpp: rename 'predef' usages to 'builtin' in stage 0 for consistency with other stages |
17:57 | ||
| nxed: ad66a15 | NotFound++ | t/harness: fix the plan checking in harness |
18:28 | ||
| p/qbootstrap: f8f164f | jnthn++ | src/ (2 files): Optimize MATCH and CAPHASH to construct less objects. |
18:41 | ||
| nxed: 8c2ee33 | NotFound++ | winxedst0.cpp: delete a no longer used ConstStatement constructor |
18:48 | ||
|
18:49
whiteknight joined
|
|||
| whiteknight | good afternoon, #parrot | 18:50 | |
|
19:04
PacoAir joined
19:20
benabik_ joined
|
|||
| whiteknight | it looks to me like the PIO_BF_LINEBUF (line-buffering) mode in master only operates on write operations, and is hard-coded to break lines on "\\n" | 19:47 | |
| it looks like it's only effect is to force a flush if the written string contains "\\n" | 19:49 | ||
| compared to that small "benefit", the logic to set it up and manipulate and check for that flag in several places hardly seems worth the effort | |||
| moritz | so, what happens when you remove it? you get block buffer when writing to a pipe? | 19:54 | |
|
19:55
lucian joined
|
|||
| whiteknight | The only difference I see in the current system is that writes flush a little bit more often when line buffering is turned on | 20:01 | |
| maybe there's more that I can't see, but that's the only difference I've found so far | |||
| sorear | I think the idea is to make say "Hello, world"; sleep 20 DWIM | ||
| line-mode buffering on stdout by default is part of the common behavior expected of all unix languages | 20:02 | ||
| C has done this for decades | |||
| is it necessary? no comment | 20:03 | ||
| whiteknight | I'm not against having a line-buffering mode, if it does something real and worth-while | ||
| but we have a significant number of lines of code dealing with setting, clearing and checking that flag, and not a lot of benefit from it | 20:04 | ||
| If all it needs is a way to tell certain handles to fsync all the time, that's something | |||
| but it doesn't even do that. It's only fsync'ing when we have a "\\n" character to be written, which seems awfully narrow | 20:05 | ||
| dalek | nxed: 315204d | NotFound++ | winxedst (2 files): rename subexp to subexpr in a bunch of places for consistency |
20:06 | |
| sorear | my favorite copy of C89 says "standard output ... is fully buffered if and only if it can be determined to not refer to an interactive device" | 20:08 | |
| but is silent on the question of whether stdout-to-a-tty should be unbuffered or line buffered by default | 20:09 | ||
| C99 says no more | 20:12 | ||
| POSIX.1-2004 also does not mandate line buffering support(!) | 20:16 | ||
| NotFound | whiteknight: if the buffering gets separated from the handle, the buffer itself will take care without checking elsewhere, isn't it? | ||
| dalek | p/qbootstrap: 8982bd8 | moritz++ | src/QRegex/P6Regex/Grammar.nqp: use PASTRegex; avoids death in the interpolation tests |
21:01 | |
| p/qbootstrap: afa9f9c | jnthn++ | src/HLL/Grammar.pm: Optimize MARKED and MARKER a little, and make it less PIR-y. |
21:06 | ||
| p/qbootstrap: 594b59d | jnthn++ | src/stage0/ (8 files): Update bootstrap with lastest improvements. |
|||
| p/qbootstrap: 0063bcd | jnthn++ | src/NQP/Grammar.pm: Fix the prefix for nqpvar, so we parse /a$s/ correctly (tadzik++ for discovering the issue). |
|||
| nxed: 3887ec7 | NotFound++ | winxedst (2 files): fix parameter type in Expr.tempreg |
21:15 | ||
| p/qbootstrap: 26382e7 | moritz++ | t (13 files): remove p6regex tests (use qregex-test instead) also remove bogus dependency on qregex for qregex-test |
21:17 | ||
|
21:28
lucian joined
|
|||
| dalek | nxed: 25a1a3b | NotFound++ | winxedst (2 files): fix type of reg parameter in iflexical and emit_store methods |
21:31 | |
| p/qbootstrap: 5e21bba | jnthn++ | src/ops/nqp.ops: A little speedup to NFA evaluation. |
21:41 | ||
|
21:48
donaldh joined
|
|||
| dalek | p/toqast: 40e7584 | masak++ | / (2 files): [QAST::Operations] implemented named arguments Named parameters were already implemented, so making a call with named args works now. |
21:58 | |
| p/toqast: d124e96 | masak++ | / (3 files): implemented named arguments for 'callmethod' Same code as for 'call'. Will refactor in the next commit. |
|||
| p/toqast: cd60db0 | masak++ | src/QAST/Operations.nqp: [QAST::Operations] factored out common loop body Simple "extract subroutine" for ya. But it's only gonna get worse, once we do slurpies, too. |
|||
| p/toqast: 2b55922 | masak++ | / (2 files): added test for call to block with slurpy The functionality was already there. |
|||
| p/toqast: b66b2e1 | masak++ | / (2 files): [QAST::Operations] implement flattened arguments |
|||
| p/qbootstrap: 9befba5 | diakopter++ | src/ (2 files): propagate --rxtrace (and its trace depth for indents) to inner languages |
22:18 | ||
| nxed: 2e398cf | NotFound++ | winxed (3 files): use explicit parameter type in all functions |
22:44 | ||
| p/toqast: 39a8dad | masak++ | / (2 files): [QAST::Operations] implement :flat :named Parrot makes this work even without the :named, but it's nice to have it there, I guess. |
22:48 | ||
| nxed: 43104b4 | NotFound++ | winxedst0.cpp: require explicit parameter type in stage 0 |
22:50 | ||
| nxed: 326a438 | NotFound++ | winxedst1.winxed: require explicit parameter type in stage 1 |
22:55 | ||
|
23:07
particle joined
|
|||
| dalek | rrot/ayardley/pod_DESCRIPTIONS: a9d1eac | alvis++ | examples/languages/abc/abc.pir: Upcased '=head2 Description' to '=head1 DESCRIPTION'. |
23:24 | |
| rrot/ayardley/pod_DESCRIPTIONS: 23a4483 | alvis++ | examples/languages/abc/src/builtins/all.pir: Added DESCRIPTION to '=head1' cp. |
|||
| rrot/ayardley/pod_DESCRIPTIONS: 3d54d26 | alvis++ | examples/languages/squaak/src/squaak.pir: Upcased 'Description' to 'DESCRIPTION'. |
23:25 | ||
| rrot/ayardley/pod_DESCRIPTIONS: e892ea9 | alvis++ | examples/languages/squaak/squaak.pir: Upcased 'Description' to 'DESCRIPTION' |
|||
| rrot/ayardley/pod_DESCRIPTIONS: 1af2cef | alvis++ | examples/languages/squaak/doc/tutorial_episode_ (9 files): Added DESCRIPTION |
|||
| rrot/ayardley/pod_DESCRIPTIONS: 9681c7d | alvis++ | examples/mops/mops.p6: Changed '=begin pod' and '=end pod' to '=pod' and '=cut' cps. This should fix the problem. |
|||
| rrot/ayardley/pod_DESCRIPTIONS: 3a3cca0 | alvis++ | examples/mops/mops.rb: Removed '=begin RUBY_COMMENT' and '=end RUBY_COMMENT' cps and substituted with '=pod' and '=cut' cps. |
|||
| rrot/ayardley/pod_DESCRIPTIONS: e0a0a1e | alvis++ | examples/nci/ (5 files): Added DESCRIPTION, moved SYNOPSIS to proper place, and renamed 'TITLE' to 'NAME'. |
|||
| rrot/ayardley/pod_DESCRIPTIONS: 70d617f | alvis++ | examples/past/ (2 files): Added DESCRIPTION cps |
|||
| rrot/ayardley/pod_DESCRIPTIONS: fe565c5 | alvis++ | examples/pir/coop_threads.pir: Added DESCRIPTION |
|||
| rrot/ayardley/pod_DESCRIPTIONS: a17fc71 | alvis++ | examples/sdl/anim_image (2 files): Added DESCRIPTION |
|||
| rrot/ayardley/pod_DESCRIPTIONS: 02d52f1 | alvis++ | examples/sdl/ (7 files): Added DESCRIPTION |
|||
| rrot/ayardley/pod_DESCRIPTIONS: 4762a12 | alvis++ | examples/sdl/minesweeper/ (2 files): Added DESCRIPTION |
|||
| rrot/ayardley/pod_DESCRIPTIONS: 36a3158 | alvis++ | t/codingstd/240_files_without_DESCRIPTION.log: Update more files. Only 99 left, so I'm taking a'bit of a break for a coupl'a days. |
|||
| cotto | better go refill aloha's karma | 23:27 | |
|
23:43
kid51 joined
|
|||