Parrot 2.10.1 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Parrot Developer Summit 2300 UTC today | Please test rakudo with bleeding edge parrot!
Set by moderator on 5 December 2010.
dukeleto is back 00:06
00:06 kid51 joined
Carter dukeleto: I Sumbitted my checked work 00:08
dukeleto Carter: awesome! Did you set your melange ticket to 'submitted' ? 00:09
Carter yes i did
if there any problems with it
please tell me ill be happy to correct it
00:11 whiteknight joined
whiteknight good evening, #parrot 00:12
I love GCI because it's really helping us exercise our mechanisms for getting new contributors involved and accepting patches 00:13
dukeleto whiteknight: i was thinking just that today
whiteknight: it makes an open source community hone their skills at adding new members, which is quite a valuable skill 00:14
whiteknight and I absolutely love the username "rofflwaffls" 00:15
:) 00:16
rfw lol
dukeleto Carter: i accepted and closed your task, have fun on your next one!
rfw whiteknight: almost done
i keep messing things up :(
plobsing can anybody take a look at github.com/plobsing/perk ? I need some nqp help. 00:17
whiteknight rfw: no worries, I have some other pull requests to look at
rfw: but I'll take care of yours as soon as it is ready
rfw i've cloned parrot far too many times today
at 34kB/s too ._.
whiteknight plobsing: I will do what I can do in a few minutes. I'm no NQP expert
rfw: you only need to clone it once! 00:18
rfw whiteknight: i keep mucking up the history
whiteknight oh
rfw in very bad ways
plobsing whiteknight: I'm stuck at it not calling the actions for the grammar. parrot perk.pbc t/Sanity.java fails if target>parse
rfw: define "mucking up the history". are you rewriting history, or just creating new history with which you are dissatisfied? 00:19
Carter dukeleto: Thanks for you help duke
rfw plobsing: well 00:20
i rewrote history, acicdentally rebased the wrong commit, detached a head
and a whole bunch of bad things
dukeleto rfw: good lord.
plobsing whoa. that's a decent amount of damage.
sorear git reset --hard origin/master
# fixed 00:21
git history is immutable. fix the heads and you've fixed the repo
(unless the repo is actually *corrupt*)
00:22 Carter left
dalek rrot: 30db3ac | Whiteknight++ | / (3 files):
Merge remote branch 'origin/gci_inttestcoverage'
00:24
rfw CONST_STRING split across lines at 451 in src/string/api.c 00:27
why does it keep doing this
00:27 dmalcolm left
plobsing rfw: CONST_STRING is implemented with macros that use __LINE__ and a c-file preprocessor 00:27
sorear you split a statement with a CONST_STRING across lines
don't do that 00:28
rfw but
i haven't done anything
and the line is return CONST_STRING(interp, "");
plobsing different C implementations treat macros spanning lines differently (some give the first line, some the second, etc)
rfw so i have no idea what's wrong
dalek rrot/gci_noltestcoverage: 4a80589 | Yuki`N++ | t/pmc/integer.t:
Bring Integer PMC test suite code coverage to 100%.
rrot/gci_noltestcoverage: 2ec8558 | Yuki`N++ | /:
Merge branch 'master' of github.com:nol888/parrot
plobsing rfw: is that a line you've changed?
00:28 Eclesia left
whiteknight that CONST_STRING crap is fragile 00:29
rfw plobsing: no, i haven't touched it at all
whiteknight: can you try compiling my fork
i swear it worked
whiteknight rfw: yeah, give me a second 00:30
rfw github.com/rofflwaffls/parrot
whiteknight Yuki`N: ping
NotFound Why we still do Parrot_str_copy in that branches of Parrot_str_concat? 00:31
Ah, yes, the funny games with const 00:32
cotto ~~~ 00:40
dukeleto, do you have a gci task written up to make a parrot-commits script? 00:42
I'd do it but I doubt I'll have tuits this weekend.
plobsing rfw: I pulled from your repo and built without incident 00:43
whiteknight the gci_noltestcoverage branch fails tests on my machine. We need to fix the tests to work better when you don't have GMP 00:46
dukeleto cotto: nope 00:47
cotto: i gotta do some $work for a bit, so if you could, that would be sweet
cotto I'm writing one up now. Hopefully I can finish it soon.
where's the script you were going to modify live? 00:49
00:49 pachuco joined
Yuki`N whiteknight, hi 00:52
whiteknight Yuki`N: I'm having a problem with your tests, but not something you would have known about 00:53
if you don't build Parrot with libgmp, there is no BigInt type and the tests that create BigInt throw exceptions
so I'm going to put handlers around them, and then merge 00:54
dukeleto cotto: blarg. I will find it
dalek rrot: 4a00f74 | dukeleto++ | / (3 files):
[doc] Spanish translation of README by pitoco++

This is a Spanish translation of our README by a Google Code-In student. Thanks to all the mentors that helped the student improve this translation, especially NotFound++.
00:55
rrot: 674c5f6 | dukeleto++ | NEWS:
[doc] News tweaks
cotto dukeleto, task submitted 01:00
except without a link to the script
rfw plobsing: ah 01:01
probably my cygwin acting up
whiteknight Yuki`N: Also, some of your overflow tests don't work on my system (64-bit) 01:02
rfw whiteknight: i guess if plobsing can build it fine then i guess i pass 01:03
dukeleto cotto: yeps. just add it to the parrot repo somewhere with a tiny bit of POD describing what it does, then link to that
whiteknight so I will have to find a way to fix that. I may add a new method to Int to get the INT_MAX
Yuki`N whiteknight, oh, I think the reason the overflow tests don't work.
Some tests I didn't use the INT_MAX value. 01:04
Let me fix that. 01:05
plobsing whiteknight: max = sysinfo .SYSINFO_PARROT_INTMAX
dalek rrot: 7f15ac0 | NotFound++ | src/gc/fixed_allocator.c:
add some casts to avoid pointer comparaison warnings
01:07
rfw oh, it works now 01:08
whiteknight Yuki`N: hold on a minute. I'm going to modify the test a little bit, then you can add on to my modifications
rfw weird
Yuki`N Ok.
dalek rrot: 7621fbe | cotto++ | tools/dev/github_post_receive.pl:
add post-receive script for gci task
01:11
rrot: 8024efa | cotto++ | tools/dev/github_post_receive.pl:
add minimal POD
whiteknight plobsing: know a fancy way to determine if we have libgmp loaded?
dukeleto /win 4 01:12
plobsing whiteknight: try to dlfunc something from it maybe? 01:13
dukeleto self.facepalm()
cotto dukeleto, task is ready for your approval 01:14
socghop.appspot.com/gci/task/show/g...9202922193
dukeleto cotto: done 01:15
Yuki`N dukeleto, I took the second "increase int coverage" task, since there's no point in anyone else trying to claim it. :P
NotFound whiteknight: new 'BigInt' and catch the exception. 01:16
dukeleto Yuki`N: yep. will approve and you can close it. You deserve it :)
plobsing whiteknight: check config for 'HAS_GMP'
Yuki`N dukeleto, thanks. :P 01:17
dukeleto Yuki`N: did you submit work for the other int task ?
Yuki`N: i don't see it needing a review
Yuki`N Umm, I think cotto closed it for me.
rfw whiteknight: can you close my task for me
whiteknight rfw: sure, give me a second
Yuki`N Also, www.google-melange.com/gci/task/sho...9193205977 the title says Iterator but the text says Complex.
rfw Yuki`N: you're on a roll :V
Yuki`N rfw, Yes, intense :effort: 01:18
rfw still tied with lumpyshoes
though
nopaste "plobsing" at 192.168.1.3 pasted "test for libgmp using dlfunc" (17 lines) at nopaste.snit.ch/26947
dukeleto Yuki`N: darn. 01:19
whiteknight rfw: your task needs to be in NeedsReview state
rfw oh
my bad
whiteknight rfw: did your code get pulled in?
rfw not yet
i requested though
nopaste "plobsing" at 192.168.1.3 pasted "test for libgmp using config" (16 lines) at nopaste.snit.ch/26948
NotFound plobsing: that test assumes that the lib is already loaded. Maybe somedy we'll allow to load it at runtime under demand. 01:20
rfw oh wait whiteknight
it was
wait
gbaslgba
can't read
plobsing NotFound: if parrot was *compiled* against libgmp, libgmp will be loaded by the OS before main() executes.
Yuki`N How do I fix my fork history, hmm. 01:21
plobsing bigint requires parrot be compiled against libgmp to work
rfw whiteknight: www.google-melange.com/gci/task/sho...9191196680
NotFound plobsing: with the current build system, yes, but that can change.
dukeleto Yuki`N: task approved. Have fun on your next one.
dalek rrot: e0b8784 | Whiteknight++ | t/pmc/integer.t:
move all the BigInt tests out into their own functions and group them together
rrot: a52658a | Whiteknight++ | t/pmc/integer.t:
detect if we don't have BigInt, and skip the tests otherwise
rrot: 21e1850 | Whiteknight++ | / (5 files):
Merge branch 'master' of github.com:parrot/parrot
whiteknight Yuki`N: I just pushed some fixes to the BigInt tests. if you can update the INT_MAX overflow tests, that will be great
Yuki`N K. 01:22
whiteknight Yuki`N: so pull from Parrot master to get my changes
Yuki`N I think I'm going to tackle this task next: www.google-melange.com/gci/task/sho...9191276503
whiteknight Yuki`N: oh, that's a good one and will be very helpful!
dukeleto Yuki`N: that should only take you a few minutes or so :) 01:24
rfw whiteknight: can you pull
Yuki`N dukeleto, :P
whiteknight, I have a few merge issues; I removed some whitespace from the .t file to pass one of the fulltests.
rfw Yuki`N: just don't mess up git as badly as i did :D
Yuki`N I'll just take some time to merge that. 01:25
rfw, Oh I've already messed it up.
I've got like.
rfw \\o/
Yuki`N 14 duplicate commits.
rfw oh my
you didn't rebase the wrong commit though
did you
:D
cotto dukeleto, do you think the requirement to attach a message sent by the script is reasonable?
dukeleto cotto: i don't understand your question 01:27
rfw can anyone pull+approve www.google-melange.com/gci/task/sho...9191196680 for me
cotto for the gci task I just suggested, I made one of the requirements that an email sent by the script be attached. 01:28
Yuki`N Marging by hand is a pain. 01:29
*merging
cotto rfw, looking
dukeleto cotto: seems like a small yet nice feature 01:35
cotto: sounds fine to me
cotto: it is just calling a different function or something, pretty trivial
rfw: does your code pass "make fulltest" on your machine? 01:36
01:36 bacek left
dukeleto Yuki`N: automate, automate, automate. 01:36
rfw dukeleto: should do
hold on
my cygwin is being sumb
dumb
dalek rrot: 8bcc66e | (Tony Young)++ | / (10 files):
Moved various files from /src to /frontend
01:38
cotto rfw, done
Yuki`N whiteknight, almost all the overflow checks rely on the bigint library.
rfw cotto: thanks
Yuki`N Should I move them into test_xxx_BigInt?
rfw cotto: could you approve the task
cotto done 01:39
rfw thanks
whiteknight Yuki`N: I did that so I could test for the BigInt library first. Anything that relies on that library should be inside that check 01:42
Yuki`N K.
cotto If we made a gci task to implement a new GC algorithm, I wonder if someone would take it. 01:43
whiteknight I'm sure somebody would take it. it's getting it completed that would be hard
cotto I'm tempted to do it. 01:45
Yuki`N whiteknight, For some reason you missed the ADD overflow checks. 01:49
You left them in the non-BigInt method.
whiteknight hmmm, my mistake
Yuki`N whiteknight, fixed and pushed. should I open a pull request? 01:55
whiteknight Yuki`N: no need, I'll pull directly
Yuki`N kk
whiteknight Yuki`N: where did you push to 01:56
?
Yuki`N My git.
I actually only typed enter into my terminal.
whiteknight oh, nevermind. It pulled the second time
Yuki`N Forgot about the fact I needed to enter my ssh key password.
dalek rrot/gci_inttests_take2: 41af763 | Yuki`N++ | t/pmc/integer.t:
Remove trailing whitespace.
01:57
rrot/gci_inttests_take2: ab8b582 | Yuki`N++ | / (7 files):
Merge github.com/parrot/parrot

Conflicts:
  \tt/pmc/integer.t
Revised integer tests to use int min/max value for platform portability.
Yuki`N whiteknight, for the packfile refactoring, do you want to move the .str files too?
whiteknight Yuki`N: yeah, they're generated from the .c files and belong with them 01:58
.str files are generated though, so you can't git mv them
Yuki`N Oh ok.
whiteknight blah, have to rebuild because of the last round of file renames 02:01
Yuki`N There's a packdump.c, do you want that moved too? 02:02
whiteknight no, that file is a special case and needs to move somewhere else later 02:03
Yuki`N K.
whiteknight thanks for asking though
Yuki`N Np.
whiteknight, I assume the header files stay the same name for now. 02:06
whiteknight yeah, the header files stay where they are
Yuki`N K. 02:07
Running make test right now.
whiteknight awesome 02:08
Yuki`N How about the docs? 02:13
Still called packfile-c, or packfile-api-c?
whiteknight, ^ 02:14
whiteknight yeah, only move the .c files that I mentioned
brb
Yuki`N No, but you generate documentation based off of packfile.c,
So I only change the src ref.
whiteknight yes 02:17
Yuki`N Ok, well it built.
Running make test right now.
Though I didn't change any source so idk why any tests would fail.
All tests successful. 02:18
dalek rrot: 9099987 | jkeenan++ | t/pmc/string.t:
[codingstd] No trailing whitespace.
02:22
rrot: 3a19b50 | jkeenan++ | / (10 files):
Merge branch 'master' of git@github.com:parrot/parrot
02:23 pachuco left
whiteknight has to go to bed now. I'll look at any tasks still open in the morning 02:23
goodnight
02:24 whiteknight left
dalek rrot: dcb9713 | NotFound++ | src/pmc/hash.pmc:
DRY a bit Hash PMC
02:24
Yuki`N cotto, can you review my changes and pull? 02:25
02:26 plobsing left, plobsing joined
kid51 What is the purpose of the new top-level directory 'frontend/'? 02:26
cotto Yuki`N, probably not tuits. will do if I can 02:28
*no tuits
Yuki`N It's just refactoring. 02:29
github.com/parrot/parrot/pull/28
02:30 Matt221 left
plobsing how do nqp grammar actions get dispatched? perk has a bunch of {*} rules to call stuff, but none of the code ever gets called 02:31
dalek rrot: e5fa363 | NotFound++ | src/pmc/hash.pmc:
forgot to add ASSERT_ARGS in dcb9713
rrot: 4db8296 | mikehh++ | MANIFEST:
re-generate MANIFEST
02:33
NotFound not ok 123 - i_multiple_int overflow type check 02:37
# Have: Integer
# Want: BigInt
not ok 9 - mul integer overflow
# no error thrown
Never understrimate the power of 64 bits 02:39
Yuki`N Hm.
I missed some?
NotFound, you pull right from the new branch?
NotFound Yuki`N: from master
Yuki`N Oh.
NotFound 2048*2048*2048 is not enough to overflow 64 bits 02:40
Yuki`N Pull from gci_inttests_take2
It's revised for absense of bigint as well as 64bits.
*absence
NotFound Note also the typo i_multiple_int 02:41
Yuki`N I think I fixed that.
Nope it's still there.
NotFound Too tired now to do more tests, will llok tomorrow. 02:42
Yuki`N K.
dalek rrot: 6f9f528 | mikehh++ | tools/dev/github_post_receive.pl:
fix codetest failures

add copyright line and add coda fix platform-specific perl shebang line replace hard tabs
03:00
03:14 Matt221 joined, Matt221 left
dalek rrot/tt532_headerizer_refactor: 864c42f | jkeenan++ | lib/Parrot/Headerizer/Object.pm:
Begin to standardize the POD in this file.
03:17
mikehh t/pmc/integer.t is failing make corevm/make coretest (passes make test) - t/pmc/integer.t .. error:imcc:loadlib directive could not find library `sys_ops'
Yuki`N dynoplibs isn't loadable in coretest? 03:18
kid51 mikehh: Have you noticed a general way in which to fix test files that, after a commit, display that make corevm/coretest failure (while passing make test)?
sorear by definition
the "core" in coretest refers to the fact that coretest does not test dynpmcs or dynops 03:19
Yuki`N Oh, hm.
mikehh kid51: I run make corevm. make coretest, make (world) then make test 03:21
kid51 mikehh What I meant was: Once you've discovered the failure, how does one fix it?
Any patterns or hints? 03:22
plobsing the problem with coretest and dynops/dynpmcs is that not everything in "core" is testable without dynops or dynpmcs. the default should not be for tests to be in coretest. we need something like t/core which only gets a limited amount of tests. the default t/anything-but-core shouldn't be part of coretest. 03:24
mikehh kid51: not sure - look at t/pmc/nci.t (which I am not sure is really fixed)
kid51 plobsing: So the targets in 'coretest' are misspecified in part. Would you say that 'make core' is well specified, or does it have its shortcomings? 03:26
cotto Yuki`N, don't forget to run perl tools/dev/mk_manifest_and_skip.pl
Yuki`N I actually didn't know about that.
So I modified it manually.
lol.
I'm not sure how integer.t will work w/o sys_ops. 03:27
mikehh kid51: we have changed the way in which ops are generated and we may need a rethink as to what is "core" etc
kid51 k
Yuki`N Though...if the only thing I use it for is to look up the max/min int value.
And that's only used in overflow testing, which apart from multiplication overflow is dependent on bigint. 03:28
Maybe we can hack another method to see if we can load sys_ops and skip the tests if we can't.
plobsing kid51: I'd say core is a useful distinction. But with more and more moving out to libraries, we need to start moving most of the tests too.
kid51 So, currently both 'make corevm' and 'make coretest' are problematic. How do you think we should distinguish between 'corevm' and 'all'.
plobsing Yuki`N: you can't call a method because .loadlib happens at compile time, before any of your code is running. 03:29
Yuki`N Oh.
That is problematic.
mikehh kid51: I don't know if anyone else runs those tests, but they were very useful when we were running one of the hackathons 03:31
plobsing unless... you use an :immediate sub. evil and hackish, yes. but you could bail while producing decent tap.
mikehh got to take some friends to the airport - very early flight - bbl 03:43
03:52 kid51 left 04:15 cotto_work2 joined, cotto_work left
plobsing so many working cottos 04:30
sorear aloha, seen cotto_broken 04:31
aloha sorear: Sorry, I haven't seen cotto_broken.
plobsing cotto is invincible, aloha confirms it! 04:32
04:42 slavorgn left
cotto I was pretty vincible last I checked. 04:44
05:17 Yuki`N left 05:39 snarkyboojum left 05:40 snarkyboojum joined 06:00 bacek joined
cotto hi bacek 06:01
bacek aloha, cotto 06:02
cotto bacek, any thoughts on opmap_aware_pmcs? 06:24
sorear what are opmap aware pmcs?
bacek cotto, nothing yet. I was quite busy with $dayjob and rl
cotto sorear, packfile PMCs that know about the dynop mapping changes plobsing made a while back 06:26
06:40 Pitoco joined 06:54 hercynium left 07:01 Pitoco left
dalek rrot: db760d2 | Yuki`N++ | / (9 files):
Refactor packfile core files. Modify makefile templates to account for change.

packfile.c -> api.c pmc_freeze.c -> object_serialization.c packout.c -> output.c
07:12
rrot: b0c9397 | Yuki`N++ | / (13 files):
Merge github.com/parrot/parrot

Conflicts:
  \tMANIFEST
cotto karma Yuki`N 07:14
aloha Yuki`N has karma of 0.
cotto karma N
aloha N has karma of 10.
cotto (Yuku`N)++ 07:15
karma Yuki`N
aloha Yuki`N has karma of 0.
cotto (Yuki`N)++
karma Yuki`N
aloha Yuki`N has karma of 0.
cotto I think I'm going to have trouble recognizing Parrot after gci is done. 07:17
dalek rrot: e69f9bf | cotto++ | .gitignore:
add some new files to .gitignore
07:22
07:33 bacek left 07:44 bacek joined 07:52 fperrad joined 07:57 fperrad_ joined 07:59 fperrad left, fperrad_ is now known as fperrad 08:42 fperrad_ joined 08:44 fperrad left, fperrad_ is now known as fperrad 08:57 fperrad left
dukeleto cotto: why is that? 08:58
09:05 fperrad joined
dukeleto How do I load a dynop from C? 09:13
09:42 Eclesia joined
Eclesia hello 09:42
sorear hi 09:46
09:50 rfw left
dukeleto Eclesia: hola 09:55
sorear: do you know what 'attempt to access code outside of current code segment' means in Parrot ? 09:56
seems to be when the program counter is outside the current code segment 09:58
moritz a poor man's segfault :-) 10:09
dalek rrot/lorito: f977aa9 | dukeleto++ | / (7 files):
Initial step towards Lorito M0 opcodes as dynops

This is a prototype of Lorito M0 opcodes written in terms of dynamically loadable opcodes. The purpose of this prototype is to see if current Parrot opcodes can be written in terms of some basic M0 opcodes.
10:20
rrot/lorito: 99c65f4 | dukeleto++ | / (2 files):
[t] Context op should return a single PMC

Currently dies with:
attempt to access code outside of current code segment
because the program counter is wrong.
rrot/lorito: 1042f1e | dukeleto++ | src/dynoplibs/lorito.ops:
Add a few useful links to the POD
10:31
NotFound dukeleto: sometimes it means that you should use finalize 10:36
dalek rrot/lorito: 87a903b | dukeleto++ | / (2 files):
Properly return a CallContext PMC from a dynop
10:37
dukeleto NotFound: i was being dumb
10:38 theory left 10:55 lucian joined
dalek rrot: 352d610 | NotFound++ | src/dynpmc/os.pmc:
avoid encoding exceptions in OS.readdir on non-windows platforms
11:08
rrot/lorito: c37869e | dukeleto++ | / (2 files):
Implement noop and a skeleton call M0 op
11:11
Eclesia question : are there some kind of applet system in for parrot ? 11:42
dukeleto Eclesia: what do you mean by "applet" ? 11:53
dalek nxed: r708 | NotFound++ | trunk/winxedst0.cpp:
rename several classes in stage 0 for consistency with stage 1
11:55
Eclesia dukeleto: hm, some kind of way to embed application in a browser like flash, java applet or java web start 11:58
dukeleto Eclesia: there is a way to embed Parrot in C and C++ programs 12:14
Eclesia: people are researching how to embed it into Firefox, but no one has embedded it into a browser yet 12:15
lorito is the 42nd branch of parrot.git on Github. I think that is fitting. 12:20
12:33 lucian left
Eclesia hm, so far in the doc of parrot i haven't seen anything about memory management 13:06
is parrot like a jvm, and you give him a maximum memory amount ? or is it dynamic ? 13:07
13:38 Eclesia left 13:44 smash joined
smash hello everyone 13:44
moritz hi
13:46 whiteknight joined
whiteknight good morning, #parrot 13:46
dalek nxed: r709 | NotFound++ | trunk/winxedst1.winxed:
nano optimize string initialization from string concatenation
13:48
rrot: 7d8623c | mikehh++ | MANIFEST.SKIP:
re-generate MANIFEST.SKIP
13:57
14:00 bluescreen joined 14:02 contingencyplan left 14:03 ok22 joined 14:09 ok22 left 14:13 ok22 joined
dalek nxed: r710 | NotFound++ | trunk/winxedst1.winxed:
nano optimize var initialization from string/int/float
14:15
mikehh make corevm/make coretest FAIL - t/pmc/integer.t .. error:imcc:loadlib directive could not find library `sys_ops' 14:37
all other tests PASS (pre/post-config, smoke (#1600) fulltest) at 7d8623c - Ubuntu 10.10 i386 (gcc-4.5 with --optimize)
14:50 kid51 joined 14:53 Matt221 joined
mikehh rakudo (d1e6636) - builds on parrot (2_10_1-745-g7d8623c) - make test PASS, make spectest_smolder(#1601) PASS - Ubuntu 10.10 i386 (gcc-4.5 with --optimize) 15:35
t/spec/S02-magicals/pid.rakudo - TODO passed: 1
27,052 ok, 0 failed, 610 todo, 1,856 skipped and 1 unexpectedly succeeded
15:40 Patterner left
tadzik o/ 15:40
15:49 Psyche^ joined, Psyche^ is now known as Patterner
moderator Parrot 2.10.1 Released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Onward and upward with Google Code-In | Please test rakudo with bleeding edge parrot! 15:50
mikehh winxed r710 builds on parrot (2_10_1-745-g7d8623c), make test/test1/test2 PASS, examples/fly.winxed ok - Ubuntu 10.10 i386 (gcc-4.5 with --optimize) 15:55
NotFound: anything you want me to test?
NotFound mikehh: if you can test the ajax example with some big dynamic pages, will be nice. 15:56
mikehh NotFound: 'k, will have a look in a bit 15:57
NotFound Just winxed examples/ajax.winxed whatever 15:58
16:03 smash left, Coke left, he_ left, zarchne left, hudnix left, TimToady left, sorear left, perlite left, mikehh left, Khisanth left, spinclad left, jasonmay left, janus left, slavorg left, sjn left, eternaleye left, pmichaud left, Util left, tadzik left, atrodo left, Tene left, szabgab left, ttbot left, krunen left, szbalint left, edenc left, jasonmay joined, smash joined, sjn joined, szbalint joined, TimToady joined, szabgab joined, Tene joined, eternaleye joined, Coke joined, janus joined, spinclad joined, krunen joined, perlite joined, zarchne joined, hudnix joined, Khisanth joined, mikehh joined, he_ joined, tadzik joined 16:04 atrodo joined 16:08 edenc joined, Util joined, sorear joined 16:09 slavorg joined 16:12 ttbot joined 16:13 pmichaud joined 16:22 he_ left, smash left 16:23 he_ joined
nopaste "plobsing" at 192.168.1.3 pasted "comment for whiteknight" (12 lines) at nopaste.snit.ch/26972 16:30
16:30 rurban joined
plobsing aloha: msg whiteknight I tried commenting on your js-in-js-on-parrot article, but I got a very helpful application error ([object Object]) when I went to post. I've nopasted the comment in stead @ nopaste.snit.ch/26972. 16:32
aloha plobsing: OK. I'll deliver the message.
dalek nxed: r711 | NotFound++ | trunk/winxedst1.winxed:
nano optimize some common cases of var initialization
16:41
whiteknight plobsing: weird. I'll have to check that out 16:49
plobsing whiteknight: I am using a non-standard browser and a proxy. or it could just be pebkac 16:50
whiteknight still
I had never heard of OMeta/JS. I'll have to look into that 16:55
I was really liking Jison because I *really* want to have an LALR parser generator library that runs on Parrot 16:56
of course, getting a good PEG running on Parrot is good too (and once we have a JavaScript compiler, we get both)
16:57 JimmyZ joined
plobsing whiteknight: OMeta/JS is more general that a parser. it positions itself as a full solution for compilers, much like PCT. I'm also struck by the short code length (200 lines for the JS compiler). 16:59
JimmyZ hello, whiteknight, where is the article? I open whiteknight.blogspot.com, and it shows "The Day whiteknight died" :(
plobsing I get all my whiteknight-bloggy-goodness from feeds.feedburner.com/afwknight-parrot 17:00
whiteknight yeah, that's a different whiteknight. Not me
plobsing: do you have a link for OMeta/JS? 17:01
plobsing github.com/alexwarth/ometa-js 17:02
JimmyZ plobsing: thanks
whiteknight awesome, thanks
plobsing also, if I can get perk working, we can has ANTLR-on-Parrot. 17:03
whiteknight ah yes, that would be awesome 17:04
plobsing I've got it working with distutils and nqp now, so its at the point where it got left off 2 years ago (generating PAST)
whiteknight do you have an estimate on how much effort Perk needs?
plobsing simple java-language compiler - maybe a week or two to get 80%-90% 17:05
whiteknight okay, that's not bad at all
plobsing java-library-which-every-java-dev-expects - > 1 month
whiteknight well a Java runtime library is a different beast entirely 17:06
plobsing yes. but without it, the whole thing is pretty moot.
whiteknight Of course, once we have the Java compiler ready, you can write much of the standard lbrary in Java itself 17:07
plobsing apache had some open source java runtime IIRC. maybe I can jack it from them. still need to provide replacements for all the platform bindings.
whiteknight in fact, you may be able to find an existing Java runtime in Java project somewhere
plobsing btw, perk contributions welcome (I've never been a language dev before) 17:09
17:10 lucian joined
cotto dukeleto++ 17:19
17:20 M_o_C joined 17:24 JimmyZ left
dalek nxed: r712 | NotFound++ | trunk/winxedst0.cpp:
rename BaseExpr to Expr and FunctionExpr to CallExpr in stage 0 for consistency
17:24
nxed: r713 | NotFound++ | trunk/winxedst1.winxed:
minor fix to 2 internal diagnostics
17:30
kid51 reminds self: One day per week, cause an extra hour to be added to the day for the purpose of catching up on whiteknight's blog posts. :-) 17:31
whiteknight kid51: I'm preparing a series of "GC for newbies" posts to explain all the concepts using some Perl5 examples 17:32
once you read those, I think you'll understand everything we are talking about
kid51 About two weeks ago, plobsing posted a link to a series of blog posts from a guy at MS explaining GC. I found it helpful. I almost understood it! You should link to it in your posts. 17:33
whiteknight if you have a link, I definitely will
plobsing blogs.msdn.com/b/abhinaba/archive/2...ement.aspx 17:34
glad they helped (even if only a little)
kid51 Yes, that was the one 17:38
cotto crazy question: How much do we need the N registers? 17:40
plobsing cotto: do we want parrot to run heavy numerics or delegate to native libraries? if the former, a lot, if the later, not much at all. 17:41
without N-regs, you need to use Number PMC for everything and all operations on it are going to be implemented in C (not exposed to lorito). 17:42
cotto Right. I'm thinking through whether that's a worthwhile tradeoff. 17:43
plobsing not that this is necessarily a bad thing. *most* users of most dynamic languages don't expect their languages to excel in flops measurements.
cotto It'd free up 1/4 the space we use for registers and simplify ops, among other things. 17:44
lucian plobsing: i think that's just an artefact of slow implementations (so far)
NotFound They also don't expect that they sucks too much.
lucian however, most of the speedups achieved with dynamic languages depend on a JIT, so it probably doesn't matter that much after all 17:45
cotto If we did that in Lorito it would mean special-casing $N to emulate the way PIR works or deprecating $N. 17:46
lucian and many (psyco, pypy, rubinius) have observed that if you write your low level code in a jitable language, the jit makes it often much faster than if that low level code was in C
NotFound I don't think that throwing away working things and expecting all be solved with a JIT that we don't have is a good plan. 17:47
lucian for example in python+psyco, a pure-python map function is much faster than the highly optimised C one
plobsing if we give up N-regs, floating points won't benefit from a JIT
cotto NotFound, I agree. JIT has a lot of potential but we can't fully depend on it for solving all our problems.
*perf problems
lucian nods 17:48
NotFound lucian: Maybe they suck at C X-)
lucian NotFound: not really, it's an effect that has been observed a lot in practice (also with Java)
crossing language barriers is expensive, even if one of those languages is C
plobsing doubts a JIT will significantly improve parrot perf
NotFound lucian: and its resulted are also questioned a lot.
lucian NotFound: questioning the research papers require more research papers :) 17:49
all i'm saying is that "turtles all the way down" might be very beneficial performance-wise
NotFound lucian: I'll be happy doing test when we have a JIT.
plobsing lucian: I don't see how this pertains to N-registers 17:50
lucian plobsing: writing the equivalent functionality in lorito, and with a jit, might be fast
lucian has to go. sorry if i derailed the discussion 17:51
plobsing ok, fair enough. it *might* be fast. but it *will* be more work than offloading to native routines.
lucian plobsing: yes, i certainly agree with that
and I also agree that there should decent performance without the jit 17:52
plobsing cotto: my advice - implement Lorito without N-regs to start. They can be added at a later time if we are really itching for fast numerics.
cotto plobsing, ok. It's just a prototype now and it'll be much easier to add them than remove them. 17:53
dukeleto, ping 17:55
msg dukeleto Lorito's concept of "Context" will be quite different from Parrot's. We should probably have a LoritoContext PMC. 17:59
aloha OK. I'll deliver the message.
18:03 AzureSto_ joined 18:06 plobsing left, AzureStone left 18:23 plobsing joined 18:30 rfw joined
dalek rrot/tt532_headerizer_refactor: 62ea348 | jkeenan++ | lib/Parrot/Headerizer/Object.pm:
All methods in P::H::Object.pm now have some documentation in POD format.
18:38
rrot/tt532_headerizer_refactor: fd8c59a | jkeenan++ | / (3 files):
Add documentation in POD format to all functions in P::H::Functions.pm. Add author credits to headerizer.pl.
whiteknight fast numerics can come in the form of add-on types. PLA adds some extremely fast operations for numeric matrices 18:44
NotFound whiteknight: we have already that, and also have number registers. 18:47
One thing is not reason to drop the other.
18:52 dngor left
kid51 git question time... 18:54
dalek rrot/chromatic/lorito_dynops: 428be51 | chromatic++ | / (4 files):
Added the first Lorito M0 ops as dynops.

This is mostly a skeleton file for now, but we can add M0 ops to it and start experimenting with them. Note that Lorito's M0 C<noop> conflicts with Parrot's existing C<noop>, so I've called the M0 op C<m0_noop> for the time being.
18:55
kid51 TT #532 was created nearly two years ago. I began working on it about two months ago. I created a branch in Subversion which was merged into git at transition time.
1. What is the best way to get a diff that shows me where I've come from?
2. What is the best way to attempt a merge, preferably without committing on the first go-round? 18:56
NotFound kid51: I think the simple way is: checkout master, branch from it, merge your remote branch in that local branch 18:57
whiteknight kid51: "git diff master..<branchname>"
kid51 whiteknight: If I understand your suggestion correctly, that will give me a diff between the HEADs of master and branch ... which is useful, but different from branchpoint vs HEAD of branch 19:00
19:00 dngor joined
whiteknight kid51: no, it gives you a difference of things that are on your branch that are not on master 19:00
give the command a shot and see if the output is what you want
NotFound Tested it, only 3 conflicts. 19:02
dalek rrot: 071661a | chromatic++ | docs/project/merge_review_guidelines.pod:
Added guidelines for branch merge review.
rrot: 7713372 | chromatic++ | docs/project/git_workflow.pod:
Fixed some typos; linked to merge review docs.
whiteknight speaking of branch merge review, I want to start pursuing a merge of embed_api2 19:03
I think there are still some failures on darwin that need to be addressed
but I haven't gotten anything yet like general community approval that this work is good and should be pursued 19:04
kid51 whiteknight: IIRC, there were 'make' failures on versions of Darwin more recent than mine 19:05
19:05 pjcj left
kid51 But also, there are some warnings at the end of 'make' even on my version (which we have previously discussed) 19:05
19:05 nwellnhof joined
whiteknight right, i need to fix those things 19:08
dalek rrot: 22a625f | Whiteknight++ | / (4 files):
move src/packdump.c to frontend/pbc_dump/ where it belongs since it is part of that frontend
19:11
rrot: 39b8b70 | Whiteknight++ | / (3 files):
Merge branch 'master' of github.com:parrot/parrot
19:11 pjcj joined 19:13 pjcj left 19:14 pjcj joined
dalek rrot: ec3d188 | NotFound++ | examples/nci/ls.pir:
add a note about platform dependence to NCI example ls.pis - TT #1180
19:16
TT #1180 closed by NotFound++: examples/nci/ls.pir prints only lines with one character each 19:19
TT #1180: trac.parrot.org/parrot/ticket/1180
19:26 Andy joined
kid51 Andy: Please see trac.parrot.org/parrot/ticket/532#comment:5 19:30
Andy ok, wha about it.
Just that you want me eyeballs on the refactor? 19:31
kid51 Actually, where I would most value your feedback is on the POD I've written in the two .pm files
i.e., have I gotten the description of anything really wrong
The code, underneath all the phalanxing, is still yours. 19:32
Code coverage stats available: thenceforward.net/parrot/coverage/h...erage.html 19:33
Andy will have to look later tonight 19:34
adding it to my my RTM 19:35
dalek rrot/embed_api2: 2ae8f5a | Whiteknight++ | / (3 files):
fix warning of changing const-ness of a string in main.c. Also, small fixes to makefile
19:36
sorear dropping $Nx is probably a bad idea because a lot of dynamic languages eschew $Ix 19:37
19:37 whiteknight left
sorear Javascript, Lua, and Perl 5 all have no concept of (semantic) integers 19:38
19:54 Yuki`N joined
sorear hrm. 19:55
somebody just posted to perl6-compiler@ with a Parrot compilation problem.
this is ... a serious disadvantage of the whole "gen parrot" thing
fwiw - www.nntp.perl.org/group/perl.perl6....g7007.html 19:58
(doesn't seem to have shown up in the regular archive yet)
19:58 theory joined
dukeleto cotto: pong 20:01
cotto: i agree for the need of a LoritoContext PMC 20:02
20:03 M_o_C left 20:07 contingencyplan joined 20:08 Matt221 left
kid51 Another git question: Can I revise an inaccurate commit message? 20:09
sorear yes, as long as it's local
opbots names
plobsing git commit --ammend # or something like that
kid51 It is local.
sorear yes
--amend
dalek rrot: 7e33b2f | dukeleto++ | / (3 files):
[doc] German translation of our README, wesjdj++
20:11
kid51 plobsing, sorear: Thanks. That worked. 20:12
So, in preparation for the merge, I did a complete new clone, called 'git merge tt532_headerizer_refactor', then proceeded to resolve conflicts, rebuild MANIFEST and fix problems revealed during 'make codetest'. 20:13
I'll hold off pushing to master per what I posted in TT #532. 20:14
20:15 Carter joined
dukeleto I think we should keep $N registers until the time at which Numeric PMCs are just as fast as $N registers are now. 20:18
plobsing dukeleto: but is it worth the development effort in terms of ops implementations (interpreter, c-translator, jit, etc)? 20:19
dukeleto plobsing: i don't understand what you are trying to say
Do we have any docs about the syntax of our opcode DSL ? 20:21
lucian i may have misunderstood earlier. isn't Number a binding to gmp?
dukeleto lucian: no
lucian plobsing: then sorry for my earlier quips
dukeleto lucian: the BigNum PMC is 20:22
lucian so Number is just a float?
lucian can't find docs on Number 20:23
dalek rrot/lorito: 3951a4d | dukeleto++ | src/dynoplibs/lorito.ops:
Add an empty preamble
dukeleto lucian: perldoc src/pmc/numeric.pmc
lucian: sorry, src/pmc/float.pmc 20:24
lucian: we have inconsistent naming between Floats and Numerics
which drives me insane
in theory, Numerics don't have to be Floats, but in practice, almost everyone compiles with the defaults, which mean Numerics are Floats 20:25
lucian dukeleto: i see. then it seems simple to me. keep floats, not the abstractions above 20:26
sorear opbots, names 20:27
oh 20:28
dukeleto: someone needs to re-op slavorg 20:29
20:29 Carter left
dalek rrot/lorito: c118d1e | dukeleto++ | / (2 files):
Create a LoritoContext PMC, which doesn't work yet
20:30
20:32 lucian left
sorear much better 20:33
20:36 lucian joined
lucian 's power went out 20:37
dukeleto cotto: where is our opcode DSL actually documented?
lucian dukeleto: any news on that android thing? 20:43
20:47 bluescreen left 20:50 Matt221 joined
dukeleto lucian: no news, but many thoughts. hacking on Lorito now, which is more important 20:57
21:02 lucian left 21:03 lucian joined
lucian dukeleto:. good. 21:04
dukeleto: i just realised if dalvik was more like parrot, my dissertation would be easier
21:12 plobsing left
dalek rrot/embed_api2: 1311cec | jkeenan++ | / (2 files):
[codingstd] Fix files so they pass c_operator, c_parens, pod_syntax, and
21:12
kid51 aloha msg whiteknight embed_api2 branch has 'make fulltest' failures. I corrected some 'make codetest' failures but leave to you those in c_arg_assert, c_cppcomments and c_function_docs. 21:13
aloha kid51: OK. I'll deliver the message.
21:23 bacek left 21:25 fperrad left 21:28 rurban_ joined 21:31 rurban left, rurban_ is now known as rurban
kapace_ is there a pir example program that uses LWP/Protocol.pir to request an HTTP page? 21:35
(just to avoid re-writing the same example program..)
NotFound kapace_: get the winxed example and compile it to pir. 21:36
kapace_ ok 21:37
wait, what about io/get.pir? 21:38
21:39 Yuki`N left
NotFound kapace_: looks like it does that, yes. 21:40
21:45 bacek joined 21:52 Matt221 left 22:17 kid51 left, kid51 joined, kid51 left 22:30 Andy left 22:44 zarchne left
dalek nxed: r714 | NotFound++ | trunk/winxedst1.winxed:
move some more things into the Emit class
22:47
dukeleto lucian: do you have a preprint of your dissertation available? 22:52
lucian dukeleto: i have a draft of the proposal, which i have to finish by next friday :) 22:55
dukeleto: dl.dropbox.com/u/317039/proposal.odt
22:59 bacek_at_work left 23:00 aloha left 23:16 contingencyplan left 23:20 bluescreen joined 23:32 Matt221 joined
Matt221 GCI: Did anyone successfully compile PLA on Ubuntu? Getting some errors (?): /usr/bin/pod2html: no title for src/pmc/complexmatrix2d.pmc. 23:36
kapace_ Matt221: should work anyways 23:41
that just for pretty documentation afaik..
Matt221 Thanks - it was a hassle installing all the dependencies to get here
Now I'm just getting - t/sanity.t ... Contextual $*FileSystem not found - when running setup.nqp test 23:42
kapace_ Matt221: ah, you didn't read the readme me enough
or whiteknight didn't update it
kapace_ is checking... 23:43
23:43 plobsing joined
kapace_ yeah, he didn't update it yet... 23:43
Matt221: whiteknight kapace_: install the version of Kakapo from github.com/Whiteknight/kakapo.git 23:45
the kakapo master is broke, so he has his own fork that works there ^
where's aloha when you need him.. erm, her... it. 23:47
Matt221 OK - thanks will check it out
The link in the README pointed to the repository hosted on gitorious 23:48
kapace_ yeah, thats why whiteknight needs to update the README 23:50
Matt221 all tests passed - THANKS! 23:52
kapace_ np
cotto Yay. Now we have two more Lorito prototypes. 23:53
NotFound Two more than...? 23:54
cotto two 23:55
atrodo's and tcurtis'
NotFound Oh, shit. I was hoping to have three loritos and one true parrot. 23:56
Will be biblical.