|
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 | ||