|
Parrot 3.0.0 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: Fix ipv6-related failures Set by moderator on 10 February 2011. |
|||
| dalek | p: 4dd9166 | jnthn++ | src/ (2 files): Add a slot in the s-table for Parrot v-table mapped routines; we'll stash 'em by v-table index so the lookup should be fast. Also, marking. |
00:02 | |
|
00:07
protorom joined
|
|||
| Coke | anyone know why I'm getting this: set_string_native() not implemented in class 'TclString' | 00:23 | |
| sorear | you must have code like $Pn = $Sn | 00:25 | |
| where $Pn is a TclString instance | |||
| Coke | Yes, but TclString is a child of string - it should totally have that vtable. | ||
| $P284 = get_root_global ["parrot"], "P6metaclass" | 00:26 | ||
| $P284."new_class"("TclString", "String" :named("parent")) | |||
| (not a straight class, but still.) | |||
| sorear | if you're using P6metaclass correctly, which I can't confirm offhand | 00:28 | |
| Coke | I'm using nqp-rx. | 00:30 | |
| sorear | I should have guessed from the $P284 :) | ||
| Coke | and if I try to provide a manually override for set_string_native, I get an infinite loop. whee. | 00:31 | |
| trac.parrot.org/parrot/ticket/1886 | 00:33 | ||
| ah, now I remember why partcl is dead. ;) | 00:34 | ||
| dalek | p: 8fbefcc | jnthn++ | src/ops/nqp.ops: Add an op for publishing a set of Parrot v-table overrides. Resolves names to indexes once here, to avoid doing it every invocation. |
||
| p: 3e4373a | jnthn++ | src/metamodel/how/NQPClassHOW.pm: Implement support for adding Parrot v-table overrides to NQPClassHOW. Will need to somehow be marked Parrot-specific in the future. |
|||
| p: 4f1fcec | jnthn++ | src/pmc/rakudoobject.pmc: Make get_[integer|number|string] overridable. More to come soon; it's just yak shaving now. Along with the patches that led up to this, it fixes the 52-vtable.t regression, mostly unblocks moving Match to 6model and a bunch of other good stuff. |
|||
| p: d0df731 | jnthn++ | build/PARROT_REVISION: Bump to a newer Parrot that has the write barrier bits. |
|||
|
00:43
cognominal left,
cognominal joined
|
|||
| dukeleto | i am seeing this in cardinal: error:imcc:The opcode 'concat_s_s' (concat<2>) was not found. Check the type and number of the arguments | 00:58 | |
| jnthn | dukeleto: Needs replacing with the 3-arg form of the op. | ||
|
00:58
whiteknight joined
|
|||
| Hackbinary | dukeleto, you're using the parrot/cardinal project, yes? | 00:59 | |
| dukeleto | Hackbinary: let's go into #parrot for this | 01:00 | |
| oh | |||
| dukeleto facepalms | |||
| Hackbinary | #cardinal? | ||
| dukeleto | Hackbinary: yes, using parrot/cardinal | ||
| i had a really old version | 01:01 | ||
| forgot to "git pull --rebase" | |||
| dukeleto tries to send a smoke report | |||
| Hackbinary | I had that same problem when I started messing around with it a couple of weeks ago, and then I found out that I was supposed to use the parrot/cardinal, not cardinal/cardinal | 01:02 | |
|
01:02
nopaste joined,
TonyC joined
|
|||
| dukeleto | Hackbinary: yes. it moved recently | 01:02 | |
| Tene | dukeleto: I think someone mentioned they had a patch for the smolder stuff in cardinal... | 01:05 | |
| it's still broken though, it seems | |||
| Hackbinary | tene / dukeleto, there is a diff file for the Rakefile on the parrot-dev | 01:06 | |
| Tene | ah, yeah, lateu | 01:07 | |
| dukeleto | yeah, i saw it | ||
| Tene | trying it... | 01:08 | |
| submitted | |||
| Hackbinary | does anybody have admin access to cardinal/cardinal? the readme and cardinal.github.com should be updated so people goto github.com/parrot/cardinal | ||
| dukeleto | now i get: too few positional arguments: 1 passed, 2 (or more) expected | ||
| current instr.: 'parrot;cardinal;Grammar;peek_brackets' pc 0 (src/parser/quote_expression.pir:1) | |||
| Tene has admin access, methinks | 01:09 | ||
| Tene | Hackbinary: if I give you access, will you update it for me? | ||
| Hackbinary | tene, sure | ||
| i've updated both the rubyforge projects already :D | |||
| Tene | iirc, the rubyforge projects were actually for an earlier project by the same name | 01:10 | |
| dalek | rdinal: e770a4e | tene++ | Rakefile: Fix smolder submissions. lateu++ |
01:12 | |
| Coke | ugh. what was the first release that installed parrot-nqp ? | 01:13 | |
| ugh. some tool isn't expanding ~ | 01:14 | ||
| ls | |||
| Tene | Coke: your shell expands ~, not individual tools. ~ is only expanded when it's the first letter of a word. | 01:15 | |
| ls should never be expanding ~ | |||
| Coke | Tene: Just ranting, thanks. | 01:17 | |
| the ls was a "wrong window" | |||
| Tene | Coke: Ahh. :) | ||
| Coke | I'm in the middle of trying to bisect a bug that's impacted tcl for some time. | ||
| dalek | rdinal: 4de5e81 | cardinal++ | README: Add message where to find active development. |
01:18 | |
| Coke | (and am therefore grumpy.) | ||
| Tene | Hackbinary: if you could update the cardinal/cardinal repo just in case, that would be great. | 01:19 | |
| Hackbinary | tene, the current codebase? | 01:21 | |
| Tene | Hackbinary: Yeah, pull parrot/cardinal into cardinal/cardinal | ||
| Hackbinary | alright | ||
|
01:29
kid51 joined
|
|||
| dalek | rdinal: d7f3811 | hackbinary++ | README: Updated active development message. |
01:39 | |
| dukeleto | Hackbinary++ | 01:40 | |
| Coke | ahahaha. | 01:46 | |
| Hackbinary | thanks =) | ||
| Coke | my bisect says that the 2.9.0 tag is the thing that broke it. | ||
| sorear | ...huh? | ||
| dukeleto | Coke: interesting | 01:47 | |
| Coke: the actual commit that broke it may have caused partcl to not build, so it is probably somewhere before 2.9.0 | |||
| Coke | seems like the commit-just-before 2.9.0 should not have been a skip | 01:48 | |
|
01:55
lucian joined
|
|||
| sorear | Coke: is it possible you have code testing the version number somewhere? | 01:55 | |
| Coke | I appear to be relying on revision 1. | 01:59 | |
| which in a post-git world means "whatever". | |||
| dalek | rrot: fe1f244 | jkeenan++ | / (15 files): Remove references to svn or svn.parrot.org. Replace with git references where appropriate. |
02:08 | |
| whiteknight | what's the command to compile a .nqp file to .pir? | 02:21 | |
| parrot-nqp -o foo.pir foo.nqp? | |||
| sorear | you might need a --target=pir in there | 02:23 | |
| whiteknight | awesome | 02:29 | |
|
02:58
protorom left
03:02
whiteknight left
03:29
adu joined
03:52
kid51 left
03:54
bacek_mobile joined
|
|||
| bacek_mobile | jnthn, parrot_vtable requires support from pct. | 03:56 | |
| Past::compiler i think | 03:57 | ||
|
03:59
ryan is now known as rdesfo
05:13
bacek_mobile left
|
|||
| cotto | ~~ | 05:31 | |
|
05:57
lateau_ joined
06:00
lateau_ left,
adu left
06:07
rurban_ joined
06:10
rurban left,
rurban_ is now known as rurban
06:19
benabik left
|
|||
| dukeleto | ~~ | 06:25 | |
|
06:25
rdesfo left
07:39
lucian left
|
|||
| bacek | ~~ | 07:44 | |
| seem jnthn | |||
| seen jnthn | 07:45 | ||
| clunker3_ | jnthn was last seen on #parrot 6 hours, 46 minutes and 38 seconds ago, saying: dukeleto: Needs replacing with the 3-arg form of the op. | ||
| aloha | jnthn was last seen in #perl6 6 hours 43 mins ago saying "sub heredoc-dedenter($stuff) { loop { } } # I bet yours was longer than this... :P". | ||
|
07:46
theory left
|
|||
| bacek | msg jnthn Rakudo_binding_bind_one_param pokes into ll_sig->elements cache. It needs write_barrier, but I'm not sure about easiest way to patch it. | 07:47 | |
| aloha | OK. I'll deliver the message. | ||
| bacek | msg jnthn src/binder/bind.c line 294 | ||
| aloha | OK. I'll deliver the message. | ||
| dukeleto | bacek: greetings, fleshbucket | 07:57 | |
| bacek | dukeleto, aloha human | 08:06 | |
| dukeleto | bacek: are you still hacking on gen_gc2 ? | 08:09 | |
| bacek: what needs doing on that branch? | |||
| bacek | dukeleto, nothing. | ||
| I don't want to increase scope of initial implementation of GenGC | |||
| "Make it really fast" is 3rd step. And should be done separately. | 08:10 | ||
| E.g. optimizing ops2c, context accessors, etc | |||
| dukeleto | bacek: ok, but you can just branch off of gen_gc2, right? | 08:11 | |
| bacek | dukeleto, yes. I just don't want to | ||
| dukeleto | bacek: well, then | ||
| bacek: i think we will merge gen_gc2 pretty soon, like 5 seconds after 3.1 is tagged | 08:12 | ||
| bacek | dukeleto, may be. | ||
| It's against our deprecation policy to merge it before after 3.3 | |||
| dukeleto | bacek: well, maybe our dep policy is wrong or needs an exception | 08:14 | |
| bacek | Dura lex sed lex | ||
| dukeleto | bacek: the rakudo peeps want it sooner rather than later | 08:15 | |
| bacek: who are we helping if we make our biggest customer wait 2 months to follow a rule that doesn't make sense? | |||
| bacek | We pretend to be big, stable, mature project. | 08:16 | |
| We can't just throw our own rules away in favour of single customer. | 08:17 | ||
| Or let's face reality: there is no other "customers" apart from Rakudo and Lua. | 08:19 | ||
| And policy should be "If we broke something - we will fix it for them". | |||
| E.g. "provide patches to migrate to bleeding edge parrot" | 08:20 | ||
| (Sorry Coke, partcl is permanently broken) | |||
| dukeleto | bacek: why exactly does merging gen_gc2 require a dep cycle? | 08:21 | |
| bacek | we are changing "contract" with HLLs | 08:22 | |
| same as "rename function" | |||
| dukeleto | bacek: that is too abstract for me. Give me a concrete reason | ||
| bacek: also, i think this should come down to a vote at #ps, to be fair. | 08:23 | ||
| bacek | dep cycle protect HLLs from changing source | ||
| moritz | not true | ||
| bacek | .. after changes on parrot side | ||
| moritz, elaborate | |||
| moritz | HLLs need to change in response to parrot, independently of whether there was a deprecation note or not | ||
| dalek | p: 4b8ac4f | bacek++ | src/ops/nqp.ops: Add more write barriers. |
||
| moritz | it's just that the dep note gives them more time to do so | 08:24 | |
| but the change itself is inevitable | |||
| bacek | moritz, erm. I think it is what dep policy for. | ||
| Avoid changes without notification | |||
| moritz | but the system is broken anyway | ||
| bacek | moritz, GC MS2 isn't broken | 08:25 | |
| it works | |||
| it's about 30% faster than GC MS | |||
| moritz | because many deprecations don't provide enough data to implement alternative strategies on the HLL side | ||
| bacek: sorry, I was talking about the deprecation system being broken, not parrot :-) | |||
| bacek | ah | ||
| yes | |||
|
08:25
zby_home left
|
|||
| moritz | so as a HLL dev, I care that I get help when parrot breaks "me" | 08:26 | |
| not that I know $n months in advance | |||
| (except when it requires quite big changes on the HLL side) | |||
| YMMV | |||
| bacek | moritz, ok. Than it's exactly my "proposal" to change dep policy. | 08:27 | |
| "We'll fix it for them" | |||
| short, simple, comprehensive | |||
| moritz | we just need to be concious that this won't scale once we get significantly more users | ||
| bacek | we'll not in next few years | ||
| moritz | if you continue speeding up parrot like that, maybe we will :-) | 08:30 | |
| bacek | heh | 08:33 | |
| no | 08:34 | ||
| LuaVM's calling conventions is orders of magnitude faster | |||
| single memcpy on callee side to be exact | |||
| moritz | well, if we manage to get good cross-HLL interop, being not slow might be good enough for many users | 08:35 | |
| bacek | PCC is paying tax for :slurpy, :flat and autoboxing | ||
| moritz, who is working of cross-HLL interop? | |||
| moritz | bacek: nobody | 08:36 | |
| bacek | moritz, exactly... | ||
| It reminds me about "17 times" from Failblog... | |||
| failblog.org/2011/02/04/epic-fail-p...een-times/ | 08:37 | ||
| dukeleto | wow. | 08:41 | |
| bacek | dukeleto, yes... | 08:42 | |
| dukeleto, no, sorry. "... exactly" | |||
| Tene | bacek: for a long time, I was the only person working on HLL interop, and I kept getting the feeling nobody else cared about it. | ||
| bacek | Tene, I know your feelings. | 08:43 | |
| Tene | I stopped after the N+1th time my HLL interop work was broken and nobody cared, and since then, nobody else has done any work on it that I've seen. | ||
| dukeleto | Tene: i care about it, but I don't know what I can do right now to help | 08:44 | |
| Tene | dukeleto: It was a long time ago, and I need to get over it. | ||
| No worries :) | |||
| dukeleto | Tene: do you think continuous integraion of HLLs on parrot master would help? | ||
| moritz | one problem is that HLL interop is hard to test | 08:45 | |
| Tene | dukeleto: I think that parrot needs that *anyway*, so maybe. | ||
| moritz | I mean, you need two HLLs and a test for both | ||
| dalek | p: 2cef296 | moritz++ | build/Makefile.in: cc_hasjit is gone, remove it from Makefile |
||
| moritz | that's not something you just do in t/hll/interop.t or so | ||
| bacek | moritz, indeed. | 08:46 | |
| moritz | especially if you want dynops and dynpmcs in both HLLs | 08:47 | |
| and in rakudo too things break unless we test them | |||
| Tene | does that even work yet? I remember there was a problem with dynop and dynpmc mapping when loading them in different orders? | ||
| bacek | How much budget PaFo has? Can we pay (for example) to mj41 to finish his work on taptinder? So we can test hlls on to of parrot. And have some "hll interop" tests on top of it. | 08:48 | |
| moritz | Tene: I dimly recall that plobsing++ did something about that | ||
| bacek | Tene, (order of loading) it should be fixed by now | ||
| Tene | :) | ||
| dukeleto | Tene: yes, plobsing merged a branch that fixed some of that stuff | 08:51 | |
| bacek: we can also use github.com/franckcuny/jitterbug , which I hack on | 08:52 | ||
| Tene | moritz: you certainly can have tests for the hll interop api, at least | ||
| dukeleto | bacek: see an example of the web interface here: jitterbug.sgn.cornell.edu:8090/ | ||
| bacek | dukeleto, it doesn't really matter which CI tool we'll use. | 08:53 | |
| TapTinder today is most useful for parrot. | |||
| dukeleto | bacek: the more the better | ||
| bacek | Just because it works right now. And can even test different branches | 08:54 | |
| dukeleto | bacek: jitterbug is good at emailing failure reports, TT has a nice irc bot | ||
| bacek: jitterbug tests every commit on every branch by default | |||
| bacek: and knows about perlbrew | |||
| bacek | dukeleto, we don't need perlbrew. At all | ||
| dukeleto | bacek: we need to test that parrot works under perl 5.8, 5.10 and 5.12 | 08:55 | |
| bacek: so i would say that it isn't a huge priority, but is a nice feature | |||
| bacek | dukeleto, we are using perl for Configure and pmc2c (mostly) | 08:56 | |
| And fading out perl 5 usage gracefully. | 08:57 | ||
| dukeleto compiles Parrot on NetBSD | 09:00 | ||
| bacek: if you think our build system or test suite is going to be rid of perl 5 any time soon, you are deluded :) | 09:02 | ||
| bacek | dukeleto, me and cotto rewrote ops2c in nqp. I have old pmc_pct branch to rewrite pmc2c in nqp. | 09:03 | |
| moritz | removing p5 from the Configure system poses a certain bootstrapping problem | ||
| bacek | Not a big deal to resurrect it. | 09:04 | |
| dukeleto | bacek: i am all for not using it unnecessarily, but i don't see the utility of "let's get rid of a perl dep" | ||
| moritz | what are you going to replace it with? | ||
| bacek | Moving from perl5 to (for example) autotools not a big deal. | ||
| moritz | do autotools work on Windows? | ||
| dukeleto | autotools would make cross-compiling parrot much trivial than it is now (i.e. possible) | 09:05 | |
| bacek | moritz, msys and cygwin - yes | ||
| dukeleto | looks like master compiles on NetBSD 5.1. Sweet. | 09:07 | |
| we have a few failing tests, but it mostly seems to work | 09:08 | ||
| moritz | I've written a command line parser in (and for) nqp | 09:09 | |
| so far it supports long and short options, with and without arg... | |||
| grouping of short options without arguments | |||
| bacek | we have Getopt::Long in parrot | ||
| moritz | and ending parsing after certain options (e.g after -e "program") | 09:10 | |
| bacek | sorry Getopt::Obj | ||
| moritz | does a compiler need anything else? | ||
| bacek | moritz, nothing else. | 09:11 | |
| moritz | bacek: I know, but in the medium/long run nqp wants non-parrot backends | 09:12 | |
| instead of wrapping slightly different libs from each vm, we rather have our own | |||
| dukeleto | t/op/spawnw.t is the only test failure on NetBSD | ||
| and i see why | 09:15 | ||
| dalek | rrot: 077c449 | dukeleto++ | t/op/spawnw.t: [t] Tweak spawnw.t tests to run on NetBSD This test file assumed that perl is in our $PATH, but, by default, NetBSD has perl in /usr/pkg/bin/perl, so if /usr/pkg/bin was not in your $PATH, these tests would fail. |
09:32 | |
| moritz | hey, I have an idea for my command line parsing | 09:46 | |
| I can add quantifiers to the specifications | |||
| so foo=s means that --foo expects on string argument | 09:47 | ||
| and bar=i+ would mean --bar expects at least on integer | |||
| and ? and + accordingly | |||
| erm | |||
| ? and * | |||
| 0,1 and 0...Inf | |||
| bacek | moritz, I don't think that semantics of arguments belong to Getopt::* | 09:51 | |
| Or, at least, it should be in 2 "packages". Getopt::Long and Getopt::Smart (modulus naming) | 09:52 | ||
| dukeleto | smolder.parrot.org/app/projects/rep...tails/9384 <-- parrot master PASS on netbsd 5.1 amd64 | 09:54 | |
|
09:54
protorom joined
09:55
AzureStone left,
AzureStone joined
|
|||
| dalek | rrot: a0d3767 | mikehh++ | examples/pir/befunge/setup.pir: fix codetest failure - Bad format in copyright statement |
10:22 | |
| rrot: e5bb489 | mikehh++ | t/op/spawnw.t: fix perlcritic failure - Found platform-specific perl shebang line |
|||
| TT #1106 closed by bacek++: Cannot presently dump Class pmcs | |||
| TT #1106: trac.parrot.org/parrot/ticket/1106 | |||
| moritz | bacek: I think it's getopt::*s job to check if multiple options + values of the same name are allowed or not | 10:24 | |
| bacek | moritz, it's your design decision :) | 10:33 | |
| mikehh | bah - got a failure with t/pmc/threads.t - Failed test: 9 in smoke #9392, reran and it PASSed - smoke #9293 | 10:50 | |
| I am fairly sure it is a timing problem, but we need to look at it | 10:51 | ||
| ha that last should have been smoke #9393 | 10:52 | ||
|
10:57
protorom left
|
|||
| mikehh got to go out for bit - bbl | 11:04 | ||
| dalek | p: 20185cf | moritz++ | / (4 files): incorporate command line parser from github.com/moritz/nqp-cl-parser It is now built and tested along with nqp, but not yet used by HLL::Compiler |
11:26 | |
| p: 47a56ec | moritz++ | src/HLL/CommandLine.pm: POD for HL::CommandLine |
|||
|
11:40
whiteknight joined
11:44
lateau__ joined
11:50
lateau joined
11:57
lateau__ left
11:59
lateau__ joined
|
|||
| dalek | p: 8f27940 | moritz++ | src/HLL/CommandLine.pm: [commandline] get rid of an attribute |
12:09 | |
| p: 69f3951 | moritz++ | src/cheats/nqp-builtins.pir: ok() is now a bit closr to what TAP expects (descriptions instead of comments) |
|||
| rrot-test: 28ba4ae | Whiteknight++ | setup.nqp: Quick stub draft for setup.pir |
12:14 | ||
| p: 90092d0 | moritz++ | / (2 files): [commandline] implement | option aliases |
12:42 | ||
| p: bc69ca5 | moritz++ | src/HLL/Compiler.pm: "revision" is now always 1, use git_describe instead |
12:52 | ||
| jnthn | ~ | ||
| msg bacek not sure what needs the write barrier there - it's just setting an C-level int in an already-allocated, C-level array on line 294. The allocation of the nom_type_cache happened at the PMCs creation time; since it's just an int array it'll never reference another PMC. Is the problem that we somehow need to write barrier the object that ultimately references this array? | 12:58 | ||
| aloha | OK. I'll deliver the message. | ||
|
12:59
Maurice joined
13:29
contingencyplan left
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#9393) fulltest) at 3_0_0-934-ge5bb489 - Ubuntu 10.10 i386 (gcc-4.5 with --optimize) | 13:40 | |
| bah messed that up - that was g++-4.5 with --optimize and now | 13:58 | ||
| All tests PASS (pre/post-config, make corevm/make coretest, smoke (#9408) fulltest) at 3_0_0-934-ge5bb489 - Ubuntu 10.10 i386 (gcc-4.5 with --optimize) | |||
|
14:07
rurban_ joined
14:10
rurban left,
rurban_ is now known as rurban
14:17
kid51 joined
|
|||
| whiteknight | in NQP if I do "class Foo is Exception { } my $ex := Foo.new(); pir::say(pir::typeof__SP($ex);" The result is "Exception", not "Foo" | 14:28 | |
| so is NQP somehow preventing Exception from being inherited? | 14:29 | ||
| jnthn | whiteknight: nqp-rx? | 14:42 | |
| whiteknight | yeah | 14:43 | |
| jnthn | Hmm. Oddness. | ||
| I doubt it treats Exception differently to any other PMC. | 14:44 | ||
| whiteknight | for most of recent history, Exception was not subclassable in Parrot | 14:47 | |
| I've only recently enabled that | |||
| mikehh | rakudo (f4ec358) - builds on parrot (3_0_0-934-ge5bb489) - make test, make spectest_smolder[(#9415), roast (051af06)] PASS - Ubuntu 10.10 i386 (gcc-4.5 with --optimize) | 14:48 | |
| 27,634 ok, 0 failed, 610 todo, 1,841 skipped and 0 unexpectedly succeeded | |||
| mikehh bbl | 14:51 | ||
|
15:01
fperrad joined
|
|||
| dalek | rrot-test: 1e74f24 | Whiteknight++ | / (3 files): re-do setup.nqp so it actually works. |
15:04 | |
| rrot-test: 234cb83 | Whiteknight++ | / (2 files): we didn't borrow Exception::Wrapper from Kakapo, so that isn't available to inherit from. We can subclass Exception directly now, although I haven't tested this kind of implementation |
|||
| rrot-test: bb93b81 | Whiteknight++ | / (4 files): several fixes so that the library builds and runs again. I've done a few ad hoc tests and it appears to be working mostly correctly |
15:05 | ||
| rrot-test: 55d995d | Whiteknight++ | / (3 files): fix listeners. We're now getting some decent-looking TAP output |
|||
| rrot-test: 4128034 | Whiteknight++ | / (14 files): move source files for the xunit-based test classes into an xunit folder |
15:14 | ||
| rrot-test: ea24644 | Whiteknight++ | setup.nqp: update setup.nqp to use the new file paths |
|||
| kid51 | msg mikehh Please see trac.parrot.org/parrot/ticket/2009#comment:3 | ||
| aloha | OK. I'll deliver the message. | ||
| kid51 | msg dukeleto Please see trac.parrot.org/parrot/ticket/2009#comment:3 | 15:15 | |
| aloha | OK. I'll deliver the message. | ||
|
15:19
Kristaba joined
15:21
nwellnhof joined
15:37
lucian joined
15:51
jsut_ left,
lateau left
16:00
kid51 left
16:16
zby_home joined
16:17
Psyche^ joined,
Patterner left,
Psyche^ is now known as Patterner
|
|||
| Coke | whiteknight: note that nqp's "is foo" doesn't use direct parrot inheritence, but goes through p6metaclass. | 16:25 | |
| whiteknight | ok | ||
| Coke | which may relate to my long standing partcl bug. | ||
| (1886) | |||
|
16:37
lucian left
|
|||
| arnsholt | I suppose that's one upside of doing Prolog. No inheritance =) | 16:54 | |
| dalek | p: 14ff770 | moritz++ | src/HLL/Compiler.pm: rewrite HLL::Compiler.evalfiles in nqp |
17:11 | |
|
17:15
nwellnhof left
17:25
lucian joined
|
|||
| dalek | p: 0bbd0c9 | moritz++ | src/HLL/Compiler.pm: remove debugging output that I accidentally left in |
17:33 | |
| p: f481aab | moritz++ | src/HLL/Compiler.pm: rewrite addstage in nqp. Not yet tested, because it is not actually called in nqp. Tough beans. |
|||
| mikehh | cotto: ping | 17:36 | |
| Coke: ping | 17:37 | ||
| dalek | p: 30d842b | jnthn++ | src/stage0/ (4 files): Update bootstrap to include Parrot v-table support in NQPClassHOW. |
17:38 | |
| p: 5c5e80a | jnthn++ | src/Regex/Cursor.pir: Add v-table mapping for Bool method in Cursor, in order to rip out a special case hack. |
|||
| p: 97c3955 | jnthn++ | Configure.pl: Optimized build seems to work out fine on Win32, so do one. |
|||
| mikehh | whiteknight: ping | 17:50 | |
| dalek | p: 873f08a | moritz++ | src/HLL/Compiler.pm: improve an error message |
18:00 | |
| rrot: d4309a5 | mikehh++ | / (4 files): applying patch from TT #2009 from kid51++ also removed $Id$ in MANIFEST/MANIFEST.SKIP and the generation of that as this is also a holdover from SVN |
|||
| p: 25c26a4 | moritz++ | / (2 files): use pure-nqp command line parser I don't know why, but it it regresses on "-o filename". However --output=filename still works. |
18:22 | ||
| p: 1d68f30 | moritz++ | t/hll/05-commandline.t: add a reduced case for the -o regression. The test does not exhibt the bug, so it is mostly useless :( |
|||
| whiteknight | mikehh pong | 18:34 | |
| mikehh | whiteknight: still getting the occaisional failure with t/pmc/threads.t either test 6 or 9, but if i rerun thge test with the failure it passes | 18:35 | |
| whiteknight | mikehh: comment out all the tests that fail for you | 18:36 | |
| don't even TODO or skip them, just take them out for now | |||
| mikehh | It is failing about 1% or less of the time and I usually run with TEST_JOBS=4, might be ok if I didn't use that, but I have run a humungous number of tests recently | 18:38 | |
| what I want to find out is if anyone else is getting failures there | 18:42 | ||
| whiteknight | I haven't seen any other reports of it, but the tests are so poorly written | 18:50 | |
| I don't doubt that people could be seeing problems | 18:52 | ||
| and that's the problem with those two particular tests: they don't give us any certainty that anything is working properly | |||
|
18:52
particle1 left
|
|||
| mikehh | I think we definately need to redesign the test and make it "thread safe" as well | 18:54 | |
| the timer test t/pmc/timer.t can also cause problems if run in parallel | 18:55 | ||
| if I ever start fulltest before make smoke completes these two tests will often fail | 18:57 | ||
|
18:58
fperrad left
|
|||
| mikehh | /me afk for a bit | 19:08 | |
| mikehh afk for a bit | 19:09 | ||
| that's better | |||
|
19:12
ambs joined
|
|||
| Coke | mikehh: pong | 19:34 | |
| dalek | p: 105de53 | jnthn++ | src/stage0/ (4 files): Another re-bootstrap needed to finally kill the get_bool hack. |
19:38 | |
| p: f90cc86 | jnthn++ | t/nqp/52-vtable.t: Tests for v-table inheritance. |
|||
| p: f191cd2 | jnthn++ | src/metamodel/how/NQPClassHOW.pm: Get v-table override inheritance/overriding to work. |
|||
| p: 83b8fca | jnthn++ | src/metamodel/how/NQPClassHOW.pm: Fix a thinko. |
|||
| p: fbfe364 | jnthn++ | src/stage0/ (3 files): Push Parrot v-table override inheritance updates into the bootstrap. |
|||
| p: a3d9dff | jnthn++ | src/pmc/rakudoobject.pmc: Rip out the get_bool hack - it's just a normal Parrot v-table override now. Should be faster. Also, looking over the way Parrot does it, I suspect that 6model may now be able to dispatch PIR-level v-table overrides somewhat faster than Parrot's Class/Object PMCs. :-) |
|||
|
19:44
Andy joined,
zby_home left
19:46
contingencyplan joined
|
|||
| whiteknight | I have a P6protoobject in an NQP program, and I would like to get a reference to the associated Parrot Class PMC. How do I do that? | 19:49 | |
| $proto.HOW().get_parrotclass()? | |||
| dalek | p: 5c5b494 | moritz++ | src/HLL/Compiler.pm: rewrite parts of command_line in nqp |
19:55 | |
| p: 9d325a2 | moritz++ | src/HLL/Compiler.pm: restore proper usage messages |
|||
| p: b350f28 | moritz++ | src/HLL/Compiler.pm: start to port method command_line to nqp |
|||
| jnthn | whiteknight: Yes, that way. | ||
| whiteknight | thanks | 19:56 | |
| jnthn | whiteknight: Be aware that it's a small lie perhaps. | 19:59 | |
| whiteknight: The proto object is actually constructed by subclassing the actual class. | 20:00 | ||
| whiteknight | oh | ||
| jnthn | I think get_parrotclass would always give you the class that instances have. | ||
| Parrot's object model has no concept of an "empty instance". | |||
| So it was faked up that way. | |||
| whiteknight | okay | ||
| What I'm trying to write now is a mechanism to load methods from one class into another class | 20:01 | ||
| jnthn | ...role composition? :) | ||
| Well, not quite but. :) | |||
| whiteknight | so in NQP I have MyExporter::export(Foo::Bar, Foo::Baz) | ||
| the problem is that depending on where I call that, Foo::Bar or Foo::Baz might be NameSpace or P6protoobject PMCs | |||
| and if NameSpace, there might not be a Class PMC created for it yet. NameSpace.get_class() is returning Null | 20:02 | ||
| so I'm becoming a little big flummoxed about how I can reliably get a list of methods from one and inject into the other | |||
| jnthn | Yet another example of why classes and namespaces need a divorce. :/ | 20:03 | |
| If you have a namespace then it doesn't have methods, though? Methods are something a class has. | |||
| whiteknight | I'm working on a unit testing library. I have a "testcase" base class, and we subclass that for individual tests I'm trying to inject a series of assertion functions into the testcase class so I can inherit them in child classes | 20:04 | |
| if I just do namespace importing, I can't see the functions in the subclass. If the methods aren't in the Class, they aren't visible in the MRO | 20:05 | ||
| jnthn | Right, so they need to be add_method'd to the class. | ||
| whiteknight | right | 20:06 | |
| There may no be any way to do what I want to do. | |||
| jnthn | Well, if you can obtain a list of methods to add and iterate over them, calling .add_method, it should be do-able. | ||
|
20:11
Chandon joined
20:12
Chandon left
|
|||
| bacek | ~~ | 20:22 | |
| jnthn, problem with pmc which holds method_cache | |||
| dalek | rrot-test: 1d2c13e | Whiteknight++ | setup.nqp: install the xunit library |
20:24 | |
| rrot-test: 6c5f73c | Whiteknight++ | mockobject/ (7 files): initial upload of Kakapo's mock-object infrastructure. Is not working and is not included in the build |
|||
| rrot-test: fcddc4c | Whiteknight++ | .gitignore: +.gitignore |
|||
| rrot-test: 2b6506f | Whiteknight++ | .gitignore: add generated .pbc files to .gitignore |
|||
| rrot-test: ecdb7d3 | Whiteknight++ | / (8 files): break up the xunit sources into a common library which could conceivably be used for other libs. A few other cleanups |
|||
| rrot-test: 4693175 | Whiteknight++ | .gitignore: +temporaries in common/ to .gitignore |
|||
| rrot-test: 7437cbf | Whiteknight++ | common/Listener/TAP.nqp: +a missing file |
|||
| rrot-test: 47a4ebe | Whiteknight++ | .gitignore: add another folder to .gitignore |
|||
| rrot-test: 47e8747 | Whiteknight++ | / (2 files): redo assertions a little bit. |
|||
| jnthn | bacek: Wait, are we talking about Rakudo or nqp? | 20:28 | |
| bacek | jnthn, nqp | ||
| jnthn, may be it's GenGC bug | 20:29 | ||
| jnthn | jan: Ah, OK, then I know what you're talking about :) | 20:30 | |
| bacek | jnthn, gotcha. Found it. | 20:34 | |
| jnthn | bacek: Found the problem? | 20:36 | |
| bacek: OK. Let me know if you need any help | |||
| bacek: The cache is actually not meant to reference something that the meta-object doesn't also reference. | 20:37 | ||
| But we can't rely on that really. | |||
| bacek | jnthn, I fixed write barrier I've put earlier. | ||
| - PARROT_GC_WRITE_BARRIER(interp, $1); | |||
| + PARROT_GC_WRITE_BARRIER(interp, STABLE_PMC($1)); | |||
| in publish_method_cache | |||
| lucian | i was wondering, is there a lively lisp on parrot? | ||
| dalek | p: 2255560 | bacek++ | src/ops/nqp.ops: Fix write barrier in updating method_cache |
20:38 | |
| jnthn | bacek: Aha! :) | 20:40 | |
| arnsholt | lucian: I've been considering starting a CL on Parrot, but I figured that a single HLL on my own is probably enough =) | ||
| lucian | arnsholt: i have a bunch of ideas i'd like to try out at some point for a lisp-like language, i was wondering whether there's something to piggyback on | 20:42 | |
| i think there was a reasonable implementation of part of scheme, but it wasn't maintained | 20:43 | ||
| arnsholt: btw, what HLL are you working on? | 20:44 | ||
| sorear | jnthn: a generational copying GC needs to know *all* the old objects that have pointers to new objects so it can update addresses | ||
| jnthn: "The cache doesn't reference antthing that the meta-object doesn't also reference" isn't good enough in the long run | 20:45 | ||
| jnthn | sorear: True. | ||
| jnthn is still getting used to where the write barriers need to go :) | 20:46 | ||
| arnsholt | lucian: I'm working on a Prolog (github.com/arnsholt/parrotlog) | 20:51 | |
| And yeah, I think there's a dormant Scheme implementation, and I think I've seen a CL in the HLL list as well | 20:52 | ||
| lucian | arnsholt: oh dear, you must be insane :) | ||
| arnsholt | A bit. I found a way to implement backtracking with continuations (this doesn't help, does it? =) in a CL book, and figured I might as well try a Parrot HLL, since Parrot has continuations natively | 20:53 | |
| I quite like Prolog, TBH. When you need non-deterministic search, it really can't be beat =) | |||
| lucian | arnsholt: i think its syntax is a huge failure, otherwise it might be interesting | 20:58 | |
| arnsholt | What is it about the syntax you don't like? | ||
| lucian | btw, backtracking with continuations isn't exactly crazy | 20:59 | |
| i just find it extremely hard to read | |||
| arnsholt | Yeah, continuations are a pretty sane way to do it (once you're insane enough to grok continuations =) | ||
| I find the syntax to be OK to read (although it turns out it's actually a bit less sane to parse) | 21:00 | ||
| I find Lisp to be less readable TBH. Very nice way to program, but I don't really like the syntax =) | |||
| lucian | arnsholt: ah, i disagree with that :) | 21:01 | |
| lisps aren't exactly great to read, but still ok | |||
| better than java, for me | |||
| arnsholt | I can probably agree on the Java point | ||
| I just find Lisp code to be a bit monotonous when I have a full page of code | |||
| lucian | arnsholt: yes, that is one of its failings. clojure is getting better with the nice literals, and their use in syntax (function arguments are vectors [a b c]) | 21:02 | |
| arnsholt | I'm a Perl man at heart, so I'm more "different things should look different" than "homoiconicity FTW" | ||
| lucian | ah. i'm a python nut, i guess. i value readability above many things | 21:03 | |
| arnsholt | I have a friend who disagrees violently on that last point ^^ | ||
| lucian | yes, i have a one of those too :) | ||
| i may have said this before, i'd like to see something between python, lisp and yaml | |||
| arnsholt | Hmm. Python-y Lisp should be pretty feasible, now that you mention it | 21:05 | |
| moritz | it's sad that even with a good toolchain, it's much hard work to build a compiler for a new programming language up to a point where you can actually use it | ||
| dalek | p: f6b7f76 | moritz++ | t/p6regex/01-regex.t: make p6regex tests runnable again |
||
| lucian | arnsholt: actually, that has been researched to a point. look for Ginger | 21:06 | |
| arnsholt: ging3r.org/learn.html | |||
| arnsholt | moritz: Yeah, I guess. I think part of the problem is that compilers are kinda hard, as well =) | ||
| lucian | moritz: part of the appeal of lisps is the democratisation of the compiler | ||
| arnsholt | ging3r.org doesn't resolve for me, but I did find some blogposts | 21:09 | |
| lucian | arnsholt: there's a nice research paper, Ginger: Implementing a new Lisp family syntax. it's like he read my mind | 21:11 | |
| arnsholt: hmm, i can't resolve ging3r.org anymore either. did i break it somehow? | 21:12 | ||
| cotto | mikehh, pong (not around for long though) | 21:33 | |
|
21:35
kid51 joined
|
|||
| dalek | rrot: adba550 | jkeenan++ | lib/Parrot/Manifest.pm: '{id}' element no longer needed. |
21:35 | |
| cotto | aloha, clock? | 21:37 | |
| aloha | cotto: LAX: Sun, 13:37 PST / CHI: Sun, 15:37 CST / NYC: Sun, 16:37 EST / UTC: Sun, 21:37 UTC / LON: Sun, 21:37 GMT / BER: Sun, 22:37 CET / TOK: Mon, 06:37 JST / SYD: Mon, 08:37 EST | ||
| dalek | rrot-test: 15c3d05 | Whiteknight++ | common/Assertions.nqp: Assert::throws does not take a type argument. We arne't subclassing exceptons without kakapo |
21:48 | |
| rrot-linear-algebra: 41759e3 | Whiteknight++ | t/ (77 files): remove the use() directives, which were necessary previously. That logic will be handled in the new parrot-test |
|||
| rrot-linear-algebra: fb000d2 | Whiteknight++ | t/harness: don't rely on Kakapo FileSystem anymore. |
|||
| rrot-linear-algebra: c3c7944 | Whiteknight++ | t/ (5 files): start fixing tests |
|||
| rrot-linear-algebra: f18597c | Whiteknight++ | t/ (4 files): many fixes to the harness and the testlib. We are running all tests and passing several. Still many failures, probably related to Kakapo-related things that aren't there anymore |
21:49 | ||
| rrot-linear-algebra: d573e0b | Whiteknight++ | t/ (19 files): fix several more tests, but many more failures still to go |
|||
| rrot-linear-algebra: ec705ce | Whiteknight++ | t/testlib/methods/ (17 files): more fixes |
|||
| rrot-linear-algebra: c32b085 | Whiteknight++ | t/ (4 files): more fixes, but now the test suite does not run to completion |
|||
| rrot-linear-algebra: 5c136e3 | Whiteknight++ | t/pmc/complexmatrix2d.t: fix complexmatrix2d tests so that it passes. We're running all test again, and now passing the vast majority of them |
|||
|
21:50
particle joined
|
|||
| bacek_at_work | ~~ | 21:50 | |
|
21:55
sorear left
21:56
sorear joined,
bluescreen joined,
Kristaba left
22:07
rurban_ joined
22:10
rurban left,
rurban_ is now known as rurban
|
|||
| dalek | rrot: cccb01e | jkeenan++ | lib/Parrot/IO/File.pm: Eliminate remaining svn-related functions. |
22:16 | |
|
22:19
ambs left
22:38
Andy left
22:41
protorom joined,
eternaleye_ is now known as eternaleye
23:00
PacoLinux left
23:22
protorom left
23:38
Themeruta is now known as NotFound
23:43
Kapace joined
|
|||
| kid51 | darwin/ppc: make fulltest PASS at cccb01e71961 (that's non-optimize, compile with gcc, link,ld with g++) | 23:51 | |