Camelia, the Perl 6 bug

IRC log for #parrot, 2011-08-19

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 jkeenan joined #parrot
00:01 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
00:04 * 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
00:05 whiteknight it merged, and I would like to undo the merge and go back to where I was
00:06 jkeenan git revert is used to record a new commit to reverse the effect
00:06 jkeenan of an earlier commit (often a faulty one).
00:06 jkeenan from man git-revert
00:07 jkeenan NOTES
00:07 jkeenan 1. revert-a-faulty-merge How-To
00:07 jkeenan howto/revert-a-faulty-merge.txt
00:07 jkeenan from that same man page
00:07 whiteknight ok
00:07 * jkeenan has never tried this himself ;-)
00:09 whiteknight at this point, it's just faster for me to delete the branch then to search through my system for answers
00:09 whiteknight I was hoping there would be a simple "git just-freaking-undo-that-thing-I-did"
00:10 jkeenan that's almost as brute force as my usual solution: nuking the entire repository, not just the branch
00:12 whiteknight nuked
00:12 whiteknight kid51++
00:13 jkeenan Well, just now I created a new local branch, edited one file, committed it, then said 'git pull origin master'.
00:14 jkeenan No merge took place.  So I didn't reproduce what happened to you.
00:15 whiteknight my branch was pretty well diverged
00:16 jkeenan Did you issue any command after the 'git pull'?
00:16 jkeenan Or was the problem simply that you had too many merge conflicts to deal with?
00:17 jkeenan Could you create a new local branch from the last good commit?
00:18 whiteknight too many merge conflicts
00:18 whiteknight I wasn't ready to deal with that hassle
00:20 jkeenan Yes, dealing with that is beyond my git fu.  Paging Dr Leto
00:21 whiteknight it's no big deal, I already nuked it
00:22 whiteknight the intelligent fixes are only worthwhile if they save energy
00:25 whiteknight if the dumb, brute-force fixes are the fastest and easiest, I'm a fan
00:40 jkeenan Agreed.
01:06 dalek parrot/whiteknight/frontend_parrot2: 757cbb3 | Whiteknight++ | / (2 files):
01:06 dalek parrot/whiteknight/frontend_parrot2: 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 dalek parrot/whiteknight/frontend_parrot2: review: https://github.com/parrot/parrot/commit/757cbb34b1
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.
01:06 aloha OK. I'll deliver the message.
01:22 Coke https://github.com/coke/famflags, for webdev folks who might care.
01:29 woosley joined #parrot
01:38 dalek parrot/whiteknight/frontend_parrot2: 5d58bbf | Whiteknight++ | frontend/parrot2/prt0.pir:
01:38 dalek parrot/whiteknight/frontend_parrot2: 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:39 dalek parrot/whiteknight/frontend_parrot2: review: https://github.com/parrot/parrot/commit/5d58bbf8d7
01:39 dalek parrot/whiteknight/frontend_parrot2: 22109fd | Whiteknight++ | / (2 files):
01:39 dalek parrot/whiteknight/frontend_parrot2: 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
01:39 dalek parrot/whiteknight/frontend_parrot2: review: https://github.com/parrot/parrot/commit/22109fdc3a
01:39 kid51 soh_cah_toa: Perhaps SOD should be transformed into something with a honeybee theme:  See http://en.wikipedia.org/wiki/Apiary  :-)
01:40 soh_cah_toa hmm...
01:40 kid51 What, e.g., would be a sub-unit of a hive?
01:40 soh_cah_toa didn't realize those even had a name :)
01:40 soh_cah_toa ah, not bad
01:41 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!
01:41 soh_cah_toa well, it's supposed to remove a curse that was set of parrot
01:41 soh_cah_toa s/of/on/
01:42 kid51 If we called it the opcode debugging segment (ODS), we could describe it as "odious"
01:42 soh_cah_toa wow
01:42 soh_cah_toa i actually like that
01:43 kid51 Perhaps we should ask Bacek for a suggestion in Very Bad Russian
01:43 * whiteknight is out for the night. Goodnight
01:43 soh_cah_toa see ya
01:44 kid51 Unfortunately, bacek hasn't been around in several months :-(
01:44 soh_cah_toa yeah, you're right
01:44 soh_cah_toa seen bacek?
01:44 aloha bacek was last seen in #parrot 77 days 15 hours ago joining the channel.
01:44 soh_cah_toa wow
01:44 kid51 seen bacek_at_work?
01:44 aloha bacek_at_work was last seen in msg 23 days 23 hours ago <private message>.
01:45 kid51 soh_cah_toa: Are there any public forums where you could give a talk about Parrot?
01:46 soh_cah_toa kid51: i was considering ppw this october
01:46 soh_cah_toa it would depend if i could squeeze it in w/ school work
01:47 * soh_cah_toa shudders at the thought of school again
01:47 kid51 Is that "school and work" or "schoolwork"?
01:47 soh_cah_toa schoolwork
01:48 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
01:49 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
01:50 kid51 Other approach:  Appeal to college professors' fundamental lazyness.  Prepare a lecture so they don't have to.
01:51 soh_cah_toa :)
01:51 soh_cah_toa i'm actually not taking any computer sciencey classes this semester
01:51 kid51 Identify colleges within driving distance.  Look at their online catalogs.
01:51 soh_cah_toa so i can focus on my harder ones
01:52 soh_cah_toa oh yeah mean others. hmm...
01:52 kid51 Touché
01:52 kid51 i.e., build an audience for Parrot by actually building an audience for yourself!
01:53 * kid51 believes that open source culture can thrive in unexpected geographic locations if hackers are actually willing to brave F2F encounters.
01:54 kid51 We have many contributors whom we will never see F2F.
01:54 kid51 and others who prefer to stay strictly on online.
01:54 kid51 We have to try F2F more.
01:55 soh_cah_toa definitely
01:55 kid51 See cotto's parrot-dev post from YAPC::EU.
01:55 kid51 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!)
01:56 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 soh_cah_toa though i could try and start a club. that might be cool
01:57 soh_cah_toa actually, that'd be really cool
01:57 kid51 You obviously can *write* talks.  Now you just have to *give* them.
01:58 soh_cah_toa believe me. i've been trying to find a opportunity
02:02 kid51 benabik slides: http://www.cs.rit.edu/~bcg2784/Co​urses/20102/Compiler/PCT/PCT.pdf
02:03 kid51 Also, look on his github site for possibly updated slides
02:06 kid51 https://github.com/Benabik/cish
02:07 soh_cah_toa hm, maybe a presentation on pct wouldn't be so bad
02:08 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:09 soh_cah_toa yeah
02:19 Coke (f2f) I have had very bad luck with f2f meetings in this area.
02:20 soh_cah_toa really? how come?
02:29 Coke one guy shows up, and he's using perl4.
02:29 Coke and has absolutely no interesting in learning new stuff.
02:29 soh_cah_toa what the heck? that is really weird
02:29 Coke I should probably concentrate on my alma mater, but I really don't like going back there. ;)
02:30 Coke perl is pretty dead in Albany.
02:30 Coke I'm sure folks are using it, but no one seems to want to come out and drink beer about it.
02:30 soh_cah_toa yeah, the perl mongers in jersey is pretty much dead too
02:32 plobsing what is wrong with people? beer plus anything is good. I'd consider talking about php if involved enough beer.
02:35 * 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).
02:36 aloha OK. I'll deliver the message.
02:48 Coke if we mistag something in parrot, can you delete a git tag that was already pushed?
02:51 PerlJam yes
02:52 PerlJam (see the section on retagging in the git-tag man page)
02:53 soh_cah_toa yeah, i think `git tag -d` may help you
03:02 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 #parrot
03:14 thowe left #parrot
03:24 benabik o/
03:24 soh_cah_toa benabik: hey, just the man i'm looking for :)
03:24 cotto ~~
03:24 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.
03:24 benabik soh_cah_toa: what up?
03:25 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:26 benabik I think I did it in 25-ish minutes, but I was going very fast.
03:27 soh_cah_toa ok
03:28 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
03:29 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
03:30 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
03:30 soh_cah_toa s/thought/though/
03:30 benabik I think it's based on an early version of some of our docs/ directory.
03:30 benabik soh_cah_toa++
03:35 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:36 benabik I think setup.pir is primarily using distutils.pbc
03:36 benabik (see runtime/parrot/library/distutils.pir)
03:36 soh_cah_toa oh right, i remember
03:37 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:38 soh_cah_toa ok
03:38 benabik Lemme check squaak
03:38 soh_cah_toa sure
03:39 benabik squaak.pir loads squaak.pbc (from src/squaak.pir) which loads all the libraries.
03:40 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)
03:41 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
03:41 benabik HLL::Compiler is from nqp-rx…  it add stuff.
03:41 benabik I'm not sure.
03:41 soh_cah_toa oh ok
03:43 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:44 benabik It doesn't seem to have changed much in the main path though.
03:44 benabik Wait…  it rewrote interactive and eval.  Curious.
03:44 soh_cah_toa but that's what hll's inherit from, right? not PCT::HLLCompiler?
03:44 benabik That's apparently the default, yes.
03:45 soh_cah_toa ok
03:45 benabik HLL::Compiler itself inherits from PCT::HLLCompiler
03:45 soh_cah_toa ah, i see
03:47 benabik command_line parses arguments and passes it off to eval... eval uses compile to get something runnable and runs it.
03:48 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
03:48 soh_cah_toa that's what i'm looking
03:48 benabik The typical stages are parse, past, post, and evalpmc
03:48 soh_cah_toa how each stage passes one info to the other
03:48 soh_cah_toa s/one/on/
03:49 benabik PCT::HLLCompiler.compile is mostly a loop over the stages.
03:49 soh_cah_toa yeah, looks like it just creates a compreg
03:49 benabik It takes in the source, then just passes it to stage 1, takes that output and passes it to stage 2, etc etc
03:50 soh_cah_toa right, ok
03:52 benabik parse uses the class set via parsegrammar()  (USually Language::Grammar).  post uses the actions class set in parseactions (Language::Actions)
03:52 benabik *past
03:52 benabik 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.
03:53 benabik I think evalpmc uses IMCC to turn that into an Eval PMC.
03:53 soh_cah_toa ah, great
03:57 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:58 soh_cah_toa oh that's right. that'd be a good place to look also
04:18 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 #parrot
04:48 particle joined #parrot
05:21 rohit_nsit08 joined #parrot
05:26 rohit_nsit08 joined #parrot
05:26 rohit_nsit08 joined #parrot
06:02 cotto joined #parrot
06:13 Caldrin left #parrot
06:38 fperrad joined #parrot
06:54 mj41 joined #parrot
06:58 cotto joined #parrot
06:59 Eclesia joined #parrot
07:16 fperrad joined #parrot
07:37 rohit_nsit08 joined #parrot
08:05 lucian joined #parrot
08:11 Drossel joined #parrot
08:52 jsut joined #parrot
09:28 lucian_ joined #parrot
09:32 SHODAN joined #parrot
09:36 preflex joined #parrot
09:39 Eclesia left #parrot
09:52 woosley1 joined #parrot
10:22 lucian joined #parrot
10:32 dalek rakudo/nom: 82849a2 | moritz++ | / (2 files):
10:32 dalek rakudo/nom: implement Match.{pre,post}match, run three more test files
10:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/82849a226a
10:56 fperrad joined #parrot
11:04 mj41_nb joined #parrot
11:54 jsut_ joined #parrot
12:10 dalek rakudo/nom: 305e251 | moritz++ | src/Perl6/Actions.pm:
12:10 dalek rakudo/nom: make auto-generated protos have the same short name as the candidadates
12:10 dalek rakudo/nom:
12:10 dalek rakudo/nom: jnthn, please protest/revert if the old behavior had a good reason
12:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/305e251beb
12:13 whiteknight joined #parrot
12:20 Coke joined #parrot
12:26 whiteknight good morning, #parrot
12:27 moritz good morning whiteknight
12:28 whiteknight hello moritz
12:28 tadzik hello whiteknight
12:29 whiteknight hello tadzik
12:30 fperrad joined #parrot
12:38 dalek winxed: 13b1371 | NotFound++ | winxedst1.winxed:
12:38 dalek winxed: unify scope search methods
12:38 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/13b1371dce
12:38 plobsing joined #parrot
12:46 dalek rakudo/nom: 7930348 | tadzik++ | / (2 files):
12:46 dalek rakudo/nom: Treat V<> blocks specially
12:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/79303481a6
12:47 JimmyZ joined #parrot
12:50 contingencyplan joined #parrot
12:50 dalek Heuristic branch merge: pushed 235 commits to rakudo/nom-buf by tadzik
12:53 lucian joined #parrot
13:18 PacoLinux_ joined #parrot
13:38 pinklady joined #parrot
14:04 JimmyZ joined #parrot
14:09 logie joined #parrot
14:18 mtk joined #parrot
14:26 mtk joined #parrot
14:35 ambs joined #parrot
15:12 JimmyZ left #parrot
15:16 rohit_nsit08 joined #parrot
15:47 particle joined #parrot
16:04 bluescreen joined #parrot
16:11 jsut joined #parrot
16:12 bluescreen joined #parrot
16:20 PacoLinux_ joined #parrot
16:21 darbelo joined #parrot
16:28 alester joined #parrot
16:40 ambs_ joined #parrot
16:48 slavorg joined #parrot
16:49 rdesfo joined #parrot
16:49 rdesfo left #parrot
17:03 ambs_ joined #parrot
17:12 theory joined #parrot
17:15 rohit_nsit08 joined #parrot
17:30 cotto joined #parrot
17:33 dalek rakudo/nom: a058d5f | Coke++ | t/spectest.data:
17:33 dalek rakudo/nom: run 2 more tests!
17:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a058d5f181
17:40 zby_home joined #parrot
17:46 dmalcolm joined #parrot
17:51 Eclesia joined #parrot
17:51 cotto joined #parrot
17:51 Eclesia hi
17:56 whiteknight hello Eclesia
17:58 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
17:59 whiteknight 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 rakudo/nom: ca7e354 | Coke++ | t/spectest.data:
17:59 dalek rakudo/nom: track failure modes
17:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ca7e354d88
17:59 moritz well, rakudo needs native types of different sizes at some point :-)
17:59 whiteknight moritz: If I put together a library of dynpmcs for the purpose, will Rakudo use them?
17:59 Eclesia whiteknight: I guess I am one of those interested :)
18:00 whiteknight or, more likely, will Rakudo reinvent it themselves?
18:00 whiteknight Eclesia: that's enough for me. I'll dig up my old notes
18:00 moritz whiteknight: I'm afraid I can't answer that question
18:01 moritz whiteknight: it would be certainly helpful, but so far I kinda hoped for register types
18:01 moritz not sure if that's realistic at all
18:01 whiteknight Rakudo usually needs things done in "the Rakudo way", which isn't the kind of language-agnostic way I would write things
18:01 whiteknight register types of different native sizes? I think that's highly unlikely
18:01 whiteknight We might be able to make some kind of approximation to it, if M0 allows arbitrary memory buffers
18:02 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:04 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 whiteknight create branch, prototype, etc
18:05 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
18:05 Eclesia centimeter is soething not enough, so we have needs for 128 (long double) and eventualy 256 bit number.
18:06 Eclesia sometimes*
18:06 whiteknight Eclesia: We have BigInt and BigNum support with GMP
18:06 whiteknight numbers of any size
18:06 cotto Isn't 128-bit float enough to design a CPU in a neighboring galaxy?
18:07 Eclesia cotto: depends on the precision you need.
18:08 Eclesia 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.
18:09 Eclesia sometimes only ^^. only seen 256 once when calculation a star position in a project
18:10 Eclesia 64bit is enough while we remain on erath
18:10 Eclesia earth*
18:10 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. ;)
18:10 Eclesia :D
18:11 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 ?
18:12 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
18:13 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 ?
18:14 Eclesia 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?
18:14 whiteknight that wasn't a question
18:14 whiteknight Yeah, that's probably what I would do
18:19 cotto joined #parrot
18:26 Eclesia joined #parrot
18:33 Eclesia question : I have the pmc of a function. how do I call it ?
18:34 Eclesia (in winxed)
18:41 bubaflub ping whiteknight
18:44 not_gerd joined #parrot
18:44 not_gerd good evening, #parrot
18:45 whiteknight pong, bubaflub
18:45 whiteknight eclesia: my_func()
18:45 cotto hio not_gerd
18:45 bubaflub whiteknight: i was wondering if you had any suggestions for the kinds of examples i should include with Parrot-GMP
18:45 bubaflub whiteknight: i currently have a simple Winxed example and a PIR example that does direct NCI / dlfunc stuff
18:47 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 whiteknight if you show people some basic building blocks, people will piece the complicated stuff together
18:47 bubaflub whiteknight: ok, that's what i was thinking.  great, thanks.
18:48 bubaflub 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 ?
18:49 bubaflub Eclesia: yup.  my project was to get GMP bindings for Parrot.  BigInt stuff.
18:49 Eclesia silly question : but what is gmp ?
18:50 bubaflub Eclesia: http://gmplib.org/  GMP is a C library that handles arbitrary sized Integers, Decimals, and Rational numbers
18:51 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?
18:52 Eclesia :D I have needs for decimal types. 10sec
18:52 tadzik is that already in parrot?
18:52 tadzik ie we could have bigints in Rakudo?
18:52 bubaflub tadzik: it could be.  my code is pure Winxed with some NCI thunks.
18:53 bubaflub 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?
18:54 bubaflub tadzik: not a PMC, but just a regular class.  https://github.com/bubaflub/parrot-gmp for more details
18:54 Eclesia bubaflub: here are the types I need : ftp://ftp-developpez.com/jso​rel/temp2/standardtypes.png
18:56 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.
18:56 bubaflub tadzik: yeah.  i could do something else if Rakudo people need something else.
18:56 bubaflub Eclesia: i imagine then, you could write a small wrapper around GMP classes that just track how big the integers or decimals currently are.
18:57 Eclesia bubaflub: if you could write such an exemple in your docs, I would really appreciate :)
18:58 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 bubaflub Eclesia: another neat thing - there is a PostgreSQL extension to store GMP objects natively in the DB
18:59 * Eclesia uses postgres but doesn't have such a need for now
19:00 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
19:01 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 mj41 joined #parrot
19:02 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
19:03 bubaflub 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:04 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 ?
19:05 bubaflub Eclesia: no, but a quick benchmark utility would be cool.  i'll add one to the repo.
19:05 bubaflub Eclesia: i imagine that the GMP is slower as we have to cross PIR -> C -> PIR a few times
19:06 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
19:07 Eclesia bubaflub: I guess gmp is smart enough to use native types 32 or 64 when it's possible
19:08 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
19:09 bubaflub Eclesia: yes.  I imagine that will lessen with some Parrot redesigns that are happening now.
19:09 Eclesia let's hope ^^
19:10 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 #parrot
19:12 knewt joined #parrot
19:13 cotto whiteknight, have you and nine caught up yet?
19:14 whiteknight cotto: no, was he looking for me?
19:14 cotto He's the one interested in threading.
19:15 whiteknight right
19:22 Eclesia someone knows a good host (free) with : Mercurial DCVS + wiki + jira ?
19:25 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 #parrot
19:26 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:27 Eclesia I use codehaus normally, but they don't have mercurial yet
19:32 not_gerd Eclesia: is it possible to use external mercurial hosting with codehaus?
19:33 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 Eclesia I guess I'll use sourceforge
19:38 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)
19:39 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 #parrot
19:50 bubaflub Eclesia: fair enough.
19:50 bubaflub benabik: it was pretty quietly rolled out
19:56 benabik As a random note, BigTable is a pretty amazing system.  They've released a few papers about it.
20:05 Coke (grudge) life's too short.
20:13 cotto joined #parrot
20:20 woosley joined #parrot
20:23 ambs joined #parrot
20:36 alester ack mini-hackathon Sunday morning: https://groups.google.com/group/ack-us​ers/browse_frm/thread/f705b1b39458483f
20:45 benabik Ack!
20:45 alester Yes, that's correct.
20:48 Eclesia ack ?
20:48 benabik http://betterthangrep.com/
20:49 tadzik note that url is not an exagarration
20:49 tadzik or however you write that word :)
20:49 * benabik needs a git-ack
20:50 * Eclesia doesn't use grep like tools
20:50 benabik Eclesia: That boggles my mind.
20:50 Coke Eclesia: how do you find things?
20:50 Coke IDE?
20:51 Eclesia Coke: yes
20:52 Eclesia I don't say I never use it. ... perhaps once or twice a month when on a distant server that's all
20:53 alester My IDE is bash + vim
20:53 tadzik that's not really I :)
20:54 benabik bash and vim integrate just fine.  Use :!
20:55 benabik Can use vim from bash and vice-versa.  Plenty integrated.  :-D
20:55 tadzik I prefer to have 2 terminal windows side-by-side
20:55 alester tadzik: That's how I do it, and it's mighty integrated.
20:55 tadzik I see
20:55 Eclesia I guess I'm from another world with my ide lol
20:55 alester TMOWTDI
20:55 benabik I tend to have one Terminal window and between 2-6 gVim windows.
20:56 benabik (Although the terminal window tends to have 2-3 tabs these days)
21:19 Eclesia pfff ... 23h20m and still 27°C
21:45 Psyche^ joined #parrot
21:48 not_gerd joined #parrot
22:11 plobsing joined #parrot
22:11 rdesfo left #parrot
22:59 rfw joined #parrot
23:17 whiteknight joined #parrot
23:17 whiteknight good evening, #parrot
23:33 bubaflub joined #parrot
23:33 bubaflub ~
23:34 wagle joined #parrot
23:39 dalek parrot-gmp: 8ebde0d | bubaflub++ | / (2 files):
23:39 dalek parrot-gmp: minor updates to docs
23:39 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/8ebde0df89
23:40 dalek parrot/whiteknight/frontend_parrot2: 997e3bb | Whiteknight++ | / (8 files):
23:40 dalek parrot/whiteknight/frontend_parrot2: 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 dalek parrot/whiteknight/frontend_parrot2: review: https://github.com/parrot/parrot/commit/997e3bbae5
23:40 dalek parrot/whiteknight/frontend_parrot2: e216792 | Whiteknight++ | frontend/parrot2/prt0.winxed:
23:40 dalek parrot/whiteknight/frontend_parrot2: Add in a partial translation of prt0 to winxed, to help visualize and clarify logic. Not completely translated
23:40 dalek parrot/whiteknight/frontend_parrot2: review: https://github.com/parrot/parrot/commit/e2167925df
23:40 dalek parrot/whiteknight/frontend_parrot2: 342cc01 | Whiteknight++ | frontend/parrot2/prt0.winxed:
23:40 dalek parrot/whiteknight/frontend_parrot2: finish translating prt0.pir to winxed. Fixes so it compiles
23:40 dalek parrot/whiteknight/frontend_parrot2: review: https://github.com/parrot/parrot/commit/342cc01641
23:41 bubaflub whiteknight: is that a Parrot frontend in Parrot?
23:41 whiteknight yessir
23:42 whiteknight I cut about 50% of the code out of main.c, and moved it into a new PIR frontend called prt0.pir
23:42 whiteknight what's funny is that on some benchmarks, this version is faster
23:42 bubaflub really.  any reason why that is?
23:42 whiteknight I need to optimize and increase that number to 100%
23:42 bubaflub sounds good.  then we host a bootstrapped version?
23:42 whiteknight two reasons: embed API calls have more cost than normal C functions, and :init subs use nested runloops
23:43 whiteknight 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 whiteknight one extra build step, and nothing else really needs to change
23:44 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
23:44 whiteknight whatever you do to build one, you basically do to build the other
23:46 bubaflub whiteknight: yeah, what i meant was
23:46 bubaflub 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
23:47 bubaflub 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 bubaflub whiteknight: alternatively, override most of Configure.pl with the settings i know will work for my target architecture
23:47 benabik Parrot runs itself for large portions of the build process.
23:48 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.
23:48 bubaflub RTEMS has crazy build steps
23:56 plobsing whiteknight: I have an idea to run by you
23:56 whiteknight plobsing: it's like christmas in August!
23:57 plobsing merry almost labour day
23:58 whiteknight plobsing: if I had a billion dollars, I would pay you to follow me around and have great ideas
23:58 whiteknight wages would be competitive, but the benefits are lousy
23:58 plobsing hey, I have really bad ideas too
23:58 plobsing after writing the caller-side 1-copy example, I got thinking about opcodes for accessing things out of contexts
23:58 plobsing why do we have those?
23:58 plobsing isn't a context basically a register frame and not much else?
23:59 plobsing 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?
23:59 plobsing no, looking stuff up out of interp->ctx

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced