Camelia, the Perl 6 bug

IRC log for #parrot, 2011-02-17

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:04 ttbot Parrot 4b37667f i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/18886
00:08 plobsing by the looks of that tt report, looks like someone has to rebootstrap ops.
00:09 donaldh left #parrot
00:14 vmspb left #parrot
00:15 cotto joined #parrot
00:15 cotto ~~
00:16 cosimo joined #parrot
00:20 mj41_ joined #parrot
00:24 mj41 left #parrot
00:24 mj41_ is now known as mj41
00:28 lucian_ joined #parrot
00:29 Util left #parrot
00:29 Util joined #parrot
00:31 lucian left #parrot
00:35 hatseflats left #parrot
00:35 hatseflats joined #parrot
00:39 lucian joined #parrot
00:43 lucian_ left #parrot
00:45 dalek TT #2017 created by jkeenan++: gen_gc2 branch: t/pmc/namespace-old.t and t/pmc/resizablepmcarray.t test ...
00:45 dalek TT #2017: http://trac.parrot.org/parrot/ticket/2017
00:47 dalek parrot/gen_gc2: 6ddd127 | bacek++ | lib/Parrot/Pmc2c/PCCMETHOD.pm:
00:47 dalek parrot/gen_gc2: Fix previous commit with fixing PCC RETURN rewriting.
00:47 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/6ddd127005
00:47 bacek_at_work whiteknight, can you pull gen_gc2 and retest it?
00:49 cosimo left #parrot
00:52 mtk left #parrot
00:55 whiteknight sure
00:55 lucian_ joined #parrot
00:58 lucian left #parrot
00:59 mtk joined #parrot
01:01 dmalcolm left #parrot
01:01 dalek TT #2018 created by bacek++: Improve pmc2c to support :manual_wb flag.
01:01 dalek TT #2018: http://trac.parrot.org/parrot/ticket/2018
01:02 lucian__ joined #parrot
01:03 lucian_ left #parrot
01:06 whiteknight bacek: tests looking good so far. I've submitted a few passing smoke tests
01:07 cotto bacek_at_work, I like that solution.
01:07 lucian__ left #parrot
01:07 bacek_at_work cotto, TT #2018?
01:08 cotto yes
01:09 bacek_at_work cotto, yes. It's exactly what we discussed.
01:09 cotto that'd explain it
01:09 cotto ;)
01:11 bacek_at_work :)
01:11 nwellnhof imo we should aim for a more sytematic approach to write barriers in the long run
01:11 plobsing nwellnhof: systemic how?
01:12 nwellnhof *systematic
01:12 nwellnhof a macro to change PMC pointers
01:13 bacek_at_work SETATTR_foo?
01:13 bacek_at_work It will not cover 100% of usecases
01:13 nwellnhof why not?
01:13 plobsing to be more general you could have a macro to "set this PMC pointer on behalf of this PMC"
01:14 nwellnhof yes, i proposed that on parrot-dev quite a while ago
01:21 cotto so you did
01:28 whiteknight we used to have writebarrier macros
01:28 whiteknight GC_WRITE_BARRIER(interp, parent, child)
01:29 whiteknight the old generational gc used intergenerational-pointer banks
01:30 nwellnhof parrot had a generational gc before?
01:33 mikehh left #parrot
01:33 whiteknight a prototype one. to my knowledge it was never completed and never worked
01:35 whiteknight eventually we just ripped it out, because it didn't work and was geting increasingly bitrotten as we refactored
01:35 cotto_work left #parrot
01:41 cotto_work joined #parrot
01:56 nwellnhof left #parrot
02:07 kid51 joined #parrot
02:07 dalek parrot-test: 5ca5b3c | Whiteknight++ | tap_harness/ (2 files):
02:07 dalek parrot-test: in the harness, handle the case where we have no TAP output. Displayed as 'not ok', but doesn't count as a failure
02:07 dalek parrot-test: review: https://github.com/Whiteknight​/parrot-test/commit/5ca5b3c94d
02:07 dalek parrot-test: ddbe2e5 | Whiteknight++ | xunit/ (4 files):
02:07 dalek parrot-test: xunit: remove the Standalone class. It wasn't used in the current scheme
02:07 dalek parrot-test: review: https://github.com/Whiteknight​/parrot-test/commit/ddbe2e5c5b
02:07 dalek parrot-test: f942d1c | Whiteknight++ | t/ (2 files):
02:07 dalek parrot-test: t: add an example tap_harness harness and an xunit test file
02:07 dalek parrot-test: review: https://github.com/Whiteknight​/parrot-test/commit/f942d1c182
02:10 kid51 is now known as kid51_at_dinner
02:10 bacek_at_work (761 - 693) / 761 * 100
02:10 aloha 8.93561103810775
02:39 dalek parrot-test: 4358d2f | Whiteknight++ | / (5 files):
02:39 dalek parrot-test: fix all the failures I already introduced tonight
02:39 dalek parrot-test: review: https://github.com/Whiteknight​/parrot-test/commit/4358d2fe20
02:39 dalek parrot-test: 7fc9c28 | Whiteknight++ | / (8 files):
02:39 dalek parrot-test: rearrange setup. get rid of the 'common' lib, which wasn't common
02:39 dalek parrot-test: review: https://github.com/Whiteknight​/parrot-test/commit/7fc9c28f32
02:39 dalek parrot-test: fbe22c2 | Whiteknight++ | xunit/ (4 files):
02:39 dalek parrot-test: +files
02:39 dalek parrot-test: review: https://github.com/Whiteknight​/parrot-test/commit/fbe22c241f
02:39 whiteknight left #parrot
03:14 kid51_at_dinner left #parrot
03:47 patspam joined #parrot
03:54 jsut joined #parrot
03:57 dalek TT #406 closed by jkeenan++: t/examples/library.t - pcre check flawed
03:57 dalek TT #406: http://trac.parrot.org/parrot/ticket/406
03:59 jsut_ left #parrot
04:05 rdesfo left #parrot
04:13 dalek TT #2017 closed by bacek++: gen_gc2 branch: t/pmc/namespace-old.t and t/pmc/resizablepmcarray.t test ...
04:13 dalek TT #2017: http://trac.parrot.org/parrot/ticket/2017
04:25 mikehh joined #parrot
04:54 dalek parrot/gen_gc2: 0aa7b59 | bacek++ | lib/Parrot/Pmc2c/PMC.pm:
04:54 dalek parrot/gen_gc2: Add vtable_method_has_manual_wb accessor
04:54 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/0aa7b594f9
04:54 dalek parrot/gen_gc2: 99e9649 | bacek++ | lib/Parrot/Pmc2c/PMC.pm:
04:54 dalek parrot/gen_gc2: Don't generate WBed vtables for :manual_wb VTABLEs
04:54 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/99e96499d8
04:54 dalek parrot/gen_gc2: 8fcbee3 | bacek++ | src/pmc/fixedintegerarray.pmc:
04:54 dalek parrot/gen_gc2: Mark set_foo_keyed_bar methods with :manual_wb in FIA
04:54 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/8fcbee3537
04:56 cotto bacek_at_work, is the "note" in t/steps/auto/gc-01.t important?
05:04 patspam left #parrot
05:07 lateau joined #parrot
05:08 dalek parrot/gen_gc2: a81c3fc | cotto++ | / (2 files):
05:08 dalek parrot/gen_gc2: fix (or at least silence) failing auto::gc tests, set gms as configure-time default
05:08 cotto I hope it wasn't important.
05:08 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/a81c3fc9b2
05:33 cotto github++
05:36 arnsholt left #parrot
05:38 arnsholt joined #parrot
06:11 rurban_ joined #parrot
06:13 rurban left #parrot
06:14 rurban_ is now known as rurban
06:23 cotto I'm thinking that in m0 bytecode, there'll be a directory segment, a bytecode segment, a variables table segment and a metadata segment, possibly with several instances of the last three.
06:23 cotto Does that make sense, and does it sound like a good idea to tie the last three (bytecode, variables table and metadata) together?
06:54 bacek_at_work cotto, I just modified original auto::gc step. "note" was already in. I think it's better to ask kid51 about importance of this test.
06:55 cotto bacek_at_work, ok
06:56 cotto msg kid51 Could you take a look at https://github.com/parrot/parrot/commit/a81c3fc9b2 and make sure I'm not messing up anything important?  The "note" appeared to be causing problems so I took it out, but I'm not sure what it was supposed to be doing there.
06:56 aloha OK. I'll deliver the message.
06:56 theory left #parrot
06:57 cotto bacek++ for aloha
06:57 cotto It's nice to have a usable bot around.
06:57 cotto especially since it doesn't do all the stupid stuff purl did
07:07 bacek_at_work cotto, do we still need yaml-fix branch?
07:10 cotto I suspect not, but I'd have to look at it.
07:10 cotto just a sec
07:10 bacek_at_work cotto, it's your fingerprints all over the place :)
07:11 cotto You'd think I'd remember that.
07:13 cotto It's safe to nuke and I'll do so now.
07:13 cotto done
07:14 cotto bacek_at_work, how big of a problem is mmd_cache causing for gen_gc?
07:15 bacek_at_work cotto, no problems at all. I already patched rakudo to handle it properly.
07:15 bacek_at_work Just cage cleaning
07:15 cotto ok
07:15 cotto I saw the "major" priority and wondered about it.
07:15 bacek_at_work msg whiteknight Can we kill tt389_fix branch?
07:15 aloha OK. I'll deliver the message.
07:16 bacek_at_work cotto, erm. I probably was too angry after couple of hours of debugging.
07:19 cotto totally understandable
07:24 bacek_at_work http://bugs.debian.org/cgi-b​in/bugreport.cgi?bug=610994
07:25 bacek_at_work cotto, we should look at this debian bug.
07:25 bacek_at_work And I'm going home now.
07:25 * cotto looks
07:26 cotto 2.9.1.  Charming.
07:28 jan left #parrot
07:36 cotto bacek, how did you become aware of that bug?
07:45 moritz any objections to just adding the --mandir=/usr/share/man option in ports/debian/rules ?
07:49 cotto moritz, no, but I'd also like to make sure we have someone around who understands those files and has tuits to maintain them.
07:50 * moritz only has very shallow understanding
07:50 cotto same here
07:51 cotto nothing deeper than a post on the ksplice blog
07:51 moritz looking at the control file... huh. Package: libparrot2.9.1
07:52 cotto looks like it's generated from control.in
07:53 moritz ah, right
07:53 moritz that makes sense
07:53 moritz but what generates them? :/
07:53 moritz I guess there's a doc somewhere...
07:54 dalek parrot: 4c50f6b | moritz++ | ext/nqp-rx/src/stage0/ (3 files):
07:54 dalek parrot: [nqp-rx] import bootstrap files from fde6377648205d7e9b28bbbc09d730df8ae63978; allows <*> as the body of proto regexes
07:54 dalek parrot: review: https://github.com/parrot/parrot/commit/4c50f6b2d6
07:54 dalek parrot: 09934c9 | moritz++ | ports/debian/rules:
07:54 dalek parrot: change mandir in debian package; see http://bugs.debian.org/610994
07:54 dalek parrot: review: https://github.com/parrot/parrot/commit/09934c9ced
07:54 moritz oops, I didn't mean to push 4c50f6b
07:54 cotto beats me
07:54 moritz I guess it doesn't hurt either
08:10 ShaneC joined #parrot
08:16 lucian joined #parrot
08:24 lucian left #parrot
08:25 fperrad joined #parrot
08:40 mtk left #parrot
08:46 mtk joined #parrot
09:15 ShaneC left #parrot
09:30 dalek parrot/m0-spec: c70f917 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
09:30 dalek parrot/m0-spec: add some thoughts on the binary format for m0
09:30 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/c70f917c47
09:47 dukeleto ~~
09:47 bacek ~~
09:47 dalek parrot/leto/embed_grant: dcea7b5 | dukeleto++ | t/src/extend_vtable.t:
09:47 dalek parrot/leto/embed_grant: Add coverage to thawfinish vtable
09:47 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/dcea7b5bc8
09:47 dalek parrot/leto/embed_grant: f569232 | dukeleto++ | t/src/extend_vtable.t:
09:47 dalek parrot/leto/embed_grant: [t] Parrot_PMC_shift_pmc
09:47 dalek parrot/leto/embed_grant: review: https://github.com/parrot/parrot/commit/f56923244a
10:08 AzureStone left #parrot
10:08 AzureStone joined #parrot
10:10 bacek cotto, I think I found next -Ofun project: extend opsc to properly parse op bodies.
10:10 bacek Then we can use it to emit current core_ops.c.
10:10 bacek Or Lorito
10:10 bacek Or jitted code directly
10:10 bacek (With help of pirate)
10:17 dalek nqp/match-nom: 44a0d5f | jonathan++ | src/ (2 files):
10:17 dalek nqp/match-nom: Some fixes to the exists v-table overrides. Gets us a bit further along the compile.
10:17 dalek nqp/match-nom: review: https://github.com/perl6/nqp/commit/44a0d5f8ad
10:20 contingencyplan left #parrot
10:28 dalek nqp: 8d32128 | jonathan++ | src/cheats/hll-grammar.pir:
10:28 dalek nqp: Gut the hll-grammar cheats, since they got incorporated into HLL::Grammar as part of the 6model changes. Just left behind one little bit which needs migrating.
10:28 dalek nqp: review: https://github.com/perl6/nqp/commit/8d32128ef4
10:36 bacek http://schani.wordpress.com/2010/12/20/sgen/
10:36 bacek Heh :) 2 years
10:45 dalek nqp: 6f1b093 | moritz++ | src/cheats/hll-grammar.pir:
10:45 dalek nqp: can rip out even more of cheats/hll-grammar.pir
10:45 dalek nqp: review: https://github.com/perl6/nqp/commit/6f1b093a5d
11:05 mj41 mingw32-make on WinXP throw dialog window ... miniparrot.exe .... CreateSymbolicLinkW not found in KERNEL32.dll
11:07 mj41 probably on this command http://tt.taptinder.org/cmdinfo/19967
11:08 mj41 oh ... on nwellnhof/unicode_dynpmcs branch http://tt.taptinder.org/cwm/wconf_rref/id-5
11:13 lucian joined #parrot
11:25 dalek parrot/gen_gc2: 09934c9 | moritz++ | ports/debian/rules:
11:25 dalek parrot/gen_gc2: change mandir in debian package; see http://bugs.debian.org/610994
11:25 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/09934c9ced
11:25 dalek parrot/gen_gc2: 57b0c83 | bacek++ | /:
11:25 dalek parrot/gen_gc2: Merge commit 'b1d3cb567dc9c82d46741506719bfe8128337a29' into gen_gc2
11:25 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/57b0c83db5
11:25 dalek parrot/gen_gc2: f1af399 | bacek++ | /:
11:25 dalek parrot/gen_gc2: Merge commit '7db4a1f04ea21c24c3a9882e50125cc4d989fb64' into gen_gc2
11:25 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/f1af399a58
11:25 dalek parrot/gen_gc2: 74d591c | bacek++ | / (4 files):
11:25 dalek parrot/gen_gc2: Merge branch 'master' into gen_gc2
11:25 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/74d591c485
11:25 dalek parrot/gen_gc2: 22e1fca | bacek++ | compilers/opsc/src/Ops/Trans/C.pm:
11:25 dalek parrot/gen_gc2: Bring Ops::Trans::C from master
11:25 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/22e1fca723
11:25 dalek parrot/gen_gc2: 2d0ad22 | bacek++ | compilers/opsc/ops2c.nqp:
11:25 dalek parrot/gen_gc2: Remove accidentally committed debug output
11:25 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/2d0ad22ebc
11:25 dalek parrot/gen_gc2: 607b197 | bacek++ | include/parrot/list.h:
11:25 dalek parrot/gen_gc2: Bring include/parrot/list.h from master
11:25 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/607b197203
11:27 dalek nqp/match-nom: f10b936 | moritz++ | src/ (2 files):
11:27 dalek nqp/match-nom: vtable delete overrides
11:27 dalek nqp/match-nom: review: https://github.com/perl6/nqp/commit/f10b936eb6
11:27 dalek nqp/match-nom: a22edc2 | moritz++ | t/nqp/52-vtable.t:
11:27 dalek nqp/match-nom: more vtable tests
11:27 dalek nqp/match-nom: review: https://github.com/perl6/nqp/commit/a22edc2b68
11:33 darbelo joined #parrot
11:36 benabik left #parrot
11:38 lucian left #parrot
11:45 bluescreen joined #parrot
11:50 bacek moritz, does nqp support attributes as rvalues?
11:50 lateau left #parrot
11:52 lucian joined #parrot
12:08 bacek moritz, nm, found it
12:19 bluescreen left #parrot
12:22 dalek parrot-test: e7e27b9 | Whiteknight++ | / (2 files):
12:22 dalek parrot-test: small cleanups
12:22 dalek parrot-test: review: https://github.com/Whiteknight​/parrot-test/commit/e7e27b9bd7
12:22 dalek parrot-test: 67faf3a | Whiteknight++ | / (9 files):
12:22 dalek parrot-test: s/UnitTest/ParrotTest/, for consistency
12:22 dalek parrot-test: review: https://github.com/Whiteknight​/parrot-test/commit/67faf3aaaa
12:24 tadzik a testing framework for Parrot?
12:26 bluescreen joined #parrot
12:40 dalek nqp/ctmo: b40895c | jonathan++ | src/metamodel/reprs/P6opaque.c:
12:40 dalek nqp/ctmo: Fix freeing of memory associated with type objects that happen to get GC'd.
12:40 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/b40895c3a0
12:40 dalek nqp/ctmo: e6663bb | jonathan++ | src/NQP/Grammar.pm:
12:40 dalek nqp/ctmo: Construct meta-object at compile time.
12:40 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/e6663bb57b
12:40 dalek nqp/ctmo: 2da9123 | jonathan++ | / (3 files):
12:40 dalek nqp/ctmo: Stub in serialization context builder, with some explanation of what it's aimed at doing.
12:40 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/2da9123d3d
12:40 dalek nqp/ctmo: 0a16798 | jonathan++ | src/HLL/SerializationContextBuilder.pm:
12:40 dalek nqp/ctmo: Stub in various initial methods that I expect to have in the serialization context builder.
12:40 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/0a167985e1
12:41 dalek parrot: 8656264 | (Gerd Pokorra)++ | compilers/data_json/JSON.nqp:
12:41 dalek parrot: add a JSON grammar with NQP
12:41 dalek parrot: review: https://github.com/parrot/parrot/commit/8656264e29
12:41 dalek parrot: cc5339a | (Gerd Pokorra)++ | MANIFEST:
12:41 dalek parrot: update manifest
12:41 dalek parrot: review: https://github.com/parrot/parrot/commit/cc5339a80f
12:56 lucian left #parrot
12:58 tadzik bacek: http://nopaste.snit.ch/32946 Rakudo spectest, gen_gc2 with --optimize
12:59 moritz tadzik, bacek: the first test failure (protoregex.t) is actually a test change, nothing to blame gen_gc2 for
12:59 tadzik first fail is some parse error, second is something matching related
12:59 tadzik yeah, I think so
13:00 tadzik http://nopaste.snit.ch/32947 -- the second test
13:01 * moritz tries a fix for the first test
13:03 tadzik looks like .worry being .panic or something
13:04 moritz a syntax change that rakudo hasn't bothered to do
13:08 dalek parrot: 127b072 | (Gerd Pokorra)++ | tools/dev/mk_manifest_and_skip.pl:
13:08 dalek parrot: documentation: tell that MANIFEST is to add
13:08 dalek parrot: review: https://github.com/parrot/parrot/commit/127b072651
13:19 benabik joined #parrot
13:33 mtk left #parrot
13:38 whiteknight joined #parrot
13:44 whiteknight good morning, #parrot
13:44 tadzik good morning whiteknight
14:02 whiteknight hello tadzik, how are you today?
14:11 rurban_ joined #parrot
14:11 tadzik whiteknight: not bad. Trying to resurrect Close
14:12 whiteknight oh really? That's awesome
14:12 rurban left #parrot
14:13 rurban_ is now known as rurban
14:13 tadzik yeah, the idea is awesome :)
14:15 whiteknight been talking to Austin about it at all?
14:16 tadzik nah, but I remember dukeleto mentionind that. Maybe it'd be good to. So far, I converted the repo to git, fixed some regressions and I plan to push it to GH and ask for help, as there are too many mysterious things for me
14:22 tadzik whiteknight: https://github.com/tadzik/Close if you want to take a look
14:23 tadzik the problem is described inside the commit msg
14:23 * tadzik mails Austin
14:26 Coke macports updated to 3.0
14:28 Coke (may take some time to arrive, but the upgrade has been committed to the ports repo.)
14:31 whiteknight tadzik: Austin is extremely bright, and much of his software has a lot of functionality. I know Kakapo did a hell of a lot of work, some of it I still don't understand
15:03 Andy joined #parrot
15:11 tadzik hrm, is api.yaml really a valid yaml?
15:11 tadzik I checked under 2 different validators and they both raise syntax errors
15:22 darbelo Really? I thought someone had mentioned writing tests for that.
15:24 mtk joined #parrot
15:27 plobsing left #parrot
15:28 dalek parrot: 7066f3b | (Gerd Pokorra)++ | co (3 files):
15:28 dalek parrot: add rules to build JSON_LANG with NQP
15:28 dalek parrot: review: https://github.com/parrot/parrot/commit/7066f3b2b8
15:28 bluescreen left #parrot
15:30 ttbot Parrot 7066f3b2 i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/20555
15:31 cotto_work ~~
15:32 ttbot Parrot 7066f3b2 i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/20556
15:36 cotto_work bacek: you're not talking about parsing C, are you?
15:36 ttbot Parrot 7066f3b2 darwin-thread-multi-2level make error http://tt.taptinder.org/cmdinfo/20579
15:39 bluescreen joined #parrot
15:41 atrodo cotto_work> Why not?  What could possibly go wrong?
15:41 dalek parrot: 6bf4a8e | (Gerd Pokorra)++ | compilers/data_json/Rules.mak:
15:41 dalek parrot: correct mistake
15:41 dalek parrot: review: https://github.com/parrot/parrot/commit/6bf4a8e0d6
15:41 cognominal left #parrot
15:41 atrodo cotto_work> Then again, that's probably a noble goal for Lorito
15:41 cotto_work parsing C?
15:41 cotto_work or using M0 ops to replace it?
15:42 contingencyplan joined #parrot
15:43 dalek TT #2019 created by doughera++: Set GC_DEFAULT_TYPE in config.h instead of on cc command line.
15:43 dalek TT #2019: http://trac.parrot.org/parrot/ticket/2019
15:43 atrodo cotto_work> Parsing C or C-like to generate the M0 for the M1 ops
15:44 cotto_work The current goal is the opposite of that.
15:44 cotto_work M0 -> C
15:44 cotto_work well, a current goal
15:45 atrodo I'm just thinking, to convert the current ops to M0 could be an undertaking
15:45 plobsing joined #parrot
15:46 cotto_work atrodo: sure but much less difficult than correctly parsing C.
15:46 atrodo The parsing of C or C semantics?
15:48 benabik 'lo #parrot!
15:48 atrodo 'lo!
15:49 tadzik o/
15:57 jan joined #parrot
15:59 dmalcolm joined #parrot
16:00 arnsholt pmichaud: I've submitted a patch to PCT at TT #2008. If you could review it, that'd be great
16:00 cotto_work seen pmichaud
16:00 aloha pmichaud was last seen in #perl6 1 mins 8 seconds ago saying "parks were quite empty".
16:00 pmichaud good morning, #parrot :=)
16:01 cotto_work welcome back, pmichaud
16:01 benabik G'morning!
16:02 pmichaud arnsholt: I don't understand why the pop_eh should be avoided/avoidable
16:03 zostay joined #parrot
16:04 arnsholt It makes my life a bit complicated in my Prolog. On backtracking (that is, invokation of a continuation) it has a tendency to hit the pop_eh a second time, which is infelicitous
16:06 lucian joined #parrot
16:06 arnsholt Doing the popping on my own was the simplest solution I could see
16:13 arnsholt (A bit more context, if you know Prolog: This is the bit implementing the catch/3 structure)
16:14 pmichaud I think that in this case, perhaps you shouldn't be using the 'try' pasttype at all, and roll your own structure completely.
16:14 pmichaud 'try' is really intended to be a nicely encapsulated exception handler;  removing the pop_eh loses that encapsulation
16:15 arnsholt Good point
16:16 pmichaud it does indicate a possible issue with Parrot's exception model though -- should a continuation also encapsulate the exception handlers in place?
16:16 pmichaud (I don't know the answer to that one.)
16:17 arnsholt Good question
16:17 arnsholt Also, pmichaud++ for making me think of yet another thing that is probably wrong in my HLL =)
16:17 Patterner left #parrot
16:17 Psyche^ joined #parrot
16:17 Psyche^ is now known as Patterner
16:18 theory joined #parrot
16:18 arnsholt If I backtrack into the code protected by catch/3 and it then throws an exception, it won't work right
16:29 whiteknight prolog is tricky
16:30 whiteknight does nqp have a null-coalesce operator?
16:30 arnsholt I hadn't noticed? =)
16:30 arnsholt s/\?/.
16:30 jnthn whiteknight: No, though it would be handy.
16:30 whiteknight I thought I saw an // operator somewhere, but I don't see it in the nqp-rx test suite
16:30 jnthn // is defined-or, not null-or
16:31 whiteknight oh, okay. That's probably what I need in this context
16:31 whiteknight and it works in nqp-rx?
16:31 jnthn believe so
16:31 jnthn It certainly isn't something that's been added. :)
16:45 cotto_work ooc, how many pir-level subs are in perl6?
16:47 dalek winxed: r807 | NotFound++ | trunk/winxedst1.winxed:
16:47 dalek winxed: set an attribute in ForeachStatement if the loop var is being defined, not used
16:47 dalek winxed: here but needed for extensions(winxedxx)
16:47 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=807
16:52 whiteknight yeah, looking at the nqp grammar file it does appear to be in there
16:54 cotto_work pbc_disassemble not knowing where dynop libs live just got annoying
16:58 dalek winxed: r808 | NotFound++ | trunk/winxedst1.winxed:
16:58 dalek winxed: fix mistake from r807
16:58 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=808
17:00 jnthn cotto_work: Not sure...all of src/builtins is hand-written PIR today. Could just grep for .sub :-)
17:00 jnthn cotto_work: That's where most of them are.
17:03 cotto_work that'd be a good first approximation
17:03 cotto_work ack says ~7000
17:04 jnthn whoa...really?
17:04 jnthn Just in builtins?
17:04 cotto_work ack -a '^[ ]*\.sub' |wc -l
17:04 cotto_work that's after running make
17:07 pmichaud cotto_work: from what directory?
17:07 pmichaud pmichaud@orange:~/rakudo/src/builtins$ ack -a '^[ ]*\.sub' | wc -l
17:07 pmichaud 261
17:08 pmichaud pmichaud@orange:~/rakudo$ ack -a '^[ ]*\.sub' src | wc -l
17:08 pmichaud 399
17:08 pmichaud looks like 399 in all of src/
17:08 Topic for #parrot is now Parrot 3.1.0 Released | http://parrot.org | Log: irclog.perlgeek.de/parrot/today | Goals: merge and extensively test gen_gc2
17:08 lucian left #parrot
17:08 * mikehh forgot to do that
17:09 cotto_work pmichaud: that's from the root of a rakudo build dir.  There's probably some junk there somewhere.
17:09 pmichaud cotto_work: try "make realclean" first
17:10 pmichaud and you're getting all of the generated subs, likely
17:10 pmichaud i.e., everything from the grammars and core.pir and the like
17:10 pmichaud and if there's a parrot subdir, you might be getting all of it as well :-)
17:11 pmichaud were you looking for handwritten .subs or the generated ones as well?
17:11 cotto_work pmichaud: anything in perl6.pbc
17:11 pmichaud ah.  ~7000 sounds about right to me then
17:11 cotto_work probably best to run under gdb and poke around there
17:11 pmichaud every closure is a sub
17:12 pmichaud and every Perl 6 Routine/Sub/Method requires an extra "setup sub" to attach its properties
17:12 Coke any github gurus here? how to rename a github repo?
17:12 pmichaud Coke: I simply pushed to a new repo
17:12 mtk left #parrot
17:12 tadzik was somebody fixing PCT tutorial a while ago?
17:13 arnsholt Coke: Repo front page > Admin
17:14 Coke arnsholt: I see no admin link.
17:14 tadzik nvm, found in git log
17:16 arnsholt Coke: Strange. Mine is top-right, a bit to the left of the watchers and forks buttons
17:17 Coke arnsholt: D'oh. probably because I am not the /owner/
17:17 mtk joined #parrot
17:18 arnsholt That might be it =)
17:19 Coke I'm a collaborator and can do most anything, but needed to use the partcl account to see that. thanks!
17:19 Coke ... now I need to actually think if I want to bother. ;)
17:24 tadzik hrmpf. Anyone mind me making a note in a PCT tutorial that our Squaak in Episode 3 will not be runnable before completing the exercises?
17:28 Coke nope.
17:29 mikehh tadzik: don't se why you shouldn't
17:29 mikehh see
17:31 tadzik first I need to make my squaak run _after_ completing the exercises
17:32 tadzik neh, I can't type. "idenfifier"
17:37 dalek parrot: 21e8eff | tadzik++ | examples/languages/squaak/d​oc/tutorial_episode_3.pod:
17:37 dalek parrot: Add a note in Squaak tutorial episode 3
17:37 dalek parrot: review: https://github.com/parrot/parrot/commit/21e8eff404
17:37 bluescreen left #parrot
17:42 cotto_work 7641 subs are loaded by parrot when running ./perl6 -e ''
17:43 moritz cotto_work: it builds alll the built-in types at startups
17:43 moritz because we can't serialize them at compile time, and deserialize at runtime yet
17:44 cotto_work moritz: Sure.  There's lots that Parrot need to do to help get startup time down.
17:44 ambs joined #parrot
17:45 dalek parrot-container: 020ef55 | Whiteknight++ | / (6 files):
17:45 dalek parrot-container: Initializer,InitializerArg -> action/Action and action/ActionArg. Create a new Action library to encapsulate some behaviors I am going to reuse elsewhere
17:45 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/020ef55aa1
17:45 dalek parrot-container: 953b28d | Whiteknight++ | event/Event (2 files):
17:45 dalek parrot-container: add two new stub files for an eventing system
17:45 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/953b28d920
17:45 dalek parrot-container: b0cdc5c | Whiteknight++ | / (2 files):
17:45 dalek parrot-container: A fix for ParrotContainer::build. Don't throw an exception if the BUILD method is not present
17:45 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/b0cdc5c304
17:45 dalek parrot-container: d1b4956 | Whiteknight++ | t/ (3 files):
17:45 dalek parrot-container: add in a quick Parrot-Test test harness, and two stub tests for Action and ActionArg
17:45 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/d1b4956eea
17:45 dalek parrot-container: 2a8d06a | Whiteknight++ | / (4 files):
17:45 dalek parrot-container: add in some tests for Container
17:45 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/2a8d06a2aa
17:45 dalek parrot-container: 8d5ae15 | Whiteknight++ | / (2 files):
17:45 dalek parrot-container: the default_container method belongs in Container
17:45 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/8d5ae15ac4
17:45 dalek parrot-container: a3bbe65 | Whiteknight++ | t/container/Container.t:
17:45 dalek parrot-container: test for default_container
17:45 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/a3bbe65f18
17:45 dalek parrot-container: 84df207 | Whiteknight++ | / (4 files):
17:45 dalek parrot-container: get events working, basic implementation
17:45 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/84df20761d
17:45 dalek parrot-container: fe75d2b | Whiteknight++ | event/Setup.nqp:
17:45 dalek parrot-container: +missing file
17:45 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/fe75d2bf3a
17:45 dalek parrot-container: 9aab636 | Whiteknight++ | t/ (2 files):
17:45 dalek parrot-container: +some basic tests for event
17:45 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/9aab636a01
17:45 dalek parrot-container: 79f7210 | Whiteknight++ | / (2 files):
17:45 dalek parrot-container: simplify the way we pass data to our Actions from our Events. Args passed in raise_event are in the event as a payload. Other args from injectors are passed as parameters
17:45 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/79f72103b5
17:45 dalek parrot-container: d9e419a | Whiteknight++ | t/event/EventManager.t:
17:45 dalek parrot-container: +a few tests for events
17:45 dalek parrot-container: review: https://github.com/Whiteknight/pa​rrot-container/commit/d9e419adb9
17:45 cotto_work My curiousity is because I'm thinking about bytecode.
17:45 moritz cotto_work: fwiw jnthn has started a nqp branch to do the serialization stuff
17:46 cotto_work moritz: which branch?
17:46 cotto_work I guess there probably aren't so many that it'll be hard to guess.
17:46 moritz ctmo
17:47 moritz doesn't do all too much yet
17:53 cotto_work Do you know his plan?
17:57 moritz there's a lengthy-ish comment describing his immediate plans
18:02 cotto_work wfm
18:03 tadzik I don't think the tutorial describes this: what's the :node($/) added to every PAST::*.new()?
18:03 tadzik s/added/passed/
18:03 benabik tadzik: It sets the node the PAST was generated from.  Useful for error messages as it includes the source text and position.
18:04 benabik tadzik: Not sure how it exactly gets used, but that's the purpose AFAICT
18:04 tadzik thanks benabik
18:21 lucian joined #parrot
18:30 Tene benabik is right; it's used for diagnostics and errors
18:43 Coke did parrot use the auto-import to get svn to github, or a manual process?
18:44 cotto_work It used a dukeleto-based process.
18:45 cotto_work I think he used git-svn and a manual author map, plus some last minute committer username cleanups.
18:46 cotto_work why?
18:46 Coke trying to convert a different project. it seems to just hang on the "getting authors" step.
18:46 Coke (using github's automatic conversion)
18:52 cotto_work I didn't know they had an automatic process.
18:53 cotto_work I guess I shouldn't be surprised though.
18:54 Coke ugh. my git has no git svn.
18:55 cotto_work you have to install git-svn separately
18:55 benabik Coke: Debian puts git-svn in it's own package so git-core doesn't have to depend on subversion
18:55 benabik Coke: I'd imagine other distros do the same.
18:55 Coke http://trac.parrot.org/par​rot/wiki/git-svn-tutorial - that can probably be archived.
18:56 cotto_work Coke: no reason to touch it.  I might help out someone else.
18:57 Coke cotto_work: "https://svn.parrot.org/parrot" is a good reason to add a note.
18:57 cotto_work ah
18:57 cotto_work good point
18:58 cotto_work seeing that url gives me all kinds of flashbacks
18:58 cotto_work mostly the bad kind though ;]
19:01 atrodo at least it's not cvs
19:03 cotto_work yes.  cvs makes me appreciate svn, and I consider that to be a substantial accomplishment.
19:04 ambs left #parrot
19:05 cotto_work atrodo: any thoughts on the m0 bytecode ideas I pushed last night?
19:05 Coke svn does a lot of of stuff wrong compared to cvs, but I still prefer it.
19:06 atrodo cotto_work> I've glanced at it, but haven't really wrapped my head around it yet.  Give me a minute
19:06 cotto_work atrodo: no rush
19:07 whiteknight cotto_work: link?
19:07 atrodo https://github.com/parrot/parrot/commit/​c70f917c475d07d8c00fff873720c2050e92f244 is the actual commit
19:08 dukeleto ~~
19:09 cotto_work [ ... ] just means that the thing in the brackets can repeat
19:09 cotto_work good morning, dukeleto
19:12 dukeleto cotto_work: howdy
19:14 tadzik hello dukeleto
19:14 dukeleto tadzik: good localtime()
19:14 dukeleto cotto_work: i like your recent additions to m0
19:14 dukeleto cotto_work: slowly but surely
19:16 cotto_work I'm toying with the idea of having one bytecode segment per sub, but I'm not sure if that's sane yet.
19:16 nwellnhof joined #parrot
19:16 nwellnhof ~
19:16 atrodo cotto_work> I actually like that idea
19:17 tadzik dukeleto: is api.yaml actually a valid yaml? I tried it against two different validators today, both failed
19:17 cotto_work Lua does it, so it's workable on some level.
19:18 dukeleto tadzik: sadface. It should be.
19:18 dukeleto tadzik: i had a test that used YAML.pm to parse it, but bacek_at_work changed the code to use our own YAML::Tiny to check it
19:18 dukeleto tadzik: so if it isn't valid, then our YAML::Tiny is broke too
19:18 tadzik hmm
19:18 cotto_work It's "valid".
19:19 dukeleto cotto_work: i am not sure of the sanity of that either. I don't know the implications
19:19 cotto_work dukeleto: I may just have to start down that path and see where it leads.
19:20 atrodo cotto_work> what's your concerns about doing it that way?
19:20 tadzik http://wklej.org/id/477659/
19:20 tadzik an attempt with YAML.pm
19:20 plobsing cotto_work: bytecode segment per-sub is something I've thought about a lot.
19:22 plobsing the pro is better GCability, the cons are higher overhead (assuming bytecode segments have non-zero overhead) and dissallowing inter-sub-code-sharing (currently possible)
19:23 dalek parrot/m0-spec: 89c5d56 | (Jon Gentle)++ | docs/pdds/draft/pdd32_m0.pod:
19:23 dalek parrot/m0-spec: Do a little bit of format cleaning on pdd32_m0.pod
19:23 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/89c5d569d7
19:23 plobsing overhead for bytecode segments currently includes opmapping table and related segment pointers.
19:24 whiteknight do we do any inter-sub code sharing?
19:24 plobsing who is we?
19:24 whiteknight we is parrot
19:24 plobsing we allow it
19:24 plobsing it won't break anything
19:25 cotto_work Nice.  github dtrt when I try to browse to docs/pdd/draft/pddm0
19:25 cotto_work github++
19:26 atrodo github has a not-even-close-to-0 level of magic
19:26 ambs joined #parrot
19:26 plobsing PCT likely won't generate it, and human generated code is also unlikely to do so either. Then again, neither of those are a gold standard of compiler technology.
19:27 atrodo Do any real-machine compilers use any inter-sub code sharing tricks?
19:27 cotto_work I don't think that bytecode segments need to have a lot of overhead.  They can be flattened by a smart interp.
19:28 plobsing flattened?
19:28 plobsing atrodo: I think I've seen gcc do it on x86_64
19:28 cotto_work combined into a single segment
19:29 plobsing when? on load? that seems like an expensive proposition.
19:29 cotto_work load or at link-time
19:29 plobsing you'd have to merge all the related tables too
19:29 plobsing constant table, annotations table, debug segment, etc...
19:30 plobsing see the mess that is pbc_merge
19:30 plobsing being able to do it is one thing. *needing* to do it is wrong.
19:31 cognominal joined #parrot
19:31 cotto_work dealing with the segments associated is with is what strikes me as the hard part
19:32 cotto_work dealing with the segments associated with a bytecode segment is what strikes me as the hard part
19:32 plobsing bytecode should be immutable. that also applies to loading of bytecode. we should be able to mmap bytecode and keep it shared.
19:32 plobsing if we need to fixup const-table references, we've lost that
19:37 dalek parrot/m0-spec: 62d864a | cotto++ | docs/pdds/draft/pdd32_m0.pod:
19:37 dalek parrot/m0-spec: add mmap consideration to binary m0 format
19:37 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/62d864a934
19:39 atrodo Endianness is the biggest hurdle to being able to mmap, right?
19:43 cotto_work atrodo: if it's in the format we can have a simple tool to change it.
19:48 nwellnhof left #parrot
19:50 bacek ~~
19:50 bacek Good morning, humans
19:53 tadzik o/
20:02 bacek tadzik, I fixed YAML::Tiny, thanks for notice :)
20:03 tadzik bacek: was it broken?
20:03 bacek cotto_work, I'm talking about small subset of C. Which is easy to parse.
20:03 bacek tadzik, definitely.
20:03 tadzik bacek: so it doesn't parse api.yaml anymore?
20:04 bacek tadzik, I fixed it as well :)
20:04 tadzik :D
20:04 dalek parrot: 8b0e658 | bacek++ | runtime/parrot/library/YAML/Tiny.pm:
20:04 dalek parrot: Fix dumping of strings: quote all "'".
20:04 dalek parrot: review: https://github.com/parrot/parrot/commit/8b0e658f2d
20:04 dalek parrot: f7415ad | bacek++ | api.yaml:
20:04 dalek parrot: Fix yaml syntax.
20:04 dalek parrot: review: https://github.com/parrot/parrot/commit/f7415ad61c
20:04 dalek parrot: 15f259e | bacek++ | api.yaml:
20:04 dalek parrot: Rerun resolve_deprecated.nqp
20:04 dalek parrot: review: https://github.com/parrot/parrot/commit/15f259eb6c
20:04 tadzik so I can work on regexes now, cute
20:05 bacek tadzik++ # keep an eye
20:05 tadzik is nqp a preffered languages for internal things now?
20:05 cotto_work bacek: which subset?
20:05 bacek tadzik, not "officially". But it's in our repo. And it works.
20:06 tadzik so mk_language_shell should generate setup.nqp over setup.pir, or maybk it should be nqp as well?
20:06 bacek cotto_work, enough to parse current op bodies.
20:06 Tene tadzik: "should" isn't clear here at all.  That might be nice though, yes.
20:07 cotto_work bacek: we might need a more precise definition, but that doesn't sound nearly as insane as parsing all of C.
20:07 bacek cotto_work, or patch ops to use "supported" syntax. Variables, function calls, if, for, return. I think it should be enough
20:07 dukeleto Tene: what are you asking about mk_language_shell ?
20:07 cotto_work bacek: that too
20:07 Tene dukeleto: I'm not.
20:07 cotto_work though it could limit what HLLs can do
20:07 Tene dukeleto: ITYM tadzik ?
20:07 bacek cotto_work, ?
20:08 cotto_work We'll want to look at how HLLs use ops and make sure we can cover their needs.
20:08 dukeleto Tene: sorry, i meant tadzik
20:08 dukeleto tadzik: what are you asking about mk_language_shell ?
20:08 cotto_work I do like having a restricte subset of C though.
20:08 * dukeleto can't use tab-complete this morning, evidently
20:08 bacek cotto_work, no. I'm talking about ops definitions. HLLs don't care how they are implemented.
20:09 bacek cotto_work, same as now.
20:09 cotto_work HLLs can have dynops
20:09 bacek Ah...
20:09 cotto_work sorry.  should have specified dynops
20:09 bacek Let's change deprecation policy to "If we broke it - we'll fix it for you"...
20:10 Tene I think that's a very reasonable proposal.
20:10 tadzik dukeleto: I'm asking whether 1) it should be in nqp, iirc Perl is to be abandoned as a dependency one day 2) whether the generated setup.pir should actually be setup.nqp, I think there alredy is a project having it in nqp
20:10 tadzik (oh gosh, qwerty is a pain)
20:10 Tene "If we're going to break it, we'll fix it for you first" might be a bit better, but that's bikeshedding.
20:11 bacek Tene, wfm
20:12 cotto_work I suspect we might have trouble following through with that.
20:12 cotto_work It'd be more likely if we had a bot to yell at us when a hll broke.
20:12 Tene The dynops language being a restricted subset of C would certainly make migration easier.
20:13 Tene cotto_work: We've been talking about hll smoke testing for logner than I've been involved in the project.  It would be great if it finally happened.  dukeleto has suggested that he might work on it someday, I think.
20:14 cotto_work yes and yes
20:14 bacek cotto_work, yes. If someone can help mj41 with TapTinder it will be awesome.
20:14 Tene I'm goign to continue to be skeptical until I actually see it, though.  I've heard (and made) that proposal enough times that I'm waiting to see if it actually happens.
20:14 cotto_work it really needs someone who's got the tuits and ability to take the lead
20:14 cotto_work until then we'll keep saying that we need it
20:15 dukeleto Tene: yes, it is on my short list.
20:16 bacek https://github.com/mj41/TapTinder/issues#issue/18
20:16 dukeleto Tene: but so are a lot of other things :)
20:16 cotto_work $P0 = dukeleto.'clone'()
20:17 Coke dukeleto: what did you use for author info on the cvs2svn commits?
20:17 tadzik oh look, GSoC mentoring problem solved
20:17 Coke (on the svn -> git conversion)
20:18 dukeleto http://www.google-melange.com/document/sh​ow/gsoc_program/google/gsoc2011/timeline <-- GSoC 2011 timeline
20:18 dukeleto Coke: what do you mean?
20:18 Coke ... I do not know how to rephrase that question.
20:18 Coke nevermind.
20:21 plobsing left #parrot
20:21 dukeleto we are going to need lots of GSoC proposal ideas for students by mid-March
20:21 dukeleto volunteers?
20:25 cotto_work We'll have some cool possibilities if M0 is ready-esque by that time.
20:27 NotFound Complete LWP with https support.
20:27 mj41 Hi. Dependency project support. My last idea is: Create/use temporary Git repository on each taptinder machine/client to store binaries after compilation for each Parrot revision.
20:30 mj41 I need these sequence: e.g. compile Parrot revision3 , compile r2, compile r1, make test on r3, complile hll1 on r3, test hll1 on r3, compile hll2 on r3, test hll2 on r3, compile hll1 on r2, test hll2 on r2, ...
20:31 mj41 So TapTinder client needs to store Parrot binary for r3, r2, r1 somehow.
20:31 NotFound Coolest project ever: write a parroteer -> english translator X-)
20:32 mj41 Is there any CI with good dependency projects support?
20:32 dukeleto mj41: what do you mean?
20:32 plobsing joined #parrot
20:34 bacek aloha, CI?
20:34 tadzik CI?
20:34 bacek aloha, CI is Continuous Integration
20:34 bacek aloha, clock?
20:34 aloha bacek: LAX: Thu, 12:34 PST / CHI: Thu, 14:34 CST / NYC: Thu, 15:34 EST / UTC: Thu, 20:34 UTC / LON: Thu, 20:34 GMT / BER: Thu, 21:34 CET / TOK: Fri, 05:34 JST / SYD: Fri, 07:34 EST
20:35 bacek hmm
20:35 mj41 http://en.wikipedia.org/wi​ki/Continuous_integration
20:35 cotto_work aloha: bacek?
20:35 aloha cotto_work: bacek is THE MANIAC
20:35 tadzik :D
20:35 bacek bah
20:35 bacek aloha, CI?
20:35 bacek interesting...
20:35 bacek aloha, ci?
20:35 bacek aloha, ci is continuous integration
20:36 bacek meh... It's broken
20:36 tadzik ahola?
20:36 tadzik pff
20:37 dukeleto I have been hacking on https://github.com/franckcuny/jitterbug, which supports CI via git for Perl 5, Parrot, Perl 6, Ruby and Makefile-based projects, currently
20:38 dukeleto mj41: what do you mean by "dependency projects support" ?
20:38 dukeleto mj41: I think I know, but want to make sure we are on the same page
20:39 bacek aloha, ci?
20:40 mj41 dukeleto: Something like HLL1 r3 broken on Parrot r5.
20:40 bacek aloha, ci?
20:40 aloha bacek: I have no idea.
20:40 bacek aloha, CI is Continuous Integration
20:40 aloha bacek: Okay.
20:40 bacek aloha, CI?
20:40 aloha bacek: CI is Continuous Integration
20:40 bacek good girl
20:40 cotto_work aloha: sea eye?
20:40 aloha cotto_work: Sorry, I don't know.
20:41 dukeleto mj41: yes, i can set that up now with jitterbug, just haven't had the tuits
20:41 drake1 joined #parrot
20:41 drake1 hello,
20:41 tadzik hello drake1
20:42 drake1 I was given some links to embed the parrot interpreter
20:42 drake1 hi tadzik,
20:42 drake1 and found that "pbc" might be something more interesting than byte-code files
20:43 bacek afk # $dayjob
20:43 cotto_work drake1: they're the same thing
20:43 drake1 really
20:43 drake1 so I simply read in the pbc and pass the pointer without opening a file first?
20:44 drake1 since I have some other cache file
20:44 cotto_work drake1: please don't make us guess what you're talking about.
20:45 drake1 well, I have to integrate the parrot with some other language objects
20:45 cotto_work ok
20:45 drake1 which use a few translation phases already
20:45 tadzik bacek: does api.yaml parse with YAML.pm for you?
20:46 bacek tadzik, yes. I run resolve_deprecated.nqp after fixing and it works
20:46 mj41 dukeleto: looking at jitterbug
20:46 tadzik int eresting;
20:46 jnthn char ming;
20:46 bacek tadzik, are you on master branch?
20:47 bacek jnthn, :)
20:47 tadzik bacek: yeah, freshly pulled
20:47 drake1 cotto_work: by using a single file for everything and seeking through, to the pbc, or some other cached translation, I may save a few milli-seconds
20:47 dukeleto mj41: it integrates into github with post-receive hooks
20:47 dukeleto mj41: take a look at http://jitterbug.sgn.cornell.edu:8090/ <-- web interface
20:47 bacek jnthn, how much effort to get support for rvalues attributes in nqp? class  Foo { has $.bar }; Foo.new.bar := 42
20:49 * bacek really has to go. Will backlog
20:51 jnthn bacek: That's hard.
20:51 jnthn bacek: It doesn't work in Perl 6.
20:51 mj41 dukeleto: post-receive hook is also on my todo list :-)
20:52 jnthn The one that does is Foo.new.bar = 42;
20:52 jnthn And it works because Foo.new.bar returns a container that is assignable.
20:52 jnthn nqp has no containers, and thus no assignment, and so we can't really do that. Best we can do is like Foo.new.bar(42)
20:53 tadzik how do I use command-line parameters in nqp?
21:02 mj41 dukeleto: jitterbug is simple and has more developers. TapTinder is big http://tt.taptinder.org/dbdoc/schema.png ... and I'm only one :-(
21:07 dukeleto mj41: they have slightly different goals and complement each other
21:08 dukeleto mj41: jitterbug is good at sending emails about test suite, and is only meant to be run on a single host, there is not concept of "workers" and such
21:09 dukeleto mj41: taptinder is more like buildbot
21:10 darbelo left #parrot
21:19 mtk left #parrot
21:20 bacek_at_work jnthn, what about auto-generating accessors? proto method bar($value?) { $bar := $value }; multi method bar() { $bar };
21:21 whiteknight Kakapo had a system for automatically generating accessors like that
21:21 whiteknight it's broken now, I think, but it did work fine
21:21 whiteknight he had some overrides in P6protoobject that injected methods into the class
21:21 whiteknight or maybe P6metaclass
21:22 mj41 dukeleto: ok. So I should continue to work on TapTinder :-) ... tomorrow ... good night.
21:22 dukeleto mj41: yes, you should :)
21:25 mtk joined #parrot
21:29 drake1 does parrot use mmap a lot, and is it easy to macro fix the code loader chain?
21:29 whiteknight left #parrot
21:30 fperrad left #parrot
21:31 drake1 some systems could use mmap, other system device link methods, to load the code. any clue how to specify the path?
21:35 drake1 probably, the best way is to bypass the Parrot_pbc_read, and use a custom method
21:37 cotto_work aloha: premature optimization?
21:37 aloha cotto_work: Dunno.
21:38 cotto_work aloha: premature optimization is the root of all evil
21:38 aloha cotto_work: Okay.
21:42 drake1 premature optimization sounds like a kid trying to fine tune a parent
21:44 atrodo cotto_work> BTW, I would be all for permanently making the M0/Lorito bytecode magic bytes be 'asdfasdf'
21:44 drake1 like in targeting commercials, which code the kid to change the shopping pattern of the parent
21:45 dalek parrot/gen_gc2: f04ebf1 | bacek++ | / (6 files):
21:45 dalek parrot/gen_gc2: Apply patch by doughera++ to move GC_DEFAULT to config.h. Closing #2019
21:45 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/f04ebf1116
21:45 dalek parrot/gen_gc2: 1477fe9 | bacek++ | t/steps/auto/gc-01.t:
21:45 dalek parrot/gen_gc2: Fix auto::gc test
21:45 dalek parrot/gen_gc2: review: https://github.com/parrot/parrot/commit/1477fe902b
21:45 lucian has parrot been profiled?
21:46 bacek_at_work lucian, not comprehensively.
21:46 bacek_at_work aloha, is parrot fast yet?
21:46 aloha bacek_at_work: I have no idea.
21:47 atrodo aloha: is parrot fast yet is http://isparrotfastyet.com/
21:47 aloha atrodo: Okay.
21:47 bacek_at_work aloha, is parrot fast yet is isparrotfastyet.com
21:47 aloha bacek_at_work: ... but is parrot fast yet is http://isparrotfastyet.com/ ...
21:47 tadzik http://isparrotfastyet.com/
21:47 tadzik ah :)
21:47 bacek_at_work meh... I'm too slow. Need more coffee...
21:48 atrodo I've had all day to caffeinate, plus it's that point in the day where I don't want to actually start anything new so I'm keenly attentive to irc
21:49 bacek_at_work atrodo, it's Friday morning here :)
21:49 lucian i find optimisations without profiling information sort of silly
21:49 cotto_work lucian++
21:49 atrodo I find them an exercise for the brain
21:50 cotto_work optimization with profiling can be very effective
21:50 cotto_work without profiling, it's probably an exercise in wasting time
21:50 atrodo Well, yes, but if I say that, someone will catch on
21:50 drake1 lucian: what when you know that: 3 * 4 * 9, could be reduced to the result, before the execution?
21:52 cotto_work atrodo: that would be pretty unmagical
21:53 cotto_work lucian: when chromatic has the tuits he does a lot of profiling and timely optimization
21:53 NotFound drake1: You know? Then why you ask?
21:53 drake1 profiling instrumentation might as well slow down the algorithm. fill up the TLBs etc.
21:53 drake1 im just kidding. screw it
21:53 nwellnhof joined #parrot
21:53 jnthn bacek_at_work: Oh, auto-generating them is dead easy.
21:54 jnthn bacek_at_work: Just do it on meta-attribute composition.
21:54 bacek_at_work jnthn, erm. I'm not familiar with 6model (yet :)
21:54 dalek winxed: r809 | NotFound++ | trunk/winxedst1.winxed:
21:54 dalek winxed: fix some usages of operator /
21:54 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=809
21:55 dalek TT #2019 closed by bacek++: Set GC_DEFAULT_TYPE in config.h instead of on cc command line.
21:55 dalek TT #2019: http://trac.parrot.org/parrot/ticket/2019
21:55 lucian drake1: the compiler will do that
21:55 drake1 lucian: ok
21:55 lucian nowadays it's extremely hard to predict anything about a program
21:55 bacek_at_work jnthn, is NQPAttribute.pm good starting point?
21:55 lucian short of reducing algorithmic complexity
21:55 jnthn bacek_at_work: Yes
21:56 bacek_at_work .BUILD?
21:56 jnthn bacek_at_work: If it doesn't already, it should get a compose method
21:56 bacek_at_work jnthn, no .compose in it
21:56 jnthn bacek_at_work: Yeah, I didn't add it in just yet. :)
21:56 bacek_at_work jnthn, :)
21:57 jnthn bacek_at_work: Basically, the meta-class (NQPClassHOW) should call compose on all the attributes declared in the class, during its own compose method.
21:57 jnthn bacek_at_work: And that's the point where it gets chance to do its accessor generation
21:57 jnthn In full-blown Perl 6, this is where "handles" stuff (delegators) are set up too :)
21:58 jnthn bacek_at_work: Oh!
21:58 jnthn nqpclr implements it I think
21:58 jnthn bacek_at_work: so it's probably almost copy-paste from there.
22:00 dalek winxed: r810 | NotFound++ | trunk/winxed.winxed:
22:00 dalek winxed: some cleanup in the non installed driver
22:00 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=810
22:05 dalek parrot/nwellnhof/unicode_dynpmcs: 17d8684 | nwellnhof++ | / (2 files):
22:05 dalek parrot/nwellnhof/unicode_dynpmcs: Use CreateSymbolicLink only if supported
22:05 dalek parrot/nwellnhof/unicode_dynpmcs:
22:05 dalek parrot/nwellnhof/unicode_dynpmcs: Should fix build on Windows XP
22:05 dalek parrot/nwellnhof/unicode_dynpmcs: review: https://github.com/parrot/parrot/commit/17d8684f78
22:06 wknight-phone joined #parrot
22:08 ttbot Parrot 17d8684f MSWin32-x86-multi-thread make error http://tt.taptinder.org/cmdinfo/21049
22:10 dalek parrot/nwellnhof/unicode_dynpmcs: 0c6398c | nwellnhof++ | src/platform/win32/file.c:
22:10 dalek parrot/nwellnhof/unicode_dynpmcs: Remove bogus ASSERT_ARGS
22:10 dalek parrot/nwellnhof/unicode_dynpmcs: review: https://github.com/parrot/parrot/commit/0c6398c0bb
22:11 rurban_ joined #parrot
22:12 bacek_at_work jnthn, where is nqpclr hosted? Just branch in nqp?
22:12 jnthn bacek_at_work: no, separate repo
22:12 jnthn bacek_at_work: I think https://github.com/jnthn/6model/bl​ob/master/common/NQP/NQPSetting.pm has the stuff in to copy
22:13 jnthn bacek_at_work: See around line 809, and 604.
22:13 rurban left #parrot
22:14 rurban_ is now known as rurban
22:14 bacek_at_work jnthn, thanks! Looks like I even can understand it :)
22:14 jnthn bacek_at_work: :)
22:15 * jnthn should do a talk "Writing a simple class implementation in 20 minutes" at some conference :)
22:16 drake1 in parrot, i bet you can't group related functions, to share the same cache lines?
22:16 wknight-phone left #parrot
22:16 bacek_at_work jnthn, Is it something like this? .compose($obj) { $obj.HOW.add_multi_method($obj, $!name, sub { ... } }
22:17 bacek_at_work jnthn, where sub { ... } is either accessor or mutator
22:17 jnthn bacek_at_work: If you want to add it as a multi method, you'd need to add a proto explicitly too
22:17 jnthn bacek_at_work: It's probably eaiser to take the one sub with an optional parameter route.
22:17 bacek_at_work jnthn, ok.
22:18 bacek_at_work jnthn, sub($value?) { $!foo := $value if pir::defined($value); $!foo }
22:18 jnthn That'd work.
22:19 bacek_at_work jnthn, erm... How I can "generate" "$!foo" in .compose?
22:19 bacek_at_work jnthn, without eval
22:20 jnthn pir::getattribute(self, $obj.WHAT, '$!foo') will do it for the get
22:20 jnthn And setattribute for the setting, and $value goes in the last arg
22:20 bacek_at_work Should we port nqp::bind_attr and nqp::get_attr?
22:21 jnthn bacek_at_work: the whole nqp:: meachanism should be ported at some point.
22:21 jnthn bacek_at_work: Want to check with pm how he thinks it should be factored though.
22:21 bacek_at_work jnthn, ok
22:21 jnthn bacek_at_work: nqp::foo will often map to pir::foo, but will also be mapped appropriately for other backends.
22:22 jnthn pir:: # Parrot specific
22:22 jnthn nqp:: # abstraction layer, mapped at compile time though, so no extra runtime cost
22:22 p6eval nqp: OUTPUT«Confused at line 1, near ": # abstra"␤current instr.: 'parrot;HLL;Grammar;panic' pc 17541 (gen/hllgrammar-grammar.pir:4828)␤»
22:22 jnthn oops :)
22:22 bacek_at_work jnthn, :) Yes, that's why I want to use nqp:: instead of pir::.
22:22 jnthn bacek_at_work: *nod*
22:23 jnthn bacek_at_work: I want to add the nqp:: mapping soon :)
22:23 jnthn I think it'll map to a PAST::Op with :pasttype('nqpop')
22:23 jnthn And PAST::Compiler does the mapping.
22:23 bacek_at_work jnthn, looks like a workable soultion
22:24 jnthn bacek_at_work: Worked out OK in nqpclr. :)
22:24 drake1 great language for everything. might as well pay off a few patches.
22:24 drake1 bye
22:24 drake1 left #parrot
22:25 jnthn bacek_at_work: I saw you took the PAST/PAST::Compiler issue in the nqp issues. What's your rough plan for that?
22:27 bacek_at_work jnthn, 1. Copy it from nqp_pct branch; 2. Hack-hack-hack; 3. ...; 4. Profit!
22:29 jnthn bacek_at_work: \o/
22:32 ambs left #parrot
22:42 bacek_at_work jnthn, actually I asked about attributes because of PAST moving :)
22:51 jnthn bacek_at_work: Oh! :D
22:52 vmspb joined #parrot
22:54 donaldh joined #parrot
22:54 plobsing left #parrot
22:59 bacek_at_work jnthn, I just want to avoid such scaffolding - https://github.com/parrot/parrot/blob/n​qp_pct/compilers/pct/src/POST/Value.pm
23:00 jnthn bacek_at_work: agree totally
23:00 jnthn bacek_at_work: The delegation all the time gets costly.
23:00 bacek_at_work jnthn, I don't care about cost much. But I'm too lazy to type in all this stuff :)
23:00 jnthn lol :)
23:01 cotto_work bacek++
23:02 cotto_work use lazy;
23:08 cotto_work Is there a way to have a nice M0 op size with 4-argument ops and (mostly?) aligned access?
23:20 plobsing joined #parrot
23:24 dolmen joined #parrot
23:26 bacek_at_work jnthn, "P6opaque attributes NYFI 1". After adding for @!attributes { $_.compose($obj) } to NQPClassHow...
23:26 jnthn bacek_at_work: Ouch...
23:26 jnthn bacek_at_work: That tends to boil down to "you passed an invalid class handle"
23:27 jnthn bacek_at_work: Are you only adding the attributes if has $.foo was used?
23:27 bacek_at_work jnthn, I didn't change NQPAttribute yet :)
23:28 jnthn bacek_at_work: Oh...
23:28 bacek_at_work I just added empty stub to it
23:28 bacek_at_work method compose($obj) {}
23:28 jnthn *nod*
23:28 bacek_at_work Do I have to add it to some other knowhow?
23:29 jnthn No
23:29 jnthn That error tends to occur when one tries to access an attribute that doesn't exist.
23:29 jnthn (Didn't get the attribute name typo detection stuff in yet.)
23:29 bacek_at_work hmmm
23:30 jnthn bacek_at_work: Oh!
23:30 jnthn Yeah, attribute doesn't exist :)
23:30 jnthn it's %!attributes in the Parrot version of NQPClassHOW
23:30 bacek_at_work meh!
23:30 bacek_at_work found it :)
23:30 jnthn I should fix that up at some point as the ordering kinda matters...
23:31 jnthn But anyway, that's probably the issue :)
23:31 bacek_at_work Why ClassHOW.attributes want $obj as argument?
23:32 bacek_at_work and :$local
23:33 jnthn bacek_at_work: Methods in a meta-class always want the object they're operating on as an argument. As you may be doing prototype OO and have a singleton meta-class.
23:33 jnthn The :$local means "just the attributes in this class".
23:33 jnthn It would be optional really.
23:34 jnthn *should
23:34 bacek_at_work jnthn, ok. I asked because args aren't used
23:34 jnthn And then gives list of all lot up the MRO
23:34 jnthn No, $obj will often not be used in a class-based OO implementation.
23:34 jnthn It's the type object, fwiw.
23:34 donaldh left #parrot
23:34 jnthn It can be handy to have in various cases.
23:35 jnthn Role application uses it to instantiate parametric roles, for example.
23:35 bacek_at_work ok
23:42 whiteknight joined #parrot
23:50 vmspb left #parrot
23:55 pjcj left #parrot

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced