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