Parrot 1.7.0 "African Grey" is out! | Fix issues caused by the pcc_reapply merge
Set by moderator on 23 October 2009.
dalek rrot-linear-algebra: 80a3e2d | Whiteknight++ | config/Makefile.in:
add a proper install and uninstall target. Works. darbelo++
00:05
rrot-linear-algebra: 55ae623 | Whiteknight++ | config/Makefile.in:
add install and uninstall targets to make help
rrot-linear-algebra: ff9b0c1 | Whiteknight++ | :
Merge branch 'master' of git@github.com:Whiteknight/parrot-linear-algebra
darbelo Whiteknight: Our Configure script can't handle #IF() makefile directives. 00:06
Whiteknight darbelo: okay, it was a blind copy+paste 00:09
darbelo We can do something like that by generating a new @symbol@ and wedging into the configureation hash.
I'll give it a try in a few minutes. 00:10
dalek rrot: r42132 | mikehh++ | trunk (2 files):
fix codetest failures - linelength
Whiteknight okay, take your time 00:11
it works on my system for now, and that's all I need for development 00:12
mikehh isn't there something we can do about CONST_STRING - it makes a mockery of linelength requirements 00:13
darbelo Whiteknight: We could just remove the line, and let the eventual hp-ux users bitch about it. It's all cargo-cult from the parrot makefiles anyways.
cotto_work make a mockery of the compilers that necessitate it?
(not that they'd care) 00:14
mikehh is there no work around for it?
Whiteknight mikehh: yeah, there probably is
darbelo Has anyone built parrot with anything other than gcc in the last, say, six months? 00:15
Coke yes.
chromatic I thought MSVC hated it.
Coke darbelo: check the smolder reports.
icc hates it.
jonathan chromatic: MS VC++ stoped hating it earlier on today.
darbelo We shipped 1.7 with msvc building broken.
cotto_work jonathan just got parrot building with msvc earlier today iirc
Coke (line length requirements) let's not be slaves to the coding standards over supporting more compilers. =-) 00:16
jonathan chromatic: When I sorted out the export/import mess.
darbelo jonathan++ then.
Whiteknight that's cause jonathan is a rockstar
jonathan Turned out being able to build latest Parrot was a pre-requisite to being able to patch Rakudo up to run on it. ;-)
By the way, spectests are running sloooow, but looking really good so far. 00:17
I've got 1 issue which I knew I'd have 'cus I didn't put auto-threading back properly yet.
And one other that I think is due to sub name escaping changes of late.
Rather than anything PCC related. 00:18
So I expect I should manage to merge this tomorrow.
After that, I'll give using :call_sig a crack, and making things a tad more efficient.
NotFound mikehh: the workaround is to add a local STRING * const var for the CONST_STRING, usually with a block to scope it. 00:19
Whiteknight does NQP have a loadlib command? or an easy way to access that opcode?
or do I have to Q:PIR{{}}? 00:20
cotto_work looks like Q:PIR{...} 00:21
mikehh All tests PASS (pre/post-config, smoke (#29410), fulltest) at r42132 - Ubuntu 9.04 i386 (g++)
in testr (fulltest) t/pmc/eval.t - TODO passed: 12
jonathan Yeah, Q:PIR I believe.
erm
Q:PIR { ... }
I don't think there's any "use" statement though.
cotto_work is nqp still a proper subset of Perl 6? 00:22
Coke if we are fixing line length, I'm a fan of "make it even", not "make the first line as long as possible."
but IANACSN.
chromatic If we made the CONST_STRING generator use something other than __LINE__, we'd have to *rewrite* .c files. 00:23
jonathan cotto_work: I think not too far off.
cotto_work chromatic, typo in your blog post around "I find the argument that" 00:27
mikehh anyway heading back to 9.10 amd64 - bbiab 00:28
chromatic Thanks, cotto_work. 00:29
darbelo chromatic++ # "ļæ½Santa vaca!" 00:35
jonathan -> sleep 00:37
Whiteknight urg, NumMatrix2D isn't resizing correctly now
or, at least it isn't stringifying correctly now
darbelo Whiteknight: what's your testcase?
Whiteknight $P0[3;4] = 30 00:38
00:38 mikehh joined
Whiteknight and the matrix stringified to a row-vector of like 20 items 00:39
darbelo Ouch.
Coke wonders if whiteknight looked at the prior art in aplvector 00:40
Whiteknight Coke: don't wonder. I didn't 00:42
darbelo Whiteknight: resizing is right. It's the get_string() VTABLE that's wrong. 00:43
Whiteknight ah, okay 00:44
darbelo I'd look at the loop near line 115 00:45
Whiteknight yeah, this function needs to go 00:47
I don't think it's performance critical, we can do it with STRINGs instead 00:48
Coke shame, probably would have saved you some effort. Ah well =-)
darbelo I would look at whatever aplvector is doing first.
00:49 abqar joined
darbelo Then I'd ignore it and just concatenate the output of O(N * M) Parrot_num_to_str() calls. 00:49
;)
Coke code.google.com/p/paraplegic/source...vector.pmc 00:52
There is no get_string, but it does do a multi-dimension array using a 1d array, and then just manages the shape itself. 00:53
Coke supposes he should make APL work with parrot again. 00:54
darbelo Coke: Thing is, parrot-linear-algebra is interfacing to (C)BLAS, we're constrained by the memory layout that requires.
Coke k.
cotto ohai 00:55
darbelo hi cotto 00:56
Whiteknight I can't find an exported sprintf function 00:58
darbelo what does the sprintf opcode call? 00:59
Coke Parrot_str_format_data ?
Parrot_vsprintf_c ? 01:00
darbelo Nah, src/string/api.c
I mean, Parrot_str_format_data() 01:01
Coke I was pointing at things that are exported.
Whiteknight Parrot_psprintf()
but that doesn't quite do what I want 01:03
darbelo Whiteknight: I think Parrot_str_format_data should work there.
Whiteknight Parrot_sprintf_c is looking like the winner 01:04
Coke tene++ # fixing apl. 01:05
cotto having seen apl code, I'm not sure if that actually merits positive karma ;) 01:07
plobsing TT1147 is now split out into 3 separate patches
darbelo plobsing++
Coke wonders why APL isn't compiling.
plobsing don't thank me yet
fix it first 01:08
allison plobsing: thanks!
Coke oh. we're still using bsr. 01:13
darbelo bsr? 01:14
purl somebody said bsr was Parrot ASM for Branch to Sub Routine
darbelo Wasn't that deprecated?
pmichaud_ (load_bytecode in NQP) -- new version of NQP allows PIR::load_bytecode 01:16
mikehh All tests PASS (pre/post-config, smoke (#29411), fulltest) at r42132 - Ubuntu 9.10 RC amd64
pmichaud_ (at least, it will allow that shortly)
cotto seen jhorwitz 01:18
purl jhorwitz was last seen on #parrot 48 days, 8 hours, 34 minutes and 12 seconds ago, saying: Tene: not at all. i should have the tuits this week to work on your compile issue [Sep 8 16:35:38 2009]
Coke darbelo: yes.
more, it was removed. 01:19
APL is not under active maintenance.
darbelo Oh, APL. I totally misunderstood that. Never mind. 01:20
dalek raplegic: r8 | coke++ | trunk/tools/gen_operator_defs.pl:
Remove usage of 'bsr'/'ret' opcode.
01:22
darbelo plobsing: nci_pmc_fixup_minimal.patch looks largely sane to me.
dalek raplegic: r9 | coke++ | trunk (3 files):
ignore generated files
01:27
Coke now apl needs to roll its own testing function.
and then it'll be mostly ok. =-)
darbelo departs in search of food. 01:28
Later, dudes!
01:28 darbelo left
Whiteknight fixed it, finally 01:29
01:30 zak_ joined
dalek rrot-linear-algebra: 607cdf8 | Whiteknight++ | (2 files):
convert NumMatrix2D to use Parrot STRING natively in VTABLE_get_string. A little less performance in exchange for automatic memory management. Also, using tabs between elements instead of spaces.
01:31
purl I don't know how to convert NumMatrix2D to use Parrot STRING natively in VTABLE_get_string. A little less performance in exchange for automatic memory management. Also, using tabs between elements instead of spaces..
Whiteknight thanks Purl, very helpful
chromatic purl, go play in botsnack
purl thanks chromatic :)
Whiteknight and now I'm spent. Goodnight 01:34
cotto kicks purl with a botsnack 01:35
02:02 Austin joined 02:17 Zak joined 02:26 s1n_mini joined
s1n_mini particle: ping 02:26
dalek rrot: r42133 | cotto++ | trunk/src/hash.c:
[hash] fix the profiling runcore by allowing hash_value_to_int to retrieve values from a pointer hash
02:27
cotto what is a Sub's multi_signature? 02:29
nm. looks like a FIA 02:31
chromatic I always first read that as FoIA
I'm glad we don't have acronyms like Dmaj9 and F#, or else I'd suffer even more cognitive dissonance. 02:32
cotto Freedom of Integers Act? ;) 02:33
chromatic I'll tell you what the multi_signature is only if you can convince a judge to make me. 02:34
dalek p-rx: d22d3e4 | pmichaud++ | (5 files):
[nqp]: Add ternary (infix:<?? !!>) operator.
02:40
p-rx: edd37ff | pmichaud++ | src/cheats/hll-grammar.pir:
Fix line number reported by <.panic>.
p-rx: 6085a7a | pmichaud++ | (2 files):
[nqp]: Add postcircumfix:<[ ]>.
02:57 KatrinaTheLamia joined
dalek p-rx: b8a2ea3 | pmichaud++ | (3 files):
[nqp]: Add postcircumfix:<{ }> and postcircumfix:ļæ½< >ļæ½.
02:57
03:01 JimmyZ joined
dalek p-rx: 533eee8 | pmichaud++ | (3 files):
[nqp]: Add Q:PIR for inline PIR.
03:09
p-rx: e8e8388 | pmichaud++ | (3 files):
[nqp]: Add return statement.
03:20
cotto Is there a nice way to get a string representing the type signature of a sub? 03:22
03:41 KatrinaTheLamia joined 03:42 janus joined 03:51 hiroyuk__ joined 04:44 dduncan joined 04:46 theory joined 05:03 dduncan left 06:02 jsut_ joined 06:09 Zak joined
dukeleto back home in pdx! 06:17
it is definitely winter here. we had slushy hail for five minutes 06:18
06:19 cotto joined
cotto clearwire-- 06:20
irclog 06:23
irclog?
purl irclog is irclog.perlgeek.de/parrot/today
cotto botsnack?
purl :)
cotto literal botsnack
purl thanks cotto :)
cotto unbotsnack
purl :)
cotto ctrl-z
06:25 Zak joined 06:43 cotto joined
dukeleto purl, have some cheese 06:55
purl dukeleto: what?
dukeleto purl, cheese is really tasty and often quite stinky
purl ...but cheese is made from milk. or www.ilovecheese.com/ or queso or fromage or formaggio or KƤse or сыр or kaas or caws or ćƒćƒ¼ć‚ŗ or www.kraftfoodingredients.com/Produc...ons.htm...
dukeleto purl, have some cheese is the cheese is made of MENSCHENFLEISCH!!!11! 06:56
purl OK, dukeleto.
dukeleto purl, have some cheese
purl hmmm... have some cheese is the cheese is made of MENSCHENFLEISCH!!!11!
06:56 uniejo joined
Patterner a yummy Soylent Blue? 06:59
07:07 fperrad joined
dukeleto msg Whiteknight are you trolling me on your blog about no one writing a test suite in pure parrot? 07:16
purl Message for whiteknight stored.
dukeleto msg Whiteknight plumage!
purl Message for whiteknight stored.
chromatic dukeleto, do you have recent timings and benchmarkings? 07:22
dukeleto chromatic: no. but I could have them, soonish. what do you require? 07:23
and I need to write a tutorial about how to set it up
dukeleto kicks /me
chromatic I'd like to see how trunk is doing on a handful of files in examples/benchmarks, plus whatever Euler you want to run. 07:24
trunk compared to 1.4, 1.5, 1.6, and 1.7
1.4 and 1.7 and trunk would be great.
Whatever else you have is gravy.
07:27 fperrad_ joined
dukeleto i have all released versions, that is easy 07:36
chromatic: which branches do you need/
chromatic: or ?, even 07:37
chromatic: just trunk?
chromatic: it is trivial to bench other branches
chromatic: i will probably run the gc benchmark, fib.pir, primes.pasm, and maybe an euler problem 07:38
07:48 Zak joined 07:50 janus joined 07:52 whoppix joined
chromatic Just trunk is fine. 08:01
bacek_at_work oofib.pir 08:04
purl oofib.pir is good for objects.
dukeleto bacek_at_work: if you need any branches toolbenched, let me know 08:17
08:22 jsut joined
dukeleto i would benefit greatly from a server that I could benchmark on 08:24
currently it is my laptop, which sucks. I have to stop hacking.
moritz dukeleto: I can give you access to one 08:25
dukeleto moritz: yes plz and thank you 08:26
moritz: can I peg the cpu(s) on it?
moritz dukeleto: it has 4 CPUS - if you wan to use more than one or two for a longer period of time, niceing it would be nice 08:27
but you can for example burn all cycles of one CPU - no problem with that
08:28 Patterner joined 08:30 whoppix joined
dukeleto moritz++ moritz++ moritz++ # giving dukeleto access to a benchmark machine 08:38
moritz bloonix++ # providing that machine 08:39
08:43 nbrown_ joined 08:45 whoppix joined 08:49 whoppix joined 09:03 payload joined 09:04 whoppix joined 09:21 payload1 joined 09:23 payload joined 09:28 chromatic joined 09:45 whoppix joined 10:02 JimmyZ joined 10:10 payload joined 10:13 masak joined 10:36 plobsing joined 10:42 plobsing joined 10:44 desertm4x joined 10:53 payload joined 11:32 payload1 joined 11:40 jsut_ joined 11:58 bacek joined 12:32 iblechbot joined 12:38 whiteknight joined
whiteknight good morning, #parrot 12:43
Austin Good morning, Andrew. 12:44
whiteknight Hello Austin
how is Close doing today?
Austin Close is on hold, impatiently waiting for me to get Kakapo to a usable state.
:(
whiteknight Kakapo?
Austin Kakapo is a program framework, runtime library, and collection of useful functions for NQP programs. 12:45
(for purl)
12:46 Austin joined
Austin Whoops. Killed the wrong process. 12:46
bacek This process was definitely wrong and deserved to be killed. 12:48
(o hai, btw)
Austin Hello, Bacek.
What does it mean when pbc_merge dies with "Parrot VM: PANIC: Out of mem!" on a failed allocation of 0 bytes? 12:49
And while I'm asking annoying questions, has 1.7 stabilized yet, post-pcc? 12:51
whiteknight Austin: no idea. Why are you trying to allocate 0 bytes?
Austin: also, does Kakapo have a link?
Austin whiteknight: I'm not trying to allocate anything. I'm trying to link two pbc files.
whiteknight we can link pbc files? 12:52
whiteknight has a lot to learn about pbc
Austin git@gitorious.org:kakapo/kakapo.git
jonathan Yes, pbc_merge was written to do that. 12:53
Ages back.
But I fear, was not maintained.
Austin I'm trying to solve the load-time ordering problem right now.
jonathan: It was working fine until a moment ago. I've apparently generated a toxic pbc file.
12:56 desertm4x joined
whiteknight desertm4x: I rewrote NumMatrix2D.get_string last night to use Parrot STRING natively instead of generating a C string and converting 12:57
we probably lose some performance, but gain more flexible automatic memory management
desertm4x Yes, I saw it. This looks good. :-)
whiteknight it also has an install make target now, so all the infrastructure is in place. From this point we only need to add features 12:58
desertm4x =)
Btw, I thought about the different types BLAS is supporting. We probably could share most of the code for these types if we created a table (i.e. struct) with pointers to all relevant functions in BLAS. We only need to provide a different function table for the different types. And it would be pretty cheap as well in terms of performance, I think. 13:02
dalek a: b711ab3 | fperrad++ | src/pmc/lua (2 files):
modernize API
13:04
whiteknight desertm4x: I'm not entirely sure I know what you're talking about. Example? 13:05
desertm4x Well cblas has functions for adding vectors of floats or doubles. Our matrix-adding function is based upon these functions. Now we could have a pmclass Matrix with a pointer to one of these functions and two pmclass'es FloatMatrix, DoubleMatrix extending that type that set the pointer according to the type. So we could write most of the code type-agnostic but still call the right BLAS function. 13:09
whiteknight ah, that's a decent idea 13:12
I wonder if this is the best though, or if we would do better with code generators and lots of macros 13:13
that is, we write templates, and use a code generator to pick the correct data types and function calls for us
desertm4x I thought of that as well. It's a trade-off ... size vs. performance. But the impact on both of them should be minimal, no matter how we do it, I think. 13:15
moritz the biggest performance condsiderations are 1) cache friendlyness and 2) vectorizations
some BLAS libraries are really tuned for both
you'd have to reinvent lots of wheels to do that stuff yourself 13:16
whiteknight right. We're deferring most of the processing to BLAS
basically the NumMatrix2D PMC is just a wrapper around CBLAS.
my computer won't let me create a folder named "aux" 13:19
PerlJam whiteknight: that's what you get for using windows
whiteknight PerlJam: tell me about it. It's a work thing
Austin Funny, my linux box won't let me create a folder called /dev/null. 13:20
whiteknight I wonder if that's some kind of OS thing?
ah nevermind. it s
whiteknight slowly remembers is DOS-foo
Austin Yes. Aux is reserved under DOS. As are NUL, PRN, LPTx, CON, and KBD. 13:21
whiteknight desertm4x: can you do me a favor and rename the "aux" directory in Matrixy to something else?
Austin (I think KBD. I don't remember much from CP/M.)
desertm4x yes.
whiteknight thanks! Otherwise I can't even get the repo here
desertm4x What's a good name for it? Or what is aux standing for? 13:22
whiteknight I have no idea. Darbelo created it 13:23
"build" is a good name
desertm4x done. 13:24
whiteknight w00t. desertm4x++
did you push? 13:26
desertm4x Yes, but aux is still showing up on github for some reason. 13:27
I used git mv ... but it did not work?
Austin Auxilliary?
whiteknight Austin: doesn't matter what, so long as it isn't "aux" 13:28
Austin Extra, supernumerary, superfluous, unneeded, additional?
whiteknight it could be "DAMNIT_I_HATE_WINDOWS" for all I care
desertm4x: git mv aux build; git commit -a -m "whatever"
then git push 13:29
dalek rrot-linear-algebra: 4b02b89 | (Markus Mayr)++ | build/config-helpers.pir:
Renamed directory aux/ to build/.
rrot-linear-algebra: e04c3cc | (Markus Mayr)++ | aux/config-helpers.pir:
Removed aux/config-helpers.pir.
desertm4x now it's working ... I forgot to checkout before pulling, I think.
whiteknight Oh, I was looking at Matrixy, not parrot-linear-algebra 13:30
could you fix Matrixy too?
:)
Austin sings, "I was a rebel from the day I left school. Grew my hair long and broke all the rules. I'd sit and listen to my records all day, with big ambition for when I could play. My parents taught me what life was about - so I grew up the type they warned me about!"
moritz
.oO( whiteknight has found a minion? :-) )
whiteknight no minion. I'm in desperate need and desertm4x is saving my ass 13:31
he's my hero
Austin Man, ever since I installed TortoiseGit the "file/open" dialog box has been dog slow. 13:33
whiteknight Works perfectly, again! desertm4x++ 13:34
desertm4x np
whiteknight I want to create a PMCMatrix2D type, that holds a 2D array of PMC pointers 13:35
dalek trixy: db7d287 | (Markus Mayr)++ | (2 files):
Renamed directory aux/ to build/.
whiteknight It will just be simple storage, no BLAS interfaces of course 13:36
Austin Is there any way to ask the interpreter what its maximum caller depth is? 13:37
Other than by weighing the truck and rebuilding the bridge? 13:38
dalek trixy: 570ea13 | unknown++ | README.pod:
Fix the CONTACT section of README to point to the new project page
13:41
whiteknight why the hell did it list me as "unknown"?
moritz whiteknight: did you configure your git locally with your name and email address/ 13:45
whiteknight ah no. I did not
moritz++
Austin: you know what would be awesome? A text editor that had Perl6/NQP text highlighting 13:47
Austin You mean notepad++?
whiteknight Austin: notepad++ has NQP highlighting?
not the version I am seeing
moritz whiteknight: vim has
Austin (Admittedly, I don't care about Perl6, but I've got a nice NQP highlight going.)
whiteknight Austin: I might have to steal your config file then 13:48
nopaste "Austin" at 98.235.55.43 pasted "NP++ userDefineLang.xml file for PIR, NQP, Close" (70 lines) at nopaste.snit.ch/18475 13:49
Austin Goes in your SERPROFILE%\\Application Data\\Notepad++ directory 13:50
* Should be %USERPROFILE%%
with the right number of percent signs = 1
13:53 Andy joined
whiteknight Ah that's why I can't find it 13:57
Austin ?
whiteknight that file only had NQP and Close, no PIR 13:59
Austin Really?
Hmm. Maybe it's been a long time since I exited the editor.
nopaste "Austin" at 98.235.55.43 pasted "NP++ userDefineLang.xml file for PIR, NQP, Close (Now with REAL PIR\\!)" (104 lines) at nopaste.snit.ch/18476 14:01
Austin May I say how much I hate bash's dogged preservation of the abomination that is '!' substition from csh? 14:02
whiteknight you may
Austin A f!@#% lot, is how much. 14:03
whiteknight Fun fact: A f!@#% lot is exactly 4 shittonnes
we're still holding out against the metric system 14:04
Austin F!@# the metric system.
If Thomas Jefferson had spent the damned money on a decent navy, maybe I'd be willing to listen. 14:05
But no, he got behind "coastal gunboats." After that, all his other ideas are automatically suspect. 14:06
14:07 ash_ joined 14:08 particle joined
Austin Anyone know if the Ares launch is still going today? 14:08
whiteknight I have to redo all the colors in these since I have a black background, but it's good to have all the rules in place 14:09
Austin That's a real pain with the way np++ does colors. Easier to edit the xml directly. 14:10
whiteknight it might be a pain, but I've never found another editor with that much flexibility in highlighting 14:12
Austin :) 14:13
kthakore hi 14:26
14:31 kj joined
Austin hello, kthakore 14:31
kthakore um where can I find the awesome paste-bin scripts you guys use? 14:32
Austin $PARROT/tools/dev/nopaste.pl
kthakore ah my thanks
particle ares 1-x is waiting on weather 14:47
it needs 15m of good weather to launch, may not get it
Austin I know they pushed it back to 10. I wasn't sure if they were going to keep waiting, or scrub for tomorrow. 14:48
particle was at the cape two weeks ago. saw ares in the vehicle assembly building
kj 15m of good weahter, what's "m"? minutes?
particle yes, minutes
15 meters isn't enough good weather ;) 14:49
kj haha i was thinking :-)
Austin miles, perhaps
kj in China they would shoot some rockets into the sky to make the rain fall, and go away
14:50 jjore joined
moritz m = month :-) 14:52
Austin In other news, today China announced their first entirely-voluntary manned space launch...
:)
kj before that it wasn't voluntary??
Austin (1) it was a joke. (2) I have no idea. (3) would you volunteer for the first manned attempt by any space program, considering the history? 14:53
kthakore hi guys I borrowed your nopaste.pl script 14:54
kj by now i think they can figure it out how to do it safely :-)
kthakore here bit.ly/3un0Gp
but I can seem to get it paste to the channel 14:55
I do get a paste on the site with the correct url.
anyone? 15:00
purl No. No one, in the history of the universe, has ever used what you're talking about. Nor would they want to. Now go kill yourself.
Infinoid wow. 15:01
kthakore shoots him self in the face. But misses and shoots purl in the gonads
Austin Do you get the successful "Your paste be found at..." reply?
whiteknight kthakore: where are you setting the irc server in that script?
moritz kthakore: is there a paste bot in #sdl?
kthakore Austin: yes
moritz: yes
Austin Then your problem is likely not with the script, but with the website the script is submitting to. 15:02
moritz and you need to contact the one who's running it
whiteknight oh nevermind, stupid question
kthakore whiteknight: here is the script github.com/kthakore/SDL_perl/blob/d...nopaste.pl
moritz: it works if I do it by hand
dalek rrot: r42134 | jonathan++ | trunk/MANIFEST.generated:
[install] Also need pmc_callsignature.h available so it's possible to get the returns signature out of the call signature.
15:07
15:10 theory joined
particle kthakore: try a simpler www::mech script for that site, like printing out the results from the get 15:10
oh, nm, back from scrollbackland
15:11 Psyche^ joined
particle yeah, still, the 'your paste can be found' isn't a success message 15:11
it prints even if the submit fails. that's a bug.
kthakore particle: but it should work the same way as it does for #parrot right? 15:17
particle aye
kthakore particle: ??? I is confused ...
particle: have you seen the script? github.com/kthakore/SDL_perl/blob/r...nopaste.pl 15:20
particle: did I do something wrong?
15:30 Austin left, Austin joined
Austin kthakore, the script as is works, to the extent that it creates a nopaste entry on the website. 15:32
particle returns 15:33
Austin If it is not communicating that to the irc channel, that's a different problem.
kthakore Austin: right
Austin: but when I do manually on the same site it works
Austin Okay.
Is the website also yours? 15:34
moritz talk to the owner of that website, he might have some insights into log files or so that's hidden from us
kthakore moritz: ok
thanks
Austin: no
its mst's
Austin It may be the case that the site is preventing automated pastes. MAybe they're checking user-agent settings or something. 15:35
particle kthakore: it works for me
C:\\Users\\particle>perl t-paste.pl -t "foo" t.pl
Your paste can be found at scsys.co.uk:8001/35467
C:\\Users\\particle>cat t.pl 15:36
use strict; use warnings; use C; my $c = C->new(); print $c->whoami;
they match.
kthakore particle: right but no message on #sdl
particle oh
kthakore mst pointed me to this now search.cpan.org/~sartak/App-Nopaste/
particle: so I am going to unsteal you script :)
particle that's the paste bot's job
or the paste site's job 15:37
kthakore particle: the paste site is fine when I do it manually
Austin CPAN has a module that directly supports the scsys site, so that's clearly what you want to be using.
kthakore Austin: App::Nopaste 15:38
purl hmmm... App::Nopaste is useful on its own
Austin Yes. One of the submodules mentions scsys explicitly.
kthakore Austin: particle: thanks guys 15:39
I know I was way of topic
Austin np
pmichaud_ nqp comparison... 15:42
nopaste.snit.ch/18477 # code generation under old nqp
nopaste.snit.ch/18478 # code generation under new nqp
NotFound pmichaud_: so we no longer want the vivify opcodes? 15:43
pmichaud_ oh, I still want vivify, yes 15:44
vivify will be very helpful for aggregate lookups
particle wow, huge reduction of call frames 15:45
direct binding, without a temporary scope should speed things up significantly, and definitely aid debugging 15:46
15:49 darbelo joined
particle pmichaud_: are you looking in a lex registry now, to know that $a exists already? 15:50
pmichaud_ yes
each PAST::Block has a registry already
so I just look there to see if there are any (new) symbols defined for the block 15:51
particle does that also handle contextuals, or will it?
pmichaud_ if not, then inline the block
contextuals are just lexicals now (so yes)
particle much cleaner code with that small bit of smartness
pmichaud_ and much faster, especially for loops
particle cleaner *pir code
indeed
will you do magic var detection upon scope creation? 15:52
pmichaud_ hmmm?
particle so you don't need to init $_, $!, etc?
pmichaud_ oh, NQP doesn't have $_, $!, etc.
so no.
particle hrmm, we'll have regexes, but not $/ ?
pmichaud_ oh, we have $/
but it's not lexical per-scope (yet) 15:53
particle aha.
pmichaud_ actually, I suspect $/ will be no different either
now that I think about it. A regex match will be:
my $/ := Grammar.parse($target);
or something similar that explicitly sets $/ 15:54
have to think about that one a bit
particle ok, so there's no magic $/, you'll have to create it yourself
pmichaud_ right, same with $_
(although for blocks currently create a magic $_ for you) 15:55
particle hrmm
will there be smartmatch?
pmichaud_ I might smarten the heuristic to create $_, $/ if they're referenced at all within the block
particle yeah, i think that'd be better 15:56
pmichaud_ (and if created, the block isn't inlined)
particle 'my $/' isn't perl-sixy enough
pmichaud_ well, we already have $/ in action methods
particle sure, they're idiomatic there
pmichaud_ actually, I might want to create $_, $/ only if they're bound within the block
I wouldn't want 15:57
if $cond { say $<xyz>; }
to cause generation of a $/ lexical in the block
particle true.
yes, that'll work.
will there be exceptions?
pmichaud_ ....which somewhat argues for having explicit declarations of $/ :-)
particle not if there's smartmatch 15:58
pmichaud_ the point isn't to exactly emulate everything that Perl 6 does :-)
implementing smartmatch in general is likely to be difficult
particle yes, i know
pmichaud_ because the underlying Parrot objects aren't sophisticated enough on their own to do it
particle ok, that's what i wondered, will there be reason for funky control flow that involves exceptions and $/ etc 15:59
pmichaud_ and NQP wants to avoid a runtime library that gives them the capability
particle and how will that be managed in such a small/optional runtime
moritz how will you do regex matches then?
particle ok, great. so nqp is still very similar in scope
pmichaud_ moritz: $regex.parse still comes to mind
moritz $regex := rx{ ... }; $/ := $regex.match($str) or so?
ok
pmichaud_ decides to reward himself with some lunch before finishing up the next stages of nqp. 16:03
...which are: named parameters, modules, classes, grammars, and regexes. 16:04
then we'll see how close we are to bootstrapping this puppy :)
16:04 Coke joined
pmichaud_ I'm also going to have to come up with some sort of optimization for lexical subs -- lexical subs have to be initialized at the beginning of the block, as opposed to the point where they're declared. 16:05
s/optimization/additional handling
oh, and contextuals 16:06
maybe I'll do contextuals next
anyway, lunch
purl hmmm... anyway, lunch is sounding like a good idea about now
pmichaud_ (for once, I agree with purl.)
dalek p-rx: 79ebf77 | pmichaud++ | src/NQP/ (2 files):
[nqp]: Add named arguments to sub signatures.
p-rx: 3fa19de | pmichaud++ | src/NQP/Actions.pm:
[nqp]: Add an optimization to inline immediate blocks w/o lexical declarations.
16:07 ash__ joined
Tene pmichaud_: is nqp-rx being used for anything yet? rakudo migrating, etc? I haven't been paying enough attention lately. 16:16
moritz not yet, afaict
16:16 fperrad joined
Coke partcl's on the list to migrate. 16:19
I had assumed rakudo would go first, though. (And I need pmichaud++'s to hold my hand)
whiteknight Matrixy is in need of a huge rewrite anyway. retargetting to nqp-rx would be a good idea 16:24
although I'm probably going to want to see some examples first 16:25
darbelo was finally getting used to nqp. 16:26
It fits that it's changing now.
moritz nqp-rx will be a proper superset of nqp, afaict
cotto_work That's my understanding too. 16:27
proper regex support will be really nice
darbelo Look, I'm trying to look like a victim of progress here. Showing me the upside of things doesn't help the image. 16:28
;) 16:29
cotto_work I'm sure it'll be buggy, broken and hard to debug. You can't really trust that pmichaud character.
darbelo cotto++ # *That's* the attitude. 16:30
;)
cotto_work goes off to start a flamewar on parrot-dev 16:31
"HAY GUISE YUO SHULD BE USING HARD TABS INSTEAD OF SPACES"
darbelo cotto_work: No way. They just need to use a different number of spaces. 16:33
16:34 ash_ joined
darbelo Everyone *knows* that using 5 spaces per indent *quadruples* your readability. 16:34
Coke suggests using min(2^(4-col),1) 16:36
NotFound Use vertical tabs instead of boring old tabs
darbelo tries to sneak in indentation changes in all files in the repo.
Coke www.boingboing.net/2009/10/27/the-w...-swit.html - white house switches to drupal. 16:41
darbelo parrot: r42133 | darbelo++ | (572 files): 16:43
16:43 ruoso joined
darbelo parrot: [codingstd] Change spaces to hard tabs. parrot: review: trac.parrot.org/parrot/changeset/42133/ 16:43
cotto_work nice try
purl indulges in a bit of evil laughter.
whiteknight was about to throw a fit 16:44
Austin darbelo++
Works for me.
whiteknight OH NOES! MAH SPACES!
Austin parrot: [codingstd] Change vim settings to 1-space tabs. 16:45
darbelo replaces whiteknight's space bar with a tab key.
Austin Or better still: U+47392..U+47394: C0D3RZ 2-SPACE TAB, C0D3RZ 3-SPACE TAB, C0D3RZ 4-SPACE TAB 16:47
cotto_work Oh unicode, is there anything you can't do?
Austin Anyone know anything about gitorious? Specifically, is there a mechanism for archiving the wiki like there is on GoogleCode? 16:49
whiteknight purl msg dukeleto: I wasn't aware of the plumage test harness. Will <s>blatantly steal</s>borrow that later 16:50
purl Message for dukeleto stored.
whiteknight so much work to do for Matrixy! I get excited about it 16:53
16:54 payload joined, mikehh joined
darbelo Tene++ # Re-examinig his priorities. 16:57
whiteknight what are Tene's priorities, and why is he reevaluating them?
darbelo whiteknight: have you tried configuring parrot-linear-algebra after the file moves?
whiteknight: see #parrotsketch logs.
whiteknight darbelo: no. But now I can at least clone the repo
ah, I forgot about #ps today 16:58
darbelo It's broken for me, it can't find the moved files. Adjusting now.
whiteknight okay, awesome
I figured there would be some issues
whiteknight has a meeting soon, so has to log off IRC. Be back before #ps. Later 16:59
darbelo I should re-relocate the file to config/ to centralize Configure-time data. 17:00
whiteknight: what do you think about that?
whiteknight I like it
just don't name the folder "aux", or "con"
:)
later
darbelo ok, doing it.
purl i guess doing it is beyond difficult.
17:02 mikehh joined
pmichaud_ nqp-rx is mostly a superset of nqp 17:03
there are a couple of minor changes (improvements, actually)
I'm not sure what the first project in nqp-rx (besides nqp-rx itself) will be. Rakudo is certainly high on the list, although I might do a re-impl of abc first 17:05
darbelo pmichaud_: I'm runing out of complaints here. Are you introducing bugs at least?
pmichaud_ ...and write a tutorial as I go
darbelo: yes, we have all-new bugs! 17:06
darbelo pmichaud++
pmichaud_ for example, one bug is that there's a specialized <?DEBUG> subrule that turns on regex tracing.
17:07 mokurai joined
moritz OH NOEZ, that's going to break all existing DEBUG rules ;-) 17:07
jonathan nooo...mustfix!
darbelo A debugging bug that debugs? I like that!
17:08 theory joined
pmichaud_ nopaste.snit.ch/18481 # regex tracing with <?DEBUG> 17:09
cotto_work I get the feeling that I'll be spending some substantial time staring at that kind of output. pmichaud++ 17:12
pmichaud_ it's pretty nice, because you can put <?DEBUG> in any subrule and it only traces that subrule (and the rules it calls), instead of the entire parse
it also points out potential places for pruning/optimization 17:13
dalek rrot-linear-algebra: b26a904 | darbelo++ | (2 files):
Re-relocate the file to config/ to centralize Configure support files into one dir.
rrot-linear-algebra: 0d86f93 | darbelo++ | Configure.nqp:
Adjust the path to config-helpers.pir in the Configure script.
cotto_work pmichaud_, indirectly through the debugging output?
pmichaud_ sure
watching the original debug trace is what convinced me we needed transitive longest token prefix semantics
I also found a way to prune off a lot of bogus failed rules at the end of the comp_unit 17:15
Coke ponders eliminating perl as a requirement for partcl. 17:22
Coke could replace it with tcl-compiled-to-pbc.
particle until the bytecode format changes
Austin I wonder why 'less' doesn't accept file:line as a shortcut?
jonathan I think pmichaud_ is keeping around PIR files rather than PBC files in the bootstrapped nqp-rx. 17:23
(as opposed to PBCs)
Coke fair enough. 17:24
perhaps once tcl isn't so recursive compiley.
darbelo recursive compiley? 17:25
Coke invokes the PIR compiler recursively at runtime. 17:29
e.g.:
cotto_work pmichaud_, why does nqp-rx have fewer tests than nqp in parrot's repo? 17:30
darbelo Oh. I was thinking of invoking the TCL compiler.
Coke while {$a<10} { for {set i 1} {$i<$a} {incr i} { puts $i} ; incr $a}
that invokes the tcl compiler (which invokes the pir compiler) for the while loop. but the 'for ...' is passed as a string. when you run the while command, it invokes the tcl compiler. then, when for is invoked, it invokes the compiler for the puts .... 17:31
pmichaud_ cotto_work: I'm migrating the tests across one-at-a-time as I implement them 17:36
darbelo Yep. Recursive compiley.
pmichaud_ and yes, I thought about storing PBCs, until bytecode compatibility hit me in the face. So we store PIRs. 17:37
17:37 desertm4x joined 17:38 theory joined
Coke darbelo: I am hoping that switching to something PCT like will help me do better there. 17:39
(but I have to take care that people aren't changing the meaning of "for" before I call it.)
darbelo Coke: You know, I can't really think of a way to do tcl properly without recursive compiley trickery in some places. 17:43
darbelo goes afk 17:44
17:46 particle joined
Coke darbelo: My best idea so far is to allow compiled blocks to recompile themselves. =-) 17:48
I think protoregexes will help here.
pmichaud_ Very likely.
I'm finding the protoregex approach to be very powerful as far as constructing the compiler goes. 17:49
Coke my plan is to have rules for the builtins which allow better compilation using PAST, but have a default command that does the runtime dispatch. 17:50
17:51 mikehh joined
Coke finds that converting toNumber to get_number isn't as easy as toInteger was. 17:52
Coke is using toNumber to return a float OR an int, depending. hurm. 17:53
japhb pmichaud_, In nopaste.snit.ch/18478 , do you expect that eventually the lines 'set $P16, $P24' and 'set $P16, $P21' will be optimized away?
pmichaud_ japhb: no.
japhb Why not? 17:54
Coke japhb: because IMCC can do that.
pmichaud_ for one, they aren't significant
for two, what Coke++ said
i.e., PAST isn't the place that should be doing that optiization
*optimization
I have a hard time believing that the effort required to optimize that in PAST will ever be recovered in terms of actual runtime. 17:55
japhb Well, that answers one direction they might be optimized away. The other direction is these are preparing to return something that is in void context, and I thought void context optimization was something PAST *would* care about 17:56
Coke (and if we do it in imcc, more people win.)
pmichaud_ actually, PAST doesn't think of this as being in void context
(if it were in void context, then the sets wouldn't be there)
you can see directly via .return ($P16) that it's not in void context :) 17:57
japhb Fair enough. So why isn't it void?
Yes, I saw that.
pmichaud_ because blocks return a value?
and because the mainline can return a value to its caller?
japhb But my brain went "OK, it's void, the return is useless. That makes the sets useless, and even trying to grab the return value of the says" 17:58
pmichaud_ mainline code doesn't execute in void context
japhb hmmm, ...
pmichaud_ you're probably one of those folks who in C will write "void main() { ... }"
:-)
japhb so the mainline code is in explicit int context, looking for an exit value?
pmichaud_ as far as NQP is concerned, it doesn't enforce a context on the mainline 17:59
japhb pmichaud_, I grew up on Michael Abrash books. Take a wild guess. ;-)
pmichaud_ that's decided by the caller
japhb But who is the caller of the NQP mainline?
pmichaud_ usually it's HLLCompiler
if being run from a command line
and yes, in that case the return value is then sent back as the return value of the process
japhb Ah, OK. I'm all good now. 18:00
Coke msg chromatic ; saw a jobs.perl.org posting for a "Modern Perl programmer" in Philly.
purl Message for chromatic stored.
treed Modern Perl, eh?
As opposed to Archaic Perl? 18:01
moritz as opposed to old-school perl
which two-arg open
no lexical file handles
etc.
Coke treed: see modernperlbooks.com/mt/index.html 18:03
modern perl?
purl rumour has it modern perl is hard to parse staticaly
Coke modern perl is also modernperlbooks.com
purl okay, Coke.
18:03 bluescreen joined 18:09 whiteknight joined
Austin rehi whiteknight 18:09
whiteknight rehi Austin 18:10
pmichaud_ anyone have any suggestions for a language to use to make a PCT/NQP tutorial ? 18:11
darbelo pmichaud_: ALGOL
Austin squaak, like always.
pmichaud_ I can do squaak, I guess. I was hoping for something with a somewhat formal spec. 18:12
Austin Or scheme. There've been enough people coming through that want to write a scheme interp, it's probably a faq.
NotFound squaak TNG ;)
Coke en.wikipedia.org/wiki/List_of_progr..._languages
treed Tene did Scheme for the presentation I was at.
Austin Formal spec?
darbelo Algol 68 has a spec.
Austin How about Tcl.
jonathan COBOL?
purl well, COBOL is high level to you or www.coboloncogs.org/INDEX.HTM
pmichaud_ needs to be tutorializable
jonathan ;-)
Austin Parrot needs a good tcl interpreter.
pmichaud_ i.e., not too huge to hit all of the basics
ooooh 18:13
NotFound awk?
purl awk is completely surpassed by perl or a pattern scanning and processing language or "perl without nads", according to sauvin. or at language.perl.com/ppt/src/awk/ or a programming language by Aho, Weinberger, and Kernighan. hence the name
Austin Do the OO version of cobol, then: ADD-ONE-TO-COBOL
pmichaud_ maybe I'll do the example from the end of the Dragon Book
(is there still an example at the end of the Dragon Book?)
Coke wonders if austin was trolling him. 18:14
18:14 bacek joined
pmichaud_ $91.35 WTF?!?!?!?!?!?! 18:14
18:15 chromatic joined
mikehh #ps in 15 18:15
Austin Dragon book?
$91.35?
Really?
pmichaud_ www.amazon.com/Compilers-Principles...0321486811
I think I either gave my 1st edition copy away or sold it to Half-Price Books or something when I moved to north texas 18:16
Coke pmichaud_: www.amazon.com/Compilers-Principles...ap_title_0 looks cheaper. =-)
pmichaud_: I have this one: www.amazon.com/Advanced-Compiler-De...pd_sim_b_4 and could share with you if you like. 18:17
dalek rrot: r42135 | chromatic++ | trunk/src/pmc/hash.pmc:
[PMC] Removed unused code from Hash's set_integer_native(), as reported by
mikehh what like is 25 used from $59.99
rrot: r42136 | chromatic++ | trunk/src/extend.c:
[ex] Initialized result pointer in Parrot_call_sub(), as it may end up
pmichaud_ I just need a good example language to implement.
dalek rrot: r42137 | chromatic++ | trunk/src/pmc/callsignaturereturns.pmc:
[PMC] Fixed some dodgy uses of potentially-uninitialized memory in

identified by Coveity CID #435.
Coke sees someone is using git-svn
pmichaud_ using one associated with a textbook might be incredibly useful for academia 18:18
pmichaud_ checks his library
(public library, that is)
darbelo en.wikipedia.org/wiki/Category:Prog..._languages 18:19
NotFound pmichaud_: hoc, the calculator from Kernighan & Pike 'The Unix Programming Environment' 18:20
pmichaud_ NotFound: does it have lexicals and subroutines ? 18:21
NotFound subroutines yes, lexicals I don't think. 18:22
No, it uses just positional parameters sh style. 18:23
particle how about implementing a pir to pbc compiler? ;)
pmichaud_ hmmph. public library doesn't have the dragon book
particle pir has both lexicals and subroutines
mikehh pmichaud: I've got it around somewhere (Dragon Book 2nd Ed) - not where I thought it was, but will look later 18:24
Coke pmichaud_: does your library have a network of libraries? (or perhaps perljam has it at school?)
darbelo particle: like github.com/bacek/pir/ ?
pmichaud_ Coke: yes, network of libraries here. The Plano Public Library system is incredibly good, overall -- thus I'm a bit surprised they don't already have the Dragon Book somewhere.
NerdBooks is reasonably local, I wonder if I can talk him into loaning me a copy :) 18:25
(probably not, probably violates agreements)
Coke is reminded to update his resume with foundation stuff.
allison: there's been a ticket open for that for aeons (removing pod::simple). pull the trigger! 18:26
nopaste "Austin" at 98.235.55.43 pasted "Dragon Appendix A grammar" (38 lines) at nopaste.snit.ch/18482
pmichaud_ Austin: is that the whole grammar? I remember it as being bigger. 18:27
Austin Students aren't as smart.
pmichaud_ I was a student when I read it :) 18:28
(which perhaps proves your point)
allison Coke: is 'make html' the only thing that depends on it?
Austin Plus, they pretty much immediately jump in to java implementation stuff. So that's it for the spec.
allison Coke: and can we fail-soft when it's not available?
Coke: (I'll look)
18:28 Zak joined
Coke allison: no clue, would hae to check 18:28
pmichaud_ Austin: oh. Perhaps the 1st edition was bigger.
1st edition had a miniature form of pascal or something like that. 18:29
Austin Probably so.
18:29 mikehh joined
Austin Yep. "Syntax of a Pascal Subset" 18:30
pmichaud_ maybe I'll head down to NerdBooks and peruse their collection and see if anything leaps out at me :)
Austin You want that one instead?
pmichaud_ if readily available, sure.
darbelo cloack? 18:31
PerlJam looks at his copy of the dragon book.
Coke allison: you have about a dozen tickets assigned to you in RT; that might be a good place to start when going on a ticket hunt.
allison Coke: it's also Parrot::Test::Pod
darbelo Hmm.
Clock?
purl darbelo: LAX: Tue 11:31am PDT / CHI: Tue 1:31pm CDT / NYC: Tue 2:31pm EDT / LON: Tue 6:31pm GMT / BER: Tue 7:31pm CET / IND: Wed 12:01am IST / TOK: Wed 3:31am JST / SYD: Wed 5:31am EST /
allison Coke: okay, will look there
pmichaud_ Actually, come to think of it I have to head down to the NerdBooks part of town this evening anyway, so I'll definitely swing by there.
Coke allison: (goal being to either reject them or move them into TT if we're keeping 'em.) 18:32
can one of our windows guys look at RT#44855
?
whiteknight Coke: looking... 18:33
18:34 cotto_work2 joined, kurahaupo joined
NotFound Coke: What's t/src/compiler.t ? 18:37
purl t/src/compiler.t is, like, the only one needing attention
18:38 zak_ joined
Coke NotFound: Iunno. 18:38
is that on the ticket? =-)
NotFound Coke: yeah
Coke I just saw windows/msvc/extension
NotFound Coke: If it was an old version of extend/embed, the bug are the tests themselves. 18:39
Coke NotFound: so if you can fix that by removing the tests, we all win.
NotFound Coke: but there is some problem in trunk? 18:40
whiteknight We do need a test proving that we can link against libparrot on windows
18:40 fperrad_ joined
whiteknight whether that's the correct test for it, I don't kno 18:40
nopaste "Austin" at 98.235.55.43 pasted "Dragon Appendix A grammar: OLD SK00L" (106 lines) at nopaste.snit.ch/18485 18:41
pmichaud_ Austin++ # thanks!
Coke NotFound: I'm just trying to close out old tickets. 18:42
NotFound whiteknight: just build examples/embed
18:42 tuxdna joined
whiteknight can't do it now. will try later 18:42
18:49 einstein joined 18:51 Ron joined
einstein I have been busy for a while on ticket 1020, but I would like to know how other think about, since it is pretty big change 18:52
dalek kudo: 6c39fac | jonathan++ | src/pmc/perl6multisub.pmc:
Switch Perl6MultiSub to use Parrot_ext_call instead of Parrot_call_method, which has gotten broken. This plus an earlier fix to Parrot (we'll need to bump PARROT_REVISION again) means we make it through the build.
18:53
kudo: d9b4f55 | jonathan++ | src/ (2 files):
More switching over to Parrot_ext_call.
kudo: 552431e | jonathan++ | src/ (4 files):
Few more changes to Parrot_ext_call, plus making sure we don't blow away the signature PMC.
kudo: 6b04b37 | jonathan++ | src/ (3 files):
Turns out in bind_signature we need to save some state now too, otherwise it can get scribbled over a bunch. I fear there's an underlying problem or other change that is hurting us somewhere here, and it'll come back and bite us later, but this at least gets us able to start up (though we fail most of the sanity tests).
kudo: 571425b | jonathan++ | src/pmc/p (3 files):
Various other tweaks to get us running the sanity tests, all benchmarks and the initial spectests look OK too.
kudo: 952c0b7 | jonathan++ | src/ops/perl6.ops:
Fix up junctional dispatch and returning of a new junction.
kudo: d4f0367 | jonathan++ | build/PARROT_REVISION:
Need to bump to latest Parrot.
kudo: d1dbec7 | jonathan++ | src/classes/ (2 files):
Try and clean up prefix:\\ naming.
kudo: 61c54ef | jonathan++ | src/ (2 files):
Couple of fixes that get us passing the multi-method/.* interaction tests again. We also manage to win a couple of unexpected passing TODOs.
kudo: e8cac16 | jonathan++ | :
Merge branch 'pccupdate'
whiteknight einstein: you got flooded out! 18:54
einstein I have been busy for a while on ticket 1020, but I would like to know how other think about, since it is pretty big change
whiteknight einstein: I can't speak for everybody, but I think the answer is going to have something to do abou performance
accessing attributes from a hash by name is going to be significantly more expensive then just pulling them out of a C struct 18:55
(unless I'm misunderstanding your plan)
einstein no that is not what i'am going to do 18:56
the c structures stay as it is, which some small restrictions
18:56 mikehh joined
Coke pmichaud_: doesn't Parrot_ext_call let you invoke methods? 18:58
pmichaud_ Coke: Perhaps it does; last time I looked calling methods from C was a bit of a challenge.
but that was some time ago.
whiteknight einstein: Okay, I'm sorry then. What are the restrictions? 18:59
(I'm confusing this with a different proposal apparently)
NotFound pmichaud_: last time I tried, a few months ago, was just a business of locating the appropiate functions. 19:00
jonathan Calling methods from C is quite verbose, put also doable.
einstein the c structure may only contain pointer to c structure, pointer to pmc, INTVAL,FLOATVAL and pointer to String
Coke (github on IE6)--
whiteknight IE6--
einstein IE6 is dead :) 19:01
japhb IE6 is officially deprecated by several large sites. It's at least moribund
Coke it's also the official browser at work.
japhb Coke, you could always install ChromeFrame. :-)
einstein whiteknight: I will add some documentation on how I (planned) it to implement it 19:02
japhb Coke, then (in all seriousness) your IT manager needs a review.
Coke pmichaud_: github.com/partcl/partcl/blob/130f7...string.pmc , look at get_bool and get_integer
japhb: Yah. I'll get right on that.
whiteknight einstein: okay, that's a good idea
I'll have to read it more closely
japhb Coke, kick some ass. Take some names. ;-)
Coke: are you not allowed to install anything?
einstein i will add some more detailed documentation, since i now have implemented some of the items
whiteknight einstein: have a branch? 19:03
einstein to morrow I will have some time to do it
no, but that would be very fine to have
Coke japhb: I have admin privs. I've got about 5 browsers installed.
darbelo einstein: If you have features implemented, code is better than docs.
japhb Coke, good! 19:04
darbelo Just put patches in Trac and we'll review.
japhb has had to recently deal with a few "Only have IE 6, and can't install anything" cases.
allison einstein: I'll read through the plan
japhb I'm required to make sure my $day_job web site doesn't completely fall over in IE 6. It's not worth doing any better than that, though. 19:05
einstein I can add patch of changes so far, or put it into a branch (if you create it for me)
darbelo einstein: put the patch on trac. I'll create a branch for you later. 19:06
einstein note, that is code under def, with lots of coding standard violations and failing tests :$ 19:07
whiteknight yeah, send in a patch and we'll put a branch together
einstein ok 19:08
whiteknight or you could put together a branch on github to look at it without having to go through us
19:09 theory joined
darbelo Oh, right. That too. 19:09
darbelo had forgote about the github mirror.
einstein I could do it on github, but did never had my own code on github 19:10
whiteknight einstein: I didn't either, and as of two weeks ago I have two projects there!
I can create a repo and give you access, or you can make it, or we can create an SVN branch and you send us patches 19:11
whatever you want
einstein i think a svn branch is the best solution 19:12
19:12 cotto_work joined
whiteknight einstein: that's cool too. 19:14
19:14 cotto_work2 left
whiteknight put together a patch, attach it to the ticket, and i'll make sure it gets done tonight 19:14
einstein ok i will do, I am busy
whiteknight okay, take your time
einstein Not that I have merged the orderedhash_revamp branch into my code because i needed that one 19:19
Austin Boy, there is nothing like the sweet feeling of sinking 10 or 15 minutes into diagnosing a problem, only to stumble upon the commented out line in the makefile that you left there from diagnosing an earlier problem. :-$ 19:20
whiteknight Austin: you are your own worse enemy 19:22
Austin always
whiteknight urg, I hate when typos create stupid-looking grammar errors 19:23
Tene allison: you're open to requests; my request is :vtable('invoke')
pmichaud_ whiteknight: it could be worst.
Austin :) 19:24
whiteknight Tene: ah yes, I had forgotten about that
allison Tene: what about it?
whiteknight Tene: I think it should be very possible now
allison Tene: fixing the problems with overriding 'invoke'?
Tene allison: I'd like to be able to override the invoke vtable in PIR classes.
pmichaud_ Rakudo is still struggling with the 'methods entered in namespace' problem, fwiw
NotFound +1e10 for that
pmichaud_ (NQP is starting to struggle with it also.)
allison Tene: yes, should be possible now
whiteknight allison: how does IMCC do the "self" keyword now? 19:25
19:25 Zak joined
pmichaud_ it's likely to get a little worse soon, too, since Perl 6 has changed so that subs default to lexical instead of package scope 19:25
whiteknight does it pull self out of the signature?
allison Tene: may need to provide a PIR interface to the call signature object
whiteknight: it's a dastardly hack
whiteknight dastardly eh? Sounds like I have some reading to do 19:26
allison Tene: what you'd get is the raw call signature, but you can manipulate that however you like
Tene Okay, that should be fine. 19:27
Austin sings, "That's where I find satisfactionnnn.. yeah! To search, to find, to have, to hold!"
allison Tene: we'll likely add a better interface
whiteknight we have :call_sig now. although it's an incomplete prototype of it
chromatic pmichaud_, I'll work on methods in namespaces tomorrow.
pmichaud_ chromatic: thanks
allison whiteknight: did you get my comments on it?
19:28 joeri joined
allison whiteknight: (trying to remember if that was in a ticket or IRC) 19:28
whiteknight allison: I did but have since lost them (they were IRC message). Patch went in without your suggested changes, but I was careful to mark it as experimental so we could fix it
it's very limited. See src/op/cc_params.t for examples of everything it does 19:29
japhb chromatic, bacek_at_work: Did you guys manage to get back to tip being as fast as 1.7?
allison whiteknight: r42028 and r42031, looks like
allison likes trac search
chromatic japhb, it's within a percentage point either way.
japhb (And chromatic++, bacek++ for the amazing work so far)
excellent
whiteknight allison: yep, those are it
einstein whiteknight: I exceed the maximum attachment size with my patch 19:32
whiteknight OH NOES!
hmm... email it to me?
allison whiteknight: you still have a lot of semantic checking there in IMCC
whiteknight (gmail wknight8111)
einstein ok i will do sending from hotmail 19:33
whiteknight allison: yeah, like I said I didn't apply any of your suggestions (Will, just haven't)
allison whiteknihgt: okay
whiteknight Are you positive that you want to add it in fill_params though? Seems like a huge waste to add it to the loop there
I think adding it to the get_params op might be slightly better 19:34
19:34 zak_ joined
whiteknight and avoid fill_params entirely 19:34
allison whiteknight: I'm positive that I don't want it in IMCC
whiteknight yes. No question
allison whiteknight: it doesn't have to complicate fill_params
whiteknight okay, I'll play with it tonight to see if I can find a reasonable way to do it
allison whiteknight: you can keep fill_params as it is now, and just add a check that you've actually got a PMC arg after you know it's a call_sig 19:36
whiteknight: is there any reason we should stop people from accepting the call_sig in addition to other arguments
say, "I want a string, a pmc, and I want the call sig for testing"
or for introspection 19:37
or whatever
whiteknight: the single parameter :call_sig is just an optimization to skip the rest of the processing
whiteknight allison: I asked you about it before and you said the :call_sig would be the one and only parameter 19:38
at least, I seem to remember we had that exchange 19:39
allison whiteknight: yes, it will be in the general case
whiteknight if we want to make it just like any other argument type, that would be easier actually
allison whiteknight: but, it seems like we might as well leave the option open
whiteknight okay. I'll do that for now. Make :call_sig just like any other parameter type, and allow other params with it 19:40
allison whiteknight: the cost of filling the one call_sig parameter is the same as the cost of filling any other single parameter, no matter how we implement it
einstein mail send, i have to go my girl friend is awaiting my :)
whiteknight allison: yes, but the cost of checking if(param is callsig) on every loop on every function call adds up 19:41
my motivation earlier was keeping that check out of the loop
allison whiteknight: fortunately, it's an integer flag check, so pretty cheap
whiteknight okay
I'll play with it
allison cool
jonathan Argh! No, plz we can make :call_sig real cheap, not putting it in and out of some other CallSignature PMC. 19:42
Ah, maybe nobody was suggesting that...
19:42 Zak joined
allison jonathan: no, it's not inside another CallSignature PMC 19:42
jonathan allison: OK, good.
whiteknight jonathan: a little bit of infinite recursion never hurt nobody 19:43
jonathan allison: I'm quite happy for you to not be allowed to specify any other params either side if it's a CallSignature.
allison jonathan: it's access to the CallSignature PMC, even if we're also pulling other params out of it
einstein Last thing: I would like to notice you that the CallSignatureReturns stores pointers to the INTVAL and FLOATVAL, which could be on the stack, which is a dangerous contruct !
allison einstein: it would be if they were around for any length of time, but they're not 19:44
einstein: and, that whole structure is already deprecated anyway
einstein you mean the pmc?
allison einstein: I mean handling returns by storing pointers to the result variables 19:45
CPointer too
einstein ok thanks for the information, (cpointer.pmc and callsingnaturereturns.pmc are going to be deprecated?) 19:46
allison einstein: yes, after 2.0 19:47
einstein ok
thanks
is that described somewhere?
allison einstein: not yet, I'm working on adding the deprecation tickets 19:48
einstein ok good know, thanks
bye 19:49
19:53 fperrad_ joined
darbelo pmichaud_: ping 19:56
19:59 particle1 joined 20:07 kurahaupo joined, hercynium joined
pmichaud_ darbelo: pong 20:07
darbelo pmichaud_: Do you have any test cases I can use for the -I bug you mentioned on parrotsetch today? 20:08
s/parrotsetch/parrotsketch/
20:09 theory_ joined, zak_ joined
darbelo Ideally, something I can add to the parrot test suite but anything that fails if loaded on the wrong order will work. 20:10
20:10 Ron_ joined
pmichaud_ do we have an example of testing parrot invocation flags? 20:11
Coke yes.
20:12 theory_ joined
darbelo searches 20:12
Coke t/run/options.t ?
pmichaud_ looks
darbelo finds! 20:13
Coke darbelo: there's an RT for you.
darbelo Coke: Number?
purl My number? Just call 555-JERK-IT or fairly simple
Coke darbelo: rt.perl.org/rt3/Ticket/Display.html?id=42339 20:14
darbelo A full URL? I feel spoiled :)
20:14 Zak joined
Coke dany.arbelo@gmail.com (Dany Arbelo) ? 20:15
darbelo Also, me. But not entirely.
dalek rrot: r42138 | chromatic++ | trunk (2 files):
[op] Updated experimental fetch op to take a type argument, not a PMC to clone,
20:16
darbelo I haven't used that account in ages.
pmichaud_ I don't have a test handy at the moment 20:18
but the easy thing to do would be to create a same-named file as something that is in runtime/parrot/include, but with different contents
then use the -I option to include the directory containing the same-named file
20:19 payload joined
pmichaud_ if Parrot finds the runtime/parrot/include version instead of the one given by -I, then it's not working properly. 20:19
20:19 zak_ joined
darbelo Grr. 20:34
dalek rrot: r42139 | mikehh++ | trunk/src/extend.c:
fix codetest failure - added space void* -> void * in function documentation
20:35
darbelo purl msg Coke Feel free to move RT#42339 into trac and assign to me. I don't have the tuits to fix it now. 20:36
purl Message for coke stored.
dalek rrot: r42140 | darbelo++ | trunk/src/library.c:
Make the parrot -I option prepend items to the search path.
20:39
darbelo purl msg pmichaud Fix went in with r42140, but no tests. I'll have to do those later.
purl Message for pmichaud stored.
darbelo purl msg pmichaud_ Fix went in with r42140, but no tests. I'll have to do those later.
purl Message for pmichaud_ stored.
dalek rrot: r42141 | kjs++ | trunk/compilers/pirc (6 files):
[pirc] implement (first draft) of multi keys. not sure if works, but this looks sane and compiles
20:42
20:44 mikehh joined
pmichaud_ darbelo: r42140 seems to fix -I, but not -L 20:44
er
darbelo Oh, -L is wrong too?
I only tested -I
pmichaud_ oh, nm 20:45
oh, wait
hmmm
yes, -L was wrong too earlier today
perhaps your fix indeed fixes it
oh, looks like that will fix both -I and -L 20:47
darbelo if it relies on Parrot_lib_add_path, it's fixed. I didn't touch other codepaths.
pmichaud_ it apparently does. 20:48
darbelo++
I'll be able to test it fully later when I work on the nqp-rx bootstrap 20:49
darbelo It still needs parrot tests.
20:49 joeri left
darbelo But I don't have the time for those now. 20:49
mikehh All tests PASS (pre/post-config, smoke (#29435), fulltest) at r42139 - Ubuntu 9.10 RC amd64 20:52
dalek rrot: r42142 | kjs++ | trunk/compilers/pirc/src/bcgen.c:
[pirc] fix coding std.
21:02
21:27 jdv79 joined
dalek rrot: r42143 | kjs++ | trunk/compilers/pirc/src/bcgen.c:
[pirc] fix 'missing' function doc
21:28
rrot: r42144 | kjs++ | trunk/compilers/pirc/src/bcgen.c:
[pirc] fix 'missing' function doc. Now it's really fixed...
21:31
21:40 bacek joined
cotto_work hio bacek 21:40
bacek morning cotto_work
cotto_work clock? 21:53
purl cotto_work: LAX: Tue 2:53pm PDT / CHI: Tue 4:53pm CDT / NYC: Tue 5:53pm EDT / LON: Tue 9:53pm GMT / BER: Tue 10:53pm CET / IND: Wed 3:23am IST / TOK: Wed 6:53am JST / SYD: Wed 8:53am EST /
21:55 Whiteknight joined
Whiteknight hello again 21:59
cotto_work HI
purl hey, cotto_work.
Coke yawns. 22:31
dalek rrot-linear-algebra: 3c9552c | Whiteknight++ | (4 files):
Add a new PMCMatrix2D PMC type. It's not linear-algebra per se, but it uses the same mechanism and is a good analog for NumMatrix2D.
22:32
22:34 kid51 joined 22:41 plobsing joined
plobsing hi #parrot 22:42
kid51 Yo 22:43
plobsing hi, kid51. Over the weekend I looked at what it would take to merge auto_libjit 22:44
and nci.pmc needs some fixes.
so i created tt1147
dalek TT #1150 created by coke++: test all parrot command line flags
kid51 Were those patches created for the auto_libjit branch ... or for trunk? 22:45
plobsing trunk
kid51 That's what I thought. So I did not attempt to apply them against branch.
plobsing they (or equivalent) need to go into trunk for auto_libjit to stand a chance to work
against trunk
kid51 Okay. It's just that any patches to trunk have to work as of the moment they're applied to trunk. 22:49
and I'm probably not the best person to evaluate whether they're ready for trunk now.
plobsing understood. 22:50
purl understood. are you on schedule?
22:50 Whiteknight joined
plobsing I moved some functions around while cleaning. I am currently trying to decrease the size of the diff 22:50
kid51 Whiteknight et al (darbelo? bacek? allison?) need to outline a battle plan for the restoration of JIT.
Then you can discuss with them which set of patches should go into trunk when.
Whiteknight kid51: yes, we do need a plan 22:51
kid51 Those 3 diffs in the ticket -- can they be applied independently of each other?
Or do they have to be applied more or less simultaneously?
plobsing yes, they all touch different files 22:52
but the tests will obviously fail without the fixes
cotto_work Isn't the jit restoration plan "implement Lorito"? 22:53
plobsing I thought the frame builder was a little less long-term than that
Whiteknight what plobsing is working on now is the frame builder only 22:54
plobsing although I would be interested in that too
22:56 darbelo joined
cotto_work So in this case "jit restoration" means "make Parrot able to do something (frame builder) with a jit library"? ok. 22:56
That's a lot smaller than Lorito. 22:57
darbelo cotto_work: It's a start. It demonstrates the suitability of the back-end library. 22:58
I wouldn't trust a JIT library that can't be made to work as a frame builder. 22:59
kid51 Whiteknight: I have 3 TTs I've been shepherding through the process. You should probably be familiar with all of them for both framebuilding and JIT: TT #1075; TT #1105; TT #1132
cotto_work It's hard to talk to einstein without feeling sarcastic. 23:00
darbelo Yes, einstein, that is how it's done. 23:01
;)
cotto_work I guess if you pick a name like that, you're asking for it.
plobsing OK. I've uploaded a new version of the nci.pmc minimal patch that gets rid of the code-motion (to reduce size) 23:02
thats about as small as I think I can make it
cotto_work anyone want to impersonate purl?
23:07 patspam joined
purl annoys cotto_work 23:09
darbelo ls
moritz no such file or directory
darbelo focus-follows-mouse and sleep deprivation don't mix well. 23:11
jonathan darbelo: Add in beer to the mix. Things can only get better! ;-)
darbelo jonathan: But I've just started on the vodka. 23:12
;) 23:13
dalek rrot-linear-algebra: ce214c1 | Whiteknight++ | (4 files):
steal the NQP-based test harness from Plumage (needs proper attribution). Added a test make target and a quick sanity test as an example
23:13 mikehh joined
japhb You know, we need to do something about this copy pasta. Pretty soon we'll all be buried in it. 23:14
Coke smacks darbelo.
cotto_work May I suggest a nice tomato sauce? 23:15
Coke botsnack?
japhb Perhaps it's getting time for Plumage to provide "standard" configure and test harness scripts, so that other projects don't need to have them in their repos at all.
jonathan darbelo++
japhb There's also the problem that the density of Plumage's TODO will soon be causing local spacetime disturbances. 23:16
Whiteknight in NQP, how do I create a new PMC? 23:18
can I do that directly in NQP, or do I need a PIR function?
cotto_work what kind of pmc? 23:19
japhb inline PIR always works
darbelo japhb: HLL developer will probably want to keep their test harnesses 'local' to the project repo.
Whiteknight cotto_work: a custom PMC type
cotto_work probably inline then
Whiteknight it's a dynpmc I'm developing
okay
japhb darbelo, I wasn't saying we'd force it. Just provide it as an option. 23:20
23:20 theory joined
darbelo japhb: I would expect a better reception to making Configure and the test harness git submodules. 23:20
japhb Hmmmm, that leaves the interesting idea of being able to run plumage commands in the user's normal working tree 23:21
darbelo, that's also an interesting idea. Hmmm.
well, AFK for a while, will contemplate
darbelo I got it from lua, they keep they test-more implementation like that.
japhb cool
darbelo might be worth a look. 23:22
Whiteknight is there an easy way to include one NQP file from another?
like a "use"?
Coke typically, "pmc" there refers to C-based pmc. you can't do that in PIR/NQP.
darbelo But then you'd have to teach the plumage repo-fetcher to handle submodules gracefully. Causing further space distortions near of TODO. 23:23
s/of //
moritz I'm also not sure if it's a good idea to tye your architecture closely to such a particular system like git submodules 23:24
it should not be too much work to switch from git to mercurial or so if there should be any need 23:25
but if rely on a very particular git feature, you lose that ability
darbelo is not very familiat with submodules.
We could just let the copy-pasta be and watch evolution happen. 23:27
cotto_work not enough stuff dies for proper evolution 23:28
we'd just get all kinds of mutations
darbelo cotto_work: That's easily solved by killing the ugly mutants. 23:29
darbelo thinks he saw a movie about that. 23:30
dalek trixy: 1154f56 | darbelo++ | (2 files):
Move config-helpers.pir to config/
23:35
trixy: db0a9f0 | darbelo++ | Configure.nqp:
Adjust paths to the new location of the helper library.
darbelo Ha! 'plumage test matrixy' now dtrt 23:41
japhb++
dalek rrot-linear-algebra: 61d29a5 | Whiteknight++ | t/ (2 files):
rename sanity.t to 00-sanity.t. We want this on to run first, always.
23:42
rrot-linear-algebra: ba1ba44 | Whiteknight++ | t/10-nummatrix.t:
Add a test file for NumMatrix2D. Tests basic creating, modifying, and reading matrices
rrot: r42145 | coke++ | trunk/t/compilers/imcc/syn/hll.t:
Remove test for rejected ticket RT #60648.
Coke hurms.
Coke wonders if he should have instead changed the skip to a TODO. 23:43
Coke thinks probably.
er, reverse that.
Whiteknight purl msg dukeleto: using the nqp test harness in pla now. Very nice. Would be awesome if it could detect pure-PIR test files and run them too 23:44
cotto_work message for dukleto stored
OR WAS IT
darbelo chuckles
Whiteknight: purl is dead. We got fed up and killed her. 23:45
Whiteknight urg 23:46
darbelo but cotto_work is taking messages now, apparently.
cotto_work modulo spelling
darbelo cotto_work: msg cotto_work darbelo can't spell for sheit. 23:47
cotto_work message for me stored
Hmmm. I seem to have a message.
darbelo Eh, botsnack?
cotto_work Make that a fakebotsnack. ;)
darbelo I considered personsnack, but figured it gave the wrong message. 23:48
cotto_work It'd be a little too reminiscent of Sweeny Todd. 23:49
Coke rant: refactoring thigns so much so that I have to look up a module to find out the command line args for something. 23:51
darbelo Coke: on parrot? Should only happen on deprecation boundaries. 23:52
23:55 davidfetter joined
Coke darbelo: no, build tools. 23:58
or anythign in tools/
and changing docs != API. 23:59
Coke did find the docs. whee.
dalek rrot: r42146 | coke++ | trunk/t/compilers/imcc/syn/hll.t:
Ok, this is a perfectly valid test, just not for --run-pbc; so bring it
darbelo Oh, that. Yeah, it sucks when it happens.