»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
diakopter | on magnet (originally/mostly?) | 00:00 | |
or maybe it's a bot named [obliquely?] after its creator? | |||
BenGoldberg | Purl is indeed a bot. Or was anyway, I haven't seen it for a while. | 00:04 | |
00:04
coetry joined
|
|||
BenGoldberg | .seen purl | 00:04 | |
yoleaux | I haven't seen purl around. | ||
00:04
b2gills joined
|
|||
diakopter | lizmat: irclog.perlgeek.de/parrot/search/?n...url&q= | 00:04 | |
pink_mist | purl would be on magnet, if purl was around | ||
but purl isn't around even there | |||
coetry | this is frustrating :/, I'm trying to install Inline::Perl5, THE module that carries significant implications and makes my life easier :/ | 00:06 | |
lizmat | aha, so Perl 6 *has* become sentient after all :-) | ||
BenGoldberg | The last time perlbot (the perl5 evalbot) saw purl was 2011. | ||
coetry | here's what I'm running into: gist.github.com/coetry/e8beb4d6bd16748dd9e7 | ||
diakopter | lizmat: actually, on second thought, I think there was a person who used that nick, and I think they were the author of that bot | ||
00:06
raiph joined
|
|||
diakopter | raiph: do you remember who was purl on perlmonks? | 00:07 | |
skids | coetry: File::Temp installs fine for me, how new is your rakudo? | ||
pink_mist | BenGoldberg: I think that's because perlbot put purl on ignore back then :P purl hasn't been seen for months, but purl has been around this year at least :P | ||
Skarsnik | lol | 00:08 | |
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: c351070 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source.pm: Convert JSON::Meth object to a hashref Debugging with it still being an object is annoying |
||
href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 2cfe887 | (Zoffix Znet)++ | / (4 files): Improve test coverage of ModulesPerl6::DbBuilder::Dist::Source |
|||
00:08
kid51 left
|
|||
Skarsnik | 'night #perl6 | 00:09 | |
jdv79 | later | ||
00:10
espadrine left,
Skarsnik left
|
|||
coetry | skids: This is perl6 version 2015.09 built on MoarVM version 2015.09 | 00:11 | |
diakopter | lizmat: aha, purl was authored by PerlCure | 00:12 | |
00:15
TEttinger left
|
|||
skids | coetry: I'm on a git head from today, maybe someone on 2015.09 could say whether File::Temp installs for them. | 00:16 | |
coetry | skids, I installed my rakudo from brew, if I wanted to upgrade to the git head like you, what should I do? | ||
00:17
TEttinger joined
00:18
Zoffix joined
|
|||
Zoffix | coetry, rakudobrew self-upgrade; rakudobrew build moar; | 00:18 | |
2015.09 is way old :P | |||
Zoffix is about to merge new-db-builder branch on modules.perl6.org repo. | 00:19 | ||
Running a local db build to ensure all works "Processing dist 32 of 461". | |||
Quom_ | m: { die("ded."); CATCH { say("caught") }}; say("not rethrown?"); | 00:22 | |
camelia | rakudo-moar fec2b5: OUTPUT«caughtded. in block <unit> at /tmp/yny9_vpLLj:1» | ||
Quom_ | nqp-m: { die("ded."); CATCH { say("caught") }}; say("not rethrown?"); | ||
camelia | nqp-moarvm: OUTPUT«caughtnot rethrown?» | ||
Quom_ | I suppose in NQP rethrows are explicit | 00:23 | |
00:23
llfourn joined
|
|||
skids | Hrm, Inline::Perl5 is broken on latest, though, actually inside the module itself. | 00:25 | |
"No such method 'context' for invocant of type 'Inline::Perl5::Perl6Callbacks'" | |||
Zoffix | yup | 00:27 | |
coetry | :( | ||
Zoffix | Others are having the same issue: irclog.perlgeek.de/perl6/2015-11-27#i_11612777 | ||
coetry | hi Zoffix, i remember you :) | ||
Zoffix | I don't remember you :/ | ||
coetry | lol that's because you helped me before, and i didn't help you haha | ||
Zoffix | heh, ok :) | ||
coetry | unless you count you helping me, helping you because that reinforces your knowledge | 00:28 | |
:) | |||
00:30
Psyche^ joined
|
|||
skids | Ok, so as a workaround anyone have rakudo/nqp/moar commit IDs where Inline::Perl5 is working? | 00:32 | |
coetry | zef || panda ? | 00:34 | |
Zoffix | coetry, zef, 'cause it precompiles | ||
coetry | nice | ||
Zoffix | though /me never could get it to work for some reason; would not install into visible paths | ||
coetry | hmm | ||
Zoffix | skids, no idea, but why not try to fix it and submit a PR instead? :) | ||
00:35
Psyche^_ left
|
|||
skids | Not that I wouldn't but that will take time in any case. | 00:35 | |
Zoffix | skids, well, its author is busy getting Perl 6 ready for Christmas release and might even take a break after that. It'll might be a while 'till Inline::Perl5 will get fixed anyway, so why not try to fix it? | 00:37 | |
Will you really stay on an old rakudo commit and not try the new and shiny Perl 6.Christmas just due to Inline::Perl5 :P | 00:38 | ||
coetry | I wish Inline::Perl5 could be ready by Christmas too, however I'm a noob | ||
I would fix it if I knew how | |||
skids | Zoffix: I didn't say I would not, but coetry wants it working now for him/her self to play with. | ||
coetry | im a "him" skids :) | 00:39 | |
Zoffix | coetry, Meh. It's a crutch. Go pure Perl 6 :P | ||
00:39
bpmedley joined
00:40
pierre-vigier joined
|
|||
Zoffix | Yey "[info] Finished building all dists." All stuff's done :) I'll wait until tomorrow to merge tho. Don't wanna mess with cron and friends setting the new workflow up tonight. | 00:41 | |
TimToady | hmm... | ||
> rakudobrew test | |||
Spectesting moar-nom | |||
Couldn't determine correct make program. Aborting. | |||
coetry | Zoffix, i would love to go pure perl6, lol but you and me both know that the ecosystem will take while for helpful modules to readily be available for a lot of scenarios, until then, I will gladly use the shiny crutch of Inline::Perl5 | ||
Zoffix | TimToady, I'm getting the same error when rakudobrew triple nom master master | ||
00:43
Exodist left
|
|||
Zoffix | coetry, what module do you need from P5 BTW? Just curious what's in demand. | 00:43 | |
00:44
Exodist joined
|
|||
coetry | Well, I'm actually new to Perl itself, but OAuth, Twitter clients, things like that are helpful | 00:44 | |
00:44
pierre-vigier left
|
|||
Zoffix | aha | 00:44 | |
I was planning to make a P6 Twitter bot that announced ecosystem additions.. Though that likely won't be done until around or after New Years. | 00:45 | ||
coetry | cool, I would love to see it and contribute if possible at all | ||
00:45
pierre-vigier joined
|
|||
coetry | microscopic commits until I grow my wings | 00:46 | |
mspo | twitter oauth is pretty easy the last time I implemented it | ||
a few years ago, though | |||
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: e406686 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source.pm: Fix bug with distro build crashing when "author" field is set to an array |
||
TimToady | good grief, it pulls MAKE= out of the makefile...why not just run "make" for a default? | ||
Zoffix | :S | 00:47 | |
coetry | wait Zoffix, i recognize your github avatar from twitter | ||
Zoffix | Yeah, I'm on Twitter: twitter.com/zoffix | 00:48 | |
coetry | are you the same person? If so, I follow you, you're cool :) I followed you after seeing a tweet on custom perl6 operators (one of my favorite features of perl6) | ||
i'm coetry on twitter as well | |||
00:48
pnu joined
|
|||
Zoffix | k, followed you | 00:49 | |
Yeah, I love custom P6 operators too :) Too bad they're really expensive to add | |||
coetry | cool cool, and yeah usually when you play with macros and custom stuff, although pleasant to the eye and mind, the computer has to do more work | ||
I'd love to work on improving performance when i learn the chops to do so | 00:50 | ||
00:51
BenGoldberg left
|
|||
coetry | i'm commited to perl6 and its growth :), i had a period of time where i would jump from ruby, lisp, clojure, and so many languages trying to find my community and niche, but I feel that Perl6 is where I belong | 00:51 | |
00:52
pierre-vigier left
|
|||
Zoffix | :) | 00:52 | |
coetry | just reading the design docs that Larry made, and the philosophy, and the power of the language itself. And the fact that Larry explicityly said he addressed Paul Graham's 100 year language musings, it was a seller for me | ||
If i'm alive, in 10 years i would like to have contributed a healthy chunk of the pie! | |||
00:54
solarbunny joined
|
|||
TimToady | Zoffix: we can make it a lot cheaper to add custom operators, I suspect | 00:54 | |
Zoffix | \o/ yey | ||
00:58
pierre-vigier joined
00:59
pierre-vigier left
|
|||
TimToady | Zoffix: I changed the error line in rakudobrew to just run("make $command"); and it works fine here | 00:59 | |
Zoffix | cool | 01:00 | |
TimToady | I wonder if there's someplace where assuming "make' is the correct default program is antithetical to the march of human civilization... | ||
Zoffix | lol | ||
01:00
pierre-vigier joined
|
|||
geekosaur | most bsds have "make" as their make which is not compatible with gnu make | 01:01 | |
and gnu make is assumed by a lot of things these days, leading to annoying breakage on *bsd, solaris, etc. | 01:02 | ||
dalek | p: f347320 | Mouq++ | src/core/NQPLock.nqp: NQPLocks should propogate errors |
||
TimToady | heh, if I ask for *make it asks if I want: qmake omake mmake jmake cmake bmake imake fmake pmake make tmake or vmake | 01:03 | |
(but not gmake, go figure) | 01:04 | ||
((I guess that's what make is here)) | |||
Zoffix | :o | ||
xkcd.com/927/ | |||
TimToady | ayup, don't even have to look that one up :) | ||
Zoffix | :P | 01:05 | |
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: ac2c96d | (Zoffix Znet)++ | bin/build-project-list.pl: Do not use system perl via shebang |
||
href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: cd8e45d | (Zoffix Znet)++ | bin/build-project-list.pl: Make build script a "Singleton" Abort run if we"re already running. This will allows us to chuck the script into cron in frequent intervals to allow almost-round-the-clock building |
|||
TimToady | fortunately we'll run out of characters after we have (a..z)make | 01:06 | |
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 07f2c55 | (Zoffix Znet)++ | bin/build-project-list.pl: Comment why we"re doing all this flock business |
01:07 | |
01:10
rigsby left
01:11
pierre-vigier left
01:13
zengargoyle left
|
|||
Quom_ | TimToady: Don't forget 6make | 01:13 | |
01:14
zengargoyle joined,
rigsby joined
|
|||
lizmat | good night, #perl6! | 01:16 | |
01:18
zengargoyle left,
zengargoyle joined
01:21
Exodist left
01:24
Exodist joined
01:25
Zoffix left
01:33
xpen joined
01:34
Celelibi left
01:37
xpen left
01:46
yaxx_ joined
|
|||
hahainternet | i'm surprised that flock DATA works | 01:46 | |
that's neat | |||
01:48
xpen joined
01:53
xpen left
02:04
TimToady left
|
|||
dalek | c: 8f2749c | LLFourn++ | doc/Language/functions.pod: doc'd proto |
02:05 | |
02:06
TimToady joined
02:15
herby joined
|
|||
herby | Good evening, everyone! | 02:15 | |
dumb question... I'm watching a youtube video and the guy is launching a perl6 script with: perl6-m test.p6 | 02:23 | ||
what is the -m? | |||
02:24
vendethiel left
|
|||
pink_mist | probably stands for moarvm | 02:25 | |
as opposed to jvm | |||
herby | as a beginner who is learning p6 as a hobby, should I be purposefully using one over the other? | ||
or for my purposes is it likely the same? | |||
TimToady | you'll be less frustrated with moarvm unless you specifically need to run on jvm for some reason | 02:26 | |
pink_mist | I think moarvm is more feature complete than jvm is ... but I'm not sure how much difference there really is | ||
Quom_ | moarvm also has a much faster startup time | ||
herby | so if i'm on ubuntu and using rakudo, should i be launching my scripts with perl6-m? | 02:27 | |
perl6 -m | |||
TimToady | I just use a p6 alias :) | ||
Quom_ | herby: It only makes a difference if you installed both | ||
TimToady | and you can have it install "perl6" as an alias to one or the other | 02:28 | |
herby | ah ok. i don't think I installed both. i just used the generic rakudo installer | ||
i'll have to read a little bit and see what came with it | |||
Quom_ | herby: Or just `perl6 --version` | ||
herby | "This perl6 version 2015.11 built on MoarVM version 2015.11" | 02:29 | |
guess that answers that | |||
I want to try to tackle this idea in Perl 6 | 02:30 | ||
chrisholdgraf.com/querying-craigsli...th-python/ | |||
figure it would be a useful learning exercise | |||
not sure if Perl 6 has anything for the graphing part though | |||
02:31
rigsby left
02:33
AlexDaniel left
|
|||
herby | alright, thanks for the info | 02:35 | |
have a good night! | |||
02:37
Zoffix joined
|
|||
Quom_ | 'night! | 02:37 | |
02:44
herby left
|
|||
dalek | p: 19073a7 | TimToady++ | src/HLL/Compiler.nqp: Don't confuse rakudo version with perl version. |
02:52 | |
kudo/nom: a148bf3 | TimToady++ | tools/build/NQP_REVISION: bump nqp to get more accurate --version |
02:53 | ||
gfldex | herby++ # i guess | ||
zengargoyle | heh | 02:57 | |
the evil me wants to make a quick post somewhere about Perl 6 finally giving in and changing its numbering scheme. *mualahaha* | 02:59 | ||
Quom_ | m: say 1 cmp NaN # what's the expected answer here? | 03:01 | |
camelia | rakudo-moar fec2b5: OUTPUT«Same» | ||
b2gills | .tell [Coke] I would like to be listed as "Brad Gilbert (b2gills)" or "Bradley Allen Gilbert (b2gills)" etc. because "Brad Gilbert" by itself is very non-unique. ( usually associated with a tennis player ) | ||
yoleaux | b2gills: I'll pass your message to [Coke]. | ||
b2gills | Quom: FileNotFound | ||
yaxx_ | m: my @a[3;3] = 1..3, 4..6, 7..9; | 03:02 | |
camelia | ( no output ) | ||
zengargoyle | m: my @a[3;3] = 1..3, 4..6, 7..9; say @a; | 03:03 | |
camelia | rakudo-moar fec2b5: OUTPUT«[[1 2 3] [4 5 6] [7 8 9]]» | ||
b2gills | Quom_: thedailywtf.com/articles/What_Is_Truth_0x3f_ | ||
yaxx_ | m: my @a[3;4] = 1..3, 4..6, 7..9; say @a; | 03:06 | |
camelia | rakudo-moar fec2b5: OUTPUT«[[1 2 3 (Any)] [4 5 6 (Any)] [7 8 9 (Any)]]» | ||
zengargoyle | Quom_: i'd probably pick Same... vs Less or More, Same is the most sane. | 03:07 | |
flussence | zengargoyle: technically, p6 did change its numbering scheme this week... to remove that arbitrary ascii requirement :D | ||
zengargoyle | must have missed that. :) | 03:08 | |
flussence | m: say ⑨ * ㊿ | ||
camelia | rakudo-moar fec2b5: OUTPUT«450» | ||
Quom_ | Python's cmp says greater than | ||
m: enum Bool (True, False, FileNotFound); | 03:09 | ||
camelia | rakudo-moar fec2b5: OUTPUT«===SORRY!===Cannot invoke this object» | ||
Quom_ | m: enum MyBool (True, False, FileNotFound); | ||
camelia | rakudo-moar fec2b5: OUTPUT«===SORRY!===Cannot invoke this object» | ||
Quom_ | m: enum MyBool <True False FileNotFound>; | ||
camelia | ( no output ) | ||
Quom_ | m: enum Bool <True False FileNotFound>; | ||
camelia | ( no output ) | ||
flussence | .oO( it's horribly tempting that some really obscure unicode character just happens to have the numeric value for "5 days' worth of seconds"... ) |
03:11 | |
yaxx_ | m: my @a[3;3] = 1..3, 4..6, 7..9; @a[0,1,2] = @a[2,1,0]; say @a; | ||
camelia | rakudo-moar a148bf: OUTPUT«Partially dimensioned views of arrays not yet implemented. Sorry.  in block <unit> at /tmp/hiaLDlTK4N:1» | ||
Quom_ | Ruby wisely returns nil | 03:12 | |
03:12
yqt left
|
|||
ShimmerFairy | Quom_: according to wikipedia, "A comparison with a NaN always returns an unordered result even when comparing with itself.", so judging by that 'Same' is wrong, but any of the other enums are fine :) | 03:13 | |
03:14
noganex_ joined
|
|||
Quom_ | ShimmerFairy: You mean to say that the enums of Order imply an unordered result? ;) | 03:14 | |
zengargoyle | isn't an unordered sort the same as cmp always returning Same? | ||
ShimmerFairy | Quom_: oh, dur. | 03:15 | |
zengargoyle: come to think of it, that's possibly one way to define unordered :) (though I have a feeling most people would like some sort of Order::None to be more clear) | |||
yaxx_ | m: my @a[3;3] = 1..3, 4..6, 7..9; say @a[0,2]; | 03:16 | |
camelia | rakudo-moar a148bf: OUTPUT«Partially dimensioned views of arrays not yet implemented. Sorry.  in block <unit> at /tmp/3tIw0eiTiI:1» | ||
ShimmerFairy | m: say 1+2i cmp 3+4i | ||
camelia | rakudo-moar a148bf: OUTPUT«Less» | ||
Quom_ is reminded of masak++'s article from June | |||
ShimmerFairy | m: say 1+2i <=> 3+4i | ||
camelia | rakudo-moar a148bf: OUTPUT«Can not convert 1+2i to Real: imaginary part not zero in block <unit> at /tmp/fqaALENANO:1Actually thrown at: in block <unit> at /tmp/fqaALENANO:1» | ||
zengargoyle | making Less, Same, More into 4 things might complicate things... | ||
Quom_ | m: say 1+2i cmp 2+i | 03:17 | |
camelia | rakudo-moar a148bf: OUTPUT«Less» | ||
ShimmerFairy | zengargoyle: sure, doesn't necessarily need to be an Order:: thing, could just as easily be Nil or a Failure or... :) | ||
03:17
noganex left
|
|||
geekosaur | note that complex numbers represent 2-dimensional values, so a linear ordering is not meaningful | 03:17 | |
ShimmerFairy | Quom_: complex numbers aren't ordered, as I recall. That's why I was checking | ||
zengargoyle | i'm thinking of the way cmp is used by sort. | 03:18 | |
you either put a before b or b before a or you keep the order they had. | |||
ShimmerFairy | m: say 1..3 cmp 2..4 # something I ran into yesterday, when C++'s std::less wanted something for my Range-like struct. How should Ranges compare? | ||
camelia | rakudo-moar a148bf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/6kG9bB8V7tOperators '..' and 'cmp' are non-associative and require parenthesesat /tmp/6kG9bB8V7t:1------> 3say 1..37⏏5 cmp 2..4 # something I ran into yester expecting any of: in…» | ||
ShimmerFairy | m: say (1..3) cmp (2..4) # something I ran into yesterday, when C++'s std::less wanted something for my Range-like struct. How should Ranges compare? | 03:19 | |
camelia | rakudo-moar a148bf: OUTPUT«Less» | ||
zengargoyle | or throw an failure and bust everything. | ||
zengargoyle would also accept <Less Same More>.pick :) | |||
ShimmerFairy | the definition I chose is that for $a..$b < $c..$d I do $c < $b. But of course that can't be good enough, I don't think. | 03:20 | |
Quom_ | Welp. It seems like Unordered/Failure is no esoteric an option… | ||
m: -Inf cmp -Inf | 03:21 | ||
camelia | rakudo-moar a148bf: OUTPUT«WARNINGS:Useless use of "cmp" in expression "-Inf cmp -Inf" in sink context (line 1)» | ||
ShimmerFairy | geekosaur: btw, I can't help but think that the issue is with ambiguous cases; it seems obvious (or at least intuitive) to me that 0+0i < 1+1i, so to me the interesting bits come in on things like 2+0i < 1+1i | ||
Quom_ | m: say -Inf cmp -Inf | ||
camelia | rakudo-moar a148bf: OUTPUT«Same» | ||
Quom_ | *not so | ||
geekosaur | ShimmerFairy, same thing really; your "ambiguous cases" are the ones where the differences are in both dimensions | 03:22 | |
ShimmerFairy | Quom_: the one issue we might have with a Nil/Failure/etc. is that things like hash sorting use cmp, and I can't help but wonder how big the changes would be | ||
geekosaur: yeah, that's been my thinking, that when the individual dimensions would generate different results is when the issues arise. It feels like we need ternary logic for complex numbers; "definitely less", "half-way less", and "not at all less" :P | 03:23 | ||
geekosaur | I will also note that there are multiple uses for ordering; if you are hashing or ordering for a tree of some kind, it suffices to pick a consistent ordering rule | ||
but this is distinct from mathematical ordering, where you cannot meaningfully collapse a multi-dimensional value into a linear ordering | 03:24 | ||
ShimmerFairy | geekosaur: definitely, my C++ case was just "pick something to satisfy std::less for my use of Range-likes as a hash key". It feels like we perhaps would like to separate mathematical and [other kind] ordering | 03:25 | |
geekosaur | (and then there's partial vs. total orderings) | ||
Zoffix | wtf | ||
m: say ⑨ * ㊿ | |||
camelia | rakudo-moar a148bf: OUTPUT«450» | ||
Zoffix | 0.o | ||
.u ㊿ | |||
yoleaux | U+32BF CIRCLED NUMBER FIFTY [No] (㊿) | ||
Zoffix | Man, that char doesn't even display on my client :/ | ||
What's whack | |||
ShimmerFairy | geekosaur: maybe the fact that S03 calls 'cmp' as using 'eqv' semantics means it was already meant to be the other thing, or if Perl 6 has in fact made the potential mistake of not separating the two kinds | 03:26 | |
geekosaur | most languages make that mistake | ||
zengargoyle | m: say (1+2i)**2 cmp (3+4i)**2 | ||
camelia | rakudo-moar a148bf: OUTPUT«Less» | ||
ShimmerFairy | Zoffix: what's weird is that I only recall enabling Nd type characters for numeric literals, perhaps someone opened it up? | ||
m: say "⑨".uniprop("Numeric_Type") | |||
camelia | rakudo-moar a148bf: OUTPUT«2» | ||
geekosaur | every so often there's a push to separate them in Haskell but it hasn't happened and I suspet it never will | ||
ShimmerFairy | m: say "⑨".uniprop_str("Numeric_Type") | ||
camelia | rakudo-moar a148bf: OUTPUT«Method 'uniprop_str' not found for invocant of class 'Str' in block <unit> at /tmp/XgtsjosloL:1» | ||
geekosaur | because every use of Data.Set / Data.Map would break | ||
ShimmerFairy | m: say "⑨".uniprop-str("Numeric_Type") | 03:27 | |
camelia | rakudo-moar a148bf: OUTPUT«» | ||
ShimmerFairy | geekosaur: are there any languages which _do_ separate? (I'm thinking the mythical Perl 6.1 might want to, if it turns out to be problematic) | 03:28 | |
geekosaur | not that I can think of offhand | ||
flussence | Zoffix: the missing char of the two is swapped on my terminal, which makes even less sense... | 03:30 | |
Zoffix | At least it makes for a good advert tweet :) twitter.com/zoffix/status/670444009534418944 | 03:31 | |
Quom_ | My thought wouldn't be so much separation as DWIM... you can just use it as before if you want, but you can at least tell when the arguments are unordered | 03:32 | |
zengargoyle | m: say "🃜".uniprop("numeric_Type") | ||
camelia | rakudo-moar a148bf: OUTPUT«0» | ||
yaxx_ | m: my @a[⑨;⑨] = (1..⑨) xx ⑨; say @a; | ||
camelia | rakudo-moar a148bf: OUTPUT«[[1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9] [1 2 3 4 5 6 7 8 9]]» | ||
geekosaur | really, Haskell is about the only language where users would care... and if they're not willing to address it, nobody is :) | 03:33 | |
zengargoyle | m: say "🃜".uniprop("Numeric_Type") | ||
camelia | rakudo-moar a148bf: OUTPUT«None» | ||
zengargoyle | would have been cool if PLAYING CARD * had numeric_type | ||
Zoffix | heh | ||
That's really pushing it :P | 03:34 | ||
zengargoyle | ACE would have to be a junction 1|11 :) | ||
Zoffix | :) | ||
ShimmerFairy | Quom_, zengargoyle, geekosaur: actually, considering 'before' is supposed to be the 'eqv' version of numeric < , we might already have the separation in the design; 'eqv' ops for sort ordering, numeric ops for math ordering | ||
03:35
coetry left
|
|||
ShimmerFairy | the .uniprop stuff is broken, btw, .uniprop("Numeric_Type") should really return a string, but AFAICT it returns Moar's internal enum for the string :) | 03:35 | |
zengargoyle | i'd guess it would be <=> that got tweaked | ||
geekosaur | and then there's the solitaire game I often play late night on my tablet, where the ordering is K, A, .. Q | ||
zengargoyle | we still have <=>, leg, for numeric/string specific comparison. | 03:36 | |
ShimmerFairy | m: say 1+3i <=> 4+5i # already handled for Complex, even if the message is LTA | ||
camelia | rakudo-moar a148bf: OUTPUT«Can not convert 1+3i to Real: imaginary part not zero in block <unit> at /tmp/GUZ8sENn6i:1Actually thrown at: in block <unit> at /tmp/GUZ8sENn6i:1» | ||
ShimmerFairy | m: say 3 <=> NaN | ||
camelia | rakudo-moar a148bf: OUTPUT«Same» | ||
ShimmerFairy | boo for <=> | 03:37 | |
zengargoyle | i'd guess cmp is just falling back to <=> | ||
ShimmerFairy | might be worth asking TimToady if before/after/eqv/cmp should be considered a different kind of ordering from numerics, or if that's a different area (e.g. "a" cmp "b" ~~ "a" leg "b", but in this line of thinking 1+0i cmp 1i !~~ 1+0i <=> 1i ) | 03:38 | |
in other words, I don't know if leg and <=> are supposed to be "just" coercive versions of cmp, or if it's OK for a more explicit separation. | 03:39 | ||
s/explicit/meaningful/ | |||
zengargoyle | m: say NaN.WHAT | 03:41 | |
camelia | rakudo-moar a148bf: OUTPUT«(Num)» | ||
ShimmerFairy | NaN and Inf are (currently) literally just the floating-point constants. Part of the consternation with Inf is how to come up with a more pervasive version :P | 03:42 | |
m: say Inf.WHAT | |||
camelia | rakudo-moar a148bf: OUTPUT«(Num)» | ||
zengargoyle | m: say -Inf === -Inf | ||
camelia | rakudo-moar a148bf: OUTPUT«True» | ||
zengargoyle | m: say -Inf === Inf | 03:43 | |
camelia | rakudo-moar a148bf: OUTPUT«False» | ||
zengargoyle | m: say NaN === NaN | ||
camelia | rakudo-moar a148bf: OUTPUT«True» | ||
Zoffix | m: say Inf+i === (0/0)+i | ||
camelia | rakudo-moar a148bf: OUTPUT«True» | ||
ShimmerFairy | Yeah, that's the nice thing about Perl 6's operators, and its general attitude of different spellings for different things. NaN == NaN will of course be false, but I can test for it using === instead of a more awkward (to me) isNaN() :) | 03:45 | |
Zoffix | Heh, my phone cheats by displaying "㊿" as simply 50 :) | 03:46 | |
All this talk about NaN's making me hungry. | 03:47 | ||
ShimmerFairy | obviously using one of those nasty NFK* forms :P | ||
zengargoyle | om NaN NaN? | ||
Zoffix | en.wikipedia.org/wiki/Naan | ||
zengargoyle | ShimmerFairy: did you catch the earlier discussion of POD stuff today? | 03:49 | |
ShimmerFairy | zengargoyle: yesterday, yes, but not anything hours back | ||
03:49
david_cassel left
|
|||
zengargoyle | TT thinks... ditch =finish. add =eof which is (as =finish was) a =begin FOO that goes to end of file. | 03:50 | |
and have =eof comment (the default), =eof pod (sorta like =finish), =eof data (like old __DATA__). | 03:51 | ||
Quom_ | ShimmerFairy: btw, do you plan to post the work you've done? I'd like to help – I think it's work that's important to try to figure out now-ish | 03:53 | |
ShimmerFairy | zengargoyle: yeah, skimming the web log now. It's an interesting idea. I'd consider it a new directive though, so there's no "default", but it's kinda like =begin or =for; basically, "like =for except the end is just EOF, not a blank line as well" | ||
Zoffix | MadcapJake, which reminds me, the Atom highlighter doesn't do much with =finish. Doesn't matter much if you don't care about it, but IIRC the standard Atom's P6 highligher highlights stuff after =finish as POD IIRC | ||
ShimmerFairy | Quom_: yeah, just finishing up parsing the bottom border of tables, and then (even if it don't work), I'll write up some final notes to stick in the directory :) | ||
zengargoyle | the default is that just <<=eof>> is the same as <<=eof comment>> | 03:54 | |
Quom_ | Cool :) | ||
zengargoyle | but yeah like =begin =foo a 'directive'... just has the blockyness of =begin XXX that needs no =end XXX | 03:56 | |
yaxx_ | :m my $a = 1E⑨; | 03:58 | |
ShimmerFairy | Quom_: the table parsing is annoying (I can kinda see why you or whoever went with doing it Actions-side, since my regex is fairly code-like in some ways), but hopefully the indent style I've adopted for regexes will make it not-painful to comb through :) | 03:59 | |
yaxx_ | :m ⑨E⑨.fmt("%x").say; | ||
Zoffix | yaxx_, it's m: not :m | ||
yaxx_ | m: ⑨E⑨.fmt("%x").say; | 04:00 | |
camelia | rakudo-moar a148bf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ztSXhoT7DWTwo terms in a rowat /tmp/ztSXhoT7DW:1------> 3⑨7⏏5E⑨.fmt("%x").say; expecting any of: infix infix stopper statement end statement modi…» | ||
ShimmerFairy | m: my $a = 0x1E⑨; say $a.base(16) | ||
camelia | rakudo-moar a148bf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2eBJrLGVuRBogus postfixat /tmp/2eBJrLGVuR:1------> 3my $a = 0x1E7⏏5⑨; say $a.base(16) expecting any of: infix infix stopper postfix statement end…» | ||
ShimmerFairy | m: my $a = 1⑨; say $a | ||
camelia | rakudo-moar a148bf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nH06t7EbBlBogus postfixat /tmp/nH06t7EbBl:1------> 3my $a = 17⏏5⑨; say $a expecting any of: infix infix stopper postfix statement end sta…» | ||
ShimmerFairy | looks like whoever extended the numeric literals just allowed non-Nd type numerics for standalone stuff, which I'm OK with :) | 04:01 | |
Quom_ | The current table impl is tadzik's, from 2011, and no, I can't blame him for that | ||
zengargoyle | m: my $a = 0x1E+⑨; say $a; | ||
camelia | rakudo-moar a148bf: OUTPUT«39» | ||
zengargoyle | m: my $a = +⑨E+⑨; say $a; | 04:03 | |
camelia | rakudo-moar a148bf: OUTPUT«5===SORRY!5=== Error while compiling /tmp/osyeViaxRiTwo terms in a rowat /tmp/osyeViaxRi:1------> 3my $a = +⑨7⏏5E+⑨; say $a; expecting any of: infix infix stopper postfix statement end…» | ||
ShimmerFairy | yaxx_: only Decimal_Number type characters are allowed as part of numbers (and for hex, you can use anything marked with a true Hex_Digit property, and the natural extension of those for up to base 36) | ||
(for those who care, numbers that have a General_Category of Decimal_Number, which by definition also means a Numeric_Type of Decimal (cf. www.unicode.org/policies/stability_...erty_Value )) | 04:05 | ||
m: say Ⅱ | 04:07 | ||
camelia | rakudo-moar a148bf: OUTPUT«2» | ||
ShimmerFairy | cool, Nl works too on its own :) | ||
yaxx_ | m: my $a="zz⑨⑨aa⑨bb"; say $a.comb(/\d+/).fmt("%x") | 04:08 | |
camelia | rakudo-moar a148bf: OUTPUT«» | ||
04:09
colomon left
|
|||
ShimmerFairy | m: my $a="zz⑨⑨aa⑨bb"; say $a.comb(/<:Numeric_Type("decimal"|"digit"|"numeric")>/)».unival.fmt("%x") # unless I'm wrong, this should work... | 04:11 | |
camelia | rakudo-moar a148bf: OUTPUT«» | ||
ShimmerFairy | I really ought to make a point to see if I can fix Moar's unicode properties sometime, I'd love to see .uniprop and related working :) | ||
04:18
geraud joined
|
|||
Quom_ | m: my @a = 0,1,2; say @a[^10].perl # I'm not crazy, right? That should have 10 elems | 04:22 | |
camelia | rakudo-moar a148bf: OUTPUT«(0, 1, 2)» | ||
Quom_ | I guess we don't test for that? | 04:23 | |
ShimmerFairy | I faintly recall discussion around past-the-end stuff during the GLR stuff, but I'm not sure beyond that. | ||
04:27
yaxx_ left
|
|||
Quom_ | m: my @a; @a[0,1] = ^10; say @a | 04:28 | |
camelia | rakudo-moar a148bf: OUTPUT«[0 1]» | ||
Quom_ | m: my @a; @a[^2] = ^10; say @a | ||
camelia | rakudo-moar a148bf: OUTPUT«[]» | ||
gfldex | m: (Any ~~ *).perl.say; | 04:34 | |
camelia | ( no output ) | ||
04:36
yaxxx joined,
uruwi joined
|
|||
yaxxx | m: my @a[10]=0,1,2; say @a[^10]; | 04:36 | |
camelia | rakudo-moar a148bf: OUTPUT«(0 1 2)» | ||
MadcapJake | Zoffix: ok I will get that added in, anyone know if there is a regex class for eof? | 04:42 | |
Zoffix: I don't think the standard one had it because I started with all the rules from that highlighter, so unless something got chopped or fudged along the way, all the old stuff should still work (though not much was left untouched) | 04:43 | ||
04:48
hankache joined
|
|||
diakopter | .seen brrt | 04:49 | |
yoleaux | I saw brrt 23 Nov 2015 14:19Z in #perl6: <brrt> hi hankache | ||
04:50
yaxxx left
|
|||
hankache | good morning | 04:52 | |
dalek | c: 7509af7 | LLFourn++ | doc/Language/functions.pod: bad pasta in proto |
05:17 | |
ShimmerFairy | MadcapJake: in Perl 6 we have /$/ for end of file/string (/$$/ being end of line), not sure about P5-style however | 05:19 | |
05:20
TEttinger left,
TEttinger joined
05:28
TEttinger left
05:32
khw left
05:33
Sgeo_ joined
05:35
lab joined
05:37
pecastro_ joined,
eiro left,
ilbelkyr left,
eiro joined,
telex left,
telex joined
05:38
ilbelkyr joined
05:39
grondilu left,
uruwi left,
lizmat_ joined
05:40
Peter__R joined,
rvchangue_ joined
05:41
bitmap_ joined,
MadcapJake_ joined
05:42
pecastro left,
rvchangue left,
nadim left,
Sgeo left,
bitmap left,
zacts left,
Peter_R left,
MadcapJake left,
lizmat left,
rvchangue_ is now known as rvchangue,
bitmap_ is now known as bitmap
05:43
geraud left,
parisba_ left,
cibs left,
MilkmanDan left
05:47
noganex joined
05:49
zacts joined,
Spot___ joined,
MadcapJake_ is now known as MadcapJake
05:50
MadcapJake left
05:51
stmuk_ joined,
TimToady2 joined,
ir2ivps4__ joined,
mathw_ joined,
n0xff__ joined,
cfloare_ joined,
bonsaikitten joined,
orevdiabl joined,
obra_ joined,
masak_ joined,
pecastro joined,
advwp_ joined
05:53
ilbelkyr_ joined,
uruwi joined
05:54
havenn joined,
havenn left,
havenn joined,
luis` joined
05:55
rvchangue_ joined,
bowtie_ joined
05:56
Amnez777- joined,
rvchangue left,
ilbelkyr left,
pecastro_ left,
noganex_ left,
TimToady left,
raiph left,
jantore_ left,
Amnez777 left,
xinming left,
mathw left,
confuseAcat left,
cgfbee left,
havenwood left,
M-eternaleye left,
bowtie left,
luis left,
frew left,
ir2ivps4_ left,
revdiablo left,
cfloare left,
pierrot left,
advwp left,
stmuk left,
sjn left,
obra left,
Spot__ left,
chewie_1982 left,
Khisanth left,
xiaomiao left,
n0xff left,
masak left,
crux left,
avar left,
wtw left,
literal left,
M-Illandan left,
rvchangue_ is now known as rvchangue,
havenn is now known as havenwood
05:58
sjn joined
06:00
Spot___ is now known as Spot__
06:03
cgfbee joined
06:05
chewie_1982 joined
06:11
jantore joined
06:12
xinming joined
06:14
pierre-vigier joined
06:18
pierre-vigier left
06:20
pierre-vigier joined
|
|||
skids | m: class A { method foo { EVAL "class GLOBAL::B \{ method bar \{ self.WHAT.say } }" } }; A.foo; EVAL "B.new.bar"; | 06:22 | |
camelia | rakudo-moar a148bf: OUTPUT«(A)» | ||
skids | star: class A { method foo { EVAL "class GLOBAL::B \{ method bar \{ self.WHAT.say } }" } }; A.foo; EVAL "B.new.bar"; | ||
camelia | star-m 2015.09: OUTPUT«(B)» | ||
skids | ^^That is what broke Inline::Perl5 I believe. | ||
06:22
telex left
06:24
telex joined
06:27
M-Illandan joined
06:30
frew joined
|
|||
dalek | kudo-star-daily: 59bedd6 | coke++ | log/ (2 files): today (automated commit) |
06:30 | |
kudo/nom: 3509077 | coke++ | docs/announce/2015.12.md: don't forget the RFCs. |
06:35 | ||
kudo/nom: b7c2ea8 | coke++ | docs/announce/2015.12.md: expand a nick |
06:36 | ||
hankache | how can i get the code point from a Unicode grapheme? | 06:39 | |
is there a sub to do it? | |||
dalek | kudo/nom: c43caf8 | TimToady++ | src/core/Num.pm: treat NaN comparisons like "NaN" |
||
kudo/nom: c141b1b | TimToady++ | src/core/Complex.pm: order Complex first on .re, then .im This is just so sorts don't blow up, of course complex nubmers are "not ordered". For comparisions with other reals we assume .im is 0. |
|||
kudo/nom: d0fe88a | TimToady++ | src/core/Complex.pm: prefer cmp to <=> in Complex::cmp to handle NaN |
|||
ast: 3ce083e | TimToady++ | S (2 files): test new Num and Complex cmp consistency |
|||
06:42
TimToady2 is now known as TimToady
|
|||
[Tux] | test 50000 23.032 22.917 | 06:44 | |
test-t 50000 20.695 20.580 | |||
csv-parser 50000 28.491 28.376 | |||
[Tux] => T-DOSE | |||
TimToady | hankache: .ord gives you the base character, or you can use .ords to get them all | 06:47 | |
m: say "\r\n".ord; say "\r\n".ords | 06:48 | ||
camelia | rakudo-moar a148bf: OUTPUT«13(13 10)» | ||
TimToady | m: say ord "\r\n"; say ords "\r\n" | ||
camelia | rakudo-moar a148bf: OUTPUT«13(13 10)» | ||
TimToady | or if you really meant "subroutine"... | ||
[Coke] | b2gills: if you mean in the announce for 2015.12 you don't seem to be listed yet | 06:49 | |
yoleaux | 03:01Z <b2gills> [Coke]: I would like to be listed as "Brad Gilbert (b2gills)" or "Bradley Allen Gilbert (b2gills)" etc. because "Brad Gilbert" by itself is very non-unique. ( usually associated with a tennis player ) | ||
06:51
M-eternaleye joined
06:52
parisba_ joined
|
|||
skids files RT#126754 about the EVAL/self/Inline::Perl5 thing. | 06:55 | ||
TimToady | skids++ | 06:59 | |
m: say 1..10 cmp 1^..10 | 07:00 | ||
camelia | rakudo-moar d0fe88: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RGJolPe91MOperators '..' and 'cmp' are non-associative and require parenthesesat /tmp/RGJolPe91M:1------> 3say 1..107⏏5 cmp 1^..10 expecting any of: infix infix stopper» | ||
TimToady | m: say (1..10) cmp (1^..10) | 07:01 | |
camelia | rakudo-moar d0fe88: OUTPUT«Less» | ||
TimToady | m: say (1.1..10) cmp (1^..10) | ||
camelia | rakudo-moar d0fe88: OUTPUT«Less» | ||
TimToady | that's kinda oopsie | ||
if we think of .. and indicating intervals | |||
rather than ranges of integers | 07:02 | ||
07:03
CIAvash joined
|
|||
TimToady | m: say (1..100000000) cmp (1..100000000) | 07:04 | |
okay, that's bad too | |||
camelia | rakudo-moar d0fe88: OUTPUT«(timeout)» | ||
TimToady | we should really be pushing ranges toward interval logic, not integer sequence logic | ||
07:05
pierre-vigier left,
pierre-vigier joined
07:16
obra_ is now known as obra
07:20
cognominal joined
|
|||
skids | Well, the 1.1..10 case sets up dissonance with (1.1..10) cmp (2,3,4,5,6,7,8,9,10) | 07:27 | |
07:28
rurban joined
|
|||
TimToady is working on a patch | 07:29 | ||
skids | m: say (Less..More); say (More..Less); | ||
camelia | rakudo-moar d0fe88: OUTPUT«Order::Less..Order::MoreOrder::More..Order::Less» | ||
ShimmerFairy | TimToady: should cmp (and all the other eqv ops) be based on something more general than mathematical/lexicographic ordering, so it can be more generally applicable in things like hash key sorting? It would certainly break <=> being "just a coercive cmp", and perhaps leg as just a coercive cmp too | 07:35 | |
lizmat_ | T-Dose& | 07:37 | |
07:37
lizmat_ left
07:38
literal joined,
avar joined,
wtw joined,
confuseAcat joined,
crux joined
|
|||
TimToady | <=> and leg will stay strict ordering, just cmp needs to be generalized for sort to work | 07:39 | |
ShimmerFairy | yeah, I wouldn't want <=> on Complex numbers to seemingly reveal a previously-unknown mathematical truth :P | 07:40 | |
07:42
Khisanth joined
07:45
skids left
|
|||
dalek | ast: a217b1a | TimToady++ | S03-operators/cmp.t: test ranges with cmp |
07:45 | |
kudo/nom: 45cfb29 | TimToady++ | src/core/Range.pm: order ranges first on min, then on max Again, this is just for a consistent sorting order. |
07:46 | ||
kudo/nom: 474db4c | TimToady++ | src/core/Range.pm: also compare ranges against lists wisely |
|||
TimToady | m: say (1..100000000) cmp (1..100000000) | 07:52 | |
camelia | rakudo-moar 474db4: OUTPUT«Same» | ||
TimToady | m: say (1..100000000) cmp (1^..100000000) | ||
camelia | rakudo-moar 474db4: OUTPUT«Less» | ||
TimToady | m: say (1..100000000) cmp (1..^100000000) | ||
camelia | rakudo-moar 474db4: OUTPUT«More» | ||
timotimo | o/ | 08:05 | |
08:05
pierrot joined
08:08
hankache left,
hankache joined
08:11
darutoko joined
08:12
xfix joined
08:20
grondilu joined,
kaare_ joined
08:21
Woodi left
|
|||
hankache | m: say "\x263a"; | 08:22 | |
camelia | rakudo-moar 474db4: OUTPUT«☺» | ||
08:23
vendethiel joined
|
|||
hankache | how can I do it the other way round? | 08:24 | |
supply a grapheme and get the unicode code | |||
TimToady proposed .ord but I don't know what it is returning | |||
timotimo | m: ords("\c[SNOWMAN]") | ||
camelia | rakudo-moar 474db4: OUTPUT«WARNINGS:Useless use of "ords(\"\\c[SNOWMAN]\")" in expression "ords(\"\\c[SNOWMAN]\")" in sink context (line 1)» | ||
timotimo | m: say ords("\c[SNOWMAN]") | ||
camelia | rakudo-moar 474db4: OUTPUT«(9731)» | ||
timotimo | m: say ords("\c[SNOWMAN]").base(16) | 08:25 | |
camelia | rakudo-moar 474db4: OUTPUT«Method 'base' not found for invocant of class 'Seq' in block <unit> at /tmp/kJ9j8wx1WZ:1» | ||
timotimo | m: say ords("\c[SNOWMAN]").fmt("%x") | ||
camelia | rakudo-moar 474db4: OUTPUT«2603» | ||
timotimo | m: say "\x2603" | ||
camelia | rakudo-moar 474db4: OUTPUT«☃» | ||
hankache | m: say ords("☃"); | ||
camelia | rakudo-moar 474db4: OUTPUT«(9731)» | ||
hankache | say "\x9731"; | 08:26 | |
m: say "\x9731"; | |||
camelia | rakudo-moar 474db4: OUTPUT«霱» | ||
timotimo | string also has coercers to the Uni type for different kinds of normalization | ||
hankache | huh? | ||
timotimo | m: say "foo".^methods | ||
camelia | rakudo-moar 474db4: OUTPUT«(BUILD Int Num chomp chop pred succ simplematch match ords samecase samespace trim-leading trim-trailing trim encode NFC NFD NFKC NFKD wordcase trans indent codes chars uc lc tc fc tclc flip ord WHY WHICH Bool Str Stringy DUMP ACCEPTS Numeric gist perl com…» | ||
timotimo | m: say "á".NKFC.perl | 08:27 | |
camelia | rakudo-moar 474db4: OUTPUT«Method 'NKFC' not found for invocant of class 'Str' in block <unit> at /tmp/wpi8LD7vFS:1» | ||
timotimo | m: say "á".NFKC.perl | ||
camelia | rakudo-moar 474db4: OUTPUT«Uni.new(0x00e1).NFKC» | ||
timotimo | i don't have good examples for combining characters on hand, though | ||
ShimmerFairy | hankache: .ord outputs the codepoint as a number, so it'll print as decimal unless you format it otherwise :) | ||
timotimo | m: say "á".NFD.perl | 08:28 | |
camelia | rakudo-moar 474db4: OUTPUT«Uni.new(0x0061, 0x0301).NFD» | ||
ShimmerFairy | m: say "$̈".ord | ||
camelia | rakudo-moar 474db4: OUTPUT«36» | ||
ShimmerFairy | m: say "$̈".ords | ||
camelia | rakudo-moar 474db4: OUTPUT«(36 776)» | ||
ShimmerFairy | timotimo: ^^^ that's what I usually do for a quick example, put an umlaut on a symbol :P | ||
timotimo | heh | ||
08:29
masak_ is now known as masak
|
|||
timotimo | i don't remember by heart which key on neo2 gives me umlaut-combiner | 08:29 | |
ShimmerFairy | m: say "\r\n".ord; say "\r\n".ords; # and of course, always this grapheme :) | ||
camelia | rakudo-moar 474db4: OUTPUT«13(13 10)» | ||
timotimo | aye | ||
hankache | feeling lost :( | 08:30 | |
timotimo | what exactly troubles you? | ||
08:30
Amnez777- left,
Amnez777- joined,
Amnez777- is now known as Amnez777
|
|||
hankache | let's start fresh | 08:30 | |
masak | morning, #perl6 | ||
timotimo | a fresh start and a masak, looks good to me! | 08:31 | |
hankache | you have 2 ways to output unicode right? | ||
hi masak | |||
vendethiel | o/ | ||
masak | a helpful passer-by mentioned to me on privmsg that colabti.org/irclogger/irclogger_logs/perl6 is still logging this channel | ||
hankache | \x and grapheme | ||
\c and code point name | |||
timotimo | there's also \c[name, name, name] | ||
hankache | sorry \x and code point | ||
timotimo | what do you mean by "and grapheme"? | ||
masak | and that it's both freenode policy and colabti's policy to mention in the /topic when the the channel is being logged by something | ||
timotimo | yeah | ||
ah, yes, putting it in the topic would be good | 08:32 | ||
we do have the other irclog in the topic already | |||
hm. does the other bot respect "[off]"? | |||
08:33
abaugher left
|
|||
timotimo | it does not | 08:33 | |
hankache | m: say "\x270C" | ||
camelia | rakudo-moar 474db4: OUTPUT«✌» | ||
hankache | so this is one way of doing it | ||
08:33
abaugher joined
|
|||
timotimo | oh, would i have to start the line with [off] so that it triggers? | 08:33 | |
looks to be the case, and both bots seem to do that | 08:35 | ||
hankache | m: say "\c[VICTORY HAND]" | 08:36 | |
camelia | rakudo-moar 474db4: OUTPUT«✌» | ||
hankache | and this is the other way | ||
timotimo | there's lots more ways, of course | 08:37 | |
m: Uni.new(36, 776).perl.say | |||
camelia | rakudo-moar 474db4: OUTPUT«Uni.new(0x0024, 0x0308)» | ||
timotimo | m: Uni.new(36, 776).say | ||
camelia | rakudo-moar 474db4: OUTPUT«Uni:0x<0024 0308>» | ||
timotimo | m: Uni.new(36, 776).encode("utf8").say | ||
camelia | rakudo-moar 474db4: OUTPUT«Method 'encode' not found for invocant of class 'Uni' in block <unit> at /tmp/VsniDMmrkr:1» | ||
timotimo | oh? | ||
hankache | we have a Uni class? | ||
timotimo | m: say Uni.^methods | ||
camelia | rakudo-moar 474db4: OUTPUT«(new list Uni NFC NFD NFKC NFKD codes elems Numeric Int of Str Bool Method+{<anon|57965632>}.new Method+{<anon|57965632>}.new gist perl)» | ||
timotimo | Uni is what powers NFC, NFD, NFKC and NFKD methods of Str | 08:38 | |
m: Uni.new(36, 776).Str.say | |||
camelia | rakudo-moar 474db4: OUTPUT«$̈» | ||
timotimo | ah, so just .Str; that makes a lot of sense | ||
hankache | i can't find it in doc.perl6.org/type.html | ||
timotimo | twitter.com/JoelBesada/status/6703...5655293952 <3 | ||
you're right. it's missing | 08:39 | ||
ShimmerFairy | timotimo: despite appearances, I designed Uni and its derivatives as strings :P | ||
(aka: I'm not the one who used the VMArray repr on them :P) | |||
timotimo | m: say KeyReducer; # isn't this dead? | 08:40 | |
camelia | rakudo-moar 474db4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8C6roHQSa0Undeclared name: KeyReducer used at line 1» | ||
dalek | c: a92e226 | timo++ | WANTED: documentation for Uni is wanted |
||
ShimmerFairy | KeyReducer huh? | 08:42 | |
timotimo | it's in the WANTED file still, but i think it's been killed some time ago | 08:43 | |
08:43
pierre-vigier left
08:44
MilkmanDan joined
08:46
cibs joined
08:49
pierre-vigier joined
08:50
advwp_ left,
advwp_ joined
08:51
M-Illandan left,
M-Illandan joined,
M-eternaleye left,
M-eternaleye joined,
parisba_ left,
parisba_ joined
08:55
ilbelkyr_ is now known as ilbelkyr
08:56
RabidGravy joined
|
|||
RabidGravy | marnin | 09:01 | |
timotimo | hey rarbirdgrarvy | 09:02 | |
09:05
molaf joined
|
|||
RabidGravy | :-O | 09:05 | |
nine_ | Good coffee, #perl6! | 09:18 | |
09:20
rindolf joined
|
|||
Humbedooh | mmm coffee | 09:21 | |
masak | good tieguanyin tea, nine_ :) | 09:29 | |
I keep wanting to boost 007 in here, because some aspects of it are getting quite cool, macro-wise and quasi-wise | 09:35 | ||
hankache | what is the difference between NFC,NFD? | ||
masak | but I'll put it off for a bit, until we've come a little bit further with 007 :) | ||
anyway, I want to acknowledge the implementation help of sergot++ and vendethiel++, and the discussion help (on #6macros) of FROGGS++ and pdcawley++ | |||
timotimo | hankache: that's things the unicode consortium came up with and defined/defines | 09:38 | |
NFC is composed, NFD is decomposed | |||
hankache | thanks timotimo | ||
timotimo | so if you have a character like ä, which is a with umlauts if your terminal doesn't show it well, there's actually a unicode codepoint for "a with umlauts", but there's also one for "a without umlauts" and the "composing umlaut" codepoint | 09:39 | |
09:41
Actualeyes joined
|
|||
hankache | timotimo: ah ok so you compose it either way | 09:42 | |
\x (a with umlaut) | |||
or \x (a) \x (umlaut) | |||
timotimo | m: say "ä".NFD; say "ä".NFC | ||
camelia | rakudo-moar 474db4: OUTPUT«NFD:0x<0061 0308>NFC:0x<00e4>» | ||
timotimo | that's right | ||
m: say uniname(0x61); say uniname(0x308); say uniname(0xe4) | 09:43 | ||
camelia | rakudo-moar 474db4: OUTPUT«LATIN SMALL LETTER ACOMBINING DIAERESISLATIN SMALL LETTER A WITH DIAERESIS» | ||
09:43
spider-mario joined
|
|||
hankache | m: say "thank you timotimo " ~ "\c[VICTORY HAND]"; | 09:44 | |
camelia | rakudo-moar 474db4: OUTPUT«thank you timotimo ✌» | ||
timotimo | ♥ | ||
09:47
pierre-vigier left
09:54
_mg_ joined
10:02
vendethiel- joined
10:03
vtd joined
10:04
vendethiel left,
Axord left
10:12
Axord joined
10:18
hankache left
|
|||
bartolin_ | it looks like there was a new NullPointerException on JVM after the recent changes to .gistseen and .perlseen: | 10:20 | |
$ ./perl6-j -e 'say my @a' | |||
java.lang.NullPointerException in block <unit> at -e:1 | |||
10:21
Begi joined
|
|||
bartolin_ | assuming that 'if sems<$WHICH>' is equivalent to 'if nqp::atkey(sems,$WHICH)' the following change seems to avoid the NPE: | 10:22 | |
gist.github.com/usev6/cc463b2166e1107f06bd | |||
timotimo | it's a bit different | 10:23 | |
can you try nqp::existskey(...) && nqp::atkey(...)? | |||
or is this just about existskey and the actual value doesn't matter? | |||
bartolin_ | that's how I understand it (only testing whether key exists) | 10:24 | |
so I could try with nqp::existskey | |||
timotimo | that'd be better | ||
i know in nqp we always prefix atkey with existskey if there's uncertainty | 10:25 | ||
10:26
Begi2 joined
|
|||
bartolin_ | thanks, I'll try and report my findings later | 10:26 | |
10:28
Begi left
10:30
vtd left
10:38
Woodi joined
|
|||
eiro | hello | 10:50 | |
timotimo | hello eiro | 10:51 | |
eiro | vendethiel-, arre you on the french perl@ list ? | ||
vendethiel- | eiro: ? | ||
eiro | listes.mongueurs.net/mailman/listinfo < vendethiel- | 10:52 | |
vendethiel- | not interested in french stuff, sorry :) | ||
eiro | i'm asking perl6 questions there. | ||
vendethiel- | i don't use mailing lists | ||
eiro | vendethiel-, :( not interested by perl6 promotion ? | 10:53 | |
no mailing list ? | |||
oh my ... | |||
vendethiel- | not interested by 1) mailing lists 2) french | ||
eiro | ok ... | ||
vendethiel-, is irc the only way to communicate with the community ? | 10:55 | ||
dalek | Heuristic branch merge: pushed 41 commits to roast/curli by niner | ||
ast/curli: f13d3c5 | (Stefan Seifert)++ | / (6 files): Adapt S10-packages/precompilation.t to new CompUnit architecture |
10:56 | ||
Heuristic branch merge: pushed 79 commits to rakudo/curli by niner | |||
eiro | ( sounds weird to me and not so convenient but ingy does it with #pegex ) | ||
vendethiel- | eiro: there's an (english) mailing list (several, even) AFAIK, there's also a subreddit, comments on whatever article you're reading, etc | ||
eiro | vendethiel-, ok then ... it's just about french... not about mailing lists | 10:57 | |
10:58
_mg_ left
|
|||
_sri | kernighan thinks perl6 will fail :o www.youtube.com/watch?v=Sg4U4r_AgJ...p;t=57m06s | 11:08 | |
timotimo | yeah, saw that :( | ||
11:08
br4sux joined
|
|||
_sri | and this is where the name perl will actually hurt perl6 | 11:12 | |
11:12
kjs_ joined,
frobnicator joined
11:21
Skarsnik joined
11:27
c_ joined,
c_ is now known as Guest68515
11:30
br4sux left
11:32
Guest68515 left,
pmurias joined
|
|||
jdv79 | well, that is unfortunate. but his argument seems a bit baseless too. too late for what? | 11:42 | |
tadzik | too late. Everything that needed to be invented has already been invented | 11:43 | |
the evolution has stopped | |||
jdv79 | maybe in his world | ||
11:48
colomon joined,
RabidGravy left
|
|||
Woodi | Robocop still not invented ;) | 11:49 | |
11:50
_mg_ joined
|
|||
Zoffix | Yeah, his argument seems misinformed. | 11:54 | |
Zoffix has no idea who that old dude is, so they don't care :P | 11:55 | ||
"X-rays will prove to be a hoax"—Lord Kelvin | 11:58 | ||
nine_ | Well considering the screwup that Go is, I don't put that much weight into his judgement | 12:01 | |
pmurias | jdv79: he claimed to Perl 6 will be too late to save Perl | 12:04 | |
nine_ | Because "Perl has stopped evolving". Clearly an expert's assertion. | 12:05 | |
Zoffix | :) | 12:06 | |
Woodi | actually Perl5 users prefer not-evolving :) backward compatibility holds it in place. and possibly this is (not evolving tto much) why Perl5 is alive :) | 12:08 | |
pmurias | nine_: is Go really a bad fit for what google needs? it's not awesome or "cool" but it seems to fit it's intended role | 12:10 | |
ShimmerFairy | nine: so, IIUC the guy's argument is "Perl has stopped evolving, and this evolution in the language family proves my point!" ? :P | ||
Zoffix | Woodi, but that's false. Perl 5 evolved quite a bit with new and shiny libs and a couple of core features. | ||
Woodi | Zoffix: yes, a bit :) | 12:11 | |
nine_ | pmurias: what role is that? | 12:12 | |
grondilu | so we have @array.kv, which returns @array Z=> 0..*. What about @array.vk that would return 0..* Z=> @array ? | ||
Zoffix | grondilu, what's the use case? | 12:13 | |
grondilu | I thought about it when looking at rosettacode.org/wiki/Category:Perl_6 | ||
sorry | |||
nine_ | pmurias: from what I've seen, Go is excellent at writing HTTP proxies. I'm not sure for what else... | ||
grondilu | I meant rosettacode.org/wiki/Bitcoin/addres...ion#Perl_6 | ||
Woodi | and when Google rewrite android in Go ? :) | ||
grondilu | basically the use case is arbitrary alphabet to numeric. | 12:14 | |
pmurias | nine_: a language with good/decent performance which restricts the amount of crazy stuff people can do | ||
Zoffix | m: my @a = 'a'..'f'; say @a.kv.pairs | ||
camelia | rakudo-moar 474db4: OUTPUT«(0 => 0 1 => a 2 => 1 3 => b 4 => 2 5 => c 6 => 3 7 => d 8 => 4 9 => e 10 => 5 11 => f)» | ||
Zoffix | m: my @a = 'a'..'f'; say @a.kv.pairs.invert | ||
camelia | rakudo-moar 474db4: OUTPUT«(0 => 0 a => 1 1 => 2 b => 3 2 => 4 c => 5 3 => 6 d => 7 4 => 8 e => 9 5 => 10 f => 11)» | ||
Zoffix | grondilu, ^ that probably does the trick. | ||
Woodi | pmurias: that's a bit like Perl6, not a new niche... | 12:15 | |
Zoffix | IMO featuritis is a thing to be avoided. Anything new you add needs to be known by all programmers who later read that code :P | ||
pmurias | Woodi: that's opposite to current Perl6 | ||
Woodi | pmurias: in what sense ? | 12:16 | |
pmurias | Perl 6 is oriented towards maximum power for the programmer and currently doesn't offer decent performance | ||
grondilu | m: say <a b c>.pairs | ||
camelia | rakudo-moar 474db4: OUTPUT«(0 => a 1 => b 2 => c)» | ||
nine_ | pmurias: I guess I just prefer languages that empower people instead of restricting them. There are people who see it different, which is ok. I just don't see them as qualified to judge Perl. Just as I'm not qualified to judge Go. | 12:17 | |
Woodi | pmurias: but still both languages are new ones in crowded place... | ||
grondilu | .invert is non-intuitive imo. | ||
ShimmerFairy | m: my %h = 1,9,2,3; say %h; say %h.invert | ||
camelia | rakudo-moar 474db4: OUTPUT«1 => 9, 2 => 3(9 => 1 3 => 2)» | ||
ShimmerFairy | grondilu: how so? ^^ | ||
jnthn | afternoon, #perl6 | 12:18 | |
grondilu | for one, it's suppose to act only on a list of pairs. I would have expected it to be a pair method actually. | ||
so we would have @a.pairs».invert | |||
Woodi | things are very depended on "support". is Ada "alive" or evolving ? not much but military ppls will support it for many years in the future... | ||
yo jnthn ! | 12:19 | ||
grondilu | m: say (foo => "bar").invert | ||
camelia | rakudo-moar 474db4: OUTPUT«bar => foo» | ||
nine_ | Hi jnthn! | ||
jnthn: seems like my ephemeral spec test failures really are not restricted to the curli branch. So I'm just working on fixing the precompilation tests. | 12:20 | ||
grondilu | m: say <a b c>.pairup | ||
camelia | rakudo-moar 474db4: OUTPUT«===SORRY!===Odd number of elements found for .pairup()» | ||
grondilu | meh | 12:21 | |
jnthn | nine_: OK :) | ||
pmurias | nine_: I think there is a distinction between the amount of fun you have while programming in different languages, and the requirements Google had for Go. They would rather minimalize TIMTOWTDI and language modifiability to keep stuff simple to be able to easily transfer people in their giant codebase | 12:24 | |
12:24
kid51 joined,
lab is now known as nadim,
pierre-vigier joined
|
|||
Zoffix | m: sy ('Koalitee', 'Koality').pick | 12:26 | |
camelia | rakudo-moar 474db4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IZpOUfnJQIUndeclared routine: sy used at line 1. Did you mean 'so'?» | ||
Zoffix | m: say ('Koalitee', 'Koality').pick | ||
camelia | rakudo-moar 474db4: OUTPUT«Koalitee» | ||
12:26
kid51 left
12:27
perlawhirl joined
|
|||
nine_ | @all: please, in the next life let's not choose a relase date that's in the month with the most social engagements | 12:28 | |
nadim | Hi, can one point me at what P6 modules should look like, put where, ... I have looked in the docs but didn't find anything relevant. | 12:29 | |
Zoffix | nadim, "put where", see the readme of github.com/perl6/ecosystem/ | ||
Skarsnik | It's in the modules doc x) | ||
Zoffix | nadim, as for examples, check out modules.perl6.org/ | ||
jnthn | doc.perl6.org/language/modules#Dist...ng_Modules | ||
perlawhirl | hi perlers | 12:30 | |
Zoffix | \o | ||
perlawhirl | is there an ascii modifier for regex... ie something like... /\d/:ascii | ||
nadim | thanks, let's see if i can get a first module going to learn a bit about p6 | ||
perlawhirl | that does not match unicode | ||
or does :P5 do that? | 12:31 | ||
Zoffix | perlawhirl, uses Perl 5's regex rules | ||
perlawhirl | kk | ||
just checkin | |||
Zoffix | (it's not 100% the same, like character classes don't work, last time I checked) | ||
dalek | ast/curli: 974205d | (Stefan Seifert)++ | packages/Test/Compile.pm: Adapt Test::Compile to new CompUnit architecture |
||
_sri | nine_: calling Go a screwup is crazy, it's a mainstream success | 12:33 | |
Zoffix | What's "success"? | 12:34 | |
_sri | it has something perl6 does not, which is a niche | ||
jdv79 | so is java. maybe not successfully fun to work with | ||
i know java is not fun at all | |||
idk aboutGo | |||
nine_ | _sri: really? Considering it has all of Google's marketing power behind it, I dare say it's rather disappointing. People seem much more interested in its direct competitor Rust. | 12:35 | |
_sri | google is not even marketing it, they just made it because they need it | ||
Zoffix | That's all they have to do to market it, TBH | ||
_sri | and now you have big projects like docker and etcd written in Go | 12:36 | |
bjz | Yeah, as far as I can see Google hasn't really been pushing it that much - more of a snowball effect | ||
nine_ | It's the language that Google develops and uses that's the designated successor of C by C's inventors. If that's not marketing, I don't know. | 12:37 | |
_sri | and they didn't even call it C2! | 12:38 | |
bjz | nine_: maybe big talk by its creators - but it doesn't seem like a big push by google itself, unlike how Java was marketed | ||
jdv79 | if google abandoned it would it thrive? | ||
pmurias | nine_: rust is oriented towards being the C++ successor | 12:39 | |
bjz | jdv79: I would say so, it has the momentum (unfortunately) | ||
dalek | c: 2fe4884 | (Zoffix Znet)++ | doc/Language/modules.pod: Include mandatory "perl" key in the sample META file shown |
||
bjz | jdv79 : also depends on if the creators still work on it | ||
Woodi | request: let's design here a the fastest (in moust cases) language and see what will happens ;) | ||
_sri | just take a look at the language google actually tried to push... Dart got more talks at goole i/o than anything else, and was a total failure | 12:40 | |
+g | |||
Woodi | s/<what I said>/<proper Englsh>/g | ||
bjz | Go seems to be more driven by the creators of the language - not google itself. | ||
_sri | yea | ||
gophercon is not a google event | 12:41 | ||
jdv79 | are there any specific reasons there is no Inline::Ruby? | 12:42 | |
jnthn | jdv79: Is "nobody implemented it yet" specific? :) | ||
jdv79 | more or less | ||
nine_ | I know I didn't write Inline::Ruby because I just don't know any Ruby ;) | 12:43 | |
jnthn | .oO( Who wants to write Inline::Go? :P ) |
12:44 | |
jdv79 | just seems like a hole in the things p6 might want to borg | ||
tadzik | _sri: well, sending one of their Go engineers to roam from country to country to talk about it on meetups is hardly “not even marketing it” | 12:45 | |
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: ed82d68 | (Zoffix Znet)++ | / (14 files): Rename Kwalitee to Koalitee (diakopter++) Reasons for change: (1) We have panda, so another bear-related thing fits in. (2) Perl 5 has Kwalitee and ours might be slightly different, and having same name might confuse some. (3) We could have a cute badge/logo for it! (4) I finally found who originally suggested the name and can blame them if people don"t like it |
12:46 | |
Zoffix | jdv79, well volunteered! :) | 12:47 | |
Skarsnik | lol | ||
tadzik | hahahah | 12:48 | |
I love the name | |||
Woodi | or maybe let's design ARM cpu (open hardware...) to include some high languages ? ARM Perl6 for example :) | ||
Zoffix | :) | ||
Woodi | *high level languages | ||
with microcode updates for bugfixes... | 12:49 | ||
12:49
domidumont joined
|
|||
jnthn | I think I can bear that name... :) | 12:50 | |
Zoffix | :D | ||
12:54
domidumont left
12:55
domidumont joined
|
|||
bartolin_ | timotimo: using 'if nqp::existskey(..) && nqp::atkey(...) { ... }' fixes the NPE | 12:58 | |
I created a PR for rakudo (598) | |||
Woodi | btw. just replaced script I use for some time with simple spreadsheet (table with simple formulas) in emacs... so looks like thin layer over arrays changes a lot <- idea for module... | 12:59 | |
13:06
TEttinger joined
|
|||
dalek | ast: 5d8a3e2 | jnthn++ | S12-class/inheritance.t: Test for RT #125689. |
13:07 | |
ast: 8ab5d71 | jnthn++ | S32-io/socket-recv-vs-read.t: Add missing plan. |
|||
kudo/nom: d89fb70 | jnthn++ | src/Perl6/World.nqp: Restructure code to avoid need for a hack. |
13:08 | ||
13:08
pierre-vigier left
|
|||
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: f9dd08d | (Zoffix Znet)++ | Build.PL: Add all new prereqs |
13:12 | |
13:13
_mg_ left,
CIAvash left,
isBEKaml joined
|
|||
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 7bd0069 | (Zoffix Znet)++ | Build.PL: Fix incorrect prereq version |
13:19 | |
kudo/nom: 6a45fec | jnthn++ | src/core/Mu.pm: Tweak attribute initializer assignment semantics. Normal assignment, post-GLR, is like this: my @a = [1,2,3]; # 3 elems my @a = $[1,2,3]; # 1 elems This patch fixes: (class A { has @.x }).new(x => $[1,2,3]).elems To given 1, not 3 as it did before, by removing a decont that worked around some bug we seem to no longer have. |
13:24 | ||
ast: e7cf132 | jnthn++ | S12-attributes/instance.t: Test for RT #123757, correct a wrong test. These ensure that assignment of attribute initializing values passed to the constructor matches assignment semantics of ordinary variables. |
13:28 | ||
13:30
lizmat joined
|
|||
Skarsnik | m: my $a = 4; my $b = do given $a {5 when 4; 6 when 5 }; say $b | 13:30 | |
camelia | rakudo-moar 474db4: OUTPUT«()» | ||
Skarsnik | hm, why does this notation does not work comparing to when 4 {5} when 5 {6}? | ||
masak | anyone mind if I add colabti to the /topic ? | 13:31 | |
jnthn | Skarsnik: I don't think the postfix form of when has the control exception-y behavior. | ||
13:34
ChanServ sets mode: +o masak
|
|||
masak | »ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! | ||
ChanServ sets mode: -o masak
13:35
lizmat_ joined,
lizmat left,
lizmat_ is now known as lizmat
|
|||
jnthn | OK, that was two more xmas RTs down. Easy ones because Saturday. :) | 13:35 | |
lizmat waves from T-Dose | |||
jnthn | o/ lizmat | ||
masak | \o lizmat | 13:36 | |
lizmat | jnthn masak o/ | ||
jnthn: I came upto the basic File I/O in the allotted time | |||
about 20 people attending, no exercises though :-) | |||
jnthn | lizmat: nice :) | 13:37 | |
Hope people foudn it interesting. :) | |||
*found | |||
lizmat | only a few went away during the talk :-) but they were organizers needing to organizing chores :-) | ||
*to do | |||
jnthn: what was the encoding you made to allow for binary data again ? | 13:40 | ||
looking at making Text::CSV do binary parsing, so you could have JPEGs in your CSV file (yes, people do that!) | |||
Zoffix | Crazy! :) | 13:41 | |
jnthn | People do WHAT?! | 13:42 | |
utf8-c8 | |||
lizmat | yeah, people do that | ||
jnthn | :) | ||
lizmat | they basically do a SQL query on a table with JPEG's in them, and dump them to CSV | ||
jnthn is surprised by little any more :) | |||
(In terms of "things that happen in software") | 13:43 | ||
masak | I think if I considered doing that, I'd quite naturally base64-encode the JPEG or something | ||
jnthn | m: say 25 / (2 + 24) | ||
camelia | rakudo-moar 6a45fe: OUTPUT«0.961538» | ||
masak | mostly it feels really weird to both talk about text (which naturally is in some encoding) and binary together in the same stream | ||
jnthn | Woo, less than one xmas RT per day. At this rate I'll be able to have a day off :P | ||
lizmat | jnthn++ | 13:44 | |
masak | jnthn++ # unless someone finds more xmas RTs :P | ||
jnthn | /o\ | ||
lunch :) | |||
moritz | has news.ycombinator.com/item?id=10637789 been mentioned here? | ||
it's currently the second spot on the hackernews front page | 13:45 | ||
masak likes the first comment | |||
...does Ruby suffer from a GIL of some kind? | |||
(also, what makes Perl 6 more mainstream than Go and Erlang?) :) | 13:46 | ||
13:52
xpen joined
|
|||
Zoffix | It's nice to see a generally positive feedback on that page. | 13:52 | |
13:52
pierre-vigier joined
|
|||
pmurias | masak: I wouldn't call Perl 6 more mainstream than Go and Erlang | 13:53 | |
moritz | hence the smiley, I guess | 13:55 | |
13:56
lucasb joined,
vgc7 joined,
zacts left
|
|||
vgc7 | any idea why @animals.elems would return just 1 for the elements in an array, when I created the array with three elements? | 13:59 | |
14:00
zacts joined
|
|||
Zoffix | m: my @animals = 1..3; say @animals.elems | 14:00 | |
camelia | rakudo-moar 6a45fe: OUTPUT«3» | ||
Zoffix | vgc7, how did you create that array? | ||
vgc7 | my @test2 = ['ok', 'ok1', 'ok2', 'ok3']; | ||
Zoffix | vgc7, well, that contains one item | 14:01 | |
lucasb | m: my @test2 = ['ok', 'ok1', 'ok2', 'ok3']; say @test2.elems | ||
camelia | rakudo-moar 6a45fe: OUTPUT«4» | ||
Zoffix | Oh doesn't | ||
lucasb | :) | ||
Zoffix is still confused about the whole container business | |||
m: my @test2 = ['ok', 'ok1', 'ok2', 'ok3'], 42; say @test2.elems; | 14:02 | ||
camelia | rakudo-moar 6a45fe: OUTPUT«2» | ||
14:02
pierre-vigier left
|
|||
vgc7 | ok, got it. | 14:02 | |
Zoffix | vgc7, what was the problem? | ||
Skarsnik | hm [] is not supposed to be used for ref? x) | 14:03 | |
vgc7 | my @test3 = 50, 52, 54; say @test3.elems; | ||
i get three now so I was using an array container before | 14:04 | ||
which returned just one | |||
lizmat | m: Buf.new(0xFE).decode("utf8-c8") # jnthn might find this interesting | ||
camelia | rakudo-moar 6a45fe: OUTPUT«(signal SEGV)» | ||
dalek | ast: c5385b3 | usev6++ | S32-io/spurt.t: Unfudge tests for rakudo.jvm |
||
14:06
vgc7 left
|
|||
Skarsnik | pretty annoying to get Unhandled exception: Cannot unbox a type object | 14:06 | |
when require fail x) | |||
jnthn | m: my @arr = [1,2,3]; say @arr.elems | 14:07 | |
camelia | rakudo-moar 6a45fe: OUTPUT«3» | ||
jnthn | m: my @arr = $[1,2,3]; say @arr.elems | ||
camelia | rakudo-moar 6a45fe: OUTPUT«1» | ||
jnthn | The $ there forces treatment of it as a single item | 14:08 | |
lizmat: Uh, yes...wtf... | |||
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 775c5d5 | (Zoffix Znet)++ | Build.PL: Add missing prereqs |
||
jnthn | lizmat: Please RT it | ||
lizmat | m: my $s = Buf.new(ord("A"),0xFE).decode("utf8-c8"); say $s.chars; say $s.codes; say $s.ords # jnthn, perhaps related | ||
camelia | rakudo-moar 6a45fe: OUTPUT«25(65 1114109 120 70 69)» | ||
jnthn | That's what I'd expect | 14:09 | |
You have to encode with utf8-c8 again to get the original bytes back | |||
perlawhirl | m: given True, False { when True, False { say "Why doesn't this work?" } } | ||
camelia | ( no output ) | ||
jnthn | m: say Buf.new(ord("A"),0xFE).decode("utf8-c8").encode("utf8") | 14:10 | |
camelia | rakudo-moar 6a45fe: OUTPUT«utf8:0x<41 f4 8f bf bd 78 46 45>» | ||
jnthn | oops | ||
oh no, it's what I wanted but not quite :) | |||
m: say Buf.new(ord("A"),0xFE).decode("utf8-c8") | |||
camelia | rakudo-moar 6a45fe: OUTPUT«AxFE» | ||
jnthn | The synthetic consists of �, which is a private use character, followed by x to indicate what follows is hex, and then a hex representation of the octet. | 14:11 | |
m: say False ~~ False; | 14:12 | ||
camelia | rakudo-moar 6a45fe: OUTPUT«Potential difficulties: Smartmatch against False always fails; if you mean to test the topic for truthiness, use :!so or *.not or !* instead at /tmp/TMGyM04RHh:1 ------> 3say False ~~7⏏5 False;FalseFalse» | ||
jnthn | perlawhirl: It's a case of ^^ | ||
14:13
balazs joined
|
|||
perlawhirl | ahh... can probably work around it by stringifying my bools... right? will see how i go | 14:13 | |
masak | helpful passerby who is privmsg'ing me is suggesting we get rid of the colabti logs. (for reasons having to do with more easily conveying to visitors what's being logged, where) | 14:15 | |
balazs | Hey, I'm getting "rlwrap: error: My terminal reports width=0 (is it emacs?) I can't handle this, sorry!" when trying to do "docker run -it rakudo-star". Regular terminal, `tput cols` reports 117 | ||
lucasb | should 'when True {...}' and 'when False {...}' give the same 'Potential difficulties' message? | 14:16 | |
14:19
BenGoldberg joined
|
|||
jnthn | m: when True { } | 14:19 | |
camelia | ( no output ) | ||
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 29443e1 | (Zoffix Znet)++ | / (2 files): Do not use timezone sensitive time |
||
chansen_ | jnthn: Are you familiar with UTF-8b? Instead of mapping Ill-formed UTF-8 octets to synthetics they are mapped to surrogates DC80..DCFF and caught if encoded with a UTF-8 encoder | 14:21 | |
web.archive.org/web/20150924233213/...00080.html | |||
www.python.org/dev/peps/pep-0383/ | |||
jnthn | chansen_: Yes; if we'd not had the opportunity to do it with NFG synthetics that would have been a good solution also. | 14:22 | |
lizmat | jnthn: #126756 | 14:24 | |
jnthn | lizmat: Thanks | ||
lizmat | working with [Tux] on creating a better test case | 14:25 | |
so far it looks like it segfaults if the first char is a synthetic | |||
now fuzzing on it some more :-) | |||
jnthn | :) | 14:26 | |
I'll probably just shove it thorugh valgrind and it'll tell me what I did stupid :) | |||
pmurias | masak: one interesting observation is that javascript webworkers seem to over very similiar power to parrot threads | 14:27 | |
Zoffix | .tell hankache semicolons actually not needed after if()s {}{} here: perl6intro.com/#_if and this can use a better example of a statement needing a semicolon: perl6intro.com/#_syntax_overview | 14:29 | |
yoleaux | Zoffix: I'll pass your message to hankache. | ||
masak | pmurias: that might be the shortest and clearest description of Parrot threads I've ever heard. | ||
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 5ca64ad | (Zoffix Znet)++ | t/02-db-builder/03-dist-source-errors.t: Use a better error check for JSON malparsing test; message is different depending on module versions |
14:33 | |
geekosaur | balazs, docker probably can't see real terminal size; consider using stty or exporting LINES and COLUMNS | 14:34 | |
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 65e8ebb | (Zoffix Znet)++ | t/02-db-builder/03-dist-source-errors.t: Fix JSON malparse test |
14:35 | |
balazs | geekosaur, thanks. Only mentioned it since that's the way perl6intro.com/ says to try it. The docker image works is you just do "docker run -it rakudo-star bash", but newbs might get discouraged. | 14:36 | |
geekosaur | I suspect there's configuration somewhere | ||
14:37
[TuxCM] joined
|
|||
[TuxCM] | gist.github.com/anonymous/3904b73804ca3ed95a36 | 14:37 | |
geekosaur | it may work as expected some places but not others, depending on how much isolation is configured by default | ||
lizmat | jnthn: gist.github.com/anonymous/3904b73804ca3ed95a36 is the fuzzing version of #126756 | 14:39 | |
balazs | fwiw COLUMNS is set even without passing it in | 14:40 | |
14:41
BenGoldberg left
|
|||
masak | pmurias: but it's also a bit damning, since web workers are explicitly not threads. they're shared-nothing environments. | 14:41 | |
14:44
xpen left
14:45
AlexDaniel joined
|
|||
jnthn | lizmat: Curious place to segv... | 14:46 | |
walk & | |||
14:47
user joined,
user is now known as Guest50480
|
|||
dalek | ast: 311b07e | usev6++ | S12-class/attributes.t: Add tests for RT #115310 |
14:48 | |
14:50
[TuxCM] left
14:51
TEttinger left
|
|||
masak .oO( "don't judge me for where I choose to segv!" ) :P | 14:51 | ||
pmurias | masak: parrot threads fake the sharing by translating assignment to message passing | 14:52 | |
masak: I think I could implement parrot-like threads in nqp-js fairly easily | 14:53 | ||
14:54
GraveLlama joined
|
|||
pmurias | although the continuations I'm working on are much higher priority | 14:55 | |
masak | *nod* | ||
GraveLlama | can you learn more about programming but source code | 14:56 | |
14:56
GraveLlama left
14:57
kjs_ left
14:59
Guest50480 left
|
|||
Zoffix | *phew* All tests successful on the server | 15:01 | |
88 commits and the only change for the end user is "Kwalitee" was renamed to "Koality" ^_^ | 15:03 | ||
Skarsnik | xD | 15:04 | |
15:05
hankache joined
15:06
RabidGravy joined
15:07
colomon left
|
|||
masak | meh, koalitycode.com's certificate expired 113 days ago. | 15:08 | |
hankache | ohai | ||
yoleaux | 14:29Z <Zoffix> hankache: semicolons actually not needed after if()s {}{} here: perl6intro.com/#_if and this can use a better example of a statement needing a semicolon: perl6intro.com/#_syntax_overview | ||
15:08
ponzi joined
|
|||
Zoffix | hankache, your perl6 intro is trending on Hacker News :) #2 spot last time I checked | 15:08 | |
(#4 spot now) | 15:09 | ||
moritz | #4 now | ||
hankache | hi Zoffix | ||
Zoffix | \o | ||
hankache | hi moritz | ||
moritz | \o hankache | ||
masak | hi hankache | 15:10 | |
hankache | Good news, I hope we can convert more people to Perl | ||
Zoffix | Yeah :) | ||
Skarsnik | hm, does sqlite test work for someone? it segfault for me | 15:11 | |
15:11
cdg joined
|
|||
hankache | Skarsnik the last time i tried to install DBI it failed | 15:12 | |
*DBIish | |||
Skarsnik | hm weird | ||
moritz | worked here :( | ||
hankache | but that was a month ago | ||
ohai masak | |||
moritz | please try hack.p6c.org/~moritz/rakudo-star-20...rc0.tar.gz | 15:13 | |
Skarsnik | could be my rakudo version? | 15:14 | |
hankache | weird thing I didn't even put the link in Hacker News | ||
somebody else did it | |||
lucasb | the internet has a life of its own | 15:15 | |
hankache | lucasb it has :) | 15:16 | |
15:16
FROGGS joined
15:17
jasanj joined,
AlexDaniel left
|
|||
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 76cc2d0 | (Zoffix Znet)++ | / (2 files): Use shorter timeout when making GitHub requests |
15:18 | |
hankache | I made a Hacker News account today | ||
learned how GitHUb works 2 weeks ago | |||
Skarsnik | x) | ||
hankache | activated my twitter account | ||
really Perl 6 made me do all of that | 15:19 | ||
TimToady | another month or so and you'll be creating a new programming paradigm :) | ||
Zoffix | :P | ||
hankache | ohai TimToady | ||
I even started talking like you guys and now greet saying "ohai" instead of "hi" :D | 15:20 | ||
TimToady | btw, we're probably going to be getting a lot of influx here in the next while, so we should try to figure out how to scale up our irc culture when it's harder for any one person to monitor everything | 15:21 | |
15:22
AlexDaniel joined
|
|||
hankache | I was looking for something to learn, wandered around ruby/python/perl and then I read this post: strangelyconsistent.org/blog/perl-6-is-my-mmorpg | 15:22 | |
It just made sense | 15:23 | ||
Skarsnik | Annnnnnd | ||
Zoffix | masak++ | ||
Skarsnik | I found a nice vicious bug :) | ||
TimToady | it might be better to split into more irc channels before the self-reinforcing troll brigade gains critical mass, for instance | ||
lucasb | #perl6cafe :) | 15:24 | |
TimToady | and we need to be more explicit that everyone is allowed to police civility | ||
Skarsnik | DBI::SQLite use a function of sqlite3 that is not in the version of sqlite3lib in debian stable | ||
maybe have a channel for the ecosystem? | 15:26 | ||
hankache | TimToady wouldn't it be better to appoint officers (or whatever you may call them) | ||
TimToady | it almost doesn't matter how you split it; you just need to have enough little fiefdoms that people who hate each other aren't continually forced to see the other one's posting | 15:27 | |
hankache: well, we already kinda have that with people who can /oper | |||
15:27
onix728 joined
|
|||
TimToady | or however you do that these days | 15:27 | |
but we need a distribution of official someones who can play whack-a-mole 24x7 | 15:28 | ||
dalek | frastructure-doc: 19b64df | (Zoffix Znet)++ | hosts/www.p6c.org.pod: Update www.p6c.org.pod Use a different example, since modules.perl6.org no longer generates anything into /var/www/modules.perl6.org |
||
masak | hankache: haha, that old blog post :D | ||
hankache: actually, we weren't first in saying "ohai" (or "OH HAI"). lolcats were. we just copied it. | |||
onix728 | hi! I believe there might be an error on "perl6intro.com", in section "2. Operators". Operator "ne" is described as "Equal". Example says that " 'Jane' ne 'John' " is TRUE. | 15:29 | |
moritz | oh lolo | ||
TimToady | because despite our pretentions to troll hugging, there are some trolls that really are malicious, and need whacking | ||
15:29
mtj_ left
|
|||
masak | onix728: the example is correct. the description is wrong :) | 15:29 | |
moritz | onix728: good that hankache is in the channel, he is the author (or one of the authors, dunno) | 15:30 | |
onix728 | Right. So "ne" should be "Not equal", right? | ||
moritz | right | ||
onix728 | Good. I thought I was stupid for a second, haha | 15:31 | |
hankache | onix728 you're right the description is wrong | ||
moritz | hankache: want a PR? | ||
15:32
spider-mario left
|
|||
hankache | it should be not equal, I will change it. | 15:32 | |
moritz PR? | |||
moritz | hankache: pull request | ||
onix728 | pull request? | ||
TimToady | .oO(All PR is good PR.) |
||
Zoffix | :D | ||
moritz | onix728: a way to submit code changes on github | 15:33 | |
Zoffix | onix728, modification of code submitted for possible merging into code of the original | ||
onix728 | yeah, I'm aware of that | ||
hankache | oh sorry sure | ||
jasanj | does perl6 support union type ? | ||
AlexDaniel | jasanj: union type? | ||
hankache | All PR is Good PR | ||
15:33
spider-mario joined,
mtj_ joined
15:34
pierre-vigier joined
|
|||
lucasb | hankache: while you are at it, I would suggest to change the operators types prefix/postfix example to not use 1++, ++1. I know you just used that as example, but it look strange since they are constants :) | 15:34 | |
jasanj | a type can be Str or Exception | 15:35 | |
pink_mist | wait, what does 1++ actually do? 0_o it ... returns 1 and ... increases the value of...? 1? 0_o | ||
jasanj | Str or Int | ||
Zoffix | m: 1++ | ||
camelia | rakudo-moar 6a45fe: OUTPUT«Cannot call postfix:<++>(Int); none of these signatures match: (Mu:D $a is rw) (Mu:U $a is rw) (Int:D $a is rw) (int $a is rw) (Bool:U $a is rw) (Bool:D $a is rw) (Num:D $a is rw) (Num:U $a is rw) (num …» | ||
pink_mist | ok, so it errors, thank goodness :P | 15:36 | |
it sounded like it was supposed to be working | |||
lucasb | phew! :) | ||
lizmat | m: say <42>.WHAT # jasanj: that what you mean ? | ||
camelia | rakudo-moar 6a45fe: OUTPUT«(IntStr)» | ||
ponzi | What's the most efficient way to parse a log file with a regex on the command line? | ||
pink_mist | using sed? :D | 15:37 | |
hankache | lucasb noted | ||
dalek | p/js-cps: 534cdf7 | (Pawel Murias)++ | src/vm/js/ (2 files): [js] WIP. |
||
p/js-cps: c0b2f4b | (Pawel Murias)++ | src/vm/js/ (3 files): [js] Continuations are just starting to partially work my $savecont; nqp::continuationreset(nqp::null(), -> { nqp::say("#1"); nqp::continuationcontrol(0, nqp::null(), -> $cont { $savecont := $cont; }); nqp::say("#3"); }); nqp::say("#2"); nqp::continuationinvoke($savecont, -> { }); nqp::say("#4"); prints stuff in the right order. |
|||
moritz | ponzi: efficient in execution time or in programmer's time? | ||
ponzi | moritz: Execution time | ||
jasanj | AlexDaniel: a type can be one of several types | 15:38 | |
AlexDaniel | ponzi: perhaps you should try 「perl6 -n」 ? | ||
Zoffix | lizmat, I think they mean the opposite of `subtype` | ||
moritz | ponzi: then it depends on what exactly you need; if a simple regex search is enough, then grep maybe | ||
jasanj | something like (U Number String Boolean Char) | ||
ponzi | moritz: I'll qualify that: something reasonably concise :) | ||
15:38
pierre-vigier left,
colomon joined
|
|||
lizmat | jasanj: no, not generically, but we have currently IntStr, NumStr, ComplexStr and RatStr afaik | 15:39 | |
ponzi | moritz: I mean, it used to be really easy in Perl5 | ||
Zoffix | Or rather subset | ||
AlexDaniel | ponzi: perl6 -ne '.say if /foo/' mylogfile | 15:40 | |
Zoffix | m: subset Foo where $_ ~~ Int or $_ ~~ Str; my Foo $x; $x = 42; say $x; $x = "42"; say $x; | ||
camelia | rakudo-moar 6a45fe: OUTPUT«42Type check failed in assignment to $x; expected Foo but got Str in block <unit> at /tmp/_FyFCilmH7:1» | ||
Zoffix | hm weird | ||
m: subset Foo where { $_ ~~ Int or $_ ~~ Str }; my Foo $x; $x = 42; say $x; $x = "42"; say $x; | 15:41 | ||
camelia | rakudo-moar 6a45fe: OUTPUT«4242» | ||
Zoffix | m: subset Foo where { $_ ~~ Int or $_ ~~ Str }; my Foo $x; $x = 42; say $x; $x = "42"; say $x; $x = True; | ||
camelia | rakudo-moar 6a45fe: OUTPUT«4242» | ||
Zoffix | -_- | ||
Oh, True ~~ always true, right? | |||
lizmat | m: subset Foo where { $_ ~~ Int or $_ ~~ Str }; my Foo $x; $x = <42>; say $x; $x = "42"; say $x; | 15:42 | |
camelia | rakudo-moar 6a45fe: OUTPUT«4242» | ||
15:43
cygx joined
|
|||
cygx | o/ | 15:43 | |
yoleaux | 20 Nov 2015 19:49Z <jnthn> cygx: I don't actually see a MAIN in that module; any idea which one it's referring to? The issue may be something to do with the code in the mainline assigning to variables, which it then exports. But the error isn't what I'd expect... | ||
23 Nov 2015 15:08Z <hoelzro> cygx: I noticed your logic for detecting the libc DLL name on Windows in Native::LibC; the MSVC variant only seems to work for VS 2011 =/ | |||
jnthn | m: subset Foo where Int | Str; say 1 ~~ Foo; say 1.5 ~~ Foo; say 'x' ~~ Foo; | 15:44 | |
camelia | rakudo-moar 6a45fe: OUTPUT«TrueFalseTrue» | ||
jnthn | More neat to just write it that way :) | ||
timotimo | if someone has a more personal contact to brian d foy, could you ask them to either kick the Chapters/ data off of learningperl6.com or take the whole site down or something like that? | ||
Zoffix | Lulz... I tried my Int | Str $x; but that failed | ||
cygx | m: say True ~~ Int | 15:45 | |
camelia | rakudo-moar 6a45fe: OUTPUT«True» | ||
Zoffix | m: subset Foo where Int | Str; my Foo $x = True; | ||
camelia | ( no output ) | ||
jnthn | m: say Bool ~~ Int # because this | ||
camelia | rakudo-moar 6a45fe: OUTPUT«True» | ||
Zoffix | m: subset Foo where Int | Str; my Foo $x = 1/4; | ||
camelia | rakudo-moar 6a45fe: OUTPUT«Type check failed in assignment to $x; expected Foo but got Rat in block <unit> at /tmp/1_pXezltJl:1» | ||
Zoffix | jasanj, ^ see that | 15:46 | |
hankache | timotimo lol i trying buying the name before knowing that bryan already did | ||
i tried** | |||
Zoffix | timotimo, what Chapters/ data? | ||
timotimo, oh. It's not linked to from the main page | 15:47 | ||
jasanj | Zoffix: oh, cool | ||
pmurias | there is only a message 2011 which claims Perl 6 is changing to fast to write a book about it | 15:48 | |
Zoffix | I pissed briand d foy off when I just started coding Perl 5... | ||
leedo | i've got a question about cyclic (i think) use statements: gist.github.com/leedo/7603df457e182976295e | ||
pmurias | * from 2011 | ||
cygx | for what it's worth, Bool ~~ Int feels wrong to me | ||
is that unavoidable now that Bool is an enum? | |||
leedo | i need to 'use' this class so i can use it's type in a signature, but doing so causes rescursive use statements | ||
Zoffix | leedo, put class A {... } in B | ||
dalek | rl6-roast-data: 2e55067 | coke++ | / (9 files): today (automated commit) |
||
Zoffix | leedo, literally with three dots. That's a stub | 15:49 | |
leedo | Zoffix: ah! thanks | ||
Zoffix | here's an example of where I'm stubbing a role: github.com/zoffixznet/perl6-IRC-Cl...ent.pm6#L2 | ||
ponzi | How do I get `logs1.txt".IO.lines.grep(/<<\w ** 14>>/).say` to retain new lines in the output? | ||
leedo | Zoffix: yup, that seems to fix it. would be nice if this could be detected | 15:50 | |
Zoffix | leedo, what do you mean detected? | ||
leedo | since it just silently hangs if i 'use A;' | ||
Zoffix | leedo, oh, that's been fixed in the most recent rakudo by nine++ | 15:51 | |
It'll now say an error when you try to use modules that use each other | |||
leedo | awesome, i think i'm a few days out of date | ||
Zoffix | like 3 or 4 days ago | ||
dalek | p/js-cps: 721ff06 | (Pawel Murias)++ | src/vm/js/nqp-runtime/core.js: [js] Make nqp::continuationinvoke return the correct value. |
15:52 | |
hankache | lucasb thanks | ||
Skarsnik | hm, I think there is lot of issue with NC binding (probably a 32 bits vs 64 bits). I changed sub signature 'returns Int' to 'returns int32' and I get the right value | ||
15:53
skids joined
|
|||
lizmat | ponzi: afaik, we don't support that (yet) | 15:54 | |
and probably, we wouldn't want to use the .lines interface for that | |||
cygx | ponzi: is it only about the output? | ||
then, you probably want to call .say on the elements not the whole sequence | 15:55 | ||
lizmat | perhaps it would be better to use the $handle.Supply.lines route better and clearer | ||
15:56
BenGoldberg joined,
onix728 is now known as vaillancourtmax
|
|||
ponzi | cygx: I'm trying to get something close to perl5's simple -nle 'say if /\b\w{14}\b/' logs1.txt | 15:56 | |
AlexDaniel | m: say (༤, ༨, ༡༥, ༡༦, ༢༣, ༤༢) | 15:58 | |
camelia | rakudo-moar 6a45fe: OUTPUT«(4 8 15 16 23 42)» | ||
Zoffix | m: say ༤ + ༨ | ||
camelia | rakudo-moar 6a45fe: OUTPUT«12» | ||
psch | ponzi: what's wrong with < perl6 -ne '.say if /<< \w ** 14 >>/' $file >? | ||
AlexDaniel | ponzi: hmm, what's wrong with my suggestion? | 15:59 | |
ponzi | psch: It's much slower | ||
Zoffix | ponzi, than P5's version? | ||
hankache | vaillancourtmax are you here? | ||
AlexDaniel | oooh, I wonder what is going to happen | 16:00 | |
vaillancourtmax | yes! | ||
AlexDaniel | .u ༪ | ||
yoleaux | U+0F2A TIBETAN DIGIT HALF ONE [No] (༪) | ||
AlexDaniel | half one! | ||
m: say ༪ | |||
camelia | rakudo-moar 6a45fe: OUTPUT«0.5» | ||
vaillancourtmax | hankache: here I am | ||
AlexDaniel | yeah!!! | ||
m: say ༪༪ | |||
camelia | rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ReD0LeWDjFBogus postfixat /tmp/ReD0LeWDjF:1------> 3say ༪7⏏5༪ expecting any of: infix infix stopper postfix statement end statement mod…» | ||
hankache | Thanks for the commit | ||
ponzi | Zoffix: yes | ||
Zoffix: 14 times slower | 16:01 | ||
hankache | j'ai remarque que tu parle le Francais | ||
AlexDaniel | .u ༭ | ||
yoleaux | U+0F2D TIBETAN DIGIT HALF FOUR [No] (༭) | ||
AlexDaniel | m: say ༭ | ||
camelia | rakudo-moar 6a45fe: OUTPUT«3.5» | ||
vaillancourtmax | hankache: no prob, thank you for the quick response! | ||
Zoffix | ponzi, well, P5 had like two decades to optimize itself. P6 doesn't even have a stable release yet :P P6 does use a modern compiler, so optimization is definitely possible. We just haven't had a chance to do it yet. You're welcome to give a helping hand though | ||
vaillancourtmax | hankache: oui, je suis Québécois! | ||
Skarsnik | someone to run that on a amd64 system? gist.github.com/Skarsnik/d4e9b31b2859114ac643 | ||
ponzi | Zoffix: No CS degree so ... 'fraid not. | 16:02 | |
Zoffix | ponzi, I found some things 100 times slower. In other areas, P6 is faster: doc.perl6.org/language/faq#Is_Perl_..._for_me%3F | ||
cygx | ponzi: perhapy try .join("\n").say and see if that's any faster? | ||
Skarsnik | my vm64 bits are unavailable at the moment :( | ||
colomon is fond of tradtitional Québécois msuic | |||
*music | |||
hankache | vaillancourtmax enchante je suis Libanais | ||
ponzi | cygx: Yes, that sounds feasible. | ||
vaillancourtmax | colomon: any favorites? :) | ||
hankache | do you kind mind if we talk French or shall we switch to English? | 16:03 | |
vaillancourtmax | hankache: nice! content de faire votre connaissance! | ||
colomon | vaillancourtmax: Le Vent du Nord, Genticourm, Andre Brunet | ||
hankache | do you guys** | ||
vaillancourtmax | hankache: perhaps in the interest of the group we could revert to English | ||
hankache | vaillancourtmax indeed | ||
16:04
AzeraTeX joined
|
|||
vaillancourtmax | colomon: that's cool! where do you know them from? (may I recommand "Les Coyboys Fringuants" and "Mes Aieux" as well) | 16:04 | |
pmurias | ponzi: not sure if a CS degree would help with hacking on Rakudo at all | ||
skids | Skarsnik: left in gist comment | ||
Skarsnik | thx | 16:05 | |
Zoffix | damn. Found a serious flaw in my design of the new builder for modules.perl6.org in that any dists that got some errors (like GitHub timeouts) would get nixed from the db :P | ||
well.. not "serious" but it looks like I'm gonna break my fire-and-forget approach to building :P | 16:06 | ||
pmurias | Zoffix: re two decades to optimize itself, are we faster than perl1? | ||
AzeraTeX | Hello, Is there a PDF version of Perl6 docs as a single file somewhere? Thanks | ||
leedo | Zoffix: i actually get a new error using the stub, "The following packages were stubbed but not defined: A" | ||
Skarsnik | skids, err that sucks you get the same value x) | 16:07 | |
Zoffix | Actually, that problem is present on our current modules.perl6.org. | ||
Brock | AzeraTeX: not that I know of | ||
colomon | vaillancourtmax: met Le Vent du Nord at the Wheatland Festival in Michigan (my wife knew Benoit Borque from Matapat), met Genticourm and Andre at Gooderich Ontario, though they’ve all been to Michigan a bunch. | ||
Skarsnik | someone else has a 32bits system? x) | 16:08 | |
skids | Skarsnik: I don't know why amd64 and i686 would be different. | ||
AzeraTeX | Brock Ok, good to know | ||
lucasb | AzeraTeX: I wish there was, but no. On the other hand, there is this course in pdf: github.com/rakudo/star/blob/master...course.pdf | ||
leedo | gist.github.com/leedo/7603df457e182976295e if anyone has a moment :) | ||
16:08
ponzi left
|
|||
colomon | vaillancourtmax: I will check out those two bands, they do indeed sound interesting. | 16:08 | |
Zoffix | leedo, try moving this outside class {}; put it after use v6: gist.github.com/leedo/7603df457e18...le-a-pm-L4 | ||
AzeraTeX | lucasb I'll take a look, thanks | 16:09 | |
Skarsnik | skids, I suspect that C int on 64bits is int64 and Perl6 Int is int64 everytime (yes it's confusing) | ||
leedo | Zoffix: seems to be the same error message | ||
16:10
Brock is now known as awwaiid
|
|||
Zoffix | ¯\_(ツ)_/¯ no idea | 16:10 | |
16:10
khw joined
|
|||
[Coke] | ~ | 16:10 | |
16:11
kmel joined
|
|||
Skarsnik | leedo, I think you still need to have a use A or use B in one of the class? | 16:11 | |
Zoffix | leedo, ooh | ||
no | |||
Oh | 16:12 | ||
weird | 16:13 | ||
cygx | Skarsnik: P6 int32 <-> C int on both architectures, and P6 Int <-> C long long as well | ||
895812289686267399 is just 3008007 with some gargabe added to the most significant bits | 16:14 | ||
*garbage | |||
16:14
hankache left
|
|||
mst twitches at calling a class B | 16:14 | ||
even if it's presumably less dangerous in perl6 than perl5 ;) | |||
skids | just don't use X or Z :-) | 16:15 | |
masak | mst: what people end up doing in Perl 6 is calling the class X... | ||
skids++ beat me to it :) | |||
mst: X which is the namespace for Perl 6 exceptions | |||
jnthn | m: class X { }; ooh look syntax error!!! | ||
camelia | rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/IbvPKbzUq1Bogus postfixat /tmp/IbvPKbzUq1:1------> 3class X { }; ooh look syntax error7⏏5!!! expecting any of: infix infix stopper postfix statement …» | ||
jnthn | The compiler now resolves its exception types directly in the setting :) | ||
AlexDaniel | m: say ༳ | 16:16 | |
camelia | rakudo-moar 6a45fe: OUTPUT«-0.5» | ||
mst | masak: that's going to be really fun | ||
jnthn | So it's a lot less bad than it used to be :) | ||
16:16
kmel left
|
|||
mst | given I have a reflex to use X/Y/Z from perl5 reserving B | 16:16 | |
psch | m: class X { } | ||
camelia | ( no output ) | ||
Skarsnik | cygx, should I blame NC or people putting Int when they should put int (I have lot of segfault/error in DBI SQlite because of that) | ||
mst | I hate you all. | ||
psch | m: class X { }; X.new | ||
camelia | ( no output ) | ||
masak | mst: we hug you too! :P | ||
16:16
hankache joined,
AzeraTeX left
|
|||
Zoffix | leedo, no idea :) | 16:17 | |
16:17
AzeraTeX joined
|
|||
jnthn | Given the setting's own resolution of exceptions will also find the right thing, there's only so much trouble you can get into with declaring a class X these days. | 16:17 | |
Zoffix | leedo, well, other than not having a has A $foo :) | ||
just has $foo | 16:18 | ||
16:18
CIAvash joined
|
|||
leedo | Zoffix: yeah, well the real example is a bit different github.com/leedo/p6-web-scraper/bl...ule.pm#L21 | 16:18 | |
cygx | Skarsnik: git blame tells me it's azawawi's fault ;) | ||
16:18
vaillancourtmax left
|
|||
leedo | was just trying to golf it down | 16:18 | |
16:18
maxvaillancourt joined
|
|||
leedo | but i can find some other solution | 16:19 | |
Zoffix | leedo, my guess would be it's possible, I just don't know how. | ||
16:19
AndyDee left
|
|||
Skarsnik | cygx, I was thinking maybe NC should warn to not do that? | 16:19 | |
Zoffix | And if it's not possible, it needs to be made possible :P | ||
Skarsnik | and ok, why the fuck I work on a 32bits system xD | 16:20 | |
psch | m: my Str sub f() { }; my sub g() returns Str { }; my sub h(--> Str) { }; say &f.WHAT; say &g.WHAT; say &h.WHAT | ||
camelia | rakudo-moar 6a45fe: OUTPUT«(Sub)(Sub+{Callable[Str]})(Sub)» | ||
timotimo | awwaiid: you have a little error in one of your hacker news comments: -> { $^n/2 + 3 } should give an error, because the "-> {" specifies a signature of (), but the $^n declares a positional parameter | ||
m: -> { $^n / 2 + 3 } | |||
camelia | rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1szlIxWavyPlaceholder variable '$^n' cannot override existing signatureat /tmp/1szlIxWavy:1------> 3<BOL>7⏏5-> { $^n / 2 + 3 }» | ||
psch | jnthn: those should all be +{Callable[Str]} for RT #125988, right? | ||
16:20
cdg left
|
|||
psch | m: my Str sub f() { }; my sub g() returns Str { }; my sub h(--> Str) { }; say &f.WHAT; say &g.WHAT; say &h.WHAT # these, for clarity | 16:21 | |
camelia | rakudo-moar 6a45fe: OUTPUT«(Sub)(Sub+{Callable[Str]})(Sub)» | ||
jnthn | psch: I think we should treat them all as equivalent to returns, yeah. | 16:22 | |
psch | right, i'll give that a go | ||
jnthn | You'll look into catching dupes too? :) | ||
psch | yeah, i think --> doesn't get caught yet | 16:23 | |
m: my Int f (--> Str) { } | |||
camelia | rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8f4uyqscEyMalformed myat /tmp/8f4uyqscEy:1------> 3my Int7⏏5 f (--> Str) { }» | ||
psch | m: my Int sub f (--> Str) { } | ||
camelia | rakudo-moar 6a45fe: OUTPUT«Sub object coerced to string (please use .gist or .perl to do that) in any throw at src/Perl6/World.nqp:37105===SORRY!5=== Error while compiling /tmp/xuonRkI4CzRedeclaration of return type for f (previous return type was Str)at /tmp/xuonRkI4C…» | ||
psch | ah | ||
neat | |||
m: sub f (--> Str) returns Int { } | |||
camelia | rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/e8j0A7wcvqRedeclaration of return type for f (previous return type was Str)at /tmp/e8j0A7wcvq:1» | ||
16:24
raiph joined
|
|||
psch | well, seems we catch them all already | 16:24 | |
'cause < my Int sub f () returns Str > is in the ticket | |||
m: my Int sub f () returns Str | |||
camelia | rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0KGqLAFBYuMissing blockat /tmp/0KGqLAFBYu:1------> 3my Int sub f () returns Str7⏏5<EOL> expecting any of: new name to be defined» | ||
psch | m: my Int sub f () returns Str { } | ||
camelia | rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hWN_bzfvQlRedeclaration of return type for f (previous return type was Int)at /tmp/hWN_bzfvQl:1» | ||
flussence | I see that "Perl has stopped evolving" quote in the backlog and immediately thought of a response — | ||
psch | looks like i don't need to catch dupes, just make the mixin work | 16:25 | |
flussence | why wait decades for random environmental mutations to improve the language when we have gene splicing technology? :) | ||
psch | and the Binder seems to already deal with that | ||
with the mixin, i mean | |||
hankache | flussence++ | ||
16:26
lizmat left
|
|||
Zoffix | So.... anyone smarter has the solution for leedo's problem gist.github.com/leedo/7603df457e182976295e ? | 16:26 | |
(the error is in output.txt file there) | 16:27 | ||
cygx | Skarsnik: the current situation regarding nativecall type mapping is not ideal | ||
hankache | and to those asking why adopt Perl 6 I say: | ||
“A good hockey player plays where the puck is. A great hockey player plays where the puck is going to be.” | |||
skids | Skarsnik: added a crusty 32bit system result to the gist, same issue there. | ||
(plus I had to add a .0 to the soname) | 16:29 | ||
awwaiid | timotimo: thanks, fixed | 16:30 | |
16:31
Mokok joined
|
|||
cygx | m: 3008007.base(16).say; 940747062170741226.base(16).say | 16:31 | |
camelia | rakudo-moar 6a45fe: OUTPUT«2DE607D0E3478002DE9EA» | ||
Mokok | Hi | ||
16:31
[TuxCM] joined
|
|||
hankache | hi Mokok | 16:32 | |
16:37
Fleurety joined
|
|||
timotimo | awwaiid: thank you for participating in the hackernews discussion :) | 16:39 | |
16:39
[TuxCM] left
|
|||
timotimo | skids: having to add .0 to the soname is a "distributions only installing the symlink if the -dev or -devel package is installed" thing | 16:39 | |
i really don't understand why there's so little FUD in that thread | 16:41 | ||
cygx | Skarsnik: github.com/perl6/DBIish/issues/32 | ||
pmurias | timotimo: it's not reddit? | ||
psch | eh, HN had plenty of FUD up until a few months ago too | 16:42 | |
Skarsnik | timotimo, Well when I read do about that, you should not use the .so, but the so.version | ||
cygx, thx, I am currently doing that | |||
cygx, it's not only the return type, Int in parameter is an issue too | |||
timotimo | i used to call it "HaterNews" because it was so bad | 16:43 | |
cygx | Skarsnik: which I mentioned in the ticket ;) | ||
Skarsnik | Oh yeah... | ||
damn that will be a nightmare to commit my work on DBI xD | |||
16:46
Actualeyes left,
_mg_ joined
|
|||
Skarsnik | cygx, how I can make github.com/perl6/DBIish/blob/maste...le.pm6#L34 work now? since $idx + 1 is Int | 16:48 | |
16:49
_mg_ left
|
|||
AlexDaniel | m: ^2¹²⁸ .pick().base(36).say | 16:49 | |
camelia | rakudo-moar 6a45fe: OUTPUT«4URK58ST4KN9WSZEY6A3RC127» | ||
AlexDaniel | m: ^2¹²⁸ .pick().base(36).say | 16:50 | |
camelia | rakudo-moar 6a45fe: OUTPUT«3JVKVXNR7WKJ4MTBU7THVXO04» | ||
AlexDaniel | m: ^2¹²⁸ .pick().base(36).say | ||
camelia | rakudo-moar 6a45fe: OUTPUT«4WWAAKRCC51Y6C8AQTAIG6KY5» | ||
16:50
perlawhirl left
|
|||
cygx | Skarsnik: it fails to dispatch? | 16:51 | |
Skarsnik | Yes, because it try to find something that match Int for the second argument, and they are all int32 now | ||
timotimo | cygx: did you know nativecall has a "long" type that maps to C long? | ||
m: use NativeCall; say long.perl | 16:52 | ||
camelia | rakudo-moar 6a45fe: OUTPUT«NativeCall::Types::long» | ||
timotimo | Skarsnik: ^ | ||
cygx | timotimo: yes? | ||
AlexDaniel | m: ^2¹²⁸ .pick().base(36).comb.map({ ^2 .pick ?? .uc !! .lc }).join '' | ||
camelia | rakudo-moar 6a45fe: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RgFm8OwUSyTwo terms in a rowat /tmp/RgFm8OwUSy:1------> 3omb.map({ ^2 .pick ?? .uc !! .lc }).join7⏏5 '' expecting any of: infix infix stopper statement end …» | ||
AlexDaniel | m: ^2¹²⁸ .pick().base(36).comb.map({ ^2 .pick ?? .uc !! .lc }).join('') | ||
camelia | ( no output ) | ||
AlexDaniel | m: ^2¹²⁸ .pick().base(36).comb.map({ ^2 .pick ?? .uc !! .lc }).join('').say | ||
camelia | rakudo-moar 6a45fe: OUTPUT«B4OjUgnqUvj924J4rfqxT6IB3» | ||
Skarsnik | NC::Types has doubledouble and stuff too x) | ||
flussence | IWBNI .base() could take an array of characters... but now I think about it, I guess it's trivial enough to do that with .polymod and Z | ||
timotimo | maybe that'd help for DBI | 16:53 | |
who knows. i certainly don't :) | |||
Skarsnik | I write my int32 $tmp = $idx +1; but it's weird x) | ||
cygx | Skarsnik: note that the sqlite3_bind() family of multi subs is not native, ie they could keep their Int parameters | 16:55 | |
zengargoyle | good * everybody | ||
Skarsnik | Oh xD | ||
cygx | Skarsnik: but what's the failure mode? type check failure? | ||
as far as I'm aware, calling a sub that expects a native integer with an Int parameter should work | 16:56 | ||
Skarsnik | it could no't find a matching signature | ||
AlexDaniel | m: say (33..126 .pick.chr) | 16:57 | |
camelia | rakudo-moar 6a45fe: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '7⏏5~' (indicated by 7⏏) in block <unit> at /tmp/hSmLVh0_Fd:1Actually thrown at: in block <unit> at /tmp/hSmLVh0_Fd:1» | ||
AlexDaniel | in '⏏~'… yeah… | ||
cygx | m: multi foo(int32 $) { say "ok" }; my int32 $i = 41; foo $i + 1 | 16:58 | |
camelia | rakudo-moar 6a45fe: OUTPUT«ok» | ||
Skarsnik | m: multi sub foo(int32 $a, Str $s) {say "foo1" }; multi sub foo(int32 $a, Int $s) {say "foo2" }; foo(1, "s"); | ||
camelia | rakudo-moar 6a45fe: OUTPUT«Cannot call foo(Int, Str); none of these signatures match: (int32 $a, Str $s) (int32 $a, Int $s) in block <unit> at /tmp/0diWAflm3G:1» | ||
Woodi | perl6intro.com do not mention roles... I think ppls like them becouse they are "faster" then full inheritance | ||
cygx | m: multi sub foo(int32 $a, Str $s) {say "foo1" }; multi sub foo(int32 $a, Int $s) {say "foo2" }; my int32 $i = 0; foo($i + 1, "s"); | 17:02 | |
camelia | rakudo-moar 6a45fe: OUTPUT«foo1» | ||
cygx | Skarsnik: giving $idx a type might work | ||
Skarsnik | that what I did, then I revert _bind to Int because there are not native yes ^^ | 17:03 | |
and all sqlite test passed :) | 17:05 | ||
cygx | \o/ | ||
jdv79 | .tell dha maybe you could talk to mr. foy about what timo is talkin bout | ||
yoleaux | jdv79: I'll pass your message to dha. | ||
Skarsnik | 5 occurences of deprecated code :) | ||
17:09
hankache left,
kjs_ joined
|
|||
Woodi | heh, totally forget masak++ MMORPG blog mentioned EVE :) but I think in EVE there is some (mass) form of new_users training, maybe even governed or supervised somehow by CCP: pack them into new aliance by hundreds or thousands, give basic equipment for free and try to conquer some galaxy :) earlier total noobs do NPC/AI standard training | 17:11 | |
can we organize some crowd-sourced programming project ? :) | 17:12 | ||
AlexDaniel | Woodi: like perl6 itself? | 17:13 | |
Woodi | AlexDaniel: nah :) | 17:14 | |
noobs..basic hardeness is required :) | |||
once again: Perl have problems with easy GUI... | 17:16 | ||
17:16
epicurious joined
|
|||
Skarsnik | easy Gui? | 17:16 | |
AlexDaniel | by the way, is it possible to interact with java libs from perl6 on jvm? | 17:17 | |
isBEKaml | Skarsnik: probably Tk kind of easy? | ||
timotimo | AlexDaniel: yes | ||
17:17
coetry joined
|
|||
AlexDaniel | so, you can for example use Swing and stuff? | 17:17 | |
Skarsnik | If I want to write something with a Gui I write C++ or C# so I don't have an issue with that xD | ||
17:18
epicurious left
|
|||
Woodi | AlexDaniel: I think: yes | 17:18 | |
AlexDaniel | Skarsnik: and how does that help? | ||
Skarsnik | *issue with perl not doing it | ||
AlexDaniel | ah | ||
Woodi | Tk (or Tcl) was Sun invention ? | ||
psch | AlexDaniel: www.youtube.com/watch?v=6r7bNYVdUVw has a short demo of some GUI lib on r-j | 17:19 | |
Woodi | Skarsnik: If I want gui I do C# too becouse it's so easy... | ||
psch | AlexDaniel: r-j isn't quite in a spot to do that anymore, though. you'd need the last release before GLR-merge, 2015.07 or so i think | 17:20 | |
Skarsnik | cygx, oh yeah related to NC, I had a quick look at your Native::Libc, I liked the typedpointer stuff. does it work with NC? | 17:21 | |
psch | AlexDaniel: perl6advent.wordpress.com/2014/12/...erability/ describes most of the state from pre-GLR-merge | ||
17:23
spaceships joined,
isBEKaml left,
kjs_ left
|
|||
cygx | Skarsnik: if it hasn't succumbed to bitrot, it should | 17:25 | |
note that I stopped working on it a while ago when I started on an alternative to NativeCall | 17:26 | ||
github.com/cygx/p6-tinycc/blob/lib.../CTypes.pm | |||
AlexDaniel | psch: thanks! | 17:27 | |
cygx | the problem I had was that uing NativeCall added about 1.5m of bytecode to each precompiled module that uses it | ||
*using | |||
Skarsnik | lol | ||
I like the C prefix for each type, make it less confusing I think | 17:28 | ||
17:29
skids left
|
|||
psch | AlexDaniel: youtu.be/6r7bNYVdUVw?t=950 is the timestamp, in case you don't want to watch the whole video.. :) | 17:30 | |
cygx needs to go hunt down some groceries | |||
o/ | |||
17:30
cygx left
|
|||
timotimo | good luck! | 17:30 | |
pesky little groceries | |||
17:31
Mokok left
|
|||
dalek | Iish: 00e34cc | (Sylvain Colinet)++ | lib/DBDish/SQLite/ (3 files): Fix all nativestuff |
17:34 | |
Iish: 929d30e | (Sylvain Colinet)++ | lib/DBDish/SQLite/Native.pm6: forget one! |
|||
Iish: c79069e | (Zoffix Znet)++ | lib/DBDish/SQLite/ (3 files): Merge pull request #33 from Skarsnik/master Fix all the nativecall stuff in SQLite |
|||
17:35
abaugher left
17:39
loren joined
|
|||
loren | Evening, perl6.. | 17:40 | |
timotimo | hi | 17:41 | |
loren | I try to compiler perl6 on msys2, it's really hard, but i'm successed | ||
Skarsnik | msys2? what is that? x) | 17:42 | |
loren | U don't know that ? | ||
timotimo | that's why he's asking, i think | ||
moritz | loren: please document what you did | ||
loren: and if there are thiings we can improve to make it easier, please let us know | 17:43 | ||
17:43
hankache joined
|
|||
Skarsnik | Oh thix. Hey good luck with that :) | 17:44 | |
*thx | |||
*this | |||
whatever | |||
timotimo | we call this self in perl6 | ||
dalek | kudo/nom: c88bcaf | chromatic++ | / (2 files): Improved credits. |
17:45 | |
kudo/nom: 16411d6 | moritz++ | / (2 files): Merge pull request #599 from chromatic/improve-credits Improved credits. |
|||
timotimo | will that ^ cause chromatic to be removed from all contributor script invocations in the future? | ||
Zoffix | 0.o chromatic doesn't want their name in credits? :/ | ||
loren | Many seeting in Configure.pl is error under msys2, i edit some file, but i'm not sure whether have some other side effect | ||
timotimo | or will it just show up with whatever the author name of the commits was? | 17:46 | |
loren | Skarsnik, you can google with key word 'msys2' | ||
timotimo | Zoffix: are you surprised? chromatic has been very bitter about perl6 for some time now | ||
Skarsnik | loren, yes I just looked at it. could be very useful :) | ||
17:46
Khisanth left
|
|||
Zoffix | timotimo, first time I heard of it (and now I see the message on that PR). A bit ironic, considering Modern Perl 4th edition has a colourful butterfly on the cover -_- | 17:47 | |
moritz | Zoffix: there are a lot of things ironic about that situation, but people have a right to their own opinion, of course | ||
Zoffix | Sure. :) | 17:48 | |
timotimo | i don't know what made chromatic so unhappy about perl6 related stuff, so i can't say much more | ||
loren | Skarsnik, yep | ||
17:48
Khisanth joined
17:50
ggoebel6 joined
|
|||
loren | You can use almost all gnu tools under msys2 | 17:51 | |
17:51
hankache left
|
|||
loren | In the next few days i'll write down this, may be i can make a perl-script-patch | 17:53 | |
0.0.. ee, night everyone , bye bye | 17:57 | ||
Zoffix | night | 17:58 | |
timotimo | night loren | ||
loren | Em, :) | ||
17:58
loren left
17:59
kjs_ joined
|
|||
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: d69411a | (Zoffix Znet)++ | lib/ModulesPerl6/ (2 files): Implement build salvage routines If a new build of a dist that"s already in the db fails (e.g. due to network errors), we need to catch that and update the Build ID in the database for that dist, so that it does not get purged as a removed dist at the end of the build process. |
18:00 | |
Skarsnik | Is there a way to display the line number with Test? | ||
dalek | ar: 428f676 | moritz++ | tools/build/Makefile.in: Tell peple to run modules-test instead of a broken prove command the prove command is broken for modules that come with *.pm files in t/lib/ and assume relative paths (such as DBIish) |
||
timotimo | Skarsnik: doesn't it show them? | 18:01 | |
moritz | Skarsnik: failed tests show the line number, no? | ||
ok, if nobody has objections, I'm going to release R* 2015.11 now | |||
Skarsnik | I mean like even he does not fail | ||
Zoffix | Go for it :) | ||
18:02
zengargoyle left
|
|||
Zoffix | Skarsnik, $?LINE ? | 18:02 | |
18:02
zengargoyle joined
|
|||
Zoffix | Skarsnik, doc.perl6.org/language/variables#Co..._variables | 18:02 | |
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: c11faff | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist.pm: Use better variable name |
18:03 | |
Skarsnik | I am adding test to DBIish and... well I don't feel like updating the xx #test 2x for everytest. It could be better if it just display the line associated with the test :) | ||
moritz | hack.p6c.org/~moritz/rakudo-star-2015.11.tar.gz | ||
Skarsnik | well it will probably still not work with DBIish because it's in an eval >< | ||
moritz | you can also give the tests distinct names, so that search for them becomes trivial | 18:04 | |
Skarsnik | yes I am dumb, forget I say something xD | 18:07 | |
moritz | release tagged and uploaded | ||
Zoffix | moritz++ | 18:08 | |
timotimo | moritz: thanks! that's excellent! | 18:10 | |
hoelzro: will you do the honors of updating the rakudo star docker image for us? | |||
hoelzro: also, do you know anything about the "too many pre-built docker images come with outdated system stuff and have lots and lots of security issues" thing? do we do okay-ish with our rakudo star docker thing? | 18:11 | ||
18:12
pnu left
18:15
pnu joined
18:20
kjs_ left
18:22
abaugher joined
18:27
kjs_ joined
18:28
Zoffix left
18:29
kjs_ left
18:31
yqt joined
18:32
kjs_ joined
|
|||
Skarsnik | should Moar show some BT or something when an assert fail? x) | 18:35 | |
moar: tpp.c:62: __pthread_tpp_change_priority: Assertion `new_prio == -1 || (new_prio >= __sched_fifo_min_prio && new_prio <= __sched_fifo_max_prio)' failed. | |||
Abandon | |||
dalek | ar: 1cafd78 | moritz++ | tools/star/release-guide.pod: Update release guide with the last two releases |
||
18:35
Ben_Goldberg joined,
pierre-vigier joined
|
|||
moritz | rakudo.org/2015/11/28/announce-raku...w-in-beta/ | 18:35 | |
psch | m: say nqp::istype(Any, Int) | ||
camelia | rakudo-moar 16411d: OUTPUT«0» | ||
lucasb | no need for 'use nqp' anyore? | 18:36 | |
*anymore | 18:37 | ||
psch | huh, i didn't even notice | ||
18:37
BenGoldberg left
|
|||
psch | i assume camelia loses the complaint..? | 18:37 | |
yeah, looks like it. it still comes through locally | 18:38 | ||
m: note "foo" | |||
camelia | rakudo-moar 16411d: OUTPUT«foo» | ||
psch | m: $*ERR.say: "foo" | ||
camelia | rakudo-moar 16411d: OUTPUT«foo» | ||
psch | m: nqp::sayfh(nqp::getstderr(), "foo") | ||
camelia | rakudo-moar 16411d: OUTPUT«foo» | ||
psch | weird | ||
18:40
pierre-vigier left
|
|||
psch | m: sub f() { }; say &f.returns | 18:40 | |
camelia | rakudo-moar 16411d: OUTPUT«(Mu)» | ||
psch | ah, maybe camelia runs with RAKUDO_NO_DEPRECATIONS rather | 18:41 | |
m: sub f is DEPRECATED("foo") { }; f() | 18:42 | ||
camelia | ( no output ) | ||
psch | which fits with that one not complaining either | ||
lucasb | psch: hm, that makes sense. thanks | ||
moritz++ thanks for the star release! sorry for not having tried the RC and given feedback. | 18:47 | ||
tadzik | hmm | 18:54 | |
m: my @fib = ^2,*+*...*; say @fib[5] | |||
camelia | rakudo-moar 16411d: OUTPUT«===SORRY!===Too few positionals passed; expected 2 arguments but got 1» | ||
tadzik | does this not work anymore post-glr, or am I misremembering some detail? | 18:55 | |
lucasb | m: my @fib = |^2,*+*...*; say @fib[5] | ||
camelia | rakudo-moar 16411d: OUTPUT«5» | ||
18:56
Begi2 left
19:00
Begi joined
19:02
BenGoldberg_ joined
19:03
p6curious joined
19:05
Ben_Goldberg left
19:10
kjs_ left
19:11
telex left
19:12
telex joined
19:13
BenGoldberg joined
19:14
Ben_Goldberg joined
19:15
BenGoldberg_ left
19:17
BenGoldberg left
19:19
ggoebel7 joined
|
|||
tadzik | ah, hm | 19:21 | |
19:21
cdg joined
|
|||
dalek | c: 4937611 | Mouq++ | util/missing-types.p6: Fix/improve util/missing-types.p6 |
19:22 | |
19:23
ggoebel6 left
19:24
coetry left
19:26
cdg left
19:27
tudorcon1tantin left
19:28
vendethiel- left
|
|||
dalek | ar: 27c0039 | hoelzro++ | / (3 files): Add Linenoise to modules Linenoise provides tab completion and history support for the builtin REPL |
19:30 | |
ar: ed5d4d8 | moritz++ | / (3 files): Merge pull request #54 from hoelzro/add-linenoise Add Linenoise to modules |
|||
19:30
ggoebel7 left
19:31
ggoebel7 joined
|
|||
TimToady | tadzik: could we make rakudobrew a little less reliant on having a MAKE= in the makefile? is blowing up right now on systems where 'make' is the obvious default | 19:32 | |
maybe look for gmake, then make? | |||
19:32
CIAvash left
|
|||
TimToady temporarily patched rakudobrew to do make('make $command') instead of dying | 19:33 | ||
(locally) | |||
probably needs gmake or so on BSDoids | 19:34 | ||
dalek | p/js-cps: 4ea8d09 | (Pawel Murias)++ | src/vm/js/ (2 files): [js] Refactoring that will allow us to add CPS support in more places. |
||
p/js-cps: f5cc532 | (Pawel Murias)++ | src/vm/js/QAST/Compiler.nqp: [js] make binding to lexical variables support CPS |
|||
p/js-cps: adf7955 | (Pawel Murias)++ | src/vm/js/ (2 files): [js] CPS bugfixes |
|||
TimToady | maybe check if 'make -v' returns /GNU/ | 19:35 | |
Quom_ | straw poll: in doc, should the Uni types be listed under Type -> Basic, Type -> Composite, or Type -> Domain-specific ? | 19:41 | |
jnthn | Not Basic :) | 19:42 | |
tadzik | TimToady: hmm, I was not aware that it's reliant on that | 19:43 | |
timotimo | i wouldn't call it a composite type ... or really domain-specific | ||
moritz | Quom_: I'd put it in the same category as Blob and Buf | ||
tadzik | ah, found the offender: github.com/tadzik/rakudobrew/commi...18c9fa6e33 | ||
moritz | which happens to be "composite" | ||
19:44
vendethiel joined
|
|||
Quom_ | moritz: I had similar thoughts, just hesitated since composite doesn't seem to be quite the right place | 19:44 | |
tadzik | TimToady: so the problem is that moar/nqp/rakudo's makefiles actually rely on gmake, but don't specify that on certain systems? | 19:46 | |
moritz | en.wikipedia.org/wiki/Perl_6 says "Over the years, Perl 6 has undergone several alterations in its direction. The introduction of concepts from Python and Ruby were early influences,[citation needed]" | ||
tadzik | (I'm not sure I understand the issue) | ||
moritz | does anybody have something citable regarding the python and ruby influence? | 19:47 | |
RabidGravy | I'd just emove it | 19:51 | |
btyler | anything of value still live in github.com/perl6/mu/tree/master/examples ? just saw someone link to github.com/perl6/mu/blob/master/ex...contend.pl (circa 2006) as an example of Perl6 concurrency | ||
RabidGravy | remove | ||
dalek | kudo/nom: d831a48 | TimToady++ | src/ (5 files): Complex <=>, plus $*SIGNIFICANCE We now can do <=> on Complex, which fails with a slightly less LTA message if either .im.abs exceeds 1e-15 (by default). We also add an approximately-equal operator, infix:<≅> (Texas version =~=), to do approximate numerical equal with the same threshold. A dynamic scope may override the default by setting $*SIGNIFICANCE. Coercion from complex to real now pays attention to this also, so Num(i ** 2) returns -1. |
||
btyler | at first glance almost everything in that directory is >5 years old | 19:53 | |
RabidGravy | Everything | 19:55 | |
19:55
lucasb left
|
|||
RabidGravy | enter key slip | 19:55 | |
Quom_ | A lot of it still seems valid… | 19:57 | |
dalek | ast: 28d19e6 | TimToady++ | S (3 files): test approximation, complex <=> behavior |
||
moritz | it's easy; run it. If it doesn't work, git rm | 19:58 | |
Quom_ | It'd be better to add a disclamer to all of them "THIS CODE IS OUTDATED AND HAS NOT BEEN VETTED" | ||
RabidGravy | :) | ||
Quom_ | or that | ||
TimToady | tadzik: > rakudobrew test | 19:59 | |
Spectesting moar-nom | |||
Couldn't determine correct make program. Aborting. | |||
grondilu | approximation operator? Neat. | ||
TimToady | if I change the else to run("make $command"); it works fine here on Linux Mint | 20:00 | |
p6curious | I'm cutting my teeth on perl6 with a proof of concept implementation of a toy project. With traits/roles it looks like my implementation will be really easy to do but I'm not sure about what is a good or bad idea. | ||
grondilu | I'm not sure about the choice of name for $*SIGNIFICANCE though | ||
moritz | the wikipedia page for Perl 6 says "junctions now occupy a central place in Perl 6's design" | ||
p6curious | These are my notes on a dataflow system, I'd appreciate any feedback or comments gist.github.com/anonymous/d8940e7f132b4087e67a | ||
Quom_ | doc/htmlify is pathologically slow now, geez. 45 minutes now, not even close to done. | ||
moritz | it doesn't feel very central to me anymore | ||
any ideas for wording improvements? | 20:01 | ||
TimToady | grondilu: it's kinda de-huffmanized on purpose, if that's what you're worried about | ||
20:01
raiph left
|
|||
moritz | Quom_: do you have Inline::Python installed? | 20:01 | |
TimToady | or do you think the concept is wrong? | ||
jnthn | TimToady: rt.perl.org/Ticket/Display.html?id=124316 could do with a decision; it seems to trip people up now and then | ||
Quom_ | moritz: Ah. | ||
moritz | Quom_: that makes integration with pygments much faster | ||
grondilu | no I just don't think the term "significance" is well chosen. | ||
moritz | Quom_: if you have neither Inline::Python nor pygments installed, no syntax hilighting happens, and it's also faster | ||
Quom_ | Heh, thanks. | 20:02 | |
TimToady | jnthn: it's difficult to know the intent of an lvalue, but we could disable autotruncation on lvalues, I suppose | ||
grondilu | my first thought would have been "NUMERIC_THRESHOLD" or something | ||
TimToady | well, the name is negotiable | 20:03 | |
Skarsnik | moritz, hm I tried your gather idea for DBIsh method row(:$hash) {gather { while my $row = self._row(:hash($hash)) { take $row }}} when when I write my @row = $sth.row() I get everything ~~ | ||
grondilu | TimToady: btw have you read my meditation on perl 6. I was wondering why we don't define for instance Real as 'subset Real of Complex where *.im == 0;' | 20:04 | |
moritz | Skarsnik: might need to call .lazy on the return value of the gather | ||
grondilu forgot the question mark in the first sentence | |||
jnthn | TimToady: We don't reliably know when it's an l-value also... | ||
moritz | grondilu: mostly because subset types don't perform well | 20:05 | |
grondilu: and that approach would make every real value have a useless memory slot for imaginary numbers | |||
Skarsnik | moritz, on take $row? | 20:06 | |
20:06
_mg_ joined
|
|||
grondilu | there's also the possibility of defining Real as a Role. role Real does Complex { method im { 0 }; ... } | 20:06 | |
moritz | Skarsnik: gather { ... }.lazy | ||
TimToady | Real *is* a role | ||
grondilu | but it does not implement Complex | 20:07 | |
m: say pi ~~ Complex | |||
camelia | rakudo-moar 16411d: OUTPUT«False» | ||
moritz | grondilu: because not all reals are complex | ||
grondilu | aren't they?? | ||
Skarsnik | moritz, Cannot .elems a lazy list | ||
~~ | |||
moritz | grondilu: when you learn math in school, you learn real numbers, and later (maybe) complex numbers, as defined in terms of real numbers | ||
20:08
coetry joined
|
|||
moritz | grondilu: reals being a subset of complex is one way to see it; another is that reals don't know anything about complex math, and complex math is defined in terms of reals | 20:08 | |
grondilu: and that's the approach that works better for computers | |||
p6curious | native complex support in perl has been a great feature for me while I learn how to do DSP | 20:09 | |
TimToady | we've intentionally steered clear of any sort of numeric tower | ||
grondilu | I'm not quite convinced but that's ok, I'll trust you judgement. | ||
moritz | grondilu: one can also define integers as a subset of reals, but that's not very efficient | 20:10 | |
grondilu | well they are Reals in Perl 6 | ||
m: say 1 ~~ Real | 20:11 | ||
camelia | rakudo-moar d831a4: OUTPUT«True» | ||
moritz | grondilu: right; I should have said "Rat" | ||
with denominator 1 | |||
grondilu | yes Int not being Rat is what motivated me to write a meditation in the first place. | ||
jnthn | TimToady: Another option is that only ..Inf or ..* auto-truncates | ||
p6curious | grondilu: personally I prefer the types to be predictable in terms of performance and resources and to allow me to use them for optimization when needed | 20:12 | |
20:12
domidumont left
|
|||
TimToady | jnthn: that might turn out saner | 20:12 | |
moritz | I've updated en.wikipedia.org/wiki/Perl_6 a bit. Notable changes include listing Niecza as a historic implementation rather than a current one | ||
p6curious | its one of the things that has impressed me the most about perl6 | ||
moritz | p6curious: that's curious, because it's a rather simple thing to do, in comparison to all the other awesome features we offer :-) | 20:13 | |
(like lazy lists, grammars, a meta object protocol) | |||
psch | hm, wiring up all the bits for return-type constrained callable parameters might be a bit harder than anticipated... :/ | ||
Quom_ | moritz++ | ||
jnthn | TimToady: There's always :v as an escape hatch to filter out non-existing things. | ||
TimToady: So I think it would probably work out OK. | 20:14 | ||
p6curious | moritz: yeah but in perl6 you get everything from doing that to not doing that the steps between as you need it, its not the only good p6 feature but it is a great one | ||
TimToady | we can try it | ||
jnthn | Aye | ||
moritz | I still think that the section on junctions is too long, and we should have something on concurrency/reactive programming | ||
p6curious: nod | 20:15 | ||
p6curious | moritz: in regards to the other awesome things p6 does I'm working if I have good or bad ideas in gist.github.com/anonymous/d8940e7f132b4087e67a | ||
because I can p5 with and without antlers or cowbells but I'm not used to the new behavior that comes with p6 | |||
TimToady | m: say i ** 2 ≅ -1 | 20:16 | |
camelia | rakudo-moar d831a4: OUTPUT«True» | ||
moritz | TimToady: sometimes you scare me :-) | 20:17 | |
TimToady | m: say Num(i ** 2) == -1 | ||
camelia | rakudo-moar d831a4: OUTPUT«True» | ||
TimToady | that's the scary one | ||
p6curious | that behavior with i is beautiful | 20:18 | |
TimToady | m: my $*SIGNIFICANCE = 1e-20; say Num(i ** 2) == -1 | ||
camelia | rakudo-moar d831a4: OUTPUT«Can not convert -1+1.22464679914735e-16i to Num: imaginary part not zero in block <unit> at /tmp/qV7PDqoc1y:1Actually thrown at: in block <unit> at /tmp/qV7PDqoc1y:1» | ||
b2gills | The Wikipedia entry on Perl 6 still says " Today, Perl 6 specification continues almost entirely within the Synopses" | 20:19 | |
TimToady | heh | ||
grondilu | I'm not sure I understand why it's not exactly -1 | ||
Quom_ | m: say exp(-i*pi) ≅ -1 | ||
camelia | rakudo-moar d831a4: OUTPUT«True» | ||
Skarsnik | m: say i ** 2 | ||
camelia | rakudo-moar d831a4: OUTPUT«-1+1.22464679914735e-16i» | ||
masak | I'm trying to remember where I read that an absolute tolerance for floating-point is only so useful, since floating-point values can be very very fine or very very coarse depending on their magnitude. | ||
TimToady | m: i * i == -1 | 20:20 | |
camelia | rakudo-moar d831a4: OUTPUT«WARNINGS:Useless use of "==" in expression "* i == -" in sink context (line 1)» | ||
TimToady | m: say i * i == -1 | ||
camelia | rakudo-moar d831a4: OUTPUT«True» | ||
psch | oh well, the ticket is only about redecl of return type in post constraints of callable parameters, so... vOv | ||
masak | grondilu: because of floating-point loss of precision. | ||
TimToady | obviously it's not using multiplication for ** | ||
grondilu | even for **2?? | ||
masak | grondilu: yes | ||
p6curious | masak: the tolerance is defined by the computation performed, ordering, and inputs but can be accurately described - if you'd like I can send you a url to a great paper on it | ||
masak | grondilu: basically, it comes down to the precision of trigonometric functions | ||
moritz | grondilu: ** is implemented very generally by going to polar coordinates | 20:21 | |
grondilu | it's using the euler formula even for **2? That seems LTA. | ||
TimToady | m: say (⅓ ** 2).WHAT | ||
camelia | rakudo-moar d831a4: OUTPUT«(Rat)» | ||
moritz | grondilu: patches welcome | ||
20:21
znpy joined
|
|||
TimToady | we do it for Rat | 20:21 | |
but apparently not for Complex | |||
masak | p6curious: not sure what you're talking about -- the tolerance in Rakudo seems to be a dynamic variable, defaulting to a small constant. | ||
p6curious | masak: sorry I wasn't refering to the interpreter, the tolerance of the computation is defined in terms of those variables | 20:22 | |
20:22
colomon left
|
|||
TimToady | though if we fix that for Complex, the tests I just did with i ** 2 are wrongish | 20:22 | |
grondilu | for my cliford module I implemented the exponentiation to an integer power with a recursive formula. I thought that was standard procedure. | ||
p6curious | masak: when performing ieee floating point arithmetic anyway | ||
moritz | TimToady: you can always use cos(pi) or so in your tests | ||
m: say cos(pi) | |||
camelia | rakudo-moar d831a4: OUTPUT«-1» | ||
masak | p6curious: I was referring to the newly-introduced $*SIGNIFICANCE | ||
TimToady | m: say cos(pi).WHAT | 20:23 | |
camelia | rakudo-moar d831a4: OUTPUT«(Num)» | ||
moritz | m: printf '%20f', cos(pi) | ||
camelia | rakudo-moar d831a4: OUTPUT« -1.000000» | ||
moritz | m: printf '%.20f', cos(pi) | ||
camelia | rakudo-moar d831a4: OUTPUT«-1.00000000000000000000» | ||
moritz | m: printf '%.20f', cos( 5* pi) | ||
camelia | rakudo-moar d831a4: OUTPUT«-1.00000000000000000000» | ||
TimToady | m: say cos(pi) ≅ -1 | ||
camelia | rakudo-moar d831a4: OUTPUT«True» | ||
moritz | m: say exp(i * pi) | ||
camelia | rakudo-moar d831a4: OUTPUT«-1+1.22464679914735e-16i» | ||
moritz | that's a nice one | ||
RabidGravy | meanwhile there still isn't a great fsa module | ||
moritz | should be -1 | ||
TimToady | m: say cos(pi) == -1 | ||
camelia | rakudo-moar d831a4: OUTPUT«True» | ||
TimToady | er... | ||
p6curious | masak: well the value is useful if you can define what your required tolerances are docs.oracle.com/cd/E19957-01/806-3...dberg.html | ||
"What Every Computer Scientist Should Know About Floating-Point Arithmetic" | 20:24 | ||
moritz | TimToady: I retract my statement; use exp(i * pi) :-) | ||
masak | p6curious: ah; that's probably where I read it in the first place. | ||
TimToady | m: say exp(i * pi) == -1 | ||
camelia | rakudo-moar d831a4: OUTPUT«False» | ||
p6curious | masak: I already know how to use that exact dynamic variable to achieve a solution to a problem in DSP that requires functions to do otherwise | ||
TimToady | m: say exp(i * pi) ≅ -1 | ||
camelia | rakudo-moar d831a4: OUTPUT«True» | ||
TimToady | 'kay | ||
p6curious | I didn't even know it was there, that is awesome | ||
grondilu | I think there should be a multi candidate at least for infix:<**>(Num $, 2) | 20:25 | |
though I don't know it that would be costly | |||
uruwi | How much would it cost? | 20:26 | |
RabidGravy | a couple of quid | ||
moritz | m: say 'secret123' ~~ /<:Letter>/ & /<:Digit>/ | 20:27 | |
camelia | rakudo-moar d831a4: OUTPUT«True» | ||
uruwi | Or at least have something for infix:<**>(Num $, Int $) | ||
grondilu | I was talking about perfmance, just to be clear | ||
uruwi | Yes. | ||
grondilu | multi infix:<**>(Num $x, Int $n where $n %% 2) { ($x ** ($n / 2)) ** 2 }; multi infix:<**>(Num $x, 2) { $x * $x } | 20:28 | |
moritz | m: say '|' ~~ /<:Punctuation>/ | ||
camelia | rakudo-moar d831a4: OUTPUT«Nil» | ||
dalek | ast: 16b3b97 | TimToady++ | S03-operators/ (2 files): use better not-quite -1 from moritz++ |
||
moritz | m: say '|' ~~ /<:Symbol>/ | ||
camelia | rakudo-moar d831a4: OUTPUT«「|」» | ||
dalek | c: 98d172d | Mouq++ | type-graph.txt: Track type changes in type-graph.txt Removed classes that no longer exist or don't seem to be part of the public API, track renames, add new types. |
20:31 | |
grondilu | also: multi infix:<**>(Num $x, 1) { $x } | ||
TimToady | m: my $i = i; say sum $i ** 3 xx 100000; say now - INIT now | 20:32 | |
camelia | rakudo-moar d831a4: OUTPUT«-1.83697019872196e-11-100000i3.48665696» | ||
TimToady | m: my $i = i; say sum $i * $i * $i xx 100000; say now - INIT now | 20:33 | |
camelia | rakudo-moar d831a4: OUTPUT«0-100000i0.19395056» | ||
20:33
darutoko left
|
|||
uruwi | also multi infix:<**>(Num $x, Int $n where $n % 2) { $x * ($x ** ($n +> 1)) ** 2 } | 20:33 | |
grondilu | much faster isn't it? | ||
moritz | one has to take care with highter powers though | 20:34 | |
TimToady | I'd say we shouldn't worry about whether * is slower than ** | ||
uruwi | We'll have to see | ||
TimToady | I think the algo already deals with that | ||
uruwi | Algo? | ||
I wonder how fast handling the special case of integer powers will be, though | 20:35 | ||
TimToady | m: say 1.1 ** 1000 | ||
camelia | rakudo-moar d831a4: OUTPUT«2.46993291800583e+41» | ||
uruwi | m: say FatRat.new(1.1) ** 1000 | ||
camelia | rakudo-moar d831a4: OUTPUT«Type check failed in binding nu; expected Int but got Rat in block <unit> at /tmp/X_S66eIznD:1» | ||
uruwi | m: say FatRat.new(11, 10) ** 1000 | ||
camelia | rakudo-moar d831a4: OUTPUT«246993291800582633412408838508522147770973.338523839623486918295183073939037543317536786611645694619197380356118903652336353379872657100896124379265553665528220182035787267332290114824345321175602006762454560941121206341730768120481737776346551122263516794…» | ||
grondilu | the recursive algortithm makes O(log($n)) iterations. It should be fine. | ||
moritz | Horner schema? | 20:36 | |
20:36
rindolf left
|
|||
uruwi | And we could hardcode small powers so they get inlined, if Rakudo already does that. | 20:36 | |
TimToady | we just need to move it from Num to Numeric, more or less | ||
uruwi | And by doing that, I mean inlining subs. | ||
grondilu | that'd be nice. Then I could remove it from my clifford module which implements from Numeric. | ||
s/implements from/implements/ | 20:37 | ||
RabidGravy | but will it all help to calculate vat accurately enough to satisfy German accountants? | 20:38 | |
grondilu | I think we can avoid the where constraint by using :<%> as well | ||
TimToady | hmm, we appear not to have a Num,Int candidate either | 20:39 | |
I wonder if accuracy is an issue on that... | |||
grondilu | m: multi infix:<**>(Numeric $x, Int $n) { ($x**($n div 2))**2 * $x**($n % 2) } | ||
camelia | ( no output ) | ||
uruwi | But for performance let's write | 20:40 | |
m: multi infix:<**>(Numeric $x, Int $n) { my | |||
camelia | rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/RveO03kvm7Malformed myat /tmp/RveO03kvm7:1------> 3ulti infix:<**>(Numeric $x, Int $n) { my7⏏5<EOL>» | ||
TimToady is going to gnaw on a leftover turky leg, and will leave the details up to others :) | 20:41 | ||
*turkey | |||
uruwi | m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; } | ||
camelia | ( no output ) | ||
uruwi | m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say 3 ** 5; | ||
camelia | rakudo-moar d831a4: OUTPUT«243» | ||
grondilu | m: multi infix:<**>(Numeric $x, Int $n) { $_ * $_ * ($n %% 2 ?? 1 !! $x) given $x**($n div 2) } | ||
camelia | ( no output ) | ||
uruwi | I hope Rakudo optimizes multiplication by 1 to a no-op | 20:42 | |
grondilu | doesn't it already? Jeez. | ||
20:43
Zoffix joined
|
|||
uruwi | m: say sum(rand xx 1000000); say now - INIT now | 20:43 | |
camelia | rakudo-moar d831a4: OUTPUT«500259.4423839360.8569873» | ||
uruwi | m: say sum((rand * 1) xx 1000000); say now - INIT now | ||
camelia | rakudo-moar d831a4: OUTPUT«499904.4979900991.7196412» | ||
uruwi | m: say sum((rand) xx 1000000); say now - INIT now | ||
camelia | rakudo-moar d831a4: OUTPUT«500265.7153771090.87283581» | ||
uruwi | Seems not | ||
masak | m: say ("42" * 1).^name # have to be careful, though. sometimes it's not a no-op | ||
camelia | rakudo-moar d831a4: OUTPUT«Int» | ||
grondilu | m: multi infix:<*>(Num $x, 1) { $x }; say sum((rand * 1) xx 1000000); say now - INIT now | 20:44 | |
20:44
Zoffix left
|
|||
camelia | rakudo-moar d831a4: OUTPUT«(timeout)» | 20:44 | |
uruwi | Try only 100k | ||
grondilu | m: multi infix:<*>(Num $x, 1) { $x }; say sum((rand * 1) xx 100000); say now - INIT now | ||
camelia | rakudo-moar d831a4: OUTPUT«49930.45417655292.48894951» | 20:45 | |
uruwi | So about 25 seconds if you overload the multi. | ||
Guess Rakudo doesn't even remove the autoboxing in that case. | |||
grondilu | I suspect it's because it must check for the RHS to be equal to 1 each time. | 20:46 | |
uruwi | We also need a to-do list for optimizations | 20:47 | |
jnthn | .oO( Things people assume don't already exist... :) ) |
20:48 | |
uruwi | Probably exists | ||
jnthn | That particular case is not likely to be anywhere high on the list. | ||
RabidGravy | and ponies, we need more ponies | ||
uruwi | Ponies! | 20:49 | |
m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 343) xx 1000000); say now - INIT now; | 20:50 | ||
camelia | rakudo-moar d831a4: OUTPUT«449355817779249997041814270361329206692015519474148258572943256769264600448595917809506437564501523785235245749130237162385982822435472511354834497915792287719596270000000.879192» | ||
uruwi | m: say sum((3 ** 343) xx 1000000); say now - INIT now; | ||
camelia | rakudo-moar d831a4: OUTPUT«449355817779249997041814270361329206692015519474148258572943256769264600448595917809506437564501523785235245749130237162385982822435472511354834497915792287719596270000000.9026408» | ||
uruwi | Okay special case is slightly faster | ||
m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((1.1 ** 12345) xx 1000000); say now - INIT now; | 20:51 | ||
camelia | rakudo-moar d831a4: OUTPUT«Inf0.7178909» | ||
uruwi | m: say sum((1.1 ** 12345) xx 1000000); say now - INIT now; | ||
camelia | rakudo-moar d831a4: OUTPUT«Inf0.676156» | ||
20:51
ggoebel7 left
|
|||
uruwi | Woah, that's actually slower this time | 20:51 | |
m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((2 ** 12345) xx 1000000); say now - INIT now; | |||
camelia | rakudo-moar d831a4: OUTPUT«1641710106882582163560207416639065014101272355307358812721161030879250941713901442801590345364394577348704191271404016671955103310856571853327210892364011930444934571162997688443443034792354894624363806721170151232832991313919041792876782591733085367387619…» | ||
uruwi | m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((2 ** 12345) xx 1000000).chars; say now - INIT now; | ||
camelia | rakudo-moar d831a4: OUTPUT«37231.8150558» | ||
grondilu | wait | ||
uruwi | m: say sum((2 ** 12345) xx 1000000).chars; say now - INIT now; | 20:52 | |
camelia | rakudo-moar d831a4: OUTPUT«37231.7813772» | ||
uruwi | This is confusing; even with integers, it's slightly slower on high powers | ||
m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 123456) xx 1000000).chars; say now - INIT now; | |||
camelia | rakudo-moar d831a4: OUTPUT«Memory allocation failed; could not allocate 24 bytes» | ||
uruwi | m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 123456) xx 100000).chars; say now - INIT now; | ||
camelia | rakudo-moar d831a4: OUTPUT«Memory allocation failed; could not allocate 24 bytes» | ||
uruwi | m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now; | ||
camelia | rakudo-moar d831a4: OUTPUT«589083.3095929» | ||
uruwi | m: say sum((3 ** 123456) xx 10000).chars; say now - INIT now; | ||
camelia | rakudo-moar d831a4: OUTPUT«589083.2856385» | ||
uruwi | About the same | 20:53 | |
uruwi brought Rakudo to its knees | |||
Thankfully, even RPG-whose-name-is-yet-to-be-known won't have 58908-digit damage values | |||
m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 1234567) xx 1000).chars; say now - INIT now; | 20:54 | ||
camelia | rakudo-moar d831a4: OUTPUT«(timeout)» | ||
uruwi | m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say sum((3 ** 1234567) xx 100).chars; say now - INIT now; | ||
grondilu | m: multi infix:<**>(Numeric $x, Int $n) { my $s = $x ** ($n +> 1); $n %% 2 ?? $s*$s !! $x * $s*; }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now; | ||
RabidGravy | even banks don't have 58908 digit values in their ledgers | ||
grondilu | m: multi infix:<**>(Numeric $x, Int $n) { my $s = $x ** ($n +> 1); $n %% 2 ?? $s*$s !! $x * $s*$s; }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now; | 20:55 | |
20:55
AzeraTeX left
|
|||
camelia | rakudo-moar d831a4: OUTPUT«(timeout)» | 20:55 | |
rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/VMhMuUC7fSMissing required term after infixat /tmp/VMhMuUC7fS:1------> 3 ($n +> 1); $n %% 2 ?? $s*$s !! $x * $s*7⏏5; }; say sum((3 ** 123456) xx 10000).cha expecting any of: prefi…» | |||
rakudo-moar d831a4: OUTPUT«589083.28767769» | |||
uruwi | m: multi infix:<**>(Numeric $x, Int $n) { my $s = ($x ** ($n +> 1)) ** 2; $n %% 2 ?? $s !! $x * $s; }; say (3 ** 1234567).chars; say now - INIT now; | ||
grondilu | m: multi infix:<**>(Numeric $x, int $n) { my $s = $x ** ($n +> 1); $n %% 2 ?? $s*$s !! $x * $s*$s; }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now; | ||
camelia | rakudo-moar d831a4: OUTPUT«(timeout)» | ||
rakudo-moar d831a4: OUTPUT«589083.2993645» | |||
uruwi | RIP Rakudo | 20:56 | |
jnthn | I'm suspect it'd complete if you did it locally :) | ||
grondilu | maybe a non-recursive version would be faster? | 20:57 | |
jnthn | Quite probably | 20:58 | |
uruwi | How to do it non-recursively? | ||
grondilu | do a loop, iteratively raising to the square | ||
uruwi | Still not done locally... | 20:59 | |
grondilu | until you reach the exponent | ||
20:59
KingSpeedy joined
|
|||
psch | m: sub f(&b:(--> Str)) { }; say nqp::getattr(nqp::decont(&f.signature.params[0]), Parameter, '$!post_constraints')[0].returns # vOv | 20:59 | |
camelia | rakudo-moar d831a4: OUTPUT«(Mu)» | ||
psch | somehow <typename> doesn't reach there..? | 21:00 | |
as in, in Perl6::Actions.fakesignature there's nothing there either | |||
21:01
kid51 joined,
MadcapJake joined
|
|||
psch | weirdly though, it's in the cursor, but the .ast for signature *doesn't* have it..? | 21:01 | |
where "in the cursor" means "the rule matched" :/ | |||
uruwi | m: multi infix:<**>(Numeric $x, Int $n) { my $y = 1; while $n > 1 { if $n +& 1 { $y = $x * $y;} $x = $x * $x; $n = $n +> 1; } $x * $y }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now; | 21:02 | |
camelia | rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gRux3Pv5UzStrange text after block (missing semicolon or comma?)at /tmp/gRux3Pv5Uz:1------> 3ile $n > 1 { if $n +& 1 { $y = $x * $y;}7⏏5 $x = $x * $x; $n = $n +> 1; } $x * $y }» | ||
uruwi | m: multi infix:<**>(Numeric $x, Int $n) { my $y = 1; while $n > 1 { if $n +& 1 { $y = $x * $y;} $x = $x * $x; $n = $n +> 1; $x * $y }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now; | ||
camelia | rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/OzLi5ACjXkStrange text after block (missing semicolon or comma?)at /tmp/OzLi5ACjXk:1------> 3ile $n > 1 { if $n +& 1 { $y = $x * $y;}7⏏5 $x = $x * $x; $n = $n +> 1; $x * $y }; » | ||
uruwi | m: multi infix:<**>(Numeric $x, Int $n) { my $y = 1; while $n > 1 { if $n +& 1 { $y = $x * $y;} $x = $x * $x; $n = $n +> 1; } $x * $y }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now; | ||
camelia | rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4LhD6ntkwDStrange text after block (missing semicolon or comma?)at /tmp/4LhD6ntkwD:1------> 3ile $n > 1 { if $n +& 1 { $y = $x * $y;}7⏏5 $x = $x * $x; $n = $n +> 1; } $x * $y }» | ||
uruwi | m: multi infix:<**>(Numeric $x, Int $n) { my $y = 1; while $n > 1 { if $n +& 1 { $y = $x * $y;}; $x = $x * $x; $n = $n +> 1; } $x * $y }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now; | ||
camelia | rakudo-moar d831a4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/FkAItyoKMzStrange text after block (missing semicolon or comma?)at /tmp/FkAItyoKMz:1------> 3$x * $y;}; $x = $x * $x; $n = $n +> 1; }7⏏5 $x * $y }; say sum((3 ** 123456) xx 100» | ||
uruwi | m: multi infix:<**>(Numeric $x, Int $n) { my $y = 1; while $n > 1 { if $n +& 1 { $y = $x * $y;}; $x = $x * $x; $n = $n +> 1; }; $x * $y }; say sum((3 ** 123456) xx 10000).chars; say now - INIT now; | ||
camelia | rakudo-moar d831a4: OUTPUT«589083.2788730» | ||
MadcapJake | hello everyone! Just published v1.1.0 of language-perl6fe for Atom, lots of bugfixes (especially inside large/complicated regexes). (jnthn, everything inside grammar.nqp seems to work for me now) let me know if you see anything needing fixing! | ||
github.com/MadcapJake/language-perl6fe/releases | 21:03 | ||
grondilu | uruwi: it's going to be a bit painful. I suggest you try it on your machine. I'm sure there are even smarter ways to do it. | ||
psch | MadcapJake++ | ||
21:04
colomon joined,
colomon left
|
|||
masak | MadcapJake: cool! | 21:05 | |
21:06
ilbelkyr_ joined
|
|||
MadcapJake | give that grammar.nqp file a try! Unfortunately Atom is a bit slow on large files, but it still only takes a couple seconds to highlight the whole thing (that's with a whole bunch of CPU-intensive packages running too) | 21:07 | |
21:07
znpy` joined
21:09
hankache joined
21:11
MilkmanDan left,
znpy left
|
|||
pmurias | Would it be possible to use the real Perl6 grammar to do the syntax highlighting? | 21:12 | |
21:12
ilbelkyr left,
eiro left
|
|||
arnsholt | Probably, but it's probably not engineered the optimal way for that | 21:13 | |
hankache | evening everybody | ||
MadcapJake | it is possible with Atom (I was just asking about this on their slack), but it isn't supported and those who've tried have had their efforts constantly broken by Atom patches | ||
uruwi | Shoot | ||
arnsholt | Since a syntax highlighter will have to deal with incorrect programs most of the time, and a compiler grammar will tend to stop fast when something's wrong | ||
uruwi | language-perl6fe is better than Atom's own highlighting | ||
MadcapJake | uruwi: thanks! that's my goal! xD | 21:14 | |
psch | uruwi: i'm pretty sure that was at least some of MadcapJake++'s motivation :) | ||
hankache | Perl 6 FE is waaaay better | ||
psch doesn't wanna fiddle with sshfs or somesuch to get the putty session into atom... | |||
uruwi | Does it recognize .p6 extensions yet? | 21:15 | |
21:15
colomon joined
|
|||
uruwi | So exponentiation grows quadratically with the exponent. | 21:16 | |
As the size of the result grows linearly. | |||
MadcapJake | uruwi: check out the readme, there's three routes you can take to apply to files | ||
now time to get back to working on linter-perl6! | 21:19 | ||
21:19
Fleurety left
|
|||
hankache | MadcapJake++ | 21:23 | |
21:24
ilbelkyr_ is now known as ilbelkyr,
rgrau joined
|
|||
pmurias | arnsholt: the grammar could be taught to do error recovery or just highlight up to the error | 21:26 | |
arnsholt: the annoying problem is hooking it up with the editor | |||
21:26
lizmat joined
|
|||
MadcapJake | psch: atom.io/packages/sftp-deployment or atom.io/packages/remote-atom might help alleviate some fiddliness | 21:27 | |
masak | I think I'm with arnsholt here. compilation and syntax highlighting are two quite different uses. | ||
the kind of recovery a syntax highlighter needs to consider aren't necessarily beneficial to a parser in a compiler. | |||
RabidGravy | I have this thing with syntax highlighting: I can totally do without it and have done for most of my life, but it really annoys me when it's wromg | 21:29 | |
Skarsnik | err than... funny? | ||
nvm | |||
mst | masak: seems like you could share the tokenizer-ish bit but not all the layers above that | ||
though, er, it strikes me that maybe the recovery code in a synhi engine and the 'produce as useful an error as possible' code in a compiler might also share some stuff | 21:30 | ||
21:32
Fleurety joined
21:34
rickvanlieshout joined
|
|||
grondilu | uruwi: FYI: en.wikipedia.org/wiki/Exponentiati...y_squaring | 21:35 | |
masak | mst: part of the problem of sharing a tokenizer layer is that Perl 6 grammars fundamentally don't think of tokenization as something separate from the rest of parsing. | ||
psch | m: sub f(--> Bool) { }; sub h () { }; say &f.signature ~~ &h.signature # aha! | ||
camelia | rakudo-moar d831a4: OUTPUT«True» | ||
psch | m: sub f(--> Bool) { }; sub h () { }; say &h.signature ~~ &f.signature | ||
camelia | rakudo-moar d831a4: OUTPUT«True» | ||
21:36
znpy` left
|
|||
masak | psch: that looks wrong. | 21:36 | |
psch | masak: yes, i agree | ||
pmurias | masak: if the editor itself doesn't support using the Perl 6 grammar we will run into the problem where for every language extension (slang/macro) your tool support will deteriorate | 21:37 | |
mst | masak: guess you're going to end up learning how to abstract that then :) | 21:38 | |
masak | mst: :) | ||
pmurias | masak: if the editor itself doesn't support using the Perl 6 grammar we will run into the problem where for every language extension (slang/macro) your tool support will deteriorate | 21:39 | |
masak | mst: it may be an oversimplification, but I've found that the following two things are basically polar opposites: (a) reliable, simple tokenization, and (b) slangs | ||
21:40
_mg_ left
|
|||
masak | mst: perhaps it's simpler than that, though. Perl 6 is pretty attached to the idea of "one-pass parsing", having been burned by p5 regexes etc. | 21:40 | |
one-pass parsing, taken to the extreme, means no separate tokenization step. | 21:41 | ||
21:43
hankache left
|
|||
lizmat tries to refrain from adding "archimoct" to the credits list for 2015.12 | 21:44 | ||
21:45
Fleurety left
|
|||
masak | better not. | 21:46 | |
lizmat | I better not refrain? :-) | 21:47 | |
masak | better not add an anagram of someone who went to the trouble of sending a pull request to remove himself from being mentioned. | ||
lizmat | yeah, I know. Still, for better or worse, he has been part of the process and I think should be mentioned | 21:48 | |
but I'll try harder | 21:49 | ||
21:49
maxvaillancourt left
|
|||
psch | "explicitly not wanting to be mentioned" trumps "should be mentioned" i think | 21:49 | |
i don't understand the reason or motivation, but it's obviously important to chromatic not to be mentioned, and especially with having contributed that should be respected | 21:50 | ||
masak | right. it's about respecting someone's wishes. | ||
mst | probably "no wish to reignite certain previous dramastorms" | 21:52 | |
RabidGravy | where would we all be without darama | 21:53 | |
masak | which, incidentally, would also be a reason to respectfully not mention :) | ||
RabidGravy | drama | ||
masak | RabidGravy: among friends, contented? this is a trick question, right? :) | 21:54 | |
21:54
[TuxCM] joined
|
|||
mst | right. I mean, I don't really care very much about his feelings. but I do care that he's right :D | 21:54 | |
dalek | pan style="color: #395be5">perl6-examples: e193c1b | (Steve Mynott)++ | categories/cookbook/15interactivity/15-02-test-interactive-program.pl: .t now works via isatty |
21:56 | |
RabidGravy | don't know the story, don't want to know the story but tone is everything | ||
21:57
Begi2 joined
22:00
Begi left
|
|||
leedo | sorry to repeat a question i asked earlier, but does anyone have a suggestion for how to get this working? gist.github.com/leedo/7603df457e182976295e | 22:00 | |
jnthn | leedo: If you want to have a strongly typed, circular dependency between two classes then they need to go in the same file. | 22:02 | |
Then the stubbing will work out fine. | 22:03 | ||
leedo | ah, ok thanks! | ||
jnthn | (One of the places where Perl 6 is somewhat opinionated. :)) | ||
22:04
Begi2 left
|
|||
masak .oO( Matz is opinionated so we are opinionated ) :P | 22:04 | ||
jnthn | ...what? :) | ||
psch | probably "Math"? | 22:05 | |
masak | jnthn: the normal Ruby motto is "Matz is nice so we are nice" | ||
psch | oh | ||
jnthn | Oh :) | ||
dalek | c: 7b9859e | (Steve Mynott)++ | doc/Language/classtut.pod: correct two typos |
||
masak should come with some kind of explanatory legend | |||
leedo | in my real code, the only example i need the circular dependency is to use the type in a given/when github.com/leedo/p6-web-scraper/bl...ule.pm#L21 | 22:06 | |
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 6c3c48b | (Zoffix Znet)++ | Build.PL: Add prereqs |
22:07 | |
22:07
BenGoldberg joined
|
|||
leedo | combining into one file does indeed fix it | 22:07 | |
psch | well, the tough part is now that i have a post_constraint for a parameter in a signature, but its signature is actually the signature of a where block that does smart matching... | 22:08 | |
lizmat | good night, #perl6! | ||
22:08
lizmat left
|
|||
leedo | maybe i'll just do some duck typing instead | 22:09 | |
22:10
BenGoldberg left,
Ben_Goldberg left,
BenGoldberg joined
|
|||
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: ff2564d | (Zoffix Znet)++ | t/ (4 files): Move timestamp regex into t::Helper class, so we don"t duplicate it all over the place |
22:11 | |
22:13
lizmat joined
|
|||
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: c80736a | (Zoffix Znet)++ | bin/build-project-list.pl: Add logos_dir option, for easier testing |
22:14 | |
22:15
kjs_ joined
|
|||
p6curious | I'm trying to make sure I yield my powers of traits and roles for good but I'm not sure about what is a bad idea; specifically I'm worried about when to use what and what it'll do to the global namespace | 22:15 | |
22:15
Ben_Goldberg joined
|
|||
p6curious | I've got my thoughts collected into one place, feedback would be highly appreciated even if it just on how to express the idea better gist.github.com/anonymous/d8940e7f132b4087e67a | 22:15 | |
the p6 bits are at the bottom, it is my concept of how to implement the parts that are used above | 22:16 | ||
RabidGravy | wield | ||
psch | weld? | ||
timotimo | yeld. | 22:17 | |
psch | p6curious: fwiw, traits and roles are supposed to be powerful, and i don't know if we have enough ecosystem around to have figured out DOs and DONTs for them | ||
22:17
xfix left
|
|||
p6curious | psch: I was wondering if anyone knew what bad ideas were yet | 22:17 | |
22:17
autark joined
|
|||
RabidGravy | yeah, it's just do it and when it becomes a bad idea sort it out | 22:18 | |
p6curious | in my head causing the namespace to change behavior for things that aren't involved in what ever is being done is bad | ||
and traits I don't see how to keep scoped tightly, but I have no idea what I'm doing | |||
22:18
raoulvdberge joined
22:19
BenGoldberg left
|
|||
p6curious | for my case I think I want roles on objects and traits on the attributes (not an attribute holding an object with traits) | 22:19 | |
that is reflected in the classes in my concept I linked | |||
RabidGravy | well people have to explicitly include your code to get your trait so it's their/your lookout dpesn't affect anyone else | ||
jnthn | traits are implemented by writing multi subs, which are lexically scoped | ||
Only somebody importing the module you implement them in would get them | |||
p6curious | so if I add traits they are not visible to anything except for what ever scope is using what ever brought the trait in? | ||
excellent | |||
any thoughts on applying traits to attributes? for my case I want to mark some attributes as being 'registers' which are going to be the external interface to the things | 22:20 | ||
psch | fwiw, traits and roles seem conceptionally linked to me | ||
as in, traits are often used to apply roles, for one | |||
p6curious | traits seem to be a way to shortcut a role definition | ||
RabidGravy | psch also in some places the terms are used interchangeably | 22:21 | |
p6curious | right, so I guess a better question would be: are there any thoughts on applying a role to an attribute instead of storing an object with a role in the object? | ||
psch | p6curious: a trait_mod<is>(Attribute $a ...){ ... } applies to an Attribute | ||
p6curious: but Attribute isa Any | |||
so it's still an object, of course | |||
22:22
raoulvdberge left,
raoulvdberge joined
|
|||
p6curious | because for my case I don't want to do anything with the object in the attribute itself, but I want to be able to introspect the object that has attributes to find ones that are registers | 22:22 | |
jnthn | sleep & | ||
p6curious | I hit this before with Reflex and Moose and just had to give up because I could never wrap my head around it | ||
psch | m: class A { has $.a }; say A.^attributes[0].WHAT | ||
camelia | rakudo-moar d831a4: OUTPUT«(Attribute)» | ||
psch | m: class A { has $.a }; A.^attributes[0] does role { method foo { say "foo" } }; A.new.a.foo | ||
camelia | rakudo-moar d831a4: OUTPUT«Method 'foo' not found for invocant of class 'Any' in block <unit> at /tmp/Fr3J9Niqr9:1» | ||
p6curious | psch: yeah I've got some code that can do things to an attribute, and I know I can mix things into the meta class | ||
psch | m: class A { has $.a }; A.^attributes[0] does role { method foo { say "foo" } }; A.^attributes[0].foo; A.new.a.foo | 22:23 | |
camelia | rakudo-moar d831a4: OUTPUT«fooMethod 'foo' not found for invocant of class 'Any' in block <unit> at /tmp/8aItvoXnB7:1» | ||
p6curious | i'm just wondering if this is a good idea, or I guess if anyone can say why I should do something else | ||
psch | the latter shows that the (anon) role on the Attribute doesn't influence the contained object | ||
p6curious | perfect | ||
psch | i think 'handles' is the trait that shows this better, from the ones in CORE | ||
(or trait_mod, rather) | |||
stmuk_ likes the way all ecosystem modules are 100% NYI Kwalitee :) | 22:25 | ||
22:25
lizmat left
|
|||
p6curious | hmmmmm it sounds like it is a safe assumption to say that if an object winds up with a role on its attributes it wasn't through a surprise, so it is not a bad idea to muck with the metaobject for that attribute | 22:25 | |
I don't like surprises | |||
psch: thanks for the brain cycles | 22:26 | ||
RabidGravy | p6curious, if the role on th attribute messes something up you'll know at compile time | ||
p6curious | that is a great way to break | ||
mst | attaching roles to attributes is a time honoured way to attach metadata to them | 22:27 | |
that gets done in Moose all the time | |||
p6curious | though I had a not great error the other day, I wasn't sure if I should file a bug report on it | ||
RabidGravy | indeed | ||
p6curious | I was working with roles on a class and there was a failure during compile, the error had no file/line information and I can't recall if it even mentioned the offending class | ||
stmuk_ | ah github.com/zoffixznet/perl6-Kwalitee exists | 22:29 | |
p6curious | if I encounter non-optimal error output during compile should I report it as a bug? | 22:30 | |
22:31
Zoffix joined
|
|||
Zoffix | stmuk_, it's a WIP. Will be fixed after I'm done with db builder stuff. But 98% of dists have 100% Kwalitee :) | 22:31 | |
m: say 100* (1 - 15/459) | 22:32 | ||
camelia | rakudo-moar d831a4: OUTPUT«96.732026» | ||
psch | p6curious: keep in mind though that if you modify the meta object directly it sticks | ||
p6curious | psch: I would need to be careful to make sure I did not apply the change to every single attribute system wide? | 22:33 | |
psch | p6curious: right, that's why i used "does" on the single Attribute from .^attributes | ||
p6curious | ok, thank you. is it valid to pass arguments to a trait like can be done with a role? | 22:34 | |
because I want to be able to define a lot of different behavior for a register and the most clean way looks to be args on roles or traits - I haven't got trait args to work | |||
timotimo | p6curious: yes, you can report sub-optimal error output | ||
p6curious: we usually call that "LTA error messages" for Less Than Awesome | |||
p6curious | it'll parse and compile and the trait sub is invoked - but I can't find my args anyway | 22:35 | |
timotimo: ok I'll do that from now on | |||
22:35
BenGoldberg_ joined
|
|||
RabidGravy | trait args work, let me find an example | 22:35 | |
github.com/jonathanstowe/AccessorF...rFacade.pm e.g. | 22:36 | ||
22:36
Ben_Goldberg left
|
|||
TimToady | shouldn't it be spelled Koalatee? | 22:37 | |
22:37
pierre-vigier joined,
snarkyboojum joined
|
|||
p6curious | derp, thats pretty bad, i've used NativeCall, I should already know trait args work | 22:37 | |
timotimo | "shortcommings" | ||
Zoffix | TimToady, that hasn't been merged yet. I need to write more tests before I do so :) | 22:38 | |
p6curious | ah that brings up a question of mine: I used nativecall to wrap libxml for fun and went to use valgrind to search for memory leaks with libxml managed ram | ||
I never found a way to get my out of scope objects go GC before the test program exited so it always showed leaks | 22:39 | ||
is there a way to force GC to check for leaks like that? | |||
psch | p6curious: nothing really reliable. nqp::force_gc exists, but afaik doesn't do anything if there's nothing to be done, or something..? | ||
timotimo | i'm not sure i understand - the GC only manages GC-allocated objects, so anything libxml creates for you wouldn't be handled | ||
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 0dcb411 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder.pm: Output log to STDERR consistently |
22:40 | |
timotimo | maybe you mean the submethod DESTROY? | ||
psch doesn't usually muck with those magical, internal bits | |||
well, deeply internal, i.e. MoarVM :P | |||
timotimo | DESTROY will be called on your object after they become garbage. however, moarvm will not call DESTROY on everything when it shuts down | ||
psch | m: class A { submethod DESTROY { say "collected" } }; A.new; nqp::force_gc; sleep 10 | 22:41 | |
camelia | ( no output ) | ||
22:41
pierre-vigier left
|
|||
dalek | kudo/nom: 96af2dc | (Ronald Schmidt)++ | CREDITS: Update CREDITS - fix duplicate listing for me / ronaldxs / ronaldxs@software-path.com |
22:41 | |
kudo/nom: 458cd81 | (Will Coleda)++ | CREDITS: Merge pull request #600 from ronaldxs/patch-1 Update CREDITS - fix duplicate listing for me / ronaldxs / ronaldxs@s… |
|||
psch | that's what i mean with "not really reliable". afaict the A.new is sunk and should be collectable | ||
but mumble nursery-size mumble generation something something vOv | 22:42 | ||
dalek | kudo-star-daily: 6dc6240 | coke++ | log/ (2 files): today (automated commit) |
22:43 | |
p6curious | timotimo: naw, I wound up with GC implemented nativecall wrapped objects, but they didn'g GC to invoke destroy to call xmlfree | ||
timotimo | right, as i said, you're not guaranteed that things will have DESTROY called when the program exits | ||
p6curious | there was objects fully out of scope and GC had stuff to do but never did, as far as I could tell - if I can tell the vm to force gc I think that'll do it | ||
I just need it for testing to make sure it doesn't leak anyway | 22:44 | ||
[Coke] | I see a one off add of a name to the xmas people: note that we still have a ton of repos to go through, so we probably don't need lots of one offs until those are all added. | ||
stmuk_ | [Coke]: can you explain why you closed github.com/rakudo/rakudo/pull/601? | 22:45 | |
22:48
colomon left,
cognominal left
22:54
autark left,
eiro joined
|
|||
dalek | kudo/nom: 8b4686f | (Steve Mynott)++ | tools/CREDITS.pl6: skip chromatic in credits |
22:57 | |
kudo/nom: 1da6d1c | (Steve Mynott)++ | docs/announce/2015.12.md: add Sue Spence to Xmas release credits |
|||
kudo/nom: 31f9abb | (Will Coleda)++ | / (2 files): Merge pull request #602 from stmuk/nom Add Sue Spence to release announcement - also removes chromatic from future CREDITS auto-updates |
|||
stmuk_ | [Coke]: thanks | 22:58 | |
dalek | kudo/nom: c83a8de | coke++ | docs/announce/2015.12.md: Keep sorted. |
||
22:58
AndyDee joined
|
|||
masak | "keep sorted". sage advice in general. | 23:02 | |
Zoffix | "Thanks to everyone who has worked to make this release happen over the past 15 years." 0.o 15 years. Wow, what an accomplishment. | 23:03 | |
Especially with so few names | 23:05 | ||
23:05
Woodi left
|
|||
Zoffix | 15 years ago I only know how to write a few lines of Pascal :P | 23:07 | |
s/know/knew/; | |||
vendethiel | 15 years ago, I could barely speak :P. | ||
Zoffix | :P | ||
stmuk_ | make us feel old :P | 23:08 | |
23:11
rickvanlieshout left
|
|||
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 8c7f26b | (Zoffix Znet)++ | / (6 files): Add stub tests to ensure ALL of our classes show up in Devel::Cover report |
23:13 | |
[Coke] | niner== Stefan Seifert ? | 23:14 | |
RabidGravy | stmuk_, you/we are old | ||
[Coke] | Zoffix: the list is far from done | ||
23:15
pmurias left
|
|||
Zoffix | noted | 23:16 | |
masak | [Coke]: aye. | ||
diakopter | Zoffix: I'm also thinking Koalatee is bettar | ||
Zoffix | diakopter, vs. Koalitee? | 23:17 | |
diakopter | yah | ||
(ditto TimToady) | |||
23:17
bpmedley left
|
|||
RabidGravy | wan't it Schwern who first coined the term? get him to call | 23:17 | |
Zoffix | .oO( Schwern?? ) |
23:18 | |
RabidGravy | yes | ||
diakopter | RabidGravy: maybe kwalitee, but not the koala pun; that was me I think? | ||
Zoffix | .oO( who is Schwern? ) |
23:19 | |
Yeah, based on a log grep, it was diakopter who proposed the Koala pun | |||
Zoffix wishes they were familiar with how to do a quick file content substitution on a tree of files | |||
RabidGravy | Oh mate github.com/schwern | 23:20 | |
Zoffix | Face looks familiar | ||
RabidGravy | made most of the P5 test stuff work nicely | ||
Zoffix | And I'm following that account | ||
diakopter | must. resist. posting. mugshot. link. | ||
23:21
coetry left
|
|||
psch | well, the only thing wrong about this patch is a bad "expecting any of"... | 23:23 | |
23:25
bzipitidoo joined
|
|||
[Coke] | ven == vendethiel ? | 23:25 | |
vendethiel | [Coke]: yes | 23:26 | |
psch | ..but calling !fresh_highexpect on the CURSOR instead of $/ solves that \o/ | ||
vendethiel | i can connect ven if you want me to :P | ||
bzipitidoo | anyone taking reports of web site problems? Code in angle brackets is missing on several pages. | 23:27 | |
Zoffix | bzipitidoo, which website? :) | 23:28 | |
uruwi | > Sex | ||
bzipitidoo | examples.perl6.org/categories/inter...s/RPN.html | ||
my token Item { || }; | 23:29 | ||
dalek | kudo/nom: 524dd3a | peschwa++ | src/Perl6/Actions.nqp: Mixin Callable[$type] for all ways of declaring return type. |
||
kudo/nom: 9dc8630 | peschwa++ | src/Perl6/Actions.nqp: Fix a "Sub object coerced to string" warning. |
|||
kudo/nom: c22c744 | peschwa++ | src/core/Signature.pm: Don't ignore return types when calling ACCEPTS with Signatures. |
|||
kudo/nom: bb931c8 | peschwa++ | src/Perl6/Actions.nqp: Fix RT #125988. I doubt this is the cleanest possible, but it's the workiest I could figure out. |
|||
tadzik | Koalatee sounds like Manatee | ||
timotimo | that's no surprise, given it's a cross of a koala and a manatee | ||
psch | tests tomorrow, if no one beats me to it | 23:30 | |
bzipitidoo | I was trying to make sense of that line. Took me a while to realize it was wrong. Correct code is at github.com/perl6/perl6-examples/bl...ers/RPN.pl | 23:31 | |
Zoffix | bzipitidoo, thanks, reported: github.com/perl6/perl6-examples/issues/38 | ||
stmuk_ | odd ... colour syntax has broken on examples. | ||
Zoffix | bzipitidoo, feel free to submit a PR to that repo, if you figure out what's wrong. | ||
diakopter | .g "koala tee" | ||
yoleaux | www.koalatee.com/ | ||
stmuk_ | I'll take a look tomorrow | ||
diakopter | oh noes | ||
23:32
ozmq joined
|
|||
Zoffix | That's exactly what I thought about the name lol :) A Koala in a T-shirt | 23:32 | |
But it's too late!!! 'cause... | |||
diakopter | tee shirt made of koala fur | ||
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 3af345f | (Zoffix Znet)++ | / (14 files): Rename Koalitee to Koalatee by popular demand |
||
timotimo | +1 | 23:33 | |
AlexDaniel | .oO( Coality ⛏) |
||
Zoffix | .u ⛏ | 23:34 | |
yoleaux | U+26CF PICK [So] (⛏) | ||
23:35
spider-mario left
|
|||
uruwi | That's going to break lots of poop | 23:36 | |
.u poo | |||
yoleaux | U+1434 CANADIAN SYLLABICS POO [Lo] (ᐴ) | ||
U+1435 CANADIAN SYLLABICS Y-CREE POO [Lo] (ᐵ) | |||
U+A576 VAI SYLLABLE POO [Lo] (ꕶ) | |||
uruwi | .u pile of poo | ||
yoleaux | U+1F4A9 PILE OF POO [So] (💩) | ||
Zoffix | :S | ||
diakopter | .u pile | ||
yoleaux | U+1F4A9 PILE OF POO [So] (💩) | ||
uruwi | That commit will break THAT. | 23:37 | |
Zoffix | uruwi, which commit? | ||
.u dong | |||
yoleaux | U+1B61 BALINESE MUSICAL SYMBOL DONG [So] (᭡) | ||
U+20AB DONG SIGN [Sc] (₫) | |||
Zoffix snickers | 23:38 | ||
uruwi | The one that renamed Koalitee to Koalatee | ||
.me penis | |||
.u penis | |||
yoleaux | No characters found | ||
diakopter | uruwi: but why | ||
uruwi | .me ass | 23:39 | |
.u ass | |||
yoleaux | U+0611 ARABIC SIGN ALAYHE ASSALLAM [Mn] (◌ؑ) | ||
U+22A6 ASSERTION [Sm] (⊦) | |||
U+12461 CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH [Nl] (𒑡) | |||
Zoffix | uruwi, why do you think it'll break anything? | ||
uruwi | If modules depend on it being named Koalitee? | ||
RabidGravy | it's so Saturday night | ||
bzipitidoo | zoffix: thx. Also, could doc.perl6.org/language/regexes have 2 errors, near the "Keep it small" section? | ||
my regex example { <preamble> [ || <choice_1> || <choice_2> || <choice_3> ]+ <postamble> } | |||
diakopter | uruwi: but Koalitee hasn't even existed yet | 23:40 | |
stmuk_ | m: say "\c[BEAR FACE]" | ||
camelia | rakudo-moar c83a8d: OUTPUT«🐻» | ||
Zoffix | uruwi, I haven't released my P6 Koalatee module (currently named Kwalitee) and the above commit is internal stuff used by the modules.perl6.org infrastructure that no modules use :) | ||
RabidGravy | 💩 | 23:41 | |
bzipitidoo | Seems like "[ ||" is wrong | ||
uruwi | .u dick | ||
yoleaux | No characters found | ||
uruwi | .u piss | ||
yoleaux | No characters found | ||
uruwi | .u cock | ||
yoleaux | U+1F378 COCKTAIL GLASS [So] (🍸) | ||
uruwi | At least. | 23:42 | |
.u hell | |||
yoleaux | No characters found | ||
TimToady | bzipitidoo: an initial | or || is allowed | ||
Zoffix | uruwi, /msg yoleaux .u whatever works too | ||
Quom_ | Keep it PG guys | ||
stmuk_ | m: say "\c[KOALA]\c[HOT BEVERAGE]"" | ||
camelia | rakudo-moar c83a8d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ZRVNK3FDQNTwo terms in a rowat /tmp/ZRVNK3FDQN:1------> 3say "\c[KOALA]\c[HOT BEVERAGE]"7⏏5" expecting any of: infix infix stopper postfix statement …» | ||
stmuk_ | m: say "\c[KOALA]"~"\c[HOT BEVERAGE]"" | ||
camelia | rakudo-moar c83a8d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/o1tFh90QFUTwo terms in a rowat /tmp/o1tFh90QFU:1------> 3say "\c[KOALA]"~"\c[HOT BEVERAGE]"7⏏5" expecting any of: infix infix stopper postfix stateme…» | ||
bzipitidoo | What does an initial || mean? Same as if it wasn't there, or that some sort of null string is a valid match? | ||
RabidGravy | chimps are dead | ||
Zoffix | m: say "\c[KOALA]\c[HOT BEVERAGE]" | ||
camelia | rakudo-moar c83a8d: OUTPUT«🐨☕» | ||
ozmq | Advent is upon us here in the Antipodes, where all the koalas are. | 23:43 | |
I have followed Perl 6 since its inception, and have been a lurker on the #perl6 backlogs for much of that time. It has provided me with a daily dose of technical entertainment, a soap opera with a wonderful cast of smart, funny, and sympathetic characters. | |||
Nearly there. As Tiny TimToady might say, everyone++. | |||
stmuk_ | its drinking | ||
TimToady | bzipitidoo: it's mostly a no-op, useful for formatting a multiline alteration | ||
however, it does have an effect on a subsequent @alteratives match | |||
whether it chooses short-circuit vs longest-token matching | |||
Quom_ | bzipitidoo: Think of it like having a trailing comma at the end of a multi-line list. Makes editing more convenient and can look nicer | 23:44 | |
RabidGravy | ozmq, I'd lay off the luudes mate ;-) | ||
diakopter | hm | ||
ozmq++ # sentiment appreciated! | |||
stmuk_ | is there a "TEACUP WITH HANDLE" | 23:45 | |
Zoffix | Man, IRC makes me so unproductive :( | ||
23:45
Zoffix left
|
|||
dalek | kudo/nom: e0a4039 | coke++ | docs/announce/2015.12.md: Add docs contributors github.com/perl6/doc |
23:46 | |
23:47
ranger joined,
ranger is now known as Guest24857
|
|||
bzipitidoo | mostly a NOP, but not quite? Is there an example that shows different results with those 2 versions of an alternation? | 23:47 | |
timotimo | two versions? do you mean | and ||? | 23:48 | |
TimToady | |@foo vs ||@foo | ||
timotimo | ah | 23:49 | |
23:49
BenGoldberg_ left
|
|||
timotimo | i've always seen that as a prefix, separate from the infix | and || operators | 23:49 | |
bzipitidoo | No, I mean [ somematch || someothermatch ] vs [ || somematch || someothermatch ] | ||
timotimo | there is 0 difference between these two | ||
23:49
BenGoldberg_ joined
|
|||
AlexDaniel | hm, what if | 23:50 | |
TimToady | m: my @foo = <ab abc>; say "abcd" ~~ / || @foo/; say "abc" ~~ /| @foo/ | ||
camelia | rakudo-moar c83a8d: OUTPUT«「ab」「abc」» | ||
23:50
Guest24857 left,
ChanServ sets mode: +o TimToady
|
|||
TimToady | m: my @foo = <ab abc>; say "abcd" ~~ / || @foo/; say "abcd" ~~ /| @foo/; say "abcd" ~~ /@foo/ | 23:50 | |
camelia | rakudo-moar c83a8d: OUTPUT«「ab」「abc」「abc」» | ||
TimToady | defaults to | | ||
AlexDaniel | m: say 'foo' if || 5 < 20 || 50 > 3; | ||
camelia | rakudo-moar c83a8d: OUTPUT«foo» | ||
AlexDaniel | m: say 'foo' if || 5 < 20 || 50 > 3 ||; | ||
camelia | rakudo-moar c83a8d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bfVeCcWOS5Missing required term after infixat /tmp/bfVeCcWOS5:1------> 3say 'foo' if || 5 < 20 || 50 > 3 ||7⏏5; expecting any of: prefix term» | ||
AlexDaniel | m: say 'foo' if && 5 < 20 && 50 > 3; | 23:51 | |
camelia | rakudo-moar e0a403: OUTPUT«5===SORRY!5=== Error while compiling /tmp/J_cbr3SfeuTwo terms in a rowat /tmp/J_cbr3Sfeu:1------> 3say 'foo' if &&7⏏5 5 < 20 && 50 > 3; expecting any of: infix infix stopper» | ||
TimToady | er, that prefix::<||> isn't doing what you think it's doing... | ||
it's a funny accident that it works | |||
AlexDaniel | oh really? What is it doing then? | ||
masak | something unspeakable. | ||
TimToady | m: say ||5 | ||
camelia | rakudo-moar e0a403: OUTPUT«5» | ||
TimToady | m: say | |5 | ||
camelia | rakudo-moar e0a403: OUTPUT«5» | ||
psch | flat flat 5 | ||
AlexDaniel | m: say |||5 | ||
camelia | rakudo-moar e0a403: OUTPUT«5» | ||
psch | neat | ||
AlexDaniel | yeah, that's what I thought… well… | 23:52 | |
RabidGravy | nasty | ||
AlexDaniel | TimToady: dunno, maybe it should? | ||
TimToady | it would be ambiguous with a real | or || prefix | ||
psch | m: say "abcd" ~~ /^(a | b | bc | cd)*?$/; say "abcd" ~~ /^(@a)*?$/ | 23:53 | |
camelia | rakudo-moar e0a403: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ab8STlQM6rVariable '@a' is not declaredat /tmp/Ab8STlQM6r:1------> 3(a | b | bc | cd)*?$/; say "abcd" ~~ /^(7⏏5@a)*?$/» | ||
psch | m: my @a = < a b bc cd >; say "abcd" ~~ /^(@a)*?$/ | ||
camelia | rakudo-moar e0a403: OUTPUT«Nil» | ||
AlexDaniel | does double flat make any difference? | ||
TimToady | depends on the context | ||
AlexDaniel | oh well | ||
23:53
BenGoldberg_ left
|
|||
psch | that would've been the answer to that "find the original words from a space-less string" blog post a bit ago, but alas, it's bugged :/ | 23:54 | |
23:54
BenGoldberg_ joined
|
|||
TimToady | m: say <a b c>; say || <a b c> | 23:54 | |
camelia | rakudo-moar e0a403: OUTPUT«(a b c)abc» | ||
AlexDaniel | not a big issue, I don't think that a lot of people want to write || stuff on every line… That being said, maybe it will make sense to make it more “consistent”… | 23:55 | |
23:55
znpy` joined
|
|||
AlexDaniel | I mean on separate lines | 23:55 | |
TimToady | given that nobody's ever thought of that up till now, I doubt the feature will be in high demand | 23:56 | |
RabidGravy | I think there should be a bot that collects the people who connect and disconnect without saying anything | ||
TimToady | and puts them where? | ||
stmuk_ | my client ignores those people | ||
RabidGravy | interesting statistic | ||
drunk tank | |||
dalek | href="https://modules.perl6.org/new-db-builder:">modules.perl6.org/new-db-builder: 1f44796 | (Zoffix Znet)++ | / (2 files): Improve test/pod coverage of ::Dists model to 100% |
23:57 | |
stmuk_ | act.yapc.eu/lpw2015/schedule | 23:58 |