|
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
|
|||