Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-03-28

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:26 lichtkind :)
00:27 TimToady <crickets>
00:30 fgomez joined #perl6
00:37 localhost joined #perl6
00:46 LylePerl :)
00:49 benabik joined #perl6
00:52 sorear good * #perl6
00:52 phenny sorear: 27 Mar 20:40Z <diakopter> tell sorear PM me plz
00:52 phenny sorear: 27 Mar 20:40Z <diakopter> tell sorear actually email plz
00:56 envi_ joined #perl6
01:00 libertyprime joined #perl6
01:02 diakopter sorear: hi
01:03 sorear diakopter: hi ~ I sent a mail
01:03 diakopter I see it
01:04 diakopter it should be a simple perl daemon that needs only what's contained in the homedir of that user
01:04 diakopter and any dependent .pm
01:04 diakopter er,
01:04 diakopter depended .pm
01:05 diakopter it has the irc password and such saved in its config
01:05 tokuhiro_ joined #perl6
01:05 diakopter I think tar'ing it and moving it should do it
01:05 sorear diakopter: ah excellent
01:05 sorear I'll try that in a few
01:05 diakopter I just had it running as its own user for whatever reason
01:05 colomon o/
01:05 sorear o/ colomon
01:07 alvis` joined #perl6
01:09 diakopter sorear: you probably should just delete the large logfiles it has in the root of the dir
01:09 diakopter totally unnecessary to transfer
01:12 diakopter sorear: I can work on transferring it if you like
01:13 diakopter oh look, I can log into feather3
01:13 diakopter and sudo su -
01:13 sorear *shrug* I'm happy to do it, but I'm on a higher-priority task atm
01:14 * diakopter is curious what task
01:15 diakopter schoolwork me guesses
01:15 sorear yes
01:16 diakopter oh hm
01:16 diakopter this dalek poller bit in botnix
01:17 diakopter is that part of it
01:17 diakopter is it an add-in to botnix? I don't remember
01:17 sorear no, it's a couple separate processes
01:17 sorear what's left of botnix is basically a tail -f bot
01:18 diakopter hm, so what should I move
01:19 wolfman2000 joined #perl6
01:19 diakopter I see evalbot running as me in a screen session
01:20 BruceZu joined #perl6
01:20 diakopter twice, one for magnet and once for freenode
01:20 scott__ joined #perl6
01:21 diakopter then I see plackup push.psgi running as drain under you
01:32 sorear plackup and dalek-poller are things I know about
01:32 sorear high priority short task finished
01:32 leprevost joined #perl6
01:32 sorear what's left to do?
01:37 diakopter actually I don't see botnix running... ?
01:37 diakopter did someone stop it?
01:38 araujo joined #perl6
01:39 sorear probably
01:39 sorear note no dalek
01:42 diakopter I guess I'll just create a drain user just to be consistent
01:42 diakopter on feather3
01:43 sisar joined #perl6
01:44 sisar phenny: tell masak, thanks for the nits. masak++
01:44 phenny sisar: I'll pass that on when masak is around.
01:44 phenny sisar: 27 Mar 19:05Z <masak> tell sisar that https://github.com/sorear/niecza/issues/111 looks nice to me. had I submitted it, I'd have removed the timestamps, used 4-space indent instead of ```, and not bothered with the final comment. but those are all nits. (because you asked.) :)
01:45 benabik joined #perl6
01:45 sorear o/ sisar
01:48 sisar \o
01:49 * sisar is waiting impatiently for multidimensional array... ++sorear
01:49 diakopter sorear.. ohhhhh
01:50 sorear ?
01:50 diakopter botnix depends on apache or plack or both
01:51 sorear dalek-pollers depends strictly on plack
01:59 diakopter what uses apache
02:00 sorear try.rakudo.org mayhbe?
02:01 * sorear doesn't know where that is hosted
02:01 diakopter no I mean on host04
02:01 diakopter I don't remember why I/someone started apache
02:23 cbk1090 joined #perl6
02:45 xinming joined #perl6
02:45 mattp_ joined #perl6
03:12 orafu joined #perl6
03:41 spider-mario joined #perl6
03:43 sorear spider-mario! \o/
03:43 spider-mario hello :)
03:45 fgomez joined #perl6
03:56 jlaire masak: you were right, it isn't as simple as I thought. the generalized algorithm doesn't find all solutions if there are rows with 1's on only secondary columns
03:57 jlaire the search did finish very quickly, though :)
04:07 BooK joined #perl6
04:07 BooK_ joined #perl6
05:03 cbk1090 maybe we can all get rich using perl6 with this https://gist.github.com/2223774
05:15 birdwindupbird joined #perl6
05:16 sorear [I checked this out, it's not something that warrants an immediate kick]
05:38 sorear :(
05:38 tadzik good morning #perl6
05:39 kaleem joined #perl6
05:45 sorear hello tadzik
05:50 fgomez joined #perl6
05:56 * sorear wonders if alternating finite automata might be useful in LTM
05:59 wtw joined #perl6
06:01 lestrrat joined #perl6
06:07 NamelessTee joined #perl6
06:13 mucker joined #perl6
06:25 tarch joined #perl6
06:28 mdupont joined #perl6
06:42 lestrrat joined #perl6
06:45 odoacre joined #perl6
06:52 fgomez joined #perl6
06:59 moritz \o/
06:59 moritz new HPMoR chapter
06:59 moritz sorear: what do ou mean by "alternating finite automata"?
06:59 moritz *you
07:09 kaleem joined #perl6
07:12 preflex joined #perl6
07:12 bacek_ joined #perl6
07:14 kaleem joined #perl6
07:17 fglock joined #perl6
07:17 sorear htp://en.wikipedia.org/wiki/​Alternating_finite_automaton
07:18 sorear I need to look into this in more detail, but from the sparse info on the wikipedia page it looks like a subtetrational solution to the |/& mixing problem
07:18 ashleydev joined #perl6
07:18 mj41 joined #perl6
07:41 xinming joined #perl6
07:56 arnsholt Moin, moin
07:57 ashleydev joined #perl6
08:02 sorear Moin!
08:02 moritz moin indeed :-)
08:03 sorear o/ moritz
08:03 tadzik moin
08:11 rhr joined #perl6
08:16 cosimo joined #perl6
08:26 derrazo_ joined #perl6
08:27 xinming joined #perl6
08:28 colomon sorear: I was just looking into the :3<4A> thing.  Looks like we've got code that handles it correctly:
08:28 colomon n: say :3<4A>; say +":3<4A>";
08:28 p6eval niecza v16-3-gede8b6d: OUTPUT«22␤Unhandled exception: Digit <4> too large for radix 3␤  at /home/p6eval/niecza/lib/CORE.setting line 1366 (die @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3262 (ANON @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3265 (from_base @ 4) ␤  at …
08:31 sorear I noticed that also
08:31 colomon CORE.setting has its own version of from_base which does the check
08:31 colomon NieczaActions.pm6 has the from_base which does not
08:32 colomon Seems like it would be pretty easy to patch the troubled from_base, but the whole setup seems like a DRY violation...
08:32 moritz rakudo has the saem problems
08:33 sorear perhaps using the (new) constant folder on +"moo"
08:33 moritz (too many code paths for parsing numbers)
08:33 dakkar joined #perl6
08:34 colomon n: my $hex = "DEADZACE"; say +":16<$hex>"
08:34 p6eval niecza v16-3-gede8b6d: OUTPUT«Unhandled exception: Digit <Z> too large for radix 16␤  at /home/p6eval/niecza/lib/CORE.setting line 1366 (die @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3262 (ANON @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3265 (from_base @ 4) ␤  at /h…
08:35 moritz n: say :16('DEADZACE')
08:35 p6eval niecza v16-3-gede8b6d: OUTPUT«Unhandled exception: Digit <Z> too large for radix 16␤  at /home/p6eval/niecza/lib/CORE.setting line 1366 (die @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3262 (ANON @ 6) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3265 (from_base @ 4) ␤  at /h…
08:39 * sorear -> sleep
08:40 colomon o/
08:40 * colomon should go back to sleep
08:40 masak morning, #perl6
08:40 phenny masak: 01:44Z <sisar> tell masak thanks for the nits. masak++
08:42 tadzik hello masak
08:49 xinming_ joined #perl6
08:50 masak the weather is too nice. I had forgotten this since last summer. need some rain or a storm or something.
08:52 * colomon leaves his computer spectesting his patch and goes back to bed....
08:54 xinming joined #perl6
08:57 kaleem joined #perl6
08:58 szbalint joined #perl6
08:59 _sri joined #perl6
08:59 pomysl joined #perl6
08:59 pomysl joined #perl6
09:10 masak hm. in http://en.wikibooks.org/wiki/Perl​_6_Programming/Variables_and_Data there are a number of 'my' declarations without parens around the variables.
09:10 masak the perils of writing code and not trying it out. :)
09:11 havenn joined #perl6
09:13 daxim joined #perl6
09:14 frettled Do we need a book test suite?  ;)
09:14 tadzik that'd be nice I think
09:14 tadzik ISTR people complaining about book code examples not running
09:15 ab5tract joined #perl6
09:22 masak http://davidvaldman.com/post/2​0027940591/psychofhardproblems -- I like this. "You only need to be right 1% of the time."
09:24 arnsholt Indeed. Nice way to formulate it
09:26 moritz http://en.wikipedia.org/wiki/Perl#Perl_6 says "A number of features in the Perl 6 language now show similarities to Haskell.[citation needed]"
09:26 moritz what are those features?
09:26 moritz I can think of: multis and signatures are like the pattern matching in Haskell, in some way
09:26 tadzik laziness?
09:26 arnsholt Laziness I'd say
09:26 moritz lazy lists, right
09:26 moritz parameters are read-only by default
09:27 moritz anything else?
09:28 tadzik I think given-when is quite similar to one of the haskell constructs which name I do not recall
09:28 tadzik the one with |'s all around
09:29 masak guard clauses.
09:30 tadzik probably, yes
09:30 masak but I wouldn't say that switch/given are similar enough to guard clauses to qualify as "quite similar".
09:31 tadzik okay. It's just something I remember from The Book With Funny Drawings
09:31 masak guard clauses are nested inside Haskell's pattern matching. given blocks can occur anywhere.
09:31 arnsholt tadzik: That'd be Learn you a Haskell?
09:32 tadzik arnsholt: for a Greater Good, aye
09:39 arnsholt It's on my list of books to possibly spend some of my PhD spending allowance on
09:39 lumi_ joined #perl6
09:40 arnsholt (Although the TeX book is actually at the top of that list)
09:42 moritz editing wikipedia is really tiring
09:42 moritz they want references, but when you include a reference link you have to solve a captcha, because that link could be spam
09:42 moritz and not just the first time you do it, but every time. Even if you're logged in
09:42 moritz how annoying
09:43 moritz anyway, I've brushed up http://en.wikipedia.org/wiki/Perl#Future_of_Perl_5 a wee bit
09:45 masak moritz++
09:45 masak yes, I was reminded of the hoops you have to jump through when editing Wikipedia articles, last time I edited a c2.com wiki page.
09:46 masak it was literally Edit link -> change stuff -> simple captcha -> Save.
09:46 masak and to top it off, each edit gets you a "thank you" not from Ward Cunningham :D
09:46 masak note*
09:48 moritz does that annoyance stop after a number of edits you make, or something?
09:48 moritz or non-reverted commits?
09:49 masak no idea.
09:50 masak I have a public-facing instance of MediaWiki running on one of my sites, where the annoyance is spammers, not hoops.
09:52 xinming_ joined #perl6
09:58 envi_ joined #perl6
10:01 moritz masak: are there any useful drive-by edits on your wiki instance?
10:03 masak there are useful edits by people with accounts.
10:03 masak we banned anonymous edits long ago.
10:04 masak unfortunately, that doesn't seem to help, as there is now quite a bit of spam from bots who created accounts for themselves.
10:07 moritz masak: I'm glad there aren't any spam bots yet that join IRC channels and ask for commit bits to github projects :-)
10:09 masak anarchic trust works as long as it's niche.
10:09 masak there simply isn't payoff enough to linkspam perl6's github repos.
10:14 lestrrat joined #perl6
10:24 sftp joined #perl6
10:24 bacek_ joined #perl6
10:26 bacek_ joined #perl6
10:30 NamelessTee joined #perl6
10:57 kaleem joined #perl6
10:57 kaleem joined #perl6
11:12 PZt joined #perl6
11:17 masak got a 54-line Perl 5 program in the mail which enumerates the 4,783,154,184,978 t2 board configurations in less than 0.1 s.
11:21 masak t4*
11:22 jlaire dynamic programming?
11:23 jlaire counts, rather than enumerates, I suppose
11:23 masak indeed.
11:23 masak it loops over all positions of the board. sort of.
11:26 masak keeping a hash as it goes of "used" positions on the board.
11:27 masak actually, I'd describe it as a brute-force tree search, but where $N "visits" down "the same" branch in the search tree have been replaces by the integer $N, stored in a hash.
11:27 jlaire that's basically what dynamic programming is :)
11:28 jlaire especially when implemented with recursion and a cache
11:29 jlaire when you're excited about the generality of DLX, every problem looks like an exact cover...
11:29 jlaire I feel silly for not thinking about using dynamic programming
11:31 masak I feel silly too, but mostly I'm just in awe.
11:33 sftp joined #perl6
11:34 masak ah, he's published it himself: http://blogs.perl.org/users/salvador_fandin​o/2012/03/solving-carl-masaks-counting-t4-c​onfigurations-problem-in-pure-perl-5.html
11:34 moritz salvador++
11:35 pernatiy joined #perl6
11:36 masak note that the representation he chooses for this is perfect. the three directions turn into horizontal, vertical, and backslash-diagonal on a 2D board.
11:36 masak anyone feel like porting this to Perl 6? :)
11:37 masak (shouldn't be too difficult)
11:40 tokuhiro_ joined #perl6
11:44 masak the 'x'es mean "you can't put here", first simply because those locations are out-of-bounds, later because in that particular search path the location has already been claimed by a piece.
11:45 daxim hmmm, marshmallows.
11:45 masak that said, I'm looking at this, and I still don't understand why all the length-3-piece substitutions require an 'x' on the LHS. if anyone groks this, please share your insight. :)
11:45 masak I think I understand the rest of the program now.
11:48 masak it essentially traverses, in lockstep, a 36247-edge DAG. which would probably look cool visualized, by the way.
11:53 masak sorry, a 14097-node, 12853-edge DAG. :)
11:53 flussence last time I tried getting graphviz to draw something with more than a few dozen nodes, it ate my machine :)
11:53 masak hm, that doesn't look right. too few edges...
11:54 moritz masak: fwiw it's not trivial to port to rakudo, because it relies on 'if s///' quite a bit
11:54 moritz which doesn't DWIS in rakudo
11:54 masak "Do What I..."?
11:54 skids joined #perl6
11:55 masak "Suggested"?
11:55 moritz Do What It Should :-)
11:55 masak ah.
11:55 masak maybe write a helper sub that DWIS, then?
11:55 masak let's see some industrious workarounditude! :P
11:56 moritz n: $_ = 'foo'; say so s/^f/X/; .say
11:56 p6eval niecza v16-3-gede8b6d: OUTPUT«True␤Xoo␤»
11:56 moritz n: $_ = 'foo'; say so s/^b/X/; .say
11:56 p6eval niecza v16-3-gede8b6d: OUTPUT«False␤foo␤»
11:56 moritz or use niecza :-)
11:57 masak or that.
11:57 masak probably faster anyway.
11:57 xinming joined #perl6
11:57 * jlaire tries to imagine an equally terse implementation with ints and bit ops instead of strings and regexes
12:12 LylePerl joined #perl6
12:19 BruceZu joined #perl6
12:23 masak here's the DAG: http://strangelyconsistent.o​rg/blog/images/t4-dp-dag.png
12:24 masak graphviz dot tries valiantly to draw all the edges. sometimes things just end up a big smudge.
12:24 moritz I just see black
12:24 masak possibly some clever use of option flags can remedy this. I'm no dot expert.
12:25 masak moritz: you might need to zoom in.
12:26 moritz firefox doesn't seem to like it :/
12:26 moritz ah, finally I see something
12:27 flussence masak: try one of the other graphviz layouts?
12:28 masak may I suggest viewing it in an image viewer, and not in a browser
12:28 masak the image is quite wide.
12:28 masak flussence: yeah, I'll see what I can do.
12:29 flussence (I think trying to use a "clever" layout engine may be what killed my PC that time though :)
12:29 * moritz recommends ulimit
12:45 sporous joined #perl6
12:55 bacek_ joined #perl6
12:56 lichtkind joined #perl6
12:56 lichtkind cheers
12:57 moritz p6: say join ' ', 'lichtkind!' xx 3; # three cheers for lichtkind
12:57 p6eval pugs, rakudo 79e8ec, niecza v16-3-gede8b6d: OUTPUT«lichtkind! lichtkind! lichtkind!␤»
12:57 lichtkind moritz: why that?
12:58 moritz lichtkind: you wanted cheers, didn't you? :-)
13:00 lichtkind true, but i hoped more for answers like you like my work :)
13:01 lichtkind today i add special var to index a and we will go above the 700
13:01 moritz that's cool.
13:01 lichtkind yes
13:02 lichtkind i totally underestimated how often i still find typos or just better explanations than existing
13:03 masak iteration is fundamental to quality work.
13:03 lichtkind i also work currently hard on to get actual links for every term in perl 6
13:07 * masak .oO( but the terms in Perl 6 form a countably infinite set... )
13:11 lichtkind masak: yanouwaddamin
13:16 * masak nods
13:27 snearch joined #perl6
13:30 envi_ joined #perl6
13:31 jlaire /sb goto -1
13:31 jlaire lol
13:48 JimmyZ joined #perl6
13:55 PacoAir joined #perl6
13:57 JimmyZ_ joined #perl6
13:59 leprevost joined #perl6
14:02 fsergot joined #perl6
14:09 plutoid joined #perl6
14:13 alester joined #perl6
14:25 colomon joined #perl6
14:29 birdwind1pbird joined #perl6
14:31 PacoAir joined #perl6
14:32 masak p6: say (chr(:16($_)) for <697420697320746F6F20717569657420​696E2068657265>.comb(/../)).join
14:32 p6eval rakudo 79e8ec: OUTPUT«it is too quiet in here␤»
14:32 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "for"␤    expecting operator or ")"␤    at /tmp/0c0oSjmAD8 line 1, column 19␤»
14:32 p6eval ..niecza v16-4-gd48d4a8: OUTPUT«␤»
14:33 thou joined #perl6
14:33 moritz niecza: sub a(*%a) { say %a.perl }; a :16('FF')
14:33 p6eval niecza v16-4-gd48d4a8: OUTPUT«Unhandled exception: Excess arguments to a, used 0 of 1 positionals␤  at /tmp/rMANg7IfR_ line 0 (a @ 1) ␤  at /tmp/rMANg7IfR_ line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting li…
14:34 moritz niecza: say :16('FF')
14:34 p6eval niecza v16-4-gd48d4a8: OUTPUT«255␤»
14:34 moritz why doesn't niecza print anything then?
14:34 masak niecza: say chr(:16('69'))
14:34 p6eval niecza v16-4-gd48d4a8: OUTPUT«i␤»
14:35 moritz n: say $_ for <697420697320746F6F20717569657​420696E2068657265>.comb(/../))
14:35 p6eval niecza v16-4-gd48d4a8: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Unexpected closing bracket at /tmp/fMVsE1jzqV line 1:â�¤------> [32m20717569657420696E2068657265>.c​omb(/../)[33mâ��[31m)[0mâ�¤â�¤Parse failedâ�¤â�¤Â»
14:35 benabik joined #perl6
14:35 moritz n: say $_ for <697420697320746F6F20717569657​420696E2068657265>.comb(/../)
14:35 masak niecza: say (chr(:16($_)) for <69 74 20>).join
14:35 p6eval niecza v16-4-gd48d4a8: OUTPUT«69␤74␤20␤69␤73␤20␤74␤6F␤6F␤20␤71​␤75␤69␤65␤74␤20␤69␤6E␤20␤68␤65␤72␤65␤»
14:35 p6eval niecza v16-4-gd48d4a8: OUTPUT«Unhandled exception: Numbers may not be passed :base(); if you wanted to render the number in the given base, use $number.base($radix); if you want to treat the number as a string, explicitly coerce it first␤  at /home/p6eval/niecza/lib/CORE.setting line 13…
14:35 masak THOSE ARE NOT NUMBERS
14:35 moritz well, they are, kindof
14:36 moritz n: say .WHAT for <69 74>
14:36 p6eval niecza v16-4-gd48d4a8: OUTPUT«IntStr()␤IntStr()␤»
14:36 PacoAir joined #perl6
14:36 * masak digs up his last rant on this
14:36 daxim joined #perl6
14:36 moritz but I think that error message is still bogus, because they have a perfectly well-defined Str part
14:37 moritz niecza: say (chr(:16(~$_)) for <69 74 20>).join
14:37 masak "...each such item will be stored as "an object with both a string and a numeric nature". This unnerves me; I'd be happier if the construct always returned pure strings, that I'd then have to convert manually. I cannot quite put my finger on why I think this is bad and could create problems down the road; I just do." http://strangelyconsistent.org/blog​/second-system-syndrome-done-wrong
14:37 p6eval niecza v16-4-gd48d4a8: OUTPUT«␤»
14:37 masak THIS IS WHY
14:37 flussence n: my $_ = '74'; say .WHAT; .=Str; say .WHAT;
14:37 p6eval niecza v16-4-gd48d4a8: OUTPUT«Potential difficulties:â�¤  Useless redeclaration of variable $_ (see  line 0) at /tmp/IHHiZ8wGsx line 1:â�¤------> [32mmy $_ [33mâ��[31m= '74'; say .WHAT; .=Str; say .WHAT;[0mâ�¤â�¤Str()â�¤Str()â�¤Â»
14:37 flussence argh
14:38 flussence n: $_ = <74 >[0]; say .WHAT; .=Str; say .WHAT;
14:38 p6eval niecza v16-4-gd48d4a8: OUTPUT«IntStr()␤Str()␤»
14:38 moritz n: say (~<74>[0]).WHAT
14:38 p6eval niecza v16-4-gd48d4a8: OUTPUT«Str()␤»
14:38 masak moritz: I think Niecza has previously had some issues with list comprehensions yielding the empty list.
14:38 fsergot #perl6 o/
14:38 masak fsergocie! \o/
14:39 colomon yes, in Niecza for doesn't yield a list yet, AFAIK
14:39 moritz masak: I didn't even notice a list comprehension
14:39 PacoAir joined #perl6
14:39 moritz ah, now I see it
14:40 masak well, at least it's a statement_mod for.
14:41 kaare_ joined #perl6
14:41 colomon funny how for and map are so fundamental, yet are a bit hacky in both niecza and rakudo
14:41 masak colomon: that's... surprising. but it explains the problem at hand.
14:42 moritz is .map hacky in Rakudo?
14:42 masak sorear: I hereby upvote any efforts to give Niecza proper list comprehensions.
14:42 moritz for is, for sure :-)
14:42 colomon moritz: I was definitely thinking more for.  :)
14:42 moritz (it needs sink context to become non-hacky in both compilers)
14:43 colomon I admit I haven't really looked at the current state of Rakudo's .map in a long itme.
14:44 colomon niecza: say :3<4a>
14:44 p6eval niecza v16-4-gd48d4a8: OUTPUT«Unhandled exception: Digit <4> too large for radix 3␤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1366 (die @ 3) ␤  at /home/p6eval/niecza/src/NieczaActions.pm6 line 142 (from_base @ 15) ␤  at /home/p6eval/niecza/src/NieczaActions.pm6 line 183 (Niecz…
14:44 colomon \o/
14:44 * moritz misses dalek
14:48 * colomon too
14:50 benabik Where did zie go?
14:50 moritz evalbot rebuild nom
14:50 p6eval OK (started asynchronously)
14:51 * colomon thinks Daleks are surely "it"s...
14:51 masak the way to handle a sexist IRC bot: http://geekchick77.dreamwidth.org/472.html :)
14:52 moritz well, more a "last resort" than "the way"
14:55 masak perhaps. though I really like solutions that don't end with authoritative clampdown, but rather with wit, ingenuity, and thoughtfulness.
14:59 masak the bot reminded me of purl for some reason.
14:59 masak and then I realized that I haven't seen purn on #parrot for ages.
14:59 masak purl*
15:03 moritz well, we kickban'ned it after we had a less noisy replacement (aloha)
15:03 masak oh, that's what happened.
15:03 moritz (or asked the owner to retract it, or so)
15:05 havenn joined #perl6
15:06 moritz and purl is precisely what I think that the solution is to get rid of offensive/noisy bots, instead of counter-spamming
15:06 moritz s/what/why/
15:06 masak you're probably right.
15:07 moritz though of course the bot wasn't the problem, the real problem was that the community didn't respond appropriately to critisms
15:08 masak though I think Jessamyn managed to open people's eyes... right.
15:12 moritz r: say 'foo'.Numeric
15:12 p6eval rakudo 79e8ec: OUTPUT«0␤»
15:13 moritz r: say 'foo'.Numeric(:strict)
15:13 p6eval rakudo 79e8ec: OUTPUT«0␤»
15:13 moritz rebuild not yet finished :(
15:15 geekosaur joined #perl6
15:16 TimToady Gah, if I was only right 1% of the time you'd fire me...
15:17 TimToady as it is, it's a near thing at 2% or so...  :)
15:17 geekosaur joined #perl6
15:17 moritz r: say 'foo'.Numeric(:strict)
15:17 p6eval rakudo 79e8ec: OUTPUT«0␤»
15:18 moritz meh. Build slow.
15:18 benabik Doesn't it say "rebuild in progress" if it's rebuilding?
15:19 moritz benabik: not rakudo
15:19 benabik Odd.
15:19 Gothmog_ joined #perl6
15:19 moritz benabik: since rakudo rebuilds are so slow, we have two install dirs
15:19 benabik hheh
15:19 TimToady I think lazy lists are the only Perl 6 feature intentionally copied directly from Haskell rather than from the more general circumambient gasses...
15:20 moritz benabik: and we use one of them while rebuilding into the other one
15:21 TimToady most of the other FP features of Perl 6 are there because they're, well, FP features, not Haskell features
15:22 TimToady signature matching is more inspired by Erlang, I'd say
15:23 TimToady but in general, *nothing* goes into Perl 6 for any single reason
15:23 daxim "… 'cause I said so!"
15:24 TimToady plus there weren't enough people trying to shout me down :P
15:24 TimToady but generally I never say so without multiple reasons in my head already
15:29 masak n: given <32> { say .WHAT }
15:29 p6eval niecza v16-4-gd48d4a8: OUTPUT«Int()␤»
15:29 masak n: for <32 33 34> { say .WHAT }
15:29 p6eval niecza v16-4-gd48d4a8: OUTPUT«IntStr()␤IntStr()␤IntStr()␤»
15:29 masak sorear: I find this slightly inconsistent.
15:30 masak n: for <32 33 34> { say :16($_) }
15:30 p6eval niecza v16-4-gd48d4a8: OUTPUT«Unhandled exception: Numbers may not be passed :base(); if you wanted to render the number in the given base, use $number.base($radix); if you want to treat the number as a string, explicitly coerce it first␤  at /home/p6eval/niecza/lib/CORE.setting line 13…
15:30 masak sorear: ...and that needs fixing. :/
15:33 xinming_ joined #perl6
15:34 moritz r: say 1
15:34 p6eval rakudo 37a6b8: OUTPUT«1␤»
15:34 moritz finally :-)
15:34 moritz r: say 'foo'.Numeric(:strict)
15:34 p6eval rakudo 37a6b8: OUTPUT«Cannot convert string to number: does not look like a number in '⏏foo' (indicated by the ⏏ symbol)␤  in method gist at src/gen/CORE.setting:8119␤  in sub say at src/gen/CORE.setting:6235␤  in block <anon> at /tmp/WmbbfGS1sa:1␤␤»
15:35 masak moritz++
15:36 moritz iirc that *should* be the default, but it'll horribly break all the spectests
15:40 masak :/
15:40 moritz in fact I'm going to try that out right now
15:41 moritz at least the setting compiles :-)
15:42 moritz hey, not as bad as I remembered. It seems to have got through S02 with only one failure
15:43 pmichaud yes, my understand is that :strict is the default
15:43 pmichaud *understanding
15:44 moritz fair number of failures in S03
15:44 moritz S04 is fine
15:44 masak pmichaud! \o/
15:45 pmichaud (good morning, #perl6)
15:45 pmichaud so instead of :strict as an option, perhaps we should have :relaxed
15:46 pmichaud or :leading
15:46 flussence :lax?
15:46 pmichaud (phrased slightly differently:  in Perl 6, 'use strict' is the default.  :)
15:47 Psyche^ joined #perl6
15:49 moritz well, if one wants lax conversion,  +$x // 0  is much shorter than $x.Numeric(:lax)
15:49 masak 'use strict' typically pertains to syntactical strictness :)
15:49 pmichaud perhaps I misread the patch
15:49 moritz masak: stricts 'refs'; has a runtime component, iirc
15:50 pmichaud what happens with     my $x = '123 any'; say +$x
15:50 pmichaud ?
15:50 moritz same as now
15:50 moritz r: say +'123 any'
15:50 pmichaud r:  my $x = '123 any';  say +$x;
15:50 p6eval rakudo 37a6b8: OUTPUT«Cannot convert string to number: trailing characters after number in '123⏏ any' (indicated by the ⏏ symbol)␤  in method gist at src/gen/CORE.setting:8119␤  in sub say at src/gen/CORE.setting:6235␤  in block <anon> at /tmp/pgj2NVYaH1:1␤␤»
15:50 p6eval rakudo 37a6b8: OUTPUT«Cannot convert string to number: trailing characters after number in '123⏏ any' (indicated by the ⏏ symbol)␤  in method gist at src/gen/CORE.setting:8119␤  in sub say at src/gen/CORE.setting:6235␤  in block <anon> at /tmp/pr9iqyCe20:1␤␤»
15:50 pmichaud oh, this is a different form of strictness than what I was thinking, I guess.
15:51 pmichaud the :strict you just added only handles the "no digits whatsoever" case, then?
15:51 TimToady I still think it should put the ⏏ after the whitespace, since trailing whitespace is allowed
15:51 moritz pmichaud: correct
15:51 pmichaud that seems... weird.  They feel like they ought to be the same to me.
15:51 moritz pmichaud: all the other cases have been covered in previous patches by japhb++
15:51 pmichaud I guess I'm looking for an option that says "trailing garbage is okay, give me the first number encountered"
15:52 moritz pmichaud: but since :strict breaks so many spectests, we didn't introduce strictness in the most common case
15:52 pmichaud and then that option would also give me 0 if no number is encountered
15:52 * masak gets on a train
15:52 moritz https://gist.github.com/2227563 # spectest summary
15:52 moritz note that the bag, keyset and keybag failures are unrelated
15:54 pmichaud anyway, :strict feels like it's on the wrong logic side to me
15:54 moritz so, 15 newly failing test files
15:54 moritz pmichaud: yes, I know. It's not meant to stay
15:54 pmichaud oh.
15:54 moritz pmichaud: it's meant for experimenting with it. I should have said that much earlier :/
15:54 pmichaud I didn't catch that part.  :)
15:54 pmichaud putting a note that it's temporary in the commit would've helped :)
15:55 moritz aye. Obvious in retrospect
15:55 TimToady and (indicated by the ⏏ symbol) is kinda verbosely LTA, when it could just be (marked by ⏏)
15:55 pmichaud TimToady++
15:55 TimToady we already know ⏏ is a symbol...
15:56 TimToady sometimes we think adding words is how you make error messages more awesome, and sometimes that's true
15:56 pmichaud "omit <strike>needless</strike> words"   :-)
15:56 TimToady "omit words"  :)
15:56 pmichaud exactly :)
15:56 TimToady omit!
15:57 moritz TimToady: fixed.
15:57 TimToady yes, I've been fixed. :)
15:57 pmichaud okay, I'll withhold further comments on the string->number conversion until moritz++ has completed his changes
15:58 pmichaud should it be "marked by ⏏"   or "indicated by ⏏" ?   (bikeshed?)    I prefer "marked"
15:58 moritz pmichaud: don't. I don't have a very clear path forward
15:59 moritz so far I've speculated to add a .find-number or .find-numbers method to Str/Cool
15:59 pmichaud moritz: alternatively, then, I'll review the whole thing a bit and make comments
15:59 TimToady if you make it green/yellow/read then you don't need the parenthetical at all :)
15:59 TimToady *red
16:00 moritz and then add a note to our next release announcement, warning .Numeric is going to be much stricter
16:00 TimToady .val(:ltm) or some such?
16:00 phenny TimToady: Nothing to validate.
16:00 TimToady o_O
16:00 moritz and then switch it to :strict, and fix the spectests
16:00 moritz TimToady: that's much more general than searching for numbers, no?
16:01 pmichaud moritz: I'll take a look at the spectests.  Technically we fix the spectests first, since they're the spec.
16:01 TimToady well, you can do ltm matching with pretty much any rule
16:02 moritz r: say +''
16:02 p6eval rakudo 37a6b8: OUTPUT«0␤»
16:02 TimToady it just seems like we're looking for some shorthand for STD_P6.parse(:rule<number>) or so
16:02 moritz yes-ish
16:03 TimToady hedges "Я" us, kinda
16:04 pmichaud well, I just know that p5 and c folks are used to having an easy way to numify the leading portion of a string.
16:04 pmichaud without having to explicitly parse it beyond what the numifier already does
16:05 pmichaud it will seem odd to me that +'' fails, too.  I see now that's the case being addressed.  Hm.
16:05 pmichaud probably should fail
16:08 pmichaud anyway, lunchtime here.  bbl
16:14 mucker joined #perl6
16:14 vlixes joined #perl6
16:22 vlixes left #perl6
16:28 vlixes joined #perl6
16:34 xinming joined #perl6
16:34 masak_train joined #perl6
16:35 masak_train Whee!
16:36 colomon irc on train, yay!
16:37 sorear good * #perl6
16:42 moritz r: say ''.Numeric(:strict)
16:42 p6eval rakudo 196981: OUTPUT«Cannot convert string to number: does not look like a number in '⏏' (indicated by ⏏)␤  in method gist at src/gen/CORE.setting:8119␤  in sub say at src/gen/CORE.setting:6235␤  in block <anon> at /tmp/_mG585NOEY:1␤␤»
16:43 moritz maybe should be special-cased. Or not. No idea
16:49 bacek_ joined #perl6
16:52 havenn joined #perl6
16:53 masak_train joined #perl6
16:53 spider-mario joined #perl6
16:53 masak_train Clearly, ''.Numeric should be NaN ;-)
16:54 * masak_train settles in and reads Episode 81
17:02 TimToady perl6: say NaN.defined
17:02 p6eval pugs: OUTPUT«1␤»
17:02 p6eval ..rakudo 196981, niecza v16-4-gd48d4a8: OUTPUT«True␤»
17:04 TimToady perl6: say NaN || 0; say NaN // 0;
17:04 p6eval pugs, rakudo 196981, niecza v16-4-gd48d4a8: OUTPUT«NaN␤NaN␤»
17:05 TimToady that seems a bit less than useful
17:06 masak_train p6: say ?NaN
17:06 p6eval pugs: OUTPUT«1␤»
17:06 p6eval ..rakudo 196981, niecza v16-4-gd48d4a8: OUTPUT«True␤»
17:07 masak_train answer should be, of course, NaB ;-)
17:08 TimToady haha. what would it break to force NaN to false and undefined?
17:08 TimToady not suggesting we move it outside of Any though
17:09 TimToady since the whole point is to be in-band with floating-point calculations
17:09 masak_train does IEEE <mumblemumble> have any vested opinion?
17:09 TimToady and do we care? :)
17:10 TimToady our vested opinion is PoLA
17:10 masak_train we do if it's well-considered.
17:11 masak_train IEEE conformance for Num is a kind of PoLA
17:11 TimToady I doubt IEEE has any opinion on the subject of booleanness or definedness of floaters
17:11 Chillance joined #perl6
17:11 TimToady and as long as it's still a sub-value of Num, we're fine on that subject, I think
17:12 TimToady NaN would be .DEFINITE but not .defined
17:14 TimToady sin(NaN) still calls the same function as sin(6.02e-23)
17:15 TimToady we might be in more trouble wrt ±Inf in that regard
17:15 tadzik lol, masak turned into a train?
17:16 tadzik so that's what this clone business is about
17:16 TimToady no, we're just trying to train his clone
17:16 tadzik ah, that makes sense
17:16 tadzik Go released! \o/
17:18 masak_train yay
17:18 TimToady as in the language?
17:18 tadzik aye
17:18 * TimToady is in Mountain View, where we know nothing about Google...
17:19 tadzik :)
17:19 TimToady but that's because it hasn't shown up on Google's Sci/Tech news yet  :P
17:19 GlitchMr joined #perl6
17:20 TimToady maybe I should go back to reading /.
17:20 masak_train aye. Go1
17:21 TimToady Go2 considered harmful...
17:21 TimToady you heard it here first
17:21 TimToady er, second
17:21 tadzik nah, just read it on HN :)
17:22 TimToady so, where's our Go backend? huh? huh?
17:22 TimToady you guys are too lazy, just like me...
17:25 tadzik perlito has a Go backend
17:25 TimToady now if it only had a (complete) Perl 6 frontend...
17:25 TimToady obviously what we really need here is a middle end
17:26 GlitchMr If only Perlito would be more up-to-date Perl 6 implementation
17:27 GlitchMr But I guess it could be difficult because of insane number of front-ends...
17:28 GlitchMr Perhaps it shouldn't be called "Perl 6", but "Perl-like language"...
17:29 TimToady use of the word "insane" with anything related to Perl 6 has been deemed to be one of those useless words that should be omitted
17:30 TimToady "Perl 6 is insane" --> "Perl 6 is"
17:30 PerlJam perhaps Perl 6 should be called Perl 0 since it's all of the other languages are just slangs, ergo it's the "foundation language"
17:30 PerlJam s/it's//
17:30 PerlJam .oO( note to self--don't think ahead of what you're typing)
17:31 GlitchMr Perhaps Perl 6 shouldn't have version number, because it's living specification.
17:31 TimToady better yet, don't type behind what you're thinking
17:31 PerlJam GlitchMr: who said the 6 was a version number?
17:32 PerlJam It's more like a generation number than a version number ;)
17:35 xinming_ joined #perl6
17:35 sorear masak: it looks like <43> is indistinguishable from 43
17:35 GlitchMr perl6: print <43>.perl
17:35 p6eval niecza v16-4-gd48d4a8: OUTPUT«43»
17:35 p6eval ..pugs, rakudo 196981: OUTPUT«"43"»
17:36 GlitchMr perl6: print <43> ~~ Str
17:36 p6eval niecza v16-4-gd48d4a8: OUTPUT«False»
17:36 p6eval ..rakudo 196981: OUTPUT«True»
17:36 p6eval ..pugs: OUTPUT«1»
17:37 doy r: say <43>.WHAT
17:37 p6eval rakudo 196981: OUTPUT«Str()␤»
17:37 PerlJam it's niecza you need to ask
17:37 PerlJam (and I have an idea what it thinks)
17:38 GlitchMr I don't know, but maybe it things it's radix without radix...
17:38 GlitchMr thinks*
17:38 PerlJam n: say <43>.WHAT  # I bet Parcel
17:39 p6eval niecza v16-4-gd48d4a8: OUTPUT«Int()␤»
17:39 PerlJam oh and I lose the bet!
17:39 PerlJam perl6: say <43 45>.WHAT
17:39 p6eval rakudo 196981, niecza v16-4-gd48d4a8: OUTPUT«Parcel()␤»
17:39 p6eval ..pugs: OUTPUT«Array␤»
17:40 GlitchMr For some reason I think that niecza seems to think that <43> is actually :10<43>...
17:40 GlitchMr Or not...
17:41 GlitchMr perl6: print <2.3>.WHAT
17:41 p6eval pugs: OUTPUT«Str»
17:41 p6eval ..niecza v16-4-gd48d4a8: OUTPUT«Rat()»
17:41 p6eval ..rakudo 196981: OUTPUT«use of uninitialized variable $v of type Str in string context␤»
17:41 GlitchMr ... uhmmm... what is $v?
17:41 sorear you need to use say.
17:41 sorear niecza only works because of a bug.
17:41 * sorear out
17:42 GlitchMr r: say <2.3>.WHAT
17:42 p6eval rakudo 196981: OUTPUT«Str()␤»
17:42 GlitchMr Am I not understanding something?
17:42 PerlJam All of the implementations are buggy.
17:43 GlitchMr But why "print" is wrong?
17:43 PerlJam It's not wrong, it just twiddles a bug
17:46 TimToady S02:4516 talks about the difference between <1/2> and < 1/2 >
17:47 TimToady perl6: say <1/2>.WHAT; say < 1/2 >.WHAT
17:47 p6eval niecza v16-4-gd48d4a8: OUTPUT«Rat()␤RatStr()␤»
17:47 p6eval ..rakudo 196981: OUTPUT«Str()␤Str()␤»
17:47 p6eval ..pugs: OUTPUT«Str␤Str␤»
17:47 PerlJam niecza++
17:47 TimToady niecza is correct here
17:48 TimToady or at least speckled :)
17:48 PerlJam rakudo doesn't implement RatStr that I know of.
17:48 PerlJam ( and, of course, pugs predates them :)
17:48 TimToady n: say <-1/2>.WHAT
17:48 p6eval niecza v16-4-gd48d4a8: OUTPUT«Rat()␤»
17:49 TimToady n: say <-1-i>.WHAT
17:49 p6eval niecza v16-4-gd48d4a8: OUTPUT«Str()␤»
17:49 TimToady hah
17:49 TimToady n: say <-1+-i>.WHAT
17:49 p6eval niecza v16-4-gd48d4a8: OUTPUT«Str()␤»
17:49 TimToady n: say <-1+-1i>.WHAT
17:49 p6eval niecza v16-4-gd48d4a8: OUTPUT«Str()␤»
17:49 TimToady n: say <1+1i>.WHAT
17:49 p6eval niecza v16-4-gd48d4a8: OUTPUT«Complex()␤»
17:49 TimToady n: say <1-1i>.WHAT
17:50 p6eval niecza v16-4-gd48d4a8: OUTPUT«Complex()␤»
17:50 TimToady n: say <-1-1i>.WHAT
17:50 p6eval niecza v16-4-gd48d4a8: OUTPUT«Complex()␤»
17:52 TimToady n: say <0i>.WHAT
17:52 p6eval niecza v16-4-gd48d4a8: OUTPUT«Str()␤»
17:52 TimToady I call bug on that one
17:53 PerlJam n: say <-1-1i>.WHAT.say
17:53 p6eval niecza v16-4-gd48d4a8: OUTPUT«Complex()␤True␤»
17:53 PerlJam oops
17:53 TimToady you can say that again
17:53 PerlJam n: <-1-1i>.WHAT.say;
17:53 p6eval niecza v16-4-gd48d4a8: OUTPUT«Complex()␤»
17:54 PerlJam n: i.WHAT.say;
17:54 p6eval niecza v16-4-gd48d4a8: OUTPUT«Complex()␤»
17:54 PerlJam n: <0i>.WHAT.say;
17:54 p6eval niecza v16-4-gd48d4a8: OUTPUT«Unhandled exception: Cannot unbox a String from an object of repr P6opaque␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (Str.say @ 1) ␤  at /tmp/UjS5uzceBV line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3) ␤  at /home…
17:54 PerlJam fireworks!
17:54 TimToady すごい!
17:54 GlitchMr niecza> <0i>.WHAT
17:54 GlitchMr Str()
17:55 GlitchMr That's interesting...
17:55 GlitchMr But I guess it's because niecza on p6eval runs mono...
17:55 PerlJam n: "foo".say
17:55 p6eval niecza v16-4-gd48d4a8: OUTPUT«foo␤»
17:55 PerlJam (just checking the obvious :)
17:55 GlitchMr niecza> <0i>.WHAT.say
17:55 GlitchMr Cannot unbox a String from an object of repr P6opaque
17:55 GlitchMr Or not...
17:57 PerlJam someone posted a link to a clip of "2.5 men" where Perl is mentioned ...  I wonder if we can get the folks who do Dr Who to mention Perl 6 and the doctor's favorite language or what the tardis is programmed in or something  :-)
17:57 PerlJam s/and/as/
17:58 PerlJam forget 100-year language ... it's an heat-death-of-the-universe language  ;)
18:04 buubot_backup joined #perl6
18:08 spider-mario joined #perl6
18:10 GlitchMr Programming in Perl 5:
18:10 GlitchMr package ACME::Insanity;
18:10 GlitchMr use strict;
18:10 GlitchMr use warnings;
18:11 GlitchMr use Exporter;
18:11 timotimo PerlJam: the tardis is already a person, probably not programmed in perl6 ;)
18:11 PerlJam GlitchMr: use nopaste or gist or something
18:11 GlitchMr Right...
18:11 PerlJam timotimo: the interface to the tardis then.  use your imagination :)
18:11 benabik timotimo: Well the TARDIS was put into a person, she's not naturally that way.
18:12 timotimo i was pretty sure the tardis was meant to still have a personality
18:12 timotimo even if not imprisoned in a person
18:12 havenn joined #perl6
18:12 tadzik GlitchMr: what are you trying to show?
18:12 timotimo where can that clip be found? a quick search on youtube didn't find anything much
18:19 TimToady perl6: say Bool.enums.values».Bool
18:19 p6eval niecza v16-4-gd48d4a8: OUTPUT«False True␤»
18:19 p6eval ..rakudo 196981: OUTPUT«Method 'enums' not found for invocant of class 'Bool'␤  in block <anon> at /tmp/aDlPFWSWdp:1␤␤»
18:19 p6eval ..pugs: OUTPUT«*** No such method in class Bool: "&enums"␤    at /tmp/M4ggJhx3Fy line 1, column 5 - line 2, column 1␤»
18:19 moritz ah, Bool isn't a proper enum in rakudo
18:19 TimToady is there a shorter way to get the actual list of enums from an enum (not the stringified names)?
18:19 moritz perl6: say True.^HOW
18:19 p6eval niecza v16-4-gd48d4a8: OUTPUT«Unhandled exception: Unable to resolve method HOW in class ClassHOW␤  at /tmp/GdlNIMzLXV line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65) ␤  at /hom…
18:19 p6eval ..pugs: OUTPUT«^Class␤»
18:19 p6eval ..rakudo 196981: OUTPUT«===SORRY!===␤Cannot use .^ on a non-identifier method call at line 1, near ""␤»
18:20 moritz perl6: say True.HOW
18:20 p6eval niecza v16-4-gd48d4a8: OUTPUT«ClassHOW.new(...)␤»
18:20 p6eval ..pugs: OUTPUT«^Bit␤»
18:20 p6eval ..rakudo 196981: OUTPUT«Method 'gist' not found for invocant of class 'Perl6::Metamodel::ClassHOW'␤  in sub say at src/gen/CORE.setting:6235␤  in block <anon> at /tmp/IjJWFZEZ5q:1␤␤»
18:20 GlitchMr Programming in Perl 5: https://gist.github.com/2229028
18:21 moritz TimToady: well, you don't need the >>.Bool
18:21 moritz p6: enum A < b c >; my @v = A.enums.values; say @v.perl
18:21 p6eval pugs: OUTPUT«*** No such subroutine: "&enum"␤    at /tmp/1hd6gKrlrs line 1, column 1-15␤»
18:21 p6eval ..niecza v16-4-gd48d4a8: OUTPUT«[0, 1].list␤»
18:21 p6eval ..rakudo 196981: OUTPUT«Array.new(0, 1)␤»
18:21 moritz hm, you're right
18:23 TimToady perl6: enum Day <Mon Tue Wed Thu Fri Sat Sun>; say Day.enums.values».Day
18:23 p6eval niecza v16-4-gd48d4a8: OUTPUT«Unhandled exception: Unable to resolve method Day in class Int␤  at /tmp/wnIVoGAvLP line 1 (ANON @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2982 (hyperunary @ 50) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2973 (hyperunary @ 27) ␤  at /tmp/wn…
18:23 p6eval ..rakudo 196981: OUTPUT«Method 'Day' not found for invocant of class 'Int'␤  in method dispatch:<hyper> at src/gen/CORE.setting:825␤  in block <anon> at /tmp/wp3qpmyTSH:1␤␤»
18:23 p6eval ..pugs: OUTPUT«*** No such subroutine: "&enum"␤    at /tmp/Ir7JfvqS6q line 1, column 1-39␤»
18:23 TimToady boom boom boom
18:23 moritz you need .map: { Day($_) }
18:23 TimToady .Day is supposed to find Day() if necessary
18:24 moritz huh? how so?
18:24 moritz reverse method fallback, reinstated?
18:25 TimToady hmm, I thought we did that for known types again, but maybe I'm hallucinating
18:25 moritz well
18:26 TimToady maybe we just talked about again :)
18:26 moritz $thing.Day is just an ordinary method call
18:26 moritz we don't know yet if the caller means a type or not
18:26 moritz and... it totally messes up lexical scope vs. method lookup chain
18:27 TimToady perl6: enum Day <Mon Tue Wed Thu Fri Sat Sun>; say Day.enums.values».&Day
18:27 p6eval pugs: OUTPUT«*** No such subroutine: "&enum"␤    at /tmp/N2mpjxnivZ line 1, column 1-39␤»
18:27 p6eval ..niecza v16-4-gd48d4a8: OUTPUT«Unhandled exception: System.Exception: Unable to find lexical &Day in mainline␤  at Niecza.CLRBackend.NamProcessor.ResolveLex (System.String name, Boolean upf, System.Int32& uplevel, Boolean core) [0x00000] in <filename unknown>:0 ␤  at Niecza.CLRBackend.Na…
18:27 p6eval ..rakudo 196981: OUTPUT«Method 'Nil' not found for invocant of class 'Int'␤  in <anon> at src/gen/BOOTSTRAP.pm:800␤  in any <anon> at src/gen/BOOTSTRAP.pm:797␤  in method dispatch:<var> at src/gen/CORE.setting:762␤  in method dispatch:<hyper> at src/gen/CORE.setting:825␤  in block <anon> …
18:29 moritz I guess because there's no &Day
18:29 moritz r: 1.&foo
18:29 p6eval rakudo 196981: OUTPUT«Method 'Nil' not found for invocant of class 'Int'␤  in <anon> at src/gen/BOOTSTRAP.pm:800␤  in any <anon> at src/gen/BOOTSTRAP.pm:797␤  in method dispatch:<var> at src/gen/CORE.setting:762␤  in block <anon> at /tmp/4HEyxwTxht:1␤␤»
18:29 moritz I guess it should whine at CHECK time instead, no?
18:30 TimToady std: &Bool
18:30 p6eval std 3c2fb9c: OUTPUT«ok 00:01 111m␤»
18:30 TimToady std: &Foo
18:30 p6eval std 3c2fb9c: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Undeclared name:â�¤    'Foo' used at line 1â�¤Check failedâ�¤FAILED 00:01 111mâ�¤Â»
18:30 moritz std: sub Bool() { }; Bool()
18:30 p6eval std 3c2fb9c: OUTPUT«ok 00:01 109m␤»
18:31 moritz std: class A { } ; sub A() { };
18:31 p6eval std 3c2fb9c: OUTPUT«[31m===[0mSORRY![31m===[0m�Illegal redeclaration of routine 'A' (see line 1) at /tmp/40W31c0ePD line 1:�------> [32mclass A { } ; sub A[33m�[31m() { };[0m�Check failed�FAILED 00:01 109m�»
18:31 TimToady need a subscope to shadow it
18:31 moritz p6: class A { }; sub A() { }
18:31 p6eval niecza v16-4-gd48d4a8: OUTPUT«Potential difficulties:â�¤  &A is declared but not used at /tmp/uXmN2_Cwju line 1:â�¤------> [32mclass A { }; sub A[33mâ��[31m() { }[0mâ�¤â�¤Â»
18:31 p6eval ..pugs, rakudo 196981:  ( no output )
18:32 moritz TimToady: rakudo and me seem to have a different mental image than you/niecza/std about how the type coercion stuff is supposed to work
18:33 moritz class Type { }; Type() doesn't involve any &Type in rakudo
18:34 TimToady perl6: enum Day <Mon Tue Wed Thu Fri Sat Sun>; say Day.enums.values».&(Day)
18:34 p6eval niecza v16-4-gd48d4a8: OUTPUT«Unhandled exception: Nominal type check failed in binding '&fun' in 'hyperunary'; got Day, needed Callable␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (hyperunary @ 1) ␤  at /tmp/0IiHzTIM1B line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setti…
18:34 p6eval ..rakudo 196981: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/B0flS1Dtvr:1␤»
18:34 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "&("␤    expecting ".", "=", operator name, qualified identifier, variable name, "...", "--", "++", "i", array subscript, hash subscript or code subscript␤    at /tmp/poBTLUH3ku line 1, column 63␤»
18:34 TimToady perl6: enum Day <Mon Tue Wed Thu Fri Sat Sun>; say Day.enums.values».$(Day)
18:34 p6eval niecza v16-4-gd48d4a8: OUTPUT«Unhandled exception: Nominal type check failed in binding '&fun' in 'hyperunary'; got Day, needed Callable␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (hyperunary @ 1) ␤  at /tmp/DkwThuHEZq line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setti…
18:34 p6eval ..rakudo 196981: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/c3Q6kSBvH4:1␤»
18:34 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "$("␤    expecting ".", "=", operator name, qualified identifier, variable name, "...", "--", "++", "i", array subscript, hash subscript or code subscript␤    at /tmp/a0KQCSNF0I line 1, column 63␤»
18:35 TimToady there needs to be a way to name the callable form
18:35 TimToady &Day would seem to be that
18:35 moritz std: sub a() { }; class A { };
18:35 p6eval std 3c2fb9c: OUTPUT«ok 00:01 109m␤»
18:35 moritz std: sub a() { }; class a { };
18:35 p6eval std 3c2fb9c: OUTPUT«ok 00:01 109m␤»
18:35 xinming joined #perl6
18:36 moritz how come that doesn't complain about redeclaration?
18:36 fglock joined #perl6
18:36 TimToady bug?
18:36 moritz ah
18:36 moritz n: sub a() { }; class a { };
18:36 p6eval niecza v16-4-gd48d4a8: OUTPUT«Potential difficulties:â�¤  &a is declared but not used at /tmp/NJl0w7ABUm line 1:â�¤------> [32msub a[33mâ��[31m() { }; class a { };[0mâ�¤â�¤Â»
18:38 moritz TimToady: anyway, if a type implies a sub with the same name, that should be very clear in the specs
18:38 fglock unary notation in perl5 uses the "1x" prefix: $ perl -e ' print 1x12 '  # 111111111111
18:38 fglock :P
18:39 moritz :-)
18:39 TimToady eval: print 1x12 + 0
18:39 buubot_backup TimToady: 1111111111111
18:39 TimToady me thinks that's the wrong answer :)
18:40 TimToady or maybe Perl 5 is smart enough to put it back out in unary notation...
18:43 fglock base 1 uses the "dot" operator for addition
18:44 TimToady ah, I see
18:44 timotimo why not church numbers, too?
18:46 fglock the operator to convert unary back to decimal is called "length"
18:46 fglock eval: print length( 1x12 . 1x5 )
18:46 buubot_backup fglock: 171
18:47 fglock heh
18:47 timotimo hehehe, that worked great!
18:49 fglock exercise for the reader: implement square root using a regex
19:07 TimToady perl6: [Z]
19:07 p6eval niecza v16-4-gd48d4a8: OUTPUT«(timeout)»
19:07 p6eval ..pugs, rakudo fbae76:  ( no output )
19:07 TimToady niecza compiler loops on that
19:08 libertyprime joined #perl6
19:09 colomon :\
19:11 MayDaniel joined #perl6
19:13 moritz fwiw i once patched pugs so that [Z] also looped
19:27 birdwindupbird joined #perl6
19:35 GlitchMr eval: print 1x111
19:35 buubot_backup GlitchMr: 11111111111111111111111111111111111111​11111111111111111111111111111111111111​111111111111111111111111111111111111
19:36 GlitchMr r: print :(2 => 3)<101> # Not real syntax
19:36 p6eval rakudo fbae76: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix > instead at line 1, near " 3)<101> #"␤»
19:37 GlitchMr Makes... sense...
19:37 benabik GlitchMr: If it's not real syntax, then perhaps you shouldn't pass it to a compiler?
19:37 xinming_ joined #perl6
19:37 GlitchMr But... is there any way to do reverse operation?
19:38 GlitchMr I can convert base-7 to base-10, but can I do reverse?
19:38 benabik r: say 10.base(8)
19:38 p6eval rakudo fbae76: OUTPUT«12␤»
19:39 benabik r: say :2<101>.base(3)
19:39 p6eval rakudo fbae76: OUTPUT«12␤»
19:39 GlitchMr :)
19:39 GlitchMr Thanks.
19:46 [Coke] +# 03/28/2012 - rakudo++ ; niecza (96.13%); pugs (38.93%)
19:46 [Coke] +"niecza",     20308,     1,   751,  1534, 22594, 23751
19:46 [Coke] +"pugs"  ,      8226,     1,  3021,  1344, 12592, 23560
19:46 [Coke] +"rakudo",     21125,    37,   626,  1888, 23510, 24026
19:47 [Coke] colomon: niecza is falling behind. that's -0.02%
19:49 colomon what?!  but I got three more tests working today!
19:50 moritz but I occasionally also add tests that rakudo passes
19:51 [Coke] niecza was:
19:51 [Coke] "niecza",     20312,     1,   756,  1534, 22603, 23760
19:51 [Coke] so that's 4 less tests right there.
19:51 [Coke] just sayin'
19:51 [Coke] (slacker)
19:53 moritz n: my $s = KeySet.new(<foo bar baz>); say $s.Str
19:53 p6eval niecza v16-4-gd48d4a8: OUTPUT«foo bar baz␤»
19:53 GlitchMr So, unlike Perl 5, we will have at least two Perl 6 implementations in 2468...
19:53 moritz GlitchMr: please stop trolling. Thank you.
19:54 GlitchMr left #perl6
19:54 nwc10 joined #perl6
19:54 nwc10 Has Phasers moved time, or is it having a rest?
19:55 colomon dang it, forgot it again!
19:55 TimToady it seems to have pined for the fjords several weeks ago
19:55 moritz nwc10: it's having a rest
19:55 moritz n: my $s = set <foo bar baz>; say $s.Str
19:55 p6eval niecza v16-4-gd48d4a8: OUTPUT«foo bar baz␤»
19:55 TimToady we're all too busy doing Real Stuff to just, like, talk about it...
19:55 colomon [Coke]: fewer tests are there because I removed about 10 tests from the roast.
19:56 [Coke] colomon: Look, how can i troll you if you're going to use facts?
19:56 colomon [Coke]: you'll just have to work harder at it!
19:57 TimToady at least as hard as GlitchMr
19:58 nwc10 pesky doing, getting in the way of talking. :-)
19:58 nwc10 left #perl6
19:58 moritz n: say (a => 5, b => 2).KeySet.Str
19:58 p6eval niecza v16-4-gd48d4a8: OUTPUT«Unhandled exception: Unable to resolve method KeySet in class Parcel␤  at /tmp/E3haGo2ddU line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3843 (module-CORE @ 65) ␤  at /ho…
19:58 moritz n: say KeySet.new(a => 5, b => 2).Str
19:59 p6eval niecza v16-4-gd48d4a8: OUTPUT«Unhandled exception: Excess arguments to KeySet.new, unused named a, b␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (KeySet.new @ 1) ␤  at /tmp/Ld1P2jKT9X line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3842 (ANON @ 3) ␤  at /home/…
19:59 birdwindupbird joined #perl6
19:59 [Coke] masak: hey, pugs is falling behind on that spec test thing! ;)
20:04 colomon n: say KeySet.new({a => 5, b => 2}).Str
20:04 p6eval niecza v16-4-gd48d4a8: OUTPUT«a b␤»
20:04 colomon doh
20:04 colomon no, wait, that's rightish
20:04 colomon right, even
20:04 colomon n: say KeyBag.new({a => 5, b => 2}).Str
20:04 p6eval niecza v16-4-gd48d4a8: OUTPUT«a a a a a b b␤»
20:06 havenn_ joined #perl6
20:23 lichtkind TimToady: sorry for nagging still but could there be a sub modifier that make it an actor?
20:38 xinming joined #perl6
20:43 skids joined #perl6
20:45 lue hello world! o/
20:45 masak lue! \o/
20:45 masak [Coke]: hint taken. if only I weren't so busy... :/
20:46 tadzik hello lue!
20:47 [Coke] masak: aye, I feel your pain
20:49 masak pain: a Windows laptop. remedy: VMWare Player, Ubuntu 10.04. aaah.
20:52 masak lue: how are you?
20:53 lue good. I've been interested in your hex slide problem since I read your post :) . (Specifically figuring out #3 on your list.) I'm finishing up on my initial thoughts right now so I can put it on gist.
20:53 masak ooh.
20:54 masak yeah, I'm still struggling with #3 as well.
20:56 timotimo is that "making error messages in rakudo" thing still something a newbie might help with?
20:56 dorlamm joined #perl6
20:58 masak oh sure.
20:58 masak just make as much of them as you can. :)
21:00 timotimo :)
21:00 lue Initial thoughts on hexslide: https://gist.github.com/2230446
21:00 * timotimo has the irclog open now
21:02 timotimo oh, lots of stuff i have never seen before - this is nqp, though, right? not actual perl?
21:02 masak lue: what's R on line 87?
21:03 lue the number of horizontal rows in the hex board (for both of my manually-counted examples, R=3)
21:04 masak ah.
21:04 masak lue: my strong suspicion is that there are unsolvable configurations that are not "obviously unsolvable".
21:05 lue Of course. I talk about "unobviously unsolvable" configurations later on if you haven't got that far.
21:06 masak yeah, reached it now.
21:06 lue [I'm currently wrestling Inkscape in order to make a nice, organized blog post on this puzzle]
21:06 masak :)
21:07 pernatiy joined #perl6
21:07 masak best of luck. I've been mulling over questions just like these for four months now.
21:07 timotimo "cannot use does operator with a type object" -> X::Augment::TypeObject sounds okay?
21:08 timotimo oh, actually: X::Syntax::Augment::TypeObject
21:09 masak ask moritz++ :)
21:18 timotimo huh. how do i get a bare type object for the does operator except for this:
21:18 timotimo r: my $one does class { has $.a is rw; };
21:18 p6eval rakudo 099d30: OUTPUT«Cannot use 'does' operator with a type object␤  in sub infix:<does> at src/gen/CORE.setting:9778␤  in block <anon> at /tmp/lnCpNJfEya:1␤␤»
21:18 timotimo r: class yada {}; my $one does yada;
21:18 p6eval rakudo 099d30:  ( no output )
21:19 timotimo r: my $typeobject = class {}; my $one does $typeobject;
21:19 p6eval rakudo 099d30: OUTPUT«Cannot use 'does' operator with a type object␤  in sub infix:<does> at src/gen/CORE.setting:9778␤  in block <anon> at /tmp/SqbsmlJxCD:1␤␤»
21:19 timotimo r: my $one does &Int;
21:19 p6eval rakudo 099d30: OUTPUT«Cannot use 'does' operator with a type object␤  in sub infix:<does> at src/gen/CORE.setting:9778␤  in block <anon> at /tmp/_fS8OtJ_C6:1␤␤»
21:19 timotimo ah. that's how
21:22 timotimo hm, it seems "augment" is actually a syntax element, so X::Syntax::Augment::TypeObject is wrong or at least misleading, as it doesn't have anything to do with the augment keyword/feature
21:22 Teratogen joined #perl6
21:22 masak correct.
21:22 Teratogen howdy howdy howdy
21:22 masak Teratogen! \o/
21:23 Teratogen masak o/
21:23 derrazo_ joined #perl6
21:26 timotimo moritz: is X::Role::TypeObject a good class name for the exception with the text "Cannot use 'does' operator with a type object"?
21:27 masak X::Does::TypeObject, perhaps?
21:27 timotimo sounds good to me, too
21:32 fsergot good night #perl6 o/
21:32 masak 'branoc, fsergocie.
21:32 NamelessTee joined #perl6
21:44 timotimo i made an error
21:47 timotimo endless recursion between Str, infix:<~>, Stringy and nqp;Perl6;World;Str
21:55 wolfman2000 joined #perl6
21:58 masak 'night, #perl6
22:01 havenn joined #perl6
22:02 timotimo not sure what i did wrong :\
22:03 lue goodnight, masak o/
22:10 timotimo https://gist.github.com/2230981 <- really can't tell how i caused this error
22:10 timotimo (the error is: max recursion depth reached"
22:12 timotimo huh. how do i search something like $/ in the synopsis? :\
22:12 timotimo ah, "special variables"
22:18 average_drifter joined #perl6
22:20 timotimo it wasn't as easy as expected :\
22:21 timotimo still isn't, actually
22:36 skids timitimo: try http://www.perlfoundation.​org/perl6/index.cgi?witch for all your ungreppable specs needs.  (And feel free to freshen it up a bit.)
22:37 * skids made a timotypo
22:38 timotimo :D
22:38 TimToady new example: http://rosettacode.org/wiki/Truth_table#Perl_6
22:39 TimToady the last line would be easier if [X] worked
22:40 timotimo what does the so mean in ..."so $x"...?
22:40 TimToady it turns junctions into booleans :)
22:40 TimToady it's a loose prefix ?
22:41 TimToady oh, only works under niecza currently
22:42 skids .oO(or an excuse to write "say so")
22:42 * timotimo will take a bit of time to understand that code
22:42 timotimo ah, {{ inside " will be interpolated, is that right?
22:42 timotimo uh, meant { ... }
22:42 TimToady yes
22:43 timotimo is [{ something special?
22:43 TimToady no, it's interpolating inside an Array composer
22:43 TimToady so we can print all N values and the result on one line
22:43 felher Oh, cool, <indent> matches valid identifiers?
22:44 TimToady <ident>
22:44 felher aeh, yeah :)
22:44 TimToady in niecza, seems to fail in rakudo with: Cannot get character past end of string
22:44 timotimo ah, the .join(",") is there to make the array composer be correct. i see.
22:45 TimToady perl6: say "foo bar baz".comb(/<ident>/)
22:46 p6eval rakudo 099d30: OUTPUT«Cannot get character past end of string␤  in any ident at src/stage2/QRegex.nqp:1113␤  in regex <anon> at /tmp/qX84RLlf5b:1␤  in method ll-match at src/gen/CORE.setting:3566␤  in block <anon> at src/gen/CORE.setting:3607␤  in sub coro at src/gen/CORE.setting:4800␤ …
22:46 p6eval ..niecza v16-4-gd48d4a8: OUTPUT«foo bar baz␤»
22:46 p6eval ..pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.​13.20111008/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' tra…
22:47 timotimo .so is the same as prefix-so?
22:47 TimToady yes
22:53 felher TimToady++
22:53 timotimo { .fmt("\%0{+@n}b").comb».so } turns a number into ones and zeros, enough leading zeros included for this case, interpreting each character of that string as a boolean using .so?
22:55 felher Has quite a lot of Perl6-Stuff in it. A main sub, hyper operators, ranges, dynamic-arity-map ... :)
22:57 timotimo how come "dynamic-arity-map" is a thing?
22:58 felher probably not.
22:58 felher i just called it so.
22:58 timotimo and how is it dynamic arity? i'm confused
22:58 felher Because map determines how many elements to take by the arity of the function supplied.
22:58 sorear good * #perl6
22:59 colomon o/  # just heading out to the pub
22:59 sorear I see two bug reports in the backlog... maybe I'll fix at least one of them
22:59 felher As opposed to, say haskell, where map takes a function that gets exactly one argument and maps it to something different.
23:00 timotimo interesting. map gets a list of lists and unpacks that list for the function?
23:01 felher nom: .say for <1 2 3 4 5 6>.map: { $^a ~ $^b ~ $^c }
23:01 p6eval rakudo 099d30: OUTPUT«123␤456␤»
23:01 havenn joined #perl6
23:01 timotimo actually a parcel!
23:01 timotimo well, a list of parcels
23:04 timotimo weird. that eval seems to be creating something like -> \foo,\bar { [foo, bar, foo & bar] }, but typing that into the interpreter will give me "malformed parameter"
23:04 timotimo is that supposed to work? with the backslash there?
23:05 TimToady yes, it's supposed to work, and does in niecza++
23:06 whiteknight joined #perl6
23:06 timotimo aha!
23:06 timotimo "parcel binding"
23:07 timotimo felher: that would explain how that works. map doesn't know to take the right number of arguments. it takes a parcel, applies that to the function and the function has parcel binding in place, making this work
23:08 felher nom: .say for <1 2 3 4 5 6>.map: { $^a ~ $^b ~ $^c }
23:08 p6eval rakudo 099d30: OUTPUT«123␤456␤»
23:08 felher timotimo: that works as expected
23:08 felher timotimo: i think map flattens the list and the takes the right number of arguments.
23:08 timotimo interesting
23:09 timotimo niecza: .say for <1 2 3 4 5 6>.map -> \foo,\bar { foo ~ bar }
23:09 p6eval niecza v16-4-gd48d4a8: OUTPUT«[31m===[0mSORRY![31m===[0m��Unexpected block in infix position (method call needs colon or parens to take arguments) at /tmp/ZQtlXkbrtn line 1:�------> [32m.say for <1 2 3 4 5 6>.map [33m�[31m-> \foo,\bar { foo ~ bar }[0m��Parse failed��»…
23:09 timotimo niecza: .say for <1 2 3 4 5 6>.map: -> \foo,\bar { foo ~ bar }
23:09 p6eval niecza v16-4-gd48d4a8: OUTPUT«12␤34␤56␤»
23:09 timotimo indeed it does
23:13 mdupont joined #perl6
23:15 vlixes joined #perl6
23:17 timotimo p6: sub yoink(*@s) { say @s; }; .say for <<1 2> <3 4 5> <6 7 8 9>>.map(yoink)
23:17 p6eval rakudo 099d30: OUTPUT«␤Method 'count' not found for invocant of class 'Bool'␤  in method reify at src/gen/CORE.setting:4627␤  in method reify at src/gen/CORE.setting:4552␤  in method reify at src/gen/CORE.setting:4552␤  in method gimme at src/gen/CORE.setting:4940␤  in method reify at s…
23:17 p6eval ..niecza v16-4-gd48d4a8: OUTPUT«␤Unhandled exception: No match␤  at /home/p6eval/niecza/lib/CORE.setting line 1366 (die @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1966 (EnumMap._lookup @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1172 (CommonEnum.postcircumfix:<( )> @ 4)…
23:17 p6eval ..pugs: OUTPUT«␤*** Cannot cast from VList [VBool True] to VCode (VCode)␤    at /tmp/0VL_s9rdBg line 1, column 38 - line 2, column 1␤»
23:17 timotimo cannot map with slurpy argument lists?
23:18 sorear highlighting on /niecza/ is pretty suboptimal
23:18 timotimo i apologize :|
23:20 felher But i'd like to know if there is a special name for the kind of map perl6 has, describing its feature to take arguments by the arity of the function supplied? dynamic-arity-map probably is dead wrong... :)
23:20 sorear DWIM
23:20 timotimo doesn't sound very wrong
23:20 timotimo DWIMap :)
23:20 sorear timotimo: I'm not asking you to change, I'm asking for suggestions for mysellf
23:22 felher Yeah, DWIM actually seems to hit the bull's eye :)
23:22 timotimo perl6 is scarily good at DWIM
23:23 TimToady except when you write something like .map(yoink) without the &
23:23 timotimo p6: sub yoink(*@s) { say @s; }; .say for <<1 2> <3 4 5> <6 7 8 9>>.map(&yoink)
23:23 TimToady and it's not clear to me that <<1 2> <3 4 5> <6 7 8 9>> will do what you expect either
23:23 p6eval rakudo 099d30: OUTPUT«This type cannot unbox to a native integer␤  in method munch at src/gen/CORE.setting:4967␤  in method reify at src/gen/CORE.setting:4640␤  in method reify at src/gen/CORE.setting:4552␤  in method reify at src/gen/CORE.setting:4552␤  in method gimme at src/gen/CORE.…
23:23 p6eval ..niecza v16-4-gd48d4a8: OUTPUT«1 2> <3 4 5> <6 7 8 9␤True␤»
23:23 p6eval ..pugs: OUTPUT«1␤2>␤<3␤4␤5>␤<6␤7␤8␤9␤1␤1␤1␤1␤1␤1␤1␤1␤1␤»
23:23 timotimo whaaaaat is pugs doing?
23:24 TimToady pugs doesn't know about Texas «»
23:24 timotimo p6: sub yoink(*@s) { say @s; }; .say for <1 2 3 4 5 6 7 8 9>.map(&yoink)
23:24 p6eval niecza v16-4-gd48d4a8: OUTPUT«1 2 3 4 5 6 7 8 9␤True␤»
23:24 p6eval ..rakudo 099d30: OUTPUT«This type cannot unbox to a native integer␤  in method munch at src/gen/CORE.setting:4967␤  in method reify at src/gen/CORE.setting:4640␤  in method reify at src/gen/CORE.setting:4552␤  in method reify at src/gen/CORE.setting:4552␤  in method gimme at src/gen/CORE.…
23:24 p6eval ..pugs: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤1␤1␤1␤1␤1␤1␤1␤1␤1␤»
23:25 TimToady pugs: sub yoink(*@s) { say @s; }; .say for <1 2 3 4 5 6 7 8 9>.map(&yoink); 42
23:25 p6eval pugs: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤1␤1␤1␤1␤1␤1␤1␤1␤1␤»
23:26 TimToady it would appear to be confused about binding *@s
23:27 lichtkind timotimo: http://www.perlfoundation.org/per​l6/index.cgi?perl_6_index_tablet has all these and more and is now gepable
23:28 timotimo you mean grepable?
23:29 felher apropos slurpy arguments. Is there a way to specify `slurp me 5 elements`? Something like 'sub add-five(*@elements[5]) { [+] @elements }'?
23:29 s1n joined #perl6
23:31 bbkr_ joined #perl6
23:33 lichtkind yes
23:33 lichtkind at least the sources are :9
23:34 timotimo :)
23:34 timotimo looks pretty nice
23:35 lichtkind thank you
23:35 lichtkind btw ladies and gents we approached the 700 mark (703) further to the magical 1000
23:35 timotimo is implementing \foo in rakudo a thing a beginner could reasonably try to do?
23:40 timotimo niecza: my \foo = 99; say foo;
23:40 p6eval niecza v16-4-gd48d4a8: OUTPUT«99␤»
23:46 * felher just came from http://www.perl6.org/community/rosettacode to wireworld (http://rosettacode.org/wiki/Wireworld#Perl_6) and is wondering
23:46 felher the 'say $g'... shouldn't that be 'say ~$g'?
23:47 felher Because say calls .gist which calls .perl and not .Str?
23:48 y3llow_ joined #perl6
23:48 bruges joined #perl6
23:49 TimToady yes
23:50 timotimo i'm looking at Grammar/Perl6.pm and in token parameter, there already is mention of \ (along with * and ** and |), so that would probably only parse things like \$foo?
23:50 * felher changes that
23:51 TimToady the tricky thing is to introduce a term rather than a listop
23:54 NamelessTee joined #perl6
23:54 timotimo introducing \ as a sigil wouldn't be the right thing, right?
23:55 TimToady no
23:55 TimToady it has to introduce a term like constant foo does, except without the constancy
23:55 japhb_ joined #perl6
23:55 TimToady rakudo: constant pi = 3;  say pi
23:55 p6eval rakudo 099d30: OUTPUT«3␤»
23:57 timotimo i don't know enough about perl6 grammars to properly insert the possibility of a \ before names and i don't know enough rakudo insides to implement the rest, so maybe this isn't for me :)
23:59 preflex_ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo