Camelia, the Perl 6 bug

IRC log for #parrot, 2012-08-23

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:11 whiteknight hmmm, something is definitely wrong with sockets in my branch
00:12 whiteknight blah
00:48 dalek parrot: 90cb279 | fperrad++ | tools/dev/mk_inno_language.pl:
00:48 dalek parrot: [win32/inno] follow rakudo
00:48 dalek parrot: review: https://github.com/parrot/parrot/commit/90cb279ac6
00:53 whiteknight whatever, deal with it later
01:17 woosley left #parrot
01:47 l3l1p joined #parrot
02:16 MikeFair joined #parrot
02:17 woosley joined #parrot
02:22 l3l1p joined #parrot
02:36 lateau__ joined #parrot
02:48 MikeFair joined #parrot
02:48 l3l1p joined #parrot
03:14 MikeFair joined #parrot
03:24 mvorl joined #parrot
03:27 mvorl left #parrot
03:41 MikeFair joined #parrot
04:12 woolfy_ joined #parrot
04:36 lateau__ joined #parrot
05:50 lateau joined #parrot
06:03 benabik_ joined #parrot
06:48 benabik For whoever checks the backlog: sevvie in #perl6 had an issue compiling on Darwin, using the version in Star (4.6).  The first time it tried to use gcc, it dies about some of the warning flags.
07:04 Patterner joined #parrot
07:09 brrt joined #parrot
08:02 lucian joined #parrot
08:02 dalek nqp: dd9cb19 | pmichaud++ | / (2 files):
08:02 dalek nqp: Update NQP release_guide, create "make release" target in Makefile.
08:02 dalek nqp: review: https://github.com/perl6/nqp/commit/dd9cb19336
08:03 dalek parrot: 1c6de9c | rurban++ | docs/dev/profiling.pod:
08:03 dalek parrot: docs/dev/profiling.pod: fix typo
08:03 dalek parrot: review: https://github.com/parrot/parrot/commit/1c6de9c213
08:03 dalek parrot: ed58b2d | rurban++ | ChangeLog:
08:03 dalek parrot: ChangeLog todo for 4.8.0
08:03 dalek parrot:
08:03 dalek parrot: gh816 and vms
08:03 dalek parrot: review: https://github.com/parrot/parrot/commit/ed58b2dfa3
08:03 dalek parrot: 0642658 | (Bart Wiegmans)++ | src/exceptions.c:
08:03 dalek parrot: [GH #816] Check if you're dying by interp->final_exception
08:03 dalek parrot:
08:03 dalek parrot: In a branch of mod_parrot designed to ease the writing of
08:03 dalek parrot: exception handlers, I noted that the API cannot catch exceptions twice.
08:03 dalek parrot: On throwing an exception and the interpreter 'dies', it returns to the
08:03 dalek parrot: api call via longjmp(), and sets some values upon the interpreter object.
08:03 dalek parrot: Based upon these values, the api call returns 0, upon which the exception
08:03 dalek parrot: is retrieved and inspected. Best example: show_last_error_and_exit.
08:03 dalek parrot:
08:03 dalek parrot: We should just check for the last_exception being PMCNULL; if so you can
08:03 dalek parrot: jump out (we are already dying) and if not set already_dying.
08:03 dalek parrot: review: https://github.com/parrot/parrot/commit/06426585c2
08:03 dalek parrot: 2d0fc71 | (Bart Wiegmans)++ | t/src/embed/api.t:
08:03 dalek parrot: [GH #816] Added test case for dying twice
08:03 dalek parrot: review: https://github.com/parrot/parrot/commit/2d0fc71756
08:17 alvis_ joined #parrot
08:18 Psyche^ joined #parrot
08:27 fperrad joined #parrot
08:31 dalek parrot/vms: d565704 | rurban++ | / (6 files):
08:31 dalek parrot/vms: vms: fix and test multi-dot filenames
08:31 dalek parrot/vms:
08:31 dalek parrot/vms: t/codingstd/filenames.t missed generated and violating filenames.
08:31 dalek parrot/vms: .travis.yml still violates vms: todo, but low prio
08:31 dalek parrot/vms: review: https://github.com/parrot/parrot/commit/d56570422b
08:31 dalek parrot/vms: b6e7930 | rurban++ | / (2 files):
08:31 dalek parrot/vms: Change user-facing copyright year from 2011 to 2012
08:31 dalek parrot/vms: review: https://github.com/parrot/parrot/commit/b6e7930598
08:31 dalek parrot/vms: 000deac | rurban++ | config/init/hints/vms.pm:
08:31 dalek parrot/vms: vms: fix hints
08:31 dalek parrot/vms:
08:31 dalek parrot/vms: Use the new test_$$ names.
08:31 dalek parrot/vms: LINK default exe is okay for vms.
08:31 dalek parrot/vms: review: https://github.com/parrot/parrot/commit/000deac429
08:31 dalek parrot/vms: e6412f2 | rurban++ | lib/Parrot/ (2 files):
08:31 dalek parrot/vms: vms: ignore wrong -I and -c in Configure steps
08:31 dalek parrot/vms:
08:31 dalek parrot/vms: Also fix /Define= switches for the vms compiler.
08:31 dalek parrot/vms: review: https://github.com/parrot/parrot/commit/e6412f2ea7
08:31 dalek parrot/vms: 3765809 | rurban++ | / (3 files):
08:31 dalek parrot/vms: vms: .tmp => _tmp for multi-dot filenames
08:31 dalek parrot/vms: review: https://github.com/parrot/parrot/commit/37658099d0
09:10 Patterner joined #parrot
09:17 dalek rakudo/nom: c7f6492 | moritz++ | src/core/ (2 files):
09:17 dalek rakudo/nom: improve X::Numeric::Real error messge
09:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c7f6492914
10:19 dalek nqp: b1a3a46 | jonathan++ | / (4 files):
10:19 dalek nqp: Copy P6Regex to get a P5Regex. Start making a few of the basic changes needed, looking to STD_P5 for inspiration.
10:19 dalek nqp: review: https://github.com/perl6/nqp/commit/b1a3a4611b
10:19 dalek nqp: c5d768b | jonathan++ | t/p5regex/ (2 files):
10:19 dalek nqp: Add test harness for p5regex support and copy over rx_basic, which is simple enough to be valid p5 and p6. Passes.
10:19 dalek nqp: review: https://github.com/perl6/nqp/commit/c5d768b85c
10:26 dalek parrot/vms: fc115a5 | rurban++ | / (6 files):
10:26 dalek parrot/vms: vms: fix and test multi-dot filenames
10:26 dalek parrot/vms:
10:26 dalek parrot/vms: t/codingstd/filenames.t missed generated and violating filenames.
10:26 dalek parrot/vms: .travis.yml still violates vms: todo, but low prio
10:26 dalek parrot/vms: review: https://github.com/parrot/parrot/commit/fc115a5f76
10:26 dalek parrot/vms: 9d1da38 | rurban++ | / (2 files):
10:26 dalek parrot/vms: Change user-facing copyright year from 2011 to 2012
10:26 dalek parrot/vms: review: https://github.com/parrot/parrot/commit/9d1da3836f
10:26 dalek parrot/vms: ca838d0 | rurban++ | config/init/hints/vms.pm:
10:26 dalek parrot/vms: vms: fix hints
10:26 dalek parrot/vms:
10:26 dalek parrot/vms: Use the new test_$$ names.
10:26 dalek parrot/vms: LINK default exe is okay for vms.
10:26 dalek parrot/vms: review: https://github.com/parrot/parrot/commit/ca838d0313
10:26 dalek parrot/vms: 664aa36 | rurban++ | lib/Parrot/ (2 files):
10:26 dalek parrot/vms: vms: ignore wrong -I and -c in Configure steps
10:26 dalek parrot/vms:
10:26 dalek parrot/vms: Also fix /Define= switches for the vms compiler.
10:26 dalek parrot/vms: review: https://github.com/parrot/parrot/commit/664aa36fda
10:26 dalek parrot/vms: 8ca2aba | rurban++ | / (3 files):
10:26 dalek parrot/vms: vms: .tmp => _tmp for multi-dot filenames
10:26 dalek parrot/vms: review: https://github.com/parrot/parrot/commit/8ca2aba475
10:29 lateau left #parrot
10:34 fperrad_ joined #parrot
10:38 dalek parrot: 73b6d0a | rurban++ | t/src/embed/api.t:
10:38 dalek parrot: [codingstd] t/src/embed/api.t trailing whitespace
10:38 dalek parrot:
10:38 dalek parrot: and copyright.
10:38 dalek parrot: review: https://github.com/parrot/parrot/commit/73b6d0ae8f
10:44 dalek parrot/native_pbc: a3c8554 | rurban++ | t (18 files):
10:44 dalek parrot/native_pbc: re-enable native_pbc
10:44 dalek parrot/native_pbc:
10:44 dalek parrot/native_pbc: use new t/native_pbc/testdata templates to generate pbc's,
10:44 dalek parrot/native_pbc: change string to use binary and utf8 encodings,
10:44 dalek parrot/native_pbc: update mk_native_pbc.
10:44 dalek parrot/native_pbc: TODO: little-endian pbc files missing, preparing a 8_le qemu image to generate them.
10:44 dalek parrot/native_pbc: review: https://github.com/parrot/parrot/commit/a3c85549e5
10:44 dalek parrot/native_pbc: 2799803 | rurban++ | / (15 files):
10:44 dalek parrot/native_pbc: [GH #394] Revamp native_pbc: t/native_pbc/Test.pm
10:44 dalek parrot/native_pbc:
10:44 dalek parrot/native_pbc: Simplify tests with a common t/native_pbc/Test.pm library.
10:44 dalek parrot/native_pbc: Delete unneeded pbc files.
10:44 dalek parrot/native_pbc: Update ppc32 t/native_pbc files.
10:44 dalek parrot/native_pbc:
10:44 dalek parrot/native_pbc: TODO: endian-conversion fails
10:44 dalek parrot/native_pbc: review: https://github.com/parrot/parrot/commit/2799803bfd
10:44 dalek parrot/native_pbc: 32a97ae | rurban++ | / (37 files):
10:44 dalek parrot/native_pbc: refactor t/native_pbc/ test ids
10:44 dalek parrot/native_pbc:
10:44 dalek parrot/native_pbc: Parrot::Test had the odd assumption that testing pbc can only be done for
10:44 dalek parrot/native_pbc: native_pbc tests, and that the tests must be of _<int>++.pbc.
10:44 dalek parrot/native_pbc: We pass now the filename as first arg to pbc_output_is() and check if it exists.
10:44 dalek parrot/native_pbc:
10:45 dalek parrot/native_pbc: So we can use now readable test names.
10:45 dalek parrot/native_pbc: review: https://github.com/parrot/parrot/commit/32a97ae7a5
10:45 dalek parrot/native_pbc: c3bc349 | rurban++ | / (4 files):
10:45 dalek parrot/native_pbc: [CAGE] native_pbc: fix codingstd_tests
10:45 dalek parrot/native_pbc:
10:45 dalek parrot/native_pbc: hard tabs, cuddled else, MANIFEST sort, coda
10:45 dalek parrot/native_pbc: review: https://github.com/parrot/parrot/commit/c3bc349f17
11:10 dalek nqp: 2d8b6e8 | jonathan++ | src/QRegex/P5Regex/ (2 files):
11:10 dalek nqp: Start getting various of the p5metachar bits in place, and eliminate a few bits that will be unrequired.
11:10 dalek nqp: review: https://github.com/perl6/nqp/commit/2d8b6e8ecb
11:10 dalek nqp: d6e3ed6 | jonathan++ | t/p5regex/01-p5regex.t:
11:10 dalek nqp: Look in the correct places for tests.
11:10 dalek nqp: review: https://github.com/perl6/nqp/commit/d6e3ed6d8a
11:10 dalek nqp: 47a7bb4 | jonathan++ | src/QRegex/P5Regex/ (2 files):
11:10 dalek nqp: Get p5quantifier largely in place and working.
11:10 dalek nqp: review: https://github.com/perl6/nqp/commit/47a7bb4d22
11:10 dalek nqp: e2b7dbe | jonathan++ | t/p5regex/ (2 files):
11:10 dalek nqp: Add some quantifier tests.
11:10 dalek nqp: review: https://github.com/perl6/nqp/commit/e2b7dbe8c2
11:12 tuxit joined #parrot
11:20 Hunger joined #parrot
11:23 dalek nqp: 71ec9af | jonathan++ | src/QRegex/P5Regex/ (2 files):
11:23 dalek nqp: Remove a few pieces we won't need in P5regex.
11:23 dalek nqp: review: https://github.com/perl6/nqp/commit/71ec9af3fb
11:24 pjcj joined #parrot
12:03 brrt yay for new releases
12:05 JimmyZ joined #parrot
12:09 dalek rakudo/nom: befe7ca | moritz++ | src/core/Exception.pm:
12:09 dalek rakudo/nom: make message of X::Inheritance::Unsupported less confusing
12:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/befe7ca360
12:55 PacoAir joined #parrot
13:15 bluescreen joined #parrot
13:40 dalek rakudo/p5rx: 1431c3e | jonathan++ | src/Perl6/ (2 files):
13:40 dalek rakudo/p5rx: Wire the :P5 adverb up to use P5Regex. Doesnm't support much yet, but makes it accessible from Rakudo. A simple check of it worked.
13:40 dalek rakudo/p5rx: review: https://github.com/rakudo/rakudo/commit/1431c3e7a0
13:46 nemesys joined #parrot
14:01 jashwanth joined #parrot
14:12 whiteknight joined #parrot
14:12 whiteknight good morning, #parrot
14:15 moritz good morning, whiteknight
14:23 JimmyZ good morning, whiteknight
14:23 whiteknight hello moritz, JimmyZ
14:24 whiteknight moritz: I definitely exposed some socket-related problems on that io_cleanup1 branch last night, so it's definitely not just you
14:24 whiteknight things that had been working a while ago are not working now, so I've definitely regressed on something
14:26 contingencyplan joined #parrot
14:30 whiteknight hardest part is getting together a concise test case that I can use to debug
14:40 dalek nqp: 3c6c7ea | jonathan++ | src/QRegex/P5Regex/ (2 files):
14:40 dalek nqp: First cut of Perl 5 style character classes.
14:40 dalek nqp: review: https://github.com/perl6/nqp/commit/3c6c7ea287
14:40 dalek nqp: 3413cee | jonathan++ | t/p5regex/ (2 files):
14:40 dalek nqp: Run some basic tests for Perl 5 character classes.
14:40 dalek nqp: review: https://github.com/perl6/nqp/commit/3413cee6e2
14:41 moritz I don't think the rakudo socket tests do much more complicated things than optionally setting .encoding, and then calling recv multiple times
14:41 whiteknight moritz: I'm not sure exactly what the problem is or how far down in the logic it lives
14:41 whiteknight things are very very unified in the system now, problems at a low enough level will definitely affect things like readline and recv
14:42 whiteknight the hope, of course, is to get it right once, and have that rightness be inherited everywhere
14:45 * brrt laughs at the naivety of that statement
14:49 whiteknight a little naive, yes. But the whole system is FAR nicer than it was before I got started
14:49 whiteknight so even if we have to diverge a little bit from the ideal, it's still worth while
14:49 moritz brrt: that's the core idea of writing a VM
14:50 moritz brrt: having a place where you get the hard parts right, so that the application developer doesn't have to duplicate it
14:50 brrt i know
14:50 brrt which is ehm,
14:50 brrt highly important
14:50 brrt but very very hard
14:51 whiteknight very very hard, which is why somebody like me can't do it right
14:52 whiteknight We need to get some geniuses and code ninjas or whatever to come help
14:52 arnsholt But hopefully you'll get it righter than the last go around =)
14:54 brrt what you should have is some way to make it crash real fast
14:54 brrt if it breaks, it 'll break early
14:56 dmalcolm joined #parrot
15:14 whiteknight the problem is that this is a socket thing. Sockets aren't used at all during the build, and are hard to test in any meaningful way without setting up servers and other crap
15:20 Coke mmm. need to kick off a small server during testing.
15:22 moritz I usually keep a   cat testfile | telnet localhost $TESTPORT   or something similar around in my shell history
15:22 moritz or with nc, not telnet
15:23 moritz though of course threads will make it easier to write tests
15:30 jashwanth joined #parrot
15:44 davidfetter joined #parrot
16:01 brrt left #parrot
16:09 particle1 joined #parrot
16:16 dalek parrot: 71aa1b5 | rurban++ | t/dynpmc/select.t:
16:16 dalek parrot: test comment t/dynpmc/select.t
16:16 dalek parrot:
16:16 dalek parrot: No functional changes.
16:16 dalek parrot: review: https://github.com/parrot/parrot/commit/71aa1b5dc4
16:16 dalek parrot: 0214774 | rurban++ | / (24 files):
16:16 dalek parrot: Merge branch 'master' of github.com:parrot/parrot
16:16 dalek parrot: review: https://github.com/parrot/parrot/commit/0214774eba
16:16 dalek parrot: 97c7041 | rurban++ | / (2 files):
16:16 dalek parrot: Merge branch 'master' of github.com:parrot/parrot
16:16 dalek parrot: review: https://github.com/parrot/parrot/commit/97c7041c27
16:16 dalek parrot: de32502 | fperrad++ | / (10 files):
16:16 dalek parrot: Merge branch 'master' of github.com:parrot/parrot
16:16 dalek parrot: review: https://github.com/parrot/parrot/commit/de3250210d
16:16 dalek parrot: a511b38 | fperrad++ | / (4 files):
16:16 dalek parrot: Merge branch 'master' of github.com:parrot/parrot
16:16 dalek parrot: review: https://github.com/parrot/parrot/commit/a511b3838d
16:16 dalek parrot: d20f712 | fperrad++ | tools/dev/mk_inno_language.pl:
16:16 dalek parrot: [win32/inno] follow rakudo
16:16 dalek parrot: review: https://github.com/parrot/parrot/commit/d20f7127b6
16:27 benabik joined #parrot
16:42 dalek nqp: 6902f1d | jonathan++ | / (3 files):
16:42 dalek nqp: Handle funkiness in Perl 5 character class parsing, and add some tests to cover it.
16:42 dalek nqp: review: https://github.com/perl6/nqp/commit/6902f1d3f4
16:42 dalek nqp: 8eb6810 | jonathan++ | src/QRegex/P5Regex/ (2 files):
16:42 dalek nqp: Get various backslash sequences in place.
16:42 dalek nqp: review: https://github.com/perl6/nqp/commit/8eb6810a02
16:42 dalek nqp: 564768b | jonathan++ | t/p5regex/ (2 files):
16:42 dalek nqp: Various meta-chars tests.
16:42 dalek nqp: review: https://github.com/perl6/nqp/commit/564768bf1e
16:42 dalek nqp: 2b0173e | jonathan++ | t/p5regex/rx_metachars:
16:42 dalek nqp: Tests for \w, \W, \d and \D.
16:42 dalek nqp: review: https://github.com/perl6/nqp/commit/2b0173e03b
16:43 benabik joined #parrot
16:45 PacoAir joined #parrot
17:15 particle joined #parrot
17:32 MikeFair joined #parrot
17:35 jashwanth joined #parrot
18:07 darbelo joined #parrot
18:13 lucian joined #parrot
18:20 mvorl joined #parrot
18:20 mvorl left #parrot
18:21 dukeleto ~~
18:46 MikeFair \/
18:59 dukeleto MikeFair: howdy! I haven't seen you around here before, but I also have been hiding under a rock.
19:02 nine rurban: Windows seems to do ok now. Only tests failing are 'readdir with ord >127' in t/dynpmc/os.t (probably because of me running it on a Samba share), t/library/nciutils.t (don't know, cannot find any connex to threads) and t/src/threads_io.t which I thought to have already disabled on Windows because it's implementation is assuming everything works like UNIX
19:07 MikeFair dukeleto: Hi there
19:08 MikeFair dukeleto: Yeah, I'm pretty new -- I stopped in a few years ago, but dropped under a rock myself
19:08 dukeleto MikeFair: welcome back!
19:09 MikeFair dukeleto: Had some big ideas that were too include parrot -- didn't get anything stable going :)
19:09 MikeFair dukeleto: thanks!
19:12 MikeFair dukeleto: So regardless, I'm still regrouping and trying to put together a protoype
19:14 dukeleto MikeFair: cool. what are you working on? Does it have a name and/or a github repo?
19:14 MikeFair s/were to include parrot/is to include parrot
19:15 MikeFair dukeleto: It doesn't have a name or a github repo yet, well it's really going to be assembling a chain of other projects
19:15 MikeFair all those projects have repos
19:16 MikeFair dukeleto: It's a programming model and data distribution network
19:16 MikeFair And it takes a project like parrot to make it happen
19:16 MikeFair (well it takes a bunch of stuff really)
19:17 MikeFair So at its core is a distributed persistent XML DOM
19:17 MikeFair Think of DNS or some other peer 2 peer based network
19:17 MikeFair (data network)
19:18 dukeleto MikeFair: this sounds very interesting. I highly recommend sending a quick email to parrot-dev explaining this. There are many parrot hackers that only hang out on the mailing list
19:18 dukeleto MikeFair: they will most likely give you lots of good feedback, suggestions and war stories :)
19:18 MikeFair Now imagine you can create an object and publish it into this system (say for instance you give it a 64-bit unique ID within a given DNS domain namespace)
19:19 dukeleto MikeFair: is this something like a distributed hash table?
19:20 MikeFair dukeleto: Yes, but the difference is that the objects (the values attached to the hash) are synchronized across the whole network
19:21 MikeFair dukeleto: So many applications will synchronously (relatively speaking) be tracking the same object
19:22 MikeFair dukeleto: A change to any instance of the object would cause a message to the other instances, causing an event to show up in the application announcing the change
19:24 MikeFair dukeleto: My plan is begin by riding the whole network over XMPP which gets me a federated, authenticated, distibuted message based communication network (something like using telepathy tubes if you're familiar with that)
19:26 MikeFair dukeleto: Imagine a multi-user channel or an IM contact as an object instance
19:29 MikeFair dukeleto: So what I wanted to do was put a parrot interpretor on each channel/object contact
19:31 dukeleto MikeFair: very interesting
19:31 dukeleto MikeFair: will you be embedding parrot?
19:31 MikeFair dukeleto: That way we can excecute a command to set the channel gramar
19:32 MikeFair dukeleto: I'm still working that out, I don't think I need to
19:32 MikeFair dukeleto: You familiar with ZeroMQ?
19:33 MikeFair dukeleto: Or D-Bus?
19:35 MikeFair dukeleto: I'm envisioning parrot as being a kind of service daemon that can service command requests.  I kind of parrot shell
19:36 MikeFair dukeleto: Well like I said, I'm still working that part out
19:36 MikeFair dukeleto: I'm starting with the programmer experience
19:37 dukeleto MikeFair: i am reasonably familiar with *MQ, but I have used Redis more as a message queue
19:38 dukeleto MikeFair: i wrote this a long time ago. Maybe it will be useful for you: https://github.com/parrot/parrot/bl​ob/master/tools/dev/parrot_shell.pl
19:39 MikeFair dukeleto: Wow - that's almost exactly what I was looking for
19:40 MikeFair dukeleto: I think I might be confusing terms, when I think of parrot, I really think of the entire toolkit -- not just PASM
19:41 MikeFair dukeleto: I see parrot as a scripting engine that takes two inputs, a grammar and source
19:42 MikeFair dukeleto: Is that what other people think of when they say Parrot?
19:42 dalek rakudo/nom: 2d5ec92 | moritz++ | tools/update-tai-utc.pl:
19:42 dalek rakudo/nom: [tools] automatically assume correct path to src/core/tai-utc.pm
19:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2d5ec92ad4
19:43 dukeleto MikeFair: everybody has a different idea :)
19:43 MikeFair dukeleto: I thought that might be the case
19:43 MikeFair :)
19:43 dukeleto MikeFair: also, since you were gone, we basically don't write PASM by hand anymore. Some times it is generated, but that is rare
19:43 dukeleto MikeFair: a lot of parrot is written in Winxed these days
19:43 MikeFair dukeleto: Yeah I've been seing this Winxed term showing up every where
19:44 dukeleto msg NotFound winxed.org is still down. Is there something we can do to fix that? Maybe run it from a github pages setup?
19:44 aloha OK. I'll deliver the message.
19:44 dukeleto MikeFair: http://whiteknight.github.co​m/Rosella/winxed/index.html
19:44 dukeleto MikeFair: winxed is higher level that PIR and boils down to PIR/PBC
19:45 dukeleto MikeFair: pretty much nobody write PIR by hand anymore either. It was great for bootstrapping, but now we have NQP and Winxed to choose from
19:45 dukeleto MikeFair: people who like perlish things prefer NQP, people who like non-perlish or javascript-ish things like Winxed
19:46 * MikeFair gets a warm fuzzy at the thought that everyone is gong to be able to work in their more "native" thought styles.
19:46 dukeleto MikeFair: if you see terms like nqp OR nqp-rx, they are basically the same. They used to be different, but now we just call it nqp for "not quite perl 6"
19:46 dukeleto MikeFair: nqp-rx was the improvement over the original nqp (rx=regular expressions), but now nqp has regexen and we just call it nqp. It can be confusing, which is why I explain :)
19:47 dukeleto MikeFair: nqp and winxed are built *using* parrot, but then, via the magic of committing generated code, we started writing pieces of parrot in NQP and Winxed
19:48 * MikeFair gets it
19:48 dukeleto MikeFair: if you go to https://github.com/parrot/parrot and on the upper right you mouseover the colored bar, you will see that Parrot is written in 27% parrot!
19:48 dukeleto wheels within wheels...
19:49 MikeFair Yeah, that's what's really attracting me to Parrot is because of a long range goal I have for a scriptng language that can get rewritten  at runtime
19:50 MikeFair With Parrot, I envision being able to load a module that can rewrite the grammar at run-time
19:51 khisanth_ joined #parrot
19:53 MikeFair The idea came from the english like language began in the language/tool HyperTalk/HyperCard if you have ever experienced those
19:54 MikeFair (The current generation of that tool/language can be seen here: http://www.runrev.com/ )
19:54 dalek nqp: 656abc9 | moritz++ | VERSION:
19:54 dalek nqp: bump VERSION to 2012.08
19:54 dalek nqp: review: https://github.com/perl6/nqp/commit/656abc92e7
19:55 MikeFair They call it "LiveCode" now
19:56 dalek rakudo/nom: fc01818 | tadzik++ | docs/announce/2012.08:
19:56 dalek rakudo/nom: Add a first sketch of a new release guide
19:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fc018182fd
19:59 dalek rakudo/nom: d2472a9 | moritz++ | tools/build/NQP_REVISION:
19:59 dalek rakudo/nom: bump NQP revision to 2012.08
19:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d2472a97c4
20:02 MikeFair dukeleto: IT has a syntax like: move button "someButton" to the center of the current Card
20:03 MikeFair The command "move" takes an object reference 'button "someButton"' followed by the word 'to' followed by a point reference 'the center of the current card'
20:05 MikeFair Oftentimes people want to use the command 'move' but they want to animate the motion
20:05 dalek rakudo/nom: eb13935 | moritz++ | docs/announce/2012.08:
20:05 dalek rakudo/nom: [announce] fix month, add deprecations from docs/deprecations
20:05 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/eb1393590d
20:07 MikeFair dukeleto: So the thing I was seeing was that if we used Parrot, then I could load a module called "AnimatedMove", and that would somehow alter the language grammar so I could write: move button "someButton" to the center of the current card following the path listOfPoints over 10 seconds
20:08 dalek rakudo/nom: cf22052 | moritz++ | VERSION:
20:08 dalek rakudo/nom: [release] bump VERSION
20:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cf22052380
20:09 dalek rakudo/nom: 6d97606 | moritz++ | docs/announce/2012.08:
20:09 dalek rakudo/nom: [announce] spelling, pmichaud++
20:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6d97606dc7
20:14 dalek rakudo/nom: 09c46a6 | pmichaud++ | docs/announce/2012.08:
20:14 dalek rakudo/nom: More announcement updates;  Frankfurt am Mein -> Frankfurt.pm .
20:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/09c46a6bb4
20:15 dukeleto MikeFair: sounds feasible
20:19 MikeFair dukeleto: So that's the language I ultimately see binding to the DOM interface I desribed earlier
20:20 dalek rakudo/nom: 0ab48ba | pmichaud++ | docs/announce/2012.08:
20:20 dalek rakudo/nom: Another update to the yapceu/release name section.
20:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0ab48ba072
20:21 PerlJam MikeFair: you keep saying "Parrot" and "grammar" together.  When I think of "grammar", I think of NQP, not Parrot.  (just a data point)
20:22 MikeFair PerlJam: Hmm, thanks, yeah I think of grammar as "the files that describe the syntax of language"
20:22 MikeFair PerlJam: So what do you call those?
20:23 PerlJam MikeFair: for nqp, it's Language/Grammar.pm and Language/Actions.pm   :-)
20:24 MikeFair PerlJam: So what I'm hearing you say is that you think of NQP as Parrot's grammar?  (Winxed would be an alternative peer to NQP if I'm hearing dukeleto right from above)
20:25 PerlJam MikeFair: Grammary stuff is too high level, Parrot is too low level, nqp bridges the gap.
20:25 MikeFair PerlJam: If that's the case I'm using Grammar as one level higher -- Perl6 Grammar, Python Grammar, Smalltalk Grammar...
20:25 dalek nqp: c7bed44 | moritz++ | tools/build/Makefile.in:
20:25 dalek nqp: unbreak the build on non-windows
20:25 dalek nqp: review: https://github.com/perl6/nqp/commit/c7bed44588
20:27 MikeFair PerlJam: Like I was saying earlier, I think I'm using "Parrot" as more a reference to the entire Compilation/Execution Toolchain
20:27 MikeFair PerlJam: Than the specific bytecode execution engine
20:29 MikeFair PerlJam: So how do you say it?  I've seen PACT that seems to mean something like what I'm thinking of -- but I'm not clear on exactly what's that's referencing just yet
20:30 PerlJam MikeFair: PACT is the new and improved parrot compiler toolkit.
20:30 PerlJam PACT == Parrot Alternate Compiler Toolkit
20:30 PerlJam https://github.com/parrot/PACT#readme
20:31 PerlJam (though, I don't think winxed has and regex/grammar features yet, so "improved" might be a little premature)
20:32 dalek nqp: c9db812 | moritz++ | tools/build/Makefile.in:
20:32 dalek nqp: Revert "unbreak the build on non-windows"
20:32 dalek nqp:
20:32 dalek nqp: This reverts commit c7bed445880938ea914ce0b4e964e3c66261a1f9.
20:32 dalek nqp: It was wrong because building p5regex with stage0
20:32 dalek nqp: involves the wrong serialization context.
20:32 MikeFair So what do you call the files that define the HLL langauges like "Python" or "Perl6"
20:32 dalek nqp: review: https://github.com/perl6/nqp/commit/c9db8120da
20:32 dalek nqp: fff3eb8 | moritz++ | tools/build/Makefile.in:
20:32 dalek nqp: stop building the p5 regex bits
20:32 dalek nqp:
20:32 dalek nqp: rakudo does not use them yet, and that step breaks the build on non-windows
20:32 dalek nqp: we will figure out a proper fix after the rakudo release.
20:32 dalek nqp: review: https://github.com/perl6/nqp/commit/fff3eb81c0
20:34 PerlJam MikeFair: for Python on nqp it would be Python/Grammar.pm and Python/Actions.pm.   I don't know if those files as an aggregate have a name per se other than "the language implementation"
20:34 PerlJam and for Python on winxed, I'm sure they do things differently
20:35 moritz I'd call them "compiler" :-)
20:35 MikeFair PerlJam: ok, so collectively I refer to all those things as Parrot Grammars
20:36 MikeFair So I can see the confusion
20:36 MikeFair I've been thinking of the Actions as part of what I call "Grammar"
20:37 MikeFair moritz: "Compilers" might be a better term
20:38 MikeFair moritz: Though it's a bit unnatural at first use... I think of Compilers as something monolithic and static
20:38 MikeFair moritz: Though I think you're right
20:38 moritz MikeFair: not my fault :-)
20:38 PerlJam heh
20:38 MikeFair moritz: :)  Didn't say it was :)
20:38 PerlJam MikeFair: yes, you're free to change your mind :)
20:39 * MikeFair ventures to say he won't be only one on the planet that will need to change his mind about that.
20:39 MikeFair s/say/guess/
20:39 perlite_ joined #parrot
20:39 PerlJam anyway, in *my* head, when talking about languages and grammars and compilers, parrot doesn't enter the picture except at the lowest level of how to get the computer to do stuff.
20:40 MikeFair PerlJam: Right, so when I say parrot, you're thinking the bytecode execution engine... is that right?
20:40 moritz MikeFair: you are right, there's a fair amount of people who have very outdated images of compilers and interpreters and so on
20:40 moritz yes
20:41 moritz though parrot also contains a compiler, from PIR to bytecode (that's called IMCC, and will be decoupled from the rest of parrot eventually)
20:41 PerlJam MikeFair: and the surrounding technologies like PASM and PIR and IMCC (outdated, but still)
20:42 MikeFair ok fair enough -- but then when I go to "parrot.org" which I consider that the parent project to the concept of a dynamic scripting  virtual machine
20:42 MikeFair So I guess in my mind's eye "Parrot" = "Java" and "<something I don't have a name for>" = JVM
20:43 MikeFair Java, .Net, Parrot these are names for entire families of related technologies
20:44 MikeFair "Parrot Virtual Machine" would I guess be the appropriate name I think of for "PBC excution engine"
20:45 MikeFair So I guess that would be "PVM" for short
20:45 PerlJam MikeFair: have you seen http://trac.parrot.org/parrot/wiki/Languages ?
20:45 PerlJam (I don't know how maintained that page is though)
20:45 MikeFair I've seen it, or others like from time to time
20:46 MikeFair But I don't think I've seen this one because the "Written in" column is new
20:46 MikeFair (new to me)
20:47 MikeFair SO when that tagline at the top says "Parrot Speaks your Language"
20:47 MikeFair It's going to cause confusion because then I'm like "No it doesn't, Parrot speaks PBC"
20:48 moritz the vision for parrot and the current state have diverged a bit, I fear
20:49 PerlJam oh, heh ... I guess that page isn't maintained at all since the latest release of parrot is 4.7.0 and all of those languages say builds against <something 3.3.0 or less>
20:50 MikeFair For what it's worth, it's easy for me to think of Parrot as the whole community/family of related technologies (and this seems consistent with the first paragraph on the parrot.org homepage)
20:51 MikeFair moritz: So what's the vision and what's the current state?
20:51 moritz MikeFair: the vision is to provide a state-of-the-art VM on which all dynamic languages can run
20:52 MikeFair I like the vision, and that's changed?
20:52 MikeFair or it's just not where things are atm
20:52 moritz MikeFair: the reality is that parrot still lacks a JIT compiler, and not much emphasis is placed on language interoperability
20:52 moritz and that currently only on language implementation on top of parrot has significant traction
20:53 MikeFair Well I'm assuming that a lot of that is just figuring out what it means to support all these languages
20:53 MikeFair moritz: Perl6?
20:53 moritz MikeFair: yes, Rakudo (the compiler) for Perl 6 (the language)
20:53 * MikeFair nods.
20:54 moritz there are also TCL and lua compilers that are occasionally maintained
20:54 moritz and winxed, which is a parrot-specific language
20:54 PerlJam Also, Rakudo has enough traction to roll right off of Parrot onto some other VM
20:54 MikeFair PerlJam: Is there talk of that?
20:54 fperrad joined #parrot
20:54 PerlJam (if necessary or desirable)
20:55 moritz MikeFair: there is talk of rolling onto other VMs. That doesn't mean abandoning parrot
20:55 MikeFair moritz: Well FWIW I'm thinking this isn't necessarily a bad thing atm
20:55 MikeFair moritz: I mean the state of things
20:55 MikeFair moritz: That's cool, that's a dedicated team
20:56 moritz some people *really+ want to see Perl on the JVM, and Perl 5 won't go there any time soon
20:56 MikeFair (regarding the willingness to run on multiple VMs)
20:56 MikeFair moritz: I can understand why
20:57 moritz MikeFair: I too find it a worthy goal. There's a vocal minority preaching against that, so it's good to hear oocasional confirmation from the outside :-)
20:58 MikeFair moritz: Am I insane thinking that the Parrot Compiler Tools could be used to generate Java Byte Codes instead of Parrot Byte Codes (at some stage in the hierarchy)
20:58 PerlJam MikeFair: you are not insane
20:58 PerlJam (but like anything else, it's all about how much work you want to put into it)
20:59 MikeFair moritz: I mean I have Java on way more machines than I have Perl, and when I talk to my director and say "we'd need to install java" it's a different conversation than "We'd need to install Perl"
20:59 PerlJam MikeFair: Bummer.  You should have Perl anyway  ;)
21:00 MikeFair PerlJam: RIght, I agree, but it's not exactly my itch to scratch :)
21:00 MikeFair PerlJam: I totally agree, but I like the JVM model overall I think
21:01 MikeFair BUt yeah, I think I can see what the fuss would be about
21:02 MikeFair I mean the Parrot engine, as I recall, works by creating what I think of as a "frame" which has a bunch of registers, it then passes this frame around through the code
21:02 MikeFair the concept of Stack just doesn't exsit
21:04 MikeFair that doesn't exactly line up with the JVM
21:05 MikeFair So it seems the way the Byte Code gets generated and the way the compiler itself organizes itself would be very different if targetting the two very different architectures
21:10 MikeFair Is there a concern that Parrot might lose prominence and fall by the wayside if the rakudo team started favoring the JVM because it's got such a deeper installed base?
21:11 tadzik there are people that are really angry about such possibility existing
21:11 MikeFair I mean I could see some folks getting concerned that if Rakudo didn't need Parrot, and instead could be run on the JVM, the JVM code would get the lion's share of the resources and ultimately might affect things like grants to develop parrot
21:13 PerlJam MikeFair: though, we already do have a non-parrot-based Perl 6 implementation (niecza) and it hasn't sucked resources from Rakudo or Parrot or other places that I can tell.
21:14 MikeFair tadzik: I think I've encountered that kind of anger before, the lack of control
21:14 MikeFair PerlJam: Yeah, but Perl6 on the JVM would take Perl6 to a whole other category of language
21:14 moritz tadzik: I count exactly one people :-)
21:14 MikeFair PerlJam: For that matter, Perl6 on .Net would do the same thing
21:16 MikeFair PerlJam: Quite frankly doing both a .Net and a JVM implementation would be incredible for Perl6 and all us PerlMongers
21:16 PerlJam MikeFair: https://github.com/sorear/ni​ecza/blob/master/README.pod
21:16 MikeFair PerlJam: hehe - well there you go
21:17 tadzik moritz: correct, heh :)
21:18 dalek rakudo/nom: 9429d1c | moritz++ | docs/release_guide.pod:
21:18 dalek rakudo/nom: update release guide with current release
21:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9429d1c7b1
21:18 * MikeFair head begins to swim.
21:19 MikeFair I think the reason niezca implementation hasn't caused the same kind of uproar is that .Net is still a Windows and microsoft technology (a cute side project in the mind's of Linux using folks)
21:19 moritz MikeFair: not true, niecza runs fine on linux
21:19 tadzik niecza lacks markenting a bit
21:19 MikeFair java however has a much bigger mind share for folks
21:20 moritz tadzik: yes, I think that's the main reason
21:20 PerlJam tadzik: That's always the problem
21:20 MikeFair moritz: Yeah, I wasn't saying that Mono didn't work, I was just talking about how people think of .Net
21:20 PerlJam (See "perl is dying")
21:20 tadzik hehehe
21:20 tadzik that old meme :)
21:22 MikeFair If all of a sudden I could get Perl to execute on a JVM, or StrawberryPerl (or it's Perl6 equivalent) allowed me to use a .Net execution engine... and expecially if it let me bind Perl Modules to existing .Net assemblies... I mean that would be a game changer
21:22 * MikeFair fires his typist and grammar checker.
21:23 PerlJam MikeFair: So ... you're volunteering to help sorear with Niecza?   :-)
21:23 Coke moritz: don't make me delete the tcl compiler out of spite. :P
21:23 moritz Coke: sorry, did I say something wrong?
21:23 MikeFair PerlJam: Kind of... with respect I care more about the multi-language aspects of parrot than I do Perl6
21:24 Coke "parrot lose prominence" implies some things that I think may not be true.
21:24 Coke moritz: oh, no. I'm just bitter, and it has nothing to do you with you. ;)
21:24 Coke er, really, that wasn't an ironic smily
21:24 Coke parrot == java, in that java refers to 20 different things, not just the language.
21:24 Coke er, parrot ~~ java
21:25 MikeFair Coke: I think that was me not moritz :)
21:25 Coke yes, I'm following up on ALL the backscroll.
21:26 Coke I just name dropped moritz on the tcl thing since I wrote the tcl thing.
21:26 MikeFair Coke: I was the guy saying that when I see/hear/say "Parrot" it's a bigger thing than just the byte code execution engine
21:26 Coke yes.
21:26 MikeFair Coke: hehe -- thought you might be picking on the guy you had the leverage with ;)
21:26 moritz you're in violent agreement now :-)
21:27 * PerlJam pokes Coke with a long tcl-shaped stick
21:27 * Coke growls ferally
21:28 Coke So, what can I do to help parrot garner more developers (so selfishly there is more time available to fix bugs I've reported) ?
21:28 * Coke supposes the easiest thing is to fix them himself. bleargh.
21:29 MikeFair Coke: Honestly I think you guys should take over the KDE Kross stuff
21:29 Coke never heard of it.
21:30 Coke but then, I am not really a parrot developer anymore.
21:30 MikeFair Kross Kross is designed to provide full scripting power for users of KDE applications, with a language of their own choice; and make it easy for developers targeting the KDE platform to enable their application with support for multiple scripting languages (without themselves needing to be proficient in any of them)
21:31 MikeFair Desktop Scripting is an area I think Parrot could excel
21:32 MikeFair Look, I'm just an outsider, but every language needs to access data
21:33 PerlJam MikeFair: I've found myself largely disinterested in Parrot except for the promise of m0 and making things faster.
21:33 MikeFair Small scripts being hooked together
21:33 MikeFair m0?
21:33 MikeFair Milestone zero?
21:34 PerlJam http://leto.net/dukeleto.p​l/2011/05/what-is-m0.html
21:34 PerlJam dukeleto++
21:35 MikeFair Sorry, I'll kep my opinions to myself until I'm willing to man up and maintain the code for it.  I get how a bunch of unsolicited opinions on what other people should do isn't very helpful to folks
21:36 cotto Opinions are great.  Code is better.
21:36 * MikeFair nods.
21:38 MikeFair Well I keep thinking Parrot needs to be needed in a way that people stumble across it when they need to, like the Linux kernel, most people get exposed to it because they kept following the rabbit hole of a bug or wanted to understand something and it led them into the kernel
21:38 MikeFair i think perlJam is right in that most developers are more interested in writing their own code
21:38 MikeFair making their own code faster
21:39 MikeFair improving Parrot is a side effect of that
21:40 MikeFair KDE Plasma and the active desktop (and mobile phone development) is a very HLL type activity
21:40 MikeFair And it's not worth me learning a new language just to do it
21:41 PerlJam MikeFair: Are you familiar with Clay Shirky?
21:41 MikeFair So if the core engine for executing these desktop applet type programs were Parrot, then I could use whatever language I knew (which is good on the "I'm really friggin' lazy" scale)
21:41 MikeFair PerlJam: I don't think so
21:42 PerlJam MikeFair:  watch http://www.youtube.com/watch?v=Xe1TZaElTAs
21:52 MikeFair PerlJam: Great talk - is this about Perl being viable?  I'm not saying that (and have never said) Perl wasn't, it's just that the conversation with my director is different
21:52 MikeFair I mean I think Parrot is jsut as much something people love independent of Perl
21:53 Tene joined #parrot
21:55 MikeFair Or that people could love, and we've got use it for something in our daily lives
21:55 MikeFair (or at lesat daily computer use)
21:56 MikeFair I'm parrot as something that's part of my desktop
21:56 MikeFair seeing
21:57 MikeFair Technically it might be something very different, but my experience is that I can write a desktop applet in javascript or Python and it works either way
21:57 MikeFair (or perl)
21:58 MikeFair btw, I actually don't like or code in Python but that's kind of why I use it, to make sure I think about people who like languages I don't even like
21:58 MikeFair (I use it as an example I mean)
21:59 MikeFair It's more than just a language, it's also an SDK/API
21:59 MikeFair and programming model
22:03 MikeFair So this way, if I went make a little desktop applet to track disk usage for instance, I get to use a langauge I'm familiar with because Parrot is causing the C level APIs to be exposed into my favorite language
22:05 MikeFair And if it doesn't have a binding yet, then that's something I could contribute.  I could take that little library, write the binding for my favorite language, and then contribute it, and that success would get me more exposure and more familiarity and more comfortability with seeing myself involved with and getting integrated into the Parrot development community
22:10 MikeFair cotto: BTW, this desktop thing is the code I'm hoping to contribute
22:55 MikeFair Anyone here done any work with XMPP servers?
22:55 tadzik I wrote a client once
22:55 MikeFair I think the place for me to start is to create my own custom MUC (multi-user channels)
22:55 tadzik or twice
22:57 MikeFair tadzik: What do you think it would take to create a custom message parser
22:57 MikeFair I'd thought about just using an XMPP client
22:58 tadzik depends. I just used loudmouth library and it saved me all the hard work
22:58 tadzik (and created new hard work, but that's another story)
22:58 MikeFair tadzik: What I'd like to do is bind each channel (or each contact as the case may be) to an XML document
22:58 MikeFair tadzik: I think I used perl's Net::XMPP library once and it wasn't so ba
22:58 MikeFair bad
22:59 tadzik MikeFair: I don't think that's #parrot related, so we may want to move this OT someplace else :)
22:59 MikeFair tadzik: I create a graphic that represented memory/cpu/disk/network usage and published it as the user's avatar photo
23:00 MikeFair tadzik: Well what I'd like to do is hook it up to Parrot so you could IM the channel "Load 'Perl6'"
23:00 MikeFair tadzik: But you're right
23:02 MikeFair tadzik: I just Pm'd
23:03 tadzik yep, seen
23:26 whiteknight joined #parrot
23:26 whiteknight good evening, #parrot
23:26 tadzik good everning whiteknight
23:38 benabik joined #parrot
23:41 dalek parrot/gh803_rpath_blib: 306d9b4 | rurban++ | tools/dev/pbc_to_exe.winxed:
23:41 dalek parrot/gh803_rpath_blib: [GH 803] fix installed rpath_lib
23:41 dalek parrot/gh803_rpath_blib:
23:42 dalek parrot/gh803_rpath_blib: When building installables in the builddir, rpath_blib contains
23:42 dalek parrot/gh803_rpath_blib: cruft (-Wl:/usr/local/lib) and rpath_lib only is valid.
23:42 dalek parrot/gh803_rpath_blib: This disallows testing installables without LD_LIBRARY_PATH.
23:42 dalek parrot/gh803_rpath_blib: review: https://github.com/parrot/parrot/commit/306d9b43b8
23:43 whiteknight hello tadzik

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

Parrot | source cross referenced