|
»ö« 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«22Unhandled 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«TrueXoo» | ||
| moritz | n: $_ = 'foo'; say so s/^b/X/; .say | ||
| p6eval | niecza v16-3-gede8b6d: OUTPUT«Falsefoo» | ||
| 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«697420697320746F6F20717569657420696E2068657265» | ||
| 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«NaNNaN» | ||
| 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«StrStr» | |||
| 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 1Check failedFAILED 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 failedFAILED 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 nameat /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 nameat /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 ∬ | ||
| 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«123456» | ||
|
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«123456» | ||
| 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«123456» | ||
| 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 9True» | |||
| ..pugs: OUTPUT«12><345><6789111111111» | |||
| 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 9True» | ||
| ..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«123456789111111111» | |||
| 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«123456789111111111» | ||
| 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
|
|||