|
Parrot 3.0.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: Fix ipv6-related failures | Test imcc_interfaces and annotations-tree branches Set by moderator on 31 January 2011. |
|||
|
00:06
shockwave left
00:20
lucian left
|
|||
| dukeleto | plobsing: thanks for the heads up about that | 00:20 | |
| shockwave: i agree with you | 00:33 | ||
| shockwave: i think you are the first person to create an app that calls into Parrot so often | 00:34 | ||
| shockwave: so perhaps the GC defaults are not in your favor | |||
| shockwave: which version of parrot are you using? | |||
|
00:38
lucian joined
|
|||
| dukeleto | one OSCON proposal down. Two more to go. | 00:51 | |
|
00:54
lucian left
|
|||
| whiteknight | plobsing++ on the ohm-eta release | 00:55 | |
|
00:55
lucian joined
|
|||
| whiteknight really needs to get cracking on PLA and ParrotSharp releases soon | 00:56 | ||
|
01:01
Coke left
01:24
lucian left
|
|||
| dalek | TT #165 closed by pmichaud++: Disable perl6-internals@perl.org mailing list. | 02:04 | |
| TT #165: trac.parrot.org/parrot/ticket/165 | |||
| sorear | if calling a method 30 times per second is bogging down Parrot, something is seriously wrong, or he's trying to run it on a PC/XT | 02:27 | |
|
02:28
kid51 joined
|
|||
| dalek | rrotsharp: 060ae04 | Whiteknight++ | src/P (9 files): cleanups, region/endregion organizations, some TODO notes |
02:32 | |
| rrotsharp: bbd7d5c | Whiteknight++ | / (9 files): fix everything so we build again |
|||
|
02:33
whiteknight left
|
|||
| dalek | rrot/tt1988_pmcemitter: 6a4fdb9 | jkeenan++ | / (6 files): Update copyright date on files with revisions. |
02:44 | |
| website: jkeenan++ | Feedback on Jan 29 2011 Parrot Developers Summit: Were Users' Needs Served? | 03:15 | ||
| website: www.parrot.org/content/feedback-jan...eds-served | |||
|
03:22
shockwave joined
|
|||
| dalek | rrot: 24a57a3 | jkeenan++ | docs/project/release_manager_guide.pod: Clarify: perl6-internals list is inactive; do not mail release notice there. |
03:27 | |
| shockwave | I'm trying to make use of some VTABLE functions. I have to hack their usage a little because I'm making use of the new Parrot_api_* functions, which unfortunately is still young and thus lacking many functions. | 03:55 | |
| I'm getting a link error: unresolved external symbol _PMCNULL | |||
| I've searched for this _PMCNULL in the parrot codebase, but have not been able to find it. | 03:56 | ||
| Does anyone know what this is? | |||
| sorear | try looking for PMCNULL instead | ||
| (are you on some version of windows?) | 03:57 | ||
|
03:57
kid51 left
|
|||
| shockwave | Yes, I'm on Windows 7. | 03:58 | |
| I've found PMCNULL all over the place. | |||
| cotto | kid51++ for deleting unneeded code | 04:19 | |
|
05:10
allison left
05:11
allison joined
05:54
particle joined
05:57
theory left
06:00
rurban_ joined
06:05
rurban left,
rurban_ is now known as rurban
|
|||
| bacek_at_work | msg kid51 Can you look at Pmc2c::Method and ::MethodEmitter? It's same problem as PMC/PMCEmitter. | 06:10 | |
| aloha | OK. I'll deliver the message. | ||
| bacek_at_work | cotto, can you make "architectural decision" on trac.parrot.org/parrot/ticket/774 ? | 06:14 | |
| cotto | looking | 06:17 | |
| bacek_at_work, if there's on hll that depends on it, I'll rip it out with great glee | 06:18 | ||
| I don't like that misfeature. | |||
| bacek_at_work thinking about resurrecting 2 years old branch :) | |||
| cotto | bacek_at_work, which one? | 06:19 | |
| bacek_at_work | cotto, actually we can reintroduce it on top of 6model (I think). But with role composition. | ||
| Tene regularly thinks about resurrecting 1.5 years old branch | |||
| bacek_at_work | cotto, pmc_pct :) | ||
| cotto | bacek_at_work, yes. That's a proper way to do it. | ||
| I hate it because it's not even clear that it's an intended feature. | 06:20 | ||
| A proper implementation is fine. | |||
| The only condition I have for # 774 is that Lua work without it. I know that partcl was already fixed. | 06:24 | ||
| bacek_at_work | cotto, in Lua only single pmc uses multiple inheritance. | ||
| LuaFunction | |||
| cotto | How easy is it update? | ||
| bacek_at_work | no idea... | ||
| cotto | ok | ||
| let me take a quick look | |||
| bacek_at_work | "copy paste" according to fperrad. | 06:25 | |
| cotto | It's times like this that the old static vtables were nice. | 06:33 | |
| bacek_at_work | somethink like this | 06:34 | |
| plobsing | luaany feels very role-ish. no attributes and vtables that provide default implementations unless they are overriden in concrete instances. | 06:36 | |
|
06:56
fperrad joined
|
|||
| cotto | speaking of lua | 06:57 | |
| fperrad, how much copy/pasting would be required to make LuaFunction not depend on pmc multiple inheritance? | 07:03 | ||
| I see 15 functions that it inherits from Sub, but I don't know how necessary they are. | 07:04 | ||
| nopaste | "cotto" at 192.168.1.3 pasted "list of VTABLE functions in LuaFunction that are inherited from Sub" (16 lines) at nopaste.snit.ch/30744 | 07:09 | |
| bacek_at_work | cotto, for PCC it needed only .invoke afaik. | 07:10 | |
| So, can be changed from is-a to has-a | |||
| afk # going home | 07:12 | ||
| plobsing | need freeze/thaw/visit for serialization to bytecode | 07:21 | |
| fperrad | cotto, the current implementation of LuaFunction is always synchro with Parrot (without effort), | 07:37 | |
| so, I don't like the idea of copy/paste | |||
| the bacek's idea (ie. delegation) is better | |||
| cotto | fperrad, something like calling Parrot_Sub_invoke in LuaFunction.invoke? | 07:44 | |
| bacek | cotto, ATTR PMC *sub; LuaFunction.invoke() { GET_ATTR_sub(sub); VTABLE_invoke(sub) } | 07:47 | |
| cotto | ok | ||
| It | |||
| It's up to fperrad what he'd like to do, of course. | 07:48 | ||
|
07:50
mikehh left
08:38
cosimo left
|
|||
| dalek | rrot/generational_gc: f57f392 | bacek++ | include/parrot/pobj.h: Add need_write_barrier_flag and standard flags setters |
09:54 | |
| rrot/generational_gc: 63c685d | bacek++ | src/gc/gc_gms.c: Use PObj flag 'accessors' |
|||
| rrot/generational_gc: 15641e4 | bacek++ | include/parrot/gc_api.h: Add GC_WRITE_BARRIER macro. |
|||
| rrot/generational_gc: 30c2e12 | bacek++ | / (3 files): Use GC_WRITE_BARRIER macro and set need_write_barrier flag in GMS. |
|||
| rrot/generational_gc: 1959d92 | bacek++ | src/ (4 files): Use GC_WRITE_BARRIER macro |
|||
| rrot/generational_gc: be32682 | bacek++ | lib/Parrot/Pmc2c/ (3 files): Always generate write_barrier for VTABLE. Reason for it next: 1. Aggregate PMC in Gen0. 2. We invoke write_barrier(PMC). Which is ignored. 3. VTABLE_foo() allocate new PMC. 4. Aggregate PMC moved into Gen1. 5. Content of PMC gets updated without triggering write barrier. To avoid it we store result of original VTABLE and invoke write_barrier after. |
|||
| rrot/generational_gc: e54611c | bacek++ | src/ (2 files): Switch GMS to use 'always-write-barriered-vtables' logic without WB variant vtable |
|||
|
09:56
lucian joined
|
|||
| bacek | rakudo; my @arr; say @arr[-1] | 09:58 | |
| rakudo: my @arr; say @arr[-1] | |||
| p6eval | rakudo 989883: ( no output ) | ||
| bacek | erm... | ||
| rakudo: my @arr = <foo bar baz>; say @arr[-1] | |||
| p6eval | rakudo 989883: ( no output ) | ||
| bacek | seen moritz | ||
| aloha | moritz was last seen in #parrot 2 days 13 hours ago saying "5! in math would be factorial of 5". | ||
| moritz | . | 09:59 | |
| bacek | or here :) | ||
| moritz, should @arr[-1] dies? | |||
| moritz | yes | ||
| bacek | eval_dies_ok '@arr[-1]', "readonly accessing [-1] of normal array is compile-time error"; | ||
| tadzik | rakudo: my @a = 1, 2, 3; say @a[*-1] | ||
| p6eval | rakudo 989883: OUTPUTĀ«3ā¤Ā» | ||
| bacek | (from S02/array) | 10:00 | |
| rakudo: my @arr = <foo bar baz>; my $i = -1; say @arr[$i] | |||
| p6eval | rakudo 989883: ( no output ) | ||
| bacek | hmmm... | ||
| moritz | it probably fail()s | ||
| tadzik | bacek: what's the problem? | ||
| bacek | tadzik, testing Rakudo on gen_gc | ||
| tadzik | I see | ||
| bacek | not ok 72 - readonly accessing [-1] of normal array is compile-time error | ||
| moritz | rakudo: try { <foo bar>[-1]; CATCH { say "OH NOEZ!" } } | 10:01 | |
| p6eval | rakudo 989883: ( no output ) | ||
| bacek | it's what I'm trying to find out.. | ||
| rakudo: try { <foo bar>[-1]; CATCH { say "OH NOEZ!" } }; say "Bang-bang" | |||
| p6eval | rakudo 989883: OUTPUTĀ«Bang-bangā¤Ā» | ||
| bacek | it's just fail silently... | ||
| moritz | that's another long standing bug in rakudo | 10:02 | |
| bacek | but test isn't fudged.... | ||
| moritz | it certainly isn't compile time as it should | ||
| std: <a b>[-1] | |||
| p6eval | std 625303c: OUTPUTĀ«[31m===[0mSORRY![31m===[0mā¤Unsupported use of [-1] subscript to access from end of array; in Perl 6 please use [*-1] at /tmp/0R_nN13ZNe line 1:ā¤------> [32m<a b>[-1][33mā[31m<EOL>[0mā¤Parse failedā¤FAILED 00:01 119mā¤Ā» | ||
| bacek | Looks like exception handling is broken in recent parrot. | 10:03 | |
| rakudo: try { die "horribly"; CATCH { say "NOOOOO" } } | 10:05 | ||
| p6eval | rakudo 989883: OUTPUTĀ«NOOOOOā¤Ā» | ||
| bacek | hmm... | ||
| Something _is_ broken | |||
| rakudo: try { my $i = -1; <foo bar>[$i]; CATCH { say "NOOOOO" } } | 10:06 | ||
| p6eval | rakudo 989883: ( no output ) | ||
| bacek | indeed. | ||
| This should emit runtime error | |||
| rakudo: my @arr[8]; | 10:07 | ||
| p6eval | rakudo 989883: ( no output ) | ||
| bacek | rakudo: my @arr.[8]; | ||
| p6eval | rakudo 989883: OUTPUTĀ«===SORRY!===ā¤Confused at line 22, near "my @arr.[8"ā¤Ā» | ||
| bacek | oookey | ||
|
10:07
Kulag left
|
|||
| bacek | rakudo: use Test; plan *; eval_dies_ok('my @arr.[8];'); done_testing | 10:07 | |
| p6eval | rakudo 989883: OUTPUTĀ«ok 1 - ā¤done_testing() has been renamed to done(), please change your test code⤠in 'Test::done_testing' at line 243:Test.pm⤠in main program body at line 22:/tmp/TCwLh87d4Bā¤Ā» | ||
| bacek | rakudo: use Test; plan *; eval_dies_ok('my @arr.[8];'); done; | 10:08 | |
| p6eval | rakudo 989883: OUTPUTĀ«ok 1 - ā¤1..1ā¤Ā» | ||
|
10:09
Kulag joined
10:10
mikehh joined
10:11
dip joined
10:18
Kulag left,
Kulag joined
|
|||
| dalek | rrot/generational_gc: 6c5b416 | bacek++ | src/ (10 files): Use more GC_WRITE_BARRIER macros |
10:19 | |
|
10:31
lucian left
|
|||
| dalek | rrot/generational_gc: c885727 | bacek++ | include/parrot/gc_api.h: Change mark macros to master version. We don't need these hacks anymore. |
10:33 | |
| rrot/generational_gc: ff2b207 | bacek++ | lib/Parrot/Pmc2c/PCCMETHOD.pm: Drop write_barrier before PCCMETHOD. If object is in GenN where N is greater than 0 it's write-barriered already. |
|||
| rrot/generational_gc: 7a577bc | bacek++ | src/gc/api.c: Undisable old shortcut. |
|||
| rrot/generational_gc: 0af820b | bacek++ | src/call/args.c: Restore master version of pcc_merge_signature_for_tailcall |
|||
|
10:35
fperrad left
10:38
fperrad joined
|
|||
| bacek | seen jnthn | 10:40 | |
| aloha | jnthn was last seen in #perl6 11 hours 17 mins ago saying "sleep &". | ||
|
10:46
Themeruta joined,
NotFound left
|
|||
| mikehh | bacek: how's generational_gc goin' | 10:53 | |
| bacek | mikehh, pretty good actually. | ||
| will probably call for help from rakudo land. | 10:54 | ||
| mikehh | bacek: ready for testin' | ||
| bacek | And testing on something different from linux/i386 always welcome :) | ||
| mikehh | I can test on amd64 later | ||
| bacek | mikehh, excellent! | 10:56 | |
| dalek | rrot/generational_gc: b57cc9e | bacek++ | src/gc/gc_gms.c: Remove now unused swap_vtable function. |
||
| rrot/generational_gc: e9da989 | bacek++ | lib/Parrot/Pmc2c/PMC/WB.pm: Don't touch wb_variant_vtable. It's not used anymore |
|||
| rrot/generational_gc: 3da3aa9 | bacek++ | src/pmc (2 files): Don't touch wb_variant_vtable. It's not used anymore |
|||
| rrot/generational_gc: 1b7e332 | bacek++ | lib/Parrot/ (4 files): Get rid of generating wb_variant_vtable |
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#7977) fulltest) at 3_0_0-475-g24a57a3 - Ubuntu 10.10 i386 (g++-4.5) | 10:59 | |
| dalek | rrot/generational_gc: f2d574b | bacek++ | t/pmc/namespace.t: Fix test after removing wb_variant_vtable |
11:00 | |
| rrot/generational_gc: ae60ed4 | bacek++ | src/ (2 files): Remove old hacks for wb vtables |
|||
| rrot/generational_gc: 2ad2e10 | bacek++ | src/pmc/scheduler.pmc: Align with master |
|||
| bacek | mikehh, fixing c++ build will also help | ||
| (If it's broken) | |||
| dalek | rrot/generational_gc: 9f8e952 | bacek++ | config/gen/makefiles/root.in: Fix gc_gms dependencies. |
11:04 | |
| rrot/generational_gc: 7cbe8a2 | bacek++ | src/pmc/class.pmc: Align with master. |
11:10 | ||
| bacek | aloha, (30-26)/30*100 | 11:19 | |
| aloha | bacek: 13.3333333333333 | ||
| bacek | hmm... Only 13% faster... | 11:20 | |
| moritz | what is 13% faster? | ||
| bacek | gen_gc | ||
| moritz | yes, but on what benchmark? | ||
| bacek | make test in rakudo | ||
| And I will loose some performance after implementing "STRING" part properly. | 11:21 | ||
| Sigh. | |||
| nopaste | "bacek" at 192.168.1.3 pasted "gc test in rakudo. Looks about all right :)" (38 lines) at nopaste.snit.ch/30745 | 11:26 | |
| bacek | moritz, check nopaste :) | ||
| tadzik | not bad! | 11:38 | |
|
11:44
Drossel joined
11:46
Kulag left
|
|||
| bacek | aloha, log10(100) | 11:51 | |
| bah... stupid girl... | |||
| moritz, ping | 12:27 | ||
| dalek | rrot/generational_gc: 5b175bb | bacek++ | src/vtable.tbl: Mark .init* functions with :write. During initilization of PMC we can trigger GC. In this case we have to put freshly allocated PMC into dirty_list to preserve old-to-young pointers. |
12:30 | |
| moritz | bacek: pong | 12:32 | |
| bacek | moritz, I'm trying to find TimToady's "Turtle test" which shows GC pauses. | 12:33 | |
| One on rosettacode doesn't work. | |||
| moritz | it should | ||
| bacek | It fails with "Method 'invert' not found for invocant of class '' | 12:34 | |
| On line my @num-to-dir = Dir.invert.sortĀ».value; | |||
| (On rakudo HEAD + parrot master HEAD) | |||
| rakudo: enum Dir < north northeast east southeast south southwest west northwest >; my @num-to-dir = Dir.invert.sortĀ».value; say @num-to-dir; | 12:35 | ||
| p6eval | rakudo 989883: OUTPUTĀ«Method 'invert' not found for invocant of class ''⤠in main program body at line 22:/tmp/m4exPkeLUAā¤Ā» | ||
| bacek | yes | ||
| this one | |||
| Any ideas why it's broken? | 12:36 | ||
| moritz | because it's not being tested | ||
|
12:36
bluescreen joined
|
|||
| bacek | fair enough :) | 12:36 | |
| moritz | rakudo: enum Dir < north northeast east>; say Dir ~~ EnumMap | ||
| p6eval | rakudo 989883: OUTPUTĀ«Bool::Falseā¤Ā» | ||
| moritz | that's why, it seems | ||
| bacek | erm... I don't quite understand | 12:37 | |
| Especially I don't understand how to fix it... | 12:38 | ||
| moritz | might be an easy fix in src/glue/enum.pm | 12:39 | |
| lemme try (now compiling for 20 minutes... ) | |||
| bacek | moritz, ok, thanks | ||
| moritz | rakudo: enum Dir < north northeast east>; say Dir.values.invert | 12:40 | |
| p6eval | rakudo 989883: OUTPUTĀ«Method 'invert' not found for invocant of class 'List'⤠in main program body at line 22:/tmp/Rna4q0T900ā¤Ā» | 12:41 | |
| moritz | rakudo: enum Dir < north northeast east>; say Dir.values.hash.invert | ||
| p6eval | rakudo 989883: OUTPUTĀ«Odd number of elements found where hash expected⤠in '!STORE' at line 5254:CORE.setting⤠in 'List::hash' at line 2937:CORE.setting⤠in main program body at line 22:/tmp/awkX5G1Skeā¤Ā» | ||
| bacek | rakudo: enum Dir < north northeast east>; say hash(Dir.values Z Dir.keys) | 12:44 | |
| p6eval | rakudo 989883: OUTPUTĀ«() 0ā¤Ā» | ||
| bacek | rakudo: enum Dir < north northeast east>; say Dir.values | ||
| p6eval | rakudo 989883: OUTPUTĀ«()ā¤Ā» | ||
| bacek | rakudo: enum Dir < north northeast east>; say Dir.keys | ||
| p6eval | rakudo 989883: OUTPUTĀ«0ā¤Ā» | ||
| moritz | rakudo: enum Dir < north northeast east>; say Dir.values.perl | ||
| p6eval | rakudo 989883: OUTPUTĀ«()ā¤Ā» | ||
| moritz | huh. | ||
| bacek | whoot? | 12:45 | |
| moritz | anyway, fix pushed | 12:49 | |
| bacek | thanks! | ||
|
12:55
Coke joined
|
|||
| Coke | . | 12:59 | |
|
13:16
PacoLinux joined,
cognominal left
13:20
cognominal joined
|
|||
| dalek | rrot/generational_gc: 56e58b1 | bacek++ | src/gc/gc_gms.c: Update GC stats during sweep |
13:22 | |
| rrot/generational_gc: 6df3be9 | bacek++ | src/gc/gc_gms.c: Fix output of stats after Pointer_Array updates. |
|||
| rrot/generational_gc: cbb4ca1 | bacek++ | src/gc/gc_gms.c: Implement STRING generations. |
|||
| rrot/generational_gc: 0bcfe06 | bacek++ | src/gc/gc_gms.c: Implement string part of GMS. |
|||
|
13:24
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 13:27 | |
|
13:28
bluescreen left
|
|||
| dalek | rrot: 3dce212 | (Gerd Pokorra)++ | compilers/data_json/data_json.pir: make the example easier to appreciate |
13:37 | |
|
13:42
bluescreen joined
13:54
jsut_ joined
|
|||
| Hackbinary | good afternoon whitenight | 13:54 | |
| ;) | |||
| whiteknight | Hello Hackbinary, how are you today? | 13:57 | |
| Hackbinary | I'm alright, how are you? | ||
|
13:58
jsut left
|
|||
| Hackbinary | although it's a little cold here ... brrrr | 13:58 | |
| whiteknight | I'm doing well. tired and not looking forward to the work week, but good otherwise | ||
| where are you at? | |||
| Hackbinary | I'm looking for work :S I have to go down to a charity and do some work on a PHP app this afternoon | 13:59 | |
| I'm in Scotland | |||
|
14:00
rurban_ joined
|
|||
| whiteknight | oh, stinks you're looking. If you know C# and are willing to relocate to the US my company is hiring | 14:00 | |
| Hackbinary | you? | ||
| don't really know c# | |||
| where are you in the US? | 14:01 | ||
| moritz loves Scotland, and had a late Burns Supper on Saturday :-) | |||
| whiteknight | I;m in US, PA, Philadelphia. It's cold here too. Lots of snow | ||
| actually, the snow is covered with ice now | |||
| Hackbinary | It's not really that cold here, it is just the buildings here are really old, and very poorly weather proofed. And heating/Energy is expensiv | 14:02 | |
| whiteknight | Yes, same here. Very old, very shoddy brick building. | 14:03 | |
| Hackbinary | bleck ... I hate energy inefficient buildings, even if they look perty | 14:05 | |
|
14:05
rurban left,
rurban_ is now known as rurban
|
|||
| whiteknight | yeah, same | 14:05 | |
|
14:16
plobsing left
14:22
mtk joined
14:26
bluescreen left
|
|||
| nopaste | "bacek" at 192.168.1.3 pasted "gen_gc performance" (37 lines) at nopaste.snit.ch/30749 | 14:39 | |
| dalek | rrot/generational_gc: c70a78f | bacek++ | src/gc/gc_gms.c: Add more stats to GMS.get_info |
14:40 | |
| bacek | kind of slow... | ||
| rrot/generational_gc: 0307643 | bacek++ | src/gc/gc_gms.c: Fix debug build. |
|||
| rrot/generational_gc: c69344f | bacek++ | src/gc/gc_gms.c: Fix is_string_ptr copy-paste bug. |
|||
| rrot/generational_gc: 525f42d | bacek++ | src/gc/gc_gms.c: Add more validations. |
|||
| bacek | Good night, humans | ||
| whiteknight | that's that environment variable that I can set to keep around the temporary test-generated files? | 14:50 | |
| apparently it's POSTMORTEM, but that didn't seem to be working well for me | 14:59 | ||
| dalek | rrot/whiteknight/callcontext_reset: f0c28dc | Whiteknight++ | / (2 files): Add in an API function so that we can reset and reuse an existing CallContext for multiple repeated calls without needing to reallocate |
15:00 | |
| rrot/whiteknight/callcontext_reset: 731602b | Whiteknight++ | t/src/embed/api.t: Add in a test for Parrot_api_reset_call_signature |
|||
| whiteknight | mikehh: ping | 15:01 | |
| jnthn | whiteknight: I guess once needs to be sure that a continuation or closure using that context won't be taken, ir you're going to re-use it? | ||
| s/once/one/ | |||
| whiteknight | jnthn: it's from a thread on the mailing list. shockwave wants to be able to call a method repeatedly in a loop without having to reallocate a new CallContext for each call | 15:02 | |
| a reset method clears state in the CallContext and allows it to be reused again for a new call | |||
| mikehh | whiteknight: pong | 15:11 | |
| Coke | don't you need a context to invoke a method? | 15:13 | |
|
15:15
theory joined
|
|||
| mikehh | whiteknight: got to go out for a bit - bbl | 15:19 | |
| mikehh be back in an hour or so | |||
|
15:20
Themeruta is now known as NotFound
15:27
plobsing joined
15:28
mtk left
15:31
dngor left
15:32
dngor joined
15:34
plobsing left
15:39
Andy joined
15:43
vmspb joined
|
|||
| whiteknight | Coke: yes. you need the method PMC and the Context PMC | 15:48 | |
|
15:53
dmalcolm joined
16:03
eternaleye left
16:06
vmspb left
16:16
Patterner left,
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
| dukeleto | ~~ | 16:24 | |
|
16:25
Andy left
16:28
benabik_away is now known as benabik
|
|||
| Coke | whiteknight: so we need a Context Pmc to reset a context pmc? ;) | 16:37 | |
| whiteknight | the reset thingy isn't a method. It's an API function | 16:39 | |
|
16:39
plobsing joined
|
|||
| cotto_work | ~~ | 16:40 | |
| dukeleto | cotto_work: mornin' | 16:43 | |
| cotto_work | hio dukeleto | ||
|
16:46
contingencyplan joined
|
|||
| benabik | o/ | 16:50 | |
| dalek | nxed: r800 | NotFound++ | trunk/winxedst0.cpp: message for $include_const unsupported in stage 0 |
||
| Coke | whiteknight: ok. you had said method earlier, just making sure. Danke. | 16:51 | |
|
16:52
plobsing left
16:55
lucian joined
|
|||
| dukeleto | cotto_work: trac.parrot.org/parrot/ticket/1999 <-- care to answer this? | 16:57 | |
|
16:58
plobsing joined
|
|||
| cotto_work | dukeleto: did you see the documentation of that VTABLE function in docs/pdds/pdd17_pmc.pod ? | 17:01 | |
| dukeleto | cotto_work: sadly, i didn't read that, but since you are mentioning it, I probably should have | 17:02 | |
| cotto_work: yes read the docs in there, but my question still stands | 17:03 | ||
| cotto_work | Before you asked, I didn't realize we had that VTABLE function. | 17:06 | |
| dukeleto | cotto_work: yeah, i didn't either. This TPF grant is actually forcing me to understand how every single VTABLE function works, which is quite a lesson. | 17:07 | |
| cotto_work | I bet. | ||
| dalek | TT #1999 created by dukeleto++: Parrot_PMC_get_pmc : Does it work correctly? | ||
| TT #1999: trac.parrot.org/parrot/ticket/1999 | |||
| cotto_work | That slot looks ill-defined to me. I don't know if there is a single reliable correct behavior. | 17:08 | |
| allison: ping | |||
| allison | cotto_work: pong | ||
| cotto_work | allison: what's the intent of the get_pmc VTABLE function? | 17:09 | |
| The docs seem to say it either returns a SELF. | |||
| dukeleto | allison: if you could comment on trac.parrot.org/parrot/ticket/1999 , that would be much appreciated | ||
| allison | it's the same as get_integer, get_number, etc, just a PMC format | ||
| that is, it's general-purpose, and can return whatever the PMC wants to return | 17:10 | ||
| cotto_work | allison: ok. That's the impression I got. Thanks. | ||
| cotto_work sees a new Yapsi release and looks forward to reading the announcement | 17:11 | ||
| dukeleto | allison: currently, the fact that calling get_pmc on an RPA iterator returns the totaly number of elements is undocumented, and in my opinion, not intuitive | 17:14 | |
| s/totaly/total/ | |||
| where can we document that? | 17:15 | ||
|
17:15
plobsing left
|
|||
| cotto_work | dukeleto: from code it looks like ArrayIterator should return the underlying array PMC on get_pmc. | 17:16 | |
| dukeleto | cotto_work: yeah, the current behavior doesn't even seem very useful | 17:17 | |
| whiteknight | nuke it | 17:21 | |
| dukeleto | FROM SPACE | 17:22 | |
| cotto_work | Tracing what Parrot_printf does is fun. | 17:28 | |
|
17:29
benabik left,
benabik joined
|
|||
| mikehh | ~~ | 17:29 | |
| dukeleto | our NEWS file is pretty empty right now | 17:30 | |
| mikehh | whiteknight: you still around? | ||
| dukeleto: yeah - please add to it | |||
| dukeleto | mikehh: will try | ||
| mikehh: you might want to send an email to parrot-dev reminding people to add to it | |||
| mikehh | dukeleto: will do | 17:31 | |
| whiteknight | mikehh: yessir | ||
|
17:32
mtk joined
|
|||
| whiteknight | mikehh: What's the deadline for merging branches? I would like to merge whiteknight/callcontext_reset | 17:32 | |
| mikehh | whiteknight: you pinged me earlier, but I had to go out for a bit | ||
| whiteknight: probably Saturday, as long as we have a nice bugfest | 17:33 | ||
| whiteknight | okay | ||
| dukeleto | whiteknight: i agree with your most recent reply on parrot-dev about embed/extend stuff, but I wanted to clarify to people what the current situation was : | 17:35 | |
| :) , rather | |||
| whiteknight | right. At the same time, I don't want to tell people that the old, bad way is still the accepted ok way | 17:36 | |
| We really need to get users in the habit of "follow the docs, and if you don't see something you need, ask" | |||
| NotFound | whiteknight: BTW, I think Parrot_api_pmc_clone might be neccessary. | 17:37 | |
| whiteknight | NotFound: it might be. Do you have a particular use in mind? | ||
| NotFound | whiteknight: the same discussion that lead to callcontext_reset | 17:38 | |
| dukeleto | whiteknight: can you add something about Parrot_ext_try to NEWS ? | 17:46 | |
| NotFound: ^^^ | |||
| dukeleto got confused | |||
| NotFound | Going.. | 17:48 | |
| What's the appropiate section? API Changes ? | 17:49 | ||
| dukeleto | NotFound: Core, i guess. Whatever you think is best | 17:50 | |
| Coke | (merging, bugfest) - it would be super awesome if we had no smoke before then. | 17:53 | |
|
17:55
plobsing joined
|
|||
| dalek | rrot: 125ee38 | NotFound++ | NEWS: NEWS note for Parrot_ext_try |
17:57 | |
| cotto_work | get_pmc gets the array, which seems sensible to me | 18:10 | |
| dukeleto: It looks like what you're actually seeing is the result of VTABLE_get_string being called on the result of ArrayIterator.get_pmc, which returns the array that's being iterated over. | |||
| If you look at the type I'm sure the test will make more sense. | 18:12 | ||
| benabik | Hm. Trying to test generational_gc... Configure.pl fails at init::manifest: "No such file: lib/Parrot/Pmc2c/PMC/WB.pm" | 18:15 | |
| cotto_work | benabik: just a sec | 18:16 | |
| NotFound | Then will be better to use elements, to make the intention clear. | ||
| benabik knows only enough about the build system to run it, not fix it when it goes wrong. ~.~ | 18:17 | ||
| dalek | rrot/generational_gc: bb5dedd | cotto++ | MANIFEST: manifix |
||
| cotto_work | benabik: all better now (I hope) | ||
| benabik | cotto_work: Yup! Thanks. | 18:19 | |
| cotto_work | dukeleto: does that answer your question? | 18:26 | |
| benabik | gen_gc failed a few tests on Darwin/i386... Smolder 8045. 3 GC tests, 2 checkdepend, and 1 in dynpmc/rotest.t | 18:34 | |
| Trying rakudo build anyway. :-D | 18:35 | ||
| dalek | rrot: 089c0b4 | dukeleto++ | NEWS: Update NEWS a bit |
18:36 | |
| benabik | Ew. Segfault compiling Perl6::Grammar. | ||
| dukeleto | cotto_work: i think i see what is going on now. thanks! | 18:37 | |
|
18:42
zby_home joined
|
|||
| benabik | msg bacek You wanted more tests of gen_gc. Tried it on Darwin/i386: failed some tests (smolder #8045), and then segfaulted on src/Perl6/Grammar.pm in Rakudo. | 18:46 | |
| aloha | OK. I'll deliver the message. | ||
| cotto_work | dukeleto: explanation added to the ticket | 18:57 | |
|
19:04
pyrimidine joined
|
|||
| dukeleto | othanks! | 19:07 | |
| cotto_work: thanks! i meant. | |||
| cotto_work | oyourewelcome | ||
| dukeleto | otay | 19:09 | |
| dalek | rrot: 4c0e404 | jkeenan++ | / (14 files): Merge branch 'tt1988_pmcemitter' |
19:22 | |
|
19:23
plobsing left
19:29
plobsing joined
19:37
jsut_ is now known as jsut
|
|||
| dalek | TT #2000 created by jkeenan++: lib/Parrot/Pmc2c/MethodEmitter.pm: make file match package | 19:38 | |
| TT #2000: trac.parrot.org/parrot/ticket/2000 | |||
| Coke | jkeenan++ # our 2000th customer. | 19:39 | |
| dukeleto | darn, he beat me to it. | 19:40 | |
| benabik | dukeleto, thanks for playing though. :-D | ||
|
20:01
benabik left,
benabik joined
|
|||
| whiteknight | the spam emails we're getting on parrot-dev have become so heart-wrenching as to be comical | 20:09 | |
| "I am Mrs. Cynthia kouema devoted Christian and now ageing widow suffering from long time illness. I have a blood cancer and right now I am admitted in a hospital " | |||
| I was not concerned about the poor widow until I saw she had a blood cancer | 20:10 | ||
| benabik | "But I'll get better if you give me your bank account information"? | ||
| whiteknight | "...for the glory of god" | 20:11 | |
| that phrase was in the email3 separate times | |||
| tadzik | spam emails on parrot-dev? | ||
| tadzik strokes spamassassin | 20:12 | ||
| NotFound | msg bacek with generational_gc winxed example fly works much better without its explicit sweep than never before. The gc related pauses are still clearly viewable, though. | ||
| aloha | OK. I'll deliver the message. | ||
| atrodo | You know, first thing I do when I'm admitted to a hospital is write emails to complete strangers asking for help | ||
| cotto_work | I think that everyone on parrot-dev needs to hear about that. It's completely relevant to the ongoing technical discussion on how to improve Parrot. | 20:13 | |
| whiteknight++ for filtering out that garbage | |||
| nopaste | "fperrad" at 192.168.1.3 pasted "bacek, cotto, my current work on LuaFunction" (159 lines) at nopaste.snit.ch/30777 | 20:14 | |
| NotFound | atrodo: at least your are admitted. | ||
| whiteknight | she said she wanted to donate her fortune to charity, minus my 15% cut of course. I'm thinking maybe I can convince her to donate do PaFo | ||
| atrodo | What could possibly go wrong? | 20:15 | |
|
20:15
NotFound is now known as charity
|
|||
| whiteknight | all I need to do is fly to Nigeria, wear a clown outfit with a signed blank check taped to my forehead | 20:15 | |
| charity | Please do | ||
| dukeleto | whiteknight: that would be a great PR campaign for PaFo | ||
| charity | Oldes irc joke ever | ||
|
20:15
charity is now known as NotFound
|
|||
| NotFound | Widows of the world, PaFo wants yo! | 20:16 | |
| cotto_work | fperrad: thanks for working on that. I'll take a look when I get home. I like the idea of getting away from PMC MI.\\ | 20:18 | |
| aloha: coverage? | |||
| aloha | cotto_work: coverage is cv.perl6.cz or tapir2.ro.vutbr.cz/cover/cover-results/ | ||
| plobsing | dukeleto: code.google.com/p/es-lab/ does cool stuff with ecmascript5 and OMeta | ||
| whiteknight | PMC MI? | 20:19 | |
| cotto_work | multiple inheritance | 20:20 | |
| whiteknight | ah yes | ||
| cotto_work | known by many, loved by few | ||
| whiteknight | worst. inheritance. ever. | ||
| lucian | meh, i often like MI | 20:21 | |
| whiteknight | no, MI is a good thing | 20:22 | |
| Parrot's implementation of it for built-in PMCs is not | |||
| cotto_work | whiteknight: exactly | ||
| whiteknight | our implementation of it for Object PMCs is a little clunky and fragile, but not bad or unusable | ||
| lucian | whiteknight: i see | 20:24 | |
| NotFound | "Because you have a father and a mother" | ||
| Quoted in some Stroustrup book, don't remember now... | |||
|
20:30
benabik is now known as benabik_away
20:31
fperrad left
|
|||
| whiteknight | NotFound: And some classes have a father, a mother, and an IDataContextQueryable | 20:33 | |
| TimToady | moritz: a working turtle is on wall.org/~larry/turtle | 20:36 | |
| though the GC seems improved from the standpoint of visual pauses | 20:38 | ||
| tadzik | what kind of a turtle is that? | ||
| TimToady | some combo of chromatic++'s GC improvements and rakudo putting less pressure on GC | ||
| ascii turtle graphics | 20:39 | ||
| does zigzag and spiral arrays currently | |||
| whiteknight | nwellnhof recently merged a nice branch that helped with long GC pauses | ||
| I think this is his work | |||
| TimToady | nwellnhoff++ then | 20:40 | |
| nwellnhof++ even | |||
| tadzik | I'm still waiting for ForestFire to become watchable :) | 20:41 | |
| whiteknight | ForestFire? | 20:43 | |
| nopaste | "tadzik" at 192.168.1.3 pasted "Forest Fire" (74 lines) at nopaste.snit.ch/30780 | 20:44 | |
| tadzik | from Rosetta Code | ||
| PerlJam | It's certainly watchable already. Perhaps in the manner that wind erosion of a mountain is watchable, but still .... :) | 20:45 | |
| tadzik | :) | ||
| Rakudo: See the grass growing! | 20:46 | ||
|
20:50
ilia joined
20:53
plobsing left
21:02
plobsing joined
21:13
zby_home left
|
|||
| moritz | ... from below! | 21:24 | |
|
21:25
ttbot left,
whiteknight left,
ttbot joined
|
|||
| dalek | rrotsharp: 7659136 | Whiteknight++ | / (5 files): fixes and cleanups, especially to tests |
21:27 | |
| rrotsharp: 19ae906 | Whiteknight++ | / (4 files): Add some new test files |
|||
| rrotsharp: ee9d944 | Whiteknight++ | / (4 files): an interface for Integer-like PMCs, and add in a property on Integer to retrieve the primitive value |
|||
| rrotsharp: 408a38b | Whiteknight++ | / (3 files): cleanup Parrot constructors |
|||
| rrotsharp: beef018 | Whiteknight++ | src/Parrot.cs: more small cleanups |
|||
| rrotsharp: 74aa8ca | Whiteknight++ | / (12 files): changes and fixes. |
|||
| rrotsharp: 359b93e | Whiteknight++ | ParrotSharpTest/Parrot_Test.cs: fix some test brokenness. We still can't create multiple top-level interpreters yet. |
|||
| rrotsharp: 20f131a | Whiteknight++ | src/Pmc/ (2 files): fixes to the interface for IPMCFactory. We now have Instance to create an instance with an optional initializer, and Cast, to take an existing pointer and wrap it up into the correct PMC wrapper type |
|||
| rrotsharp: ecf9b92 | Whiteknight++ | src/Pmc/ (2 files): more tweaks to PMCFactory |
|||
| rrotsharp: aeed240 | Whiteknight++ | / (6 files): Add in a String role and use that in CallContext. Expose String.replace and add a test for it |
|||
| rrotsharp: 17f3bd0 | Whiteknight++ | / (10 files): +some test files I forgot to git add. Add in a Sub PMC wrapper type. Cleanup Sub invocation logic to use the new type |
|||
| rrotsharp: 31f60a1 | Whiteknight++ | / (2 files): fixes |
|||
| rrotsharp: d021d06 | Whiteknight++ | src/ (4 files): fixes to the way methods are invoked. Run everything through the new Sub PMC |
|||
| rrot/generational_gc: 5fdd2b3 | bacek++ | src/gc/gc_gms.c: Enable GC validations in debug builds |
21:30 | ||
|
21:30
ilia left
21:32
allison left
|
|||
| cotto_work | That forest appears to be fire-proof. | 21:42 | |
|
21:46
plobsing left,
plobsing joined
|
|||
| Hackbinary | what's parrot sharp? | 21:50 | |
|
21:50
ryan joined
|
|||
| Hackbinary | nevermind | 21:51 | |
|
21:53
silug joined
21:59
allison joined
22:00
rurban_ joined
22:05
rurban left,
rurban_ is now known as rurban
22:08
minusnine joined
22:15
benabik joined
|
|||
| minusnine | allison (or others): is the current pynie repo in google code or yours on bitbucket? the bitbucket repo has a few more (seemingly minor) commits than google code, and the former is referenced on the parrot wiki | 22:15 | |
| tadzik | I think lucian was working on Python on Parrot recently, not sure if that was Pynie | 22:16 | |
| allison | minusnine: the google code repository is the old one, and the bitbucket repository is the new one | ||
| lucian | tadzik: more precisely, i was *thinking* of working on it :) | ||
| minusnine: and get the bb one | |||
| tadzik | lucian: gotcha :) | ||
| lucian | minusnine: i got it to build, but i think eval is still broken | 22:17 | |
| minusnine | allison, lucian: thanks | ||
| tadzik | lucian: besides eval everything works? | ||
| lucian | tadzik: not really. recent parrot deprecation broke stuff | 22:18 | |
| allison | tadzik: it's a fairly minimal implementation, too, so only a small set of features | ||
| tadzik | lucian: is your code available somewhere? | ||
| lucian | tadzik: it's in that bb repo | ||
| tadzik | allison: are you planning to continue working on that? | ||
| lucian | just a couple of patches | ||
| i think the plan was to rewrite it in python | |||
| at least the compiler, anyway | 22:19 | ||
| allison | tadzik: I don't plan on continuing with that implementation. I would like to keep working on Python on Parrot, as I have time, but lucian and I have some shared ideas on a better way to do it. | ||
| tadzik: Basically what he said, depend only on Parrot and not on NQP, integrate with PyPy as much as possible (with one of various alternative ways to go about that). | 22:20 | ||
| tadzik | I see | ||
| lucian | the latter bit is where we don't entirely agree :) | 22:21 | |
| allison | lucian: aye, and that's part of why I leave it as a big question mark with "as much as possible" | ||
| lucian: I think it's best to focus on the immediately practical, even if I might have hopes for more in the future | 22:22 | ||
| lucian: and any modestly complete implementation of Python 3 on Parrot would be a huge advantage | |||
| lucian | i think that's getting objects to work | ||
| allison | yes, agreed that's the key | 22:23 | |
| lucian | ideally, rewriting as much as possible in python(3). | ||
| but for that to really work, i think parrot needs better reflection | 22:24 | ||
| allison | reflection is built into the object model | ||
| lucian | which one? PMC or Object? | ||
| allison | part of implementing Python's object model is implementing the reflection features that go with it | ||
|
22:25
pyrimidine left
|
|||
| allison | lucian (re "which one?") neither, I mean Python's (which is built on top of PMC/Object) | 22:25 | |
| lucian | well, thankfully python only has one or two kinds of reflection | ||
| yeah, i got that | |||
| there's basically just attribute lookup | 22:26 | ||
|
22:26
benabik left
|
|||
| allison | I'd be interested to see/do some work on implementing Python's basic objects for Parrot as either a pure PMC or as a subclass of Parrot's Class/Object | 22:27 | |
| minusnine | (I'm happy to have stimulated such discussion with my simple question! :-P) | ||
| allison | minusnine: :) | ||
| NotFound | minusnine: there are no simple question in parrot land | 22:28 | |
| lucian | minusnine: in fact, i think it's a bit sad | ||
| NotFound | (even if they have simple answers) | ||
| allison | lucian: I wish I had more time for pynie over the past year | ||
| lucian too | |||
| now i'm stuck writing some fun games :) | 22:29 | ||
| (uni coursework) | |||
| allison | minusnine: I started experimenting with starting over at bitbucket.org/allison/pygmy, but you can see I didn't check in much | 22:30 | |
| minusnine | allison: cool, will check it out. | 22:31 | |
| allison | minusnine: (pygmy, as in a very small python core for bootstrapping) | ||
| minusnine | alison: I'm meeting with JimK tomorrow to talk about pynie... I'm interested in helping out, but am starting a new (python-based) job next week, so I'm not sure what my time commitment can be like in the short-term | 22:32 | |
| allison: (typo) | |||
| lucian | allison: what i'd love to see is a pure-python compiler that compiles a subset of python sufficient for implementing the rest (this would mean a parrot module that links into PIR-like stuff) | ||
| allison | minusnine: understandable, and thanks for the interest :) | ||
| lucian | allison: is that the CPython 3 grammar, unchanged? | 22:33 | |
| allison | lucian: yes, it's the CPython grammar unchanged | ||
| tadzik | FYI, I managed to make pynie compile | ||
| lucian | tadzik: try running it | ||
| tadzik | lucian: hello world fails | 22:34 | |
| allison | lucian: the idea at the time was to generate a parrot compiler from the CPython grammar | ||
| lucian: made decent progress on that | |||
| tadzik | >>> print("Hello world") | ||
| Method 'item' not found for invocant of class 'Pynie;Grammar' | |||
| allison brb | |||
| lucian | tadzik: yep | ||
| allison: nice. i kinda liked bitbucket.org/pypy/pypy/src/84883d.../pyparser/ | 22:35 | ||
| allison back | |||
| lucian | i was thinking of retargeting the codegen on pypy's compiler | 22:36 | |
| that would get the first bit done (pure python compiler) | |||
| but it would compile to unexisting types | |||
| inexistant | |||
| allison | lucian: as in use pypy's parser, and codegen for Parrot? | ||
| NotFound | Talking about bootstrapping ideas, I'm thinking about writing a C++ backend for a subset of winxed with enough features to compile the stage 1 compiler, that will alow to get rid of the hand written C++ stage 0. | ||
| lucian | allison: yep | ||
| allison | lucian: makes sense, there's no point in reinventing the wheel | ||
| lucian | comes with bonuses: continuous development by pypy guys and it's pure-python | 22:37 | |
| allison | lucian: types can be implemented | ||
| lucian: yes, definite advantages | |||
| lucian | allison: yes, but i'd rather implement them in something close to python | ||
| like, say, minipynie | 22:38 | ||
| allison | lucian: there's a bit of overhead in implementing in a high-level language | ||
| lucian | with dicts, lists, tuples, functions and structs | ||
| allison: perhaps | |||
| allison | lucian: CPython implements them in C, what does Pypy do? | ||
| lucian | but it should be faster to write | ||
| allison: RPython | |||
| not very helpful | |||
| the thing is, dicts, lists tuples, functions, strings, structs and numbers are already in parrot | 22:39 | ||
| they just need a little renaming | |||
| allison | lucian: (re "not helpful") that depends, is there any chance we could reuse Pypy's implementations of the core types? | ||
| lucian: they do exist in Parrot, but what's there isn't a very good match for Python semantics | |||
| lucian | allison: not really. RPython manipulates interpreter-level objects | ||
| allison | lucian: there's a lot of hidden Perl-ish assumptions buried in there | ||
| lucian | so to do 1 + 2 at the application level, you'd have to write in RPython something like space.W_add(1, 2) | 22:40 | |
| allison: yes, there are some annoying perlisms | |||
| allison | lucian: as in, RPython depends on a fully-working CPython implementation of objects? | ||
| lucian | however, this minipynie could be used to implement the real deal | ||
| RPython is translated using an existing full python interpreter, yes | 22:41 | ||
| allison | doesn't minipynie need objects? | ||
| NotFound | Why do you want a fast bootstrap? You can compile with other python until there is one version complete enough. | ||
| lucian | allison: they can just be PMCs | ||
| NotFound: it still requires writing the core types in PIR or similar | |||
| allison | lucian: yes, at some level we need the base for the bootstrap | ||
| lucian | allison: codespeak.net/pypy/dist/pypy/doc/tr...ation.html will be enlightening, albeit long | 22:42 | |
| allison | lucian: and depending on how good the core types for minipynie are, we might use them for macropynie too | ||
| NotFound | lucian: that's why I ask, there is enough work even without the urgence for bootstraping., | ||
| lucian | allison: yes, pynie could inherit minipynie types | ||
| NotFound: the compiler part is easy, there already are good pure-python python compilers | 22:43 | ||
| NotFound: but writing python core types is still annoying, i was thinking of making it easier | |||
| NotFound | I think I don't know enough python to appreciate the problems. | 22:44 | |
| lucian | NotFound: python needs full objects to even work at all | ||
| allison: so this minipynie would be closer to old pynie, but with a good mapping to PIR | 22:45 | ||
| if this fails, core types can just be written in winxed or something | |||
| this all might be silly, though | 22:46 | ||
| bacek_at_work | msg behabik Thanks! gc failures in make test are "eligible" | ||
| aloha | OK. I'll deliver the message. | ||
| allison | lucian: thanks for the link, that's useful | 22:47 | |
| lucian: yes, closer to old pynie, but without any dependency on NQP | |||
| lucian: and more of a compiler (to PIR) than an interpreter | 22:48 | ||
| lucian | yep, certainly a compiler | 22:49 | |
| i'd like full pynie to be a compiler too, not an interpreter | |||
|
22:49
benabik joined
|
|||
| lucian | otherwise, we might as well write a parrot backend for PyPy. which would be very slow | 22:49 | |
| allison | lucian: yes, I suspect you're right there | 22:50 | |
| NotFound | lucian: winxed has an almost untested mininal support for HLLed namespaces, waiting mosty for a use case. | ||
| lucian | NotFound: heh | ||
|
22:51
benabik left
|
|||
| lucian | NotFound: winxed is indeed close to what this minipynie i'm thinking of | 22:51 | |
| s/what// | |||
| NotFound | lucian: one more tool to write HLLs will also be nice. | 22:53 | |
| lucian | NotFound: i'm of the opinion that one more tool to write HLLs is the worst solution | ||
| NotFound | Maybe not, but variety may be good to attract new people. | 22:54 | |
| Tene | Someone was in here recently wanting to write HLLs in Java/XML. | ||
| minusnine | allison, lucian: then, what are the short-term goals of pynie as it stands? | ||
| lucian | Tene: i think java may be a easier. it's actually not very OO at all. gnu classpath might not be that hard to bootstrap | 22:55 | |
| NotFound | Tene: I hope that winxed/ohm-eta will be a better way to people liking java-like syntax. | ||
| lucian | minusnine: run, at all | ||
| Tene | lucian: The part that was weird to me was they wanted the grammar and actions class to be in XML. | ||
| I'm very curious about what that would look like, but not very hopeful about it as something I'd like. | |||
| lucian | they're probably used to antlr | 22:56 | |
| NotFound | I predict that some day someone will write a compiler in schematron | 22:57 | |
|
22:57
plobsing left
|
|||
| lucian | NotFound: that thing looks ugly | 22:57 | |
| minusnine | lucian: heh. okay. but that requires objects, so i hear. so what is the strategy for implementing objects in the short-term? | 22:58 | |
| allison | minusnine: the goal of pynie is to get a working implementation of Python 3 on Parrot | ||
| NotFound | lucian: all xml things looks ugly to me, but xml oriented people loves it, it seems. | ||
| lucian | minusnine: probably writing them in PIR/winxed | ||
| NotFound | I love much better the simplicity of json. | 22:59 | |
| lucian | NotFound: i tend to prefer the even more spartan s-expressions | ||
| or yaml | |||
| lucian would like to see a fusion between yaml, lisp and python | |||
|
23:01
cosimo joined
|
|||
| lucian | minusnine: if i had more time, i'd play around with PyPy's compiler to create minipynie | 23:01 | |
| and go from there | |||
| NotFound | yamlispy sounds funny :) | ||
|
23:02
whiteknight joined
|
|||
| lucian | heh | 23:02 | |
| allison | minusnine: and I'd be happy to help you break that (minipynie using PyPy's compiler) into smaller tasks, if you'd like to work on it | 23:04 | |
| minusnine | lucian: understood, thanks | ||
| allison | lucian: one catch, PyPy is Python 2.x, not Python 3.x | ||
| lucian | allison: meh, it can be ported after it works | 23:05 | |
| allison | lucian: but either one working on Parrot would be a step in the right direction | ||
| lucian | there was another pure-python parser | ||
| minusnine | allison: that would be useful, even if it's just to see how *you* would approach it | ||
| NotFound | Prototypying objects in winxed, even if you plan to later reimplement them in pir or a PMCs can be a time saver. | ||
| lucian | NotFound: yes. i'm trying to write an ad-hoc spec for minipynie | ||
| allison | minusnine: I see it as more of an interactive thing, as in not "how I'd do it" but, "let's work out a good way to do it" | ||
| minusnine | allison: heh, yes, agreed, I just meant that y'all have more experience with language implementation on parrot than I do, so you may have a better pattern | 23:06 | |
| lucian | minusnine: not really, i'm just a noob | 23:07 | |
| allison | minusnine: ah, yeah, makes sense. I figure the way I'd go about it might not necessarily be approachable for general developers, so that's why I'd really appreciate your input on breaking it down into steps that any contributor could step up and help with. | 23:08 | |
| NotFound | And you might found that winxed is not slower than hand-written pir ;) | ||
| Tene | I really should consider trying to prototype cardinal's ideal object model on nqp-nom | ||
| lucian | NotFound: i never really assumed that. winxed is very thin | ||
| allison | minusnine: like link it in with pointers to how various things work, for "learning by doing" | 23:09 | |
| minusnine | allison: certainly, as I'll probably be doing exactly that myself | 23:10 | |
|
23:10
mtk left
|
|||
| lucian | bah, minipynie might be totally unfeasible | 23:11 | |
| allison | lucian: well, it's feasible in one way or another, it's just a question of which way :) | 23:12 | |
| lucian | this looks horribly high-level gist.github.com/815487 | ||
| lucian has lisp boostrap envy right now | 23:13 | ||
| NotFound | BTW while doing some experiments that in order to implement some objects models a way to tell the class to not use the method cache might be neccessary. | ||
| I found that | |||
| allison | lucian: is that adding "parrot" as an output formatter to PyPy? | ||
| lucian | allison: sort of, yes | 23:14 | |
| i'm just thinking of what it might look like | |||
|
23:16
mtk joined
|
|||
| lucian | i'm realising that i'm basically imagining winxed with a bit more pythonic syntax | 23:18 | |
| NotFound: mind if i try to mutilate winxed to be indentation-sensitive? | 23:19 | ||
| actually, i think it'll be easier (and less susceptible to bitrot) to generate winxed from a subset of python | 23:21 | ||
|
23:27
lucian_ joined
23:31
lucian left
|
|||
| dalek | rrot/generational_gc: 856ff16 | bacek++ | config/gen/makefiles/root.in: Fix GMS dependencies. |
23:47 | |
|
23:48
kid51 joined
23:57
minusnine left
|
|||