Parrot 3.7.0 "Wanda" | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 17 August 2011.
00:00 jkeenan joined
jkeenan This storm is knocking my wireless off left and right! 00:01
whiteknight we had lots of lightning, but no ill effects from it
jkeenan is not a git expert ... but what were your questions? 00:04
whiteknight I was on the whiteknight/frontend_parrot2 branch locally, and I accidentally did a git pull origin master
it merged, and I would like to undo the merge and go back to where I was 00:05
jkeenan git revert is used to record a new commit to reverse the effect 00:06
of an earlier commit (often a faulty one).
from man git-revert
NOTES 00:07
1. revert-a-faulty-merge How-To
howto/revert-a-faulty-merge.txt
from that same man page
whiteknight ok
jkeenan has never tried this himself ;-)
whiteknight at this point, it's just faster for me to delete the branch then to search through my system for answers 00:09
I was hoping there would be a simple "git just-freaking-undo-that-thing-I-did"
jkeenan that's almost as brute force as my usual solution: nuking the entire repository, not just the branch 00:10
whiteknight nuked 00:12
kid51++
jkeenan Well, just now I created a new local branch, edited one file, committed it, then said 'git pull origin master'. 00:13
No merge took place. So I didn't reproduce what happened to you. 00:14
whiteknight my branch was pretty well diverged 00:15
jkeenan Did you issue any command after the 'git pull'? 00:16
Or was the problem simply that you had too many merge conflicts to deal with?
Could you create a new local branch from the last good commit? 00:17
whiteknight too many merge conflicts 00:18
I wasn't ready to deal with that hassle
jkeenan Yes, dealing with that is beyond my git fu. Paging Dr Leto 00:20
whiteknight it's no big deal, I already nuked it 00:21
the intelligent fixes are only worthwhile if they save energy 00:22
if the dumb, brute-force fixes are the fastest and easiest, I'm a fan 00:25
jkeenan Agreed. 00:40
dalek rrot/whiteknight/frontend_parrot2: 757cbb3 | Whiteknight++ | / (2 files):
In prt0, since we are adding an extra frame, we can filter it out. It's messy, but it does reclaim a few tests
01:06
whiteknight msg plobsing I took the easy way out fixing the backtraces. See 757cbb3. It's ugly, please don't think less of me because of it.
aloha OK. I'll deliver the message.
Coke github.com/coke/famflags, for webdev folks who might care. 01:22
01:29 woosley joined
dalek rrot/whiteknight/frontend_parrot2: 5d58bbf | Whiteknight++ | frontend/parrot2/prt0.pir:
If we don't have an exception message, print out the same error about not having a message as we used to. This reclaims several more tests
01:38
rrot/whiteknight/frontend_parrot2: 22109fd | Whiteknight++ | / (2 files):
We need a way to set interp->current_pf to be the packfile we're loading and executing. I added a method to do this to PackfileView PMC, but using it seems to cause other problems. Commented out for now
kid51 soh_cah_toa: Perhaps SOD should be transformed into something with a honeybee theme: See en.wikipedia.org/wiki/Apiary :-)
soh_cah_toa hmm... 01:40
kid51 What, e.g., would be a sub-unit of a hive?
soh_cah_toa didn't realize those even had a name :)
ah, not bad
whiteknight soh_cah_toa: naming it a curse word makes sense. We'll probably be cursing at it a lot 01:41
soh_cah_toa ha!
well, it's supposed to remove a curse that was set of parrot
s/of/on/
kid51 If we called it the opcode debugging segment (ODS), we could describe it as "odious" 01:42
soh_cah_toa wow
i actually like that
kid51 Perhaps we should ask Bacek for a suggestion in Very Bad Russian 01:43
whiteknight is out for the night. Goodnight
soh_cah_toa see ya
kid51 Unfortunately, bacek hasn't been around in several months :-( 01:44
soh_cah_toa yeah, you're right
seen bacek?
aloha bacek was last seen in #parrot 77 days 15 hours ago joining the channel.
soh_cah_toa wow
kid51 seen bacek_at_work?
aloha bacek_at_work was last seen in msg 23 days 23 hours ago <private message>.
kid51 soh_cah_toa: Are there any public forums where you could give a talk about Parrot? 01:45
soh_cah_toa kid51: i was considering ppw this october 01:46
it would depend if i could squeeze it in w/ school work
soh_cah_toa shudders at the thought of school again 01:47
kid51 Is that "school and work" or "schoolwork"?
soh_cah_toa schoolwork
kid51 Perhaps you could follow Benabik's example and work up a slideshow to satisfy a course requirement. 01:48
soh_cah_toa i was thinking about maybe doing something on pct but i'm not 100% sure if i have the knowledge to answer all questions people could possibly have about it
kid51 soh_cah_toa: You were in attendance at my FOSSCON talk. That clearly demonstrates that deep knowledge of any part of Parrot is *not* required to speak in public about it. 01:49
soh_cah_toa i suppose
kid51 Other approach: Appeal to college professors' fundamental lazyness. Prepare a lecture so they don't have to. 01:50
soh_cah_toa :) 01:51
i'm actually not taking any computer sciencey classes this semester
kid51 Identify colleges within driving distance. Look at their online catalogs.
soh_cah_toa so i can focus on my harder ones
oh yeah mean others. hmm... 01:52
kid51 TouchƩ
i.e., build an audience for Parrot by actually building an audience for yourself!
kid51 believes that open source culture can thrive in unexpected geographic locations if hackers are actually willing to brave F2F encounters. 01:53
We have many contributors whom we will never see F2F. 01:54
and others who prefer to stay strictly on online.
We have to try F2F more.
soh_cah_toa definitely 01:55
kid51 See cotto's parrot-dev post from YAPC::EU.
What was most interesting about that was that he was talking about where Parrot should go on the basis of -- gasp -- face-to-face discussions with real human users (OMG!)
soh_cah_toa believe it or not, cs majors at my school have very little outside interests in programming other than school. it's so sad :( 01:56
though i could try and start a club. that might be cool
actually, that'd be really cool 01:57
kid51 You obviously can *write* talks. Now you just have to *give* them.
soh_cah_toa believe me. i've been trying to find a opportunity 01:58
kid51 benabik slides: www.cs.rit.edu/~bcg2784/Courses/201...CT/PCT.pdf 02:02
Also, look on his github site for possibly updated slides 02:03
github.com/Benabik/cish 02:06
soh_cah_toa hm, maybe a presentation on pct wouldn't be so bad 02:07
kid51 That's obviously a lot more detailed than would be needed for a presentation on PCT to, say, an undergraduate CS course or a local user group 02:08
soh_cah_toa yeah 02:09
Coke (f2f) I have had very bad luck with f2f meetings in this area. 02:19
soh_cah_toa really? how come? 02:20
Coke one guy shows up, and he's using perl4. 02:29
and has absolutely no interesting in learning new stuff.
soh_cah_toa what the heck? that is really weird
Coke I should probably concentrate on my alma mater, but I really don't like going back there. ;)
perl is pretty dead in Albany. 02:30
I'm sure folks are using it, but no one seems to want to come out and drink beer about it.
soh_cah_toa yeah, the perl mongers in jersey is pretty much dead too
plobsing what is wrong with people? beer plus anything is good. I'd consider talking about php if involved enough beer. 02:32
Coke is not a very good cheerleader, that doesn't help. 02:35
plobsing msg whiteknight (re: 757cbb3) results are more important than how we got there. I considered filtering, but using the exception object backtrace frame iterator. I consider that approach cleaner than textual filtering. Unfortunately it doesn't deal with rethrows correctly (although I question the correctness of how we handle rethrow backtraces ATM).
aloha OK. I'll deliver the message. 02:36
Coke if we mistag something in parrot, can you delete a git tag that was already pushed? 02:48
PerlJam yes 02:51
(see the section on retagging in the git-tag man page) 02:52
soh_cah_toa yeah, i think `git tag -d` may help you 02:53
plobsing msg whiteknight (re: 22109fd) how hard would it be to replace the 'ATTR PackFile_ByteCode *seg' element on Sub PMCs with a PackfileView? that way we could solve the problem while reducing dependance on interpreter-global state. 03:02
aloha OK. I'll deliver the message.
03:14 thowe joined, thowe left
benabik o/ 03:24
soh_cah_toa benabik: hey, just the man i'm looking for :)
cotto ~~
benabik soh_cah_toa: kid51: I never updated the slides, just the text. But I don't think I had any notable errors in the slide.
soh_cah_toa: what up?
soh_cah_toa benabik: i'm looking at your cish presentation and am curious, how long of a presentation was this? i'm looking to do a presentation similar to yours maybe w/ less detail but i want to figure out if it'd be a 20 or 50 minute speech 03:25
benabik I think I did it in 25-ish minutes, but I was going very fast. 03:26
soh_cah_toa ok 03:27
benabik It was intended to be a fast overview of the full system for a graduate compiler class, so I was able to power through on a sentence or two per slide… Although the Q&A became quite long. 03:28
soh_cah_toa right
benabik It might be better served to be expanded slightly to a 50ish minute talk or have details pulled out so more explanation can be given. 03:29
soh_cah_toa hm, i was thinking about doing it on squaak and walking through most of the stuff in the wikibook tutorial
benabik Most of the wikibook stuff is very out of date. 03:30
soh_cah_toa yeah, i can recognize what is thought and update it
s/thought/though/
benabik I think it's based on an early version of some of our docs/ directory.
soh_cah_toa++
soh_cah_toa benabik: so about past/post...i'm trying to find the first "point" where compilation begins. like when you run `parrot setup.pir` for an hll, where can i find what setup() does? i want to look at what is happening in each compilation phase so i can figure out this debug segment bizniz 03:35
benabik I think setup.pir is primarily using distutils.pbc 03:36
(see runtime/parrot/library/distutils.pir)
soh_cah_toa oh right, i remember
benabik Once all the setup is done, the real compilation kicks off in PCT::HLLCompiler (compilers/pct/src/PCT/HLLCompiler.pir) or HLL::Compiler (from NQP{,-rx}) 03:37
soh_cah_toa ok 03:38
benabik Lemme check squaak
soh_cah_toa sure
benabik squaak.pir loads squaak.pbc (from src/squaak.pir) which loads all the libraries. 03:39
soh_cah_toa alright 03:40
benabik It then uses compress to get Squaak::Compiler which is a very thin subclass of HLL::Compiler (and from there PCT::HLLCompiler)
soh_cah_toa what's the difference between PCT::HLLCompiler and HLL::Compiler? 03:41
benabik This is all boilerplate which is created by mk_language_shell.pl
HLL::Compiler is from nqp-rx… it add stuff.
I'm not sure.
soh_cah_toa oh ok
benabik We may want to pull in many of the changes from it, actually… But I'm not sure of what all it's doing. It's not very well documented. But it's in the nqp-rx repo under src/HLL/Compiler.pm 03:43
It doesn't seem to have changed much in the main path though. 03:44
Wait… it rewrote interactive and eval. Curious.
soh_cah_toa but that's what hll's inherit from, right? not PCT::HLLCompiler?
benabik That's apparently the default, yes.
soh_cah_toa ok 03:45
benabik HLL::Compiler itself inherits from PCT::HLLCompiler
soh_cah_toa ah, i see
benabik command_line parses arguments and passes it off to eval... eval uses compile to get something runnable and runs it. 03:47
soh_cah_toa ok 03:48
benabik eval runs through the stages (set via stages)… Each stage is a method on the compiler, which takes the output of the previous stage and options as named arguments
soh_cah_toa that's what i'm looking
benabik The typical stages are parse, past, post, and evalpmc
soh_cah_toa how each stage passes one info to the other
s/one/on/
benabik PCT::HLLCompiler.compile is mostly a loop over the stages. 03:49
soh_cah_toa yeah, looks like it just creates a compreg
benabik It takes in the source, then just passes it to stage 1, takes that output and passes it to stage 2, etc etc
soh_cah_toa right, ok 03:50
benabik parse uses the class set via parsegrammar() (USually Language::Grammar). post uses the actions class set in parseactions (Language::Actions) 03:52
*past
The Actions class is expected to return a PAST tree. The post stage uses PAST::Compiler to get a POST tree, and POST::Compiler turns that into PIR.
I think evalpmc uses IMCC to turn that into an Eval PMC. 03:53
soh_cah_toa ah, great
benabik The stages are named for their output so that the --target option works sanely. (--target causes PCT::HLLCompiler to stop at the given stage and output what it has) 03:57
soh_cah_toa oh that's right. that'd be a good place to look also 03:58
benabik okay betime for me. soh_cah_toa, if you have any other questions, feel free to msg me. 04:18
soh_cah_toa benabik: sure, thank
04:23 logie joined 04:48 particle joined 05:21 rohit_nsit08 joined 05:26 rohit_nsit08 joined 06:02 cotto joined 06:13 Caldrin left 06:38 fperrad joined 06:54 mj41 joined 06:58 cotto joined 06:59 Eclesia joined 07:16 fperrad joined 07:37 rohit_nsit08 joined 08:05 lucian joined 08:11 Drossel joined 08:52 jsut joined 09:28 lucian_ joined 09:32 SHODAN joined 09:36 preflex joined 09:39 Eclesia left 09:52 woosley1 joined 10:22 lucian joined
dalek kudo/nom: 82849a2 | moritz++ | / (2 files):
implement Match.{pre,post}match, run three more test files
10:32
10:56 fperrad joined 11:04 mj41_nb joined 11:54 jsut_ joined
dalek kudo/nom: 305e251 | moritz++ | src/Perl6/Actions.pm:
make auto-generated protos have the same short name as the candidadates

  jnthn, please protest/revert if the old behavior had a good reason
12:10
12:13 whiteknight joined 12:20 Coke joined
whiteknight good morning, #parrot 12:26
moritz good morning whiteknight 12:27
whiteknight hello moritz 12:28
tadzik hello whiteknight
whiteknight hello tadzik 12:29
12:30 fperrad joined
dalek nxed: 13b1371 | NotFound++ | winxedst1.winxed:
unify scope search methods
12:38
12:38 plobsing joined
dalek kudo/nom: 7930348 | tadzik++ | / (2 files):
Treat V<> blocks specially
12:46
12:47 JimmyZ joined 12:50 contingencyplan joined
dalek Heuristic branch merge: pushed 235 commits to rakudo/nom-buf by tadzik 12:50
12:53 lucian joined 13:18 PacoLinux_ joined 13:38 pinklady joined 14:04 JimmyZ joined 14:09 logie joined 14:18 mtk joined 14:26 mtk joined 14:35 ambs joined 15:12 JimmyZ left 15:16 rohit_nsit08 joined 15:47 particle joined 16:04 bluescreen joined 16:11 jsut joined 16:12 bluescreen joined 16:20 PacoLinux_ joined 16:21 darbelo joined 16:28 alester joined 16:40 ambs_ joined 16:48 slavorg joined 16:49 rdesfo joined, rdesfo left 17:03 ambs_ joined 17:12 theory joined 17:15 rohit_nsit08 joined 17:30 cotto joined
dalek kudo/nom: a058d5f | Coke++ | t/spectest.data:
run 2 more tests!
17:33
17:40 zby_home joined 17:46 dmalcolm joined 17:51 Eclesia joined, cotto joined
Eclesia hi 17:51
whiteknight hello Eclesia 17:56
Eclesia whiteknight: I have a question for you : is the M0 post I've seen several primitive types going from int 8 to 64 bit (if I remember correctly) are those types available in parrot ? not necessarly as primitives but as pmc ? 17:58
whiteknight no. Right now Parrot only has Integer, which is a system-int type
We don't have anything for specific types, yet. I was working on something like that a while ago, but there wasn't a lot of interest 17:59
dalek kudo/nom: ca7e354 | Coke++ | t/spectest.data:
track failure modes
moritz well, rakudo needs native types of different sizes at some point :-)
whiteknight moritz: If I put together a library of dynpmcs for the purpose, will Rakudo use them?
Eclesia whiteknight: I guess I am one of those interested :)
whiteknight or, more likely, will Rakudo reinvent it themselves? 18:00
Eclesia: that's enough for me. I'll dig up my old notes
moritz whiteknight: I'm afraid I can't answer that question
whiteknight: it would be certainly helpful, but so far I kinda hoped for register types 18:01
not sure if that's realistic at all
whiteknight Rakudo usually needs things done in "the Rakudo way", which isn't the kind of language-agnostic way I would write things
register types of different native sizes? I think that's highly unlikely
We might be able to make some kind of approximation to it, if M0 allows arbitrary memory buffers
cotto whiteknight, one thing I forgot to mention in the message I sent during yapc was that jnthn said he wanted to first prototype aio in nqp and see what of that Parrot was interested in adopting. 18:02
whiteknight cotto: That's fine, I suppose. Realizing that Parrot probably wants to adopt most or all of it, it would save everybody effort to just prototype it in Parrot 18:04
create branch, prototype, etc
Eclesia whiteknight, cotto : just a side note : (talking as a scientific user of geographic informations systems) 64bit numbers are not enough for several of our works. at earth scale double only allows us to go down to millimeter, considering mathematic operations we use, coordinate precision drops to centimiter. 18:05
whiteknight I am pretty well convinced that it's going to involve at least cleanups to Parrot's threading system, and doing all that in NQP is going to be more hassle than it's worth
Eclesia centimeter is soething not enough, so we have needs for 128 (long double) and eventualy 256 bit number.
sometimes* 18:06
whiteknight Eclesia: We have BigInt and BigNum support with GMP
numbers of any size
cotto Isn't 128-bit float enough to design a CPU in a neighboring galaxy?
Eclesia cotto: depends on the precision you need. 18:07
cotto: I guess it's more then enough, yet the biggest problem at this scale are errors introduced by mathematic operations. 18:08
cotto Eclesia, I shouldn't be snarky. If you say there's a valid use for 256-bit values, you almost certainly know better than I do.
Eclesia sometimes only ^^. only seen 256 once when calculation a star position in a project 18:09
64bit is enough while we remain on erath 18:10
earth*
cotto It's good to think about how M0 can make that possible. We wouldn't want Stargate to discount Parrot just because of something like that. ;)
Eclesia :D
cotto How do you do 256-bit values on normal hardware? 18:11
Eclesia whiteknight: getting back on BigInt and BigNum, that mean I can emulate 8bit integer with it ?
cotto need to find power. be back soon 18:12
Eclesia cotto: don't really know, we used a JNI binding provided by the client. we only manipulated a bigDecimal on the java side
whiteknight Eclesia BigInt and BigNum are for big numbers. Not fixed size. They grow very big, but don't have limits 18:13
Eclesia whiteknight: so if I want something that behave like a 8bit Integer, how can I handle that ?
whiteknight: I must make my own pmc ? and overide + - / * operations ? 18:14
whiteknight Eclesia: Good question. I might make a subclass, and do "x & 0xFF" for most operations?
that wasn't a question
Yeah, that's probably what I would do
18:19 cotto joined 18:26 Eclesia joined
Eclesia question : I have the pmc of a function. how do I call it ? 18:33
(in winxed) 18:34
bubaflub ping whiteknight 18:41
18:44 not_gerd joined
not_gerd good evening, #parrot 18:44
whiteknight pong, bubaflub 18:45
eclesia: my_func()
cotto hio not_gerd
bubaflub whiteknight: i was wondering if you had any suggestions for the kinds of examples i should include with Parrot-GMP
whiteknight: i currently have a simple Winxed example and a PIR example that does direct NCI / dlfunc stuff
whiteknight bubaflub: I don't think the examples need to be too crazy or too involved. Show how to create and print numbers, how to do some common operations on them(add, subtract, multiply, etc). Show how your PMC types interact with built-in parrot types. When you do $I0 = $P0, what happens, etc 18:47
if you show people some basic building blocks, people will piece the complicated stuff together
bubaflub whiteknight: ok, that's what i was thinking. great, thanks.
real life has been crazy for the last few weeks, but all i need to finish off are docs and examples. 18:48
Eclesia gsoc ?
bubaflub Eclesia: yup. my project was to get GMP bindings for Parrot. BigInt stuff. 18:49
Eclesia silly question : but what is gmp ?
bubaflub Eclesia: gmplib.org/ GMP is a C library that handles arbitrary sized Integers, Decimals, and Rational numbers 18:50
Eclesia bubaflub: does that mean I could create a 16bit Integer if I want ? 18:51
bubaflub Eclesia: sure... what exactly do you need it to do?
Eclesia :D I have needs for decimal types. 10sec 18:52
tadzik is that already in parrot?
ie we could have bigints in Rakudo?
bubaflub tadzik: it could be. my code is pure Winxed with some NCI thunks.
tadzik: i talked to colomon a month or so ago about the project. 18:53
tadzik how is that exposed to the rest of parrot? pmc or so?
bubaflub tadzik: not a PMC, but just a regular class. github.com/bubaflub/parrot-gmp for more details 18:54
Eclesia bubaflub: here are the types I need : ftp://ftp-developpez.com/jsorel/temp2/standardtypes.png
tadzik oh, it's just a Parrot-level class? Cool 18:56
bubaflub Eclesia: interesting. GMP provides arbitrary sized Integers and Decimals already. Arbitrary in this case means you are only limited by memory, not built in types.
tadzik: yeah. i could do something else if Rakudo people need something else.
Eclesia: i imagine then, you could write a small wrapper around GMP classes that just track how big the integers or decimals currently are.
Eclesia bubaflub: if you could write such an exemple in your docs, I would really appreciate :) 18:57
bubaflub Eclesia: i may not have it by the end of GSoC, but I'd be more than happy to work with you to get what you need. 18:58
Eclesia: another neat thing - there is a PostgreSQL extension to store GMP objects natively in the DB
Eclesia uses postgres but doesn't have such a need for now 18:59
bubaflub Eclesia: ok. just thought if you have GIS stuff you might be able to do it all in GMP 19:00
cotto interesting possibility for that and PL/Parrot
bubaflub cotto: yup. i was thinking about maybe getting together something for Math projects - a total backend to frontend solution with GMP, Postgres, Parrot and maybe even some map / reduce solution 19:01
19:01 mj41 joined
Eclesia bubaflub: sure, if your binding works well, all my numeric types will surely rely on it. since parrot primitive behave differently on 32 or 64 I can't rely on them 19:02
bubaflub Eclesia: yeah, Parrot native types are platform dependent
Eclesia: well, i think they work well :-) . but seriously they should work with GMP 3.x - 5.0.2 (current) and they have a full test suite. 19:03
benabik o/ 19:04
Eclesia bubaflub: do you know the performance impact ? I mean the time difference between operation on 64decimal and parrot float for exemple ?
bubaflub Eclesia: no, but a quick benchmark utility would be cool. i'll add one to the repo. 19:05
Eclesia: i imagine that the GMP is slower as we have to cross PIR -> C -> PIR a few times
Eclesia I guess so too :) . Performance are not a problem for now. but later it will 19:06
bubaflub Eclesia: interestingly, the Postgres-GMP project noted that there was a performance *improvement* using GMP
Eclesia bubaflub: I guess gmp is smart enough to use native types 32 or 64 when it's possible 19:07
bubaflub Eclesia: absolutely. it's a 20 year old project - lots of smart algorithmic design and lots of hand-crafted assembly when possible. 19:08
Eclesia so the performance bottleneck will surely be the pir<>C
bubaflub Eclesia: yes. I imagine that will lessen with some Parrot redesigns that are happening now. 19:09
Eclesia let's hope ^^
cotto seen soh_cah_toa 19:10
aloha soh_cah_toa was last seen in msg 14 hours 16 mins ago <private message>.
19:11 rdesfo joined 19:12 knewt joined
cotto whiteknight, have you and nine caught up yet? 19:13
whiteknight cotto: no, was he looking for me? 19:14
cotto He's the one interested in threading.
whiteknight right 19:15
Eclesia someone knows a good host (free) with : Mercurial DCVS + wiki + jira ? 19:22
bubaflub Eclesia: jira is java, right? 19:25
Eclesia bubaflub: jira is bug tracker. I think yes it's written in java
19:25 darbelo joined
bubaflub Eclesia: that's what i meant. i don't think my hosting provider (dreamhost) does java hosting. not sure of many who do - most do PHP or Perl/Python stuff. 19:26
Eclesia I use codehaus normally, but they don't have mercurial yet 19:27
not_gerd Eclesia: is it possible to use external mercurial hosting with codehaus? 19:32
Eclesia not_gerd: yes I'm already doing it for one project. but I would like to avoid having stuffs at different places. 19:33
I guess I'll use sourceforge
bubaflub Eclesia: code.google.com support git, mercurial, and svn 19:38
benabik code.google supports git now? I thought they had issues with git on top of bigtable (or whatever stupidly massive parallel DB they're using now)
Eclesia bubaflub: (personal grudge) I won't host my project on google/kenai/java.net :D 19:39
benabik Oh, hey. Since July. How'd I miss that?
19:44 mj41 joined
bubaflub Eclesia: fair enough. 19:50
benabik: it was pretty quietly rolled out
benabik As a random note, BigTable is a pretty amazing system. They've released a few papers about it. 19:56
Coke (grudge) life's too short. 20:05
20:13 cotto joined 20:20 woosley joined 20:23 ambs joined
alester ack mini-hackathon Sunday morning: groups.google.com/group/ack-users/...b39458483f 20:36
benabik Ack! 20:45
alester Yes, that's correct.
Eclesia ack ? 20:48
benabik betterthangrep.com/
tadzik note that url is not an exagarration 20:49
or however you write that word :)
benabik needs a git-ack
Eclesia doesn't use grep like tools 20:50
benabik Eclesia: That boggles my mind.
Coke Eclesia: how do you find things?
IDE?
Eclesia Coke: yes 20:51
I don't say I never use it. ... perhaps once or twice a month when on a distant server that's all 20:52
alester My IDE is bash + vim 20:53
tadzik that's not really I :)
benabik bash and vim integrate just fine. Use :! 20:54
Can use vim from bash and vice-versa. Plenty integrated. :-D 20:55
tadzik I prefer to have 2 terminal windows side-by-side
alester tadzik: That's how I do it, and it's mighty integrated.
tadzik I see
Eclesia I guess I'm from another world with my ide lol
alester TMOWTDI
benabik I tend to have one Terminal window and between 2-6 gVim windows.
(Although the terminal window tends to have 2-3 tabs these days) 20:56
Eclesia pfff ... 23h20m and still 27°C 21:19
21:45 Psyche^ joined 21:48 not_gerd joined 22:11 plobsing joined, rdesfo left 22:59 rfw joined 23:17 whiteknight joined
whiteknight good evening, #parrot 23:17
23:33 bubaflub joined
bubaflub ~ 23:33
23:34 wagle joined
dalek rrot-gmp: 8ebde0d | bubaflub++ | / (2 files):
minor updates to docs
23:39
rrot/whiteknight/frontend_parrot2: 997e3bb | Whiteknight++ | / (8 files):
Parrot_pf_set_current_packfile takes an extra argument to determine whether we also update interp->code (which we don't want to do from PackfileView.set_current_packfile). Enable some manipulations in the frontend to set the current packfile. This fixes t/pmc/packfileview.t and maybe more.
23:40
rrot/whiteknight/frontend_parrot2: e216792 | Whiteknight++ | frontend/parrot2/prt0.winxed:
Add in a partial translation of prt0 to winxed, to help visualize and clarify logic. Not completely translated
rrot/whiteknight/frontend_parrot2: 342cc01 | Whiteknight++ | frontend/parrot2/prt0.winxed:
finish translating prt0.pir to winxed. Fixes so it compiles
bubaflub whiteknight: is that a Parrot frontend in Parrot? 23:41
whiteknight yessir
I cut about 50% of the code out of main.c, and moved it into a new PIR frontend called prt0.pir 23:42
what's funny is that on some benchmarks, this version is faster
bubaflub really. any reason why that is?
whiteknight I need to optimize and increase that number to 100%
bubaflub sounds good. then we host a bootstrapped version?
whiteknight two reasons: embed API calls have more cost than normal C functions, and :init subs use nested runloops
bubaflub: yeah. The build is very straightforward. We already build a binary called miniparrot for building the config hash. I'm using miniparrot to build the frontend too 23:43
one extra build step, and nothing else really needs to change
bubaflub whiteknight: arg, i remember miniparrot - it's basically what stopped me from cross-compiling Parrot 23:44
whiteknight miniparrot is just parrot, but without a config hash
whatever you do to build one, you basically do to build the other
bubaflub whiteknight: yeah, what i meant was 23:46
whiteknight: i'm on x86 building parrot for sparc trying to cross compile, and i would get the Parrot build to the point where miniparrot was built, but then the build required to *run* miniparrot and that would of course fail because it's built for a different architecture than the one i was on
whiteknight: so my strategy was going to be to first build Parrot for my own system, steal some of the info, then clean it and build it again with cross-compiler 23:47
whiteknight: alternatively, override most of Configure.pl with the settings i know will work for my target architecture
benabik Parrot runs itself for large portions of the build process.
whiteknight miniparrot is just a build step, you can build it as a native app, and use it to build the config for the sparc 23:48
bubaflub whiteknight: yup. i ran out of time last GSoC to get past that.
RTEMS has crazy build steps
plobsing whiteknight: I have an idea to run by you 23:56
whiteknight plobsing: it's like christmas in August!
plobsing merry almost labour day 23:57
whiteknight plobsing: if I had a billion dollars, I would pay you to follow me around and have great ideas 23:58
wages would be competitive, but the benefits are lousy
plobsing hey, I have really bad ideas too
after writing the caller-side 1-copy example, I got thinking about opcodes for accessing things out of contexts
why do we have those?
isn't a context basically a register frame and not much else?
why don't we set up a convention to shove that stuff in registers (like the conventions of %esp, and %ebp on x86) 23:59
whiteknight what do you mean? What opcodes acess things out of contexts? The get_*_global ones?
plobsing no, looking stuff up out of interp->ctx