|
Parrot 4.6.0 "Wild Parrots of Telegraph Hill" | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 19 August 2012. |
|||
| whiteknight | hmmm, something is definitely wrong with sockets in my branch | 00:11 | |
| blah | 00:12 | ||
| dalek | rrot: 90cb279 | fperrad++ | tools/dev/mk_inno_language.pl: [win32/inno] follow rakudo |
00:48 | |
| whiteknight | whatever, deal with it later | 00:53 | |
|
01:17
woosley left
01:47
l3l1p joined
02:16
MikeFair joined
02:17
woosley joined
02:22
l3l1p joined
02:36
lateau__ joined
02:48
MikeFair joined,
l3l1p joined
03:14
MikeFair joined
03:24
mvorl joined
03:27
mvorl left
03:41
MikeFair joined
04:12
woolfy_ joined
04:36
lateau__ joined
05:50
lateau joined
06:03
benabik_ joined
|
|||
| 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. | 06:48 | |
|
07:04
Patterner joined
07:09
brrt joined
08:02
lucian joined
|
|||
| dalek | p: dd9cb19 | pmichaud++ | / (2 files): Update NQP release_guide, create "make release" target in Makefile. |
08:02 | |
| rrot: 1c6de9c | rurban++ | docs/dev/profiling.pod: docs/dev/profiling.pod: fix typo |
08:03 | ||
| rrot: ed58b2d | rurban++ | ChangeLog: ChangeLog todo for 4.8.0 gh816 and vms |
|||
| rrot: 0642658 | (Bart Wiegmans)++ | src/exceptions.c: [GH #816] Check if you're dying by interp->final_exception In a branch of mod_parrot designed to ease the writing of exception handlers, I noted that the API cannot catch exceptions twice. On throwing an exception and the interpreter 'dies', it returns to the api call via longjmp(), and sets some values upon the interpreter object. Based upon these values, the api call returns 0, upon which the exception is retrieved and inspected. Best example: show_last_error_and_exit. We should just check for the last_exception being PMCNULL; if so you can jump out (we are already dying) and if not set already_dying. |
|||
| rrot: 2d0fc71 | (Bart Wiegmans)++ | t/src/embed/api.t: [GH #816] Added test case for dying twice |
|||
|
08:17
alvis_ joined
08:18
Psyche^ joined
08:27
fperrad joined
|
|||
| dalek | rrot/vms: d565704 | rurban++ | / (6 files): vms: fix and test multi-dot filenames t/codingstd/filenames.t missed generated and violating filenames. .travis.yml still violates vms: todo, but low prio |
08:31 | |
| rrot/vms: b6e7930 | rurban++ | / (2 files): Change user-facing copyright year from 2011 to 2012 |
|||
| rrot/vms: 000deac | rurban++ | config/init/hints/vms.pm: vms: fix hints Use the new test_$$ names. LINK default exe is okay for vms. |
|||
| rrot/vms: e6412f2 | rurban++ | lib/Parrot/ (2 files): vms: ignore wrong -I and -c in Configure steps Also fix /Define= switches for the vms compiler. |
|||
| rrot/vms: 3765809 | rurban++ | / (3 files): vms: .tmp => _tmp for multi-dot filenames |
|||
|
09:10
Patterner joined
|
|||
| dalek | kudo/nom: c7f6492 | moritz++ | src/core/ (2 files): improve X::Numeric::Real error messge |
09:17 | |
| p: b1a3a46 | jonathan++ | / (4 files): Copy P6Regex to get a P5Regex. Start making a few of the basic changes needed, looking to STD_P5 for inspiration. |
10:19 | ||
| p: c5d768b | jonathan++ | t/p5regex/ (2 files): Add test harness for p5regex support and copy over rx_basic, which is simple enough to be valid p5 and p6. Passes. |
|||
| rrot/vms: fc115a5 | rurban++ | / (6 files): vms: fix and test multi-dot filenames t/codingstd/filenames.t missed generated and violating filenames. .travis.yml still violates vms: todo, but low prio |
10:26 | ||
| rrot/vms: 9d1da38 | rurban++ | / (2 files): Change user-facing copyright year from 2011 to 2012 |
|||
| rrot/vms: ca838d0 | rurban++ | config/init/hints/vms.pm: vms: fix hints Use the new test_$$ names. LINK default exe is okay for vms. |
|||
| rrot/vms: 664aa36 | rurban++ | lib/Parrot/ (2 files): vms: ignore wrong -I and -c in Configure steps Also fix /Define= switches for the vms compiler. |
|||
| rrot/vms: 8ca2aba | rurban++ | / (3 files): vms: .tmp => _tmp for multi-dot filenames |
|||
|
10:29
lateau left
10:34
fperrad_ joined
|
|||
| dalek | rrot: 73b6d0a | rurban++ | t/src/embed/api.t: [codingstd] t/src/embed/api.t trailing whitespace and copyright. |
10:38 | |
| rrot/native_pbc: a3c8554 | rurban++ | t (18 files): re-enable native_pbc use new t/native_pbc/testdata templates to generate pbc's, change string to use binary and utf8 encodings, update mk_native_pbc. TODO: little-endian pbc files missing, preparing a 8_le qemu image to generate them. |
10:44 | ||
| rrot/native_pbc: 2799803 | rurban++ | / (15 files): [GH #394] Revamp native_pbc: t/native_pbc/Test.pm Simplify tests with a common t/native_pbc/Test.pm library. Delete unneeded pbc files. Update ppc32 t/native_pbc files. TODO: endian-conversion fails |
|||
| rrot/native_pbc: 32a97ae | rurban++ | / (37 files): refactor t/native_pbc/ test ids Parrot::Test had the odd assumption that testing pbc can only be done for native_pbc tests, and that the tests must be of _<int>++.pbc. We pass now the filename as first arg to pbc_output_is() and check if it exists. So we can use now readable test names. |
|||
| rrot/native_pbc: c3bc349 | rurban++ | / (4 files): [CAGE] native_pbc: fix codingstd_tests hard tabs, cuddled else, MANIFEST sort, coda |
|||
| p: 2d8b6e8 | jonathan++ | src/QRegex/P5Regex/ (2 files): Start getting various of the p5metachar bits in place, and eliminate a few bits that will be unrequired. |
11:10 | ||
| p: d6e3ed6 | jonathan++ | t/p5regex/01-p5regex.t: Look in the correct places for tests. |
|||
| p: 47a7bb4 | jonathan++ | src/QRegex/P5Regex/ (2 files): Get p5quantifier largely in place and working. |
|||
| p: e2b7dbe | jonathan++ | t/p5regex/ (2 files): Add some quantifier tests. |
|||
|
11:12
tuxit joined
11:20
Hunger joined
|
|||
| dalek | p: 71ec9af | jonathan++ | src/QRegex/P5Regex/ (2 files): Remove a few pieces we won't need in P5regex. |
11:23 | |
|
11:24
pjcj joined
|
|||
| brrt | yay for new releases | 12:03 | |
|
12:05
JimmyZ joined
|
|||
| dalek | kudo/nom: befe7ca | moritz++ | src/core/Exception.pm: make message of X::Inheritance::Unsupported less confusing |
12:09 | |
|
12:55
PacoAir joined
13:15
bluescreen joined
|
|||
| dalek | kudo/p5rx: 1431c3e | jonathan++ | src/Perl6/ (2 files): 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 | |
|
13:46
nemesys joined
14:01
jashwanth joined
14:12
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 14:12 | |
| moritz | good morning, whiteknight | 14:15 | |
| JimmyZ | good morning, whiteknight | 14:23 | |
| whiteknight | hello moritz, JimmyZ | ||
| moritz: I definitely exposed some socket-related problems on that io_cleanup1 branch last night, so it's definitely not just you | 14:24 | ||
| things that had been working a while ago are not working now, so I've definitely regressed on something | |||
|
14:26
contingencyplan joined
|
|||
| whiteknight | hardest part is getting together a concise test case that I can use to debug | 14:30 | |
| dalek | p: 3c6c7ea | jonathan++ | src/QRegex/P5Regex/ (2 files): First cut of Perl 5 style character classes. |
14:40 | |
| p: 3413cee | jonathan++ | t/p5regex/ (2 files): Run some basic tests for Perl 5 character classes. |
|||
| 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 | ||
| things are very very unified in the system now, problems at a low enough level will definitely affect things like readline and recv | |||
| the hope, of course, is to get it right once, and have that rightness be inherited everywhere | 14:42 | ||
| brrt laughs at the naivety of that statement | 14:45 | ||
| whiteknight | a little naive, yes. But the whole system is FAR nicer than it was before I got started | 14:49 | |
| so even if we have to diverge a little bit from the ideal, it's still worth while | |||
| moritz | brrt: that's the core idea of writing a VM | ||
| 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 | ||
| which is ehm, | |||
| highly important | |||
| but very very hard | |||
| whiteknight | very very hard, which is why somebody like me can't do it right | 14:51 | |
| 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 =) | ||
| brrt | what you should have is some way to make it crash real fast | 14:54 | |
| if it breaks, it 'll break early | |||
|
14:56
dmalcolm joined
|
|||
| 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:14 | |
| Coke | mmm. need to kick off a small server during testing. | 15:20 | |
| moritz | I usually keep a cat testfile | telnet localhost $TESTPORT or something similar around in my shell history | 15:22 | |
| or with nc, not telnet | |||
| though of course threads will make it easier to write tests | 15:23 | ||
|
15:30
jashwanth joined
15:44
davidfetter joined
16:01
brrt left
16:09
particle1 joined
|
|||
| dalek | rrot: 71aa1b5 | rurban++ | t/dynpmc/select.t: test comment t/dynpmc/select.t No functional changes. |
16:16 | |
| rrot: 0214774 | rurban++ | / (24 files): Merge branch 'master' of github.com:parrot/parrot |
|||
| rrot: 97c7041 | rurban++ | / (2 files): Merge branch 'master' of github.com:parrot/parrot |
|||
| rrot: de32502 | fperrad++ | / (10 files): Merge branch 'master' of github.com:parrot/parrot |
|||
| rrot: a511b38 | fperrad++ | / (4 files): Merge branch 'master' of github.com:parrot/parrot |
|||
| rrot: d20f712 | fperrad++ | tools/dev/mk_inno_language.pl: [win32/inno] follow rakudo |
|||
|
16:27
benabik joined
|
|||
| dalek | p: 6902f1d | jonathan++ | / (3 files): Handle funkiness in Perl 5 character class parsing, and add some tests to cover it. |
16:42 | |
| p: 8eb6810 | jonathan++ | src/QRegex/P5Regex/ (2 files): Get various backslash sequences in place. |
|||
| p: 564768b | jonathan++ | t/p5regex/ (2 files): Various meta-chars tests. |
|||
| p: 2b0173e | jonathan++ | t/p5regex/rx_metachars: Tests for \\w, \\W, \\d and \\D. |
|||
|
16:43
benabik joined
16:45
PacoAir joined
17:15
particle joined
17:32
MikeFair joined
17:35
jashwanth joined
18:07
darbelo joined
18:13
lucian joined
18:20
mvorl joined,
mvorl left
|
|||
| dukeleto | ~~ | 18:21 | |
| MikeFair | \\/ | 18:46 | |
| dukeleto | MikeFair: howdy! I haven't seen you around here before, but I also have been hiding under a rock. | 18:59 | |
| 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:02 | |
| MikeFair | dukeleto: Hi there | 19:07 | |
| 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! | ||
| MikeFair | dukeleto: Had some big ideas that were too include parrot -- didn't get anything stable going :) | 19:09 | |
| dukeleto: thanks! | |||
| dukeleto: So regardless, I'm still regrouping and trying to put together a protoype | 19:12 | ||
| 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 | ||
| 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 | ||
| all those projects have repos | |||
| dukeleto: It's a programming model and data distribution network | 19:16 | ||
| And it takes a project like parrot to make it happen | |||
| (well it takes a bunch of stuff really) | |||
| So at its core is a distributed persistent XML DOM | 19:17 | ||
| Think of DNS or some other peer 2 peer based network | |||
| (data network) | |||
| 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 | |
| MikeFair: they will most likely give you lots of good feedback, suggestions and war stories :) | |||
| 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) | ||
| dukeleto | MikeFair: is this something like a distributed hash table? | 19:19 | |
| MikeFair | dukeleto: Yes, but the difference is that the objects (the values attached to the hash) are synchronized across the whole network | 19:20 | |
| dukeleto: So many applications will synchronously (relatively speaking) be tracking the same object | 19:21 | ||
| 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:22 | ||
| 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:24 | ||
| dukeleto: Imagine a multi-user channel or an IM contact as an object instance | 19:26 | ||
| dukeleto: So what I wanted to do was put a parrot interpretor on each channel/object contact | 19:29 | ||
| dukeleto | MikeFair: very interesting | 19:31 | |
| MikeFair: will you be embedding parrot? | |||
| MikeFair | dukeleto: That way we can excecute a command to set the channel gramar | ||
| dukeleto: I'm still working that out, I don't think I need to | 19:32 | ||
| dukeleto: You familiar with ZeroMQ? | |||
| dukeleto: Or D-Bus? | 19:33 | ||
| dukeleto: I'm envisioning parrot as being a kind of service daemon that can service command requests. I kind of parrot shell | 19:35 | ||
| dukeleto: Well like I said, I'm still working that part out | 19:36 | ||
| dukeleto: I'm starting with the programmer experience | |||
| dukeleto | MikeFair: i am reasonably familiar with *MQ, but I have used Redis more as a message queue | 19:37 | |
| MikeFair: i wrote this a long time ago. Maybe it will be useful for you: github.com/parrot/parrot/blob/mast...t_shell.pl | 19:38 | ||
| MikeFair | dukeleto: Wow - that's almost exactly what I was looking for | 19:39 | |
| dukeleto: I think I might be confusing terms, when I think of parrot, I really think of the entire toolkit -- not just PASM | 19:40 | ||
| dukeleto: I see parrot as a scripting engine that takes two inputs, a grammar and source | 19:41 | ||
| dukeleto: Is that what other people think of when they say Parrot? | 19:42 | ||
| dalek | kudo/nom: 2d5ec92 | moritz++ | tools/update-tai-utc.pl: [tools] automatically assume correct path to src/core/tai-utc.pm |
||
| dukeleto | MikeFair: everybody has a different idea :) | 19:43 | |
| MikeFair | dukeleto: I thought that might be the case | ||
| :) | |||
| 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 | ||
| MikeFair: a lot of parrot is written in Winxed these days | |||
| MikeFair | dukeleto: Yeah I've been seing this Winxed term showing up every where | ||
| 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. | ||
| dukeleto | MikeFair: whiteknight.github.com/Rosella/winxed/index.html | ||
| MikeFair: winxed is higher level that PIR and boils down to PIR/PBC | |||
| 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 | ||
| MikeFair: people who like perlish things prefer NQP, people who like non-perlish or javascript-ish things like Winxed | |||
| 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" | ||
| 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 :) | |||
| 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:47 | ||
| MikeFair gets it | 19:48 | ||
| dukeleto | MikeFair: if you go to github.com/parrot/parrot and on the upper right you mouseover the colored bar, you will see that Parrot is written in 27% parrot! | ||
| wheels within wheels... | |||
| 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:49 | |
| With Parrot, I envision being able to load a module that can rewrite the grammar at run-time | 19:50 | ||
|
19:51
khisanth_ joined
|
|||
| MikeFair | The idea came from the english like language began in the language/tool HyperTalk/HyperCard if you have ever experienced those | 19:53 | |
| (The current generation of that tool/language can be seen here: www.runrev.com/ ) | 19:54 | ||
| dalek | p: 656abc9 | moritz++ | VERSION: bump VERSION to 2012.08 |
||
| MikeFair | They call it "LiveCode" now | 19:55 | |
| dalek | kudo/nom: fc01818 | tadzik++ | docs/announce/2012.08: Add a first sketch of a new release guide |
19:56 | |
| kudo/nom: d2472a9 | moritz++ | tools/build/NQP_REVISION: bump NQP revision to 2012.08 |
19:59 | ||
| MikeFair | dukeleto: IT has a syntax like: move button "someButton" to the center of the current Card | 20:02 | |
| 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:03 | ||
| Oftentimes people want to use the command 'move' but they want to animate the motion | 20:05 | ||
| dalek | kudo/nom: eb13935 | moritz++ | docs/announce/2012.08: [announce] fix month, add deprecations from docs/deprecations |
||
| 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:07 | |
| dalek | kudo/nom: cf22052 | moritz++ | VERSION: [release] bump VERSION |
20:08 | |
| kudo/nom: 6d97606 | moritz++ | docs/announce/2012.08: [announce] spelling, pmichaud++ |
20:09 | ||
| kudo/nom: 09c46a6 | pmichaud++ | docs/announce/2012.08: More announcement updates; Frankfurt am Mein -> Frankfurt.pm . |
20:14 | ||
| dukeleto | MikeFair: sounds feasible | 20:15 | |
| MikeFair | dukeleto: So that's the language I ultimately see binding to the DOM interface I desribed earlier | 20:19 | |
| dalek | kudo/nom: 0ab48ba | pmichaud++ | docs/announce/2012.08: Another update to the yapceu/release name section. |
20:20 | |
| 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:21 | |
| MikeFair | PerlJam: Hmm, thanks, yeah I think of grammar as "the files that describe the syntax of language" | 20:22 | |
| PerlJam: So what do you call those? | |||
| PerlJam | MikeFair: for nqp, it's Language/Grammar.pm and Language/Actions.pm :-) | 20:23 | |
| 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:24 | |
| 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... | ||
| dalek | p: c7bed44 | moritz++ | tools/build/Makefile.in: unbreak the build on non-windows |
||
| 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 | |
| PerlJam: Than the specific bytecode execution engine | |||
| 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:29 | ||
| PerlJam | MikeFair: PACT is the new and improved parrot compiler toolkit. | 20:30 | |
| PACT == Parrot Alternate Compiler Toolkit | |||
| github.com/parrot/PACT#readme | |||
| (though, I don't think winxed has and regex/grammar features yet, so "improved" might be a little premature) | 20:31 | ||
| dalek | p: c9db812 | moritz++ | tools/build/Makefile.in: Revert "unbreak the build on non-windows" This reverts commit c7bed445880938ea914ce0b4e964e3c66261a1f9. It was wrong because building p5regex with stage0 involves the wrong serialization context. |
20:32 | |
| MikeFair | So what do you call the files that define the HLL langauges like "Python" or "Perl6" | ||
| p: fff3eb8 | moritz++ | tools/build/Makefile.in: stop building the p5 regex bits rakudo does not use them yet, and that step breaks the build on non-windows we will figure out a proper fix after the rakudo release. |
|||
| 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 | |
| and for Python on winxed, I'm sure they do things differently | |||
| moritz | I'd call them "compiler" :-) | 20:35 | |
| MikeFair | PerlJam: ok, so collectively I refer to all those things as Parrot Grammars | ||
| So I can see the confusion | 20:36 | ||
| I've been thinking of the Actions as part of what I call "Grammar" | |||
| moritz: "Compilers" might be a better term | 20:37 | ||
| moritz: Though it's a bit unnatural at first use... I think of Compilers as something monolithic and static | 20:38 | ||
| moritz: Though I think you're right | |||
| moritz | MikeFair: not my fault :-) | ||
| PerlJam | heh | ||
| MikeFair | moritz: :) Didn't say it was :) | ||
| PerlJam | MikeFair: yes, you're free to change your mind :) | ||
| MikeFair ventures to say he won't be only one on the planet that will need to change his mind about that. | 20:39 | ||
| s/say/guess/ | |||
|
20:39
perlite_ joined
|
|||
| 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:39 | |
| 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 | ||
| yes | |||
| 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) | ||
| 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 | |
| So I guess in my mind's eye "Parrot" = "Java" and "<something I don't have a name for>" = JVM | |||
| Java, .Net, Parrot these are names for entire families of related technologies | 20:43 | ||
| "Parrot Virtual Machine" would I guess be the appropriate name I think of for "PBC excution engine" | 20:44 | ||
| So I guess that would be "PVM" for short | 20:45 | ||
| PerlJam | MikeFair: have you seen trac.parrot.org/parrot/wiki/Languages ? | ||
| (I don't know how maintained that page is though) | |||
| MikeFair | I've seen it, or others like from time to time | ||
| But I don't think I've seen this one because the "Written in" column is new | 20:46 | ||
| (new to me) | |||
| SO when that tagline at the top says "Parrot Speaks your Language" | 20:47 | ||
| It's going to cause confusion because then I'm like "No it doesn't, Parrot speaks PBC" | |||
| moritz | the vision for parrot and the current state have diverged a bit, I fear | 20:48 | |
| 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:49 | |
| 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:50 | |
| 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 | ||
| MikeFair | I like the vision, and that's changed? | 20:52 | |
| or it's just not where things are atm | |||
| moritz | MikeFair: the reality is that parrot still lacks a JIT compiler, and not much emphasis is placed on language interoperability | ||
| and that currently only on language implementation on top of parrot has significant traction | |||
| MikeFair | Well I'm assuming that a lot of that is just figuring out what it means to support all these languages | 20:53 | |
| moritz: Perl6? | |||
| moritz | MikeFair: yes, Rakudo (the compiler) for Perl 6 (the language) | ||
| MikeFair nods. | |||
| moritz | there are also TCL and lua compilers that are occasionally maintained | 20:54 | |
| and winxed, which is a parrot-specific language | |||
| PerlJam | Also, Rakudo has enough traction to roll right off of Parrot onto some other VM | ||
| MikeFair | PerlJam: Is there talk of that? | ||
|
20:54
fperrad joined
|
|||
| PerlJam | (if necessary or desirable) | 20:54 | |
| 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 | ||
| moritz: I mean the state of things | |||
| moritz: That's cool, that's a dedicated team | |||
| 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) | ||
| moritz: I can understand why | |||
| 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:57 | |
| 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 | ||
| (but like anything else, it's all about how much work you want to put into it) | |||
| 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 ;) | ||
| MikeFair | PerlJam: RIght, I agree, but it's not exactly my itch to scratch :) | 21:00 | |
| PerlJam: I totally agree, but I like the JVM model overall I think | |||
| BUt yeah, I think I can see what the fuss would be about | 21:01 | ||
| 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 | ||
| the concept of Stack just doesn't exsit | |||
| that doesn't exactly line up with the JVM | 21:04 | ||
| 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:05 | ||
| 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:10 | ||
| 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 | ||
| 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:13 | |
| MikeFair | tadzik: I think I've encountered that kind of anger before, the lack of control | 21:14 | |
| PerlJam: Yeah, but Perl6 on the JVM would take Perl6 to a whole other category of language | |||
| moritz | tadzik: I count exactly one people :-) | ||
| MikeFair | PerlJam: For that matter, Perl6 on .Net would do the same thing | ||
| PerlJam: Quite frankly doing both a .Net and a JVM implementation would be incredible for Perl6 and all us PerlMongers | 21:16 | ||
| PerlJam | MikeFair: github.com/sorear/niecza/blob/master/README.pod | ||
| MikeFair | PerlJam: hehe - well there you go | ||
| tadzik | moritz: correct, heh :) | 21:17 | |
| dalek | kudo/nom: 9429d1c | moritz++ | docs/release_guide.pod: update release guide with current release |
21:18 | |
| MikeFair head begins to swim. | |||
| 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 | ||
| tadzik | niecza lacks markenting a bit | ||
| MikeFair | java however has a much bigger mind share for folks | ||
| moritz | tadzik: yes, I think that's the main reason | 21:20 | |
| PerlJam | tadzik: That's always the problem | ||
| MikeFair | moritz: Yeah, I wasn't saying that Mono didn't work, I was just talking about how people think of .Net | ||
| PerlJam | (See "perl is dying") | ||
| tadzik | hehehe | ||
| that old meme :) | |||
| 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. | |||
| 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 | ||
| moritz | Coke: sorry, did I say something wrong? | ||
| MikeFair | PerlJam: Kind of... with respect I care more about the multi-language aspects of parrot than I do Perl6 | ||
| Coke | "parrot lose prominence" implies some things that I think may not be true. | 21:24 | |
| moritz: oh, no. I'm just bitter, and it has nothing to do you with you. ;) | |||
| er, really, that wasn't an ironic smily | |||
| parrot == java, in that java refers to 20 different things, not just the language. | |||
| er, parrot ~~ java | |||
| MikeFair | Coke: I think that was me not moritz :) | 21:25 | |
| Coke | yes, I'm following up on ALL the backscroll. | ||
| 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 | ||
| Coke | yes. | ||
| MikeFair | Coke: hehe -- thought you might be picking on the guy you had the leverage with ;) | ||
| moritz | you're in violent agreement now :-) | ||
| PerlJam pokes Coke with a long tcl-shaped stick | 21:27 | ||
| Coke growls ferally | |||
| 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. | |||
| MikeFair | Coke: Honestly I think you guys should take over the KDE Kross stuff | 21:29 | |
| Coke | never heard of it. | ||
| 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) | ||
| Desktop Scripting is an area I think Parrot could excel | 21:31 | ||
| Look, I'm just an outsider, but every language needs to access data | 21:32 | ||
| 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 | ||
| m0? | |||
| Milestone zero? | |||
| PerlJam | leto.net/dukeleto.pl/2011/05/what-is-m0.html | 21:34 | |
| dukeleto++ | |||
| 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:35 | |
| cotto | Opinions are great. Code is better. | 21:36 | |
| MikeFair nods. | |||
| 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 | ||
| i think perlJam is right in that most developers are more interested in writing their own code | |||
| making their own code faster | |||
| improving Parrot is a side effect of that | 21:39 | ||
| KDE Plasma and the active desktop (and mobile phone development) is a very HLL type activity | 21:40 | ||
| And it's not worth me learning a new language just to do it | |||
| 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) | ||
| PerlJam: I don't think so | |||
| PerlJam | MikeFair: watch www.youtube.com/watch?v=Xe1TZaElTAs | 21:42 | |
| 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 | |
| I mean I think Parrot is jsut as much something people love independent of Perl | |||
|
21:53
Tene joined
|
|||
| MikeFair | Or that people could love, and we've got use it for something in our daily lives | 21:55 | |
| (or at lesat daily computer use) | |||
| I'm parrot as something that's part of my desktop | 21:56 | ||
| seeing | |||
| 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 | ||
| (or perl) | |||
| 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 | ||
| (I use it as an example I mean) | |||
| It's more than just a language, it's also an SDK/API | 21:59 | ||
| and programming model | |||
| 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:03 | ||
| 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:05 | ||
| cotto: BTW, this desktop thing is the code I'm hoping to contribute | 22:10 | ||
| Anyone here done any work with XMPP servers? | 22:55 | ||
| tadzik | I wrote a client once | ||
| MikeFair | I think the place for me to start is to create my own custom MUC (multi-user channels) | ||
| tadzik | or twice | ||
| MikeFair | tadzik: What do you think it would take to create a custom message parser | 22:57 | |
| I'd thought about just using an XMPP client | |||
| tadzik | depends. I just used loudmouth library and it saved me all the hard work | 22:58 | |
| (and created new hard work, but that's another story) | |||
| MikeFair | tadzik: What I'd like to do is bind each channel (or each contact as the case may be) to an XML document | ||
| tadzik: I think I used perl's Net::XMPP library once and it wasn't so ba | |||
| bad | |||
| 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 | ||
| tadzik: Well what I'd like to do is hook it up to Parrot so you could IM the channel "Load 'Perl6'" | 23:00 | ||
| tadzik: But you're right | |||
| tadzik: I just Pm'd | 23:02 | ||
| tadzik | yep, seen | 23:03 | |
|
23:26
whiteknight joined
|
|||
| whiteknight | good evening, #parrot | 23:26 | |
| tadzik | good everning whiteknight | ||
|
23:38
benabik joined
|
|||
| dalek | rrot/gh803_rpath_blib: 306d9b4 | rurban++ | tools/dev/pbc_to_exe.winxed: [GH 803] fix installed rpath_lib When building installables in the builddir, rpath_blib contains cruft (-Wl:/usr/local/lib) and rpath_lib only is valid. This disallows testing installables without LD_LIBRARY_PATH. |
23:41 | |
| whiteknight | hello tadzik | 23:43 | |