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