»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:00
titsuki joined
00:05
Zero_Dogg left
00:06
Zero_Dogg joined,
titsuki left
00:10
wamba left
00:48
keix joined
00:58
dha left
01:00
Herby__ joined
|
|||
Herby__ | o/ | 01:00 | |
raiph | hi Herby__ | 01:10 | |
Herby__ | raiph: \o | 01:12 | |
raiph | Herby__: I'm exploring P6's type system. What type systems in other langs have you used? | 01:16 | |
Herby__ | raiph: I'm a programming rookie that's dabbled in perl and python, and now perl 6 | 01:18 | |
so i'm not sure how to answer your question :) | |||
01:19
kurahaupo_ left
01:21
kalkin-_ joined,
kalkin- left
|
|||
raiph | that answers my question. perl5 hides types. i think python comes close to equating types with classes, right? | 01:21 | |
01:23
molaf left
01:24
AlexDaniel left
|
|||
Juerd | raiph: Perhaps a Python channel can answer that question | 01:25 | |
raiph | Juerd: :) What I'm interested in is chatting about Perl 6 types with someone who has barely if at all used types before. | 01:27 | |
Juerd | I've used types in Perl 6, know some details of types in Perl 5 (they exist), and have fought with C++ about them, never winning. | 01:28 | |
gfldex | raiph: are you writing a paper about confusion? :-P | ||
raiph | :) | 01:29 | |
Hmm. I | |||
am also interested in chatting with folk who know lots about types :) | 01:30 | ||
(and everyone in between, just to round things out) | |||
Juerd | So what would you like to discuss about types? | ||
raiph | Well, I have this little goal of writing the p6doc page for the type system ;) | 01:32 | |
gfldex | raiph: i started to do that 3 times already. It's kinda hard. | 01:33 | |
the problem is that types don't exist | 01:34 | ||
raiph | gfldex: I'm pretty sure it's you who sent me on this quest | ||
Juerd | How do they not exist? | ||
And what's the thing that does exist called then? | |||
gfldex | there are functions with an implicit parameter that we call methods | ||
they make assumptions about memory layouts of the stuff that parameter points to | 01:35 | ||
the consequence of that behaviour can be called "type" but the type itself doesn't exist as an entity | |||
Juerd | "memory layout" is an implementation thing; the language concept 'type' has little to do with that. | ||
01:36
molaf joined
|
|||
gfldex | that depends on where you want to start your layers of abstraction | 01:36 | |
Juerd | At the conceptual level | ||
gfldex | i prefere The Truth (TM) and try to stay away from abstractions when it comes to computers | ||
Juerd | The things that make up the language, without the things that implement that language, but with how you use them. | ||
Programming languages like Perl *are* abstractions. | 01:37 | ||
gfldex | computers are terrible when it comes to abstructions and humans ain't that much better | ||
Juerd: indeed, that may explain why programming is hard | |||
Juerd | I'm not sure that programming is hard. | ||
gfldex | 1/3 of all CS students fail to learn how to program a computer | 01:38 | |
err, 2/3 even | |||
some of those may learn it later tho | |||
geekosaur | how many of those were never taught? | ||
Juerd | Seems to me the teaching is slightly off :) | 01:39 | |
geekosaur | "CS" often means higher math, not programming | ||
gfldex | many i suppose | ||
but we deviate from type systems | |||
Juerd | I've taught people to program. I'm sure that not many of those people became stellar programmers, but I'm quite sure that each and every one of them can write a counter :P | ||
Fortunately, Perl 6 only has to document one type system, its own. | 01:40 | ||
gfldex | my point is that when using multiple layers of abstructions, every now and then reality will poke through all those layers and slap you in the face. See float point ouchies. | 01:41 | |
Juerd | Confusing the issue are the several things that are all called 'types' | ||
gfldex | i think i just mixed abstraction and obstruction | 01:42 | |
raiph | :) | ||
Juerd | Containers have types, values have types, but constraints on what type value a container will hold are also called types. | ||
raiph | I see two of those things as the same | 01:43 | |
(container types are type constraints) | |||
Juerd | So variable types (constraints), container types (implementation for storage), value types (implementation of values), if I understand the distinction correctly. | ||
raiph: Scalar is a container type. | 01:44 | ||
raiph | You're right | ||
gfldex | raiph: one of my attempts to introduce the type system gist.github.com/gfldex/872d6bc23da...ef8dce32d1 | 01:45 | |
01:45
guiwp joined
01:46
ilbot3 left
|
|||
gfldex | as you can see it already got circular dependencies | 01:46 | |
raiph: you may be able to steal from en.wikipedia.org/wiki/Type_system | 01:47 | ||
guiwp | hello guys, i'm facing one problem trying to use perl6 for the first time here (im going to learn it if its possible!), when i run the panda im getting: cannot find shell::command | ||
Juerd | You begin with introducing types as a safety mechanism. I'd consider starting off with explaining that "everything is an object", in Perl 6, boils down to types being a way to organize behaviour into categories of values. | 01:48 | |
raiph | hi guiwp | ||
guiwp | raiph: hi | ||
01:48
ilbot3 joined
|
|||
gfldex | guiwp: what does `perl6 --version` say? | 01:48 | |
Juerd | guiwp: Is that the complete message? | ||
guiwp | 2016.05 implementing perl 6.c. | 01:49 | |
gfldex | on what OS/platform? | ||
guiwp | debian (using sid) | 01:50 | |
gfldex | how did you install rakudo? | ||
guiwp | simply apt-get install rakudo | 01:51 | |
gfldex | please get in touch with the package maintainer (read: don't use debian packages for now) | ||
raiph | m: say "you can try learning perl 6 using on channel bots too" # guiwp | 01:52 | |
camelia | rakudo-moar f80cc7: OUTPUT«you can try learning perl 6 using on channel bots too» | ||
guiwp | i would like to have a stable package in debian =( | 01:53 | |
raiph | guiwp: is your thing gui coding (hence the nick)? | ||
gfldex | guiwp: github.com/rakudo/rakudo github.com/tadzik/panda | ||
guiwp | my name is guilherme | ||
raiph | gotchya | 01:54 | |
guiwp | gui + wp (wikipedia) as im an editor | ||
raiph | guiwp: what sort of code are you used to writing? | 01:55 | |
gfldex | rakudo sports precompiled modules what is causing difficulties for packaging. That problem is being worked on. | ||
guiwp | hey guys, the old package i installed from jessie is using parrot vm. what vm i should use? moarvm or parrot? | ||
01:56
yqt left
|
|||
gfldex | parrot is not supported anymore | 01:56 | |
and i believe JVM is slighly bitrotten right now | |||
guiwp | i like to extract text from wikipedia, so perl is something im curious to known if this will play nice: perl + wikipedia parsing =) | ||
gfldex | you may find help at modules.perl6.org/ | 01:57 | |
for your quest that is | |||
raiph | guiwp: were you planning to check out perls in general, 5 and 6, or exclusively 6? | 01:58 | |
guiwp | in the past i learning a little bit about what whas perl 5 (coded just some hello worlds), it was 10 years ago. now im curious about this "perl6" and i want to known if it fit my need for text processing/parsing | 01:59 | |
b2gills | guiwp: My favorite example to show off Perl 6 parsing is the JSON::Tiny::Grammar github.com/moritz/json/blob/master...Grammar.pm | ||
guiwp | if im going to learn perl i preffer start learning version 6 as it seems to be the next version right? | 02:00 | |
or they will always keep 5 and 6? | |||
b2gills | both versions have regular updates | ||
timotimo | both will be developed far into the future | ||
guiwp | perl 6 is participating in gsoc regularly? | 02:01 | |
b2gills | There is actually very little overlap between people who work on the Perl 5 core, and people who work on Rakudo ( The Perl 6 core ) | ||
mst | gsoc has been a mess for several years | 02:02 | |
so "somewhat, barring the fact thast google keep moving the goalposts" | |||
guiwp | well, if i start to play with perl5 do you guys think that it will be good if later i switch to 6? how is the learning curve from 5 to 6? | 02:04 | |
mst | they're two different languages in the same family | ||
they'll both be around for a long time | |||
guiwp | interesting mst, i think im going to play with 5 so till 6 become more mature | 02:05 | |
thank you all for the assistance! im going now rly thank you | 02:06 | ||
02:06
guiwp left
|
|||
mst | I ... my implied goal was "learn both" | 02:06 | |
oh well | |||
grondilu | he's gone, but I think if the goal is to just play, Perl 6 is definitely more fun. | 02:07 | |
mst | yes, I know he's gone, hence my comment | 02:08 | |
02:09
zacts joined
02:19
kid51 left
02:20
Herby__ left
02:32
cdg joined
02:35
sufrostico left
02:36
noganex_ joined
|
|||
Juerd | gfldex, raiph: My attempt at explaining types: gist.github.com/Juerd/b6531810922d...50be4915ca | 02:37 | |
Not very theoretical. | 02:39 | ||
02:40
noganex left
02:42
ssotka left
02:44
Timbus joined
02:51
sherwool left
02:54
huggable left,
huggable joined
02:56
tomboy64 left
03:01
aries_liuxueyang left
03:02
aries_liuxueyang joined
03:06
jack_rabbit left
03:13
_28_ria left
03:16
parabolize joined
03:27
ssotka joined
03:29
_28_ria joined
03:32
Actualeyes left
|
|||
ugexe | do you want to make money? learn perl 5. hate yak shaving? learn perl 5. otherwise learn perl 6 | 03:34 | |
03:39
araujo_ left
03:41
dj_goku joined
03:44
Actualeyes joined
03:59
cdg left
04:14
Zero_Dogg left
04:15
Zero_Dogg joined
04:17
grassass joined
04:20
Cabanossi left
04:23
Cabanossi joined
04:33
molaf left
04:41
skids left
04:45
khw left
05:04
sno joined
05:11
sno left
05:21
cpage_ left
05:59
darutoko joined
06:04
khisanth_ joined
06:08
kent\n left,
cpage_ joined
06:11
araujo joined,
araujo left
06:14
ssotka left
06:15
sno joined
06:18
rindolf joined
06:20
firstdayonthejob joined,
b2gills joined
06:25
kent\n joined
06:33
_mg_ joined
06:34
firstdayonthejob left
06:36
domidumont joined
06:40
domidumont left
06:41
domidumont joined
06:43
guardianJ joined
06:50
guardianJ left
06:51
rurban joined,
rurban_ joined
06:54
huggable left,
huggable joined
|
|||
masak | morning, #perl6! | 06:57 | |
moritz | \o masak, * | 06:58 | |
masak .oO( hi masak, whatever ) :P | |||
07:01
azawawi joined
|
|||
azawawi | m: "6lrep# iH".flip.say; # :) | 07:02 | |
camelia | rakudo-moar f80cc7: OUTPUT«Hi #perl6» | ||
azawawi | :) | ||
Good morning | |||
masak | m: say "...seunitnoc ycnappilf ehT".flip | 07:03 | |
camelia | rakudo-moar f80cc7: OUTPUT«The flippancy continues...» | ||
masak | in other news, I have developed a way to combine ROT13 and .flip to create even stronger industrial-grade involute encryption | 07:04 | |
azawawi | :) | 07:06 | |
TEttinger | arithmetic coding of the input string, then interpret the very very large number's nybbles as hex digits | ||
azawawi | .flip revolution | ||
i like atom... it was in beta for like 4 releases then it is stable lol | 07:08 | ||
07:08
zakharyas joined
|
|||
azawawi starts working on GTK::Simple again :) | 07:10 | ||
07:12
rurban1 joined,
rurban left
07:19
bjz joined
07:23
azawawi left
07:27
bjz left
|
|||
lizmat clickbaits p6weekly.wordpress.com/2016/06/06/...bisecting/ | 07:31 | ||
masak | \o/ | 07:32 | |
07:32
wamba joined
|
|||
moritz | lizmat++ | 07:33 | |
stmuk_ | you wouldn't believe how easier bisecting is! | ||
07:35
bjz joined
07:41
bjz left
07:42
dakkar joined
07:44
kurahaupo joined,
bjz joined
|
|||
lizmat | toons.gotblah.com/archive/9chickwe...7-0801.gif # too much kebab-case | 07:45 | |
kurahaupo | lizmat: sounds like a should-have-used-undescores-instead-of-hyphens problem... | 07:49 | |
07:52
RabidGravy joined
07:53
_28_ria left
07:57
_nadim joined
07:58
Humdai joined
|
|||
RabidGravy | boom! | 07:59 | |
07:59
domidumont left
08:04
domidumont joined
08:05
kurahaupo left,
domidumont left
08:06
rindolf left,
domidumont joined
08:09
kurahaupo joined
08:17
wamba left
|
|||
masak | m: say "!moob".flip | 08:20 | |
camelia | rakudo-moar f80cc7: OUTPUT«boom!» | ||
08:22
domidumont1 joined,
domidumont left
08:39
raiph left
08:43
NEveDko_ joined
|
|||
RabidGravy | I'm not going to do any gardening today | 08:45 | |
DrForr | Incidentally (re: liz's announcements) 2 of my P6 talks got accepted for Y::E. No arm twisting required :) | 08:47 | |
08:49
ocbtec joined
08:52
_nadim left
|
|||
masak | DrForr: cool! | 08:56 | |
08:56
bjz left
|
|||
masak | DrForr: which two talks, ooc? | 08:56 | |
DrForr | The two I haven't written yet :) "Ten Things you Need to Know about Perl 6" and "Inception in Perl 6: Design your own language". | ||
08:57
bjz joined
|
|||
masak | both sound promising :) | 08:57 | |
though the first one is clearly a listicle :P | |||
masak .oO( "listentation"? ) | |||
DrForr | Well, yeah, that was designed for OSCON London, where we're not necessarily guaranteed a P6 keynote. | 08:59 | |
09:04
domidumont1 left
|
|||
moritz | .oO( "Ten Things Perl 6 Needs to Know about You!" ) |
09:04 | |
09:05
_nadim joined,
domidumont joined
09:07
araujo joined
|
|||
RabidGravy | "I learned Perl 6, what happened next will shock you" | 09:09 | |
DrForr | And then morph into Aahnold live on stage. | 09:11 | |
RabidGravy | I may get the thing that is sorta kinda like SQL::Abstract if you squint at it somewhat working today | 09:12 | |
09:17
TEttinger left,
wamba joined
09:32
domidumont left
09:35
iH2O joined
09:37
domidumont joined
09:43
kurahaupo left
|
|||
literal | what's the current subroutine? I thought it was &?SUB... | 09:47 | |
oh, &?BLOCK | 09:50 | ||
jnthn | &?ROUTINE | 09:53 | |
09:54
dakkar left,
iH2O left
|
|||
RabidGravy | yeah, I think I'm right in say &?BLOCK will always be set, &?ROUTINE only in an actual, er, routine | 09:54 | |
09:56
luiz_lha joined
09:57
luiz_lha is now known as Guest52483,
Guest52483 is now known as luiz_lha
09:59
dakkar joined
10:00
rindolf joined
10:02
Emeric joined
10:03
Emeric left
10:06
Emeric joined
10:11
adhoc joined
|
|||
Timbus | uhhh okay this is a tough one. multi methods do not retain traits applied to them (using 'Routine does SomeRole' in a trait_mod) after the class is instantiated. I'm guessing the routine is copied or otherwise munged under the hood.. jnthn ? | 10:15 | |
10:16
yqt joined
|
|||
moritz | Timbus: how do you know? are you aware of the proto vs. candidate distinction? | 10:16 | |
jnthn | Timbus: Code illustrating the issue? | 10:17 | |
Timbus | time to golf.. | ||
jnthn | m: multi trait_mod:<is>(Routine:D $r, :$foo!) { $r does role { method foo() { 42 } } }; class C { multi method bar() is foo { } }; C.^lookup('bar').candidates[0].foo.say | 10:19 | |
camelia | rakudo-moar f80cc7: OUTPUT«42» | ||
jnthn | m: multi trait_mod:<is>(Routine:D $r, :$foo!) { $r does role { method foo() { 42 } } }; class C { multi method bar() is foo { } }; C.new.^lookup('bar').candidates[0].foo.say | ||
camelia | rakudo-moar f80cc7: OUTPUT«42» | ||
Timbus | m: gist.github.com/TiMBuS/3f3b23eabdb...01ba06282c | 10:25 | |
camelia | rakudo-moar f80cc7: OUTPUT«Applied role: method topping (Pizza $: *%_) { #`(Method+{Cheese}|56442840) ... }No longer cheesy?: method topping (::T $: | is raw) { #`(Method|56445728) ... }» | ||
10:26
Amnez777 joined
|
|||
Timbus | 'instantiated' was not correct.. did i mean finalized? | 10:26 | |
moritz, so the proto is getting in the way? | 10:27 | ||
if so, how do i get around it | |||
jnthn | .candidates like I showed above | 10:28 | |
10:28
Zero_Dogg left
|
|||
jnthn | A proto groups the multi methods with the same name | 10:29 | |
So you need to dig into the candidate lists also | |||
10:29
adhoc left,
Zero_Dogg joined,
Zero_Dogg left,
Zero_Dogg joined
|
|||
Timbus | ah, i geddit | 10:29 | |
jnthn | So, phew, no nasty MOP bug for me this time :) | ||
Timbus | i should also make an effort to remember ^lookup some time | ||
jnthn | Yeah, it's backed by a hash iirc so would also be faster :) | 10:30 | |
psch | traiting the proto should also work, no? | ||
or does that *only* hang on the proto then? | 10:32 | ||
jnthn | Only on the proto | ||
Timbus | while I've got you here, does lookup differ from find_method | 10:33 | |
jnthn | yes | 10:34 | |
find_method = give me a thing I can invoke to call the method | |||
lookup = give me the actual thing declared in the class | |||
Timbus | oh | ||
jnthn | (or role) | ||
For plain old classes it makes no difference | |||
For roles it does | |||
Because .^lookup gives you the Method object, where .^find_method gives you a closure that puns the role and calls the method on the pun | 10:35 | ||
Timbus | neat. | ||
jnthn | Also, things like OO::Monitors will show a difference; .^lookup works as in a class, while .^find_method gives you a thing that acquires the lock, calls the method, and releases the lock | ||
In $foo.bar(), it uses .^find_method | 10:36 | ||
In cases where you're going to do something other than blindly invoke the thing you get back (or keep it around for later invocation), lookup is the right thing. | |||
Timbus | yep, that sounds logical | 10:37 | |
last one: can I test if a method responds to a set of arguments without using: $multi.cando(Capture.new(list => [$args, $go, $here])) | |||
that's actually your code ^ | 10:38 | ||
10:38
sherwool joined
|
|||
gfldex | $multi.^signature ~~ :(Your, Signature, Literal) | 10:38 | |
Timbus | heck yes that is what I want | 10:39 | |
psch | note that compares Signatures, not arguements against parameters | 10:40 | |
gfldex | all that docing does make a few things stick | ||
you can test a list (of arguments) against the signature object or a signature literal | 10:41 | ||
psch | m: sub f($a, :$b) { }; say \(1, :2a) ~~ &f.signature | ||
camelia | rakudo-moar f80cc7: OUTPUT«False» | ||
psch | ...huh | ||
10:42
labster left
|
|||
psch | m: sub f($a, $b) { }; say \(1, 2) ~~ &f.signature | 10:42 | |
camelia | rakudo-moar f80cc7: OUTPUT«True» | ||
psch | i think nameds are broken (still? again?) in Signature.ACCEPTS :/ | ||
i remember trying to fix that and making it differently broken... /o\ | |||
oh no | |||
the Capture had :$a, not :$b >_> | 10:43 | ||
jnthn | It's not .^signature | ||
psch | m: sub f($a, :$b) { }; say \(1, :2b) ~~ &f.signature | ||
camelia | rakudo-moar f80cc7: OUTPUT«True» | ||
jnthn | Just .signature | ||
10:43
rurban_ left
|
|||
jnthn | Note that $multi.cando(Capture.new(list => [$args, $go, $here])) | 10:43 | |
psch | Timbus: ^^^ that tests "if i put these arguments into the invocation parens of f(), does it work?" | ||
jnthn | Is just a long spelling of | ||
Note that $multi.cando(\($args, $go, $here)) | 10:44 | ||
Timbus | yeah, already changed it to that jnthn :) | ||
jnthn | :) | ||
10:44
keix left
|
|||
Timbus | wonder how many years ago that wart was written | 10:44 | |
jnthn | Dunno :-) | ||
jnthn wanders off to make lunch :) | |||
psch | m: sub f($, $, :$a, *%) { }; say \(1, 2, :1a, :2b) ~~ &f.signature | 10:45 | |
camelia | rakudo-moar f80cc7: OUTPUT«True» | ||
psch | m: sub f($, $, :$a, *%) { }; sub g($, $, *%) { }; say &f.signature ~~ &g.signature; say &g.signature ~~ &f.signature | ||
camelia | rakudo-moar f80cc7: OUTPUT«TrueFalse» | ||
psch | ...i think that's correct | 10:46 | |
probably lizmat++ :) | |||
Timbus | neat | ||
10:47
keix joined
|
|||
psch | yeah, &g accepts more named combinations than &f, hence &f.signature cannot accept &g.signature | 10:47 | |
FSVO "more" - my math isn't good enough to talk about sizes of countable infinities :) | 10:48 | ||
masak | there's only one countable infinity, if that helps | 10:49 | |
well | |||
under the continuum hypothesis, at least :) | 10:50 | ||
psch | ah, so the value of "more" i was looking for was "the same amount of"..? | ||
masak | no, I think you're confused | ||
psch | probably, yes :) | ||
10:50
sherwool left
|
|||
masak | a set A can be "bigger" (as in "containing all the other's elements plus strictly its own elements") than a set B, while A and B both have countable-infinite cardinality | 10:51 | |
case in point: A integers, B even integers | |||
or A rationals, B integers | 10:52 | ||
or A Gaussian integers, B integers | |||
or A integers, B integers except 0 :) | 10:53 | ||
psch | hm, what the formal word for "bigger" there, ooc? | ||
masak | "superset" | ||
"(strict) superset", I guess | |||
psch | oh. yeah that makes sense | ||
i think i had learned this somewhen... | 10:54 | ||
10:54
huggable left,
huggable joined
|
|||
masak | of course, from a CT perspective, the superset relation is simply an embedding, that is, an injective function. the "(strict)" simply means it's not surjective. | 10:55 | |
masak .oO( thanks, Bourbaki! ) | |||
psch | i know these words from analysis. but i suspect CT (as "category theory", right?) is a generalization of that, isn't it? | 10:56 | |
masak | but yeah, the unintuitive part here is of course that "bigger"/"strict superset" doesn't automatically translate into a larger cardinality | ||
but that's infinities for ya | |||
yes, category theory | |||
yes, it's a generalization. but one we don't need here, since we're still in Set, so the words mean what they usually do, and can be defined in terms for elements. | |||
of* | 10:57 | ||
10:57
iH2O joined,
yqt left
|
|||
psch | fwiw, i used to be somewhat annoyed that 'A is a superset of B' can include equivalence. i'd always thought "wouldn't it be more sensible to make the equivalence the exception that has to be specifically named?", but i think examining exactly that with a set theoretical perspective shows why it wouldn't work | 11:01 | |
because a "non-strict superset" wouldn't be part of the set "superset" if "superset" couldn't by default mean "non-strict superset" | |||
masak | yeah, it's a little bit of a historical accident, I guess | 11:02 | |
psch | so it shouldn't be called "superset" at all, but that probably breaks something somewhere | ||
masak | I don't care about the exact terminology, but I'm very much in favor of using ⊃ and ⊇ instead of ⊋ and ⊃ | 11:03 | |
because the former is strangely consistent with > and ≥ | |||
psch | yeah, i think i agree with that | 11:07 | |
the words used to descripe the symbols don't change what the symbols mean i suppose | 11:08 | ||
11:09
dakkar left
|
|||
psch | which, of course, is an underqualified statement illustrating the exact same concept vOv | 11:09 | |
11:10
dakkar joined
|
|||
masak | in a way, "subset" and "superset" including the non-strict endpoints makes sense if you think about those relations as being defined on a poset of the power set of a set | 11:10 | |
m: sub powerset(Set $s) { $s.combinations.map(*.Set).Set }; say powerset(set <a b c d>) # rosettacode.org/wiki/Power_set#Perl_6 | 11:11 | ||
camelia | rakudo-moar f80cc7: OUTPUT«set(set(), set(c), set(b, d), set(a, c, d), set(b), set(c, b), set(a, d), set(a, c, b), set(a, c), set(c, d), set(a, c, b, d), set(a, b), set(a), set(d), set(a, b, d), set(c, b, d))» | ||
masak | m: .say for <a b c d>.combinations | ||
camelia | rakudo-moar f80cc7: OUTPUT«()(a)(b)(c)(d)(a b)(a c)(a d)(b c)(b d)(c d)(a b c)(a b d)(a c d)(b c d)(a b c d)» | ||
11:12
rurban_ joined
|
|||
psch | i don't know if grok posets | 11:16 | |
RabidGravy | If I have something that is basically like "my $a = gather { loop { take $++ } }; my $b = gather { loop { take 1; } }; say $a Z+ $b" is there a way of making the result lazy too? | 11:17 | |
psch | i mean, the wikipedia illustration makes it seem obvious enough, but not getting the formalisim has caused me trouble before... :) | ||
-i | |||
11:20
Peter_R left
11:22
Peter_R joined
11:26
Hor|zon_ joined
|
|||
llfourn | .seen nine | 11:29 | |
yoleaux | I saw nine 5 Jun 2016 20:30Z in #perl6: <nine> jdv79: details? | ||
11:30
Hor|zon left
|
|||
llfourn | .tell nine I've tested the bugfix branch, results: RT #128156. Sorry I didn't respond sooner. I only just saw your request for tests. RT doesn't seem to be forwarding me follow-ups for this thread for some reason =(. | 11:33 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128156 | ||
yoleaux | llfourn: I'll pass your message to nine. | ||
11:33
yqt joined
11:34
noninc joined
11:36
Actualeyes left
11:38
kid51 joined
11:41
iH2O left
|
|||
masak | psch: a poset is a graph with a node at the top, a node at the bottom, and arrows flowing upwards in some way. maximum one arrow per pair of nodes. no cycles. | 11:43 | |
psch: think of it as a comparison relation (<) but in which not all elements are thus related. | 11:44 | ||
arnsholt | The requirement for top and bottom makes it a lattice, no? | 11:48 | |
Isn't a poset just a set and an ordering relation that only applies to some of the pairs? | |||
masak | sir, you are right | 11:53 | |
which means I meant that the subtype relation is a lattice, not just a poset | |||
moritz | .oO( all this talking about lettuce makes me hungry ) |
11:56 | |
masak .oO( the category of foods and their eating morphisms ) | 11:57 | ||
12:02
Actualeyes joined
12:03
nadim joined
12:07
_nadim left
12:20
sufrostico joined
12:22
cdg joined
12:28
buharin joined
|
|||
buharin | hello :) | 12:28 | |
hello, mst | |||
llfourn | m: say ((loop { rand }) Z+ (loop { rand }))[^5] | ||
camelia | rakudo-moar f80cc7: OUTPUT«(1.29943248222776 1.14259849468707 1.46778136646121 1.71353050598134 0.754666288049909)» | ||
llfourn | RabidGravy: Z seems to hadnle lazyness fine | 12:29 | |
m: say ((loop { $++ }) Z+ (loop { $++ }))[^5] | |||
camelia | rakudo-moar f80cc7: OUTPUT«(0 0 0 0 0)» | ||
llfourn | though state variables aren't wroking for me | 12:30 | |
m: my $a = 1; say ((loop { $a++ }) Z+ (loop { $a++ }))[^5] | |||
camelia | rakudo-moar f80cc7: OUTPUT«(3 7 11 15 19)» | ||
12:32
torbjorn joined
|
|||
timotimo | wow, that's ... interesting | 12:33 | |
oh, it's Z+ | |||
i thought it was Z, | |||
perlpilot | m: say ((loop { (state $a++) }) Z+ (loop { $a++ }))[^5]; # <--- *that* is interesting | 12:34 | |
camelia | rakudo-moar f80cc7: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QRxtE927QpVariable '$a' is not declaredat /tmp/QRxtE927Qp:1------> 3ay ((loop { (state $a++) }) Z+ (loop { 7⏏5$a++ }))[^5]; # <--- *that* is intere» | ||
perlpilot | Hrm. maybe not. | ||
timotimo | yeah, lexical variables :) | ||
perlpilot | oh, I see. Locally, I accidentally declared two $a state vars | ||
timotimo | not available outside its curlies | ||
perlpilot | yeah, I was wondering why it wasn't complaining locally | ||
camelia++ | 12:35 | ||
12:43
AlexDaniel joined
12:44
Sgeo_ left
12:47
molaf joined
12:56
cdg left
|
|||
[Coke] | good morning, you wonderful perl people. | 12:56 | |
(rt not emailing) you'll get emails if you're on the compiler list and someone specifically clicks the box or replies-all via email or you opened the ticket ) AND ( someone picked reply, not comment | 12:58 | ||
13:02
noninc_ joined
13:04
noninc left
13:05
stevieb9 left
|
|||
gregf_ | m: say qw|foo bar| Z~ qw|h1 h2| | 13:05 | |
camelia | rakudo-moar f80cc7: OUTPUT«(fooh1 barh2)» | ||
masak | m: say qw|foo bar| X~ qw|h1 h2| | 13:07 | |
camelia | rakudo-moar f80cc7: OUTPUT«(fooh1 fooh2 barh1 barh2)» | ||
masak .oO( don't use Y~ because it forks the universe and runs your program in both subuniverses, but you can't merge them afterwards ) | 13:08 | ||
gregf_ | so deadlocks? | 13:09 | |
anyways, i was wondering if there was any specific usecase for 'multi trait_mod:<is>' | 13:10 | ||
s/for/for using/ | |||
masak | gregf_: you mean besides the many examples in src/core ? ;) | ||
gregf_: I think `is cached` is a fairly representative use case. | |||
gregf_ | masak: sure, those docs are excellent. that said, what do those try to achieve? | 13:11 | |
i could see quite a few of those in the docs | |||
masak | gregf_: I'm afraid I don't quite understand your question | 13:12 | |
gregf_ | say i have a trait/role/whatever:multi trait_mod:<is>(Routine:D $r, :$foo!) { say $r.^name; } and a class Foo { multi method bar() is foo { }} <== would that method override the class method? | ||
masak | gregf_: you are asking when one would be tempted to go for a `trait_mod:<is>` rather than other abstractions? | ||
"override the class method"? | 13:13 | ||
`is` decorates a thing rather than overriding it | |||
gregf_ | masak: well where do those traits fit in the whole thing. i know what inheritance is, i know about delegation but where would a 'multi trait_mod' fit in? | ||
llfourn | [Coke]: re: rt not mailing, ah thanks for the info. | 13:14 | |
gregf_ | ah - decorator :)... | ||
masak | gregf_: a routine has 0..* traits | ||
timotimo | yeah, the trait just gets called at compile time and gets the method passed to it | ||
that's all | |||
masak | gregf_: as the trait gets *applied*, its code runs and it has the chance to run side effects, including mixing roles into the routine, etc | ||
decommute & | 13:15 | ||
13:17
rurban joined
|
|||
gregf_ | masak: timotimo thanks | 13:18 | |
13:19
Actualeyes left
13:20
rurban1 left
13:21
skids joined
|
|||
RabidGravy | gregf_, thousands of uses, see e.g. my AccessorFacade module | 13:21 | |
also, JSON::Marshal, JSON::Unmarshal, XML::Class (and I'm grepping the rest of my modules as I type) | 13:23 | ||
gregf_ | RabidGravy: sure, thanks | 13:25 | |
RabidGravy | Oh Tinky, the forthcoming Sofa and a few other places | ||
I tend to use it quite a lot for most of the reasons given above and others | 13:26 | ||
13:27
grassass left
|
|||
timotimo | oh, what's tinky? | 13:27 | |
also, isn't that logging module yours? the one that can stream log data to a html "app"? | |||
RabidGravy | a sort of workflowy, state machiney thing | ||
timotimo | you may want to list it in the most wanted in a place | ||
RabidGravy | Lumberjack | ||
it's quite a lot quicker now I ditched Staticish and implemented the highlander stuff internally so I didn't have to get fancy and it can be precompiled | 13:29 | ||
timotimo | oh? | ||
RabidGravy | there's a bug, if you .wrap at compile time in a module, the wrapped target doesn't survive precompilation | 13:30 | |
timotimo | oh, damn | 13:31 | |
RabidGravy | it also afflicts OO::Monitors | ||
timotimo | dang :( | 13:32 | |
13:32
Actualeyes joined
|
|||
RabidGravy | rt.perl.org/Ticket/Display.html?id=125634 is an example but there's a bunch of them | 13:33 | |
timotimo | right :\ | 13:34 | |
13:34
tbrowder joined
|
|||
RabidGravy | or rt.perl.org/Ticket/Display.html?id=127860 | 13:36 | |
but yeah, it appears there is a category of fail whereby a has &!foo does not survive precompilation | 13:37 | ||
13:38
tbrowder left
13:41
grassass joined
13:43
yqt left
13:45
kid51 left
13:47
vytas joined
|
|||
timotimo | .join #perl6-noise-gang | 13:54 | |
yoleaux | timotimo: Sorry, this command is admin-only. | ||
timotimo | hmm | ||
13:55
girafe joined
13:56
araujo left
14:00
cdg joined
|
|||
dalek | sectbot: b25b19c | (Aleks-Daniel Jakimenko-Aleksejev)++ | README.md: Changed README according to the latest commit Demonstrates some warnings that you may see |
14:00 | |
14:01
_mg_ left
14:03
_mg_ joined,
_mg_ left
14:14
rurban1 joined
14:15
baest joined,
rurban left
14:18
rurban joined
14:19
rurban1 left
14:22
kid51 joined
14:23
tbrowder joined
|
|||
tbrowder | hi, p6 people | 14:24 | |
if this is a bug, I'm prepared to file it: | |||
m: use Test; plan 1; skip "skip"; ok True; | |||
camelia | rakudo-moar f80cc7: OUTPUT«1..1ok 1 - \# SKIP skipok 2 - # Looks like you planned 1 test, but ran 2» | ||
tbrowder | Shouldn't the skip function not count as a test? | 14:25 | |
timotimo | i think you run skip instead of ok or nok | ||
moritz | yes, that's right | ||
timotimo | for the perl6 spec test suite we have a "fudger" that turns test calls into skip calls or todo calls | 14:26 | |
tbrowder | the docs are not clear about that | ||
timotimo | ok. they ought to be. | ||
however | |||
how are you going to skip something like "ok spurt 'foobar.txt', 'heya!'" | |||
tbrowder | to me, skip means you don't execute it | ||
moritz | if $implemented { ok 'foobar.txt', 'heya!'" } else { skip 'Not yet implemented' } | 14:27 | |
timotimo | yeah, but how is the Test module supposed to make that happen? | ||
moritz | it can't do flow control | 14:28 | |
tbrowder | then what is the intent of "todo"? | 14:29 | |
timotimo | turns an nok into an ok, and an ok into a nok | 14:30 | |
but just by adding a # TODO at the end of the output | |||
[Coke] | todo still runs the test. | ||
timotimo | i.e. the tap parser expects a line with a # TODO at the end to start with "nok" in order to pass, otherwise that test fails | ||
tbrowder | anyhoo, I'll take a look at tweaking the docs on skip... | 14:31 | |
timotimo | cool | ||
tbrowder | whoops, what about this example: | 14:34 | |
m: use Test; plan 1; my $test-it = False; if !$test-it { skip "skip"; } else { ok True; } | |||
camelia | rakudo-moar f80cc7: OUTPUT«1..1ok 1 - \# SKIP skip» | ||
moritz | I wonder if it's intentional that that # is escaped | 14:35 | |
14:35
khw joined
|
|||
tbrowder | my bad: wrong example... | 14:35 | |
moritz | nothing wrong with your example | 14:37 | |
I think it might be a bug in Test.pm6 | |||
but I'm not sure | |||
14:37
M-Illandan left
|
|||
tbrowder | moritz: I know, but I confused it with what I thought was a bad example--please ignore the whoops comment | 14:38 | |
14:44
vytas left
|
|||
hoelzro | .tell lizmat any thoughts on irclog.perlgeek.de/perl6-dev/2016-0...i_12621041 ? | 14:47 | |
yoleaux | hoelzro: I'll pass your message to lizmat. | ||
14:48
kid51 left
14:49
zacts left
|
|||
tbrowder | timotimo: can you please give a simple example of proper use of the Test "todo" function? | 14:49 | |
timotimo | *shrugs*, i've never used it myself. i always relied on the fudger to put it into place for me | 14:50 | |
tbrowder | well please show how to tell the fudger to do that | 14:51 | |
timotimo | that's not for the docs, though | ||
14:51
azawawi joined
|
|||
perlpilot | tbrowder: doc.perl6.org/language/testing#Skipping_tests | 14:52 | |
timotimo | that's a tool proprietary to the spec test suite | ||
azawawi | m: "ih".flip.say # :) | ||
camelia | rakudo-moar f80cc7: OUTPUT«hi» | ||
14:52
_mg_ joined
14:54
huggable left,
huggable joined
14:55
_nadim joined
|
|||
AlexDaniel | m: say [R~] comb ‘ih’: # :D | 14:55 | |
camelia | rakudo-moar f80cc7: OUTPUT«hi» | ||
azawawi | AlexDaniel: :) | 14:56 | |
AlexDaniel | m: say [R~] comb %*ENV<ME>: # :D | ||
camelia | rakudo-moar f80cc7: OUTPUT«leinaDxelA» | ||
14:56
nadim left
|
|||
azawawi | pasteboard.co/1vvJzXob.png # github.com/azawawi/gtk-simple/blob...derbar.pl6 | 14:58 | |
RabidGravy | azawawi++ # pwetty | 15:00 | |
15:00
zacts joined
15:01
M-tadzik joined
|
|||
azawawi | RabidGravy: tanks :) | 15:02 | |
azawawi next stop developer.gnome.org/gtk3/stable/Gt...utton.html :) | 15:03 | ||
15:04
yqt joined
15:06
domidumont left
|
|||
RabidGravy | I thought we had radio buttons already | 15:06 | |
15:07
rurban_ left
|
|||
tbrowder | timotimo: looks like "fudger" always works: | 15:09 | |
m: use Test; my $my-pi = 3; todo 'not good'; is $my-pi, pi, 'my-pi'; | |||
camelia | rakudo-moar f80cc7: OUTPUT«not ok 1 - my-pi# TODO not good# Failed test 'my-pi'# at /tmp/SFcZE0Hkqd line 1# expected: '3.14159265358979'# got: '3'» | ||
timotimo | no, the fudger is a separate program that acts as a pre-processor to perl6 code | 15:10 | |
github.com/perl6/roast/blob/master.../pod.t#L10 - random example | |||
15:11
kurahaupo joined
|
|||
tbrowder | timotimo: okay, thanks | 15:12 | |
15:13
M-tadzik is now known as tadzik
15:16
alnewkirk joined
15:18
nadim joined
|
|||
azawawi | RabidGravy: we have developer.gnome.org/gtk3/stable/Gt...utton.html | 15:21 | |
RabidGravy | ah | ||
15:22
_nadim left,
_nadim joined
15:23
nadim left
15:24
_nadim left
15:25
ssotka joined
15:27
_nadim joined
15:32
aries_liuxueyang left
15:34
aries_liuxueyang joined
|
|||
azawawi feels dizzy because of all-day fasting... later & :) | 15:37 | ||
15:39
araujo joined,
azawawi left,
nadim joined
|
|||
[Coke] hopes azawawi is ok. Coke tries to time his fasting so it ends with breakfast when has to for medical stuff. Did it once to end in the afternoon, it was horrible. | 15:40 | ||
15:41
_nadim left
|
|||
timotimo | potentially ramadan? | 15:41 | |
15:42
_nadim joined
|
|||
RabidGravy | yaw | 15:42 | |
masak | I just assumed it was | ||
TimToady | we have have a senate candidate in california who actually believes there are orbital mind control lasers; I don't think I'll vote for her... | ||
15:42
M-matthew joined,
M-Illandan joined
|
|||
RabidGravy | every once in a while I have to have a blood test that requires a 24hour fast, it sucks | 15:42 | |
perlpilot | I imagine summertime ramadan is the worst because of the long days | ||
15:43
pmurias joined
|
|||
RabidGravy | well in theory it's the time in Mecca so it's nearer the equator | 15:43 | |
but in other news: | 15:44 | ||
perl6 -Ilib -e 'use Squirrel; say Squirrel.new().update("foo", { bar => 1, baz => 2}, where => foo => "bar",).perl' | |||
("UPDATE foo SET bar = 1, baz = 2 WHERE ( foo = ? )", ["bar"]) | |||
pmurias | TimToady: if she is right, you will vote for her anyway ;) | ||
15:45
nadim left
|
|||
RabidGravy | or "that's exactly what they want you to think" | 15:45 | |
15:47
Actualeyes left
15:49
khisanth__ joined
|
|||
RabidGravy | "Method 'mao' not found for invocant of class 'List'" - PAPER TIGER IMPERIALIST COMPUTER DOG! | 15:51 | |
15:53
khisanth_ left
|
|||
grondilu | I once tried a three-days fast. That was really not fun. | 15:55 | |
profan | perlpilot: ramadan in sweden must be "fun" | 15:58 | |
sort of sundown at 10PM, sunrise at 03:35 | |||
if youre in the polar circle, ehh | 15:59 | ||
16:00
Fleurety joined
|
|||
grondilu | depends if it's winter of summer though | 16:00 | |
geekosaur wonders if they make adaptations | 16:03 | ||
16:03
mohae_ left
|
|||
perlpilot | the only muslims I know of in the USA use local sun up/down for ramadan. Not sure if that's widely common or just particular to the people I know | 16:05 | |
16:07
_mg_ left
|
|||
timotimo | none of the muslin i know cares about sunrise or sundown | 16:09 | |
or eating | |||
perlpilot | that's because it's just clothes | 16:10 | |
timotimo | .o( so dehumanizing ) | ||
ilmari | www.theatlantic.com/international/a...et/277834/ | 16:11 | |
16:12
itaipu joined,
Hor|zon_ left
|
|||
perlpilot | Keeping track of sun rise/set in Mecca sounds like a good strategy | 16:13 | |
16:14
Hor|zon joined
16:20
nadim joined
16:21
_nadim left
16:26
keix left
16:28
kaare_ joined
|
|||
arnsholt | In Oslo the fast is apparently 20 hours per day this year, which is pretty brutal | 16:28 | |
16:31
sno left
16:39
dakkar left
16:43
_nadim joined
16:45
nadim left
|
|||
gregf_ | a Bible fast would be a 24 hour day afaik ;) | 16:48 | |
16:48
nadim joined
16:49
Humdai left
|
|||
timotimo | like one of those days god took to build universal things? | 16:50 | |
16:51
_nadim left
|
|||
masak .oO( like Universal Studios ) | 16:52 | ||
geekosaur | yom kippur fast is 25 hours (one day plus time added on both ends, typically 18 minutes before and enough until after for "3 medium-sized stars" to be visible) | ||
gregf_ | i guess.. tho' on today, 24 hours are like 2 hours | 16:53 | |
'yom kippur' is passover i guess? | |||
geekosaur | and day defined as sunset to sunset | ||
no | |||
day of atonement, 9 days after the Jewish new year | |||
16:54
lizmat joined
|
|||
geekosaur | Judaism has a bunch of part-day fasts (sunrise to sunset) but only two full day fasts: yom kippur and tisha be-av (the latter rabbinical so there is a little flexibility) | 16:55 | |
huf_ | gregf_: passover is more ~~ easter | 16:56 | |
but after all these years, there's not too much correspondence :) | |||
geekosaur | there is a part-day fast before passover for some (fast of the firstborn), but the main feature of passover is no leavened bread | ||
huf_ | and an insanely complicated dinner :) | 16:57 | |
92 courses, each with its own symbolism | |||
geekosaur | only the first night (or first two outside Israel) --- but yes, there's a reason its name translates as "order" (in the sense of an ordered list) | ||
("seder" that is, for the meal) | 16:58 | ||
huf_ | my most vivid memory about the whole thing is the pun we made on the honey/walnut thing | ||
16:59
_nadim joined
|
|||
huf_ | en.wikipedia.org/wiki/Charoset kiiiinda sounds like "hajszesz" (hair tonic?) | 16:59 | |
that and i can still hear a child's voice singing "Ma nishtana ha lyla ha zeh mikkol hallaylot?" :) | 17:01 | ||
17:01
cdg left
|
|||
masak | getting those "Missing or wrong version of dependency" errors on a many-a-daily basis now | 17:01 | |
is there any way I can turn off precomp? it's delivering more error messages than speedup at present for me | 17:02 | ||
17:02
nadim left
17:10
luiz_lha left
17:19
nadim joined,
_nadim left
17:21
zakharyas left
17:22
sno joined
17:23
_nadim joined,
spintronic joined
17:25
nadim left
17:26
nadim joined
17:27
domidumont joined
17:28
_nadim left
|
|||
grondilu | masak: "no precompilation;"? | 17:28 | |
[Coke] | masak: are you using rakudo HEAD? or a slightly older version? | 17:30 | |
masak | [Coke]: very nearly rakudo HEAD | ||
This is Rakudo version 2016.05-54-g48fe6ae built on MoarVM version 2016.05-17-g6075599 | 17:31 | ||
17:31
spintronic left
|
|||
masak | [Coke]: FROGGS reported the same issue to RT yesterday | 17:31 | |
17:33
_mg_ joined
17:34
spintronic joined
17:35
spintronic_ joined
17:38
spintronic_ left,
spintronic left
|
|||
RabidGravy | m: my $a = ( -foo => 1, ); # could this be made to say "did you mean to quote '-foo'"? | 17:39 | |
camelia | rakudo-moar f80cc7: OUTPUT«Cannot call Numeric(Pair: ); none of these signatures match: (Mu:U \v: *%_) in block <unit> at /tmp/mNx8CRXxMj line 1» | ||
tbrowder | timotimo: ref test funcs 'todo' and 'skip*", see pull request <github.com/perl6/doc/pull/564> | 17:41 | |
perlpilot | RabidGravy: or ... could it be made to just work? :) | ||
17:41
khisanth__ left
17:44
nadim left
17:45
yqt left
|
|||
timotimo | tbrowder: i don't like this part: "two separate parts of an if/else construct" | 17:45 | |
tbrowder | what do you suggest? | 17:46 | |
timotimo | for example, you could have a list of tests that you might have thrown some out in an earlier step, and then to make the number of tests correct, you mention them with "skip" again | ||
"note that if you use skip to mark a test as skipped, you must also prevent that test from running"? | |||
something like that, except more grammar | |||
tbrowder | okay, I'll fiddle with that; anything else? | 17:47 | |
RabidGravy | perlpilot, I'm kind of relaxed about that, but the error had me confused and I'd copied a large data structure from P5 so it took me ages to find the actual problem | 17:48 | |
timotimo | i wonder why there's a change in there that does nothing but add a trailing space to a line :) | ||
likewise with exit; you could also have skip-rest in one branch of an if/else and the tests themselves in another. then you don't need exit() | 17:49 | ||
tbrowder | okay, you want more complicated examples then... | 17:50 | |
timotimo | not sure | 17:52 | |
but it sounds like only exit can be used here | |||
perlpilot | RabidGravy: It's a one line addition either way ... sub prefix:<->(Pair $p) { "-$p.key()" } or sub prefix:<->(Pair $p) { fail "Did you mean to quote -$p.key()?" } | 17:53 | |
timotimo | perlpilot: "-$p.key()" => $p.value, of course :) | ||
perlpilot | oops, yeah | ||
RabidGravy | ooh I hadn't thought of the former | 17:54 | |
perlpilot | I was thinking too much about quoting and not enough about returning the right value :) | ||
RabidGravy | but yeah that would be cool, it's a surprising common thing | ||
timotimo | i think you'd really only want it to happen when the pair is syntactic | ||
tbrowder | timotimo: ref 'extra space at EOL', looks like a finger fumble | 17:55 | |
timotimo | also, you now get -$p, but not --$p :) | ||
RabidGravy | but, that is how I'm going to save myself from having to edit this massive data structure :) | 17:56 | |
perlpilot | RabidGravy: you've got perl ... no need to hand edit it :) | 17:57 | |
18:01
rurban left
18:07
setty1 joined
|
|||
tbrowder | timotimo: please take another look at pull #564 | 18:07 | |
18:08
pmurias_ joined
|
|||
timotimo | that looks better | 18:09 | |
the travis check will take quite a bit of time to finish, though | 18:10 | ||
history says about 15 minutes | |||
but the chaneg looks so innocent, i don't think it'd break anything :) | |||
18:11
pmurias left
18:13
llfourn joined
18:15
pmurias_ left
18:20
lizmat left
18:22
rindolf left
18:25
lizmat joined
|
|||
lizmat | . | 18:28 | |
yoleaux | 14:47Z <hoelzro> lizmat: any thoughts on irclog.perlgeek.de/perl6-dev/2016-0...i_12621041 ? | ||
lizmat | m: say Inf.Rat | ||
camelia | rakudo-moar f80cc7: OUTPUT«Inf» | ||
lizmat | m: say Inf.Rat.Num | ||
camelia | rakudo-moar f80cc7: OUTPUT«Inf» | ||
dalek | c: 11a1b16 | (Tom Browder)++ | doc/Language/testing.pod: add an example output for 'todo'; add notes about 'skip' and 'skip-test' usage |
18:29 | |
c: fcc8e00 | (Tom Browder)++ | doc/Language/testing.pod: improve explanations for skip funcs per timotimo; remove spurious space at EOL |
|||
c: 5a51785 | RabidGravy++ | doc/Language/testing.pod: Merge pull request #564 from tbrowder/test-skip add an example output for 'todo'; add notes about 'skip' and 'skip-te… |
|||
RabidGravy | there | ||
lizmat | m: say NaN.Rat == NaN | ||
camelia | rakudo-moar f80cc7: OUTPUT«False» | ||
lizmat | m: say NaN.Rat === NaN | 18:30 | |
camelia | rakudo-moar f80cc7: OUTPUT«False» | ||
lizmat | hmmm | ||
m: say NaN.Rat.nude | |||
camelia | rakudo-moar f80cc7: OUTPUT«(NaN 0)» | ||
parabolize | Is there a REPL for perl6 bloated with ridiculous features? Something like Reply, pry or SLIME? In particular something allowing quick transfer of functions from a text editor to a REPL. | 18:31 | |
lizmat | m: say NaN == NaN | 18:33 | |
camelia | rakudo-moar 1254bb: OUTPUT«False» | ||
lizmat | m: say Inf.Rat == Inf | ||
camelia | rakudo-moar 1254bb: OUTPUT«True» | ||
llfourn | parabolize: not that I know of | 18:34 | |
lizmat | m: say (-Inf).Rat == -Inf | ||
camelia | rakudo-moar 1254bb: OUTPUT«True» | ||
timotimo | parabolize: there's beginnings of a Jupyter kernel | ||
lizmat | .tell hoelzro I think NaN.Rat == NaN gives False like it should, just like NaN == NaN, Inf.Rat / -Inf.Rat just DWIM now | 18:35 | |
yoleaux | lizmat: I'll pass your message to hoelzro. | ||
18:36
vendethiel left
18:43
rindolf joined
18:47
labster joined
18:48
patrickz joined,
cdg joined
18:54
huggable left,
huggable joined
18:55
aries_liuxueyang left
18:56
aries_liuxueyang joined
19:05
noninc_ left
19:10
Khisanth joined
19:20
araujo_ joined
19:24
araujo left
|
|||
llfourn | m: say "\n" ~~ /\n<?after [\n<.ws>]>/ # why doesn't this work? | 19:26 | |
camelia | rakudo-moar 1254bb: OUTPUT«Nil» | ||
llfourn | m: say "\n" ~~ /\n<?after [\n]>/ # but this does... | ||
camelia | rakudo-moar 1254bb: OUTPUT«「」» | ||
llfourn | m: say "\n" ~~ /\n<?after [<.ws><.ws>]>/ # and so does this | 19:27 | |
camelia | rakudo-moar 1254bb: OUTPUT«「」» | ||
19:27
darutoko left
|
|||
arnsholt | parabolize: Not really, no. There's an initial IPython/Jupyter kernel, but it's still very much a work-in-progress | 19:30 | |
19:31
itaipu left
19:32
itaipu joined
19:35
ocbtec left
19:38
rvchangue joined
19:47
domidumont left
19:53
rvchangue left
19:55
rvchangue joined
19:57
itaipu left
19:58
itaipu joined
20:00
TEttinger joined
20:05
itaipu left
|
|||
timotimo | llfourn: ws might have an assertion or something | 20:14 | |
20:14
firstdayonthejob joined
|
|||
llfourn | timotimo: hmm where's the definition of <ws>? | 20:14 | |
nvm I think I found it in Grammar.nqp.. | 20:15 | ||
is it the same? | 20:16 | ||
ah no there's a method ws in Grammar.nqp | 20:18 | ||
(Perl6::Grammar) | |||
timotimo | right | 20:19 | |
llfourn | there's quite a lot going on there | 20:20 | |
there is a <!ww> assertion... | |||
maybe I shouold just define my own <ws> to see if that /\n<?after [\n<.ws>]>/ DWIM | 20:22 | ||
that makes* | |||
20:24
_mg_ left
20:28
Emeric left
20:31
yqt joined
|
|||
llfourn | nope it looks like a bug in <?after ...> | 20:32 | |
m: my token foo { [\h|\v]* }; say "\n" ~~ /\n<?after [\n<foo>]>/ # this should work | |||
camelia | rakudo-moar 1254bb: OUTPUT«Nil» | ||
20:33
lizmat left
|
|||
llfourn | m: my token foo { .? }; say "\n" ~~ /\n<?after [\n<foo>]> # even this doesn't work | 20:33 | |
camelia | rakudo-moar 1254bb: OUTPUT«5===SORRY!5===Regex not terminated.at /tmp/EtQUMc6p65:1------> 3fter [\n<foo>]> # even this doesn't work7⏏5<EOL>Unable to parse regex; couldn't find final '/'at /tmp/EtQUMc6p65:1------> 3fter [\n<foo>]> # even this doesn't work…» | ||
llfourn | m: my token foo { .? }; say "\n" ~~ /\n<?after [\n<foo>]>/ # even this doesn't work | 20:34 | |
camelia | rakudo-moar 1254bb: OUTPUT«Nil» | ||
llfourn | m: my token foo { <?> }; say "\n" ~~ /\n<?after [\n<foo>]>/ # this? | ||
camelia | rakudo-moar 1254bb: OUTPUT«「」» | ||
20:34
mohae joined
|
|||
llfourn | I will RT unless anyone has an arugment this isn't a bug? | 20:35 | |
perlpilot | Better to RT it anyway. | 20:36 | |
(looks like a bug to me though, +1 for RT) | |||
llfourn goes to send an RT | 20:37 | ||
hoelzro | lizmat: okie dokes | 20:38 | |
yoleaux | 18:35Z <lizmat> hoelzro: I think NaN.Rat == NaN gives False like it should, just like NaN == NaN, Inf.Rat / -Inf.Rat just DWIM now | ||
dogbert17 | o/ #perl6 | 20:43 | |
20:44
rurban joined
|
|||
dogbert17 | m: my %e = Map.new("a", 1, "b", 2); say %e.WHAT # why do I get Hash instead of Map? | 20:45 | |
camelia | rakudo-moar 1254bb: OUTPUT«(Hash)» | ||
dogbert17 | m: my %e := Map.new("a", 1, "b", 2); say %e.WHAT # this works though | 20:46 | |
camelia | rakudo-moar 1254bb: OUTPUT«(Map)» | ||
20:46
spider-mario joined
|
|||
moritz | because hash assignment is coercive | 20:46 | |
which allows you to write | |||
my %e = a => 1, b => 2; say %e.^name | 20:47 | ||
m: my %e = a => 1, b => 2; say %e.^name | |||
camelia | rakudo-moar 1254bb: OUTPUT«Hash» | ||
moritz | if it weren't coercive, you'd get a type check error :-) | ||
m: my %e is Map = Map.new("a", 1, "b", 2); say %e.^name | |||
camelia | rakudo-moar 1254bb: OUTPUT«Map» | ||
moritz | m: my %e is Map = "a", 1, "b", 2; say %e.^name | ||
camelia | rakudo-moar 1254bb: OUTPUT«Map» | ||
moritz | dogbert17: ^^ | 20:48 | |
dogbert17 | moritz: many thanks, must look at this for a while :) | ||
20:50
Zero_Dogg left,
Zero_Dogg joined,
Zero_Dogg left,
Zero_Dogg joined
|
|||
dogbert17 | moritz: is it possible to put constraints, e.g. that all values are Int ? | 21:03 | |
21:03
skids left
|
|||
dogbert17 | on a Map object | 21:03 | |
moritz | m: say Map[Int] | 21:05 | |
camelia | rakudo-moar 1254bb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EOLD7cd4dTMap cannot be parameterizedat /tmp/EOLD7cd4dT:1------> 3say Map[Int]7⏏5<EOL>» | ||
moritz | dogbert17: no, seems to be only work for hash | ||
s/be / | |||
s/be // | |||
dogbert17 | moritz: thx, the reason for asking is that Map seems to have an 'of' method | ||
moritz | m: say Associative.^methods(:local) | 21:07 | |
camelia | rakudo-moar 1254bb: OUTPUT«(of)» | ||
moritz | yes, because it does role Associative :/ | ||
dogbert17 | so it will only return (Mu) at all times then | 21:08 | |
moritz | aye | ||
sleep& | |||
dogbert17 | godd night moritz and thx for the help | ||
21:10
Ven joined
|
|||
perlpilot looks at the docs on Map | 21:12 | ||
It's weird that the methods supplied by roles aren't listed with the other methods. | |||
21:18
patrickz left
21:30
keix joined
21:31
captain-adequate left
21:32
TEttinger left,
tharkun joined
21:34
kaare_ left
21:43
kid51 joined
|
|||
dogbert17 | Have another doc gist that needs looking over. Its for Baggy.kxxv. gist.github.com/dogbert17/1762f039...725acfc73d | 21:44 | |
21:45
rurban1 joined
21:46
rurban left,
rurban1 left
21:55
lockdown joined
|
|||
tony-o | RabidGravy: any more input on modules.zef.pm ? | 21:58 | |
RabidGravy: i'm thinking of running 'prove' on all of the modules so i can provide some kind of 'passing' flag or a log of the failures if it fails | 21:59 | ||
21:59
lockdown left
|
|||
jdv79 | tony-o: when would it run? | 22:00 | |
tony-o | jdv79: upon a succesful repo pull and when i update the perl6 version on the machine | ||
it's running on debian, currently | 22:01 | ||
RabidGravy | well, there's a good chance that half my modules would fail as they have external dependencies | ||
tony-o | i wonder if travis has an API - then i can handle things like external libs | ||
gtk, etc. - hah, RabidGravy beat me to it | |||
RabidGravy: if it's just p6 depends then i can handle that | 22:02 | ||
jdv79 | when would you pull? | ||
i imagine you meant a pull with contents | |||
tony-o | jdv79: i pull from repos every 5 minutes | ||
RabidGravy | there are at least two that have non-library binary dependencies, and about fifteen that need libs | ||
tony-o | jdv79: yes, whenever there is changes actually pulled rather than just the ol 'up to date' message | 22:03 | |
jdv79 | that's what travis does now and isn't as helpful as it could be | ||
i'd say look to cpantesters. probably the best example of that sort of thing. | 22:04 | ||
tony-o | how would you improve that? - RabidGravy do you use t-ci right now? | ||
jdv79 | that i'm aware of | ||
dalek | c: 995ac3b | (Jan-Olof Hendig)++ | doc/Type/Baggy.pod: Added docs for Baggy.kxxv |
||
jdv79 | tony-o: basically look to prior art:) | 22:05 | |
tony-o | jdv79: i built out a cpantesters type thing for zef about two years ago so people could submit test results from different machines. i also had a rolling VM set up where it would smoke test on 5 different OS (BSD, debian, win7, osx, and another linux distro) - we ended up taking zef in another direction. i could, actually, write a zef plugin to do something like cpantesters and host that on modules.zef.pm | 22:06 | |
RabidGravy: do you use travis-ci currently? does it handle those external bins/libs ? | 22:07 | ||
jdv79 | yeah idk how that'd work just yet. not sure there is enough interia around here to get that up and running on its own | ||
which is why i had planned to someday talk to the p5 testers and see if we can leverage their stuff | 22:08 | ||
RabidGravy | the test script manually installs the appropriate dependencies | ||
tony-o | i can roll VMs for smoke testing nightly if that's interesting at all | ||
do, OSX, BSD, debian, and Win7 | 22:09 | ||
jdv79 | eventually that'll fail because you can't smoke everything fast enough | ||
RabidGravy | the problem is that the META file doesn't declare the dependencies, and when I suggested an Alien type thing a while back there was wailing and gnashing of teeth and I forgot about it | 22:10 | |
jdv79 | need multiple peeps doing it. this is all basically cpantesters:) | ||
tony-o | i can use modules.zef.pm as a microservice and test only things that have been updated over the last day for the time being | ||
yea, this is just meant until the community is large enough to generate decent test reports from varying systems | |||
jdv79 | we have that with travis though. what would be nice is testing everything periodically. | ||
but i'm not sure the need is strong to warrant the effort yet | 22:11 | ||
22:12
rurban joined
|
|||
hoelzro | tony-o, jdv79: do you know about smoke.perl6.org/report and cpandatesters.perl6.org/ ? | 22:12 | |
also, if you're looking for nightly verfication that a module still works with current rakudo and deps, you can do what I did and just kick the travis build in a cron job | 22:13 | ||
jdv79 | hoelzro: yes. i think the authro said it wasn't working | ||
at spw at least;) | |||
22:13
rindolf left
|
|||
hoelzro | I don't think they are =( | 22:13 | |
since like 2015.12 | |||
but it's a start, right? | 22:14 | ||
jdv79 | can someone "kick the travis build" for Inline::Perl5? | ||
i'd be interested in teh results | |||
22:14
girafe left
|
|||
hoelzro | probably only the owner | 22:14 | |
I have this for Linenoise: github.com/hoelzro/perl6-linenoise-sanity-check | 22:15 | ||
it's the only notion of tests that Linenoise currently has =/ | |||
22:17
rurban1 joined
|
|||
hoelzro | .tell BenGoldberg that's not a bad idea, but if .resume worked on that exception (which I don't know if it does), it would probably just resume parsing the current chunk of code | 22:18 | |
yoleaux | hoelzro: I'll pass your message to BenGoldberg. | ||
hoelzro | .tell BenGoldberg sadly, the exception handling for that probably isn't smart enough (yet) to ask the caller to feed the parser more input | ||
yoleaux | hoelzro: I'll pass your message to BenGoldberg. | ||
22:21
rurban left
|
|||
[Coke] | Definitely interested in improving our testing status. | 22:24 | |
tony-o | hoelzro: yea i'm aware of it, i want to think about what the next iteration of that looks like and integrate it with the module search/browser that exists at modules.zef.pm | 22:33 | |
22:36
rurban1 left
|
|||
hoelzro | cool | 22:37 | |
tony-o | do you have any thoughts on that? | 22:38 | |
22:38
RabidGravy left
22:45
gtodd joined
22:48
lizmat joined
22:52
wamba left
22:54
huggable left,
huggable joined
22:56
araujo_ left
22:59
araujo_ joined
23:01
wamba joined,
cpage joined
23:03
firstdayonthejob left
23:08
Sgeo_ joined
23:12
Xliff joined
|
|||
ugexe | m: ({20};;); | 23:12 | |
camelia | rakudo-moar 1254bb: OUTPUT«Non ast passed to UNWANTED: BOOTIntNon-QAST node visited BOOTIntWeird node visited: BOOTIntNon-QAST node visited BOOTIntWeird node visited: BOOTInt===SORRY!===Unknown QAST node type BOOTInt» | ||
Xliff | \o #perl6 | ||
AlexDaniel | m: (;) | 23:14 | |
camelia | rakudo-moar 1254bb: OUTPUT«(signal XFSZ)Non-QAST node visited BOOTIntWeird node visited: BOOTIntResultchild 0 can't returns! BOOTInt- QAST::Stmts :BY<comp_unit ua u> :context<sink> (;) - QAST::Stmt :BY<comp_unit ua u u> :context<sink> :final (;) - 0Non-QAST …» | 23:15 | |
grondilu | /quit | ||
oops sorry | |||
23:15
grondilu left
|
|||
AlexDaniel | ugexe: RT #127473 I believe | 23:16 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127473 | ||
23:16
cpage_ left
23:26
wamba left
23:29
spider-mario left
23:32
AlexDaniel left
23:36
TEttinger joined
|
|||
Xliff | AlexDaniel: Bug in current rakudo? | 23:39 | |
23:41
setty1 left
23:42
setty1 joined
23:45
cpage_ joined
23:56
synopsebot6 joined
|