Camelia, the Perl 6 bug

IRC log for #parrot, 2008-07-21

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:07 timbunce joined #parrot
00:10 AndyA joined #parrot
00:21 vhold joined #parrot
00:27 Theory joined #parrot
00:30 Limbic_Region joined #parrot
00:50 Ademan joined #parrot
00:55 Psyche^ joined #parrot
01:09 dalek r29637 | Whiteknight++ | gsoc_pdd09:
01:09 dalek : [gsoc_pdd09] coding standards: fix macro arguments to use parenthesis properly
01:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29637
01:41 kid51 joined #parrot
01:42 dalek r29638 | jkeenan++ | parallel:
01:42 dalek : Add tests for existence of files prerequisite to gen::config_h's operation.  Add POD.
01:42 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29638
02:03 dalek r29639 | jkeenan++ | parallel:
02:03 dalek : gen_config_h:  Delete unneeded sub import.
02:03 dalek : gen_core_pmcs:  Test that the prerequisite parts of the Parrot::Configure
02:03 dalek : object can be located.
02:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29639
02:05 dalek r29640 | jkeenan++ | parallel:
02:05 dalek : Correct spelling error in test description.
02:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29640
02:18 dalek r29641 | jkeenan++ | parallel:
02:18 dalek : config/gen/crypto.pm:  Pull hard-coded %digest into step's data structure (as
02:18 dalek : done for other config steps).  Some typographic reformatting.  Write first
02:18 dalek : tests for gen::crypto; so far, the case where crypto is unavailable.
02:18 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29641
02:32 dalek r29642 | jkeenan++ | parallel:
02:32 dalek : Correct syntax error.
02:32 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29642
02:41 TiMBuS joined #parrot
03:11 apple-gunkies joined #parrot
03:20 teknomunk joined #parrot
03:22 daxelrod joined #parrot
03:39 buildbot joined #parrot
04:37 ewilhelm parrotcode.org says nothing about sat hackathon?
04:52 teknomunk joined #parrot
05:09 Andy joined #parrot
05:19 Psyche^ joined #parrot
05:19 purl joined #parrot
05:30 purl joined #parrot
05:35 purl joined #parrot
05:54 uniejo joined #parrot
06:00 uniejo joined #parrot
06:11 Theory joined #parrot
06:31 cotto_home dino?
06:31 cotto_home purl, dino?
06:31 purl cotto_home: i don't know
06:31 cotto_home that's not very helpful
06:31 purl I'm only as helpful as the hyoomuns programming me, cotto_home
06:32 tuxdna joined #parrot
06:50 Ademan joined #parrot
07:12 barney joined #parrot
07:30 cosimo joined #parrot
07:31 iblechbot joined #parrot
07:38 timbunce joined #parrot
07:52 Casan joined #parrot
08:06 dalek r29643 | fperrad++ | trunk:
08:06 dalek : [Lua]
08:06 dalek : - add lua_is* (needed by GL/GLUT)
08:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29643
08:06 tuxdna joined #parrot
08:06 masak joined #parrot
08:09 dalek r29644 | fperrad++ | trunk:
08:09 dalek : [Lua] OpenGL
08:09 dalek : - start implementation of few methods
08:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29644
08:09 timbunce joined #parrot
08:21 dalek r29645 | bernhard++ | trunk:
08:21 dalek : [urm] Use $FindBin::Bin instead of $FindBin::RealBin
08:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29645
09:17 dalek r29646 | moritz++ | trunk:
09:17 dalek : [lua] codingstd: make file_metadata.t happy
09:17 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29646
09:20 uniejo joined #parrot
09:21 dalek r29647 | moritz++ | trunk:
09:21 dalek : [rakudo] add S04-statements/return.t to spectest_regression, Auzon++
09:21 dalek :  +12 pass, +2 skip
09:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29647
09:23 Debolaz joined #parrot
09:34 zostay joined #parrot
10:00 Ademan joined #parrot
10:27 dalek r29648 | moritz++ | trunk:
10:27 dalek : [rakudo] add S04-statements/given.t to spectest_regression. Auzon++
10:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29648
11:06 AndyA joined #parrot
11:22 Whiteknight joined #parrot
11:25 barney joined #parrot
11:37 ruoso joined #parrot
11:47 dalek r29649 | bernhard++ | trunk:
11:47 dalek : [Pipp PCT] Check the maximal number of digits in hex and octal escape sequences.
11:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29649
11:52 iblechbot joined #parrot
12:36 dalek r29650 | infinoid++ | pdd13pbc:
12:36 dalek : [PDD13]
12:36 dalek : * Fix inheritance, so that subclasses of PackfileSegment can use the
12:36 dalek :   .pack() method.
12:36 dalek : * Fix .pack, it seems sometimes Packfile_Segment_pack() doesn't return
12:36 dalek :   the same number of bytes PackFile_Segment_packed_size() said it would.
12:36 dalek : * Consolidate some PIR test code into a common string.
12:36 dalek : * Fix the get_directory() test to use the "typeof" op.
12:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29650
12:43 dalek r29651 | infinoid++ | pdd13pbc:
12:43 dalek : [PDD13]
12:43 dalek : Remove some useless pack() and unpack() stubs, the parent class handles
12:43 dalek : those.
12:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29651
12:45 contingencyplan joined #parrot
13:11 dalek r29652 | infinoid++ | pdd13pbc:
13:11 dalek : [PDD13]
13:11 dalek : * Implement the following PackfileDirectory methods:
13:11 dalek :   - elements
13:11 dalek :   - get_pmc_keyed_int
13:11 dalek :   - get_string_keyed_int
13:11 dalek : * Test basic enumeration of PBC segments from PIR.
13:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29652
13:16 gryphon__ joined #parrot
13:17 Ademan joined #parrot
13:19 dalek r29653 | infinoid++ | pdd13pbc:
13:19 dalek : [PDD13]
13:19 dalek : * Remove an unused variable.
13:19 dalek : * If the index is out of bounds, raise an exception, don't just return PMCNULL.  This
13:19 dalek :   fixes the following warning:
13:19 dalek :   ./src/pmc/packfiledirectory.pmc:102: warning: return from incompatible pointer type
13:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29653
13:23 Infinoid jonathan: is it valid to wrap a PackfileAnnotations object around a PackFile_Debug struct (from a PF_DEBUG_SEG segment), or are they completely incompatible?
13:24 Infinoid the pdd says "This is new and replaces and builds upon the debug segment".  If they're really all that different, I'm wondering if its worth bothering to wrap the old stuff and then converting to the new format, or just implement the new one from scratch
13:27 donaldh joined #parrot
13:27 jonathan Infinoid: I'd just implement the new one.
13:27 jonathan But that is a bit of work.
13:28 Infinoid ok, thanks.  For now, I'll just return PackfileRawSegments for debug segments, and basically ignore them
13:35 jonathan That sounds like a good interim solution.
14:07 uniejo joined #parrot
14:16 jhorwitz joined #parrot
14:22 donaldh How do parrot and rakudo types interoperate?
14:22 donaldh If I construct a SQL ResultSet using parrot types, what does it look like to rakudo?
14:23 donaldh for example.
14:23 Andy joined #parrot
14:24 * donaldh is trying to decide how much lifting to do in PIR versus perl6
14:25 moritz donaldh: I think it only looks like anything from p6 if you register it with P6Meta
14:25 moritz but the cross-HLL isn't done yet, mostly
14:26 donaldh moritz: that's what confuses me. intproto defines a new Int class that has Integer and Any as parents.
14:27 donaldh moritz: is Integer the parrot type?
14:28 moritz donaldh: dunno, I'm just picking up random stuff that scrolls down before my eyes ;-)
14:28 * donaldh is wondering if he constructs a list of Integers in parrot, will he get p6 Ints when he is running within Rakudo
14:29 moritz why don't you just try it with a small sample?
14:29 * donaldh is just about to ;-)
14:30 * donaldh needs to invoke a few satanic verses to export the functions into the p6 namespace first.
14:31 masak donaldh: actually, all perl6 stuff works better with angelic invocations :)
14:31 donaldh masak: that's where I've been going wrong ;-)
14:31 masak clearly. :)
14:34 paco joined #parrot
14:46 Infinoid if(SELF.does("satanic")) real_exception(interp, NULL, E_ImportError, "invocant from wrong plane of existence");
14:46 donaldh :D
14:47 * donaldh has his answer
14:48 donaldh If I allocate and return a new Integer in parrot, then int_val().WHAT returns 'Int'
14:48 donaldh i.e. the p6 type.
14:48 Infinoid cool.
14:49 donaldh So I can write pir to convert a SQL result set into parrot types and perl6 code will get p6 types. yay.
14:50 donaldh I have no idea how this would work in a multi-HLL world.
14:51 Infinoid I suppose each HLL should just convert it to whatever integer type it's comfortable with
14:51 Infinoid (but I know nothing about the HLLs)
14:52 donaldh It appears to work because rakudo has the last say on what prototype is registered for Integer.
14:52 Infinoid but ... does it change the actual data type, or just wrap it somehow?
14:53 donaldh Infinoid: I have no idea.
14:53 Infinoid (I'm just curious, if your p6 code then passes that value to tcl, would tcl see an Integer, or an Int)
14:53 donaldh I think tcl would see an Int. But the Int isa Integer
14:54 nopaste "donaldh" at 144.254.89.228 pasted "the Int prototype" (9 lines) at http://nopaste.snit.ch/13628
14:55 donaldh But if tcl expects its own integer type then it will be disappointed.
15:11 apeiron joined #parrot
15:12 dalek r29654 | moritz++ | trunk:
15:12 dalek : [rakudo] fiddled with spectest_regression:
15:12 dalek :  - added S12-class/inheritance-class-methods.t, masak++
15:12 dalek :  - fixed typo in name of S12-class/anonymous.t, jonathan++ for implementing
15:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29654
15:13 jhorwitz donaldh: i believe HLL type mapping is supposed to handle the type conversion for each HLL.  but that's not in place yet.
15:13 jhorwitz not sure if/how it handles objects though
15:13 donaldh jhorwitz: okay, so type conversion will be needed. I was guessing tthis would be the case.
15:14 donaldh Avoiding conversion would be nice, but then we'd have to standardize a lot of the basic types.
15:15 jhorwitz depends what you need to do.  for mod_parrot, i'm happy to let rakudo stringify Perl6Strs so i can assign them to string registers.
15:15 Infinoid I'm guessing the problem isn't the value itself, but the methods wrapped around it
15:15 jhorwitz yeah
15:17 jhorwitz pmichaud, jonathan, and probably DietCoke can explain the type issues better than i can.
15:19 dalek r29655 | moritz++ | trunk:
15:19 dalek : [rakudo] whitespace fixes in spectest_regression.data
15:19 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29655
15:22 donaldh It looks like rakudo replaces the parrot types with its own derived versions. So constructing a ResizablePMCArray of Strings will give me a List of Strs in perl6
15:22 moritz it replaces only the names, right?
15:22 DietCoke joined #parrot
15:22 * DietCoke reviews.
15:22 purl reviews are hard since you have to read with a different eye than just for learning. or not written by yowling racists at all.
15:23 donaldh yes, it replaces the binding for ResizablePMCArray so that it is now implemented with a List (isa ResizablePMCArray)
15:23 DietCoke The plan for HLL_map was for mapping between parrot types and a single HLL; I don't think there's a plan for intra-HLL mappings.
15:23 DietCoke that has always been a concern of mine.
15:24 jhorwitz parrot *should* be able to handle the simple cases though.  i wonder about arrays and hashes...
15:24 DietCoke if I define a subroutine in tcl, and you invoke with a Perl6Str that doesn't work the way I expect... am I going to have to convert everything to string and then to TclString for it to work?
15:24 DietCoke jhorwitz: define "simple case". even integers don't work the same.
15:25 DietCoke er, Integers.
15:25 * donaldh has opened a can of worms
15:25 DietCoke it needed opening.
15:25 jhorwitz really.
15:25 * jhorwitz realizes there are no simple cases now.  :(
15:25 particle1 sometimes i think we should rename parrot to pandora
15:26 moritz particle1++
15:26 DietCoke Back when I was doing more HLL work on partcl, I tried to bring this up many time (I wasn't able to answer the questions myself at the time.) But I stopped working on partcl for some time, and there wasn't a lot of multi-HLL work at the time.
15:26 particle as i recall, dan left it as a hll implementor's problem
15:27 DietCoke which is, IMO, a recipe for failure.
15:27 donaldh Are HLLs all building their own types?
15:27 * jhorwitz wants the teachers edition so he can see the answers.
15:27 DietCoke (unless all the HLL implementors agree.)
15:27 moritz and doesn't really reflect our current design philosophy, I think
15:27 DietCoke donaldh: many are, yah.
15:28 DietCoke well, now that we have 4 or 5 pretty strong (but incomplete) implementations, we can probably get some kind of agreement on how we want parrot to handle this.
15:28 Andy joined #parrot
15:29 donaldh If teh types are _really different_ then we have a problem. But if the HLLs are just additive then they should all be able to extend the same prototypes.
15:29 Tene I vote that we standardize on lolcode's types.
15:29 DietCoke donaldh: not everyone agrees how things like division on ints or increment on strings should work, e.g.
15:29 donaldh Sure. But Perl6::increment can be separated from Tcl::increment.
15:29 DietCoke donaldh: they are.
15:30 donaldh As long as the storage is portable.
15:30 DietCoke donaldh: that would require a complete re-thunk of PMCs, I fear.
15:30 Tene my $i = eval('1', :lang<tcl>);
15:30 Tene $i++;
15:30 Tene Is that Tcl::increment or Perl6::increment?
15:31 Infinoid karma $i
15:31 purl $i has karma of 280
15:31 DietCoke karma $foo
15:31 purl $foo has karma of 49
15:31 donaldh karma donaldh
15:31 purl donaldh has karma of 1
15:31 moritz karma i
15:31 purl i has karma of 73
15:31 Infinoid donaldh++
15:31 donaldh thanks
15:31 particle my Int :lang<tcl> $i = eval('1', :lang<tcl>); would make things more clear
15:31 moritz $i++ much more frequent than i++? wow
15:32 DietCoke So, basically, there isn't a fully developed plan on how this is going to work out between HLLs.
15:32 donaldh karma c++
15:32 purl c++ has karma of -81
15:32 moritz karma c
15:32 purl c has karma of 7026
15:32 DietCoke solving it for PCT will work for many languages, but not all.
15:32 donaldh DietCoke: I was getting that impression ;-)
15:33 donaldh the problem is letting HLLs diverge with their own prototypes.
15:33 donaldh If they could share prototypes it would be easier.
15:33 DietCoke but can they?
15:33 DietCoke Do you mean, if everyone used "Integer" instead of creating their own HLL type?
15:34 donaldh I think so.
15:34 DietCoke That still doesn't answer the question about what if perl6 creates its own, in-language restricted integer type and passes that to another HLL.
15:34 donaldh And perl6 could extend the Integer prototype, as could Tcl, etc.
15:34 moritz but if the spec says it should be called "Int"?
15:34 DietCoke donaldh: they're both doing that now.
15:34 DietCoke TclInt isa Integer, e.g.
15:34 magnachef joined #parrot
15:35 donaldh Yes, but TclInt isa Int == false
15:35 DietCoke there is no Int.
15:35 donaldh perl6 Int ?
15:35 DietCoke ah.
15:35 DietCoke Int isa Integer too, innit?
15:35 donaldh yep.
15:35 DietCoke ... so we're already doing that, then, aren't we?
15:36 donaldh Circle isa Shape.
15:36 donaldh Square isa Shape.
15:36 donaldh Circle is not a Square.
15:36 DietCoke ... so you want Tcl to use Perl6 Int's? no.
15:36 DietCoke I read what you started with as starting with the same base type.
15:36 DietCoke (which we are. it's just a parrot type instead of an HLL type)
15:37 donaldh I'm wondering if it's a Perl6TclInt when I use both HLLs.
15:37 DietCoke no.
15:37 DietCoke it's one or the other.
15:37 moritz can't it be TclInt in tcl and Perl6Int in Perl 6?
15:37 DietCoke ... "how"?
15:37 donaldh Without conversion?
15:37 Infinoid ... meaning the HLLs wrap their own classes around the base type, on the fly?
15:37 moritz by magic hllmap tables?
15:38 moritz Infinoid: yes
15:38 DietCoke so whenever you'd call into another HLL's function, parrot would convert the types?
15:38 DietCoke it would have to map through parrot's core types. So a Perl6Int would get downconverted to either an Integer or an int, and then promoted up to a TclInt.
15:38 moritz it would convert to the native parrot type (Integer, or whatever it's called), and the HLL auto-wraps it?
15:39 Infinoid you'd need pir-level subroutines to have strong prototypes, and conversion functions called as needed
15:39 DietCoke I wouldn't expect the HLL to do anything.
15:39 DietCoke I'd expect it to be handled by parrot.
15:39 Infinoid and parrot would try to find a conversion function from the main type, and then try the base type(s) if that fails
15:39 DietCoke Or else we're going to write an insane amount of scaffolding.
15:39 * Infinoid starts having nightmares about haskell
15:39 donaldh This is what is confusing me.
15:40 donaldh I want to do the lifting for converting a SQL ResultSet to parrot types in PIR so that the implementation can be shared by many HLLs.
15:41 DietCoke yes, that would be spiffy. =-)
15:41 DietCoke You can't do that today, SFAIK.
15:41 donaldh It seems to work for any one HLL at a time because perl6 substitutes its own types for the parrot types. I'd assume that Tcl does the same.
15:41 DietCoke I mean, you can use the standard parrot types, sure.
15:41 Tene my $a = eval 'class ZOMGLOL; def foo(n) puts n ; end ; end', :lang<ruby>;
15:41 Tene erm.. instantiate at the end of that.
15:41 DietCoke no, Perl6 is doing something on its own that isn't done by anyone not using PCT.
15:41 purl okay, DietCoke.
15:41 DietCoke whoops.
15:42 moritz hehe
15:42 donaldh DietCoke: that's where I started. If I create a ResizablePMCArray of Integers in PIR then I get a List of Ints in perl6.
15:42 moritz purl: Perl6?
15:42 purl i guess Perl6 is doing something on its own that isn't done by anyone not using PCT.
15:42 moritz purl: Perl 6?
15:42 purl Perl 6 is the spec, rakudo and pugs are two of the implementations.
15:42 moritz purl: Perl6 is see Perl 6
15:42 purl ...but perl6 is doing something on its own that isn't done by anyone not using PCT....
15:42 moritz purl: no, Perl6 is see Perl 6
15:42 purl okay, moritz.
15:43 DietCoke moritz: that works in private messages.
15:43 moritz DietCoke: ok
15:43 moritz sorry
15:43 DietCoke donaldh: Ok. Pretty sure that doesn't work in tcl.
15:43 DietCoke Nor in anything that isn't using the Perl6Object stuff.
15:43 DietCoke (which is anyone not using PCT).
15:43 donaldh Ah, okay.
15:43 DietCoke Targetting PCT is not a terrible thing, but it does mean you're leaving out a class of implementations.
15:44 DietCoke (or they'll work differently)
15:44 particle the lowest common denominator is parrot base pmc types
15:44 DietCoke so if I get an RPA of Integers back, and I try, say, to stringify it, I'll get something very different than if it were a TclList
15:44 particle us ethose
15:45 DietCoke well, he is. So that's ok.
15:45 donaldh Except that in Tcl you could use Tcl::stringify
15:45 DietCoke but it doesn't mean it'll JFW in every HLL like it does in Perl6.
15:45 DietCoke donaldh: except that completes defeats the purpose of having PMCs.
15:45 particle right, but every hll will need to deal with them
15:45 DietCoke "completely"
15:45 purl "completely" is relative.
15:46 donaldh DietCoke: agreed.
15:46 DietCoke so I'm not really going to go down that path.
15:46 DietCoke I suspect we're going to have to amend the calling conventions to say whether or not we wish the HLL conversion to happen.
15:47 DietCoke (or passthrough unchanged)
15:47 DietCoke and then make parrot do all the hard work for us.
15:47 donaldh yes.
15:47 DietCoke (though really, tcl would always convert. Which makes me wonder if anyone else would not just always convert.)
15:48 moritz DietCoke: perl6 wouldn't necessarily, I think. You can use different storage for objects of the same class, so it doesn't have to
15:48 MagNET joined #parrot
15:48 Tene I'm not sure it's such a good idea to convert anything at all automatically.
15:49 Tene We'd have unpredictable behavior.
15:50 Tene If I'm using cardinal, and I get an object produced by rakudo, it will have Perl's methods, unless it happens to be an object that has a parrot core representation?
15:50 moritz sounds scary
15:50 Theory joined #parrot
15:50 Tene Where is the boundary, exactly, and what are the reasons for placing it there?
15:51 Tene For rakudo, do we convert from subset types, for example?
15:51 Tene What if we mixed a role into the object?
15:51 donaldh Maybe HLLs just need to accept parrot base types.
15:52 particle again, that's the lcd.
15:52 donaldh So Tcl sees perl6 datastructures downgraded to parrot types.
15:52 donaldh particle: yes.
15:52 Tene What about objects of user-made classes?
15:52 Tene If I get a Hash, it's converted, but not a Point?
15:53 Tene (Not that that would make any sense)
15:53 donaldh sometimes there is no Point ;-)
15:53 Tene What about: class Magic { extends Int } ?
15:54 particle 1) every hll must be able to convert to/from base pmc types
15:54 Tene If I make a custom class extending a class which would be converted?  Will that be converted too?
15:54 DietCoke particle: hell no!
15:54 DietCoke that's what .HLL_map is for. I don't want to have to write code for that...
15:54 particle 2) parrot has a defined mechanism to allow intra-hll conversions
15:54 Tene Isn't 1) what the HLL mapping is supposed to take care of?  Or just 1)a?
15:55 particle dietcoke: yes, that's what .HLL_map does
15:55 moritz Tene: I think it needs to be configurable, somehow. You as a programmer have to be able to decide if you'll get a Int:lang(tcl) or an Int out of a library call
15:55 Tene moritz: Right, type declaration on the variable you're assigning to.
15:55 particle if 1 and 2 are satisfied, parrot's job is done. interop for easy things happens automatically
15:55 particle and more complex things are possible
15:55 particle as runtime libraries
15:55 DietCoke particle: That sounds very handwavy to me. =-)
15:56 DietCoke what's simple? what's complex? how do the conversions happen? when do they happen?
15:56 grim_fandango joined #parrot
15:56 Tene particle: explain what 2) might look like.
15:56 particle freeze/thaw?
15:56 purl freeze/thaw are the Format
15:57 DietCoke particle: that's what .HLL_map -should- do, but yes. =-)
15:57 Tene particle: explain what you mean by intra-hll conversions.
15:57 moritz Tene: don't know if that's the way to go. It would imply that Int:lang(tcl).isa(Int)
15:57 moritz Tene: and I doubt that's compatible with linkovsky substitutability, or whatever it's called
15:57 particle some wrapper around thaw that allows you to specify the language and translates the impedance mismatches
15:58 particle *liskov
15:58 Tene particle: so each HLL will need to specify a conversion function for every type it cares about from every other HLL?
15:58 Tene convert_int_from_lolcode_to_perl6
15:58 Tene ?
15:58 particle yes, or call a runtime library
15:58 DietCoke particle: that is insanely evil.
15:59 DietCoke and I think it's a bad idea. how many languages do you plan parrot to support? how many HLL types per language?
15:59 particle parrot only needs to provide an api
15:59 particle it doesn't have to do everything, and it can't
15:59 DietCoke ... then there's no point in my working on partcl any more. =-)
15:59 particle parrot will make hll interop possible... this we've promised
15:59 Tene 1) If your language's numberish thing isa Num, shouldn't parrot be able to take care of assigning it to something else that isa Num in the same way we can go from Float to Int or the other way?
16:00 DietCoke particle: yes, but so far every plan I've heard will make it possible in a very unhelpful way.
16:00 particle parrot 1.0 needs to make it possible.
16:00 particle parrot 2.0 can make it easy.
16:00 Tene 2) If your language's number isn't an ancestor of Num or whatever, wouldn't there be a reason behind that and type mismatch errors would be the proper behavior if you tried to convert to an Int?
16:00 DietCoke particle: you really need to write down these 1.0/2.0 guidelines
16:01 DietCoke because I don't agree with many of them, and when you say them, they sound final.
16:01 DietCoke even if it's something that you and allison or others have agreed is a good idea (and they're not just you), it needs to be written down.
16:01 donaldh is .HLL_map documented anywhere other than pdd19_pir.pod ?
16:02 particle no, i haven't talked to anyone about it
16:02 particle and i'm not the architect
16:02 particle but we need to keep our scope small to get parrot 1.0 out
16:02 particle and we *need* to get parrot 1.0 out soon
16:03 DietCoke yes, that would be lovely.
16:04 particle hll interop is largely unaddressed and unsolved
16:04 donaldh Reading pdd19, it seems that .HLL_map only covers mapping from c code to the current HLL.
16:04 Casan joined #parrot
16:04 DietCoke particle: yes. and it's supposed to be one of our -core- features.
16:05 particle yet there's no pdd
16:05 DietCoke yes.
16:05 Tene So let's first get the .HLL stuff *working* in PCT and get the various languages using it.
16:05 particle and it's not a major milestone in the nlnet grant
16:05 DietCoke tene: s/in PCT/, but yes.
16:05 particle so, that's a problem
16:05 DietCoke what, that we're not getting paid for it?
16:05 Tene DietCoke: is it not working at all right now?
16:06 DietCoke tene: parts of it are working. Since it is not well spec'd or tested, it's hard to say for sure.
16:06 Tene I'll work on investigating that tonight.
16:06 DietCoke there's at least one part that's broken (and an RT for it.)
16:06 Tene #?
16:06 DietCoke tene++
16:06 Tene particle: I'm not getting any money from nlnet anyway, so that's not a problem for me. :)
16:08 particle DietCoke: can we schedule some teleconference time with you if needed during oscon/post-oscon hackathon to discuss issues like this?
16:08 DietCoke tene: http://rt.perl.org/rt3/Tic​ket/Display.html?id=56958
16:08 DietCoke We can try, sure.
16:08 particle i'll keep it in mind
16:08 DietCoke I can't make any promises on my schedule atm.
16:08 particle sure, same here :)
16:09 particle i'm kinda sick of conferences atm, and not looking forward to oscon :(
16:09 particle i'd rather be home enjoying my new deck, which i finished saturday
16:09 DietCoke aside from "not being able to attend oscon"; (I was lucky to be able to afford yapc). I will definitely promise to comment on any docs generated as a result of the discussion there.
16:10 donaldh particle: enjoy your deck. I built mine and the rain started. I'm still waiting for weather to enjoy it.
16:12 particle thanks :)
16:12 particle i have until october before the rains start here
16:13 donaldh Going back to PMCs, it seems to me that PMCs are being used to implement different types while supporting conversion between types.
16:14 donaldh They're also being used to implement the same types in different languages.
16:14 donaldh Is it necessary to use them for the second case?
16:14 particle pmcs are an abstract datatype
16:15 particle they allow you to create your own data types, and they provide a defined method of access
16:15 donaldh Yes, but we seem to be taking about a divergence of how Integer or String might be implemented in different HLLs at the PMC level.
16:15 particle Integer is something different in different languages, so that makes sense
16:15 particle some autopromote
16:15 particle some are fixed at 32bit
16:16 particle perl 5 doesn't even have Integer or String
16:16 particle it has Scalar
16:16 donaldh Hmmm.
16:17 DietCoke tcl's ints don't autopromote to float on division, e.g.
16:17 donaldh Some conversions between languages don't make sense. E.g if I create a MagicObject in perl6 it might just need to be opaque in Tcl, as long as I could use it as a parameter in another perl6 functon.
16:18 DietCoke Yup. And how do we declare which vars we're passing in are opaque, which are translated? How do we declare in the function sig which should be Integers, which should be opaque...
16:18 donaldh all very good questions.
16:18 DietCoke yup.
16:19 DietCoke I would be most pleased if someone started keep track of these, say, on the wiki. =-)
16:20 donaldh Well I opened the can of worms, so I could have a go at summarizing this discussion.
16:21 moritz donaldh++
16:21 donaldh karma donaldh
16:21 purl donaldh has karma of 3
16:22 donaldh yay!
16:22 moritz you won't be able to tripple it again so easily ;-)
16:23 donaldh does purl bump self promoters?
16:23 moritz not bump, but ignore I think
16:23 moritz and /msg'es them
16:23 donaldh very wise
16:33 NotFound purl++
16:43 Theory joined #parrot
16:47 parrot-poke joined #parrot
17:04 ruoso joined #parrot
17:14 dngor joined #parrot
17:22 Theory joined #parrot
17:25 cotto_work joined #parrot
17:32 Andy joined #parrot
17:45 rurban joined #parrot
17:51 ewilhelm left #parrot
17:53 rurban Anyone has an idea how make install will work somewhen? how to replace builddir with the prefix in the pbc's?
17:58 timbunce joined #parrot
18:16 Andy let's have a "How you can get started in Rakudo/Parrot" BOF
18:31 purl joined #parrot
18:44 Ivatar joined #parrot
18:49 Tene rurban: Sometimes #parrot is a bit quiet, yes.
18:50 rurban Ok, I'll just do it for the cygwin package somehow. But don't complain then.
19:21 rurban How is it planned to change the lib_path in the installed library? with PARROT_PLATFORM_LIB_PATH_INIT_HOOK? I want to get rid of the unneeded runtime paths
19:23 purl joined #parrot
19:30 donaldh joined #parrot
19:32 Tene rurban: If #parrot is quiet, your best option is to send a mail to the parrot mailing list.
19:32 Tene Should be perl6-internals@perl.org, maybe?
19:33 rurban nada ditto
19:33 rurban I'm more and more bleieving the whole runtime system is borked.
19:34 rurban Search paths are handled by Parrot_get_runtime_prefix (config prefix) plus the hardcodded lib_path, which starts with runtime which is non-FHS compliant
19:34 rurban /usr/runtime/parrot will never be accepted
19:35 rurban So somehow when installing the lib_path AND prefix must be switched from the build paths to the final paths.
19:36 rurban Since we have fixed pbc's with hardcoded paths, those have to be recompiled.
19:37 rurban and worst, lib_path is hardcoded in the shared lib, which means this has to be recompiled also
19:38 rurban So why messing around with runtime/parrot at all? and don't use lib/parrot as it should be have done from the very beginning on.
19:42 japhb rurban: I'm guessing that's because of the broken IMHO design of top-level lib belonging to the build process, a Perl 5-ism that I hate.
19:43 rurban well, moving all the runtime/* dirs below lib/ would be fine e.g.
19:43 rurban or favor /usr/lib/parrot over /usr/runtime/parrot
19:43 rurban I hate stat to non-existing dirs at runtime
19:44 rurban is not tommorrow the next design meeting?
19:44 japhb If it happens once it's not so bad.  If it happens more than once, that's bad.
19:44 japhb yes
19:44 japhb well, it normally would be,
19:44 japhb except it's cancelled for this week ... OSCON
19:44 japhb So 8 days until next design meeting
19:44 rurban you have to see my strace stat calls of all the useless dir lib_path traversal
19:45 rurban Ah OSCON! That's why.
19:45 japhb I believe you ... it's a side effect of too much encapsulation.
19:45 rurban I'll patch library.c so my liking and see how far I'll get.
19:45 japhb nod
19:45 Tene Great plan. :)
19:48 pac1 joined #parrot
19:48 rurban just did.
19:49 rurban Intersting is that the strategy for seperating build time from installed config works perfect for the utils, this includes either parrot_config.o or install_config.o
19:50 rurban but for the pbc
19:50 rurban but for pbc's i must have overlooked something simple
19:51 pac1 left #parrot
19:52 rurban A similar trick to the installable_<utils> targets
19:56 rurban Ok, got it. pbc_to_exe either links in src/parrot_config.o or with a new switch --install the other src/install_config.o. Then the resulting .exe should be named installable_$exe
19:57 rurban installable_perl6 -v now runs into Can't read '/usr/runtime/parrot/include/config.fpmc': No such file or directory
19:57 rurban good
20:03 Theory joined #parrot
20:04 Andy joined #parrot
20:17 davidfetter joined #parrot
20:30 rafl joined #parrot
20:34 Andy joined #parrot
20:35 teknomunk joined #parrot
20:37 rurban got it. pbc_to_exe now accepts infile --install. if --install links to install_config.o and prefixes the exe with installable_
20:39 rurban_ joined #parrot
21:00 ruoso joined #parrot
21:13 dalek donald@sealgair.com | Parrot:
21:13 dalek link: http://www.perlfoundation.o​rg/parrot/index.cgi?parrot
21:25 Whiteknight joined #parrot
21:29 Andy joined #parrot
21:37 dalek r29656 | Whiteknight++ | gsoc_pdd09:
21:37 dalek : [gsoc_pdd09] update to trunk r29655
21:38 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29656
21:42 rurban left #parrot
21:44 moritz Whiteknight++ gsoc_pdd09 branch building, and mostly even passes tests
21:45 moritz if all tests were passing i'd be suspicious ;-)
21:50 dalek donald@sealgair.com | Intra-HLL Mapping Notes:
21:50 dalek link: http://www.perlfoundation.org/parro​t/index.cgi?intra_hll_mapping_notes
21:53 dalek r29657 | coke++ | trunk:
21:53 dalek : [tcl] Improve the state of fudged tests for the spec test.
21:53 dalek : * eliminate the 'parsed but failing' category of tests. We can manage all
21:53 dalek :   that through lib/skipped_tests.tcl, and it doesn't need to be in the Makefile
21:53 dalek : * Still a few that take forever or blow up.
21:53 dalek : * Removing old [vwait] implementation that seems to hang, leaving a simple
21:53 dalek :   version that just does args checking for now.
21:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29657
21:59 Andy joined #parrot
22:06 dalek r29658 | coke++ | trunk:
22:06 dalek : [tcl] docu-clean up
22:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29658
22:14 teknomunk_ joined #parrot
22:15 Andy joined #parrot
22:29 Theory joined #parrot
22:35 cj joined #parrot
22:48 TiMBuS joined #parrot
22:51 Whiteknight thanks moritz, I've been working hard on it
22:55 hachi joined #parrot
23:00 dalek r29659 | Whiteknight++ | gsoc_pdd09:
23:01 dalek : [gsoc_pdd09] small codingstd fix
23:01 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=29659
23:06 Limbic_Region joined #parrot
23:17 hachi joined #parrot
23:20 slavorgn joined #parrot
23:24 Sartak left #parrot
23:41 teknomunk__ joined #parrot
23:47 bacek joined #parrot
23:51 pmichaud particle: ping
23:55 Andy joined #parrot

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

Parrot | source cross referenced