|
Parrot 4.0.0 "Hyperstasis" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 18 January 2012. |
|||
| dalek | rrot/240/fix_cond_eval: dd05f0d | jkeenan++ | lib/Parrot/Configure/Compiler.pm: Delete commented-out code. |
01:07 | |
| sella: 3704e3f | Whiteknight++ | s (7 files): Add in a basic matcher functionality for the Test library, so we can do more complex assertions |
01:26 | ||
| sella: f0287af | Whiteknight++ | / (3 files): Add in the ability to have an initialization routine in Test.test and friends. Update the winxed test templates to use a setup function. |
|||
| sella: 8c2ddf5 | Whiteknight++ | / (4 files): test initializers take the context not the suite, since the suite really is not configurable. Cleanup the initialization code a little. |
|||
| sella: 3e8eef2 | Whiteknight++ | / (3 files): small cleanups to the test templates and docs for Test namespace |
|||
| sella: d47c6ba | Whiteknight++ | src/test/Test.winxed: Check that the initializer is not null, since the key always exists |
|||
| rrot/240/fix_cond_eval: 60cce76 | jkeenan++ | t/myharness: Delete spurious file. |
01:56 | ||
| rrot/240/fix_cond_eval: 965d4b3 | jkeenan++ | lib/Parrot/Configure/Compiler.pm: Parens are not metacharacters inside bracketed character classes. |
02:08 | ||
| dukeleto | anybody use chef? | 02:11 | |
| dalek | rrot/240/fix_cond_eval: dc7e0d8 | jkeenan++ | / (2 files): Refactor code into Parrot::Configure::Compiler::_set_file_type_option() and then test that subroutine. |
02:22 | |
| rrot/240/fix_cond_eval: 3544348 | jkeenan++ | lib/Parrot/Configure/Compiler.pm: Merge branch '240/fix_cond_eval' of git@github.com:parrot/parrot into 240/fix_cond_eval |
|||
|
03:04
schmooster joined
03:38
Psyche^ joined
05:05
jjore joined
|
|||
| dukeleto | ~~ | 07:10 | |
| dalek | kudo/nom: 63663bd | moritz++ | docs/release_guide.pod: correct release date and copyright in release_guide.pod |
08:30 | |
|
08:40
mj41 joined
09:17
lucian joined
10:14
benabik_ joined,
arnsholt joined,
perlite joined
10:15
dalek joined,
Timbus joined
10:16
wagle joined
10:21
ehiggs joined
|
|||
| dalek | kudo/nom: 3ddd2fb | moritz++ | src/ (2 files): throw typed exception on illegal use of placeholder parameters also catches class A { $^x }, which used to live errornously |
12:02 | |
|
13:34
mtk joined
13:52
not_gerd joined
|
|||
| dalek | kudo/nom: 2c3f642 | moritz++ | src/ (2 files): include parameter name in error message also more awesome error message stolen from STD and niecza |
13:59 | |
| not_gerd | could someone pull github.com/parrot/parrot/pull/704 into a branch so testing with NQP becomes easier? | 14:02 | |
| (off again) | |||
|
14:02
not_gerd left
|
|||
| aloha | (parrot/parrot) Issues opened : 704 (cleanup and auto::sizes refactor) by gerdr : github.com/parrot/parrot/issues/704 | 14:06 | |
| dalek | kudo/nom: bb2f072 | moritz++ | src/core/Exceptions.pm: fix error message, lumi++ |
14:08 | |
| kudo/nom: 355430c | moritz++ | src/core/Exceptions.pm: another spelling fix, kboga++ moritz-- |
14:10 | ||
|
14:39
PacoAir joined
15:36
not_gerd joined
15:41
dmalcolm joined
|
|||
| dalek | rrot/auto-sizes: 3149464 | (Gerhard R)++ | config/gen/config_h/config_h.in: char is allowed to be unsigned, so explictily request signed type |
16:02 | |
| rrot/auto-sizes: d69401e | (Gerhard R)++ | / (3 files): remove unnecessary type ptrcast_t |
|||
| rrot/auto-sizes: 23acc8c | (Gerhard R)++ | / (2 files): remove _set_ptrcast() from auto::memalign |
|||
| rrot/auto-sizes: 368b18f | (Gerhard R)++ | config/auto/sizes/test_c.in: fix misuse of %u to printf values of type size_t |
|||
| rrot/auto-sizes: f5bb182 | (Gerhard R)++ | src/runcore/subprof.c: remove needless inclusion of stdint.h |
|||
| rrot/auto-sizes: 19dc8fb | (Gerhard R)++ | / (2 files): re-introduce ptrcast_t and use it where actually appropriate |
|||
| rrot/auto-sizes: 1457f9e | (Gerhard R)++ | config/auto/sizes.pm: re-factor auto::sizes |
|||
| rrot/auto-sizes: b8ea67c | (Gerhard R)++ | / (3 files): Merge branch 'master' into gerdr/cleanup |
|||
|
16:34
contingencyplan joined
16:55
alester joined
18:02
fperrad joined
18:04
admiral0 joined
|
|||
| admiral0 | hello | 18:04 | |
| i am following the tutorial | |||
| and not getting expected results | 18:05 | ||
| what .annotate 'line', 1 means in pir? | |||
| moritz | admiral0: it adds a so-called annotation with key 'line' and value 1 | 18:06 | |
| admiral0 | i get that | ||
| moritz | admiral0: compilers use that identify the location in the source file | ||
| admiral0 | it should be an assignment | ||
| moritz | so that they can produce backtraces with the correct line numbers | ||
| assignment to what? | |||
| admiral0 | no, my bad | 18:07 | |
| moritz | afk | ||
| admiral0 | code gets parsed but not executed... | ||
| aloha | (parrot/parrot) Issues opened : 705 (Build breaks is sizeof (INTVAL) != sizeof (opcode_t), inter::types discards --opcode) by gerdr : github.com/parrot/parrot/issues/705 | 18:18 | |
|
18:22
dmalcolm joined
|
|||
| dalek | kudo/nom: d469892 | moritz++ | t/spectest.data: enable kv.t, [Coke]++ |
18:45 | |
| kudo/nom: 268e0c9 | moritz++ | NOMMAP.markdown: nom will not become master. [Coke]++ |
18:57 | ||
| sella: b70b45a | Whiteknight++ | t/test/Assertions.t: Add in a few quick tests for Array and Hash matchers |
19:02 | ||
| sella: e175ca8 | Whiteknight++ | src/test/ (4 files): Add in two experimental new matchers. Change the matcher factory to not use type/role information for the first arg, and instead ask each matcher if the values can be accepted. |
|||
| cotto | ~~ | 19:08 | |
|
19:09
lucian joined
19:44
senf_statt_oel joined
|
|||
| alester | Why are there still issues in the GitHub issues queue? | 19:45 | |
| I thought when I converted all the issues over from Trac, everything would get fixed. | |||
| Slackers. | |||
| dalek | kudo/nom: d83a1c0 | moritz++ | src/ (2 files): typed Redeclaration errors |
19:46 | |
| alester | I've been tagging issues here and there when I'm bored. Not sure if that'll help anything, but I figure it can't hurt. | 19:48 | |
| benabik | alester++ | ||
| aloha | (parrot/parrot) Issues closed : 645 (This product has only a moose, not a pony) by petdance : github.com/parrot/parrot/issues/645 | 19:54 | |
|
20:03
senf_statt_oel left
|
|||
| dukeleto | ~~ | 20:14 | |
| alester: will you take a pull request to ack if I add in *.winxed as a default extension ? | 20:15 | ||
| alester | for what? | ||
| dukeleto | alester: i want ack to look in *.winxed files by default | ||
| alester: too much to ask? | |||
| alester | You mean --winxcd=*.winxcd? | ||
| What is winxcd? | |||
| dukeleto | alester: winxed.org | 20:16 | |
| alester: the language that comes with parrot | |||
| alester: whiteknight.github.com/Rosella/winxed/index.html | |||
| alester | A user base of how many? | 20:17 | |
| Two? Three? :-) | |||
| dukeleto | alester: whiteknight, NotFound, bubaflub, Benabik, me, for starters | 20:18 | |
| alester | So, five. | ||
| I really don't want to add every new language. As much as I love Parrot and y'all. | |||
| dukeleto | alester: and nontrivial projects that are outside of core that use it: github.com/letolabs/parrot-libgit2 | ||
| alester: ok, so i have to add some config metadata to make it work? | 20:19 | ||
| alester: how do I tell ack to look in *.winxed files by default? | |||
| alester | --type-add=winxed=*.winxed | ||
| benabik | dukeleto: echo "--type-set=winxed=.winxed" >> ~/.ackrc # is what I did | ||
| alester | put that in your ACK_OPTIONS | ||
| dukeleto | benabik++ | ||
| alester | in this case, --type-add and --type-set are the same. | ||
| oh yeah, no *. benabik is right. | 20:20 | ||
| benabik | It seems to have been working for me, so I'd hope so. :-D | ||
| dukeleto | alester: does that just give me ack --winxed support, or do I need something else for "ack foo" to look in *.winxed files? | 20:21 | |
| alester | both | ||
| you have it all. | |||
| ack 1.x only searches files it knows about by default. | |||
| Telling it about --winxed means it now knows what *.winxed files are, sot hey get searched. | |||
| benabik | My .ackrc: gist.github.com/1665348 | 20:22 | |
| dukeleto | benabik++ | ||
| alester: thanks for hitting me with the clue stick | |||
| benabik | alester++ | ||
| dukeleto | benabik: looks like the wrong gist url | ||
| benabik | dukeleto: WFM? | 20:23 | |
| alester | ack2 will also let you have global /etc/ackrc | ||
| and per-project ackrc. | |||
| benabik | And a pony? | ||
| alester | Biggest damn pony you ever sw. | ||
| dukeleto .wants("pony") | 20:24 | ||
| alester | It's interesting that people don't realize how flexible ack is. | 20:30 | |
| I need to tell that story better. | |||
| masak | benabik++ # sharing his .ackrc | 20:32 | |
| benabik | Although I wonder why I added .pbc to --parrot | 20:33 | |
| That's not a useful thing to ack. | |||
| alester | @hoelzro and I are making the configging much more flexible. | 20:34 | |
| and the diagnostics will tell you exactly what's getting searched and why. | |||
|
20:42
mj41 joined
|
|||
| dalek | kudo/nom: 00e5547 | moritz++ | src/ (2 files): throw X::Phaser::Once exceptions when two CATCH or CONTROL blocks appear in a block |
20:48 | |
| kudo/nom: ef67fd4 | moritz++ | src/ (2 files): more typed redeclaration exceptions |
|||
|
21:12
mtk joined
|
|||
| dalek | Heuristic branch merge: pushed 28 commits to nqp/qbootstrap by jnthn | 21:12 | |
| kudo/nom: 71225d3 | jnthn++ | docs/ROADMAP: A few difficulty estimates. |
21:21 | ||
| kudo/nom: ccd75fa | jnthn++ | src/Perl6/Metamodel/AttributeContainer.pm: Catch case of a class that does 'has $.x; has @.x'. |
|||
| kudo/nom: 4ffbd61 | jnthn++ | src/Perl6/Metamodel/AttributeContainer.pm: Allow an explicit method to resolve an attribute accessor conflict. |
|||
|
21:24
robertle joined
21:25
not_gerd left
|
|||
| robertle | hi folks, I have a quite off-topic thing I would like to run past you. stop me if you think this is the wrong place. but you might find it amusing or interesting. | 21:38 | |
| I am trying to cook up a VM for toy MUD server, partially inspired by parrot and the lua vm | |||
| it is a register-based 3-address machine, dynamically typed and has a few built-in tyupes | 21:39 | ||
| the usual primitives: int, float, bool, nil | |||
| it also has strings. these are immutable, which I think works really nice. | 21:40 | ||
| benabik | Immutable data structures are excellent. | ||
| robertle | it also has maps and lists, and this is where my problems start: I don't know if these whoudl also be immutable or not! | 21:41 | |
| I can see positive points: not needing to copy prior to passing, easier conceptual operatione etc | |||
| but there is one major drawback that you don't have with strings: making changes in a deeply nested structure is really difficult | |||
| because you essentially need to cascade your modification all the way up | 21:42 | ||
| so I was wondering: have other VMs used immutable lists/maps before? or have they not but wish they had? | |||
| any views on it? | |||
| benabik | Immutable vs mutable really depends on your programming style. | 21:43 | |
| Functional programming handles immutable structures very well. | |||
| Because you had to recurse down to that level anyway, so you can rebuild the structures on your way up. | |||
| (As far as complex data structures go, anyway.) | 21:44 | ||
| robertle | hmm. I am thinking about a fairly imperative language. but I would have thought that a low-level VM would be programmable in both styles, depending on the compiler | 21:45 | |
| I was thinking that I might need some sort of support for doing that kind of operation, but can't really think of a clean way | 21:48 | ||
| anyway, you can't immediately think of any terrible drawbacks? | 21:49 | ||
| benabik | Often changing immutable structures generate a lot of intermediate objects. | 21:52 | |
| That's about the only low-level technical drawback I can think of. Which type of structure is "better" really depends on what you're doing with it. | 21:54 | ||
| Really it's most useful if you support both. | 21:55 | ||
| robertle | I thought about that, but then you need a way to convert between them, and more importantly your compiler needs to be pretty smart to figure out which to use when | 22:00 | |
| benabik | Not really. Which kind of structure is more useful depends on what you're doing with it. Some algorithms will use one, some would use the other. Trying to convert on the fly is not a good idea. | 22:14 | |
| Or, rather, trying to convert transparently isn't a good idea. | |||
| robertle | I see what you mean | 22:24 | |
| I guess I'll see where I get with immutables | |||
| one thing i definitely want to do is some optimization in the vm, that avoids teh copy if the target register is the same as the source | 22:25 | ||
| I think that can quite neatly be utilised by the compiler | |||
| if you don't need it anymore overwrite it immediately :) | |||
| benabik | There are lots of good optimizations that can be done. :-D | ||
| robertle | I have an interesting one, can't wait to find out what it does! | 22:26 | |
| my types are tagged unions, and I need the full 8 bytes for some (int, float) | 22:27 | ||
| so in memory they will > 8 bytes | |||
| with alignment and all 12 or 16 bytes | |||
| -> tremendous waste and cache churn | 22:28 | ||
| so you could re-arrange them so that you have less waste, still proper alignment and still the tag on teh same cacheline as the union | 22:29 | ||
| e.g. tag1,tag2,tag3,tag4,union1,union2,union3,union4,waste | |||
| number of them in each "block" of course depends on the size of the cahce lines | |||
| talk about premature optimizations :P | |||
| benabik | Bleck. | 22:30 | |
| robertle | on this machine it would be 7 per cahce line. ofd all numbers... | ||
| benabik | Optimizing based on the cache sizes per machine makes porting difficult at best. | 22:32 | |
| robertle | yeah, it would need to figure that out at runtime | ||
| anyway, i am far away from stuff like that | |||
| if only stealing bits from a float wasn't so hard, i wouldn't need tagged unions | |||
| if the int isn't full 64 bits, that would be fine | 22:33 | ||
| and the rest are handles anyway... | |||
| dalek | p/bs: 1d0b7f2 | jnthn++ | src/6model/sixmodelobject.h: Give STables a slot for marking them with an SC. |
22:36 | |
| p/bs: 8071678 | jnthn++ | src/6model/knowhow_bootstrapper.c: Mark STables created during bootstrap with the bootstrap SC also. |
|||
| dukeleto | ~~ | 23:14 | |
|
23:18
whiteknight joined
|
|||
| whiteknight | good evening, #parrot | 23:28 | |
| dukeleto | whiteknight: wazzup | 23:44 | |
| whiteknight: i have started to ride the crazy train of attempting to buy a house. I am glad I read about your trials+tribulations first :) | |||
|
23:49
kid51 joined
|
|||
| whiteknight | dukeleto: I think my experiences were much worse than average | 23:54 | |
| so, do your best not to approach them asypmtotically | |||
| dukeleto | whiteknight: 10-4 | 23:55 | |
| aloha: how do I make another one of you? | 23:58 | ||