Camelia, the Perl 6 bug

IRC log for #parrot, 2011-08-02

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:02 whiteknight left #parrot
00:07 dalek tracwiki: v1 | cotto++ | HBDBPlanning
00:07 dalek tracwiki: original schedule
00:07 dalek tracwiki: http://trac.parrot.org/parrot/wiki/HB​DBPlanning?version=1&action=diff
00:21 dalek rakudo/nom: c26878d | tadzik++ | src/core/Parameter.pm:
00:21 dalek rakudo/nom: Fill in some Parameter accessors
00:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c26878db56
00:21 dalek rakudo/nom: 124bec3 | tadzik++ | src/core/Parameter.pm:
00:21 dalek rakudo/nom: Fix Parameter.named, add Parameter.slurpy
00:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/124bec3aea
00:30 Kulag left #parrot
00:30 Coke cotto_work: pong
00:35 theory left #parrot
00:36 Kulag joined #parrot
00:37 cotto_work Coke: dukeleto answered my question
00:38 dalek tracwiki: v2 | cotto++ | HBDBPlanning
00:38 dalek tracwiki: remove timeline items that don't list specific features
00:38 dalek tracwiki: http://trac.parrot.org/parrot/wiki/HB​DBPlanning?version=2&action=diff
00:44 Kulag left #parrot
00:55 rdesfo left #parrot
01:06 Coke cotto_work: unpong.
01:13 preflex left #parrot
01:16 Felipe unpong, that's new.
01:16 cotto_work That's what happens when you forget to unping someone.
01:17 Felipe hehe
01:21 bubaflub joined #parrot
01:21 bubaflub ~
01:21 Felipe ~
01:27 GodFather joined #parrot
01:32 woosley joined #parrot
01:33 GodFather left #parrot
01:48 cotto ~~
01:50 kid51 joined #parrot
02:10 jsut joined #parrot
02:14 jsut_ left #parrot
02:16 preflex joined #parrot
02:33 daniel-s joined #parrot
02:48 theory joined #parrot
02:49 kid51 left #parrot
02:55 Tene In cotto's recent blog post, it took me several readings of "C89 Implementation" to understand that it was an implementation of M0 written in C89, and not what I initially read it as, an implementation of C89 in M0
02:59 dalek TT #2169 created by jkeenan++: tools/dev/parrot_api.pl: What is this program meant to do?  Do we still ...
02:59 dalek TT #2169: http://trac.parrot.org/parrot/ticket/2169
03:04 cotto Tene, fixed (I hope)
03:18 cotto Now both people who read it in the future will be less confused.
03:26 rdesfo joined #parrot
03:29 theory left #parrot
03:31 theory joined #parrot
03:32 rdesfo left #parrot
03:49 theory left #parrot
03:52 theory joined #parrot
05:01 woosley left #parrot
05:20 dalek parrot: 7db4473 | dukeleto++ | / (4 files):
05:20 dalek parrot: [TT#2169] Removed useless,untested and broken nm.pl and parrot_api.pl
05:20 dalek parrot: review: https://github.com/parrot/parrot/commit/7db4473f78
05:21 dalek TT #2169 closed by dukeleto++: tools/dev/parrot_api.pl: What is this program meant to do?  Do we still ...
05:21 dalek TT #2169: http://trac.parrot.org/parrot/ticket/2169
05:27 rdesfo joined #parrot
05:33 rdesfo left #parrot
05:48 theory left #parrot
06:32 dngor left #parrot
06:34 dngor joined #parrot
06:55 fperrad joined #parrot
07:00 cotto dukeleto, you up?
07:10 mj41 joined #parrot
07:27 rdesfo joined #parrot
07:33 rdesfo left #parrot
07:42 dalek parrot/m0-spec: fc4b167 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
07:42 dalek parrot/m0-spec: describe primitive string layout, make INSP sizes less self-contradictory
07:42 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/fc4b1674d4
07:42 contingencyplan joined #parrot
07:58 rdesfo joined #parrot
07:58 rdesfo left #parrot
07:58 cosimo left #parrot
08:07 dalek parrot/m0-spec: 8af0e30 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
08:07 dalek parrot/m0-spec: tighten conversion semantics
08:07 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/8af0e309ca
08:07 dalek parrot/m0-spec: 6e776a4 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
08:07 dalek parrot/m0-spec: specify what happens with out-of-range conversions
08:07 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/6e776a49aa
08:13 dafrito joined #parrot
08:14 dafrito ~~
08:16 lucian joined #parrot
08:42 dngor left #parrot
09:57 dalek rakudo/nom: 2dd618f | moritz++ | tools/lib/NQP/Configure.pm:
09:57 dalek rakudo/nom: [build] fix lookup of defined-but-false configure options while generating the Makefile
09:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2dd618febb
09:57 dalek rakudo/nom: 293215f | moritz++ | README:
09:57 dalek rakudo/nom: fix thinko on README, mls++
09:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/293215fc97
09:58 contingencyplan left #parrot
10:07 lucian left #parrot
10:24 lucian joined #parrot
10:48 Felipe morning
11:10 darbelo left #parrot
11:13 Kulag joined #parrot
11:53 dalek TT #2096 closed by jkeenan++: t/dynoplibs/debug.t: fails one test on some Darwin
11:53 dalek TT #2096: http://trac.parrot.org/parrot/ticket/2096
12:19 jsut_ joined #parrot
12:20 jsut left #parrot
12:28 dngor joined #parrot
12:29 dngor left #parrot
12:29 dngor joined #parrot
12:32 whiteknight joined #parrot
12:32 Coke left #parrot
12:32 Coke joined #parrot
12:37 cosimo joined #parrot
12:38 dngor left #parrot
12:40 whiteknight good morning, #parrot
12:41 tadzik good morning whiteknight
12:41 whiteknight hello tadzik
12:42 tadzik how are things?
12:42 whiteknight bleh. You?
12:42 tadzik pretty good
12:42 tadzik the gsoc project got a decent progress hit recently, even got mentioned on the Perl Weekly Newsletter
12:43 whiteknight yeah, I've been seeing some news about it
12:43 whiteknight congrats about getting merged into nom
12:44 tadzik thanks
12:47 dngor joined #parrot
12:54 darbelo joined #parrot
13:00 darbelo left #parrot
13:00 bubaflub ~
13:04 whiteknight good morning, bubaflub
13:04 bubaflub morning whiteknight
13:05 kurahaupo left #parrot
13:12 whiteknight msg soh_cah_toa I'm playing with hbdb here and it's looking like it works pretty well. step, run, quit, and list operations all work as expected. I am seeing what you are talking about with breakpoints. I'll look at it and do what I can
13:12 aloha OK. I'll deliver the message.
13:20 cosimo left #parrot
13:21 darbelo joined #parrot
13:22 cosimo joined #parrot
13:27 lucian_ joined #parrot
13:33 lucian left #parrot
13:48 whiteknight msg soh_cah_toa Look at src/sub.c The functions Parrot_sub_get_line_from_pc and Parrot_sub_get_filename_from_pc look promising. See also Parrot_sub_context_get_infostr for an idea of how things go together. Take those things, put together a line-number breakpoint system, and we will fix it till it works
13:49 aloha OK. I'll deliver the message.
13:57 dalek rakudo/nom: d9323d4 | moritz++ | t/spectest.data:
13:57 dalek rakudo/nom: comb.t needs ICU
13:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d9323d4562
13:59 Casan joined #parrot
14:06 dalek rakudo/nom: ffe522a | Coke++ | t/spectest.data:
14:06 dalek rakudo/nom: track failure modes
14:06 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ffe522a996
14:08 Felipe left #parrot
14:14 davidfetter left #parrot
14:15 woosley joined #parrot
14:17 dalek rakudo/nom: b3869b4 | Coke++ | t/spectest.data:
14:17 dalek rakudo/nom: run another fudged test
14:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b3869b436f
14:21 daniel-s left #parrot
14:25 MvG joined #parrot
14:26 Felipe joined #parrot
14:27 MvG Hi! I've just pushed a fix for TT2107 to github, and wanted to add a comment to the ticket itself. Registered and logged in, but still get no comment tex box. Are newly registered users by default forbidden to comment on existing tickets?
14:28 moritz MvG: seems like, in response to massive spamming
14:28 MvG Could someone powerful enough please add a link to https://github.com/parrot/parrot/pull/144 to that ticket? Unless you plan to merge that pull request into master pretty soon, that is.
14:28 moritz MvG: what's your trac username?
14:28 moritz somebody might give you permission
14:28 MvG Or grant me the required permissions, but I guess that would take someone with even more permissions than adding a simple comment.
14:28 MvG I've registered as "gagern".
14:30 whiteknight Mvg: try it now
14:30 moritz I"ve added a comment
14:31 MvG Yes, comment box is there now. Thanks, moritz!
14:32 Coke whiteknight++ # trac adminning so I can sleep.
14:32 whiteknight sleep++
14:32 atrodo sleep++
14:33 Coke (I'm not actually sleeping)
14:47 dalek parrot: ff9ad45 | (Martin von Gagern)++ | src/dynext.c:
14:47 dalek parrot: [TT#2107] Fix dynloading of libraries from exact file name.
14:47 dalek parrot: review: https://github.com/parrot/parrot/commit/ff9ad45981
14:47 dalek parrot: 2d6e52a | jimmy++ | src/dynext.c:
14:47 dalek parrot: Merge pull request #144 from gagern/tt2107-dynext-get_path
14:47 dalek parrot:
14:47 dalek parrot: [TT#2107] Fix dynloading of libraries from exact file name.
14:47 dalek parrot: review: https://github.com/parrot/parrot/commit/2d6e52a64f
14:47 whiteknight MvG++
14:50 MvG Thanks!
14:55 moritz does prefix ! has looser precdence than comparison operators (<=) in C?
14:56 moritz or asked differently, does that patch parse as   !(STRING_length(lib) >= 3) && ...
14:56 moritz or as (!STRING_length(lib)) >= 3  ?
14:58 whiteknight the ! binds more closely than >=
14:58 whiteknight he removed them, because they were nonsensical there
14:59 moritz ok
15:01 rdesfo joined #parrot
15:05 JimmyZ joined #parrot
15:08 rdesfo left #parrot
15:50 woosley left #parrot
15:55 cosimo left #parrot
16:08 lucian_ left #parrot
16:10 spinclad_ left #parrot
16:15 mj41 left #parrot
16:28 darbelo left #parrot
16:32 theory joined #parrot
16:38 JimmyZ left #parrot
16:44 lucian joined #parrot
16:51 jsut joined #parrot
16:51 jsut_ left #parrot
16:52 benabik Are all of parrot's tests written in perl?
16:54 bubaflub benabik: nope - there are some in PIR and PASM and even a few in NQP
17:02 rdesfo joined #parrot
17:02 Casan left #parrot
17:11 rdesfo left #parrot
17:12 darbelo joined #parrot
17:15 jsut_ joined #parrot
17:18 Coke the general goal is (was) to move tests to PIR to avoid having N invocations of parrot per test file.
17:18 Coke and also to eat our own dogfood.
17:20 benabik All the tests in t/compilers/pct are in Perl…  Is there a PIR test I should copy the style of instead?
17:20 jsut left #parrot
17:25 NotFound benabik: $ ack '!\./parrot$' t/
17:25 benabik NotFound: Yeah, I did something similar already.
17:25 Coke t/pmc/boolean.t, e.g.
17:25 benabik Although mine involved a pipe with find, read, head, and grep...
17:26 NotFound benabik: ack is great
17:26 benabik NotFound: I don't know a way to get ack to print the first line of all files matching *.t
17:26 benabik NotFound: Since I didn't know beforehand what the #! line would be for PIR tests...
17:27 * benabik supposes he could have used ack '#!'
17:28 NotFound benabik: you can also write tests with winxed, but there is none of that kind in core yet.
17:28 benabik NotFound: Learning winxed is on my TODO list, but I'm sticking with PIR and NQP for GSoC.
17:30 NotFound I tend to use winxed just the avoid to write pir by hand.
17:30 cotto_work ~~
17:31 whiteknight Unfortunately, in Parrot core you don't have Rosella around to make tests easy
17:31 whiteknight </shameless plug>
17:31 atrodo That's quite the shame
17:32 NotFound For things that are usually done in PIR, winxed and Test/More is easy enough.
17:34 whiteknight NotFound: I have some questions for you, if you have a minute
17:35 NotFound Shot
17:35 whiteknight NotFound: Did those __CLASS__ and __NAMESPACE__ additions make it into the snapshot yet?
17:35 whiteknight I haven't had time to look, but I didn't see them in the commits list
17:35 NotFound whiteknight: no, sorry, I forgot you wanted it.
17:35 whiteknight it's no big deal, I haven't had time yet to use it
17:36 whiteknight NotFound: Also, how hard would it be to create an easier syntax for closures, like C# lambdas?
17:36 whiteknight (var x) => { ... }
17:37 whiteknight maybe not exactly like that, but shorter than the function syntax?
17:37 NotFound I've thought about it, but it looks like people are not exactly claming for more syntax.
17:37 whiteknight okay
17:38 whiteknight The one thing I like most about NQP is the short block syntax: { ... }
17:38 whiteknight of course, they don't have hash literal syntax, so it is a trade-off
17:38 NotFound I'm refreshing a bit my java skills, maybe I find some inspiration from it.
17:39 NotFound Yes. the hash and array literal syntax makes difficult to borrow some constructs from other languages.
17:40 whiteknight yeah
17:40 whiteknight A syntax like => { ... } would be like function() { .. } but shorter
17:40 whiteknight or -> {...}
17:40 NotFound But people have to learn it. function () is almost self-teaching.
17:41 lucian i think fun or fn would be enough of an improvement
17:42 lucian fn(){} vs CoffeeScript's () ->
17:42 lucian pretty good if you ask me
17:43 whiteknight I would be fine with a syntax that didn't take parameters, like NQP blocks
17:43 NotFound I think the potential user base of winxed cares more for simple and easy syntax than for brevity.
17:43 whiteknight nqp pointy blocks are fine too
17:45 NotFound Key question: there is any functionality hard to reach with the current means, or is just brevity and style?
17:45 whiteknight just brevity and style
17:46 whiteknight Next question: Do you have any other big changes planned for winxed?
17:46 lucian fwiw, js harmony folks think a short lambda syntax is important
17:47 lucian they're planning to copy CS's i think
17:47 NotFound I'm still working in scope search and using statements, not sure if some change related to that may be big-
17:47 jsut joined #parrot
17:49 whiteknight I have everything I need from winxed in terms of syntax and features. It's a very good language so far
17:49 * lucian nods
17:50 NotFound lucian: I stop worrying about javascript variants and proposals in the early stages of winxed design, when I realized that a high degree of compatibility will not be doable.
17:50 lucian NotFound: yes, of course. my point was on general language design (i.e. "short lambdas are desirable") rather than any particular compatibility with js
17:52 NotFound My view on that is that adding an alternate syntax with no real difference between it and the current way is just confusing.
17:52 jsut_ left #parrot
17:52 lucian yes, perhaps
17:53 NotFound Confusing for beginners. And I need beginners, there are no long experienced winxed users ;)
17:54 * lucian nods
17:54 benabik whiteknight: PackfileView's perldoc has a METHOD trigger(STRING *flag), but it doesn't appear to be in the code.
17:54 lucian although the argument could be made that the language is young enough for such changes to be beneficial
17:55 NotFound whiteknight: the biggest change in the horizon may be the addition of multi, but I've not even looked at that, and maybe I'll wait after 6model introduction.
17:56 benabik NotFound: No multi?  Ouch.  That's a very commonly used feature in PCT.
17:56 benabik NotFound: Does it handle multiple return values?  (NQP doesn't to my irritation)
17:57 NotFound benabik: yes, there is specific syntax for that.
17:57 lucian benabik: yes
17:57 lucian the syntax isn't particularly nice or intuitive
17:57 lucian but it works :)
17:57 NotFound I failed to find a clean way to enable it without adding syntax.
17:59 kurahaupo joined #parrot
18:00 NotFound The problem was the need to enable all calling conventions modifiers. Without that, the functionality will be poor.
18:00 benabik Huh?
18:01 NotFound optional, named...
18:01 benabik With multi?
18:01 NotFound With multiple return.
18:03 lucian NotFound: yeah, i realise that
18:08 whiteknight Multi is actually one thing I really do want still
18:08 whiteknight I am getting along without it, but I have lots of functions with similar names
18:09 lucian i've been wondering for a while if python/js style function references and function overloading could be made to work together
18:09 NotFound I'm also thinking about some way of generics or templates, but that I'm positively sure must wait after 6model.
18:10 whiteknight yes, 6model is an important enabler for that
18:14 NotFound Also, I'm re-reading "The Design and Evolution of C++" to learn how to deal with the demands of the users ;)
18:16 lucian left #parrot
18:17 whiteknight I'm not demanding! Who's demanding?
18:18 lucian joined #parrot
18:18 NotFound I'm just being preventive.
18:24 darbelo left #parrot
18:24 atrodo NotFound> You mean ignoring users?
18:25 darbelo joined #parrot
18:25 NotFound atrodo: you have not readed the book, haven't you?
18:25 whiteknight that is a book I need to get a copy of some day
18:25 atrodo NotFound> Actually, not
18:26 lucian whiteknight: me too. i'm curious how on earth such an atrocious language grew so popular
18:27 whiteknight you can't deny it's power or its performance, in general
18:27 NotFound Long story short: he recommend hear the users, but not be afraid of saying "No".
18:27 lucian sound advice
18:28 lucian left #parrot
18:28 whiteknight and so long as you don't try to throw exceptions from destructors, or actually overload operators, or abuse polymorphism in ways that are unreadable or untraceable, or try to interact with software compiled by a different C++ compiler, try to interact with most C code, or do a bunch of other stuff, it's awesome
18:28 NotFound lucian: try to rewrite winxed stage 0 in C, and you'll know why C++ got popular.
18:28 atrodo I'd be quite glad to be able to call one language from another language, for any pair of languages
18:30 whiteknight Object-oriented features, if you cut out all the crufty old C-style code, and you are very cautious about using templates, can actually be quite nice
18:31 whiteknight and operator overloading. I've never seen a single example of operator overloading that did anything more than obscure the code and make it less readable
18:31 NotFound whiteknight << "Here is one";
18:31 benabik Operator overloading is useful iff you're defining a mathmatical object.
18:31 whiteknight NotFound: I disagree strongly. I hate that overloading
18:31 contingencyplan joined #parrot
18:32 NotFound whiteknight: You hate less printf, sprintf, and family?
18:32 lucian joined #parrot
18:32 benabik complex c1(0,1), c2(1,0), c3;  c3 = c1 + c2
18:32 whiteknight NotFound: yes, I like printf and sprintf
18:32 whiteknight benabik: maybe, sure. But then what happens when you're adding c1 + d1, a double? or c1 + i1 an integer?
18:33 NotFound whiteknight: One day I must make a recount of the number of bugs in printf-alike parrot functions I've fixed.
18:33 whiteknight And what if one of the arguments is the result of a templating STL operation, and the type of the operands is not obvious from reading it?
18:33 benabik whiteknight: There are rules for designing implicit casting for those situations, IIRC.
18:33 whiteknight NotFound: buggy implementation says nothing about the goodness of the interface
18:34 whiteknight benabik: my point is, it's extremely easy for such a simple case to spiral out of control
18:34 NotFound whiteknight: bugs in its usages, wich says a lot about the interface.
18:34 whiteknight and even then, if the operator throws some kind of exception, or has side-effects, or...
18:35 benabik Being complicated is not a good reason to toss it out wholesale.  Problems about types are the same for operators as they are for methods.  Ditto exceptions and side-effects.
18:35 NotFound The more frequent one: using %s instead of s with parrot strings.
18:36 NotFound %Sa
18:36 NotFound Urgh.
18:36 NotFound %Ss
18:37 whiteknight there's a difference between the Parrot_sprintf and the sprintf_s_s_p opcode
18:37 whiteknight C-level interfaces throughout Parrot are all shitty, but the idea of sprintf is not a bad idea
18:37 whiteknight and it's obvious that it's a function call
18:38 NotFound Anyway, I like more the C++ approach than the java style tostring everyhting.
18:38 whiteknight Java is certainly not the best alternative to C++
18:42 lucian left #parrot
18:42 NotFound Well, if you plan to read the book, Stroustrup will explain you his rationale far better than me.
18:43 atrodo I'm no longer sure where I lay on the operator overloading argument.  Clearly C++ is wrong, the shift operator is not a pipe, print(concat(concat("but", "I"), concat("can", "relate"))) to the noise the lack creates
18:43 whiteknight I will, one day. I have a long reading list
18:46 NotFound That remembers me, I'm still not sure if iI should add the , operator to winxed.
18:46 NotFound (Someone has noticed its absence?)
18:49 NotFound (The point that makes me remeber it: was one of the alternatives considered for <<)
18:49 whiteknight what would that operator do?
18:49 whiteknight same as in C (nothing)?
18:49 NotFound Aye
18:50 lucian joined #parrot
18:50 NotFound The only important use case I have in mind is if for loops.
18:51 NotFound I had the idea of adding an special case for that, but nobody asked.
18:51 lucian whiteknight: r.e. Java, in fact it has the exact same thing if you know where to look
18:51 dmalcolm joined #parrot
18:52 benabik Now that I think about it, my biggest usage of operator overloading in C++ recently has been making an iterator look like a pointer.
18:52 Eclesia joined #parrot
18:52 Eclesia hi
18:55 whiteknight hello Eclesia
18:56 Eclesia whiteknight: do you have something in rosella to manipulate zip,tar or whatever archove ?
18:56 Eclesia archive*
18:56 whiteknight Eclesia: No. Parrot doesn't always have those things. You need to compile specially with the right dependencies
18:56 whiteknight Rosella tries to avoid dependencies
18:57 Eclesia whiteknight: ho, that would explain the : "load_bytecode" couldn't find file 'gziphandle.pbc'
18:58 whiteknight yeah, you need optional dependencies
18:58 whiteknight I don't remember what. libtar-dev or something like that
18:58 Eclesia :'(
18:59 whiteknight yeah, it's a pain and is not documented well enough
19:01 Eclesia dynpmc/gziphandle.pmc
19:02 Eclesia Need a parrot built with zlib
19:02 Eclesia damn
19:03 whiteknight yeah
19:04 alester joined #parrot
19:05 rdesfo joined #parrot
19:12 rdesfo left #parrot
19:14 * cotto_work almost forgot about #ps in 18
19:14 whiteknight oh shoot, I almost forgot too
19:14 atrodo It is Tuesday, isn't it?
19:14 nopaste "Eclesia" at 192.168.1.3 pasted "rosella installation missing file for whiteknight" (25 lines) at http://nopaste.snit.ch/66684
19:15 whiteknight Eclesia: damn. I thought I fixed that yesterday
19:15 cotto_work http://www.isittuesday.co.uk/
19:17 atrodo cotto_work++
19:18 Eclesia whiteknight: I've pulled parrot and rosella a few minutes ago.
19:20 whiteknight Eclesia: okay, let me take a look at it
19:21 Eclesia whiteknight: It's not urgent ... even if I now have prrot with zlib, I still don't know how to zip and unzip files :D
19:22 whiteknight I don't like to leave it broken
19:23 benabik imcc--
19:23 whiteknight benabik: what's that for?
19:24 benabik whiteknight: Debugging PCT is a huge pain because of the line numbers.
19:24 whiteknight benabik: do you have any example PIR files handy where the line numbers are wrong?
19:24 benabik whiteknight: Inserting debug statements involve re-bootstrapping and recompiling large portions of parrot.
19:25 benabik whiteknight: Apparently compilers/pct/src/PAST.pir
19:25 NotFound whiteknight: I have a short one: compile setup.winxed to pbc. Only the first sub get correct numbers.
19:25 benabik whiteknight: But that's a huge concatenation of other PIR files.
19:26 whiteknight ok
19:27 NotFound Well, at least pbc_disassemble doesn't show them correct. Don't know if the problem is in the pbc or in the disassembler.
19:29 whiteknight Eclesia: Can you try git pull Rosella again? I fixed that bug yesterday
19:30 cotto_work #ps in 2
19:30 * Eclesia testing
19:30 Eclesia whiteknight: Already up-to-date. :/
19:30 whiteknight Eclesia: damn. Can you nopaste your setup.winxed file?
19:31 whiteknight #ps in now
19:31 cotto_work d'oh.  slow clock
19:31 nopaste "Eclesia" at 192.168.1.3 pasted "setup.winxed" (514 lines) at http://nopaste.snit.ch/66688
19:31 Eclesia whiteknight: here it is
19:32 whiteknight Eclesia: Very weird. test.nqp.winxed doesn't appear there
19:32 whiteknight er, test.nqp.template
19:33 Eclesia for some reason it now passes ... clean build install ... exact same call
19:33 Eclesia weird
19:36 Eclesia have to go ++
19:36 Eclesia left #parrot
19:37 MvG left #parrot
19:38 dalek rakudo/nom: 20edd76 | moritz++ | NOMMAP.markdown:
19:38 dalek rakudo/nom: update NOMMAP
19:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/20edd76abe
19:39 mikehh joined #parrot
19:39 benabik NotFound: As a note about :multi in Winxed…  that would prevent me from writing any of the Compiler classes from PCT in Winxed.  Which is a shame, because I think it would work better in some cases than NQP.
19:40 lucian http://morepypy.blogspot.com/2011/08/p​ypy-is-faster-than-c-again-string.html
19:40 whiteknight lucian: yeah, I saw that
19:41 lucian the previous post is also interesting
19:49 benabik Did NQP (non -rx) turn $a.push($b) and new('c') into pir::push($a, $b) and pit::new('c')?
19:50 benabik Because the PBC generation code has lots of things where I look at it and go "how did this ever work?"
19:58 alester left #parrot
20:00 moritz benabik: I think $a.push($b) simply calls a method on the PMC
20:00 whiteknight yeah, I think so
20:00 benabik moritz: You are correct, but bacek's code seems to think it will call the VTABLE.  So I'm wondering why.
20:03 whiteknight the method calls the vtable
20:03 whiteknight it is the circle of life
20:04 kurahaupo left #parrot
20:04 benabik Except it doesn't.
20:04 benabik Anyway...
20:04 moritz wouldn't the op also call the vtable in the end?
20:04 whiteknight teh failz!
20:04 whiteknight it should all fall back to teh vtable
20:04 benabik Is the get_string VTABLE for $S0 = $P0, or is it for $P0['value']?
20:05 NotFound benabik: $S0 = $P0
20:05 moritz the former
20:05 moritz the latter would be get_*_keyed_str
20:05 NotFound moritz: unfortunately, is not.
20:05 benabik Thanks...
20:07 NotFound $P0['value'] uses gte_*_keyed, wich can later be routed to keyed_str, depending on the PMC
20:19 whiteknight get_*_keyed_str are rarely used in practice
20:19 whiteknight I've always maintained that they could probably be deprecated and removed
20:19 whiteknight a handful of types fall back get_*_keyed to get_*_keyed_str, but otherwise it is not used
20:20 ambs joined #parrot
20:21 moritz if we keeped it, it should be the other way round
20:21 jnthn__ SixModelObject papers over that behavior.
20:22 jnthn__ It always unpacks a PMC key and delegates.
20:22 moritz $P0[$S0] calling get_*_keyed_str if it is defined, and falling back to _keyed otherwise
20:22 jnthn__ Even if you declare a override for the PMC vtable, it'll land up in get_*_keyed_str if it's originally come from a foo['bar']
20:25 NotFound Is used from C.
20:26 NotFound It will be complicated to always have to build a key in C usages.
20:27 jnthn__ NotFound: I'd like the op we compile to for foo['bar'] to always call the _str variant.
20:27 jnthn__ And the one for foo[0] to always use the int variant.
20:27 NotFound Me too
20:27 NotFound The int already does.
20:27 jnthn__ That's the semantics I've made SixModelObject emulate.
20:27 jnthn__ ah, I think it may well do, yes.
20:27 whiteknight left #parrot
20:29 NotFound string doesn't and I think num also doesn't
20:30 NotFound String is used a lot more than num, num is probably not important.
20:42 dalek parrot/NotFound/nci_as_string: 9192eb0 | NotFound++ | src/pmc/unmanagedstruct.pmc:
20:42 dalek parrot/NotFound/nci_as_string: bare implementatiion of as_string, returning a null string
20:42 dalek parrot/NotFound/nci_as_string: review: https://github.com/parrot/parrot/commit/9192eb0601
20:47 benabik msg whiteknight I'm getting a segfault in Parrot_pf_subs_by_flag.  It appears that self is NULL.  This is by way of $packfile.view().subs_by_flag('load').  I'm digging into it, but thought you might be able to figure it out faster.
20:47 aloha OK. I'll deliver the message.
20:47 lucian left #parrot
21:06 rdesfo joined #parrot
21:07 dalek TT #2170 created by NotFound++: as_string method to get strings from NCI results
21:07 dalek TT #2170: http://trac.parrot.org/parrot/ticket/2170
21:09 lucian joined #parrot
21:14 AzureStone left #parrot
21:14 AzureSto_ joined #parrot
21:21 benabik msg whiteknight Hm.  It appears I'm generating an invalid packfile.  subs_by_flag still shouldn't segfault I'd think.
21:21 aloha OK. I'll deliver the message.
21:21 rdesfo left #parrot
21:26 lucian left #parrot
21:27 ambs left #parrot
21:29 dalek parrot/NotFound/nci_as_string: 5553bfa | NotFound++ | / (2 files):
21:29 dalek parrot/NotFound/nci_as_string: implement as_string and add a minimal test for it
21:29 dalek parrot/NotFound/nci_as_string: review: https://github.com/parrot/parrot/commit/5553bfaf6e
21:43 Psyche^ joined #parrot
21:47 fperrad left #parrot
21:49 Patterner left #parrot
21:49 Psyche^ is now known as Patterner
22:04 kurahaupo joined #parrot
22:06 dalek parrot/nqp_pct: 4c2c749 | benabik++ | compilers/pct/src/POST/Compiler.pm:
22:06 dalek parrot/nqp_pct: POST::Compiler - use pir::new instead of new()
22:06 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/4c2c74977f
22:06 dalek parrot/nqp_pct: 6f099e3 | benabik++ | compilers/pct/Rules.mak:
22:06 dalek parrot/nqp_pct: PCT: include POST::VanillaAllocator in PAST.pbc
22:06 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/6f099e3ba5
22:06 dalek parrot/nqp_pct: 985baf2 | benabik++ | compilers/pct/src/P (23 files):
22:06 dalek parrot/nqp_pct: Rebootstrap PCT
22:06 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/985baf21d6
22:07 dalek Heuristic branch merge: pushed 40 commits to parrot/nqp_pct by Benabik
22:07 dalek parrot/nqp_pct: 73577f7 | benabik++ | compilers/pct/Rules.mak:
22:07 dalek parrot/nqp_pct: [POST] Compile VanillaAllocator separately
22:07 dalek parrot/nqp_pct:
22:07 dalek parrot/nqp_pct: This had triggered the default .pir.pbc rule, which turns out to be
22:07 dalek parrot/nqp_pct: pretty useless.  (It doesn't wait for $(PARROT) to be built.)
22:07 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/73577f7357
22:08 dalek parrot/nqp_pct: 2053152 | benabik++ | compilers/pct/src/PAST/Compiler.pm:
22:08 dalek parrot/nqp_pct: War on Q:PIR - PAST::Compiler.as_post(Val)
22:08 dalek parrot/nqp_pct:
22:08 dalek parrot/nqp_pct: This needs to generate POST::Val nodes, but converting it as is to NQP
22:08 dalek parrot/nqp_pct: didn't take too long and makes a good starting point.
22:08 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/2053152a5b
22:08 dalek parrot/nqp_pct: 2bfeb7c | benabik++ | / (46 files):
22:08 dalek parrot/nqp_pct: Merge remote-tracking branch 'origin/master' into nqp_pct
22:08 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/2bfeb7c5b0
22:09 dalek parrot/nqp_pct: 43a292a | benabik++ | / (5 files):
22:09 dalek parrot/nqp_pct: Add PAST::NewCompiler
22:09 dalek parrot/nqp_pct:
22:09 dalek parrot/nqp_pct: It compiles to newPOST instead of oldPOST.  Needed because newPOST
22:09 dalek parrot/nqp_pct: doesn't compile to PIR properly.  :-(
22:09 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/43a292aef5
22:09 dalek parrot/nqp_pct: d57244a | benabik++ | / (7 files):
22:09 dalek parrot/nqp_pct: Split POST->PBC from POST->PIR
22:09 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/d57244a9ac
22:09 dalek parrot/nqp_pct: 7082b8f | benabik++ | compilers/pct/src/POST/PBCCompiler.pm:
22:09 dalek parrot/nqp_pct: PBCCompiler - use PackfileView PMC
22:09 dalek parrot/nqp_pct:
22:09 dalek parrot/nqp_pct: whiteknight++ for his hard work on making this sensible
22:09 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/7082b8fdb6
22:09 dalek parrot/nqp_pct: 9949e55 | benabik++ | compilers/pct/src/P (2 files):
22:09 dalek parrot/nqp_pct: PCT::HLLCompiler - Add pbc and newpost stages
22:09 dalek parrot/nqp_pct:
22:09 dalek parrot/nqp_pct: This allows an HLL to easily use PAST::NewCompiler and
22:09 dalek parrot/nqp_pct: POST::PBCCompiler
22:09 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/9949e555c1
22:09 dalek parrot/nqp_pct: 5f2c12a | benabik++ | compilers/pct/src/POST/PBCCompiler.pm:
22:09 dalek parrot/nqp_pct: POST::PBCCompiler - use old method to compile
22:09 dalek parrot/nqp_pct:
22:09 dalek parrot/nqp_pct: Use the code from bacek's PIR::Compiler to generate a PBC file.
22:09 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/5f2c12ac87
22:09 dalek parrot/nqp_pct: f8abf4c | benabik++ | compilers/pct/src/POST/PBCCompiler.pm:
22:09 dalek parrot/nqp_pct: POST::PBCCompiler - Use opcodes, not method calls
22:09 dalek parrot/nqp_pct:
22:10 dalek parrot/nqp_pct: - .push() doesn't always call the push viable
22:10 dalek parrot/nqp_pct: - new() and defined() need pir:: to work
22:10 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/f8abf4c666
22:10 dalek parrot/nqp_pct: ab6d017 | benabik++ | compilers/pct/src/POST/PBCCompiler.pm:
22:10 dalek parrot/nqp_pct: POST - Fix storing sub name in packfile
22:10 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/ab6d017f53
22:10 dalek parrot/nqp_pct: d36426d | benabik++ | t/compilers/pct/newpost.t:
22:10 dalek parrot/nqp_pct: Test POST::PBCCompiler
22:10 dalek parrot/nqp_pct:
22:10 dalek parrot/nqp_pct: This file will allow me to test newPOST one small portion at a time.
22:10 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/d36426dfed
22:10 tadzik ...whoa
22:10 benabik I hadn't pushed in a while.
22:10 benabik Done now.
22:10 benabik (Partially because I've abandoned at least two lines of work along the way.)
22:10 tadzik I'd ++ you, but you may get sick :)
22:11 benabik Well, so far I'm not hugely pleased…  It's generating invalid PBC.
22:11 tadzik that's only one step from valid PBC :)
22:13 benabik No, it's several steps...
22:13 benabik newPOST isn't in the shape I had hoped it was.
22:16 dalek parrot/nqp_pct: f5c3560 | benabik++ | compilers/pct/src/P (25 files):
22:16 dalek parrot/nqp_pct: Re-bootstrap PCT
22:16 dalek parrot/nqp_pct:
22:16 dalek parrot/nqp_pct: Forgot to include the changes from several of the previous commmits.
22:16 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/f5c3560fd9
22:16 dalek parrot/nqp_pct: 0a20e91 | benabik++ | MANIFEST:
22:16 dalek parrot/nqp_pct: Include new test file in MANIFEST
22:16 dalek parrot/nqp_pct: review: https://github.com/parrot/parrot/commit/0a20e912a8
23:15 rdesfo joined #parrot
23:22 rdesfo left #parrot
23:39 dmalcolm left #parrot

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

Parrot | source cross referenced