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 15 May 2012.
kjs cotto: if this mini VM supports the PCC, does that mean that m1 would support that natively? (e.g., named, slurpy, parameters etc?) 00:04
00:06 kid51 joined 00:50 benabik joined
dalek rrot: 4fd7560 | Whiteknight++ | / (4 files):
Remove vtable can from most places where it's used. Fix a test in namespace.t which is (perhaps unintelligently) using hard-coded vtable indices
01:05
rrot: 34b729c | Whiteknight++ | / (3 files):
Remove two VTABLE can implementations, and fix a test in extend_vtable.t
rrot: 95c9a63 | Whiteknight++ | / (7 files):
Merge branch 'whiteknight/gh_675'
cotto ~~
whiteknight hello cotto 01:07
aloha (parrot/parrot) Issues closed : 675 (Deprecate VTABLE_can) by Whiteknight : github.com/parrot/parrot/issues/675 01:08
dalek rrot: d27a655 | Whiteknight++ | compilers/imcc/imc (5 files):
Remove .file, .line, setfile and setline directives from the IMCC parser. These mechanisms are to be replaced by the newer and more flexible .annotate directive.
01:10
rrot: e95a8c1 | Whiteknight++ | t/compilers/imcc/syn/clash.t:
Remove some tests for setfile/setline, the only instances of any of these directives in coretest
rrot: 5bdacd5 | Whiteknight++ | t/dynoplibs/debug.t:
Remove setfile/setline in t/dynoplibs/debug.t, the only remaining instances in make test
rrot: 0083dc2 | Whiteknight++ | / (7 files):
Merge branch 'whiteknight/imcc_file_line'
aloha (parrot/parrot) Issues closed : 519 (Deprecate .file, .line, setline, and setfile) by Whiteknight : github.com/parrot/parrot/issues/519 01:13
cotto hi whiteknight 01:18
whiteknight hello cotto
dalek rrot: d22efea | Whiteknight++ | frontend/parrot2/main.c:
Remove un-wired arguments --optimize (-O), --imcc-debug (-d) and --verbose (-v). IMCC no longer optimizes, and the other arguments don't really have a home in the new IMCC external API.
01:27
rrot: a6158f7 | Whiteknight++ | frontend/parrot2/main.c:
Merge branch 'whiteknight/remove_cmd_opts'
01:28
whiteknight ok, I'm out for the night. 01:31
aloha (parrot/parrot) Issues closed : 708 (-d/--imcc-debug does nothing) by Benabik : github.com/parrot/parrot/issues/708, 760 (threads branch fails to build on Windows) by gerdr : github.com/parrot/parrot/issues/760 01:33
01:40 travis-ci joined
travis-ci [travis-ci] parrot/parrot#364 (master - a6158f7 : Whiteknight): The build was broken. 01:40
[travis-ci] Change view : github.com/parrot/parrot/compare/0......a6158f7
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/1351716
01:40 travis-ci left
nbrown cotto: I had a little time to work on cm0-debugger. I added a backend to support scripting. Now I just need to wire it up to an ARGV option 03:01
cotto nice 03:10
03:12 nbrown joined
nbrown yeah, I thought if I was gonna do real work on this, the first thing I should do is make it possible to write tests for it 03:13
my one big issue, is how to pass the debugger state struct around cm0 03:15
I think that needs some real thought, but right now I'm temporarily working around it but trying to prevent rework later 03:17
cotto I'm not sure I understand the difficulty. What'd be tricky about having a debugger struct that gets passed around? 03:31
apart from having to modify it when you want to add things to the debugger
nbrown it just becomes more invasive in the standard cm0 startup and runloop flow. I was trying to touch it as little as possible 03:52
anyway, it's time for bed. I'll talk to you later 03:53
cotto ok. I'll be thinking about that too.
dalek rrot: 5e407c3 | bacek++ | / (3 files):
Add handling of Op.deprecated flag
04:01
rrot: 3cbfc12 | bacek++ | t/compilers/imcc/syn/tail.t:
Fix build.
bacek_at_work oops
first commit shouldn't be there...
04:11 travis-ci joined
travis-ci [travis-ci] parrot/parrot#365 (master - 3cbfc12 : Vasily Chekalkin): The build was fixed. 04:11
[travis-ci] Change view : github.com/parrot/parrot/compare/a......3cbfc12
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/1352701
04:11 travis-ci left 05:49 jevin_ joined 05:50 cosimo joined, mj41 joined 05:54 masak joined, simcop2387 joined, Maddingue joined 05:59 fperrad joined 06:43 alin joined
dalek rrot: b6bf583 | fperrad++ | / (3 files):
[distutils] efactor with opcode rindex
06:52
07:02 jkitazawa joined 07:04 dalek joined 07:30 alin joined 07:57 alvis joined
alvis msg whiteknight I went ahead and took care of the docs for parrot.github.com 07:58
aloha OK. I'll deliver the message.
08:24 lucian joined 08:42 schmooster joined 09:11 alin joined 09:26 kjs joined
dalek kudo/method-not-found: 47497c4 | moritz++ | src/core/Exception.pm:
fix control exception catcher
09:31
10:28 crab2313 joined 11:11 JimmyZ joined 11:30 JimmyZ joined 11:32 benabik joined 11:50 JimmyZ joined 11:55 JimmyZ joined 11:58 brrt joined 12:03 bluescreen joined 12:05 JimmyZ joined 12:07 lucian joined 12:10 bluescreen_ joined 12:15 benabik joined
benabik ~~ 12:16
tadzik hi benabik
benabik 'lo tadzik, what's happening?
tadzik Rakudo release! \\o/ 12:17
as soon as I get back from $work 12:18
dalek p: 67c15eb | pmichaud++ | t/qregex/rx_captures:
Add some tests for RT #107254.
12:24
p: 799f465 | pmichaud++ | src/ (2 files):
Revert 87bb1c to re-implement ratchet/capture semantics in regex_commit.
p: 6f6555f | pmichaud++ | src/ops/nqp.ops:
Documentation fix.
p: 485d4f2 | pmichaud++ | src/ (2 files):
Convert QAST::Compiler.regex_commit to use opcode form.
p: 215243f | pmichaud++ | src/ops/nqp.ops:
Update nqp_rxcommit to preserve captures at point of commit.
12:27 bluescreen__ joined 12:28 bluescreen joined 12:33 whiteknight joined
whiteknight good morning, #parrot 12:34
alvis++ # beat me to the docs update! 12:35
dalek kudo/nom: d438760 | pmichaud++ | tools/build/NQP_REVISION:
Bump NQP_REVISION to get regex fixes for RT #107254.
12:50
12:57 PacoAir joined 13:06 JimmyZ joined, Psyche^ joined 13:07 mtk joined
brrt whose method is say? 13:13
oh wait 13:14
say is an opcode
13:18 atrodo joined 13:19 JimmyZ_ joined 13:20 isBEKaml joined
isBEKaml ~.~, #parrot! 13:21
tadzik isBEKaml: o/
isBEKaml tadzik: here too? :)
tadzik sure :)
I'm a man of many channels 13:22
isBEKaml tadzik: try telling to the ubiquitous television! :P
*that
13:22 fperrad joined
tadzik hah, ironically, I have many television channels, but not a television machine :) 13:23
whiteknight good morning isBEKaml. I'm probably going to try to get your pull request merged tonight
isBEKaml: it's a fix that will allow me to fix other problems elsewhere :)
isBEKaml whiteknight: hey, I was just about to get on that. :) I was thinking of adding that CPU_TYPE thing cotto++ mentioned. 13:24
whiteknight: Like I said in the comments there, it was a miss in sysinfo too.
whiteknight: other problems disappear out of this? Oh, great! \\o/ 13:25
whiteknight isBEKaml: I'm working on a random number generator which can't really work correctly if I don't know what INT_MAX and INT_MIN are on the platform
isBEKaml whiteknight: ah, good to know this patch is useful, in some form, if not fixing other problems. :) 13:27
whiteknight yes, I think I will find it immediately useful
isBEKaml whiteknight++ 13:30
brrt what would be a good PMC for string => string hash table 13:33
whiteknight brrt: what do you mean? You just need a string->string map? 13:34
brrt yes, for the psgi 'enviroment'
oh wait
benabik An ordinary Hash should do that just fine, although you'll technically have String PMCs instead of just strings.
whiteknight github.com/Whiteknight/Rosella/blo...winxed#L19
brrt not string=>string, string=>anything 13:35
whiteknight Yeah a Hash does it fine, you just have to flag it as having string data
a "normal" hash is a string->PMC map. You can change the datatype of the key and the values though to whatever you want
brrt i see 13:36
i was looking into implementing psgi in winxed
whiteknight brrt: Awesome. If you see anything in Rosella that can help you you're welcome to either link to Rosella or steal the code wholesale 13:37
brrt :-) will do
whiteknight Rosella intends to be something of an insulation layer, so if Parrot changes something internally, the Rosella interface should stay stable 13:39
brrt i see, i just thought it was a few libraries 13:40
whiteknight that too
brrt i'm mentally balancing between including and not including rosella right now
whiteknight Whatever you want is fine. It's your project :) 13:41
benabik I intend to use Rosella to help build/test PACT, but will avoid it in the main code. Less dependencies make it easier to use. 13:42
brrt true
i might want to do something like parse xml / yaml /json 13:43
for configuration
benabik I'm also probably not going to have a lot of overlapping functionality with Rosella... I'd rather use it than re-implement something. :-)
brrt so for that, Rosella could be useful
whiteknight benabik: one day if it really does become something like a "standard library", it might get bundled somewhere
benabik brrt: You could just have your library take in hashes/other structures and have the example code use Rosella to parse configuration files. 13:44
brrt i think it probably should be
benabik I'd rather see Parrot gain a good packaging system than a standard library. 13:45
whiteknight like plumage?
benabik Right.
whiteknight I think I may have to sit down one day and either fix plumage or rewrite it
benabik Maybe we'll distribute Parrot with plumage and Rosella and PACT, but my preference would be to keep them separate projects.
smash whiteknight++ # release 13:46
whiteknight there's a difference between the development repos and what a distrubution tarball contains
smash: thanks!
isBEKaml I don't want parrot to go the way other VMs did (bundle everything together, all or nothing package)
moritz well, if the VMs don't bundle it, the users have to 13:47
whiteknight we could also have the parrot distro separate, but then have a parrot-tools or parrot-libs package that bundles some other common things
brrt i imagine that people would not like to hear 'o well, here's parrot_x. but to run it, you need parrot_y, parrot_z, parrot_foo, parrot_bar, parrot_quix, parrot_quam'
isBEKaml true, we could keep stuff modular and optional.
brrt distribution is the key trick here
benabik If the packaging system is robust, then dependencies are automatically grabbed and it's no problem. :-) 13:48
whiteknight brrt: exactly. Distributions need to be crafted with different goals than a development repo has
isBEKaml Let's say you're targeting mobile platforms, you don't want a bloated vm, right?
brrt bloated is a loaded word
whiteknight With all the legal nonsense going on over Java, I feel like writing google an email that says "you could use Parrot for free...." 13:49
brrt and, a mobile platform easily has +100M of RAM right now
whiteknight ...not that Parrot is ready for that, yet
isBEKaml whiteknight: do it!
benabik Parrot would be more ready if there were a pile of Google engineers on it. :-)
*working on 13:50
brrt sidenote: did anyone see the piece about 'look awesome android on mono yay'
isBEKaml whiteknight: atleast, we would a boatload of patches from google in a firehose fashion.. :-)
brrt 'because mono be faster than dalvik' or something
whiteknight brrt: Yeah, those mono guys are doing some great work still 14:00
brrt: I suspect Google won't go to Mono officially, because they don't want to get into this same legal problem with microsoft
brrt no, i don't believe they will, either 14:01
hmm, there is something about psgi i do not much like
'The bodyĀ MUSTĀ be encoded into appropriate encodings andĀ MUST NOTĀ contain wide characters (> 255).' 14:02
whiteknight so it basically must be in a fixed8 encoding? That's kind of weird
brrt that what i thought
whiteknight well, fixed8 or ascii 14:03
doesn't matter. Parrot supports that.
brrt is utf8 fixed8?
whiteknight nope, utf8 is multibyte 14:04
brrt so how will anyone use unicode, then? 14:05
tadzik encode the string into a series of bytes 14:06
dalek Heuristic branch merge: pushed 62 commits to nqp/qbootstrap by jnthn 14:07
tadzik the MUST NOTĀ contain wide characters (> 255) part looks kinda weird
moritz brrt: by decoding locally first 14:08
whiteknight yeah, I'm wondering what that means, because any wide characters is just a sequence of bytes
moritz ie, it can be an UTF-8 encoded strin
g
brrt lets ask #plack 14:09
benabik I think that restriction is because Python uses wchars for their strings. 14:12
So you have to encode down to utf8 or other 8b encoding.
brrt that is sensible 14:13
whiteknight encoding to utf8 is easy enough, too 14:16
NotFound Unicode restricted to chars <= 255 is latin-1, so you can internally stotre it fixed-8. 14:20
brrt i just asked, utf8 is ok
just as long as the strings contain only 'bytes' 14:21
moritz so the gist is, the implementation shouldn't decode by itself
but let the user do it
whiteknight as opposed to dolphins
oh noes! My string contains dolphins! Where did all these dolphins come from! 14:22
you belong in the ocean, not in my string!
dalek kudo/match-gist-fixup: 762996e | masak++ | src/core/Match.pm:
[src/core/Match.pm] changed <> to q[] in .gist

Suggested by pmichaud++. It may or may not be worth it to also escape all ']' in the matched text itself.
14:23
kudo/match-gist-fixup: 194f846 | masak++ | src/core/Match.pm:
[src/core/Match.pm] removed root-level '=> '
NotFound Dolphins are comparatively easy, but sirens need double-body encoding.
p/qbootstrap: 44e1c14 | jnthn++ | src/QHLL/Grammar.pm:
Update QHLL to not use ** with a separator.
14:24
p/qbootstrap: 7a76f20 | jnthn++ | src/NQPQ/Grammar.pm:
NQPQ's Grammar used the ** ',' syntax, which is now gone from QRegex, but it builds this in stage 1 too, using the old regex engine which doesn't do %. So, eliminate those two cases for something a little more verbose.
NotFound s/siren/mermaid 14:25
14:25 alester joined
brrt right :-) 14:29
14:59 dmalcolm joined
brrt will be making dinner 15:15
kjs cotto: ping 15:21
whiteknight cotto may not be getting online for a little while still. 15:24
kjs oh ok
thanks
whiteknight it's only about 8:30AM there, I think 15:25
kjs that's a nice time to get up ;-)
whiteknight: M0 will implement the PCC right? 15:26
whiteknight kjs: That's a good question. I don't know exactly where all the boundaries will be
I suspect it will implement PCC, to expose that system to the JIT
kjs ah ok. anyway, i hacked up a prototype parser for a c subset.
so i was thinking, if it does, then M1 (or mole?) will have access to the PCC too 15:27
whiteknight ha!
yes, exactly
kjs and then you can do all sorts of fancy stuff
but mole would have to support that syntactically.
whiteknight yes 15:28
kjs anyway, i sent the proto to cotto, i'll wait for some feedback. prob should do some real work now. 15:30
whiteknight awesome
dalek p: aee8809 | pmichaud++ | src/Q (2 files):
Fix bug with subcaptures receiving empty hash entries from outer match quantified captures (RT #111286).
15:35
kudo/nom: 0ed00f0 | pmichaud++ | tools/build/NQP_REVISION:
Bump NQP_REVISION to get fix for RT #111286.
15:49
p: dfb6d5a | tadzik++ | VERSION:
bump VERSION to 2012.05
16:45
Coke how does one claim a ticket in github? 16:51
ah, found it
16:52 crab2313 joined
dalek nxed: 9d25e0a | NotFound++ | winxedst2.winxed:
fix check for "null" in several places
16:52
nxed: 0df8bce | NotFound++ | winxedst2.winxed:
simplify a bit IdentifierExpr.optimize
17:00
aloha (parrot/parrot) Issues closed : 185 (Memory corruption error) by coke : github.com/parrot/parrot/issues/185 17:01
dalek kudo/nom: 3866972 | tadzik++ | tools/build/NQP_REVISION:
Bump NQP revision
17:05
kudo/nom: 8004748 | tadzik++ | docs/release_guide.pod:
Update release guide
kudo/nom: 64dc550 | tadzik++ | docs/announce/2012.05:
Add a release announcement for 2012.05
whiteknight Coke: it's not the easiest-to-use mechanism ever. I wish there was an "assign to me" button at top 17:09
dalek kudo/nom: 4f48183 | moritz++ | docs/announce/2012.05:
[announce] mention regex improvements; wording
17:10
kudo/nom: b6d1c8e | tadzik++ | docs/announce/2012.05:
Some more fixes to the release announcement
17:14
nxed: bf89811 | NotFound++ | winxedst2.winxed:
NullExpr class
kudo/nom: c4fd56d | tadzik++ | docs/ChangeLog:
[Changelog] Fix a tyop
17:35
kudo/nom: 1a5a46f | tadzik++ | VERSION:
Bump VERSION
17:37
17:43 lucian joined, brrt joined
cotto ~~ 17:54
nine o/
cotto hio nine
kjs: do you have a git repo you're working from? 17:57
whiteknight nine: Have you had any other thoughts about the windows build? Come the weekend, I have a windows VM but no VisualStudio and no debugger 18:18
kjs cotto: no, was just working locally, not in a repo (not very comfortable with git) 18:24
cotto kjs: I'd highly recommend it. Commit early and often 18:26
kjs i understand, will see if i can get some time and motivation to study a manual 18:28
however, at this moment i was just prototyping
18:38 kurahaupo joined
cotto kjs: ok 18:50
18:51 brambles joined 18:56 kurahaupo joined, brambles_ joined
dalek kudo/nom: 65f9d95 | moritz++ | src/core/Exception.pm:
avoid some boxing in print_control
18:56
nine whiteknight: sorry, no. It's kinda hard to diagnose from one symptom alone. 18:57
dalek kudo/nom: 8254a60 | moritz++ | src/core/Exception.pm:
typed exception for "method not found" error
kudo/nom: 47497c4 | moritz++ | src/core/Exception.pm:
fix control exception catcher
kudo/nom: 7165ff5 | moritz++ | src/core/Exception.pm:
Merge remote branch 'origin/method-not-found' into nom
19:43 alin joined 19:50 bluescreen joined 20:29 adu joined 20:52 kjs joined 20:57 not_gerd joined
not_gerd nine: gist.github.com/2721537 20:57
nine: let me know if I can do something to get threads working on Windows 20:58
msg whiteknight current status of threads branch on Win7/MinGW-64: gist.github.com/2721537 20:59
aloha OK. I'll deliver the message.
dalek nxed/builtinexpr: 68d3473 | NotFound++ | winxedst2.winxed:
finish conversion of int, float and string casts
21:25
nine msg not_gerd I'll cook up a patch with the debug output I need to diagnose this tomorrow. If you could run that version and send me the output, that'd be great. 21:26
aloha OK. I'll deliver the message.
22:11 bacek joined 22:19 nine joined 22:48 benabik_ joined
Coke bacek; g'day, mate. 22:56
isBEKaml gist.github.com/2722178 23:06
sorry, gist.github.com/2722184 23:07
output: gist.github.com/2722189 -- Does this look right? 23:08
msg whiteknight if he can look at 2 gists: gist.github.com/2722184, gist.github.com/2722189 and provide feedback on what exactly should go into CPU_TYPE. CPU_ARCH and CPU_TYPE look similar though they pull this information from different locations. 23:12
aloha OK. I'll deliver the message.
benabik isBEKaml: Looks sane to me, FWIW 23:15
isBEKaml benabik: hey - back from #perl6. :) 23:17
benabik isBEKaml: It's perfectly acceptable to sit in both. :-) 23:18
isBEKaml benabik: yeah, straddling across two worlds. Feels a lot like shifting between sleep and awake state. :P
isBEKaml it's nearly five am where he is.... I really should sleep. 23:19
benabik I know that feeling.
Well, goodnight from the other side of the planet.
I've got to head home from work. 23:20
23:37 brambles joined
dalek nxed/builtinexpr: 0289de5 | NotFound++ | winxedst2.winxed:
clean a bit IdentifierExpr and FunctionId classes
23:41
nxed/builtinexpr: 292f84f | NotFound++ | winxedst2.winxed:
getvar needs a Token, not a string
nxed/builtinexpr: ddcff05 | NotFound++ | / (3 files):
drop builtin var cast from stage 1
nxed/builtinexpr: 8a44172 | NotFound++ | winxedst2.winxed:
fix and simplify a bit CallBuiltinExpr.emit
nxed/builtinexpr: 9d25e0a | NotFound++ | winxedst2.winxed:
fix check for "null" in several places
nxed/builtinexpr: 0df8bce | NotFound++ | winxedst2.winxed:
simplify a bit IdentifierExpr.optimize
nxed/builtinexpr: bf89811 | NotFound++ | winxedst2.winxed:
NullExpr class
nxed/builtinexpr: 8bd62d5 | NotFound++ | / (4 files):
resolve merge conflict
23:53 whiteknight joined
whiteknight good evening, #parrot 23:55
blah, my evening is turning into an episode of COPS 23:57