Parrot 3.5.0 "Menelaus" released | parrot.org | Log: irclog.perlgeek.de/parrot/today
Set by moderator on 27 June 2011.
00:03 logie left
dalek nxed: 55d883f | NotFound++ | t/advanced/05attributes.t:
some tests for attribute access
00:05
00:19 theory left
dalek kudo/nom: e467eaf | jonathan++ | src/ (7 files):
Add default %_ for methods. It's rather smarter than master, and doesn't allocate if it's never used.
00:19
kudo/nom: d9b6344 | jonathan++ | t/spectest.data:
We now pass two more test files.
00:23 whiteknight joined
whiteknight good evening, #parrot 00:29
soh_cah_toa \\o
00:31 kid51_at_dinner left
soh_cah_toa whiteknight: cotto says i'm supposed to talk to you 00:34
about compiling .pir files in hbdb
whiteknight sounds like a chore. What did you do to deserve that?
nopaste "soh_cah_toa" at 192.168.1.3 pasted "For whiteknight" (33 lines) at nopaste.snit.ch/58812 00:35
bubaflub evening whiteknight
soh_cah_toa whiteknight: that ^
it doesn't work
bah, forgot to remove FOOBAR. that's nothing but a stub 00:36
anyway, it fails at Parrot_api_load_bytecode_file()
ERROR: PackFile_Header_validate: This is not a valid Parrot bytecode file.
whiteknight is it a valid parrot bytecode file? 00:37
soh_cah_toa is a .pir file i want to compile to bytecode
which i thought the imcc_* functions would do
whiteknight what is the contents of ps_file? 00:38
dalek kudo/nom: 1762378 | jonathan++ | NOMMAP.markdown:
Remove done nommap item.
kudo/nom: aeb6b08 | jonathan++ | src/Perl6/Actions.pm:
Fix bug with has ($!a, $!b) style decls.
kudo/nom: e66e95f | jonathan++ | t/spectest.data:
We pass S12-class/attributes.t.
whiteknight better yet, what exactly is this snippet of code supposed to be doing? 00:39
00:39 JimmyZ joined
soh_cah_toa file is supposed to be the name of a pir file, i want to compile it to bytecode and then load it w/ Parrot_api_load_bytecode_file() 00:39
00:40 mikehh_ joined 00:41 rurban_ joined 00:42 mikehh left 00:43 mikehh_ left, rurban left 00:44 rurban_ is now known as rurban, kid51 joined 00:52 Kulag joined 00:54 Drossel left
whiteknight imcc_compile_file_api compiles the .PIR file to a PBC PMC 00:54
Parrot_api_load_bytecode_file loads a .pbc file into a PBC PMC 00:55
00:55 lichtkind left
whiteknight so, you only need one or the other. Doing both is nonsensical 00:55
soh_cah_toa hmm, ok let me try
whiteknight that bottom /* Load bytecode */ section should all be in an else block
soh_cah_toa ok 00:56
it was doing this before and again now, when i change: if (!strcmp(strrchr(file, '.'), "pbc")) 01:04
to: if (strcmp(strrchr(file, '.'), "pbc") != 0)
then it works w/ .pir files but not .pbc files. the first way works w/ .pbc but not .pir
pretty much what i want is: if (not .pbc file) { compile the .pir } else { load pbc } 01:05
whiteknight there's code to do that same thing in frontend/parrot/main.c 01:06
I dont remember what it does
soh_cah_toa i cargo culted much of that from there :/
whiteknight ok
soh_cah_toa i just cut out the pasm parts
01:09 NotFound_b joined 01:10 dafrito joined 01:11 Kulag left 01:14 Kulag joined 01:19 JimmyZ_ joined 01:20 daniel-s joined
soh_cah_toa ha! it was b/c i compared the extension to "pbc" instead of ".pbc" 01:23
i can't tell you how many mistakes like that i've made this summer ;) 01:24
whiteknight oh, nice
soh_cah_toa though i did need to make it an else clause
01:24 JimmyZ left
soh_cah_toa so whiteknight++ for that 01:24
01:25 JimmyZ_ is now known as JimmyZ
dalek rrot/whiteknight/pbc_pbc: 05ed215 | Whiteknight++ | src/ (2 files):
cleanups to the embedding API
01:27
soh_cah_toa Parrot_pf_prepare_packfile_init() is a MUCH nicer name 01:28
dalek rrot/whiteknight/pbc_pbc: c4d3d65 | Whiteknight++ | t/pmc/packfileview.t:
Fixup packfileview.t
01:30
dukeleto msg kid51 please don't assign me Trac tickets without asking me first
aloha OK. I'll deliver the message.
kid51 dukeleto: Which particular one are you referring to? (Tonight I've mostly just been adding Components.) 01:35
Generally, only about 1 of every 150 cage-cleaning actions I take involves assignment of a ticket. 01:36
01:36 JimmyZ_ joined
cotto ~~ 01:36
kid51 My practice is to cc before assigning
cotto soh_cah_toa, API cleanup ftw 01:37
jay I've been lurking and working. Hello all. 01:38
soh_cah_toa yes 01:39
cotto hi jay
whiteknight so...much...cleanup 01:40
and as I'm doing this packfile cleanup work, I'm really becoming annoyed by the poor quality of the interp subsystem
so that might end up on my hitlist before too long
cotto whiteknight, what about it? 01:41
whiteknight bad function naming, no clear organization to any of it, weird abstraction boundaries, etc
cotto I like it when things annoy you.
01:41 JimmyZ left, JimmyZ_ is now known as JimmyZ
cotto whiteknight++ 01:42
dalek nxed: 270adb5 | NotFound++ | winxedst1.winxed:
improve checks and diagnostics of wrong null usages
whiteknight at the current state of the whiteknight/pbc_pbc branch, I think it's possible to rewrite the parrot frontend in PIR 01:43
NotFound_b BTW I'm thinking that we may need a getcontext op
whiteknight so I'm going to put together a proof-of-concept for that soon
NotFound_b: yes, I've planned one of those
it's an important part of my PCC refactors 01:44
er, my PCC refactor plan
NotFound_b It doesn't make much sense to get the interp and then the current context from it.
dalek TT #901 closed by dukeleto++: eval is broken in parrot_debugger
TT #901: trac.parrot.org/parrot/ticket/901
TT #1466 closed by dukeleto++: Debugger "eval" instruction needs to be implemented
TT #1466: trac.parrot.org/parrot/ticket/1466
whiteknight NotFound_b: Create a branch. Add it 01:45
01:46 Kulag left
NotFound_b getcontext or get_context? I never know what is our current preferred style for op names. 01:46
01:46 kid51 left
whiteknight I would say getcontext 01:47
same as getinterp
do it in a branch, we can change it if we need 01:48
01:52 Kulag joined, whiteknight left 02:01 dafrito left
dalek nxed: 4a6e6a1 | NotFound++ | winxedst1.winxed:
some more checks for wrong null usages
02:05
nxed: 4c97909 | NotFound++ | pir/winxed_compiler.pir:
update installable compiler
02:07
02:10 daniel-s left
jay Anyone here interested in glancing at a slight modification of some old code from Whiteknights' matrixy that I can't quite get working now? It's killing me. 02:12
dalek rrot: cf1bd29 | NotFound++ | ext/winxed/compiler.pir:
update winxed compiler to c9790995b

  * Fixes in string escape sequeneces
  * New get/setattribute builtins
02:16
bubaflub jay: nopaste or gist it 02:17
jay His original for_statement is in github.com/Whiteknight/matrixy/blo...actions.pm
My version I'll nopaste. >> 02:18
It almost works, but not quite: a parameter problem I think. It's iterating the right number of times and the body is executing. My code and a simple example is at: nopaste.info/c795ca0efc.html.
Yes, I realize a while look could suffice, but iterating over a set is a little different... and I'm trying to learn, anyway. 02:19
The changes from Whiteknight's code is minor. As far as I can tell, the PAST::Op.new() has been updated since he probably wrote his code. 02:20
02:23 NotFound_b left
dalek rrot-gmp: f81e30b | bubaflub++ | / (4 files):
move scripts to bin/ directory
02:42
rrot-gmp: 095b282 | bubaflub++ | TODO.md:
update TODO list
rrot-gmp: c82545e | bubaflub++ | README.md:
update README, a bit more explaining to do
02:44 JimmyZ left 02:47 theory joined 03:21 lucian left
dalek TT #1812 closed by plobsing++: Less Than Awesome error message when new Rakudo tries to run on old Parrot 04:20
TT #1812: trac.parrot.org/parrot/ticket/1812
cotto seen zloyrusskiy 05:02
aloha zloyrusskiy was last seen in #parrot 2 days 5 hours ago joining the channel.
05:23 theory left 05:24 theory joined, soh_cah_toa left 05:33 fperrad joined 06:02 daniel-s joined 06:04 zby_home joined 06:06 JimmyZ joined 06:14 JimmyZ left 06:28 JimmyZ joined 06:36 Kovensky left 06:38 theory left 06:46 Kovensky joined 07:28 theory joined 07:34 theory left 07:51 preflex left 07:53 preflex joined 08:33 zby_home left 08:41 rurban_ joined 08:43 rurban left 08:44 rurban_ is now known as rurban 09:06 Eclesia joined
Eclesia hi 09:06
09:07 fperrad left 09:52 daniel-s left 09:58 daniel-s joined 10:04 daniel-s left 10:12 daniel-s joined
dalek kudo/nom: f583316 | jonathan++ | src/binder/container.c:
Decontainerize a little earlier in scalar assignment, so that the value type check will actually work from the correct type check cache, rather than creating an inferior runloop to do the type check. Should very significantly speed up every $a = $b.
10:15
10:17 daniel-s_ joined 10:20 daniel-s left, daniel-s_ left 10:26 fperrad joined 10:35 whiteknight joined
dalek TT #85 closed by whiteknight++: Add exported function Parrot_set_HLL() 11:05
TT #85: trac.parrot.org/parrot/ticket/85
11:08 daniel-s joined 11:13 daniel-s left 11:15 daniel-s joined
dalek rrot: 6c7553f | Whiteknight++ | api.yaml:
Parrot_compreg function is not needed after IMCC refactors and is deprecated
11:16
rrot: 6aa415d | Whiteknight++ | / (2 files):
Add in a new function for returning the search paths array as a single string. Not wired in to anything yet, so shouldn't cause any problems. wayland++. See TT #560 for more details
TT #852 closed by whiteknight++: Mark OpenGL subsystem as experimental 11:21
TT #852: trac.parrot.org/parrot/ticket/852
whiteknight msg cotto can you take a look at TT #2146 when you get a moment? I would like to deprecate the current load_bytecode op and replace it with a new version I'm developing. I would like to get the dep notice in before 3.6 if possible. We can wait till 3.9 too, if you prefer 11:23
aloha OK. I'll deliver the message.
11:27 lucian joined
dalek kudo/nom: 48e6bf7 | jonathan++ | src/binder/bind.c:
Extra check to make sure we don't corrupt memory when handling *%_ in optimized code path.
11:30
TT #2146 created by whiteknight++: Deprecate load_bytecode op 11:37
TT #2146: trac.parrot.org/parrot/ticket/2146
11:45 whiteknight left 12:27 kid51 joined
kid51 whiteknight++ for culling thru old Trac tickets 12:28
12:30 fivetonsflax joined
jnthn__ So it turns out that if you have a variable called returns or return_type in an ops file, ops2c goes and wraps it up in an extra level of parens, causing an innevitable C syntax error. WTF. 12:36
foo->return_type ends up coming out as foo->(return_type) 12:38
Rename that to rtype and it works
:/
It's TT #2147 now. 12:40
12:50 ambs joined
fivetonsflax hi 12:52
I can't seem to connect to ftp.parrot.org. 12:53
anyone know what's up with that?
tadzik seems down here too 12:54
dalek TT #2147 created by jonathan++: ops2c and a variable with "return" in its name 12:55
TT #2147: trac.parrot.org/parrot/ticket/2147
13:03 fivetonsflax left 13:05 fivetonsflax joined, fivetonsflax left, fivetonsflax joined 13:12 Coke left, Coke joined
dalek nxed: e4d28f7 | NotFound++ | winxedst1.winxed:
new builtin getcontext:

While parrot still don't have an op to get the conext, this builtin get it via getinterp and the interpreter PMC. When the op gets available, the builtin will be reimplemented without affecting its usages (let's hope).
13:17
kid51 fivetonsflax: Is there something specific there that we can help you with? 13:19
fivetonsflax I'm trying to install parrot via macports
but the distfile can't be fetched:
---> Attempting to fetch parrot-3.3.0.tar.gz from ftp://ftp.parrot.org/pub/parrot/releases/stable/3.3.0/
... times out.
dalek kudo/nom: c23e04f | jonathan++ | src/ (2 files):
Add is rw trait for routines.
13:20
kudo/nom: 6b6bc4e | jonathan++ | src/ (2 files):
Get of and returns trait to set return type for routines (not checked yet).
kudo/nom: 1fa3334 | jonathan++ | src/core/ (2 files):
Introspection of .returns/.of on Routine.
kudo/nom: 2f5b530 | jonathan++ | src/ (3 files):
Ops for decontainerizing if non-rw sub and for type checking return values.
kid51 What is the sequence of commands you called to get as far as you did?
kudo/nom: 63e2719 | jonathan++ | src/core/ (4 files):
We run into code-gen issues for routines that evaluate to something void; avoid (heh, get it) that.
kudo/nom: 9298db6 | jonathan++ | src/binder/multidispatch.h:
Copy-pasto.
kid51 It has been so long since I last used 'ftp' that I've forgotten how to use it. 13:21
fivetonsflax heh. 13:22
nopaste "kid51" at 192.168.1.3 pasted "ftp attempt" (7 lines) at nopaste.snit.ch/58904 13:23
fivetonsflax macports seems out of date anyway ... so maybe I should try a different route. git? I have it installed, but know little about how to use it.
kid51 fivetonsflax: I was able to put that URL into a browser and get to that directory. ... 13:24
... but that directory will not be a place to find a macport. 13:25
It's only intended to hold our source code from quarterly supported releases (new release 3.6 coming in two weeks)
If you want to build and install from source code, you can use one of those tarballs. 13:26
fivetonsflax port(1) isn't looking to download a macport, per se -- it's looking for a tarball of source code. 13:27
kid51 I am able to download this: ftp://ftp.parrot.org/pub/parrot/releases/stable/3.3.0/parrot-3.3.0.tar.gz
What is port(1) ?
fivetonsflax the cmd-line interface to macports 13:28
kid51 Ah. I haven't tried macports in several yars.
Well, if all you want is a tarball, you should be able to download it from that URL in your web browser. I'm doing so now.
fivetonsflax Hmm. I can now get to that URL with wget -- which I couldn't do earlier -- but I still can't get port to pull it down. Perhaps a passive-mode issue. 13:29
spoke too soon.
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD (1) /pub/parrot/releases/stable/3.3.0 ... done.
==> SIZE parrot-3.3.0.tar.gz ... 3961124
==> PASV ...
and it hangs there.
kid51 That's output from port? 13:30
fivetonsflax wget
dalek kudo/nom: 6a28829 | jonathan++ | src/core/ (7 files):
First round of getting us more honest with routine rw-ness.
13:32
fivetonsflax far out. disabling passive mode fixes it. must be some kind of firewall issue. I've never heard of active mode getting through a firewall when passive mode wouldn't!
13:32 lichtkind joined
fivetonsflax sorry for the fire drill. 13:32
my overall goal here is to answer chromatic's call for help with Lorito. I'm guessing I need something more current than 3.3.0 to do that in any case. 13:34
kid51 fivetonsflax: I have confirmed your observation. 13:37
I don't have wget on my Mac, but I do on my Linux.
On that linux, wget ftp://ftp.parrot.org/pub/parrot/releases/stable/3.3.0/parrot-3.3.0.tar.gz hung at the same location you described.
wget --no-passive-ftp ftp://ftp.parrot.org/pub/parrot/releases/stable/3.3.0/parrot-3.3.0.tar.gz worked.
fivetonsflax huh. interesting. so it's not just the network I happen to be using. 13:38
kid51 fivetonsflax: To help on Lorito -- or anything else that's in very active dev -- you're best doing a checkout from our git repository and working from HEAD
fivetonsflax With this? 13:40
git clone git://github.com/parrot/parrot.git parrot
kid51 Sounds good
fivetonsflax great. 13:41
kid51 I see there's now a "Clone in Mac" button on github -- but I don't know how it works yet
fivetonsflax shrug, I'm happiest on the command-line anyway
kid51 If you are around later today, you can ask dukeleto all about github 13:42
tadzik kid51: I think it's related do the new Mac Github client 13:43
fivetonsflax cool
I see there's a lorito branch
kid51 chromatic has been active lately, but he doesn't often come on #parrot. So you may want to email him.
fivetonsflax I wonder if I should be checking that one out.
OK, I'll try that.
jay I've been an SVN guy and just started using git a few days ago (encouraged by what you guys are obviously doing with it). Pretty cool I must say, though I need to figure out this branching bit.
kid51 However, right now the most active part of the work on Lorito is being conducted by cotto and dukeleto: M0
jay: We were on CVS thru 2004 and on SVN thru 2010. 13:44
jay So I'm only a year behind the curve!? That's unusual. !-) 13:45
kid51 So we were all SVN guys
jay: I still use Subversion for personal projects, such as my conference presentations/slideshows. 13:46
jay Yes, I think I will, too. I also just co-authored a paper using Dropbox, and was reasonably happy with the experience (given that my co-authors wouldn't probably have managed SVN). 13:47
kid51 The major benefits of git, IMO, are: (a) output of diff, blame, etc. pages by default; (b) github.com
tadzik (c) speed?
I remember doing svn diff on Parrot one day, and I was wondering if it hanged or something
kid51 tadzik: I was speaking of my personal experience. At $job, git is not clearly faster than Subversion 13:48
YMMV
tadzik mebbe
jay I'd put a huge github++ on that item (b), kid51. Logical interface. Good docs on git setup, etc...
fivetonsflax I'm shopping for a versioning system to handle three branches of config for some pretty complex mail servers.
kid51 There are, needless to say, people who think git is greatest thing since sliced bread
dalek kudo/nom: 5c4d4d9 | jonathan++ | src/core/List.pm:
A couple more places where we missed 'is rw'.
13:49
kudo/nom: fd88893 | jonathan++ | src/core/EnumMap.pm:
And one more 'is rw'.
fivetonsflax thinking about git though its distributed features are irrelevant to me
kid51 fivetonsflax: ping cotto or ping dukeleto re M0, which is the base layer of lorito 13:50
That's under very active development, so, if you're really interested in contributing, they will be able to put you to work right away.
fivetonsflax sweet. 13:51
I *am* really interested, though only if chromatic was entirely truthful about the required skillset. 13:52
kid51 As Pontius Pilate said, "Truth -- what is that?"
fivetonsflax compiler work is well outside my zone of expertise, but I can read and write perl5 and I'm willing to be the idiot intern for a while. 13:53
kid51 ping cotto. He is operationalizing chromatic's brainstorms.
fivetonsflax I will. Thank you.
kid51 compiler work is basically outside my zone of expertise as well 13:54
13:58 mro joined, mro left 13:59 fperrad left, fperrad joined 14:01 ambs_ joined, ambs left, ambs_ is now known as ambs 14:06 mro joined
fivetonsflax what is your involvement with parrot, kid51? 14:08
dalek kudo/nom: f2e0b4a | jonathan++ | src/ (3 files):
Make sure we don't lose scalarness of [...] and so forth that are returned, just rw-ness should be stripped.
14:09
kudo/nom: dba1c2f | jonathan++ | src/Perl6/Actions.pm:
Turn on scalar decontainerization of return values, and return value type checking. Note we need to be careful to add 'is rw' now to routines that fall off the bottom with a value we expect to return in containerized form. Think I've caught all of these; testing welcome.
lucian fivetonsflax: have you tried homebrew? it's useful in general
fivetonsflax no, what isit? 14:10
lucian a better macports
much better
fivetonsflax macports has been mostly good enough for me, but I'll take a look, thanks. 14:12
14:22 Coke left, Coke joined 14:29 Eclesia left
kid51 reads www.modernperlbooks.com/mt/2011/07/...arrot.html which he thinks is what fivetonsflax was referring to 14:49
dalek kudo/nom: a78aaa0 | jonathan++ | / (2 files):
Catch routine redeclaration in actions, rather than leaving it to IMCC to whine about.
14:50
14:52 Eclesia joined
Eclesia it's too hot ... winter come back ! 14:53
14:53 Coke left, Coke joined
fivetonsflax kid51: yes, right 14:56
14:59 fperrad left
mro I just read the Less Magic, Faster Parrot article (linked above by kid51)... Where do I sign up? 15:00
fivetonsflax kid51 told me to ping cotto about it. 15:05
mro Thanks! You new here too? 15:07
fivetonsflax yes 15:08
jay jay read that same thing. Interesting. In terms of memory stuff, I'm interested in supporting memory-mapped files for arrays, say, in my HLL, and will be looking at Parrot's MappedByteArray as recommend by whiteknight. My previous work in this area used BOOST and C++. I should look at this with my grad student before jumping too quickly at the traditional route. 15:09
mro Interesting! 15:14
dalek nxed: 420d9c3 | NotFound++ | winxedst (2 files):
Check for null before start iterating in for ... in loops
Coke mor, fivetonsflax: welcome aboard. 15:18
er, mro.
fivetonsflax thanks.
mro Thanks!
dalek kudo/nom: 734ed25 | Coke++ | t/spectest.data:
This test runs with a fudge.
15:20
rrot: e2109b1 | jkeenan++ | / (2 files):
Remove file per trac.parrot.org/parrot/ticket/2143.
15:22
15:23 fperrad joined
kid51 afk 15:26
dalek TT #2143 closed by jkeenan++: examples/benchmarks/overload.pl: Can we remove this file? 15:31
TT #2143: trac.parrot.org/parrot/ticket/2143
kudo/nom: 63f8bd7 | jonathan++ | src/ (3 files):
proto auto-generation for methods, so it's now possible to write multi methods again without having to write an explicit proto. Re-uses generic instantiation get get the invocant type on the auto-gen'd proto right...a cunning use I'd not thought of for it. :-)
15:38
kudo/nom: 1e5e666 | jonathan++ | t/spectest.data:
Now pass S12-methods/syntax.t again.
kudo/nom: ce6e224 | jonathan++ | src/Perl6/Actions.pm:
Start to differentiate between where we need to derive a dispatcher and when we need to auto-gen a proto for lexical multis.
kudo/nom: 86fd89b | jonathan++ | src/Perl6/ (2 files):
First cut of nested lexical multis, which derive a dispatcher based on the one in the outer lexical scope.
15:57
kudo/nom: 5448b49 | jonathan++ | NOMMAP.markdown:
Remove completed nommap item.
16:07 jsut joined, jsut_ left 16:26 ambs_ joined, ambs left, ambs_ is now known as ambs 16:32 fivetonsflax left 16:33 theory joined 16:42 rurban_ joined 16:44 rurban left, rurban_ is now known as rurban
dalek kudo/nom: e66182f | jonathan++ | src/Perl6/Actions.pm:
Toss dead code.
16:46
kudo/nom: 1c4235b | jonathan++ | src/Perl6/Actions.pm:
proto routine auto-generation for lexical multis.
kudo/nom: fbe8267 | jonathan++ | t/spectest.data:
Three more passing test files.
16:48 Coke left, Coke joined 16:52 GodFather joined 17:04 Hunger left
dalek nxed: e5ec838 | NotFound++ | winxedst1.winxed:
refactor a bit integer literal and constant creation
17:06
17:10 JimmyZ left
cotto ~~ 17:24
looks like chromatic++ attracted some minions. This will be fun. 17:25
mro Hi cotto (or should i say "master" in a minion-y voice?) 17:36
Eclesia question : I would like to have a list of available namespaces and functions. how do I get that ? 17:37
cotto hio mro
mro cotto, I was told to ping you for stuff to do!
cotto mro, I suppose I'd be the one for that. How's your C and Perl? 17:38
mro I would say "okay" - I use both regularly! 17:39
cotto That's good.
mro I
I've been looking over your TODO-list, but nothing stands out as "easy place to start".
cotto I think a good starting point would be to check out the m0-prototype branch and write tests for some of the ops that don't have coverage yet. 17:40
dalek nxed: 3c4995e | NotFound++ | winxedst1.winxed:
refactor predefined constants creation
17:41
mro Thanks, I'll take a look at that!
cotto You can run make m0_cover to find out which ops those are (the m0_opfunc_xx subs implement ops) and use the tests with op names in t/m0/integration as a starting point.
mro, do you know where to find the m0 spec? 17:42
aloha, m0 spec?
aloha cotto: m0 spec is docs/pdds/drafts/pdd32-m0.pod in the m0-spec branch or github.com/parrot/parrot/blob/m0-s...d32_m0.pod
jay Wow, that is way cool. Is something here in IRC linked to git? 17:43
cotto I'll be glad to help.
jay, nothing other than dalek
mro Okay. I'll check out m0-prototype and try to work on that!
cotto mro, I'm sure you'll find something confusing. Let me know when you do and I'll try to make it less confusing for the next person. 17:44
and thanks for volunteering! 17:45
mro++
mro Your welcome! :) 17:46
Eclesia thinks it's nice to see someone motivated
cotto And he's not the only one. 17:48
I'm going to have to be on the ball just to keep everyone busy.
17:49 Hunger joined
Eclesia want me to give some objectives ? wants support for binary numerics of different size. bit, byte, short, int, long, float, double, doubledouble, bigint, bigdouble and number :D 17:50
17:51 wknight-phone joined
dalek nxed: ab83d4e | NotFound++ | winxedst1.winxed:
use predefined __WINXED_ERROR__ in stage 1 errors
17:51
cotto jay, you have to teach aloha anything you want it to know about.
aloha, jay? 17:52
aloha cotto: Search me, bub.
cotto aloha, jay is a pretty cool guy
aloha cotto: Okay.
cotto aloha, jay?
aloha cotto: jay is a pretty cool guy
cotto hello, whiteknight's phone
wknight-phone aloha, jay is the bomb diggity
aloha wknight-phone: ... but jay is a pretty cool guy ...
Eclesia hi wknight-phone
wknight-phone he can't be both?
hello Eclesia 17:53
bubaflub aloha: jay is also a pretty cool guy
aloha bubaflub: Okay.
bubaflub aloha, jay?
aloha bubaflub: jay is a pretty cool guy or a pretty cool guy
cotto wknight-phone, I agree with the sentiment in the load_bytecode ticket, but I also want to have the replacement ready to use before the old 'n' busted version gets deprecated.
wknight-phone ok
its not osuper urgent, i'm still working on the replacement 17:54
Eclesia how can I get a list of available namespaces ? and functions availables ?
17:54 wknight-phone left
cotto Eclesia, what part of Parrot are you asking about? 17:56
Eclesia cotto : I'm writing a parser and want to check if a given path exists. is there a function I can use for that. like 'getattribute' ? 17:57
cotto a filesystem path?
Eclesia cotto: a namespace path. 17:58
something like that : [ 'Rosella'; 'FileSystem'; 'File' ] 17:59
17:59 kid51 left
Eclesia I want to get class given by this path, then list it's methods 17:59
NotFound: have an idea ? 18:02
18:04 fivetonsflax joined 18:27 Eclesia left 18:29 fivetonsflax left
dalek Heuristic branch merge: pushed 21 commits to rakudo/nom by coke 18:34
cotto mro, what's your github username? 18:44
mro Just a sec... 18:46
"martinolsen"!
cotto good to know 18:52
dalek kudo/nom: 20abe0d | jonathan++ | src/Perl6/Metamodel/C3MRO.pm:
Fix up MRO computation when there's containered stuff around.
18:54
kudo/nom: bab5ed2 | jonathan++ | src/core/ (2 files):
Flesh out eqv a bit more.
kudo/nom: 98baf0f | jonathan++ | src/Perl6/Metamodel/MultipleInheritance.pm:
Implement :tree in .^parents.
kudo/nom: d31e835 | jonathan++ | t/spectest.data:
Run S12-introspection/parents.t,
kudo/nom: 322fcc0 | jonathan++ | src/ (3 files):
Implement Attribute.get_value.
nxed: 76502a8 | NotFound++ | winxedst1.winxed:
rearrange and simplify handling of int and float literals
19:12
mro cotto, I created a test for xor: pastebin.com/tE1Hc9mC 19:13
Is that the proper way to do it? 19:14
cotto looking 19:21
mro, yes. 19:22
mro Nice!
How do you want the patches?
cotto mro, are you comfortable with pull requests?
You can fork parrot, work on the m0-prototype branch and send me a pull request if so. 19:23
If not, I can work from nopaste.
mro I have a m0-test branch in a fork on github now.
cotto great 19:24
mro Let me rename it. Just a sec...
cotto mro, does the spec give you a fair idea of what's going on in that test? 19:26
mro I've sent a pull request now! 19:29
cotto wheee 19:30
mro I did not look at it from that point of view...
Just did a quick copy of the add_i test and adapted that! 19:31
I could look it over though.. Do you want to know if anything is missing? 19:32
cotto The big thing right now is that strings are deficient. I don't think there are any other major holes in the spec, but I could be forgetting something. 19:33
I tried to make sure that whatever I implemented was in the spec first.
mro, did you check that 9 xor 90 == 106? 19:36
dalek nxed: 91e5c57 | NotFound++ | winxedst1.winxed:
avoid some special cases in init/assign from concat strings
19:37
mro With perl5 and python, yes!
Dammit, that's not it... 19:38
cotto I get 83
bubaflub cotto: same - i get 83 in ruby
cotto and mro: also, constant string #2 should be changed from "ok 1 xor: 9 + 90 = 99\\n" to "ok 1 xor: 9 xor 90 = 83\\n" 19:39
in the pull request
cotto bubaflub++ 19:40
19:41 Patterner left
cotto bubaflub, I can't say that mro is the only one to miss that 19:43
mro How did you calculate "9 xor 99"? 19:44
bubaflub cotto: i am king of copy-pastas like that
cotto mro, python
bubaflub mro: 9 xor 90 or 9 xor 99?
mro Ahh, I keep using "99"! ;-)
cotto ^
mro Yes.
bubaflub and in ruby xor is just ^ 19:45
mro also, the test is not working properly.. 19:51
cotto never a dull moment
19:52 jevin left
mro do i need to add anything else than the M0 code in t/m0/integration/? 19:53
19:53 jevin joined
cotto nope. Adding the test should make it run with the other m0 tests 19:53
if make m0_tests passes, you should be good 19:55
mro i think an exit is missing after the print ok / not ok 19:58
otherwise it always falls through to "print successful test"! 19:59
19:59 jevin left
dalek nxed: 41dbc4d | NotFound++ | winxedst1.winxed:
optimize out body and iteration if the condition is false in for
20:04
mro cotto, i've updated the pull request 20:05
cotto looking
mro, that exit op should use 0 or 1 directly. "x" is used to indicate syntactically unimportant arguments. 20:06
mro got it! want me to fix it? 20:08
cotto please do
mro what is a successful exit? greater than zero, like at the shell? 20:09
s/greater than/equals/
cotto non-zero usually indicates an error 20:10
mro okay, its updated now! 20:17
cotto merged! 20:26
dalek rrot/m0-prototype: a45cd59 | (Martin Olsen)++ | t/m0/integration/m0_xor.m0:
Add test for xor.
rrot/m0-prototype: 0200eda | (Martin Olsen)++ | t/m0/integration/m0_xor.m0:
Merge branch 'm0-xor-test' into m0-prototype
rrot/m0-prototype: 4804260 | (Martin Olsen)++ | t/m0/integration/m0_xor.m0:
make xor test actually fail on error.
rrot/m0-prototype: 5e0a584 | (Martin Olsen)++ | t/m0/integration/m0_xor.m0:
return proper exit codes in xor test.
rrot/m0-prototype: b226909 | cotto++ | t/m0/integration/m0_xor.m0:
Merge pull request #139 from martinolsen/m0-prototype

add test for xor from mro++
cotto mro, do you mind if I put the email address attached to your github account into CREDITS so dalek can properly credit you? 20:28
mro cotto, sure! 20:31
Do you want me to look over the exit bug in the other tests?
I see all the math related tests got it too 20:32
cotto mro, please do
there you are 20:33
dalek rrot: 691608f | cotto++ | CREDITS:
add mro++ to CREDITS
cotto karma mro?
aloha mro? has karma of 0.
cotto karma mro
aloha mro has karma of 3.
mro awesome 20:34
jay welcome mro. I seem to have missed quite a bit... and now it appears that I need to produce something of interest to maintain my supposed coolness. 20:36
mro Hi jay! 20:38
jay Looks like you are jumping right in, mro! 20:39
mro Well, chromatic wrote such a convincing post! :-) 20:41
jay I found it very readable, too... something I value.
cotto I generally enjoy his writing. 20:44
20:56 Patterner joined 21:00 lucian left
mro cotto, iton seems to be missing from the spec! Is it convert_n_i? 21:00
21:01 fperrad left
mro cotto, also, for consistency, maybe the arguments should be turned around making $a1 the destination (like convert_* in the spec) 21:03
cotto mro, istr making a decision about that. I guess I need to update the spec.
mro, yes 21:04
dalek rrot/m0-prototype: 1272180 | cotto++ | src/m0/perl5/m0_ (2 files):
change iton/ntoi to match the spec
21:13
kudo/nom: 8ff1db3 | moritz++ | t/spectest.data:
5 more passing test files
21:24
21:27 ambs left
GodFather \\join #perl6 21:28
moritz GodFather: wrong network, try freenode instead :-) 21:30
GodFather yes sorry and thank you 21:33
21:42 Psyche^ joined 21:44 Eclesia joined
dalek nxed: dbec52c | NotFound++ | winxedst1.winxed:
use constants for the compiler error subtypes
21:44
nxed: 23f047e | NotFound++ | winxedst1.winxed:
use a constructor in WinxedCompileUnit
21:47 Patterner left, Psyche^ is now known as Patterner
bubaflub cotto: have we considered using git submodules for external projects that we include in the parrot repo? i'm thinking specifically of Winxed and NQP. 21:50
21:56 logie joined
dukeleto bubaflub: considered, yet. Done anyting about, no. 21:56
bubaflub dukeleto: i dunno how useful it would be or if it would only cause more headaches. for winxed, we only really need a partial checkout - just the .pir 21:57
dukeleto: i don't know if we need the whole repo for nqp
dukeleto: and i don't know if it'd be actually easier to maintain
NotFound Why you may want to download the winxed C++ source and its infrastructure just to build parrot? 21:58
21:58 jevin joined
Eclesia what is necessary to compile opengl for parrot ? the build is always 'skipped' for this module 21:58
21:59 jevin left
cotto bubaflub, the way we're currently including a snapshot seems to be working well enough. I'm open to submodules if there's an advantage. 22:01
22:01 soh_cah_toa joined
cotto goes out for errands 22:01
bubaflub cotto: agreed, i'm just thinking out loud.
dalek nxed: 8ec9fba | NotFound++ | winxedst1.winxed:
unify and improve the checks for invalid lvalue
22:04 logie left
dalek nxed: c63dac8 | NotFound++ | pir/winxed_ (2 files):
update installable files
22:05
22:07 kid51 joined
dalek rrot: b633ce4 | NotFound++ | ext/winxed/ (2 files):
update winxed snapshot:

  * for ... in now check for null container
  * diagnostic improvements
22:09
dukeleto NotFound: when do we get winxed version numbers? How will people know the difference between winxed-in-parrot and winxed master? 22:10
NotFound dukeleto: next week, probably.
bubaflub NotFound: the right answer would have been "next version, probably" 22:11
NotFound There is people worried by the difference? ;)
bubaflub: in any case, before christmas. 22:12
22:12 jevin joined
Eclesia NotFound: I am worried too, have several winxed files now for my project ^^ 22:24
dukeleto NotFound: yes, me :)
NotFound You are not people, you are parrots ;) 22:25
Eclesia just a user
NotFound BTW if you want to replace winxed-in-parrot with winxed master into a installed parrot you juts need to do: make ; winxed setup.winxed install 22:28
Eclesia no one knows for opengl ? 22:35
22:41 jevin left
NotFound Eclesia: knows what? 22:42
Oh, compile.
Eclesia yes
opengl module is skipped
NotFound glut and mesa libs, I think.
22:44 jevin joined 22:47 jevin left 22:48 jevin joined
GodFather newbie: where can I read the description of the syntax "rule statementlist { [ <statement> | <?> ] ** ';' } the syntax I don't understand is '<?> and '**' 22:49
jnthn__ <?> means "always match"
** means "repeated many times", in this case with a ';' between the repetitions 22:50
[\\d+] ** ',' # would match a comma-separated list
GodFather Aah does that mean that this grammer rule will continue to match in the event of an error? 22:51
dalek nxed: 584384d | NotFound++ | winxedst1.winxed:
put string repeat out of OpMulExpr during optimize phase
jnthn__ No 22:52
Eclesia hourray :D . starting to have a real parsed tree : nopaste.snit.ch/59060 22:53
jnthn__ More than if you write $a = 42;; $b = 100;
That double semicolon won't be an error
GodFather is it correct to understand that ** is a binary operator, op ** op 22:54
NotFound Eclesia: looks good
sorear GodFather: yes 22:57
NotFound Eclesia: but I'm curious about the comments. What is that, presenting them on columns?
GodFather sorear, thanks
Eclesia NotFound: columns ? ho no, I just used tabs, in the text. anything starting with a '|' is a comment 22:58
NotFound: I'm actually blocked on something. how can I make the difference between a class and a method .. I mean I have the namespace path. but I don't know how to get the object referenced by this path 23:00
NotFound Eclesia: winxed or pir?
Eclesia winxed if possible 23:01
23:01 jevin left
NotFound You can use the get_class builtin. 23:02
GodFather jnthn__, thanks 4 u help earlier
Eclesia NotFound: var c = get_class("rosella.filesystem.File") ? 23:03
NotFound Uh, no, forget it, it's only for plain names, no namespaces. 23:04
23:05 jevin joined
Eclesia NotFound: anohter approach. Is there a way to get the namespaces avaible ? some kind of list ? 23:05
23:06 jevin left 23:07 jevin joined
NotFound Eclesia: You can do this: string key[] = [ "rosella", "filesystem", "File" ]; var cl; { get_class cl, key }; 23:08
23:08 jevin left
dalek kudo/nom: c30f5f3 | jonathan++ | src/ops/perl6.ops:
Fix .VAR, which in turn was causing problems deep in generic instantiation of attributes.
23:09
kudo/nom: 12e692c | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Correct earlier patch to attribute generic instantiation.
kudo/nom: 8e8d803 | jonathan++ | src/Perl6/ (2 files):
Fixes to make sure type variables can be seen inside the role body.
kudo/nom: 5aba02f | jonathan++ | src/Perl6/Actions.pm:
Type variables need to defer to runtime lookup rather than being compile-time resolved in attribute lookup.
kudo/nom: 0280c83 | jonathan++ | t/spectest.data:
We now pass S14-roles/submethods.t.
kudo/nom: 1f04cbc | jonathan++ | src/Perl6/Actions.pm:
Also make sure mentions of generic types as terms are not resolved too early, so T.new works.
Eclesia NotFound: thanks, I guess this will only work if the path points to a class. what if it's a function ? 23:10
NotFound Or shorter: ${ get_class cl, split(".", "rosella.filesystem.File") }; 23:11
Eclesia: if there is no class, cl gives null
dalek rrot: 290ad87 | dukeleto++ | t/src/embed/api.t:
Add some code coverage to the new embed API
23:12 jevin joined
Eclesia NotFound: ok, so I can at least test if it's a class. for the other case, is there a 'get_function' ? 23:12
NotFound Eclesia: you can use the get_hll_global op 23:13
Eclesia what will that return ? 23:14
dalek kudo/nom: fb396ad | jonathan++ | NOMMAP.markdown:
Update nommap.
NotFound Anything, if you want only functions you can check isa Sub
23:15 jevin left
NotFound Or you can use the op get_namespace and use the Namespace object to look for subs, but that thing always confuses me. 23:16
23:16 jevin joined
Eclesia NotFound: both looks interesting for me :) Is it too much to ask for an example like you did just before ? 23:18
(I know I ask plenty of question, sorry ... )
dalek rrot: ba03bd8 | jkeenan++ | parrotbug:
Provide better description of final Action selections.

See trac.parrot.org/parrot/ticket/920. Also, replace global filehandles with lexical filehandles.
23:21
NotFound Eclesia: var f; ${ get_hll_global f, key, "function_name" }; 23:22
Eclesia thanks :) 23:24
23:38 lichtkind left 23:40 Eclesia left 23:41 bluescreen left, bluescreen joined
dalek kudo/nom: 6d729b9 | Coke++ | t/spectest.data:
list errors
23:43
kudo/nom: ec9adf4 | Coke++ | t/spectest.data:
run fudged test
kudo/nom: d4a91f4 | Coke++ | t/spectest.data:
errors
kudo/nom: 417acfb | Coke++ | t/spectest.data:
run fudged test
nxed: a5f0086 | NotFound++ | winxedst1.winxed:
allow non string values in get_class builtin
cotto ohai 23:56
kid51 cotto: This post on parrot-dev re locale fr_FR@euro looks like a serious problem. 23:57
NotFound @euro usually means iso-8859-16
cotto kid51, thanks. looking now 23:58
NotFound Aka latin1 with euro
jay If a tree falls in the forest, does it make a sound? If a Parrot newbie gets the NCI working, so that his baby HLL can generate random numbers using a math library from the open-source R project, would anyone care? 23:59