»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by masak on 12 May 2015.
00:15 laouji joined 00:39 laouji left 00:40 laouji joined 00:42 gfldex left 00:45 laouji left 00:50 laouji joined 00:52 laouji left 00:55 laouji joined 01:01 colomon left 01:03 aborazmeh joined, aborazmeh left, aborazmeh joined 01:05 SevenWolf joined 01:11 caddar left 01:14 colomon joined 01:17 vendethiel joined 01:22 laouji_ joined 01:23 laouji_ left 01:25 laouji_ joined, laouji left 01:40 vendethiel left 01:44 ilbot3 left 01:47 ilbot3 joined 01:52 colomon left 01:54 Sqirrel left 02:03 koo6 left 02:22 colomon joined 02:30 yqt left 02:34 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk 02:40 ShimmerFairy left, noganex joined 02:44 colomon left, noganex_ left 02:45 colomon joined
tadzik domm++'s blogpost (domm.plix.at/perl/2015_05_a_very_si...ript.html) makes me happy 02:49
It even features two of my creations :)
But it carries such a positive message, awesome
02:52 ShimmerFairy joined 03:11 bin_005_k joined 03:32 BenGoldberg left 03:47 bin_005_k left 04:04 kaare__ joined 04:07 araujo joined, araujo left 04:08 araujo joined 04:09 flaviusb joined 04:12 espadrine joined 04:16 skids left 04:47 aborazmeh left 04:57 ifim joined 05:10 laouji_ left, laouji joined, ifim left 05:12 woolfy joined, woolfy left 05:36 quester joined, quester left, quester joined, Sqirrel joined 05:46 Patterner joined 05:49 Psyche^ left 06:00 domidumont joined 06:02 domidumont left, cognominal joined 06:03 domidumont joined, domidumont left 06:08 _mg_ joined 06:11 domidumont joined 06:18 FROGGS joined 06:21 lolisa left 06:22 espadrine left 06:29 rindolf joined 06:31 xinming_ joined 06:35 xinming left 06:49 telex left 06:50 telex joined 07:01 amurf left 07:05 larion left 07:07 Alina-malina left 07:10 Alina-malina joined 07:14 andreoss joined 07:15 SevenWolf left 07:17 lestrrat left 07:20 lestrrat joined 07:22 lolisa joined 07:24 salva left 07:25 salva joined 07:26 zakharyas joined, RabidGravy joined 07:27 salva left, g4 joined, g4 left, g4 joined, salva joined 07:31 gfldex joined 07:42 salva left 07:44 pdcawley joined
RabidGravy morning 07:46
07:47 darutoko joined
tadzik Hello RabidGravy 07:48
07:49 lolisa left 07:50 larion joined, rindolf left, Khisanth left, zhanggong joined 07:53 fhelmberger_ joined 07:56 fhelmberger left 07:58 Khisanth joined
DrForr #125299 is a bit embarrassing :) 07:59
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125299
lizmat Good *, #perl6! 08:01
DrForr: I think that is actually a NYI, but I'm not 100% sure
DrForr Nod. I just keep seemingly running across these things at random. 08:02
lizmat DrForr: please, continue doing so :-) 08:03
08:03 fhelmberger_ left, fhelmberger joined
DrForr Incidentally "porting" Debugger::UI::CommandLine to use Readline (in a very basic sense) took all of 15 minutes. 08:04
08:09 FROGGS_ joined
DrForr m: my %x;%x<a>=\%x;say %x; # No progress here? 08:10
FROGGS_ m: say "#={ 42 }" # DrForr: your ticket is invalid
camelia rakudo-moar c2a57e: OUTPUT«(timeout)»
rakudo-moar c2a57e: OUTPUT«#=42␤»
FROGGS m: "#={"
camelia: ?
DrForr: me thinks your ticket is invalid
$ perl6 -e '"#={"'
===SORRY!=== Error while compiling -e
$ perl6 -e '"#={ say 42 }"'
42
curlies get interpolated
that shows it better:
$ perl6 -e 'say "#={ 42 }"'
#=42
08:10 FROGGS left
camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jyPduEBqzV␤Unable to parse expression in double quotes; couldn't find final '"' ␤at /tmp/jyPduEBqzV:1␤------> 3"#={"7⏏5<EOL>␤ expecting any of:␤ double quotes␤ term␤» 08:10
FROGGS_ .perl and .gist do not handle recursive structures yet
ewww
bad FROGGS! 08:11
08:11 FROGGS_ is now known as FROGGS
FROGGS DrForr: I am closing your ticket now 08:11
DrForr The error was about the closing quotes, not the interpolation.
FROGGS DrForr: you mean that '"' is mentioned in the error message? 08:12
DrForr Yes.
FROGGS ahh
FROGGS adds that to the ticket
08:13 larion left
DrForr Inasmuch as I'd probably have caught it myself if it had said "Unable to parse interpolated expression at ..{..". The "double quotes" led me to believe that it simply interpreted '#' inside the string as a comment. 08:17
FROGGS star-m: "#={" 08:19
camelia star-m 2015.03: OUTPUT«5===SORRY!5=== Error while compiling /tmp/TivVUqk0iM␤Unable to parse expression in double quotes; couldn't find final '"' ␤at /tmp/TivVUqk0iM:1␤------> 3"#={"7⏏5<EOL>␤ expecting any of:␤ prefix or term␤ double quotes␤»
FROGGS std: "#={"
camelia std 28329a7: OUTPUT«5===SORRY!5===␤Unable to parse double quotes at /tmp/KAmngcQcqe line 1:␤------> 3"#={7⏏5"␤Couldn't find final '"'; gave up at /tmp/KAmngcQcqe line 1 (EOF):␤------> 3"#={"7⏏5<EOL>␤Parse failed␤FAILED 00:00 134m␤»
FROGGS :o(
lizmat packing it in and moving out& 08:20
08:20 lizmat left, mr-foobar left 08:21 mr-foobar joined 08:22 aindilis left
grondilu m: say '"#={"' 08:23
camelia rakudo-moar c2a57e: OUTPUT«"#={"␤»
08:40 espadrine joined 08:45 espadrine_ joined 08:49 espadrine left 08:51 quester left 08:54 fhelmberger left
RabidGravy something weird may have happened to the testers.perl6.org in the last few days: 08:56
"==> Test report submitted as: testers.perl6.org/reports/</html>.html"
08:57 xfix joined 09:06 larion joined 09:12 bin_005 joined
FROGGS uff 09:12
09:12 kev-the-hasty joined
kev-the-hasty Hello. Can anyone help me wiht some object.clone issues 09:14
FROGGS the last report is from 2015-05-29T18:43:02Z 09:15
kev-the-hasty: hi
kev-the-hasty: what's the issue?
09:16 Ven joined
kev-the-hasty I have been struggling with deeper cloning of objects. 09:16
I discovered that objects with the .clone method only shallow copy.
But trying to work out syntax for deeper copying is strange. 09:17
I have found a roast test failing too.
github.com/perl6/roast/blob/master...es/clone.t
Fails on 2015.05 and 2015.04 tests 15 and 17
FROGGS hmmm 09:18
deep cloning is not yet implemented I think
09:18 fhelmberger joined
kev-the-hasty specifically I am trying to write a chess program in perl6. I need to keep a multidimensional array for white/black and then a list of indexes to another array. 09:18
I also discovered that sub's with copy are doing the shallow clone (what I would expect) but subs without rw are mutable 09:19
I have a test program to illustrate - not sure how to show it here 09:20
I understand deep cloning not implimented. Not sure how to work around. but I suspect shallow cloning is a bit broken. 09:21
Ven kev-the-hasty: you can use a gist here, IIRC
kev-the-hasty ok. hang on a tick 09:22
FROGGS gist or another pastebin will do, aye
09:22 Ven left
FROGGS RabidGravy: problem should be fixed now 09:22
09:25 rindolf joined 09:28 zhanggong left
kev-the-hasty gist.github.com/kevincolyer/7aad41...beb1eb75cd 09:28
Hmmm. Just switched machines and struggling to get it to compile now. Let me know if problems. 09:29
FROGGS kev-the-hasty: remove the second param from sub immutable 09:30
kev-the-hasty: and spell it 'use Test;' in line 63
and btw, arrays and hashes are mutable without 'is rw' 09:31
kev-the-hasty Ha! runs now. Thjanks
So how do I create a deep clone of an object then? Can't do a recursion without it and I need a lot of that sort of thing in evaluation functions in chess engine 09:34
RabidGravy FROGGS++ # cheers 09:38
FROGGS, yeah all worky again 09:39
FROGGS \o/ 09:40
09:42 salva joined 09:43 cognominal left 09:44 smls joined
kev-the-hasty Been working at it some more and updated gist. gist.github.com/kevincolyer/7aad41...beb1eb75cd 09:46
Can't seem to clone attributes in. Am I missing some syntax - keeps copying a reference to $a.deep I think. 09:47
09:53 Ven joined
kev-the-hasty Driving me a little bonkers! 09:57
10:07 Vlavv left 10:08 dayangkun left 10:11 Ven left
kev-the-hasty Could anyone advise on gist.github.com/kevincolyer/7aad41...beb1eb75cd 10:14
A workaround would be most helpful until deep cloning is working. 10:15
smls kev-the-hasty: Couldn't you give your class a copy method like this: gist.github.com/smls/7a005bcc3716e993ae09 10:16
10:17 fhelmberger left
smls Alternatively, you could try to restructure your algorithm so it becomes more functional and doesn't require modifying data structures in-place. 10:17
Although I realize that may not be a very good answer. 10:18
10:18 noganex_ joined
smls As for automatic deep cloning of arbitrary objects, I don't think it exists. 10:20
10:20 Brock joined, grondilu_ joined 10:21 awwaiid left, grondilu left, noganex left, pecastro left, pecastro joined, Vlavv joined
kev-the-hasty @smls that looks interesting. I guess deepmap descends and maps using *.clone to copy? 10:22
smls it descends into iterable data structures, yes 10:23
see design.perl6.org/S32/Containers.html#line_392 10:26
kev-the-hasty @smls as to my algorithm. I'm writing a chess program that has an object representing the current position of a games. I understand I am using an object to represent it, but I could use a hoaoa or something! To deeply search for new positions I need to duplicate the position and to make moves etc. Would be frustrating to go to a hash. Will look into your gist some more!
smls kev-the-hasty: The problem with deepmap is that it does not descend into the value of Pair's, so you would need special handling for a hash-of-hash or hash-of-arrays 10:30
andreoss design.perl6.org is searchble now. good 10:31
may be some one will fix wiki.perl6.org too 10:32
jk
10:33 bin_005 left
kev-the-hasty @smls I think I am getting it working now. Thanks so much. I'll let you know how I get on! 10:35
10:39 colomon_ joined, amurf joined, labster_ joined 10:40 labster_ is now known as labster, [particle] joined, pierrot_ joined 10:41 El_Che_ joined, Foxcool_ joined 10:42 kaare_ joined 10:43 telex left, petercom1and joined, telex joined, yqt joined, rindolf left, colomon left, Foxcool left, kaare__ left, mtj_ left, colomon_ is now known as colomon 10:44 pierrot left, amurf left 10:45 mtj_ joined
smls Actually, .deepmap *does* properly recurse into the keys of associative data structures like hashes. Updated the gist to show it. 10:58
11:00 petercom1and left, petercom1and joined, petercom1and is now known as petercommand
masak good afternoon, #perl6 11:01
smls g'day 11:02
11:02 fhelmberger joined 11:04 Sqirrel left
nwc10 good heresy, masak 11:05
11:06 Sqirrel joined 11:09 liztormato joined
liztormato waves to masak from the terrace, waiting for a taxi 11:09
11:10 yqt left
FROGGS o/ 11:13
FROGGS is going to be more active here starting this evening
liztormato ++FROGGS ! 11:14
nwc10 I hope that this is for good reasons.
FROGGS $dayjob was just a bit too much for the last week (including weekend) 11:15
11:15 kev-the-hasty left
masak FROGGS: I know what you mean. 11:16
well, not weekend, which was lovely.
11:16 liztormato left
FROGGS masak: my weekend *was* lovely... the current project is quite fun 11:17
masak oh, good for you.
as long as you can keep it from being too much, at least.
FROGGS true 11:18
this is the project I want to turn into Perl 6 at some point...
masak \o/ 11:19
let's bring that point about! :D
FROGGS though I cannot do this now since it uses quite some deps and it is a multithreaded middleware service including a frontend for tickets for technicians
11:24 cschwenz joined
cschwenz Good * #perl6 :-) 11:25
Why does .print use .Str while .say uses .gist? 11:26
masak cschwenz: I ask myself that almost every day >:( 11:27
smls I guess those were deemed the most useful combinations, and having separate functions for *all* combinations would have been excessive :) 11:28
masak cschwenz: the reason is something like, `print` is more low-level, for file handles and the like.
smls but yeah, I'm not a big fan of that situation either.
masak smls: I think we have too many stringification methods.
one or two too many.
cschwenz :-(
masak why does .Str absolutely have to be distinct from .gist, for example? 11:29
cschwenz thanks for the answers. :-)
smls maybe .gist should be relegated to dd() and be 100% optimized for debugging, while all the "normal" printing functions get to use .Str
masak yeah, something like that.
many .Str methods delegate to .gist anyway
smls true
The worst part is imo that .gist tries to be both useful for debugging and for machine-/end-user-readable output, and thus excels at neither. 11:33
But .perl is not great for debugging either, especially for regex matches where it is much too verbose.
it's like all of them are missing a clear singular purpose :P 11:34
masak aye 11:35
Python seems to nail this one, and quite effortlessly somehow. 11:36
11:36 yqt joined
DrForr Maybe I should try .gist in my debugging tests for comparison, but the presence of the full string in every submatch when I'm debugging a grammar simply overwhelms me with noise. 11:38
Sorry, that could be better phrased.
masak yeah, I never print match objects, not even when I'm debugging. 11:39
maybe that's the reason :)
DrForr Maybe .gist would be a quieter way to debug my issues. When I've simply dumped the Match object in the past, the presence of the enire string repeated throughout the submatches makes it too noisy.
.perl output with just a *bit* more formatting would be ideal. I understand that .perl should be dense, I've got no issue with that. 11:40
It's why in my test suites I go to the trouble of writing out the *entire* nested structure longhand, rather than do is-deeply() on a substructure right off the bat. 11:41
masak m: given 5 { when 5 { proceed; say "!" }; say "OH HAI" }
camelia rakudo-moar c2a57e: OUTPUT«OH HAI␤»
masak thought so
smls DrForr: Yeah, .gist is currently best you to print match objects for debugging purposes. 11:47
Although when your data structure contains *both* nesting *and* match objects, you're screwed.
11:48 atta left
DrForr silently points to a grammar with 5 levels of nesting. 11:49
|Tux| does p6 have a similar call for "select STDERR" as in "all default out goes to STDERR from now on"
RabidGravy what's the rationale behind "Cannot put a type constraint on an 'our'-scoped variable" is it by design or just that it's difficult to implement?
11:50 rindolf joined
smls m: our Str $foo 11:50
camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/bbH4a4toUx␤Cannot put a type constraint on an 'our'-scoped variable␤at /tmp/bbH4a4toUx:1␤------> 3our Str $foo7⏏5<EOL>␤ expecting any of:␤ constraint␤»
smls huh
|Tux|: Simply doing $*OUT = $*ERR; seems to work. 11:52
$ 6 '$*OUT = $*ERR; say "yay"' >&-
yay
|Tux| yiacks. that looks destructive! local $*OUT = $*ERR would work too? 11:53
FROGGS or 'my $*OUT'
smls I guess that would be called temp $*OUT = $*ERR
|Tux| both are ugly to rewrite from «$error and select STDERR;» 11:54
but I get the general direction 11:55
smls m: say (await do for ^10 { start { $_ ** 2 } }).perl 11:57
camelia rakudo-moar c2a57e: OUTPUT«(0, 1, 4, 9, 16, 25, 36, 49, 64, 81)␤»
smls ^^ I ran this one-liner on my computer ten times in a row, and...
- 7 times is ran normally
- 2 times it crashed with "===SORRY!=== Cannot invoke this object (REPR: Null)"
- 1 time it hung seemingly indefinitely (had to CTRL+C it)
Is there something wrong with that code, or is concurrency support in r-m still this buggy?
moritz code looks fine to me :/ 11:59
smls :(
moritz m: for ^20 { await do for ^10 { start { $_ ** 2 } } } 12:00
camelia rakudo-moar c2a57e: OUTPUT«Memory allocation failed; could not allocate 656 bytes␤»
moritz m: for ^10 { await do for ^10 { start { $_ ** 2 } } }
camelia rakudo-moar c2a57e: OUTPUT«Memory allocation failed; could not allocate 656 bytes␤»
moritz m: for ^5 { await do for ^10 { start { $_ ** 2 } } }
camelia rakudo-moar c2a57e: OUTPUT«Memory allocation failed; could not allocate 656 bytes␤»
moritz m: for ^2 { await do for ^10 { start { $_ ** 2 } } }
camelia rakudo-moar c2a57e: OUTPUT«Memory allocation failed; could not allocate 656 bytes␤»
moritz m: for ^1 { await do for ^10 { start { $_ ** 2 } } }
camelia ( no output )
moritz m: for ^2 { await do for ^5 { start { $_ ** 2 } } }
camelia ( no output )
moritz m: for ^3 { await do for ^5 { start { $_ ** 2 } } } 12:01
camelia rakudo-moar c2a57e: OUTPUT«Memory allocation failed; could not allocate 656 bytes␤»
smls looks like camelia may have bigger problems, if she can't allocate a mere 656 bytes :P 12:03
12:03 fhelmberger left 12:04 census joined, espadrine_ is now known as espadrine 12:08 Sqirrel_ joined, Sqirrel left, brrt joined 12:12 Sqirrel joined, Sqirrel left, Sqirrel joined, Sqirrel_ left 12:16 xfix left 12:17 fhelmberger joined
timotimo smls: if you run with a more recent MoarVM than the NQP_REVISION and MOAR_REVISION require, you're going to be running a build where concurrency problems are brought to the front more readily 12:17
smls how come?
12:18 rindolf left, Ven joined 12:20 xfix joined
timotimo remember how moar used up 100% of a core whenever you used something event-loopy? 12:21
12:21 xfix left 12:27 fhelmberger_ joined, fhelmberger left
RabidGravy smashing 12:29
timotimo oh, i wanted to explain a bit more
well, that part got fixed and that caused racy behavior to happen more readily, as the core wasn't busy busy-waiting 12:30
smls ok 12:32
timotimo but if you just "rakudobrew install" or something, you'll get a version that uses the alot of cpu, but doesn't race as heavily 12:33
but yeah, sadly we have stability issues at the moment with multi-threading
DrForr m:=end FOO 12:36
Hrm, not sure how the bot's parser would handle that :)
moritz m: my $x␤=begin foo 12:48
camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/5cnrzTGBLT␤Undeclared routines:␤ begin used at line 2␤ foo used at line 2␤␤»
moritz m: my $x;␤=begin foo
camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rEfcaf4geA␤Preceding context expects a term, but found infix = instead␤at /tmp/rEfcaf4geA:2␤------> 3=begin 7⏏5foo␤»
13:01 pierrot_ is now known as pierrot 13:09 mr-foobar left 13:10 larion left 13:11 mr-foobar joined 13:16 cschwenz left 13:28 cognominal joined
|Tux| mutters that to-json should *also* be a Str method 13:30
easier to switch between .gist .to-json and .perl
brrt disagrees because he still (naively maybe) thinks that json will die in a few decades time 13:34
json is not *really* a good serialisation format, and we should not necessarily prefer one format over another, anyway 13:35
13:36 Ven left
cognominal we need a p6on :) 13:37
FROGGS ohh please dont
|Tux| everything that is printable but not always visible is lost in .gist (\t) but overly quoted in .perl
huf what's wrong with json? apart from no support for any complex datatype and inconsistent float handling? :)
and some unicode-related inconsistencies with javascript, iirc. 13:38
|Tux| I still want x[00a0] to show as \x[a0] or somesuch
brrt anyway, huf, that's precisely what's wrong with it :-P 13:39
|Tux| " being special in the default available methods. it doesn't need escaping to show it's specialness, but because to-json and .perl use " to quote the whole string it is escaped
huf brrt: yes yes but apart from _all_ that :)
it's a great config file syntax! it has no support for comments at all :) 13:40
the only reason json caught on is because it's not xml.
13:40 rarara joined 13:41 rindolf joined
brrt :-P please encode for me, in a way that everybody understands: a): a complex number, b): a geographic coordinate, c): a timestamp with a tiemzone information 13:41
moritz and because it's possible to implement json (de)serialization in an afternoon
brrt but yeah
13:41 Ven joined
brrt d): binary data 13:42
huf moritz: okay, yeah, that was important too
13:42 mr-foobar left
huf brrt: luckily, json has strings. and you can serialize _anything_ into strings :) 13:42
13:43 telex left 13:44 telex joined 13:45 larion joined, koo6 joined
dalek kudo-star-daily: 43c9e46 | coke++ | log/ (2 files):
today (automated commit)
13:51
13:52 skids joined 13:57 achauvin joined 14:02 fhelmberger_ left 14:03 sebm3 joined 14:08 laouji left 14:11 ][Sno][ joined, [Sno] left 14:14 lolisa joined 14:15 mr-foobar joined 14:17 amurf joined 14:19 yqt left 14:21 rindolf left, amurf left 14:22 yqt joined 14:29 fhelmberger joined 14:31 fhelmberger left, fhelmberger joined
cognominal what is the way to wait until all the started Proc::Async have existed? 14:32
timotimo collect the promises returned by .start and await that list 14:33
cognominal thx 14:34
works great indeed 14:35
timotimo :)
14:37 _mg_ left
cognominal Need to reread S17 and watch jnthn++ talks to get the most of Perl 6 asynchrony 14:38
timotimo a good plan 14:39
14:39 cschwenz joined
cschwenz cognominal: do you have links to said talks? 14:39
timotimo some things were renamed since the last available recorder jnthn asynchrony talk, iirc
cognominal cschwenz, www.youtube.com/watch?v=JBHsdc0IVI...u.be&a 14:40
cschwenz awesome! thanks. :-D 14:41
cognominal In fact, he has done that talks many times, and each times it gets better
cschwenz, www.jnthn.net/papers/2014-apw-objec...rrency.pdf these are the slides from a previous version of the talk 14:42
cschwenz \o/ 14:43
cognominal cschwenz, and the code for extensions used in the examples github.com/jnthn/oo-monitors/ github.com/jnthn/oo-actors/
timotimo well, the talk about oo-monitors and oo-actors isn't the one about asynchrony i was thinking about 14:44
cognominal like I said the talk has mutated, or there are altogether different talks and I am confused. 14:45
Another one about reactive programming www.youtube.com/watch?v=_VdIQTtRkb8 14:47
14:49 fhelmberger left
rjbs If I'm writing a class or module, is p6 in a stricter mode than the main program, in some way? 15:01
timotimo hm? what do you mean? 15:02
rjbs I don't know. A discussion of p6 from 2006 says:
"Perl6 will turn it up for you a little by default--if you write a module or class, it'll automatically default to a stricter mode than it uses for your main program." 15:03
the "it" is "the strictness knob"
[Coke] Who said that? (even if it's TT, I don't think that's a true thing)
rjbs It was. 15:04
That's fine, things change in 9 years. :) I was just wondering if it was true, because I didn't know of it being true.
FROGGS there was some thinking that if you write a class, then some sort of baby talk will be disabled or so...
that statement is not true anymore
[Coke] looks like it's from earlier: interviews.slashdot.org/story/02/09...ligion-and
rjbs oops, misread the dates 15:05
[Coke] 2002, so even more suspect. :)
rjbs YYMMDD. Honestly!
Thanks for the check.
literal nowadays by default -e is loose and everything else is strict, right?
s/loose/lax/
rjbs That's my understanding.
cognominal how usable is the newIO branch? I need to set up pipes. And it seems it could be there because IO::Pipe is missing from master. Well it is an empty placeholder. 15:07
FROGGS literal: correct 15:08
that the REPL was lax for almost a year was due to an error...
cognominal: you can use pipe()... and I think newio does not offer much functionality wrt pipes compared to nom 15:09
RabidGravy m: say Regex.new(pattern => "hshss"); # I know this falls into the making shit up and expecting it work category but hey 15:10
camelia rakudo-moar c2a57e: OUTPUT«(signal SEGV)»
RabidGravy somewhat LTA
FROGGS aye 15:16
please RT it
|Tux| was trying to use __END__ => *DATA blocks in p6
so I used =begin DATA and =end DATA and $=data 15:17
Pod variables other than $=pod not yet implemented. Sorry.
what is the mode-du-jour to use trailing data?
15:19 zakharyas left 15:22 brrt left
RabidGravy FROGGS, done #125302 15:23
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=125302
15:24 larion left
FROGGS RabidGravy++ 15:25
smls |Tux|: I guess there isn't a good Perl 6 replacement for __DATA__ and __END__ yet (which is a shame). 15:26
|Tux| I can use «sub MAIN (*@ARGV) {», but is there also a global @ARGV if I do not have a MAIN? 15:28
moritz @*ARGS
|Tux| top! another example finished 15:29
FROGGS there is $*pod and $*finish btw 15:31
err, $=finish
and $=pod 15:32
|Tux| if the error message would have hinted me to $=finish, I would not have asked a single question :)
Pod variables other than $=pod an $=finish not yet implemented. Sorry. 15:33
and
FROGGS std: __END__ blub
camelia std 28329a7: OUTPUT«5===SORRY!5===␤Undeclared name:␤ '__END__' used at line 1␤Undeclared routine:␤ 'blub' used at line 1␤Check failed␤FAILED 00:00 135m␤»
FROGGS std: __END__␤blub␤
camelia std 28329a7: OUTPUT«5===SORRY!5===␤Undeclared name:␤ '__END__' used at line 1␤Undeclared routine:␤ 'blub' used at line 2␤Check failed␤FAILED 00:00 135m␤»
FROGGS std: __DATA__␤blub␤
camelia std 28329a7: OUTPUT«5===SORRY!5===␤Undeclared name:␤ '__DATA__' used at line 1␤Undeclared routine:␤ 'blub' used at line 2␤Check failed␤FAILED 00:00 135m␤»
|Tux| FROGGS, $=finish has not yet been implemented 15:35
FROGGS O.o 15:37
m: say 42␤=finish␤say 21␤
camelia rakudo-moar c2a57e: OUTPUT«42␤»
moritz m: say =begin END␤say 21␤ 15:38
camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7kxFZy1b11␤Preceding context expects a term, but found infix = instead␤at /tmp/7kxFZy1b11:1␤------> 3say =7⏏5begin END␤»
moritz m: =begin END␤say 21␤
camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PzZTY8L9pK␤'=begin' not terminated by matching '=end END'␤at /tmp/PzZTY8L9pK:3␤------> 3<BOL>7⏏5<EOL>␤ expecting any of:␤ horizontal whitespace␤ whitespace␤»
FROGGS m: =begin␤say 21␤
camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/PeN9bUGIN2␤=begin must be followed by an identifier; (did you mean "=begin pod"?)␤at /tmp/PeN9bUGIN2:1␤------> 3=begin7⏏5<EOL>␤»
|Tux| m: say $=finish;␤␤=finish␤DATA
camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/swIlXp765G␤Pod variables other than $=pod not yet implemented. Sorry. ␤at /tmp/swIlXp765G:1␤------> 3say $=finish7⏏5;␤»
FROGGS m: =flubber␤say 'not here' 15:39
camelia ( no output )
FROGGS so, everything besides =pod and =begin can act like __END__
moritz erm, no
|Tux| =finish === __END__ 15:40
moritz it's just that if there is no newlline after an abbreviated pod form, stuff after it counts as a continuation of the pod block
|Tux| and if I read correct, $=finish should eventually hold all the data after =finish
FROGGS m: say $=pod; =pod foo␤bar␤baz␤␤
camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cljOUjsyGP␤Preceding context expects a term, but found infix = instead␤at /tmp/cljOUjsyGP:1␤------> 3say $=pod; =7⏏5pod foo␤»
FROGGS m: say $=pod; =foo␤bar␤baz␤␤ 15:41
camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hTaqgTkRHs␤Preceding context expects a term, but found infix = instead␤at /tmp/hTaqgTkRHs:1␤------> 3say $=pod; =7⏏5foo␤»
FROGGS m: say $=pod; =begin foo␤bar␤baz␤␤
camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/qHHjFctnfl␤Preceding context expects a term, but found infix = instead␤at /tmp/qHHjFctnfl:1␤------> 3say $=pod; =7⏏5begin foo␤»
|Tux| m: say $=pod;␤␤=finish␤DATA
camelia rakudo-moar c2a57e: OUTPUT«␤»
FROGGS m: say $=pod;␤=pod foo␤bar␤baz␤␤
camelia rakudo-moar c2a57e: OUTPUT«Pod::Block::Named{:name("pod")}<>␤ Pod::Block::Para␤ foo bar baz␤␤»
FROGGS bbl & 15:44
15:44 FROGGS left
|Tux| another stupid Q: p5« my @foo = (@bar) x 100; » put 100 copies of @bar in @foo. p6 how? 15:46
other than in a for loop
japhb Anyone happen to know when jnthn will be back? Is he honeymooning?
|Tux|: You need xx to get list multiples 15:47
x is for string multiples
|Tux| thnx. never used it before
japhb Also, xx thunks, if that matters in your actual code.
(Because people expected to be able to do [] xx 100 and get 100 unique arrays.) 15:48
moritz japhb: iirc next week
japhb moritz: Ah, thanks.
|Tux| top! 15:49
15:50 domidumont left 15:55 Ven left
itz Are there any plans for a * release any time soon? 15:57
15:58 kst left
cognominal FROGGS newio setting does not compile yet. Too bad there are a lot of interesting there. lizmat++ 15:59
[Coke] star needs to get its module installation story straight after recent panda changes, IIRC. 16:00
itz yeah there is quite a lot of brokeness 16:01
[Coke] We'd be happy to step you through installing the latest compiler release, though, if you like.
itz is anyone able to merge github.com/tadzik/Bailador/pull/27 ?
I have built the latest
raydiak o/ g'mornin #perl6 16:02
itz also github.com/tadzik/panda/pull/163 16:03
|Tux| tony-o_, Bench is fun: 16:06
Timing 50 iterations of combine 1, combine 10, combine 100, parse 1, parse 10, parse 100...
combine 1: -0.1110 wallclock secs @ -450.6049/s (n=50)
(warning: too few iterations for a reliable count)
tony-o_ |Tux|: there is no lib in p6 yet for me to get CPU seconds
yoleaux 31 May 2015 02:11Z <timotimo> tony-o_: in general i'm okay with being pm'd by anyone at any time :)
|Tux| ah
tony-o_ otherwise, yes, i'd be more than happy to do taht :-) 16:07
16:07 liztormato joined
|Tux| but -0.1 waalclock? 16:07
tony-o_ i started on a nativecall version but got hung up on the windows side
what does your code look like?
|Tux| gist.github.com/Tux/5fd68abcc5f362ede112 16:08
liztormato japhb: the way I understand it, is that jnthn will still be mostly offline for today and tomorrow
16:08 rindolf joined
|Tux| change 100 to 10 16:08
tony-o_, warning: you cannot install Text::CSV with panda. It does install but the installed version will crash 16:09
liztormato About to be airborne again& 16:10
|Tux| that is a difficult bug (RT#124298)
synbot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=124298
tony-o_ it can be negative too if your system took a long time to initiate the call, bench tries to keep track of how long it takes to start the benchmark
it's modeled after the p5 module
16:10 liztormato left
|Tux| that is why I use it :) 16:10
rewriting all my examples from perl5 to perl6 16:11
16:13 andreoss left, AlexDaniel joined 16:14 cschwenz left
dalek ecs: b413e55 | (Stéphane Payrard)++ | S24-testing.pod:
replaced deprecated underscored sub names by dashed ones
16:16
16:19 lolisa left
dalek ecs: 86bb33f | moritz++ | html/index.html:
index page: correct some details about the document generation
16:23
16:32 vendethiel joined 16:38 grondilu_ is now known as grondilu 16:39 grondilu is now known as Guest77420
rjbs What is the term being used to describe the Christmas 2015-ish release of Perl 6? 16:42
the first "stable" release? "official" relelase?
PerlJam perhaps just "the first release" :) 16:44
dalek rl6-roast-data: 0328035 | coke++ | / (8 files):
today (automated commit)
16:47
[Coke] Our marketing departement will have to get back to you on that. :|
In other news: we have an opening marketing position. :) 16:48
itz please don't use the "M" word :) 16:50
ugexe they prefer the term technology evangelist 16:51
[Coke] stares at the spelling and grammar issues he's sending today. wtf. 16:52
17:09 diana_olhovik_ joined 17:10 rarara left
dalek c: 81b5882 | (Steve Mynott)++ | lib/Language/ (2 files):
fix 3 minor typos
17:18
17:20 JTAA8W7Q joined
smls When I do for pipe("$shell-command").lines -> $line { ... } does Perl 6 keep the whole lazy list around in RAM while it is iterated, or free values once they've been iterated over? 17:20
raydiak would hope that potentially-infinite lists don't require potentially infinite RAM 17:24
17:24 renormalist joined
Juerd raydiak: They do 17:24
raydiak: Fortunately, this is not tested beforehand, so you can get away with finite RAM as long as you don't use too much of the list :P 17:25
raydiak hrm...
smls Also, how come while pipe(...).get -> $line { ... } does not work? 17:26
raydiak I guess that makes sense if the list is stored in a variable or something
smls It prints the first line on infinite loop.
oh, duh 17:27
my $pipe = pipe(...); while $pipe.get -> $line { ... } seems to work. 17:28
17:28 espadrine left 17:29 cognominal left 17:30 cognominal joined
smls hrm no, to handle empty lines it needs to be: 17:30
17:30 vendethiel left
smls while defined(my $line = $pipe.get) { ... } 17:30
smls hopes the GLR will make the 'for' version efficient
Guest77420 potentially-infinite lists are still defined by a finite algorithm. So they don't require potentially infinite RAM. 17:33
17:33 kst joined 17:34 Guest77420 is now known as grondilu, grondilu left, grondilu joined 17:35 yqt left
raydiak but the reified part is kept around until the whole list is GC'd, is the problem 17:36
17:38 renormalist left
[Coke] m: say():{ "barf" } 17:40
camelia rakudo-moar c2a57e: OUTPUT«===SORRY!===␤Cannot find method 'has_compile_time_value'␤»
[Coke] ^^ that is blocking t/spec/S06-signature/slurpy-blocks.t
raydiak besides accessing the same element in an infinite list more than once, I guess it'd also be a problem because iterators can take previous elements as input to generate subsequent ones 17:42
17:47 _mg_ joined
hoelzro if a test is commented out in t/spectest.data, should we put an RT ticket in a comment next to it? 17:52
PerlJam IMHO, if there's and RT ticket that is associated with any test (commented or uncommented), the ticket number should appear in a comment next to it. 17:54
17:54 amurf joined 17:56 FROGGS joined 17:57 vendethiel joined
FROGGS good evening #perl6 17:58
17:59 amurf left
raydiak o/ FROGGS 17:59
17:59 jferrero left 18:00 jferrero joined
[Coke] rant: tests should not be commented out in t/spectest.data 18:06
FROGGS aye
18:06 rba_ joined
hoelzro [Coke]: I was thinking about block-leading.t and block-trailing.t 18:07
I would like to not be commented out, but I'm writing up a ticket and am wondering where I should put it
[Coke] all the tests that don't run need to be reviewed, either to add a NYI fudge, or update from really old sixperl, or deleted, or...
If you can sum up the reason why they're failing, open an RT for it, fudge the tests, and then add them to spectest.data 18:08
even if you can't sum it up, if you can fudge it, that's fine for now. open a ticket, use that in the fudge message.
hoelzro [Coke]: just did! rt.perl.org/Ticket/Display.html?id=125304 18:09
raydiak maybe there should be a statement to that effect in the comments at the top of the file? perhaps starting with all-caps PLEASE to politely get attention :) 18:10
[Coke] (I would have fudged them, but it was squishy - i fudged some things and then other things would fail
hoelzro I'll fudge and such later on today
[Coke] raydiak: in t/spectest.data ?
raydiak [Coke]: yes 18:11
[Coke] ok. working on it. 18:12
18:17 Peter_R joined
[Coke] gist.github.com/coke/faee9144606a35614fd9 18:18
18:21 yqt joined
masak for those of you who are interested in a good rationale for -0e0 in IEEE 754: people.freebsd.org/~das/kahan86branch.pdf 18:21
18:23 vendethiel left
masak m: say (-0e0).Str 18:24
camelia rakudo-moar c2a57e: OUTPUT«-0␤»
masak hm, how does .Str know that it's a negative zero?
geekosaur I thought the justification had to do with limits
[Coke] will push that gist shortly (and remove any commented out file names) shortly, unless someone complains
masak geekosaur: it does. and the complex plane.
geekosaur ah, yes, that too
and related to atan2() 18:25
masak oh? if you had said tan() I would have thought it less surprising... :) 18:27
the inverse tangent function is a very mellow function...
geekosaur conceptually related. atan2 exists because you need signs of both arguments to determine quadrant 18:28
masak ah, yes. 18:29
18:29 bin_005 joined
masak though isn't atan2(x, y) == atan2(-x, -y) always? 18:29
oh, not in the cases where either x or y is 0, right... 18:30
18:30 domidumont joined
geekosaur "For example, the anticlockwise angle from the x-axis to the vector (1, 1), calculated in the usual way as arctan(1/1), is π/4 (radians), or 45°. However, the angle between the x-axis and the vector (−1, −1) appears, by the same method, to be arctan(−1/−1), again π/4, even though the answer clearly should be −3π/4, or −135°" 18:31
masak right. 18:32
it's the ordinary atan() function that has trouble distinguishing.
atan2() has enough information to reconstruct the exact angle.
masak discovered the corner cases of atan() the hard way, decades ago, and was glad to learn of atan2() much later 18:33
dalek kudo/nom: 8cc2741 | coke++ | t/spectest.data:
Mention tools/update-passing-test-data.pl
18:41
kudo/nom: 73480ff | coke++ | t/spectest.data:
Remove commented out test file names

  (can generate this list using the tool mentioned in the file)
[Coke] pushed.
jercos .oO( a gimbal is a terrible thing to lock )
18:44 brrt joined
masak heh. 18:45
the other kids I knew wanted nothing to do with trig. me, I wanted to rotate stuff on my screen, and so I was quite interested.
timotimo :) 18:46
18:49 bin_005_u joined, vendethiel joined
FROGGS sighs 18:49
18:50 bin_005 left
timotimo moarvm now honors the int cache when returning ints from functions 18:50
as in: native ints that have to be boxed on the caller side 18:51
19:01 aindilis joined 19:12 vendethiel left 19:14 vendethiel joined 19:23 domidumont left
FROGGS TimToady: are you there? I want to add a pragma that I think is Perl 6.0.0-worth... 'use restricted' 19:25
TimToady well, long run such restrictions can only guaranteed at the vm level, but I suppose the language level might be able to give better error messages in some cases 19:30
I am a bit skeptical that restrictions can be strictly enforced at a language level though 19:31
FROGGS TimToady: I implemented it at the VM level, though, we want to to it on somehow
TimToady certainly worth playing with anyway
FROGGS so I am using a dynamic variable, and check for its existence (not its value) 19:32
so you cannot turn it off
so I get your +1 to add a pragma 'restricted' in rakudo?
then we can eval command line args for example and be safe 19:33
TimToady we can at least try, and the ask all the script kiddies to try to break it :)
*then
FROGGS k 19:39
:o)
19:39 vendethiel left
TimToady m: my $list = do { my $*restricted = True; gather for 1..* { take $*restricted // "oops" }}; say $list[0] 19:40
camelia rakudo-moar c2a57e: OUTPUT«oops␤»
timotimo that was quick :)
rjbs shout out to Perl 6 in: www.nntp.perl.org/group/perl.perl5....28300.html 😉 19:41
PerlJam rjbs++ 19:42
FROGGS rjbs++
19:43 telex left
timotimo rjbs++ 19:43
FROGGS rjbs: thank you 19:44
19:44 pdcawley left, telex joined, bin_005_u left
[Coke] rjbs++ 19:44
rjbs I actually had been unsure for a long time if I wanted to put that in there, but it seemed the sisterly thing to do. :)
19:45 bin_005_u joined
timotimo masak: do we perhaps want to put an "exit(0)" into the send-more-money-subs benchmark so that it's not quite as terribly long? 19:47
RabidGravy I've forgotten how to interpolated a variable into a regex such that it gets parsed as part of the regular expression rather than a literal string
timotimo that's <$foobar>
RabidGravy timotimo++ # knew it was something simple, cheers 19:48
timotimo YW
PerlJam rjbs: I hope whoever does the Christmas release of Perl 6 reciprocates by mentioning the recent release of 5.22 (I say this out loud so that if I'm not around, someone else thinks to include it :)
rjbs Funny, I'd always assumed TimToady would do it! Now I'm going to wait in even greater anticipation. 19:49
It would be his first documented Perl release since 1996, 5.002. 19:50
FROGGS hmmmm, one release every two decades... that's okay 19:52
19:53 cognominal left 19:54 nbdsp joined 19:56 vendethiel joined
RabidGravy m: try { my $f = '<*'; rx/<$f>/; CATCH { say $_.WHAT }}; # why this exception? 19:57
camelia rakudo-moar c2a57e: OUTPUT«(X::Method::NotFound)␤Method 'match' not found for invocant of class 'Any'␤ in block <unit> at /tmp/7FTV2wOYra:1␤␤»
masak timotimo: (a) IME, it actually finds the solution near the end. (b) if you did exit(0), how would you know you've found all solutions?
timotimo: but addressing the bigger picture -- yes, if the benchmark script is taking too long, then we should probably do something about that. 19:59
I added them because I was asked. and they take a long time because Rakudo is too slow. :)
timotimo masak: does it try out the possibilities in the same order, btw? 20:00
it uses sets ...
masak m: say (1, 2, 3, 4, 5) (-) (2, 4) 20:01
camelia rakudo-moar c2a57e: OUTPUT«set(5, 3, 1)␤»
20:02 nbdsp left
masak maybe not. 20:02
but the total running time should be unaffected.
I guess for the purposes of benchmarking one *could* hardcode smaller lists of numbers to iterate through (still containing the correct solution). 20:03
tony-o_ is that splicing the list ?
masak would make the problem faster to run but a bit more artificial.
tony-o_: it's set difference.
tony-o_ oh nvm - i see
masak m: say (1, 3, 4, 5) (|) (2, 4, 6) 20:04
camelia rakudo-moar c2a57e: OUTPUT«set(5, 4, 3, 6, 1, 2)␤»
masak m: say (1, 3, 4, 5) (+) (2, 4, 6)
camelia rakudo-moar c2a57e: OUTPUT«bag(5, 4(2), 3, 1, 6, 2)␤»
FROGGS .tell raydiak if you'd use MoarVM/restricted, you could test EVALing code in safe mode by declaring a variable called '$*RESTICTED'
yoleaux FROGGS: I'll pass your message to raydiak.
FROGGS .tell raydiak like in: my $pairs = { my $*RESTICTED; EVAL '(:auth<bar>:ver(/\d+/))' }(); say v42 ~~ $pairs[1]<ver> 20:08
yoleaux FROGGS: I'll pass your message to raydiak.
FROGGS .tell raydiak I'm going to make that available as 'use restricted', and maybe even as EVAL(Str, :$restricted)... 20:09
yoleaux FROGGS: I'll pass your message to raydiak.
FROGGS ohh, it is called RESTRICTED, not RESTICTED 20:10
jdv79 is there something like Devel::Cover yet? just curious if there's some way we could easily find things that are not well excercised by tests. 20:11
FROGGS not that I know
raydiak FROGGS: awesome thanks :) I'll try it out today 20:13
yoleaux 20:04Z <FROGGS> raydiak: if you'd use MoarVM/restricted, you could test EVALing code in safe mode by declaring a variable called '$*RESTICTED'
20:08Z <FROGGS> raydiak: like in: my $pairs = { my $*RESTICTED; EVAL '(:auth<bar>:ver(/\d+/))' }(); say v42 ~~ $pairs[1]<ver>
20:09Z <FROGGS> raydiak: I'm going to make that available as 'use restricted', and maybe even as EVAL(Str, :$restricted)...
FROGGS raydiak: for some reason the parens in the evaled string are needed btw 20:15
raydiak heh good to know 20:17
20:18 darutoko left 20:19 vendethiel left 20:22 vendethiel joined 20:23 renormalist joined 20:24 rindolf left 20:26 kaare_ left 20:29 spider-mario joined 20:30 El_Che_ is now known as El_Che
RabidGravy so if you interpolate a regex with /<$f>/ you don't get the error until you try to match against it? 20:39
20:39 FROGGS left 20:42 Possum left 20:46 vendethiel left 20:54 Possum joined, dalek left 20:55 dalek joined, ChanServ sets mode: +v dalek 20:58 _mg_ left
jdv79 so i pulled and made install and i still get paste.scsys.co.uk/485644 20:59
21:00 vendethiel joined 21:07 bin_005_u_j joined, espadrine joined, skids left 21:08 bin_005_u left, brrt left 21:20 beastd joined 21:32 amurf joined 21:36 amurf left
masak 'night, #perl6 21:39
raydiak good night masak
21:41 smls left 21:44 diana_olhovik_ left 21:52 cognominal joined 21:58 espadrine left 22:03 RabidGravy left 22:05 Peter_R left 22:18 kurahaupo1 joined 22:22 Khisanth left 22:23 cognominal left, bin_005_u_j left 22:24 Khisanth joined 22:25 cognominal joined, cognominal left 22:26 ggoebel joined, yqt left 22:31 ShimmerFairy left 22:32 yqt joined 22:40 beastd left, colomon left 22:42 colomon joined 22:44 skids joined 23:01 AlexDaniel left 23:18 smash left, kurahaupo1 left
timotimo weekly posted 23:21
a bit less spectacular than i'm used to :P
23:21 vendethiel left
tadzik Yay, reading :) tiko 23:24
Er, timotimo++
23:41 ShimmerFairy joined 23:45 ShimmerFairy left 23:48 Tux__ joined 23:53 larion joined 23:58 ShimmerFairy joined