»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | Rakudo Star Released!
Set by diakopter on 6 September 2010.
lue
.oO(If I had a website, I could set up the doc repo part of my project as well)
00:01
flussence /facepalm, thanks sorear 00:02
lue rakudo: say "hello"[0] 00:05
p6eval rakudo 015d77: OUTPUT«hello␤»
masak lue: Perl 6 conflates items and lists of one element. 00:07
lue rakudo: say "hello".substr(0) 00:20
p6eval rakudo 015d77: OUTPUT«hello␤»
lue rakudo: say "hello".substr(0,1)
p6eval rakudo 015d77: OUTPUT«h␤»
lue I don't know why, but having to do it that way seems... weird.
00:47 ilogger2_ joined
perigrin /w 9 00:55
hmm
dalek psi: dd03f58 | masak++ | / (2 files):
[Yapsi] implemented non-immediate blocks

Needed to mark the immediate blocks in an action methods. Immediate blocks are currently all blocks that are directly under an <expression> that's directly under a <statement>.
01:02
lue afk 01:08
01:10 Limbic_Region joined
dalek odel: a781e09 | jonathan++ | dotnet/compiler/bootstrap/DNST.pm:
[dotnet] Add a version of DNST.pm with PIR hacks removed to a bootstrap folder. The .Net bootstrapping effort - though there's much, much work to go - starts here.
01:22
masak rakudo: my ($a, *) = 42 01:23
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Malformed parameter at line 22, near "*) = 42"␤»
masak jnthn: didn't you say earlier that this was supposed to work?
jnthn rakudo: my ($a, $) = 42
p6eval rakudo 015d77: ( no output )
jnthn masak: It parses a signature there
Not a list.
masak jnthn: yes, but remember the bug report I submitted?
jnthn: where I tried to assign to a variable containing *
jnthn Yes but what I mentioned was
($a, *) = 42;
Without the decl. 01:24
masak huh.
patrickas std: my ($a, *) = 42
jnthn (yes, the difference has bothered me too now and then)
p6eval std a194beb: OUTPUT«===SORRY!===␤Malformed parameter at /tmp/xv8aE6vl9i line 1:␤------> my ($a, ⏏*) = 42␤ expecting any of:␤ name␤ parameter␤ signature␤Parse failed␤FAILED 00:01 120m␤»
patrickas std: my $a; ($a, *) = 42
p6eval std a194beb: OUTPUT«ok 00:01 123m␤»
masak that's a really crappy difference.
01:25 lidden joined
Limbic_Region jnthn - regarding the int vs Int array thread - simple assignment vs binding seems more clear cut but what about @array.push(1); 01:25
01:25 ch3ck3r joined
jnthn Limbic_Region: I think that's implemented in terms of assignment. 01:25
Limbic_Region: Either way, it builds on top of assignment and/or binding.
Limbic_Region and does that mean you think it should break
jnthn Limbic_Region: Not, it needs to work. The @a[0] = 42 case needs to work really too. 01:26
Limbic_Region I think so too
jnthn Limbic_Region: There was a good discussion here on the channel earlier
And we worked out some way forward.
Limbic_Region okies
jnthn I didn't seriously expect we'd outlaw assignment to compact arrays in the end, I was trolling for people to provide an appropriate semantics for it. :) 01:27
(It'd just be too nasty from a user point of view otherwise.) 01:28
Limbic_Region Well, I didn't either but as a problem of semantics - consistency is one of the things that I think perl 5 got wrong
or rather, too much DWYMism has caused a lot of things in perl 5 to make me want a more consistent language
jnthn Limbic_Region: The conclusion boils down to, we generate a container referencing the compact array storage slot if needed, and we can - with enough type information - optimize that away. 01:29
That is, we generate it on-demand and throw it away once the assignment is done. 01:30
But I suspect people working with natively typed arrays will, probably, be consistent in their usage of type information.
And give the compiler enough to go on to make efficient code for them. 01:31
But we have a fallback if not and still get the compact memory usage.
Limbic_Region well, that's a good thing 01:33
having recently implemented left leaning red-black trees in pure perl, I realized just how bloated perl 5 data structures can be
masak I should write a software agent that notifies me on the odd occasion that p6l discussions stop being about things like bikeshedding syntax over Set and Bag. 01:39
dalek psi: 706d5f6 | masak++ | / (3 files):
[Yapsi] implemented closure invocation syntax

You can now do $x(), as well as { say 42 }().
01:54
01:54 sidek joined 02:05 yuki joined 02:09 yuki left 02:10 Limbic_Region left 02:18 lidden left 02:22 ch3ck3r left 02:25 ch3ck joined
masonkramer bah, the Bag stuff has really exploded 02:25
for the record I never suggested any of this crazy stuff
@ masak 02:26
colomon it's okay, we'll ignore the crazy.
masonkramer that's what I'm doing
jnthn sleep &
colomon \o 02:27
masonkramer \o 02:28
Grimnir_ hey!
masak masonkramer: I need to remind myself sometimes that reading crap on p6l can make me angry or sad. 02:29
Grimnir_ my $today = DRUNK;
Grimnir_ is drunk 02:30
masak 'night, #perl6 02:31
masonkramer ^Hnight masak
Grimnir_ hey 02:33
we have been drinking stouts~
Grimnir_ likes beers
stouts FTW 02:34
I'm sorry
I know that at least one of you guys like beers
02:34 ch3ck3r joined
sorear wonders how to effectively crack down on p6l bikeshedding 02:34
Grimnir_ oh hai 02:35
sorear: you can't
TimToady wonders why sorear++ thinks it's his job to... :) 02:37
Grimnir_ because ++
02:37 ch3ck left
TimToady it's sociologically useful to have a place for bikeshedders to hang out 02:37
if they weren't there, they'd be here
TimToady ponders the theological necessity of hell... 02:38
Grimnir_ TimToady: huh? 02:39
på torsdag
rakudo: BlackWork::SortArbejde.etEllerAndet() 02:40
p6eval rakudo 015d77: OUTPUT«Can not find sub BlackWork::SortArbejde␤ in main program body at line 1␤»
Grimnir_ I'm a pokeman
pokemon
colomon TimToady++ 02:41
Grimnir_ colomon: that's the one 02:50
we have been drinking too much. we're sorry 02:53
02:54 takadonet joined
takadonet hey all 02:55
TimToady o/
Grimnir_ hey
02:56 xiaomo joined
Grimnir_ fair på en eller anden måde 02:57
diakopter .beats 03:02
phenny @168
diakopter .beats
phenny @168
diakopter on that note, ...
takadonet you know sometime I hate regex 03:04
03:05 _xiaomo_ joined 03:06 xiaomo left, diego_ joined, diego_ left 03:09 dukeleto joined 03:10 ch3ck3r left
Grimnir_ takadonet: nobody hates regex 03:13
we love regex
one of my friends hate regex
03:13 dukeleto left
Grimnir_ regex is the fucing wind 03:13
03:14 dukeleto joined
takadonet Grimnir_: when they work, they are great, when they dont..... i hate them 03:14
Grimnir_ takadonet: I love regex. but we have been drinking too fucking much 03:16
takadonet Grimnir_: who is we?
Grimnir_ porter, porter, porter!
takadonet well have a great night :)
Grimnir_ :)
we are drikning imperiol stouts 03:17
imperal
imperial*
we have been drkning too mu
much
sorry...
I write in dvorak
my friend doesn't care
he is an angry sysadmin
I'm sorry 03:19
bonanza
we are iseting to johnny cash
listening
?
*
03:35 takadonet left 03:45 Chillance joined 03:47 _xiaomo_ left 05:24 redicaps joined 06:09 patspam joined 06:10 patspam left 06:46 constant joined, constant left, constant joined 07:01 ilogger2 joined, ChanServ sets mode: +v ilogger2 08:12 am0c^ joined 08:17 uniejo joined
dalek ecza: 534c984 | sorear++ | / (5 files):
Add beginnings of a JSYNC parser
08:18
ecza: 5e8d5f4 | sorear++ | perf/ (4 files):
Add four more versions of LoopMicro + timing sheet
09:11 meppl joined 09:20 molaf joined 09:23 isBEKaml joined 09:28 am0c^ left 10:11 ilogger2 joined, ChanServ sets mode: +v ilogger2
dalek ecza: c49e20c | sorear++ | lib/JSYNC.cs:
Complete JSYNC emitter (ingy++ for spec feedback)
10:19
sorear out
10:21 icwiener joined 10:24 Axius joined
tadzik ~~ 10:26
10:29 masonkramer_ joined, masonkramer_ is now known as masonkramer 10:35 constant joined, constant left, constant joined 10:36 Axius left 10:44 cjk101010 joined 10:56 mavrc joined 11:04 nymacro joined 11:13 constant left 11:15 MayDaniel joined 11:16 wamba joined 11:55 constant joined, constant left, constant joined
dalek kudo: d9a761a | KodiB++ | src/core/Temporal.pm:
[Temporal] Improved the error message for Date.new(Str).
11:58
12:00 am0c joined 12:07 kanishka joined 12:10 wamba left, wamba joined 12:28 orafu joined 12:30 constant left 12:33 risou joined 12:35 jrockway joined 12:48 sftp joined 12:51 dug__ joined, dug__ is now known as dugg 12:53 _xiaomo_ joined 13:01 Axius joined
dugg Howdy, perl6! 13:02
tadzik dugg: o/ 13:04
13:04 cjk101010 left
dugg My work has recently started doing a voluntary weekly code kata, which I took from as an opportunity to write my first Perl 6 program. The kata is borrowed from MJD's excellent QOTW series, explained here: perl.plover.com/qotw/r/001. 13:08
My program is here: gist.github.com/676143
I can't help but think that there is something in the map that could be more 6-ish (maybe the whole (both lines) program). 13:09
I was also curious how to pronounce the brackets around max in `my $maxlen = [max] @lines􏿽xBB.chars;` 13:10
tadzik it's called a meta list operator, or something like this :) 13:15
I don't think it's not-enough-6ish 13:16
dugg Do I poke at S03 to read about the meta list operator? 13:17
tadzik there's nothing fancy about it really 13:18
flussence I was gonna suggest using sprintf('%*s') in that map, but the * seems to be a p5-only thing...
tadzik perlcabal.org/syn/S03.html#Reduction_operators
dugg tadzik: Well, if one (me!) isn't used to having [] spell reduce, it feels fancy! 13:20
tadzik oh probably :) I didn't even remember it was named that way
13:21 mj41_ joined
dugg flussence: gotcha. The map line is a fairly direct translation from the p5 version I started with. 13:22
13:24 mj41_ is now known as mj41
colomon dugg: seems reasonably p6-y to me. 13:26
dugg Cool, thanks. The line with the hyper and list reduction is interesting from a "here are some features you might think are nifty if you've never seen Perl 6" standpoint, which might be fun discussion points at work. 13:28
tadzik that's quite normal when writing in languages with nifty features. Same story is with Haskell, which look funny and very little people understand it 13:30
13:32 mj41 left, ggoebel joined, mj41 joined 13:34 Psyche^ joined, Psyche^ is now known as Patterner, whiteknight joined 13:48 kanishka left 13:54 wamba left 14:00 kfg joined 14:03 kfg left 14:06 masak joined
masak oh hai, #perl6! 14:07
mindos1 Hora!
14:08 _xiaomo_ left
masak mindos1: how're things going? 14:09
14:09 Axius left
jnthn o/ #perl6 14:10
mindos1 masak : Searching traveling information…. :P 14:12
tadzik masak: o/ 14:15
\o jnthn
masak rakudo: say (*.&say).WHAT 14:19
p6eval rakudo 015d77: OUTPUT«Whatever()<0x8319460>␤Bool()␤»
masak shouldn't that be a closure?
jnthn masak: hmm...mebbe... :) 14:20
I guess it gets re-written to a sub call in the PAST tree and then fails to be seen as a "oh yes curry me" method call :) 14:21
masak submits rakudobug
I had a nice rewrite of dugg++'s code kata that depended on this working:
rakudo: sub center(*@lines) { sub lfill($s, $n) { " " x $n ~ $s }; @lines.map: *.&lfill((my $maxlen - .chars) / 2) given $maxlen = [max] @lines>>.chars }; say center "This", "is", "a test"
p6eval rakudo 015d77: OUTPUT«No candidates found to invoke for method 'map' on object of type 'Array'; available candidates have signatures:␤:(Mu : &block;; *%_)␤␤ in 'center' at line 22:/tmp/pz5YX09yqR␤ in main program body at line 22:/tmp/pz5YX09yqR␤»
14:24 ch3ck joined
mindos1 Will go the Bangkok with a friend… Haven't got chance to continue. 14:24
14:25 dugg left
tadzik Code kata; interesting 14:33
masak yeah. let's do more of those. 14:35
tadzik ...after learning some maths 14:36
:(
14:38 sftp_ joined, sftp left 14:41 Limbic_Region joined
masak tadzik: why would you need to learn maths to do a code kata? do you know something about the code kata that I don't? 14:46
14:47 _twitch joined
tadzik masak: the most important thing about code kata at this very moment is that on tuesday I have a maths... 14:47
phenny: "kolokwium"?
phenny tadzik: "test" (pl to en, translate.google.com)
tadzik let's say "test"
masak :)
colloquium?
that's... not right :)
tadzik maybe. A mini-exam, thrice a semester
jnthn It's only colloquial. :P
masak phenny: "dugga"? 14:48
phenny masak: "quiz" (sv to en, translate.google.com)
masak that one?
tadzik no idea
masak phenny: you rock.
tadzik phenny: "ty skało"?
phenny tadzik: "skalo Company" (vi to en, translate.google.com)
tadzik phenny: "ty skało!"? 14:49
phenny tadzik: "skalo company!" (vi to en, translate.google.com)
tadzik no!
phenny: "ty skała"?
phenny tadzik: "you rock" (pl to en, translate.google.com)
tadzik that's it
phenny: "ty ruro"?
phenny tadzik: "ruro Company" (vi to en, translate.google.com)
tadzik pfff
jnthn We just learnt the Vietnamese for "company", it seems... :) 14:50
phenny: "ty bad"?
phenny jnthn: "Bad Company" (vi to en, translate.google.com)
tadzik funny how sometimes it's lowercase
masak phenny: "Các công ty mà làm cho những đôi giày buồn cười."? 14:51
phenny masak: "The company that makes those funny shoes." (vi to en, translate.google.com)
14:51 nymacro left
masak well, there's a "ty" in there. 14:51
jnthn phenny: "Škoda"?
phenny jnthn: "Damage" (cs to en, translate.google.com)
tadzik :D
masak *lol*
tadzik it's a "Pity" in Polish
or Damage, yes 14:52
jnthn yes, in Slovak it's an interjection like, "what a pity"
tadzik "jaka szkoda"
jnthn I can't see a car with that on it any more and take it srsly.
masak that makes a lot of sense. fr:"dommage" can mean both "damage" and "[what a] pity".
tadzik and they say Perl sucks at marketing 14:53
masak phenny: "Les Français disent que nous aspirer à la commercialisation."? 14:54
phenny masak: "The French say that we suck at marketing." (fr to en, translate.google.com)
masak not sure that's proper French, though. 14:55
tadzik phenny: "Francuzi mówią, że ssiemy w marketingu"
masak "aspirer"?
tadzik phenny: "Francuzi mówią, że ssiemy w marketingu"?
phenny tadzik: "The French say that We suck at marketing" (pl to en, translate.google.com)
tadzik nice
masak heh. "marketingu". :)
you Polish people suck at word-loaningu. :)
dalek odel: 26831d8 | jonathan++ | t/nqp/35-prefix-sigil.t:
[t] We already pass 35-prefix-sigil.t.
tadzik that's this language feature that almost no one has
masak say what? 14:56
locative?
that's fairly common, I think.
jnthn masak: If your language had such a cool feature, would you decline to use it?
tadzik this marketing → ten marketing, tell me something about marketing → powiedzi mi coś o marketingu, I have nothing to do with marketing → Nie mam nic do zrobienia z marketingiem
this thing?
masak cases.
14:56 Limbic_Region left
masak and it's wrong to say that "almost no one has" it. 14:56
in fact, it's fairly common. 14:57
tadzik yep. I've heard Polish's hard for it has this feature
jnthn likes cases
tadzik: Yeah, it makes it more fun to learn. ;)
masak tadzik: jnthn++ is our local case specialist.
jnthn :P
masak tadzik: Russian has them, Latin has them, German has them, Esperanto has them...
tadzik hmm, so maybe that was about some other thing that changes depending on a context 14:58
masak Polish seems to me to be a fairly typical Slavic language. 14:59
jnthn The nice thing is that most Slavic languages do the case declensions in the same kinda way. :)
masak yeah.
jnthn So after learning about the Slovak ones, the Russian ones felt familiar
masak a case of great similarity. :)
jnthn Those Polish ones look quite close too.
tadzik masak: about word-loaningu: that'd be "pożyczaniu słów" :) 15:00
masak tadzik: oh, that sounds pretty :) 15:01
phenny: "pożyczaniu słów"?
phenny masak: "borrowing words" (pl to en, translate.google.com)
tadzik that' actually "pożyczanie słów"
15:03 Trashlord joined
masak tadzik: yeah, I got that. 15:05
rakudo: multi foo() { say "Heads" }; multi foo() { say "Tails" }; foo
p6eval rakudo 015d77: OUTPUT«Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures:␤:()␤:()␤␤ in main program body at line 22:/tmp/VfbuyF_gEj␤»
tadzik hmm
rakudo: multi foo(rand) { say "heads" }; multi foo () { say "tails" }; foo 15:06
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 22, near ") { say \"h"␤»
tadzik that'd not do anyway
. o O ( use RANDOM_MULTIS; )
masak tadzik: I'm actually hacking Rakudo locally to allow the above :) 15:08
just for fun.
jnthn temporarily confiscates masak++'s Rakudo commit bit
masak no worries. :)
I'm not in an iconoclastic mood.
I actually *like* the way the multi dispatch works. 15:09
15:12 am0c left 15:13 wallberg joined
szabgab is wondering who might want to go to FOSDEM to have a Perl 6 hackathon 15:18
masak might 15:19
jnthn szabgab: May well do so 15:20
jnthn checks dates 15:21
15:21 wamba joined
szabgab no names found www.socialtext.net/perl5/index.cgi...011_fosdem 15:21
masak first time I see that page. 15:22
szabgab you know, clicking on the link usually helps :) 15:23
masak don't know what you mean by that. I did, just now, and it's the first time.
szabgab though admittedly not always
jnthn szabgab: Hmm. I'm teaching up until the 4th Feb. 15:24
masak anyway, I might go. but it depends on the what the rest of FOSDEM has to offer, and who else is coming.
szabgab masak: don't worry, just add yourself
jnthn szabgab: Free on the weekend, would need to fathom getting there :)
szabgab: Would hackathon be only during of potentially also after FOSDEM?
szabgab eiterh 2 days before or 2 days after 15:25
jnthn OK. If it's after I could make it I expect.
szabgab and we have a space in The hague actually
jnthn Oh awesome, they have the best staircases in that city.
szabgab :)
we have some coins if you need financing for beer or transportation 15:26
jnthn ...is it a challenge to cost more in beer than transport? ;) 15:28
szabgab is it ?
masak let's find out!
15:32 wallberg left 15:39 takadonet joined
takadonet yo 15:40
masak takadonet: \o
tadzik o/ 15:42
15:42 mindos joined 15:47 mssm joined 15:49 timbunce joined 15:50 Bzek joined
dalek ast: 1ae7e66 | (Kodi Arfer)++ | S02-builtin_data_types/set.t:
[set.t] Tests for hyperoperators.
15:50
tadzik jnthn: have you stopped creating Star .msi packages? 15:52
dalek kudo: c23f582 | KodiB++ | src/core/metaops.pm:
[metaops] "%x" -> "Hash $x" in &hyper signatures.

This prevents Sets (for example) from using these multis.
15:53
kudo: 39d0fe5 | KodiB++ | src/core/metaops.pm:
[metaops] Made hyperoperators on Iterable, non-Positional structures return the same type they're given.
15:56 mavrc left 15:58 mindos is now known as MindosCheng
masak rakudo: multi b(Numeric $x) { say "Numeric" }; multi b(Num $x) { say "Num" }; multi sub(Int $x) { say "Int" }; b(4 + 2i); b(4.0); b(4) 16:00
p6eval rakudo 015d77: OUTPUT«Numeric␤Numeric␤Numeric␤»
masak o.O
jnthn!
er.
jnthn ...er.
masak rakudo: multi b(Numeric $x) { say "Numeric" }; multi b(Num $x) { say "Num" }; multi b(Int $x) { say "Int" }; b(4 + 2i); b(4.0); b(4)
p6eval rakudo 015d77: OUTPUT«Numeric␤Numeric␤Int␤»
jnthn ...complex is not Num or Int. :)
Nor is Rat. 16:01
masak oh. :/
sorry :)
jnthn I don't file *that* hard. :P
*fail*
...oh the irony!
masak :)
16:01 mavrc joined
moritz_ is glad the Int ~~ Num thing is gone 16:02
16:02 mavrc left
masak too 16:02
16:04 kanishka joined
jnthn three 16:06
tadzik for {} 16:07
16:08 timbunce left
dalek odel: b71c796 | jonathan++ | dotnet/runtime/Runtime/MultiDispatch/MultiDispatcher.cs:
[dotnet] Teach the multi-dispatcher the topological sort algorithm, so we can now (if I got it right) do proper-ish multi dispatches.
16:12
16:14 kanishka left 16:18 masonkramer left
jnthn tadzik: I only did one for the first Star - I thought somebody else had picked it up after that. 16:19
But I forget who...
tadzik x3nu? I recall him making some windows builds
moritz_ speaking of windows builds... jnthn, could you please try if --gen-parrot (and Configure.pl in general) works in current rakudo_ 16:21
s/_/?/
16:21 sftp_ left
dalek odel: c1e700e | jonathan++ | dotnet/runtime/Runtime/MultiDispatch/MultiDispatcher.cs:
[dotnet] Meh, I failed it.
16:22
odel: 252d322 | jonathan++ | dotnet/compiler/Actions.pm:
[dotnet] Make the automatically added invocant by default have type $?CLASS (for export, but also so multi-dispatch works out correctly if the only difference is subtypeness).
odel: 9ac81d5 | jonathan++ | t/nqp/53-multi-method.t:
[t] Un-skip a test masak++ added yesterday for invocant narrowness in multi-method dispatch.
16:22 sftp_ joined
jnthn moritz_: it's merged into master? 16:22
moritz_ jnthn: aye
jnthn moritz_: k 16:23
Trying it
16:29 kanishka joined
jnthn moritz_: fail :( 16:30
gist.github.com/676299
(I'd blown away my Parrot svn checkout and built Parrot just for safety.) 16:31
16:33 mavrc joined
jnthn Not immediately clear to me what's wrong...looking a little more. 16:35
16:38 Kodi joined
jnthn moritz_: Seems that 16:40
if (open my $REV, '-|', "parrot_install${slash}bin${slash}parrot_config revision") {
ends up true
Even if that path...doesn't exist...?!
masak huh
Kodi masak: rt.perl.org/rt3/Ticket/Display.html?id=79158 I just pushed two commits that make hyperoperators work on Sets. However, S03:4095 seems to imply that this particular example is illegal. 16:41
masak Kodi: then perhaps reject the ticket with that motivation. 16:42
Kodi masak: Sounds good.
masak Kodi++
jnthn moritz_: got a patch that seems to work
masak Kodi: I agree about your interpretation of S03:4095.
Kodi It would be nice if I could make 'set(1, 2) >>+<< set(3, 4)' actually throw a fatal error. But I don't see how, because &hyper would need to know (a) which data structures are ordered and which are unordered, and (b) which data types are scalar and which aren't. 16:45
masak Kodi: I guess you could special-case Set and Bag. 16:46
Kodi masak: And KeyHash. Yes, that would probably be better than nothing. 16:47
16:48 sftp joined 16:50 mavrc left, sftp_ left
jnthn Ain't there an Ordered role? 16:50
masak loliblogged! strangelyconsistent.org/blog/extend...-in-perl-6 16:51
jnthn lol
16:51 mila_ joined
masak jnthn: no. there's not an Ordered role. 16:51
Kodi jnthn: The only reference to it in S02 seems to be a fossil.
masak right. 16:52
jnthn masak: # Dispatching on number of candidates
s/candidates/arity/
masak jnthn: thanks :)
fixed. will take 3 minutes for it to trickle up to the server :) 16:53
jnthn++
Kodi I'm thinking that the best definition of "ordered" is just "does Positional". It could get problematic if we made data structures with uncountable index sets (:P) but it should do for now. 16:54
jnthn Kodi: That sounds sane. 16:55
16:56 justatheory joined 16:58 mavrc joined
takadonet how do you reference a regex from a module/package 17:01
rakudo: module a {our regex go { \d }; };say a::regex;
p6eval rakudo 015d77: OUTPUT«Can not find sub a::regex␤ in main program body at line 1␤»
jnthn rakudo: module a {our regex go { \d }; };say a::go
p6eval rakudo 015d77: OUTPUT«Not enough positional parameters passed; got 0 but expected 1␤ in 'a::go' at line 22:/tmp/PhtFUchBtW␤ in main program body at line 22:/tmp/PhtFUchBtW␤»
jnthn rakudo: module a {our regex go { \d }; };say &a::go 17:02
p6eval rakudo 015d77: OUTPUT«go␤»
jnthn like dat
takadonet thanks 17:03
masak rakudo: module a {our regex go { \d }; };say &a::go("4")
p6eval rakudo 015d77: OUTPUT«Method '!cursor_start' not found for invocant of class 'Str'␤ in 'a::go' at line 22:/tmp/shCXdwFZ9K␤ in main program body at line 22:/tmp/shCXdwFZ9K␤»
masak so, can you actually use that reference for anything? 17:04
jnthn You'd have to call it from a regex.
masak ...and that's not implemented yet...
jnthn rakudo: module a {our regex go { \d }; };my &x = &a::go("4"); say "aa4bb" ~~ /<&x>/
takadonet hmm I need to modifying it and then use it
p6eval rakudo 015d77: OUTPUT«Method '!cursor_start' not found for invocant of class 'Str'␤ in 'a::go' at line 22:/tmp/5taw2Q0X_T␤ in main program body at line 22:/tmp/5taw2Q0X_T␤»
jnthn oh grap
rakudo: module a {our regex go { \d }; };my &x = &a::go; say "aa4bb" ~~ /<&x>/
p6eval rakudo 015d77: OUTPUT«4␤»
jnthn there
masak hah! :) 17:05
jnthn++ # nice hack
takadonet jnthn++
17:07 _twitch left
dalek odel: d6f6e74 | jonathan++ | dotnet/runtime/Runtime/Ops/Primitive.cs:
[dotnet] Add basic arithmetic ops for nums.
17:08
17:08 ash_ joined 17:09 mavrc left
dalek odel: 4382f0d | jonathan++ | common/NQP/NQPSetting.pm:
[common] Add various coercice multi variants to various ops, now that we have candidate sorting.
17:10
odel: c7cefea | jonathan++ | t/nqp/18-associative.t:
[t] We now pass 18-associative.t (depended on a coercion that wasn't available before).
jnthn moritz_: Pushed workaround that gets things building on Win32 again.
dalek kudo: 26fcf0d | jnthn++ | build/gen_parrot.pl:
[build] Turns out this extra check is needed in gen_parrot.pl to stop things getting explodey on Win32. Wish I understood why...anyway, it works.
17:11
takadonet rakudo: module a {our regex go { \d }; }; &a::go = { \s };
p6eval rakudo 015d77: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/gSnPq82zfE␤»
takadonet nuts... 17:12
jnthn ...what did that even parse as?!
arnsholt I was wondering the same 17:13
std: \s;
p6eval std a194beb: OUTPUT«===SORRY!===␤Regex not terminated at /tmp/YYfmqmZHOG line 1 (EOF):␤------> \s;⏏<EOL>␤ expecting quantifier␤Parse failed␤FAILED 00:01 120m␤»
jnthn std: module a {our regex go { \d }; }; &a::go = { \s };
p6eval std a194beb: OUTPUT«===SORRY!===␤Use of a closing delimiter for an opener is reserved at /tmp/qzIfB_9__j line 1:␤------> {our regex go { \d }; }; &a::go = { \s ⏏};␤Parse failed␤FAILED 00:01 126m␤»
17:13 Chillance joined
masak o.O 17:13
jnthn rakudo: \s
p6eval rakudo 015d77: OUTPUT«Could not find sub &s␤ in main program body at line 22:/tmp/tW8WxbYqf_␤»
jnthn oh
\ makes a capture 17:14
\s = call s and make a capture of the return value
But it's in a clozhure
masak :D
jnthn I'm confused by STD's rejection of it though.
arnsholt Looks like the s in \s; is interpreted as opening an s/// 17:15
And the \ as unspace with zero space, perhaps? 17:16
dalek odel: a3877b7 | jonathan++ | t/nqp/5 (2 files):
[t] masak++ can't count. :-) :-)
masak :P
that's what I get for helping...
jnthn Welcome. Look forward to the next patch. ;)
masak cowers
17:21 risou_ joined 17:22 Bzek_ joined 17:24 risou left, Axius joined 17:25 Bzek left
dalek odel: 9bdccdb | jonathan++ | dotnet/compiler/ROADMAP.txt:
[dotnet] Flesh out the ROADMAP section on working towards bootstrapping.
17:27
masak blog post! strangelyconsistent.org/blog/novemb...-and-about
jnthn another one?!
masak *phew*. almost halfway through. 17:28
17:28 TimToady joined, masonkramer joined 17:30 mavrc joined
jnthn ...there's 2 more coming today? ;) 17:30
masak no, half-way through November.
MindosCheng Cool
takadonet so did I find a bug then?
masak I solemnly promise not to post any more today.
takadonet: with the readonly value? no, don't think so. 17:31
17:33 ash__ joined 17:35 ash_ left, ash__ is now known as ash_, ash__ joined, ash_ left, ash__ is now known as ash_ 17:36 dual joined
MindosCheng rakudo: my $x = { my Int $c=10; { $c } }(); say $x(); 17:38
p6eval rakudo 015d77: OUTPUT«invoke() not implemented in class 'Integer'␤ in main program body at line 22:/tmp/q87qc8yBVA␤»
jnthn That last { $c } is not a closrue, it's an immediate block 17:39
17:39 kanishka left
jnthn use -> to disambiguate 17:39
masak rakudo: my $x = { my Int $c=10; return { $c } }(); say $x()
p6eval rakudo 015d77: ( no output )
jnthn or that.
masak hm...
rakudo: my $x = sub { my Int $c=10; return { $c } }(); say $x() 17:40
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Confused at line 22, near "my $x = su"␤»
tadzik if (-e "parrot_install${slash}bin${slash}parrot_config -- in Configure.pl. Could we just extend the Perl 6 syntax one day to make / act differently?
masak rakudo: my $x = sub () { my Int $c=10; return { $c } }(); say $x()
mkramer rakudo: my $x = { my Int $c=10; { $c } }; say $x()
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Confused at line 22, near "my $x = su"␤»
rakudo 015d77: OUTPUT«10␤»
tadzik . o O ( use File::Path; path('/some/directory/and/file') )
jnthn rakudo: my $x = (sub { my Int $c=10; return { $c } })(); say $x() 17:41
p6eval rakudo 015d77: OUTPUT«10␤»
masak jnthn++
jnthn std: my $x = sub { my Int $c=10; return { $c } }(); say $x()
p6eval std a194beb: OUTPUT«ok 00:01 122m␤»
jnthn hm
masak rakudo: my $x = { my Int $c = 10; -> { $c } }(); say $x()
p6eval rakudo 015d77: OUTPUT«10␤»
mkramer what's the point of the trailing ()
masak invocation. 17:42
mkramer right, why do you assign the invocation to $x, then invoke the invocation
rakudo: my $x = { my Int $c=10; { $c } }; say $x()()
p6eval rakudo 015d77: OUTPUT«invoke() not implemented in class 'Integer'␤ in main program body at line 22:/tmp/0rmF3n0t1a␤»
jnthn I'm guessing it's a minified example of something else.
mkramer why does it even work? $x should 10. You can't invoke Int(10) 17:43
*should hold
MindosCheng mkramer: Storing $c in the closure, and do something more evil.
jnthn mkramer: That's exactly that the error is telling you.
mkramer I'm talking about masak 17:44
jnthn oh, sorry
mkramer why does this work? my $x = { my Int $c = 10; -> { $c } }(); say $x()
MindosCheng oh, sorry
jnthn In invokes the closure, which returns another closures, which when invoked returns $c
mkramer ahh 17:45
that's what the -> is for, make a closure out of the immediate block
mkramer turns the page and catches up
masak mkramer: yes, that's exactly the difference between immediate blocks and non-immediate blocks. the latter return closures, the former run them. 17:46
rakudo: { say "OH HAI" }; my $x = { say "OH HAI a second time" }; say "wait for it..."; $x()
p6eval rakudo 015d77: OUTPUT«OH HAI␤wait for it...␤OH HAI a second time␤»
MindosCheng rakudo: my $x = -> { 42; }; say $x();
p6eval rakudo 015d77: OUTPUT«42␤»
mkramer rakudo: say (my $x = -> { 42 } ).WHAT; say $x() 17:48
p6eval rakudo 015d77: OUTPUT«Block()␤42␤»
MindosCheng rakudo: my $x = sub ($y) { return $y; }; say $x(3); 17:54
p6eval rakudo 015d77: OUTPUT«3␤»
masak rakudo: for (1..10) -> $i { our sub foo { say $i } }; foo 17:55
p6eval rakudo 015d77: OUTPUT«10␤»
masak "rebind on block entry"... 17:56
MindosCheng rakudo: sub curry($f, $v) { -> { return sub($v2) { $f($v1, $v2); }; }(); }; my $add3 = curry( sub($v1, $v2) { return $v1+v2; }, 3 ); say $add3(4); 18:00
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
18:01 crythias joined 18:02 Axius_ joined
masak rakudo: sub curry($f, $v1) { return sub ($v2) { $f($v1, $v2) } }; my $add3 = curry( -> $v1, $v2 { $v1 + $v2 }, 3 ); say $add3(4) 18:03
p6eval rakudo 015d77: OUTPUT«7␤»
18:03 mssm left 18:04 Axius left
MindosCheng sub curry($f, $v1) { my $v=$v1; return sub ($v2) { $f($v, $v2) } }; my $add3 = curry( -> $v1, $v2 { $v1 + $v2 }, 3 ); say $add3(4) 18:07
rakudo: sub curry($f, $v1) { my $v=$v1; return sub ($v2) { $f($v, $v2) } }; my $add3 = curry( -> $v1, $v2 { $v1 + $v2 }, 3 ); say $add3(4)
p6eval rakudo 015d77: OUTPUT«7␤» 18:08
moritz_ rakudo: say (3 + *).(4)
18:08 Axius_ left
p6eval rakudo 015d77: OUTPUT«7␤» 18:08
moritz_ say &infix:<+>.assuming(3).(4)
tadzik ENORAKUDO 18:09
moritz_ rakudo: say &infix:<+>.assuming(3).(4)
p6eval rakudo 015d77: OUTPUT«7␤»
moritz_ niecza: say 3 + 4
p6eval niecza c49e20c: OUTPUT«7␤»
tadzik yapsi: say 3 + 4
p6eval yapsi: OUTPUT«===SORRY!===␤Unable to find module 'Yapsi' in the @*INC directories.␤(@*INC contains:␤ lib␤ /home/p6eval/.perl6/lib␤ /home/p6eval//p2/lib/parrot/2.9.1-devel/languages/perl6/lib␤ .)␤»
moritz_ niecza: say &infix:<+>(3, 4)
p6eval niecza c49e20c: OUTPUT«7␤»
moritz_ niecza: say infix:<+>(3, 4) 18:10
p6eval niecza c49e20c: OUTPUT«Internal error: failed to resolve lexical infix:<+> in mainline at /home/p6eval/niecza/src/CSharpBackend.pm line 358.␤»
moritz_ rakudo: say infix:<+>(3, 4)
p6eval rakudo 015d77: OUTPUT«7␤»
masak rakudo: say &infix:<+>.signature 18:11
p6eval rakudo 015d77: OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub'␤ in main program body at line 1␤»
masak :(
tadzik that's an old one, isn't it?
rakudo: say &infix:<+>.signature[0]
p6eval rakudo 015d77: OUTPUT«get_attr_str() not implemented in class 'Perl6MultiSub'␤ in main program body at line 1␤»
masak tadzik: I'd guess so.
jnthn Bad error 18:12
But it's still wrong
Well
(the latter, not the former)
&infix:<+>.signature is the proto's signature, but we don't have those yet in Rakudo) 18:13
moritz_ niecza: say &infix:<+>.assuming(3) 18:15
p6eval niecza c49e20c: OUTPUT«Unhandled exception: Unable to resolve method assuming in class Sub␤ at line 1 (MAIN mainline @ 1)␤ at line 954 (SAFE G818ANONC @ 5)␤ at line 954 (SAFE module-SAFE @ 28)␤ at line 954 (SAFE mainline @ 1)␤ at line 0 (boot @ 1)␤ at line 0 (ExitRunloop @ 0)␤"mono"
..unexpecte…
moritz_ opens two TODO niecza bugs 18:16
MindosCheng rakudo: sub CountDown(Int $count) { my Int $v = $count; return sub() { say $v-- } }; my $x = CountDown(3); $x(); $x(); $x(); 18:17
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
MindosCheng sub CountDown(Int $count) { my Int $v = $count; return -> { say $v-- } }; my $x = CountDown(3); $x(); $x(); $x(); 18:18
rakudo: sub CountDown(Int $count) { my Int $v = $count; return -> { say $v-- } }; my $x = CountDown(3); $x(); $x(); $x();
p6eval rakudo 015d77: OUTPUT«3␤2␤1␤»
tadzik does the REPL work for anyone?
moritz_ Method 'stdhandle' not found for invocant of class 'ParrotInterpreter' 18:19
tadzik exactly. Since Parrot from Git
moritz_ stdhandle seemes to have beeen deprecated for a whiel 18:20
dalek ast: 24e01d5 | (Kodi Arfer)++ | S02-builtin_data_types/set.t:
[set.t] Tests for hyperoperators with non-scalars (should be illegal).
18:22
18:22 dugg joined
masak REPL works here, but my Parrot is not on Git yet. (thus confirming that the move was what broke it.) 18:23
dalek kudo: 2f958fd | KodiB++ | src/core/metaops.pm:
[metaops] Forbid set(1, 2) »+« [3, 4] and set(1, 2) »+« set(3, 4).
18:24
masak s/confirming/corroborating/
18:29 creat1on joined
creat1on anyone here 18:29
moritz_ no
tadzik no, this 210 people are just pretending 18:31
masak I'm not here. 18:34
jnthn If a not here masak on irc types, does it make a sound?
masak is the silent type 18:35
18:36 tzhs joined
perigrin jnthn: only if he's not typing on an IBM model M. 18:36
then yes it's all clackety clakety 18:37
masak perigrin: actually, that's what I usually type on. :)
perigrin :)
masak perigrin: but not now, when I'm visiting jnthn++.
18:37 tylercurtis joined
perigrin I'm from the laptop generation. I hate clackety keyboards ... but I understand others who prefer them. 18:37
tadzik I had a keyboard, few months ago it was >10 years old, my mom couldn't sleep when I was using it 18:38
OTOH, when I type on a keyboard, people usually ask me if I'm a pianist
masak tadzik: are you? 18:39
tadzik masak: formally yes. But I haven't practiced for too long, and when I practice now I feel a pity
by formally yes I mean I'm after a music school 18:40
dalek odel: 2ffaaf2 | jonathan++ | dotnet/compiler/PAST2DNSTCompiler.pm:
[dotnet] All packages live inside of GLOBAL.
18:41
odel: 811dee7 | jonathan++ | dotnet/compiler/PAST2DNSTCompiler.pm:
[dotnet] Fix a bug in code-gen of the constants table.
masak nom &
18:41 masak left
jnthn nom & 18:42
18:45 crythias left 18:47 tri joined 18:50 crythias joined, Axius joined 18:53 Axius left 19:03 crythias left 19:06 creat1on left
dalek p-rx: 921f3b7 | moritz++ | src/ (2 files):
avoid the now-removed stdhandle method
19:07
p-rx: 8c0b01f | moritz++ | src/stage0/ (4 files):
update bootstrap files with stdhandle removal
19:08 dukeleto joined 19:20 lichtkind joined, tzhs left
lichtkind started www.perlfoundation.org/perl6/index....ble_tablet 19:21
any comments?
moritz_ &-variables are just as "basic" as the others 19:27
19:32 tri left
dalek p-rx: fdbe423 | moritz++ | / (4 files):
switch Configure.pl and gen_parrot.pl to git
19:34
19:37 ash_ left
moritz_ fixed the REPL, and nqp-rx 19:39
diakopter nice.. 19:41
20:21 ChanServ sets mode: +v ilogger2
diakopter github got erased? 20:24
twitter.com/#search?q=github 20:25
oh. status.github.com/ 20:26
20:49 ChanServ sets mode: +v ilogger2
diakopter masak: just a server-side template engine/api or something that generates javascript to dynamically manipulate the dom & css 20:51
?
masak diakopter: at dinner jnthn and I were discussing both possibilities.
diakopter o
masak but those would be things that could be built from having the API. 20:52
I imagine just putting together good CSS matching and DOM support might be a sizable task.
21:00 Pontifex joined 21:01 Pontifex left 21:05 tylercurtis joined
sorear good * #perl6 21:05
tylercurtis Good afternoon (for me), sorear. 21:06
dukeleto tylercurtis: ping! (in #parrot) 21:09
masak good now, sorear. 21:17
I have no idea how to reply to this kind of inane attempt at being witty. twitter.com/cstar/status/3918132775223297 - defaulting to not replying. 21:20
I see it now and again, along with the many-animal book cover, which keeps cropping up and being RT'd once a month or so. 21:21
moritz_ @star I tried your alias, but it failed every single file of the Perl 6 spectest suite. Any idea what I'm doing wrong? 21:22
s/star/cstar/
masak moritz_: :)
masak tries that
lue ohayo o/
masak twitter.com/carlmasak/status/3921037745979392 21:24
lue: \o 21:25
moritz_ just wrote an advent calendar entry about MAIN subs. Will push to the mu repo once it's up again 21:30
21:30 ash_ joined
sorear Why does everyone always panic when github has issues? 21:31
lue
.oO(@cstar That alias seems redundant.)
moritz_ sorear: I don't panic at all. I can work offline with git :-) 21:32
masak moritz_: github seems to be back.
moritz_ masak: it doesn't let me in
moritz@jacq:~/p6/mu>git push
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
masak moritz_: oh. haven't tried pushing. 21:33
lue same here trying git pull
moritz_ so, I guess I'll just sleep, and try again tomorrow
masak moritz_: good night. dream of distributed development. 21:34
moritz_ writing an advent post 16 days in advance is a good sign of needing sleep :-)
masak: thanks :-)
jnthn Or preparedness :)
masak or eagerness :)
moritz_ jnthn: any results from testing Configure.pl --gen-parrot on windows?
jnthn moritz_: Yes, it was FAIL and then I writed and pushed a patch (before the github fail) 21:35
And now it works.
moritz_ \o/
we might need to apply the same fix to nqp-rx 21:36
masak train &
moritz_ sleep & 21:37
lue An advent entry sounds fun, but I don't think I know nearly as much as I need to in order to write one :) 21:41
21:58 snearch joined 22:06 snearch left
diakopter I have like 6 commits pending 22:15
you'll like the Makefile changes I hope 22:19
you==jnthn
jnthn oh, yay
diakopter and hopefully mberends
jnthn I'd been procrastinating that yak. :)
It needed improving badly though. :) 22:20
diakopter I don't think my changes are *that* dramatic
jnthn diakopter: Well, it was more small things that'll be a big help.
diakopter just makes it easier to 1. make a change in a .cs file then 2. try ..\..\t\nqp\some-test.t and it just works 22:21
jnthn \o/
That's nice.
Does a fresh checkout + make work now?
diakopter yeah
well 22:22
I don't see how it couldn't
I'll try it
but... I have everything committed
so, I can definitively answer, yes.
so once my commits get pushed.... 22:23
jnthn :-) 22:24
diakopter I mean, there are prereqs, like having csc, msbuild, and nmake in the path
jnthn *nod*
But sounds like you fixed the usual tripping up point.
(needed to manually copy the DLLs, or run try rather than make to actually get it to really build) 22:25
diakopter right
22:29 masonkramer joined 22:34 tylercurtis left
lue How can I look at the private variable of a class? [not modify it, just see what it is] 22:42
rakudo: class A { has $!b; }; my A $a .= new(b => 3); say $a.b 22:45
p6eval rakudo 015d77: OUTPUT«Method 'b' not found for invocant of class 'A'␤ in main program body at line 22:/tmp/AgHunP5i7G␤»
22:45 envi joined
sorear niecza: class A { has $!b }; my $a = A.RAWCREATE(b => 3); say $a!A::b 22:50
p6eval niecza c49e20c: OUTPUT«(timeout)»
sorear niecza: class A { has $!b }; my $a = A.RAWCREATE("b", 3); say $a!A::b
p6eval niecza c49e20c: OUTPUT«(timeout)»
sorear I should probably kill RAWCREATE soon
hrm.
22:57 tylercurtis joined 23:03 envi left
jnthn night, #perl6 23:09
23:11 envi joined
colomon \o 23:12
diakopter git restored? 23:18
colomon er, what? 23:19
diakopter github is back, I meant
or so they say.
colomon it was gone?
diakopter yeah; see its status page :) 23:20
dalek odel: 817c94f | diakopter++ | dotnet/compiler/ (2 files):
[dotnet] make try.bat and Makefile more robust to support:

without needing Visual Studio open. mono users need only to alias msbuild to xbuild, I think.
23:21
odel: d045159 | diakopter++ | dotnet/runtime/Runtime/Context.cs:
[dotnet] spello in Context.cs
odel: bd53479 | diakopter++ | dotnet/compiler/ (2 files):
[dotnet] more Makefile changes
odel: 9eb0c55 | diakopter++ | dotnet/ (3 files):
[dotnet] begin implementation of default parameter expressions
odel: f5cd961 | diakopter++ | / (2 files):
[dotnet] implement bitwise operators for infix NQPInt... can make coercive and multi ones later...
odel: a89014a | diakopter++ | t/nqp/13-op.t:
[dotnet] uncomment lots of tests (the rest, in fact) in 13-op.t that it now passes
odel: 74de67d | diakopter++ | dotnet/runtime/Runtime/Ops/Primitive.cs:
[dotnet] implement bitwise operators in the runtime for Nums (doubles), but they're not really that useful.
odel: 6f59a42 | diakopter++ | dotnet/ (3 files):
[dotnet] still more Makefile fixes
BinGOs I appear to have er ...
git access to github.
lue why does this line fail?: $.contents ~= $string; This line is inside a method of a class. $.contents is marked as rw.
colomon does $!contents ~= $string work? 23:23
lue Ah, that may be what I need (trying...) 23:25
dalek odel: 3e62209 | diakopter++ | dotnet/ (2 files):
[dotnet] more implementation of default parameter expressions. things work as long as they don't reference lexicals in the immediate outer scope.
diakopter github web ui seems a lot speedier. maybe a db restart did it some good. :) 23:26
lue hooray, that works!
diakopter goes to look at the LHF and ROADMAP 23:27
23:30 risou joined
dalek ecza: e7e680b | sorear++ | lib/JSYNC.cs:
Fix dot-stuffing of tags
23:40
ecza: a174eb9 | sorear++ | / (4 files):
Start on a JSYNC test suite
23:40 jrockway joined 23:48 jrockway left 23:49 jrockway joined
dukeleto sorear++ # jsyncing 23:51
MindosCheng rakudo: my $x = -> { my Int $c=10; return { say $c— } }(); $x(); $x(); 23:54
p6eval rakudo 015d77: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
MindosCheng I Can't figure out… 23:55