Parrot 3.6.0 "P�jaros del Caribe" released | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 1930 UTC
Set by moderator on 19 July 2011.
00:16 rurban_ joined 00:17 bluescreen left 00:19 rurban left, rurban_ is now known as rurban
dalek rrot/whiteknight/imcc_tag: 48d1287 | Whiteknight++ | compilers/imcc/ (7 files):
Add :tag(...) syntax to IMCC. This is just a prototype, but is intended to be a much more flexible replacement for things like :load, :init, and the rest.
00:25
rrot/whiteknight/imcc_tag: 697f144 | Whiteknight++ | compilers/imcc/symreg.c:
Fix typo, reduce segfaults
00:29
00:36 theory left
dalek rrot: 7ad5690 | Whiteknight++ | / (2 files):
Remove Parrot_compreg function, which was not being used. TT #1879
00:39
rrot: ad926f3 | Whiteknight++ | api.yaml:
Update api.yaml
TT #1879 closed by whiteknight++: Deprecate Parrot_compreg 00:53
TT #1879: trac.parrot.org/parrot/ticket/1879
01:25 lucian left
whiteknight msg cotto can you take a look at TT #1324? After some thought, I'm thinking we close it as WONTFIX, but a second opinion would be nice. This ticket is very old, and it might not get fixed anyway. 01:36
aloha OK. I'll deliver the message.
dalek rrot/whiteknight/tt_1910: ea21cbb | Whiteknight++ | / (5 files):
Rip out a bunch of the old embedding API functions, and replace the few uses that were left of them. These uses are mostly in the various frontends. TT #1910
01:39
whiteknight msg plobsing I want to add a :tag("foo","bar") syntax to IMCC to replace the various sub pragmas (:load, :init, etc). I added the syntax in the whiteknight/imcc_tag branch, but can't think of a good way to add it to packfiles. Any ideas? 01:42
aloha OK. I'll deliver the message.
01:46 whiteknight left
cotto ~~ 02:00
02:24 GodFather joined 02:28 GodFather left 03:54 theory joined 05:22 Kulag left 05:23 Kulag joined 05:26 plobsing left 05:30 theory left 05:40 writtencode1 joined 05:43 writtencode left 06:56 daniel-s joined 07:10 dodathome joined 07:27 fperrad joined 07:28 mj41 joined 07:45 mj41 left
cotto incoming? 07:51
dalek rrot/m0-prototype: f1b7342 | cotto++ | t/m0/integration/m0_ashr.m0:
fix ashr test output
rrot/m0-prototype: d45fd62 | cotto++ | src/m0/perl5/m0_ (2 files):
use signed ints in M0 instead of unsigned
rrot/m0-prototype: 1a5749e | cotto++ | src/m0/perl5/m0_interp.pl:
fix ARGC handling and the exit op
rrot/m0-prototype: 863bbaf | cotto++ | src/m0/perl5/m0_assembler.pl:
fix handling of negative constants
rrot/m0-prototype: 8e83444 | cotto++ | src/m0/perl5/m0_interp.pl:
clean up ops output and convert_i_n
rrot/m0-prototype: 7927698 | cotto++ | t/m0/integration/m0_convert_i_n.m0:
fix convert_i_n test
rrot/m0-prototype: 26e37dd | cotto++ | src/m0/perl5/m0_interp.pl:
fix goto_chunk, now down to one failing test
rrot/m0-prototype: 702eb30 | cotto++ | t/m0/integration/m0_hash.m0:
simplify and add debugging output to hashing test
rrot/m0-prototype: f9019ed | cotto++ | src/m0/perl5/m0_interp.pl:
simplify/fix M0 ops; all tests pass
08:00 slavorgn left
dalek rrot/m0-spec: 5b644bd | cotto++ | docs/pdds/draft/pdd32_m0.pod:
move one milestone to the "completed" section
08:02
08:16 rurban_ joined 08:19 rurban left
dalek kudo/nom: 98fed2e | moritz++ | src/core/Str.pm:
implement :overlap in Str.match
08:19
08:19 rurban_ is now known as rurban
kudo/nom: 1123ec5 | moritz++ | / (3 files):
&truncate
08:43 SHODAN joined 09:15 M_o_C joined 09:36 daniel-s left 09:45 contingencyplan joined 10:20 whiteknight joined 10:28 smash left
whiteknight good morning, #parrot 10:30
moritz \\o whiteknight 10:33
whiteknight hello moritz
10:51 contingencyplan left 11:03 lucian joined 11:33 mj41 joined 11:39 NotFound_b joined
NotFound_b lucian: ping 11:40
lucian NotFound_b: pong
NotFound_b lucian: In t/boot.t : Looks like a problem in winxed handling of lexicals, it's confused by the 'using' declaration. 11:41
lucian NotFound_b: oh. should using be inside the closure?
NotFound_b Try putting using Pythons.builtins inside the anon function. 11:42
Aye
lucian no, that's not it 11:43
i get the same exception
it's extremely frustrating not having good tracebacks ...
NotFound_b lucian: just do the call, without the throws_nothing envelope. 11:44
function() { builtins(); } (); 11:45
That must give a clean traceback
lucian bah, not really. it's shorter, but still stops at rosella guts
NotFound_b Try replacing test(class.boot); with var b = new boot; b.builtins_call(); 11:48
11:49 preflex_ joined
lucian right, but gives me no traceback. just "Null PMC access in invoke() " 11:49
NotFound_b Looks like Rosella is doing a good job, but the job is to run the tests, not to diagnose the problems ;) 11:50
lucian sure, it's nice
but i'm still not getting a good traceback into boot.winxed, or wherever the null comes vrom 11:51
11:52 jsut_ joined, preflex left
NotFound_b lucian: bizarre.... try compiling to pir and run it with parrot -t1 11:52
lucian ah, that looks better 11:54
NotFound_b lucian: in Python.builtins you use several things... Are you loading that things somewhere? 11:55
type, object, func...
lucian NotFound_b: it all gets concatenated in builtins.winxed by setup.winxed
the other bits do the same (no explicit loads) and they pass tests 11:56
11:57 jsut left 11:58 Coke left 11:59 Coke joined
NotFound_b lucian: does the trace shows where is the null invoke? 12:02
lucian NotFound_b: gist.github.com/a96bcb9f6c58393b16ba 12:03
i'll make a simpler file to test
12:04 ambs joined
NotFound_b That get_hll_global looks wrong. 12:05
lucian NotFound_b: gist.github.com/a96bcb9f6c58393b16ba 12:06
NotFound_b: here gist.github.com/a96bcb9f6c58393b16ba 12:07
i keep editing it
NotFound_b lucian: looks like using needs several fixes, better avoid it for a now. Use extern declarations instead. 12:08
lucian NotFound_b: nevermind, i'm just an idiot 12:09
completely ignore everything, boot.winxed didn't get concatenated in the file at build 12:10
NotFound_b Oh.
lucian i really should've checked that first
NotFound_b But take care with using anyway, it has some problems. 12:11
lucian i don't like winxed's lack of a module system, and it's parrot's fault
NotFound_b: i'll have a look at extern. any docs?
NotFound_b lucian: I think Rosella is using it now.
lucian ok, i'll have a look 12:12
NotFound_b Just do: namespace Python { extern function builtin; } .... using namespace Python;
A simple example of use is in winxed t/advanced/03extern.t 12:13
lucian ok, that looks nice 12:18
12:30 SHODAN left 12:33 mj41 left 12:41 Coke left 12:45 Coke joined 12:51 plobsing joined
Felipe morning guys 12:52
whiteknight hello Felipe 12:53
12:53 JimmyZ joined
dalek TT #2163 created by whiteknight++: Reconsider IGLOBALS_PBC_LIBS 12:54
TT #2163: trac.parrot.org/parrot/ticket/2163
12:59 soh_cah_toa joined 13:01 soh_cah_toa left, soh_cah_toa joined
soh_cah_toa msg kid51 check your cpan email while at fosscon. i sent you my phone number in case i don't find you in time 13:05
aloha OK. I'll deliver the message.
13:20 soh_cah_toa left 13:24 lucian left 13:44 M_o_C left 13:46 Coke left 13:47 Coke joined, AzureSto_ left
dalek sella/new_load_bytecode: 2168a9a | Whiteknight++ | src/ (8 files):
Add in new functions to manage and initialize bytecode libraries. Use these functions to change the way we load Rosella libraries. Some tests fail, because there isn't any good way to mix+match load_bytecode_p_s and load_bytecode_s with the cache
14:14
14:20 AzureStone joined
pmichaud 23:50 <whiteknight> pmichaud: ping 14:21
whiteknight: pong
whiteknight pong
er, hello!
pmichaud: I merged in a branch yesterday with some new packfile features I think you might enjoy
pmichaud whiteknight: excellent. +1 :) 14:22
whiteknight $P0 = load_bytecode "foo.pbc" \\n $P1 = $P0.'subs_by_flag'("load")
$P1 contains an array of all subs with :load. The 2-arg form of load_bytecode doesn't do any automatic initialization.
pmichaud what flags are available?
whiteknight just "load" and "init" right now 14:23
I started a new branch to try and allow any arbitrary flags, but I'm blocking on making some design decisions
eventually, you'll be able to use arbitrary tags: .sub 'Foo' :tag("foo", "bar", "baz")
the 2-arg load_bytecode doesn't do any caching yet, I need to figure out a way to do that. If you have any ideas, I'd love to hear them 14:25
pmichaud no caching... meaning if you load the same file multiple times you get multiple copies? 14:28
whiteknight in theory. in practice, right now you get exceptions saying that classes already contain methods, namespaces already contain the same functions, etc 14:29
I need to talk to cotto about how to handle that. I opened a ticket looking for feedback
there are a few options for caching to consider
pmichaud you didn't want to duplicate the way the existing load_bytecode handles it? 14:30
(that's okay, just curious)
whiteknight can't really, because existing load_bytecode doesn't store the packfile pmc in the cache, just the path name 14:32
I can duplicate the mechanism with a second cache
or, I can repurpose the existing cache
it's just a matter of deciding what to do
pmichaud I can argue it either way (cache versus no-cache) 14:33
14:33 nbezzala joined
whiteknight Anyway, I wanted to let you know that the basics of the feature were in, and I'm looking for feedback to complete it all 14:33
Whatever path we choose, it will probably be in place in a day or two 14:34
pmichaud sounds good. Given the impending nom updates, we'll likely be stuck on the 3.6.0 release for a few weeks
whiteknight :tag() syntax could possibly be in as early as 3.7, if I figure out how to do it
that's fine. I know you wanted these kinds of things, so I'm going to work on them whether you're ready or not :) 14:35
pmichaud +1
dukeleto Passing tests from openbsd sparc64: smolder.parrot.org/app/projects/rep...ails/18664 14:44
whiteknight dukeleto++ 14:45
moderator Parrot 3.6.0 "Pájaros del Caribe" released | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 19:30 UTC 15:46
16:04 plobsing left
whiteknight HAHA! 16:06
gist.github.com/1101588 16:08
This :tag syntax is moving along *much* more easily than I anticipated
dalek rrot/whiteknight/imcc_tag: e93f06e | Whiteknight++ | / (2 files):
Add in a mechanism for storing pmc->string mappings, to be used for tags, in PackFile_ConstTable. Does not serialize, yet
16:09
rrot/whiteknight/imcc_tag: 9a78722 | Whiteknight++ | src/packfile/ (2 files):
Add code to serialize tags in the const table
rrot/whiteknight/imcc_tag: e663a9b | Whiteknight++ | / (4 files):
Fix several bugs, and get a small example program working correctly
rrot/whiteknight/imcc_tag: f63f200 | Whiteknight++ | src/packfile/segments.c:
Fix serialization, so we can fetch tagged subs from a PBC
16:13
whiteknight Everybody, I want you to give a big hug and kiss to :load and :init flags. They're going away and never coming back
dukeleto lulz 16:16
16:18 rurban_ joined
Felipe lol 16:20
16:21 rurban left, rurban_ is now known as rurban 16:43 JimmyZ left
dalek rrot: d4166d2 | Whiteknight++ | compilers/imcc/pbc.c:
Remove TODO note, and use STRINGNULL instead of creating a new empty STRING every time we have a non-method sub
16:59
dukeleto realizes he is giving a talk about PL/Perl6 tomorrow. 17:03
really wish it came even close to compiling on a recent Parrot 17:04
dalek rrot: 166738c | Whiteknight++ | compilers/imcc/pbc.c:
Remove two TODO notes that are useless
17:08
cotto ~~ 17:09
17:12 theory joined
whiteknight cotto! 17:15
gist.github.com/1101588 17:16
cotto whiteknight++ 17:18
cotto is trying to wrap his head around #1324
17:20 nbezzala left
whiteknight IMCC is crappy and non-reentrant, especially not at certain times 17:20
:immediate happens to be one of those "especially" times
cotto I'm trying to figure out the finer points of the difference between :postcomp and :immediate, as it seems you want to make them mostly do the same thing. 17:21
whiteknight :immediate supposedly executes as soon as the function is compiled, and its entry in the constants table is replaced by the result, if any 17:22
:postcomp executes all at once, when imcc is finished compiling. The results are not stored in the constants table
cotto so you want to make :immediate run after compilation but still replace its entry in the constants table with its result? 17:23
whiteknight cotto: add to your queue, I could use some direction for TT #2163
cotto: no. Not necessarily (although if we could it would make a lot of ugly code go away 17:24
in that ticket, all I'm proposing is that we disallow calling load_bytecode from inside an :immediate sub
17:33 kid51 joined
cotto whiteknight, wfm. 17:33
kid51 at fosscon, along with pmichaud, soh_cah_toa, rblackwe 17:34
Felipe cool
17:34 theory left
whiteknight kid51: I 17:36
'm extremely envious
kid51 Not cool. Hot. Very hot. mid-nineties F here. No A/C. Two big fans 17:37
whiteknight: r u closing?
cotto whiteknight, once you have a house you can have Parrot people there.
whiteknight cotto: of course!
kid51: packing. 17:38
kid51 Atlantic Northeast Parrot Developers Gathering in whiteknight's backyard
whiteknight well, at the moment my wife is napping. But after that we pack
kid1: more likely than you think
cotto PDS/bbq
kid51 Am in MJD's talk. Chose this over pmichaud 'cause I haven't seen MJD in 5 years and I owe my career to him 17:39
MJD entertaining as usual, but this talk is essentially an intro-to-git talk
cotto WANT
kid51 pmichaud reports nom will become master in rakudo in about a week. 17:40
nom becomes basis of rakudo before YAPC::EU
predicts big speedup 17:41
cotto I don't know if "predicts" would be the right word, given that he's already posted numbers on his blog. ;) 17:42
whiteknight, having a library change after we've loaded it is a case we need to support, but not one that we should assume is the default. 17:47
Concerning the question of whether we want to keep IGLOBALS_PBC_LIBS at all, I'd have to see or figure out the use cases. 17:48
(looking at 2163) 17:49
If nothing else, it seems like it'd make debugging easier to have a canonical reference of which libraries have been loaded. 17:50
kid51 whiteknight: did you merge pbc_pbc? 17:51
cotto kid51, he asked for feedback. It's a good change. 17:54
kid51 I'm just noticing how many files came down with my git pull
mjd done, rblackwe up 17:58
18:09 soh_cah_toa joined 18:10 jsut joined
cotto soh_cah_toa, now you know why variadic ops are not your friend 18:12
(finally reading your blog post) 18:13
soh_cah_toa i don't remember what i said
cotto soh_cah_toa, any plans for another post
?
pbc disassembly is a mess 18:14
soh_cah_toa oh ha! yeah, it's horrible
well yeah but i don't really have anything to write about
cotto "still alive" works 18:15
18:15 jsut_ left
soh_cah_toa pfff...barely 18:17
gotta save battery for kid51's talk 18:18
18:18 soh_cah_toa left, Kulag left 18:19 Kulag joined 18:28 contingencyplan joined 18:44 lucian joined 18:46 SHODAN joined 18:47 kid51 left
whiteknight kid51: I did merge the whiteknight/pbc_pbc branch yesterday 18:47
kid51: I'm already on to the next branch
it's absurdly hot again today
looking at IMCC source code always makes me angry 19:03
19:04 contingencyplan left 19:07 contingencyplan joined 19:09 jsut_ joined 19:10 lucian left 19:11 lucian joined 19:14 jsut left 19:31 cosimo left 19:36 cosimo joined 19:49 frodwith_ joined 19:50 frodwith left, frodwith_ is now known as frodwith 19:54 soh_cah_toa joined
soh_cah_toa kid51's talk starts in about 5 minutes. so if there are questions that neither of us can answer, i'll be asking them here 19:55
19:58 Drossel joined, simcop2387_ joined 19:59 marc_ joined, jnthn__ joined, TonyC_ joined 20:00 eqhmcow_ joined, jsut joined 20:01 lucian left, jsut_ left, Kulag left, AzureStone left, NotFound_b left, whiteknight left, simcop2387 left, jnthn_ left, pbaker1 left, Khisanth left, TonyC left, marc left, eqhmcow left, cotto_work left, tadzik left, simcop2387_ is now known as simcop2387 20:06 lucian joined, AzureStone joined, whiteknight joined, pbaker1 joined, Khisanth joined, cotto_work joined, tadzik joined
whiteknight ETOOLITTLENETSPLIT 20:06
20:12 simcop2387_ joined 20:13 jsut_ joined, particle1 joined 20:14 simcop2387 left, simcop2387_ is now known as simcop2387
soh_cah_toa whiteknight: how would you describe parrot's support for threads? 20:15
whiteknight "poor, but optimistic"
soh_cah_toa can different language implementations share threads? 20:16
20:16 particle left
whiteknight depending on future designs of the subsystem, yes 20:17
it is a goal
20:17 andrew joined
soh_cah_toa ok 20:17
20:18 jsut left, SHODAN left
whiteknight lucian: ping 20:22
lucian whiteknight: pong 20:23
whiteknight lucian: I'm going to murderlize that "syntax error .... somewhere" message. You were the most recent one to encounter it. Do you know how to reproduce it?
lucian whiteknight: hmm, not at hand. i'm not sure what triggers it 20:24
i could go back through commits and try running files
whiteknight meh, it's no big deal. I was hoping we could come up with a test case quickly
I'll type up some PIR garbage and see if I can coax it out 20:25
cotto a wild optometrist appears 20:30
optometrist used "dilate pupils"
It's super effective 20:31
cotto is blinded
whiteknight ouch
cotto ;)
20:33 dodathome left
cotto It's nice to know my eyes are healthy. 20:33
whiteknight since you're having trouble seeing, I'LL YELL EVERYTHING REALLY LOUD
cotto THANKS I'M SURE THAT WILL HELP AND TOTALLY NOT ANNOY EVERYONE 20:34
or I could use a larger font
whiteknight I KNOW RIGHT?
whatever
cotto BUT THIS IS MORE FUN 20:35
whiteknight font sizes are lame. capslock is cruise-control for awesome 20:36
lucian I'M SORRY, WHAT?
cotto THIS MAY ALSO HAVE A DELETERIOUS EFFECT ON MY COMMITS
whiteknight it's okay, I'm committing enough for everybody 20:37
cotto srsly
20:41 andrew is now known as andrew12
andrew12 i'm having fun just watching this room. 20:42
soh_cah_toa are there any examples of parrot being embedded in anything besides postgresql?
cotto hi andrew12
are you at fosscon?
andrew12 yes
the 15 year old with the macbook pro 20:43
cotto I'm not. ;[
andrew12 o
20:44 soh_cah_toa left
whiteknight where did soh_cah_toa goa? 20:45
cotto "battery dying"
whiteknight We have Parrot embedded in PL/Parrot and PL/Perl6, but those aren't working right now 20:46
Parrot is embedded in itself. The parrot executable frontend embeds libparrot
so that's an example that's well-tested 20:47
dalek rrot: 05b0911 | Whiteknight++ | compilers/imcc/imc (2 files):
Add in a new function to try and make better IMCC error messages. Dump whatever information we can get our hands on into the message, and hope it's enough. Or too much. or not enough.
20:53
Felipe whiteknight: when you're in IMCC.. what about trac.parrot.org/parrot/ticket/2158 ? 20:55
whiteknight Felipe: Wasn't that in the pull request last week? 20:56
Felipe nop
whiteknight do you have a new pull request? 20:58
Felipe no
whiteknight put a pull request together and I'll merge it 21:17
21:20 NotFound_b joined
whiteknight yay! Parrot-dev just won the UK lottery. Again 21:20
we've been informed that our email was selected at random
whiteknight is going to dinner. Will be back online later, probably 21:22
21:22 whiteknight left 21:27 ambs left 21:38 perlite_ joined 21:40 fperrad left 21:41 perlite left, perlite_ is now known as perlite 21:43 Psyche^ joined 21:48 Patterner left, Psyche^ is now known as Patterner 21:57 lucian_ joined 21:58 lucian_ left 22:01 lucian left
cotto dukeleto, you around? 22:03
22:14 ka7 joined 22:16 Drossel left 22:23 ka7 left 22:25 Kulag joined 22:35 Kulag left 22:36 Kulag joined 22:45 Drossel joined 22:46 Kulag left
dalek rrot/m0-prototype: b844546 | cotto++ | src/m0/perl5/m0_ (2 files):
bitwise not isn't necessary if you know how big a word is
22:52
rrot/m0-prototype: d605e93 | cotto++ | src/m0/perl5/m0_assembler.pl:
fix op numbering in assembler
rrot/m0-prototype: 4d0460e | cotto++ | t/m0/ (2 files):
fix tests after "not" op removal
22:52 whiteknight joined
dalek rrot/m0-spec: cc54088 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
use int32 instead of uint32 for all values

Using uint32 for everything meant that negative numbers were not available by default. int32 for all values means that there's no need to think about how to convert values from bytecode. There are some places where negative values can exist that don't make sense (e.g. sizes), but watching for those is a straightforward validation issue.
22:57
23:08 plobsing joined
whiteknight cotto: I don't think I saw a straight answer earlier, what should I do about the load_bytecode_p_s cache? 23:09
new cache? Repurpose the old cache? No cache?
I'm leaning towards doing a new cache so we can have a smoother transition 23:21
plobsing: ping
cotto whiteknight, if there's a good use case for the cache, a new one makes sense. If not, none makes seness. 23:30
*senes
23:33 benabik_ joined 23:34 preflex joined 23:37 benabik left, benabik_ is now known as benabik, preflex_ left 23:59 whiteknight left