Camelia, the Perl 6 bug

IRC log for #parrot, 2012-08-27

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:04 kid51 joined #parrot
00:53 dalek Rosella/commandline_2: e5e7481 | Whiteknight++ | src/commandline/ (2 files):
00:53 dalek Rosella/commandline_2: [CommandLine] Rewrite Arguments to take arg defs in a better format, and to parse them in a more sane way.
00:53 dalek Rosella/commandline_2: review: https://github.com/Whiteknig​ht/Rosella/commit/e5e74812e6
00:53 dalek Rosella/commandline_2: fe54f54 | Whiteknight++ | s (4 files):
00:53 dalek Rosella/commandline_2: [CommandLine] Factor out some of the argument definition processing logic to a separate class.
00:53 dalek Rosella/commandline_2: review: https://github.com/Whiteknig​ht/Rosella/commit/fe54f54de9
00:53 dalek Rosella/commandline_2: c3c7fc2 | Whiteknight++ | src/commandline/ (3 files):
00:53 dalek Rosella/commandline_2: [CommandLine] move get_description logic from Arguments to ArgumentDef, with some refactoring.
00:53 dalek Rosella/commandline_2: review: https://github.com/Whiteknig​ht/Rosella/commit/c3c7fc22ac
00:53 dalek Rosella/commandline_2: bf5bbe3 | Whiteknight++ | / (2 files):
00:53 dalek Rosella/commandline_2: [CommandLine] Rearrange functions in Arguments for cleanliness. Fixup Argument.t tests (mostly stubs) to account for the new architecture
00:53 dalek Rosella/commandline_2: review: https://github.com/Whiteknig​ht/Rosella/commit/bf5bbe326e
00:53 dalek Rosella/commandline_2: 4a9cdba | Whiteknight++ | / (2 files):
00:53 dalek Rosella/commandline_2: [CommandLine] Lots more tests for argument processing
00:53 dalek Rosella/commandline_2: review: https://github.com/Whiteknig​ht/Rosella/commit/4a9cdba278
00:59 MikeFair joined #parrot
01:00 woosley left #parrot
01:02 dalek Rosella/commandline_2: 868ea2a | Whiteknight++ | t/commandline/Arguments.t:
01:02 dalek Rosella/commandline_2: [CommandLine] Add a test for being able to parse flags/positionals in any relative order. This was a major shortcoming of the old implementation
01:02 dalek Rosella/commandline_2: review: https://github.com/Whiteknig​ht/Rosella/commit/868ea2a7ba
01:05 lucian joined #parrot
01:05 MikeFair joined #parrot
01:23 dalek Rosella/commandline_2: e69e868 | Whiteknight++ | src/commandline/Program.winxed:
01:23 dalek Rosella/commandline_2: [CommandLine] Start rearranging Program logic
01:23 dalek Rosella/commandline_2: review: https://github.com/Whiteknig​ht/Rosella/commit/e69e868983
01:26 benabik joined #parrot
03:23 MikeFair Question: If I have this: http://www.jaedworks.com/hyperc​ard/scripts/hypertalk-bnf.html
03:23 MikeFair How difficult does it become to write this up as a language parrot can execute?
03:24 MikeFair The Formal Syntax description is about 25% of the way down
03:26 sorear shouldn't be too hard to write that up as an NQP grammar
03:27 sorear being ware of the differences between LALR(1) and LL(infinity) methodology
03:30 MikeFair ok, I can't recall, is there a simple description between those differences to be aware of?
03:30 * MikeFair thought his compilers lessons might come back, but got nothing.
03:32 MikeFair LL is left linear IIRC
03:32 MikeFair ?
03:33 MikeFair has to do with backtracking to understand the meaning of the current token?
03:33 * MikeFair sighs.
03:35 sorear try to design the simplest algorithm you can think of to parse a BNF grammar
03:36 sorear what you get will be LL(0)
03:40 MikeFair It means that it can be read in straight and all information needed to parse/understand the current stuff has come before it right?
03:54 MikeFair Is there a .deb repository for parrot?
03:54 MikeFair My Kubuntu install has version 3.6
03:54 MikeFair I suspect that since 4.7 is the latest release, I should probably update it
04:10 contingencyplan joined #parrot
04:17 sorear I don't _think_ so
06:04 fperrad joined #parrot
07:02 MikeFair sorear: Is there many differences between PAST and QAST?
07:03 MikeFair sorear: Or is it that QAST is simply a more direct format for NQP to use
07:03 MikeFair sorear: I mean are the classes all pretty much equivalent?
07:08 brrt joined #parrot
07:30 dalek rakudo/uncool-iterable: a7630e5 | moritz++ | src/core/Exception.pm:
07:30 dalek rakudo/uncool-iterable: fix error message, diakopter++
07:30 dalek rakudo/uncool-iterable: review: https://github.com/rakudo/rakudo/commit/a7630e5f7b
07:44 woosley joined #parrot
07:45 rurban_mobile joined #parrot
07:57 schmoo joined #parrot
08:11 dalek rakudo/uncool-iterable: f51260e | moritz++ | src/core/List.pm:
08:11 dalek rakudo/uncool-iterable: guard List.splice against out-of-range arguments
08:11 dalek rakudo/uncool-iterable: review: https://github.com/rakudo/rakudo/commit/f51260e828
08:23 Psyche^ joined #parrot
08:29 walter joined #parrot
08:32 dalek nqp/toqast: 6f633c7 | jonathan++ | src/ (5 files):
08:32 dalek nqp/toqast: Fix multi-method dispatch.
08:32 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/6f633c7036
08:55 dalek nqp/toqast: 0fa77cc | jonathan++ | t/nqp/45-smartmatch.t:
08:55 dalek nqp/toqast: Foss some tests that haven't been run for a long time.
08:55 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/0fa77cc4a8
08:55 dalek nqp/toqast: 1ec37cb | jonathan++ | src/NQPQ/Actions.pm:
08:55 dalek nqp/toqast: Fix compilation of positional captures in regexes.
08:55 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/1ec37cbae0
08:55 dalek nqp/toqast: 567beb2 | jonathan++ | src/ (2 files):
08:55 dalek nqp/toqast: Fix pointy and circumfix:<{ }> closure semantics.
08:55 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/567beb2abb
09:17 dalek nqp/toqast: b7111e8 | jonathan++ | src/NQPQ/Actions.pm:
09:17 dalek nqp/toqast: First pass at updating multi-subs. They get the same code object and signature handling as multi-methods now. Passes the tests, though some known incompleteness.
09:17 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/b7111e8046
09:17 dalek nqp/toqast: b4e9e8a | jonathan++ | src/NQPQ/ (2 files):
09:17 dalek nqp/toqast: Toss some now dead code.
09:17 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/b4e9e8ae28
09:37 dalek rakudo/nom: 7b6b230 | moritz++ | src/core/List.pm:
09:37 dalek rakudo/nom: guard List.splice against out-of-range arguments
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7b6b230783
09:37 dalek rakudo/nom: 47e455e | moritz++ | src/ (4 files):
09:37 dalek rakudo/nom: Iterable should not inherit from Cool
09:37 dalek rakudo/nom:
09:37 dalek rakudo/nom: while that might be cool for core classes, it is not in the general case
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/47e455e426
09:37 dalek rakudo/nom: acc9484 | moritz++ | docs/ChangeLog:
09:37 dalek rakudo/nom: update ChangeLog
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/acc94848d7
09:37 dalek rakudo/nom: 0be5872 | moritz++ | src/core/Exception.pm:
09:37 dalek rakudo/nom: fix error message, diakopter++
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0be5872302
09:37 dalek rakudo/nom: 39cc71e | moritz++ | src/ (3 files):
09:37 dalek rakudo/nom: type-check fail if a macro application does not return an AST
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/39cc71e0a0
09:53 dalek nqp/toqast: 51d8b87 | jonathan++ | src/ (5 files):
09:53 dalek nqp/toqast: Fix attribute initialization for NQP on QAST. We no longer do viviself stuff on attribute lookups, meaning some extra initialization bits should be done.
09:53 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/51d8b87805
10:47 JimmyZ joined #parrot
11:33 dalek nqp/toqast: 5398ace | jonathan++ | t/serialization/0 (3 files):
11:33 dalek nqp/toqast: Correct a wrong signature in serialization tests.
11:33 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/5398acea6e
11:33 dalek nqp/toqast: 54db77d | jonathan++ | src/NQPQ/Actions.pm:
11:33 dalek nqp/toqast: Cleanup fallback handling a bit.
11:33 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/54db77d6d0
11:33 dalek nqp/toqast: 41133c0 | jonathan++ | src/NQPQ/Actions.pm:
11:33 dalek nqp/toqast: Fix vivification when binding into a nested package.
11:33 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/41133c02d7
11:33 dalek nqp/toqast: 8d1afcf | jonathan++ | src/NQPQ/Actions.pm:
11:33 dalek nqp/toqast: Contextual lookup falls back to looking in GLOBAL. With this, all of t/nqp passes again.
11:33 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/8d1afcf579
11:55 dalek nqp/toqast: 1ec5f69 | jonathan++ | src/QAST/Operations.nqp:
11:55 dalek nqp/toqast: Make next/last/redo in for loops. Means we pass t/qregex and t/p5regex again.
11:55 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/1ec5f69a39
11:55 dalek nqp/toqast: aa8b245 | jonathan++ | t/qast/qast.t:
11:55 dalek nqp/toqast: Replace a pirop with an NQP op.
11:55 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/aa8b2450f5
12:10 benabik joined #parrot
12:10 lucian joined #parrot
12:11 dalek rakudo/nom: 4539e90 | moritz++ | src/Perl6/Actions.pm:
12:11 dalek rakudo/nom: improved error message for macro application
12:11 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4539e90d9b
12:11 dalek nqp/toqast: 93072ff | jonathan++ | src/NQPQ/Actions.pm:
12:11 dalek nqp/toqast: More closure fixups.
12:11 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/93072fffdb
12:21 dalek nqp/toqast: 53ee6a0 | jonathan++ | src/NQPQ/ (2 files):
12:21 dalek nqp/toqast: Fix a couple of pir:: bits.
12:21 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/53ee6a0ade
12:25 dalek nqp/toqast: 29dd16d | jonathan++ | src/NQPQ/Actions.pm:
12:25 dalek nqp/toqast: Update pir::const:: handling for QAST.
12:25 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/29dd16d471
12:46 dalek nqp/toqast: 783f35b | jonathan++ | src/ (9 files):
12:46 dalek nqp/toqast: Fix a bunch of pir:: that miss signatures; also replace some pir:: with nqp::.
12:46 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/783f35b352
12:53 dalek nqp/toqast: b7921a9 | jonathan++ | src/ (2 files):
12:53 dalek nqp/toqast: Hopefully final round of pir:: fixes.
12:53 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/b7921a978b
13:02 dalek rakudo/nom: 79e226c | moritz++ | tools/build/NQP_REVISION:
13:02 dalek rakudo/nom: bump NQP revision to get nativecall fixes
13:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/79e226ca65
13:05 dalek nqp: 17118c5 | pmichaud++ | docs/nqp-overview.txt:
13:05 dalek nqp: Add nqp-overview, a base file describing various
13:05 dalek nqp: components of the NQP repository layout.
13:05 dalek nqp: review: https://github.com/perl6/nqp/commit/17118c51bb
13:06 dalek nqp/toqast: 0668780 | jonathan++ | src/NQPQ/Actions.pm:
13:06 dalek nqp/toqast: Fix an issue that busted compilation of the meta-objects.
13:06 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/0668780b13
13:06 dalek nqp/toqast: 8ad9ff8 | jonathan++ | src/ (2 files):
13:06 dalek nqp/toqast: Fix compilation of .REPR.
13:06 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/8ad9ff8d3d
13:07 dalek nqp: 7962999 | pmichaud++ | docs/nqp-overview.txt:
13:07 dalek nqp: Update nqp-overview a bit.
13:07 dalek nqp: review: https://github.com/perl6/nqp/commit/79629999d8
13:10 whiteknight joined #parrot
13:11 whiteknight good morning, #parrot
13:12 JimmyZ good morning, whiteknight
13:12 Topic for #parrot is now Parrot 4.7.0 "Hispaniolan" | http://parrot.org | Log: http://irclog/perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
13:12 whiteknight good morning JimmyZ
13:12 JimmyZ ;)
13:21 whiteknight I'm testing io_cleanup1 on windows now. If that passes and if rurban confirms my fixes from yesterday, I'm merging it
13:22 whiteknight Then I can focus on threading for a while
13:22 brrt hi #whiteknight
13:22 whiteknight good morning brrt
13:22 whiteknight brrt++ for passing GSOC with flying colors
13:23 brrt yay! tshirts all round
13:23 brrt :-)
13:23 tadzik \o/
13:23 tadzik brrt++ # congratulations!
13:23 brrt thanks
13:24 whiteknight We're one very very big step closer to mod_perl6 with his work
13:25 whiteknight a good, maintainable, performant, extensible mod_perl6
13:25 moritz \o/
13:25 brrt that ought to be doable
13:25 bluescreen joined #parrot
13:25 brrt especcialy if i get the magic sauce that binds perl6 to work
13:25 brrt w/o a segfault
13:25 brrt :-)
13:25 whiteknight segfaults are good for you. they build character
13:25 dalek nqp/toqast: d8ac7e5 | jonathan++ | src/QAST/Operations.nqp:
13:25 dalek nqp/toqast: Add missing newtype/setwho nqp ops.
13:25 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/d8ac7e56b5
13:25 dalek nqp/toqast: b98fe61 | jonathan++ | src/ (4 files):
13:25 dalek nqp/toqast: A few more missing pir:: op sigs.
13:26 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/b98fe61aca
13:26 dalek nqp/toqast: 4e91335 | jonathan++ | src/how/NQPClassHOW.pm:
13:26 dalek nqp/toqast: Avoid a void.
13:26 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/4e913357d3
13:26 brrt true, and they are debuggable by gdb
13:26 brrt better than your average memory corruption issue
13:26 benabik Better than memory corruption.
13:26 whiteknight luckily, memory corruption happens rarely because our GC is pretty good about management stuff
13:29 brrt btw, do you know anything about the 'publishing a code sample' thing?
13:37 whiteknight i haven't heard anything. Checkout the google-melange site now to see if they have anything posted
13:37 whiteknight I think I saw benabik mention that he posted a huge git diff or something
13:37 tadzik last year there was a git command you had to issue to get a log, then make it a .tar.gz and send them
13:37 brrt hmm
13:38 tadzik something along "git log -p but authored by me and during the coding period"
13:38 brrt git archive makes a zip
13:38 brrt s/zip/tarball/
13:47 pmichaud exit
14:01 dalek nqp/toqast: 100439a | jonathan++ | src/how/NQP (6 files):
14:01 dalek nqp/toqast: Fix up various bits of the NQP MOP that relied on Parrot Undef to break some circularities.
14:01 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/100439a0e5
14:40 whiteknight You ever have one of those days where you could just PUNCH YOUR COMPUTER IN THE FACE because you're so angry at it?
14:44 brrt no, i have many times that i just want to fall asleep in front of one though
14:44 brrt k
14:49 whiteknight whiteknight/io_cleanup1 passes all tests on win64
14:49 brrt yay!
14:50 brrt why where you so angry then?
14:50 brrt whiteknight++
14:52 whiteknight brrt: I've got a few acronyms that are conspiring against me: WCF, SOAP, XML, WSDL
14:53 whiteknight these are things that are supposed to work, but nothing is working
14:54 whiteknight And I think the clown at the other end of the pipe is using the wrong xml namespaces because it's a bad copy+paste job
14:54 contingencyplan joined #parrot
14:57 dmalcolm joined #parrot
15:03 benabik joined #parrot
15:07 dalek nqp/toqast: 3d5fdf6 | jonathan++ | src/QRegex/Cursor.nqp:
15:07 dalek nqp/toqast: Avoid compilation error in QRegex when building it with NQP on QAST.
15:07 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/3d5fdf66c8
15:10 brrt oh, actual windows development
15:12 whiteknight brrt: yeah, dayjob is not the wonderland that opensource is
15:36 brrt hey folks.. i'm wondering about the following
15:36 brrt suppose we are happy python programmers
15:36 brrt and we call some perl(6) function / routine/ class /whatever
15:36 brrt and we get a p6String back
15:36 brrt and we evaluate this in boolean context
15:36 brrt what will happen is
15:37 brrt the evaluation will be wrong w/regards to python semantics
15:37 brrt i.e.
15:37 brrt happy perl programmer returns "0" and thinks this means false
15:38 brrt happy python programmer will evaluate it and it will be false (PerlString -> get_bool returns false0
15:38 brrt but python programmer will inspect the string
15:38 brrt and it Should Not be false according to his idea of what false is
15:39 dalek nqp/toqast: bf8a3fc | jonathan++ | src/ops/nqp.ops:
15:39 dalek nqp/toqast: Improved diagnostics.
15:39 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/bf8a3fce54
15:39 dalek nqp/toqast: ba8c901 | jonathan++ | src/NQPQ/ (2 files):
15:39 dalek nqp/toqast: Some grammar compilation fixes.
15:39 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/ba8c9015bf
15:39 dalek nqp/toqast: 6b3ef4b | jonathan++ | src/HLL/Compiler.pm:
15:39 dalek nqp/toqast: A few tweaks to get HLL::Compiler to compile.
15:39 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/6b3ef4b27f
15:39 brrt cue angry disgruntled python programmer
15:39 dalek nqp/toqast: 2763317 | jonathan++ | src/NQPQ/Actions.pm:
15:39 dalek nqp/toqast: Fix nibbler assertion compilation.
15:39 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/2763317dd9
15:39 brrt same in reverse
15:43 PerlJam brrt: Why would it not be false for the happy python programmer?
15:43 PerlJam brrt: or do you mean that it would not be False (i.e. python's explicitly false value)?
15:45 PerlJam brrt: oh ... I see.  You mean the perl programmer returned a string literal "0"  (I took that as meta for some reason)
15:47 PerlJam brrt:  I think that's a case for the documentation  (and that the perl programmer was slightly confused about what he really wanted to return.  No perl programmer worth his salt does C<return "0";> just to return a false value IMHO)
15:47 dalek nqp/toqast: 832dbf4 | jonathan++ | src/QAST/Operations.nqp:
15:47 dalek nqp/toqast: Tweak to QAST to get it to not explode when loaded.
15:47 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/832dbf456c
15:48 brrt PerlJam: well, true, but there are Many Confused programmers out there
15:48 brrt moreover
15:48 brrt there are many programmers who think a quick fun hack like that doesn't hurt anybody
15:48 * brrt is one such programmer
15:49 alester joined #parrot
15:49 brrt until it does
15:51 whiteknight brrt: two options: First, the python people can build a wrapper around the perl6 module, or the python programmer can be aware of the underlying datatype and realize that Perl6Str != PythonString
15:51 whiteknight you don't just start performing operations on a type until you know what the semantics of that type are
15:51 brrt thats uhm, anti-ducktyping
15:52 whiteknight If you have an object that is not a PythonString, you can't expect it to behave like a PythonString
15:52 PerlJam exactly
15:52 whiteknight Perl6 strings have their own, well-defined semantics
15:52 whiteknight So you can use those semantics as-is, or wrap/translate the data
15:53 brrt right
15:53 brrt i think using the one guys semantics in the other guys enviroment will be confiusing and annoying
15:53 whiteknight but in either case, it's not the job of the perl6 compiler devs to make sure the python people are happy, and vice-versa
15:53 whiteknight brrt: At least parrot makes those annoyances possible, in theory
15:53 brrt :-)
15:53 brrt that is true
15:54 brrt how does the CLR solve this, by just having one type hierarchy?
15:55 whiteknight sort of, for C# and VB.NET they're basically the same exact semantics but with different syntax
15:56 whiteknight with C# being the correct syntax, and VB.NET being the incorrect one :)
15:56 whiteknight IronRuby and IronPython are always going to have to do some kind of a dance with operator overloads and subclasses and whatever
15:57 brrt yeah, i guess
15:57 brrt the same thing with jruby
15:58 PerlJam brrt: http://msdn.microsoft.com/e​n-us/library/a2c7tshk.aspx
16:01 * brrt is off for food
16:01 brrt left #parrot
16:09 alester joined #parrot
16:23 Khisanth joined #parrot
16:57 tuxit joined #parrot
17:33 rurban_mobile joined #parrot
17:34 schmoo joined #parrot
18:32 rurban_mobile joined #parrot
18:44 dalek nqp/toqast: b089723 | jonathan++ | src/NQPQ/Actions.pm:
18:44 dalek nqp/toqast: Update a bunch of commented out code.
18:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/b089723bae
18:44 dalek nqp/toqast: eff62f7 | jonathan++ | src/NQPQ/ (2 files):
18:44 dalek nqp/toqast: Update initializations.
18:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/eff62f76c0
18:44 dalek nqp/toqast: c3e4578 | jonathan++ | src/how/NQPClassHOW.pm:
18:44 dalek nqp/toqast: Disable SC write barrier for updating mixin cache in NQP.
18:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/c3e45785d6
18:44 dalek nqp/toqast: c9846f8 | jonathan++ | src/NQPQ/World.pm:
18:44 dalek nqp/toqast: Fix syntax fail.
18:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/c9846f855b
19:08 rurban_mobile smoking new io_cleanup1
19:08 sivoais joined #parrot
19:09 brrt joined #parrot
19:09 brrt left #parrot
19:18 whiteknight rurban++
19:26 rurban_mobile whiteknight: all io_cleanup1 tests pass now on linux. should I test more platforms? I'm in norway
19:29 rurban_mobile btw I tested with master merged into the branch.
19:35 rurban_mobile whiteknight++ io_cleanup1 looks good to merge. all solaris tests pass also. I haven't tested win32.
19:36 rurban_mobile solaris: http://smolder.parrot.org/app/​projects/report_details/30804
19:37 whiteknight rurban_mobile: if everything looks good to you, I can merge tonight
19:38 rurban_mobile just testing windows now...
19:46 dalek nqp/toqast: beae563 | jonathan++ | src/ModuleLoader.pm:
19:46 dalek nqp/toqast: Various module loader tweaks.
19:46 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/beae563807
19:46 dalek nqp/toqast: 108edef | jonathan++ | src/ModuleLoader.pm:
19:46 dalek nqp/toqast: Fix thinko.
19:46 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/108edefeaa
19:46 dalek nqp/toqast: 0d79363 | jonathan++ | src/QRegex/NFA.nqp:
19:46 dalek nqp/toqast: Simplify an our to a my.
19:46 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/0d79363acd
19:55 rurban_mobile I am also benchmarking all pcc changes from the last years, since this was outlined as major performance bottleneck, and visual inspection of our calling convention confirms that this is a mess. Everything goes through the generic slow Parrot_ext_call??? All pmc methods?
20:01 dalek nqp: f53ead7 | (Elizabeth Mattijsen)++ | examples/json.nqp:
20:01 dalek nqp: Recovered JSON example from bitrot
20:01 dalek nqp: review: https://github.com/perl6/nqp/commit/f53ead7ad0
20:13 Apathy joined #parrot
20:17 smash joined #parrot
20:23 dalek nqp/toqast: e1d9225 | jonathan++ | / (4 files):
20:23 dalek nqp/toqast: Split QAST nodes out from QAST compiler to resolve dependency issues.
20:23 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/e1d9225585
20:28 whiteknight rurban: Either Parrot_ext_call or one of the Parrot_pcc_* varieties in src/call/pcc.c
20:28 whiteknight rurban: but yes, that system is unified at a very deep level
20:29 whiteknight I'm heading home now. io_cleanup1 merges tonight unless I hear differently between now and then
20:29 rurban_mobile win32 still smokes very slowly. no errors so far.
20:35 rurban_mobile msg whiteknight cygwin passed all. io_cleanup1 ready to merge.
20:35 aloha OK. I'll deliver the message.
20:50 schmoo joined #parrot
21:02 dalek joined #parrot
21:09 dalek nqp: d895139 | (Elizabeth Mattijsen)++ | docs/serialization_format.markdown:
21:09 dalek nqp: Fixed some spelling errors
21:09 dalek nqp: review: https://github.com/perl6/nqp/commit/d895139ec0
21:29 dalek nqp: 840d74f | (Elizabeth Mattijsen)++ | docs/serialization_format.markdown:
21:29 dalek nqp: Some tiny clarifications
21:29 dalek nqp: review: https://github.com/perl6/nqp/commit/840d74f1ad
21:44 dalek nqp/toqast: 6889a72 | jonathan++ | src/NQPQ/Actions.pm:
21:44 dalek nqp/toqast: Fix attribute defaults.
21:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/6889a7286e
21:44 dalek nqp/toqast: 7375d16 | jonathan++ | src/HLL/CommandLine.pm:
21:44 dalek nqp/toqast: Update HLL::CommandLine.BUILD to cope with post-vivibase world.
21:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/7375d16339
21:44 dalek nqp/toqast: c138dfb | jonathan++ | src/NQPQ/Actions.pm:
21:44 dalek nqp/toqast: Fix lookup of non-existent keys/indexes in hashes/arrays so it doesn't give back null.
21:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/c138dfb2aa
21:44 dalek nqp/toqast: 0001e13 | jonathan++ | src/ (3 files):
21:44 dalek nqp/toqast: Few attribute fixes.
21:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/0001e13885
21:44 dalek nqp/toqast: a6a15f4 | jonathan++ | src/NQPQ/Actions.pm:
21:44 dalek nqp/toqast: Fix traits on protos.
21:44 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/a6a15f452c
22:38 dalek nqp/toqast: 094eda3 | jonathan++ | src/HLL/World.pm:
22:38 dalek nqp/toqast: Should not require a description in HLL::World's BUILD.
22:38 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/094eda3cf4
22:38 dalek nqp/toqast: b23d950 | jonathan++ | src/ModuleLoader.pm:
22:38 dalek nqp/toqast: Fix module loader.
22:38 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/b23d9508b9
22:38 dalek nqp/toqast: 2e802b0 | jonathan++ | src/pmc/sixmodelobject.pmc:
22:38 dalek nqp/toqast: Fail usefully in a bunch of places we could get a C-level stack overflow.
22:38 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/2e802b0bc3
22:38 dalek nqp/toqast: c4c84a3 | jonathan++ | src/QRegex/NFA.nqp:
22:38 dalek nqp/toqast: A couple of NFA code tweaks.
22:38 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/c4c84a3c71
22:38 dalek nqp/toqast: ca01653 | jonathan++ | src/how/NQPClassHOW.pm:
22:38 dalek nqp/toqast: Need to explicitly set defaults in the meta-objects, since we've eliminated use of Parrot Undef.
22:38 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/ca016530b8
22:38 dalek nqp/toqast: 16ccd1a | jonathan++ | src/QAST/Node.nqp:
22:38 dalek nqp/toqast: Need to be explicit about lazy initialization of QAST::Node hash.
22:38 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/16ccd1ac6f
22:39 whiteknight joined #parrot
22:40 whiteknight good evening, #parrot
22:40 benabik o/ whiteknight
22:40 whiteknight hello benabik
22:42 whiteknight wait for it...
22:42 whiteknight WAIT FOR IT...
22:42 whiteknight KEEP WAITING
22:42 rurban_mobile joined #parrot
22:42 * benabik waits for it...
22:42 * moritz holds his breath
22:42 dalek Heuristic branch merge: pushed 147 commits to parrot by Whiteknight
22:42 whiteknight yay!
22:43 moritz which one is that? io_cleanup1?
22:43 benabik Huzzah!
22:43 whiteknight io_cleanup1
22:43 moritz \o/
22:43 moritz whiteknight++
22:43 moritz whiteknight++
22:43 benabik whiteknight++
22:43 whiteknight now it's time to start on io_cleanup2
22:43 whiteknight :)
22:44 moritz and I want socket.recv_bytes
22:45 moritz and a ponie :-)
22:48 davidfetter how about a pynie?
22:50 whiteknight socket doesn't have a read_bytes method?
22:51 moritz whiteknight: there's a read_bytes method, but that's not the same
22:51 whiteknight why is it not the same?
22:51 moritz whiteknight: read_bytes takes a buffer length, and waits until that many bytes are available
22:52 moritz whiteknight: recv does one read, and returns whatever it's there after that
22:52 whiteknight ah, I see. So you want a method that takes a buffer and fills in an arbitrary number of bytes as theyre available
22:52 moritz so it blocks less
22:52 whiteknight gotcha. I think I can set that up as .read_bytes() (with no param) instead of .read_bytes(x). good?
22:53 whiteknight The logic for .read and .recv is the same all the way down, so this is a minor change
22:53 moritz yes, works for me
22:54 whiteknight ok, let me see what I can do
22:54 moritz (I generally don't care much how the stuff is spelled, since I use it through an indirection layer anyway)
22:56 whiteknight okay, I just want to make sure people understand that despite the different names the semantics are exactly the same
22:56 whiteknight I don't want people to think they're getting something different
23:01 dalek nqp: 74c0172 | moritz++ | tools/build/PARROT_REVISION:
23:01 dalek nqp: bump PARROT_REVISION to after the io_cleanup1 merge
23:01 dalek nqp: review: https://github.com/perl6/nqp/commit/74c01724b4
23:02 sorear so you want to prevent users from doing "read at most N bytes"?
23:03 moritz that's not how I understood it
23:04 moritz but I'm tired and can barely type
23:05 sorear whiteknight is talking about read_bytes not taking a parameter
23:05 sorear so, the user can't tell it a maximum length
23:05 whiteknight I'm talking about it taking an optional parameter
23:05 whiteknight where if you don't specify, it returns whatever
23:06 benabik But if you do give it N, does it wait to get N or does it get at most N immediately?
23:06 sorear ok.  how would I ask for "at most 10 bytes, but if only 3 are available, that's fine too"?
23:07 whiteknight is that a common request?
23:07 sorear yes
23:07 whiteknight The current implementation, if you ask for X and X is relatively large, gives you everything from the buffer and performs exactly one read (or one recv) for the remainder
23:09 whiteknight so .read_bytes(-1) or .read_bytes() with no parameter will probably do exactly that, with some generic chunk size filled in for the request
23:09 whiteknight sorear: so is that what you want, or you want something even lazier?
23:09 moritz rakudo's socket layer simply has its own buffer
23:10 moritz and keeps anything bigger than $max_wanted in that buffer
23:10 whiteknight like, whatever's in the buffer OR, if the buffer is empty, one recv with a generic chunk size
23:10 moritz that works fine for us
23:12 sorear whiteknight: I just resent environments that think they know better than me which combination of arguments to the low-level calls I'm likely to use
23:12 dalek rakudo/nom: 71fc9c5 | moritz++ | / (3 files):
23:12 dalek rakudo/nom: Adapt socket code to parrot's changes. Bump NQP_REVISION.
23:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/71fc9c58f7
23:15 whiteknight sorear: right now we only have one combination of arguments. I'm trying to add more
23:16 whiteknight sorear: so if you have a better suggestion, I'll implement whatever you need
23:17 whiteknight my only goal is to make sure everything is exposed cleanly
23:24 whiteknight right now my process is this: Moritz asks for something. I deliver. Repeat. I'm always happy to add more people to the loop

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced