Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-07-29

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 kboga hmm, i'll look into that, thanks sorear
00:04 Trashlord left #perl6
00:05 kboga I was looking into how nom gets a hold of its @*ARGS, from typing them in the console down to what rakudo gets.
00:06 Chillance left #perl6
00:10 kboga aha and in HLL/Compiler.pm the first arg (program name) is shifted
00:14 jnthn nom: nqp::null()
00:14 p6eval nom:  ( no output )
00:15 dalek rakudo/nom: 34bf1be | jonathan++ | src/ (3 files):
00:15 dalek rakudo/nom: Add a place where we can persist state variables between call frames.
00:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/34bf1be7ef
00:15 dalek rakudo/nom: 6850cd0 | jonathan++ | src/pmc/perl6lex (2 files):
00:15 dalek rakudo/nom: Get state variables essentially working; don't handle binding and closure cases correctly yet.
00:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6850cd0c2c
00:16 sorear there's a *very* simple implementation of 'state'
00:17 jnthn This one is decidedly simpler than what alpha had.
00:17 sorear how complex was alpha's version?
00:17 jnthn I forget the details...it mucked around with Parrot prophash.
00:18 jnthn Which conveniently - due to other stuff we were doing - got the closure semantics correct.
00:19 jnthn This time I had a natural place to put stuff that happens when we're sorting out the current callframe's lexpad, so just went with doing the work there.
00:21 jnthn Think it did quite some work in the actions...this one does next to none.
00:24 sorear jnthn: have you seen the niecza approach to handling 'state'?  I'm rather pleased with it
00:25 impious left #perl6
00:25 jnthn std: subset A of Int where { $_ < state $x++ }
00:25 p6eval std 516268a: OUTPUT«ok 00:01 121m␤»
00:25 jnthn meh, wonder why Rakudo's parser chokes on that...
00:25 jnthn sorear: No, I didn't see it.
00:25 dalek rakudo/nom: 296d6b8 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
00:25 dalek rakudo/nom: Get the closure semantics for state variables correct (bit of copy-paste here, but it's hot-path-ish...).
00:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/296d6b83dd
00:26 sorear jnthn: state variables need to exist in one copy per instantiation of the sub.  what else exists in one copy per instantiation?  OUTER::.
00:27 jnthn sorear: I think you may have mentioned it before though...you have an extra...yeah, that. :)
00:27 sorear in niecza, sub foo { state $x }  bsically means my $x; sub foo { $x }
00:27 sorear it's a little bit fudgier to get name scoping right
00:28 jnthn niecza: sub cf($n) { return -> { state $x //= $n; say $x++ } }; my $c1 = cf(2); my $c2 = cf(42); $c1(); $c2(); $c1(); $c2();$c1(); $c2(); # curious if it gets this one right, though suspect it will
00:28 p6eval niecza v8-3-g838bc38: OUTPUT«2␤42␤3␤43␤4␤44␤»
00:29 jnthn I fear that the name scoping issues may become a little un-fun, but maybe that's easier to cope with in Niecza than it would be in nom.
00:29 sorear incidentally, you can write state $x = $n and it will work too
00:30 jnthn Oh?
00:30 jnthn The spec has some weird timing rule for assignments to state vars too?
00:30 sorear yes
00:30 sorear like has vars
00:30 jnthn It has one for our too
00:30 sorear and constants
00:30 jnthn Yeah, they're a PITA.
00:30 Holy_Cow joined #perl6
00:30 sorear didn't know that it had one for our
00:31 jnthn Yeah, INIT time I think.
00:31 jnthn Will deal with the state case when I get around to sorting out the INIT one anyway
00:31 sorear state vars just get wrapped in a START
00:31 jnthn I guess it's all strangely consistent. :)
00:32 sorear and START is in turn defined approxiately as EXPR unless (state $)++
00:33 jnthn I think I had a similar handling of START to that back in alpha.
00:33 jnthn oops, 2:30AM...
00:33 jnthn And my whisky glass is empty. Guess that means sleep.
00:34 silug_ left #perl6
00:37 * sorear looks at the features matrix for ideas
00:40 sorear hmm, symbolic-deref.t seems to have a lot of fossils
00:41 Holy_Cow left #perl6
00:47 tokuhir__ left #perl6
00:47 cbk left #perl6
00:48 sorear is %::("*::ENV") even legal?
00:48 [Coke] S02-literals/pairs.t, line 158. How can I todo the Nth test in that loop?
00:49 risou_awy is now known as risou
00:53 risou is now known as risou_awy
00:54 [Coke] ... I'll just split it up into 2 chunks.
00:54 [Coke] (evil)
00:57 sorear I would say better to todoize the entire test
00:57 sorear what the test says is that all pairs work, including a selection of keywords
01:00 noganex joined #perl6
01:01 [Coke] it's not one test, it's N tests, so TODO the block means multiple unexpected passes.
01:03 [Coke] .. but I can't TODO the block anyway. blargh.
01:04 noganex_ left #perl6
01:05 sorear you need a #?DOES in there
01:05 thou joined #perl6
01:05 shinobicl joined #perl6
01:06 sorear moritz: ping.  do you have a good mental model of ::("") tokenization?
01:08 [Coke] I see lots of cases of DOES in the repo, trying to find one that says "todo".
01:09 sorear DOES and todo are used on separate lines
01:09 sorear #?rakudo todo 'foo'
01:09 sorear #?DOES 37
01:09 sorear #?DOES nnn tells the fudger how many tests the next block does
01:09 sorear if there are any hidden in loops
01:11 [Coke] Found one ... thank you. If I add that, --fudge is still not marking those tests as todo.
01:12 [Coke] https://gist.github.com/1112936
01:13 [Coke] running with: perl t/harness --fudge t/spec/S02-literals/pairs.t ; /perl6 t/spec/S02-literals/pairs.rakudo
01:14 [Coke] ends with, e.g.: not ok 81 - Pair with 'role' as key
01:14 [Coke] (#$&#@$>
01:14 [Coke] whoops. ingore that last line.
01:17 [Coke] (the cussing, not the "ends with")
01:19 thou left #perl6
01:22 * [Coke] leaves it for someone else. sorear++ for pointing me the right direction.
01:25 Grrrr left #perl6
01:27 thou joined #perl6
01:28 s1n joined #perl6
01:37 Tedd1 left #perl6
01:39 whiteknight left #perl6
01:51 envi joined #perl6
01:55 Grrrr joined #perl6
01:58 envi left #perl6
02:00 Grrrr left #perl6
02:08 [Coke] 'squiet. Everyone at oscon?
02:20 * offby1 grumbles
02:24 [Coke] aye?
02:25 colomon not me.  :)
02:27 eiro left #perl6
02:33 [Coke] colomon; looks the trig tests would be LHF to reclaim. (some more accurate error msgs for spectest.data coming shortly.)
02:33 colomon [Coke]: agreed
02:34 sorear [Coke]: not I
02:39 crked joined #perl6
02:40 eiro joined #perl6
02:42 silug_ joined #perl6
02:42 rdesfo joined #perl6
02:47 jaldhar joined #perl6
02:55 [particle] left #perl6
02:55 [particle] joined #perl6
03:03 [Coke] colomon: there you go. lots of missing methods and subs.
03:03 dalek rakudo/nom: cd07404 | Coke++ | t/spectest.data:
03:03 dalek rakudo/nom: track spectest file err statuses
03:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cd07404b95
03:08 REPLeffect left #perl6
03:21 REPLeffect joined #perl6
03:23 Su-Shee_ joined #perl6
03:24 Su-Shee left #perl6
03:26 crked left #perl6
03:26 kaare_ joined #perl6
03:33 REPLeffect left #perl6
03:34 lichtkind left #perl6
03:39 rdesfo left #perl6
03:40 jaldhar left #perl6
03:40 jaldhar joined #perl6
03:47 REPLeffect joined #perl6
03:55 soh_cah_toa left #perl6
03:55 birdwindupbird joined #perl6
03:56 soh_cah_toa joined #perl6
04:01 jaldhar left #perl6
04:01 jaldhar joined #perl6
04:03 dalek niecza: 2c56dcb | sorear++ | README.pod:
04:03 dalek niecza: Update README and clarify the use of "make" (hakank++)
04:03 dalek niecza: review: https://github.com/sorear/niecza/commit/2c56dcb56d
04:14 f00li5h left #perl6
04:15 satyavvd joined #perl6
04:17 jaldhar left #perl6
04:17 molaf joined #perl6
04:18 woosley joined #perl6
04:19 jaldhar joined #perl6
04:23 daniel-s joined #perl6
04:27 daniel-s left #perl6
04:27 daniel-s joined #perl6
04:31 daniel-s_ joined #perl6
04:31 daniel-s left #perl6
04:33 shinobicl left #perl6
04:34 shinobicl joined #perl6
04:36 daniel-s_ left #perl6
04:36 daniel-s__ joined #perl6
04:40 _daniel-s__ joined #perl6
04:40 daniel-s__ left #perl6
04:45 _daniel-s__ left #perl6
04:45 daniel-s joined #perl6
04:48 am0c joined #perl6
04:49 daniel-s left #perl6
04:49 daniel-s_ joined #perl6
04:51 sorear std: 1.::("Numeric::sin")()
04:51 p6eval std 516268a: OUTPUT«ok 00:01 119m␤»
04:54 daniel-s__ joined #perl6
04:54 daniel-s_ left #perl6
04:57 _daniel-s__ joined #perl6
04:57 daniel-s__ left #perl6
05:02 _daniel-s__ left #perl6
05:05 daniel-s_ joined #perl6
05:09 daniel-s_ left #perl6
05:09 daniel-s_ joined #perl6
05:14 daniel-s_ left #perl6
05:14 daniel-s__ joined #perl6
05:18 daniel-s__ left #perl6
05:18 daniel-s__ joined #perl6
05:22 daniel-s__ left #perl6
05:22 _daniel-s__ joined #perl6
05:27 _daniel-s__ left #perl6
05:27 daniel-s joined #perl6
05:31 daniel-s left #perl6
05:31 daniel-s joined #perl6
05:32 birdwindupbird left #perl6
05:35 daniel-s left #perl6
05:36 daniel-s joined #perl6
05:36 moritz good morning
05:36 mberends hi moritz
05:39 espadrine Morning!
05:40 daniel-s_ joined #perl6
05:40 daniel-s left #perl6
05:44 daniel-s_ left #perl6
05:44 daniel-s__ joined #perl6
05:48 sorear good morning
05:48 sorear and welcome, espadrine
05:48 mberends good evening sorear
05:49 mberends oops, commute time soon!
05:49 sorear moritz: is %::("*::ENV") even legal/
05:49 _daniel-s__ joined #perl6
05:49 daniel-s__ left #perl6
05:49 moritz sorear: I have no idea
05:49 moritz nom: say %::('*ENV')
05:49 p6eval nom: OUTPUT«Symbol '%::*ENV' not found␤current instr.: 'rethrow' pc 596698 (src/gen/CORE.setting.pir:163538) (src/gen/CORE.setting:4397)␤»
05:49 moritz hm
05:50 moritz not sure it should do that
05:50 moritz not sure what else it should do :-)
05:51 sorear moritz: '*::ENV', not '*ENV'
05:51 sorear nom: say %::('*::ENV')
05:51 p6eval nom: OUTPUT«Symbol '%::*::ENV' not found␤current instr.: 'rethrow' pc 596698 (src/gen/CORE.setting.pir:163538) (src/gen/CORE.setting:4397)␤»
05:52 * sorear is looking at adding ::() parsing to niecza, is annoyed at how ad-hoc and repetetive the name
05:52 sorear handling is
05:53 _daniel-s__ left #perl6
05:53 daniel-s joined #perl6
05:53 moritz you need it at least once at run time, once at compile time
05:56 mberends left #perl6
05:57 molaf left #perl6
05:57 shinobicl i got a parrot out of memory error when using try - CATCH inside a method...
05:58 daniel-s_ joined #perl6
05:58 moritz are you rethrowing an exception from within the CATCH block?
05:58 daniel-s left #perl6
05:59 shinobicl just a "warn"  and a "next" for going to the next record in the file i'm reading
05:59 shinobicl mmm, maybe this "next" is the problem
05:59 moritz more likely the warn
06:00 shinobicl wel... i replaced warn with say and it works now :)
06:00 moritz rakudo: try { warn "foo" }; say "alive"
06:00 p6eval rakudo 922500: OUTPUT«alive␤»
06:00 moritz it treats the warning like an exception
06:01 shinobicl then i should set a flag inside the CATCH and call warn later
06:01 sorear use 'note'
06:02 daniel-s_ left #perl6
06:02 shinobicl what's is the difference from "warn", besides working inside a CATCH?
06:02 daniel-s_ joined #perl6
06:02 moritz it doesn't throw an exception, but writes strait to $*ERR
06:02 shinobicl ahh, nice :)
06:03 sorear shouldn't warn be throwing a control exception anyway
06:04 moritz I think so
06:04 moritz rakudo's exception handling has traditionally been rather poor
06:06 daniel-s__ joined #perl6
06:07 daniel-s_ left #perl6
06:07 sorear symbolic-deref.t is so fossily, it thinks you can find &say in GLOBAL::
06:08 moritz sorear: does it?
06:09 moritz ah, &::("*
06:09 moritz ah, &::("*say")
06:09 moritz yes, those tests can go away
06:09 sorear there are a couple of different cases for name handling
06:10 sorear and quite a few of them have odd behavior
06:10 sorear like in roles, method ::(EXPR) needs to be compiled into a sub, but outside a role, it needs to be run at BEGIN
06:11 jferrero left #perl6
06:11 envi joined #perl6
06:11 sorear and $obj!Foo::Bar::baz() is actually a name reference to Foo::Bar
06:11 moritz std: method ::(1) () { }
06:11 p6eval std 516268a: OUTPUT«ok 00:01 120m␤»
06:11 moritz wtf
06:11 moritz I didn't even know that was allowed
06:12 jferrero joined #perl6
06:12 rhr left #perl6
06:12 sorear niecza: role ABC[$x] { method ::($x) { $x } }; say (Any but OUR::ABC["pie"]).new.pie
06:12 dalek roast: bede20a | moritz++ | S02-names/symbolic-deref.t:
06:12 dalek roast: remove fossiled test, sorear++
06:12 dalek roast: review: https://github.com/perl6/roast/commit/bede20a768
06:12 p6eval niecza v8-4-g2c56dcb: OUTPUT«pie␤»
06:13 sorear it's actually useful
06:13 sorear well, at least one use
06:14 sorear when you do sub infix:<+##>(), a role has to be constructed to mix in an '&infix:sym<+##>' method
06:14 sorear into STD::P6
06:15 mj41_nb joined #perl6
06:16 moritz well, that mechanism can use the MOP API directly
06:17 dalek roast: 07f400b | moritz++ | S32-trig/ (14 files):
06:17 dalek roast: [trig] do not generate tests for named parameters; regen test files
06:17 dalek roast: review: https://github.com/perl6/roast/commit/07f400b9c3
06:20 sorear walk&
06:24 rhr joined #perl6
06:34 soh_cah_toa left #perl6
06:34 moritz nom: say 4.so
06:34 p6eval nom: OUTPUT«Method 'so' not found for invocant of class 'Int'␤current instr.: '_block1002' pc 75 ((file unknown):84762275) (/tmp/sJAjAsWpa9:1)␤»
06:36 shinobicl hi again...
06:36 eiro moin
06:36 shinobicl this works right: ok ($T.arr.elems == 13, "Counting elements");
06:36 shinobicl but this : is ($T.arr.elems,13, "Counting elements");
06:37 shinobicl gives me this error: get_attr_str() not implemented in class 'Sub'
06:38 moritz shinobicl: you need to show enough code to reproduce it, otherwise I have no idea what's going on
06:40 dalek features: da1ab63 | moritz++ | features.json:
06:40 dalek features: add "basic multi dispatch", update two stati for nom
06:40 dalek features: review: https://github.com/perl6/features/commit/da1ab63bb7
06:49 Mowah joined #perl6
06:51 shinobicl moritz: there is the code: http://pastebin.com/sm6k1XfH
06:53 moritz Unable to open filehandle from path 't/res/CLP.cal'
06:55 shinobicl thanks moritz... got to go now, i'll stick to 'ok' for now...
06:55 shinobicl left #perl6
06:56 sorear Should $b."A::m"() reparse?
06:57 masak joined #perl6
06:57 masak good morning, #perl6
07:00 moritz sorear: depends on what you mean with "reparse"
07:00 moritz sorear: the grammar doesn't attempt to parse the "..." as a name, just as a string literal
07:04 Jackneill joined #perl6
07:04 Jackneill left #perl6
07:04 Jackneill joined #perl6
07:06 sorear moritz: I mean does it call a method with a literal :: in the name?
07:08 envi left #perl6
07:10 envi joined #perl6
07:14 mj41_nb left #perl6
07:14 mj41_nb joined #perl6
07:14 moritz sorear: I don't have any clue
07:15 dalek roast: 836cfff | moritz++ | S04-declarations/state.t:
07:15 dalek roast: start to fudge state.t for rakudo
07:15 dalek roast: review: https://github.com/perl6/roast/commit/836cfff51c
07:15 birdwindupbird joined #perl6
07:17 cosimo left #perl6
07:26 masak karma hakank
07:26 aloha hakank has karma of 4.
07:41 sorear o/ masak
07:41 masak sorear: \o
07:41 masak will go offline now to focus on $dayjob. see you tonight.
07:41 masak left #perl6
07:41 moritz ~~
07:45 sorear moritz: I'm going to say it does.  A bit simpler that way
07:45 * sorear hopes it won't be too much slower
07:45 sorear simpler because it unifies the $a."$b"() and $a.::($b)() codepaths
07:45 moritz std: 1.foo::"bar"()
07:45 p6eval std 516268a: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/SKGKkmXvTL line 1:␤------> [32m1.foo::[33m⏏[31m"bar"()[0m␤    expecting any of:␤      POST␤   bracketed infix␤        infix or meta-infix␤    method arguments␤       postfix␤        postfix_prefix_meta_operator␤
07:45 p6eval ..statement modifier loop…
07:52 Su-Shee_ is now known as Su-Shee
07:59 wamba joined #perl6
08:09 Grrrr joined #perl6
08:24 am0c left #perl6
08:30 jnthn morning, #perl6
08:31 moritz good morning jnthn
08:31 moritz jnthn: fwiw I fudge state.t to a state that it doesn't parse-error anymore. It shows some problems with the current state implementation
08:36 jnthn moritz: OK, thanks.
08:36 timbunce joined #perl6
08:37 dalek rakudo/nom: 1f2a242 | moritz++ | src/core/ (2 files):
08:37 dalek rakudo/nom: start to expand on atan2 implementation
08:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1f2a242888
08:37 dalek rakudo/nom: 926a0ba | moritz++ | src/core/Mu.pm:
08:37 dalek rakudo/nom: Mu.so
08:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/926a0ba359
08:37 dalek rakudo/nom: cbdfa61 | moritz++ | README:
08:37 dalek rakudo/nom: [README] add pointer to status page
08:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cbdfa613a0
08:41 dalek roast: dd56d7c | moritz++ | S03-operators/ternary.t:
08:41 dalek roast: fudge ternary.t for rakudo
08:41 dalek roast: review: https://github.com/perl6/roast/commit/dd56d7c980
08:42 ab5tract joined #perl6
08:43 birdwindupbird left #perl6
08:46 moritz nom: my %h; say %h.keys
08:46 p6eval nom: OUTPUT«get_iter() not implemented in class 'Mu'␤current instr.: '_block16452' pc 585216 (src/gen/CORE.setting.pir:158558) (src/gen/CORE.setting:3510)␤»
08:46 cosimo joined #perl6
08:48 moritz (having lots of tests)++
08:49 Alias left #perl6
08:56 daxim joined #perl6
08:57 dalek roast: 2a1d564 | moritz++ | S02-builtin_data_types/hash.t:
08:57 dalek roast: correct and fudge hash.t
08:57 dalek roast: review: https://github.com/perl6/roast/commit/2a1d564792
09:00 dalek rakudo/nom: 2176102 | moritz++ | / (2 files):
09:00 dalek rakudo/nom: fix Hash.pairs etc. for empty hashes; run 4 more test files
09:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2176102eac
09:03 f00li5h joined #perl6
09:07 moritz Files=306, Tests=8677, 506 wallclock secs
09:13 tzhs joined #perl6
09:14 mls joined #perl6
09:14 mls morning perl6
09:15 jerome joined #perl6
09:15 moritz good morning mls
09:15 mls I found the real reason for the 'bad argument count' problem
09:16 mls It's caused by parrot's inferior runloops interfering with exceptions
09:16 moritz do tell
09:16 moritz ouch
09:17 mls things get bad if the exception crosses runloop boundaries
09:17 mls That's a known problem, as a workaround the parrot guys have added a "finalize" opcode
09:18 mls Basically if an exception occures, you have to make sure that either the exception is resumed or finalized
09:18 mls Currently, the generated pir code doesn't do that
09:19 moritz shouldn't GCing the exception finalize it?
09:19 mls I'm not sure where the best place for this is, I think PAST try nodes should do the finalize
09:19 moritz but the user might decide to rethrow inside the try block, no?
09:20 mls Nah, it's a different 'finalize'. The opcode was renamed from 'unroll', it unrolls the runloops by doing a longjmp
09:21 mls The problem with the PAST try node is that you need the exception PMC for calling finalize, but currently the try node doesn't fetch it
09:22 mls So for rakudo, I've just patched Action.pm
09:23 mls In method statement_prefix:sym<try>, I added finalize %r after the .get_results call
09:24 mls This assumes that Exceptions cought by try don't get resumed ;)
09:24 jnthn hi mls :)
09:25 mls Hey jnthn, how was the vacation?
09:27 jnthn mls: Nice, thanks. Bit more rainy (and even snowy) than woulda been ideal, but still a good time :)
09:27 dalek rakudo/nom: c57bfad | jonathan++ | src/Perl6/Actions.pm:
09:27 dalek rakudo/nom: A couple of state variable fixes.
09:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c57bfad490
09:29 jnthn moritz: state.t would appear to be heavily dependent on state assignments happening at START time.
09:29 mls jnthn: Is that Action.pm change above something in your area, or is pm the right guy to ask?
09:29 jnthn moritz: I'll try and get to that later on today.
09:30 woosley left #perl6
09:30 jnthn mls: The patch you've described sounds reasonable to me. pmichaud may well be interested in doing this at the PCT level too, but having it explicitly in Rakudo until then.
09:31 jnthn huh
09:31 jnthn s/then./then seems fine./
09:33 * jnthn was not aware of the finalize op...
09:34 mls Patch: https://gist.github.com/1113521
09:36 mls I think the finalize/unroll is only described in some RT tickets ;)
09:36 mls s/is/opcode is/
09:38 jnthn Documented a bit in core.ops also.
09:38 * jnthn just found it
09:38 * moritz spectests
09:38 jnthn moritz: ah, you're on it? Thanks! :)
09:43 dalek roast: 68595f2 | jonathan++ | S12-class/inheritance.t:
09:43 dalek roast: Are these still conforming to S12, asketh the tests? Why no, no they're not!
09:43 dalek roast: review: https://github.com/perl6/roast/commit/68595f2664
09:45 dalek rakudo/nom: 9ec3312 | jonathan++ | t/spectest.data:
09:45 dalek rakudo/nom: Run S12-class/inheritance.t.
09:45 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9ec3312db7
09:45 stephanmg joined #perl6
09:46 stephanmg left #perl6
09:48 moritz somehow assign.rakudo stops working here
09:48 moritz too many named arguments: 1 passed, 0 used
09:48 moritz current instr.: 'nqp;Perl6;SymbolTable;build_container_past' pc 5914 (src/gen/perl6-symboltable.pir:1916) (src/Perl6/SymbolTable.pm:234
09:51 moritz jnthn: did you spectest after c57bfad4901f42cfb97509caf46c57f794b84ad9?
09:51 jnthn moritz: oh, oops
09:52 jnthn dang, didn't mean to commit that, just the other half of hte patch.
09:54 jnthn moritz: undone it
09:54 jnthn (the bad part)
09:55 dalek rakudo/nom: bb18757 | jonathan++ | src/Perl6/Actions.pm:
09:55 dalek rakudo/nom: Undo something I didn't really want to commit.
09:55 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bb18757f7e
10:00 jnthn Time to give $dayjob some attention.
10:00 moritz nom: say rx/foo/.WHAT
10:00 p6eval nom: OUTPUT«Regex()␤»
10:03 mls Hmm, I think CATCH needs a finalize fix as well. But this seems to require a PAST/Compiler.pir fix.
10:04 mls That's a bit over my head, I'll wait for pm...
10:06 moritz in fact each CATCH block turns the surrounding block into a try { } block
10:10 MayDaniel joined #perl6
10:13 ab5tract left #perl6
10:35 dalek rakudo/nom: 2416f7a | moritz++ | src/core/ (2 files):
10:35 dalek rakudo/nom: copy Str.subst over from master
10:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2416f7a533
10:35 dalek rakudo/nom: 84ca50d | moritz++ | / (2 files):
10:35 dalek rakudo/nom: Merge branch 'nom' of github.com:rakudo/rakudo into nom
10:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/84ca50d406
10:35 dalek rakudo/nom: a5aaddb | moritz++ | docs/compiler_overview.pod:
10:35 dalek rakudo/nom: start to tell fewer outdated things in docs/compiler_overview.pod
10:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a5aaddbe6c
10:35 dalek rakudo/nom: 98198e8 | moritz++ | src/Perl6/ (2 files):
10:35 dalek rakudo/nom: try to get s/// working again.
10:35 dalek rakudo/nom:
10:35 dalek rakudo/nom: Currently dies with Method 'clone' not found for invocant of class 'Sub'
10:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/98198e8905
10:37 jnthn moritz: That probably means you have a Parrot sub somewhere you need a Perl 6 code object.
10:37 cognominal_ joined #perl6
10:41 stephanepayrard_ left #perl6
11:03 jedai left #perl6
11:03 jedai_ joined #perl6
11:19 moritz jnthn: thanks, will look closer
11:20 jnthn moritz: for the first half, see how rx// is compiled - it'll be similar. For the second half, maybe make_thunk_ref is the right thing.
11:28 MayDaniel left #perl6
11:34 thou left #perl6
11:37 satyavvd left #perl6
11:38 moritz wow, new development: segfault!
11:38 pernatiy left #perl6
11:38 moritz anyway, need to do $other-stuff first
11:42 tokuhir__ joined #perl6
11:45 Patterner left #perl6
11:45 Psyche^ joined #perl6
11:45 Psyche^ is now known as Patterner
11:49 envi left #perl6
12:03 jimmy1980 joined #perl6
12:03 daniel-s__ left #perl6
12:06 JimmyZ joined #perl6
12:27 pernatiy joined #perl6
12:30 takadonet morning all
12:31 envi joined #perl6
12:31 woosley joined #perl6
12:49 pmurias joined #perl6
13:11 [Coke] left #perl6
13:12 ggoebel left #perl6
13:28 molaf joined #perl6
13:30 kjeldahlw left #perl6
13:33 ggoebel joined #perl6
13:34 coke joined #perl6
13:34 coke is now known as control-alt-coke
13:37 bluescreen10 joined #perl6
13:38 mauror joined #perl6
13:39 mauror left #perl6
13:40 mauror joined #perl6
13:41 mauror left #perl6
13:42 kjeldahlw joined #perl6
13:53 drbean left #perl6
14:12 shinobicl joined #perl6
14:14 kjeldahlw left #perl6
14:16 tadzik good day #perl6
14:17 jnthn hi, tadzik
14:18 tadzik do we have a RoleHOW or something?
14:18 tadzik a place I can stick 'does Perl6::Metamodel::Documenting'? :)
14:19 tadzik ConcreteRoleHOW?
14:20 jnthn tadzik: Probably wants to live on ParametricRoleHOW.
14:20 jnthn tadzik: And ConcreteRoleHOW also, and specialize would copy it.
14:20 tadzik what's a ConcreteRole?
14:21 jnthn A role instantiated with some parameters
14:21 jnthn role Foo { } # this creates a ParametricRoleHOW
14:21 tadzik where some ~~ >=0?
14:21 tadzik ok
14:21 jnthn class C does Foo { } # creates a ConcreteRoleHOW
14:21 jnthn It's the concrete one that's actually composed
14:22 wamba left #perl6
14:22 jnthn During specialization, anything generic that's covered by the type environment gets instantiated.
14:23 sftp left #perl6
14:25 shinobicl rakudo: subset DayOfWeek of Str where <Mon Tue Wed Thu Fri Sat Sun>;  my DayOfWeek @dow_array = <Mon Tue Wed Thu>; @dow_array.perl.say;
14:25 p6eval rakudo 922500: OUTPUT«["Mon", "Tue", "Wed", "Thu"]␤»
14:25 shinobicl rakudo: subset DayOfWeek of Str where <Mon Tue Wed Thu Fri Sat Sun>;  my DayOfWeek @dow_array = <Mon Tue Wed ASDF>; @dow_array.perl.say;
14:25 p6eval rakudo 922500: OUTPUT«["Mon", "Tue", "Wed", "ASDF"]␤»
14:26 jnthn shinobicl: Rakudo doesn't really do typed arrays.
14:26 jnthn shinobicl: I think you'd want where any <Mon Tue Wed...> too
14:26 shinobicl ok, i see... but if i try to use enums, like this:
14:27 tadzik Method 'can' not found for invocant of class 'Perl6::Metamodel::PackageHOW' -- any workarounds?
14:27 shinobicl rakudo: enum DayOfWeek <Mon Tue Wed Thu Fri Sat Sun>; my DayOfWeek $d = 'Mon';
14:27 p6eval rakudo 922500: OUTPUT«Type check failed for assignment␤    Container type: ␤               Got: Str␤  in '&infix:<=>' at line 1:src/metamodel/RoleToInstanceApplier.nqp␤  in main program body at line 22:/tmp/ESYEtFVO4c␤»
14:27 tadzik pir::can or something?
14:27 mj41_nb left #perl6
14:27 uniejo left #perl6
14:27 shinobicl or maybe (more probably) i just don't understand how enums work in perl6
14:28 jaldhar left #perl6
14:28 jnthn tadzik: pir::can will work, yeah
14:28 jnthn shinobicl: Don't need the quotes
14:29 jnthn rakudo: enum DayOfWeek <Mon Tue Wed Thu Fri Sat Sun>; my DayOfWeek $d = Mon;
14:29 p6eval rakudo 922500:  ( no output )
14:29 jnthn rakudo: enum DayOfWeek <Mon Tue Wed Thu Fri Sat Sun>; my DayOfWeek $d = 69;
14:29 p6eval rakudo 922500: OUTPUT«Type check failed for assignment␤    Container type: ␤               Got: Int␤  in '&infix:<=>' at line 1:src/metamodel/RoleToInstanceApplier.nqp␤  in main program body at line 22:/tmp/DwmD92gL_u␤»
14:29 uniejo joined #perl6
14:29 shinobicl i thought < > was an array of strings
14:29 jnthn shinobicl: Yeah, but enum is doing something cleverer.
14:29 jnthn shinobicl: It actually introduces a bunch of objects.
14:29 shinobicl rakudo: enum DayOfWeek <'Mon' 'Tue' 'Wed' 'Thu' 'Fri' 'Sat' 'Sun'>; my DayOfWeek $d = 'Mon';
14:30 p6eval rakudo 922500: OUTPUT«Type check failed for assignment␤    Container type: ␤               Got: Str␤  in '&infix:<=>' at line 1:src/metamodel/RoleToInstanceApplier.nqp␤  in main program body at line 22:/tmp/bNinza_Mfx␤»
14:30 jnthn nom: enum DayOfWeek <Mon Tue Wed Thu Fri Sat Sun>; say Mon.key; say Mon.value
14:30 p6eval nom: OUTPUT«Mon␤0␤»
14:31 shinobicl ahhh.... somewhat like an """"ordered hash""""
14:31 shinobicl internally, i mean
14:31 jnthn kinda
14:31 jnthn You can specify the values
14:31 jnthn But by defualt it's numbered 0 up.
14:35 wamba joined #perl6
14:35 sftp joined #perl6
14:35 shinobicl i was trying to do something like this: enum DayOfWeek <Mon Thu Wed Thu Fri Sat Sun>; my DayOfWeek @weekdays; $data="Mon,Tue,Wed,ThXXX"; try { @weekdays = split /','/, $data; CATCH { note "ERROR: Weekday specification not valid. Assuming Mon,Tue,Wed,Thu,Fri : $!"; @weekdays = <Mon Thu Wed Thu Fri>; } }
14:37 mkramer left #perl6
14:37 shinobicl i guess i can always use a normal string array and ask if any value in @weekdays is not found in a @DayOfWeek array, and then throw an exception
14:37 jnthn yeah
14:37 jnthn unless all(@weekdays) eq any(@DayOfWeek) { ... }
14:40 * control-alt-coke remembers it's not worth arguing with dukeleto.
14:40 pmichaud good morning, #perl6
14:41 control-alt-coke pmichaud: o/
14:42 tadzik good morning pmichaud
14:42 jnthn hi pmichaud
14:43 ab5tract joined #perl6
14:43 tadzik nom: class A { method foo() { self.?a } }; A.foo.WHAT
14:44 p6eval nom:  ( no output )
14:44 tadzik nom: class A { method foo() { self.?a } }; A.foo.WHAT.say
14:44 p6eval nom: OUTPUT«Nil␤»
14:47 JimmyZ nom: class A { has $^a = 32; };
14:47 p6eval nom:  ( no output )
14:48 jnthn JimmyZ: I...can't begin to guess what that's done...
14:48 jnthn nom: class A { has $^a = 32; }; say A.^attributes.[0].name
14:48 p6eval nom: OUTPUT«$!a␤»
14:48 jnthn Hm. :)
14:49 JimmyZ nom: class A { has $a = 32; }; say A.^attributes.[0].name
14:49 p6eval nom: OUTPUT«$!a␤»
14:49 jnthn That one is fine :)
14:49 jnthn It means you can use $a as well as $!a in the class body.
14:50 jnthn $^a OTOH is a bit more dubious
14:50 jnthn I suspect it just ignores the twigil there.
14:50 * jnthn gets curious
14:50 JimmyZ nom: class A { has $a = 32; method b() { say $a; my $a; say $a; } }; A.new.b;
14:50 p6eval nom: OUTPUT«32␤Any()␤»
14:50 jnthn nom: role Foo { $^a }
14:51 p6eval nom:  ( no output )
14:51 jnthn nom: role Foo { $^a }; class C does Foo { }
14:51 p6eval nom:  ( no output )
14:51 jnthn nom: role Foo { $^a }; class C does Foo[1] { }
14:51 p6eval nom: OUTPUT«Could not instantiate role 'Foo':␤Too many positional parameters passed; got 2 but expected 1␤current instr.: 'nqp;Perl6;Metamodel;ParametricRoleHOW;specialize' pc 41624 (src/gen/perl6-metamodel.pir:12545) (src/gen/Metamodel.pm:1161)␤»
14:51 * JimmyZ doesn't like has $a and has $^a
14:51 jnthn JimmyZ: has $^a should likely be disallowed
14:51 jnthn has $a is kinda nice.
14:52 jnthn I suspect what you did above should be a redeclaration error though
14:52 tadzik an attribute without an accessor?
14:52 tadzik (has $a)
14:56 jnthn tadzik: Correct
14:56 jnthn it's like has $!a; but it also makes $a an alias to $!a
14:56 JimmyZ nom: class A { has $=a = 32; }; say A.^attributes.[0].name
14:56 p6eval nom: OUTPUT«$!␤»
14:56 tadzik a class' action method isn't called just when the last } appears?
14:57 jnthn tadzik: package_def should be called after the final }
14:57 tadzik I think I has a bug then, let me paste that
14:57 JimmyZ nom: class A { has $=b; }; say A.^attributes.[0].name # bug?
14:57 p6eval nom: OUTPUT«$!␤»
14:59 tadzik https://gist.github.com/1113985 -- a bug
14:59 JimmyZ nom: sub a { say 'hi'; } ;  class A { has $=a; method b() { say $!; }}; say A.^attributes.[0].name; say A.new.b;  #bug again ?
14:59 p6eval nom: OUTPUT«$!␤hi␤Any()␤Bool::True␤»
14:59 tadzik not to mention a #= token is called twice for some reason
15:00 tadzik 'Setting docs' is in method package_def($/)
15:00 JimmyZ nom: sub a { say 'hi'; } ;  class A { has $=a; method b() { $!; }}; A.new.b
15:00 p6eval nom: OUTPUT«hi␤»
15:00 tadzik the 'DECLARATOR' is in the grammar itself
15:00 jnthn tadzik: Is package_def a rule?
15:01 jnthn yeah, it is
15:01 jnthn And I guess POD is parsed as whitespace.
15:01 tadzik it is
15:01 jnthn So no bug as such.
15:01 * JimmyZ wonders whether it is a bug
15:01 jnthn JimmyZ: er, that's evil :P
15:01 jnthn JimmyZ: And almost certainly a bug.
15:01 tadzik so what's the behaviour? "#= shouldn't" becomes eaten by the last } I suppose
15:01 jnthn JimmyZ: I suspect we should just outright ban a bunch of twigils
15:02 * JimmyZ created that evil
15:02 tadzik that's why I wanted it to be glued to the class token, just before the <sym>
15:02 jnthn tadzik: In the regex package_def, I suspect <blockoid> gets as far as }
15:02 JimmyZ nom: sub a { say 'hi'; } ;  class A { has $-a; method b() { $!; }}; A.new.b
15:02 p6eval nom: OUTPUT«hi␤»
15:02 JimmyZ haha
15:03 tadzik oh, I think I know how I can solve this
15:03 jnthn tadzik: But we're in a rule, and there's whitespace after <blockoid>
15:03 jnthn tadzik: So it calls <.ws> which I guess noms ya POD.
15:03 tadzik so the grammar token for declarator sets $*DECLARATOR, then the grammar rule in package_def saves $*DECLARATOR somewhere
15:03 tadzik so it won't get overwritten
15:04 jnthn JimmyZ: In that one it's parsing has $ - a
15:04 jnthn JimmyZ: as in, a substraction of a from an anonymous attribute :P
15:04 tadzik but now that becomes a binding problem. Is there a clone in nqp I can make use of?
15:05 jnthn tadzik: wait, I'm confused...where did declarator come from?
15:05 tadzik jnthn: which one?
15:05 jnthn "so the grammar token for declarator sets $*DECLARATOR"
15:06 JimmyZ jnthn:  yes, you're right, that explains the evil
15:06 jnthn I'm curious if you really mean the token declarator, and if you really meant $*DECLARAND
15:06 tadzik jnthn: https://gist.github.com/1113985#gistcomment-42852
15:06 risou_awy is now known as risou
15:06 tzhs left #perl6
15:07 * JimmyZ is not a well-behaved coder
15:07 jnthn oh, $*DECLARATOR is something in introduced?
15:07 jnthn s/in/you/
15:07 tadzik yes
15:11 tadzik that's quite broken because now every #= block resets the last one. I can either save it in some other variable after every keyword appearing (e.g. after <sym> in class declaration), or add this rule at the beginning of every declaration
15:12 jnthn #= foo is the one that documents the last declarator, and #| foo is the one that documents the next declarator, IIRC?
15:13 jnthn So for #= foo stash the documentation awya in a $*NEXTDECLARATORDOC or something, and then grab it into another contextual in package_def grammar rule that package_def action will use
15:14 jnthn For the other case maybe have a $*DOCUMENTABLEDECLARATOR that the #= finds and knows what to attach the docs to.
15:14 tadzik #| is not specced yet
15:15 tadzik #= was supposed to go, well, everywhere
15:15 tadzik I wanted to start with implementing the 'document the next declarator case', as it's the most obvious one
15:17 ab5tract left #perl6
15:18 tadzik moritz?
15:19 jnthn tadzik: Then in that case make it just set a $*PODFORNEXTDECLARAND or some such
15:20 jnthn tadzik: And grab/clear it as needed in things that can be documented.
15:20 jnthn So in package_def grammar rule
15:20 dolmen1 joined #perl6
15:20 jnthn :my $*DOC := $*PODFORNEXTDECLARAND;
15:20 jnthn $*PODFORNEXTDECLARAND := '';
15:20 jnthn Or some such
15:20 jnthn Then in action method check if you have $*DOC and attach it if so.
15:20 dolmen1 perl6: say 1, 2
15:20 tadzik but that's binding. Would that work?
15:20 p6eval pugs, rakudo 922500, niecza v8-4-g2c56dcb: OUTPUT«12␤»
15:21 jnthn tadzik: Why not?
15:21 jnthn tadzik: Remember you're binding values. There's no containers around.
15:21 tadzik oh, true
15:21 tadzik ok, that sounds good. jnthn++, thank you
15:22 dolmen1 perl6: my ($a, $b) = (3, 2); my @res = (($a / $b), ($a % $b)); say @res
15:22 p6eval pugs, rakudo 922500: OUTPUT«1.51␤»
15:22 p6eval ..niecza v8-4-g2c56dcb: OUTPUT«3/21␤»
15:23 shinobicl left #perl6
15:24 mls pmichaud: did you see my analysis of the runloop/exception problem earlier this day?
15:24 tadzik though I still don't know why the token is executed twice
15:25 jnthn tadzik: Is there some regex around somewhere?
15:25 pmichaud mls: I saw it briefly.  I think that calling finalize immediately after .get_results may be too soon.
15:25 pmichaud doing that means there's no way to handle the exception and throw control back to the code that generated it
15:26 domidumont1 left #perl6
15:26 mls yes, true. But is that needed in the 'try' case?
15:26 pmichaud I think that finalize needs to be called at the very end of the CATCH block, not at the point where the exception is caught
15:26 tadzik jnthn: around where? that comment is a token
15:27 jnthn tadzik: Hard to say. "anywhere" :)
15:27 jnthn tadzik: I mostly meant that I can only imagine it getting called twice if something is backtracking somewhere.
15:27 mls It might get a bit tricky when the code in the CATCH block also throws an exception
15:28 tadzik WOO, THIS IS AWESOME
15:28 pmichaud I don't see that.
15:28 mls Maybe not, as lokng as the one exception handler calls finalize.
15:28 mls long
15:28 pmichaud (I don't see the trickiness)
15:29 * tadzik gists
15:29 pmichaud yeah, finalize ultimately gets called by whatever exception handler chooses not to resume after the exception
15:29 mls cause the handler in the second exception doesn't know it has to finalize the firsst exception. But that may not be an issue.
15:29 wamba left #perl6
15:29 pmichaud it doesn't have to finalize the first exception
15:29 tadzik https://gist.github.com/1114044 :)
15:29 mls first. Can't type today...
15:30 pmichaud iiuc, "finalize" means that we're pruning all of the runloops below a given exception.  That would include the first exception.
15:30 jnthn tadzik: yay! :D
15:30 jnthn tadzik++
15:30 tadzik it breaks for 'package' and 'module', will investigate
15:30 tadzik but first, tests
15:30 mls yes. One longjmp will do the trick. So yes, end of CATCH would work.
15:30 tadzik jnthn++ :)
15:30 jnthn tadzik: Be really careful about calling .can on meta-objects.
15:30 jnthn tadzik: You tend to mean .HOW.can(...)
15:31 jnthn There's a user-space/meta-space assymetry there.
15:31 tadzik okay
15:31 tadzik if pir::can($*PACKAGE.HOW, 'set-docs') { is my line
15:31 jnthn That seems reasonable.
15:31 tadzik but I think that can get fired now
15:32 jnthn Though I've tended to use _ instead of - in the meta-objects.
15:32 tadzik if I left something without set-docs, that's a bug :)
15:32 tadzik I'll use that, ok
15:32 pmichaud mls: The finalize doesn't have to be part of the actual CATCH block -- it can (should?) be at the end of the PIR code that handles the exception and passes it to CATCH
15:32 jnthn Yeah, maybe you didn't do the appropriate does in PackageHOW/ModuleHOW
15:33 tadzik I certainly did
15:33 pmichaud i.e., if we get back from CATCH (control hasn't been transferred elsewhere), then we go ahead and finalize on the current exception as we're about to leave the try block.
15:33 mberends joined #perl6
15:34 jnthn tadzik: Hmm, OK. Can't be that then
15:35 jnthn tadzik: oh, what does .WHY desugar to in this case?
15:35 tadzik jnthn: .HOW.docs
15:35 Trashlord joined #perl6
15:35 tadzik self.HOW, that is
15:35 tadzik it's in Mu.pm
15:35 jnthn oh
15:35 jnthn that explains a lot :)
15:36 jnthn Packages don't know how to have methods
15:36 tadzik oh, true
15:36 jnthn So SomePackage.foo is gonna blow
15:36 jnthn I'm not sure if we'll have to make them "pretend" to have methods.
15:36 jnthn "You don't support methods, but if somebody tries to call one on you, pretend you have the methods that Any does"
15:37 tadzik aha!
15:37 tadzik so I want that in Any.pm
15:37 jnthn no no
15:38 jnthn Just saying that if packages want to pretend to be a type, they probably want to pretend to be Any, not Mu
15:38 tadzik mhm
15:38 * jnthn looks
15:38 pmichaud ...why aren't packages a type?
15:38 jnthn pmichaud: They are
15:38 jnthn pmichaud: Their meta-objects just don't know how to do method dispatch.
15:39 pmichaud I mean, why aren't packages a Perl 6 type?
15:39 mls hmm is right before the ".return exception" the right place? I.e. after exception["handled"] is set to 1
15:39 jnthn pmichaud: I'm not sure what you mean by "a Perl 6 type".
15:39 pmichaud something that ~~ Mu
15:40 jnthn pmichaud: That's kinda what I'm saying. They probably should act that way.
15:40 mls that would be in as_post PAST::Control node
15:41 pmichaud jnthn: I'm saying they probably should *be* that way.
15:41 pmichaud at least to the same level as where things like Signature and Attribute have Mu as a parent
15:41 woosley left #perl6
15:41 pmichaud mls: I'm not sure I want to force finalize into PAST::Control, at least not yet.
15:42 pmichaud mls: I'm thinking there might be languages where finalizing at that point might not be appropriate.
15:42 jnthn pmichaud: I'm kinda making a distinction that from the outside is meaningless.
15:42 pmichaud jnthn: okay.
15:42 wamba joined #perl6
15:43 jnthn pmichaud: Classes really do do inheritance, parentage and so on. Packages and modules don't, but we want them to expose the same kind of feel to a limited extent.
15:43 Holy_Cow joined #perl6
15:43 pmichaud mls: I think the finalize can go into Perl6::Actions
15:43 mls ok, fine with me ;)
15:44 pmichaud jnthn: okay, I think I'm not following.  But I don't think I need to follow, either.  (more)
15:44 pmichaud it just seems to me that    SomePackage::.WHAT ~~ Mu  ought to be true at some level
15:45 jnthn pmichaud: Oh, I'm totally agreeing to make that so. :)
15:45 pmichaud wfm, then.  :)
15:46 jnthn pmichaud: Partly this is me still groping around for the terminology to use for certain constructs in meta-space. :)
15:46 pmichaud jnthn: I hear and understand that.  I run into that problem a lot in qregex, too.  :)
15:47 tadzik so, how should package Foo; Foo.WHY behave?
15:48 jnthn tadzik: Same as class Foo; Foo.WHY
15:48 jnthn tadzik: I suspect you've not done anything wrong, you just an into a spot of NYI
15:49 jnthn tadzik: I'm looking at it now.
15:49 tadzik I'd stay with .HOW.docs for now then
15:49 jnthn yes, do so
15:49 jnthn tadzik: well
15:49 jnthn I suspect it should be .^docs
15:50 pmichaud I'm afk for a bit... changing locations.
15:50 jnthn tadzik: And your docs method takes a $obj first arg
15:50 tadzik docs() takes no args, but I see the point
15:50 jnthn tadzik: Which you'd ignore, but then it makes it consistent with everything else and open to a prototype-y implementation.
15:51 tadzik ^docs fails with No method cache and no find_method method in meta-object
15:53 jnthn tadzik: For class?
15:53 jnthn tadzik: Or just package?
15:53 tadzik for package
15:53 jnthn tadzik: right
15:53 jnthn tadzik: Oh, sorry, I was confusing
15:53 jnthn tadzik: I was suggesting you change it to that
15:53 jnthn tadzik: Just out of thinking it should look that way
15:53 jnthn tadzik: Not as a fix for the (separate) bustage for package.
15:55 tadzik jnthn: it should be .WHY anyway, not .^docs or .HOW.docs
15:57 dukeleto control-alt-coke: who is arguing?
15:57 TimToady * *, gentle *
15:58 jnthn tadzik: I've suspect .WHY is macro-ish and desugars to .^docs for types, and maybe just .docs for other things.
15:59 jnthn s/I've/I/
15:59 jnthn *, TimToady :)
15:59 risou is now known as risou_awy
16:00 dalek Heuristic branch merge: pushed 138 commits to rakudo/podparser by tadzik
16:00 tadzik yeah, that .WHY took some time to do :P
16:00 TimToady I read that as "Neuristic"
16:01 TimToady that oughta be a word
16:01 tadzik "Fantastic" rather :)
16:01 Holy_Cow left #perl6
16:03 risou_awy is now known as risou
16:08 jnthn nom: module Foo { }; pir::say(nqp::istype(Foo, Mu))
16:08 p6eval nom: OUTPUT«No type check cache and no type_check method in meta-object␤current instr.: '_block1002' pc 93 ((file unknown):31854234) (/tmp/bXH1d6PZFe:1)␤»
16:08 jnthn OK, that half's fixed. :)
16:09 control-alt-coke dukeleto: not me, that's for sure! ;)
16:10 TimToady moritz: I'm wondering what the difference between is between "basic multi dispatch" and "multi sub dispatch"
16:11 TimToady we should probably put some annotations on the keys to say what set of features are included/excluded from the category
16:17 tokuhir__ left #perl6
16:17 avar left #perl6
16:17 avar joined #perl6
16:17 wamba left #perl6
16:17 tokuhirom joined #perl6
16:19 dalek rakudo/nom: df778cc | jonathan++ | src/Perl6/Metamodel/TypePretence.pm:
16:19 dalek rakudo/nom: Add a type_check method to TypePretence; ParametricRoleHOW wants to play smarter, but it'll suffice for normal pretenders.
16:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/df778ccc34
16:19 dalek rakudo/nom: 9f3d032 | jonathan++ | / (4 files):
16:19 dalek rakudo/nom: PackageHOW and ModuleHOW do TypePretence, so now they act as if they're subtypes of Any (and thus Mu) for purposes of type checking.
16:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9f3d032206
16:19 dalek rakudo/nom: 08945fc | jonathan++ | / (5 files):
16:19 dalek rakudo/nom: Make module and package type objects have the same methods as Mu and Any, so you can do 'say SomePackage' or pass package type objects around; sould also make SomePackage.WHY work for tadzik++ who reported the issue.
16:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/08945fc3d0
16:21 tadzik yay
16:21 dolmen1 left #perl6
16:22 tokuhirom left #perl6
16:29 dalek features: 1659429 | larry++ | features.json:
16:29 dalek features: put object hashes on the radar
16:29 dalek features: review: https://github.com/perl6/features/commit/1659429819
16:35 dalek rakudo/podparser: ab7dc6b | tadzik++ | / (43 files):
16:35 dalek rakudo/podparser: Merge branch 'nom' into podparser
16:35 dalek rakudo/podparser: review: https://github.com/rakudo/rakudo/commit/ab7dc6b0db
16:35 dalek rakudo/podparser: df778cc | jonathan++ | src/Perl6/Metamodel/TypePretence.pm:
16:35 dalek rakudo/podparser: Add a type_check method to TypePretence; ParametricRoleHOW wants to play smarter, but it'll suffice for normal pretenders.
16:35 dalek rakudo/podparser: review: https://github.com/rakudo/rakudo/commit/df778ccc34
16:35 dalek rakudo/podparser: 9f3d032 | jonathan++ | / (4 files):
16:35 dalek rakudo/podparser: PackageHOW and ModuleHOW do TypePretence, so now they act as if they're subtypes of Any (and thus Mu) for purposes of type checking.
16:35 dalek rakudo/podparser: review: https://github.com/rakudo/rakudo/commit/9f3d032206
16:35 dalek rakudo/podparser: 08945fc | jonathan++ | / (5 files):
16:35 dalek rakudo/podparser: Make module and package type objects have the same methods as Mu and Any, so you can do 'say SomePackage' or pass package type objects around; sould also make SomePackage.WHY work for tadzik++ who reported the issue.
16:35 dalek rakudo/podparser: review: https://github.com/rakudo/rakudo/commit/08945fc3d0
16:35 dalek rakudo/podparser: 3a7c5f6 | tadzik++ | / (6 files):
16:35 dalek rakudo/podparser: Merge branch 'nom' into podparser
16:35 dalek rakudo/podparser: review: https://github.com/rakudo/rakudo/commit/3a7c5f6e92
16:35 dalek rakudo/podparser: 6947907 | tadzik++ | t/pod/why.t:
16:35 dalek rakudo/podparser: Use .WHY on packages and modules properly, jnthn++
16:35 dalek rakudo/podparser: review: https://github.com/rakudo/rakudo/commit/69479071c4
16:36 MayDaniel joined #perl6
16:39 mls argh, disabling code with #if 0 doesn't work well in perl6...
16:39 TimToady =begin 0 might work :)
16:39 espadrine` Does anyone have documentation about Perl6 hygienic macros? A standard document, something like that?
16:40 espadrine` I would like to study them.
16:41 JimmyZ left #perl6
16:42 TimToady S06:2996 has some
16:47 pmurias left #perl6
16:52 MayDaniel left #perl6
16:57 Vlavv_ left #perl6
16:57 wamba joined #perl6
17:02 mls are CATCH blocks broken in nom?
17:02 jnthn mls: Believe so, yes
17:02 shinobicl joined #perl6
17:03 mls I just completely rebuilt nom because I thought my changes made try.t consume all memory, but it also happens in unpatched nom
17:04 pmichaud back from lunch
17:04 soh_cah_toa joined #perl6
17:05 jnthn pmichaud: Heading out for a bit soonish...anything before I go?
17:06 pmichaud jnthn: no, I have lots of little things to work on for a while
17:06 jnthn pmichaud: OK. I'll be around again later. :)
17:06 pmichaud sounds good
17:06 jnthn .oO( speakers SO loud... )
17:06 pmichaud things around the house have become a little hectic, so I don't know what my schedule will be yet.
17:06 masak joined #perl6
17:07 masak oh hai, #perl6
17:07 masak and good evening.
17:07 pmichaud TimToady: how did the soto go?
17:07 jnthn o/ masak
17:07 pmichaud oh hai, masak++
17:07 masak TimToady: I've already read nice tweets about the soto. congrats :)
17:08 masak I'd like to thank anyone who has in any way contributed with Q&A of the Crypt Adventure Game.
17:08 masak thank y'all.
17:08 masak I'd like to institute a mini-challenge, just to make the code shine a bit extra:
17:08 jnthn Write it as a one-liner.
17:09 masak I'm interested in (1) people who get unexpected/crazy result by playing the game without looking the code, (2) ditto, after looking at the code.
17:09 masak (3) people who have comments on the integrity of the code per se. improvements, repetitions, LTAs, etc.
17:10 soh_cah_toa left #perl6
17:10 Vlavv_ joined #perl6
17:10 jnthn Hmm. S12 says that .can returns something iteratory-ish.
17:10 masak the mini-challenge goes on for the next 24 hours. best submission gets bought a beer (or equiv)
17:10 jnthn But nothing to the extent that the thing it returns should be invokable and magically call the first candidate.
17:11 jnthn I made it that way in master, but it's a pain so...I follow the spec this time. ;-) Of course, it's empty list vs non-empty for boolification, so it works just fine there.
17:11 jnthn s/candidate/result/
17:11 tadzik masak: o/
17:11 masak jnthn: I thought the thing should dispatch somehow, not just to first result. maybe I remember wrongly.
17:12 masak tadzik: yo zebra.
17:12 jnthn masak: I can't find anything in the spec about that.
17:12 jnthn masak: Plus it's...horrible.
17:12 masak jnthn: fairy nuff. :)
17:12 tadzik masak: see https://gist.github.com/1114044 :)
17:12 * masak sees it
17:12 masak tadzik: whoa, that's ossum!
17:13 masak tadzik: kudojn!
17:13 masak phenny: en to gr: "kudos"
17:13 tadzik now I'm wondering about sub and method, they don't have their metaclasses
17:13 masak phenny: en to gr: "kudos"?
17:13 tadzik phenny: en to gr: "kudos"?
17:13 masak phenny: en-> gr: "kudos"?
17:14 tadzik phenny: en gr: "kudos"?
17:14 tadzik phenny: en gr "kudos"?
17:14 phenny tadzik: The en to gr translation failed, sorry!
17:14 jnthn nom: say ?()
17:14 p6eval nom: OUTPUT«Bool::True␤»
17:14 jnthn pmichaud: ^ Correct?
17:14 masak phenny: chicken! :P
17:14 jnthn tadzik: No, but they do have classes
17:14 jnthn tadzik: Add a $!docs to Code maybe.
17:14 jnthn tadzik: er
17:14 masak jnthn: I thought it was False but defined...
17:14 jnthn tadzik: Add a $!docs to Routine maybe :)
17:14 jnthn masak: Same.
17:15 masak nom: say defined (); say defined Nil
17:15 p6eval nom: OUTPUT«Bool::True␤Bool::False␤»
17:15 dalek star: 6184ff8 | pmichaud++ | skel/docs/announce/2011.07:
17:15 dalek star: Mention perl6.org/compilers/features in release announcement.
17:15 dalek star: review: https://github.com/rakudo/star/commit/6184ff8a34
17:15 masak jnthn: no, no way () is True. change without permission.
17:16 jnthn OK, well, I pushed .can, but it's busted until () is False, or we decide to do this some other way
17:16 * jnthn suspects bug, or just NYI .Bool in Parcel or some such.
17:17 mls Ah, CATCH doesn't work because of: Null PMC access in find_method 'new'
17:17 dalek rakudo/nom: 66b3d21 | jonathan++ | src/Perl6/Actions.pm:
17:17 dalek rakudo/nom: Should be able to mention self in attr init.
17:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/66b3d21831
17:17 dalek rakudo/nom: 0455eb5 | jonathan++ | src/ (2 files):
17:17 dalek rakudo/nom: Implement can. Unfortunately, ?() turns out to be True...if it's meant to be, will have to do this differently somehow.
17:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0455eb5338
17:17 shinobicl rakudo: my DateTime $D = now; say $D.perl;
17:17 p6eval rakudo 922500: OUTPUT«Type check failed for assignment␤    Container type: DateTime␤               Got: Instant␤  in '&infix:<=>' at line 1:src/metamodel/RoleToInstanceApplier.nqp␤  in main program body at line 22:/tmp/jerTTZY8Va␤»
17:18 shinobicl rakudo: my Instant $D = now; say $D.perl;
17:18 p6eval rakudo 922500: OUTPUT«(DateTime.new(year => 1970).Instant + 1311959919.80277)␤»
17:18 masak rakudo: say nom.WHAT
17:18 p6eval rakudo 922500: OUTPUT«Could not find sub &nom␤  in main program body at line 22:/tmp/buA4hSeR8L␤»
17:18 masak rakudo: say now.WHAT
17:18 p6eval rakudo 922500: OUTPUT«Instant()␤»
17:18 pernatiy left #perl6
17:18 shinobicl how can i get the day of the week for a DateTime or Instant?
17:19 shinobicl DateTime.^methods>>.name.perl
17:19 shinobicl rakudo: say DateTime.^methods>>.name.perl
17:19 p6eval rakudo 922500: OUTPUT«("new", "check-time", "now", "clone", "clone-without-validating", "Instant", "posix", "offset", "truncated-to", "whole-second", "in-timezone", "utc", "local", "Date", "Str", "perl", "is-leap-year", "days-in-month", "daycount-from-ymd", "ymd-from-daycount", "get-day…
17:20 shinobicl rakudo: say Instant.^methods>>.name.perl
17:20 p6eval rakudo 922500: OUTPUT«("new", "from-posix", "to-posix", "Str", "perl", "ACCEPTS", "Bridge", "Real", "Bool", "Int", "Rat", "Num", "Complex", "reals", "isNaN", "abs", "exp", "ln", "sqrt", "roots", "sign", "floor", "ceiling", "truncate", "round", "cis", "unpolar", "rand", "sin", "asin", "c…
17:20 dalek star: abd0c1d | pmichaud++ | skel/Configure.pl:
17:20 dalek star: Remove forced --gc=gms from Configure.pl .
17:20 dalek star: review: https://github.com/rakudo/star/commit/abd0c1d3ed
17:20 dalek star: 1e6a045 | pmichaud++ | skel/build/gen_parrot.pl:
17:20 dalek star: Bump parrot version to 3.6.0.
17:20 dalek star: review: https://github.com/rakudo/star/commit/1e6a045b94
17:20 dalek star: 643e5e8 | pmichaud++ | skel/README:
17:20 dalek star: Update release numbers in README.
17:20 dalek star: review: https://github.com/rakudo/star/commit/643e5e82e3
17:20 dalek star: 3562628 | pmichaud++ | skel/docs/announce/2011.07:
17:20 dalek star: Wordsmith change to 2011.07 announcement.
17:20 dalek star: review: https://github.com/rakudo/star/commit/35626280f4
17:21 jnthn Dinner and beer time! \o/
17:21 masak \o/
17:21 flussence rakudo: say DateTime.now.day-of-week
17:21 p6eval rakudo 922500: OUTPUT«5␤»
17:21 soh_cah_toa joined #perl6
17:22 masak flussence++ # faster :)
17:23 masak shinobicl: reason you won't see "Friday" there: it assumes English, which is an increasingly hasty assumption in today's software.
17:24 flussence rakudo: say (<Mon Tues Wednes Thurs Fri Sat Sun> X~ 'day')[DateTime.now.day-of-week - 1]
17:24 p6eval rakudo 922500: OUTPUT«Friday␤»
17:24 shinobicl rakudo: my $D = DateTime.new(year=>2011,month=>7,day=3); say $D.day-of-week;
17:24 p6eval rakudo 922500: OUTPUT«Could not find sub &day␤  in main program body at line 22:/tmp/LGFyRolgvA␤»
17:24 flussence maybe it wants day-of-month there?
17:25 flussence oh
17:25 flussence rakudo: my $D = DateTime.new(year=>2011,month=>7,day=>3); say $D.day-of-week; # missing ">"
17:25 p6eval rakudo 922500: OUTPUT«7␤»
17:25 shinobicl i expected a Sunday (0 or 7, i don't know)
17:25 shinobicl hehe oops
17:25 shinobicl thanks :)
17:26 mls get_hll_global $P1028, "Exception" seems to return a Null PMC
17:27 pmichaud correct -- we don't store things in Parrot's namespaces any longer
17:28 pmichaud (except in certain rare cases)
17:28 tadzik jnthn: do I need to set Routine.$!docs in SymbolTable? Seems not to good, but the thing returned by create_code_object seems pretty opaque
17:29 mls So it should be scope lexical_6model instead of namespace [] ?
17:29 wamba left #perl6
17:29 pmichaud mls: that sounds reasonable  (I could be very wrong because I'm not looking at that code atm)
17:29 mls rebuilding...
17:32 mls hmm, segfault in Rakudo_cont_decontainerize
17:34 shinobicl what is the "standard" word separator for perl6? '-' or '_' ?
17:35 flussence hyphen seems preferred for high level stuff
17:36 shinobicl mm ok.. thanks!
17:37 mls oh, class Exception has no new method anymore...
17:37 pmichaud mls: I think we're currently doing it via calls to &EXCEPTION
17:38 Kivutarrr joined #perl6
17:38 mls yes. and the code in push_block_handler hasn't been adapted yet
17:38 daxim left #perl6
17:39 pmichaud very possible/likely
17:40 jferrero left #perl6
17:40 donri left #perl6
17:41 jferrero joined #perl6
17:43 TROLOLOL joined #perl6
17:45 TROLOLOL left #perl6
17:51 Jackneill left #perl6
17:55 impious joined #perl6
17:56 dalek roast: f85b8bf | kboga++ | / (32 files):
17:56 dalek roast: Fix a bunch of typeobject stringifications.
17:56 dalek roast: review: https://github.com/perl6/roast/commit/f85b8bf91f
17:56 dalek roast: e9ea8ed | kboga++ | S (2 files):
17:56 dalek roast: 2 todo tests now pass.
17:56 dalek roast: review: https://github.com/perl6/roast/commit/e9ea8edd02
17:58 pernatiy joined #perl6
18:07 mls ok, enough hacking for today. The current patch is: https://gist.github.com/1114368
18:07 mls for some reason, test 18 in try.t still segfaults
18:09 mls the line where it appends $/ to $str seems to be the culprit
18:10 dalek rakudo/nom: 95168b5 | pmichaud++ | src/core/control.pm:
18:10 dalek rakudo/nom: Fix multi-argument control functions (return, take, etc.).
18:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/95168b5da9
18:10 Mowah left #perl6
18:14 mls left #perl6
18:15 ZaphrodZenovka joined #perl6
18:26 shinobicl rakudo: use Test; my Bool $flag = True; ok ($flag, "Checking flag");
18:26 p6eval rakudo 922500: OUTPUT«ok 1 - ␤»
18:26 shinobicl rakudo: use Test; my Bool $flag = False; ok ($flag, "Checking flag");
18:26 p6eval rakudo 922500: OUTPUT«ok 1 - ␤»
18:28 espadrine` left #perl6
18:29 flussence you've got a space between ok and ( that shouldn't be there
18:30 wamba joined #perl6
18:30 wolfman2000 left #perl6
18:31 wolfman2000 joined #perl6
18:31 shinobicl_ joined #perl6
18:32 shinobicl_ ohh... the space :S
18:32 leprevost joined #perl6
18:34 shinobicl left #perl6
18:35 thou joined #perl6
18:40 ash__ joined #perl6
18:49 [Coke] joined #perl6
18:51 birdwindupbird joined #perl6
18:53 Chillance joined #perl6
18:57 gfldex lolibloggedalittle: http://gfldex.wordpress.com/2011/07/29/toying-with-time-in-perl6/
18:57 ab5tract joined #perl6
19:04 [Coke] left #perl6
19:06 [Coke] joined #perl6
19:07 shinobicl_ left #perl6
19:17 thou left #perl6
19:42 kaare_ left #perl6
19:44 Chillance left #perl6
19:45 Chillance joined #perl6
19:58 wamba left #perl6
20:02 wamba joined #perl6
20:03 thundergnat joined #perl6
20:05 thundergnat Hi #perl6.
20:06 thundergnat Is raw sub-second time available in rakudo?
20:07 thundergnat It is returned in now(), but the formatting that now does ads significant overhead.
20:07 thundergnat rakudo: say now;
20:07 p6eval rakudo 922500: OUTPUT«Instant:2011-07-29T20:07:26.493582Z␤»
20:07 ash__ what formatting?
20:07 ash__ rakudo: say now, now;
20:07 p6eval rakudo 922500: OUTPUT«Instant:2011-07-29T20:07:36.855422ZInstant:2011-07-29T20:07:37.144365Z␤»
20:07 ash__ rakudo: my $a = now; my $b = now; say $b - $a;
20:08 p6eval rakudo 922500: OUTPUT«0.325825825825826␤»
20:08 flussence rakudo: say +now
20:08 p6eval rakudo 922500: OUTPUT«Instant:2011-07-29T20:08:39.374658Z␤»
20:08 flussence grr
20:08 ash__ ouch, thats a bit slower than I expected, but now gives sub second timing
20:09 tadzik star: use Benchmark; say timethis({my $a = 1; my $b = 1})
20:09 p6eval star 2011.04: OUTPUT«===SORRY!===␤Unable to find module 'Benchmark' in the @*INC directories.␤(@*INC contains:␤  /home/p6eval/.perl6/lib␤  /home/p6eval/rakudo-star-2011.04/install/lib/parrot/3.3.0/languages/perl6/lib␤  .)␤»
20:09 thundergnat rakudo: my $begin = pir::time__n; $end = pir::time__n; say $end - $begin; #significantly less overhead... but I'm accessing parrot directly
20:09 tadzik :(
20:09 p6eval rakudo 922500: OUTPUT«===SORRY!===␤Symbol '$end' not predeclared in <anonymous> (/tmp/ePGpqAzIPW:22)␤»
20:09 thundergnat rakudo: my $begin = pir::time__n; my $end = pir::time__n; say $end - $begin;
20:09 p6eval rakudo 922500: OUTPUT«4.79221343994141e-05␤»
20:11 thundergnat class Timer { has $.begin is rw; has $.end is rw; method start { $.begin = pir::time__n; }; method elapsed { $.end = pir::time__n; return $.end - $.begin; } }; my $timer = Timer.new; $timer.start; my $i; $i++ for 1 .. 20000; say ($timer.elapsed).fmt("%.3f"), ' seconds elapsed.';  # Cheap timer class
20:11 thundergnat rakudo: class Timer { has $.begin is rw; has $.end is rw; method start { $.begin = pir::time__n; }; method elapsed { $.end = pir::time__n; return $.end - $.begin; } }; my $timer = Timer.new; $timer.start; my $i; $i++ for 1 .. 20000; say ($timer.elapsed).fmt("%.3f"), ' seconds elapsed.'; # Cheap timer class
20:11 p6eval rakudo 922500: OUTPUT«(timeout)»
20:12 thundergnat rakudo: class Timer { has $.begin is rw; has $.end is rw; method start { $.begin = pir::time__n; }; method elapsed { $.end = pir::time__n; return $.end - $.begin; } }; my $timer = Timer.new; $timer.start; my $i; $i++ for 1 .. 5000; say ($timer.elapsed).fmt("%.3f"), ' seconds elapsed.';
20:12 p6eval rakudo 922500: OUTPUT«3.114 seconds elapsed.␤»
20:17 bluescreen10 left #perl6
20:17 mj41 joined #perl6
20:22 tadzik http://coderwall.com/tadzik -- something funny
20:22 tadzik I wonder what makes me appear there, and not most of the Rakudo contributors
20:24 y3llow_ joined #perl6
20:24 pothos_ joined #perl6
20:26 pothos left #perl6
20:26 pothos_ is now known as pothos
20:26 y3llow left #perl6
20:27 y3llow_ is now known as y3llow
20:42 Reaganomicon joined #perl6
20:58 thou joined #perl6
21:06 birdwindupbird left #perl6
21:14 uvtc joined #perl6
21:15 uvtc Can anyone point me to a summary of the 2011 State of the Onion?
21:15 shinobicl joined #perl6
21:15 sorear good * #perl6
21:16 uvtc Found this http://www.gardenofblog.com/2011/reports-from-oscon-2011/ . It mentioned how the SOTO was
21:17 uvtc weaved in with some shorter talks.
21:21 shinobicl how should i compare a parcel with an array?
21:23 uvtc left #perl6
21:25 shinobicl left #perl6
21:29 mj41 left #perl6
21:29 thou left #perl6
21:30 mj41 joined #perl6
21:32 leprevost left #perl6
21:32 Instil joined #perl6
21:34 ash__ off topic, any teachers in around with a few minutes to ask a few questions? (I need to interview a person that teaches software for a class)
21:37 sorear TimToady did homeschooling, many years ago.  I think this may fall under 'don't ask to ask'
21:38 ash__ well i have a few questions that might take 10~15 minutes, so i was hoping to find someone interested and not spam the channel :P
21:38 masak ash__: you might put them in a gist...
21:39 Tene ash__: I taught linux sysadmin classes, and a few programming classes, for a few years, but changed careers about a year ago.
21:39 Tene back into doing sysadmin work.
21:39 Tene I'd be glad to chat with you.
21:39 sorear yeah it really depends on what you mean by 'teacher'
21:40 cschimm1 left #perl6
21:40 ash__ I was vague with the work teach on purpose, even if you just show the new guy at work the ropes I'd take that
21:40 ash__ I guess as a preliminary question, do any of you know about the Software Engineering Body of Knowledge?  http://www.computer.org/portal/web/swebok/htmlformat
21:41 ash__ IEEE is trying to get a Professional Engineer certificate for programmers based off that content
21:43 ash__ I'll put them in a gist
21:43 Tene no, I haven't seen that before.
21:44 ash__ its the list of "things you should know" if you have a software engineering degree (which is slightly different than a Comp Sci degree)
21:44 Psyche^ joined #perl6
21:45 Patterner left #perl6
21:45 Psyche^ is now known as Patterner
21:46 orafu left #perl6
21:47 orafu joined #perl6
21:48 cognominal_ left #perl6
21:49 ash__ I am taking a class on teaching, and we have been discussing the various chapters of the SWEBoK and how to teach different topics, such as testing, or design its been interesting (since I am interested in becoming a professor)
21:52 risou is now known as risou_awy
21:52 risou_awy is now known as risou
21:53 mj41 left #perl6
21:57 ash__ https://gist.github.com/1114825 here are the interview questions, if anyone has a moment, I'd appreciate it, if not, thats fine too
22:00 dukeleto left #perl6
22:01 PerlJam ash__: I assume you have an opinion on the "correct" answers  to these questions
22:02 slavik bad answers include the word "python"
22:02 ash__ not really, it depends mostly on what your trying to teach
22:02 ash__ in my class we focused on CS1 and CS2 (the first two classes on programming, whatever you want to call them)
22:03 ash__ some ideas, like Software Configuration Management don't really work in CS1
22:04 ash__ I mean, when your just learning to program, and understand what a loop is, its not that helpful to have to do Configuration Management, at least, IMO its distracting from the main lesson your teaching at the time (e.g. loops)
22:04 PerlJam aye
22:05 soh_cah_toa left #perl6
22:05 ash__ and other topics, like quality assurance are hard to teach to someone who doesn't have "Real World" experience
22:09 masak jnthn and I are digging the IRC logs for autopun sightings. this is one of the first ones: http://www.threadless.com/product/623/Haikus_Are_Easy_But_Sometimes
22:10 Kivutarrr left #perl6
22:10 masak we laughed most on that one, but it's unclear whether it's because it was the best one of whether it was the last one :)
22:12 ash__ I like the image version of it: http://goo.gl/CNL9o (deviant art link)
22:12 tadzik I was planning to get a >=a2 of it to put on my wall
22:13 tadzik but I think I'll settle for http://davidcrew.files.wordpress.com/2010/01/1262709568125.jpg NSFW language
22:14 tadzik or maybe not. I have an Iron Maiden poster, but no place to put it. It seems inappropriate everywhere :)
22:26 Vlavv_ left #perl6
22:32 impious left #perl6
22:33 Vlavv joined #perl6
22:39 meraxes left #perl6
22:40 masak 'night, #perl6
22:40 masak left #perl6
22:47 zostay_ left #perl6
22:55 dukeleto joined #perl6
22:55 colomon o/
22:57 sorear o/ colomon
22:58 colomon sorear: sorry I haven't made more progress on trig.  but I was very impressed by the error message I got when I tried to run sin.t!  lovely summary of the things niecza doesn't know how to handle yet
22:58 colomon hopefully will get a chance to work on it some tomorrow.
22:59 sorear what kind of error message?  you mean the explain_mysteries dump of unknown names?
22:59 colomon yes, explaining that we still need exp and asin
23:00 colomon (exp as a sub -- I think the method is there already)
23:00 colomon also the nice note about variables which were declared and never used
23:01 colomon afk # called from upstairs
23:07 Khisanth left #perl6
23:14 timbunce left #perl6
23:15 Khisanth joined #perl6
23:16 fhelmberger left #perl6
23:17 fhelmberger joined #perl6
23:23 jaldhar joined #perl6
23:23 wamba left #perl6
23:28 whiteknight joined #perl6
23:28 * jnthn back
23:31 jnthn tadzik: Still up?
23:34 orafu left #perl6
23:34 ash__ left #perl6
23:36 ash__ joined #perl6
23:36 cschimm1 joined #perl6
23:48 molaf_ joined #perl6
23:51 molaf left #perl6
23:52 cognominal_ joined #perl6
23:54 shinobicl joined #perl6

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

Perl 6 | Reference Documentation | Rakudo