»ö« 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
|