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:18 theory joined
dalek sella: 3e10241 | Whiteknight++ | src/ (3 files):
Rethink some parts of InterfaceContract. Add methods to do normal runtime checks, in addition to assertions
01:20
sella: 9187d4c | Whiteknight++ | s (5 files):
Add in the basics of a new Reflect library, for doing some basic reflection tasks
sella: a56c631 | Whiteknight++ | src/unstable/reflect/Class.winxed:
set_attr -> set_attr_value for consistency
01:33
01:36 kid51 joined 01:40 woosley joined
benabik Okay, I'm lost. I can't figure out why special_variable:sym['$<'] is getting generated as special_variable:sym<Capture[0x…]> 01:45
dalek rrot: 1d8f2c4 | jkeenan++ | / (5 files):
Merge branch 'tar_shasum'
rrot: 9a0ee63 | jkeenan++ | tools/release/sha256sum.pl:
[codingstd] Add copyright notice and perl coda.
02:02 logie joined
benabik msg pmichaud NQP is generating incorrect code for `sub a:b['c']`, which impacts Rakudo's grammar. I tried to track it down but couldn't figure it out. Submitted a github issue with details: github.com/perl6/nqp/issues/22 02:19
aloha OK. I'll deliver the message.
03:05 logie joined
cotto ~ 03:09
03:48 bubaflub joined 04:25 bubaflub joined 04:34 rfw joined 04:42 logie joined 05:19 pbaker2 joined
benabik msg whiteknight I blogged about the pile of thoughts I've had about PCT. www.parrot.org/content/end-gsoc-not-time-stop... 05:29
aloha OK. I'll deliver the message.
dalek website: benabik++ | End of GSoC, but not Time to Stop... 05:31
website: www.parrot.org/content/end-gsoc-not-time-stop...
tadzik benabik: have you used tree-optimization? 05:34
benabik tadzik: I'll admit I haven't… But it, or a defendant of it should be used.
tadzik I'm curious if it's useful in action. Have anyone used it? 05:37
benabik It looked like bacek was using it in PIRate.
NotFound "PACT should support system-level languages" -> Being able to write a winxed backend using PAST will be nice. 05:42
benabik NotFound: Yes, yes, that was exactly what inspired that line. 05:43
06:22 fperrad joined 06:41 rfw joined 06:43 Kulag joined 06:48 contingencyplan joined 07:02 Kulag joined 07:16 Drossel joined
dalek nxed: 8632e2c | NotFound++ | / (2 files):
syntax for implicit namespace declaration in class and namespace:

and modify scope search for class names in operator new
07:33
NotFound msg whiteknight Instead of applying the push request for dotted namespaces I've copied, modified, and extended it directly on my master, see 8632e2c41f 07:36
aloha OK. I'll deliver the message.
dalek nxed: 662d3d9 | NotFound++ | pir/winxed_compiler.pir:
update installable compiler
07:43
07:48 mj41 joined 08:20 JimmyZ joined
dalek kudo/nom: 3b66c0f | moritz++ | / (5 files):
lots of Cool methods, run cool-num.t
08:22
08:24 SHODAN joined 08:26 Kulag joined 08:33 Drossel joined 08:37 Kulag joined, lucian joined 08:43 Drossel joined
dalek nxed: 183e21d | NotFound++ | winxedst1.winxed:
simplify :multi generation
09:11
09:37 particle1 joined 10:15 lucian_ joined 10:39 jsut joined 10:57 preflex joined 11:20 kristian joined 11:38 rurban joined 11:48 Kulag joined 12:01 rurban joined 12:04 whiteknight joined
whiteknight mail.google.com 12:04
oh great, firefox++
good morning, #parrot 12:05
plobsing hmmm... I have snarky replies for shell commands, but this is new
dalek nxed: f8ce9e7 | NotFound++ | / (2 files):
initial implementation of namespace operator
12:12
atrodo I don't think i've ever entered mail.google.com, always gmail.com. So much faster 12:16
whiteknight it's not just firefox, it's a symptom of a bigger problem. When you open multiple things at once, and they all take a while because windows-- blows, then things start popping up and stealing global focus while you're typing 12:17
100% awesome
but if you have a program like firefox that's a huge memory hog, and you start typing, your input commands can get delayed enough to actually show up in a different window entirely 12:18
125% awesome
moritz I really loved my old fvwm configuration where I configured many programs to start up on a particular virtual desktop
sadly that stopped working for a reason unknown to me :(
12:20 lucian joined
whiteknight plobsing: hows the inside-out-ctx thing going? 12:20
plobsing I've never really had a problem with firefox's memory usage. maybe it's because I view non-whitelisted sites with ads and scripts disabled. 12:28
atrodo whiteknight> Down with focus stealing programs!
plobsing whiteknight: I spent most of the weekend trying to get *_constants out of the context structure, only to have that turn out to be a net loss, since the context is still super-hot. 12:29
every op updates the context's pc
and I see no better place to keep the pc than in the context
whiteknight: right now, I'm hacking up a solution to the interp['packfile'] update problem 12:31
whiteknight plobsing: can we store that pc in the register frame too?
or, store an opcode_t** reference to it in the interp, for easy lookup/set? 12:32
plobsing whiteknight: I'm not a big fan of that idea. it makes set ops potential jumps
and makes program analysis much harder
also, it is a raw pointer
whiteknight oaky
in M0 world, I think that's similar to what they are planning. a PC register somewhere that you can set to 12:33
plobsing yeah, not a fan of that design decision for reasons stated above
whiteknight if we mark certain ops with "this is a jump" metadata, program analysis works just fine again 12:34
plobsing whiteknight: but we already have that with separate jump ops
they get tagged
whiteknight right. that's what I'm saying
restrict most accesses to that register so it's only usable through tagged ops 12:35
plobsing statically or dynamically restrict?
I'd hate to see set_xyz have runtime checks
whiteknight When I say "register", I mean "data storage in the register frame memory block". Just because it's stored there doesn't mean it needs to be user-addressable like other registers 12:36
the interp should know some arithmetic magic to access it, but we don't need to give the user that ability
plobsing ah, okay
whiteknight for example, have the PC be register $P(-1), and tell the user that using negative indices is a syntax error 12:37
addressing internally is easy, user can't touch it
and it's all allocated in a close, friendly memory block
plobsing hmmm... the way this is moving, why don't we just make contexts use manual_attrs and allocate these things inline
whiteknight I've wanted to do that for a very long time
plobsing s/these things/register bank/
in stead of flipping the relationship, we merge them. 12:38
benabik Morning, #parrot!
whiteknight contexts are too hot though, like you mention. even small changes in contexts require big changes in Parrot
good morning benabik
benabik: I read your post. I like your ideas. I would like to join your club
benabik whiteknight: Woo! I have a club! 12:39
plobsing whiteknight: (re: $P(-1)) that assumes we trust the source of the PBC. also, how do you deal with opcode_t being unsigned? 12:40
and what is the point of holding it in a 'register' if it cannot be accessed?
whiteknight it's like the idea of merging the two allocations together. Just because they're stored in subsequent memory locations doesn't mean that they are all accessible through the same interfaces 12:41
benabik I keep coming to the idea that we're going to need a bytecode verifier at some point.
whiteknight that's just an implementation detail. Maybe I shouldn't call it a "register"
plobsing yes, that is what confused me 12:42
medium-term I can see making the context's pc much less hot by moving the update into ops and then only updating in ops that change the context or throw 12:43
for example add_i_i_ic wouldn't update the pc, because nothing in that op could care about accessing the pc 12:44
whiteknight yes, that's a great idea 12:46
anything we can do to decrease accesses into the Context would be a major improvement
any op that calls a vtable can potentially throw, so that might not end up being a very large savings 12:47
benabik Off to the dojo. Will be back probably noonish to start writing up my PACT design. 12:51
whiteknight msg NotFound Awesome work on the dotted-namespace fix, the :multi cleanups, and the new namespace operator. NotFound++
aloha OK. I'll deliver the message.
12:58 bubaflub joined
dalek nxed: 11ffab8 | NotFound++ | winxedst1.winxed:
replace getparrotnamespacekey function with method emitnamespace in Emit
13:12
whiteknight NotFound: ping 13:21
NotFound whiteknight: pong
whiteknight NotFound: Awesome work this morning. I'm reading these commits and they are making me happy. I have two questions for you 13:23
maybe three questions
NotFound Special offer of the day, ask two questions, one more question free! 13:24
whiteknight First, I think I'm going to close pull request 3, with the prefix:* operator. using var() is working very well for me
unless there is anything there you want to keep around for reference 13:25
NotFound Ok
whiteknight okay, done. Second, the lambda syntax patch, pull request 5. Is that anything you are interested in merging, or should I abandon it? 13:26
NotFound Probably if we later decir to add such operator, the compiler will be changed and this version will be useless. 13:27
whiteknight if it's not rejected, I can update the patch, clean it up, make any changes you want, etc 13:28
NotFound I don't think that the kind of syntax that patch allows integrates well with winxed style, and given that it doesn't provide any new semantic... 13:31
whiteknight okay 13:32
NotFound The balance is towards easy reading.
whiteknight it's disappointing, but I understand 13:34
13:35 fperrad joined
whiteknight NotFound: Oh, I had a third question too. 13:38
I would like to try to add more :multi features, like specific classes. Right now it only does NISP types 13:39
But, we're going to need a syntax for that, and I need your input because there are too many options
NotFound whiteknight: Can't we start by using the multi modifier? 13:40
whiteknight function Foo[multi(["Foo";"Bar"])] (var bar) { } ? 13:41
NotFound If there is a multi, use it, if not, synthesize the default, like current.
whiteknight if we use that modifier, it will always be a MultiSub
which is fine, but it's ugly
or, we could simplify:
function Foo[multi(Foo.Bar)](var bar) { } 13:42
we can parse out the dotted identifiers in the multi modifier
NotFound multi("Simple") and multi(["More", "complex"]) will be the easier way, no need to special syntax. 13:43
whiteknight okay. we can do that
I think we need to update parseModifier to handle the [] syntax
but that's not too hard, I don't think
Okay, I will work on that to start with. We can find something more pretty later, if we need to 13:44
thanks. NotFound++
NotFound Setting the is multi flag if there is a multi modifier, even if there is just one with that name, isn't it? 13:45
whiteknight yeah, we have to do that
I'll have to see what it looks like
NotFound After that, with real use cases, we can think aboout cleaner syntax. 13:46
whiteknight Rosella is going to have many use cases. And benabik is talking about rewriting PCT in winxed, which is going to bring more 13:47
NotFound That will be amazing.
whiteknight yes. I don't know if you saw his blog. PCT rewritten in NQP is 2x slower than the version written in PIR 13:48
A winxed version should be faster than that
much faster
NotFound We should be capable to make it as fast as pir, at least. 13:49
whiteknight I think so too
benabik is calling it PACT. We can probably update plobsing's ohm-eta to generate PACT, and we can write a new version of the Winxed Emit class to output it 13:50
or, we would probably have to rewrite most of winxed to use it, but it will be a fun project
13:51 mtk joined
NotFound Even without that, I'm already thinking about adding an stage 2 compiler, more flexible and using more advanced winxed features, 13:55
whiteknight just use the better syntax of stage 2, or do new stuff entirely? 13:59
NotFound parseModifier uses SimpleArgList for the modifier arguments, so it should be able to handle the [ ] syntax. The restrictions can be checked after parsing. 14:00
whiteknight ok
NotFound Start with current stage 1, clean it using better features, and progresively add new stuff. 14:01
And maybe downsizing stage 1, droping features not needed to compile stage 2 14:03
whiteknight that sounds like a good idea 14:04
lucian NotFound: do you still want stage1 around?
NotFound lucian: I'd like to keep a full bootstrap chain, yes.
lucian right 14:05
JimmyZ NQP hav two stages ...
NotFound Yeah, I want to have three becuase ot that ;) 14:06
JimmyZ couldn't image more than one stages 14:07
NotFound JimmyZ: I've read that some old compiler (maybe PL/I ?) had seven stages of bootstrap.
JimmyZ how many stages does C have? 14:08
14:08 contingencyplan joined
NotFound I think that no one bootsrap C from scracth since the 70 14:08
You just compile your compiler with other C compiler, and the compile it with itself. 14:09
JimmyZ that's why I couldn't image more than one stage 14:11
NotFound JimmyZ: if you write a new language you need at least two, unless you compile it manually the first time. 14:12
14:13 cotto_work joined
NotFound If you want to have a self compiler, that's it. If not, you can have just one. 14:13
lucian likes the way most lisps boostrap :)
whiteknight 1) have a keyboard with only '(' and 14:14
')' keys. 2) Drop a rock on it. 3) repeat
atrodo That's the end of the list
lucian whiteknight: :P
cotto_work ~~ 14:15
NotFound Interesting idea: write a lisp environment for tactile devices with just two gestures ;)
whiteknight open-paren, closed-paren 14:16
lucian to me, there's not much difference between lots of {} and () in a C-like language and lots of () and [] in clojure
they're both worse than python to me, syntactically 14:17
NotFound And lots of { } and ( ) and [ ] in winxed.
lucian sure, winxed manages to be very slightly worse some of the time 14:18
but i find it a reasonable compromise
NotFound lucian: I hate fixed-format syntax since the Cobol epoch.
lucian NotFound: indentation-sensitive? 14:19
NotFound lucian: yeah
lucian i hate it in makefiles, but i like it in python and haskell 14:20
JimmyZ hates python too
lucian just like i hate the parens in common lisp and scheme, but not so much in clojure
lucian also simply hates common lisp, but that's another thing
atrodo I've never been a fan when a language dictates, what I consider, style choices 14:21
lucian atrodo: python only dictates that you must indent consistently inside a block
not sure about haskell
dalek kudo/nom: 19cfd13 | moritz++ | / (3 files):
add hidden_from_backtrace trait
kudo/nom: b1882a1 | moritz++ | src/core/BackTrace.pm:
hide hidden routines from backtraces
NotFound That's too much dictate for a lot of us. 14:22
atrodo lucian> Exactly
NotFound I don't hate python, but I can't be comfortable with it because of that.
lucian do you indent inconsistently within a block? i've never seen that anywhere
atrodo lucian> Quite frequently when I'm working. Espcially when I indent (or don't indent) for reasons besides a block 14:23
lucian hmm
NotFound Nightmare idea: write a indentation-sensitive compiler using the starir 14:27
stair style frequent in old pascal times.
JimmyZ writing a comiler with brainfuck language 14:28
NotFound For extra ugly points, do it mixing spaces and tabs.
atrodo lucian> You have a good link on python's whitespace/indentation rules? I'm having a hard time remembering/finding 14:29
lucian atrodo: www.secnetix.de/olli/Python/block_i...ation.hawk i guess
atrodo: there's basically two rules: 1) indentation must be consistent within a block and 2) newlines delimit statements, except when you have more than one statement on a line with ; or a statement on more than one line where \\ may be necessary 14:31
NotFound BTW if you want to have some fun, give to someone with an old C compiler in a unix system a source with some well placed \\ CR LF line edings. 14:36
moritz where "consistent" depends on your interpretation of blanks, tab characters, vertical tabs and a whole bunch of codepoints that match \\s in regular expressions
lucian moritz: afaik, as long as the entire suite is indented the same way it's fine 14:39
moritz lucian: ah, but what if one line is indented with one tab, and the other with 8 blanks? 14:40
lucian moritz: obviously they're different 14:41
moritz error out? 'expected: " "; got: " "'?
lucian: but does "different" mean "inconsisten"?
*inconsistent?
lucian no, it'll tell you're mixing tabs and spaces
yes, different means inconsistent
moritz: try it 14:42
moritz I guess that's as much sanity as one can expect from an insane system :-)
14:42 alester joined
lucian would you really mix tabs and spaces in indentation? 14:42
moritz no, but I've seen code bases that did 14:43
lucian right, those don't run in python
i think that's a good thing :)
(you get an IndentationError btw)
moritz well, if you think that forcing a style on people is good, then obviously it's also good that it errors out 14:44
lucian when it comes to mixing tabs and spaces, or misindeting, yes i think forcing style is good 14:45
for anything else, strong warnings > forcing
but if you really want, you can totally do insane things like preshing.com/20110822/penrose-tilin...ted-python 14:46
JimmyZ well, I doesn' t hate python's indentation, I hate it putting grammers in the compiler to the tutorial book 14:48
14:53 kid51 joined 14:58 logie joined 15:12 Kulag joined 15:20 mtk joined 15:23 jsut_ joined
whiteknight NotFound: ping, again 15:26
NotFound whiteknight: pong
whiteknight NotFound: I'd like a way to conditionally compile code in a debug mode. Something like #ifdef DEBUG, but in winxed 15:27
like, if we could set a command-like flag like -DDEBUG, but more winxed-ish
NotFound whiteknight: you can use if on const int values.
whiteknight NotFound: okay, then can we have a global symbolic constant DEBUG? And set it on the commandline? 15:28
because if I have 100 if(1) ... statements, it's hard to change modes
NotFound whiteknight: const int DEBUG = 0; at the start of a file or in an included file. 15:29
whiteknight okay. But you're against a built-in feature like a __DEBUG__ constant?
NotFound I don't like the idea od defining symbols from command line options, but __DEBUG__ may be a reasonable exception.
So no, I don't oppose. 15:32
whiteknight okay, I will play with a patch for you to review 15:34
that will make some of the GSoC students very happy
lucian NotFound: what's your opinion on a static (compile-time) if? 15:35
static ifs operate on the own symbol namespace, and condition compilation 15:36
s/the own/the/
NotFound lucian: you mean like in C# ? 15:37
lucian don't know C#'s feature. i've seen it in D
whiteknight does C# have a static if?
NotFound #if 15:38
whiteknight oh, right. But that's stupid
lucian yeah, in essense like preprocessor macros
but with the same syntax as the rest of the language instead
NotFound Something like C, but symbols in a separate namespace.
lucian www.digitalmars.com/d/archives/digi..._6614.html
stackoverflow.com/questions/1717976...-static-if
D also has version www.digitalmars.com/d/2.0/version.html 15:39
NotFound lucian: you can already do that with winxed, you just need to be explicit about the namespace.
lucian but the static if is the most general of those
NotFound The only advantage I see with the 'static' is being clear about the intention. 15:42
16:01 RobertLJ joined
dukeleto ~~ 16:05
cotto_work hio dukeleto 16:06
dukeleto cotto_work: wazzup 16:13
16:14 theory joined
dukeleto video of me talking abot PL/Parrot + PL/Perl6: vimeo.com/27975448 16:45
tell me if I said anything stupid. For some reason, I find it really hard to watch videos of myself talking.
cotto_work dukeleto: I had to put a ton of effort into listening to myself speak. It takes a lot of getting used to to watch oneself. 16:46
16:50 mj41 joined 16:56 RobertLJ joined
whiteknight i know a couple people who love to hear themselves talk. 17:06
benabik o/ 17:08
17:10 zby_home joined
dukeleto benabik: i enjoyed reading your recent blog post. Lots of good stuff 17:15
benabik dukeleto: Thanks. I hope to follow it up with an oerly complucated design doc today. :-D 17:16
*overly
*complicatrd
Gah. Stupid iPhone 17:17
atrodo whiteknight> I know lots of people that love to hear themselves talk but hate to listen to themselves 17:23
whiteknight atrodo: the really annoying ones are the people that nobody else wants to listen to either
bubaflub afternoon dukeleto 17:25
17:31 Eclesia joined
Eclesia hi 17:31
dukeleto bubaflub: howdy 17:35
bubaflub Eclesia: i added a basic benchmark to Parrot-GMP - a good deal slower to use GMP over native Ints and Floats
17:37 pyrimidine joined 17:51 dmalcolm joined
Eclesia bubaflub: slower like 10 times ? 17:53
bubaflub Eclesia: maybe more.
benabik bubaflub: Is that using raw NCI or GMP objects with viable stuff? 17:58
17:58 lucian joined
bubaflub benabik: github.com/bubaflub/parrot-gmp/blo...ark.winxed 17:58
one with the VTABLE overrides, one without
benabik bubaflub: Both significantly slower? 17:59
bubaflub yup
here's the output:
Number of iterations: 40000
Time in GMP (vtable): 0.866077899932861
Time in GMP (direct method call): 0.556113004684448
Time in PIR: 0.00778007507324219
atrodo bubaflub> ouch 18:00
benabik Ouch.
bubaflub yup. not GMP's fault too much. not sure what my code is adding to it
Eclesia aie...
benabik How does that compare to C?
bubaflub so i'm thinking it's C <-> PIR 18:01
benabik: not sure.
benabik bubaflub: Might want to try a raw C vs GMP benchmark… Will probably be faster than Parrot, but would be interesting to see what the GMP overhead is. 18:02
bubaflub benabik: ok. i'll add that to the repo as well 18:03
Eclesia bubaflub: use the awesome parrot profiler ! ho ... we dont have one :x
atrodo ouch
whiteknight we're working on it!
bubaflub heh. i've seen people use kcachegrind but i'm not sure how / how to even read the results
whiteknight very carefully 18:04
Eclesia was just joking
bubaflub: question : are you continuing to work on parrot after gsoc ? 18:07
bubaflub Eclesia: yup. 18:08
whiteknight bubaflub++
tadzik :) 18:09
Eclesia bubaflub: ok then tell me where I can find your bindings, I'll try to plug then in my model ;) 18:11
bubaflub Eclesia: github.com/bubaflub/parrot-gmp
Eclesia: and you have any trouble, msg me or shoot me an email or file a github issue. 18:17
Eclesia bubaflub: You need to have Parrot configured with GMP to use Parrot-GMP <-- means I must already have gmp packages on my system ?
bubaflub Eclesia: yup
Eclesia hm. 18:18
18:20 RobertLJ left
Eclesia hope linux and windows parrot installer will come with all thoses dependencies. 18:22
cotto_work linux installer?
Eclesia deb package dependencies
whats the difference between parrot 3.7 and 5 ? 18:24
benabik Two months of development? ;-)
NEWS file can tell you: github.com/parrot/parrot/blob/master/NEWS 18:25
Eclesia I just made a git pull and rebuild parrot, but everything is still placed in ; /usr/local/src/parrot/3.7.0-devel
cotto_work Eclesia: did you run make reconfig?
Eclesia make realclean; git pull; perl Configure.pl; make; make test; sudo make install 18:26
cotto_work You need to have a prefix if you're installing parrot.
perl Configure.pl --prefix=/path/to/install 18:27
--optimize is also a good idea
18:30 davidfetter joined
Eclesia bubaflub: what's the difference between the gmp in parrot and yours ? 18:33
bubaflub Eclesia: what GMP in Parrot? there are a few bindings for BigNum stuff done by someone else, my project will have all functions eventually.
whiteknight tcurtis: ping 18:34
Eclesia 133 test failures
nopaste "Eclesia" at 192.168.1.3 pasted "gmp test failures" (235 lines) at nopaste.snit.ch/73791 18:35
Eclesia bubaflub: here you go ;)
bubaflub Eclesia: very nice. can you run just one of those failed files to show me what's wrong? 18:36
Eclesia bubaflub: how ?
bubaflub winxed t/integer/remove.t
nopaste "Eclesia" at 192.168.1.3 pasted "gmp test failures" (14 lines) at nopaste.snit.ch/73792 18:37
Eclesia bubaflub: here
bubaflub Eclesia: you'll need to install Parrot-GMP to fix those problems 18:38
Eclesia I've rebuild parrot, and seen the gmp module enable a few minutes ago 18:39
bubaflub: or are you talking about somethin else ?
bubaflub Eclesia: now, you'll have to do `winxed setup.winxed install` for Parrot-GMP
Eclesia ho install it before runing tests
k
bubaflub Eclesia: yeah, unfortunately that's the only way for NCI thunks to work 18:40
Eclesia bubaflub: gailed
failed*
bubaflub backtrace?
nopaste "Eclesia" at 192.168.1.3 pasted "install gmp" (7 lines) at nopaste.snit.ch/73808
plobsing bubaflub: why do you need to install before running tests? 18:41
Eclesia it says unknowned file or folder GMP/thunks.so
bubaflub plobsing: i need to put the NCI thunks somewhere Parrot can find em before all the tests run 18:42
Eclesia: yeah, looking into it now
Eclesia: what do you have under the GMP/ folder?
plobsing bubaflub: you could run the harness with parrot -X 'local folder'
Eclesia bubaflub: common, integer, random, raw 18:43
plobsing -X (or --dynext) adds to the dynext path
whiteknight msg tcurtis if you have some time soon, I would really love a crash course in lalrskate. I've been digging in it and have a good feel for things, but I want to make sure I know all the capabilities and limitations of it. 18:44
aloha OK. I'll deliver the message.
bubaflub plobsing: my test harness is written in NQP - does parrot-nqp take those arguments? 18:45
Eclesia: hmmm, the thunks aren't building. one sec.
plobsing bubaflub: probably not 18:46
Eclesia question : how can I store a pmc in a namespace ? 18:51
whiteknight set_global [namespace], "name", value
Eclesia thanks
bubaflub Eclesia: do you have src/GMP/thunks.c ? 19:02
Eclesia bubaflub: yes
bubaflub Eclesia: ok, so the thunks are being generated but not compiled
Eclesia: one sec.
Coke rant: why do we even have the Changelog file? 19:03
whiteknight Coke: I've suggested we delete it on several occasions 19:05
Coke opens a ticket. 19:06
ISTR allison had a reason why, but I just did a ticket search for changelog and didn't find anything. 19:07
whiteknight there is always some hidden, unknown reason why we do all sorts of things that nobody today wants to keep doing
Coke eh. we'll find out in a week when I rip it out. ;) 19:08
whiteknight Coke++ 19:10
Eclesia (and patch it back in one week+1day) 19:12
bubaflub: big bug ? 19:16
bubaflub Eclesia: don't think so. one sec.
Eclesia no need to hurry :) 19:17
bubaflub Eclesia: what kind of system are you on? 19:18
Eclesia bubaflub: linux 64bit Lubuntu 11.04
bubaflub Eclesia: ok. compiling with gcc? 19:19
Eclesia don't know 19:20
Eclesia is not a c/c++ developer
cotto_work ./parrot_config cc 19:21
dalek TT #2184 created by coke++: Remove Changelog
TT #2184: trac.parrot.org/parrot/ticket/2184
bubaflub Eclesia: ok. can you run `winxed setup.winxed clean`
Eclesia: and then give me the full output of `winxed setup.winxed build`
Eclesia eclesia@Blocos:/media/SATA2_7200/dev/parrot-gmp$ parrot_config cc
cc
cotto_work Eclesia: probably gcc then
nopaste "Eclesia" at 192.168.1.3 pasted "gmp build" (22 lines) at nopaste.snit.ch/73809 19:22
Eclesia bubaflub: ere you are
here*
bubaflub Eclesia: ok, it's a problem with my linking. lemme look at it for a bit and figure it out 19:23
nopaste "Eclesia" at 192.168.1.3 pasted "gmp build" (15 lines) at nopaste.snit.ch/73810 19:25
Eclesia bubaflub: sorry looks like my copy failed ^^
bubaflub Eclesia: ok, i'll keep at it
Eclesia bubaflub: question : what kind of rational are available with the bindings ? 19:34
bubaflub Eclesia: at this point, i only have integer bindings. rational will be coming soon. 19:35
Eclesia: gmplib.org/manual/Rational-Number-F...-Functions is what is available
benabik bubaflub: Rational isn't an object, or rational functions aren't available at all yet?
bubaflub benabik: both - i haven't started on the rational stuff yet.
GSoC was only for the initial stuff and the Integer functions 19:36
dalek p/commandline-optional-arguments: 3e5dcec | tadzik++ | src/HLL/CommandLine.pm:
Allow optional named parameters in CommandLine.pm

Specified with foo=s? get the passed value if any, empty string otherwise. So --foo will set %options<foo> to '', --foo=bar will result in %options<foo> := 'bar'. In the first case, %options<foo> will still be false, but the existance of the argument can be checked with pir::exists()
19:47
p/commandline-optional-arguments: 8d12a5c | tadzik++ | src/HLL/CommandLine.pm:
Update HLL::CommandLine documentation mentioning optional values
19:50
Eclesia ++ all 20:05
benabik A round of karma for everyone? 20:06
whiteknight I'm paying 20:07
dalek p: 3e5dcec | tadzik++ | src/HLL/CommandLine.pm:
Allow optional named parameters in CommandLine.pm

Specified with foo=s? get the passed value if any, empty string otherwise. So --foo will set %options<foo> to '', --foo=bar will result in %options<foo> := 'bar'. In the first case, %options<foo> will still be false, but the existance of the argument can be checked with pir::exists()
20:08
p: 8d12a5c | tadzik++ | src/HLL/CommandLine.pm:
Update HLL::CommandLine documentation mentioning optional values
p: 4d93b19 | tadzik++ | tools/build/Makefile.in:
Merge branch 'master' of github.com:perl6/nqp
benabik dalek seems slower here than in #perl6… Different throttling between perl.org and freenet? 20:09
Coke I have a new local branch that is tracking local master. how do I turn that local branch into a remote branch of the same name? 20:10
benabik git push <remote> <branch>, I think.
20:12 rurban joined 20:52 bubaflub joined
dalek Heuristic branch merge: pushed 19 commits to lalrskate by ekiru 20:57
tcurtis ~~ 20:59
allison Coke/whiteknight: the changelog used to be where we track changes (like most projects). Then, at some point, someone decided we should add a NEWS file and list all the changes there. I have no idea why, I've never seen any other project with a NEWS file. Then at some later point, people thought it was duplicated effort to put updates in both files, so they just started adding a link to NEWS from Changelog for every release. 21:10
Coke/whiteknight: At that point, Changelog became useless. 21:11
Coke/whiteknight: The two files should be merged.
Coke/whiteknight: Personally, I'd merge the two and call the new file Changelog. 21:12
cotto_work There's quite a bit in Changelog. I'd be that merging it and NEWS would violate laziness for most people.
+1 if anyone feels like it though
benabik I think it was moved to NEWS because most people expect Changelog to be something akin to old style GNU Changelogs… Detailing every function and line change while NEWS is more user-oriented. 21:13
21:17 perlite_ joined 21:32 bubaflub joined 21:53 jsut joined 22:15 jsut_ joined 22:22 jsut joined 22:36 kid51 joined
Coke if someone copies allison's comments to the ticket, I'll do the merge. 22:41
ISTR that part of that split was that Changelog was for details, news was for release-worthy stuff, but that distinction is no longer present, either. 22:44
/bye
allison Coke: yeah, I think it's partly a generational thing. 22:45
Coke: the early developers of Parrot made a lot of entries in Changelog, I've never made one
Coke: it just dropped out of common usage
Coke: (or, was replaced by browsing source control history, which got a lot easier in recent years) 22:46
22:48 cotto joined
cotto ~~ 23:03
23:07 Coke joined 23:15 Coke joined 23:46 whiteknight joined
whiteknight good evening, #parrot 23:47
cotto good evening, whiteknight
kid51 ~~
whiteknight hello cotto, kid51. How are you two doing tonight? 23:48
cotto jetlagged 23:50
normal cotto would still be at work 23:51
though he wouldn't have shown up at 7 either
whiteknight normal cotto sounds like he makes good decisions 23:54
Felipe hi guys 23:55
cotto less bad perhaps
;)
whiteknight hello Felipe!
tcurtis: ping 23:57
tcurtis whiteknight: pong 23:58
whiteknight tcurtis: excellent last-minute push on lalrskate 23:59
tcurtis: I want to set up some time with you to go over lalrskate and get a kind of crash course in it. I would like to continue the work after GSoC ends