Camelia, the Perl 6 bug

IRC log for #parrot, 2012-02-18

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

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

Parrot | source cross referenced