Camelia, the Perl 6 bug

IRC log for #parrot, 2012-05-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:10 dalek winxed: 3f6b2ef | NotFound++ | winxedst0.cpp:
00:10 dalek winxed: drop const optimization of operators '<<' and '>>' from stage 0
00:10 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/3f6b2efa09
00:31 dalek winxed: ac56203 | NotFound++ | winxedst0.cpp:
00:31 dalek winxed: clean up and delete some unuseful checks
00:31 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/ac56203ab2
00:42 eternaleye joined #parrot
00:54 whiteknight alvis++
00:57 dalek winxed: 3ae7534 | NotFound++ | winxedst2.winxed:
00:57 dalek winxed: improve constant optimization in array initializers
00:57 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/3ae75347ec
00:59 whiteknight reimplementing readline in a clean way is going to be a big hassle
01:04 whiteknight allowing for arbitrary encodings and user-specified terminators, in a way that doesn't violate the encapsulation of the various sub-subsystems is a trick
01:07 dalek winxed: cc9d4ab | NotFound++ | winxedst1.winxed:
01:07 dalek winxed: fix and improve command line in stage 1:
01:07 dalek winxed: - Fix option -e after requiring explicit type
01:07 dalek winxed: - Output file name '-' means stdout
01:07 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/cc9d4abafc
01:20 dalek winxed: 4f1fbbb | NotFound++ | t/ (2 files):
01:20 dalek winxed: clean and move to basic throw test
01:20 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/4f1fbbbe1d
01:32 dalek winxed: b6e861c | NotFound++ | t/advanced/02varcast.t:
01:32 dalek winxed: more test of var cast builtin
01:32 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/b6e861c7a8
01:41 dalek parrot/whiteknight/io_cleanup1: ad30bec | Whiteknight++ | src/io/ (3 files):
01:41 dalek parrot/whiteknight/io_cleanup1: Start refactoring readline logic. Sketch out the new algorithm, which is going to be more neatly broken down into encapsulation-preserving subroutines. Add a routine to add a new vtable to the list, for user-defined types. Several other cleanups, changes and refactors.
01:41 dalek parrot/whiteknight/io_cleanup1: review: https://github.com/parrot/parrot/commit/ad30bec8c2
02:04 dalek nqp/qbootstrap: 996ac93 | diakopter++ | src/QRegex/NFA.nqp:
02:04 dalek nqp/qbootstrap: trash my crappy quant NFA generator (lots of bad code); replace with one that works and handles % (and %%)
02:04 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/996ac9354f
02:09 JimmyZ joined #parrot
02:21 dalek nqp/qbootstrap: d05da7c | diakopter++ | src/QRegex/NFA.nqp:
02:21 dalek nqp/qbootstrap: fix off-by-two error; JimmyZ_++ spotted it. This means %/%% are in fact not yet working. diakopter-- diakopter--
02:21 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/d05da7cab2
03:19 dalek winxed: c742d2f | NotFound++ | winxedst (2 files):
03:19 dalek winxed: simplify a bit the getnumber routine
03:19 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/c742d2fe11
03:19 dalek winxed: cfefcab | NotFound++ | winxedst (2 files):
03:19 dalek winxed: stop storing the comment's text, we are not going to use it for anything
03:19 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/cfefcabb53
04:00 perlite joined #parrot
06:42 zby_home joined #parrot
07:30 JimmyZ joined #parrot
08:00 isBEKaml joined #parrot
08:01 isBEKaml ~.~, #parrot!
08:03 moritz ~o~ isBEKaml
08:03 dalek rakudo/nom: 47f26e7 | moritz++ | src/core/ (2 files):
08:03 dalek rakudo/nom: typed exception from failed .+ dispatch
08:03 dalek rakudo/nom:
08:03 dalek rakudo/nom: also prepare exception for returning form exhausted routine
08:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/47f26e7f7d
08:03 isBEKaml moritz++ #active multitasking
08:05 moritz I'm annoyed that I'm still not done with my excpetions grant
08:06 isBEKaml I can't say for anyone here, I'm here way out of my depth. :| been trying to tackle #276, on and off as time permits me.
08:15 isBEKaml I'm surprised windows uses prefixed type information variables. Eg., a processor type that's a DWORD is prefixed with 'dw', as in 'dwProcessorType' and 'lpMinimumApplicationAddress' for a long pointer. :)
08:15 isBEKaml s/variables/field names/
08:16 isBEKaml All in SYSTEM_INFO
08:23 benabik left #parrot
08:23 benabik joined #parrot
08:24 dalek rakudo/nom: decb0a5 | moritz++ | src/core/ (2 files):
08:24 dalek rakudo/nom: typed exception for private method not found
08:24 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/decb0a5da7
08:24 sorear They call them DWORDs but these days they're actually half-words
08:27 isBEKaml hmm, I don't know for sure since I don't program in Windows. I got this info from msdn. :)
08:27 benabik left #parrot
08:28 benabik joined #parrot
08:28 benabik MS totally missed the point of Hungarian notation.
08:29 isBEKaml benabik: o/
08:29 benabik http://www.joelonsoftware.com/articles/Wrong.html
08:30 benabik It's early enough here that I'm just commenting on random things.  I should go to bed.
08:31 isBEKaml benabik: well, good night from a lazing-in-the-afternoon guy. :)
08:40 isBEKaml From what joel says (I know he tends to exaggerate), did Hungarian notation really spread like XML did?
08:41 benabik It's extremely common in MSland
08:43 isBEKaml that's what I keep seeing everywhere I look in MSDN. I was asking more about other companies following suit. XML was bandied about as a solution to all data problems until everyone regretted.
08:45 benabik I haven't seen it outside of Windows APIs.  From what I've heard, it's also common in companies that mostly write Windows code.  When it's baked into the API, it becomes contagous.
08:47 isBEKaml Yeah, I wanted to include a bit of information for cpu info and looking at it, I'm not even sure I want to keep that part of mainland code. I'm now considering about hiding that code behind some function following parrot's naming conventions.
08:47 benabik We do generally try to abstract away platforms.
08:47 isBEKaml this windows code sticks out like a sore thumb.
09:27 isBEKaml Okay - here's the plan of action: 1. Move all of uname lookups to platform/generic/misc.c from interp/api.c 2. for windows (esp under MSVS compilers), special case code to handle all that uname lookup does. 3. define interface in platform_interface.h. Do anybody see anything off here?
09:28 isBEKaml For 2. that would be in platform/win32/misc.c. I just found that uname lookups work under cygwin/gcc or mingw32 compilers
09:35 dalek rakudo/nom: 5f81da3 | moritz++ | src/ (3 files):
09:35 dalek rakudo/nom: refactor binding exceptions
09:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5f81da3a17
09:39 dalek rakudo/nom: 3003279 | moritz++ | src/core/IO.pm:
09:39 dalek rakudo/nom: more consistent exception for IO.copy
09:39 dalek rakudo/nom:
09:39 dalek rakudo/nom: also remove unnecessary special case that could lead to race conditions
09:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3003279d4b
10:14 dalek nqp/qbootstrap: acdaae4 | jnthn++ | src/QRegex/NFA.nqp:
10:14 dalek nqp/qbootstrap: Revert diakopter++'s NFA changes.
10:14 dalek nqp/qbootstrap:
10:14 dalek nqp/qbootstrap: Unfortunately, they break various NQP tests and the Rakudo build.
10:14 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/acdaae4bc3
10:14 dalek nqp/qbootstrap: 689b820 | jnthn++ | src/QRegex/P6Regex/Grammar.nqp:
10:14 dalek nqp/qbootstrap: Workaround separator/NFA bug for now; gets us able to parse \x[...] and \o[...] in regexes again.
10:14 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/689b820a1c
10:18 crab2313 joined #parrot
10:20 dalek rakudo/nom: a4c09d1 | moritz++ | src/core/ (3 files):
10:20 dalek rakudo/nom: stylistic exception updates
10:20 dalek rakudo/nom:
10:20 dalek rakudo/nom: no functional changes
10:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a4c09d1c92
10:20 dalek rakudo/nom: 493adbf | moritz++ | src/core/ (2 files):
10:20 dalek rakudo/nom: typed exceptions for temp and let on non-containers
10:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/493adbfebc
10:51 PacoAir joined #parrot
10:55 whiteknight joined #parrot
10:58 dalek nqp/qbootstrap: 16654ba | jnthn++ | src/HLL/Actions.pm:
10:58 dalek nqp/qbootstrap: Complete guess-fix for the \c[...] issue.
10:58 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/16654ba654
11:16 whiteknight good morning, #parrot
11:16 moritz good am, whiteknight
11:18 isBEKaml hello, whiteknight
11:19 whiteknight good morning moritz, isBEKaml. How are you two doing this morning?
11:20 moritz not bad, hacking a bit
11:20 moritz will soon prepare asparagus for lunch :-)
11:20 isBEKaml whiteknight: just added a bit of CPU info to be made available from win32 systems, from cotto++'s comment.
11:20 whiteknight isBEKaml: nice!
11:20 moritz (we live in an area where that stuff grows, and we like it :-)
11:20 isBEKaml moritz: I always thought asparagus was inedible grass. :/
11:21 whiteknight moritz: We bought asperagus last weekend for the grill, but it's been raining every day and we haven't had a chance to use it
11:21 moritz isBEKaml: well, if you take the white asparagus and don't know that you have to peel it (happened to a Chinese friend of mine :-), then you'd get that impression :-)
11:23 isBEKaml whiteknight: still some way to go, I'm thinking of moving all uname lookups to platform/generic. Will wait until I hear back after my last push to #280.
11:23 isBEKaml moritz: :-) Reminds me of a time when I chewed on raw bittergourd. (it was so chewy.. ) :P
11:26 brrt joined #parrot
11:34 whiteknight moritz: I've actually never eaten white asperagus. I would like to some day but it doesn't grow here and the market doesn't always have great selection of those kinds of things
11:34 whiteknight Maybe next year I'll plant some in my garden and see what happens
11:35 kjs joined #parrot
11:37 moritz whiteknight: or just visit me next spring :-)
11:37 whiteknight moritz: Extremely tempting offer :)
11:39 dalek nqp/qbootstrap: cf4bf1f | jnthn++ | src/QRegex/NFA.nqp:
11:39 dalek nqp/qbootstrap: Make <alpha> LTM-declarative.
11:39 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/cf4bf1f481
11:39 dalek rakudo/qbootstrap: c297695 | jnthn++ | src/Perl6/Grammar.pm:
11:39 dalek rakudo/qbootstrap: Don't capture comments.
11:39 dalek rakudo/qbootstrap: review: https://github.com/rakudo/rakudo/commit/c297695768
11:39 dalek rakudo/qbootstrap: 9653a4d | jnthn++ | src/Perl6/Grammar.pm:
11:39 dalek rakudo/qbootstrap: Fix a case of variable interpolation. Resolves S05-interpolation/regex-in-variable.t failures and probably S05-modifier/ignorecase.t too.
11:39 dalek rakudo/qbootstrap: review: https://github.com/rakudo/rakudo/commit/9653a4d5d0
11:41 whiteknight blah, this readline logic is a rats nest
11:55 whiteknight though, the nest is not unnecessary. The requirement to read complete codepoints into a string makes a lot of the logic much more complicated
11:55 whiteknight The best I may be able to do is make it a little bit more transparent and readable
12:18 lucian joined #parrot
12:24 dalek nqp/qbootstrap: 5db4340 | jnthn++ | src/QRegex/P6Regex/Actions.nqp:
12:24 dalek nqp/qbootstrap: Don't disregard backtrack modifiers directly placed on atoms. This was why assertions.t failed in Rakudo.
12:24 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/5db4340e1c
12:37 dalek m1: 31b7907 | (kj, kjs)++ | m1 (11 files):
12:37 dalek m1: various cleanups and refactoring. still chasing a bug
12:37 dalek m1: review: https://github.com/parrot/m1/commit/31b7907c58
12:40 kid51 joined #parrot
12:51 brrt joined #parrot
13:01 dalek rakudo/qbootstrap: 2ad64fa | jnthn++ | src/Perl6/Grammar.pm:
13:01 dalek rakudo/qbootstrap: Fix parse-o spotted by tadzik++. (Really want to figure out how STD avoids needing this, though.)
13:01 dalek rakudo/qbootstrap: review: https://github.com/rakudo/rakudo/commit/2ad64faa1c
13:03 dalek m1: 084d442 | (kj, kjs)++ | m1_ (2 files):
13:03 dalek m1: fix bug. note to self: when checking a union member, first check for union's selector to check for right field.
13:03 dalek m1: review: https://github.com/parrot/m1/commit/084d442218
13:05 dalek winxed: e39b70b | NotFound++ | winxedst (2 files):
13:05 dalek winxed: fix several wrong Expr ownership transmision
13:05 dalek winxed: add assertions to check for that kind of mistakes
13:05 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/e39b70b65b
13:07 Psyche^ joined #parrot
13:26 dalek mod_parrot: 496333a | (Bart Wiegmans)++ | / (6 files):
13:26 dalek mod_parrot: Added some cgi variables to the arguments
13:26 dalek mod_parrot: review: https://github.com/bdw/mod​_parrot/commit/496333ab2c
13:28 brrt pindg whiteknight
13:37 brrt joined #parrot
13:38 crab2313 joined #parrot
13:40 dalek winxed: 39bdcb0 | NotFound++ | winxedst (2 files):
13:40 dalek winxed: rename parameter start in Literal constructors, no functional changes
13:40 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/39bdcb00cc
13:40 dalek winxed: 00bf675 | NotFound++ | winxedst (2 files):
13:40 dalek winxed: fix and improve IntegerLiteral:
13:40 dalek winxed: remove member 'pos' long time unused
13:40 dalek winxed: rename 'numval' to 'intval'
13:40 dalek winxed: fix some foreign access to internals
13:40 dalek winxed: ensure type conversions in initialization and getters
13:40 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/00bf675914
13:41 dalek m1: ece9ef0 | (kj, kjs)++ | m1 (5 files):
13:41 dalek m1: fix another bug. might want to refactor constant and symbol handling. fix up if statement
13:41 dalek m1: review: https://github.com/parrot/m1/commit/ece9ef0c17
13:41 dalek m1: dd8b3bd | (kj, kjs)++ | if.m1:
13:41 dalek m1: first proper test file for if, printing ok..1 etc
13:41 dalek m1: review: https://github.com/parrot/m1/commit/dd8b3bdafd
13:45 dalek m1: 61085f0 | (kj, kjs)++ | m1_gencode.c:
13:45 dalek m1: fix if statement; if no else block still need to generate a goto endlabel isntr
13:45 dalek m1: review: https://github.com/parrot/m1/commit/61085f0758
13:53 dalek m1: 642470f | (kj, kjs)++ | m1_gencode.c:
13:53 dalek m1: slightly more efficient code for small integer number loading
13:53 dalek m1: review: https://github.com/parrot/m1/commit/642470fd62
13:56 dalek m1: 12a18a8 | (kj, kjs)++ | while.m1:
13:56 dalek m1: print stuff in while loop test
13:56 dalek m1: review: https://github.com/parrot/m1/commit/12a18a8f86
13:57 dalek m1: dc46939 | (kj, kjs)++ | dowhile.m1:
13:57 dalek m1: print stuff in dowhile test
13:57 dalek m1: review: https://github.com/parrot/m1/commit/dc4693962f
13:59 * kjs thinks he knows how to implement vtables
14:01 isBEKaml kjs: m1 seems interesting - it's a drop in replacement for PIR now ?
14:01 kjs isBEKaml: no not at all
14:01 kjs well i dont think so
14:02 kjs M1 aims to provide an easy , C-like interface to the M0 interpreter. M0 being the virtual machien that runs Parrot's Next Generation implementation.
14:02 kjs if things go to plan. they might not :-)
14:03 isBEKaml kjs: wait, what? M1 will be tougher to integrate when things go to plan? :)
14:04 kjs I believe "rewrite" is the magic word
14:04 moritz we rakudo folks work furiously on reducing our PIR footprint (among other things)
14:05 isBEKaml kjs: the way I see it from the README I just looked up - it's a code generator, you don't have to change m0 to get there.
14:05 moritz and we'll be happy when we have a nice API to generate bytecode directly :-)
14:05 kjs a code generator for what?
14:06 moritz of the two big remaining subsystems that are still written in PIR, one is being replaced this very hour (the regex engine)
14:06 isBEKaml kjs: well, we spit out m1, pass it down to github/m1, which spits out m0. Am I right? (My wording might be a bit confusing)
14:06 isBEKaml moritz: that's QAST?
14:07 moritz isBEKaml: that's the second replacement (for PAST, which is written in pir)
14:07 kjs isBEKaml: the way I see it, is that we get rid of C code in Parrot, except for some components that don't have control or data interaction with parrot languages
14:07 kjs but perhaps I misunderstood
14:07 isBEKaml kjs: :O - that's... huge.
14:07 kjs well maybe i misunderstood, but that's how i understood it from reading the docs and blog posts on M0
14:08 kjs and yes that is not trivial
14:08 moritz kjs: I don't think you misunderstood
14:08 kjs the problem is the interaction between C code and parrot byte code, as far as control and data
14:08 moritz the key is that you can only do a good JIT compiler if you don't constantly hop between high-level code and custom C code
14:08 kjs control = function calls from PIR-> C and vice versa
14:09 kjs so, there's an M0 virtual machine
14:09 kjs and M1 is the language that spits out M0
14:09 isBEKaml kjs: that's what I thought at first - I'm surprised we hadn't done that yet.
14:10 kjs done what?
14:10 isBEKaml kjs: PIR->C interaction kept down or none at all.
14:10 kjs the issue is that some built-in PMCs are written in C
14:10 kjs and extending etc such classes therefore has that crossing of the c-pir boundary
14:11 isBEKaml I see - if we can produce a better layer for rakudo to consumer, it wfm. :)
14:12 isBEKaml s/consumer/consume/
14:13 kjs it might take quite a while before we're at that stage :-)
14:13 kjs M1 is coming along nicely though :-)
14:14 isBEKaml great, you have a roadmap doc somewhere?
14:14 kjs uh
14:14 kjs i have a todo list :-)
14:15 kjs come to think of it, ther'e's a few items i can cross out now i think :-)
14:16 isBEKaml \o/ :)
14:17 dalek m1: 6ac2bc6 | (kj, kjs)++ | TODO.txt:
14:17 dalek m1: 2 things fixed. needs testing, hence the ?
14:17 dalek m1: review: https://github.com/parrot/m1/commit/6ac2bc6ebe
14:20 whiteknight brrt: pong
14:33 dalek Heuristic branch merge: pushed 112 commits to nqp by moritz
14:34 dalek Heuristic branch merge: pushed 26 commits to rakudo/nom by moritz
14:38 dalek rakudo/nom: 5cff505 | moritz++ | docs/ChangeLog:
14:38 dalek rakudo/nom: note some qbootstrap changes in ChangeLog
14:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5cff5050d8
14:39 dalek rakudo/nom: cceca68 | jnthn++ | docs/ROADMAP:
14:39 dalek rakudo/nom: Remove two completed ROADMAP items.
14:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cceca68810
14:40 whiteknight I *think* if I setup the buffer so that it never attempts to return a partial codepoint for a STRING read, and instead normalize and refill the buffer in a loop, most of this logic can go away
14:43 brrt joined #parrot
14:43 dalek m1: a55f121 | (kj, kjs)++ | m1_gencode.c:
14:43 dalek m1: implement var initialization
14:43 dalek m1: review: https://github.com/parrot/m1/commit/a55f121dcc
14:46 whiteknight brrt: ping
14:46 brrt whiteknight: pong
14:47 whiteknight brrt: you pinged?
14:47 brrt yes
14:47 brrt then i lost internet connection, and now i'm back :-)
14:47 brrt just hard to recall what my question was
14:47 brrt oh, yes
14:47 whiteknight talk fast, a thunder storm just started and I may lose my connection soon too :)
14:47 brrt i need to get a HLLCompiler in winxed by langauge
14:48 brrt language
14:48 brrt much like Parrot_api_get_compiler
14:48 brrt but in winxed
14:48 whiteknight the compreg function
14:48 moritz there's a 'compreg' opcode
14:48 whiteknight var compiler = compreg("Compiler Name")
14:48 brrt oh, that will do
14:48 whiteknight brrt: you may also need to use the load_language opcode, to make sure the libraries are loaded
14:49 brrt there was a syntax for pir statements in winxed
14:49 whiteknight https://github.com/Whiteknight/Rosella/​blob/master/src/core/Rosella.winxed#L13
14:49 whiteknight That function loads the winxed compiler in, with the load_language op and the compreg op
14:49 whiteknight you should be able to copy most of that logic if you want, avoiding the hard-coded winxed name
14:49 brrt ... yes, thats very much what i was looking for :-)
14:50 brrt oh, there was another thing
14:50 brrt whats stdin called in winxed?
14:50 whiteknight I actually stole most of that code from the winxed program itself. It looks for a winxed library that contains the compiler
14:50 whiteknight getstdin()
14:50 whiteknight and there's also getstdout(), getstderr()
14:51 brrt you are a huge help :-)
14:51 whiteknight or, if you want to play with things at the interp level, there's getinterp().stdin_handle(), which takes an optional parameter to override it
14:51 particle joined #parrot
14:51 brrt hmm, that is really not so bad an option
14:52 brrt considering how i'm still planning to write a custom apache io handle
14:55 brrt oh, and another thing
14:55 brrt i was thinking, it might be possible to test mod_parrot via mod_perl
14:55 brrt via Test::Apache modules and the like
14:55 brrt which can mock request_req structures
14:55 brrt might simplify testing
14:56 brrt what do you think? and, do we want to bring such a tight binding to the apache api to parrot as the mod_perl guys did?
14:57 brrt also, so much to do :-)
14:57 schmooster joined #parrot
15:00 whiteknight brrt: if you thnk you can get that working, power to you
15:00 whiteknight take a couple hours to play with it. if it looks good, use it. If it's going to break your schedule, don't
15:01 brrt will do
15:04 brrt but i think my schedule is not looking so bad right now : -)
15:12 dalek m1: 05119a4 | (kj, kjs)++ | m1_gencode.c:
15:12 dalek m1:  for loop implementation. need testing
15:12 dalek m1: review: https://github.com/parrot/m1/commit/05119a4d1e
15:38 brrt still here? I have one more question, about Parrot_api_string_import_binary
15:38 brrt what does the encoding parameter signify?
15:39 whiteknight let me look
15:39 dalek parrot/whiteknight/io_cleanup1: 294f056 | Whiteknight++ | / (7 files):
15:39 dalek parrot/whiteknight/io_cleanup1: Finally get the read-STRING logic under control.
15:39 dalek parrot/whiteknight/io_cleanup1:
15:39 dalek parrot/whiteknight/io_cleanup1: Add some buffer-related helpers to read characters out of the buffer, and refuse to return incomplete codepoints. This simplifies read logic at the higher levels substantially. Use these and some other new features to (re-)implement Parrot_io_read_s and Parrot_io_readline_s. As always, a few other miscellaneous cleanups peppered throughout
15:39 dalek parrot/whiteknight/io_cleanup1: review: https://github.com/parrot/parrot/commit/294f056011
15:39 brrt nm, have the function at hand
15:39 whiteknight STRING* in parrot always have an encoding. The binary encoding just says "don't treat this STRING like normal text data"
15:41 whiteknight so that function turns an arbitrary buffer of data into a STRING header with the given encoding (specified by name)
15:44 moritz it's a bit like p5's Encode::decode() function
15:45 brrt i see, i needed binary :-)
15:46 mtk joined #parrot
15:50 whiteknight Parrot supports "ascii", "fixed8", "utf8", "utf16", "latin1", "ucs2" and "ucs4" encodings
15:50 whiteknight and "binary"
15:51 whiteknight well, it supports all those things if you have ICU installed. Otherwise, far fewer
15:59 dalek rakudo/nom: 305e5ae | moritz++ | src/core/Str.pm:
15:59 dalek rakudo/nom: change some pir:: to nqp:: opcodes
15:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/305e5aeba3
15:59 dalek rakudo/nom: 6555ab1 | moritz++ | src/core/ (2 files):
15:59 dalek rakudo/nom: typed exception when trying to mix in non-composable types
15:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6555ab164c
16:09 dalek rakudo/nom: 5c9c02d | moritz++ | src/core/ (3 files):
16:09 dalek rakudo/nom: stylistic changes to throwing exceptions
16:09 dalek rakudo/nom:
16:09 dalek rakudo/nom: no functional changes
16:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5c9c02d45a
16:11 dalek mod_parrot: bd9ed31 | (Bart Wiegmans)++ | / (6 files):
16:11 dalek mod_parrot: Read post data (doesn't work)
16:11 dalek mod_parrot: review: https://github.com/bdw/mod​_parrot/commit/bd9ed31c57
16:12 * brrt leaves
16:12 brrt left #parrot
16:15 dalek winxed: 325be16 | NotFound++ | winxedst (2 files):
16:15 dalek winxed: improve switch body parsing:
16:15 dalek winxed: diagnose default or case after default
16:15 dalek winxed: cleaner implementation
16:15 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/325be16b28
16:41 kid51 whiteknight:  Here's something to sink your teeth into:  https://github.com/parrot/parrot/issues/776
16:42 kid51 afk
16:43 whiteknight thanks, I'll look at it
16:44 aloha (parrot/parrot) Issues opened : 776 (t/compilers/imcc/syn/clash.t: FAILs under 'make testr' on some machines but not others) by jkeenan : https://github.com/parrot/parrot/issues/776
17:02 dalek winxed: 9c72602 | NotFound++ | winxedst (2 files):
17:02 dalek winxed: simplify parsing of maybe empty lists
17:02 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/9c72602c8f
17:07 contingencyplan joined #parrot
17:16 dalek rakudo/nom: 9452bf6 | moritz++ | src/core/Exception.pm:
17:16 dalek rakudo/nom: typed exceptions for several uncaught control exceptions
17:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9452bf6eaa
17:19 dalek winxed: 4fab288 | NotFound++ | winxedst1.winxed:
17:19 dalek winxed: drop support for multi from stage 1
17:19 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/4fab288c5f
17:32 dalek winxed: 9a03c56 | NotFound++ | winxedst1.winxed:
17:32 dalek winxed: drop support for extern function from stage 1
17:32 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/9a03c566e9
17:44 kjs cotto: ping
17:54 cotto kjs, pong
17:55 cotto (taking off real soon though)
17:55 kjs hi cotto.
17:55 kjs ok
17:55 kjs I'll be breif
17:55 kjs i'm looking into function calls. the /calling/ part is easy :-)
17:55 kjs the returning is complex, and I don't quite understand it.
17:56 kjs it would be very helpful if there's a simple example of a call/return in M0, simpler than the poke example.
17:56 cotto The trouble is that the poke caller example is fairly minimal, as hairy as it is.  I'll try paring it down to the bare minimum though.
17:57 kjs yes well I'm not sure what happens where, and also why
17:57 cotto do the comments not help much?
17:58 kjs eh. they do help but theyre not all very clear
17:58 kjs it's more the what, but i'm interested also in the why
17:58 kjs i'll probably translate it into M1, manually, and see what it does
17:58 cotto alright.  I'll work on describing the motivation later today.
17:59 cotto I'm out now, but if you mention my name I'll see it when I backscroll.
17:59 kjs ok, thanks.
18:08 crab2313 joined #parrot
18:41 benabik whiteknight++ # bloggin
19:27 brrt joined #parrot
19:35 dalek mod_parrot: 3cd7371 | (Bart Wiegmans)++ | mod_parrot (2 files):
19:35 dalek mod_parrot: Fix POST data reading
19:35 dalek mod_parrot: review: https://github.com/bdw/mod​_parrot/commit/3cd73713db
19:35 brrt left #parrot
19:47 PacoAir joined #parrot
20:08 dalek rakudo/nom: 50d40a6 | moritz++ | src/core/ (2 files):
20:08 dalek rakudo/nom: throw a typed exception for non-conformant qualified method calls
20:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/50d40a690a
20:17 dalek winxed: 41662de | NotFound++ | / (2 files):
20:17 dalek winxed: build the non installed driver with stage 1 instead of 0
20:17 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/41662de045
20:17 dalek winxed: 577cdc4 | NotFound++ | winxedst0.cpp:
20:17 dalek winxed: drop support for operators '<<' and '>>' from stage 0
20:17 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/577cdc4a33
20:17 dalek winxed: 77eebb7 | NotFound++ | / (3 files):
20:17 dalek winxed: drop support for new string-literal from stage 0
20:17 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/77eebb718e
20:17 dalek winxed: e355959 | NotFound++ | / (4 files):
20:17 dalek winxed: simplify support for new in stage 1:
20:18 dalek winxed: No new literal-string
20:18 dalek winxed: No new with variables or string const
20:18 dalek winxed: No functions called new
20:18 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/e3559598c4
20:31 dalek rakudo/nom: e7d4e87 | moritz++ | src/core/ (2 files):
20:31 dalek rakudo/nom: typed exceptions from pack and unpack
20:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e7d4e87655
20:34 whiteknight I love seeing brrt++'s commits showing up here
20:35 whiteknight it's good to see that GSOC has started
20:36 moritz anyone with a github repo can set up notifications for #parrot
20:36 moritz it's no magic :-)
20:44 whiteknight yes, but I specifically like seeing GSOC-related commits
20:44 whiteknight That and some fresh melon is what summer is all about :)
20:45 moritz don't forget the sun :-)
21:13 kjs joined #parrot
21:28 kurahaupo joined #parrot
21:37 dalek m1: fc4ec68 | (kj, kjs)++ | m1. (2 files):
21:37 dalek m1: add M0 instructions
21:37 dalek m1: review: https://github.com/parrot/m1/commit/fc4ec68b33
21:37 dalek m1: dfcebc6 | (kj, kjs)++ | m1_ (4 files):
21:37 dalek m1: various
21:37 dalek m1: review: https://github.com/parrot/m1/commit/dfcebc68f0
21:52 dalek m1: c250618 | (kj, kjs)++ | m1 (3 files):
21:52 dalek m1: enable array constructor in array declaration
21:52 dalek m1: review: https://github.com/parrot/m1/commit/c250618bd7
22:02 dalek m1: 69d26de | (kj, kjs)++ | / (3 files):
22:02 dalek m1: various
22:02 dalek m1: review: https://github.com/parrot/m1/commit/69d26de460
22:17 dalek nqp: 32a0cf1 | jnthn++ | src/QRegex/Cursor.nqp:
22:17 dalek nqp: A bit of scope-flattening optimization, as suggested by pmichaud++.
22:17 dalek nqp: review: https://github.com/perl6/nqp/commit/32a0cf1ef2
22:18 dalek winxed: d173aa7 | NotFound++ | winxedst (2 files):
22:18 dalek winxed: cosmetic fixes and changes
22:18 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/d173aa7a93
22:32 brambles joined #parrot
22:34 dalek m1: 02db8a6 | (kj, kjs)++ | m1_gencode.c:
22:34 dalek m1: fix || and && operators; these are implemented using short-cuts of evaluation
22:34 dalek m1: review: https://github.com/parrot/m1/commit/02db8a6dea
22:45 dalek m1: a2d1866 | (kj, kjs)++ | / (2 files):
22:45 dalek m1: not, || and && operators fixed
22:45 dalek m1: review: https://github.com/parrot/m1/commit/a2d1866724
22:56 dalek m1: 1cdaa09 | (kj, kjs)++ | TODO.txt:
22:56 dalek m1: update todo list with status and some ideas
22:56 dalek m1: review: https://github.com/parrot/m1/commit/1cdaa0960e
23:08 particle1 joined #parrot
23:14 kid51 joined #parrot
23:15 kid51 joined #parrot
23:38 dalek parrot: 3c44a3e | jkeenan++ | config/gen/makefiles/root.in:
23:38 dalek parrot: Fix for github issue #776.
23:38 dalek parrot:
23:38 dalek parrot: *.pbc files created by the test suite in t/compilers/imcc/syn/*.t had not been
23:38 dalek parrot: added to 'test-clean' target.  Consequently, older files not removed during a
23:38 dalek parrot: customary 'make realclean' were affecting test results, specifically, test #11
23:38 dalek parrot: in t/compilers/imcc/syn/clash.t under make testr.
23:38 dalek parrot: review: https://github.com/parrot/parrot/commit/3c44a3e9ca
23:43 aloha (parrot/parrot) Issues closed : 776 (t/compilers/imcc/syn/clash.t: FAILs under 'make testr' on some machines but not others) by jkeenan : https://github.com/parrot/parrot/issues/776

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

Parrot | source cross referenced