»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:04 havenn left
lichtkind :) 00:26
00:27 lichtkind left
TimToady <crickets> 00:27
00:30 fgomez joined 00:35 localhost left 00:37 localhost joined 00:38 vlixes left
LylePerl :) 00:46
00:49 benabik joined
sorear good * #perl6 00:52
phenny sorear: 27 Mar 20:40Z <diakopter> tell sorear PM me plz
sorear: 27 Mar 20:40Z <diakopter> tell sorear actually email plz
00:54 benabik left 00:56 envi_ joined 01:00 libertyprime joined
diakopter sorear: hi 01:02
sorear diakopter: hi ~ I sent a mail 01:03
diakopter I see it
it should be a simple perl daemon that needs only what's contained in the homedir of that user 01:04
and any dependent .pm
er,
depended .pm
it has the irc password and such saved in its config 01:05
01:05 tokuhiro_ joined
diakopter I think tar'ing it and moving it should do it 01:05
sorear diakopter: ah excellent
I'll try that in a few
diakopter I just had it running as its own user for whatever reason
colomon o/
sorear o/ colomon
01:07 alvis` joined 01:08 alvis left
diakopter sorear: you probably should just delete the large logfiles it has in the root of the dir 01:09
totally unnecessary to transfer
sorear: I can work on transferring it if you like 01:12
oh look, I can log into feather3 01:13
and sudo su -
sorear *shrug* I'm happy to do it, but I'm on a higher-priority task atm
diakopter is curious what task 01:14
schoolwork me guesses 01:15
sorear yes
diakopter oh hm 01:16
this dalek poller bit in botnix
is that part of it 01:17
is it an add-in to botnix? I don't remember
sorear no, it's a couple separate processes
what's left of botnix is basically a tail -f bot
diakopter hm, so what should I move 01:18
01:19 wolfman2000 joined
diakopter I see evalbot running as me in a screen session 01:19
01:20 BruceZu joined
diakopter twice, one for magnet and once for freenode 01:20
01:20 scott__ joined
diakopter then I see plackup push.psgi running as drain under you 01:21
sorear plackup and dalek-poller are things I know about 01:32
high priority short task finished
01:32 leprevost joined
sorear what's left to do? 01:32
01:33 araujo left
diakopter actually I don't see botnix running... ? 01:37
did someone stop it?
01:38 araujo joined
sorear probably 01:39
note no dalek
diakopter I guess I'll just create a drain user just to be consistent 01:42
on feather3
01:43 sisar joined 01:44 tokuhiro_ left
sisar phenny: tell masak, thanks for the nits. masak++ 01:44
phenny sisar: I'll pass that on when masak is around.
sisar: 27 Mar 19:05Z <masak> tell sisar that 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
sorear o/ sisar 01:45
sisar \o 01:48
sisar is waiting impatiently for multidimensional array... ++sorear 01:49
diakopter sorear.. ohhhhh
sorear ? 01:50
diakopter botnix depends on apache or plack or both
sorear dalek-pollers depends strictly on plack 01:51
01:57 LylePerl left
diakopter what uses apache 01:59
sorear try.rakudo.org mayhbe? 02:00
02:01 whiteknight left
sorear doesn't know where that is hosted 02:01
diakopter no I mean on host04
I don't remember why I/someone started apache
02:02 VXZ left 02:15 BruceZu left 02:23 cbk1090 joined 02:35 sisar left 02:41 mattp_ left, BooK left, BooK_ left 02:45 xinming joined, mattp_ joined 02:48 xinming_ left 03:10 orafu left 03:12 orafu joined 03:26 alester left 03:28 fgomez left 03:29 xinming left 03:39 envi_ left 03:41 spider-mario joined
sorear spider-mario! \o/ 03:43
spider-mario hello :)
03:45 fgomez joined
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:56
the search did finish very quickly, though :) 03:57
04:07 BooK joined, BooK_ joined 04:15 leprevost left 04:47 wolfman2000 left
cbk1090 maybe we can all get rich using perl6 with this gist.github.com/2223774 05:03
05:15 birdwindupbird joined
sorear [I checked this out, it's not something that warrants an immediate kick] 05:16
05:36 spider-mario left
sorear :( 05:38
tadzik good morning #perl6
05:39 kaleem joined
sorear hello tadzik 05:45
05:50 fgomez left, fgomez joined
sorear wonders if alternating finite automata might be useful in LTM 05:56
05:59 wtw joined 06:00 lestrrat left 06:01 lestrrat joined 06:07 NamelessTee joined 06:13 mucker joined 06:25 tarch joined 06:28 mdupont left, mdupont joined 06:38 fgomez left 06:41 lestrrat left 06:42 lestrrat joined 06:45 odoacre joined 06:52 fgomez joined 06:57 kaleem left
moritz \o/ 06:59
new HPMoR chapter
sorear: what do ou mean by "alternating finite automata"?
*you
07:08 ashleydev left 07:09 kaleem joined 07:11 preflex left 07:12 preflex joined, bacek_ joined 07:14 kaleem left, kaleem joined 07:16 bacek left 07:17 fglock joined
sorear htp://en.wikipedia.org/wiki/Alternating_finite_automaton 07:17
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
07:18 ashleydev joined, mj41 joined 07:25 NamelessTee left 07:31 ashleydev left 07:41 xinming joined 07:42 PZt left 07:56 cosimo left
arnsholt Moin, moin 07:56
07:57 ashleydev joined
sorear Moin! 08:02
moritz moin indeed :-)
sorear o/ moritz 08:03
tadzik moin
08:09 rhr left 08:11 rhr joined 08:16 kaleem left, cosimo joined 08:19 xinming left 08:26 derrazo_ joined 08:27 xinming joined
colomon sorear: I was just looking into the :3<4A> thing. Looks like we've got code that handles it correctly: 08:28
n: say :3<4A>; say +":3<4A>";
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:30 derrazo left
sorear I noticed that also 08:31
colomon CORE.setting has its own version of from_base which does the check
NieczaActions.pm6 has the from_base which does not
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
sorear perhaps using the (new) constant folder on +"moo" 08:33
moritz (too many code paths for parsing numbers)
08:33 dakkar joined
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…
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…
sorear -> sleep 08:39
colomon o/ 08:40
colomon should go back to sleep
masak morning, #perl6
phenny masak: 01:44Z <sisar> tell masak thanks for the nits. masak++
tadzik hello masak 08:42
08:49 xinming_ joined
masak the weather is too nice. I had forgotten this since last summer. need some rain or a storm or something. 08:50
08:51 xinming left
colomon leaves his computer spectesting his patch and goes back to bed.... 08:52
08:54 xinming joined, xinming_ left 08:57 kaleem joined, _sri left 08:58 szbalint left, szbalint joined 08:59 _sri joined, pomysl_ left, pomysl joined, pomysl left, pomysl joined
masak hm. in en.wikibooks.org/wiki/Perl_6_Progra...s_and_Data there are a number of 'my' declarations without parens around the variables. 09:10
the perils of writing code and not trying it out. :)
09:11 havenn joined 09:13 daxim joined
frettled Do we need a book test suite? ;) 09:14
tadzik that'd be nice I think
ISTR people complaining about book code examples not running
09:15 ab5tract joined
masak davidvaldman.com/post/20027940591/p...rdproblems -- I like this. "You only need to be right 1% of the time." 09:22
arnsholt Indeed. Nice way to formulate it 09:24
moritz 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
what are those features?
I can think of: multis and signatures are like the pattern matching in Haskell, in some way
tadzik laziness?
arnsholt Laziness I'd say
moritz lazy lists, right
parameters are read-only by default
anything else? 09:27
tadzik I think given-when is quite similar to one of the haskell constructs which name I do not recall 09:28
the one with |'s all around
masak guard clauses. 09:29
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".
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.
arnsholt tadzik: That'd be Learn you a Haskell?
tadzik arnsholt: for a Greater Good, aye 09:32
arnsholt It's on my list of books to possibly spend some of my PhD spending allowance on 09:39
09:39 lumi_ joined
arnsholt (Although the TeX book is actually at the top of that list) 09:40
moritz editing wikipedia is really tiring 09:42
they want references, but when you include a reference link you have to solve a captcha, because that link could be spam
and not just the first time you do it, but every time. Even if you're logged in
how annoying
anyway, I've brushed up en.wikipedia.org/wiki/Perl#Future_of_Perl_5 a wee bit 09:43
masak moritz++ 09:45
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.
it was literally Edit link -> change stuff -> simple captcha -> Save. 09:46
and to top it off, each edit gets you a "thank you" not from Ward Cunningham :D
note*
moritz does that annoyance stop after a number of edits you make, or something? 09:48
or non-reverted commits?
masak no idea. 09:49
I have a public-facing instance of MediaWiki running on one of my sites, where the annoyance is spammers, not hoops. 09:50
09:52 xinming_ joined 09:56 xinming left 09:58 envi_ joined
moritz masak: are there any useful drive-by edits on your wiki instance? 10:01
masak there are useful edits by people with accounts. 10:03
we banned anonymous edits long ago.
unfortunately, that doesn't seem to help, as there is now quite a bit of spam from bots who created accounts for themselves. 10:04
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:07
10:08 bacek_ left
masak anarchic trust works as long as it's niche. 10:09
there simply isn't payoff enough to linkspam perl6's github repos.
10:12 lestrrat left 10:14 lestrrat joined 10:22 scott__ left, sftp left 10:24 sftp joined, bacek_ joined 10:25 bacek_ left 10:26 bacek_ joined, bacek_ left 10:30 NamelessTee joined 10:33 skids left 10:37 Guest57372 is now known as xenu 10:38 kaleem left 10:42 pernatiy left 10:45 havenn left 10:57 kaleem joined, kaleem left, kaleem joined 11:08 envi_ left 11:12 PZt joined
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:17
t4* 11:21
jlaire dynamic programming? 11:22
counts, rather than enumerates, I suppose 11:23
masak indeed.
it loops over all positions of the board. sort of.
keeping a hash as it goes of "used" positions on the board. 11:26
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 :)
especially when implemented with recursion and a cache 11:28
when you're excited about the generality of DLX, every problem looks like an exact cover... 11:29
I feel silly for not thinking about using dynamic programming
masak I feel silly too, but mostly I'm just in awe. 11:31
11:32 sftp left 11:33 sftp joined
masak ah, he's published it himself: blogs.perl.org/users/salvador_fandi...erl-5.html 11:34
moritz salvador++
11:35 pernatiy joined
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
anyone feel like porting this to Perl 6? :)
(shouldn't be too difficult) 11:37
11:40 tokuhiro_ joined
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:44
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. :)
I think I understand the rest of the program now.
11:46 NamelessTee left
masak it essentially traverses, in lockstep, a 36247-edge DAG. which would probably look cool visualized, by the way. 11:48
11:50 ab5tract left
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 :)
masak hm, that doesn't look right. too few edges...
moritz masak: fwiw it's not trivial to port to rakudo, because it relies on 'if s///' quite a bit 11:54
which doesn't DWIS in rakudo
masak "Do What I..."?
11:54 skids joined
masak "Suggested"? 11:55
moritz Do What It Should :-)
masak ah.
maybe write a helper sub that DWIS, then?
11:55 xinming_ left
masak let's see some industrious workarounditude! :P 11:55
moritz n: $_ = 'foo'; say so s/^f/X/; .say 11:56
p6eval niecza v16-3-gede8b6d: OUTPUT«True␤Xoo␤»
moritz n: $_ = 'foo'; say so s/^b/X/; .say
p6eval niecza v16-3-gede8b6d: OUTPUT«False␤foo␤»
moritz or use niecza :-)
masak or that. 11:57
probably faster anyway.
11:57 xinming joined
jlaire tries to imagine an equally terse implementation with ints and bit ops instead of strings and regexes 11:57
12:11 tarch left 12:12 LylePerl joined 12:19 BruceZu joined 12:22 _jaldhar left
masak here's the DAG: strangelyconsistent.org/blog/images...dp-dag.png 12:23
graphviz dot tries valiantly to draw all the edges. sometimes things just end up a big smudge. 12:24
moritz I just see black
masak possibly some clever use of option flags can remedy this. I'm no dot expert.
moritz: you might need to zoom in. 12:25
moritz firefox doesn't seem to like it :/ 12:26
ah, finally I see something
flussence masak: try one of the other graphviz layouts? 12:27
masak may I suggest viewing it in an image viewer, and not in a browser 12:28
the image is quite wide.
flussence: yeah, I'll see what I can do.
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:35 mucker left 12:45 sporous left, sporous joined 12:55 bacek_ joined 12:56 lichtkind joined
lichtkind cheers 12:56
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!␤»
lichtkind moritz: why that?
moritz lichtkind: you wanted cheers, didn't you? :-) 12:58
lichtkind true, but i hoped more for answers like you like my work :) 13:00
today i add special var to index a and we will go above the 700 13:01
moritz that's cool.
lichtkind yes
i totally underestimated how often i still find typos or just better explanations than existing 13:02
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
masak .oO( but the terms in Perl 6 form a countably infinite set... ) 13:07
13:09 fgomez left 13:10 benabik left
lichtkind masak: yanouwaddamin 13:11
13:15 colomon left
masak nods 13:16
13:27 snearch joined 13:30 envi_ joined
jlaire /sb goto -1 13:31
lol
13:48 JimmyZ joined, thou left, tokuhiro_ left 13:55 PacoAir joined 13:57 JimmyZ_ joined 13:59 JimmyZ left, JimmyZ_ is now known as JimmyZ, leprevost joined 14:02 fsergot joined 14:09 plutoid joined 14:13 alester joined 14:20 kaleem left 14:25 colomon joined, PacoAir left 14:29 birdwind1pbird joined, JimmyZ left 14:31 PacoAir joined
masak p6: say (chr(:16($_)) for <697420697320746F6F20717569657420696E2068657265>.comb(/../)).join 14:32
p6eval rakudo 79e8ec: OUTPUT«it is too quiet in here␤»
..pugs: OUTPUT«*** ␤ Unexpected "for"␤ expecting operator or ")"␤ at /tmp/0c0oSjmAD8 line 1, column 19␤»
..niecza v16-4-gd48d4a8: OUTPUT«␤»
14:33 thou joined
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…
moritz niecza: say :16('FF') 14:34
p6eval niecza v16-4-gd48d4a8: OUTPUT«255␤»
moritz why doesn't niecza print anything then?
masak niecza: say chr(:16('69'))
p6eval niecza v16-4-gd48d4a8: OUTPUT«i␤»
moritz n: say $_ for <697420697320746F6F20717569657420696E2068657265>.comb(/../)) 14:35
p6eval niecza v16-4-gd48d4a8: OUTPUT«===SORRY!===␤␤Unexpected closing bracket at /tmp/fMVsE1jzqV line 1:␤------> 20717569657420696E2068657265>.comb(/../)⏏)␤␤Parse failed␤␤»
14:35 benabik joined, wtw left
moritz n: say $_ for <697420697320746F6F20717569657420696E2068657265>.comb(/../) 14:35
masak niecza: say (chr(:16($_)) for <69 74 20>).join
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␤»
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…
masak THOSE ARE NOT NUMBERS
moritz well, they are, kindof
n: say .WHAT for <69 74> 14:36
p6eval niecza v16-4-gd48d4a8: OUTPUT«IntStr()␤IntStr()␤»
14:36 PacoAir left, daxim left, PacoAir joined
masak digs up his last rant on this 14:36
14:36 daxim joined
moritz but I think that error message is still bogus, because they have a perfectly well-defined Str part 14:36
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." strangelyconsistent.org/blog/second...done-wrong
p6eval niecza v16-4-gd48d4a8: OUTPUT«␤»
masak THIS IS WHY
flussence n: my $_ = '74'; say .WHAT; .=Str; say .WHAT;
p6eval niecza v16-4-gd48d4a8: OUTPUT«Potential difficulties:␤ Useless redeclaration of variable $_ (see line 0) at /tmp/IHHiZ8wGsx line 1:␤------> my $_ ⏏= '74'; say .WHAT; .=Str; say .WHAT;␤␤Str()␤Str()␤»
flussence argh
n: $_ = <74 >[0]; say .WHAT; .=Str; say .WHAT; 14:38
p6eval niecza v16-4-gd48d4a8: OUTPUT«IntStr()␤Str()␤»
moritz n: say (~<74>[0]).WHAT
p6eval niecza v16-4-gd48d4a8: OUTPUT«Str()␤»
masak moritz: I think Niecza has previously had some issues with list comprehensions yielding the empty list.
fsergot #perl6 o/
masak fsergocie! \o/
14:38 PacoAir left
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
moritz ah, now I see it 14:39
masak well, at least it's a statement_mod for. 14:41
14:41 kaare_ joined
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.
moritz is .map hacky in Rakudo? 14:42
masak sorear: I hereby upvote any efforts to give Niecza proper list comprehensions.
moritz for is, for sure :-)
colomon moritz: I was definitely thinking more for. :)
moritz (it needs sink context to become non-hacky in both compilers)
colomon I admit I haven't really looked at the current state of Rakudo's .map in a long itme. 14:43
14:43 birdwind1pbird left
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…
colomon \o/
moritz misses dalek
colomon too 14:48
benabik Where did zie go? 14:50
moritz evalbot rebuild nom
p6eval OK (started asynchronously)
colomon thinks Daleks are surely "it"s... 14:51
14:51 raiph left
masak the way to handle a sexist IRC bot: geekchick77.dreamwidth.org/472.html :) 14:51
moritz well, more a "last resort" than "the way" 14:52
masak perhaps. though I really like solutions that don't end with authoritative clampdown, but rather with wit, ingenuity, and thoughtfulness. 14:55
the bot reminded me of purl for some reason. 14:59
and then I realized that I haven't seen purn on #parrot for ages.
purl*
moritz well, we kickban'ned it after we had a less noisy replacement (aloha) 15:03
15:03 plutoid left
masak oh, that's what happened. 15:03
moritz (or asked the owner to retract it, or so)
15:05 havenn joined
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
s/what/why/
masak you're probably right.
moritz though of course the bot wasn't the problem, the real problem was that the community didn't respond appropriately to critisms 15:07
masak though I think Jessamyn managed to open people's eyes... right. 15:08
moritz r: say 'foo'.Numeric 15:12
p6eval rakudo 79e8ec: OUTPUT«0␤»
moritz r: say 'foo'.Numeric(:strict) 15:13
p6eval rakudo 79e8ec: OUTPUT«0␤»
moritz rebuild not yet finished :(
15:13 snearch left 15:15 geekosaur left, geekosaur joined
TimToady Gah, if I was only right 1% of the time you'd fire me... 15:16
15:17 geekosaur left
TimToady as it is, it's a near thing at 2% or so... :) 15:17
15:17 geekosaur joined
moritz r: say 'foo'.Numeric(:strict) 15:17
p6eval rakudo 79e8ec: OUTPUT«0␤»
moritz meh. Build slow. 15:18
benabik Doesn't it say "rebuild in progress" if it's rebuilding?
15:18 Gothmog_ left
moritz benabik: not rakudo 15:19
benabik Odd.
15:19 Gothmog_ joined
moritz benabik: since rakudo rebuilds are so slow, we have two install dirs 15:19
benabik hheh
TimToady I think lazy lists are the only Perl 6 feature intentionally copied directly from Haskell rather than from the more general circumambient gasses...
moritz benabik: and we use one of them while rebuilding into the other one 15:20
TimToady most of the other FP features of Perl 6 are there because they're, well, FP features, not Haskell features 15:21
signature matching is more inspired by Erlang, I'd say 15:22
but in general, *nothing* goes into Perl 6 for any single reason 15:23
daxim "… 'cause I said so!"
TimToady plus there weren't enough people trying to shout me down :P 15:24
but generally I never say so without multiple reasons in my head already 15:25
masak n: given <32> { say .WHAT } 15:29
p6eval niecza v16-4-gd48d4a8: OUTPUT«Int()␤»
masak n: for <32 33 34> { say .WHAT }
p6eval niecza v16-4-gd48d4a8: OUTPUT«IntStr()␤IntStr()␤IntStr()␤»
masak sorear: I find this slightly inconsistent.
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…
masak sorear: ...and that needs fixing. :/
15:33 xinming_ joined
moritz r: say 1 15:34
p6eval rakudo 37a6b8: OUTPUT«1␤»
moritz finally :-)
r: say 'foo'.Numeric(:strict)
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␤␤»
masak moritz++ 15:35
moritz iirc that *should* be the default, but it'll horribly break all the spectests 15:36
15:36 fglock left, xinming left
masak :/ 15:40
moritz in fact I'm going to try that out right now
at least the setting compiles :-) 15:41
hey, not as bad as I remembered. It seems to have got through S02 with only one failure 15:42
pmichaud yes, my understand is that :strict is the default 15:43
*understanding 15:44
moritz fair number of failures in S03
S04 is fine
15:44 derrazo_ left
masak pmichaud! \o/ 15:44
pmichaud (good morning, #perl6) 15:45
so instead of :strict as an option, perhaps we should have :relaxed
or :leading 15:46
flussence :lax?
pmichaud (phrased slightly differently: in Perl 6, 'use strict' is the default. :)
15:47 Psyche^ joined 15:48 Patterner left, Psyche^ is now known as Patterner
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 :)
pmichaud perhaps I misread the patch
moritz masak: stricts 'refs'; has a runtime component, iirc
pmichaud what happens with my $x = '123 any'; say +$x 15:50
?
moritz same as now
r: say +'123 any'
pmichaud r: my $x = '123 any'; say +$x;
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␤␤»
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␤␤»
pmichaud oh, this is a different form of strictness than what I was thinking, I guess.
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
moritz pmichaud: correct
pmichaud that seems... weird. They feel like they ought to be the same to me.
moritz pmichaud: all the other cases have been covered in previous patches by japhb++
pmichaud I guess I'm looking for an option that says "trailing garbage is okay, give me the first number encountered"
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
masak gets on a train
moritz gist.github.com/2227563 # spectest summary
note that the bag, keyset and keybag failures are unrelated
15:53 havenn left
pmichaud anyway, :strict feels like it's on the wrong logic side to me 15:54
moritz so, 15 newly failing test files
pmichaud: yes, I know. It's not meant to stay
pmichaud oh.
moritz pmichaud: it's meant for experimenting with it. I should have said that much earlier :/
pmichaud I didn't catch that part. :)
putting a note that it's temporary in the commit would've helped :)
moritz aye. Obvious in retrospect 15:55
TimToady and (indicated by the ⏏ symbol) is kinda verbosely LTA, when it could just be (marked by ⏏)
pmichaud TimToady++
TimToady we already know ⏏ is a symbol...
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" :-)
TimToady "omit words" :)
pmichaud exactly :)
TimToady omit!
moritz TimToady: fixed. 15:57
TimToady yes, I've been fixed. :)
pmichaud okay, I'll withhold further comments on the string->number conversion until moritz++ has completed his changes
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
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
TimToady if you make it green/yellow/read then you don't need the parenthetical at all :)
*red
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?
phenny TimToady: Nothing to validate.
TimToady o_O
moritz and then switch it to :strict, and fix the spectests
TimToady: that's much more general than searching for numbers, no?
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
moritz r: say +'' 16:02
p6eval rakudo 37a6b8: OUTPUT«0␤»
TimToady it just seems like we're looking for some shorthand for STD_P6.parse(:rule<number>) or so
moritz yes-ish
TimToady hedges "Я" us, kinda 16:03
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
16:04 pernatiy left
pmichaud without having to explicitly parse it beyond what the numifier already does 16:04
it will seem odd to me that +'' fails, too. I see now that's the case being addressed. Hm. 16:05
probably should fail
anyway, lunchtime here. bbl 16:08
16:14 mucker joined, vlixes joined, buubot_backup left 16:22 vlixes left, mj41 left 16:28 vlixes joined 16:33 bacek_ left 16:34 xinming joined, masak_train joined
masak_train Whee! 16:35
colomon irc on train, yay! 16:36
16:36 xinming_ left
sorear good * #perl6 16:37
16:39 masak_train left
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␤␤»
moritz maybe should be special-cased. Or not. No idea 16:43
16:49 bacek_ joined 16:50 dakkar left 16:52 havenn joined 16:53 masak_train joined, spider-mario joined
masak_train Clearly, ''.Numeric should be NaN ;-) 16:54
masak_train settles in and reads Episode 81
TimToady perl6: say NaN.defined 17:02
p6eval pugs: OUTPUT«1␤»
..rakudo 196981, niecza v16-4-gd48d4a8: OUTPUT«True␤»
TimToady perl6: say NaN || 0; say NaN // 0; 17:04
p6eval pugs, rakudo 196981, niecza v16-4-gd48d4a8: OUTPUT«NaN␤NaN␤»
TimToady that seems a bit less than useful 17:05
masak_train p6: say ?NaN 17:06
p6eval pugs: OUTPUT«1␤»
..rakudo 196981, niecza v16-4-gd48d4a8: OUTPUT«True␤»
masak_train answer should be, of course, NaB ;-) 17:07
TimToady haha. what would it break to force NaN to false and undefined? 17:08
not suggesting we move it outside of Any though
since the whole point is to be in-band with floating-point calculations 17:09
masak_train does IEEE <mumblemumble> have any vested opinion?
TimToady and do we care? :)
our vested opinion is PoLA 17:10
masak_train we do if it's well-considered.
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
TimToady and as long as it's still a sub-value of Num, we're fine on that subject, I think 17:11
NaN would be .DEFINITE but not .defined 17:12
sin(NaN) still calls the same function as sin(6.02e-23) 17:14
17:14 birdwindupbird left
TimToady we might be in more trouble wrt ±Inf in that regard 17:15
tadzik lol, masak turned into a train?
so that's what this clone business is about 17:16
TimToady no, we're just trying to train his clone
tadzik ah, that makes sense
Go released! \o/
masak_train yay 17:18
TimToady as in the language?
tadzik aye
TimToady is in Mountain View, where we know nothing about Google...
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
TimToady maybe I should go back to reading /. 17:20
masak_train aye. Go1
TimToady Go2 considered harmful... 17:21
you heard it here first
er, second
tadzik nah, just read it on HN :)
TimToady so, where's our Go backend? huh? huh? 17:22
you guys are too lazy, just like me...
17:25 masak_train left
tadzik perlito has a Go backend 17:25
TimToady now if it only had a (complete) Perl 6 frontend...
obviously what we really need here is a middle end
GlitchMr If only Perlito would be more up-to-date Perl 6 implementation 17:26
But I guess it could be difficult because of insane number of front-ends... 17:27
Perhaps it shouldn't be called "Perl 6", but "Perl-like language"... 17:28
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:29
"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"
s/it's//
.oO( note to self--don't think ahead of what you're typing)
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
PerlJam GlitchMr: who said the 6 was a version number?
It's more like a generation number than a version number ;) 17:32
17:35 xinming_ joined
sorear masak: it looks like <43> is indistinguishable from 43 17:35
17:35 xinming left
GlitchMr perl6: print <43>.perl 17:35
p6eval niecza v16-4-gd48d4a8: OUTPUT«43»
..pugs, rakudo 196981: OUTPUT«"43"»
GlitchMr perl6: print <43> ~~ Str 17:36
p6eval niecza v16-4-gd48d4a8: OUTPUT«False»
..rakudo 196981: OUTPUT«True»
..pugs: OUTPUT«1»
doy r: say <43>.WHAT 17:37
p6eval rakudo 196981: OUTPUT«Str()␤»
PerlJam it's niecza you need to ask
(and I have an idea what it thinks)
GlitchMr I don't know, but maybe it things it's radix without radix... 17:38
thinks*
PerlJam n: say <43>.WHAT # I bet Parcel
p6eval niecza v16-4-gd48d4a8: OUTPUT«Int()␤» 17:39
PerlJam oh and I lose the bet!
perl6: say <43 45>.WHAT
p6eval rakudo 196981, niecza v16-4-gd48d4a8: OUTPUT«Parcel()␤»
..pugs: OUTPUT«Array␤»
GlitchMr For some reason I think that niecza seems to think that <43> is actually :10<43>... 17:40
Or not...
perl6: print <2.3>.WHAT 17:41
p6eval pugs: OUTPUT«Str»
..niecza v16-4-gd48d4a8: OUTPUT«Rat()»
..rakudo 196981: OUTPUT«use of uninitialized variable $v of type Str in string context␤»
GlitchMr ... uhmmm... what is $v?
sorear you need to use say.
niecza only works because of a bug.
sorear out
GlitchMr r: say <2.3>.WHAT 17:42
p6eval rakudo 196981: OUTPUT«Str()␤»
GlitchMr Am I not understanding something?
PerlJam All of the implementations are buggy.
GlitchMr But why "print" is wrong? 17:43
PerlJam It's not wrong, it just twiddles a bug
TimToady S02:4516 talks about the difference between <1/2> and < 1/2 > 17:46
perl6: say <1/2>.WHAT; say < 1/2 >.WHAT 17:47
p6eval niecza v16-4-gd48d4a8: OUTPUT«Rat()␤RatStr()␤»
..rakudo 196981: OUTPUT«Str()␤Str()␤»
..pugs: OUTPUT«Str␤Str␤»
PerlJam niecza++
TimToady niecza is correct here
or at least speckled :) 17:48
PerlJam rakudo doesn't implement RatStr that I know of.
( and, of course, pugs predates them :)
TimToady n: say <-1/2>.WHAT
p6eval niecza v16-4-gd48d4a8: OUTPUT«Rat()␤»
TimToady n: say <-1-i>.WHAT 17:49
p6eval niecza v16-4-gd48d4a8: OUTPUT«Str()␤»
TimToady hah
n: say <-1+-i>.WHAT
p6eval niecza v16-4-gd48d4a8: OUTPUT«Str()␤»
TimToady n: say <-1+-1i>.WHAT
p6eval niecza v16-4-gd48d4a8: OUTPUT«Str()␤»
TimToady n: say <1+1i>.WHAT
p6eval niecza v16-4-gd48d4a8: OUTPUT«Complex()␤»
TimToady n: say <1-1i>.WHAT
p6eval niecza v16-4-gd48d4a8: OUTPUT«Complex()␤» 17:50
TimToady n: say <-1-1i>.WHAT
p6eval niecza v16-4-gd48d4a8: OUTPUT«Complex()␤»
TimToady n: say <0i>.WHAT 17:52
p6eval niecza v16-4-gd48d4a8: OUTPUT«Str()␤»
TimToady I call bug on that one
17:53 havenn left
PerlJam n: say <-1-1i>.WHAT.say 17:53
p6eval niecza v16-4-gd48d4a8: OUTPUT«Complex()␤True␤»
PerlJam oops
TimToady you can say that again
PerlJam n: <-1-1i>.WHAT.say;
p6eval niecza v16-4-gd48d4a8: OUTPUT«Complex()␤»
PerlJam n: i.WHAT.say; 17:54
p6eval niecza v16-4-gd48d4a8: OUTPUT«Complex()␤»
PerlJam n: <0i>.WHAT.say;
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…
PerlJam fireworks!
TimToady すごい!
GlitchMr niecza> <0i>.WHAT
Str()
That's interesting... 17:55
But I guess it's because niecza on p6eval runs mono...
PerlJam n: "foo".say
p6eval niecza v16-4-gd48d4a8: OUTPUT«foo␤»
PerlJam (just checking the obvious :)
GlitchMr niecza> <0i>.WHAT.say
Cannot unbox a String from an object of repr P6opaque
Or not...
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
s/and/as/
forget 100-year language ... it's an heat-death-of-the-universe language ;) 17:58
18:04 buubot_backup joined 18:07 spider-mario left 18:08 spider-mario joined
GlitchMr Programming in Perl 5: 18:10
package ACME::Insanity;
use strict;
use warnings;
use Exporter; 18:11
timotimo PerlJam: the tardis is already a person, probably not programmed in perl6 ;)
PerlJam GlitchMr: use nopaste or gist or something
GlitchMr Right...
PerlJam timotimo: the interface to the tardis then. use your imagination :)
benabik timotimo: Well the TARDIS was put into a person, she's not naturally that way.
timotimo i was pretty sure the tardis was meant to still have a personality 18:12
even if not imprisoned in a person
18:12 havenn joined
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
TimToady perl6: say Bool.enums.values».Bool 18:19
p6eval niecza v16-4-gd48d4a8: OUTPUT«False True␤»
..rakudo 196981: OUTPUT«Method 'enums' not found for invocant of class 'Bool'␤ in block <anon> at /tmp/aDlPFWSWdp:1␤␤»
..pugs: OUTPUT«*** No such method in class Bool: "&enums"␤ at /tmp/M4ggJhx3Fy line 1, column 5 - line 2, column 1␤»
moritz ah, Bool isn't a proper enum in rakudo
TimToady is there a shorter way to get the actual list of enums from an enum (not the stringified names)?
moritz perl6: say True.^HOW
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…
..pugs: OUTPUT«^Class␤»
..rakudo 196981: OUTPUT«===SORRY!===␤Cannot use .^ on a non-identifier method call at line 1, near ""␤»
moritz perl6: say True.HOW 18:20
p6eval niecza v16-4-gd48d4a8: OUTPUT«ClassHOW.new(...)␤»
..pugs: OUTPUT«^Bit␤»
..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␤␤»
GlitchMr Programming in Perl 5: gist.github.com/2229028
moritz TimToady: well, you don't need the >>.Bool 18:21
p6: enum A < b c >; my @v = A.enums.values; say @v.perl
p6eval pugs: OUTPUT«*** No such subroutine: "&enum"␤ at /tmp/1hd6gKrlrs line 1, column 1-15␤»
..niecza v16-4-gd48d4a8: OUTPUT«[0, 1].list␤»
..rakudo 196981: OUTPUT«Array.new(0, 1)␤»
moritz hm, you're right
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…
..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␤␤»
..pugs: OUTPUT«*** No such subroutine: "&enum"␤ at /tmp/Ir7JfvqS6q line 1, column 1-39␤»
moritz you need .map: { Day($_) }
TimToady boom boom boom
.Day is supposed to find Day() if necessary
moritz huh? how so? 18:24
reverse method fallback, reinstated?
TimToady hmm, I thought we did that for known types again, but maybe I'm hallucinating 18:25
moritz well
TimToady maybe we just talked about again :) 18:26
moritz $thing.Day is just an ordinary method call
we don't know yet if the caller means a type or not
and... it totally messes up lexical scope vs. method lookup chain
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␤»
..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…
..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> …
moritz I guess because there's no &Day 18:29
r: 1.&foo
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␤␤»
moritz I guess it should whine at CHECK time instead, no? 18:30
TimToady std: &Bool
p6eval std 3c2fb9c: OUTPUT«ok 00:01 111m␤»
TimToady std: &Foo
p6eval std 3c2fb9c: OUTPUT«===SORRY!===␤Undeclared name:␤ 'Foo' used at line 1␤Check failed␤FAILED 00:01 111m␤»
moritz std: sub Bool() { }; Bool()
p6eval std 3c2fb9c: OUTPUT«ok 00:01 109m␤»
moritz std: class A { } ; sub A() { }; 18:31
p6eval std 3c2fb9c: OUTPUT«===SORRY!===␤Illegal redeclaration of routine 'A' (see line 1) at /tmp/40W31c0ePD line 1:␤------> class A { } ; sub A⏏() { };␤Check failed␤FAILED 00:01 109m␤»
TimToady need a subscope to shadow it
moritz p6: class A { }; sub A() { }
p6eval niecza v16-4-gd48d4a8: OUTPUT«Potential difficulties:␤ &A is declared but not used at /tmp/uXmN2_Cwju line 1:␤------> class A { }; sub A⏏() { }␤␤»
..pugs, rakudo 196981: ( no output )
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:32
class Type { }; Type() doesn't involve any &Type in rakudo 18:33
18:33 mucker left
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…
..rakudo 196981: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/B0flS1Dtvr:1␤»
..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␤»
TimToady perl6: enum Day <Mon Tue Wed Thu Fri Sat Sun>; say Day.enums.values».$(Day)
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…
..rakudo 196981: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name␤at /tmp/c3Q6kSBvH4:1␤»
..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␤»
TimToady there needs to be a way to name the callable form 18:35
&Day would seem to be that
moritz std: sub a() { }; class A { };
p6eval std 3c2fb9c: OUTPUT«ok 00:01 109m␤»
moritz std: sub a() { }; class a { };
p6eval std 3c2fb9c: OUTPUT«ok 00:01 109m␤»
18:36 xinming joined
moritz how come that doesn't complain about redeclaration? 18:36
18:36 fglock joined
TimToady bug? 18:36
moritz ah
n: sub a() { }; class a { };
p6eval niecza v16-4-gd48d4a8: OUTPUT«Potential difficulties:␤ &a is declared but not used at /tmp/NJl0w7ABUm line 1:␤------> sub a⏏() { }; class a { };␤␤»
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
:P
moritz :-) 18:39
TimToady eval: print 1x12 + 0
buubot_backup TimToady: 1111111111111
18:39 xinming_ left
TimToady me thinks that's the wrong answer :) 18:39
or maybe Perl 5 is smart enough to put it back out in unary notation... 18:40
fglock base 1 uses the "dot" operator for addition 18:43
TimToady ah, I see 18:44
timotimo why not church numbers, too?
fglock the operator to convert unary back to decimal is called "length" 18:46
eval: print length( 1x12 . 1x5 )
buubot_backup fglock: 171
fglock heh 18:47
timotimo hehehe, that worked great!
18:47 [particle] left
fglock exercise for the reader: implement square root using a regex 18:49
18:59 daxim left
TimToady perl6: [Z] 19:07
p6eval niecza v16-4-gd48d4a8: OUTPUT«(timeout)»
..pugs, rakudo fbae76: ( no output )
TimToady niecza compiler loops on that
19:07 libertyprime left 19:08 libertyprime joined, skids left
colomon :\ 19:09
19:11 MayDaniel joined
moritz fwiw i once patched pugs so that [Z] also looped 19:13
19:25 leprevost left 19:27 birdwindupbird joined 19:28 cooper left
GlitchMr eval: print 1x111 19:35
buubot_backup GlitchMr: 1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
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> #"␤»
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
GlitchMr But... is there any way to do reverse operation? 19:37
I can convert base-7 to base-10, but can I do reverse? 19:38
benabik r: say 10.base(8)
p6eval rakudo fbae76: OUTPUT«12␤»
benabik r: say :2<101>.base(3) 19:39
p6eval rakudo fbae76: OUTPUT«12␤»
19:39 xinming left
GlitchMr :) 19:39
Thanks.
[Coke] +# 03/28/2012 - rakudo++ ; niecza (96.13%); pugs (38.93%) 19:46
+"niecza", 20308, 1, 751, 1534, 22594, 23751
+"pugs" , 8226, 1, 3021, 1344, 12592, 23560
+"rakudo", 21125, 37, 626, 1888, 23510, 24026
colomon: niecza is falling behind. that's -0.02% 19:47
colomon what?! but I got three more tests working today! 19:49
moritz but I occasionally also add tests that rakudo passes 19:50
[Coke] niecza was: 19:51
"niecza", 20312, 1, 756, 1534, 22603, 23760
so that's 4 less tests right there.
just sayin'
(slacker)
19:51 benabik left
moritz n: my $s = KeySet.new(<foo bar baz>); say $s.Str 19:53
p6eval niecza v16-4-gd48d4a8: OUTPUT«foo bar baz␤»
GlitchMr So, unlike Perl 5, we will have at least two Perl 6 implementations in 2468...
moritz GlitchMr: please stop trolling. Thank you.
19:54 GlitchMr left, nwc10 joined
nwc10 Has Phasers moved time, or is it having a rest? 19:54
colomon dang it, forgot it again! 19:55
TimToady it seems to have pined for the fjords several weeks ago
moritz nwc10: it's having a rest
n: my $s = set <foo bar baz>; say $s.Str
p6eval niecza v16-4-gd48d4a8: OUTPUT«foo bar baz␤»
TimToady we're all too busy doing Real Stuff to just, like, talk about it...
colomon [Coke]: fewer tests are there because I removed about 10 tests from the roast.
[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!
TimToady at least as hard as GlitchMr 19:57
19:57 birdwindupbird left
nwc10 pesky doing, getting in the way of talking. :-) 19:58
19:58 nwc10 left
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…
moritz n: say KeySet.new(a => 5, b => 2).Str
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
19:59 birdwindupbird joined
[Coke] masak: hey, pugs is falling behind on that spec test thing! ;) 20:00
colomon n: say KeySet.new({a => 5, b => 2}).Str 20:04
p6eval niecza v16-4-gd48d4a8: OUTPUT«a b␤»
colomon doh
no, wait, that's rightish
right, even
n: say KeyBag.new({a => 5, b => 2}).Str
p6eval niecza v16-4-gd48d4a8: OUTPUT«a a a a a b b␤»
20:06 havenn_ joined 20:16 havenn_ left 20:18 MayDaniel left, fglock left
lichtkind TimToady: sorry for nagging still but could there be a sub modifier that make it an actor? 20:23
20:38 xinming joined 20:40 xinming_ left 20:43 skids joined
lue hello world! o/ 20:45
masak lue! \o/
[Coke]: hint taken. if only I weren't so busy... :/
tadzik hello lue! 20:46
[Coke] masak: aye, I feel your pain 20:47
masak pain: a Windows laptop. remedy: VMWare Player, Ubuntu 10.04. aaah. 20:49
lue: how are you? 20:52
20:52 kaare_ left
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.
yeah, I'm still struggling with #3 as well. 20:54
timotimo is that "making error messages in rakudo" thing still something a newbie might help with? 20:56
20:56 dorlamm joined
masak oh sure. 20:58
just make as much of them as you can. :)
timotimo :) 21:00
lue Initial thoughts on hexslide: gist.github.com/2230446
timotimo has the irclog open now
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)
masak ah. 21:04
lue: my strong suspicion is that there are unsolvable configurations that are not "obviously unsolvable".
lue Of course. I talk about "unobviously unsolvable" configurations later on if you haven't got that far. 21:05
21:05 dorlamm left
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]
masak :)
21:07 pernatiy joined
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?
oh, actually: X::Syntax::Augment::TypeObject 21:08
masak ask moritz++ :) 21:09
21:16 birdwindupbird left
timotimo huh. how do i get a bare type object for the does operator except for this: 21:18
r: my $one does class { has $.a is rw; };
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␤␤»
timotimo r: class yada {}; my $one does yada;
p6eval rakudo 099d30: ( no output )
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␤␤»
timotimo r: my $one does &Int;
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␤␤»
timotimo ah. that's how
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
21:22 Teratogen joined
masak correct. 21:22
Teratogen howdy howdy howdy
masak Teratogen! \o/
Teratogen masak o/ 21:23
21:23 derrazo_ joined, derrazo_ is now known as derrazo
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:26
masak X::Does::TypeObject, perhaps? 21:27
timotimo sounds good to me, too
fsergot good night #perl6 o/ 21:32
masak 'branoc, fsergocie.
21:32 pyrimidine left, NamelessTee joined 21:33 fsergot left
timotimo i made an error 21:44
endless recursion between Str, infix:<~>, Stringy and nqp;Perl6;World;Str 21:47
21:52 havenn left 21:53 envi_ left 21:55 wolfman2000 joined 21:57 spider-mario left
masak 'night, #perl6 21:58
22:01 havenn joined
timotimo not sure what i did wrong :\ 22:02
lue goodnight, masak o/ 22:03
timotimo gist.github.com/2230981 <- really can't tell how i caused this error 22:10
(the error is: max recursion depth reached"
huh. how do i search something like $/ in the synopsis? :\ 22:12
ah, "special variables"
22:18 average_drifter joined, havenn left
timotimo it wasn't as easy as expected :\ 22:20
still isn't, actually 22:21
skids timitimo: try www.perlfoundation.org/perl6/index.cgi?witch for all your ungreppable specs needs. (And feel free to freshen it up a bit.) 22:36
skids made a timotypo 22:37
timotimo :D 22:38
TimToady new example: rosettacode.org/wiki/Truth_table#Perl_6
the last line would be easier if [X] worked 22:39
timotimo what does the so mean in ..."so $x"...? 22:40
TimToady it turns junctions into booleans :)
it's a loose prefix ?
oh, only works under niecza currently 22:41
skids
.oO(or an excuse to write "say so")
22:42
timotimo will take a bit of time to understand that code
ah, {{ inside " will be interpolated, is that right?
uh, meant { ... }
TimToady yes 22:43
timotimo is [{ something special?
TimToady no, it's interpolating inside an Array composer
felher Oh, cool, <indent> matches valid identifiers?
TimToady so we can print all N values and the result on one line
<ident> 22:44
felher aeh, yeah :)
TimToady in niecza, seems to fail in rakudo with: Cannot get character past end of string
timotimo ah, the .join(",") is there to make the array composer be correct. i see.
TimToady perl6: say "foo bar baz".comb(/<ident>/) 22:45
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
..niecza v16-4-gd48d4a8: OUTPUT«foo bar baz␤»
..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…
timotimo .so is the same as prefix-so? 22:47
TimToady yes
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?
felher Has quite a lot of Perl6-Stuff in it. A main sub, hyper operators, ranges, dynamic-arity-map ... :) 22:55
timotimo how come "dynamic-arity-map" is a thing? 22:57
felher probably not. 22:58
i just called it so.
timotimo and how is it dynamic arity? i'm confused
felher Because map determines how many elements to take by the arity of the function supplied.
sorear good * #perl6
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
felher As opposed to, say haskell, where map takes a function that gets exactly one argument and maps it to something different.
timotimo interesting. map gets a list of lists and unpacks that list for the function? 23:00
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
timotimo actually a parcel! 23:01
well, a list of parcels
23:03 Chillance left
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
is that supposed to work? with the backslash there?
TimToady yes, it's supposed to work, and does in niecza++ 23:05
23:06 whiteknight joined
timotimo aha! 23:06
"parcel binding"
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:07
23:07 thou left
felher nom: .say for <1 2 3 4 5 6>.map: { $^a ~ $^b ~ $^c } 23:08
p6eval rakudo 099d30: OUTPUT«123␤456␤»
felher timotimo: that works as expected
timotimo: i think map flattens the list and the takes the right number of arguments.
timotimo interesting
niecza: .say for <1 2 3 4 5 6>.map -> \foo,\bar { foo ~ bar } 23:09
p6eval niecza v16-4-gd48d4a8: OUTPUT«===SORRY!===␤␤Unexpected block in infix position (method call needs colon or parens to take arguments) at /tmp/ZQtlXkbrtn line 1:␤------> .say for <1 2 3 4 5 6>.map ⏏-> \foo,\bar { foo ~ bar }␤␤Parse failed␤␤»…
timotimo niecza: .say for <1 2 3 4 5 6>.map: -> \foo,\bar { foo ~ bar }
p6eval niecza v16-4-gd48d4a8: OUTPUT«12␤34␤56␤»
timotimo indeed it does
23:09 mdupont left 23:13 mdupont joined 23:15 vlixes left, vlixes joined
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…
..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)…
..pugs: OUTPUT«␤*** Cannot cast from VList [VBool True] to VCode (VCode)␤ at /tmp/0VL_s9rdBg line 1, column 38 - line 2, column 1␤»
timotimo cannot map with slurpy argument lists?
sorear highlighting on /niecza/ is pretty suboptimal 23:18
timotimo i apologize :|
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
timotimo doesn't sound very wrong
DWIMap :)
sorear timotimo: I'm not asking you to change, I'm asking for suggestions for mysellf
felher Yeah, DWIM actually seems to hit the bull's eye :) 23:22
timotimo perl6 is scarily good at DWIM
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)
TimToady and it's not clear to me that <<1 2> <3 4 5> <6 7 8 9>> will do what you expect either
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.…
..niecza v16-4-gd48d4a8: OUTPUT«1 2> <3 4 5> <6 7 8 9␤True␤»
..pugs: OUTPUT«1␤2>␤<3␤4␤5>␤<6␤7␤8␤9␤1␤1␤1␤1␤1␤1␤1␤1␤1␤»
timotimo whaaaaat is pugs doing?
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)
p6eval niecza v16-4-gd48d4a8: OUTPUT«1 2 3 4 5 6 7 8 9␤True␤»
..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.…
..pugs: OUTPUT«1␤2␤3␤4␤5␤6␤7␤8␤9␤1␤1␤1␤1␤1␤1␤1␤1␤1␤»
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␤»
TimToady it would appear to be confused about binding *@s 23:26
lichtkind timotimo: www.perlfoundation.org/perl6/index....dex_tablet has all these and more and is now gepable 23:27
timotimo you mean grepable? 23:28
felher apropos slurpy arguments. Is there a way to specify `slurp me 5 elements`? Something like 'sub add-five(*@elements[5]) { [+] @elements }'? 23:29
23:29 s1n joined 23:31 bbkr_ joined 23:32 bbkr left, bbkr_ is now known as bbkr
lichtkind yes 23:33
at least the sources are :9
timotimo :) 23:34
looks pretty nice
lichtkind thank you 23:35
btw ladies and gents we approached the 700 mark (703) further to the magical 1000
timotimo is implementing \foo in rakudo a thing a beginner could reasonably try to do?
23:36 lue left
timotimo niecza: my \foo = 99; say foo; 23:40
p6eval niecza v16-4-gd48d4a8: OUTPUT«99␤»
felher just came from www.perl6.org/community/rosettacode to wireworld (rosettacode.org/wiki/Wireworld#Perl_6) and is wondering 23:46
the 'say $g'... shouldn't that be 'say ~$g'?
Because say calls .gist which calls .perl and not .Str? 23:47
23:48 y3llow_ joined, bruges joined, y3llow left 23:49 baest left
TimToady yes 23:49
23:50 y3llow_ is now known as y3llow, bruges_ left
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
TimToady the tricky thing is to introduce a term rather than a listop 23:51
23:54 NamelessTee left, NamelessTee joined
timotimo introducing \ as a sigil wouldn't be the right thing, right? 23:54
TimToady no 23:55
it has to introduce a term like constant foo does, except without the constancy
23:55 japhb_ joined
TimToady rakudo: constant pi = 3; say pi 23:55
p6eval rakudo 099d30: OUTPUT«3␤»
23:56 NamelessTee left
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:57
23:59 preflex_ joined