|
Parrot 3.6.0 "Pájaros del Caribe" released | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 23 July 2011. |
|||
|
00:03
dmalcolm left
00:05
lucian left,
lucian joined
00:10
theory left
|
|||
| dalek | rrot: 930fa0f | Felipe++ | / (8 files): Merge remote-tracking branch 'upstream/master' into imcc_error_message |
00:11 | |
|
00:11
lucian left
00:16
smash left
|
|||
| dalek | TT #2158 closed by Felipe++: Appending error messages to IMCC error_message | 00:23 | |
| TT #2158: trac.parrot.org/parrot/ticket/2158 | |||
| kid51 questions the wisdom of this commit: | 00:25 | ||
| git show 66e6aee5d8 | |||
| On at least one platform I use, --optimize build does not completely pass 'make test' | 00:26 | ||
| moritz: ping | |||
|
00:36
kid51 is now known as kid51_at_dinner
|
|||
| cotto_work | kid51_at_dinner: what platform breaks with --optimize? | 00:48 | |
| Felipe | wfm | 01:03 | |
|
01:06
daniel-s joined
|
|||
| Felipe | whiteknight: ping | 01:13 | |
| whiteknight | pong | ||
| Felipe | whiteknight: github.com/felipensp/parrot/commit...452c50d187 ok to merge? i.e. adding a new function in the current Parrot phase? | 01:14 | |
| whiteknight | Felipe: yes, looks good to me. It builds and passes all tests? | 01:15 | |
| cotto_work | +1 | 01:16 | |
| cotto_work heads out | |||
| Felipe | whiteknight: yes | ||
| whiteknight | okay, perfect. Merge it | ||
| Felipe | cotto_work: what timezone do you live in? (working late :) | 01:23 | |
| dalek | R: dd1feac | (Jay Emerson)++ | / (3 files): Progress on [] operator for assignments (lvalue). |
01:28 | |
| rrot: c282bfc | Felipe++ | / (4 files): Merge remote-tracking branch 'origin/mem_sys_strndup' |
01:33 | ||
|
01:41
woosley joined
|
|||
| kid51_at_dinner | msg cotto see trac.parrot.org/parrot/ticket/1930 for consistent test failure of t/op/number.t on darwin/ppc with --optimize | 01:42 | |
| aloha | OK. I'll deliver the message. | ||
|
01:42
kid51_at_dinner is now known as kid51
|
|||
| dalek | TT #2154 closed by Felipe++: Add mem_sys_strndup() function | 01:45 | |
| TT #2154: trac.parrot.org/parrot/ticket/2154 | |||
| sella: c1ccf0c | Whiteknight++ | / (11 files): Implement utility test_all_lib. Generates test files for all namespaces and classes in a given library. Fix some small bugs in FileSystem to support parent directories better. Improve winxed test templates to generate running code |
01:48 | ||
| moritz | kid51: pong | 01:49 | |
|
01:52
whiteknight left
|
|||
| kid51 | moritz: Please see my post on parrot-dev re change to README | 01:54 | |
| Coke | question: do we support darwin/ppc, given that any system running it has to be over 2 years old? | 01:55 | |
| or is it just "best effort" at this point? | |||
| kid51 | Does it meet our official criterion? No. But when tests that have been passing for years start to break, that usually indicates there was something in a commit that we didn't understand. | 01:56 | |
| This happened repeatedly during bacek's work on GC | |||
| We'd get a test failure there, I'd report it, bacek would scrutinize the code and come up with a way to tighten the code up for everybody that had the advantage of making the tests pass once again | 01:57 | ||
| I actually get more consistent PASS on darwin/ppc than other smoke testers do on darwin/intel | 01:58 | ||
| And, speaking of darwin, has anyone else read this review of Mac OSX X 10.7 "Lion"? arstechnica.com/apple/reviews/2011/...10-7.ars/1 | 02:05 | ||
| The "Internals" Subsection is something I think our folks would find interesting | |||
| Was the whiteknight/packfile_path branch merged? | 02:12 | ||
| Heh, our current debugger is so useless that ... | 02:17 | ||
| $ ./parrot_debugger --help | |||
| Segmentation fault | |||
| Felipe | yes, I told you days ago about this, kid51 | 02:21 | |
| kid51 | Felipe: I knew people said our debugger was no good. | ||
| Because of that, I never even attempted it ... until tonight! | 02:22 | ||
|
02:22
bluescreen left
|
|||
| kid51 | Well, to answer my earlier question: yes, packfile_path was merged (or perhaps deleted) | 02:24 | |
|
02:29
kid51 left
|
|||
| Felipe | night | 02:48 | |
|
03:11
dafrito joined
03:38
daniel-s left
|
|||
| dalek | kudo/nom: 0b097fd | Coke++ | t/spectest.data: track error conditions (pass some tests) |
04:21 | |
|
04:37
dafrito left
|
|||
| cotto | ~~ | 05:21 | |
|
05:36
zby_home joined
|
|||
| dalek | kudo/nom: ad8d7a6 | pmichaud++ | src/core/terms.pm: Add %*ENV. |
05:37 | |
|
05:49
preflex_ joined
05:53
preflex left
|
|||
| dalek | kudo/nom: 251c5b3 | pmichaud++ | src/ (2 files): Add run(), qx operator. |
05:55 | |
|
06:48
UltraDM joined
07:01
Kulag left
07:23
mj41 joined
07:26
fperrad joined
|
|||
| dalek | rrot/m0-prototype: 83ca83b | cotto++ | src/m0/perl5/m0_ (2 files): use 'i' with pack/unpack, be more careful about int over/underflow |
07:35 | |
| rrot/m0-prototype: 51334d4 | cotto++ | src/m0/perl5/m0_interp.pl: fix thinkographical error, get all of m0_tests passing on x86 and x86_64! |
07:38 | ||
| rrot/m0-prototype: 54288e7 | cotto++ | src/m0/perl5/m0_interp.pl: remove some debugging code |
07:46 | ||
| umage: 63d0423 | fperrad++ | setup.pir: install manpage only if newer |
07:48 | ||
| kudo/nom: b45401d | moritz++ | t/spectest.data: two more passing test files |
07:59 | ||
|
08:05
daniel-s joined
08:07
cosimo left
|
|||
| dalek | umage: e4fc1a0 | fperrad++ | / (3 files): manpage: refactor with the distutils way (don't write code, it's just another file) |
08:07 | |
|
08:17
fperrad left
08:19
fperrad joined
09:58
dodathome joined
10:13
woosley left
10:32
Kulag joined
10:34
daniel-s left
11:08
contingencyplan left
11:26
Kulag left
11:27
Kulag joined
11:46
Drossel joined,
Kulag left
11:53
Drossel left,
Kulag joined
|
|||
| dalek | kudo/nom: bb9b16a | kboga++ | src/core/Str.pm: Remove the now obsolete regex anchors. Made possible by commit dc942fb in the nqp repo (pmichaud++). |
11:58 | |
| kudo/nom: 163a1f7 | kboga++ | t/spectest.data: Track error conditions. |
|||
| kudo/nom: b890384 | moritz++ | / (2 files): Merge pull request #28 from kboga/nom Update error conditions, remove workarounds from regexes |
|||
|
12:11
mikehh joined
12:13
jay left
|
|||
| dalek | kudo/nom: ab97547 | jonathan++ | src/ (4 files): Implement coercion for parameters. Goes one step better than master - only coerces if the value isn't already of the correctr type. |
12:16 | |
|
12:18
bluescreen joined
12:20
cosimo joined
12:24
whiteknight joined
|
|||
| dalek | rrot: 9a88646 | mikehh++ | / (2 files): fix codetest failures - trailing spaces and linelength, update copyright |
12:29 | |
| rrot: 74d8790 | mikehh++ | src/gc/alloc_memory.c: fix codetest failure - trailing spaces |
|||
| whiteknight | good morning, #parrot | ||
| jnthn__: ping | 12:30 | ||
| mikehh | hi whiteknight | ||
| whiteknight | hello mikehh | ||
| jnthn__ | whiteknight: pon | 12:31 | |
| g | |||
| whiteknight | jnthn__: I saw you removed the REPR PMC. Are you still planning to remove the STable PMC? | ||
| jnthn__ | whiteknight: Yeah. | ||
| whiteknight | Do you have any other biggish changes planned for 6model in the next month or so? | 12:32 | |
| jnthn__ | whiteknight: There's a few reasons to do it - one is removing a bunch of indirections from really common operations, but the more pressing one is that the current arrangement has a bad interaction with destruction non-ordering. | 12:33 | |
| (biggish changes) maybe, but I expect they'll be additive. | 12:34 | ||
| Like, I need to still add the "stuff changed" notifications system so we can maintain the various caches more properly. | |||
| But I need to work out exactly what I want that to look like yet. | 12:35 | ||
| Probably I should take a look at Smalltalk's idea of announcements. | |||
| In terms of big breaking changes though, that's quite unlikely. | 12:36 | ||
| whiteknight | okay, I'm very keen to start on the migration of 6model into Parrot core soon. Like, next week maybe | ||
| jnthn__ | I'm trying to work towards a point where I can declare a "6model v1" API or something. | ||
| whiteknight | Last time I asked you said removing those two PMCs was one change I should wait for | ||
| jnthn__ | ah, yeah. I still agree with myself. :) | 12:37 | |
| I should probably see what killing the STable PMC will take sooner rather than later then. | |||
| Shoudl be easy since we never, ever leak it into userspace. | 12:38 | ||
| whiteknight | I've been putting together lists of questions and discussion topics, so one day I'm going to bum-rush you with all that | ||
| jnthn__ | bum-rush?! | ||
| o.O | |||
| :) | |||
| whiteknight | Knock you down, ask you questions. Maybe take your wallet | ||
| just so you know I mean business :) | 12:39 | ||
| jnthn__ had some friends at highschool who had a band called that, but they were thinking of a rather different meaning :) | |||
| whiteknight | I'm going under the assumption that Rakudo is going to want to keep a separate version of 6model around in NQP, for faster bug fixing and turnaround? | 12:40 | |
| Felipe | good morning | ||
| whiteknight | or, if we keep 6model "experimental" for a while so it can be tweaked quickly, would you only want there to be a single version of it? | ||
|
12:41
dafrito joined
|
|||
| moritz | whiteknight: the next rakudo releases (based on nom) will target parrot-3.6.0 | 12:43 | |
| so we need our own copy of 6model for about a month at least | |||
| whiteknight | moritz: okay | ||
| moritz: I'm sure it will take at least a month to perform the migration in a branch. I'm just trying to figure out how much insulation I need to build in | 12:44 | ||
| The more I insulate the parrot version from the NQP version, the harder it may be to unify in the future. So I want to know exactly what Rakudo needs, so I can provide exactly that | |||
| for instance, if I have to change names of things to prevent collisions, etc | 12:45 | ||
| jnthn__ | whiteknight: I really want to work towards something unified. | 12:46 | |
| But that can come after 6model gets in to Parrot. | |||
| But that's the goal. | |||
| It'd be odd if we can't achieve that, given the 6model core commits to so little. | 12:47 | ||
| whiteknight | okay, that is my preference as well, if possible. | ||
| We'll keep it marked "experimental" for a long time, so it will be immune from the deprecation policy until everybody is happy with it | |||
| jnthn__ | To give you an idea, when I added roles to NQP (up to that point I'd just had classes) I didn't have to add anything to the 6model core. | ||
| (Or change anything.) | 12:48 | ||
| whiteknight | I was looking through some object code the other day. We're going to have to rewrite a hell of a lot of stuff, but in the end I think we can squeeze out some performance boosts throughout | ||
| which is why I'm so interested in unification, because it brings optimization potential to not have to support a million alternatives | |||
|
12:49
SteveH joined
|
|||
| jnthn__ | Sure. The point is that we try to let people efficiently implement the million alternatives they want on top of a very minimal core that does the right few things. | 12:50 | |
| whiteknight | right | ||
| jnthn__ | That's why I tend to describe 6model as a toolkit for building an object system. | 12:51 | |
| I think the important thing there is that we keep the boundary between the core and the default object system Parrot itself implements on top of it separated out, so the boundary is clear. | |||
| whiteknight | our current system didn't have a toolkit. Just some rocks stacked together, with mud between the cracks | 12:52 | |
| atrodo | whiteknight> The beaver dam methodology? | 12:53 | |
| whiteknight | that brings up another good point. I don't know what the object system Parrot builds on top of it as the default is going to look like | ||
| I suspect that's something we're going to need to devote some minds to | |||
| Probably be more than one. I know Python and JavaScript are going to want a prototype-based system. We'll probably also want a variant that's pretty similar to the one you're using for NQP | 12:56 | ||
| we know we want classes and roles, etc | |||
| atrodo | Here's a stupid question. Do we need one base class system that can handle all possibilities, or do we need a well defined way of class interaction? | 12:58 | |
| whiteknight | atrodo: We've always wanted the second, I think. That's what vtables are | ||
| mikehh | yes | 12:59 | |
| moritz | atrodo: we need *something* to implement built-in types (like ResizablePMCArray) in | ||
| whiteknight | and 6model provides the flexibility to really get the first and avoid creeping sprawl | ||
| moritz | so a minimalistic OO system must be there, not "just" compatibility rules | ||
| mikehh | we should be able to work most systems on top of 6madel | 13:00 | |
| whiteknight | moritz: whatever Parrot provides will be the default, but will not be a requirement. Any HLL or library should be able to push aside the defaults and build their own on top of 6model | ||
| mikehh | 6model | ||
| atrodo | moritz> I agree, we need something for internal, but I'm always weary about systems that claim to be able to handle every case, especially when talking about dynamic languages | 13:01 | |
|
13:01
SteveH left
|
|||
| moritz | atrodo: be wary of Turing machines then :-) | 13:01 | |
| atrodo | moritz> Sometimes, I do ;) | 13:02 | |
| mikehh | as I see it 6model is the most comprehensive model of that type | ||
| atrodo | And then comes the fear that not using the default, large system means difficulties in using another one, mostly when assumptions creep into other parts of the system | 13:03 | |
| whiteknight | The hard part is not putting the code in and having it run. NQP does that now to great effect. The hard part is getting it integrated enough into the system that we can really start to take advantage of it | ||
| dalek | R: 02982e2 | (Jay Emerson)++ | / (4 files): Added some tests; revised length() to return a ResizableIntegerArray |
13:04 | |
|
13:04
jay joined,
SteveH joined,
jay left
|
|||
| atrodo | moritz> But there is a difference between a simple machine model and a complex class systems that no one can agree on | 13:04 | |
|
13:04
jay joined
|
|||
| moritz | I know I know. I see 6model as the Turing Machine of OO features, just a bit friendlier | 13:05 | |
| whiteknight | I see you like "Turing Machine". Want to talk more about that? | 13:06 | |
| atrodo | whiteknight> No, please change topic | ||
| whiteknight | I only have one topic. Please rephrase the command | ||
| moritz | I've had a fun course on machine models and formal languages | 13:07 | |
| atrodo | whiteknight> Yes, I wish to talk more about Turning Machines | ||
| whiteknight | :) | ||
| I'm in ur turing machine conversation, bein a Turing Test | 13:08 | ||
|
13:09
SteveH left
13:10
bubaflub joined
|
|||
| whiteknight | brb | 13:10 | |
|
13:10
whiteknight left
|
|||
| bubaflub | ~ | 13:11 | |
| jay | ~ | ||
| mikehh | t/pmc/packfileview.t FAILs in make corevm/make coretest but passes in make world/make test | 13:22 | |
| all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#19091), fulltest) at 3_6_0-74-g74d8790 | |||
| Kubuntu 11.04 amd64 (g++) | |||
| jay | Parroters: I'm working on a talk. I have a slide, "Why develop a language for Parrot?" I could tell you what I have at the moment, but would be interested in 3-5 bullet points from you all. | 13:23 | |
| moritz | * Parrot provides a compiler toolkit for you | 13:28 | |
| ... which is desgined for dynamic languages | |||
| * You don't have to reimplement arrays etc. from scratch | 13:29 | ||
| * we collect your garbage | |||
| * active, friendly and helpful community | |||
| EOL | |||
| jay | Ooo... I like the garbage one, didn't have that; pretty much had the others! moritz++ | 13:30 | |
| mikehh | jay: bearing in mind the dynamic languages, it is far easier to build a language on parrot than any other I have found | 13:31 | |
| the toolkit provides most of the things you need | 13:32 | ||
| jay | is ``dynamic language'' synonymous with ``language interoperability'' ? | ||
| moritz | no | 13:33 | |
| mikehh | more as opposed to "static" languages | ||
| moritz | "dynamic language" means "a language like Perl, ruby, python, TCL, PHP, JS, ... | ||
| there's no general definition, but one criterion is that types usually aren't checked at compile time | |||
| jay | ah, that helps clear up that misunderstanding, thanks. | 13:34 | |
|
13:34
whiteknight joined
|
|||
| whiteknight | hello again, #parrot | 13:34 | |
| moritz | but they are "safe" in that they don't throw null pointer exceptions if you provoke a type mismatch | ||
| mikehh | i.e. compile time allocation in "static" languages rather than run time in "dynamic" languages | ||
| Felipe | whiteknight: hello | ||
| jay | I'm great a provoking type mismatches, I have found. One of my greatest strengths. | ||
| mikehh | jay: of course no language is pure "static" or "dynamic" | 13:35 | |
| jay | mikehh... thanks. With an audience of statisticians, I think I can avoid additional nuances, though, and will be forgiven | 13:36 | |
| whiteknight | the probability of getting any answer right is not 1.0 anyway. They should understand that | 13:37 | |
| dalek | R: 15b0196 | (Jay Emerson)++ | / (2 files): Provide a little more user-guidance on what is supported |
13:39 | |
|
13:45
zby_home left
|
|||
| atrodo | whiteknight> ping | 13:54 | |
| whiteknight | pong | 13:56 | |
| atrodo | whiteknight> Not sure if you know this, but I wanted to confirm what I'm seeing | ||
| whiteknight | ok? | ||
| atrodo | the get_params op lists the registers to unstuff the parameters into, correct? | 13:57 | |
| whiteknight | yes | ||
| it takes a signature, I think it's either a String or an RIA, with flags | |||
| each flag would contain the register number, register type, and other things (like :slurpy) | 13:58 | ||
| atrodo | So it's not magic and imcc is not the only one that knows where the unstuffed registers go? | ||
| whiteknight | right | ||
| atrodo | excellent. thanks | 13:59 | |
|
14:06
darbelo joined
|
|||
| dalek | R: 0b0238a | (Jay Emerson)++ | src/nqr/Compiler.pm: Updated startup message |
14:13 | |
|
14:23
UltraDM left
|
|||
| bubaflub | ping dukeleto | 14:25 | |
| dalek | kudo/nom: 379f437 | Coke++ | t/spectest.data: track more test failure updates. |
14:29 | |
|
14:37
bluescreen left
14:46
soh_cah_toa joined
|
|||
| soh_cah_toa | ~~ | 14:47 | |
| dodathome | Hello. I'm packaging rakudo for Debian. I need to know where is pbc_disassemble documented (used to be in src/pbc_disassemble.c) | 14:50 | |
| soh_cah_toa | dodathome: i moved it to frontend/pbc_disassemble/main.c | ||
|
14:52
bluescreen joined
|
|||
| dodathome | okay. Is there any other doc move since parrot 3.3.0 ? (don't worry if you don't remember) | 14:52 | |
| soh_cah_toa | hmm...none that i can think of | ||
| whiteknight | dodathome: I can't think of any | 14:53 | |
| nothing important, certainly | |||
| dodathome++ | |||
| dodathome | ok. I'll try. dpkg-buildpackage will yell if there are others ;-) | ||
| soh_cah_toa | whiteknight: ping | 14:56 | |
| whiteknight | pong | 15:01 | |
| nopaste | "soh_cah_toa" at 192.168.1.3 pasted "chmod() function" (12 lines) at nopaste.snit.ch/65212 | 15:02 | |
| soh_cah_toa | whiteknight: that's for you | ||
| whiteknight | soh_cah_toa: Yes, chmod *should* use it | 15:04 | |
| it doesn't, it should | |||
| soh_cah_toa | ah | ||
| hm, let me see if the chmod() method takes it | |||
| whiteknight | print "chmod " + filename + " 0o" + mode, etc | ||
| soh_cah_toa | right | ||
| whiteknight | probably not. Just jam the logic into osutils.chmod | 15:05 | |
| soh_cah_toa | ok, simple | ||
| whiteknight | for a superstar like soh_cah_toa? Yeah, it's simple :) | ||
| soh_cah_toa | pff...yeah ;) | ||
| which tests should you run after a change like that to the runtime library? before i just used 'fulltest' but i'm hoping maybe there's something a little less...ridiculous | 15:07 | ||
| whiteknight | I doubt highly that osutils is tested | 15:10 | |
| soh_cah_toa | wow, really? | ||
| whiteknight | also, "make help" should give you a few ideas of teh various make targets | ||
| soh_cah_toa | is there a reason there's no tests for it? i'd like to add them if we need it | 15:11 | |
| dukeleto | bubaflub: pong | 15:14 | |
| bubaflub | dukeleto: i'm setting up a jitterbug environment for $dayjob | ||
| dukeleto | bubaflub: hootnanny! | ||
| bubaflub | dukeleto: huzzahs all around | 15:15 | |
| dukeleto | soh_cah_toa: make pmc_tests | ||
| soh_cah_toa: and if osutils.pmc is lacking any related tests, please add some :) | 15:16 | ||
| bubaflub: please let me know if you hit rough edges | |||
| soh_cah_toa | dukeleto: it's not a pmc though | ||
| runtime/parrot/library/osutils.pir | |||
| bubaflub | dukeleto: ok. i'm installing local::lib to handle the dependencies for Jitterbug right now. i'll let you know how all the setup and what not goes | ||
| dukeleto | soh_cah_toa: what are you actually testing? | 15:18 | |
| bubaflub: yes, that is recommended. local::lib will make your life much easier | |||
| soh_cah_toa | well nothing yet b/c there aren't any | ||
| whiteknight: wait a second, yes there is | 15:20 | ||
| whiteknight | ...lolwhere? | ||
| soh_cah_toa | just not everything. not nearly everything | ||
| t/library/osutils.t | |||
| is seriously lacking though. i can improve it some | 15:21 | ||
| whiteknight | well I'll be darned | ||
| soh_cah_toa++ | |||
| soh_cah_toa | and also, i've noticed that a lot of the functions w/ optional named arguments check both the 'opt_flag' and also the argument itself. for instance, say that 'verbose' is an int argument and 'has_verbose' is the flag: `unless has_verbose goto L1` then right after `unless verbose goto L1` | ||
| isn't this redundant? it's not like one could be set but not the other | |||
| whiteknight | Rosella has a global store for holding an OS PMC instance that it reads from. For filesystem-related testing, I can replace that global instance with a custom mock object. Makes testing much much easier. | 15:22 | |
| soh_cah_toa: foo() is different from foo(null) | |||
| soh_cah_toa | hmm... | ||
| dukeleto | soh_cah_toa: make library_tests | ||
| soh_cah_toa | dukeleto: ah, i see | 15:23 | |
| dalek | kudo/nom: 318767a | pmichaud++ | src/core/GatherIter.pm: Fix triangle reductions. |
15:24 | |
| soh_cah_toa | whiteknight: ok i think i get it. testing opt_flag checks to see if it's actually there and then testing the argument itself checks that it has a non-null value | ||
| whiteknight | soh_cah_toa: right | ||
| or, a value that isn't zero: an empty string, etc | 15:25 | ||
| soh_cah_toa | yeah | ||
| whiteknight | it's like wearing a belt and suspenders to make sure your pants stay up | ||
| soh_cah_toa | that's quite an analogy :) | ||
| dalek | umage: 3485b8a | soh_cah_toa++ | man/man1/plumage.1.gz: Changed URL to Artistic License in manpage so that it's the same URL in plumage.json. The previous URL was just the ASCII version. |
15:44 | |
| umage: 6bb32eb | soh_cah_toa++ | .gitignore: Added tags file to .gitignore. |
|||
| umage: 7a1baf6 | soh_cah_toa++ | TODO: Removed manpage from TODO list since I already did this. |
|||
|
15:47
soh_cah_toa left
|
|||
| dukeleto throws his hat into the --optimize circus | 16:07 | ||
| whiteknight | we're going to need to hire a person to cleanup all the hats | 16:12 | |
|
16:12
soh_cah_toa joined
|
|||
| dukeleto cleans his polka dot sombrero | 16:13 | ||
|
16:22
jay left
16:23
daniel-s joined
|
|||
| dalek | rrot: cb6ec5f | dukeleto++ | NEWS: [doc] Add info to NEWS |
16:26 | |
|
16:28
pyrimidine left
|
|||
| dalek | p: b5c4138 | pmichaud++ | src/HLL/Compiler.pm: Add stat.pasm to list of automatically-included macros. |
16:35 | |
|
16:38
mj41 left
16:53
daniel-s left
16:58
rohit_nsit08 joined
|
|||
| rohit_nsit08 | Coke:ping | 16:58 | |
| whiteknight | hello rohit_nsit08 | 17:01 | |
| Coke | rohit_nsit08: pong. | 17:02 | |
| rohit_nsit08 | whiteknight: hello | 17:04 | |
| Coke: hi | |||
| whiteknight | rohit_nsit08: how is your project going? | 17:07 | |
| rohit_nsit08 | Coke: I wanted to ask about how to go with incorporating the whole object system , like when will it get initialized | ||
| whiteknight: I have finished the object system and also the test system as well , rightnow working to get everything tied into one global object | 17:08 | ||
| and writing tests for them | |||
| whiteknight | rohit_nsit08: are all your current changes pushed to github? | ||
| Coke | I don't understand the question, can you rephrase? | ||
| rohit_nsit08 | Coke : hmm like when the program execution starts everything starts in global scope and has access to the global object | 17:09 | |
| and its properties | |||
| so global object must be initialized before the program execution starts to be able to access its properties if someone wants to access the | 17:10 | ||
| them | |||
| Coke | if you're already instantiating the object, you should be able to just store it in a known global location and then get_* (e.g. get_global) it later. | ||
| ok. if you're looking to run stuff at the begining, you'd tag your initialization sub as :init (if people are running it directly) or :load (if they are doing a load_bytecode) | 17:11 | ||
| anything in subs marked that way will be run at that particular "phase". | |||
| rohit_nsit08 | I was thinking to use a load_bytecode and call the object system stored in another PIR file | 17:12 | |
| Coke | ok. then whatever initialization you need to do should be in a pir sub marked :load | ||
| rohit_nsit08 | okay | 17:13 | |
| Coke | e.g.: github.com/partcl/partcl/blob/mast...ib.pir#L94 | ||
| (quick bio break, brb, keep asking questions, someone will answer if I don't before I return.) | 17:14 | ||
| rohit_nsit08 | Coke: got it , I was thinking the same way to achieve this, another doubt was to handle the regex object | ||
| i'm getting confused with the regex patterns and how to deal with them in PIR , I know PIR supports dynamic execution but still need to discuss this | 17:17 | ||
| sorry last line was related to eval() function | 17:19 | ||
| Coke | regarding the regexes, I would use the underlying code in nqp-rx to /execute/ the regexes, and just provide the JS syntax to invoke them. | 17:20 | |
| making the regexes actually support JS RE syntax as opposed to perl-ish syntax is probably beyond the scope of the project. | |||
| Coke tries to install Node.js on this box... | 17:22 | ||
| rohit_nsit08 | hmm let me have a look at the perl-ish syntax for regexes | ||
| whiteknight | rohit_nsit08: If you have a compiler object, you can register it with the compreg op | 17:26 | |
| then, in eval(), you can get the compiler back from compreg and compile things | |||
| Coke | rohit_nsit08: I would say step one is getting the js Regex object (and // syntax) to call the default nqp-rx style. Then at a later time, you can see about replacing the npq-style with your own implementation. (which is a simple matter of programming, but again, more than you have time for.) | 17:28 | |
| (ugh. macport selfupdate SLOWWWWWW) | |||
| cotto_work | ~~ | ||
| rohit_nsit08 | ya I do have a compiler object, hmm ya I can use compreg in eval and get the job done | 17:29 | |
| Coke: can u show me any documentation about nqp-rx ? | 17:30 | ||
| Coke | heh. | ||
| rohit_nsit08 | I am browsing through perl regexes | ||
| Coke | I found the best documentation was existing code, unfortunately. Anyone else have a different experience? | 17:31 | |
| (that said, github.com/partcl/partcl-nqp is written using nqp-rx | |||
| rohit_nsit08 | code will work :-) | ||
| Coke | (and even has a start at a new regex engine since tcl's regexes are slightly different than perl5's.) | 17:32 | |
| jnthn__ | rohit_nsit08: What are you writing your compiler/built-ins in? | ||
| Coke | ugh. but yah, if you're doing your regular stuff in raw PIR, I'm not sure how easy that will be to import. | ||
| (partcl-nqp is nqp-rx all the way down.) | |||
| jnthn__ | Yeah, you can then have $regex in a string and just use interpolation... /<$regex>/ | 17:33 | |
| rohit_nsit08 | jnthn_ : compiler built-in as in? I'm writing inbuilt functions and objects in pir | ||
|
17:33
darbelo left
|
|||
| jnthn__ | rohit_nsit08: OK. You can still get hold of the NQP compiler through compreg if it's loaded. | 17:33 | |
| Then use that | |||
| There may be a way to get at the regex compiler more directly too through compreg | 17:34 | ||
| So you'll be able to call into it from PIR | |||
| rohit_nsit08 | jnthn__ : that will be the best If I can get it in PIR, btw do I need to check if NQP compiler is loaded or not? | 17:35 | |
| whiteknight | load_language "NQP" should do it | ||
| Coke | (ah, good, glad to see it's easy to pull in the bits we need.) | 17:36 | |
| rohit_nsit08 | hmm okay that will do | ||
| Coke: fyn, let me try to get the regexp work today and than have another meeting tomorrow if things don't go smooth . | 17:38 | ||
| Coke | fyn? | 17:39 | |
| (fine?) | 17:40 | ||
| rohit_nsit08 | Coke: where should I look in partcl-tcl for the regexp | ||
| ohh sorry "fine" | |||
| Coke | yah, that's fine. I'll be on about the same time, and if not, these folks can help out. | ||
| github.com/partcl/partcl-nqp/tree/...er/src/ARE | |||
| I think ARE is "advanced RE" (tcl nomencalture) | 17:41 | ||
| *nomenclature | |||
| Grammar.pm is a perl6-style grammar that defines the various bits of the regexes, and Actions contains the processing. | |||
| like I said, too much for this version. ;) | |||
| whiteknight | Eventually, I would expect the javascript compiler to use pcre or something | 17:42 | |
| Coke | (if we can get the nqp stuff in perl5 mode, that's going to be close enough.) | ||
| rohit_nsit08 | Coke: hmm okay I'll look into this, and will be available on gtalk for some quick doubts | ||
| Coke | k | ||
|
17:42
bubaflub left
17:43
bubaflub joined
17:48
mj41 joined
17:51
soh_cah_toa left
|
|||
| dalek | sella/template_tests: eac8b6f | Whiteknight++ | / (2 files): Quick fix to the test-for-namespace template |
18:09 | |
| sella/template_tests: 04f5989 | Whiteknight++ | / (3 files): Fix test_*.winxed.template files to generate the kinds of output I want for both cases |
|||
| sella/template_tests: 9cd954f | Whiteknight++ | / (2 files): Fix equality checking in mockobject method parameters. Add a test file for Template.t |
|||
| sella/template_tests: 9991bad | Whiteknight++ | / (7 files): Add several test files for template. Quick fixes to standard templates. |
|||
| sella/template_tests: 3ea8aa9 | Whiteknight++ | t/template/ (14 files): Add in some stub test files that were auto-generated by test_all_lib utility. Not human-edited yet |
|||
|
18:09
mj41 left
18:25
bluescreen left
|
|||
| bubaflub | whiteknight: i'm definitely interested in the vectorized and/or templated test stuff you've got in Rosella | 18:27 | |
| whiteknight | bubaflub: i'm starting to get pretty excited about it | 18:28 | |
| bubaflub | whiteknight: yeah, originally i was thinking about re-doing my tests with code-generation | 18:29 | |
| but it looks like i might be able just to use this stuff | |||
| pmichaud_ | Parrot doesn't provide a mechanism to fetch/test file permissions? | ||
|
18:30
pmichaud_ is now known as pmichaud
|
|||
| whiteknight | pmichaud: OS PMC has some permissions methods | 18:30 | |
| pmichaud checks. | |||
| whiteknight | pmichaud: and io.ops has stat and all | ||
| pmichaud | stat seems to only do a few functions | ||
| yeah, looks like os.pmc is the way to go. thanks. | 18:33 | ||
|
18:36
rohit_nsit08 left
|
|||
| pmichaud | well, except for testing that a path is a symlink. That seems to require the file.pmc :-( | 18:38 | |
| (unless I go hardcoding constant bitflags somewhere) | 18:39 | ||
| whiteknight | our os API is not stellar | ||
|
18:39
bluescreen joined
|
|||
| whiteknight | bubaflub: I'm really starting to get excited about some of the new functionality. I have a utility program I'm playing around with that takes a .pbc file reference, pulls out all the namespaces, classes, and subs from it, and outputs an entire suite of test files for everything in it | 18:40 | |
| bubaflub | whiteknight: verrrrry nice. should be easy to increase coverage that way. | ||
| whiteknight | very easy. I did the first test of it today. I used that tool to generate the tests for one of the new libraries that the tool uses | 18:41 | |
| bubaflub: and I have a similar program that takes a .pbc, reads out all the classes, namespaces, and subs, and generates winxed include files | |||
| bubaflub | whiteknight: what i'm thinking i need is something that can handle the boilerplate for each test file as well as all the boring parts - initialize these variables with these values and call this function and assert something about the output | ||
| whiteknight | bubaflub: Here's a text template that I use with Rosella: github.com/Whiteknight/Rosella/blo...d.template | 18:42 | |
| bubaflub | whiteknight: this is exactly what i need. | 18:43 | |
| whiteknight | you feed it a class object, and it outputs the entire test file for you | ||
| bubaflub | whiteknight: also, i have some templates for my Winxed stuff. i may replace those as well | ||
| whiteknight: right now they are just dumb files that i append to | |||
| whiteknight | I need to write up a blog post about some of these new things | ||
| bubaflub | whiteknight: so in my case, instead of having a class to read from, i'll just have a YAML file that lists the function i want to test, the variables i need to initialize (name, type, and value), and what needs to be asserted about the output | 18:44 | |
| pmichaud | has a time been chosen for PDS yet? Did I miss the announcement? | 18:47 | |
| whiteknight | pmichaud: yes it was | ||
| aloha: PDS? | |||
| aloha | whiteknight: PDS is Sat May 14 2011, 2100 hours | ||
| whiteknight | ...old | ||
| pmichaud | looks like I missed it. :) | ||
| whiteknight | aloha: PDS Q2 2011? | ||
| aloha | whiteknight: PDS Q2 2011 is Saturday July 30 at 2100 UTC | ||
| whiteknight | aloha forget PDS | ||
| aloha | whiteknight: I forgot about PDS. | ||
| whiteknight | aloha PDS is Saturday July 30 at 2100 UTC | 18:48 | |
| aloha | whiteknight: Okay. | ||
| pmichaud | seems like there should be a message to parrot-dev and/or parrot-users | ||
| atrodo | 5:00 eastern, correct? | ||
| whiteknight | I thought there was an email | 18:49 | |
| pmichaud | there's an email saying the scheduling decision would likely be made at #parrotsketch, but I don't see one that says what decision was made :) | 18:50 | |
|
18:50
contingencyplan joined
|
|||
| whiteknight | ah, maybe an email was missed. We should send one | 18:51 | |
| dalek | kudo/nom: 7129b21 | pmichaud++ | src/ (5 files): Add some filetest operators. |
19:05 | |
|
19:07
theory joined
19:11
NotFound joined
19:12
theory left
19:20
mj41 joined
20:05
zby_home joined
|
|||
| dalek | kudo/nom: 08b94ed | pmichaud++ | tools/build/NQP_REVISION: Bump NQP_REVISION to get stat.pasm. |
20:11 | |
|
20:12
dmalcolm joined
|
|||
| dalek | rrot: 43ba0b0 | NotFound++ | t/oo/new-old.t: fix and unTODO the "exception in new" test, TT #1151 |
20:12 | |
|
20:12
theory joined
|
|||
| Coke | ... still trying to update macports. ;) | 20:31 | |
|
20:35
whiteknight left
|
|||
| bubaflub | Coke: you should checkout homebrew (mxcl.github.com/homebrew/) | 20:35 | |
| Coke | bubaflub: looks like "we don't like tcl, so we rolled our own with ruby" | 20:42 | |
| (and or svn/git) | |||
|
20:44
dodathome left
|
|||
| dalek | kudo/nom: 81f235a | jonathan++ | src/Perl6/ (3 files): A little more work on enums so that enum Foo <Bar Baz> at least now gets you a Bar/Baz/Foo::Bar/Foo::Baz that you can say. |
20:46 | |
| kudo/nom: 8b10f1c | jonathan++ | src/Perl6/Actions.pm: Fix so colonpairs work inside enums also. |
|||
| dukeleto | this is pretty freaking cool: developer.github.com/v3/git/ | 20:48 | |
|
20:48
theory left
20:49
theory joined
|
|||
| Coke | so.... why did we move some opcodes out into dynops? | 20:50 | |
| is it supposed to make things faster or indicate a level of support, or...? | 20:51 | ||
| (and do those decisions make sense as we move to m0) | |||
| cotto_work | dukeleto: what's the right way to send a feature request to github? | 21:01 | |
|
21:01
ambs joined
21:03
theory left
|
|||
| dukeleto | cotto_work: email support@github.com | 21:05 | |
| cotto_work | dukeleto: thanks | ||
| dukeleto | Coke: dynops can be selectively loaded at runtime, instead of being forcibly loaded before runtime | 21:06 | |
| Coke: reduces memory use, probably. Does not indicate a change in support level. | 21:07 | ||
|
21:07
mj41 left
|
|||
| bubaflub | Coke: yes, it (homebrew) is ruby based. i like it because it doesn't clobber system libraries and is much faster than macports. also, making my own formula is easy. | 21:07 | |
| Coke | OK. I'll pass that along to the person who was asking. | ||
| bubaflub: macports doesn't clobber system libraries either. | |||
| and also allows you to create your own ports (as we do for parrot) | 21:08 | ||
| bubaflub | Coke: when i used macports, i had to pull down their copy of X11 and all kinds of things that were already on my system... maybe i was just doing it wrong. | 21:09 | |
| or maybe "clobber" wasn't the correct word there | |||
| Coke | duplicate? | 21:10 | |
| bubaflub | sure. | ||
| Coke | I know they used to suck about that, but I thought they were ok these days about using sys-available placeholders if present. | ||
| I'm only have problems right now because I haven't done a port upgrade of modules in six months. | 21:11 | ||
| (so there's a lot to rebuild.) | |||
| bubaflub | understandable | ||
| NotFound | Funny fact of the day: a guy asked me to relicense my gpl old-fashioned basic interpreter in order to add propietary code to it and sell in the Mac app store. | 21:14 | |
| Felipe | haha | ||
| bubaflub | NotFound: you should beat him to the punch | 21:15 | |
| cotto_work | NotFound: give him PIRRIC | ||
| NotFound | I feel tempted to say yes. It will be a lot of fun seeing app stores fulll of silly games from the '80 | 21:16 | |
| Hundreds of versions of hangman... | 21:17 | ||
| dukeleto | NotFound: did he offer to pay you to license it? | 21:21 | |
| NotFound | dukeleto: not even a word about that. | 21:22 | |
| dukeleto | NotFound: I would spit in his eye, but that is just me. | 21:23 | |
|
21:25
ambs left
|
|||
| NotFound | I'm just going to tell him that I can't do that, because the codebase includes GPL'ed code borrowed from several sources and I have no time nor interest to isolate that pats. | 21:26 | |
| parts | |||
| PerlJam | Just tell him to GPL the proprietary code :) | 21:27 | |
|
21:27
theory joined
|
|||
| NotFound | He says "GPL is simply too restrictive", surely to prevent such answer :D | 21:29 | |
| Coke | NotFound: I'd definitely keep an eye on his store front. | ||
|
21:29
bubaflub left
21:30
bubaflub joined
|
|||
| PerlJam | dukeleto: regarding dynops and such ... is there some documented philosophy about which should be dynops and which not? | 21:31 | |
| dukeleto | PerlJam: basic philosophy is less-used ops become dynops, so that everyone isn't forced to load them. For instance, random number generation became dynops a while ago. I am not sure it is written down anywhere | 21:32 | |
|
21:34
bluescreen left
|
|||
| cotto_work | We should write that down. | 21:39 | |
|
21:43
SteveH joined,
Psyche^ joined
21:44
bubaflub left
21:45
bubaflub joined
|
|||
| dukeleto | cotto_work: where? | 21:48 | |
| cotto_work: is there a dynop PDD ? | |||
|
21:48
Patterner left,
Psyche^ is now known as Patterner
|
|||
| cotto_work | dukeleto: good question | 21:50 | |
|
21:54
kid51 joined
21:56
zby_home left
|
|||
| PerlJam | Earlier on #perl6 it was mentioned that sqrt is a built-in op and pow a dynop. Knowing what the mental model should be for that op dichotomy would be a good thing. | 21:57 | |
| (why isn't sqrt a dynop? Will it ever be? etc.) | |||
|
21:58
SteveH left
|
|||
| dukeleto | PerlJam: sqrt is used more often than pow. Many non-essential math ops were made dynops. I didn't have much say in that decision. | 22:10 | |
|
22:10
theory left
|
|||
| kid51 | dukeleto: Supplied requested data to trac.parrot.org/parrot/ticket/1930 | 22:11 | |
| dalek | kudo/nom: e0ecb6c | jonathan++ | src/Perl6/ (2 files): Simplify enum key handling a little. |
22:12 | |
| kudo/nom: a7019da | jonathan++ | src/Perl6/ (2 files): Make ::?CLASS work, in signatures at least. |
|||
| kudo/nom: 69069d7 | jonathan++ | src/Perl6/ (2 files): Get us able to write multi method foo(::?CLASS:D: { ... } in a role and have it work. |
|||
| kudo/nom: 31cb7bc | jonathan++ | src/core/Enumeration.pm: A couple more methods in Enumeration/NumericEnumeration. |
|||
|
22:16
bubaflub left
22:30
fperrad left
|
|||
| dafrito | Random comment: I really love how thorough the PCT tutorial is. Very well done :) | 22:31 | |
| dukeleto | dafrito: thanks! | 22:37 | |
| kid51++ | |||
| dalek | nxed: ec505b3 | NotFound++ | winxedst1.winxed: new predefined constants __NAMESPACE__ and __CLASS__, as whiteknight++ suggested |
22:38 | |
|
23:01
whiteknight joined
23:02
theory joined
|
|||
| dalek | kudo/nom: c9a42e9 | jonathan++ | src/ (2 files): Continue to flesh out methods on enumerations. |
23:03 | |
| kudo/nom: 15a304e | jonathan++ | src/ (2 files): Add .enums and .pick for enumerations. |
|||
| kudo/nom: 59587d1 | jonathan++ | NOMMAP.markdown: Update nommap. |
|||
| whiteknight | NotFound++ | 23:10 | |
| NotFound++ | 23:11 | ||
| dalek | nxed: d683988 | NotFound++ | / (4 files): fix __NAMESPACE__, bump version to 1.1.devel and add --version option to non installed driver |
||
| whiteknight | NotFound++ | ||
|
23:11
theory left
|
|||
| NotFound | New convention: VERSION_BUILD = -1 means "devel" | 23:12 | |
| whiteknight | How do we get that value? | 23:14 | |
| NotFound | The method version in the compiler object returns an integer array [VERSION_MAJOR, VERSION_MINOR, VERSION_BUILD ] | 23:16 | |
| whiteknight | ok | 23:21 | |
| When you update the snapshot in the parrot repo, I'll update Rosella with these new things | 23:22 | ||
| it makes me very happy | 23:26 | ||
| NotFound | Probably tomorrow. Now i must go. | 23:27 | |
| Bye | 23:28 | ||
|
23:28
NotFound left
|
|||
| kid51 | dukeleto: Full post to come (doing $job work now) -- but got same error in t/op/number.t with "all g++ and --optimize". So it's the --optimize that is the problem. | 23:28 | |