Parrot 4.0.0 "Hyperstasis" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 12 February 2012.
dalek nxed/named_arg_syntax: 41a76b7 | Whiteknight++ | winxedst2.winxed:
Add in a new 'named' keyword for named parameters
00:00
nxed/named_arg_syntax: c53f227 | Whiteknight++ | winxedst2.winxed:
Add in the 'named' keyword for arguments
whiteknight function foo(var x = default_x() named "ecks") { ... } 00:03
that's better than the older version
function foo(var x [named("ecks"),optional], int has_x [opt_flag]) { if (!has_x) x = default_x(); ... } 00:04
msg NotFound (Sorry about all the messages!) Also look at my named_arg_syntax branch to see if you like the idea 00:11
aloha OK. I'll deliver the message.
dalek sella: ed7832a | Whiteknight++ | src/unstable/native/ (2 files):
[Native] Add in an outline for an NCI wrapper library
00:44
sella/optional_args: a30588d | Whiteknight++ | src/query/ (2 files):
[Query] update more optional args
sella/winxed_packfile: 4870fea | Whiteknight++ | src/template/Engine.winxed:
[Template] Update Template.Engine.compile to assume Winxed is returning a PackfileView instead of an Eval
01:03 benabik joined 06:52 alvis joined 07:41 fperrad_ joined 09:19 fperrad joined 10:03 mj41 joined 10:32 lucian joined 11:02 mj41 joined
dalek kudo/sink: bbfd717 | moritz++ | src/ (2 files):
make List.sink safe for invoking on the type object
11:33
11:37 JimmyZ joined 11:55 whiteknight joined
whiteknight good morning, #parrot 11:55
tadzik hello whiteknight 11:57
whiteknight hello tadzik, how are you doing? 11:59
tadzik very well, came back today from a computer-free vacation 12:00
whiteknight sounds stressful and unpleasant 12:03
:)
tadzik heh, falling down on hard snow is a bit of both, but it was fun nonetheless :)
dalek kudo/sink: 7ddf5ab | jnthn++ | src/Perl6/ (2 files):
If we do dynamic compilation of code code, be sure to sink it at that point. Also tag it sunk so we don't re-do the work later. Doesn't fix the immediate problem, sadly - just spotted it was missing.
whiteknight When I think of a vacation, I usually thing of having more free time to use the computer 12:04
I offered my boss the other day that I would come in for some unpaid time to clean up some of the most offensive code in our base system 12:05
If I'm doing it on my own time, I figure they won't hassle or distract me, and I definitely won't have to sit in any meetings
tadzik heh, sounds reasonable 12:06
whiteknight Our system at work has not one, not two, but three completely separate and incompatible database access mechanisms 12:07
due in no small part to short attention spans, and the inability to finish a previous refactor before the new shiney distracts everybody
A large portion of our system uses the Ext javascript library, which nobody still at the company knows how to use well 12:08
but it's okay, because we've already started the half-refactor to move it to something else 12:13
12:16 contingencyplan joined 12:17 contingencyplan_ joined
dalek kudo/sink: e06236d | jnthn++ | src/Perl6/Sinker.pm:
All method calls are wrapped up in calls to perl6ize_type so we need to make sure we descend into them also.
12:32
kudo/sink: 4017a66 | jnthn++ | tools/build/Makefile.in:
Fix dependency.
kudo/sink: 0e2a54e | jnthn++ | src/Perl6/World.pm:
Undo busted change to dynamic compilation. Gets us further.
12:37
12:45 jsut_ joined
dalek kudo/sink: ecf6bcc | jnthn++ | src/Perl6/Metamodel/ (2 files):
Change return values from add_parent and add_role to be something other than a type object, so they'll at least be considered something true. Also avoids us sinking types we've not finished compiling yet.
12:59
kudo/sink: 41b48aa | jnthn++ | src/Perl6/World.pm:
Remove debugging code.
nxed: ec62b67 | NotFound++ | winxedst2.winxed:
delete some dead code
13:16
13:19 maettu joined
dalek nxed: 5ea5656 | NotFound++ | winxedst1.winxed:
delete some dead code in stage 1
13:20
14:09 jsut joined
dalek nxed: 5d39611 | NotFound++ | winxedst (2 files):
minimal simplification
14:29
nxed: e10a62d | NotFound++ | winxedst (2 files):
nanooptimize common int and null checks
14:57 PacoAir joined 15:32 maettu left 15:44 Psyche^ joined
whiteknight NotFound: ping 16:12
16:15 alvis joined 16:51 lucian joined
dalek kudo/nom: 76e282a | jnthn++ | src/Perl6/ (3 files):
Support SomeType(x) falling back to being a coercion call (x.SomeType). If SomeType already overrides postcircumfix:<( )> then we call that directly, just as before.
17:14
kudo/nom: 14c84d0 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Make it so Array(1,2,3) actually works as I meant it to.
17:34
whiteknight Heh, I don't want to do any more hacking on winxed until the thngs I've already changed are evaluated 17:58
benabik whiteknight: Just make piles of branches. 18:04
git is good with that.
whiteknight That's what I've been doing
benabik branch all the codes!
whiteknight But since most the changes I've been making recently have to do with argument and parameter syntax, there's overlap
Merging is going to be a bear if I continue
benabik Details, details 18:05
whiteknight In my newest branch you can use this syntax: function foo(var x = default_x() named "ecks") { ... }
benabik named going after the default seems a little odd.
whiteknight how would you prefer it? 18:06
var x named "ecks" = default_x()
?
benabik I guess it doesn't matter too much, but yeah that's what I'd expect.
whiteknight or var named "ecks" x = default_x()
benabik (Mostly because I expect the expression last
alvis VVgener 18:07
whiteknight I view the expression as being data, and the named part being metadata
that is, the named bit has more to do with how it's called, not how it works inside the function
alvis++
benabik Really, whichevery. 18:09
I do like the syntax being there.
whiteknight benabik: yeah, the problem is that there are so many argument modifiers, and any syntax we have is going to start getting messy
benabik whiteknight: The commonly used ones should have nice syntax and the others can be off in the [] metadataland 18:11
whiteknight Unfortunately, I use :optional, :opt_flag, :slurpy and :named pretty often
maybe my use-cases aren't the common ones
benabik Those seem like common ones to me. 18:12
whiteknight Those are really the only ones
benabik oh. 18:13
whiteknight and :flat on the caller side
no, we inexplicably still have :invocant, and we have :call_sig 18:14
:call_sig can go bye-bye and :invocant needs to disappear
Those are for arguments/parameters. Sub flags also are going to need prettier syntax at some point 18:15
NotFound whiteknight: pong 18:21
whiteknight NotFound! 18:22
NotFound: I opened a small pull request for winxed, and I have a few other syntax changes that I'm going to make requests for
NotFound whiteknight: Have you tried my implementation of defaults? Does it cover your use cases? 18:23
whiteknight NotFound: yes, I've used it and I like it very much
NotFound Good.
whiteknight your implementation doesn't allow [named] though, so I fixed that in one of my branches
github.com/Whiteknight/winxed/tree...arg_syntax 18:24
NotFound Now for the compile part. Is just usinf the compile method enough? The packview result can be directly written to a pbc?
whiteknight NotFound: yes, .compile is enough. It returns a PackfileView, which has a method to write to file
NotFound The pir compile, I mean.
whiteknight yes
hold on
NotFound Yes, I deliberately disallowed mixing the default and modifiers, just to start step by step. 18:25
whiteknight gist.github.com/1860547 18:26
compiles winxed code to .pbc
without spawnw
NotFound Let me check the drivers... 18:28
No need to change the driver for a now. 18:32
dalek nxed: 60fbeb4 | NotFound++ | winxedst2.winxed:
use compile method of compreg'ed PIR instead of the deprecated way, whiteknight++
18:34
whiteknight Awesome 18:35
dalek nxed: 29cfed7 | NotFound++ | winxedst2.winxed:
remove dirt
18:37
NotFound whiteknight: I'm not sure about a 'named' keyword, maybe an operator will fit better. 18:39
whiteknight what kind of operator?
I'm also looking forward to [slurpy,named], which is going to need a syntax too 18:40
NotFound Maybe ':'
whiteknight PIR has "foo"=>x
on caller side
function f(var x : "foo") { } 18:41
Then how do we do on caller side? foo(4 : "foo") 18:42
?
NotFound There was a rejected C++ proposal, I'm looking for it.
whiteknight ok 18:43
I'll make the patch, just tellme what you want it to look like
NotFound I'm also thinking about a reuse of the literal hash syntax,
18:47 benabik joined
NotFound Looks like that proposal is so old that was never available in the web. 18:47
There is a mention in "The Design and Evolution of C++". Caller side is fun(name := value); 18:50
dalek rrot: c52b79e | dukeleto++ | ChangeLog:
[doc] Add some beef to Changelog
18:52
18:58 jsut_ joined
dalek nxed: cb1b2ca | NotFound++ | winxedst2.winxed:
allow modifiers together with default value in parameters
19:03
19:20 travis-ci joined
travis-ci [travis-ci] parrot/parrot#66 (master - c52b79e : Jonathan "Duke" Leto): The build passed. 19:20
[travis-ci] Change view : github.com/parrot/parrot/compare/6......c52b79e
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/698181
19:20 travis-ci left
cotto ~~ 19:24
dukeleto ~~ 19:36
whiteknight: ping 19:38
whiteknight: still want Rosella on travis?
whiteknight: if you add the post-receive hook, i can do the rest
msg NotFound let me know if you want Travis CI setup for Winxed. You just need to add the Travis CI Post Receive Hook on Github and I can do the rest 19:49
aloha OK. I'll deliver the message.
NotFound dukeleto: what it will do? Excecute make test? 19:50
dukeleto NotFound: i can make it do anything you want 19:58
NotFound: github.com/parrot/parrot/blob/mast...travis.yml
NotFound: that is the config file for parrot.git
NotFound: we could run the Winxed test suite on different compiled parrots and do benchmarking, whatever your mind can think up 19:59
NotFound: there is currently a 25 minute timeout, though
NotFound dukeleto: there is a way to test that in local?
dukeleto NotFound: what does "in local" mean?
NotFound Verifying that yaml file in my machine, before updating the repo 20:00
dukeleto NotFound: travis ci is open source and you can run your own, but from what I understand, it is still non-trivial to setup
NotFound: not really. I just push the update and see how Travis reacts
NotFound: i usually do it in my own fork, on a branch 20:01
NotFound: and then when i have the travis.yml working nicely, i put that in the main repo
NotFound: i have set up Rakudo with it
NotFound: github.com/leto/rakudo/blob/travis/.travis.yml
NotFound dukeleto: ok. What's the hook for github? 20:02
dukeleto NotFound: go to Admin
NotFound: Service Hooks -> (scroll way down) to Travis CI 20:03
NotFound: then scroll way up
NotFound: i have been using my API key to set it up. you can make your own or use mine
NotFound: i don't really care
NotFound: you can log into travis-ci.org with your Github creds
NotFound: and then they have a shiny button to tap to turn on the post-receive 20:04
NotFound: that is the easier option than pasting my API key :)
NotFound It does not show my repositories... I'll try with another brwoser. 20:06
dukeleto NotFound: there is always the manual way of going to your travis profile, copying the api key and pasting that into github 20:09
NotFound dukeleto: Looks like is trying to execute something with ruby and failing, so I think the hook is working. 20:15
travis-ci.org/#!/NotFound/winxed
dukeleto: How I tell travis that winxed needs parrot? 20:23
dukeleto NotFound: one sec 20:26
NotFound: github.com/parrot/cardinal/blob/ma...travis.yml 20:27
NotFound: basically you can copy and tweak the cardinal travis config
NotFound: that tests against parrot master 20:29
NotFound: which is good
dalek nxed: bee5772 | NotFound++ | .travis.yml:
taml file for travis
20:30
NotFound Trying...
It says Rakefile not found 20:33
dalek rrot: c21e4b2 | dukeleto++ | ChangeLog:
[doc] Reshape Changelog so it fits into emails/blog posts and add details
20:34
dukeleto NotFound: looking
20:38 lucian joined
dukeleto hmmm 20:41
whiteknight NotFound: Whatever syntax we use is fine. foo := bar syntax is as good as any. I just don't like the [named("foo")] syntax 20:51
20:56 travis-ci joined
travis-ci [travis-ci] parrot/parrot#67 (master - c21e4b2 : Jonathan "Duke" Leto): The build passed. 20:56
[travis-ci] Change view : github.com/parrot/parrot/compare/c......c21e4b2
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/698586
20:56 travis-ci left
whiteknight dukeleto: I'm not ready for that yet. Rosella still tracks Winxed head changes too closely. 21:05
21:09 contingencyplan joined, contingencyplan_ joined 23:38 preflex_ joined