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! | Remove deprecations | close tickets | merge html_cleanup and embed_api2
Set by moderator on 14 December 2010.
Kapace_ io.t:474: $I0 = $P0.'tell'() seems to be the problem, it returns zero 00:05
00:06 rfw joined
Kapace_ can anyone else make cover; make test? 00:12
kid51 Kapace_: Just coming on channel. Where is this code? What is the problem? 00:15
kid51 is working on developing 'make quickcover'
Kapace_ kid51: after I make cover; make test fails 00:16
however, on clean clone, make test passes
kid51 i.e, you are running 'make test' explicitly after running 'make test'?
sorry
i.e, you are running 'make test' explicitly after running 'make cover'?
Kapace_ yes 00:17
(the test fails in make cover as well, i believe)
kid51 ok, this is what I think you should do first
'make cover', as currently constructed, is more or less the same as 'make fulltest'
'make fulltest', in turn, runs the standard test suite on various 'runcores': make testb; make testr; etc; 00:18
See Makefile or config/gen/makefiles/root.in for list of target subsumed in 'fulltest'
What is happening is that a test which is passing under our *regular* core is failing under one of the *alternate* cores. 00:19
This is not infrequent.
It was happening to whiteknight in embed_api2 branch earlier this week.
So, I think you should do:
make realclean
perl Configure.pl
script # to record your session 00:20
make fulltest
Ctrl-D to stop script
grep -n FAIL typescript
And identify the specific make target under which your file is failing. 00:21
Kapace_ cool, never heard of script before.. learn somethig new
kid51 The file is being run more than once.
man script
I've only started to use it extensively myself in the past weeks.
Kapace_ i will
rfw kid51: could you take a look at www.google-melange.com/gci/task/sho...9228633715 00:22
i increased coverage by 9.something% though
kid51 rfw: I'd like to have cotto or another dev look at that 00:24
rfw ah okay
i'll wait for cotto
kid51 Believe it or not, you probably now know more about writing tests in PIR than I do ...
rfw haha
kid51 ... so while I congratulate you on boosting the code coverage, I can't really QA the test code itself ... 00:25
... but there are many who can.
rfw ah okay
kid51 In short, diagnose the test failure before running coverage analysis 00:31
(that was for Kapace_) 00:32
Kapace_ heh, ok, running fulltest, taking forever... 00:33
kid51 Yes, it does. But in the week before a release (which is what we're in now), we try to run it on all platforms.
Kapace_ you'll need that whole week :P 00:34
00:36 fbrito left, hercynium left 00:41 Yuki`N joined
Kapace_ kid51: :( script; make fulltest; CTRL-D script dies... grep -n FAIL typescript -> nothing 00:52
i have a hunch that make cover fudges up the config for some reason, im going to try commenting that line out in the makefile. 00:53
cotto_work Kapace_: it does. It adds some flags to gcc so that binaries will spit out profiling information. 00:54
rfw cotto_work!
are you free?
kid51 cotto_work: Which makes this a very subtle bug!
cotto_work fsvo free. I'll take a look at your pull request.
rfw ah tnhanks 00:55
cotto_work rfw: why does your pull request have some of the frontend changes?
rfw cotto_work: oh
i think that was from stuff that was left over in my fork 00:56
not sure why
Yuki`N cotto_work, could you take a look ay my pull request as well? 00:57
00:57 theory left
cotto_work I can't guarantee right now, but I'll get it before I go to bed. 00:57
cotto_work wonders what get_string_keyed is doing in BigInt 00:58
headdesk
That's .... 00:59
no
That is not a valid way to return the base n representation of a string.
I can't fault the test though.
rfw cotto_work: is that my fault?
oh 01:00
:D
yeah i thought that was really weird too
01:00 adu joined
dalek rrot/tt1893_quickcover: 82d7684 | jkeenan++ | config/gen/makefiles/root.in:
Create branch to work on TT #1893: Define a 'quickcover' make target. Prepare
01:01
cotto_work rfw: if you want to indicate failure, use nok("...") 01:05
01:06 ascent joined
rfw cotto_work: ah, i was just following the formats of the other tests 01:06
cotto_work for comments, use diag("...")
oh
I'll need to look at it when I get home. it won't be more than an hour or so. 01:12
rfw alright
it should be fine
01:18 Coke left 01:19 bluescreen left
Yuki`N cotto_work, lol it's not my fault someone decided to implement it that way. :3 01:24
01:26 bluescreen joined
cotto_work Yuki`N: no. I wouldn't let something outside your control influence your status. 01:29
Yuki`N What shall we do about all that unused code, though?
Should someone else take a look at it and then chainsaw it out?
cotto_work Is the code unreachable?
The chainsaw is always a possible option. 01:30
Yuki`N The code is unreachable from PIR.
dalek rrot/tt1893_quickcover: f013736 | jkeenan++ | config/gen/makefiles/root.in:
More Makefile housekeeping. Name variables holding directories holding tests
01:31
Yuki`N And given they haven't been used I don't think they're referenced elsewhere.
cotto_work the BigInt PMC?
Yuki`N BigNum.
rfw is working on BigInt. 01:32
cotto_work I'll add it to my todo list to look at that and possibly add a chainsaw gci task.
rfw yeah i'm doing BigInt
all of the code is reachable in BigInt
i haven't written any tests with DEFAULT or FLOAT though
01:34 mtk left 01:40 mtk joined 01:44 kid51 is now known as kid51_at_dinner
dalek rrot/tt1893_quickcover: 9720330 | jkeenan++ | config/gen/makefiles/root.in:
For now, remove t/perl/ from COVER_DIRS.
02:02
02:10 dmalcolm left
Yuki`N Can someone do the task approvals for melange? socghop.appspot.com/gci/task/show/g...9228510453 02:11
cotto_work puts it on his todo list 02:13
Yuki`N I'll claim and hopefully you can approve three such instances, since I brought it up 30% so far.
Hopefully by removing unnecessary code I can get the final 10.1% :D
02:17 Coke joined
cotto ~~ 02:44
whiteknight, ping 02:45
whiteknight pong
cotto can you take care of a one or two gci task approvals?
I'll get the rest.
whiteknight ok 02:46
cotto thanks
let me know which you do
whiteknight I can't really do any until tomorrow 02:47
I have a fussy baby to put down tonight
cotto ok 02:48
02:53 whiteknight left
Kapace_ :( nothing works still... 03:02
Coke Kapace_: what are you working on?\\ 03:05
Kapace_ Coke: I want to try the test coverage increase tasks 03:06
but make cover fails to create reports for eventhandler.pmc
03:15 adu left 03:22 adu joined
kid51_at_dinner in the tt1893_quickcover, I, too, am having problems with t/pmc/*.t 03:22
03:22 kid51_at_dinner is now known as kid51
kid51 t/pmc/io.t and t/pmc/packfile*.t 03:23
I suspect some problem with respect to concept of $PWD
but it's getting late for me, so I won't be able to solve this tonight 03:24
03:24 arnsholt_ joined
Kapace_ maybe theres some earlier version that works? 03:25
kid51 But it may also have to do with what gets cleaned. 03:26
03:26 arnsholt left
Kapace_ :S ? 03:27
dalek rrot/tt1893_quickcover: d017ffa | jkeenan++ | config/gen/makefiles/root.in:
Trying to get 'quickcover' target to work. Problems with t/pmc/packfile*.t and
03:34
Coke Kapace_: WFM. 03:35
I run make cover, go wait for a pot of water to boil, come back, I have:
/Users/coke/sandbox/parrot/cover_db/src-pmc-eventhandler-pmc.html
(which has zero coverage)
do you have cover_db/ ? 03:36
(and then, cover_db/coverage.html ?)
I also have: cover_db/src-pmc-eventhandler-c.html , which is probably more interesting. 03:37
Kapace_ Coke: yes i have cover_db and coverage.html
but i don't have any info about /pmc/ in coverage.html 03:38
03:38 TypeNameHere_____ joined
Coke what OS, OOC? 03:39
kid51 Aha! The t/pmc/packfile*.t tests are failing even in 'master'!
So it's probably not my problem!
Kapace_ Coke: i don't know what OOC is, but my OS is ubuntu 10.10 03:40
03:40 khisanth_ joined
cotto "out of curiosity" 03:40
Kapace_ ah 03:41
03:43 Khisanth left
kid51 Getting inconsistent results; sometimes t/pmc/packfile*.t passing, sometimes not 03:45
Kapace_ hmmm 03:46
03:46 Yuki`N left
Coke Kapace_: if I think of it, I'll try again on my ubuntu 10.10 laptop tomorrow. 03:48
Kapace_ ok, what OS are you running Coke ?
(maybe I should custom build some packages? (specifically libdevel-perl-tools or whatever))
kid51 This is very strange. When I say 'make clean;make test', the t/pmc/packfile*.t tests pass. 03:56
But when I say 'make realclean;perl Configure.pl;make;prove t/pmc/packfile*.t', the tests fail.
Kapace_ kid51: sounds similar to my problem 03:57
ill try to reproduce ^
kid51 And this is independent of any attempts at make cover
Oh, wait a minute. 03:59
There's that weird target: pbctestfiles
That's probably what I'm missing.
04:02 Andy left
kid51 Yes, that's it: make pbctestfiles; prove t/pmc/packfile*.t 04:03
Will implement that in the quickcover branch tomorrow.
kid51 must sleep 04:04
Kapace_ night kid51
04:19 kid51 left 04:31 khisanth_ is now known as Khisanth 04:33 theory joined 04:59 fbrito joined
fbrito tadzik: ping 05:01
Kapace hey fbrito, make cover works on your 9.10 install? 05:05
fbrito Kapace yes 05:06
Kapace considers making a ubuntu 9.10 virtual machine
cotto fbrito, if you're pinging tadzik about your pull request, I'm looking it over now.
fbrito cotto: oh, thank you :)
Kapace do you want me to run them for you? 05:07
Kapace I'm not sure, maybe I should first learn how to increase the code coverage :P
see how it goes
05:09 fbrito1 joined 05:13 fbrito left 05:14 fbrito joined 05:16 fbrito1 left
cotto fbrito, how did you get the numbers you used in the Complex tests? 05:18
fbrito cotto WolframAlpha. www.wolframalpha.com/input/?i=acosh(2-3i) 05:19
cotto Great. I just wanted to be sure you didn't use the implementation to verify itself. 05:20
dalek rrot: b7dbe46 | cotto++ | t/pmc/complex.t:
Merge branch 'fernandobrito-gci_tests'
05:21
cotto gci task completed 05:22
fbrito yay! thank you! 05:23
Kapace where does one start for the code coverage tasks? 05:24
fbrito Kapace search for your file here: tapir2.ro.vutbr.cz/cover/cover-resu...1/c_cover/ 05:25
look which lines/functions are not covered and write tests for them
cotto fbrito, you're welcome. Sorry our response times are a bit slower than last week.
Kapace ah, makes sense, thanks again fbrito
fbrito what are you going to cover? bigint? 05:27
Kapace i plan to do eventhandler
fbrito ah, ok
hm, interesting 05:28
there are some PMCs that have 2 or more test coverage tasks on GCI (like BigNum) 05:30
students are probably going to write duplicated tests while doing those different tasks at the same time 05:31
Kapace yeah, thats what i was thinking 05:32
dalek rrot: 0f5d800 | cotto++ | / (2 files):
Merge branch 'master' of github.com/nol888/parrot into nol888-master
05:37
05:44 TypeNameHere_____ left
dalek rrot: 9c33e67 | cotto++ | / (2 files):
Merge branch 'master' of github.com/rofflwaffls/parrot into rofflwaffls-master
05:45
cotto fbrito++ for taking on the parrot-commits task 05:50
fbrito cotto :D. I am still doing some research on that :) 05:52
I saw that GitHub post-receive hook is actually just a POST request to some URL, right? 05:53
cotto fbrito, yes
you can set up a dummy repo for testing or use any that you have an admin bit for 05:54
If your perl skills are ok, it shouldn't be too much effort. I don't think Tie::Function is actually required. You can delete that to cut down the dependencies.
fbrito it seems like a interesting task :). I will let you know if I find any problem 05:56
cotto ok.
fbrito, do you know what I mean by an auth token? 06:00
fbrito pass a random string as a parameter in the URL so "bots" won't be able to send POST requests? 06:01
cotto predetermined, but yes
fbrito yes, that's what I tried to say :D
cotto brain not want think 06:05
sorear fbrito: What are you doing with post-commit!? 06:09
fbrito sorear: a GCI task: www.google-melange.com/gci/task/sho...9202922193
06:09 theory left
cotto jnthn, ping 06:11
sorear fbrito: why aren't you looking at github.com/sorear/dalek-poller/blo.../push.psgi ? 06:12
fbrito sorear: does it send the diff with the changes made on each line? 06:13
sorear no, but it does use the github API to get details 06:14
fbrito hm, interesting! I will take a look on it. thank you for the information :) 06:16
Kapace_ so I made a virtual machine called "ARGH!", boot to 9.10 live 06:19
sudo apt-got git, and git clone parrot, only to have it fail...
i think some greater force is against me 06:20
or maybe i should use the git:// protocol on older git... 06:22
fbrito "git clone github.com/parrot/parrot.git" is failing? 06:24
Kapace_ yeah
bad luck strikes again: make test fails out of the box... 06:41
Kapace_ offers free ssh access to a virtual box running 9.10 06:50
the only catch is you have to get parrot make cover working :P
I have to be doing something wrong... I'm seeing the exact same failures... 06:55
sorear gimme 06:58
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAntjvyZL0O5p5bwmeWL9kfaGsEb/J1BprShmo0q+nJ9XuaHjCQOj5+olJR4mYBEdhDvYpNooWe6Qg0TBqgGJN5OnrKnhdDPSBpv9mYmn3DDolbwr8yMvHTe22MaqjrXCD6Fsc7xfR9Tt5wzEMi+y+ZjdExxeCvXwL8GJp0APaqhtOUYyOsQQLzqrhYsnv5k4cZD0t2Uv1euedPR1x/cltPOTpplogZv7L12tF5+1wYq6U2HjtYbkqpJXSU3L0zdXOy8MEret4fCwOYIWEBHJgVCDMDJDlzNH3dLAH+1LLMqLB3Eo6xN5tHwKrvT3zxn1xIVMKEShdDMtwQP1LEB11Hw== stefan@stefans
Kapace_ sorear: ok, give me some time to set this whole deal up 06:59
(I wasn't really expecting someone to accept the offer) 07:00
07:00 Khisanth left, Khisanth joined
Kapace_ erm, my ssh-fu is weak, how do I add that key? just cat > .ssh/authorized_keys? 07:05
07:10 fbrito left
sorear yes 07:11
you may also need to fiddle permissions on the file
also give me a publically routable IP address
also I don't guarantee success :p 07:12
Kapace_ cool. good enough :P 07:13
07:17 fbrito joined
sorear so I'm on Kapace_'s VM now 07:32
Configure, make goes normally
but "make cover" triggers a reconfigure
sorear goes digging in the makefile
cotto it should
sorear why? 07:33
Kapace_ cotto said earlier that it makes gcc spit out code coverage information
cotto it reconfigures with some extra gcc flags to enable profiling
sorear also, killing make leaves configure running in the background, as if either make or Configure is calling setpgrp for some braindead reason 07:34
Kapace_ Ill be sure to write that in the make cover documentation (if such a task will exist) 07:35
sorear are you with gci?
Kapace_ yes
that why i need this to work so badly
cotto yeah. Configure.pl isn't very good at getting killed. 07:36
07:39 fbrito1 joined
sorear "t/op/jit"? Really? 07:39
07:41 fbrito left
sorear so apparently Kapace_ can't get cover output for ANY pmc 07:47
07:54 fperrad joined 08:11 fbrito joined 08:14 fbrito1 left 08:17 fbrito left 08:19 fbrito joined 08:26 fbrito1 joined 08:28 fbrito left 08:35 fbrito joined
Kapace in end the sorear found that in the VM make cover does make reports for the pmc's, i still can't figure out why my real pc doesn't make cover for any pmcs, but works anyways.. 08:36
night o/
08:37 fbrito1 left 08:38 Zaur joined 08:47 khisanth_ joined 08:51 fbrito1 joined 08:52 fbrito left 08:53 Khisanth left 09:03 khisanth_ is now known as Khisanth 09:07 adu left 09:14 rfw left 09:21 mtk left 09:25 mtk joined 09:40 fbrito1 left 09:47 GreenZED joined, GreenZED left, GreenZED joined 09:48 GreenZED left 09:52 Zaur left
dalek rrot: a66db30 | NotFound++ | t/pmc/bigint.t:
fix skipping of BigInt tests
09:55
tadzik bah, me and fbrito are always elsewhere 10:32
dukeleto: ping 10:46
cotto: ping as well 10:50
11:03 AzureSto_ joined 11:06 AzureStone left 11:33 contingencyplan left 11:58 janus left, janus joined
dukeleto ~~ 12:58
13:37 mtk left 13:39 smash joined
smash hello everyone 13:39
plobsing <crickets> 13:50
atrodo Yay for snow day 13:53
14:01 whiteknight joined
whiteknight good morning, #parrot 14:03
tadzik hello everyone 14:10
dukeleto: is this www.google-melange.com/gci/task/sho...9193205977 task about Complex, or Iterator? 14:11
whiteknight tadzik: that task was about Iterator 14:12
tadzik well, the description talks about Complex 14:13
whiteknight oh, probably a bad copy+paste job 14:22
t/pmc/socket.t is aborting without an error message on Win64 14:52
that makes me a sad panda
dalek rrot/gci_french_readme: 8f5c32f | nwellnhof++ | src/string/encoding/ucs4.c:
[str] Hopefully fix UCS-4 test failure discovered by whiteknight++
14:53
rrot/gci_french_readme: 17ce365 | (Lļæ½o Grange)++ | / (136 files):
Merge remote branch 'parrot_origin/master'
rrot/gci_french_readme: 764e225 | (Lļæ½o Grange)++ | README.francais:
Add the french README translation
rrot/gci_ptBR_readme: 0e4a95c | fbrito++ | README.pt-BR:
[doc] Add pt-BR README translation
14:55
rrot/gci_ptBR_readme: 90f9db5 | fbrito++ | README.espanol:
[doc] Fix mistakes README.espanol
rrot/gci_ptBR_readme: 933635d | fbrito++ | README.deutsch:
[doc] Fix mistakes README.deutsch
rrot/gci_ptBR_readme: a0ed8fa | fbrito++ | README.pt-BR:
[doc] Fix typo in README.pt-BR
rrot: d2fad27 | NotFound++ | t/pmc/namespace.t:
some tests for Namespace inspect_str vtable
14:56
whiteknight I have no idea why that nwellnhof commit ended up on that branch 14:58
NotFound Merging from master? 15:03
15:04 Andy joined
dalek rrot: 2b387fd | NotFound++ | runtime/parrot/library/Test/More.pir:
make output of Test;More throws_type a bit cleaner
15:05
plobsing NotFound: I have more winxed issues for you. The only blocker for me is the exceptions one, which unfortunately is probably the hardest to solve. 15:07
NotFound plobsing: I've seen them, thanks. 15:08
15:08 mtk joined
NotFound plobsing: the exception will be easy for simple usages (I hope you don't abuse goto) 15:08
plobsing no goto here. I do have return statements in try blocks though 15:09
NotFound No problem with return, the context handling take care,.
whiteknight Winxed has goto? 15:12
NotFound Ofcoz 15:14
plobsing NotFound: what about tailcalls? I suspect that would break the context handling. 15:15
NotFound plobsing: a good question, don't know if parrot has some issue with that. 15:16
whiteknight in soviet russia, context handling breaks you
15:16 fbrito joined
plobsing btw, I'm not only finding winxed bugs. I also found a parrot bug, but have so far been unable to produce a paired down testcase. 15:17
tailcalls into native PMC methods *sometimes* don't return properly
15:18 JimmyZ joined
NotFound There is also a ticket about tailcall to coroutines 15:18
15:19 JimmyZ left
moritz thought that the point of tailcalls was not to return 15:20
though you probably meant "invoke the next continuation" 15:21
plobsing the point of tailcalls is not to return to the point of call, but rather to the caller of the point of call 15:22
so there is a return
dalek nxed: r720 | NotFound++ | trunk/winxedst1.winxed:
code generation for Try blocks in stage 0 lacked a pop_eh in stage 1, Issue 10,
15:23
NotFound plobsing: See? Fairly easy :)
plobsing NotFound: for the trivial cases (which mine are, modulo the tailcall case), yes. nicely done. 15:24
btw, I'm fine with goto not playing nice with try-catch. if you play with fire... 15:25
NotFound The commit message looks a lot less clear than I've tought.
The pop_eh was alredy present in stage 0, don't know why I forgot it in stage 1. 15:26
plobsing: Do you want to re-open classes? You risk to upset Stroustrup! ;) 15:30
plobsing I think my views on the quality of that man's work or well known at this point. 15:31
s/or/are/
whiteknight plobsing: you not a C++ fan?
NotFound There is no "thinking about it" status in google code issues? 15:33
plobsing whiteknight: given how many times i've broken the C++ build, my cynical remarks in comments and commit messages, I would have hoped that much was clear.
moritz plobsing: in all fairness one has to admit that stroustrup did admit later on that some of the design decisions were errors, or that others convinced him against his better judgement 15:34
whiteknight plobsing: Sorry. I'm very dense. I also don't read a whole hell of a lot of commit messages 15:36
NotFound "The Design And Evolution of C++" is a great book.
plobsing C++ makes people do crazy things. Like the cast I removed in 5c746dba12f7d893e54db700ad2ef08b1f9ad925. 15:37
NotFound plobsing: yeah, crazy things like winxed. 15:38
plobsing NotFound: while I dislike your methods, I cannot argue with your results ;) 15:39
15:40 Patterner left
NotFound Don't tell me you don't like my Infinite Memory GC ;) 15:40
plobsing NotFound: if I say I like it, will you supply me with a real turing machine so I can actually run it? 15:42
NotFound plobsing: I mean, the one winxed stage 0 uses. A GC implemented in 0 LOC
plobsing there is some beauty in its simplicity 15:43
whiteknight Does anybody here have a feather account? 15:44
moritz raises both tentakles
aka "yes"
whiteknight moritz: privmsg 15:45
NotFound plobsing: how pressing is Issue 11? Do you expect noticeable speed or memory gains? 15:46
For Ohm-eta..., I mean. 15:47
plobsing NotFound: many Ωη-generated rules end in such statements, so it could conceivably speed it up. but its not pressing. 15:48
the winxed version doesn't work for anything but the most trivial rules (I can recognize sequences without alternations) 15:49
NotFound I'll take a look and see how hard it may be.
plobsing I just logged it because I noticed it in the generated PIR
15:49 Psyche^ joined, Psyche^ is now known as Patterner
whiteknight who do I talk to about getting a feather account, Juerd? 15:50
plobsing basically, at this point, Ωη is a very inefficient recursive equality evaluator.
moritz whiteknight: yes
whiteknight: www.mail-archive.com/perl6-language...20060.html
whiteknight moritz++ 15:52
NotFound plobsing: about Issue 12, I disagree with the example code. You are declaring a in a inner scope, so its meaning in some outer scope is overriden. 15:56
plobsing NotFound: what? where is the inner scope? 15:58
NotFound plobsing: the function body.
plobsing NotFound: that's not the problem
result is never declared anywhere 15:59
NotFound plobsing: yes, I said I disagree with the example, not with the problem.
plobsing ok, so if I change the variable name to b, so it doesn't conflict with the function name, would that be acceptable?
NotFound NM, I mentioned it just to clarify the intention. 16:00
plobsing the aliasing was not intentional
NotFound The problem exists, is a remaining of the ultra-simplified way I used for the first versions. 16:01
plobsing all my tests with tailcalls in try actually work. I'm shocked. Someone actually thought this through apparently. 16:03
16:03 Zaur joined
NotFound That may explain why tailcall is unable to do infinite recursion. 16:03
plobsing it's not a bug, it's a feature! 16:05
moritz seems to recall that Tene++ did a lot of work on the exception system
NotFound The exception system is working well... if you use finalize appropiately. 16:06
plobsing NotFound: speaking of which, what are your thoughts on finally blocks? 16:07
whiteknight we need to do a hell of a lot more work on the exceptions system 16:09
NotFound plobsing: I've not yet had an idea for a solid implementation.
whiteknight I was hoping we could have fixed exceptions and exception handlers so they were subclassible by 2.11, but the merge on Tene's branch was way too messy
NotFound whiteknight: I think that in order to solve subclassing PMC the attribute handling may need some reworking. 16:10
plobsing NotFound: (SFAICT) they aren't strictly necessary, being emulatble with catch blocks (unless you start getting into resumable exceptions) 16:11
just nice sugar
NotFound plobsing: not so esasy, if you want to take into account return inside try blocks. 16:12
plobsing ah. hadn't thought of that. trick, tricky. 16:13
NotFound Well, you can throw a control exception, but that's not the winxed way.
moritz again wonders why things are so hard that should be really easy in CPS
whiteknight Notfound: yes, that's part of the reason why subclasses don't work. Need to use the GETATTR stuff to access them instead of pointers 16:14
plobsing moritz: why should exceptions be easy in CPS? most designs for such systems are for stack-based systems.
NotFound whiteknight: thet GETATTR stuff, even if used pervasively, is not enough 16:15
moritz plobsing: because it's just an invoke
NotFound whiteknight: it doesn't play nice with non pir'able types.
moritz plobsing: and so is return()
plobsing moritz: in theory / in practice 16:16
moritz I know that you have to find the continuation you want to invoke
if theory and practice differ much more than that, something smalls foul 16:17
plobsing and therein lies the rub. those continuations exist on a side-stack (is it a tree in parrot?), which must be maintained separately.
NotFound plobsing: each context has its own handlers. 16:19
plobsing oh. cool. 16:20
16:23 dmalcolm joined 16:25 Zaur left, contingencyplan joined 16:30 fbrito left 16:31 kennym joined
kennym can some please tell me what "PMC" stands for? 16:35
s/some/someone
moritz Parrot Magical Cookie 16:36
basically an object
kennym moritz: so is the documentation wrong? docs.parrot.org/parrot/latest/html/...o.pod.html
PMC stands for Polymorphic Container 16:37
whiteknight moritz: we revised that
it's "Polymorphic Container" now
moritz kennym: I'm just old fashioned
it used to be "parrot magical cookie", and I liked it
kennym well, but it's basically just an object, right?
whiteknight moritz: it was likable, but nobody understood it
moritz then somebody decided that it doesn't sound coroporate-y enough
whiteknight kennym: right, basically an object
moritz so it was changed
kennym thanks, you are great guys. 16:38
moritz but I like the cookie better :-)
whiteknight moritz: we can create something else and call it a magic cookie
does Rakudo need magic cookies?
moritz it sure does 16:39
as long as they are fast
rakudo needs everything :-)
plobsing wow. javascript has really weird order of operations 16:40
16:40 fbrito joined
plobsing this.input.memo[rule] = memoRec = {ans: this[rule].call(this), nextInput: this.input} 16:40
kennym hi fbrito 16:41
plobsing if the call mutates the 'input' field of 'this', the assignment still operates on the *old* contents
fbrito kennym: hello :D
plobsing that was causing the packrat-ish stuff in Ωη a lot of grief (because winxed has *sane* order of operations) 16:42
kennym fbrito: how you are doing, you hard worker?
fbrito kennym: I am really slow right now. Lots of other things to do
:(
plobsing or am I missing something?
kennym well, we will have to work far harder to catch up to you, so you don't have to worry atm. ;-) 16:43
fbrito: ^^^
NotFound plobsing: I've heard that this is kinda magical in JS 16:45
plobsing OMeta/JS depends on it. Otherwise, failures propagate all the way to the toplevel due to the way the cacheing works. 16:46
(a | b) // if a fails, b will fail because of cached failures in the 'anything' rule from which all rules descend 16:47
NotFound plobsing: at one time I was considering trying to make winxed somewhat compatible with JS, but when I learnt some details about JS I quckly gave up. 16:48
plobsing yeah. its insane. 16:49
NotFound So don't let the syntactic familiarity fool you.
16:56 theory joined
plobsing NotFound: your recent installer changes break running using $WINXED_PATH 17:00
NotFound Uh? I think I tested that recently... 17:02
plobsing nevermind. I'm an idiot
NotFound Doesn't work for --stage=0, though. I should fix that.
The env var usage, I mean, not the installed dreiver. 17:04
plobsing paths not set up properly error messages are lta, but i guess winxed isn't quite at that point yet.
NotFound Given that no one noticed the plumage problem, I wonder if the work already done pays. 17:05
kennym I just cloned parrot, checked out embed_api2, but there seems to be no src/embed/ folder 17:08
have I missed something?
plobsing kennym: are you on the right branch? git branch 17:10
kennym plobsing: git branch output: remotes/origin/embed_api2 17:11
I guess that's correct.
plobsing wait, you are doing work in a remote branch? that doesn't seem like a good idea to me
kennym plobsing: what would you recommend? 17:12
plobsing git checkout -b embed_api2 remotes/origin/embed_api2
IIUC, remote branches act as a buffer space for your local branches. Bad Things (TM) happen when they are dirty or out of sync with the remote. 17:13
dalek rrot: 60b8826 | (Gerd Pokorra)++ | README.deutsch:
start of correction
17:14
nopaste "plobsing" at 192.168.1.3 pasted "[OhmEta] working letter or digit recognizer" (9 lines) at nopaste.snit.ch/27172
kennym plobsing: warning: refname 'remotes/origin/embed_api2' is ambiguous.
plobsing: I checked out master, and ran your command 17:15
plobsing: and that was my output
plobsing I usually drop the remotes (but I'm not sure why it doesn't like that)
as in origin/emed_api2 over remotes/origin/embed_api2
I thought the later was simply more explicit 17:16
whiteknight git checkout git://github.com/parrot/parrot.git 17:26
git checkout embed_api2
er, the first one is git clone
dalek nxed: r721 | NotFound++ | trunk/winxed.winxed:
look for stage 0 in WINXED_PATH in non-installed driver
17:28
kennym whiteknight: ok, that worked, too, but I still don't see the src/embed 17:31
whiteknight kennym what does "git branch" output? 17:32
should say "* embed_api2" somewhere
NotFound git checkout origin/embed_api2 17:33
kennym whiteknight: yeah it says that 17:34
NotFound: that worked! thx
whiteknight okay, you have the folder now?
kennym whiteknight: yes, it's there 17:35
NotFound kennym: note that this way you are not tracking the remote branch
whiteknight okay, let me know when you request a task and I will accept it
kennym NotFound: this means `git pull' is worthless? 17:36
whiteknight: are you a GCI mentor?
whiteknight kennym: yes
NotFound kennym: maybe you can still use it, but I'm far from a git expert
17:39 fbrito left
kennym whiteknight: I would like to work on this task : www.google-melange.com/gci/task/sho...9242595808 17:39
NotFound kennym: www.gitready.com/beginner/2009/03/0...nches.html
kennym whiteknight: but I am currently waiting for a review of my current almost finished task 17:40
whiteknight kennym: your current task, is it with Parrot?
kennym whiteknight: can you tell me why you marked it as difficutl?
whiteknight: yes
whiteknight: "Write a new API function to get a Method from a PMC"
NotFound: thanks! 17:41
whiteknight kennym: it might not be really difficult.
kennym: you're going to have to use pointers and stuff, and many people aren't good with those
writing a test for it may be tricky
but it's probably not difficult
my mistake is your gain :) 17:42
kennym whiteknight: yeah, let's close one eye on this ;)
17:42 hercynium joined
NotFound This is probaly easy: stackoverflow.com/questions/67699/h...s-with-git 17:43
git checkout -b experimental origin/experimental
17:46 Util left
kennym NotFound: that is the best solution, I guess 17:46
17:47 tadzik left
PerlJam www.youtube.com/watch?v=uguXNL93fWg 17:47
cotto I like that parrot. 17:48
17:51 Util joined
NotFound kennym: at least the simplest command 17:53
Sigh... We don't have better things to do than debating a fucking README file? 17:57
I propos to make the official version in Very Rude Russian 17:59
plobsing Very Rude Robotic Russian 18:00
cotto_work ~~ 18:15
18:19 smash left
cotto_work anyone mind if we put a moratorium on new README translation gci tasks? 18:21
NotFound A tanatorium? 18:23
18:26 Kristaba joined
cotto_work we need aloha back 18:27
whiteknight: do you have the tuits to do that before the weekend?
Kristaba Good morning/afternoon/evening :)
cotto_work Kristaba: happy unbirthday! 18:30
plobsing Kristaba: good 93018161111043490
erk. me never remembers how to get unix time. geekiness fail. 18:31
Kristaba whiteknight: I saw this GCI task, can I ask you some questions about? www.google-melange.com/gci/task/sho...9242595808 ? 18:38
whiteknight Kristaba: sure
cotto_work: I sent a Juerd a request for a feather account earlier this morning. I'll get aloha set up post-haste when I get the account 18:39
cotto_work whiteknight: thanks a bunch 18:41
Kristaba I remember of the using of VTABLE_xxx to access to a PMC object method (if my memory still working :p), so I'm asking of what do you would add exactly. 'Simply' a dynamic access to this VTABLE? Or I'm wrong? 18:44
cotto_work btw, I'm keeping my outline for writing about the lorito braindump at gist.github.com/740858 . Suggestions are welcome
atrodo cotto_work> line 10 eases my worries a little 18:45
18:46 tadzik joined
cotto_work keep in mind that it's a very rough draft 18:46
whiteknight Kristaba: VTABLEs are very low-level things. METHODs are different. METHODS are objects
you can find a method with VTABLE_find_method 18:47
Kristaba whiteknight: Ok, so methods are the 'high level' PMC object that represent a function of this object? 18:48
whiteknight Kristaba: right. Methods are the thigns that users use. VTABLEs are the things that libparrot uses internally 18:49
atrodo cotto_work> some of it, like line 67, makes me wonder if I am completely off the lorito base
NotFound plobsing: date +%s
atrodo Also, completely unrelated, I had no idea "weekend at bernies" had a plot
cotto_work atrodo: how so? 18:50
Kristaba Ok, it seems interesting, I'm going claim this task ;) 18:51
whiteknight Kristaba: okay, awesome!
atrodo cotto_work> maybe not. Once i step back and think about it a different way I can see where you're coming from 18:52
cotto_work> so is the idea to use the 6model mop instead of something like P&W? 18:53
cotto_work atrodo: that's the plan 18:54
whiteknight Kristaba: claim accepted. Good luck!
atrodo interesting 18:55
whiteknight atrodo: it's my understanding that the 6model MOP is not super duper different from P&W
at least, the code I saw was in the same ballpark
Kristaba whiteknight: Thank you :) 18:56
whiteknight sorear: ping 18:57
plobsing cotto_work: I retract my statement that factor's alien uses libffi. I was mistaking it for lua's alien. After you look at enough NCI packages, they all start to blurr together. 18:58
cotto_work plobsing: good to know
plobsing factor's alien uses their custom dsl/assembler/doohiky, which they also use to implement their core and their JIT 18:59
they built their entire system from the ground up
whiteknight where do I go to add a new project feed to dalek?
plobsing no libffi, no llvm, no libjit, no nothing
cotto_work whiteknight: perl6/mu in misc/dalek-config.json
plobsing cotto_work: I don't think we're looking to follow in those footsteps
cotto_work I don't think we have the expertise to try something like that. 19:00
plobsing they built on the shoulders of giants. forth has a long history of building up ASM using an internal DSL. 19:02
however, we'd likely end up standing on the toes of midgets
whiteknight poor midgets 19:03
The big difference is that we don't have a hell of a lot of super high-quality groundwork to build on 19:05
some of our most basic, fundamental pieces really need to be ripped out and redone
plobsing cotto_work: I thought libffi *could* do msvc. It is gcc-specific, but provides thunks to make msvc act like gcc.
whiteknight we have to build on our strengths. If the rest of our house was in order, I would say we take the time and try to do our own JIT 19:06
19:06 mtk0 joined
whiteknight but we just don't have the manpower for that, considering all the other tasks we have ahead of us 19:06
cotto_work Do we want to look at generated C thunks as a long-term solution?
plobsing but I disagree that libffi should be in M0. M0 does need native calls, but I think they should be a limited-static version.
whiteknight if M0 is based on LLVM, at least initially, let LLVM do the native call stuff for us
cotto_work whiteknight: define "based on" 19:07
plobsing whiteknight: yes. and if M0 is compiled down to C, it should look like a C function call.
atrodo cotto_work> no
that is, unless you want to be hostile to non-c libraries
whiteknight cotto_work: based-on was the wrong term. "Translated to" is probably better
plobsing generated thunks are the only 100% portable solution 19:08
cotto_work whiteknight: that makes me less apprehensive
whiteknight if we start with an M0 parser and a backend that converts M0 into LLVM assembly, we're 90% of the way to a working Lorito AND a functioning JIT
because from there, LLVM can compile to machine code for the Parrot executable itself, or store the LLVM bytecode segments in a lookup table for JIT
plobsing cotto_work: your blog post indicates that somehow M0 being of fixed width obsoletes PBC. I can think of at least 2 reasons why we would want to pass ops around at a higher level of abstraction than M0. 19:11
whiteknight M0 is going to have a bytecode format, right? 19:12
cotto_work plobsing: listening
plobsing (1) M0 ops are low-level and there will consequently be many of them to perform a useful operation. frequently, the use for bytecode is to *decrease* the size of the program text.
if I want to only perform predefined sequences of operations, and I have only 255 of these, bytecode can be *very* space efficient. 19:14
this goes double for network transmission, but ram usage is also a concern.
whiteknight that's like what PIR/PBC is now. Each PBC op represents a sequence of machine operations 19:15
and a huge number of specialized ops makes for efficiently-packed bytecode files
plobsing (2) M0 exists bellow the security layer. therefore, any loaded M0 is already trusted. how do you make eg: a browser plugin work with this? 19:16
whiteknight cotto_work: is M0 a human-readable assembly-like language, a machine-readable machinecode-like language, or a 1:1 pair of these?
cotto_work in my head, a 1:1 pair 19:17
whiteknight okay, just making sure
so when we're talking about M0, there's a compiled machine code component
plobsing: I've been talking for a very long time about macro-like features in M0. A simple compression algorithm could detect repeated sequences of code and assign them to an empty macro-op slot 19:18
that keeps space efficient, and is variable
plobsing cotto_work: the way I was envisioning it, we'd have an M1 interpreter in M0, possibly using M12M0+backend for JIT. 19:19
cotto_work whiteknight: I've been thinking about something like that
19:19 mtk0 left
whiteknight this comes in very handy during JIT when we can compile the macro-op as a single unit and store that in a lookup table 19:19
atrodo whiteknight> Actually, I had early on thought of having a lookup table system in place that would take one opcode and expand it into multipe m0 ops
whiteknight atrodo: that's probably what the new PIR compiler is going to look like. For each PIR op, look it up in the table and output the sequence of M0 ops 19:20
atrodo And a current parrot-like table could be used by default
whiteknight> exactly
whiteknight atrodo: The benefit to using a compression algorithm isntead of pre-defining the macro ops is that we can detect sequences after they've been generated, giving best characteristics to each generated M0 file
19:21 rfw joined
atrodo whiteknight> What about just compressing the file? The only benefit you lose would be in-memory 19:21
cotto_work whiteknight: that's what I'm thinking too.
whiteknight although in the case of PIR, we obviously do want to have existing libraries of macro ops to use
cotto_work atrodo: in-memory is important too. We want on-disk and in-memory efficiency we can get them. 19:22
whiteknight if we blow up in memory and eat huge amounts of RAM, we trash the cache
bye-bye performance 19:23
atrodo Seems like you'd lose performance either way
plobsing which is why I'm proposing interp+JIT. only JIT what you need, because JITted code is *way* larger. 19:24
whiteknight trace-based JIT works in the same kind of way: detect repeated sequences of operations, record them into a buffer, and JIT that buffer only 19:25
that is a direction we should want to be moving in
sorear whiteknight: pong
plobsing trace-based or hotspot-style, both are good and avoid 'make world' scenarios at startup
whiteknight sorear: I have a new project to add to dalek. I wasn't sure who I should talk to about it, so I picked you 19:26
plobsing ooh. I haz a project too.
sorear whiteknight: is it on github?
whiteknight sorear: yes. github.com/Whiteknight/parrotsharp 19:27
once that gets added, I could start making GCI tasks to work on the bindings
sorear whiteknight: the easy way is github.com/perl6/mu/blob/master/mi...k-push.txt
whiteknight sorear: oh, that is easy 19:28
plobsing sorear: that says #perl6 on freenode, but I'd like mine to go to #parrot 19:29
sorear The less easy way involves adding an entry to dalek-conf.json in the same repository, committing, and waiting
plobsing: change freenode+perl6 to MAGnet+parrot
in the hook URL 19:30
whiteknight okay, I just sent a test
atrodo anyone have any objections to adding my lorito prototype to dalek?
whiteknight atrodo: +1
cotto_work atrodo: go for it 19:31
dalek rrotsharp: abfb413 | Whiteknight++ | / (9 files):
fixes and additions to the library so we have enough to run. Add a console output program to test. I can now run .pbc files from my C# wrapper program
19:32
rrotsharp: bde24b7 | Whiteknight++ | src/Parrot (2 files):
Parrot_api_string_import_ascii, and the ability to create a new Parrot_String from a C# String.
rrotsharp: d9808b9 | Whiteknight++ | ParrotTest/Main.cs:
add a quick top-level exception handler. This exposes an error message where libparrot prints to stderr directly when attempting to load a bytecode file that doesn't exist
whiteknight yay!
sorear sorry, magnet, not MAGnet 19:33
atrodo Test sent
whiteknight plobsing, atrodo: use this URL: host04.appflux.net:5000/dalek?t=magnet,parrot
sorear somebody keeps sending broken pushes to ohm-eta-wink-kzd
plobsing that would be me 19:34
dalek rito: 389c75b | (Jon Gentle)++ | internal_pmc.c:
Fix the new data_block code.
rito: a99e827 | (Jon Gentle)++ | / (2 files):
Add the "PMC" macro to cast quickly.
rito: 7fd870d | (Jon Gentle)++ | / (4 files):
Add an internal_pmc/context as the code path for contexts.
m-eta-wink-kzd: 926a0a7 | plobsing++ | src/winxed-compiler.dual:
FQNs in untyped using statements
m-eta-wink-kzd: 63ec379 | plobsing++ | t/character-classifier.Ωη:
first working test
atrodo Thanks whiteknight, had a small typo
sorear yay!
m-eta-wink-kzd: 7dc5a63 | plobsing++ | src/ (2 files):
low-level parrot variable type specifiers
whiteknight yay! more clutter!
atrodo dalek swimming!
plobsing the commits must flow
whiteknight I love having this feature, but I do keep thinking that having a dedicated channel for news feeds would be best 19:35
atrodo sorear++
cotto_work whiteknight: interesting idea
whiteknight #parrot-feed or something, where we could dump all sorts of automated commit reports, taptinder reports, etc 19:36
we probably haven't hit critical mass yet where these reports are disrupting normal conversation, but add a few dozen more projects to dalek and we very well might be there 19:41
cotto_work +1 to deal with it later 19:42
plobsing true. but the separate channel thing has problems too. it requires developers know about it and pay attention to it. the in-channel doesn't suffer from that.
atrodo It could reduce the traffic in here to one line that indicates there's a new traffic in the other channel for a project 19:43
cotto_work atrodo: interesting idea
plobsing I'd favour a user-side filtering or subscription model if it ever gets bad enough 19:44
whiteknight dalek> ZOMG STUFF HAPPENZ IN #parrot-feed
Tene whiteknight: re-doing the work in my exceptions branch should be quite straightforward. It was primarily updating a few "type == exception" checks to "isa Exception", and working around some of the attribute storage with pmc subclass awkwardness. 19:46
whiteknight: So, not much total change.
whiteknight Tene: Okay, I was hoping it was very straight-forward
19:46 dd070 joined
whiteknight that's probably something that will have to wait until after 2.11 19:46
dd070 is parrot better than jvm ? 19:47
plobsing yes. end of discussion 19:48
cotto_work plobsing++
dd070 is parrot better than CLR ? 19:49
NotFound Parrot is better than anything, period. 19:50
dd070 cool. when would get widely used ?
plobsing it is too good for most people
they don't deserve it 19:51
Tene whiteknight: I've been very busy since we last talked about it, but looks like I might have some downtime over the next few weeks
cotto_work the snark is pretty thick in here
whiteknight Tene: downtime you might be able to spend looking at Parrot? 19:52
Tene yes
whiteknight dd070: Parrot is good and getting better. It is used for different things than JVM or CLR, so comparisons are hard to make
dd070: Parrot has known performance problems. We are working on those
dd070: but Parrot is much more fun to work on than JVM and CLR 19:53
plobsing dd070: unqualified "is $a better than $b" questions are very hard to answer meaningfully.
NotFound But fun to answer arbitrarily 19:57
whiteknight Tene: you know my opinion on that: More Tene == more better 19:58
20:00 cognominal left 20:09 bluescreen left 20:18 Kristabou joined 20:21 diofeher joined 20:22 rurban joined 20:23 Kristaba left
dd070 cool 20:27
is Parrot written in C ? 20:28
tadzik mainly, yes 20:30
dd070 ok 20:31
whiteknight dd070: you know C? We're always looking for more good hackers 20:34
dd070 yes I do. c and c++ are my favorite. 20:36
though I am not into systems programming.
whiteknight: i am not sure how much I can hack in depth. but I like C/C++ and I often code in it. I have developed cross platform app with wxWidgets too. 20:38
cotto_work dd070: you're welcome to jump in. 20:41
are you a gci student?
plobsing you know wxWidgets? want to make a parrot language binding to parrot?
dd070 cotto: thanks. what means by gci ? 20:42
cotto_work google code-in
plobsing err s/parrot?/?/ 20:43
cotto_work www.google-melange.com/site/home/site
dd070 cotto_work: nope.
plobsing: yes I know wxwidgets. have ported my app on both windows and ubuntu
plobsing: but developing binding to parrot may require some more learning. 20:44
cotto_work dd070: as would anything else
Parrot has a couple flavors of C, depending on what you're looking at.
tadzik who is working on pynie atm? 20:45
dd070 cotto_work: ok.
plobsing tadzik: lucian is iirc
20:45 sjn left, sjn joined
cotto_work tadzik: you pinged me earlier? 20:45
dd070 plobsing: can tell in brief about language binding to parrot ? 20:46
plobsing dd070: there are a few ways of providing bindings between C and parrot: nci, native pmcs, and native ops
tadzik cotto_work: about the GCI task, yes. There was a task with Iterator PMC in the title, and Complex PMC in the description, which caused some confusion 20:47
cotto_work tadzik: right. That one's completed now.
plobsing dd070: NCI involves grabbing a bunch of C functins using our FFI (which automatically wraps them) and then exposing them to users in some way
tadzik cotto_work: yeah, I know it
plobsing dd070: Native PMCs involves writting objects in a pre-processed C variant, which creates a primitive "class" 20:48
dd070 plobsing: i am feeling that I am novice to parrot related terms. 20:49
plobsing dd070: Native Ops exist as well, and work similar to native PMCs, but are harder for high-level languages to access, so of limited direct use.
dd070: sorry if I'm using jargon. NCI = Native Call Interface. FFI = Foreign Function Interface Library (libffi). PMC = PolyMorphic Container 20:50
Ops = virtual machine opcodes
my advice would be to try the NCI first and see how it goes. 20:51
dd070 plobsing: thats ok. as I am new to parrot, these words sounds strange. althought my general fundas are not that bad.
i read about registers and PMC, PASM and PIR 20:53
i came to parrot page through surfing about Perl6
sorear dd070: when you say you want to bind to parrot, are you writing a library that you want Parrot to be able to use?
or are you writing an app and want to embed Parrot?
plobsing dd070: the way you use NCI is (1) get a handle on the library using the loadlib op. (2) get a handle on the C functions from the library handle using the dlfunc op. (3) treat the function handles like ordinary parrot-level subroutines (they work the same through polymorphism) 20:54
tadzik is there a list of things we get for free from HLL::Compiler when writing a grammar?
dd070 sorear: no I am not writing anything for parrot currently. 20:55
plobsing: ok
whiteknight dd070: this is what you get for asking questions! We help too much and give you too much information! 20:57
dd070 these all sounds interesting. since last few months I am thinking about contributing in some good open source project.
whiteknight: thx. its very helpful. 20:59
whiteknight dd070: Tell us what kind of stuff you like to do, and we can help suggest fun projects to work on
dd070 whiteknight: well, not sure right now. i have not explored in detail abt available projects. I am good in perl, php and c/c++ .and i have also coded simple firefox extension. 21:01
cotto_work dd070: interesting. If you're still around when Parrot is mature enough, I might recruit you for PHP on Parrot. It'll be a while though. 21:03
whiteknight dd070: Those are all good things. We have a Perl5 binding project, we have a PHP compiler project. Our core is written in C. We would like to embed Parrot in FireFox
dd070: There are lots of projects. Anything you can imagine
dd070 cotto_work: ok 21:04
whiteknight: what means by embeding parrot in firefox ?
whiteknight: making firefox run on parrot ?
cotto_work dd070: vice versa 21:06
dd070 whiteknight: project of Perl5 binding and PHP compiler is not bad. specially if they become popular and get used after release. 21:09
if we embed parrot in firefox, then any parrot byte code can be run by firefox . is it ?. 21:12
cotto_work My dream of world domination involves replacing Zend's code as the default PHP implementation.
or at least being a reasonable alternative with some compelling improvements
21:13 davidfetter joined
dd070 cotto_work: hmm. 21:13
cotto_work that's a long-term vision though 21:14
for now, we need to get performance up from "ouch"
dd070 cotto_work: is someone solving it ?. 21:20
cotto_work That's what Lorito is all about.
21:21 Kristabou left
whiteknight cotto_work: where "compelling improvements" = "unicode support" 21:24
or "namespacing"
21:25 fperrad left
cotto_work I'm thinking more along the lines of hll interop, but finding and fixing a couple major pain points in backwards-compatible way while offering competitive performance would get us mostly there. 21:26
It's fortunate that PHP has so many pain points. 21:27
whiteknight yay for us
other people's interpreters are far worse
cotto_work all that remains is several thousand hacker-hours 21:28
21:28 ok22 joined 21:29 preflex left, whiteknight left
plobsing last time I worked in PHP, I would have given nearly anything for decent bignum language integration. bcmul($a, bcadd($b, $c)) just doesn't do it for me. 21:29
21:30 rurban_ joined 21:31 preflex joined 21:32 rurban left 21:33 rurban_ is now known as rurban
dd070 have to sleep now. se ya 21:33
21:33 dd070 left 21:36 cognominal joined 21:44 kapace_school joined
cotto_work dukeleto: when's your vacation over? 21:44
kapace_school if "$S0 = eh" works, then "get_string eh" should also work, correct? 21:47
21:48 diofeher left
sorear I did not know get_string was a PIR op. 21:48
kapace_school vtable? 21:49
sorear $S0 = $P0 compiles to 000000000001-000000000003 000003: set_s_p S0,P0 21:50
21:50 PerlJam left
sorear op set(out STR, invar PMC) is defined as $1 = VTABLE_get_string(interp, $2); 21:50
so, yes
21:52 Tene_ joined, Tene left 21:53 davidfetter left 21:56 davidfetter joined 22:11 PerlJam joined 22:18 perlite_ joined 22:21 perlite left, perlite_ is now known as perlite 22:24 Tene_ left 22:29 Andy left
NotFound After recent LWP improvements, getting json from a cgi on a we server and parsing it with data_json works fine. 22:48
s/we/web
22:49 ok22 left
NotFound With a little help of ByteBuffer for utf8 encoding. 22:49
World domination advances! 22:50
22:50 janus left 22:51 janus joined, kapace_school left 22:52 Yuki`N joined
Yuki`N cotto, can I go ahead and claim the three other BigNum PMC tasks? 22:53
cotto_work sure, but you'll have to do so one at a time. 23:06
Yuki`N K.
I claimed the first one.
cotto_work accepted 23:08
Yuki`N Submitted. 23:09
cotto_work done
Yuki`N Ok, onto the second.
Claimed the second one. 23:10
cotto_work accepted 23:11
Yuki`N And onto the third!
cotto_work done 23:12
Yuki`N Ok. 23:13
cotto_work accepted
Yuki`N Wooh. 23:14
So I'm thinking on working on the embed_api2 branch.
cotto_work done 23:15
Great. That branch is doing some good things.
Yuki`N I think it'd be more fun than trying to write more test cases. ;-;
cotto_work fun is in the eye of the beholder
Competition for the #1 gci spot is fierce. 23:17
23:18 jan left
dalek rrot: caa0115 | NotFound++ | t/pmc/namespace.t:
test Namespace get_sym method
23:18
cotto_work anyone know where we can find a Romanian speaker to verify the Romanian README? 23:19
23:19 kthakore joined
NotFound Namespace's approching 100% coverage :) 23:19
cotto_work Now we need it to approach 100% sanity.
NotFound cotto_work: in Romania 23:20
kthakore dukeleto: NotFound cotto_work EVERYONE gist.github.com/744192
:D !!!!!
Coke cotto_work: ask whiteknight? ;)
kthakore++
kthakore Coke: I didn't do anything! I just used it hhahah!
jnthn++
NotFound Gooood! 23:21
Yuki`N VMWare Unity mode is beautiful. 23:23
23:24 jan joined
davidfetter :) 23:27
23:30 hercynium left
NotFound Looks like plumage is not guilty of the ut8 problem. Config/JSON ins 23:32
is
23:33 dngor left, dngor joined 23:36 kid51 joined
Yuki`N In the embed_api2 branch, where are all the types declared. 23:36
i.e. Parrot_Int, Parrot_Float
dalek rrot: 96b00c1 | NotFound++ | runtime/parrot/library/Config/JSON.pir:
set utf8 encoding to read file in Config/JSON
23:38
kid51 cotto_work: Provide me with links to Romanian and other non-Anglo READMEs 23:41
I live in New York City. Therefore I know Romanian-speakers. 23:42
I live in New York City. Therefore I know Bulgarian-speakers.
I live in New York City. Therefore I know Spanish-speakers.
I live in New York City. Therefore I know Russian-speakers.
I live in New York City. Therefore I know Polish-speakers.
... and so on to infinity.
23:42 kennym left
sorear The standard Perl 5 JSON module does not seem to provide any way to read JSON data from a character string. I find this very annoying 23:43
cotto_work Yuki`N: include/parrot/config.h
NotFound It's ip to you, New York, New Yoooooork 23:44
atrodo sorear> That seems like I should be missing something subtle 23:45
cotto_work kid51: thanks. unfortunately the Romanian student needs help with pull requests. I'll send you a link when I have something. 23:49