|
Parrot 0.6.0 "P&P" released | Please mentor for SoC | parrotcode.org/ | YAPC::NA talks deadline is Mar 31 | tinyurl.com/2pmnlq Set by moderator on 18 March 2008. |
|||
|
00:04
muixirt2 joined
01:10
davidfetter joined
01:25
grim_fandango joined
01:50
Theory joined
|
|||
| dalek | r26708 | duff++ | trunk: | 02:19 | |
| : [rakudo] when statement modifier | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26708 | |||
| pmichaud | PerlJam: ping | 02:31 | |
| dalek | r26709 | rgrjr++ | trunk: | 02:32 | |
| : * examples/pasm/fact.pasm: | |||
| : + Use array push/pop instead instead of save, saveall, etc. | |||
| : [Patch #1 of the user_stack cleanup.] | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26709 | |||
|
02:33
confound joined
|
|||
| dalek | r26710 | rgrjr++ | trunk: | 02:37 | |
| : Replace or remove saveall and restorall from all tests. | |||
| : [Patch #2 of the user_stack cleanup.] | |||
| : * t/compilers/imcc/syn/bsr.t: | |||
| : + Remove five tests for "stack calling conventions". | |||
| : + Change the "recursive bsr" test to use array push/pop instead | |||
| : instead of save, saveall, etc. | |||
| : * t/op/stacks.t: | |||
| : + Remove a saveall/restoreall test. | |||
| : * t/op/gc.t: | |||
| : + Remove the "sweepoff with newpmcs" and "reg_stack marking" tests. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26710 | |||
| PerlJam | pm: pong | 02:45 | |
| pmichaud | nice work on loop and when | ||
| PerlJam | thanks. | 02:46 | |
| not sure how to do the for/given modifiers though. | 02:47 | ||
| pmichaud | given and for probably need some work yet | 02:49 | |
| well, maybe not | |||
| it's not basically the same as the for/given statement? | 02:50 | ||
| PerlJam | for_statement has a pointy block, the for modifier doesn't. given is probably the same (looking now) | ||
| pmichaud | well, you could cheat slightly by embedding the expression in a PAST::Block | 02:52 | |
| (if it's not already one) | |||
| Infinoid | what does the :base_core attribute mean, in an .ops file? what code checks it? | ||
| lots of ops are declared with it, but I'm having difficulty acking for any users of it. | 02:53 | ||
| cotto_home | compilers/imcc/optimizer.c:1629: warning: 'is_ins_save' defined but not used | 02:55 | |
| just in case someone | 02:56 | ||
| 's bored | |||
| Infinoid | used by is_invariant when DO_LOOP_OPTIMIZATION is defined. maybe I should just move the "#if DO_LOOP_OPTIMIZATION" up by one function? | 02:59 | |
| cotto_home | your call | ||
| I didn't bother looking at it to decide whether it's a false alarm or not | 03:00 | ||
| normally I would, but I'm exercising atm | 03:01 | ||
| Infinoid | then I get a warning about unused _is_ins_save, and a warning about the is_ins_save prototype without any definition. | ||
| I'll try to remember to clean that up later, once I'm done breaking everything in src/ops/. | 03:02 | ||
|
03:24
tetragon joined
|
|||
| Infinoid | inline op noop() :base_core:next {} | 03:27 | |
| die "goto NEXT();" die. | |||
|
03:32
AndyA joined
03:44
Ademan joined
03:46
Andy joined
04:47
Maddingu2 joined
06:15
jan joined
06:35
Tene joined
07:25
iblechbot joined
|
|||
| dalek | r26711 | fperrad++ | trunk: | 07:31 | |
| : [Lua] | |||
| : - shift to PCT/POST.pir | |||
| : ... many breakages ... | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26711 | |||
|
09:10
ruoso joined
09:39
kj joined
09:45
Ademan_ joined
|
|||
| dalek | r26712 | fperrad++ | trunk: | 09:59 | |
| : [Lua] | |||
| : -fix forlist | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26712 | |||
|
10:04
Ademan_ joined
10:36
wknight8111 joined
|
|||
| Coke | tickets are cheap, but opening a new ticket about an old ticket is silly. =-) | 10:48 | |
|
10:48
muixirt joined
11:37
rdice joined
11:58
tetragon joined
|
|||
| dalek | r26713 | fperrad++ | trunk: | 11:58 | |
| : [Lua] | |||
| : -fix fornum | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26713 | |||
|
12:34
iblechbot joined
12:39
Senaka joined
|
|||
| Senaka | need some help on GC | 12:44 | |
| anyone around? | |||
| lathos | PANIC. | ||
| moritz | in soviet russia GC helps YOU! | 12:46 | |
| Senaka | moritz;?? | ||
| :) | |||
| moritz | Senaka: not serious ;-) | 12:47 | |
| Senaka | well basically, need some info... | ||
| U track objects on heap as PMC is it? | 12:48 | ||
| and need to know abt Object pools | |||
| lathos | Most people stay the hell away out of the GC system because it's scary. But have you looked at parrot/docs/pdds/pdd09_gc.pod ? | 12:50 | |
| Senaka | starting to.... i just saw it being referred in dod.c | ||
| thanks | |||
| dalek | r26714 | fperrad++ | trunk: | 12:53 | |
| : [Lua] | |||
| : -fix assignlist | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26714 | |||
| Senaka | hi lathos | 13:10 | |
|
13:10
skids joined
|
|||
| Senaka | what's Global stash? | 13:10 | |
| shouldn't that be stack? | 13:11 | ||
| moritz | I think parrot is stackless | ||
| Senaka | or what is it? | ||
| purl | it's it! | ||
| lathos | Parrot is stackless. | ||
| Senaka | System stack? | ||
| purl | System stack is, like, always contiguous, so it's not a problem | ||
| Senaka | ok purl.... isn't it a stack? | 13:12 | |
| PMC register stack? | |||
| u've got some I guess | |||
| so if its stack-less then what are these? | |||
| I didn't understand that part. Thanks in advance for any help in this regard | 13:13 | ||
| moritz | it's continuation based | ||
| Senaka | that means? | 13:14 | |
| moritz | so instead of creating a new item on the stack, a continuation is put on the heap (for a function call, for example) | ||
| so if you want to throw an execption, you don't have to unwind the stack... | |||
| Senaka | aha | ||
| moritz | but you can jump straight to the continuation that you want to execute next | ||
| Senaka | so how does it clean up? | 13:15 | |
| mark-n-sweep? | |||
| moritz | with garbage collection | ||
| yes | |||
| Senaka | oh I see | ||
| and do u have docs on copying and compacting with buffers? | 13:16 | ||
| like moving them around and all | |||
| ah ok | 13:17 | ||
| they are only for buffers | |||
| 1 Question though | |||
| when copying, what are the memory regions spoken here? | |||
| are they within a single arena? | |||
| moritz doesn't know | 13:18 | ||
| Senaka | hmm.... | ||
| ok thanks anyway | |||
| particle | did you read the gc pdd? | ||
| Senaka | yes | ||
| particle | stop-the-world mark-and-sweep | 13:19 | |
| Senaka | most of the questions were solved | ||
| particle | compacting collector | ||
| we're going to go incremental by 1.0 | |||
| Senaka | stop-the-world mark-and-sweep? | ||
| stop is not found in it | |||
| particle | if you have questions on the pdds, it's a good idea to email the list so we can clarify the spec | ||
| ok. sorry. | 13:20 | ||
| Senaka | hmm ok | ||
| particle | the current gc is stop-the-world | ||
| Senaka | found it | ||
| this is not exactly like VM | |||
| *VIM | |||
| :) | |||
| i mean perldoc | |||
| moritz | what are the release goals for 1.0? | 13:21 | |
| particle | you can open the file in vim... it's still readable :) | ||
| moritz | grep -ri 'release goal' docs/ didn't help me :/ | ||
| Senaka | but the info you have of pdd09 doesn't say much about stop-the-world | ||
| particle | moritz: coke is currently working on a doc for that | ||
| moritz | particle: ok | ||
| particle | Senaka: that's because we're moving away from the current implementation to an incremental one | 13:22 | |
| Senaka | hmm | ||
| particle | we don't want to stop the world for gc | ||
| Senaka | :) | ||
| u don't have parallel collecting? | |||
|
13:23
jhorwitz joined
|
|||
| moritz | do you want to implement it? ;-) | 13:23 | |
| particle | no, we don't have || | 13:24 | |
| Senaka | well I'm working on pluggin the Harmony VM to Parrot and it has it | ||
| particle | we have two students interested in gc for SoC | ||
| Senaka | :) | ||
| particle | great! | ||
| Senaka | Apache Harmony | ||
| particle | we have an implementation of a generational gc in a branch | 13:25 | |
| branches/gmc iirc | |||
| Senaka | so if can get things straight... I mean aligning the interfaces yes | ||
| ok thanks on that | |||
| particle | it's suffered a little bitrot, i'm sure, but it might give you some help | ||
| Senaka | btw.... I gotta find about one more thing | ||
|
13:26
confound joined
|
|||
| Senaka | how does Parrot enumerate the thread stack? | 13:26 | |
| u don't have anything as a thread stack? | |||
| lathos | For that you may want the concurrency PDD. That's another one worth staying away from. | ||
| Senaka | :) | 13:27 | |
| oh!!! | |||
| Coke | moritz: at the moment, "implement everything the pdd's discuss" | 13:30 | |
| moritz | Coke: I seem to remember that implenting two (major) languages in parrot is also a goal | 13:31 | |
| is that correct and still active? | |||
| Coke | two!? | ||
| purl | two is one too many; two can be as bad as one, it's the loneliest number since the number one... | ||
| moritz | Coke: I think I heard that in a talk by allison, but I'm not sure ;-) | 13:32 | |
| Coke: what's your opinion on how many you should have? | |||
| Coke | depends on who you ask. Certainly our goal is to make that possible. | ||
| And having a language that is implemented will certainly show that the goal is achievable. =-) | 13:33 | ||
| moritz | is there already a ruby implementation on parrot? | ||
| Coke | there is no full implementation of any non-trivial language of which I am aware. | ||
| moritz | I'm not talking about a *full* implemenation ;) | 13:34 | |
| particle | cardinal is the ruby lang | ||
| pynie is python | |||
| Coke | moritz: still, better for me to avoid confusion. | ||
| particle | perl6 is perl 6 | ||
| kj | cardinal sure could use some updates | ||
| Coke | poor tcl. ignored by so many. =-) | ||
| moritz | ah, cardinaly | ||
| s/y// | |||
| particle | tcl was sexy, once | ||
| she's showing her age now | 13:35 | ||
| moritz | so many names ;) | ||
| kj | as ruby has a lot in common with perl6, and perl6 's implementation is worked on actively, would be interesting to see how much can be reused | 13:38 | |
| ehm. common with perl, not perl6 per se | |||
| Coke | so, moritz: I don' | 13:59 | |
| t have a particular number that is required for 1.0; Two would help us verify that HLL interop worked to some degree. | 14:01 | ||
| particle | 1145*.8 | 14:07 | |
| purl | 916 | ||
|
14:09
jan joined
14:13
contingencyplan joined
|
|||
| jhorwitz | particle: my talk was rescheduled (allison++), so we don't have to split our 4-person audience. ;-) | 14:13 | |
| particle | yep. patrick took care of that for you | ||
| jhorwitz | yeah, patrick++ too. :) | 14:14 | |
| er, pmichaud++, so purl knows it. | |||
|
14:20
grim_fandango joined
|
|||
| Senaka | aren't private conversations on channel logged? | 14:29 | |
| particle | the channel is logged. | 14:30 | |
| Senaka | I see | ||
| particle | private messages are not | ||
| Senaka | I shouldn't have closed the IM windows.... :( | ||
| particle | perhaps your client keeps a log of private messages | 14:31 | |
| Senaka | nope | ||
| I haven't enabled it | |||
| :( | |||
| neh mind | |||
| I nw know the setup | |||
| Tene | Class today is mostly labs, so there's a chance I might not be too tired to code tonight. | 14:49 | |
| I could show cardinal some love. | 14:50 | ||
| Coke | teeeetcl! | 14:51 | |
| er, tcl. =-) | |||
| though both mdiep are independently pondering rewrites, so nevermind. | |||
| particle | that's what i love about tcl. the spirit of working independently without communication. | 14:52 | |
| :P | |||
| jonathan is hackathoning Sat-Mon. :-) | 14:56 | ||
| dalek | r26715 | fperrad++ | trunk: | 15:09 | |
| : [Lua] | |||
| : -fix constructor | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26715 | |||
| Coke | the part I love about tcl is how many times I had to rewrite it because something about parrot changed. =-) | 15:14 | |
| Basically, this last rewrite is playing catchup with the PCT. | |||
| s/I/we/ | |||
|
15:17
peeps[work] joined
|
|||
| Coke | If we were doing more than *pondering*, there'd be more communication. =-) | 15:17 | |
|
15:32
sjansen joined
|
|||
| kj | Coke: hi, did you have a chance to browse through pdd29? | 15:34 | |
| just to see if it makes any sense | |||
| Tene | Coke: kj asked first. | ||
| kj | mm? | 15:35 | |
| purl | mm is millimetres or #wiccan for "merry meet", which can scare newbies off... or MetaModel or "Mother of Moose!" or the response to things that make you go mm or MakeMaker or the classic macro package for troff | ||
| kj | I just hate editing in blogger :-( | 15:40 | |
| Coke | kj: I have not had a chance yet, no. | 15:42 | |
| kj | oki. | 15:43 | |
| dalek | r26716 | fperrad++ | trunk: | 15:46 | |
| : [Lua] | |||
| : -fix sub | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26716 | |||
|
15:53
Theory joined,
Senaka left
16:04
ask_ joined
16:16
jan joined
|
|||
| jonathan | pmichaud: Got someone having an issue with $x.WHAT returning Ref rather than what the value in $x actually is. Is that a hard thing to fix - I think I mentioned it once before and you knew what was wrong... | 16:40 | |
| dalek | r26717 | fperrad++ | trunk: | 16:43 | |
| : [Lua] | |||
| : - refactor label | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26717 | |||
| r26718 | fperrad++ | trunk: | 16:47 | ||
| : [Lua] | |||
| : - refactor break | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26718 | |||
|
17:06
Psyche^ joined
17:09
ambs joined
|
|||
| ambs | rdice: ping_ | 17:13 | |
| (it was a ping?) | |||
| Coke | ping? | 17:17 | |
| rdice | ambs, hello. | ||
| ambs | :) | ||
|
17:19
paco joined
18:06
Ademan joined
|
|||
| pmichaud | jonathan: (Ref) I'm thinking/hoping that switching over to the 'copy' opcode will resolve that. I haven't done that yet, it's on my list of high-priority items | 18:07 | |
| Coke: I think I asked this before but lost the answer -- what's the status of the nifty RT-high-priority-ticket-tracker you were working on in Jan? | 18:08 | ||
| particle | needs rt integration iirc | 18:09 | |
| pmichaud | I thought we just needed to get it on a perl.org server | ||
| particle | did the rt->json dumper get written? | 18:10 | |
| Coke | pmichaud: I need an RT instance to play with. | 18:11 | |
| particle: no. see my previous send. | 18:12 | ||
| pmichaud | okay, I was just curious. Thanks. | ||
| Coke | If anyone could setup an RT, say, on feather, that would be awesome. | ||
|
18:24
Theory joined
18:35
rotty joined
|
|||
| rotty | hi! is there a PMC that is good for use as cons cells for Lisp? The "Pair" PMC doesn't fit, because its first element can only be set once... | 18:36 | |
| particle | see if languages/pheme has anything up it's sleeves that might help | 18:39 | |
| otherwise you'll have to roll your own | |||
|
18:39
Andy joined
|
|||
| rotty | seems SArray might do it | 18:47 | |
|
18:52
barney joined
|
|||
| dalek | r26719 | jkeenan++ | trunk: | 18:53 | |
| : Make PPD conform to coding standard for PDDs (rt.perl.org/rt3/Ticket/Display.html?id=52054). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26719 | |||
| r26720 | jkeenan++ | trunk: | 18:56 | ||
| : Make PPD conform to coding standard for PDDs (rt.perl.org/rt3/Ticket/Display.html?id=52054). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26720 | |||
| particle | ppd? | 18:57 | |
| purl | ppd is, like, (: see ppm) | ||
| Coke | particle: I'm guessing that's a typo. | 19:00 | |
| particle | me too. | 19:01 | |
| dalek | r26721 | jkeenan++ | trunk: | 19:03 | |
| : Make PPD conform to coding standard for PDDs (rt.perl.org/rt3/Ticket/Display.html?id=52054). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26721 | |||
| r26722 | jkeenan++ | trunk: | 19:08 | ||
| : Make PPD conform to coding standard for PDDs (rt.perl.org/rt3/Ticket/Display.html?id=52054). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26722 | |||
| r26723 | jkeenan++ | trunk: | 19:13 | ||
| : Make PPD conform to coding standard for PDDs (rt.perl.org/rt3/Ticket/Display.html?id=52054). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26723 | |||
| r26724 | chromatic++ | trunk: | 19:15 | ||
| : [pbc_to_exe] Reordered link flags to prefer freshly-built libparrot over an | |||
| : installed libparrot (see RT #52288). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26724 | |||
| tewk | rotty: We should write a MutablePair if we don't have one. | 19:33 | |
|
19:44
slightlyoff joined
|
|||
| rotty | tewk: at least on the website it's not listed | 19:47 | |
|
19:55
grim_fandango joined
19:56
grim_fandango_ joined
19:59
ruoso joined
|
|||
| dalek | r26725 | bernhard++ | trunk: | 20:06 | |
| : #41783: [BUG?] main isn't in src/parrot.c | |||
| : Don't claim that 'main' is in compilers/imcc/main.c | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26725 | |||
|
20:10
ambs joined
|
|||
| dalek | r26726 | bernhard++ | trunk: | 20:12 | |
| : #41783: [BUG?] main isn't in src/parrot.c | |||
| : Remove useless src/parrot.c | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26726 | |||
| ambs | AAAAAAAAAAAAAAARGH! dalek is alive! | 20:14 | |
| dalek | r26727 | bernhard++ | trunk: | 20:15 | |
| : #41783: [BUG?] main isn't in src/parrot.c | |||
| : symlink.pl was looking for src/parrot.c | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26727 | |||
|
20:21
Psyche^ joined
20:22
IllvilJa joined
|
|||
| cotto_work | that really depends on your definition of 'alive' | 20:26 | |
|
20:31
ambs joined
|
|||
| dalek | r26728 | bernhard++ | trunk: | 20:32 | |
| : Add POD and beautify tools/dev/symlink.pl | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26728 | |||
| Infinoid | come to think of it, me too. | ||
|
21:09
wknight8111 joined
|
|||
| particle | jonathan: ping | 21:09 | |
|
21:14
confound joined
21:16
confound joined
21:42
pjcj joined
|
|||
| dalek | r26729 | fperrad++ | trunk: | 21:42 | |
| : [pct] | |||
| : - add tailcall (needed by Lua) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26729 | |||
| r26730 | fperrad++ | trunk: | 21:46 | ||
| : [Lua] | |||
| : - clean up | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26730 | |||
|
21:54
wknight8111 joined
|
|||
| jonathan | particle: pong | 21:55 | |
| Infinoid | do STRING* buffers need to be null terminated? (there is a separate "strlen" field.) | 21:57 | |
| FixedIntegerArray->new_from_string() is assuming they are null terminated, which causes a hanging test for me on gc=libc. | 21:58 | ||
|
21:59
wknight8111 joined
|
|||
| jonathan | Infinoid: No, they don't need to be null terminated; they may contain NULL bytes. | 21:59 | |
| Infinoid | thought so. I'll fix up FixedIntegerArray->new_from_string() then, thanks | 22:00 | |
| jonathan | Cool, thanks. | 22:01 | |
| Infinoid | passing a non-terminated string directly to strtoul() is bad, m'kay. | ||
|
22:03
pjcj joined
22:10
cognominal joined
|
|||
| dalek | r26731 | fperrad++ | trunk: | 22:21 | |
| : [Lua] | |||
| : - refactor return (with PCT) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26731 | |||
|
22:23
rotty left
|
|||
| Infinoid | are you supposed to free STRING*'s you create, somehow? or does GC do that? | 22:23 | |
| Andy | GC does | 22:24 | |
| wknight8111 | the garbage collector is supposed to free buffers like that. Whether it currently actually does it is a different story | ||
| Andy | Assuming you get them the proper way. | ||
| Infinoid | great, thanks. | ||
| (I'm used to GC systems which have explicit refcounting, what a pain in the ass that is. parrot++) | 22:25 | ||
|
22:25
peepsalot joined
|
|||
| wknight8111 | if i have anything to say about it, and i just might one day, our GC will be very nice | 22:46 | |
| Infinoid | ugliest hack of the day: RT#52462 | 22:47 | |
| wknight8111 | we need a bot that converts /#\\d{5}/ into a url that we can click on | 22:48 | |
| because having to go there manually is putting a cramp in my style | |||
| Infinoid | that sounds like a good idea. | ||
| it also sounds trivial to write. | 22:49 | ||
| wknight8111 | so trivial that i feel bad that I bitched about it instead of just writing it myself in the first place | ||
| wknight8111 fires up his text editor... | 22:50 | ||
| Infinoid | if you write a botnix plugin for it, diakopter might be kind enough to plug it into dalek | 22:51 | |
| wknight8111 | i wouldn't even know where to start. what is botnix? | ||
| I was just going to throw together something easy with POE | 22:52 | ||
| Infinoid | botnix is an irc bot written in perl | 22:53 | |
| dalek is an instance of it. | |||
| www.botnix.org | |||
| wknight8111 | oh, okay | 22:55 | |
|
23:02
wknibot joined
|
|||
| wknight8111 | okay...#12345 | 23:02 | |
| damnit | |||
|
23:24
tetragon joined
|
|||
| Tene | Hm... sure would be nice to be able to do sdl stuff with rakudo. | 23:27 | |
| Thoughts on stealing NQP's PIR directive? | |||
| Ideal, of course, would be "use SDL::App; use SDL::Rect; use ..." | 23:28 | ||
| 'use' doesn't seem to do anything useful in rakudo atm. | 23:29 | ||
| Infinoid | I managed to convince it to load Something.pm in the current directory, a few days ago, which seemed to work great | 23:31 | |
| Tene | Hmm. | ||
| jonathan | What's the Perl 6 syntax for declaring some external thing like that? | 23:32 | |
| Could always "just" implement that in Rakudo. | |||
| Infinoid | perl6 for keys(%hash) is %hash.keys(), right? I want to implement that. | 23:33 | |
| Tene | declaring what, exactly? | ||
| Infinoid: you'll want to add it to perl6/src/classes/Hash.pir | 23:34 | ||
| jonathan | Infinoid: Yes. | ||
| Tene: I thought there was some Perl 6 syntax for declaring symbols from external libraries. | 23:35 | ||
| Infinoid | is there a wrapper around NCI? | 23:36 | |
| Tene | Also, rakudo seems to choke on POD. | 23:38 | |
| pmichaud | we had one at one time | 23:39 | |
| ww | 23:40 | ||
| (link to RT#\\d{5}) I just have a keyboard macro that does that for me | |||
| Tene | pmichaud: thoughts on the appropriate way to be loading SDL/App.pir from rakudo? | 23:41 | |
| pmichaud | we probably need a generic Parrot library for loading pbc's and importing symbols | ||
| then it would be something like Parrot::load_bytecode 'SDL/App.pir', <SDL::App SDL::Rect SDL::Color>; | 23:43 | ||
| Tene | Hm. | ||
| pmichaud | or perhaps thats | ||
| Parrot::load_bytecoe 'SDL/App.pir', :import<SDL::App SDL::Rect SDL::Color>; | 23:44 | ||
| *bytecode | |||
|
23:44
wknibot joined
|
|||
| pmichaud | right now the 'use' directive only knows how to handle Perl 6 modules | 23:44 | |
| Tene | pmichaud: will it eventually load arbitrary pbcs written in whatever language? | 23:45 | |
| pmichaud | I don't know | ||
| Tene | Fair enough. | ||
| wknight8111 | being able to specify an optional language, like "use [LANG] module" would help fix that | ||
| pmichaud | it might become something like use Parrot <SDL::App>; | ||
| in which case Parrot.pm can be in Perl 6 :-) | 23:46 | ||
| Tene | In the short term, what do you think about stealing NQP's PIR for rakudo so that I can start playing with SDL in rakudo? | ||
| jonathan | use langname:Module::Name; # is I think what is spec'd | ||
| wknight8111 | maybe create a module PMC that all languages could share, and use libraries from all other languages | ||
| pmichaud | NQP's PIR is essentially a macro at the moment | ||
| I'm not wanting to do macros in Rakudo that way, though | |||
| Tene | Okay. | ||
| jonathan | Could maybe make "use pir:Module::Name;" work in Rakudo without too much hassle. | 23:47 | |
| pmichaud | I'd rather we figure out a more standard way (i.e., closer to spec) for loading other modules | ||
| maybe use PBC:Module::Name; | |||
| but we still have to figure out how we want to have symbols imported into rakudo's namespace | |||
| jonathan | Yes, true. | ||
| Since pir is the language rather than PBC, then use pir:Module::Name would be more natural to me. | 23:48 | ||
| pmichaud | iirc, that's not really specced yet. But it's also one of those areas where an implementation should preceed a spec | ||
| wknight8111 | an Exporter PMC? | ||
| jonathan | OH? I thought the use langname:Module::Name; was spec'd. | ||
| pmichaud | sorry | 23:49 | |
| I meant "how we want to have symbols imported" isn't really speced yet | |||
| jonathan | Ah, OK. | ||
| pmichaud | yes, langname:Module::Name is probably spec'd (more) | ||
| jonathan | In which case, yes, I agree, I don't think it is. :-) | ||
| pmichaud | to me pir:Module::Name would imply to me that we would load Module/Name.pir in preference to Module/Name.pbc | ||
|
23:50
skids joined
|
|||
| pmichaud | and if something is a .pbc, we really don't care what source language it is | 23:50 | |
| jonathan | Hmm, that's true. | ||
| Tene | pmichaud: if we support one of pir: and pbc:, it shouldn't be much work to also support the other. | ||
| jonathan | Aside from, it would tell us about the namespace. | ||
| Since HLLs live in the root namespace with their HLL name. | 23:51 | ||
| pmichaud | well, iiuc, the module being loaded should know what symbols it exports by default | ||
| the thing doing the loading shouldn't have to grab them explicitly | |||
| Tene | I must go. Will scrollback when I come back. | ||
| jonathan | Right, which is why namespaces has a export_to, IIRC. | 23:52 | |
| Infinoid | do we have a %ENV{PERL6LIB} yet? Will we? | ||
| pmichaud | I think export_to should be re-spec'd. It was created before we had PCCMETHODs available | ||
| i.e., we can do a much better job with the namespaces pdd now that we have PCCMETHODs | |||
| jonathan | True. | 23:53 | |
| pmichaud | and make it look more like the pdd15 (objects) spec | ||
| anyway, what needs to happen for SDL from rakudo is loading the pbc's and creating protoobjects in rakudo's namespace | 23:54 | ||
| for whatever SDL::* we want to create | |||
| everything else is methods and "just works" | |||
| see examples/sdl/blue_rect.pl for an example | |||
| in some sense I'd prefer to see that SDL create its own protoobjects when loaded, though. But I don't think we can rely on every external module to create protoobjects for us | 23:55 | ||
| so our "use language" module probably needs to know how to do that | |||
| jonathan | Can probably just interogate the namespaces for classes attached to them. | 23:56 | |
| pmichaud | that might work... but searching all of the namespaces might be a bit of a pain | 23:57 | |
| on "use pir:module" versus "use pbc:module" -- I suspect it really ought to be "use parrot:module" since 'parrot' is the hll namespace where the module will get loaded | 23:58 | ||
| jonathan | True. | ||
| Matching it to the namespace sounds sane. | |||
| wknight8111 | use Parrot::Language::Module | 23:59 | |
| jonathan | BTW, on a different subject - is there an SVN repo where the latest synopses are kept? | ||
| pmichaud | the latest official synopses are svn.perl.org:perl6/doc/trunk/design/syn | ||
| or, as a url: svn.perl.org/perl6/doc/trunk/design/syn | |||