Parrot 6.3.0 "Black-cheeked Lovebird" | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 15 April 2014.
00:54 rurban1 joined 00:59 rurban2 joined 01:08 FROGGS_ joined 01:55 woosley joined 02:21 plobsing joined 02:29 rurban1 joined 03:02 rurban1 joined 04:30 Psyche^ joined 04:49 cooper joined 06:01 rurban1 joined 06:03 rurban2 joined 06:47 FROGGS joined 07:04 rurban1 joined 08:04 rurban1 joined 09:00 basiliscos joined 09:05 rurban1 joined 09:31 woosley joined 09:47 woosley joined 09:52 woosley joined 10:06 rurban1 joined 10:17 woosley joined 10:24 woosley joined 10:30 woosley joined 10:34 woosley joined 10:44 woosley joined 11:07 rurban1 joined 12:07 rurban1 joined 13:17 rurban1 joined 14:34 bluescreen joined 14:56 rurban1 joined 14:59 FROGGS joined 15:23 drift joined 15:42 gtodd joined
gtodd in perl5 if modules are fast and in pure perl it is $good_thing ... but one can use C (XS) for extensions to access POSIXy things or because something is faster in C/already exists in a C library - there's a standard-ish way for C/perl to interoperate. If perl/perl6 is running on a VM that has lots of libraries one might find useful "underneath" perl (e.g. rakudo "on top" of a jvm) is there an equivalent to XS for t 15:58
FROGGS gtodd: XS for t? 16:00
but to answer the other stuff: there is a way to access jvm specific stuff, load classes etc 16:01
like you can use pir:: opcodes and load parrot's YAML or JSON modules or so
gtodd ok yeah ... just general discussion of ways to access whatever other languages might be available 16:02
FROGGS but since you have no C structures of the perl6 internals on the jvm, there is no XS in that sense
gtodd there was a good tutorial (Parrot Baby Steps) that touched on some of this but it went a away
a long way away ... 16:03
yeah I mean more "equivalent to XS" (if it can be thought of as a standard way to access C)
FROGGS something that is kinda XS-ish but has nothing to do with other languages is the way you can work with the 6model stuff for rakudo on moarvm
because there the object system is accessable from C land, like what XS kinda does 16:04
gtodd FROGGS: wow cool
FROGGS so you all primitives to build up bigger things, and for example you can easily get the number of elements of a Perl 6 array 16:05
gtodd so perl6 is going to be cooperating in lots of different way with parts of whatever system it is running on 16:07
to say the least and most general thing possible (I'm good at that) 16:08
FROGGS gtodd: it kinda has to
gtodd :)
FROGGS because most times the compiler internals must make use of the vm specific stuff
and it is just a short step to provide that functionality to the user
gtodd so in the distant future Perl6 will be the VM for java :) 16:11
FROGGS hehe, no, I don't think so :o)
the work that got into making the jvm stable on all its platform must be done first for parrot or moarvm :o) 16:12
gtodd heh piece of cake ! :-) :-\\ 16:13
I find the syntax and the way you can express perlish things in perl6 to be a really nice "evolution" ... but the guts underneath sometimes are intimidating so I am forcing myself to be less afraid by not looking away. 16:16
FROGGS hmmmm
I really do like how rakudo and the stuff around is is built up 16:17
gtodd I mean it can't be more complicated than understanding what's "underneath" perl5 (C, POSIX, Unix OS) ... 16:18
FROGGS it is really nice that you can implement stuff that is exposed to the user (like loop labels) that easily
that is what I mean, I think the implementations of Perl 6 tend to be easier to grok than, say, Perl 5
gtodd does anything in the perl6 spec say "where" or at what "level" in the stack things need to exist? 16:19
FROGGS especially MoarVM, because it is pretty new, and it was written *after* it was widely known what Perl 6 is
gtodd: I don't think so
the spec describes mostly the behaviour, not the implementation 16:20
gtodd like if there's an easy way to make rakudo-parriot do something using .pir then that part of the psec might not be as well supported I nieczsa (sp?) or whatever
ah ok
FROGGS true, VM specific will never be part of the spec 16:21
gtodd hmm so moarvm was able to built a lot more quickly
FROGGS because you don't have pir on the jvm, moarvm or in niecza
gtodd: yes, moarvm only exists to please rakudo 16:22
gtodd even after all the work done on perl6::rakudo-parrot etc. etc.
FROGGS the thing is, rakudo has evolved and its object system was rewritten several times I think, but it was not backported to parrot 16:23
so parrot offers a different object system, which is not ideal for rakudo 16:24
but we took quite some things from parrot and put it almost unchanged into moarvm, which was nice
(like IO stuff, file operations...)
and also parrots goal is to support all dynamic languages, which naturally must have some trade offs for every single language 16:25
(even when these would be small trade offs)
gtodd so in an ideal world perl6 on qw/rakudo-moarvm rakudo-niecza rakudo-parrot rakudo-jvm/ will be roughly equivalent but ....
FROGGS niecza is not rakudo
gtodd oh right
FROGGS it is a separate implementation on .Net/mono 16:26
gtodd they will be equivalent but perhaps less equivalent maybe than perl5 on Win32 vs, perl5 on HPUX
FROGGS but in like 99.99% of all cases you can run your code on rakudo and you don't have to care about the packend
backend*
gtodd ok
FROGGS I guess rakudo provides a better abstraction than Perl 5 does 16:27
because when you look at VMS, there are quite some Perl 5 built ins that behave differently
and this would be considered a bug for rakudo/Perl 6 16:28
gtodd right ... actually if code written in perl5 is portable from Win32 to HPUX it's because of smart developers using CPAN tools to abstract things and to make it so ... I imagine the same sort of thing will happen if needed
FROGGS yes, but rakudo already tries very hard to do that with all its built-ins 16:29
because the built-ins are specced, and therefore have a described behaviour
whatever vm or os you might have 16:30
gtodd FROGGS: I only assume everyone will develop on OSX on a MacBook Pro .... ;-) 16:34
FROGGS hehe
dreams... *g*
I really hope not too many have to suffer that :P
gtodd prefers BSD
FROGGS that reminds me that I have to debug something on openbsd 5.4 :/ 16:35
gtodd if you have an Samsung/Android thing or an iPad + a "workstation" style BSD/Unix box you don't really need a "desktop" :) 16:36
FROGGS I've got a linux laptop and a blackberry :/ 16:38
gtodd a perl6 REPL on Android would be more fun than Angry Birds :) 16:39
FROGGS: is it one of those newer bbry's that have QNX ? 16:40
FROGGS: :-) oops I'm way OT .. anyway thanks for the info ... I'm going to go through randomgeekery.org/pages/geekery/parrot/learn/ ... some parrot.org maintainer might want to change the link to that tutorial on parrot.org/dev/docs/user 16:43
cheers
FROGGS gtodd: I have an S10 or what it is called... 16:50
btw, somebody installed rakudo on an rasperry pi
rurban btw: the rakudo object system was backported to parrot. see the rurban/6model branch. It's just not a generic enough MOP to be usable outside of perl6 17:11
FROGGS rurban: yeah, that is what I meant about parrot's goals... 17:21
rurban: how will this be exposed? is it already usable somehow from rakudo?
I guess we need to change rakudo as well to not use its own object system
rurban I and whiteknight tested 6modekl integration. 17:24
rakudo is fine to use it's own mop. no problem. you cannot just enforce everybody else to use a specialized MOP which only implements perl6 semantics, and does not allow customization for other languages. 17:25
6model is not a mop, only a halfway mop. 17:26
we need to improve it significantly in order to merge it.
but it's much better than the current parrot object system, agreed
Coke With dukeleto gone (is he gone?) I wonder if there is anyone left working on parrot who is trying to support languages other than perl 6. 17:30
rurban That's not the problem. merging 6model now would make the OO situation worse 17:35
but it's not much work to extend 6model to be a flexible work. Just add a MOP api, and remove the hardcoded methods 17:36
nqp already includes 6model, so it does not help if parrot would include the same. 17:37
Coke it would help performance, i would imagine. 17:41
... but I haven't looked at the code. just internalized years of irc. 17:42
rurban I benched it. see github.com/parrot/parrot-bench 17:44
18:44 TonyC joined 18:49 TonyC_ joined 19:00 TonyC joined 20:06 rurban joined 21:40 kid51 joined 23:09 rurban joined