Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-02-15

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:03 shinobi-cl rakudo: class A { method BUILD { say "constructor"; } }; my $a = new A;
00:03 p6eval rakudo a0a390: OUTPUT«./parrot: error while loading shared libraries: libparrot.so.0.9.0: cannot open shared object file: No such file or directory␤»
00:03 shinobi-cl pugs: class A { method BUILD { say "constructor"; } }; my $a = new A;
00:03 p6eval pugs: OUTPUT«constructor␤»
00:05 eternaleye joined #perl6
00:09 Limbic_Region joined #perl6
00:11 alexn_org joined #perl6
00:11 justatheory joined #perl6
00:19 pugs_svn r25335 | frew++ | [t] tests for polar
00:24 pugs_svn r25336 | frew++ | [t] removed test debug code
00:25 frew pugs: 0 but Bool::True
00:25 p6eval pugs: OUTPUT«*** Cannot cast from VBool True to Pugs.AST.Types.VCode (VCode)␤    at Prelude.pm line 541, column 5-16␤»
00:25 frew rakudo: 0 but Bool::True
00:26 frew rakudo: 0 but Bool::True
00:26 frew that can't be good
00:26 frew oh dear, that causes some kind of infinite loop
00:26 frew sorry
00:26 p6eval rakudo a0a390: No output (you need to produce output to STDOUT)
00:26 p6eval rakudo a0a390: No output (you need to produce output to STDOUT)
00:30 jnthn frew: Don't worry, there's limits in place for things like that. ;-)
00:30 jnthn frew: File a ticket. I seem to remember there's somthing funny about that...it should work.
00:32 frew I hate to ask this, but where is the bug tracker
00:33 SamB perl6: 0 but Bool::True
00:33 p6eval rakudo a0a390: No output (you need to produce output to STDOUT)
00:33 p6eval ..elf 25336: OUTPUT«Undefined subroutine &GLOBAL::infix_but called at (eval 119) line 3.␤ at ./elf_h line 4346␤»
00:33 p6eval ..pugs: OUTPUT«*** Cannot cast from VBool True to Pugs.AST.Types.VCode (VCode)␤    at Prelude.pm line 541, column 5-16␤»
00:35 frew pugs: [1,2,3].shape
00:35 p6eval pugs: OUTPUT«*** No such method in class Array: "&shape"␤    at /tmp/g9yEDfyvQD line 1, column 1 - line 2, column 1␤»
00:36 jnthn frew: mailto:rakudobug@perl.org
00:36 frew ah, thanks
00:36 jnthn That creates a ticket.
00:41 alexn_org hi, I'm a newbie :) I tried compiling parrot and rakudo (the latest from svn/git) and while parrot compiled ok with all tests passed, I got an error from rakudo: http://sial.org/pbot/35058
00:42 jnthn Ooooh...
00:42 jnthn who broke the dynops compiler... :-|
00:42 jnthn alexn_org: What platform?
00:43 alexn_org debian, 2.6.26-1-686, gcc 4.3.2
00:43 nihiliad joined #perl6
00:44 jnthn Hmm. That's nothing unusual.
00:44 SamB where is the index, anyway?
00:44 jnthn SamB: index?
00:44 SamB for the synopses
00:45 [particle]1 i don't think an index file has been generated in html, or if it has, it's not online
00:45 [particle]1 you can use spack here for searching
00:45 [particle]1 spack: PROGRAM_NAME
00:45 jnthn alexn_org: Just asked on #parrot...seems you're not the first person to notice this problem.
00:46 [particle]1 spack PROGRAM_NAME
00:46 [particle]1 hrmm....
00:47 jnthn alexn_org: I don't see a workaround right now...it seems it's a breakage in Parrot's dynop generator...or we're doing something it doesn't support...
00:48 alexn_org jnthn: don't worry, I'll be as eager to try it out when it gets fixed :)
00:48 jnthn alexn_org: OK, great!
00:48 jnthn Sorry it's broken...am trying to work out why...
00:49 frew this makes me want to not have rakudo and parrot rebuild every night...
00:49 SamB frew: which ?
00:50 frew the issue that is making alexn_org's rakudo not build
00:50 jnthn frew: This is why in Rakudo we're going to hopefully target Parrot revisions that we know are fine, and so on...
00:50 frew well, it should be more stable when it hits 1.0 right?
00:50 jnthn (And eventually Parrot releases, but that's premature for now...)
00:50 bacek jnthn: http://github.com/bacek/rakudo/commit/08fffbc6d62ab72e0dd9f80098275afce0f32fbf initial implementation of Flipflop. Can you take a look?
00:50 frew because that's soon right?
00:50 jnthn Yes and no.
00:50 bacek away &
00:51 jnthn Parrot 1.0 doesn't mean "Parrot stops getting developed now"
00:51 frew yeah, but the interface should be stable right?
00:51 jnthn Aye.
00:51 jnthn That's the aim.
00:51 jnthn Thing is, Rakudo may need more "cutting edge" stuff.
00:51 jnthn Especially considering things like PCT and PGE ship with Parrot.
00:52 frew I don't know what those are
00:52 SamB maybe they shouldn't ?
00:52 jnthn Parts of the compiler toolchain.
00:52 * SamB doesn't know what they are either
00:52 jnthn PGE is the parser engine.
00:52 SamB and why does that ship with Parrot?
00:52 jnthn PCT is the compiler toolchain - the thing defining the PAST nodes, translating them to bytecode etc.
00:53 jnthn SamB: I guess because since many Parrot-targetting compilers are built on top of them, it makes sense.
00:53 SamB and why does that ship with Parrot?
00:53 SamB hmm.
00:54 jnthn Not that by toolchain I don't mean something that you use to generate a compiler, then ship the compiler without it.
00:54 jnthn You can see it more of as a library of common stuff.
00:54 SamB still, if one thing is "stable" and the others aren't, and they aren't actually intimate ...
00:54 jnthn alexn_org: Ah, got an answer. Apparently it's a line ending issue.
00:55 jnthn SamB: Depends on your definition of stable.
00:55 frew does anyone know why running 'perl Configre.pl' would fail in a script even though git pull succeeded?
00:55 alexn_org jnthn: where can I find more info on PCT and PGE?
00:56 jnthn If it's "we won't take things away that work or change things that used to do X to do Y toher than bug fixes", then yes, that's often going to be true.
00:56 jnthn alexn_org: If you run something like dos2unix on src/ops/perl6.ops (I think that's the file), it may help.
00:56 SamB jnthn: well, I mean, if it's reasonable not to use the HEAD
00:57 SamB but to use a release
00:57 jnthn SamB: But it doesn't mean there won't be new things.
00:57 jnthn And Rakudo will often be one of the first compilers to want to use such New Stuff.
00:57 SamB new things like what ?
00:58 jnthn alexn_org: In Parrot see perhaps docs/book/ or also the PDD (docs/pdd/) on AST, or compilers/pct/
00:58 frew if anyone was curious it was because of the hardcoded paths in Configure.pl
00:59 jnthn SamB: Mostly new things in PGE.
00:59 jnthn SamB: We're working towards using STD.pm.
00:59 SamB jnthn: not new thins in Parrot itself?
00:59 jnthn Generally, not.
00:59 SamB well, that sounds like splitting would be good
00:59 jnthn Though occasionally, I've found need to twiddle things in Parrot itself...
01:00 jnthn SamB: Perhaps. It's not really may call...it's not something I've thought about a lot either to be honest.
01:00 jnthn But as we work towards a release mentality rather than an svn HEAD one, yes, it may well be worth considering.
01:02 jnthn We are going to start doing Rakudo releases shortly.
01:02 jnthn Those I expect *will* target a specific Parrot release.
01:02 SamB at the very least they should target a specific "r"
01:03 jnthn Last I heard, the plan was that Rakudo monthly releases would follow shortly after Parrot ones for now.
01:03 jnthn So if that is what happens, we can target a specific Parrot release.
01:03 alexn_org jnthn: thanks, the line ending was the issue
01:03 jnthn Most probably, anyway.
01:03 jnthn alexn_org: OK, cool. We'll fix that...
01:04 jnthn rurban++ from #parrot for knowing what to do :-)
01:10 frew should S06-advanced_subroutine_features/wrapping be failing?
01:14 SamB so, are you certain that haskerl was a joke ?
01:17 jnthn frew: Did you run that manually?
01:17 jnthn But I am pretty sure, Rakudo does not do .wrap yet...
01:17 frew jnthn: yeah
01:18 frew it's not in the spectest apparently
01:18 jnthn frew: Right. We don't run all test scripts.
01:18 jnthn Just the ones we know we can pass entirely or partially.
01:18 frew ok
01:18 jnthn We keep a list of those in t/spectest.data
01:18 frew right
01:18 jnthn SamB: huh?
01:19 frew but if it's in the spectest it will eventually be supported right?
01:19 jnthn Right.
01:19 frew becasue .wrap is very cool
01:19 jnthn Indeed.
01:19 SamB @go haskerl
01:19 lambdabot No Result Found.
01:19 jnthn If you are wanting it soonish, a ticket is a good way.
01:19 SamB damn buggy search plugin, I should have the author shot ...
01:19 frew jnthn: nah.  I just got curious
01:20 frew I have been trying to do things that are in t/TASKS and one of the tasks mentioned it, so I looked at it and got excited
01:20 frew but then when I tried it on rakudo it wouldn't work
01:20 jnthn While we certainly don't want tickets for every missing bit of Perl 6, generally ones for small-ish features that people want - especially those with code examples to make work - are welcomed.
01:21 jnthn And those who are implementing Rakudo often find implementing cool exciting stuff fun too. ;-)
01:21 frew at some point I'd like to contribut to more than the test suite
01:21 frew and when I feel I have done a good amount of the test suite I'll try helping to add to rakudo myself
01:21 jnthn The test suite is a very valuable place to contribute, but of course contributions elsewhere are welcome too. :-)
01:22 jnthn I think things will get easier in Rakudo when we have a Perl 6 prelude.
01:22 jnthn Both pmichaud and I are *very* much wanting this.
01:22 frew don't we have an incomplete one?
01:22 jnthn Not that we're actually using in Rakudo.
01:22 frew oh
01:22 frew I didn't know that
01:22 jnthn But we really need t.
01:22 jnthn *it
01:23 jnthn Because there's a bunch of stuff that we need to do, that gets really hairy to do in PIR now.
01:23 frew I believe it
01:23 jnthn (Generic types...)
01:23 frew plus the more that's done in perl6 the easier it is for implementors at some point
01:23 frew right?
01:23 jnthn Right.
01:24 jnthn But right now, we've hit the point where it's a real need.
01:24 frew who is working on that?
01:24 jnthn I seriously cannot be bothered, to try and write parametric types in PIR!
01:24 frew hahaha
01:24 jnthn pmichaud will lead it, but I expect I'll contribute heavily.
01:25 frew so it will be part of rakudo?  or will it go with pugs?  because that would make sense to go with the test suite as it's implementation independant
01:25 jnthn I have a grant depending on getting typed arrays and hashes working, and doing that sanely depends on us having a Perl 6 prelude.
01:25 frew I thought they both already worked...
01:26 jnthn I think perhaps the best thing I can say on that, is that while there's interest in a cross-implementation prelude, there's difficulties in realizing it for now.
01:26 jnthn No. You can do type constriants on scalars.
01:26 jnthn But my Int @x; is not supported.
01:26 jnthn Yet.
01:26 frew oooooh
01:26 frew gotcha
01:28 jnthn frew: It's a parametric type.
01:28 jnthn frew: We do support those now though. :-)
01:28 frew right
01:28 alester joined #perl6
01:29 jnthn ...and my oh my was it a brain ache to do so (and continues to be once you consider classes within roles...)
01:29 eternaleye_ joined #perl6
01:30 frew haha
01:30 alester hey, jnthn , at some pooint we're going to be converting rakudo.org to drupal
01:30 alester Are you blogging in HTML?
01:30 alester I guess i could look myself.
01:31 SamB jnthn: maybe you should reconsider this whole OO/imperative deal
01:32 alester oh good, html
01:32 jnthn alester: I was, yes.
01:32 alester that's good
01:32 alester 'cause Drupal only does HTML blogging.
01:32 jnthn alester: It works on use.perl.org and rakudo.org, so for me it was The Win.
01:32 alester I do all the perlbuzz stuff in markdown
01:33 jnthn SamB: Hmm?
01:33 chid joined #perl6
01:33 SamB jnthn: it sounds like it makes your head hurt ;-P
01:34 jnthn SamB: Perl 6 is a multi-paradigm language. I'm very much in favor of multi-paradigm stuff.
01:34 jnthn SamB: I know what OO is, and what imperative is...I just don't see what you're getting at.
01:34 SamB just teasing
01:36 jnthn SamB: I do value the functional programming paradigm. I was once fairly fluent in ML. I know that purity is good for multi-threading stuff. And so forth...
01:36 SamB I repeat: teasing
01:36 jnthn I know.
01:36 jnthn :-)
01:36 SamB now I wonder what all this imperative code in this Haskell compiler does ...
01:38 jnthn I remember being at a Haskell tutorial by spj and his hilarious analysis of that situation... :-)
01:38 jnthn spj's presentation rocked.
01:39 * SamB only got to see the videos
01:39 jnthn I felt very lucky to be in it.
01:39 SamB but yes, he's cool
01:39 SamB he's extremely animated
01:39 jnthn I studied for my degree in a building that was under 100m from the building where his office was. :-)
01:40 jnthn Or maybe still is...I don't know if he's still at the same place...
01:40 jnthn But in the end, the first time I saw him present was in Oregon!
01:40 SamB afaik he's still at MSR
01:42 jnthn Aye, then same place.
01:42 jnthn I'm a good thousand kilometers from there now, though.
01:55 * jnthn -> sleep
02:32 eternaleye joined #perl6
02:39 meppl good night
02:57 bigal joined #perl6
03:10 * alester is writing perl:;critic rules for Rakudo
03:13 literal uh, how?
03:13 literal using STD.pm instead of PPI or something?
03:18 justatheory joined #perl6
03:44 TimToady rakudo is the name of an implementation, not the name of a language
03:46 SamB TimToady: I suppose you think the same thing about GHC?
03:48 TimToady C is for Compiler
03:48 alester SamB: Why argue about it?
03:49 alester TimToady: Yes, I know.  I'm cleaning up the Perl 5 code that is in the rakudo repo.
03:49 SamB because most implementations end up forming a dialect, that's why!
03:50 TimToady my comment was answering literal
03:50 alester TimToady: We've started putting actual usefulness on rakudo.org
03:58 shinobi-cl left #perl6
04:06 literal ah, I thought he meant something else, then
04:32 eternaleye joined #perl6
05:00 bacek TimToady: what should "(1..5).map: { $_ if 1 ff 1 }" produce? (1..5) or (1,3,5)?
05:25 eternaleye_ joined #perl6
05:33 bacek perl6: sub foo { 1;; }; say foo
05:33 p6eval rakudo a0a390: OUTPUT«Null PMC access in isa()␤current instr.: 'parrot;List;!flatten' pc 5976 (src/classes/List.pir:283)␤»
05:33 p6eval ..elf 25336, pugs: OUTPUT«1␤»
05:33 bacek heh.
05:50 pugs_svn r25337 | putter++ | [elfparse] Renamed elfgreen to elfrx for clarity (r25333 commit message was wrong).  Also elfgreenstd to elfdev.  Updated README.
05:52 nihiliad joined #perl6
05:55 pugs_svn r25338 | putter++ | [elfparse] std.pm: Hacking out a path down from comp_unit towards EXPR.  Aiming to parse '3'.
06:02 TimToady bacek: 1..5
06:03 bacek TimToady: thanks. It means that I have to check "flop" right after "flip"?
06:03 TimToady correct, it's exactly the same as .. in p5 (except p5 would implicitly compare 1 with $.)
06:05 bacek and "1 .. *" actually same as "1 .. 0"?
06:06 TimToady no, 1..Inf
06:06 bacek hmm...
06:07 bacek oh, sorry.
06:07 bacek 1 ff 0 vs 1 ff *
06:07 bacek "1 ff 0" vs "1 ff *"
06:07 TimToady yeah * is taken as false
06:08 TimToady on the theory that "whatever" is the opposite of the known endpoint
06:09 bacek thanks again. And (hopefully) last question: what should produce "(1..5).map: { $_ if 1 ^ff 1 }"?
06:10 TimToady () I suspect
06:10 Tene joined #perl6
06:10 bacek TimToady: my implementation suspect same. But S03/flip-flop.t suspect something else...
06:11 TimToady depends on how it's implemented, I suppose
06:11 TimToady I can see how they'd think the other one
06:12 TimToady depends on whether you think the rhs is evaluated for the ^ case
06:13 TimToady but I think of it as $a .. $b always picking the same range for each variant
06:13 TimToady and ^ then throws something out
06:13 TimToady ff rather
06:14 TimToady seems more like .. that way, in an abstract sense
06:14 bacek TimToady: thanks for clarification
06:15 shinobi-cl joined #perl6
06:15 eternaleye joined #perl6
06:17 bacek hmm. So, ^ff technically becomes just ff after first flip?
06:18 bacek or I misunderstand last sentence?
06:19 TimToady ff ^ff ff^ and ^ff^ all start and stop on the same elements, but the front ^ forces false if front of run, while back ^ forces false at end
06:20 bacek for (1..5) -> { $_ 1 ff 1 } will have 5 flipflops. Each of them true. 1 ^ff 1 will have 5 falses?
06:21 TimToady it still finds the same 5 ranges, but the first element of each is false
06:21 bacek ok, thanks.
06:21 SamB perl6: (1..5).map: { $_ if 1 ^ff 1 }
06:21 p6eval rakudo a0a390: OUTPUT«Could not find non-existent sub ff␤current instr.: '_block25' pc 156 (EVAL_20:74)␤»
06:21 p6eval ..elf 25338: OUTPUT«Can't call method "map" without a package or object reference at (eval 120) line 3.␤ at ./elf_h line 4346␤»
06:21 p6eval ..pugs: OUTPUT«*** No such subroutine: "&ff"␤    at /tmp/unfFboqXAA line 1, column 21-29␤»
06:21 bacek SamB: it is not implemented yet :)
06:22 TimToady maybe ff should smartmatch against $_
06:22 SamB p6eval: (1..5)
06:22 bacek SamB: infix:ff
06:22 SamB bacek: I figured ...
06:23 SamB perl6: (1..5)
06:23 p6eval elf 25338: RESULT«"1E0"␤»
06:23 p6eval ..rakudo a0a390: RESULT«1..5»
06:23 p6eval ..pugs: RESULT«(1, 2, 3, 4, 5)»
06:24 SamB perl6: (1..)
06:24 p6eval elf 25338: OUTPUT«/home/evalenv/pugs/misc/STD_red/match.rb:117:in `block in to_dump0': undefined method `to_dump0' for nil:NilClass (NoMethodError)␤     from /home/evalenv/pugs/misc/STD_red/match.rb:117:in `map'␤       from /home/evalenv/pugs/misc/STD_red/match.rb:117:in `to_dump0'␤  from
06:24 p6eval ../home/evalenv/pugs/...
06:24 p6eval ..pugs: OUTPUT«*** ␤    Unexpected end of input␤    at /tmp/L7RBTutg66 line 1, column 6␤»
06:24 p6eval ..rakudo a0a390: OUTPUT«Statement not terminated properly at line 1, near "..)"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
06:24 SamB perl6: (1..*)
06:24 p6eval rakudo a0a390: OUTPUT«Use of uninitialized value␤»
06:24 p6eval ..elf 25338: OUTPUT«Undefined subroutine &GLOBAL::whatever called at (eval 121) line 3.␤ at ./elf_h line 4346␤»
06:24 p6eval ..pugs: RESULT«pugs: out of memory (requested 1048576 bytes)␤»
06:24 SamB perl6: (1 .. *)
06:25 p6eval rakudo a0a390: OUTPUT«Use of uninitialized value␤»
06:25 p6eval ..elf 25338: OUTPUT«Undefined subroutine &GLOBAL::whatever called at (eval 121) line 3.␤ at ./elf_h line 4346␤»
06:25 p6eval ..pugs: RESULT«pugs: out of memory (requested 1048576 bytes)␤»
06:25 SamB perl6: (1 .. */2)
06:25 p6eval rakudo a0a390: OUTPUT«Use of uninitialized value␤»
06:25 p6eval ..elf 25338: OUTPUT«Undefined subroutine &GLOBAL::whatever called at (eval 121) line 3.␤ at ./elf_h line 4346␤»
06:25 p6eval ..pugs: RESULT«pugs: out of memory (requested 1048576 bytes)␤»
06:26 bacek std: (1 .. */2)
06:26 p6eval std 25338: OUTPUT«ok 00:02 33m␤»
06:26 bacek How that?
06:26 SamB what was that ?
06:26 * SamB was just making that up
06:26 * SamB didn't think it would work
06:26 SamB > [0..]
06:26 lambdabot [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,...
06:27 eternaleye joined #perl6
06:28 bacek I didn't expect "*/2" to be parsed...
06:29 SamB perl6: <<0..*>>
06:29 p6eval elf 25338: RESULT«["0"]␤»
06:29 p6eval ..pugs, rakudo a0a390: RESULT«"0..*"»
06:30 kanru joined #perl6
06:30 SamB perl6: 0..*
06:30 p6eval rakudo a0a390: OUTPUT«Use of uninitialized value␤»
06:30 p6eval ..elf 25338: OUTPUT«Undefined subroutine &GLOBAL::whatever called at (eval 121) line 3.␤ at ./elf_h line 4346␤»
06:30 p6eval ..pugs: RESULT«pugs: out of memory (requested 1048576 bytes)␤»
06:34 pugs_svn r25339 | lwall++ | [STD] provide guidance on (1..)
06:34 SamB std: (1..)
06:34 p6eval std 25338: OUTPUT«############# PARSE FAILED #############␤Unable to parse parenthesized expression; couldn't find final ')' at /tmp/2NVonsCrgd line 1:␤------> [32m(1..[31m)[0m␤    expecting any of:␤     prefix or noun␤   whitespace␤FAILED 00:02 33m␤»
06:37 SamB perl6: (1..Inf).perl
06:37 p6eval elf 25339: RESULT«"\"1E0\""␤»
06:37 p6eval ..rakudo a0a390: RESULT«"1..Inf"»
06:37 p6eval ..pugs: OUTPUT«pugs: out of memory (requested 1048576 bytes)␤»
06:38 TimToady of course */2 parses, it just doesn't mean anything that a range can use
06:39 TimToady 1 .. */2 means 1.. { $^x / 2 }
06:39 TimToady which probably doesn't find a matching signature
06:39 SamB perl6: $^x
06:39 p6eval rakudo a0a390: OUTPUT«too few arguments passed (0) - 1 params expected␤current instr.: '_block14' pc 40 (EVAL_10:28)␤»
06:39 p6eval ..pugs: OUTPUT«*** Undeclared variable: ("$^x",MkPad (padToList [("$_",PELexical {pe_type = (mkType "Scalar"), pe_proto = <Scalar:0xb6615e91>, pe_flags = MkEntryFlags {ef_isContext = True}, pe_store = <ref:0xb662816d>}),("@_",PELexical {pe_type = (mkType "Array"), pe_proto = <Array:0xb661c725>,...
06:40 p6eval ..elf 25339: OUTPUT«Global symbol "$x" requires explicit package name at (eval 118) line 3.␤ at ./elf_h line 4346␤»
06:40 SamB perl6: *
06:40 p6eval elf 25339: OUTPUT«Undefined subroutine &GLOBAL::whatever called at (eval 119) line 3.␤ at ./elf_h line 4346␤»
06:40 p6eval ..rakudo a0a390: RESULT«*»
06:40 p6eval ..pugs: RESULT«Inf»
06:41 TimToady and now you see why pugs blows up on 1..*
06:41 SamB er, not really ;-P
06:41 TimToady it just always translate * to Inf
06:41 TimToady *translates
06:41 SamB it's written in Haskell ;-P
06:41 TimToady that's no excuse :)
06:42 TimToady std: (1..)
06:42 SamB no, I mean it should handle lazy stuff even with stuff like that
06:42 p6eval std 25339: OUTPUT«############# PARSE FAILED #############␤Please use ..* for indefinite range at /tmp/XWp4ZBHl51 line 1:␤------> [32m(1..[31m)[0m␤FAILED 00:02 33m␤»
06:42 TimToady there you go
06:42 SamB std (1..*)
06:42 SamB std: (1..*)
06:42 p6eval std 25339: OUTPUT«ok 00:02 33m␤»
06:42 pugs_svn r25340 | bacek++ | [spec] Fix flipflops tests. TimToady++ for help
06:44 pugs_svn r25341 | lwall++ | [flip-flop.t] fix parsefail
06:46 bacek oops.
06:47 bacek It successfully parsed by rakudo...
06:48 TimToady rakudo isn't the normative parser :)
06:48 bacek TimToady: :)
06:49 * bacek still don't understand fudged test in flipflop.t...
06:49 SamB so how come STD doesn't return a syntax tree ?
06:49 bacek SamB: it is very big.
06:49 TimToady that fudges all of the tests
06:49 TimToady it does return a syntax tree
06:50 TimToady we choose not to send it to irc
06:50 SamB oh
06:51 bacek TimToady: "that fudges all of the tests"?
06:51 TimToady but you can cd src/perl6; make; and then run viv to see the tree
06:51 bacek bacek@icering:~/src/pugs/src/perl6$ ./try5 TOP -e '(1..*)' | wc -l
06:51 bacek 1397
06:52 TimToady a lot of those lines are the CORE symbol table these days
06:52 TimToady which we wouldn't have to attach to the top node, but we do
07:17 bacek TimToady: question again about flipflop :) Is in current S03/flipflop.t supposed to be '&always_true' and '&always_false'?
07:19 shinobi-cl left #perl6
07:21 TimToady no, the way it's written is correct
07:21 TimToady in fact, &always_true without () would be wrong
07:21 TimToady though &always_true() would work
07:24 bacek but those functions invoked once only...
07:24 bacek (in way how they written now)
07:25 kate21de joined #perl6
07:27 TimToady they're invoked repeatedly
07:27 TimToady I don't know why the tests use those functions though, unless they were worried about p5 semantics re line numbers
07:28 TimToady maybe the tests were copied out of the p5 test suite?
07:28 bacek no idea.
07:28 bacek but why they invoked repeatedly?
07:30 TimToady multiple tests, and the tester function has a loop in it
07:31 bacek hm...
07:33 bacek Looks like mine implementation of ff is incorrect. I capture "flip" and "flop" operands...
07:37 Nom- joined #perl6
07:44 pugs_svn r25342 | bacek++ | [spec] Add more tests for flipflop. TimToady++ once again
07:45 bacek TimToady: can you check last change to flipflop.t. Is it correct test?
07:46 TimToady looks pretty good, though my brain is too frazzled to run it in detail
07:47 TimToady looks like a good way to test that the condition is tested even if false is returned
07:47 bacek no worries :)
07:47 pugs_svn r25343 | lwall++ | [STD] better diagnostics on if()
07:47 bacek And I failing those tests... :(
08:05 TimToady std: given(42) {...}
08:05 p6eval std 25343: OUTPUT«############# PARSE FAILED #############␤given() interpreted as function call at line 1 ; please use whitespace after keyword␤Unexpected block in infix position (two terms in a row) at /tmp/tr56HQeeRB line 1:␤------> [32mgiven(42) [31m{...}[0m␤    expecting any of:␤  infix or
08:05 p6eval ..m...
08:12 pugs_svn r25344 | bacek++ | [spec] Refactor flipflop.t test for readability
08:34 iblechbot joined #perl6
08:43 cognominal joined #perl6
08:43 cognominal_ joined #perl6
08:45 mberends joined #perl6
09:00 c9s_mv joined #perl6
09:12 pugs_svn r25345 | lwall++ | random test cleanup
09:15 mberends TimToady: I cannot figure out in what time zone your brain is ticking
09:23 DemoFreak joined #perl6
09:34 zamolxes joined #perl6
09:37 barney joined #perl6
09:47 ejs joined #perl6
09:49 chid joined #perl6
09:50 M_o_C joined #perl6
09:55 hanekomu joined #perl6
09:59 meppl joined #perl6
10:17 bacek perl6: my @a=(1..3); say ~(1..@a)
10:17 p6eval pugs, rakudo a0a390: OUTPUT«1 2 3␤»
10:17 p6eval ..elf 25345: OUTPUT«Out of memory!␤»
10:18 bacek perl6: my @a=(1..3); say ~(1..^@a)
10:18 p6eval pugs, rakudo a0a390: OUTPUT«1 2␤»
10:18 p6eval ..elf 25345: OUTPUT«Out of memory!␤»
10:20 bacek perl6: my @a=(1); say ~(@a..3)
10:20 p6eval pugs: OUTPUT«1 2 3␤»
10:20 p6eval ..rakudo a0a390: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'␤current instr.: 'parrot;Range;!to_test' pc 8402 (src/classes/Range.pir:391)␤»
10:20 p6eval ..elf 25345: OUTPUT«No viable candidate for call to multimethod prefix__126() at (eval 122) line 4␤ at ./elf_h line 4346␤»
10:30 simplex joined #perl6
10:33 kane__ joined #perl6
10:36 maerzhase joined #perl6
10:38 bacek perl6: say 1 does Positional
10:38 p6eval rakudo a0a390: OUTPUT«1␤»
10:38 p6eval ..pugs: OUTPUT«*** Unknown syntactic construct: Syn "does" [Val (VInt 1),App (Var "&Positional") Nothing []]␤    at /tmp/cHUaXhqCdO line 1, column 5 - line 2, column 1␤»
10:38 p6eval ..elf 25345: OUTPUT«Undefined subroutine &GLOBAL::infix_does called at (eval 120) line 3.␤ at ./elf_h line 4346␤»
10:38 bacek perl6: say "a" does Positional
10:38 p6eval elf 25345: OUTPUT«Undefined subroutine &GLOBAL::infix_does called at (eval 122) line 3.␤ at ./elf_h line 4346␤»
10:38 p6eval ..pugs: OUTPUT«*** Unknown syntactic construct: Syn "does" [Ann (Cxt (CxtItem (mkType "Str"))) (Val (VStr "a")),App (Var "&Positional") Nothing []]␤    at /tmp/Aj3EXzyvKz line 1, column 5 - line 2, column 1␤»
10:38 p6eval ..rakudo a0a390: OUTPUT«a␤»
10:38 bacek perl6: say ("a" does Positional)
10:38 p6eval elf 25345: OUTPUT«Undefined subroutine &GLOBAL::infix_does called at (eval 122) line 3.␤ at ./elf_h line 4346␤»
10:38 p6eval ..rakudo a0a390: OUTPUT«a␤»
10:38 p6eval ..pugs: OUTPUT«*** Unknown syntactic construct: Syn "does" [Ann (Cxt (CxtItem (mkType "Str"))) (Val (VStr "a")),App (Var "&Positional") Nothing []]␤    at /tmp/1Q6YaTKsWa line 1, column 5 - line 2, column 1␤»
10:38 bacek hmm....
10:39 bacek perl6: say "a".does(Positional)
10:39 p6eval pugs: OUTPUT«*** No such subroutine: "&Positional"␤    at /tmp/EmKz3JNDGF line 1, column 14-24␤»
10:39 p6eval ..rakudo a0a390: OUTPUT«0␤»
10:39 p6eval ..elf 25345: OUTPUT«␤»
10:39 bacek perl6: say 42.does(Positional)
10:39 p6eval pugs: OUTPUT«*** No such subroutine: "&Positional"␤    at /tmp/ULrRDhKx3f line 1, column 13-23␤»
10:39 p6eval ..rakudo a0a390: OUTPUT«0␤»
10:39 p6eval ..elf 25345: OUTPUT«␤»
10:40 bacek perl6: say 42.does(Int)
10:40 p6eval pugs, rakudo a0a390: OUTPUT«1␤»
10:40 p6eval ..elf 25345: OUTPUT«␤»
10:40 bacek perl6: say "a".does(Int)
10:40 p6eval rakudo a0a390: OUTPUT«0␤»
10:40 p6eval ..elf 25345, pugs: OUTPUT«␤»
10:40 bacek perl6: say "1".does(Int)
10:40 p6eval rakudo a0a390: OUTPUT«0␤»
10:40 p6eval ..elf 25345, pugs: OUTPUT«␤»
11:05 sri_kraih joined #perl6
11:10 araujo joined #perl6
11:44 kate21de left #perl6
11:48 masak joined #perl6
11:54 mberends hi masak, I'm interested in doing some work on proto today
11:55 masak mberends: cool! you have my blessing.
11:55 masak I'd prefer to stand by and provide opinions, if that's ok.
11:55 masak I'll try not to get in the way of your creativity, though.
11:56 mberends this rather goes against your earlier expression of desire to do it yourself, or was that meant (at least partly) in jest?
11:57 mberends (why am I asking? I have his blessing!)
11:58 masak what I meant was that I looked forward to doing it myself, and wasn't primarily fishing for collaborators, like with November and Druid.
11:58 masak but I won't say no to help either. :)
11:58 mberends heh
11:58 masak if nothing else, you have the README to guide you as to my plans.
11:59 mberends ok, I'll conform to that. please pull my recent contribution for a start.
12:00 mberends I have created a new 'proto' user account on my system to test starting from scratch.
12:03 masak cool.
12:03 * masak pulls
12:05 * mberends aka 'proto' clones
12:06 masak jnthn: didn't answer your question 'proto hacking?' yesterday, sorry. this is it. https://github.com/masak/proto
12:07 alanhaggai joined #perl6
12:08 alanhaggai joined #perl6
12:09 maerzhase joined #perl6
12:13 kate21de joined #perl6
12:18 masak mberends: no, env is not redundant and export doesn't work in this case.
12:18 mberends ok, your version still stands
12:19 masak removing your comment.
12:19 masak re conditionally doing something with the log; no, I only plan to refer to it if the make fails.
12:19 masak just as in the proto shell script.
12:19 masak I like the unlink() version, uncommenting it.
12:20 masak also removing the commented-out 'say' above the 'warn'.
12:20 cognominal_ joined #perl6
12:20 masak in summary, thanks. it's great to be reviewed.
12:20 mberends 'source proto' here b0rked on the parrot ftp download. why not http instead?
12:20 masak sure.
12:21 masak also, I'm not sure about 'source proto' any more.
12:21 masak better to let the user manually set environment variables, despite the slight annoyance of doing so.
12:22 masak we can give them the option of eval-ing a short file with the correct values in them, perhaps.
12:22 mberends good idea
12:22 masak I think about such things on my bike. :)
12:22 mberends Or in the shower :)
12:23 masak that, too. or in the pool.
12:23 alanhaggai joined #perl6
12:24 masak in the future, when improving crap I wrote, please just remove it rather than comment it out. if I want it back, I'll hit the logs instead.
12:24 mberends ok. a leave-behind script could also offer to alias perl6
12:24 jnthn masak: proto looks helpful :-)
12:24 masak mberends: aye, good.
12:24 masak jnthn: it's just a prototype. :)
12:25 masak but it's meant to soften the coming deluge of interdependencies on github.
12:25 jnthn *nod*
12:25 mberends git push please, then I'll pull and s/ftp/http/
12:27 masak one minute.
12:27 masak still editing.
12:27 mberends 59, 58, 57, 56 ...
12:27 masak pushed.
12:28 mberends pulled.
12:30 alanhaggai__ joined #perl6
12:31 kane__ joined #perl6
12:31 mberends the parrot ftp download actually succeeded, but the script thought it failed in the if (($? != 0)) immediately after. Perhaps wget is funny with exit codes.
12:31 masak either that, or my condition is funny somehow.
12:32 masak could you run wget manually and check the exit code after?
12:32 masak i.e. wget ...; echo $?
12:32 * mberends will try
12:33 mberends with another url the exit status is 0, which is what we want
12:34 mberends .oO shell comparison operators are the wrong way round. We may need ne instead of !=
12:34 masak with another url? but not with the current one?
12:35 masak mberends: aye, but (()) means the evaluation is arithmetic.
12:35 mberends I was just saving time for the test, didn't need 5 megabytes.
12:35 masak ah.
12:36 mberends so (( != )) === [ ne ] ? I want to check and learn that. It seems so inconsistent.
12:37 masak I'll see if I can find chapter and verse in the bash manpage.
12:37 masak aye, go 'man bash' and grep (/) for ^ARITH
12:38 ihrd joined #perl6
12:38 mberends oh, and an offline thought was, cast the proto script language into Bourne subset, that way AIX users with Korn shell etc are not left out.
12:38 * mberends greps
12:38 ihrd hi there
12:38 masak ihrd: HI!
12:38 masak mberends: I have an unfinished commit to bring proto down to sh level.
12:38 masak it's hard.
12:39 mberends worth it imo.
12:39 mberends what's the blocker?
12:40 masak bah, the usual. time.
12:40 mberends I have today.
12:41 masak I'll test-run it and see if the patch works. if so, I'll commit it.
12:41 mberends cool
12:42 masak oh! seems I use a bash-only string prefix test on line 53.
12:42 masak hm...
12:43 mberends that is !(
12:43 mberends (what a face)
12:49 masak yup, now it works. (except for that tricky case.)
12:49 masak committing.
12:51 masak I also discovered a new case which we need to test for -- adding that.
12:51 mberends what's nice about the bash manual is that everything is in there. what's not so nice about the bash manual is that it is so long. go figure.
12:51 masak it's the case where the user has Parrot installed via svn, and uses Rakudo in the languages/rakudo dir, not in languages/perl6
12:52 masak mberends: bash is really well documented. and very widespread. on some level though, it's insane.
12:53 aindilis` joined #perl6
12:54 ihrd rakudo: class A { has @.foo; method bar { @.foo[0] ="Hey"; say @.foo[*-1] } }; A.new.bar
12:54 p6eval rakudo a0a390: OUTPUT«Hey␤»
12:55 ihrd looks like 61766 resolved
12:56 masak yup. and so it says, too.
12:56 jnthn rakudo: my @a = <a b c>; for @a -> { .say }
12:56 p6eval rakudo a0a390: OUTPUT«Use of uninitialized value␤␤Use of uninitialized value␤␤Use of uninitialized value␤␤»
12:56 jnthn rakudo: my @a = <a b c>; for @a { .say }
12:56 p6eval rakudo a0a390: OUTPUT«a␤b␤c␤»
13:02 Whiteknight joined #perl6
13:08 mberends masak: proto successfully downloaded parrot, now building. spurious message: -su: test: too many arguments, but seems unimportant
13:09 masak does it have a line number?
13:09 masak I got that error on line 51, so I kept that test as it was.
13:10 mberends no line number (there is probably a trace option for something like that). np
13:11 mberends Building Perl 6...
13:13 mberends done. env includes PARROT_DIR=/home/proto/proto/parrot-0.9.0
13:14 masak cool.
13:17 mberends ./proto install perl6-examples
13:17 mberends Downloading perl6-examples...
13:17 mberends Building perl6-examples...
13:17 mberends done.
13:17 masak nice, isn't it? :)
13:18 mberends oh yes!
13:18 mberends now we just have to port the decent parts of CPAN ;)
13:19 masak ruhh, don't talk like that. :P
13:19 masak we're _not_ a CPAN substitute.
13:19 masak just a tiny, insignificant, hyper-lightweight package manager for the dark dawn between CPAN and CPAN6.
13:20 mberends Running Right Now is what matters. TODO?
13:20 masak sorry, what's the question?
13:21 masak the TODO right now is the things in the README below the "not yet impl" notice.
13:22 masak if you want something fun to do today, we could branch November, and remove HTML::Template from the branch.
13:22 masak then we create a new github repo html-template, and create a dependency from November to this new repo.
13:23 mberends and do it without hardcoding HTML::Template's address
13:24 masak right.
13:24 masak then (1) make sure proto recofnizes that the November branch needs the external project, and (2) merge to master and make sure November won't install without first installing the external project.
13:24 masak that sounds like about a day's work.
13:24 masak and the fun part will be handling the deps.proto file format.
13:24 mberends and the recursion is the fun
13:24 masak mberends: indeed. :)
13:25 masak it'll have to be download, check, download, check ..., build, build, build
13:25 mberends did you draft a deps.proto file layout?
13:26 masak sure in the README.
13:26 masak s/ /, /
13:26 masak it's dead-simple by design.
13:26 mberends those are the best
13:26 masak I hope so.
13:27 masak we don't need much right now.
13:27 masak an obvious thing that I consciously ignore is versioning.
13:27 masak proto is meant to make life easier for the end user, but not _that_ much easier :P
13:27 masak when Rakudo has versioning, maybe we'll build it into proto as well.
13:28 masak http://en.wikipedia.org/wiki/Directed_acyclic_graph
13:31 mberends ah yes, used that once in project planning, critical path as well
13:31 masak to me, the module deps form a DAG.
13:32 masak (which raises the concern that it might not be; we have to detect cycles)
13:33 mberends initially we can detect and avoid manually, such a feature can be retrofitted like deadlock detection in a database server.
13:33 masak mberends: I have limited time today, but I'll do this: I'll create the html-template project on github, and a November branch that doesn't have HTML::Template.
13:33 masak mberends: I think automatic detection is not that hard. just follow all deps and make sure you don't get yourself.
13:34 masak but if you don't want to write the code, I'll gladly do it. :)
13:34 mberends okay, you start it and I'll take over when you must go. I have tomorrow and Tuesday available as well.
13:34 masak oh, I thought we might parallelize in the way outlined above.
13:35 masak I'll do the November part and you do the proto part.
13:35 masak if you want.
13:36 masak it's not so much that I must go, it's that I have at least three other writing tasks today. I'll happily remain online while doing those, but I won't be able to actively participate in programming.
13:37 ihrd I can do so for URI.pm
13:37 masak ihrd: good idea. please also do it in a branch.
13:37 ihrd masak: okay
13:37 masak ihrd: can I try and move everything into p6w/lib in master before we begin?
13:37 masak I've been wanting to do that for a long time.
13:38 ihrd mb just /lib?
13:38 ihrd do we realy need p6w dir?
13:38 masak ihrd: and remove p6w entirely? yes, I've been thinking about that too.
13:38 masak ihrd: agreed. we don't.
13:39 masak making November more accessible by removing useless directories :)
13:39 masak I'll just put it all in the root dir.
13:39 ihrd masak: mb #november-wiki is better choice for this disscussion
13:39 masak sure.
13:39 drbean joined #perl6
13:44 icwiener joined #perl6
13:46 mberends masak: each line in deps.proto should have two words, not one: the github account name, then the project name. In fact a third field would help distinguish github from other stores likve svn sites.
13:46 masak ok.
13:47 masak I propose this order: site accname project
13:47 mberends ok. three fields for lots more minefields
13:47 masak and only 'registered' sites are allowed, and only github is registered so far.
13:48 masak in the long run (if there's such a thing for proto), we should use YAML or JSON or similar for deps.proto
13:48 mberends yes
13:50 barney joined #perl6
13:58 mikehh joined #perl6
13:59 rhr_ joined #perl6
14:04 shinobi-cl joined #perl6
14:05 cai joined #perl6
14:07 gravity joined #perl6
14:12 DJ-DONGDOT joined #perl6
14:26 masak mberends: on second thought, this account name thing is very github-specific.
14:27 masak it might feel like a nice thing to parametrize on, but it might also give us more trouble than it's worth.
14:27 masak given that proto must have a list of all its known installable projects anyway, along with a list of project specifics, I'd advocate just the one-word-per-line approach.
14:28 masak unless you or someone else has a good counter-argument.
14:34 mberends the counter is that it's easy to add a little wiggle room now, or more work to change it later. understood that account may be meaningless for some repos, but then it can have a dummy value like '.'
14:34 nihiliad joined #perl6
14:35 mberends it does not feel right to make proto github-centric either.
14:35 masak well, it does not really address the fact that this info is stored anyway elsewhere in proto.
14:35 masak mberends: proto already isn't github-centric.
14:36 masak take a look at how things are installed in installer.
14:37 masak no, the three-word specifier goes against the simplicity of proto.
14:37 masak it makes the identifier github-viklund-november instead of just november
14:37 masak that's too close to versioning for me.
14:37 mberends the installcmd is too hard coded for me
14:37 masak hard coding is the objective of proto! :)
14:38 masak it's its only goal in life.
14:38 masak think of it this way: proto needs a data base of where to find its modules.
14:38 masak that database just happens to be a hash in installer at present.
14:39 masak the idea here is to put as little changeable information out in the projects as possible.
14:39 mberends I plan to fly some of my code out of the eric256 nest one day, and would like to declare that in deps.proto
14:39 masak good, good.
14:39 Tene_ joined #perl6
14:41 masak but is that an argument for a three-word deps.proto format?
14:41 masak oh, you plan to give the repo the same name? :)
14:41 masak well, proto doesn't support that.
14:41 masak or rather, you'd have to give the project a different name in proto.
14:42 mberends the project name can be the third part of a three part name, afaics
14:43 masak mberends: the difference between our opinions right now lies in our different expectations on deps.proto
14:44 mberends there is another database entity that would be nice to add to the design: a single list of all projects offered by an account holder.
14:44 masak it's important to me that deps.proto is independent of the actual locations of projects.
14:44 masak that way, if a project changes location, this fact can be updated centrally in the proto repo.
14:44 mberends maybe I should be planning proto+1
14:45 masak mberends: re list of all projects by an account holder: sure, why not? but that is IMHO less vital than handling deps.
14:45 masak I'm about to upload a html-template project to github, by the way.
14:46 mberends nice. was it a difficult siamese separation?
14:47 masak well, no. just straight copying.
14:47 * mberends tries to square the circle of differing expectations
14:47 masak http://github.com/masak/html-template/
14:47 masak now preparing the November branch...
14:50 mberends square-circle suggestion: deps.proto has optional 1-field and 3-field entries, and proto handles 1-word and 3-word arguments (somehow). one day should still suffice.
14:51 * mberends doesn't think masak will like the suggestion
14:51 masak no, you don't understand :)
14:51 masak the _point_ of the deps.proto file is that it should be location-independent.
14:51 masak that way, a single central change is enough when location changes.
14:52 masak your suggestion destroys that advantage.
14:52 masak the square-circle patch complicates things, and destroys the advantage.
14:53 mberends I agree that central control is good for launching the core, but disagree about optional modules.
14:53 masak sorry, what was the optional modules part again?
14:54 mberends it's like hosts files versus DNS. the system should allow contibutors to extend the addressable field independent of a central authority.
14:55 mberends and proto is a root authority.
14:55 masak well, now it sounds to me that you should be desigining proto+1 :)
14:55 masak I just want to make this one thing work. nothing more.
14:56 mberends it works. if it works, change it!
14:56 * masak realizes the difficulties in keeping a project down-to-earth
14:56 masak mberends: ok, here you go: http://github.com/viklund/november/tree/html-template-gone
14:57 masak try and check out this branch, and 'make test' in it.
14:57 masak all tests should pass except the integration tests (because HTML::Template is missing)
14:57 mberends ok, will do. today I'll stay within your scope, and get dependencies working within a centrally managed database.
14:58 masak mberends++
14:58 mberends otherwise we'll talk until tomorrow and have no code to show for it.
14:58 masak you're a wise man, man.
14:59 mberends pulled. but no deps.proto in the root dir.
15:00 masak checking.
15:00 masak did you check out the branch?
15:00 mberends in november, I suppose now that you meant HTML::Template
15:01 masak there's a branch in the november project on github, called html-template-gone
15:01 masak that's where I removed HTML::Template and added deps.proto
15:01 mberends ah, the branch ;)
15:02 masak aye.
15:02 masak we try to keep experiments out of master if we can.
15:05 mberends the http://github.com/viklund/november/tree/html-template-gone page has a public clone url of git://github.com/viklund/november.git
15:06 masak 'git checkout html-template-gone' on the console? does that work?
15:07 mberends error: pathspec 'html-template-gone' did not match any file(s) known to git.
15:08 masak strange.
15:08 masak 'git pull origin html-template-gone' ?
15:09 mberends worked.
15:10 masak 'git checkout -b html-template-gone origin/html-template-gone'
15:11 * masak is just making stuff up as he goes along
15:11 * mberends is a git-n00b desperately in need of git-fu
15:12 masak it's a bit zen-like insofar that there's less to understand than it might at first appear.
15:12 masak some cup-emptying required.
15:12 literal joined #perl6
15:12 avar joined #perl6
15:13 * mberends emptying another beer atm
15:13 masak that might help.
15:14 mberends watching git-speak here is pleasant and fascinating
15:16 masak same way I feel about Haskell.
15:16 mberends btw, it looks like Nordic Perl Workshop are not interested in my Pod talk proposal, but I'm thinking about attending anyway.
15:18 masak too bad and excellent, respectively.
15:18 * mberends looks forward to the hackathon as well
15:19 * masak too
15:21 * jnthn three
15:21 masak mberends: I'm going to re-focus on my writing tasks for a while now.
15:21 |MoC| joined #perl6
15:22 broquaint joined #perl6
15:22 masak mberends: probably won't have time to fiddle with proto today, but I'll eagerly review and discuss any advances you make.
15:23 mberends masak: ok, after the Ireland-Italy rugby game I'll start hacking
15:23 masak :)
15:25 maerzhase joined #perl6
15:28 alanhaggai__ joined #perl6
15:36 nihiliad joined #perl6
15:46 ihrd left #perl6
15:46 masak walk &
16:07 Limbic_Region joined #perl6
16:14 maerzhase1 joined #perl6
16:14 pmurias joined #perl6
16:18 chid joined #perl6
16:34 jan_ joined #perl6
16:45 dominiko joined #perl6
16:45 dominiko What is a good site to learn about perl6?
16:46 masak dominiko: http://perlgeek.de/blog-en/perl-5-to-6/
16:46 dominiko Thanks, I already saw that one, it's pretty good for those who know perl5
16:47 masak ah, you're new to Perl?
16:47 dominiko Does not go into details, but it's simple and good enough to whet my appetite about Perl6
16:47 masak this seems good: http://en.wikibooks.org/wiki/Perl_6_Programming
16:47 dominiko I know perl5
16:47 masak but it's far from complete.
16:47 dominiko Thanks, following your link...
16:48 masak dominiko: if you want depth, I'd recommend the specs: http://perlcabal.org/syn/
16:48 masak I don't think something with the same depth as the specs exists.
16:48 masak OTOH, the specs are a bit terse and do not always spell out the consequences of design decisions.
16:49 dominiko the wiki link seems quite descent
16:50 masak good. best of luck.
16:50 masak if you still have questions after reading that, please don't hesitate to ask here.
16:51 eternaleye joined #perl6
16:51 kate21de1 joined #perl6
16:51 dominiko The examples use parentheses in the if (...) and unless (...) which is not very perl6ish
16:51 masak indeed.
16:52 masak I removed some of them in a recent read-through of that wiki.
16:52 masak not sure if those edits were accepted, though.
16:52 masak s/some/many/
16:56 dominiko @a = (1, 2, 3);   in wiki is also perl5ish
16:56 lambdabot Maybe you meant: activity activity-full admin all-dicts arr ask . ? @ v
16:56 masak aye.
16:57 masak some people seem to like the parens even when told they are not necessary.
16:58 dominiko yes, I have to admit, I like them too.  I makes it clearer.  Also, using vim, it allows to use % to jump to the end of the array.
16:59 dominiko But I've never written anything in Perl6 so I don't know enough to have a strong opinion
17:00 masak I'm not sure a strong opinion is required in this case. both ways work, most people can read both ways easily, and they are not very different.
17:01 * mberends is 50/50 on that, but the pro-paren half seems, er, uncool
17:01 dominiko The thing I like about Perl is the { }  (  )  $ #  !  etc.  I find that python looks too much like text.
17:02 mberends do you have a C or java background?
17:02 dominiko Having { ... } is attracts more to my visual brain
17:02 dominiko C
17:02 dominiko C & c++
17:04 * mberends recommends being open to both styles for a while, following the path of least resistance.
17:04 masak mberends: it would be really nice if there were some way to assert in the Makefile of projects whether PERL6LIB points to the lib/ directory in that project.
17:05 masak I know almost enough about Makefile things to make that happen, but not quite.
17:05 masak maybe it's not possible.
17:06 mberends good suggestion. my make-fu is stronger than my git-fu.
17:06 masak together, we shall rule the known universe.
17:07 masak er, I mean, good.
17:07 mberends well corrected :)
17:09 dominiko being able to avoid parentheses will help writing poems in Perl6
17:10 aindilis joined #perl6
17:12 masak dominiko: I tried to write a Perl 6 test file as poetically as possible some days ago.
17:12 mberends dominko: now that's a benefit some people never even imagine
17:12 masak the tests themselves came out like this:
17:12 masak assert :that($board), :yields<b1>, :desc('Go for the missing link');
17:12 masak not as poetic as I'd imagined.
17:13 mberends masak++
17:13 masak maybe I should have called 'desc' 'because' instead.
17:14 mberends maybe you will, in the next version
17:14 masak sure. since it's a local branch, I'll change it now.
17:15 masak all in all, it feels a bit Smalltalkish.
17:15 masak (which I kinda like)
17:24 jnthn see :if($board), :is(1), :to-know('It goes for the missing link');
17:24 jnthn ;-)
17:24 masak heh :)
17:24 masak to each his own, I guess.
17:25 jnthn is($board, 1, 'It goes fro the missing link'); # is fine to me :-)
17:25 masak jnthn: you'll note the difference between 'is' and 'yields', I hope.
17:25 jnthn I like making tests *work*, not writing tests themselves.
17:25 masak there's a transformation function hidden in there.
17:25 jnthn masak: No, that wasn't obvious to me, though the choice of word made me curious...
17:26 jnthn ...so not having to write too much is a Good Thng.
17:26 jnthn *Thing
17:26 masak yes, that was part of the idea. hiding away the complexity.
17:28 masak not sure if I'll keep that syntax, though. it's basically just another rehash of Test::InputOutput (in November), which is a rehash of Test::Base (on CPAN)
17:28 eternaleye joined #perl6
17:29 * jnthn eats a bar of Swedish Plopp - his favorite named chocolate bar.
17:29 masak :)
17:31 masak http://www.flickr.com/photos/richardgin/1430394351/
17:32 jnthn Yes, but mine is "med smak av tutti-frutti" :-)
17:32 shinobi-cl left #perl6
17:32 masak 哈哈
17:32 jnthn I'm guessing smak must mean flavor. :-)
17:32 masak jnthn: aye.
17:32 hanekomu joined #perl6
17:32 bacek joined #perl6
17:33 masak so let me see if I got this straight. it's a chocolate bar... with taste of tutti-frutti, some kind of fruity flavour?
17:33 masak how do you even get chocolate to taste fruity?
17:34 * masak adds a trip to grocery store today to find out
17:38 jnthn masak: I'm not sure, but they managed it some how...
17:38 shinobi-cl joined #perl6
17:38 jnthn It doesn't taste too bad.
17:38 masak jnthn: is it runny inside?
17:38 jnthn Better than the name might lead you to think, in fact.
17:38 jnthn Yes.
17:38 masak that explains it for me.
17:42 * mberends sniggers that dominiko has not realised that Perl 6 is the path of least resistance
17:43 jnthn masak: My sudden up-surge in Swedish vocabularly is mostly due to one of my clients haven given me a task of adding some features of a system...and all of the comments are written in Swedish!
17:43 jnthn s/of/to/
17:43 jnthn s/haven/having/ ... # English fail.
17:43 jnthn Normally I read the comments to figure out what the code means...it's odd doing it the other way around. ;-)
17:44 masak I can imagine.
17:45 masak mberends: my writing is going very slowly. how's the rugby match/proto hacking going?
17:50 mberends Ireland 38, Italy 9, and unremarkable walkover. I'm currently pondering the git branch issue with regard to %project_info
17:51 SamB joined #perl6
17:53 mberends git checkout seems to be designed to operate within a clone, so it's two separate git invocations to get to the branch.
17:53 [particle] joined #perl6
17:57 masak mberends: is there a known case where proto will need to check out a branch?
17:57 mberends it depends ;)
17:57 eternaleye joined #perl6
17:58 mberends on you ;)
17:58 masak mberends: as far as I know, you can do two git invocations by doing && or ; in the string.
17:58 masak mberends: I'd say leave it for now, since it doesn't seem vital for our existing git projects.
17:58 mberends ok, I'll live with that during development and hack it out after proof of concept.
17:59 masak mberends: in the future, I'll want to at least support checking out git repos with the commit bit set, to make it easier for people to push.
17:59 masak not sure about the branching thing.
17:59 * mberends not sure about the commit thing
17:59 masak to me, it'd be sufficient to just enter the directory after installation and switch branches manually.
18:00 masak mberends: oh, it'll just be a service to those who check out their own projects with proto.
18:00 masak they'd want them to be writeable, so to speak.
18:00 masak the fix might be as easy as trying the rw repo first, and then falling back on the readonly variant.
18:01 masak (but even pondering that shows how the hard-codedness of installcmd might be a problem)
18:01 mberends all the git clone url's are currently public, meaning readonly.
18:02 masak right.
18:02 masak due to 'release early'.
18:03 mberends Many of us will remain readonly in many repos.
18:03 masak ah, you're thinking there might be a time penalty during installation?
18:04 masak I doubt that. failure is fairly rapid.
18:04 masak try and check out someone else's github repo, and you'll see :)
18:05 mberends yes, the error is quick. ok, git@github first, git://github second
18:06 masak but, still. hard-coded installcmd.
18:06 masak the repetition in that hash indicates that we could use your three-word suggestion to ease things up a little. :)
18:07 masak something like hub, account, project
18:07 masak then there's no problem creating both kinds of downloads.
18:10 mberends sorry, afk couple mins
18:20 * mberends ponders again, reluctant to enter the hazy realm of 'scope creep'
18:20 c9s_mv joined #perl6
18:21 masak mberends: indeed. it is more difficult than first appears!
18:22 masak but I do think that breaking up installcmd into several keys is for the better.
18:22 masak even if we don't actually use that refactor to fix git@github downloads right now.
18:22 masak it just feels more orthogonal.
18:26 * masak must go home and make food soon
18:30 eternaleye joined #perl6
18:30 dominiko left #perl6
18:33 masak mberends: ah! you need the 'check out a branch of a project' feature to check that November installs correctly. sorry, I'm a bit slow, it seems... :/
18:34 masak maybe I should just merge that branch back to trunk.
18:35 Psyche^ joined #perl6
18:37 mberends_ joined #perl6
18:38 literal joined #perl6
18:38 masak mberends_: network trouble?
18:39 mberends_ yes, not sure where. will re-connect.
18:39 mberends joined #perl6
18:40 masak did you receive the thing I said starting with 'mberends: ah!' ?
18:41 mberends no, seeing it on perlgeek now
18:41 masak I can merge back to master if that makes things easier for you.
18:41 masak must go in a couple of minutes.
18:42 mberends leave master for now, I've worked around the branch temporarily
18:42 masak mberends++
18:42 masak looking forward to seeing what you come up with.
18:42 masak heading home to make dinner.
18:43 mberends good plan, we're going to Chinese restaurant later.
18:44 masak eet smakelijk.
18:45 mberends dank je wel :)
18:45 masak :)
18:45 * masak waves
18:55 Tene joined #perl6
19:02 eternaleye joined #perl6
19:19 literal joined #perl6
19:25 mberends Chinese restaurant &
19:35 pmurias j
19:35 pmurias sorry
19:46 aindilis` joined #perl6
19:47 alester joined #perl6
19:55 bacek good morning
19:56 bacek perl6: enum Day <Sunday Saturday>; say ~(Day::Sunday..Day::Saturday)
19:56 p6eval elf 25345: OUTPUT«Parse error in: /tmp/ORZuCtvFMG␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: enum Day <Sunday Saturday>; sa␤WHERE:/\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:76:in `scan_unitstopper'␤  STD_red/std.rb:224:in `comp_unit'␤
19:56 p6eval ..STD_r...
19:56 p6eval ..rakudo a0a390: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'␤current instr.: 'parrot;Range;!to_test' pc 8402 (src/classes/Range.pir:391)␤»
19:56 p6eval ..pugs: OUTPUT«*** No such subroutine: "&enum"␤    at /tmp/3LbgPZsVrH line 1, column 1-27␤»
19:58 bacek perl6: enum Day <Sunday Saturday>; say Day::Sunday == Day::Sunday; say Day::Sunday cmp Day::Sunday
19:58 p6eval pugs: OUTPUT«*** No such subroutine: "&enum"␤    at /tmp/QBDZWblzaK line 1, column 1-27␤»
19:58 p6eval ..rakudo a0a390: OUTPUT«1␤0␤»
19:58 p6eval ..elf 25345: OUTPUT«Parse error in: /tmp/gbvgx5smi6␤panic at line 1 column 0 (pos 0): Can't understand next input--giving up␤WHERE: enum Day <Sunday Saturday>; sa␤WHERE:/\<-- HERE␤  STD_red/prelude.rb:99:in `panic'␤  STD_red/std.rb:76:in `scan_unitstopper'␤  STD_red/std.rb:224:in `comp_unit'␤
19:58 p6eval ..STD_r...
19:59 bacek summon masak for reporting bug :)
20:00 avar joined #perl6
20:00 jrockway joined #perl6
20:05 oskie joined #perl6
20:05 kane__ joined #perl6
20:07 jrockway joined #perl6
20:13 alester joined #perl6
20:25 maerzhase joined #perl6
20:29 alester joined #perl6
20:34 jrockway_ joined #perl6
20:35 jrockway_ left #perl6
20:43 eternaleye joined #perl6
20:46 jrockway_ joined #perl6
21:04 eternaleye joined #perl6
21:10 alanhaggai_ joined #perl6
21:10 rindolf joined #perl6
21:16 pmurias joined #perl6
21:20 shinobi-cl left #perl6
21:25 Eevee joined #perl6
21:27 justatheory joined #perl6
21:31 zostay joined #perl6
21:39 hanekomu joined #perl6
21:42 eternaleye joined #perl6
21:48 pugs_svn r25346 | putter++ | [elfparse] Added <![ ]>.  std.pm: more hackish unpodding, and setup for emacs outline mode.  With EXPR crowbarred, comp_unit accepts '3;'.
21:49 jrockway joined #perl6
22:05 shinobi-cl joined #perl6
22:06 shinobi-cl left #perl6
22:06 riffraff joined #perl6
22:34 eternaleye joined #perl6
22:55 mikehh joined #perl6
23:22 aindilis` joined #perl6
23:54 bacek_ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo