Perl 6 - the future is here, just unevenly distributed

IRC log for #parrot, 2014-04-30

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:54 rurban1 joined #parrot
00:59 rurban2 joined #parrot
01:08 FROGGS_ joined #parrot
01:55 woosley joined #parrot
02:21 plobsing joined #parrot
02:29 rurban1 joined #parrot
03:02 rurban1 joined #parrot
04:30 Psyche^ joined #parrot
04:49 cooper joined #parrot
06:01 rurban1 joined #parrot
06:03 rurban2 joined #parrot
06:47 FROGGS joined #parrot
07:04 rurban1 joined #parrot
08:04 rurban1 joined #parrot
09:00 basiliscos joined #parrot
09:05 rurban1 joined #parrot
09:31 woosley joined #parrot
09:47 woosley joined #parrot
09:52 woosley joined #parrot
10:06 rurban1 joined #parrot
10:17 woosley joined #parrot
10:24 woosley joined #parrot
10:30 woosley joined #parrot
10:34 woosley joined #parrot
10:44 woosley joined #parrot
11:07 rurban1 joined #parrot
12:07 rurban1 joined #parrot
13:17 rurban1 joined #parrot
14:34 bluescreen joined #parrot
14:56 rurban1 joined #parrot
14:59 FROGGS joined #parrot
15:23 drift joined #parrot
15:42 gtodd joined #parrot
15:58 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
16:00 FROGGS gtodd: XS for t?
16:01 FROGGS but to answer the other stuff: there is a way to access jvm specific stuff, load classes etc
16:01 FROGGS like you can use pir:: opcodes and load parrot's YAML or JSON modules or so
16:02 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
16:02 gtodd there was a good tutorial (Parrot Baby Steps) that touched on some of this but it went a away
16:03 gtodd a long way away ...
16:03 gtodd yeah I mean more "equivalent to XS" (if it can be thought of as a standard way to access C)
16:03 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
16:04 FROGGS because there the object system is accessable from C land, like what XS kinda does
16:04 gtodd FROGGS: wow cool
16:05 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:07 gtodd so perl6 is going to be cooperating in lots of different way with parts of whatever system it is running on
16:08 gtodd to say the least and most general thing possible (I'm good at that)
16:08 FROGGS gtodd: it kinda has to
16:08 gtodd :)
16:08 FROGGS because most times the compiler internals must make use of the vm specific stuff
16:08 FROGGS and it is just a short step to provide that functionality to the user
16:11 gtodd so in the distant future Perl6 will be the VM for java :)
16:11 FROGGS hehe, no, I don't think so :o)
16:12 FROGGS the work that got into making the jvm stable on all its platform must be done first for parrot or moarvm :o)
16:13 gtodd heh piece of cake ! :-)  :-\
16:16 gtodd 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
16:17 FROGGS I really do like how rakudo and the stuff around is is built up
16:18 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
16:18 FROGGS that is what I mean, I think the implementations of Perl 6 tend to be easier to grok than, say, Perl 5
16:19 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
16:19 FROGGS gtodd: I don't think so
16:20 FROGGS 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
16:20 gtodd ah ok
16:21 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
16:21 FROGGS because you don't have pir on the jvm, moarvm or in niecza
16:22 FROGGS gtodd: yes, moarvm only exists to please rakudo
16:22 gtodd even after all the work done on perl6::rakudo-parrot etc. etc.
16:23 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:24 FROGGS so parrot offers a different object system, which is not ideal for rakudo
16:24 FROGGS but we took quite some things from parrot and put it almost unchanged into moarvm, which was nice
16:24 FROGGS (like IO stuff, file operations...)
16:25 FROGGS and also parrots goal is to support all dynamic languages, which naturally must have some trade offs for every single language
16:25 FROGGS (even when these would be small trade offs)
16:25 gtodd so in an ideal world perl6 on qw/rakudo-moarvm rakudo-niecza rakudo-parrot rakudo-jvm/ will be roughly equivalent but ....
16:25 FROGGS niecza is not rakudo
16:25 gtodd oh right
16:26 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
16:26 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
16:26 FROGGS backend*
16:26 gtodd ok
16:27 FROGGS I guess rakudo provides a better abstraction than Perl 5 does
16:27 FROGGS because when you look at VMS, there are quite some Perl 5 built ins that behave differently
16:28 FROGGS 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
16:29 FROGGS yes, but rakudo already tries very hard to do that with all its built-ins
16:29 FROGGS because the built-ins are specced, and therefore have a described behaviour
16:30 FROGGS whatever vm or os you might have
16:34 gtodd FROGGS: I only assume everyone will develop on OSX on a MacBook Pro  ....  ;-)
16:34 FROGGS hehe
16:34 FROGGS dreams... *g*
16:34 FROGGS I really hope not too many have to suffer that :P
16:34 * gtodd prefers BSD
16:35 FROGGS that reminds me that I have to debug something on openbsd 5.4 :/
16:36 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:38 FROGGS I've got a linux laptop and a blackberry :/
16:39 gtodd a perl6 REPL on Android would be more fun than Angry Birds :)
16:40 gtodd FROGGS: is it one of those newer bbry's that have QNX  ?
16:43 gtodd FROGGS: :-) oops I'm way OT .. anyway thanks for the info ...  I'm going to go through http://randomgeekery.org/pages/geekery/parrot/learn/   ... some parrot.org maintainer might want to change the link to that tutorial on http://parrot.org/dev/docs/user
16:43 gtodd cheers
16:50 FROGGS gtodd: I have an S10 or what it is called...
16:50 FROGGS btw, somebody installed rakudo on an rasperry pi
17:11 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:21 FROGGS rurban: yeah, that is what I meant about parrot's goals...
17:21 FROGGS rurban: how will this be exposed? is it already usable somehow from rakudo?
17:21 FROGGS I guess we need to change rakudo as well to not use its own object system
17:24 rurban I and whiteknight tested 6modekl integration.
17:25 rurban 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:26 rurban 6model is not a mop, only a halfway mop.
17:26 rurban we need to improve it significantly in order to merge it.
17:26 rurban but it's much better than the current parrot object system, agreed
17:30 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:35 rurban That's not the problem. merging 6model now would make the OO situation worse
17:36 rurban 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:37 rurban nqp already includes 6model, so it does not help if parrot would include the same.
17:41 Coke it would help performance, i would imagine.
17:42 Coke ... but I haven't looked at the code. just internalized years of irc.
17:44 rurban I benched it. see https://github.com/parrot/parrot-bench
18:44 TonyC joined #parrot
18:49 TonyC_ joined #parrot
19:00 TonyC joined #parrot
20:06 rurban joined #parrot
21:40 kid51 joined #parrot
23:09 rurban joined #parrot

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

Parrot | source cross referenced