»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
dalek rl6-roast-data: 03a5fc3 | coke++ | / (5 files):
today (automated commit)
00:30
rl6-roast-data: 638526f | coke++ | bin/moarborts.p5:
don't need this
rl6-roast-data: 3c97153 | coke++ | bin/git.p5:
stop fetching pugs.
rl6-roast-data: 76f27f7 | coke++ | / (6 files):
First pass at adding rakudo.moar with -jit
dalek ast/S26-WHY: 9f9b019 | (Rob Hoelz)++ | S26-documentation/why-both.t:
Create a helper function for both-tests
01:01
ast/S26-WHY: c17002c | (Rob Hoelz)++ | S26-documentation/why-trailing.t:
Test multi subs with trailing comments
ast/S26-WHY: 36430df | (Rob Hoelz)++ | S26-TODO.md:
Update TODO matrix
dalek kudo/S26-WHY: d7a9926 | (Rob Hoelz)++ | src/core/traits.pm:
Don't pass type to set_{leading,trailing}_docs
01:57
kudo/S26-WHY: 55af855 | (Rob Hoelz)++ | src/Perl6/ (3 files):
Fix trailing decl comments for roles
hagiri PerlJam 04:31
:)
hagiri hi all 05:00
:)
hagiri I've been reading and it seems that the perl 6 can use classes, how should I proceed? 05:13
:)
ren1us you mean how does OOP work in p6? 05:15
hagiri ren1us 05:18
I want to know if it is possible. :)
ren1us m: class A { has $.var; method new($var) { self.bless(:$var); }; method b() { say $.var; }; }; my $a = A.new("Test"); $a.b; 05:19
camelia rakudo-moar 0c42c1: OUTPUT«Test␤»
ren1us yeah, p6 has pretty much fully functional classes, [multiple] inheritance, role composition, etc 05:20
hagiri ren1us you wrote to me is a simple syntax in perl 6? 05:25
:P
i see class {} ..
lol
ren1us mhm 05:26
class A { } # empty class body
has $.var; # an attribute of the class
hagiri ren1us hm.. 05:28
for beginner, learn perl 5 or 6?
:)
ren1us 5 is more mainstream, 6 is more awesome 05:29
hagiri ren1us 05:31
doubt cruel, vi syntax of the two versions, changes little ..
;T
ren1us i personally find p6 cleaner than p5, but there are those who disagree 05:32
the fact that i'm in this channel means i'm biased, of course :) 05:33
i actually forget if there's a clean tutorial series out there for p6. i know there's the advent calendar and the old book on github, and i seem to recall someone said they were writing a new walkthrough a couple weeks ago 05:35
moritz ren1us: maybe learnxinyminutes.com/docs/perl6/ 05:38
moritz (which seems to have a stray bare "a" on a line of its own) 05:39
hagiri ren1us 05:48
I'm talking to some people perl5 channel, they told me that because of me being newbie, you'd better start with perl5 .. What do you have to say about?
forgive me, my english is very poor :T
ren1us your english is better than a lot of my friends who have been speaking it their whole lives, so don't worry about it 05:49
the advantage of p5 is that it's got a huge community, which means a massive support network. i think the camel book is on its 4th edition by now. the advantage of p6 is that imo it's more reasonable than p5 in a lot of ways, which often makes it more newbie friendly (especially if you've used another language before), and the information isn't as... spread out, so to speak 05:51
ren1us honestly you can't go wrong and it depends what your end goal is 05:52
thistusooa the perl 6 compiler is slow
ren1us moritz: that might be it. i keep meaning to start writing up all the cool little gotchas i bump into (given that i still suck at this). you know, put my liberal arts degree to good use. it'd be nice to pull together as much scattered information as possible, get it neatly organized and navigable, and most importantly, include the details from the perspective of someone who didn't design them 05:54
(and thus necessarily consider them obvious)
hagiri ren1us I use a translator and I have a basic understanding of english ..: P 05:56
hagiri :P 05:56
I use Fedora, I have perl installed, now, I can code
:D
hagiri ren1us I'm going to program in Perl 5. 06:04
=)
;D
ren1us thanks bro 06:05
:)
bye
ren1us have fun
hagiri ren1us ye 06:06
:P
Mouq wonders if 'bro' was produced by the translator... 06:46
Mouq would also like to know where to purchase said translator 06:47
masak morning, #perl6 07:38
lizmat good *, #perl6!
moritz \o * 07:39
moritz masak: I thought a bit about CQRS and asynchronity; here are my ramblings: gist.github.com/moritz/da2d6ea7a3da3e440c19 07:41
masak: feel free to comment if I misunderstood something
(I'm talking about the API design aspect of CQRS, not about the separate read/write databases that it might bring too) 07:42
lizmat looks like the info about Rakudo on dev.perl.org is a bit out of date 07:53
for one, it doesn't mention Rakudo running on JVM, and it doesn't mention MoarVM
moritz lizmat: send a mail to [email@hidden.address] and ask them where you can patch it? 08:01
lizmat: I remember it being subversion-controlled at some point, but it might have been migrated in the mean time
lizmat ok, will do
moritz lizmat: feel free to CC me :-) 08:04
masak moritz: looking 08:07
masak moritz: re (1), a command sending confirmation is OK if you ask me. one bit (ACK/NAK). dunno if that changes things for you, though. 08:09
nwc10 are we sure that it's morning? Maybe it's still last night. It's the first time in a long time that nothing was committed while I slept. 08:10
moritz nwc10: sleep longer! :-) 08:11
lizmat nwc10: then go back to bed :-)
masak moritz: fwiw, I see your point. the summary seems to be that in this case, you want an updated view immediately after the success of the command.
nwc10: who asked you to get up? :P
moritz masak: correct, and that doesn't seem to mix well with CQRS + async
masak: or maybe with CQRS in general, dunno :-)
masak: but it's pretty common in interactive scenarios; people do stuff, and then want to verify the state afterwards 08:12
nwc10 masak: I actually got up because my daughter was (figuratively) bouncing around our bed and literally making a bit too much noice 08:13
noise
so "make breakfast" was a calmer plan
moritz "what shall we have for breakfast?" -- "pancakes!" 08:14
nwc10 also, my laptop battery seems to be unwell, so I wasn't in an easy position to check that nothing had changed before I got out of bed
masak :) 08:15
moritz: I need to ponder it a bit more, but the structure of what you're describing feels like one of those callback thingies -- where you have an asynchronous command come back with a successful outcome, which triggers the query. 08:16
moritz: sure, you *could* construct a command-query sequential hybrid... but that violates the stateless nature of the server, with probably ungood consequences. 08:17
moritz masak: that's one aspect; the other is that the client (who issues the command and waits for the response) also needs a timeout; so it must be more than a simple callback 08:17
FROGGS m: use 42 08:18
camelia rakudo-moar 0c42c1: OUTPUT«===SORRY!=== Error while compiling /tmp/3kza8jQCi1␤Undeclared routine:␤ use used at line 1␤␤»
FROGGS ahh
lizmat m: sub use { say $^a }; use 42 08:23
camelia rakudo-moar 0c42c1: OUTPUT«42␤»
lizmat not sure whether that should work
moritz masak: there's also the option to give events sequence numbers, and ensure serial delivery; but that introduces other coupling, and makes scaling much harder 08:24
lizmat m: sub require { say $^a }; require 42 # huh?
camelia rakudo-moar 0c42c1: OUTPUT«Could not find file '42' for module 42␤ in any load_module at src/gen/m-ModuleLoader.nqp:183␤ in method load_module at src/gen/m-CORE.setting:21292␤ in block at /tmp/tOxpjq86VA:1␤␤»
moritz lizmat: it fits well with the "no keywords" policy
ah, and that's because require expects an expression, not a module name
masak moritz: yes, I wouldn't go down that path. 08:25
milan test 11:17
moritz all tests successful. 11:19
milan tnx 11:20
trying xchat from server 11:21
masak milan: first time visitor? return customer? either way, welcome ;) 11:43
PerlJam guten Morgen meine Freunde 13:08
moritz Guten Nachmittag Herr PerlJam :-) 13:09
nwc10 Heretisch. Es ist immer Morgen in #perl6 :-) 13:11
PerlJam es ist immer Weihnachten in #perl6 :) 13:13
nwc10 leider noch nicht
PerlJam one of these days I'll learn more german than just a few phrases ;) 13:15
tadzik ich besischtige die sehenswuerdigkeiten!
woolfy Mein Datenfernübertragungsanlage funktioniert noch immer. 13:16
moritz Mein Luftkissenboot ist voller Aale! 13:18
woolfy Und ich bin zu alt für ein Sommerferienewigkeitsgefühl.
masak .oO( air kissing boat )
nwc10 gah, I can't rmemeber the correct plural
woolfy Moritz ist ein Irreaffentittenturbosuperdupertyp!
nwc10 Zwei Biers bitte, und mein Freund bezahlt
moritz nwc10: "Biere" 13:19
dalek kudo-star-daily: 96a286b | coke++ | log/ (14 files):
today (automated commit)
nwc10 danke
PerlJam woolfy: now you're just making stuff up ;)
moritz nwc10: "Zweimal Bier bitte", which sounds more idiomatic, and avoids the plural alltogether :-) 13:20
nwc10 oh yes. thanks. I get picked up on my default choice of phrase for "another beer"
woolfy PerlJam: right from the "making up German words book" von Ben Schott: "Schottenfreude" ( www.benschott.com/schottenfreude/ ), a necessity for all people that love Germany. 13:21
tadzik oh, I only knew Shadenfreunde
woolfy Schadenfreude
tadzik oh, maybe :)
psch "zwei Biere" sounds more like "two kinds of beer" than "two [servings] of beer" to me 13:22
""Kölsch und Pils sind zwei der beliebtesten Biere." vs "Zwei Bier, bitte."
also, merry christmas, #perl6 13:23
moritz psch: yes, you're right, and I'm outed as a non beer-drinker :0(
erm, that was supposed to be a :-) 13:24
woolfy Yegh. I would agree if you would have said "Kwak und Deus".
psch woolfy: i'm not big on beers; those are just two kinds i know exist :)
woolfy psch: merry christmas to you too
Ask jnthn, he is as big on beers as I am... :-) 13:25
PerlJam moritz: what's your drink of choice?
moritz PerlJam: usually Apfelschorle (apple juice mixed with water)
PerlJam moritz: if ever we meet IRL, I'll buy you an Apfelschorle :) 13:26
moritz :-) 13:33
masak tadzik: "Schadenfreund" -- a friend who does harm 13:36
:)
tadzik masak: I've heard it described as something like "being happy because someone else is hurt/harmed" 13:37
timotimo tadzik: no, that's "schadenfreude" 13:38
freude == happiness, freund == friend
PerlJam I liked shadenfreund (friend who shades?)
tadzik 1521 tadzik | oh, I only knew Shadenfreunde
so, I was right-ish :P
timotimo schattenfreund*
tadzik better than shattenfreund... 13:39
PerlJam heh
moritz schadenfreud!
(from Sigmund Freud)
masak haha
masak .oO( it was a Schadenfreudian slip of the tongue ) 13:43
moritz
.oO( mein Schattfreud hat Schadenfreude )
13:51
PerlJam It's a good thing the pun-engine isn't fully engaged or this could go on for a while. 13:53
moritz PerlJam: but your inner Schattfreud would *pun*ish you for that :-) 13:53
arnsholt It's a good thing jnthn isn't here, you mean =p 13:54
moritz *Schattenfreud
pmichaud good morning, #perl6 13:59
pmichaud backlogs 14:00
rindolf Hi all. 14:01
Woodi hallo today :) 14:38
hoelzro morning #perl6 14:39
Woodi moritz: but if client requests update and receive ACK then he can display same data he sended to update... 14:41
Woodi also: CQRS isn't advised for using for full domain, just some parts of it... 14:42
rurban1 masak: Hillarious tweet 14:45
moritz Woodi: that presumes the presence of an ACK/NACK, aye 14:48
pmichaud hotel expo sofia doesn't have any more discounted rooms, but the metropolitan has reasonable rates ($75 USD/ night), if I'm willing to walk a mile each day 14:51
well, two miles :) 14:52
Woodi btw. learnP6inY++
carlin but... now it takes longer to learn :p 14:55
nwc10 pmichaud: it's not Frankfurt, er Houston 14:59
japhb jnthn: What's the current comparative status of r-m and r-j for async stuff? For example, does r-j have the async proc stuff, or just r-m? 15:57
hoelzro has anyone else but PerlJam taken a look at what remains to be done for S26? 15:58
I'm thinking of merging what I've got so far into nom, but I'm trying to decide what a good point in terms of support/code quality would be for that to happen 15:59
japhb hoelzro: Do you *know* what's left to be done, or are you asking if you missed anything? 16:00
hoelzro japhb: I have a long list of things I'd *like* to do
but it's really daunting, and I'd like to get the basics that I've got into nom so others can start playing with it
or using it for real code
if you're curious what's left: github.com/perl6/roast/blob/S26-WHY/S26-TODO.md 16:01
hmmm...that table I made doesn't render too nicely on GH
timotimo japhb: i think r-j doesn't have the async proc stuff yet - the jvm of course does, but it's not hooked up to rakudo 16:03
japhb hoelzro: OK, looked through the list, and I can see why it's daunting. 16:04
hoelzro yeah, I'm trying to be thorough =) 16:05
honestly, I'd like to take a break on it
but I don't want a stale branch to sit around
japhb Thorough is good! As long as perfect doesn't become the enemy of good
hoelzro indeed
I think wacky.t can wait
I'll have to look at it again
japhb Yeah, and I notice a lot of these are tests for cases you may or may not handle yet.
hoelzro especially with my limited experience with the compiler 16:07
although this project has taught me a *lot* about Rakudo
I've been pretty much everywhere under src/, it seems
japhb Here's my thoughts. I'd do the following in order of importantce, and merge before you completely burn out: 1. Anything that breaks existing spectests, 2. Anything that badly slows down parsing (like when we used to have to avoid non-latin unicode in the setting), 3) Get the spec up to at least the things you've *already* implemented and are pretty sure you won't change. After that, everything else seems like iterative improvements that can happen whenever. 16:08
I bet!
hoelzro alright, good advice 16:09
I don't think I break any existing tests
and my branch is about as fast as nom to compile (give or take a second or three) 16:10
japhb That sounds good on both counts
Mouq We really need to make working with Cursors from Perl6land not awful. As in, maybe I'll get around to it at some point, but it would be pretty swell if someone else did it ;) 16:16
japhb
.oO( *50's dad voice* Well that'll be just SWELL, Timmy! )
16:20
Mouq Anyway, plagarizing FROGGS+++, I did this: github.com/Mouq/snake/commit/711be...9eab241162 16:22
timotimo oh, cool 16:23
i like to see a bit of activity on Snake
Mouq I should probably give credit to him in the documents, esp for the Build script I basically stole wholesale, but he's been talking about a module for slangs, so hopefully much of what I took will disappear ;) 16:27
My hope is that this offers some light on what such a module would be 16:28
timotimo :) 16:32
[Coke] host07 is complaining that its ubuntu is too old. 17:31
dalek rl6-roast-data: bce3be8 | coke++ | / (6 files):
today (automated commit)
17:37
dalek ecs: 34a30e7 | (Elizabeth Mattijsen)++ | S (6 files):
Make sure we expand TABs to spaces
17:46
pmichaud 14:59 <nwc10> pmichaud: it's not Frankfurt, er Houston 17:51
I suspect even Frankfurt isn't normally Frankfurt. :) But Houston is always Houston. :-/
Anyway, a 1mi walk is no big deal. I went ahead and booked a room (to make sure I have one), I'm still deciding whether to cross the pond though. 17:52
jnthn pmichaud: 1mi? That's quite tolerable :) 17:53
japhb jnthn: Depends on which city you're doing it in, and what the weather is like at the time. I found walking a mile or two in Austin to have wildly varying tolerability depending on conditions. :-) 17:54
jnthn Yes, I was working under the "in Sofia" context :)
japhb :-) 17:57
rindolf Hi all. 18:00
What's up?
pmichaud Yes, I walk at least a mile every day as it is. :) 18:03
I've convinced myself that the expense for Sofia isn't too great... now I just have to decide if I can dedicate the time :)
PerlJam pmichaud: what would you be doing if not at Sofia? 18:05
dalek ecs: 98a97ba | (Elizabeth Mattijsen)++ | S (3 files):
De-TAB
18:06
jnthn
.oO( missing jnthn talks! :P )
PerlJam pmichaud: btw, a guy on #perl was asking a regex question today where he wanted to match against "something/pmwiki.php" :) 18:07
docs/ops.markdown says nqp::fromstr_I(str $val, Mu:T $type) converts a string value to a Big Integer of the given type. What does that mean "of the given type"? 18:12
jnthn $type
Where $type is something that is a P6bigint or can box one
(The latter is true in Perl 6, where we have a P6opaque with a P6bigint inlined into its body, since you can potentially subclass or mix in to Int) 18:13
pmichaud PerlJam: (if not at Sofia) Probably resting and getting work done on the house
PerlJam: oh, and hopefully working on #p6 :)
and missing jnthn/lizmat/masak talks
PerlJam pmichaud: so .. you *wouldn't* be working on #p6 if you went? 18:14
pmichaud I'm continually surprised at pmwiki's reach. Anyone here know who Ward Christensen is?
He sent me money for PmWiki :)
(Ward Christensen of "XMODEM" fame.)
japhb Woah. 18:15
pmichaud PerlJam: well, during the 28+ hours of travel I might not be doing much work on anything... including #p6 :)
PerlJam pmichaud: so ... you'd be resting :) 18:16
pmichaud act.yapc.eu/ye2014/talk/5633 # one of the top reasons for making it to Sofia
PerlJam sounds like the only thing you lose out on is "getting work done on the house"
pmichaud PerlJam: well, and about $2.5K :) 18:17
nwc10 that's a lot of beer
pmichaud oh, I'm pretty sure Sofia includes beer, though
likely more than I'd get by staying home
nwc10 I've just realised that I have no idea about either Bulgarian beer or Texan beer 18:18
masak never too late to find out! 18:23
PerlJam jnthn: Am I misunderstanding something, or is this a bug? gist.github.com/perlpilot/8dcae28cfe73ea1778e3 18:24
masak: it's probably too late when you're dead ;>
japhb
.oO( "Never a better time ... than RIGHT NOW." )
18:25
masak PerlJam: better try those beers now, then!
jnthn PerlJam: Try nqp::say(nqp::tostr_I($int))
PerlJam ah 18:26
that works as expected, thanks
hoelzro let's say I have a few variants of a parametric role 18:35
role A[] { ... } role A[::T] { ... }
if each variant has their own leading comment, what should A.WHY be?
PerlJam hoelzro: whatever the spec says ;) 18:36
hoelzro that's the thing - it doesn't!
PerlJam does it mention multis in a similar regard? or silence on the matter there too? 18:37
hoelzro multis it does
each candidate has its own WHY
jnthn hoelzro: Yes, that problem is shared by our-scoped things declared in parametric roles too :)
hoelzro but you can "pre-declare" a multi via 'proto'
can one do the same with roles?
jnthn Which, of course, don't show up in A:: either :) 18:38
hoelzro jnthn: oh, so if I declare an our $something in one variant, it's accessible from the other?
jnthn hoelzro: No, more like this:
m: role A { our $x }; say $A::x
camelia rakudo-moar 0c42c1: OUTPUT«(Any)␤»
jnthn uh, bad example :)
m: role A { our $x }; say $A::.keys
camelia rakudo-moar 0c42c1: OUTPUT«===SORRY!=== Error while compiling /tmp/rxwMQSAVg_␤Variable '$A' is not declared␤at /tmp/rxwMQSAVg_:1␤------> role A { our $x }; say $A::.keys⏏<EOL>␤ expecting any of:␤ method arguments␤»
jnthn grr 18:39
m: role A { our $x }; say A::.keys
camelia rakudo-moar 0c42c1: OUTPUT«␤»
jnthn That's what I was after.
hoelzro ah ha
jnthn For roles, A doesn't refer to the role, but rather ti's a type object whose meta-object knows how to take arguments and pick an appropriate role from them.
hoelzro see, the current implementation applies the WHY to the ParametricRoleGroupHOW
jnthn That sounds odd to me. 18:40
hoelzro ok, this is why I ask =)
jnthn It might "make things work" but not in a very meaningful way.
hoelzro .oO( WHY I ask? )
jnthn Because it fails as soon as there's more than one parameterization.
hoelzro well, my current implementation would merge the variants' docs
jnthn If there's a way to do it, A.WHY would be better returning the .WHYs of all the things in the group. 18:41
hoelzro whoa
PerlJam hoelzro: +1 to what jnthn sais
er, said
hoelzro that's not a bad idea
I feel that protos could work the same way
jnthn And the .WHY on a particular ParametricRoleHOW gives the doc for that variant
hoelzro because I feel it's weird that if I built some sort of interactive help mechanism, and help(&infix:<+>) printed nothing =/ 18:42
jnthn And folks that really want to drill down that far just ask the MOP for what the role group has.
Yes, that sounds like just the same issue. Nice that it shows up in multiple places, since then the role case isn't special ;-)
masak "[Language design] requires a curious mixture of clear thinking, aesthetics and pragmatic judgement." -- blog.stephenwolfram.com/2014/08/com...thematics/ 18:43
hoelzro indeed
masak "And it involves always seeking the deepest possible understanding, and trying to do the broadest unification—to come up in the end with the cleanest and “most obvious” primitives to represent things."
jnthn (that is, I'm agreeing with you that it's the same thing with protos, and yes, .WHY on infix:<+> shoudl show the docs of the alternatives)
hoelzro jnthn: is there a way to "pre-declare" a role? I'm wondering what the right thing would be to apply a generic comment to the ParametricRoleGroupHOW
I can see wanting to do this with proto, so I'm thinking about the role analogue
jnthn hoelzro: Um...I dunno what role Foo { ... } does today
m: role Foo { ... } 18:44
camelia rakudo-moar 0c42c1: OUTPUT«Unhandled exception: Could not instantiate role 'Foo':␤Cannot invoke this object (REPR: P6opaque, cs = 0)␤ at src/gen/m-Metamodel.nqp:2028 (/home/p6eval/rakudo-inst-2/languages/nqp/lib/Perl6/Metamodel.moarvm:specialize:19)␤ from src/gen/m-Metamode…»
jnthn m: role Foo { ... }; 1
camelia ( no output )
jnthn Not much :)
PerlJam Is .WHY always a string? 18:45
jnthn hoelzro: Anyway, not officially, but we can probably make the above thingy do it. Question then is if it's an error not to provide at lesat one role variant later.
hoelzro PerlJam: never, actually
it's always a Pod::Block::Declarator
at least on Rakudo
PerlJam oh, that's right. It's an object that stringifies.
PerlJam forgets so easily sometimes.
hoelzro the spec just says it should be an object with .leading, .trailing, and .WHEREFORE methods 18:46
PerlJam: I would probably have forgotten if I hadn't started dreaming about S26 =P
jnthn: I think that applying a WHY to the role group can wait to be specced
I just want to make what I merge into nom to make sense 18:47
I'll wait and see if others (esp. TimToady) have anything to add
PerlJam hoelzro: What happens to #|( fooey ) class A { ... }; then later #|( woot! ) class A { has $.stuff; method foo { } } ? 18:49
hoelzro isn't that a redefinition error?
oh, I guess not
because the first is just a forward decl
PerlJam seems to me like the .WHY should also keep track of the file and linenumber where it comes from. 18:51
hoelzro hmm 18:53
I don't know if that's spec'd, but it might already
it does not 18:54
PerlJam I doubt it. I found .WHY to only be specced, the first 90%
hoelzro yeah, the spec can be a bit ambiguous =/
which is WHY I'm here, bothering everyone with questions =)
jnthn hoelzro: (applying a WHY to the role group) agree 18:57
cognome r: enum < un >; say un 19:02
camelia rakudo-moar 0c42c1: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤ un used at line 1. Did you mean 'uc', 'on'?␤␤» 19:03
..rakudo-parrot 0c42c1: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤ un used at line 1. Did you mean 'uc'?␤␤»
..rakudo-jvm 0c42c1: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Undeclared routine:␤ un used at line 1. Did you mean 'on', 'uc'?␤␤»
jnthn cognome: anonymous enum doesn't install symbols
cognome r: enum E < un >; say un
camelia rakudo-{parrot,jvm,moar} 0c42c1: OUTPUT«un␤»
cognome jhntn so, what's their purpose? 19:04
jnthn cognome: They produce a hash
cognome so, declaring them in sink context should be an error? 19:05
PerlJam more like a warning to me. 19:06
jnthn Yeah, foo in sink context is mostly done as a warning
Or always, in fact
FROGGS .tell Mouq nice! and yes, this makes the Slangish module easier design wise... 19:08
yoleaux FROGGS: I'll pass your message to Mouq.
masak m: enum :: <un>; say un 19:19
camelia rakudo-moar 0c42c1: OUTPUT«===SORRY!===␤MVMArray: Can't pop from an empty array␤»
masak submits rakudobug
the days of low-hanging bugs are not completely past ;) 19:20
m: enum :: <un> 19:22
camelia rakudo-moar 0c42c1: OUTPUT«===SORRY!===␤MVMArray: Can't pop from an empty array␤»
cognome wonders about the magic of enum parsing, were is the closing part for that : github.com/rakudo/rakudo/blob/nom/....nqp#L2716 ?
FROGGS cognome: a term 19:23
cognome I see an opening : <?[<(«]> but no closing
FROGGS is the opening, containing and closing part
jnthn That's just a lookahead; it doesn't swallow
FROGGS cognome: that is a look ahead
cognome ho. thanx
I missed the ?
jnthn np, but don't call me ho :P 19:24
FROGGS bro' :P 19:24
cognome jnthn++ , that's a exclamation of surprise. :)
PerlJam cognome: Wouldn't an exclamation have an exclamation point? 19:25
diakopter giggles at "Can't pop from an empty array" (error inherited from Parrot)
cognome sometimes I go gung-ho with my French
jnthn diakopter: I...don't think trying to pop from an empty array makes sense here whatever backend we're on :)
diakopter I meant the error text 19:26
jnthn Ah :)
FROGGS diakopter: copy&paste ftw :o)
masak .oO( when you try to pop the abyss, the abyss pops you back )
diakopter Parrot had an exclamation point on it, though 19:27
.. speaking of exclamation points, as I continue reading the backscroll
FROGGS diakopter: you are going to read everything from feb until now? 19:28
diakopter FROGGS: hm 19:28
lizmat moritz: mail sent 19:36
lizmat it just occurred to me that for the case 19:39
for $fh.lines -> $line { } 19:40
we could very well use a type of reification that only keeps one line in memory at a time (aka, throw away the ones already seen)
masak yes.
lizmat this would be different of course for something like my @lines := $fh.lines; 19:41
masak something similar was discussed the other day, I think.
brrt ehm, hey, i've a question for language designers
masak but maybe you're alluding to that discussion?
lizmat nope
masak lizmat: ok, I'll try to find it for you.
lizmat not consciously
:-)
brrt what's the right thing with regards to the truth-valueness of floating points? especially NaNs? 19:42
masak lizmat: irclog.perlgeek.de/perl6/2014-08-09#i_9159362
lizmat r: say ?NaN
camelia rakudo-{parrot,jvm,moar} 0c42c1: OUTPUT«True␤»
PerlJam r: say ?Inf; # also this :) 19:43
camelia rakudo-{parrot,jvm,moar} 0c42c1: OUTPUT«True␤»
masak javascript> say !!NaN 19:44
false
timotimo m: say !NaN
camelia rakudo-moar 0c42c1: OUTPUT«False␤»
brrt yeah, i had expected as much from the current code
FROGGS I had also guessed that NaN is falsish
masak irb(main):002:0> !!(0.0/0.0)
=> true
lizmat I would think anything not 0 would be true
and NaN is not 0
FROGGS but .Bool should DWIM 19:45
brrt no, unless_n and if_n (and likely, istrue_n if it exists) both check for equality with 0.0
FROGGS and I is me
:D
brrt and indeed NaN is not equal to 0
masak I think I'm fine with ?NaN being True.
brrt: right. because NaN is not equal to *anything*.
m: say NaN == NaN 19:46
nwc10 NaN is not equal to NaN. Unless you're Intel's C compiler with default optimisation settings
camelia rakudo-moar 0c42c1: OUTPUT«False␤»
brrt in which case intels compiler is wrong 19:47
ok, so i'm good for implmenting it numeric booleanity as strict equivalence to 0.0? that's not going to surprise anyone?
nwc10 11912|Evidently it's important to you to get the wrong answer as quickly as possible. 19:48
masak brrt: you have my blessing ;)
PerlJam brrt: not me.
masak brrt: someone who cares about NaN should handle that themselves.
PerlJam brrt: assuming you meant "falseness as strict equivalence to 0"
brrt ehm... well. yes PerlJam, that is what i mean 19:49
masak brrt: and ?NaN being True follows the already established rule of "everything but zero boolifies to True"
brrt very well, i'll make it so
FROGGS nmake it so!
masak brrt: the only other option I can think of is NaN boolifying to Failure. but I think that's a bad idea.
PerlJam masak: why? 19:50
FROGGS well, NaN is some sort of small explosion
PerlJam
.oO( Failure is not an option? )
brrt ehm, at any rate, i don't think we should handle that at VM level
/if/ you want that
masak PerlJam: it's the typical thing that tends to end up in "Perl 6 puzzlers" books. 19:51
PerlJam: "prefix:<?> always results in True or False -- right? RIGHT? wrong."
PerlJam: and I can't see a use case for it, where it would make someone happer rather than breaking Least Surprise. 19:52
happier*
brrt especially implementors, i might add 19:52
masak right. 19:53
masak one more spectest brick in the wall. 19:53
s/one more/just another/
pmichaud I don't think that prefix:<?> should ever return a Failure, since Failures boolify 19:58
FROGGS everything boolifies 20:02
timotimo i'm going to start writing my weekly now; would people like to mention their recent stuff they did? :)
hoelzro boolify all the things!
timotimo i haven't heard of changes to the Pod SAX thing or the new Pod::To::HTML re-write 20:03
FROGGS it is just that Failure.Bool disarms the Failure and always returns False
ChoHag X::AdHoc.new(payload => "Cannot find method 'Any'") 20:05
brrt timo: i think you know all my stuff by now 20:06
masak ChoHag: well hello to you too ;)
ChoHag Hello.
That happened in one of the 10 runs. 20:07
hoelzro nothing new from me
ChoHag X::AdHoc.new(payload => "Could not find symbol '\&Return'") in another.
hoelzro timotimo: ^
jnthn ChoHag: Threads + MoarVM? 20:09
ChoHag Yes.
jnthn ChoHag: I don't suppose you've a short-ish snippet that reproduces it? 20:10
ChoHag Funnily enough I just had the thought that the code might be small enough to be useful to look at and counted it. 20:11
984 lines.
jnthn Well, if it's something you're willing to share (with me, doesn't have to be public), I can try to reproduce it here and debug.
ChoHag It does seem to do with passing a block ref into a closure. 20:12
Something like if $.foo == { ... }, there's code which does: $x = $.foo; $.foo = sub { do_stuff(); $.foo = $x; } 20:13
And last time I had the same sort of blowup I was passing coderefs in a similarly stupid way.
TimToady well, hopefully not with ==
that's numeric
ChoHag No, not ==. That expression was supposed to just be setting the scene.
Imagine the curtains coming up to a $ with its foo being a modernised Coderef. 20:14
I think I'm down to mostly moar bugs rather than my own bugs, so now I can hopefully start reshaping to code into something vaguely coherent. 20:17
At which point it'll go onto github.
TimToady well, just remember that there are cultures where revealing vulnerability is perceived as weakness, and cultures where it's perceived as strength. We try to be the latter. :) 20:18
ChoHag It's not so much revealing vulnerability as my git-fu sucks. 20:19
TimToady allowing people to see that your git-fu sucks is revealing vulnerability :)
ChoHag I basically git add whenever I have code in a state I really don't want to lose as a sort of really lazy backup and commit an enormous patch all in one go. 20:20
Then move onto another project for a few months and start (sometimes start over) again.
TimToady the ability to show that your git-fu sucks reveals that you are secure in your identity apart from that :)
ChoHag One day I hope to finish something.
TimToady commit early, commit often, we say :) 20:21
one thing that helps finishing is when someone else starts helping
also helps catch design errors earlier
timotimo hoelzro: thank you 20:22
ChoHag All I'm really doing now is designing.
It's less coding and more doodling
hoelzro timotimo: sure thing; I'll endeavor to do nothing this week as well ;) 20:22
jnthn git is probably the best version contorl system for making a mess in, in that it provides you the tools to massage mess into perfection :) 20:23
ChoHag But a very complicated doodle for which I have a vague plan I can't quite define to myself.
TimToady usually means you're trying to do too many things at once; sometimes adding constraints makes it easier
ChoHag My wife is an artist, so I tell her I am too but where she uses paint my medium is code.
Usually (thankyou Larry) perl. 20:24
timotimo hoelzro: noted!
ChoHag I think I sort of have a shape I can hang my ideas off of now though. Things have come together the past few days. 20:25
That's why I was able to compare the output from a few different runs.
TimToady well, speaking of constraints, I'd better go rest my eye for an hour or two... 20:26
nap &
ChoHag I'm actualyl quite keen to get this code out, it's just hard to get (and keep) my brain in the right place when I can only really code during a 45 minute packed commute at either end of the day. 20:27
This broken process sort of works for now. 20:28
That said, jnthn, if you want to try and decipher this mass of twisty little uncommented perl threads (all alike, naturally) you're welcome to a copy. 20:30
jnthn ChoHag: Sure, it's good to have something to go on, and I doubt I need to decipher it all to zone in on the bug, if I'm lucky. 20:35
brrt oh, i might have a suggestion for the create-runner-tool thingy 20:36
it would be /very/ convenient if you could pass the name of a debugger, for instance gdb, as an environment variable 20:37
timotimo yes 20:51
brrt yeah, so, we can do that, if you wish :-) 21:15
uhm, i'm going to sleep i think
dalek ecs: 1345614 | (Elizabeth Mattijsen)++ | S03-operators.pod:
Add Set/Bag/Mix smartmatch candidates to table
21:48
kudo/nom: b87d6a5 | (Elizabeth Mattijsen)++ | src/Perl6/World.nqp:
Naively fix RT #122514
21:59
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122514
dalek kudo/nom: 969e6c2 | (Elizabeth Mattijsen)++ | src/core/Any.pm:
Prevent using Bool:D as a Matcher for methods also
22:01
masak 'night, #perl6 22:12
timotimo gnite masak! 22:15
dalek ast: ef7e125 | (Elizabeth Mattijsen)++ | S12-enums/misc.t:
Add tests for RT #122514
22:18
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122514
ren1us okay, i haven't tried fighting with panda in ages. when it's complaining about a dependency not being precompiled, even when i've even gone so far as to install that dependency separately, what's the proper thing to do? 22:48
ventica you cannot defeat the kung fu panda... he is the Dragon Warrior... 22:52
tadzik ren1us: what are you trying to install? 22:54
ren1us Compress::Zlib (and then Compress::Snappy when that didn't work), both of which are complaining about NativeCall (which installs without any errors) 22:55
tadzik interesting 22:58
tadzik ren1us: which backend is that? 22:58
ren1us moarvm
tadzik it works for me without a problem
well, Snappy doesn't but for different reasons
I assume everything is fresh and updated? 22:59
ren1us panda, yes. moar i updated about a week and a half ago 22:59
so if it's outdated it's not by much
tadzik yeah, mine must be similarly new
very strange. Could you maybe try exporting RAKUDO_MODULE_DEBUG=1 and see if that yields some interesting results?
I think that's the right name for it 23:00
I gotta go get some sleep soon, but I can look at the issue tomorrow
sjn hey, it's pmichaud++ day soon :) 23:04
yoleaux 6 Aug 2014 05:43Z <vendethiel> sjn: well, it actually needs rebasing
ren1us .tell tadzik gist.github.com/ren1us/01d724255dd57bbaab31 # panda issues 23:11
yoleaux ren1us: I'll pass your message to tadzik.
carlin ren1us: are you sure you have an updated panda? that error happens on older panda where it compiles the modules to Foo.moarvm and not Foo.pm.moarvm 23:29
"older" meaning more than 10 days old 23:30
ren1us i did $ rakudobrew build-panda about 45 minutes ago
so i think it's probably fine
timotimo .o( i wonder if perl6 ought to get a "no autovivification" pragma for performance reasons; it seems like perl5 has one to prevent something like %foo<bar><baz><quux>:exists from creating the hashes in foo<bar> and foo<bar><baz> when checking for quux (and all of its ancestors) to exist ) 23:58