Parrot 3.4.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today
Set by moderator on 17 May 2011.
00:10 dmalcolm left
benabik My god, it's full of gotos 00:14
sorear suppose I want to have a compiler targetting m0. would that make any sense? 00:17
cotto_work sorear: right now, no. Later after it 00:19
's solidified a bit, sure. 00:20
I think going through PCT to pbc or using the Packfile PMCs will be the preferred route though.
There are still some question marks in that area. 00:21
cotto_work decommutes 00:22
sorear Will there be a M1 runops core, written in/compiled to M0, interpreting ops from PBC segments?
dalek nxed: r1036 | NotFound++ | trunk/t/basic/02hashexpr.t:
test hash value initialized with a function
00:33
00:37 theory left
cotto ~~ 00:50
sorear o/
cotto sorear, M1isn't a specific language or VM as much as it is any layer that sits directly above M0.
I suspect that PIR will be one language that sits at the M1 layer 00:51
sorear Do you imagine a M0ified parrot still having runops functions, sucking our current ~1000 ops from Packfile_Segment structures? 00:53
except, the runops functions being written with M0 and able to use PCC directly?
and maybe a revived JIT runcore, using the M0 representation of ops to build a M0 version of hot subs? 00:54
cotto We'll need to do something to support PIR code. 00:57
dalek nxed: r1037 | NotFound++ | trunk/winxedst0.cpp:
Allow functions in array expressions in stage 0.
01:04
kid51_at_dinner Why is src/ops/core_ops.c in git if it's a generated file? 01:05
01:05 kid51_at_dinner is now known as kid51
cotto kid51, to break the bootstrapping problem 01:08
it's needed to generate itself
NotFound Ah, bootstrap, how many crimes committed in your name... 01:09
dalek nxed: r1038 | NotFound++ | trunk/t/basic/02arrayexpr.t:
test array item initialized with a function
cotto NotFound, not nearly enough 01:10
kid51 In the tt1682 branch, it's giving me problems. 01:12
I will have to edit it: s/substr_str/substr/g -- even though the top of the file warns me *not* to edit it. 01:13
NotFound kid51: no problem: edit it, build parrot, and then regenerate it.
kid51 How do I regenerate it? And then, do I commit the regenerated file? 01:14
NotFound make bootstrap_ops, I think. 01:15
And yes, commit after.
cotto yup 01:16
NotFound Mmmm... not that target, let me look... 01:17
cotto bootstrap-ops 01:18
NotFound Aye 01:19
dalek rrot/tt1682/vtable_substr: 24ec657 | jkeenan++ | src/ops/core_ops.c:
Run make bootstrap-ops.
01:22
kid51 src/ops/core_ops.c is in .gitignore (which forces me to say 'git add -f' to update it), as governed by rule /src/ops/*.c 01:30
Should it be in .gitignore?
cotto kid51, no. That must be a leftover from when it was still generated by perl 01:31
NotFound Not so bad, helps to avoid commiting it by accident. 01:32
cotto it should be committed when there's a change 01:33
kid51 Which, of course, is the *only* time *any* file should be committed -- correct? 01:34
cotto I'm not sure how I'd answer no to that question, so I'll say yes. 01:35
jnthn__ A little optimization if anybody fancies it. Parrot_hll_get_ctx_HLL_type(interp, enum_class_LexPad) is a hot path when a language has a custom LexPad. It's a hotpath because...it has a hash table mapping the type IDs. However, there's only so many built-in types that are overridable, so an array would be cheap and have rather faster lookup. 01:41
A Rakudo profile I'm looking at currently has this function call eating up 3% of runtime. 01:42
And that's with a bunch of other sub-optimal stuff that I've yet to take care of...so it'll be even hotter in the future. 01:43
01:48 preflex left 01:50 preflex joined
cotto jnthn__, thanks. 01:52
01:53 whiteknight left
soh_cah_toa cotto: do i remember you saying it was a bad idea to #include both parrot/api.h and parrot/embed.h? or was parrot/api.h and parrot/parrot.h? it was the api and something else... 01:56
bubaflub NotFound: i've got a Winxed question if you've got some time
NotFound bubaflub: shot
dalek rrot/tt1682/vtable_substr: 13e4396 | jkeenan++ | .gitignore:
src/ops/core_ops.c should not be in .gitnore. It needs to be committed when altered (presumably after running make bootstrap-ops). So we want to be able to say 'git add' rather be forced to say 'git add -f'.
cotto soh_cah_toa, I believe that if you're using api.h, that's all you should be using
bubaflub NotFound: is there a way in Winxed to have multiple constructors for GMP.Integer - for example, a plain init() that just has a blank space, an init(int), and an init(string)? 01:57
NotFound bubaflub: not yet 01:58
bubaflub NotFound: what about a constructor that takes an optional argument, then in the body of the constructor i check the type and handle the logic that way?
NotFound bubaflub: yes, that works. 01:59
dalek rrot: 7084c39 | jkeenan++ | .gitignore:
src/ops/core_ops.c should not be in .gitignore. It needs to be committed when altered (presumably after running make bootstrap-ops). So we want to be able to say 'git add' rather be forced to say 'git add -f'. (Same change as in tt1682/vtable_substr branch.)
soh_cah_toa cotto: hmm...b/c i need to use things like Parrot_pbc_read() and Parrot_compile_file(). i only need them in a static function in frontend/hbdb/main.c though 02:01
cotto: i could call them from a function in src/hbdb.c but it makes more sense as a static function. what do you think?
cotto soh_cah_toa, how does the parrot frontend solve that problem? 02:02
soh_cah_toa shrugs 02:03
NotFound Parrot frontened uses #include "imcc/api.h" 02:04
cotto soh_cah_toa, try tracing through the code. Look for something that mentions "pbc".
soh_cah_toa looks at imcc/api.h 02:05
cotto or better, "bytecode"
sorry, I meant frontend/parrot/main.c
more specifically, load_bytecode_file 02:08
soh_cah_toa cotto: ok, though compilers/imcc/api.c might actually prove helpful
cotto soh_cah_toa, that's possible. Do you intend your debugger to be run on pir code or just pbc files? 02:09
(in the immediate future, not long-term)
soh_cah_toa cotto: well, the main thing is i need to be able to compile a pir file if a pbc file instead specified on the cmd line. that's why i was looking to Parrot_compile_file()
cotto ok
that's sensible
Do you have any burning questions? I'm about to take off. 02:10
NotFound Note that if you want to be able to debug :immediate subs you'll need to take control of the runloop before calling imcc. 02:11
02:12 redicaps joined
soh_cah_toa cotto: nope 02:12
cotto soh_cah_toa, ok. 02:14
02:28 mtk left 02:31 kid51 left 02:37 mtk joined 03:05 [hudnix] left 03:14 theory joined 03:17 preflex left 03:19 preflex joined 04:25 soh_cah_toa left
dalek rrot-gmp: 50d39c5 | bubaflub++ | / (2 files):
refactor gmph2ncidef - use YAML config file for NCI mappings
04:31
rrot-gmp: 1218f7f | bubaflub++ | src/GMP/raw.nci:
NCI definition annotated with convenient function names
rrot-gmp: 40fe931 | bubaflub++ | / (2 files):
refactor gmph2ncidef - move function blacklist to YAML
04:43
04:49 preflex left 04:52 preflex joined 05:13 jsut joined 05:18 jsut_ left
cotto ~~ 06:01
sorear hi 06:03
cotto hi sorear 06:05
06:10 AzureSto_ left
dalek rrot-gmp: f4eae18 | bubaflub++ | / (5 files):
general house cleaning

move templates around add another mapping that we need
06:11
rrot-gmp: 71142e0 | bubaflub++ | gmpdoc2winxed.pl:
first shot at gmpdoc2winxed.pl

throws lots of warnings because the parsing isn't quite right:
   need to handle pointers better
   need to actually follow functions blacklist
   need to replace HTML & and other signs
rrot-gmp: 3642a51 | bubaflub++ | src/GMP.winxed:
first shot at auto-generated GMP.winxed convenience class
rrot-gmp: fe24e44 | bubaflub++ | gmpdoc2winxed.pl:
actually return values from functions
06:21
06:30 fperrad joined 06:34 AzureStone joined
dalek website: bubaflub++ | Parrot-GMP: Yo dawg, heard you like generating code... 06:36
website: www.parrot.org/content/parrot-gmp-y...ating-code
cotto bubaflub++ for putting a thing in a thing
bubaflub cotto: the short version is: I take GMP documentation from Texinfo -> HTML then using a perl script read that HTML and generate Winxed class with POD documentation
cotto all of those are things, so... good show. Carry on. 06:37
bubaflub cotto: hahaha. yeah, a bit insane but it actually worked. hours later i've got my Winxed class with all the proper docs, function names, signatures, parameter checking, and NCI calls. 06:38
cotto: fsvo all
cotto I love getting a minimal thingy running. It's great to see that you're there. 06:39
not that I think you'll be bored 06:41
bubaflub cotto: haha, no i'm not bored. but yes the minimal bit is really nice because before that it wasn't really at a point where I could test it.
goodnight, #parrot 06:48
06:51 bubaflub left
cotto Speaking of minimal things, M0 can now jump between chunks. 06:55
dalek rrot/m0-prototype: d6588c5 | cotto++ | src/m0/perl5/m0_interp.pl:
use an environment variable to enable debugging output
rrot/m0-prototype: 26901c5 | cotto++ | / (2 files):
add goto_chunk tests and fixes to make them pass
cotto coverage is starting to look good 06:57
time for sleep 07:16
dalek rrot/m0-spec: 6e6bf3f | cotto++ | docs/pdds/draft/pdd32_m0.pod:
add a todo, be more specific about sys_free
07:17 benabik left 07:48 mj41 joined 07:51 jjore left 07:52 theory left, jjore_ joined 08:11 mj41 left 08:30 lateau joined 08:34 lateau left 08:46 zby_home left 10:17 mtk left 10:22 redicaps left 10:23 whiteknight joined 10:25 mtk joined 10:52 lucian joined 11:01 JimmyZ joined 12:09 ambs joined
dalek nxed: r1039 | NotFound++ | trunk/winxedst (2 files):
add a four argument version of Error builtin to set payload
12:13
12:23 ligne joined 13:01 fperrad left 13:14 fperrad joined 13:16 kid51 joined
dalek sella/gh-pages: 208ad81 | Whiteknight++ | winxed/ (6 files):
Add updated drafts of each section, as separate files
13:32
sella/gh-pages: 867e29b | Whiteknight++ | winxed/index.md:
set up a proper TOC
sella/gh-pages: de6d6b0 | Whiteknight++ | _layouts/rosella.html:
Add link to the main layout
sella/gh-pages: 6f69195 | Whiteknight++ | / (2 files):
some style fixes
13:35
sella/gh-pages: 8339ece | Whiteknight++ | / (7 files):
a few small misc fixes
13:39
13:39 whiteknight left 13:41 redicaps joined
dalek nxed: r1040 | NotFound++ | trunk/winxed (4 files):
Big change in error handling:

Hardcode the type in the predefined constant __WINXED_ERROR__. Use a payload to store structured information. Emit the error messages in gcc format. Change the way used to pass line and number information to the error functions to simplifiy usages.
13:56
p: 5baa62c | jonathan++ | src/6model/sixmodelobject.c:
Fail in a more helpful way when important stuff is missing in meta-objects.
14:12
14:14 kid51 left, plobsing joined 14:19 hudnix joined
dalek nxed: r1041 | NotFound++ | trunk/winxedst1.winxed:
fix the result of optimization based on a wrong assumption about const Sub
14:38
14:41 JimmyZ_ joined 14:42 preflex left
dalek nxed: r1042 | NotFound++ | trunk/ (3 files):
update installable files
14:43
14:46 preflex joined, JimmyZ left, JimmyZ_ is now known as JimmyZ, bluescreen joined
dalek rrot/with_winxed: 7bd5b4f | dukeleto++ | / (3 files):
Remove last remnants of Parrot_Language and fix docs for Parrot_new_string
14:49
rrot/with_winxed: ee17ddd | cotto++ | src/call/pcc.c:
add experimental fix for a bug found by jnthn++
rrot/with_winxed: 8f7ca28 | cotto++ | src/call/pcc.c:
Merge branch 'invokable-fix'
rrot/with_winxed: bcd1d99 | fperrad++ | t/src/extend_vtable.t:
[t] fix shebang
rrot/with_winxed: e44bbc5 | fperrad++ | t/dynpmc/foo- (10 files):
[t] fix shebang
rrot/with_winxed: 4b43b7c | (Fitz Elliott)++ | examples/languages/squaak/doc/tutorial_episode_1.pod:
[doc] minor fix to squaak tutorial
rrot/with_winxed: 27b401d | cotto++ | examples/languages/squaak/doc/tutorial_episode_1.pod:
Merge pull request #134 from felliott/felliott/tutorial_fixes

  [doc] minor fix to squaak tutorial
rrot/with_winxed: 2438c29 | cotto++ | docs/pdds/pdd19_pir.pod:
make an example in pdd19 less ambiguous
rrot/with_winxed: 88938d0 | soh_cah_toa++ | src/call/pcc.c:
Added missing =cut that was messing up perldoc
rrot/with_winxed: 51ee42f | benabik++ | docs/pdds/pdd19_pir.pod:
PDD 19: Explain :method :multi(_)

I didn't expect :multi to need to add the type of the invocant. So let's add an explanation to the first place I looked for an answer.
rrot/with_winxed: c2e3158 | benabik++ | CREDITS:
Add myself to CREDITS

I like getting credit for things.
rrot/with_winxed: 7084c39 | jkeenan++ | .gitignore:
src/ops/core_ops.c should not be in .gitignore. It needs to be committed when altered (presumably after running make bootstrap-ops). So we want to be able to say 'git add' rather be forced to say 'git add -f'. (Same change as in tt1682/vtable_substr branch.)
rrot/with_winxed: 0fc7777 | NotFound++ | / (20 files):
Merge branch 'master' into with_winxed
NotFound Looks like --no-ff is not such a great idea.
14:51 plobsing_ joined 14:56 plobsing left
dalek rrot/with_winxed: 9b60b69 | NotFound++ | ext/winxed/ (2 files):
upadte winxed snapshot to r1042
14:56
15:11 benabik joined 15:16 pjcj left 15:18 lucian left 15:19 lucian joined 15:20 kid51 joined
kid51 backscrolls and sees self getting credited for commits to branches he's never checked out! 15:22
This never happened with Subversion ;-)
15:24 bubaflub joined 15:46 JimmyZ left 15:50 redicaps left
lucian is there a partial() in parrot/winxed/rosella somewhere? 16:06
bubaflub seen plobsing 16:12
aloha plobsing was last seen in #parrot 1 hours 58 mins ago joining the channel.
16:12 theory joined
plobsing_ o/ 16:13
bubaflub plobsing_: yay. i've got a few NCI questions for ya
plobsing_ okay. 16:15
bubaflub plobsing_: unsigned long int, signed long int, and long int all map to an 'i' type, right?
plobsing_ no. long is 'l' or 'DATATYPE_LONG' 16:16
sizeof (int) != sizeof (long) 16:17
otherwise they wouldn't be separate types
but yes, unsigned types can be mapped to their signed argument equivalents because the standard guarrantees equivalence of storage size (IIRC)
afk - lunch 16:19
dalek p: 401cd85 | jonathan++ | src/ops/nqp.ops:
Missing decontainerize. Unbreaks some type checks in rakudo/nom.
16:42
plobsing_ ~~ 16:50
16:57 ligne left
cotto ~~ 16:58
17:14 atrodo left 17:28 bubaflub left
lucian does winxed have destructuring assignment? like var [a, b] = [1, 2]? 17:34
plobsing_ lucian: that would probably be far to magical for winxed 17:35
lucian plobsing_: it appears not to. but i don't see it as a high-level feature 17:37
NotFound lucian: winxed tries to be light weight, it can't have a special syntax for any purpose. 17:38
lucian shrugs
NotFound Specially if it's only sugar for something already doable.
lucian well, it has sugar for {} and [] 17:39
which is very useful, btw
NotFound lucian: yes, and that's the reason.
plobsing_ if winxed were to support destructuring assign, I'd expect it to cheat by abusing PCC to do it 17:40
17:40 dodathome joined
NotFound No need to cheat, you can do it directly. 17:40
:(var a, var b) = function() { return [1, 2]:flat; }; 17:41
Mmmm... I think I've found a bug related to that. 17:44
Yeah, fixed... 17:54
dalek nxed: r1043 | NotFound++ | trunk/winxedst1.winxed:
multi assign lacked inheritance from Statement, fixed
17:55
NotFound After the fix and fixing that last line, this works: :(var a, var b) = function() { return [1, 2]:[flat]; }();
18:02 klavspr joined
lucian i'm already usinng :(a, b) = function() { return 1, 2;}(); very useful 18:03
dalek p: 13eb661 | pmichaud++ | / (3 files):
Refactor --gen-parrot and Configure.pl a bit more, move git repo

The --gen-parrot argument to Configure.pl now accepts an optional value to be used for 'git checkout'; thus "--gen-parrot=master" will build Parrot from its 'master' branch instead of the one given by tools/build/PARROT_REVISION. Any valid argument to
  "git checkout" can be given to "--gen-parrot". Minimum revision
checks (according to --min-parrot-revision or tools/build/PARROT_REVISION) are still performed.
18:04
p: df3bf99 | pmichaud++ | src/ops/nqp.ops:
Merge branch 'master' of github.com:perl6/nqp
NotFound I think that is the better way, figure what idioms are useful and hard to write enough to merit specialized sugar guided by real world usages.
NotFound So, we need more real world usages ;) 18:05
dalek nxed: r1044 | NotFound++ | trunk/winxedst1.winxed:
diagnose wrong usage of multi assignment
nxed: r1045 | NotFound++ | trunk/pir/winxed_compiler.pir:
update installable compiler
lucian NotFound: yes. i asked about destructuring assignment because i'd find it useful 18:07
of course, others might not 18:08
NotFound lucian: I don't doubt it's usefulness, but I haven't figured a way to do it without special purpose syntax or adding complexity to the language, so the balance is againt it. 18:10
18:11 bubaflub joined
lucian i see 18:11
when using:( ) i found i'd like to be able to declare things as well
so var :(a, b) would be useful, i don't know how much effort that'd be
NotFound lucian: you can do :( var a, var b) 18:12
klavspr Hello, is here anyone who could answer some questions about M0?
lucian NotFound: does that declare them?
NotFound: it'd shorten quite a bit of code
NotFound lucian: yes
lucian thanks 18:13
NotFound And you are not limited to var. 18:14
They are like function parameters, except that there is no implicit var. 18:15
lucian NotFound: hmm, that doesn't seem to work: Method 'isempty' not found for invocant of class 'MultiAssignStatement' 18:16
NotFound lucian: that's the bug I've just fixed.
dalek rrot/with_winxed: e4d1c67 | NotFound++ | ext/winxed/compiler.pir:
update winxed compiler snapshot to fix multi assign bug
18:18
lucian NotFound: ah, ok. nice :)
plobsing_ klavspr: if there were a place for such questions, here would be it
or the mailing list 18:19
lucian also, i hate w/e is preventing me from seeing (correct) winxed line numbers in runtime exceptions
imcc i suspect
plobsing_ imcc's line numbering got worse some time in the last 3/4 of a year 18:20
not sure why.
18:20 kid51 left
cotto klavspr, what's your question? 18:22
The fact that you're asking that gives me a good indicator of what I should do today. 18:28
klavspr I have studied the only doc about M0 out there and i was wondering - why does opcode_t can be any length, but opcode instruction consists of only 4 chars(that means fixed size)?
cotto klavspr, the fixed size instructions are to make dealing with bytecode simpler. opcode_t as it's used in the M0 spec is ill-defined and needs to be tightened. The intent is that it be essentially a union of M0's int, numeric and pointer so that it's big enough to hold any of those types. 18:31
klavspr Cotto, i haven't seen M0 prototype, can you tell me what is the size of opcode_t used there? ( Or it depends on the program being assembled and it is not constant?) 18:36
cotto klavspr, it's in the m0-prototype branch on github. There, it's long. 18:38
klavspr Cotto, is there any reason to assume, that it will change? 18:42
cotto klavspr, if m0 bytecode needs to be portable, opcode_t will need to be large enough to hold a 64-bit pointer. If not, it can be either 32 or 64 bits. 18:45
klavspr Cotto, thanks, now i understand. 18:50
sorear cotto: so on 32-bit platforms M0 numerics will be 'float'?
cotto klavspr, you're welcome. I like it when people ask questions about M0 because it often exposes assumptions I didn't realize I was making. 18:51
sorear, that's an open question. 18:52
18:53 klavspr left, fperrad left 18:56 klavspr joined 18:57 plobsing_ left
lucian dreads implementing scope 18:59
klavspr Cotto, i hope i will not get too annoying. Why are there two mem alloc instructions(gc and sys)? 19:01
cotto klavspr, you're about 150 questions away from annoying. ;) 19:02
sys_alloc is essentially a wrapper around malloc and needs to be freed explicitly. gc_alloc is an interface to the GC, so it takes some flags to indicate special behavior and doesn't need to be explicitly freed. 19:03
19:03 ligne joined
ambs moritz: thanks for merging my changes. can I continue hacking? O:-) 19:04
klavspr Isn't it theoretically possible to implement GC using sys_alloc and sys_free? 19:07
cotto klavspr, theoretically, yes but it'll be a while before we have the GC implemented in M0, if we ever do. 19:08
19:11 klavspr left, klavspr joined
lucian klavspr: if you're curious, JikesRVM is a metacircular vm with several GCs 19:15
klavspr: but cotto is right, it's unlikely parrot will get GCs written in M0 any time soon 19:16
klavspr lucian, in fact i do not know GC in details. Thanks, but i am not currently interested in it. 19:20
19:20 soh_cah_toa joined
soh_cah_toa ~~ 19:21
19:21 pjcj joined
sorear hey soh_cah_toa 19:23
I hear you're having trouble implementing breakpoints and code modification 19:24
soh_cah_toa sorear: howdy
sorear: uh...yeah :(
sorear: right now, i'm having trouble just trying to get the correct line number 19:25
sorear Why?
I want to help
soh_cah_toa sorear: that would be great :)
19:25 klavs joined, klavspr left, klavspr joined, klavspr left
sorear Don't worry about line numbers for now. Break on IP. 19:26
soh_cah_toa sorear: instruction pointer?
sorear yes 19:27
soh_cah_toa sorear: well, i need to find the line number to be able to match what the user entered. how would the instruction pointer help?
sorear soh_cah_toa: tell the user to enter the instruction pointer value 19:28
not the line number
19:28 pjcj left
sorear like b *0x2839339 in gdb 19:28
soh_cah_toa sorear: hmm...that's kinda funky though. rather then just saying "break 3" they'd have to find the address first which is kinda cumbersome 19:29
sorear: i mean, i would like that in the future though
sorear soh_cah_toa: do the possible now, do the impossible later
soh_cah_toa sorear: you're right
cotto +1 19:30
soh_cah_toa sorear: though who would think that the impossible == just retrieving a simple line number ;)
cotto soh_cah_toa, anyone who knows imcc
sorear soh_cah_toa: the people in #perl6 who are seeing syntax errors on line 384294290
soh_cah_toa imcc-- everyday i work on this :) 19:31
sorear: alright, so first i have to figure out how to retrieve the ip. i didn't realize parrot even used special registers like ip 19:32
bubaflub beyond heredocs, what else is causing imcc's misnumbering of lines?
sorear bubaflub: leading spaces and the lack thereof have come up
bubaflub wow. not cool.
sorear soh_cah_toa: try "pbc_disassemble" 19:33
19:33 Patterner left
soh_cah_toa takes a look 19:33
19:35 klavs left, klavs joined
soh_cah_toa 000000000010-000000000028 000023 19:36
help me make sense of this. what do the values in each column represent? i'm guessing the first is the instruction pointer, the one after the hyphen i don't know, and the last is the opcode value?
19:37 pjcj joined
cotto soh_cah_toa, context? 19:38
soh_cah_toa oh right, from pbc_disassemble
actually, no. the last column can't be the opcode value. hmm... 19:39
cotto soh_cah_toa, the output from pbc_disassemble should tell you what those values are. 19:40
NotFound Interesting result of a simple test: a line annotation in a :init sub is enough to fool pir line numbering.
cotto It's like a bad joke 19:41
soh_cah_toa oh yeah, i had to scroll up a bit: "Seq_Op_Num- Relative-PC SrcLn". sequence opcode number? what's that? and relative program counter...relative to what? 19:42
19:43 pjcj left
cotto looks like it's relative to the start of the current code segment 19:46
soh_cah_toa ahh...makes sense 19:47
moritz ambs: feel free... though I'd prefer to merge feature branches (ie one branch per feature) 19:52
soh_cah_toa what about Seq_Op_Num though? the perldoc wasn't that helpful. 19:53
all the numbers are sequential so it obviously isn't the ip. i'll take a look at the source for Parrot_disassemble()
sorear looks to me like #1 counts instructions, #2 counts ip values, and #3 counts nothing useful at alll 19:54
ip values are always relative to some code segment, because we want to be able to garbage collect unused subroutines
note: this doesn't actually work at present
ambs moritz: ok, a new feature now. Will try to get a way to produce a new branch if I need a new feature :) 19:56
soh_cah_toa ah...now i remember. the program counter (pc) is just another term for the instruction pointer (ip). i always mix those up. i like ip better though :) 19:58
20:02 klavs left
bubaflub NotFound: i've got a Winxed question for ya if you've got a moment. 20:05
NotFound bubaflub: go on 20:06
bubaflub NotFound: how do i throw exceptions? right now i'm checking some of the parameters passed into a function to make sure they are instanceof the correct class and i don't think doing "die" is a good idea there.
NotFound bubaflub: the easy wy is to use the builtin Error 20:07
bubaflub NotFound: cool. is there an example handy? 20:08
NotFound throw Error(message, severity, type, payload), only message is mandatory. 20:09
Is just a sort of encapsulated Exception constructor.
bubaflub NotFound: great. thanks. Winxed is definitely making this project much easier.
NotFound For simple cases you can use throw "message", which is the same as die but looks less confusing. 20:11
20:13 whiteknight joined 20:20 dodathome left 20:21 lucian left
whiteknight good afternoon, #parrot 20:22
cotto hio whiteknight 20:23
whiteknight hello cotto.
NotFound++ 20:24
dalek p: 16638bd | pmichaud++ | Configure.pl:
Fix typo in min-parrot-revision handling.
20:27
sorear hello, whiteknight. 20:28
whiteknight hello sorear
20:31 lucian joined
dalek sella/gh-pages: 887395e | Whiteknight++ | _layouts/rosella.html:
Add link to filesystem docs, and rearrange the header a little bit
20:32
sella: fc2c635 | Whiteknight++ | / (20 files):
FileSystem library is now stable
p: e8a1c1f | jonathan++ | src/6model/reprs/P6opaque. (2 files):
Extend P6opaque so it knows how to vivify containers. Should perform rather better doing things this way than Rakudo does with master; no extra lookup cost to objects that don't need the feature (like in NQP).
20:34
bubaflub NotFound: could you help me with another Winxed problem? 20:37
NotFound bubaflub: sure 20:38
bubaflub I'm getting "Could not find sub gmpz_t" even though I'm seeing it both in the Winxed source and the generated PIR. How should I go about figuring out what is wrong? 20:39
NotFound bubaflub: Maybe is in a different namespace? 20:40
bubaflub NotFound: ok, i'm going to try and get a reduced test case here in a sec 20:43
NotFound Good 20:44
dalek rrot-gmp: d8118e2 | bubaflub++ | conf/mappings.yml:
these are in fact 'l' types, plobsing++
20:45
rrot-gmp: eafeb2d | bubaflub++ | gmpdoc2winxed.pl:
now with less bugs!

function blacklist implemented funciton prefix match implemented remove more HTML entites which get generated into unicode skip class functions handle '...' in function parameter fix POD layout
rrot-gmp: 1651e0a | bubaflub++ | src/GMP.winxed:
shiny new output from previous commit
bubaflub NotFound: here is a minimal test case that still gives the "Could not find sub" - gist.github.com/1008345 20:52
NotFound: i had something similar to this working before, i'm not sure what changed
20:53 pjcj joined 20:55 ambs_ joined, ambs left, ambs_ is now known as ambs
NotFound Uh... immediate... let me look... 20:57
bubaflub: drop the "using static" 21:01
lucian NotFound: i think i have a feature request for winxed, but I'm not sure it's possible 21:05
NotFound lucian: just ask, unless you tend to feel hurt by rejections ;)
lucian NotFound: js can do var a = function foo() { }; 21:06
it's still a function literal, but the function gets a name for debugging
do you think that would be possible in winxed?
NotFound The problem is the possible conflict with subs with the same name in the same namespace. 21:08
lucian right 21:09
NotFound I don't have a solution for that problem. 21:10
lucian there could be a namespace just for such literals, but that's a bit of a ahck
NotFound Worse than a hack, hidden namespace will complicate even more scope issues.
lucian nods 21:11
bubaflub NotFound: that worked. plobsing's ZeroMQ bindings had using static and i could have swore that worked for me before. what exactly is the difference?
lucian NotFound: another thing: could winxed only display an error message when compilation fails, instead of a full stack trace for the compiler? 21:12
NotFound: by default that is, with a --debug option that re-enables the full stack trace
NotFound bubaflub: using static was a provisional mean to work around the lack of scope searching. Now scope search is improved, but lool than in the process some usages of using static had been damaged. I'll look at it, but anyway right now is better to not use it. 21:13
bubaflub NotFound: works for me.
NotFound: thanks for lookin' at my code.
NotFound lucian: is doing right now, after r1040 21:14
lucian NotFound: ah, nice :)
NotFound: you have this tendency of reading my mind
NotFound lucian: the reworking of the drivers damaged the error reporting a few weeks ago, got unrepaired too long because of other priorities. 21:15
lucian i see 21:16
NotFound The new way will be stable, I hope.
bubaflub incoming 21:21
dalek rrot-gmp: 8f849a5 | bubaflub++ | src/GMP.winxed (2 files):
fix 'Could not find sub gmpz_t' error, NotFound++

examples/basic.winxed works again
rrot-gmp: eecbfd3 | bubaflub++ | / (2 files):
throw an error instead of dying when we get a bad parameter
21:25 ambs left
cotto bash-- 21:31
NotFound bubaflub: I think the problem was that for that usage 'using static' was unapropiate, 'using' fits better. 21:33
using static loks by name, and does fit very well with :anon ;)
(does not) 21:34
Probably it worked before because the .sub got assigned the name as subid 21:35
bubaflub NotFound: makes sense 21:41
dalek sella/gh-pages: a3d23bd | Whiteknight++ | / (2 files):
some CSS fixes
21:52
23:19 bubaflub left 23:27 lucian left 23:29 lucian joined 23:44 lucian left 23:46 lucian joined, lucian left 23:51 ligne left