|
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
|
|||