Parrot 4.4.0 "Banana Fanna Fo Ferret" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 12 June 2012.
01:14 seiferteric joined 01:28 kid51 joined 01:30 seiferteric left 02:31 bacek_at_work joined 03:32 benabik joined
Coke if github.com/parrot/parrot/wiki/Languages is more current than the page on parrot.org, please kill the old page, or put in a redirect to the new one. 03:33
(also, it should link to all the languages under github.com/parrot 03:34
(pheme is missing)
dukeleto that page should just link to github.com/parrot . nobody is going to update that information 03:59
04:56 kuku joined
dalek rrot: b11c4d8 | alvis++ | tools/release/parrot_github_release.pl:
Minor edit. Just added a newline to the '<li>...</li>' output of 'releases.html' in preparation of tomorrow's release.
05:28
sorear bacek_at_work !!! 06:56
07:06 brrt joined 08:03 kjs joined 08:57 lucian joined
dalek : 0e6c36b | kjs++ | / (3 files):
fix size problem. debugging aray and structs test.
09:21
: d91591e | kjs++ | src/decl.c:
fix PMC test.
09:22
: 7d8696d | kjs++ | src/ (4 files):
add line number information to pmc and structs. fix size for pmcs
09:40
kudo/no-strict: a9401fb | moritz++ | src/Perl6/Grammar.pm:
parse "no strict"
10:26
kjs make
woops
dalek : c8cacd6 | kjs++ | / (3 files):
improve naming. fix size of struct members that are arrays.
10:58
11:39 JimmyZ joined 12:09 brrt joined
dalek kudo/no-strict: 27b55b5 | moritz++ | src/Perl6/Grammar.pm:
remove arglist parsing for now; it does not work
12:21
kudo/nom: d4c8e6d | moritz++ | src/core/ (2 files):
more exception typos

caught by Nick Glencross
12:45
12:47 rich joined 12:56 PacoAir joined 13:10 Psyche^ joined 13:35 preflex_ joined, wagle_ joined 13:36 Timbus|Away joined 13:37 smash_ joined 13:38 alvis_ joined 13:41 _sri joined 13:43 Infinoid joined 13:44 awwaiid joined 13:45 moritz joined 13:46 slavorg joined 13:50 rich joined, jlaire joined, tadzik joined 13:53 PerlJam joined, cxreg joined 13:57 pmichaud joined, dalek joined 14:05 PerlJam joined 14:13 slavorg joined 14:26 smash joined
smash hello everyone 14:27
moritz \\o smash
brrt hello 14:31
moritz brrt o/ 14:34
brrt moritz: you graduated? or something, there was a ceremony and i could not find what for 14:35
but i understand it was cause for celebration, so congrats :-)
moritz brrt: my daughter's baptism and our church marriage (the legal one was two years ago)
brrt: thanks
smash moritz: congrats 14:36
moritz smash: thanks 14:37
PerlJam moritz: did you have a second honeymoon to go with the second wedding?
moritz PerlJam: not yet. we'll see if we can afford one :-)
PerlJam moritz: my wife and I sorta had a second honeymoon when we did the church wedding thing. I got some twins out of the deal :) 14:38
moritz PerlJam: :-)
brrt ah, that is cause for celebration 14:43
15:00 contingencyplan joined
JimmyZ release day? 15:04
15:10 eseifert joined 15:25 dmalcolm joined 16:14 jashwanth joined 16:21 whiteknight joined
dalek rrot: 522f928 | alvis++ | / (10 files):
Release 4.5.0 - Buff-faced Pygmy Parrot (in honor of M0).
16:30
whiteknight good afternoon, #parrot 16:34
alvis++
16:53 tuxit joined 17:21 davidfetter joined
cotto ~~ 17:47
alvis++
18:01 rich joined 18:27 kuku joined 18:30 darbelo joined
cotto dukeleto, reping 18:58
19:05 rich joined
cotto #ps in 15 19:15
rurban alvis++ 19:27
alvis whiteknight, NotFound: what do you/y'all use to log to #ps? 20:02
whiteknight not us. There's a bot that does it
alvis whiteknight: Ok, what bot? A pointer to it please. 20:03
whiteknight maybe?
moritz might know
alvis I'll check it out. Thanks. 20:04
moritz logs it, yes
sorear yes, it is ilbot2 , run by moritz
20:04 PacoAir joined
moritz code at github.com/moritz/ilbot/ 20:04
slavorg: trust whiteknight 20:05
slavorg But I already trust whiteknight
alvis moritz++
alvis back to the rest of the release 20:06
Coke slavorg: trust noone 20:07
slavorg But I already trust noone
20:20 brrt joined
brrt hey, i was late for #ps 20:25
whiteknight brrt: it's okay
brrt thanks, but i rather wanted to be there :-) 20:26
is it of interest if i report my work here now
?
moritz please do
brrt will do 20:27
this week, I have:
NotFound Do it at #ps too, so it gets logged there.
brrt oh, i will repeat it then there
whiteknight I am heading home now. I'll read it later tonight 20:28
brrt I have reshuffled a whole bunch of code
jashwanth dukeleto, hello
brrt specifically I moved IO setup from the API layer to the winxed layer
that works really well, reduced code size a lot which i like
I'm using NCI heavily now, its reliable 20:29
davidfetter just misread that as "winxed *player*" :P 20:30
brrt I have been somewhat lousy with writing tests, mostly because I feel so little is working now
and mostly because I do a lot within the gdb debugger as I'm not quite out of segfault-area yet
what I'm working on right now: 20:31
getting headers and request parameters into the PIR layer
writing out headers to the apache layer 20:32
(the latter of which is tricky)
what is coming:
unify the script-loading parts into its own interface 20:33
write different 'loaders' for PSGI, CGI, inline (based on NotFound++'s hinxed)
EOR
as a sidenote... the distinction between VTABLE and METHOD is sometimes confusing me 20:34
moritz brrt: why is writing out headers to apache more tricky than getting them?
brrt because getting them involves iterating over an apr-specific array structure with key-value components and inserting them into a hash 20:35
with some modifications
Parrot_api_pmc_set_keyed_string(Parrot_PMC interp, Parrot_PMC hash, ParrotString key, Parrot_PMC) does nicely for this 20:36
i.e. I have this struct and APR gives me the tools to iterate on it, and Parrot gives me the tools to insert it into a hash 20:37
I can then just pass it to parrot as either an argument to a sub or a return value 20:38
moritz ok, and iterating over parrot hashes is more difficult for you?
brrt yes, there is no API for this as far as I know
moritz (I've never done it through the C API, so cannot comment)
brrt there is an internal api to iterate over parrot hashes, but I cannot use that; the headers get all mixed up 20:39
as an aside, I cannot (trivially) get the Parrot_Hash from a Parrot_PMC 20:40
moritz in nqp, I'd write my $iter := pir::iter__PP(%thathash); while $iter { my $key := pir::shift__PP($iter); my $value := %thathash{$key} }
and the first op just calls the VTABLE_get_iter 20:41
and VTABLES are exposed to the C API, aren't they?
brrt in winxed, it is literally javascript-style 'for(var k in hash) {}' 20:42
no, vtables are not exposed to the api
moritz eeks
brrt is going to check that statement
sorear brrt: perhaps the API is not for you. 20:43
moritz things would be so much easier if you could use the embed API
sorear brrt: the API is for people who want to be maximally insulated from parrot guts
NotFound Maybe it will be easier to iterate in winxed and add to the apache struct via NCI?
brrt NotFound: good point, that is in fact easier 20:44
Coke hinxed sounds... hinky. ;)
NotFound brrt: then do it that way, we can worry about eficiency later. 20:45
brrt the strategy I'm exploring right now, is to concatenate the headers in winxed (create a giant string) and then seperate them into key-values in C
moritz that sounds painful
brrt that... is limitedly painful
moritz because you need to escape and then unescape the delimiter
brrt actually, the delimiter is invalid in both the key and the value... so that why I thought I could get away with it 20:46
but I'm now realising that wide chars may mess that up
ah well
i like not worrying about efficiency 20:47
NotFound Insert usual rants about premature optimization here ;) 20:48
brrt true enough 20:49
sorear brrt: I'm a fan of chr(length($str)) . $str, or however you write that in winxed. Works best with wide chars
brrt also, who do we have to beat? ruby on rails?
sorear: oooh, that could work well as well 20:50
although I think length($str) had better be < 256
NotFound The chr op is troublesome it you want to use a string as stream of bytes, it gives different encodings depending on the char. 20:53
The winxed builtin transcode it to utf8.
brrt ... I might be wrong but I understand the idiom as prefixing the string length to the string (which can then be pushed to a C function) 20:56
so in that case when length($str) > 256, chr(length($str)) will prefix a wide char 20:57
but the C layer must know this and read it as a (utf8) wide char 20:58
NotFound brrt: if the code is > 127 the winxed builtin will conver it to a two-byte utf8. 21:00
So you may need to use the pir op instead.
brrt what I do now is direct-assign a ByteBuffer and pass its pointer alongside its length 21:01
NotFound winxed -e 'say(bytelength(chr(128)));' --> gives 2
127 --> gives 1 21:02
brrt thats the correct behavior, I think
and I import things binary-wise, but I might need to do something more intelligent 21:03
prefereably based on the content-type header
NotFound winxed -e 'string s; ${ chr s, 128 }; say(bytelength(s));' --> gives 1
sorear is it possible to do anything like pack("N",length(s)) from parrot/winxed?
NotFound brrt: correctness is in the eye of the beholder. 21:04
brrt true words
sorear: ByteBuffer can push strings and integers, i believe
NotFound No, you must iterate over the string and push bytes, 21:05
You can assign a string, but not push one after previous content. 21:06
sorear: 'N' as big-endian order? 21:08
sorear NotFound: yes 21:09
NotFound sorear: you must encode it yourself. Something lile: bb.push((n >> 24) & 0xFF); bb.push((n >> 16) & 0xFF); bb.push((n >> 8) & 0xFF); bb.push(n & 0xFF); 21:12
We can add methods to ByteBuffer if it will be convenient. 21:13
21:21 perlite joined 21:27 brambles joined
dalek d_parrot: 3ca8758 | (Bart Wiegmans)++ | / (5 files):
Add header output writing. Which is pretty nice
21:36
brrt also NotFound++ for suggesting I ignore efficiency
and now, i leave :-) & 21:37
21:37 brrt left
alvis /topic #parrot Parrot 4.5.0 "Buff-faced Pygmy Parrot" | 21:53
parrot.org/ | Log: irclog.perlgeek.de/parrot |
#parrotsketch meeting Tuesday 19:30 UTC
<alvis> /topic #parrot Parrot 4.5.0 "Buff-faced Pygmy Parrot" | [16:52] 21:56
<alvis> parrot.org/ | Log:
irclog.perlgeek.de/parrot |
<alvis> #parrotsketch meeting Tuesday 19:30 UTC
#parrot> Oops! Sorry, I thumbed that. <sighs; shakes head>
22:22 whiteknight joined
alvis I'm gonna try one ... more ... time. 22:25
moderator Parrot 4.5.0 "Buff-faced Pygmy Parrot" | parrot.org/ | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC 22:26
alvis yay! 22:26
whiteknight good evening, #parrot 22:31
dalek : a49f68a | kjs++ | / (3 files):
add a test. fix >>= and <<= operators; they were swapped. add a bit of comments.
22:32
: eabe3fe | kjs++ | src/ (9 files):
Change "m1_decl" into "m1_type".
: 1b939d0 | kjs++ | / (5 files):
various updates and fixes and cleanups.
: 9765d3a | kjs++ | src/semcheck.c:
Updates to type checker.
22:33 kjs joined
alvis cotto: what do you think of dukeleto's suggestion on parrot-dev of either (1) pulling down parrotblog.org or (2) alternatively, having it redirect to parrot.org? 22:45
cotto alvis, that'd make the world a little less confusing 22:50
22:53 alvis_ joined, alvis_ left 22:54 alvis_ joined 22:56 alvis left
Coke there's a very old ticket about that. 23:47
If we don't want to keep the domain anymore, fine, but I think the easiest thing is to make parrotblog.org an alias for parrot.org 23:48
(and have a nice 404 on parrot.org)
more complicated would be to fix all the old URLs. 23:49