|
www.parrotcode.org/ | Last release: 0.7.1 "Manu Aloha" Set by moderator on 17 September 2008. |
|||
|
00:10
AndyA joined
00:14
confound joined
00:28
kid51 joined
00:44
TiMBuS joined
00:47
bacek joined
00:48
Zaba joined
|
|||
| cotto_work | the more that I use busybox, the more I wish that t and y weren't next to eachother on my keyboard | 00:50 | |
| dalek | r31353 | coke++ | trunk: | 01:05 | |
| : [tcl] Fix recent update to exception handling | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31353 | |||
| Tene | coke++ # cleaning up after me | 01:06 | |
|
01:12
Zaba_ joined
|
|||
| dalek | r31354 | coke++ | trunk: | 01:13 | |
| : [tcl] unTODO another test that recently started working. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31354 | |||
|
01:14
Ontolog joined
01:54
Ontolog joined
02:02
petdance joined
|
|||
| Ontolog | in PIR I want to do if has_count && count < 0 goto no_count | 04:00 | |
| do I really have to make a label and jump to it for each atomic condition? | 04:01 | ||
| because as it stands now parrot is not accepting if has_count && count < 0 goto no_count | |||
| cotto_home | yup | ||
| there's some syntactic sugar, but having to deal with the low-level stuff is part of writing (parrot's) assembly | 04:02 | ||
| pmichaud | no compound expressions in PIR | 04:03 | |
| Ontolog | i see | ||
| pmichaud | but you can do it with | 04:04 | |
| $I0 = islt count, 0 | |||
| $I1 = istrue has_count | |||
| $I2 = and $I0, $I1 | |||
| if $I2 goto no_count | |||
| Ontolog | haha i guess that is slightly better than adding all sorts of lables | ||
| *labels | 04:05 | ||
| pmichaud: while you are here, I have a question about the behavior of LIMIT with split. According to Perl 5's docs, If LIMIT is unspecified or zero, trailing null fields are stripped (which potential users of "pop" would do well to remember). | |||
| in the Perl 6 docs however it says null fields are not stripped | |||
| but it is not clear if this special case with limit overrides that | |||
| pmichaud | well, if limit is unspecified, then null fields are not stripped (per S29) | 04:07 | |
| Ontolog | so an explicit limit of 0, the null fields are not stripped | 04:08 | |
| ok makes it easier for me haha | |||
| what is this istrue about? | |||
| we can't just do and $I0, has_count ? | 04:09 | ||
| in fact the opcode istrue is not even found | 04:11 | ||
|
04:12
Zaba joined
|
|||
| cotto_home | istrue expects a PMC as its input | 04:13 | |
| Ontolog | ahh | ||
| cotto_home | you could do iseq has_count, 1 | 04:14 | |
| Ontolog | i went back to using the labels anyway since we can't deal with count until we know has_count is true | ||
| pmichaud | if has_count is already an int, then just use it and directly | 04:22 | |
| $I0 = islt count, 0 | |||
| $I1 = and has_count, $I0 | |||
| if $I1 goto no_count | |||
| Ontolog | ah i see | 04:28 | |
| so an explicit limit of 0 should behave the same as if it was unspecified? | 04:31 | ||
| so the string (or whatever) is split into as many pieces as possible and returned? | 04:32 | ||
| pmichaud | right. | ||
| Ontolog | cool just making sure | ||
| Tene | Anyone know the best way to iterate over an RPA from C? | 04:33 | |
| Eh, nm. | 04:35 | ||
| cotto_home | fine | ||
|
04:35
tetragon joined
|
|||
| Tene | I'm sure a for loop is fine. | 04:36 | |
| pmichaud | there's an example or two in src/pmc/codestring.pmc, I think. | ||
| oops, never mind, I guess not. :-( | |||
| (that one is iterating by index + length of array, not using an iterator) | 04:37 | ||
| Tene | This list should be small enough that iterating by hand should be fine. | ||
|
04:38
Zaba_ joined
04:42
Zaba joined
|
|||
| Tene | pmichaud: check out r31355 | 04:59 | |
| dalek | r31355 | tene++ | exceptionmagic: | ||
| : [exceptionhandler] | |||
| : Add an attribute to hold a list of exception types to catch | |||
| : Add a handle_types(types :slurpy) method to set the list of types to catch | 05:00 | ||
| : Add a check against the types to catch in can_handle | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31355 | |||
| Tene | Let's see if I can post to parrot-dev successfully. | 05:07 | |
| It would be great to get that merged to trunk before #ps tomorrow. | 05:08 | ||
| It might be nice to get some PIR sugar for setting up a typed EH. Maybe a macro. | 05:12 | ||
| cotto_home | did the range idea get nixed or were you thinking that it'd be part of the sugar? | 05:14 | |
| Tene | range is for severity, there's a list for exception types. | 05:15 | |
|
05:16
iblechbot joined
|
|||
| cotto_home | right | 05:16 | |
| Tene | "push_eh label" is more concise than "$P0 = new 'ExceptionHandler'\\n$P0.handle_types(.CONTROL_RETURN_\\nset_addr $P0, label\\npush_eh $P0" | ||
| So something like .push_typed_eh(label, .CONTROL_RETURN) maybe | 05:17 | ||
| cotto_home | sounds Canadian | 05:18 | |
| confound | take off, eh | 05:19 | |
| ya hoser | |||
| cotto_home | can pir macros be variadic? | 05:27 | |
| Tene | dunno | ||
| cotto_home | I don't think so from looking at the pdd and tests | ||
| since pir is supposed to be generated, isn't the only point of syntactic sugar like push_typed_eh to make writing tests easier? | 05:38 | ||
|
05:42
Zaba joined
05:48
johbar joined
|
|||
| johbar | moin | 05:49 | |
| Tene | cotto_home: we've still got a decent amount of hand-written PIR | 05:53 | |
| ... huh. My message to parrot-dev awaits moderation. | 06:06 | ||
| I must be subscribed... I'm getting messages. | |||
|
06:08
uniejo joined
|
|||
| dalek | r31356 | chromatic++ | trunk: | 06:15 | |
| : [OO] Removed unused function find_vtable_meth_ns(). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31356 | |||
|
06:16
uniejo joined
06:25
Zaba joined
06:27
bacek joined
06:53
bacek joined
08:03
Zaba joined
|
|||
| dalek | r31357 | kjs++ | trunk: | 08:11 | |
| : [pirc/new] implement string re-use | |||
| : + implement hashtable | |||
| : + conversions from symbol lists to hashtables is next. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31357 | |||
|
08:12
clunker3__ joined,
braceta joined,
Zaba joined
|
|||
| johbar | hey | 08:19 | |
| is there something like a ebnf compiler which prints out syntax-trees? | 08:28 | ||
| moritz | PGE does something very similar | 08:29 | |
| it uses Perl 6 regexes, which are a bit like EBNF | |||
| for example you can build parrot, then 'cd languages/perl6/; make' | 08:30 | ||
| then write something into test.t | |||
| then run ../../parrot perl6.pbc --target=parse test.t | |||
| that will give you a parse tree of a Perl 6 program | |||
| the grammar is in src/parser/grammar.pg | 08:31 | ||
| johbar | ah nice. i'll have a look | 08:32 | |
| thanks | 08:33 | ||
| moritz | you're welcome | ||
| if you don't want to write your own Perl 6 code, the test suite has some | 08:34 | ||
| for example t/00-parrot/01-literals.t | |||
|
08:52
sheepmullet joined
09:02
bacek joined
09:16
iblechbot joined
|
|||
| dalek | r31358 | moritz++ | trunk: | 09:28 | |
| : [rakudo] correct Str.split with $limit argument, Ontolog++ | |||
| : Patch courtesy by Chris Davaz | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31358 | |||
| r31359 | moritz++ | trunk: | 09:30 | ||
| : [CREDITS] added Chris Davaz (Rakudo patches) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31359 | |||
|
09:49
vhold joined
10:48
Zaba joined
10:49
pjcj joined
10:53
Whiteknight joined
11:16
kid51 joined
11:50
kj joined
11:53
Ontolog joined
12:07
masak joined
12:19
braceta joined
12:24
Wknight8111 joined
12:40
d4l3k_ joined
12:43
xiaoyafeng joined
|
|||
| Ontolog | is there an html conversion of docs/book/* online? | 12:49 | |
| Wknight8111 | not that I am aware of, no | ||
| it shouldn't be too hard to set up though, since it's all POD formatted | 12:50 | ||
| moritz | Ontolog: there's one of the things in the pugs repo, but it's a bit out of date | 12:53 | |
| and the quality isn't all that good | |||
| Wknight8111 is working on that too | |||
| There is a lot to do with those books, they are both very out of date | |||
| moritz | moritz.faui2k3.org/pugs/ # search for docs/tutorial/ch01_overview.pod | 12:54 | |
| Ontolog | it would be nice to have everything under doc/* automatically generated to html and up on a parrotcode.org/docs | ||
| s/generated/converted/ ... lol | |||
| Wknight8111 | We could probably put in a bug request or something. | ||
| It would be a nice way for people to keep track of progress on it, that's for sure | 12:55 | ||
| moritz | and it would be nice to have a location where both parts of the book are combined | ||
| PerlJam | There's been progress? ;) | ||
| Wknight8111 | I've been working on the books pretty aggressively, yes | 12:56 | |
| Added about 3 new chapters to the parrot book already | |||
| diakopter | [OT] ...[lack of] apologies in advance for the [OT] message.. please /msg me if you're interested in owning the perlblog.org domain name. it's zero-currency to one I deem worthy, or even just willing to take it. | ||
| PerlJam | Wknight8111: you should find self-contained pieces and publish them to perl.com (or perhaps parrot needs a corresponding "news outlet") | 12:57 | |
| Wknight8111 | There is parrotblog.org that is under-used, I think | ||
| Ontolog | hmm | ||
| PerlJam | Wknight8111: indeed! I'd forgotten about it until you mentioned it. | ||
| Ontolog | i think all the docs being in different places is really confusing | ||
| it would be nice if it was all under parrotcode.org/docs | |||
| Wknight8111 | Allison wants to have something publishable by the time 1.0 is released, so I've been trying to focus on that requirement. | 12:58 | |
| moritz | Ontolog: yes, taht's a real problem | ||
| Wknight8111 | But yes, publishing to other venues as well would be a good idea | ||
| masak | Ontolog++ # for not being satisfied with status quo | 13:00 | |
| Ontolog | maybe i'm a total bonehead but i can't find where to create a new ticket through the web interface at rt.perl.org | ||
| masak | Wknight8111++ # for focusing on requirements | ||
| Ontolog | masak++ got giving me such easy karma ;-) | ||
| masak | karma is easy to give :) | 13:01 | |
| purl | is easy to give :) has neutral karma | ||
| Ontolog | haha | ||
| masak | and at least on of purl and me is stupid | ||
| s/on/one/ | |||
| Wknight8111 | Ontalog, send an email to parrot-bug@perl.org to create a new ticket | ||
| moritz | Ontolog: you can't from the web interface, you need to send a mail to parrotbug@parrotcode.org | ||
| Wknight8111 | sorry parrotbug@parrot.org | ||
| masak | parrotbug | 13:02 | |
| purl | rumour has it parrotbug is mailto:parrotbug@parrotcode.org or svn.perl.org/parrot/trunk/docs/submissions.pod or see also "rakudobug" | ||
|
13:10
gryphon joined
|
|||
| masak | I haz a patch for ord and chr in Rakudo. | 13:28 | |
| should I send it to rakudobug, or first extend it to handle list of things, not just the bare minimum? | |||
| moritz | I CAN HAZ PATCH? | ||
| masak | moritz: YES RLY! | ||
| moritz | I hope that answers your question ;) | 13:29 | |
| commit(or patch) early, commit often | |||
| masak | can't commit, so that leaves sending via rakudobug | ||
| rafb.net/p/QfqPIS11.html | 13:30 | ||
| moritz | sendiing patches is the substitute action for non-commiters | ||
| masak | aye :) | ||
| but I expect to be able to extend it during the day to handle lists and strings of more than one character | |||
| but already this level of functionality is very good news for my favorite Perl 6 application. | 13:31 | ||
| moritz | I know ;) | ||
| and the good news is that rakudo doesn't hang on parsing /spec/S29-conversions/ord_and_chr.t any more | |||
| heh, your patch makes all these tests pass | 13:32 | ||
| masak++ | 13:33 | ||
| running tests now... | 13:34 | ||
| masak: if spectest_regression is successful, I can commit right away if you want | 13:35 | ||
| masak: but you can open a ticket anway to increase your visibility for the other parrot hackers, thus increasing your chances of getting a commit bit ;) | 13:36 | ||
| masak | moritz: hold on, be right with you | ||
| Wknight8111 votes for masak's commit bit | 13:38 | ||
| moritz | we could suggest that on today's #ps meeting (if you want, masak) | 13:39 | |
| masak | moritz: sure, why not? :) | 13:42 | |
| just don't tell my two employers | 13:43 | ||
| masak creates RT ticket | |||
| pmichaud | masak haz sent cla? | 13:45 | |
| masak | pmichaud: no. I know it's needed, but how to actually do it? | ||
| moritz | cla? | ||
| purl | cla is Contributor License Agreement or www.perlfoundation.org/contributor_..._agreement | ||
| moritz | masak: print that thing, sign it... | ||
| masak: send it to the address on that sheet... | 13:46 | ||
| masak | oh, dead-tree style. | ||
| moritz | masak: your employers have to know if the laws in $your_country grant them copyright to whatever you do (which some countries do) | ||
| masak | moritz: good to know. | ||
| ok, I'll try to find a printer to connect to :) | 13:47 | ||
| t/spec/S29-conversions/ord_and_chr.t is woefully incomplete, btw | 13:49 | ||
| moritz | masak: Patches welcome ;) | ||
| masak | I'll try remedy that, too. before I go coding more on chr and ord | ||
| masak likes to have failing tests before coding begins | |||
| moritz | it doesn't test the form of chr() with slurpy argument list | ||
| masak | indeed not. | 13:50 | |
| also, it doesn't test the 'use graphemes' business | |||
| moritz | which no implementation yet supports | ||
| masak | nevertheless. | 13:51 | |
| moritz | rakudo currently works as if 'use codes' where in effect | ||
| aye, needs tests | |||
| but I don't know how to test ofr a grapheme ID, because it's not a common Unicode concept | 13:52 | ||
| a test (in perl 5 pseudo syntax) might be ord("A\\N[COMBINIG DIAERESIS]) == ord("Ć") | 13:53 | ||
| and list(ord("a\\N[weird]\\N[combiners]")).elems == 1 | 13:54 | ||
| masak | moritz++ # I will use that. | ||
| (IRC logs)++ # but not right now. | 13:55 | ||
| moritz | I think the Perl 6 syntax is actually \\c[Character name] | ||
| masak | aye. | 13:57 | |
| moritz | oh an in Perl 5 it's \\N{...}, not \\N[...] | 13:58 | |
| after writing the tests for Perl6::Str I should know ;) | 13:59 | ||
|
14:10
Lorn joined
14:19
pjcj joined
|
|||
| NotFound | What encoding actually assumes rakudo for strings in sources? | 14:23 | |
| masak | NotFound: UTF-8? | ||
| purl | UTF-8 is probably the way of the future or Unicode Transformation Format 8 bit, a variable width encoding of Unicode or en.wikipedia.org/wiki/Utf-8 | ||
| moritz | yes, it does | 14:24 | |
| Tene | So, who controls auth on parrot-dev? | 14:28 | |
| dalek | r31360 | moritz++ | trunk: | 14:29 | |
| : [rakudo] implement chr() and ord(), and add tests to spectest_regression | |||
| : Patch courtesy by Carl Mļæ½sak <cmasak at gmail dot com>, masak++ | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31360 | |||
| Tene | I recieve mail from there, but my mail to there is pending moderation, 'cos it claims I'm not subscribed. | 14:30 | |
| moritz | Tene: allison does | 14:32 | |
| Tene | Ah, 'kay. Thought so. | 14:33 | |
| dalek | r31361 | julianalbo++ | trunk: | 14:49 | |
| : exchange roles of elements and get_integer in FixedIntegerArray | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31361 | |||
|
14:59
cjfields joined
15:03
jhorwitz joined
15:10
sjansen joined
15:17
sjansen joined
15:31
hercynium joined
15:32
sjansen joined
15:34
Lorn_ joined
|
|||
| dalek | r31362 | julianalbo++ | trunk: | 15:34 | |
| : replace elements and PMC_int_val with get_integer and add bounds checking to delete_keyed_int in ResizableIntegerArray | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31362 | |||
| r31363 | coke++ | trunk: | 15:38 | ||
| : [tcl] - add a TODO'd test. Getting this test to pass will get us one step closer to running tcltest.tcl | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31363 | |||
| r31364 | Whiteknight++ | pdd27mmd: | |||
| : [pdd27mmd] Add some notes about how to further unify functions when we get around to it, and a few comments explaining how some things are working. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31364 | |||
|
15:43
braceta joined
15:50
braceta_ joined
|
|||
| dalek | r31365 | moritz++ | trunk: | 15:56 | |
| : [rakudo] make chr() and ord() methods of Any, and moved chr() to be in | |||
| : alphabetical order with the rest of the methods. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31365 | |||
| moritz | pmichaud: should the patch in RT #59222 be applied? (with s/isxdigit/isalnum/) | 15:59 | |
| dalek | r31366 | moritz++ | trunk: | 16:13 | |
| : [rakudo] implement Hash.pairs, cjfields++. Patch courtesy by Chris Fields. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31366 | |||
|
16:14
iblechbot joined
|
|||
| dalek | r31367 | moritz++ | trunk: | 16:33 | |
| : [rakudo] added S29-hash/pairs.t to spectest_regression | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31367 | |||
|
16:51
Hinrik joined
|
|||
| pmichaud | moritz: don't apply 31366 just yet, I need to review it more. | 17:15 | |
| sorry, I mistped -- don't apply 59222 just yet. | 17:16 | ||
| (31366 is fine, although it's all about to be rewritten anyway based on references.txt that jonathan and I discussed last week :-) | |||
| moritz | pmichaud: ok | 17:18 | |
| Tene | Bah. I'm scheduled to start class again right at #ps time | 17:30 | |
| cotto_work | you don't really need to go to class | 17:31 | |
| that's just what they want you to believe | |||
|
17:31
chromatic joined
|
|||
| moritz | unless you happen to be the lecturer, of course ;) | 17:33 | |
| pmichaud | I never found that being the lecturer was a particularly strong reason to go to class. :-P | 17:37 | |
| chromatic | Not if you can find a grad student. | ||
|
17:38
ruoso joined
|
|||
| pmichaud | (At one time I was well known for being "a little late" to my lectures. :-) | 17:38 | |
| I was also often unprepared, although nobody ever caught on to that fact. :-P | |||
| PerlJam | pm: you were "a little late" to my job interview the first time I was hired at CBI :-) | ||
| pmichaud | ...you had a job interview? ;-) | 17:39 | |
| PerlJam | I seem to recall showing up at the appropriate time and no one knew where you were. Then I hung out for the rest of the day bascially and didn't see you until the next day. | 17:40 | |
| pmichaud | I seem to remember something like that happening, yes. Things were a bit hectic back then. | ||
| chromatic | kj, is 113 a prime number? | 17:42 | |
| Wknight8111 | I think it might be, yes | 17:47 | |
| chromatic | It's the initial size of a hash table in pirc. Just curious. | 17:48 | |
| kj | chromatic: dunno, it was a wild guess to be hones. gotta do that when there's no internet (at home) | 17:49 | |
| cotto_work | it's better than a subprime number | 17:50 | |
| kj | chromatic: but I wonder what works better for a hash algorithm: a prime number, or a number which is a power of 2 | ||
| particle | why? the government will bail out subprime hash tables. | ||
| kj | I think imcc does the latter (init at 16) | ||
| chromatic | The theory is that using a prime number of buckets in a hash table reduces the chance of collisions for keys. | ||
| kj | ah, that's what i vaguely remember reading some day. | 17:51 | |
| chromatic | There are no common factors between key values and the number of buckets. | ||
| I saw it in the Kernighan/Pike book. The Practice of Programming? | |||
| Yeah, that's the one. | |||
| particle | i suspect perl 5.8.4's hv to be instructive | ||
| kj | I think I read the Dragon book of compilers about this. Not sure. | ||
| particle | *expect | ||
| PerlJam | chromatic: there should not be any common factors :) | ||
| chromatic | Just 1. | 17:52 | |
| kj | anyway, I'm not even sure a hashtable is really faster | ||
| cotto_work | premature optimization | ||
| purl | premature optimization is, like, the root of all evil or when you make the mistake of optimising for speed when really you should optimise for maintainability and correctness, in the first instance. or unnecessary optimization is premature by definition. or hacking with tequila in preference to wine | ||
| kj | cotto_work: well, not if I want to finish the thing :-) | 17:53 | |
| chromatic | Hmm, changing INITIAL_BUCKETS to 17 in src/hash.c makes miniparrot hang. | ||
| cotto_work | nice\\ | 17:54 | |
| s/\\// | |||
| Tene | moritz: yes, I'm teaching the class | 17:55 | |
| kj: is ncigen supposed to work? I see you listed as a maintainer. | 17:56 | ||
| kj | Tene: i'm not ncigen's maintainer... | ||
| wasn't ncigen a GSoC project? | |||
| Tene | Huh, okay, I'm insane today then. | ||
| kj | where do you see me listed? | ||
| Tene | kj == kjs? | 17:57 | |
| PerlJam | kj: i think it was a gsoc proj. | ||
| kj | yes | ||
| Tene | compilers/ncigen/MAINTAINER | ||
| kj | but someone 's using 'kjs' on this server :-( So I switched to kj | ||
| chromatic | Apparently something wants the number of buckets in a hash to be evenly divisible by 4. | ||
| PerlJam | chromatic: that sounds really wrong | 17:58 | |
| chromatic | It sounds really collidey anyway. | ||
| expand_hash always doubles the size of the hash. | |||
| kj | I wonder what's the break-even point where a hashtable is faster than a linked list... | 17:59 | |
| chromatic | It's average bucket length + amortized time of key creation. | ||
| particle | tewk is the ncigen maintainer | 18:00 | |
| kj | ah. it seems the tewk-kjs confusion strikes again :-) | 18:01 | |
| Tene | kj: eh? | 18:02 | |
| particle | tene: tewk is the ncigen maintainer | 18:03 | |
| pmichaud | SEE!? IT'S NOT JUST ME!! | ||
| :-D | |||
| kj | pmichaud: ha ha :-) | ||
| Tene | Then why is kjs listed in compilers/ncigen/MAINTAINER? | ||
| kj | Tene: well I wish I could claim that credit, but I can't | 18:04 | |
| particle | svn blame | ||
| purl | rumour has it svn blame is just like p4 annotate, only better | ||
| PerlJam | Tene: probably because some confused individual added it. | ||
| particle | bet it was pmichaud | ||
| kj | hehe | ||
| Tene | no, it was tewk | ||
| pmichaud | 30452 tewk N: Klaas-Jan Stol (kjs) | ||
| 30452 tewk E: parrotcode@gmail.com | |||
| Tene | tewk LIES | ||
| PerlJam | He was trying to repel the blame. | ||
| Tene | Looks like I'm posting my report early again. :( | 18:05 | |
| particle | tewk-- # silly programmer | ||
| PerlJam | ah, it's #ps day again. | ||
| kj | well, at *some* point I did work on languages/c a bit | ||
| PerlJam prepares to lurk (assuming the kids and wife let me) | |||
| pmichaud | tewk did something similar in r30493 | 18:06 | |
| r30493 | tewk | 2008-08-23 13:36:47 -0500 (Sat, 23 Aug 2008) | 2 lines | |||
| removed Patrick Michaud as author, shamefull attempt to send all bugs to pmichaud seems to have been discovered. :) | |||
| moritz | lol | 18:07 | |
| Tene | Hah. I'm first again. | ||
| I'm so much cooler than EVERYONE ELSE HERE | |||
| That's obviously what it means. | |||
| moritz | TENE can haz c00nez | 18:08 | |
| Wknight8111 | Yes! Tene caught a channel participation exception! | 18:09 | |
| dalek | r31368 | pmichaud++ | trunk: | ||
| : [rakudo]: spectest-progress.csv update: 167 files, 3434 passing tests | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31368 | |||
| Wknight8111 | it's like a control flow exception, except it actually displaces the user! | ||
| particle | catch that exception magic :P | 18:10 | |
| dalek | r31369 | kjs++ | trunk: | 18:11 | |
| : [ncigen] remove kjs as a maintainer. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31369 | |||
| chromatic | 5 minutes until #ps | 18:26 | |
| pmichaud | btw, I'm getting 26 failed tests in spectest_regression | 18:27 | |
| 6 in S29-str/split-simple.t | |||
| moritz | pmichaud: is your t/spec copy up-to-date? | ||
| pmichaud: I have no failures here | |||
| pmichaud | moritz: it should be. | ||
| I'll run again. | |||
| moritz | sometimes I get failures that disappear when run again | 18:28 | |
| moritz blames the GC | |||
| pmichaud | yes, it appears there were some updates to t/spec since I started my build+test. re-testing. | 18:29 | |
|
18:32
cotto_work joined
18:42
DietCoke joined
|
|||
| DietCoke ~~ | 18:42 | ||
| tewk | Sorry for the confusion, that file came from c99 where kjs is a maintainer I believe. | 18:46 | |
| chromatic | Wknight8111, I sent in a patch ages ago. Let me see if I can find it. | 18:49 | |
| Wknight8111 | a patch for a profiling runcore? | 18:50 | |
| chromatic | Wknight8111, "Profile PIR with Devel::DProf's dprofpp" on 25 March 2008. | ||
| Wknight8111 | okay, let me look at that a little bit | 18:51 | |
| dont know when I would have the tuits to work on such a thing, but i can read up on it | |||
| chromatic | In further research, the Callgrind format is the proper approach. | ||
| Though tracking in/out for sub calls and control flow is tricky in PIR. | |||
| tewk | ~/srcs/parrot/languages/c99/MAINTAINER | ||
| 25984 kjs N: Klaas-Jan Stol (kjs) | 18:52 | ||
| 25984 kjs E: parrotcode@gmail.com | |||
| pmichaud | no failures in latest spectest regression -- thanks. | ||
| Wknight8111 | chromatic, where is that patch at? RT? | 18:54 | |
| chromatic | Just on the mailing list. | ||
| Wknight8111 | oh, okay | ||
| thanks | 18:55 | ||
| chromatic | If you can't find it, I'll nopaste it or upload it. | ||
| Wknight8111 | I'll find it, I'll dig around tonight | 18:56 | |
| cognominal | pmichaud, does your proposal allow for an eval that is not a closure? That's what we want for a interactive rakudo and what does pugs. | ||
|
18:57
baest joined
18:59
cotto_work joined
|
|||
| tewk | NotFound: I'm building it right now to find out how it handles Xlib.h | 19:02 | |
| DietCoke | win 3 | 19:03 | |
| moritz | (cross-post with the list) is there a PIR function that lets me find a multi sub by name, and that later does dispatch based on the types of the arguments? | 19:05 | |
| chromatic | Provided there's only one MultiSub PMC in a namespace under a name, yes. | 19:06 | |
| At least, until the MMD branch merges back in, in which case I'm not sure. | |||
| Wknight8111 | Allison claims the MMD branch is merging in soon, like tonight if she has time | 19:07 | |
| The work I was doing on the PCCINVOKE stuff is on hold for now until we create a new branch specifically for calling convetion stuff | |||
| moritz | chromatic: how? | ||
| chromatic | find_global $Px, "name" | 19:08 | |
|
19:08
rurban_away joined
|
|||
| DietCoke wonders if there's a find_hll_global variant. | 19:10 | ||
| moritz | that seems to do it, thanks | ||
| chromatic++ | |||
| DietCoke hopes we go through and make the opnames consistant before 1.0 | |||
|
19:11
Tene joined
|
|||
| moritz | there's get_hll_global | 19:11 | |
| Tene | chromatic: have you recieved dmknopp's CLA yet? | ||
| chromatic | Not yet. | 19:12 | |
| Tene | Huh. | ||
| Okay, thanks. | |||
| chromatic | Someone will probably check today or tomorrow. | ||
| NotFound | Snail mail: www.boredomresearch.net/rsm/ | 19:13 | |
|
19:13
johbar joined
|
|||
| Tene | jhorwitz: Is three a ticket describing what you need with interpolated namespaces in rakudo? | 19:15 | |
| jhorwitz | probably | ||
| jhorwitz rummages around | |||
| moritz | isn't there even a patch in RT? | ||
| jhorwitz | i believe i posted the patch from mod_parrot as a starting point | 19:16 | |
| can't find the ticket in my inbox | 19:17 | ||
| jhorwitz wonders if he posted just to the list... | |||
| chromatic | Hm, not all tests on the MMD branch pass for me yet. | ||
| Pheme works though. | |||
| moritz | I have some failures, and even 'make tests' in rakudo fails | ||
| jhorwitz | Tene: #56700 | 19:18 | |
| chromatic | Rakudo mostly passes for me. | ||
| jhorwitz | Tene: i'm sure pmichaud has many thoughts on how to implement it | ||
| particle | tias? | 19:19 | |
| purl | tias is Try It And See! or turnips in a sack | ||
| NotFound | tias is also 'girls' in spanish slang | 19:23 | |
| purl | okay, NotFound. | ||
|
19:24
DietCoke left
|
|||
| chromatic | "Girls" and not "Aunts"? | 19:25 | |
| NotFound | chromatic: we are all crazy in Spain. | 19:26 | |
| chromatic | Apparently; yo soy tio chromatic! | ||
| NotFound | chromatic: real meaning is aunt, but "tia buena" means "a nice girl", for example. | 19:27 | |
| moritz | nice aunt - my girlfriend would kill me for that name ;) | 19:28 | |
| (although she has two nephews) | |||
| baaaah, multis are driving me mad | 19:29 | ||
| chromatic | tu novia? | ||
| NotFound | This is Spain's jargon, not exported to the other side of the ocean. | 19:32 | |
| chromatic | Then my modest preschool Spanish is no help! | ||
| cotto_work | um... no comprendo | 19:33 | |
|
19:34
Zaba joined
|
|||
| NotFound | cotto_work: don't worry, many spanish natives also doen't understand mr. | 19:37 | |
| s/mr/me | |||
| tewk | NotFound: unsigned max_request_size; is valid C, I need to fix the parser to recognize unsigned all by itself. | 19:44 | |
| This is another area where longest token matching would have prevented this bug. | 19:46 | ||
| Tene | tewk: a while back I heard someone say that ncigen was very complete, but it's failed on every header I've tried to feed it. | 19:49 | |
| Am I mistaken or am I doing it wrong? | |||
| NotFound | Where are the problems, in ncigen itself or in c99? | 19:50 | |
| tewk | Parsing C is difficult, I followed the C99 grammar, but have had to make modifications for it to work with PGE. | 19:52 | |
| NotFound | And parsing libraries that use a lot of compilers predefined symbols is even worse. | 19:53 | |
| headers of libraries, I mean. | |||
| tewk | I had to modify rule builtin_type to force longest token matching, but whenever you modify a grammar you usually change its meaning, and I did in this case also. | ||
| I use GCC to preprocess, so preprocessing is handled for me. The parser actually parses quite a bit of GNC specific extensions. | 19:54 | ||
| Most sane C programmers would use "unsigned int max_request_size;", but X is a very old code base so somewhere along it history someone used "unsigned max_request_size;" | 19:56 | ||
| NotFound | That can be problematic by himself, gcc soemtimes converts common macros to gcc specific symbols. | ||
| tewk | You have to scope your work, I wanted to do ncigen in a summer, you can write a gcc compatible preprocessor, parser, and have a life in one summer. | 19:58 | |
| chromatic | I don't think we promised you a life. | ||
| moritz | lol | ||
| tewk | NotFound: what do you mean by gcc specific symbols? | 19:59 | |
| s/can/can't/ | |||
| cotto_work | I was about to be really impressed. | ||
| tewk | Maybe pmichaud could give me some tips on compilers/ncigen/src/parser/grammar.pg:builtin_type | 20:02 | |
| Note "int unsigned myint;" is also valid C | |||
| pmichaud | find_global is deprecated, btw. | ||
| tewk | I've been using llvm to do some simple static analysis, its so nice when someone else writes the preprocessor, parser, and ast generation for you. | 20:04 | |
| Tene: ncigen will parse sqlite3.h and postgres' spi.h | |||
|
20:05
NotFound joined
|
|||
| Tene | tewk: Okay. Thanks. | 20:06 | |
| tewk: Also, we need to hang out and hack sometime. You live pretty close to me, iirc. | 20:07 | ||
| pmichaud | what's the question on builtin_type ? | 20:09 | |
| tewk | I'm about to just enumerate all the possible combinations of signed, unsigned, int, long, etc. | 20:10 | |
| pmichaud: There has got to be a better way, but I though you had told me that it would require longest token matching. | 20:11 | ||
| NotFound | Don't forget long int | ||
| pmichaud | where can I find the original c99 grammar? | 20:12 | |
| Tene | <[signed unsigned int long]>+ | ||
| ;) | |||
| tewk | taken from n869.pdf | ||
| google for n869.pdf | |||
| std.dkuug.dk/JTC1/SC22/WG14/www/doc...869.pdf.gz | |||
| cotto_work | long long unsigned int long signed? | 20:13 | |
| tewk | documented at the top of grammar.pg | ||
| NotFound | signedness must be before main type, if I remember well. | ||
| moritz | Tene's regex would even match a single space ;) | 20:14 | |
| tewk | I originally implemented the grammar from the spec, but it would match just unsigned and return. | ||
| I though I new c pretty well before I started to parse it, well I've learned a lot. | 20:16 | ||
| pmichaud | the essential idea is | 20:18 | |
| rule declaration_specifiers { [ <storage_class_specifier> | <type_specifier> | <type_qualifier> | <function_specifier> ]+ } | 20:19 | ||
| dalek | r31370 | julianalbo++ | trunk: | ||
| : applied patches from RT#56468, bacek++ | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31370 | |||
| pmichaud | token type_specifier { 'void' | 'char' | 'short' | 'int' | 'long' | 'float' | 'double' | 'signed' | 'unsigned' | '_Bool' | '_Complex' | '_Imaginary' } | 20:20 | |
| tewk | pmichaud: I'll give it a try. | 20:25 | |
|
20:30
clunker3__ joined
20:33
cjfields joined
20:34
cjfields_ joined
|
|||
| tewk | pmichaud: do hyperoperators and junctions work in rakudo, I've got to give a lecture in a parallel programming class and I'd like to show them some perl6 stuff | 20:36 | |
| I need some interesting demos. | 20:37 | ||
| moritz | tewk: Junctions do basically work | ||
| rakudo: if 2 == any(1, 2, 3) { say "yes" } else { say "no" } | |||
| pmichaud | hyperoperators don't work, no. | ||
| moritz | pugs implements them a bit better | 20:38 | |
|
20:38
cotto_work joined
|
|||
| pmichaud | for that we need some parsing support. | 20:38 | |
| tewk | Cool I'll use pugs for hyperoperators then, but I'll see what I can show with rakudo | ||
| moritz | no polyglotbot? | ||
| pmichaud | junctions "work" by cheating -- we don't really use autothreading dispatch yet. | ||
| so they really only work for some of the relational ops. | 20:39 | ||
| tewk | I just want to show the language constructs | ||
| NotFound | tewk: show them pirric, will be nice to hear some ideas about using retro basic for parallel programming ;) | ||
| moritz slaps NotFound ;) | |||
| tewk | pirric? | ||
| NotFound | tewk: examples/pir/pirric.pir | 20:40 | |
| tewk | We need QBasic emulation so I can pull out my old menu launchers | 20:41 | |
| NotFound | tewk: this is more retro than qbasic. | ||
| purl: pirric is PIR Retro basIC | 20:45 | ||
| purl | OK, NotFound. | ||
| cjfields | pmichaud: I have an additional patch for .trans which I plan on posting to RT. However I have a quick question: | 20:59 | |
| According to S05, the argument to .trans should be a List of Pairs. So, should it accept a Hash (a bit more DWIM'my)? Or should it be '$str.trans(%hash.pairs)' | |||
| I can adapt it for either case. | 21:01 | ||
| moritz | afaict a hash is different from a list of pairs | 21:03 | |
| (although pugs things that Hash isa List) | |||
| that's why the first example in S05 uses %mapping.pairs, I guess | 21:04 | ||
| dalek | r31371 | julianalbo++ | trunk: | 21:05 | |
| : add MID$ function to pirric | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31371 | |||
| cjfields | yes, that's why I was hesitant about using a Hash (particularly when the spec is using %mapping.pairs.sort) | 21:06 | |
| moritz | it seems that .trans is much more generan than .subst | 21:08 | |
| except that .trans always does global replacement | 21:09 | ||
| cjfields | Like .subst in parallel | ||
| (all changes made at once) | |||
| moritz | .subst doesn't support constant strings, iirc | 21:10 | |
| Method 'shift' not found for invocant of class 'Sub' | |||
| oops | |||
| ./rakudo -e 'my $x = "a0b0c0d0"; my $c = 0; $x.trans(/\\d/ => { ++$c }); say $x' | |||
| that's what produces the above error message | |||
| ah, it seems you don't do closures as RHS yet | 21:11 | ||
| cjfields | not yet, but getting there. | ||
| moritz | and neither regexes on the LHS | ||
| well, it's a start ;) | |||
| I think that .trans is a real beast to implement, and get right | 21:12 | ||
| cjfields | I can probably add a 'not implemented' exception | ||
| moritz thinks about writing some more tests | |||
| cjfields | BTW, have you tried to check the type for Pair key/values? It | 21:13 | |
| 's illuminating... | |||
|
21:14
clunker3__ joined
|
|||
| moritz | the value's type seems to be preserved | 21:14 | |
| why? | |||
| cjfields | unfortunately I'm not sure | ||
| moritz | any examples? | 21:15 | |
| cjfields | perl6: my %x=(('a' => 1, 'b' => 2), 'c' => { say 'foo'}, /\\d/ => 3); for %x.pairs -> $y {say $y.WHAT; say $y.key.WHAT; say $y.value.WHAT; say} | 21:17 | |
| I think I broke it | |||
| moritz | what did you break? | 21:20 | |
| I can't see what's wrong... | |||
| the coercion to Hash casts all keys to Str | 21:21 | ||
| that's why you get Str\\nInt\\n in the last case, not Block\\nInt\\n | |||
| > say (/a/ => 1).key.WHAT | |||
| Block | |||
| cjfields | Hmm.... | ||
| pmichaud | cjfields: .trans should accept a list (or a slurpy list) | 21:25 | |
| it shouldn't do anything special with hash -- in fact, it would never actually see a hash | 21:26 | ||
| a hash in list context becomes a list of Pairs | |||
| cotto_work | shiny. the mmd branch is only failing 4 tests (and passing one todo'd) now | 21:27 | |
| moritz | pmichaud: maybe you sohuld turn our last discussion into a ticket... | ||
| pmichaud | moritz: for FixedPMCArray and MultiSub? | ||
| moritz | pmichaud: I guess so, yes | ||
| pmichaud | yes, it's definitely a "deep Parrot" issue. | 21:28 | |
| I'll turn my example PIR code into a ticket. | |||
| cjfields trying not to make a bad joke about 'deep Parrot' | 21:29 | ||
| I can fake the list context for a hash (just check type and directly convert to a List of Pairs) | 21:31 | ||
| pmichaud | moritz: done. | ||
| moritz | pmichaud: good. | 21:32 | |
| pmichaud | cjfields: yes, you can go ahead and do that for now -- but I hope to have list context fixed in the next day or so. | ||
| dalek | r31372 | julianalbo++ | trunk: | ||
| : pirric: store variables in Runner object, instead of making them globals | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31372 | |||
| cjfields | ok. will post a patch to RT soonish. | 21:33 | |
| Tene | Is that anything like a 'deep crow'? | 21:36 | |
| moritz | Tene: you seem to be the Perl 6 exception guy... how close are we to last,next,redo control exceptions? | 21:37 | |
| NotFound | (bad jokes)++ | ||
| moritz | indeed | ||
| Tene | Those aren't covered by what I'm doing right now, but... | 21:38 | |
| Looks like PCT needs to add support for them. | |||
| As far as I know, they're not actually blocking on anything. | 21:39 | ||
| Want me to look into that tonight? | |||
| pmichaud | just time for me, and that someone indicate it's a big priority. :-) | 21:40 | |
| Tene | s/anything/anything parrot-related/ | ||
| pmichaud: Just need appropriate handlers generated by the PAST nodes, right? | |||
| moritz | I can't say it's big priority, but it might real-world usage a lot | ||
| chromatic | seen tetragon? | 21:42 | |
| purl | tetragon was last seen on purl 22 hours, 19 minutes and 52 seconds ago, saying: <private message> | ||
| chromatic | Might be nice to fix some of her segfaults too. | 21:43 | |
| pmichaud | Tene: for simple next/last/redo, perhaps. | 21:44 | |
| however, the exceptions also need to be able to carry an indication of *which* loop they're manipulating -- e.g., for "next LABEL" | |||
| Tene | LABEL is a label on a loop, right? | 21:45 | |
| pmichaud | yes | 21:46 | |
| Tene | That shouldn't be too bad. | ||
| pmichaud | possibly not. | ||
| Tene | Is that syntax parsed right now? | ||
| pmichaud | I don't think it is in Rakudo. | ||
| anyway, if you want to give next,last,redo a shot, I'd be glad to review a patch :-) | |||
| I'd be even more interested in having PCT use the new exception types filter, if you haven't done that already. | 21:47 | ||
| I don't know if that was part of the branch you merged | |||
| also, the implementation of if/unless/while/until/etc. nodes needs to change a bit, so that we can pass the condition as an argument to the execution bodies | 21:49 | ||
| so that might affect while/until somewhat. | |||
| I was kinda hoping to get lexicals solved first before investing too much code into that. | |||
| Tene | pmichaud: filter isn't merged. waiting on review from allison. | 21:50 | |
| svn.perl.org/parrot/branches/except...nhandler.t | |||
| pmichaud | okay. | ||
| oops, time for dinner here -- bbl | 21:51 | ||
| Tene | moritz: if you can give me an example of next/while/redo with labels and such, I'll work on it tonight. | ||
| moritz | Tene: t/spec/S04-statements/{last,redo,next}.t | 21:53 | |
| Tene | Oh, clever. | ||
| I'm not all here. Trying to pay attention to students for another hour. | |||
| moritz | laziness++ | ||
| bacek | morning everyone. | 21:55 | |
| moritz | good evening ;) | ||
| bacek | moritz: :) | ||
| dalek | r31373 | julianalbo++ | trunk: | 22:01 | |
| : add missing --without-... options to Configure --help output | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31373 | |||
|
22:21
hercynium joined
22:52
xiaoyafeng_ joined
|
|||
| dalek | r31374 | moritz++ | trunk: | 23:05 | |
| : [rakudo] 5 more test files for spectest_regression | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31374 | |||
| r31375 | coke++ | trunk: | 23:10 | ||
| : [tcl] provide a simple version of [namespace import] | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31375 | |||
| r31376 | moritz++ | trunk: | 23:18 | ||
| : [rakudo] three more tests for spectest_regression | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=31376 | |||
|
23:21
slightlyoff joined
23:24
slightlyoff joined
23:25
slightlyoff left
23:29
tetragon joined
23:42
Theory joined
|
|||