Camelia, the Perl 6 bug

IRC log for #perl6, 2009-12-04

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:15 cognominal I can't find where  Parrot_get_ctx_HLL_type is defined :(
00:16 [particle] make tags-vi; vim -t Parrot_get_ctx_HLL_type
00:20 r0bby joined #perl6
00:20 masak is $.attr a variable or a method call?
00:23 Exodist joined #perl6
00:26 cognominal [particle],   thx. Was using ETAGS and emacs. Don't know what I did wrong.  probably bed time.
00:27 cognominal ha, was searching using wrong table :(
00:28 pointme joined #perl6
00:30 colomon_ joined #perl6
00:34 colomon joined #perl6
00:35 carlin (re: kicking lambdabot, from the backlog) once rakudo can handle large text-files without segfaulting mubot could replace it, at the moment it segfaults after ~6 hours
00:37 masak carlin++ # for mubot
00:38 masak diakopter: ping
00:42 sjohnson calbot
00:42 sjohnson carl*
00:43 masak for some reason, I prefer the name 'masakbot'.
00:43 masak I don't know why; maybe because I associate my nick more with IRC.
00:43 masak sjohnson: oh, but maybe you meant carlin :)
00:50 frettled carlin ain't a bot
00:50 frettled carlin++ - go you!
00:51 quantumEd joined #perl6
00:51 frettled masak: I also like masakbot better, that fits the IRC persona.  Besides, carlbot sounds like some kind of badguy from a cheesy movie.  :)
00:51 diakopter masak: .WHAT
00:52 masak diakopter: my tree spider works now. :)
00:52 masak http://gist.github.com/247924
00:52 diakopter ok, I'll make it into a p6eval target
00:52 diakopter :)
00:52 masak er.
00:52 masak no, it's just a prototype :)
00:53 masak it has the regex and the input hard-coded...
00:54 diakopter yeah
00:54 masak diakopter: during the past few hours, I realized that backtracking needs to be trated as a different sort of failure than simply not matching. quantifiers, for example, behave differently when their cargo fails than when they get a 'backtrack' instruction.
00:54 diakopter does it work with multiple layers of backtracking?
00:54 masak diakopter: yes, that's the whole point of the example.
00:54 diakopter well
00:54 masak diakopter: well, vertical layers.
00:55 masak diakopter: it doesn't do horizontal layers. but I can handle that in other ways.
00:56 masak diakopter: another thing which I realized, and haven't quite accepted yet is that each backtracking node needs to register its savepoint *as far up in the tree as possible*, often in another backtracking-capable node.
00:57 masak frettled: I've always wanted to be some kind of bad guy from a cheesy movie :)
00:57 frettled masak: like the «Russian hacker» in Goldeneye?
00:58 diakopter "I am eenveencible!"
00:58 masak frettled: ergh, I hate that guy!
00:58 masak frettled: he's so full of hubris that the very movie PHYSICS conspire to kill him.
00:59 masak but I do recognize the feeling of flow in front of the computer. :P
01:00 diakopter "I am eenveencible!"
01:00 diakopter *BOOM*
01:00 frettled masak: With the right kind of lighting (and perhaps some lightning), I'm sure we can portray you as a reaaaaly bad guy.
01:00 * masak smiles with one side of the mouth
01:00 frettled yes! yes!
01:01 * masak pets his long-haired white cat in his lap
01:02 * masak cuts open a cuban cigar with a small pair of scissors manufactured for just that purpose
01:02 diakopter masak: why do you need the Group.new
01:02 diakopter in that test pattern
01:02 masak diakopter: I don't. it's useless.
01:03 masak diakopter: but in my earlier attempts to understand backtracking, a simple Group could throw me off.
01:03 frettled diakopter: It's just how his evil genius works.
01:03 supernovus joined #perl6
01:04 romanhunt joined #perl6
01:04 sjohnson sbotson
01:05 masak diakopter: the Group is there for added realism, I guess. PGE doesn't optimize them away -- I checked a few days ago.
01:05 masak though I think it could.
01:08 diakopter masak: my $regexp = RegexContainer.new( Concat.new( Quant.new( 0, Inf, GREEDY, Quant.new( 1, Inf, FRUGAL, Literal.new('a') ) ), Literal.new('a'), Literal.new('b') ) ); # input: aaaaaaaaaaaaaaa
01:09 masak diakopter: yup, it doesn't handle two horizontal backtrack handlers.
01:09 masak but adding that is trivial.
01:09 diakopter I showed my regex engine to guy with an ivy league compsci phd, and he gave me that pattern and asked me how long it took to fail
01:10 masak instead of allowing one savepoint per node in the tree, allow a stack of them.
01:10 diakopter but each could have a different start index
01:10 masak oh wait. these are nested. nevermind.
01:11 masak diakopter: yes, it would take quite some time to fail.
01:11 diakopter how long :)
01:11 masak there's only one way to find out. :)
01:11 * masak finds out
01:12 diakopter try it with just aaaa
01:12 masak ok :)
01:13 diakopter equiv is  /(?:a+?)*ab/
01:14 masak diakopter: can I merge the two last literals into one literal 'ab'?
01:14 masak that's how GGE would do it.
01:15 diakopter sure
01:15 * masak removes the built-in timeout
01:15 masak it runs, but it hit that.
01:15 diakopter time v8 -e '/(?:a+?)*ab/.test("aaaaaa​aaaaaaaaaaaaaaaaaaaaaa")' # real    0m1.963s
01:15 nihiliad joined #perl6
01:16 masak :)
01:16 masak that is impressive.
01:16 masak what kind of optimizations are involved?
01:17 diakopter it's not impressive
01:17 diakopter it's quadratic
01:17 diakopter after 20 chars or so it's noticeable
01:17 masak I see.
01:17 colomon_ joined #perl6
01:17 masak a tenth of a second seemed little for such a long string.
01:18 diakopter time perl -e 'print "a" x 500 =~ /(?:a+?)*ab/'  # real    0m0.012s
01:19 masak whoa.
01:20 diakopter time perl -e 'print (("a" x 50000000) =~ /(?:a+?)*ab/)'  # real    0m0.319s
01:20 diakopter oh wait
01:21 * diakopter ID10T
01:21 diakopter wait, no
01:21 diakopter it's fine
01:22 masak diakopter: I am saddened to report that my tree spider doesn't seem to want to stop matching your regex. :/
01:22 masak must be a bug of some sort.
01:22 diakopter even with input  "a"?
01:23 * masak tries
01:24 masak yes, it ends up in some tight loop where it keeps backtracking to the same quantifier.
01:24 masak I'll see if I can understand what's going on.
01:24 masak diakopter++ # shaking out bugs
01:25 * diakopter is glad to be in the mentor role for once
01:25 diakopter aka taskmaster
01:25 masak in order to prove that the tree spider is slow, we must first make it terminate. :)
01:25 diakopter writing a parser/lexer engine is a learning process
01:25 masak undoubtedly.
01:26 diakopter hint:
01:27 c1sung joined #perl6
01:27 diakopter if you continue down the fully-backtracking combinator route, you'll need to "instantiate" (or "clone") each node from the original, and having a "working" tree [logically] distinct from the original pattern tree
01:28 masak diakopter: because of reentrancy?
01:28 diakopter otherwise it'll be very tricky to manage all the savepoints.
01:29 diakopter but you're on the right track with the savepoints
01:29 masak I like the game analogy. :)
01:29 diakopter just instantiate a savepoint for every node before actually visiting it....
01:30 masak every node? I think you just lost me...
01:30 diakopter and prototype it in a language with a faster feedback loop :P
01:30 diakopter (half-kidding)
01:30 masak heh. :)
01:31 masak I'm used to Rakudo's feedback loop.
01:31 masak hah! found the bug!
01:31 masak a failing node which activates a stored savepoint should unregister that savepoint.
01:31 colomon_ rakudo: say (1, 2, 3)>>++
01:31 masak it's up to the backtracking node to subsequently re-register it.
01:31 p6eval rakudo 7ef386: Confused at line 2, near ">>++"␤in Main (file <unknown>, line <unknown>)␤
01:31 diakopter does it fail on "aaa"?
01:32 masak I just tried 'aaaa'.
01:32 masak let me time it.
01:32 diakopter pugs: say (1, 2, 3)>>++
01:32 p6eval pugs: <Error><Error><Error>␤
01:32 diakopter elf: say (1, 2, 3)>>++
01:32 p6eval elf 29254: Useless use of a constant in void context at (eval 122) line 3.␤Can't modify constant item in postincrement (++) at (eval 122) line 3, near ")++"␤Too many arguments for postincrement (++) at (eval 122) line 3, near ")++"␤ at ./elf_h line 5881␤
01:32 masak diakopter: real 10.353s :)
01:32 masak diakopter: some of that is spent compiling the script.
01:32 diakopter O_O
01:33 diakopter :) mine wasn't much (any) better on small inputs, to start...
01:33 colomon_ std: say (1, 2, 3)>>++
01:33 p6eval std 29254: ok 00:01 106m␤
01:33 diakopter std: say (1, 2, 3)>>>>>>>>>>>>>>>>>>>>>>>>>>++
01:33 colomon_ rakudo: say (1, 2, 3)»++
01:33 p6eval std 29254: ok 00:01 104m␤
01:33 p6eval rakudo 7ef386: Confused at line 2, near "\x{bb}++"␤in Main (file <unknown>, line <unknown>)␤
01:33 masak diakopter: I'm not out to be fast. :)
01:34 diakopter "you will be.   you.  will.  be."
01:35 masak I've just become entranced with the idea of making a Perl 6 parser in Perl 6.
01:35 colomon_ yes another hole in rakudo's hyperoperators.  sigh.
01:35 diakopter masak: well, frankly nqp-rx can almost handle a version of what you have there...
01:36 masak diakopter: oh, I'm sure.
01:36 masak diakopter: do you know if nqp-rx uses continuations?
01:36 diakopter for PAST::Regex?  I think so
01:36 colomon_ rakudo: say (1, 2, 3)>>.sin
01:36 p6eval rakudo 7ef386: 0.8414709848078970.9092974​268256820.141120008059867␤
01:36 diakopter pmichaud: would know :D
01:36 masak my guess is that it does, i.e. it's Parrot-specific.
01:37 masak GGE won't be. :)
01:37 diakopter orly
01:37 cognominal CGE?
01:37 diakopter what other backend....?
01:37 masak it might not ever be useful, but it'll be a nice use case for Perl 6.
01:37 masak diakopter: if it's written in portable Perl 6, any backend.
01:37 masak colomon_: no, GGE.
01:37 diakopter yeah it'd be a good benchmark framework
01:37 masak exactly.
01:38 xenoterracide joined #perl6
01:38 diakopter heh
01:38 masak colomon_: sorry, that was for cognominal :/
01:38 colomon_ masak: I gathered as much.  :)
01:40 xenoterracide joined #perl6
01:41 diakopter masak: yeah, but I'm making a point about Perl 6 backends
01:41 diakopter to myself, perhaps
01:42 masak diakopter: what point?
01:42 mikehh joined #perl6
01:46 xenoterracide_ joined #perl6
01:47 slavik joined #perl6
01:48 carlin http://gist.github.com/248768 # If anyone has any spare tuits and could figure out why that output of that is garbled (note the "fef"s in the output), feel free :-)
01:48 * carlin has to go to work
01:50 masak huh. 'fef'.
01:51 diakopter about the lack of backends
01:53 masak oh, agree. Rakudo is the only backend where it'll even run. however, not due to GGE not being portable, but due to the state of the other backends out there.
01:54 masak carlin: I can reproduce the 'fef's here. I have no idea what causes them.
01:57 diakopter carlin: http://en.wikipedia.org/wik​i/Chunked_transfer_encoding
02:00 dalek joined #perl6
02:01 mikehh joined #perl6
02:02 diakopter chunked chunked chunked
02:04 masak TimToady: I just realized that, by S02, $.foo will interpolate in qq strings and call the method .foo, regardless of whether there's an attribute $!foo or not in the class. perhaps that doesn't matter much, but it feels kinda strange since all other method calls must have '()' after them. :)
02:05 huf what can i pass to perl6 --target= other than pir?
02:05 masak huf: parse, past, post... I think.
02:05 * masak checks
02:05 rgrau joined #perl6
02:06 agentzh joined #perl6
02:09 masak huf: yup, those are the ones, it seems.
02:10 diakopter WOW   http://use.perl.org/~schwern/journal/39972
02:11 diakopter AWESOME.  (yes, I think that's worth yelling about)
02:13 masak it sounds pretty awesome, yes.
02:13 mikehh joined #perl6
02:19 JimmyZ joined #perl6
02:25 orafu joined #perl6
02:27 mikehh joined #perl6
02:40 huf what's the difference between @a=1,2; and $a=1,2; ? aside from @a interpolating in lists and $a not.
02:45 carlin diakopter: that explains a lot
02:45 carlin what a hassle
02:46 masak huf: well, both $a and @a will contain an Array after the assignment, so I'm tempted to answer 'not much'.
02:47 masak huf: Perl 6 essentially offers you the "$ can contain anything" approach of PHP, but unlike PHP, there are also @ and % and & for when you would like to be more specific.
02:47 mikehh joined #perl6
02:48 carlin either there's a i-dont-understand-chunked-you-insensitive-clod header or I'll be busy this weekend :/
02:49 huf masak: hmm, so converting between one kind and the other is like \@a and $a[] ?
02:49 envi^office joined #perl6
02:49 huf what's the equivalent for hashes?
02:49 masak huf: that's the kind of question I'd never dare answer without running some code to check. :)
02:49 huf ;))
02:49 masak huf: the equivalent of what?
02:50 huf of that for arrays. converting an interpolating array into a non-interpolating one and vice versa
02:50 masak huf: no, I think 'converting' gives the wrong impression. both $a and @a contain the same value, an Array.
02:50 masak huf: so there's no conversion, just $a = @a, and... the other direction I'm not certain about.
02:51 masak rakudo: my $a = 1, 2, 3; my @a = $a; say @a.perl
02:51 p6eval rakudo 7ef386: [[1, 2, 3]]␤
02:51 masak as I suspected, that gives you an extra layer.
02:51 masak I usually unpack such a layer with .list
02:51 huf it's a sharp array
02:51 masak rakudo: my $a = 1, 2, 3; my @a = $a.list; say @a.perl
02:51 p6eval rakudo 7ef386: [1, 2, 3]␤
02:52 huf ha!
02:52 masak guess | works as well.
02:52 masak rakudo: my $a = 1, 2, 3; my @a = |$a; say @a.perl
02:52 p6eval rakudo 7ef386: too many positional arguments: 4 passed, 2 expected␤in Main (file <unknown>, line <unknown>)␤
02:52 masak uh.
02:52 mikehh joined #perl6
02:53 masak did I just confuse the assignment builtin?
03:00 JimmyZ good morning, #perl6
03:00 JimmyZ rakudo: my @a = 1, 2, 3; my $a = |@a; say $a.perl
03:00 p6eval rakudo 7ef386: too many positional arguments: 4 passed, 2 expected␤in Main (file <unknown>, line <unknown>)␤
03:01 masak JimmyZ: 早啊
03:01 JimmyZ rakudo: my @a = 1, 2, 3; my $a = |@a; say $a>>.perl
03:01 p6eval rakudo 7ef386: too many positional arguments: 4 passed, 2 expected␤in Main (file <unknown>, line <unknown>)␤
03:01 masak JimmyZ: no, the error happens on the second statement.
03:06 JimmyZ I don't know how to use it.
03:07 JimmyZ rakudo: my $a = 1, 2, 3; |$a.say;
03:07 p6eval rakudo 7ef386: 123␤
03:07 mikehh joined #perl6
03:07 Wolfman2000 rakudo: my $a = 1, 2, 3; |$a.join(" ").say;
03:07 p6eval rakudo 7ef386: 1 2 3␤
03:07 JimmyZ hmm, that's be used to flatten args.
03:07 masak rakudo: my @a = 1, 2, 3; my $a = |@a
03:07 p6eval rakudo 7ef386: too many positional arguments: 4 passed, 2 expected␤in Main (file <unknown>, line <unknown>)␤
03:07 JimmyZ s/be//
03:08 masak JimmyZ: yes, exactly. but assignment is not a call.
03:08 JimmyZ yes
03:08 masak so those are not args.
03:08 JimmyZ rakudo: my $a = 1, 2, 3; my @ = (|$a) ;
03:08 p6eval rakudo 7ef386: Malformed declaration at line 2, near "@ = (|$a) "␤in Main (file <unknown>, line <unknown>)␤
03:08 JimmyZ rakudo: my $a = 1, 2, 3; my @b = (|$a) ;
03:08 p6eval rakudo 7ef386:  ( no output )
03:08 quantumEd what's (|$a)?
03:09 JimmyZ rakudo: my $a = 1, 2, 3; my @b = (|$a) ; @b.perl.say;
03:09 p6eval rakudo 7ef386: [[1, 2, 3]]␤
03:09 quantumEd rakudo: say |1,2,3
03:09 p6eval rakudo 7ef386: flattened parameters must be a hash or array␤in Main (file <unknown>, line <unknown>)␤
03:09 JimmyZ rakudo: my $a = 1, 2, 3; my @b = |$a ; @b.perl.say;
03:09 p6eval rakudo 7ef386: too many positional arguments: 4 passed, 2 expected␤in Main (file <unknown>, line <unknown>)␤
03:09 quantumEd flatten
03:09 JimmyZ rakudo: my $a = 1, 2, 3; my @b = (|$a) ; @b>>.perl.say;
03:09 p6eval rakudo 7ef386: [1, 2, 3]␤
03:09 masak I'll just pre-emptively submit it as a bug, and we'll see what happens.
03:10 * masak submits
03:10 JimmyZ it'd be a bug.
03:10 masak at the very least, it's less than... clear what happens. :)
03:10 JimmyZ ng: my $a = 1, 2, 3; my @b = |$a ; @b.perl.say;
03:10 p6eval ng 545373: Confused at line 1, near "my @b = |$"␤current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336)␤
03:11 JimmyZ masak: there's another bug in master, but ng hadn't.
03:11 masak JimmyZ: which one are you thinking of?
03:11 JimmyZ rakudo: say ~Str.^methods;
03:11 p6eval rakudo 7ef386: encode succ WHICH ACCEPTS perl sprintf Scalar Complex Str pred map cis comb log atan min acos max bytes chop sin rindex tanh Int values asinh acosech abs end ceiling p5chomp keys kv floor asech ord capitalize pick round evalfile int split match acosh words p5chop lc join sinh cotan
03:11 p6eval ..acotan…
03:11 JimmyZ rakudo: ~Str.^methods.say;
03:11 p6eval rakudo 7ef386:
03:11 p6eval ..ComplexStrpredencodesuccperlACCEPTSWHICHsprintf​Scalarfmtbytespickevalfileacosecjoinsinhasinhcose​chtrimasecchracotanhfloorsechasechrandtruncaterou​ndsortsqrtrindexasinsplitcoshexpmatchacoshgrepwor​dsvaluescancotanatan2lcfirstsrandmappolarciskvsam​ecaselogmincapitalizemaxtransfirstsinflipdoesI…
03:12 JimmyZ ng: ~Str.^methods.say;
03:12 p6eval ng 545373: WHICH pred perl ACCEPTS succ sec map cis comb log atan acos bytes chop sin tanh asinh acosech abs ceiling floor asech ord round split match acosh words p5chop lc join sinh cotan acotan atan2 trim asec reverse isa cotanh ucfirst tan sech cos rand fmt sqrt asin cosh chomp index uc chr
03:12 p6eval ..acota…
03:12 JimmyZ ng: say ~Str.^methods;
03:12 p6eval ng 545373: WHICH pred perl ACCEPTS succ asinh acosech abs ceiling floor asech ord round split match acosh words p5chop lc join sinh cotan atan2 acotan trim reverse asec cotanh isa ucfirst tan sech cos rand fmt sqrt asin cosh chomp uc index chr acotanh substr flip does atanh exp cosec acosec chars
03:12 p6eval ..ca…
03:12 masak heh :)
03:13 JimmyZ I don't know which one is a bug, but I guest the second.
03:13 masak actually, I'm with rakudo master on this one.
03:13 masak ~Str.^methods.say should mean ~(Str.^methods.say)
03:13 masak so it prints the list without first stringifying it; hence the lack of spaces.
03:14 JimmyZ so there are all bugs?
03:14 masak .say returns 1, which is stringified by '~'
03:14 masak JimmyZ: no, rakudo master has it right.
03:14 JimmyZ ng: ~(Str.^methods.say);
03:14 p6eval ng 545373: succ ACCEPTS WHICH pred perl cotan atan2 lcfirst uc sec map cis log substr sin acosec join sinh cosech acosech abs chomp index ceiling trim asec sech rand ord sqrt asin atanh cosec cosh chars roots reverse isa ucfirst tan cos fmt bytes flip does lc p5chop asinh acotan cotanh chr acotanh
03:14 p6eval ..c…
03:14 masak that's also wrong, yes.
03:14 JimmyZ oh
03:14 masak but I don't submit ng bugs. :)
03:14 JimmyZ rakudo: ~(Str.^methods.say);
03:14 p6eval rakudo 7ef386:
03:14 p6eval ..WHICHperlACCEPTSsprintfScalarComplexStrpredenco​desuccatanordacoschoptanhintatanhcoseccharsrootsu​creversekeysisaucfirsttansubstrcosfmtbytespickeva​lfileacosecjoinsinhasinhcosechtrimasecchracotanhf​loorsechasechrandtruncatesortroundrindexsqrtasins​plitcoshmatchexpacoshgrepwordsvaluescancotanat…
03:15 JimmyZ all are bugs.
03:15 JimmyZ rakudo: Str.^methods.say.perl.say;
03:15 p6eval rakudo 7ef386:
03:15 p6eval ..encodesuccWHICHACCEPTSperlsprintfScalarComplexS​trpredmap:dcis:e:flogsechminrandmaxtruncatebytess​ortsinsqrtasinIntcoshgrepasinhacosechabsenducceil​ingp5chompsamecasefloorsubstrasechordroundflipdoe​sintsplitmatchacoshacosecwordscosechcotanatan2sra​ndreverseisapolarucfirstcombtanatancosacosfmtt…
03:16 JimmyZ rakudo: ~(Str.^methods.say.perl).say;
03:16 p6eval rakudo 7ef386:
03:16 p6eval ..predencodesuccACCEPTSperlWHICHsprintfScalarComp​lexStrtrimaseccotanhmap:dcis:e:flogsechminrandmax​truncatebytessortsinsqrtasinIntcoshgrepasinhacose​chabsenducceilingp5chompsamecasefloorsubstrasecho​rdroundflipintdoessplitmatchacoshacosecwordscosec​hcotanatan2srandreverseisapolarucfirstcombtana…
03:16 JimmyZ rakudo: (~(Str.^methods.say.perl)).say;
03:16 p6eval rakudo 7ef386:
03:16 p6eval ..sprintfScalarComplexStrpredsuccencodeperlACCEPT​SWHICHacotanlcfirstrootsreducetrimaseccotanhmap:d​cis:e:flogsechminrandmaxtruncatebytessortsinsqrta​sinIntcoshgrepasinhacosechabsenducceilingp5chomps​amecasefloorsubstrasechordroundflipintdoessplitma​tchacoshacosecwordscosechcotanatan2srandrevers…
03:21 diakopter yes, it's that say () parsing issue
03:29 pointme joined #perl6
03:30 carlin blogspot is weird, it doesn't fully respect the Accept-Encoding header and it won't encode as gzip unless I pretend to be firefox (not that gzip would help ...)
03:40 agentzh joined #perl6
03:55 perlygatekeeper1 joined #perl6
03:58 s1n aww man, that was a rough semester
03:58 s1n what's been happening in the world of perl6 in the last few months?
03:59 s1n pmichaud: will you have time this weekend? i really want to set up dallas.p6m.org
04:00 jaldhar joined #perl6
04:02 masak s1n: hello. welcome back.
04:03 masak s1n: I think the two most exciting things going on right now are the 'ng' branch in rakudo, and the Perl 6 Advent Calendar.
04:06 Wolfman2000 ...so Perl 6 DOES have a testing module that doesn't require Perl 5
04:06 s1n masak: got a link to the advent calendar?
04:06 Wolfman2000 s1n: http://perl6advent.wordpress.com
04:06 masak Wolfman2000++ # faster
04:06 masak Wolfman2000: oh, it does. it's had that for years. :)
04:08 s1n okay, interesting
04:09 s1n it feels weird, i haven't built rakudo since like september
04:10 masak Camelia got a Christmas hat! cute!
04:10 masak whoever++
04:10 JimmyZ rakudo: (~(Str.^methods.say.perl)).print;
04:10 p6eval rakudo 7ef386:
04:10 p6eval ..StrpredencodesuccperlWHICHACCEPTSsprintfScalarC​omplexreverseisaucfirstkvsamecasetancoscapitalize​fmtbytesflipdoesp5choplcasinhacotanreducecotanhch​racotanh:d:e:fcombfloorasechatanacosroundchoptanh​splitexpmatchacoshwordscancotanatan2lcfirstucsran​dkeyspolarmapcislogsubstrminmaxpicktransevalfi…
04:14 s1n i guess it's time to update my git clone :/
04:14 xenoterracide joined #perl6
04:20 am0c joined #perl6
04:26 mberends joined #perl6
04:30 masak mberends: morning. :)
04:31 mberends masak: a good $early-morning from me to a good $late-night to you
04:32 masak there's some suggestive symmetry to it all.
04:32 * mberends enjoyed the backlogging
04:32 zaphar_ps joined #perl6
04:32 masak mberends: did you see my spider? :)
04:33 mberends masak: yes! it looks like baby steps, but full of potential
04:33 masak mberends: I think it's the third or fourth time I rethink the matching engine in GGE.
04:34 mberends someone needs to teach you to program in C though. then we'd have something really useful ;)
04:34 mberends to remove the 'glacial'
04:34 masak mberends: actually, I've half a mind, once I've finished GGE to a reasonable extent, to port it to something faster.
04:35 mberends so do i
04:35 masak C is clearly a candidate.
04:35 masak Ruby is another; someone asked on StackExchange about Perl 6 regexes for Ruby. would be fun to provide it for them.
04:35 justatheory joined #perl6
04:36 mberends yesterday I claimed the p6re namespace with something similar in mind
04:37 masak if you want a co-conspirator, you know where to find me. :)
04:38 mberends if you do it in C it would help not only Ruby but the whole world
04:38 masak o.O
04:38 mberends masak: deal, soon
04:39 masak mberends: though from the helping-the-world perspective, I fear installed-modules is more urgent.
04:40 mberends it's been interesting to see the interest in installed-modules, without any effort being invested in it. apparently we both have more interesting/important things to do, and nobody else is going near proto.
04:41 brrant joined #perl6
04:42 masak mberends: well, it's hard work, and I'd gladly do it. but I think I need more of your presence to attempt it. need someone to discuss pros and cons with.
04:42 mberends either its roadmap is wrong, or it's just a long SMOP
04:43 masak it *is* a long SMOP, but inevitably questions turn up along the way.
04:43 masak I don't feel familiar with the internals anymore, for example.
04:44 mberends me neither, but it will be 2010 before tuits become available
04:44 masak ok.
04:44 mberends ELOWBUSNUMBER
04:45 masak I'll make an assessment really soon about whether it's worth putting effort into bringing installed-modules to its goal in time for the ng merge.
04:47 masak mberends: well, proto is my most famous mind child of them all. :) it's also the project that has gotten the most outside help, and the highest number of feature requests.
04:47 masak in short, proto is one big unintended success story in the Perl 6 world.
04:48 masak that's why, I guess, I agreed to extending its life by doing the installed-modules thing. even though that change seemingly makes the work to much for one single developer.
04:48 Wolfman2000 evening. sorry for lots of idling. almost done with my third final. Apparently I missed the memo that this one was changed from something else to something easier. :)
05:06 masak might I recommend this for light reading? http://projectfortress.sun.com/Projects/C​ommunity/blog/ObjectOrientedTailRecursion
05:15 pnate joined #perl6
05:24 mberends no
05:25 masak in that case, I quickly retract my recommendation... :)
05:25 mberends or recommend it for something else :)
05:26 masak actually, it was a general recommendation, for anyone who might fancy yet another morsel of musings by Mr Steele.
05:27 masak he usually has nice things to say, and I know that there are people on this channel who like to read such material. I haven't read it myself yet.
05:31 Wolfman2000 masak: Tuesday night EST, I will basically be free from college. What will you want me to do then?
05:31 masak Wolfman2000: something that makes you happy. :)
05:32 Wolfman2000 masak: I meant in terms of Perl 6
05:32 masak me too.
05:32 masak I don't have any specific task for you right now.
05:33 masak but if you pick up a project that I've been involved in and toy with it, I'll be happy to guide you or answer questions or fix bugs or point to documentation or whatever.
05:33 hercynium joined #perl6
05:33 Wolfman2000 ...it's been shown to me that Web.pm is usable. Squerl is usable as well, even if I don't know all of the functionality.
05:34 Wolfman2000 Login functionality is also usable.
05:34 Wolfman2000 ...what is the proper way of handling syntax highlighting using Perl 6 anyway?
05:34 Wolfman2000 I think that's the one thing I'm still confused about?
05:35 zloyrusskiy joined #perl6
05:35 masak Wolfman2000: I know of no way to handle syntaxhighlighting of Perl 6 in Perl 6.
05:35 masak Wolfman2000: therefore, by necessity, that task would have to be shelled out to something that can, for example STD.pm.
05:36 Wolfman2000 masak: As it's been...kind of shown, isn't STD.pm a Perl 5 module?
05:36 masak the part that runs is, yes.
05:36 TimToady STD.pm is P6, but it's translated to P5 to run it
05:37 Wolfman2000 TimToady: how can we make P6 syntax highlight P6 then?
05:37 TimToady implement P6
05:37 masak \o/
05:37 Wolfman2000 ...alright, I'm missing a step here.
05:37 Wolfman2000 isn't rakudo already doing that?
05:37 masak sure, but not enough.
05:37 TimToady it's...trying...
05:38 TimToady rakudo isn't close to running STD.pm properly; ng will have a better chance of it
05:38 Wolfman2000 ...then I'll stick to the Perl 5 written pastebin for Perl 6 then
05:38 TimToady for one, requires laziness to implement backtracking
05:39 TimToady re Mu.defined, maybe the method can be defined in both Mu and in Any
05:40 Wolfman2000 ...basically, nothing is ever simple
05:40 TimToady Mu is pretty simle
05:41 TimToady *simple
05:41 TimToady Nil doesn't have much to it either
05:43 masak I've always been a fan of ⊥ in that respect.
05:44 Wolfman2000 .u ⊥
05:44 phenny U+22A5 UP TACK (⊥)
05:44 masak it has every type imaginable, and is thus so encumbered by functionality that it in effect can do nothing at all.
05:48 TimToady since it's the opposite of Mu, we'd have to call it Um
05:48 Wolfman2000 ...umm...
05:48 Wolfman2000 can't say I like that idea
05:48 masak 哈哈
05:48 masak it's not *worse* than Mu. :)
05:48 TimToady yes, you can say it, you just can't say it and mean it
05:49 masak can't mean I like the idea.
05:49 TimToady you're not very mean, or close to it
05:49 nbrown masak: I saw you and mberends talking about proto and I'd like to help land the installed-modules branch if I can
05:49 nbrown masak: I finally have time to play with p6 again
05:50 masak nbrown: excellent!
05:50 kaare joined #perl6
05:50 nbrown i have one small issue, that maybe you can help with
05:50 masak let's hear it.
05:50 nbrown i've been doing my dev on windows and the issues with the run command not working exactly correctly stopped me
05:51 nbrown can i get a feather account to do some linux dev?
05:51 masak nbrown: sure just contact Juerd_.
05:52 masak nbrown: I think he prefers emails sent to him for feather access. give your desired user name, and your reason for wanting an account, and you should be set.
05:52 mberends hello, US based insomniacs!
05:53 * masak is a Europa-based insomniac
05:53 masak s/pa/pe/
05:53 nbrown masak: ok, will do.  My windows work kinda died a while ago due to run and windows not playing nice and then me running out of time, and now I'm ready to try to make it work again
05:53 mberends masak: give the proto pumpkin to nbrown++ before he runs away!
05:53 nbrown mberends: hi!
05:54 masak the pumpin is lying here on the ground, for anyone to claim. :)
05:54 nbrown mberends: I've been wanting to get back involved, so I won't run away, I just might need to get my act in gear again
05:55 nbrown masak: what's Juerd_'s email address?
05:55 mberends hi nbrown, you're very welcome here, and we might even help you in turn ;)
05:55 masak nbrown: his name has five letters. put it before and after the '@', and finish off with '.nl'
05:56 mberends cryptic
05:56 nbrown mberends: I've been a lurker for a long time and I already have a proto clone on github: http://github.com/nbrown/proto, but it's time to stop lurking and start really helping
05:56 masak nbrown++
05:56 nbrown masak: thanks
05:56 masak wow, wishes do come true.
05:56 masak lurkers: could you get me a new computer, too? :)
05:56 mberends nbrown: excellent, we've become a bit burned out on proto
05:57 masak yes, I think we have.
05:57 masak need new brains... er, new volunteer efforts.
05:57 mberends (fresh minds)++
05:57 * Wolfman2000 puts away his finals work...basically done for the night, but can easily finish this part in the morning.
05:58 nbrown fresh eyes/minds are always good
05:58 * mberends whispers to masak that Wolfman might like proto too
05:59 masak Wolfman2000: I just had an interesting idea!
05:59 Wolfman2000 mberends: I've tried proto. I'm waiting for it to mature a bit.
05:59 Wolfman2000 masak: all ears
05:59 masak Wolfman2000: would you like to help nbrown and me land the installed-modules branch in proto?
05:59 masak it would be a great service to humanity.
05:59 Wolfman2000 masak: ask again when my finals are done.
06:00 masak sure thing.
06:00 masak make a continuation...
06:00 * Wolfman2000 has already made some contributions to Perl 6, but school has to come first.
06:00 mberends a continuation... is like an IOU, is it?
06:00 Wolfman2000 Now, if there is a way for me to get retroactive grant money or something for my helping Perl 6, that would be great.
06:02 nbrown one other thing i keep meaning to ask about, is Perl 6 going to have a FileSpec type module, or is S32 - IO supposed to take care of all of that?
06:02 mberends \o  # commute
06:04 TimToady btw, (backloggin) you guys kept writing my $x = 1,2,3; which doesn't work in real P6
06:04 TimToady scalar assignment is tighter than ,
06:04 masak oh, right.
06:05 Wolfman2000 let me guess...
06:05 Wolfman2000 rakudo: my $x = (1,2,3); my @x = |$x; say @x.perl;
06:05 p6eval rakudo 7ef386: too many positional arguments: 4 passed, 2 expected␤in Main (file <unknown>, line <unknown>)␤
06:05 Wolfman2000 ...bother if I recall the tests you guys were doing
06:07 masak I know about the scalar assignments, but I haven't internalized it yet.
06:07 masak wonder if there's any broken Perl 6 code out there in the cheese.
06:08 TimToady rakudo: my $x = (1,2,3); my @x = @$x; say @x.perl
06:08 p6eval rakudo 7ef386: Symbol '@$x' not predeclared in <anonymous> (/tmp/CGeN9zBlPG:2)␤in Main (file <unknown>, line <unknown>)␤
06:08 TimToady rakudo: my $x = (1,2,3); my @x = @($x); say @x.perl
06:08 p6eval rakudo 7ef386: [1, 2, 3]␤
06:15 nbrown masak: can you think of any changes we should make to the proto TODO list, or should I just start in on it once I have a non windows box to play on?
06:16 masak nbrown: hold on, I'll dig out the logs from the last time I touched proto.
06:16 nbrown masak: cool, thanks
06:18 masak nbrown: http://use.perl.org/~masak/journal/39864 http://use.perl.org/~masak/journal/39866
06:18 masak (the lower parts)
06:20 nbrown masak: ok, that should be something I can tackle :)
06:20 masak nbrown: I can also easily define for you what would be considered a winning criterion: if proto can pull down and install the whole bunch of projects listed in projects.list, then installed-modules is definitely ready. :)
06:20 nbrown masak: yeah, I figured that one out :)
06:21 masak mberends++ # writing a detailed TODO plan
06:21 masak nbrown: I figured you might. the reason it's important, though, is that Emmentaler depends on exactly that.
06:21 nbrown masak: a while ago I made that installed-modules-windows branch and tried to tackle the TODO plan, but windows perl 6 run issues kinda made it impossible
06:21 nbrown masak: what exactly is Emmentaler?
06:21 masak too bad. we could use some Windows users.
06:22 Wolfman2000 masak: I secure deleted my Windows 7 VM
06:22 Wolfman2000 So no go there
06:22 masak Emmentaler is an idea of a project to inspect the world of Perl 6 projects, by running nightly tests and controls on them.
06:22 nbrown the bit issue was run('dir some/path') did not necessarily return what was expected, so I couldn't make it work for installing the projects
06:23 masak :/
06:23 nbrown masak: cool, I'll be glad to help out with that too when we get proto working
06:23 masak also, the clock is kinda ticking. :)
06:24 nbrown masak: it was extremely frustrating since I couldn't isolate it in a one liner or even a simple test case
06:24 masak not that we should let that stress ut out, but it's good to keep in mind.
06:24 masak s/ut/us/
06:24 masak nbrown: yes, that's exactly why developing things piecemal is essential on top of Rakudo right now.
06:25 nbrown masak: I kinda figured, but I have some time off from work coming up, so I should be able to pitch in a bit more
06:25 masak \o/
06:25 nbrown my work allows me to have a 2 week break off at the end of the year and i'll probably end up playing with perl6 a bunch
06:27 masak I'm doing the same right now. my current vacation allows me to (1) play with Perl 6, and (2) see what happens if I don't go to sleep until I'm tired.
06:27 nbrown :) how's (2) working out?
06:28 masak nbrown: I'm on UTC+1 time, and I'm starting to feel a little groggy. the sun is up by now.
06:28 * masak looks out window
06:29 masak wait, no. not quite yet.
06:30 nbrown masak: I'm on UTC-5 and I'm starting to get tired. There noway I'll be up as late as you are
06:30 masak it's been a gradual process.
06:31 masak hopefully I'll land about right when it's time to get back to work.
06:31 nbrown I'll cross my fingers for you
06:32 Wolfman2000 alright, bed time for me
06:32 masak nbrown: more importantly, I figured out how to do regex backtracking without continuations tonight. that problem has been one of the main contributing factors to my insomnia. :)
06:32 masak Wolfman2000: good night!
06:33 nbrown masak: I've been lurking/backlogging your questions on that and I have to say it's a little over my head, but a very interesting idea when I think about it
06:34 masak nbrown: I can understand that it's over someone's head -- it was over mine before I started thinking about it.
06:34 nbrown masak: I look forward to the blog post where you explain it so a guy like me can understand ;)
06:35 masak nbrown: they're upcoming. there will be seven of them. :)
06:35 nbrown amazing
06:35 masak lots of nice pictures and metaphors.
06:36 scottp joined #perl6
06:36 nbrown masak: now I'm even more excited.  Your blog has been a pleasure to read and learn from, but pictures help me with harder concepts
06:36 masak yes. they will be essential here, since it's a lot about trees.
06:37 nbrown metaphors too, but I'm a visual learner in most things
06:37 masak also, thanks for your kind words. :)
06:37 scottp Good afternoon (well for me in Australia). I have a question about references.
06:37 masak scottp: shoot.
06:37 scottp If you get a list - my @l = 1,2,3
06:37 scottp then if you assign my $t = @l;
06:38 scottp vs my $t := @l;
06:38 scottp isn't the first supposed to be a copy, and the second a reference ? (in loose terms)
06:38 masak rakudo: my @l = 1,2,3; my $t = @l; $t[1] = 'FOO'; say @l.perl
06:39 p6eval rakudo 7ef386: [1, "FOO", 3]␤
06:39 masak apparently not. :)
06:39 scottp my @l = 1,2,3;my $t := @l;$t[0]=7;say @l[0];say $t[0];
06:39 scottp both seem to be a reference. Is that a bug in my understanding of the spec, or Rakudo implementation?
06:39 masak rakudo: my @l = 1,2,3;my $t := @l;$t[0]=7;say @l[0];say $t[0];
06:39 p6eval rakudo 7ef386: 7␤7␤
06:40 scottp rakudo: my @l = 1,2,3;my $t = @l;$t[0]=7;say @l[0];say $t[0];
06:40 p6eval rakudo 7ef386: 7␤7␤
06:40 masak scottp: I think you chose a case where both are references.
06:40 masak scottp: but that not every case is such.
06:40 scottp OK Ta. I asked because it was picked up in my talk at OSDC - http://www.vimeo.com/7929562
06:41 masak rakudo: my @a = 1,2,3; my @b = @a; @b[1] = 'FOO'; say @a.perl
06:41 p6eval rakudo 7ef386: [1, 2, 3]␤
06:41 nbrown masak: it's bedtime for me so I can be productive tomorrow, but if you have anymore proto thoughts to pass along, please do, and I'll check in tomorrow
06:41 masak nbrown: it's been very nice talking to you. looking forward to working on the installed-modules with you.
06:41 scottp nbrown: when I gave my talk at OSDC the number of modules proto supported was 42 - it got a good laugh :-)
06:41 masak :)
06:42 masak scottp: nice! now I have a video to watch before I go to sleep.
06:42 scottp It will send you to sleep :-) thehe
06:43 nbrown masak: it's been a pleasure.  good night
06:43 scottp masak: thanks for the example above, I will work on an example of the perl6-examples explaining when it is a reference and not.
06:43 masak scottp: sounds good.
06:43 nbrown scottp: not too bad for a installer that everyone plans to replace sooner rather than later :)
06:44 scottp Think of it as bootstrapping... sure it may be replaced, but if it didin't exist, nor would the next one
06:46 nbrown scottp: agreed, but now i'm really heading to bed :)  have a great afternoon
06:46 JimmyZ rakudo: my @a = 1,2,3; my $b = \@a; @b[1] = 'FOO'; say @a.perl
06:46 p6eval rakudo 7ef386: Symbol '@b' not predeclared in <anonymous> (/tmp/fCBoGHa3PU:2)␤in Main (file <unknown>, line <unknown>)␤
06:46 scottp Chow
06:46 masak hence the name. 'proto' :)
06:46 JimmyZ rakudo: my @a = 1,2,3; my $b = \@a; $b[1] = 'FOO'; say @a.perl
06:46 p6eval rakudo 7ef386: [1, "FOO", 3]␤
06:46 masak JimmyZ: in other words, the \ is a no-op there.
06:47 JimmyZ It's Capture?
06:47 masak I guess so.
06:47 masak Captures are part of the spec that I don't go near yet, because I don't need to understand them to write programs.
06:48 masak and the less I learn about them, the less I have to unlearn when the spec changes. :)
06:48 JimmyZ ;)
06:49 JimmyZ I have a Capture patch for parrot, But I don't know wether rakudo uses that or not.
06:50 scottp rakudo: my @l; my $s = "abc"; @l[0] = $s; say @l.perl;
06:50 p6eval rakudo 7ef386: ["abc"]␤
06:50 scottp rakudo: my @l; my $s = "abc"; @l[0] := $s; say @l.perl;
06:51 p6eval rakudo 7ef386: rtype not set␤in Main (file <unknown>, line <unknown>)␤
06:51 masak ouch.
06:51 masak dragon territory.
06:52 scottp that was the example from the spec - making two "containers" point to the one space... I think my head hurts.
06:52 masak keep in mind that Rakudo doesn't implement all of Perl 6 yet. :)
06:54 scottp I think that is what I hit. Good really, it has stopped my head hurting :-) I will keep my example fairly simple for now. Just reference to whole objects or not.
06:55 masak scottp: oh, and I agree with you in principle: when I start thinking about the model which encompasses the word 'container' (for something which isn't Arrays and Hashes, but ordinary scalars), my head hurts, too.
06:59 masak the gls article I linked to earlier seems to make this point: if you don't have tail call optimisation, you'll have to break encapsulation in some cases.
07:08 Tene okay, I'll make a compromise, I'll work on ng until the battery dies in my laptop, then I can sleep.
07:08 Tene Anyone know something that doesn't parse in ng yet?
07:09 Tene failing that, I'll look at given/when.
07:11 masak scottp: by my understanding, the reason '$b = \@bits' is equivalent to '$b = @bits', is that the array @bits is already a reference.
07:12 scottp ok ta. That kind of makes sense. I read something similar on the specs when I started to read about containers.
07:13 masak I love the video, by the way. I always enjoy when people explain Perl 6, and you do it well.
07:13 Tene Oh, um... given/when already work as specified in ng.  I was wrong.  Any other ideas?
07:14 masak Tene: gather/take? :)
07:14 Tene masak: already in.
07:14 masak wow.
07:14 masak including laziness?
07:14 Tene that was my first contribution to ng.
07:14 Tene masak: I'm still blocking on pm for that.  He's rethinking the iterator API.
07:15 scottp Night all... off to a concert.
07:15 Tene As soon as he figures that out, lazy gather/take is pretty easy.
07:15 masak scottp: \o
07:15 Tene goodnight scottp
07:16 Tene masak: i also got exceptions working better than they did in master, although they've got a ways to go.
07:16 masak scottp: no +@bits means numify, not sum. you'd do sum like this: [+] @bits
07:16 masak s/no/no,/
07:16 masak Tene: cool!
07:17 Tene my next big item is getting fail() to properly return an unthrown exception... getting that to auto-throw itself if it's not checked is going to require scope exit handlers, which rakudo doesn't have yet, iirc.
07:18 Tene 'make spectest' passes.  I guess it's not running all of the tests?
07:18 Tene that was way too fast.
07:18 Tene and short.
07:18 masak :)
07:19 masak I think only the spectests that pass are included, yes.
07:19 masak but it is faster than master, too.
07:19 Tene I just meant, it didn't run enough tests.
07:22 Tene how do I run all of the tests to find failing tests?
07:23 masak maybe snatch the t/spectest.data from master?
07:23 Tene oh, maybe...
07:25 masak scottp: nit: PIR is more like sugared Parrot assembler than Parrot bytecode. .pbc files are bytecode, though.
07:26 Tene with a little tweak, looks like we can unfudge S02-names/identifier.t
07:27 Tene Three RT references in there... if I commit a fix for the last one can someone close them?
07:27 masak not until ng becomes master :)
07:27 Tene oh
07:27 Tene laaaaaaaame
07:28 masak it's only fair. if I can submit ng tickets, others can't be allowed to fix things in ng and close tickets :)
07:28 masak s/can/can't/
07:28 Tene but ng tickets would be so useful...
07:29 masak I don't make these kinds of decisions. I just work here. :)
07:29 * JimmyZ hates RT systems.
07:29 Tene Um... i got a very creepy result from trying to fix "sub named 'my'"
07:29 Tene ... nevermind.
07:30 masak hugme: hug JimmyZ
07:30 * hugme hugs JimmyZ
07:30 Tene masak: you could send mail to magic-ng-ticket-system-for-masak@allalone.org
07:31 masak ooh.
07:31 gfx joined #perl6
07:31 Tene then the tickets would be recorded in a magical unicorns ticket system called "my inbox"
07:32 diakopter TimToady: explain more plz your comment about rakudo vis a vis laziness/backtracking?
07:33 Tene masak: more-seriously, I could really use some help directing my work on ng, so if you feel like helping, I'd love some email or messages on IRC about broken things in ng. :)
07:33 Tene I sleep now.  Goodnight, all.
07:34 masak Tene: good to know. I haven't been too active with ng in the past week, but that might change, if I know I can be useful by, for example, pointing at things and calling out that they're broken. :)
07:34 masak Tene: 'night
07:34 Tene Yes, that would be very helpful to me, at least.
07:35 JimmyZ rakudo needs a new bug track system.
07:35 masak JimmyZ: no, I don't think it does.
07:35 masak JimmyZ: I've submitted hundreds of bugs to RT, and I think it rocks, more or less.
07:36 masak it beats Bugzilla and Trac in my eyes.
07:40 rgrau_ joined #perl6
07:40 masak time for me to retire for the night as well.
07:40 moritz_ good morning
07:40 masak :)
07:40 moritz_ and good night to masak :-)
07:40 masak see you later, #perl6.
07:40 masak 'night, moritz_ :)
07:40 diakopter nite
07:48 pugs_svn r29255 | moritz++ | [t/spec] unfudge a passing test for rakudo
07:50 kaare joined #perl6
07:51 pnate2 joined #perl6
07:54 envi^home joined #perl6
07:55 JimmyZ_ joined #perl6
08:02 kaare joined #perl6
08:02 moritz_ hugme: tweet rakudoperl Perl 6 advent calendar day 4: Testing http://perl6advent.wordpress.​com/2009/12/04/day-4-testing/
08:02 * hugme hugs moritz_; tweet delivered
08:04 ihrd joined #perl6
08:04 pnate2 joined #perl6
08:10 ihrd left #perl6
08:18 kangu joined #perl6
08:20 pnate joined #perl6
08:26 xomas_ joined #perl6
08:27 alexn_org joined #perl6
08:31 iblechbot joined #perl6
08:34 justatheory joined #perl6
08:35 Bzek joined #perl6
08:39 pnate2 joined #perl6
08:50 pnate joined #perl6
08:54 payload joined #perl6
09:03 hcchien joined #perl6
09:05 pnate2 joined #perl6
09:20 hirschnase joined #perl6
09:28 Guest54298 joined #perl6
09:58 pnate joined #perl6
10:08 payload joined #perl6
10:13 NorwayGeek joined #perl6
10:28 moritz_ does anybody get such errors while pulling from rakudo? error: no such remote ref refs/heads/range_to_setting
10:34 nbrown_ joined #perl6
10:42 xinming_ joined #perl6
10:43 zloyrusskiy joined #perl6
10:48 jnthn moritz_: I don't, I just got told I was already up to date.
10:49 frettled jnthn: you usually are ;)
11:17 flip214 joined #perl6
11:18 am0c joined #perl6
11:18 flip214 Hello again ...
11:18 mathw hello
11:18 flip214 sorry, no pressing questions this time.
11:18 mathw that's okay
11:18 flip214 Unless I can think of something really quick
11:18 mathw my brain doesn't work anyway
11:18 flip214 why's that?
11:19 flip214 too much alcohol? Or not enough of it?
11:19 mathw neither
11:19 mathw yesterday I had five job interviews
11:19 mathw today I just got a quote on fixing my car
11:19 flip214 ah yes, I remember, you told about that
11:19 mathw and it's big
11:19 flip214 (the interviews)
11:19 flip214 the car?
11:19 flip214 ;-)
11:20 flip214 Ok, how are the interviews going? Anything that you'd like?
11:20 mathw Oh yes
11:20 mathw Most definitely like
11:20 mathw Want this job lots
11:20 flip214 Is there a "but"?
11:20 mathw Well, it involves moving cities
11:20 mathw But I can cope with that
11:21 mathw Just waiting to see if they offer it to me
11:21 flip214 Not good advertising that here, is it? Who knows who's reading this channel ...
11:22 mathw my current employer? Unlikely
11:22 flip214 No, the next one
11:23 mathw So they find out that I'm enthusiastic
11:23 jnthn brrr...'tis cold!
11:23 flip214 But now to something completely different ...
11:23 * jnthn has a talk to walk a couple of times a day now
11:23 jnthn wtf
11:24 jnthn s/talk/dog/
11:24 flip214 s/talk/ = 'dog' I thought?
11:24 flip214 Or something like that ...
11:24 flip214 Never mind
11:25 flip214 Does someone want to take bets whether Perl6 or IBM/SCO is done first?
11:26 flip214 I'd prefer both, as soon as possible ...
11:26 mathw depends
11:26 mathw how many patches have you written today? :P
11:26 moritz_ s/talk/dog/ or s[talk] = 'dog'
11:26 moritz_ depends on wheter the delimiter is a braketing character
11:26 flip214 moritz: thanks for reminding
11:27 flip214 mathw: O
11:27 flip214 mathw: Sadly my real life (job, family) are a bit overwhelming
11:28 flip214 but if there's still need in a few decades, when my children have children and keep themselves busy, just tell me
11:28 flip214 maybe I'll find some time then
11:29 rodi joined #perl6
11:30 flip214 I'd like to help ... but then there are some ideas floating in my head, which I'd like to start, too ..
11:30 flip214 Do you know someone who pays my bills and lets me "investigate" CS affairs? I promise to be at least 35 hours a week at the computer.
11:31 moritz_ do some reasearch for IBM, make a a real good invention...
11:32 moritz_ then you'll become "IBM fellow", and are employed for life time
11:32 moritz_ and can work on whatever you want
11:32 flip214 how would I do "research for IBM"? Do something in private and sell it to them?
11:33 flip214 Not much of a chance, I fear ... but thanks for the tip.
11:34 moritz_ no, apply there for a research job
11:34 moritz_ they have labs on their own
11:35 jferrero joined #perl6
11:35 jnthn I visited one of those once. Looked like they were doing some quite cool stuff.
11:36 jnthn If I wanted a $day-job it's one place I'd probably consider applying.
11:36 rodi joined #perl6
11:37 moritz_ jnthn: speaking of which... is your signature binding grant finished already?
11:37 flip214 Well, I couldn't relocate, because of the family ... and AFAIK there're no research jobs in Austria.
11:37 flip214 jnthn: lucky that you don't seem to need one
11:37 jnthn moritz_: No
11:38 moritz_ jnthn: what's left?
11:38 jnthn moritz_: The major bits left are multiple return values, some other cases of nested signatures and the capture syntax.
11:38 jnthn sub foo(|$capt :(...)) { ... }
11:39 jnthn moritz_: ng in theory should handle multiple returns out of the box but I also want to make my (signature) := foO() work too.
11:42 meppl joined #perl6
11:43 jnthn flip214: Luckily, between consulting gigs that I can do mostly from home and grants, I manage OK.
11:47 flip214 good for you
11:48 flip214 but no wife and children, I expect?
11:48 flip214 Well, maybe I should go to consulting, too
11:48 flip214 But with some basic money needed each month it's not that easy
11:49 jnthn flip214: Yeah, girls seem...completely...uninterested in me. So no wife and kids.
11:49 jnthn flip214: Which, yes, does make it a LOT easier.
11:49 jnthn flip214: at least if there's no money it's just me that goes hungry, not others.
11:50 jnthn flip214: A lot of it, for me, has depended on having plenty of contacts and sources of work. That takes a while to build up though.
11:51 flip214 Well, maybe I'd know enough people to hold me over water ... but having to race from one to the other, with all having the same year-end-deadlines build a bit of stress, I think
11:52 jnthn flip214: Yes, there are days when I wonder if having a 9-5 wouldn't just be a whole lot easier and less stress.
11:53 jnthn I enjoy it most days though.
11:54 envi^home joined #perl6
12:14 Transformer joined #perl6
12:16 Transformer left #perl6
12:22 payload joined #perl6
12:25 ihrd joined #perl6
12:25 ihrd left #perl6
12:33 mariano__ joined #perl6
12:42 iblechbot joined #perl6
12:53 lisppaste3 joined #perl6
13:10 takadonet morning all
13:11 renormalist joined #perl6
13:12 Grrrr joined #perl6
13:13 renormalist joined #perl6
13:16 SmokeMachine joined #perl6
13:17 flip214 morning
13:26 colomon joined #perl6
13:28 takadonet morning colomon
13:29 colomon morning!
13:33 quantumEd joined #perl6
13:36 moritz_ http://blogs.perl.org/users/silent11/2009/12/tha​nk-you-perl-advent-calendar-authors-of-2009.html <-- could somebody tell this guy or gal that the examples work with rakudo?
13:37 moritz_ I tried, but it told me I entered the captcha wrongly
13:37 moritz_ yet don't even see a captcha
13:37 takadonet hehe
13:38 moritz_ and openid doesn't work either
13:38 zaslon joined #perl6
13:39 smashz joined #perl6
13:39 zaslon lolfrettledhazblogged! frettled++ 'Oslo.pm Past and Future': http:
13:40 zaslon lolperl6adventhazblogged! perl6advent++ 'Day 4: Testing': http://perl6advent.wordpress.​com/2009/12/04/day-4-testing/
13:40 smashz hello
13:40 frettled carlin: yay!
13:40 frettled or something
13:41 carlin :(
13:42 moritz_ carlin++
13:45 takadonet moritz_: You can try to post a reply on twitter http://twitter.com/willwillis
13:46 mathw hmm it looks like it's wanting a captcha and not actually displaying one
13:46 frettled moritz_: I have the same problem, yes
13:46 mathw hmm
13:46 frettled mathw: yup.
13:47 mathw and the signin system is completely broken
13:47 mathw not good
13:47 frettled yup
13:47 zaslon joined #perl6
13:48 * mathw uses twitter and @ to deliver an absurdly brief bit of information about rakudo
13:48 zaslon lolfrettledhazblogged! frettled++ 'Oslo.pm Past and Future': http://howcaniexplainthis.blogspot.co​m/2009/12/oslopm-past-and-future.html
13:48 frettled \o/
13:48 frettled carlin++
13:49 colomon oh noes, broken comments on blogs.perl.org ?
13:49 colomon "Your comment submission failed for the following reasons: Text entered was wrong. Try again."  My comment was wrong?!   ;)
13:50 mathw I'm assuming it's lookin gat an invisible capture
13:50 mathw captcha
13:50 mathw But the signin's broken too
13:51 mathw I Tried openid and wordpress.com, both said I entered an invalid openid
13:51 jferrero joined #perl6
13:51 mathw which was odd
13:52 carlin frettled: just don't blog again until I've finished my HTTP::Client rewrite, 'kay? :-P
13:52 frettled carlin: heh :D
13:52 frettled carlin: you have until Monday, probably ;)
13:53 carlin oh noes!
13:54 frettled Unless I find that I want to blog on Sunday evening, muahaha.
13:54 carlin I won't have even got around to procrastinating by Monday
13:55 frettled But I may postpone until Tuesday, because that makes it easy to have one weekly entry for the rest of December.
13:55 betterworld joined #perl6
13:56 jarek joined #perl6
13:59 ihrd1 joined #perl6
14:03 ihrd1 left #perl6
14:21 beggars joined #perl6
14:26 smashz joined #perl6
14:53 PacoLinux joined #perl6
14:57 colomon_ joined #perl6
15:00 perlygatekeeper1 left #perl6
15:10 PerlJam http://perl6.ru/qgzyxg0i7zq8gy7803va/  Wow
15:21 hcchien joined #perl6
15:25 KyleHa joined #perl6
15:37 rodi I am revisiting some old Perl 6 code, written for Pugs.  Is it canonical to say "use v6" rather than "use v6-alpha" ?
15:37 moritz_ yes, 'v6' is what we use these days
15:39 xenoterracide__ joined #perl6
15:43 ruoso joined #perl6
15:44 rodi thanks, @moritz.
15:47 payload joined #perl6
15:51 Psyche^ joined #perl6
15:59 jferrero joined #perl6
16:00 pmurias joined #perl6
16:04 nihiliad joined #perl6
16:04 colomon joined #perl6
16:07 fridim_ joined #perl6
16:32 rgrau joined #perl6
16:36 viklund joined #perl6
16:44 jan_ joined #perl6
16:56 TimToady slight terminological problem, if we refer to each individual constant pair as an "enum", we can't really refer to the whole enumeration as an "enum", or people will get confused
16:57 TimToady not quite sure how to fix that...
16:57 Tene enum is short for enumeration.  What's the name for the things that are enumerated?
16:57 Tene Enumeratees?
16:58 TimToady I'm inclined to go the other way and say the big thing is "enumeration" and the bits are "enums"
16:58 TimToady under the 'small things get small names' metaphor
16:59 TimToady but people will probably complain about a keyword "enumeration" where they're used to writing "enum"
16:59 Tene you could go with enum/en
16:59 colomon joined #perl6
17:00 TimToady en doesn't do much for me
17:02 TimToady enamor Foo <a b c>
17:02 TimToady as a pun on enumeration namer
17:03 TimToady the keyword doesn't just create the EnumMap, but also introduces the names in to the symbol table
17:03 moritz_ so it's 'our' by default?
17:03 mikehh joined #perl6
17:03 moritz_ std: my enum Foo <a b c>
17:03 p6eval std 29255: ok 00:01 106m␤
17:04 TimToady constant declarators (of which enum is one) are "our" by default
17:05 TimToady at least currently, so that Foo::Bar notation works
17:05 TimToady hmm, a constant pair is really a symbol, Tue symbolizes 2
17:05 TimToady so maybe leave enum as the keyword
17:05 TimToady and use SymMap and such
17:06 TimToady Sym for the individual constant pair
17:07 TimToady since a symbol isn't actually a symbol without also implying knowledge of the thing it is symbolizing
17:07 TimToady on the other hand, symbols often symbolize an abstraction, which aren't necessarily constant :/
17:08 TimToady maybe I'm just tying myself into semiotic knots though
17:09 TimToady maybe we should just call each of them a Name
17:10 justatheory joined #perl6
17:10 TimToady seems a bit too generic though
17:11 cdarroch joined #perl6
17:15 TimToady Constant is a bit long, but that's more or less what the are
17:16 TimToady if we abbreviate that to const we'll confuse almost everyone in the world
17:17 colomon_ joined #perl6
17:21 TimToady if we were going semiotic, we'd call them Signs, but "sign" is already overloaded; it might not be a bad overloading though
17:23 TimToady if they're constants, maybe we should just grab the typename K  :D
17:25 TimToady a bit hard to talk about them, unless K is pronounces 'constant'
17:25 TimToady also, lots of interference with kelvin in physics
17:26 TimToady KV maybe...
17:26 TimToady .oo(kilovolts)
17:26 * ruoso feels that things are better since now the discussion is about minor semantic tweaks, instead of major conceptual changes...
17:26 TimToady feelings can be deceptive :)
17:26 * ruoso .oO( of course that might just be a valley in the senoid )
17:30 explorer__ joined #perl6
17:35 moritz_ rakudo: say +Any.^methods
17:35 p6eval rakudo 7ef386: 118␤
17:48 moritz_ rakudo: class A { }; A.new.sin
17:49 p6eval rakudo 7ef386:  ( no output )
17:51 cognominal TimToady, also, etymologically, enumerations are about C<num>bers
17:56 snearch joined #perl6
17:58 TimToady cognominal: yes, I've decided to leave things as they are, but just talk about "enumeration" when I want to clearly talk about the outer type, not one of the inner symbols
17:58 moritz_ I've got another wild idea
17:59 moritz_ the other day I proposed a role to get methods out of Any
17:59 moritz_ what if we throw them all out, and instead introduce coercive method call syntax?
17:59 moritz_ 4.sqrt -> 2   "4".sqrt -> fail   "4".+sqrt -> 2
18:00 moritz_ likewise $thing.@join('|') automatically coerces to Positional
18:00 TimToady .+ already means something
18:00 moritz_ yes, but we might come up with a different syntax for that
18:01 moritz_ I don't think its currrent meaning is used often enough that it must be kept no matter what
18:01 TimToady that seems messier to me than the Any solution, which works inside the current scheme of things to define what some standard methods are
18:01 moritz_ you're probably right
18:02 TimToady and the current scheme allows a type to override
18:02 moritz_ that would still be the case
18:02 moritz_ if .~foo desugars to .Stringy.foo
18:03 moritz_ anyway, it's likely to make the language much more noisy
18:03 TimToady I would, however, like to get some kind of coercion type notation that says, "I will accept Any but will coerce to Foo"
18:03 moritz_ like mysub($foo as Foo)?
18:04 TimToady as for returning too many methods, that's probably just a matter of putting a limiter on the introspector
18:04 moritz_ I'm not worried about the introspection part
18:04 TimToady :local(:!any)  :)
18:04 moritz_ two things worry me
18:04 moritz_ first that it's not always dwimmy
18:05 moritz_ if you define a new class, it has a sin() method, but it can't work
18:05 moritz_ because there's not sensible numification
18:05 moritz_ so it's essentially useless baggage until you give your class Numeric semantics
18:05 TimToady you mean a new numeric class?
18:05 TimToady you'd presumably register with the Numeric coercion somehow
18:05 moritz_ I mean any class.
18:06 moritz_ "3.14".sin should work, right?
18:06 moritz_ that implies that .sin lives in Any
18:06 TimToady sure
18:06 TimToady ja
18:06 moritz_ and that imples that class A { } will have a .sin method, that doesn't work
18:06 TimToady if you pass something of class A or derivative, it will work
18:07 TimToady Any is a base class and gets overridden
18:07 TimToady or I don't understand your Q yet
18:07 moritz_ perl6 -e 'class A { }; A.new.sin'
18:07 moritz_ Method 'Num' not found for invocant of class 'A'
18:07 moritz_ A has a method sin, but it's useless.
18:08 moritz_ That's my first concern about the current scheme of putting everything in Any
18:08 moritz_ my second concern is the principle of least surprise
18:08 TimToady I don't see how that's a problem
18:09 TimToady the error message could be better...
18:09 moritz_ if a new perl 6 programmer writes a class, why should he expect his class to have 183 methods already?
18:09 TimToady .sin should probably have its coercive type as Numeric(Str) rather than Numeric(Any)
18:10 TimToady because those methods are part of the language he's working in
18:10 moritz_ he?
18:11 TimToady but yes, I see your point
18:12 TimToady the builtin types probably want to derive from something under Any that holds the built-in methods
18:12 TimToady and user classes default to Any
18:13 moritz_ yes, that's basically my proposal (though I thought of roles instead of classes)
18:13 moritz_ it might also solve another problem
18:13 moritz_ that is accidental method calls on exception objects
18:14 moritz_ sqrt(-1) fail()s, and if Failure has all those methods that Any has now, sqrt(-1).sin() would probably just give 0, instead of bailing out
18:15 moritz_ however if it doesn't have a .sin method, and no postcircumfix:«[ ]» method etc. the chance that you accidentally call a valid method is very small
18:16 TimToady Failure needs to trap any unrecognized method and do more with it than just report it couldn't find the method
18:17 xenoterracide joined #perl6
18:17 moritz_ right
18:17 moritz_ but to do so the method must be unrecognized first :-)
18:17 TimToady given that it handles *, it doesn't really matter whether it derives from something with excessive methods
18:17 TimToady unless it relies on the failure to dispatch to hand control back later
18:18 moritz_ i don't understand that argument
18:18 moritz_ clearly the handles * would only be triggered when calling a method that's not in the class already?
18:18 TimToady a dispatch to Failure never gets to any of Failure's ancestors
18:18 moritz_ oh
18:18 moritz_ I wasn't aware of that
18:18 TimToady neither was I till now :)
18:19 TimToady but the nature of Failure is to complain if you try to use it as any kind of a real value, and that includes single dispatch
18:19 IllvilJa Just a quick thought from a passer by... if sqrt(-1) is attempted, return a complex number -i (however that is represented in Perl6).  If the context nows about complex numbers, fine.  If it does not, then the context issues a fail?
18:20 IllvilJa Ok... sqrt(-1) should of course return +i, not -i...
18:20 moritz_ IllvilJa: we decided to go the other way round: sqrt(-1) always fails, sqrt(-1+0i) return i
18:20 moritz_ IllvilJa: in order not to confuse hacker who haven't heard of Complex numbers yet
18:21 IllvilJa That looks like an elegant solution.
18:21 IllvilJa Std: sqrt(-1+0*i)
18:21 moritz_ rakudo: say sqrt(-1+0i)
18:21 p6eval rakudo 7ef386: 0 + 1i␤
18:21 moritz_ rakudo: say sqrt(-1)
18:21 p6eval rakudo 7ef386: NaN␤
18:22 IllvilJa rakudo: say 2*4i
18:22 p6eval rakudo 7ef386: 0 + 8i␤
18:23 IllvilJa Wow! I like that way of representing complex numbers! ++!!
18:23 moritz_ TimToady: so, what's the next step? coming up with a good name for the class or role form which all the builtins derive?
18:23 diakopter sorry if someone already mentioned this:  http://github.com/fglock/Perlito  http://use.perl.org/~fglock/journal/39971
18:24 moritz_ diakopter++
18:24 TimToady well, I have to think about this wrt the coercive declarations I mentioned
18:25 moritz_ they seem to give you constant food for thought :-)
18:25 diakopter sum1 should add http://blog.perlito.org/?feed=rss2  to planetsix
18:25 TimToady it might be as simple as allowing "is open" on a class that can accept augmentation without complaining, and a type syntax that can install coercers into such a class
18:26 diakopter well, maybe
18:27 TimToady but there's some kind of junctional flavor here too that I can't put my finger on, in the sense of capturing arguments that "don't fit" into the hierarchy and redispatching more specifically
18:27 mikehh joined #perl6
18:30 TimToady lemme think about that while I shower &
18:51 colomon joined #perl6
18:57 am0c joined #perl6
19:05 colomon_ joined #perl6
19:09 colomon ng: say "hello \{";
19:09 p6eval ng 545373: Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (src/stage0/Regex-s0.pir:907)␤
19:09 colomon rakudo: say "hello \{"
19:09 p6eval rakudo 7ef386: hello {␤
19:12 diakopter rakudo: "hello { say 3 }{ say 4 }"
19:12 p6eval rakudo 7ef386: 3␤4␤
19:12 diakopter rakudo: "hello { say 3 }{}"
19:13 colomon !
19:13 p6eval rakudo 7ef386: 3␤
19:13 diakopter ( very long duration, timeout)
19:14 colomon I guess it makes sense, but side effects in string generation is kind of scary....
19:19 diakopter colomon: think of it as just an easier way to write "head " ~ expr ~ " tail"
19:19 colomon diakopter: That doesn't bother me.  It's when you're writing "head " ~ say $something_else ~ " tail"
19:20 colomon I mean, that's legal, but it's also kind of insane.
19:21 diakopter perl -e '"head ".(print "hello world\n")." tail"'
19:21 diakopter hello world
19:23 jferrero joined #perl6
19:24 cognominal rakudo:  my Int $i = Mu; say $i.WHAT
19:24 p6eval rakudo 7ef386: Object()␤
19:24 lisppaste3 colomon pasted "Another bus error in ng" at http://paste.lisp.org/display/91595
19:24 diakopter pugs: our $a = 33; say "$a { $a = 44; "" }hihi $a hoho { $a = 55 } "
19:24 p6eval pugs: 33 hihi 44 hoho 55 ␤
19:24 diakopter rakudo: our $a = 33; say "$a { $a = 44; "" }hihi $a hoho { $a = 55 } "
19:24 p6eval rakudo 7ef386: 33 hihi 44 hoho 55 ␤
19:25 cognominal rakudo:  my Int $i ;  say $i.WHAT
19:25 p6eval rakudo 7ef386: Int()␤
19:25 cognominal rakudo:  my Int $i ;  say $i.WHAT ; $i =1; say $i
19:25 p6eval rakudo 7ef386: Int()␤1␤
19:26 snearch_ joined #perl6
19:26 cognominal rakudo:  my Int $i  = Mu;  say $i.WHAT ; $i =1; say $i
19:26 p6eval rakudo 7ef386: Object()␤1␤
19:26 cognominal rakudo:  my Int $i  = Mu;  say $i.WHAT ; $i =1; say $i; say $i.WHAT
19:26 [particle] joined #perl6
19:26 p6eval rakudo 7ef386: Object()␤1␤Int()␤
19:27 cognominal Should probably be "Mu()". Also what is the point to initialize an Int with Mu?
19:34 alester joined #perl6
19:35 TimToady it should fail, since Mu !~~ Int
19:35 TimToady we've now defined my Int $i = Nil to be the correct way to explicitly reset to initial state
19:37 cognominal thx
19:38 colomon joined #perl6
19:39 pugs_svn r29256 | lwall++ | [S12] rename Enum.name to Enum.key as suggested by david.green++
19:39 pugs_svn r29256 | Distinguish "enumeration" from "enum" when discussing enumish types
19:39 pugs_svn r29256 | clarify that the anon enum still evaluates the list at compile time
19:41 * colomon has Num's trig functions working in ng (he thinks), but doesn't know when he will have time to ng-ize the trig tests...
19:42 colomon .oO( At the moment, working in ng is 1/4 Cool!, 1/2 NYI, and 1/4 Bus errors.)
19:44 TimToady be thankful the Bus errors are implemented, at least!
19:46 TimToady though 1/4 is a rather low bus number...
19:48 pmichaud ...is there a specific time when the perl6advent postings are supposed to be posted?
19:48 pmichaud (e.g., like 0000 UTC or the like?)
19:50 [particle]1 joined #perl6
19:51 TimToady they show up somewhen about there; moritz doesn't usualy tweet them until he gets up, though...
19:51 TimToady *usually
19:51 pmichaud okay.  I may be a few hours delayed on today's post.
19:51 TimToady though it's already tomorrow in Australia
19:52 pmichaud well, I'm not too worried about that far into the future.  :)
20:00 hercynium joined #perl6
20:18 constant joined #perl6
20:20 mberends joined #perl6
20:24 stephenlb joined #perl6
20:25 colomon joined #perl6
20:30 cognominal rakudo:   my $x;  (*, *, $x) = (1, 2, 3);     say $x
20:30 p6eval rakudo 7ef386: 3␤
20:30 cognominal rakudo:   my   (*, *, $x) = (1, 2, 3);     say $x
20:30 p6eval rakudo 7ef386: Malformed declaration at line 2, near "(*, *, $x)"␤in Main (file <unknown>, line <unknown>)␤
20:31 cognominal not sure if the later form should be supported
20:35 masak joined #perl6
20:35 masak good evening, #perl6.
20:35 colomon o/
20:35 cognominal rakudo: say  *(42) == 42
20:35 p6eval rakudo 7ef386: get_number() not implemented in class 'Sub'␤in Main (file <unknown>, line <unknown>)␤
20:35 masak o.O
20:36 * masak submits rakudobug
20:37 cognominal I am reading S02 and testing along
20:37 masak cool!
20:38 cognominal you may be interested in my Int $i  = Mu;  say $i.WHAT ; $i =1; say $i; say $i.WHAT that should blow up according to TimToady. See the backlog
20:38 mberends good morning, masak ;)
20:38 ShaneC joined #perl6
20:39 masak mberends: what you say, morning was hours ago. :) at least four or five. :P
20:40 masak it looks like the enum spec is coming together. this pleases masakbot. TimToady++
20:41 cognominal rakudo: my @a = 1..10;  say @a[*-1]
20:41 p6eval rakudo 7ef386: 10␤
20:43 masak ooh, pmichaud said 'halting problem' in the parrot-dev thread about GC. that's like the comp.sci. version of Godwin's Law. :)
20:43 colomon Is that still supposed to work?
20:43 masak colomon: sure!
20:44 masak why would it not?
20:44 mariano__ joined #perl6
20:44 colomon I wasn't aware that Range did positional.
20:44 colomon and I'm not clear on how it works otherwise.
20:44 colomon oh, wait, I see.
20:45 colomon my $a = 1..10 would be different,
20:45 colomon perhaps?
20:46 masak yes.
20:46 colomon what happens when you try [*-1] on a lazy list?
20:46 masak it must unroll, I guess.
20:47 masak unless it knows how to inspect its last range without unrolling it.
20:47 colomon just another reason to avoid [*-1] if you possibly can, I guess.  :)
20:47 masak I use [*-1] quite frequently.
20:47 masak semantically, it's a peeky pop.
20:48 mberends <rant topic="enum">hopefully our spec will avoid that extremely annoying meme that infects the Microsoft developers' branes, where they think "to enumerate" means "to produce a list". There are so many method names in their classes prefixed with "enum" and yet have nothing at all to do with associating numbers </rant>
20:48 colomon I guess I do use the C++ equivalent of [*-1] pretty heavily.  Just haven't run into much of a use for it in Perl 6 yet.
20:48 masak mberends: Java does that a little too, I think.
20:49 mberends it seems very infectious, beware!
20:50 masak colomon: my tree spider uses it twice in 200 lines. just a data point. http://gist.github.com/247924
20:52 colomon masak: come to think of it, my Perl 6 has hardly used postfix:<[ ]> at all.  I like being able to either deal with the entire list at once, or deal with each member regardless of its position.
20:52 masak colomon: (postcircumfix.)
20:53 colomon masak: danke
20:53 masak colomon: I guess the use of [*-1] comes quite naturall when you treat an array as a stack.
20:58 hanekomu_ joined #perl6
20:59 masak ok, today's episode of "I'm curious about Japanese": http://twitter.com/zentooo/status/6330210263 -- is zentoo asking whether one will be able to write in Perl 6?
21:00 hanekomu_ joined #perl6
21:00 Wolfman2000 joined #perl6
21:04 masak two things about Fortress, by the way: (1) they seem to have plenty experience with Unicode operators; might be worth borrowing insights from that. (2) formatting source code to TeX is way cool. anyone want to write a Perl 6 TeX formatter?
21:05 Wolfman2000 PerlJam: I just signed up on nearlyfreespeech.net. So far, the account is free.
21:05 simcop2387 joined #perl6
21:06 colomon joined #perl6
21:06 simcop2387_ joined #perl6
21:11 rgrau_ joined #perl6
21:13 hanekom__ joined #perl6
21:14 TimToady using "enumerate" to mean "list" is the Latinate disease, the same one that infected COBOL when it used "perform" instead of "do"
21:16 masak maybe that's why COBOL has had such a long shelf-life, because it reads like the vocab of pointy-haired bosses? :)
21:19 mdxi now i'm imagining cobol programs transliterated into latin, and i'm getting something that sounds a lot like Warhammer 40K flavor text :)
21:19 TimToady masak: more like "It seems we now have the possibility to write in Perl 6"
21:19 masak \o/
21:20 masak it's the Perl 6 Advent message, seeping into the outside world!
21:20 TimToady obviously, COBOL was performant
21:20 masak not doant.
21:20 * TimToady whimpers
21:24 masak TimToady: when I look at the method signatures in the S32 podfiles, there's one thing I don't understand: the methods are all declared as if they were placed outside their respective classes (as opposed to how Rakudo's setting does it, for example). isn't declaring methods outside of their class... a form of MONKEY_PATCHING? should it be allowed by default? should S32 do it all over the place?
21:26 TimToady I think it's just a notational convenience to avoid writing class blocks around them all
21:26 masak so it's not supposed to work in practice like that?
21:27 masak I'm asking because there's an RT bug that complains Rakudo allows this kind of declaration. :)
21:27 masak but there's no real consensus as to whether it should, as far as I know.
21:28 masak ah, here: http://rt.perl.org/rt3/Tic​ket/Display.html?id=65308
21:29 moritz_ re
21:33 TimToady a method declaration should fail outside of a class regardless of any qualifications to its invocant
21:34 masak that's what I wanted to hear. thank you. :)
21:34 masak does the answer change if MONKEY_PATCHING is on?
21:34 masak er, MONKEY_TYPING.
21:34 moritz_ MONKEY_PATCH_TYPING
21:35 moritz_ :-)
21:35 TimToady no, it fails because there's no metaclass to register with that accepts methods
21:35 moritz_ that's a good explanation
21:35 masak why not the metaclass of the invocant's type?
21:36 TimToady because that would be silly :)
21:36 masak fair enough. :)
21:36 Tene That's a great point.  We're never silly around here.
21:36 Wolfman2000 Tene: yeah right. :P
21:36 Tene I know I'm certainly not.
21:37 masak Wolfman2000: it occurs to me that Tene is using what's commonly known as 'being ironic'. :)
21:37 Tene aka "being silly"
21:38 masak it's the silly version of Epimenides' Paradox.
21:38 TimToady would it be ironic to ride on a Ferrous Wheel?
21:39 * masak groans
21:39 masak everybody: steel yourselves for the onslaught of metal jokes!
21:39 TimToady heavy, dude!
21:39 colomon joined #perl6
21:40 masak those jokes could easily turn plumb, I fear.
21:41 mberends being scilly again?
21:42 TimToady I'd make a joke about "those coppers got lead poisoning" but that wouldn't be funny right now... :/
21:43 mberends we don't have the mettle...
21:43 TimToady nor the medal
21:43 masak I can only think of scrap metal jokes right now.
21:45 mberends they're going down like a lead balloon ( or zeppelin )
21:46 TimToady curses, foiled again!
21:46 mberends TinToady: foiled
21:47 TimToady I beam!
21:49 * mberends reflects on that
21:49 masak too many metal jokes and soon we'll exhibit fatigue...
21:49 TimToady too late!
21:49 * mberends cracks up
21:49 masak I'd prefer precious metal jokes to these base metal jokes, of course.
21:50 mathw Nothing yet has approached the gold standard
21:50 masak getting symptoms of metallurgy here...
21:51 masak mathw: right, these puns aren't worth a nickel.
21:51 masak mathw: by the way, welcome back from your interviews. so now we all sit tight for the results to come back, is that it?
21:51 mathw pretty much, yes
21:52 * masak bites nails
21:52 mathw they might want another phone interview if they're having trouble deciding
21:52 TimToady nails!?!
21:52 masak 哈哈
21:52 moritz_ somtimes you guys are hard to bear :-)
21:53 TimToady only sometimes?
21:53 masak PREVED! \o/
21:53 moritz_ only at puntime
21:53 masak every time is puntime. :)
21:59 Tene my only reaction is to feel a-salt-ed.
21:59 * colomon resists the urge to make a new song "Every time is puntime" to the tune of "Every sperm is sacred."
22:00 masak colomon: funny, I resisted the urge to make an SVG clock with all the numbers replaced by the word 'pun'.
22:00 Wolfman2000 colomon: I'm tempted to say do it
22:01 * Tene reminded of something inappropriate for this channel.
22:03 pmichaud ...are we previewing advent entries on the channel, or are they meant to be a surprise for everyone?
22:03 colomon we've been previewing, but surprises are nice, too.
22:04 colomon Of course, if you save your draft...  ;)
22:04 pmichaud I'd appreciate feedback then:
22:04 pmichaud http://perl6advent.wordpress​.com/?p=85&amp;preview=true
22:05 Wolfman2000 pmichaud: can't view it
22:05 masak pmichaud: can you make the title begin with 'Day 5: '?
22:05 colomon There's a min operator?
22:05 masak colomon: yup. and a min function, and a min method. :)
22:06 Wolfman2000 masak: I can see that pmichaud has a post prepared for metaoperators, but I don't know how to actually VIEW it
22:06 masak Wolfman2000: I logged in an viewed it in the list of posts.
22:06 masak the URL pmichaud sent didn't work.
22:06 Wolfman2000 masak: I wish I understood that
22:06 * Wolfman2000 is an admin and yet can't figure out how to admin
22:07 pmichaud Added "Day 5" to the title.
22:07 masak pmichaud: I'd write "inplace" as "in-place".
22:08 Wolfman2000 masak: ...how did you view the list of posts again? pmichaud's post is still in draft
22:08 masak Wolfman2000: yes, it is. there's a "Posts" button on the left side of the dashboard.
22:08 Wolfman2000 masak: In posts, I can either choose Edit or Add New
22:08 Wolfman2000 presently in Edit
22:08 masak pmichaud: other than that, neat-o post! pmichaud++
22:09 pmichaud Wolfman2000: click "Dashboard", then click "Posts"
22:09 Wolfman2000 pmichaud: I've done that. Then, I click on Drafts to see the three draft...titles
22:10 Wolfman2000 At this point, I can't seem to view your post pmichaud
22:10 pmichaud Wolfman2000: hmm.  I just clicked on "Posts" and was there.
22:11 Wolfman2000 pmichaud: when I click on Posts, I see my post by default. I can edit and view my post.
22:11 Wolfman2000 When I click on Drafts, I see three draft days. I can not view the contents of those drafts. At least, I don't see an easy way of doing so.
22:11 pmichaud Wolfman2000: okay, I'm guessing you don't have privileges to see others' posts or something then.   (I'm a WordPress newbie, so I don't really know.)
22:12 Wolfman2000 pmichaud: I thought I did. I am able to access the wp-admin page.
22:12 pmichaud you're not able to click on any of the draft titles?
22:12 Wolfman2000 I am not
22:13 Tene obtw, I'm going to need access to that site sometime before my post is scheduled.
22:13 masak hm, it's interesting to read about how language change politics work on the other side of the fence: http://jessenoller.com/2009/12/04/pyth​ons-moratorium-lets-think-about-this/
22:15 masak the fact that someone even feels the need to say "Python’s not dead people." feels comforting in some way. so it's not just the Perl community which goes around doing that.
22:15 pmichaud okay, scheduling my post for 00:01
22:16 Wolfman2000 ...who owns the perl 6 advent blog again?
22:16 moritz_ colomon does
22:16 * moritz_ -> bed
22:17 pmichaud hope I didn't step on colomon++'s day 7 post too much.  Didn't realize he was doing hyperoperators
22:17 Tene anyone currently awake an admin on p6advent and can add me?
22:17 pmichaud how would I know if I'm an admin?  ;-)
22:17 Tene I... don't know.
22:17 Tene Look around for an "Add Tene to the blog" button?
22:17 cdarroch joined #perl6
22:18 pmichaud aha, looks like I'm an admin
22:19 pmichaud do you have an account?
22:19 Wolfman2000 pmichaud: If you're an admin, do you think you can give me the ability to read your draft please?
22:19 * Wolfman2000 is only an author apparently
22:19 pmichaud Wolfman2000: you appear to b..... right
22:20 pmichaud I'll do forgiveness > permission and make you an author.  colomon can fix it if I'm doing the wrong thing :)
22:20 pmichaud Wolfman2000: you're now and administrator
22:20 pmichaud *an
22:20 Wolfman2000 pmichaud++: thanks. Now to preview your post.
22:20 Tene I don't know if I have an account... do I need one?
22:21 pmichaud Tene: yes
22:21 pmichaud Tene:  click the "Log in" link in perl6advent.wordpress.com
22:21 Wolfman2000 Warning: pmichaud is currently editing this post. <-- I appreciate the warning. I'm not planning on editing...just letting you know of what I see.
22:22 pmichaud I'm no longer editing
22:22 pmichaud (just closed window)
22:22 pmichaud Tene: then "Get a free WordPress account"
22:22 Tene Ah, that's why I'm confused.  Apparently my gf has a wp account, and left herself logged in on my laptop.
22:23 Wolfman2000 ...the only thing I'm concerned about...no talks of opening up the Metaoperators box
22:24 Wolfman2000 the first few days talked of opening up a gift if I recall correctly
22:24 pmichaud Day 4 didn't.
22:24 pmichaud days 2 and 3 did
22:25 Wolfman2000 I was day 3
22:25 pmichaud I can add a note about the box.
22:25 Wolfman2000 it's your choice
22:25 Tene Apparently I do have an account... it's working on sending me email to re-set a password.  I'll bug you again once I get this figured out.
22:26 IllvilJa (On topic regarding advent calendars, but off topic regarding this IRC channel: http://www.boston.com/bigpicture/2009/1​2/hubble_space_telescope_advent_1.html .)
22:26 Wolfman2000 IllvilJa: we're not that strict on being on topic
22:26 pmichaud Wolfman2000: how about now?
22:26 IllvilJa Wolfman2000: for which I am thankful ;-).
22:27 pnate2 joined #perl6
22:28 Wolfman2000 pmichaud: no issues here
22:28 pmichaud Wolfman2000: better, though?
22:28 Wolfman2000 fine by me
22:30 mberends pmichaud: could you grant me preview access as well? mberends @ wordpress?
22:31 Tene go email!
22:31 Tene gooooooooooooooooo email!
22:37 * pmichaud wonders if "editor" access is sufficient to preview posts
22:38 Wolfman2000 try it, and let me know when it's done
22:38 pmichaud Wolfman2000: you're now "editor" role
22:39 pmichaud mberends: wordpress wants the email addr you used when registering with wordpress
22:39 Wolfman2000 pmichaud++: Editor role is the one you wanted
22:39 pmichaud Wolfman2000: thanks!
22:41 mberends pmichaud: it was gravatar at the domain autoexec.demon.nl
22:41 Tene pmichaud: I'm changing my pw now... you can add tene@allalone.org
22:41 Tene wp username: tenebrackets
22:42 pmichaud tene:  added
22:43 pmichaud mberends: added
22:44 mberends pmichaud: it works, thanks :)
22:46 pmichaud okay, time to take my wife to dinner -- bbiaw
22:47 colomon pmichaud: actually, I think having you open up the meta operator idea will give me more space to get into the fun details of the hyper operators.
22:47 pmichaud colomon: okay, good.
22:47 payload joined #perl6
22:47 pmichaud I also didn't mention that someday the hypers can be multithreaded :)
22:47 pmichaud okay, gone for a while
22:49 colomon afk, Guy Fieri Live show.  :)
22:57 pnate joined #perl6
22:58 explorer__ joined #perl6
23:00 zaslon lolmoritzhazblogged! moritz++ 'Doubt and Confidence': http://perlgeek.de/blog-en/mi​sc/doubt-and-confidence.html
23:08 mberends moritz_: s/extend/extent/
23:32 IllvilJa joined #perl6

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs