»ö« 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.
timotimo tadzik: i'm failing to install rakudo with rakudobrew; apparently it won't find site in languages/perl6 (because it ain't there) 00:03
00:11 lvfjf left 00:33 igorsutton left 00:41 ponbiki joined 00:50 Alula joined, Alula_ left 00:53 thou joined 01:00 Alula left, Alula joined 01:01 ashleydev left 01:04 Sqirrel joined 01:08 FROGGS left, Sqirrel_ left 01:10 btyler left 01:12 treehug88 joined, btyler joined 01:13 treehug88 left
japhb Just tried to build a fresh r-p, and it blew sky high (max recursion depth with a monster backtrace) trying to build RESTRICTED.setting.pbc 01:17
01:21 FROGGS joined 01:25 jnap left 01:27 Alula left 01:28 btyler left, Alula joined 01:34 Alula left 01:42 Alula joined 01:44 average left 01:51 moistcherry joined 01:52 Su-Shee_ joined, klapperl left 01:53 moistcherry is now known as hoverboard 01:54 klapperl joined 01:55 Su-Shee left 02:08 BenGoldberg joined 02:15 raiph joined 02:20 donaldh left 02:23 jnap joined 02:26 donaldh joined 02:32 ashleydev joined 03:17 kaare_ joined 03:21 hoverboard left 03:24 jnap left 03:29 molaf_ left 03:32 adu joined 03:55 jnap joined 03:57 silug____ joined 03:59 jnap left 04:12 anaeem1_ joined 04:15 adu left 04:16 adu joined 04:17 bjz joined 04:20 kaare_ left 04:21 adu left 04:29 labster left 04:43 kaare_ joined 04:54 xinming__ joined 04:55 xinming_ left 04:56 jnap joined 04:57 labster joined 05:00 jnap left 05:03 BenGoldberg left 05:07 plobsing joined, SamuraiJack joined 05:14 thou left 05:21 raiph left 05:33 bowtie left, dwarring left 05:38 bowtie joined 05:56 SamuraiJack_ joined, SamuraiJack left 05:57 jnap joined 06:01 jnap left 06:02 Alina-malina left 06:03 araujo left 06:15 araujo joined 06:19 darutoko joined 06:44 kaleem joined 06:49 FROGGS left 06:55 zakharyas joined, FROGGS joined 06:57 jnap joined 07:00 molaf joined 07:01 Ven_ joined 07:02 jnap left 07:16 spider-mario joined
Ven_ when would be this month's R* release ? (or is there not gonna be a .msi file ?) 07:20
(or is there a need for a release manager ?) 07:21
07:26 igorsutton joined 07:39 Su-Shee_ is now known as Su-Shee 07:40 grondilu joined
moritz 01:12 < jnthn> I'll get R* release worked out tomorrow 07:41
Ven_: there's always a need for a release manager; do you want to do the May release? 07:42
Ven_ I can't even get rakudo to build on windows 07:43
moritz m: my $x = '42'; $x ~~ s/(.)/$0$0/; say $x 07:46
camelia rakudo-moar fd5f8e: OUTPUT«442␤»
moritz m: my $line = "bar foo"; s/(\w+) \s+ (\w+)/$1 $0/; say $line 07:47
camelia rakudo-moar fd5f8e: OUTPUT«bar foo␤»
moritz m: my $line = "bar foo"; $line ~~ s/(\w+) \s+ (\w+)/$1 $0/; say $line 07:48
camelia rakudo-moar fd5f8e: OUTPUT«foo bar␤»
07:53 rindolf joined 07:54 logie left 07:58 jnap joined 08:02 dmol joined 08:03 jnap left
Ven_ how hard would be `is parsed` to implement ? (and at what cost ?) 08:04
moritz nobody has done it before; it'd need exploring 08:06
(and you'd need to be able to build rakudo for it :-)
the cost? time, partial sanity downgrads
masak it's at least an interesting challenge.
with mutating the actual parsed program colliding a bit with changing immutable cursors. 08:07
or something.
Ven_ I can build rakudo, but only on my debian vm :)
masak jnthn++ claimed to have seen a way forward once.
Ven_ cost, as in "how badly would it hurt the perf" 08:08
masak should be a no-cost thing for those who don't use it.
08:15 zakharyas left
moritz aye 08:16
masak: fwiw I can kinda also imagine a way around the immutable string+cursor problem
08:17 cognominal__ joined
masak excellent. 08:17
moritz basically, parsing the returned string with a fresh cursor, and then creating a dummy cursor from begin to end of the 'is parsed' string
but it'd mean you can't return '} else {' and have it magically inserted and work
08:18 ggoebel111113 joined
moritz not sure if that's a bug or a feature :-) 08:18
08:18 zakharyas joined
masak hm, why would it mean that? I don't see the connection. 08:18
oh, because of nested braces and stuff?
moritz yes, because stuff that's returned would have to be parsable on its own 08:19
by some subrule or another
masak 'fraid that's too restrictive.
moritz maybe 08:20
08:20 cognominal left
moritz but it would still be a very interesting prototype 08:20
08:20 MilkmanD1n joined 08:21 hoelzro_ joined, slavik1 joined, jonpads joined, ggoebel111112 left, hoelzro left, Maddingu1 joined 08:22 Timbus_ joined 08:23 itz__ joined
FROGGS good morning 08:23
08:24 bjz_ joined, Juerd_ joined
mathw has read jnthn's slides on reactive programming in Perl 6 and is very, very happy 08:24
08:26 exodist_ joined
masak \o/ 08:26
08:26 jtpalmer_ joined
masak moritz: agreed; it would. 08:26
and limited functionality trumps no functionality.
08:26 Colby` joined 08:28 igorsutton_ joined 08:29 Woodi_ joined, amkrankr1leuen joined, breinbaa1 joined, integral_ joined, integral_ left, integral_ joined, itz___ joined, orevdiabl joined, telex left 08:30 xinming_ joined, telex joined 08:31 igorsutton left, djanatyn1 joined
jnthn morning, #perl6 08:33
08:33 frettled_ joined
Ven_ o/, jnthn 08:33
08:33 molaf_ joined 08:34 Ulti__ joined, itz__ left, araujo left, plobsing left, xinming__ left, pdcawley left, mtj left, Khisanth left, Gothmog_ left, go|dfish left, lizmat left, ilbot3 left, Ulti left, revdiablo left, breinbaas left, molaf left, bjz left, lue left, Timbus left, MilkmanDan left, Pleiades` left, trammel_ left, slavik left, djanatyn left, jtpalmer left, Maddingue left, itz left, Juerd left, Exodist left, Colby` is now known as Pleiades`, Juerd_ is now known as Juerd 08:35 Gothmog_ joined 08:36 djanatyn1 left, djanatyn1 joined 08:37 mtj joined 08:43 fhelmberger joined 08:45 markov joined 08:48 Khisanth joined 08:51 lue joined 08:53 pdcawley joined, go|dfish joined, ilbot3 joined, go|dfish left, araujo joined 08:54 go|dfish joined
masak about Python's indentation: 08:55
FROGGS yeah?
(I'm sorry)
masak on the beginner course I gave this week, I received the question: "how do I solve merge conflicts involving indented Python code?"
FROGGS heh 08:56
masak as I pondered the answer to that question, I realized that the redundancy provided by curly braces simply isn't there in Python.
and so resolving merge conflicts is understanding-complete.
whereas in braced code, you can often mark the region, hit the "justify" button, and you're done.
08:57 lue left, atroxaper joined
jnthn
.oO( brace yourself for merging! )
08:57
masak I still don't mind significant whitespace/indentation that much, but it's one more factor to consider.
08:57 atroxaper left
nwc10 masak: ooh, interesting. I'd never thought of that 08:57
has anyone else? bloggage?
08:58 atroxaper joined
FROGGS masak: I think I'd watch diffs on github with &ws=1 first and when I understand the changed code I'd look again without that option, and focus on scoping 08:58
08:59 jnap joined
FROGGS jnthn: btw, I am golfing that STable precomp bug from p6c now 08:59
moritz FROGGS: could you also answer that it's a bug indeed? 09:00
FROGGS moritz: I did, like 5mins ago 09:01
09:01 lizmat joined
moritz FROGGS++ 09:01
masak nwc10: "This is fundamentally impossible for Python: selecting indentation levels is part of the job of the programmer, and cannot (except in trivial cases) be handled by a program." -- www.emacswiki.org/emacs/IndentingPython 09:03
09:03 jnap left
masak nwc10: seems to be well-known, and not such a big problem in practice. 09:04
dalek ast: 7d74fbb | (David Warring [email@hidden.address] | S05-capture/caps.t:
fixed RT ticket number
masak nwc10: "Copy-paste is one example that often wrecks code. Also, simply wanting to turn off a conditional check to debug something perhaps." -- developers.slashdot.org/comments.pl...d=44681513 09:06
"use both brackets AND significant spacing. Safety is usually implemented through redundancy." -- www.c2.com/cgi/wiki?PythonWhiteSpaceDiscussion
moritz ++ 09:07
09:08 atroxaper left, raiph joined
lizmat good *, #perl6 09:09
a new morning, new commits, a faster spectest again, it's a good start :-)
time to write some more tests to make the spectests take longer again :-) 09:10
jnthn needs a challenge :-)
09:10 lue joined
jnthn aarrghh :P 09:11
We really need to reduce the amount of "sleep" in the concurrency tests.
Like, by writing a TestScheduler or something
09:11 frettled_ is now known as frettled
jnthn So we can virtualize time there. 09:11
lizmat are you worried about the latency ?
personally, I'm not so worried, but then I have TEST_JOBS=8 09:12
jnthn I'm worried about the fact that spectest used to be < 300s for me, now it's 400s, and it's got no slower ahead of S17 afaict.
I can TEST_JOBS=8 it, but on Windows it sets them off in batches of 8.
lizmat runs a spectest without S17 tests
jnthn And all 8 have to be done before it'll set off the next batch.
So tests that sleep clog the entire pipeline for me. 09:13
lizmat ah, ok :-(
jnthn scheduler.t is probably the worst culprit, fwiw.
I'm not going to complain too much 'cus I'm happy we have tests. :) 09:14
lizmat so making many smaller S17 test files is not advantageous for you at all
jnthn It is
Because each one gets done quicker
lizmat ok, *phew*
jnthn And so it can set off another batch of 8.
lizmat wonders why testing on Windows needs to work that way 09:15
moritz probably has to do with no fork() available
lizmat ah, of course :-(
jnthn
.oO( forking hell... )
moritz iirc the first versions of those TAP:: modules didn't support parallel testing on widnows at all 09:16
masak +1 on TestScheduler
moritz (the first ones that supported parallel testing on *NIX, that is)
lizmat with S17: Files=834, Tests=31812, 200 wallclock secs ( 7.88 usr 3.73 sys + 1258.84 cusr 139.42 csys = 1409.87 CPU) 09:17
without S17: Files=808, Tests=31152, 180 wallclock secs ( 7.65 usr 3.64 sys + 1203.90 cusr 97.87 csys = 1313.06 CPU)
moritz 20s difference 09:18
lizmat 2% of # tests, 7% of used CPU, 10% of wallclock 09:19
nwc10 the test scheduler is Perl 5?
lizmat yes 09:20
basic prove functionality afaik
nwc10 yes, bulk88 has a patch
the basic problem is that Microsoft are utter fuckmuppets and didn't implement sockets correctly
Win32 sockets *drop* unwritten data on the floor if the process exits
moritz and bulk88+ was heroic enough to patch windows sockets? :-) 09:21
nwc10 result - you can't take a default Windows command line program, and run it with output sent to a socketpair, and expect it to work
and sockets *are* select-able on win32
lizmat so what would we need to use this patch ?
nwc10 but pipes (which don't have the fuckwittedness) are not
jnthn oh joy...
nwc10 you'd need someone to review it, and if valid commit it to the TAP::Parser repository 09:22
or implement an alternative
the obvious (hacky, but works, and already implemented elsewhere) trick is you put an intermediate process (or thread)
which has a pipe from the child
and pumps it down a socketpair to the test harness
moritz t/spec/S05-mass/properties-general.rakudo.jvm ................ No subtests run
is that expected?
nwc10 and as it *knows* that its output is a socketpair, it can do the proper shutdown dance
I am really not impressed by Microsoft on this one. They've taken a well designed BSD feature, and failed to implement one of the key parts of it 09:23
which is strange, because they do take actual BSD code and use it 09:24
as evidenced by the fact that WinCE had bugs with classless internet domains (and IPs that used to have to be network addresses)
when CIDR pre-dates WinCE by a year or two
IIRC it was parcelfarce.linux.org.uk - for a while it had an IP address that was one that could not have been a host address before CIDR 09:25
and WinNT machines couldn't connect to it 09:26
(that might have been seen as a feature)
Windows 2000 fixed this, IIRC
dalek rlito: d77bd02 | (Flavio S. Glock)++ | / (4 files):
Perlito5 - string parser flag \x
09:35
FROGGS jnthn: the STable thing from p6c mailing list is fault4.bat at github.com/FROGGS/frame_inc (in case you feel the urge to work on that :o) 09:36
jnthn FROGGS: What error does it give? 09:37
FROGGS STable conflict detected during deserialization.
(Probable attempt to load two modules that cannot be loaded together).
jnthn That .^add_fallback almost certainly should be in a BEGIN. 09:38
FROGGS it was in a INIT
jnthn I'm a bit surprised that you can get it with a linear toplology
Yes, INIT is not compile time!
People can't just expect they can augment or fiddle wherever and maintain the ability to load things together when they did incompatible tweaks. 09:39
09:39 rindolf left
FROGGS m: class Foo; BEGIN { $?PACKAGE.^add_fallback( sub ( $object, $name ) { True }, sub ( $object, $name ) { } ) }; 09:39
camelia rakudo-moar fd5f8e: OUTPUT«===SORRY!===␤Cannot invoke this object (REPR: Null, cs = 0)␤»
jnthn I don't know it should blow up in *this* case.
OK, then that one wants fixing, though it may be that you want to .HOW.add_fallback here... 09:40
FROGGS m: class Foo; BEGIN { $?PACKAGE.HOW.add_fallback( sub ( $object, $name ) { True }, sub ( $object, $name ) { } ) };
camelia rakudo-moar fd5f8e: OUTPUT«===SORRY!===␤Not enough positional parameters passed; got 3 but expected 4␤»
09:40 pecastro joined
jnthn Need to pass $?PACKAGE also 09:40
FROGGS m: class Foo; BEGIN { $?PACKAGE.HOW.add_fallback( $?PACKAGE, sub ( $object, $name ) { True }, sub ( $object, $name ) { } ) }; 09:41
camelia ( no output )
FROGGS yeah
nice!
testing...
jnthn We can try to fix the .^ thing also, though it's not too easy.
09:41 denis_boyun joined
FROGGS jnthn++ # that works! :o) 09:44
I'm going to PR JSON::RPC
dalek rlito: 6bc88f7 | (Flavio S. Glock)++ | / (4 files):
Perlito5 - string parser flag \x
FROGGS LHF: somebody could write a make directive that precompiles scripts that use all namespaces provided by star/modules, and run these scripts 09:46
09:55 Maddingu1 is now known as Maddingue
nwc10 FROGGS: is there a LHF ticket "queue"? 09:59
FROGGS nwc10: no, but that is a very good idea!
10:00 jnap joined
moritz iirc there's a tag 10:00
which is the much better idea than a queue
FROGGS I mean, some bugs/tickets are tagged LHF, but we do not put ideas like that in RT I think
nwc10 I didn't know the details, but queue was "queue" for a reason
10:01 rindolf joined 10:04 jnap left 10:07 raiph left
dalek ast: bcf79d0 | (Elizabeth Mattijsen)++ | / (46 files):
Replace cargo-culted BEGIN {@*INC...} by use lib

1. less typing and more clearly what it does 2. hides the implementation details of @*INC better 3. more ready for S11/S22 changes hopefully coming soon
10:11
10:13 kaleem left, kaleem joined
lizmat me suddenly realizes that many of the changes were of @*INC.push, rather than .unshift 10:13
should I add a :last names param to "use lib" that would .push to @*INC rather than unshift? 10:14
or were the @*INC.push cases merely misinformed ?
colomon lizmat: currently my memory of that sort of thing was always about simply getting a directory into @*INC, rather than making sure it was first or last. 10:16
lizmat that's what I figured
my change doesn't break any tests
tadzik timotimo: hm, which rakudo? 10:17
lizmat some of the tests had an interesting way of manipulating @*INC
inside a scope, inside a BEGIN block 10:18
colomon wouldn't be surprised if those go back to the days of pugs. 10:20
colomon doesn't have a particular memory, but certainly has run into lots of crufty old code that's been in roast apparently forever... 10:21
lizmat well, it poses an interesting problem
I mean, "use" is supposed to be lexical wrt to its exports, right?
m: say @*INC; { BEGIN @*INC.unshift: <bar> } 10:22
camelia rakudo-moar fd5f8e: OUTPUT«bar /home/p6eval/.perl6/2014.04-134-gfd5f8eb/lib /home/p6eval/rakudo-inst-1/languages/perl6/site/lib /home/p6eval/rakudo-inst-1/languages/perl6/vendor/lib /home/p6eval/rakudo-inst-1/languages/perl6/lib␤»
lizmat m: say @*INC; { use lib <bar> }
camelia rakudo-moar fd5f8e: OUTPUT«bar /home/p6eval/.perl6/2014.04-134-gfd5f8eb/lib /home/p6eval/rakudo-inst-1/languages/perl6/site/lib /home/p6eval/rakudo-inst-1/languages/perl6/vendor/lib /home/p6eval/rakudo-inst-1/languages/perl6/lib␤»
lizmat you could argue that the search path for modules is also lexical, the "use" would indicate that
colomon but it clearly wouldn't have been lexical in the old form. 10:23
lizmat but the use of @*INC is causing side effects, making it like that in the whole form
well, I'm not sure what the intent was of putting it inside a BEGIN block inside a scope
s/form/script 10:24
colomon just to get it to happen "first"
lizmat well, yes, for testing it is all ok 10:25
I'm just starting to wonder whether the current implementation of "use lib" leaks in such a way as to be detrimental 10:26
to the scoping that we otherwise have with "use"
colomon ah, yes, that certainly seems like an issue,.
lizmat sub foo1 (|c) { use Foo:ver<1.2>; Foo.new(|c) }; sub foo2 (|c) { use Foo:ver<2.0>; Foo.new(|c) } # this should work in the near future, right? 10:28
now assuming 1.2 needs a different module search path from 2.0
that wouldn't be possible in the current setup, as runtime @*INC manipulation would be visible everywhere 10:29
or am I missing something ?
maybe we need to wrap @*INC into an exported sub and make it have its own lexical copy 10:34
and have module searching use that sub instead of @*INC ?
colomon +1 on the basic idea of supporting this, no idea what the right way to implement it is. 10:36
lizmat assuming we want to be able to lexicalize module search paths 10:37
nwc10 last "win32 parallel testing" message I can spot is www.nntp.perl.org/group/perl.qa/201...13473.html 10:41
jnthn lizmat: We most probably want some kind of way to specify an exit hook 10:42
lizmat exit hook?
jnthn lizmat: A kind of thing like EXPORT, apart from called when leaving the scope that did the "use" statement.
lizmat: So it can undo anything it wishes 10:43
lizmat why would we need that? when exporting a sub to a scope alone already can do what we want ?
jnthn Huh?
I thought you wanted a way to make the @*INC modifications lexical?
lizmat well, I want the *functionality* lexical 10:44
which may mean moving away from @*INC
jnthn Ah, so you solve it by just exporting an updated @*INC var
That's probably easier here, yes.
lizmat essentially, yes
jnthn oh, hm
or is it. 10:45
No, it's harder than that
lizmat I'm wondering as well
jnthn runtime/compile-time confusion.
lizmat why?
jnthn Because exporting a variable is going to affect that's visible when in that block at runtime
But won't influence the PROCESS::<@*INC> lookup at compile time, I doubt...
lizmat but I would be exporting a *sub*
and that *sub* would be asked what the current module lookup path is /are 10:46
jnthn I don't quite see how that helps the module loader?
lizmat not 100% sure either yet,
am a bit handwavy atm
jnthn I may be missing something, but I'm not sure doing it as a sub rather than a var immediatley solves anything...
I can see it working with a compile-time scope exit hook though 10:47
lizmat like a COMPOSE on the block ?
jnthn No, just some magically named sub in the module
This probably also ties into how we'll implement "no"...
lizmat ah, lexical pragma's :-) 10:48
jnthn Right.
lizmat ok, I'll put this on the back burner for deliberation and inspiration
jnthn *nod*
Yeah, I don't have a great answer yet either.
How likely do you think @*INC is to survive the S11/S22 work, ooc? 10:49
lizmat not very likely, as in my view, it's an implementation detail that needs to be hidden
especially compile time / run time confusion that we have in Perl 5 10:50
we need to make more transparent and easier to understand to the lay people :-)
some common error like: 10:51
puhs @INC,'dir'; use Foo
*push
timotimo tadzik: moar
lizmat not finding the right Foo
because the push is done *after* the use
timotimo t.h8.lv/p6bench/2014-05-02-vmnull.html - much graph 10:53
jnthn lizmat: Well, "use lib" is the way to make that easy thing easy, no? :)
lizmat yes, but in Perl 6 we have the added functionality of "use" being lexical in its effects
*except* for "use lib" atm 10:54
colomon avuserow++ # I'm now using Audio::Taglib::Simple for simple, practical tag examination and changing. 10:58
11:00 jnap joined 11:01 jnap1 joined, jnap left 11:03 jnap joined, jnap1 left 11:04 kurahaupo joined 11:07 jnap left
lizmat jnthn: would it be an idea to have Supply.close return True on successful close 11:08
akin to IO.close ?
or otherwise, Nil like done/more ?
11:19 jonpads left
jnthn lizmat: I'd guess if the closing thing throws an exception we want that to just be thrown to the closer 11:21
lizmat: We could use true/false though 11:22
true = I closed the tap
false = I didn't because it was already closed
Which may be useful in cases where there is competition to close.
lizmat ok, so if no tappers, False
otherwise True
jnthn It's not "if no tappers", it's "if we removed something" 11:23
lizmat ah, ok (I think)
jnthn can, since we're holding a lock at that point, compute it by knowing size of tappers array before and after
(after attempting to remove) 11:24
lizmat ack
something else:
dalek rlito: 37d31bb | (Flavio S. Glock)++ | / (4 files):
Perlito5 - string parser flags \l \u
lizmat with the IO::Notification.watch_path tests 11:25
I ran into the problem of checking the object seen
because the class is lexical inside the other class
I added:
sub Change { Change }
to the code, which now effectively lets me check for IO::Notification::Change
jnthn Oh, I'd just remove the "my" in this case 11:26
lizmat my ? there is no my
jnthn ?
Oh
So why isn't IO::Notification::Change already visible?
Should be by normal package nesting... 11:27
lizmat wasn't that the backlinking issue
hmm....
jnthn m: say IO::Notification::.keys
camelia rakudo-moar fd5f8e: OUTPUT«Change␤»
jnthn m: say IO::Notification::Change
camelia rakudo-moar fd5f8e: OUTPUT«(Change)␤»
jnthn There it is.
:)
lizmat of course: the problem wasn't the lookup 11:28
the problem was that the class itself doesn't know it is a "IO::Notification::Change"
so it's representation is faulty
(Change) instead of (IO::Notification::Change)
right ?
jnthn I think .WHAT always gives a thing that stringifies to a short name? 11:29
By S12, anyways... 11:30
lizmat m: IO::Notification.WHAT.say
camelia rakudo-moar fd5f8e: OUTPUT«(IO::Notification)␤»
lizmat should that then need to say (Notification) ? 11:31
wasn't the problem that we don't really have class hierarchies yet ? 11:32
jnthn Yeah, I guess so...
Um...what?
No, it's purely a "what is passed as the 'name' parameter to the meta-object" issue
lizmat if IO::Notification had been implemented with class IO { class Notification { } }
it *would* have said (Notification) 11:33
because it only sees its own class definition
jnthn checks S12
lizmat m: class Foo { class Bar {} }; say Foo::Bar
camelia rakudo-moar fd5f8e: OUTPUT«(Bar)␤»
lizmat m: class Foo::Bar {}; say Foo::Bar
camelia rakudo-moar fd5f8e: OUTPUT«(Foo::Bar)␤»
jnthn Yeah, S12 has it as .WHO stringifying to the long name 11:34
Note class Foo::Bar { } is more like package Foo { class Bar { } } really
S12 is actually out of date... 11:35
WHAT the type object of the type, .gist returns MyClass()
It's (MyClass) now...
lizmat but is the spec wrong, or Any.gist(T) ? 11:36
jnthn Neither, I think it wants fixing at the point we construt the meta-object 11:37
So, in package_def 11:38
lizmat hmmm... not quite following now 11:40
timotimo t.h8.lv/p6bench/2014-05-02-moar_progress.html - moarvm progress over a short time time 11:42
11:42 pdcawley left
dalek rlito: 0d69b30 | (Flavio S. Glock)++ | / (4 files):
Perlito5 - string parser flags \l \u precedence # 1006 tests!
11:43
ast: cbacb42 | (Elizabeth Mattijsen)++ | S17-supply/watch_path.t:
Add IO::Notification.watch_path tests
11:50
11:51 pdcawley joined
lizmat looking at the commit msg, I can't help but wonder whether "watch-path" wouldn't be more Perl6 11:51
jnthn lizmat: The .gist output is made from .^name, which is set in token package_def 11:53
moritz
.oO( night watch )
11:55
jnthn timotimo: Nice plots! :) 11:57
11:57 integral_ is now known as integral
masak .oO( night plots ) 11:57
dalek kudo/nom: 57b0ead | (Elizabeth Mattijsen)++ | t/spectest.data:
Add IO::Notification.watch_path tests
timotimo i have a sneaking suspicion 11:58
maybe the ramps in the graphs come from the previous test exhausting the ram completely, thus kicking out all buffers and then the timing script has to grab itself from disk once more in order to run or something silly like that 11:59
FROGGS on an amiga you could have made your script resident :/ 12:00
lizmat create a ramdisk with the script ?
masak timotimo++ # t.h8.lv/p6bench/2014-05-02-vmnull.html 12:02
12:04 jnap joined, spider-mario left
dalek rlito: b2761c4 | (Flavio S. Glock)++ | / (4 files):
Perlito5 - string parser flags \c
12:07
12:08 jnap left 12:15 pdcawley left 12:23 spider-mario joined, ClarusCogitatio joined 12:24 Alina-malina joined
igorsutton_ yay, running rakudo spec tests locally :) 12:25
12:26 spider-mario left, spider-mario joined 12:28 kaare_ left
lizmat igorsutton_++ 12:29
igorsutton_ lizmat: :)
timotimo todo: figure out why Int exists twice in @foo.^methods 12:30
jnthn todone: inheritance
FROGGS jnthn: do you have a hint for me how I can properly rethrow from the handlerscope in nqp::handle? 12:31
timotimo should @foobar.map(*) work? currently it gives "no method count for Whatever"
FROGGS jnthn: do I need to unwind before rethrowing or so? so that I do not rethrow to my own handler?
timotimo: what is the point of this operation?
jnthn FROGGS: Hmm...there should already be stuff in Moar to ensure that a handler never re-catches an exception it's handling. 12:32
Ven_ FROGGS: * xx +@foobar
jnthn Or more precisely, that's what the active handlers thing is about.
Ven_ m: say (^10).map(True)
camelia rakudo-moar fd5f8e: OUTPUT«No such method 'count' for invocant of type 'Bool'␤ in method reify at src/gen/m-CORE.setting:7681␤ in method reify at src/gen/m-CORE.setting:7592␤ in method reify at src/gen/m-CORE.setting:7592␤ in method reify at src/gen/m-CORE.setting:7592…»
jnthn map wants something it can call 12:33
Ven_ too bad it makes sense :D
FROGGS if (pc >= f->effective_handlers[i].start_offset && pc <= f->effective_handlers[i].end_offset) 12:34
if (!in_handler_stack(tc, &f->effective_handlers[i]))
jnthn: so this should prevent that? hmmm...
I'll dig deeper into that 12:35
12:36 Alina-malina left
jnthn the in_handler_stck bit, yeah 12:36
FROGGS okay, it runs the first handler (a for loop with another label), and then rethrows and does not run any handler anymore
12:37 Alina-malina joined
FROGGS ohh 12:37
dang
since the handler is static for 'for' loops, it can never appear more than once in the stack? 12:38
that is my test: my $x; BAR: for "bar" { .say; FOO: for "foo" { .say; redo BAR unless $x++; } }; say BAR
jnthn Hmm
FROGGS this should print: bar foo bar foo 12:39
it prints bar foo instead, and then misses the right handler
jnthn ah...could be that
in_handler_stack should maybe be considering the actual frame too 12:40
So such recursion works out 12:41
MVMActiveHandler does have a ->frame, and there's one available to pass in to in_handler_stack at the point it's called
12:45 jnap joined 12:53 dayangkun left
FROGGS \o/ 12:53
jnthn: I love you :D
Ven_
.oO( you took him with the right handles )
12:54 anaeem1_ left
masak p6: sub foo($x = $x.WHAT) { say $x }; foo; say "alive" 12:54
camelia niecza v24-109-g48a8de3: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤ at Anon.1.MAIN.2a1c590d-c361-4389-bbde-e099de79026d.C2$x = $x.WHAT init (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤ at Niecza.Kerne…»
..rakudo-moar fd5f8e: OUTPUT«Type check failed in binding $x; expected 'Any' but got 'Mu'␤ in sub foo at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-parrot fd5f8e: OUTPUT«Can only use get_what on a SixModelObject␤ in sub foo at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm fd5f8e: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp'␤ in (gen/jvm/main.nqp)␤␤»
Ven_ Different errors everytime :D 12:55
masak locally, I get a segmentation fault.
m: sub foo($x = $x.WHAT) { say $x }; foo; say "alive"
camelia rakudo-moar fd5f8e: OUTPUT«Type check failed in binding $x; expected 'Any' but got 'Mu'␤ in sub foo at /tmp/EOb9Rh0pKN:1␤ in block at /tmp/EOb9Rh0pKN:1␤␤»
dalek rlito: ce083fd | (Flavio S. Glock)++ | / (3 files):
Perlito5 - js - use special var $"
timotimo FROGGS: it just irks me that .map(*+0) works, but .map(*) doesn't
masak I'm running 2014.04-5-g921615b here. maybe time to upgrade?
Ven_ timotimo: what do you need it for ? cloning ? 12:56
masak this month wants for a rakudo release manager. it's next week. someone sign up? 12:57
timotimo i don't actually need it; except for teaching
"look, you can .map(*) and then do anything with that *! oh, what's that? an error message..... oh well"
13:03 SamuraiJack_ left 13:05 dayangkun joined 13:06 dayangkun left 13:07 dayangkun joined 13:08 dayangkun left
lizmat timotimo: .map(*) would be a noop 13:08
13:08 guru joined, guru is now known as ajr_ 13:09 dayangkun joined
FROGGS yes, the question is if that still work then 13:09
should*
lizmat so maybe we'd only need another .map candidate ?
Ulti__ problem from yesterday is resolved with latest moar
FROGGS nice! (whatever it was :o)
Ulti__ thanks whoever fixed it
13:09 Ulti__ is now known as Ulti
jnthn (whoever fixed it)++ 13:10
13:10 dayangkun left
jnthn
.oO( so what bug was it... :) )
13:10
Ulti guess I could work out who made any contribution since yesterday afternoon and ++ :P
lizmat fwiw, I haven't seen any phaser/FIRST failures for a while either
13:10 dayangkun joined, ajr_ left
masak ok, segfault went away with newest Rakudo. whoever++ 13:11
Ulti whoever++
well done whoever
Ven_ that's like,*.Person
13:12 dayangkun left, guru joined, guru is now known as ajr_
dalek rlito: 0aab5f3 | (Flavio S. Glock)++ | / (4 files):
Perlito5 - string parser flag \octal
13:12
13:12 dayangkun joined
Ulti however my grammar doesn't actually quite work yet :) 13:12
but atleast I know that 13:13
13:13 dayangkun left 13:14 dayangkun joined 13:15 dayangkun left 13:16 dayangkun joined 13:17 dayangkun left 13:18 dayangkun joined 13:19 dayangkun left, dayangkun joined 13:20 dayangkun left 13:21 dayangkun joined 13:22 pdcawley joined, dayangkun left 13:23 dayangkun joined 13:24 dayangkun left
dalek rlito: d87bc09 | (Flavio S. Glock)++ | t5/01-perlito/050-string.t:
Perlito5 - string parser flags - tests
13:27
kudo/nom: 10cfb75 | (Elizabeth Mattijsen)++ | src/core/Supply.pm:
Make (Supply|Tap).close return True on success
13:29
p/loop_labels: 9a7a224 | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
support labels in nqp::handle (rakudo for loops)
timotimo i need a simple way to get my "external ip" (and ideally also ipv6); can somebody tell me a website that would output my ipv4 and v6 directly in the html source code? 13:34
13:35 kaare_ joined
dalek kudo/loop_labels_test: ec9b1c3 | (Tobias Leich)++ | src/core/PseudoStash.pm:
fix fudge and .gist for Label type
13:35
kudo/loop_labels_test: 65b2fea | (Tobias Leich)++ | src/ (3 files):
support labels in MapIter (for loops) on moarvm

The code in nqp::handle that inserts the label if it is there is pretty redundant, and hopefully can be shortened. To make labeled for loops available on parrot, the pir block in MapIter must be tweaked to install the needed exception handlers.
Su-Shee timotimo: whatsmyip.net/
timotimo <h1 class="ip">Your <acronym title="Internet Protocol">IP</acronym> Address is <input type="text" value="2a02:8071:2984:a300:5604:a6ff:fe93:d1a6" /></h1> 13:36
that looks very nice
however, i can already figure out my global ip via "ip a l" 13:37
maybe i can curl -4
yes, i can!
that's fantastic, thank you so much :)
dalek p/loop_labels: 2b8ad37 | jnthn++ | tools/build/MOAR_REVISION:
Bump to a Moar with VMNull changes.
p/loop_labels: 80e52eb | jnthn++ | src/QAST/ (11 files):
Add a way to count arg placeholder usages.
p/loop_labels: a232e9a | jnthn++ | tools/build/MOAR_REVISION:
Get a MoarVM with lazy lexical alloc opt.
p/loop_labels: 71623e1 | (Tobias Leich)++ | / (12 files):
Merge branch 'master' of github.com:perl6/nqp into loop_labels
13:38 lvfjf joined
dalek Heuristic branch merge: pushed 51 commits to rakudo/loop_labels_test by FROGGS 13:38
13:38 kurahaupo left 13:41 dayangkun joined 13:42 dayangkun left 13:43 dayangkun joined, markov left
Ven_ is there any assembly grammar yet :D ? 13:43
moritz .* 13:44
13:44 dayangkun left, rindolf left 13:45 dayangkun joined 13:46 dayangkun left, molaf_ left
moritz "assembly" as a language is about as precises as "SOAP" as a protocol :-) 13:49
aka, there are some commonly used elements, but everybody does their own fu in the end
Ven_ moritz: aka why I put "any" 13:51
dalek ast: aad34d1 | (Elizabeth Mattijsen)++ | packages/Test/Tap.pm:
tap_ok now also tests Tappiness of the tap
ast: 0bf0f75 | (Elizabeth Mattijsen)++ | S17-supply/list.t:
We don't need Test::Tap here
ast: 130af49 | (Elizabeth Mattijsen)++ | S17-supply/ (14 files):
Adjust # of tests for extre test in tap_ok
13:52 colomon left
jnthn beershop & 13:52
lizmat systembolaget ?
jnthn ja!
lizmat :-)
jnthn Like there's any other choice here :P
lizmat I was wondering because you said "beershop" as opposed a more generic "drink" shop 13:53
jnthn Ah...they do have other nice things. But today I'm just looking for beer :)
lizmat :-) 13:54
jnthn anyway, bbiab
13:54 kaleem left, anaeem1_ joined 13:56 bluescreen10 joined 13:57 jnap left 13:58 logie joined, btyler joined
[Coke] BEEEEEEEER 14:00
14:00 denis_boyun left 14:01 xenoterracide_ joined
FROGGS sidenote: the loop_labels branch does not regress anything and let me unskip stuff from two test files 14:02
which means, we really need more tests about labels 14:03
14:03 rurban joined
dalek ast: 8acb632 | (Elizabeth Mattijsen)++ | S17-supply/ (2 files):
Add some Tap.close tests
14:04
14:05 Alina-malina left 14:06 Alina-malina joined
timotimo okay. 3.5 hour autobahn ride 14:07
won't get any coding done i'm afraid :(
ttyl
FROGGS o/ 14:08
lizmat gute Fahrt!
masak \o
14:11 thou joined 14:13 jnap joined
lizmat $ perl6 -e 'Int.map(*).say' 14:14
(Int)
too bad timotimo is offline
before jnthn++ 's proto elimination optimization was there, I would not have done that 14:15
however, as far as I understand, there is no runtime penalty anymore for making map a multi
m: Int.map(*).say 14:16
camelia rakudo-moar fd5f8e: OUTPUT«No such method 'count' for invocant of type 'Whatever'␤ in method reify at src/gen/m-CORE.setting:7681␤ in method reify at src/gen/m-CORE.setting:7592␤ in method reify at src/gen/m-CORE.setting:7592␤ in method reify at src/gen/m-CORE.setting:75…»
vaskozl Is i me or is this place becomming more popular by the hour? 14:19
masak vaskozl: it's you :)
Ven_ it's perl6 :) 14:20
14:20 donaldh left
Ven_ has only been around for ~2 months now 14:20
14:24 takesako____ joined
Ven_ and still hasn't done anything interesting with p6 to date 14:25
14:25 donaldh joined, chenryn joined, donaldh_ joined
Ven_ "Since rakudo doesn't yet allow the EXPORT sub of a package to return a hash of things to export, the ADT cannot be used to define multi subs, because the symbols are not available at compile time." erm, is that still true ? 14:35
lizmat I seem to recall FROGGS fixed that 14:36
14:38 vaskozl left 14:39 vaskozl joined
Ven_ (i'm asking for timotimo 14:41
s ADt) . ... damn qwerty
14:46 treehug88 joined 14:47 LLamaRider joined
vaskozl Ven_: blame it on the keyboard.. 14:48
Ven_ Ven_: 10years+ with an azerty makes it hard for me to use a qwerty :)
(and I still use my azerty when home, ofc)
vaskozl Ven_: Don't complain 14:51
Ven_ I'm french -- I have to :)
vaskozl Learn something like colemak 14:52
then you will be confused
FROGGS Ven_: you'd have to ask timotimo, because he does something strange in ADT, but EXPORT does allow to return a hash 14:54
and tbh, I don't recall to fix something in that regards :o)
dalek kudo/nom: 6ab95bb | (Elizabeth Mattijsen)++ | src/core/Any.pm:
Implement .map(*) and map(*,...)

Mostly for consistency's sake and the fact that proto's are much cheaper now
lizmat timotimo: ^^^ 14:55
also, highly optimized :-)
Ven_ what do you use to trigger tests in t/ ? 15:00
(just perl6 t/* ?) 15:01
lizmat make t/spec/....
not sure what you mean / want
Ven_ lizmat: in a repo without a Makefile
FROGGS make has the benefit that it also fudges the test file
lizmat indeed, and you need that!
Ven_ I'm looking at timotimo++'s ADT module and there's no Makefile
lizmat but generally, perl6 *.t will work 15:02
FROGGS prove -e perl6-m t
lizmat if there are no tests fudged for your VM
Ven_ except I'm on windows :( I'll go with a makefile I guess
lizmat prove should work on Win, no?
FROGGS it does
jnthn Does for me.
FROGGS and you should have it from ActivePerl/strawberry 15:03
Ven_ will install strawberry
dalek ast: 8552051 | (Elizabeth Mattijsen)++ | S32-list/map.t:
Add tests for .map(*) and map(*,...)
15:04
15:08 guru joined, ajr_ left, guru is now known as Guest78868 15:09 Guest78868 is now known as ajr_, igorsutton_ left
Ven_ ah, but I can't use *.t on window anywya 15:09
ah, but prove seem to take t/ by default 15:10
dalek rlito: e650a2e | (Flavio S. Glock)++ | src5/lib/Perlito5/Grammar/Regex5.pm:
Perlito5 - regex parser cleanup
15:12
lizmat m: say ".".IO
camelia rakudo-moar fd5f8e: OUTPUT«IO::Handle<.>(closed)␤»
lizmat m: ".".IO.say 15:13
camelia rakudo-moar fd5f8e: OUTPUT«write string requires an object with REPR MVMOSHandle␤ in method print at src/gen/m-CORE.setting:13810␤ in method say at src/gen/m-CORE.setting:13822␤ in block at /tmp/iEz1y98Dqa:1␤␤»
lizmat ah, of course, duh :-)
15:14 rindolf joined 15:16 bjz_ left
Ulti what is currently the most efficient way to remove a specific character from a string in P6? 15:20
masak Ulti: just one, or all of them?
Ulti all of the instances of a single character
I tried a comb and join but that was not a good plan 15:21
15:21 daniel-s left
jnthn .subst('c', :g) 15:22
FROGGS m: my $s = lines().Str.subst('e','ö', :g); say nqp::time_n() - BEGIN nqp::time_n; say $s
camelia rakudo-moar fd5f8e: OUTPUT«0.334710121154785␤Thörö wörö thröö mön camö out of thö Wöst Thöir fortunös for to try And thösö thröö mön madö a solömn vow John Barlöycorn must diö Thöy'vö ploughöd, thöy'vö söwn, thöy'vö harrowöd him in Thröw clouds upon…»
15:24 hoverboard joined
Ulti jnthn++ FROGGS++ 15:24
though jnthn only worked if I gave a "" to substitute with 15:25
15:25 fhelmberger left
Ulti neat have a working FASTA parser that produces a list of objects :) 15:25
auto detects the type of sequence too which is really neat
jnthn Ulti: Uh, yeah, sorry...forgot that. 15:26
Ulti np
also this is a *lot* faster than the last time I played with this stuff
now just need to get rid of the slurp 15:27
dalek p/async_ops: 2b8ad37 | jnthn++ | tools/build/MOAR_REVISION:
Bump to a Moar with VMNull changes.
15:33
p/async_ops: 80e52eb | jnthn++ | src/QAST/ (11 files):
Add a way to count arg placeholder usages.
p/async_ops: a232e9a | jnthn++ | tools/build/MOAR_REVISION:
Get a MoarVM with lazy lexical alloc opt.
p/async_ops: 740fa0c | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/ (3 files):
Implement asyncreadbytes on JVM. Extracted Buffers utils from Ops.java
p/async_ops: d200db6 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/io/AsyncSocketHandle.java:
Need to copy bytes out of ByteBuffer, not reference internal array.
p/async_ops: 620745d | (Donald Hunter)++ | / (12 files):
Merge branch 'master' of github.com:perl6/nqp into async_ops
p: 31884dd | (Donald Hunter)++ | src/vm/jvm/ (2 files):
Add stubs for async ops on JVM.
15:36
nqp: fd6faf9 | (Donald Hunter)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
nqp: Fix Ops.bindsock to test instanceof IIOBindable instead of ServerSocketHandle.
15:36 dalek left
Ulti if I want to look at the <sym> from a proto token in the actions what should I be looking at? ~$<token_name><sym> ? 15:37
15:37 dalek joined, ChanServ sets mode: +v dalek
FROGGS Ulti: $<sym> 15:38
jnthn Depends which action...
donaldh_ looks like dalek just died when I committed there
FROGGS m: grammar Foo { token hurz:sym<bla> { <sym> } }; class Bar { method hurz:sym<bla>($/) { say $/ } }; Foo.parse("bla", :actions(Bar)) 15:39
camelia rakudo-moar fd5f8e: OUTPUT«No such method 'TOP' for invocant of type 'Foo'␤ in method parse at src/gen/m-CORE.setting:13029␤ in block at /tmp/GkGfW9nytk:1␤␤»
FROGGS m: grammar Foo { token TOP { <hurz> }; token hurz:sym<bla> { <sym> } }; class Bar { method hurz:sym<bla>($/) { say $/ } }; Foo.parse("bla", :actions(Bar))
camelia rakudo-moar fd5f8e: OUTPUT«No such method 'hurz' for invocant of type 'Foo'␤ in regex TOP at /tmp/_7A9Rxv58U:1␤ in method parse at src/gen/m-CORE.setting:13029␤ in block at /tmp/_7A9Rxv58U:1␤␤»
FROGGS m: grammar Foo { token TOP { <hurz> }; proto token hurz { * }; token hurz:sym<bla> { <sym> } }; class Bar { method hurz:sym<bla>($/) { say $/ } }; Foo.parse("bla", :actions(Bar)) 15:40
camelia rakudo-moar fd5f8e: OUTPUT«「bla」␤ sym => 「bla」␤␤»
Ulti oh so you can actually use those as the method names in the actions class
FROGGS yes, you need the identical method (long)name in the action class
jnthn donaldh_: Getting to kill dalek is the reward for hard work around here :) 15:41
Ulti ahh but I am doing a "make" in the thing above
donaldh_ :)
FROGGS Ulti: okay, but what is the problem? :o) 15:42
Ulti one sec will gist
FROGGS 'make' only means that you are attaching something to $/.ast
m: grammar Foo { token TOP { <hurz> }; proto token hurz { * }; token hurz:sym<bla> { <sym> } }; class Bar { method TOP { say $<hurz><sym> } }; Foo.parse("bla", :actions(Bar)) 15:43
camelia rakudo-moar fd5f8e: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤ in method TOP at /tmp/5TGsH2xYJs:1␤ in any !reduce at gen/moar/stage2/QRegex.nqp:759␤ in any !cursor_pass at gen/moar/stage2/QRegex.nqp:721␤ in regex TOP at /tmp/5TGsH2xYJs:1␤ in m…»
FROGGS m: grammar Foo { token TOP { <hurz> }; proto token hurz { * }; token hurz:sym<bla> { <sym> } }; class Bar { method TOP($/) { say $<hurz><sym> } }; Foo.parse("bla", :actions(Bar))
camelia rakudo-moar fd5f8e: OUTPUT«「bla」␤␤»
FROGGS Ulti: you can do that ^^
I think that is what you meant
Ulti yeah that is what I am doing I think { token TOP { <hurz> }; proto token hurz { * }; token hurz:sym 15:44
erk
gist.github.com/MattOates/0a0dac1fd96377da2c35
but it comes up as use of uninitialized value of type Any in string context
FROGGS ohh 15:45
no, the $<hurz><sym> is only there because it actually matched
lizmat $ perl6 -e '"foo bar baz".subst("a",:g).say'
foo br bz
spectesting that change now
Ulti FROGGS: ahh 15:46
is there any way to get it if I didn't match
I've seen from the grammar tracer it is using the right token
FROGGS m: grammar Foo { token TOP { <hurz> }; proto token hurz { * }; token hurz:sym<bla> { <sym> } }; class Bar { method TOP($/) { say $<hurz>.ast }; method hurz:sym<bla>($/) { make 'bla' } }; Foo.parse("bla", :actions(Bar)) 15:47
camelia rakudo-moar fd5f8e: OUTPUT«bla␤»
FROGGS Ulti: you can stash something in $<sequence>.ast and then check for that
... in method record
15:48 telex left 15:50 telex joined
dalek kudo/nom: 19fd86f | (Elizabeth Mattijsen)++ | src/core/ (2 files):
Make .subst("a",:g) work
15:54
jnthn lizmat: Not sure if that'll be a DWIM or a WAT... :) 15:55
lizmat well, *you* typed it assuming it would work :-)
PerlJam more of a WAT for me
(at least I was thinking, "Why would lizmat do that?!?")
jnthn lizmat: No, I typed it wrong 'cus I was doing 3 things at once. :)
lizmat want me to revert? it's not like it's important to me, but it *did* seem logical to me 15:57
I mean, it was a 10 character fix, could have been a 6 character fix with less whitespace :-) 15:58
FROGGS hmmm, I'd +1 to keep it 15:59
Ven_ yay for socket async 16:00
HAML parser should be Text::HAML
?
16:01 btyler_ joined
jnthn lizmat: Don't feel strongly either way, it's hard for me to know whether it'll prevent folks getting a helpful error when they forgot the arg more often than it'll be a useful shortcut. 16:02
PerlJam (a weak argument but ...) The other forms of .subst() always have a replacement. You can't just go $text ~~ s:g/a/; or s:g[a]; to mean the same as .subst("a", "", :g);
dalek ast: efa05cf | (Tobias Leich)++ | S04-statements/redo.t:
remove non-TAP output
16:03
16:03 btyler left
dalek kudo-star-daily: 36c94b8 | coke++ | log/ (5 files):
today (automated commit)
16:03
16:04 zakharyas left
lizmat PerlJam jnthn FROGGS: I'll refrain from writing tests for .subst("A") for now (or make the spec more specific) 16:07
16:07 Rotwang joined
lizmat until TimToady has said something about it 16:07
16:07 grondilu left
FROGGS yeah, that is probably wise 16:07
TimToady seems like a feature that only increases confusion to me
PerlJam another minor thing is that there's the added cognitive load of having to remmeber 2 implicit things and that one of them isn't $_
dalek kudo/nom: eb062c0 | (Elizabeth Mattijsen)++ | src/core/ (2 files):
Revert "Make .subst("a",:g) work"
16:08
lizmat say no more :-) 16:09
PerlJam now ... if only we could make the levenshtein edit distance between substr and subst a little bit bigger :-) 16:10
FROGGS jnthn: if you are bored of typing, can you review the loop_labels/loop_labels/loop_labels_test branches?
16:10 Alina-malina left
FROGGS jnthn: the latter needs cleanup, like creating a src/core/Label.pm 16:10
masak PerlJam: following recent trends, I propose (tongue-in-cheek) that we rename the latter .SUBST :P
FROGGS jnthn: all is done on moar so far, MapIter needs to be aligned for parrot, and all the stuff needs to be implemented for jvm 16:11
masak PerlJam: because .substr is the "pure" operation, and .SUBST requires you to take care.
16:11 Alina-malina joined
PerlJam masak: careful what you say ... you never know when TimToady might like your suggestions ;) 16:11
masak PerlJam: also because you can't really modify strings, so clearly it's doing something magical.
jnthn Let's make everything that mutates be uppercase! 16:12
:P
[Coke] let's make it cyrllic!
FROGGS also, 'new' really is magical and needs to be NEW
[Coke] .субст()
TimToady masak: as near as I can tell, 'is parsed' ought to be largely orthogonal to whether the macro returns text or AST
masak TimToady: agree.
TimToady the whole point of immutable cursors is that you just pick the one you want to continue with 16:13
PerlJam masak: or ... I counter propose that .subst should really just be .s ;)
donaldh_ github.com/rakudo/rakudo/pull/266 - async IO on JVM.
masak PerlJam: ooh
PerlJam: it's probably too late for that, but otherwise I like it.
TimToady a small collision with IO.s
PerlJam yep 16:14
TimToady and people will try to write .s/foo/bar/
PerlJam yep
TimToady and we really don't want to make it a postfix macro 16:15
PerlJam I just need to train my fingers better. I'm always typing substr when I mean subst, so it bothers me.
lizmat .substitute then maybe, to add to the levenshtein distance with .substr
TimToady then we really would have to spell it .SUBST
lizmat afk for a bit 16:16
TimToady put in fake candidates for .subst and .substr that notice when the args are the wrong type, and suggests the other
PerlJam .search-and-replace
Ulti lizmat++ 16:17
^ for .subst
FROGGS ohh, just realized that nqp-m's for loop do not yet support labels for some reason...
nqp-p does however
Ulti though it is a bit of a weird case, I assumed the "" even though jnthn didn't put it in :3 16:18
but checked out of curiosity
though I would prefer .strip("a") 16:19
JimmyZ hopes there will be a Perl 6 version of Akka
PerlJam Ulti: that seems an unwarranted specialization to me. 16:20
Ulti *shrug* 16:21
I would also do .replace instead of .subst too
though I would also say :a "all" instead of :g which is essentially Perl heresy 16:23
or even :all
TimToady well, if you want heresy, make that the default, and rely on :1st for the other 16:24
changing defaults is real heresy, not bikeshedding the name :) 16:25
PerlJam that would be more huffmanly. I can't remember the last time I've wanted to replace just the first occurence of something.
Ulti yeah I kind of wonder, I usually do global replace, but for one liners its more common not to
PerlJam I would probably be fine if it were called :a/:all and the default. 16:26
FROGGS well, we can change its default whether you're running a -e or not :P
16:27 lvfjf left
TimToady so that's just the default default, but then what's the default default default? 16:27
FROGGS that clearly depends on the os, backend, and strict/lax mode 16:30
maybe even the phase of the moon
16:30 ajr_ left
FROGGS (our moon) 16:30
Ulti FROGGS: lol unpredictable stateful behaviour is perhaps computer science heresy :P
FROGGS :o)
Ulti the -e being able to be copy pasted at a later date into a script is something that is a unique perl strength... if only I could get my supervisor to actually add some white space after this copy pasting! 16:31
16:31 guru joined
dalek p/loop_labels: ba88343 | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
fix labels in for loops, and only emit three ex handlers
16:31
Ulti well and sed 16:32
16:32 guru is now known as Guest31028
FROGGS :/ 16:32
16:32 Guest31028 is now known as ajr_
PerlJam I just did a quick survey (via ack) of all of the perl 6 code I have handy on disk and almost every use of .subst has :g 16:32
16:33 rurban left
FROGGS my p5/6 code does that also 16:33
PerlJam Looks like JSON::Tiny and SVG have some non-:g uses of subst 16:34
oh, just in tests 16:35
16:37 anaeem1_ left 16:38 anaeem1 joined 16:39 ajr_ left
moritz tests are valid uses cases too :-) 16:40
there was a time when s/// didn't accept adverbs 16:41
which is why the :g form was written as .subst, back then 16:42
16:42 anaeem1 left
TimToady well, and s/// is mutating 16:46
16:47 ClarusCogitatio left 16:49 virtualsue joined 16:50 ClarusCogitatio joined, ClarusCogitatio left, ClarusCogitatio joined 16:51 LLamaRider left, djanatyn1 is now known as djanatyn 16:52 donaldh_ left, ClarusCogitatio left 16:54 ClarusCogitatio joined 16:56 breinbaa1 left 16:57 breinbaas joined 16:58 ClarusCogitatio left 17:01 ClarusCogitatio joined 17:03 ClarusCogitatio left 17:04 ClarusCogitatio joined, rurban joined 17:07 Rotwang left 17:08 ClarusCogitatio left, hoverboard is now known as moistcherry 17:09 rurban left 17:10 ClarusCogitatio joined 17:13 ClarusCogitatio left 17:14 ClarusCogitatio joined, ClarusCogitatio left, ClarusCogitatio joined 17:18 ajr_ joined 17:19 xenoterracide_ left
[Coke] Perl 6 is one of the white cards in "DevOps against humanity" 17:21
github.com/bridgetkromhout/devops-...t-humanity . click on "shared google doc" to see the current suggestions. 17:22
masak what does it mean to be a white card? 17:25
[Coke] it's based on cards against humanity. black cards are fill in the blanks. white cards are things that go in blanks. So a black card might have something like: 17:27
You can fix __________ with _____________ .
and the answer might be: "Perl 6", "A 1996 Java applet" 17:28
CAH is like grown up Apples to Apples.
masak don't know that reference, but I can imagine. :) 17:29
17:29 xenoterracide_ joined
[Coke] start here: cardsagainsthumanity.com/ 17:29
17:30 dmol left
[Coke] warning, NSFW!!! (whereas devops version mostly is) 17:30
nwc10 curiously, no mention of Rails 17:32
17:32 denis_boyun_ joined
vendethiel nwc10: erm, I don't see how a web framework could be used in devops :D 17:38
17:39 Rotwang joined
nwc10 oh, I sort of missed that 17:39
I did like /cgi-bin/php5
tadzik hm, weird. I get "Can not bind non-existent attribute '$!tex'" in method perl at src/gen/m-CORE.setting:1063 17:40
17:40 takesako____ left
tadzik why would .perl() ever bind an attribute? 17:40
japhb vendethiel: For Redmine
vendethiel ooh :D
tadzik Heap corruption detected: pointer 0x7fc150dbce58 to past fromspace 17:43
aww yiss
17:43 vaskozl left 17:44 vaskozl joined
avuserow (re: win32 testing in parallel) the "obvious" solution is just to write a new TAP runner in Perl 6 to use its concurrency model :P 17:47
jnthn tadzik: urgh...how'd you get that?
17:50 vaskozl left 17:51 vaskozl joined 17:55 takesako____ joined 18:01 ClarusCogitatio left 18:02 ClarusCogitatio joined 18:05 rurban joined
tadzik jnthn: shooting many bullets in space invaders 18:06
so: hard to say
it only happened once so far
18:06 ClarusCogitatio left
lizmat TimToady: wrt your suggestion of making fake candidates for .subst and .substr to catch out wrong usage 18:07
maybe an "is error" routine trait would be useful?
jnthn tadzik: Oh joy, a bug that can only be found by playing space invaders... :P
tadzik :P
18:07 denis_boyun__ joined
lizmat its sole purpose of causing a *compile* error when the optmizer selects that candidate 18:08
and a runtime error when called during runtime
18:09 ClarusCogitatio joined, denis_boyun_ left, rurban left
lizmat or maybe having the body of a routine containing !!! should be enough? 18:10
only !!! I mean
18:11 anaeem1_ joined
lizmat m: sub a { !!! }; a # could be caught at compile time ? 18:11
camelia rakudo-moar fd5f8e: OUTPUT«Stub code executed␤ in sub a at /tmp/e7aPhg4GeN:1␤ in block at /tmp/e7aPhg4GeN:1␤␤»
tadzik r: class { metohd keypressed($k) { } } # LTA error message 18:14
camelia rakudo-{parrot,moar} fd5f8e: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable '$k' is not declared␤at /tmp/tmpfile:1␤------> class { metohd keypressed($k⏏) { } } # LTA error message␤ expecting any of:␤ postfix␤»
..rakudo-jvm fd5f8e: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp'␤ in (gen/jvm/main.nqp)␤␤»
tadzik also, jvm looks broken :)
18:14 ClarusCogitatio left 18:15 anaeem1_ left
dalek ecs: 965ec59 | (Elizabeth Mattijsen)++ | S17-concurrency.pod:
Change order to Supply.(start|migrate|schedule_on)

As that is the order in which they are most likely used.
18:17
18:17 raiph joined, dmol joined
[Coke] does having those other candidates slow anything down? 18:17
(for the suggested substr/subst fails) 18:18
18:18 ClarusCogitatio joined
lizmat I'm lead to understand that proto's are nowadays eliminated when they can 18:18
which is e.g. the reason you can't do "is cached" on a proto at the moment 18:19
so they're shouldn't be any runtime issue
I think the pb with subst / substr is more that they currently are not really MMD 18:20
18:22 ClarusCogitatio left 18:23 moistcherry left, vaskozl left 18:24 ClarusCogitatio joined
timotimo o/ 18:27
tadzik jnthn: hm, I'm doing my $key = nqp::p6box_i($k) but role { method Str { SDL_GetScancodeName($k) } }; 18:28
lizmat m: say Int.map(*)
camelia rakudo-moar fd5f8e: OUTPUT«No such method 'count' for invocant of type 'Whatever'␤ in method reify at src/gen/m-CORE.setting:7681␤ in method reify at src/gen/m-CORE.setting:7592␤ in method reify at src/gen/m-CORE.setting:7592␤ in method reify at src/gen/m-CORE.setting:75…»
tadzik $k being a native int32
timotimo vendethiel: in a makefile-less project, just use ufo to create one automatically for you :)
tadzik does anything seem oddly wrong with this one?
I'm getting errors hard to replicate
for instance Lexical with name '$k' has wrong type, when doing .perl or .Str on that object
but when I try just doing the above in repl or somewhere it works fine 18:29
18:29 ClarusCogitatio left, grep0r left
vendethiel timotimo: ufo ? 18:30
lizmat seems camelia is not up to date yet :-(
tadzik eh, it doesn't work anyway 18:31
lizmat pushed .map(*) change 3.5 hours ago, and still not live ?
tadzik but it helped when I assigned the SDL_() result to a variable and then put that in the method thingy
18:33 grep0r joined, treehug8_ joined 18:34 ClarusCogitatio joined, vaskozl joined 18:36 ClarusCogitatio left, treehug88 left 18:37 ClarusCogitatio joined 18:39 colomon joined 18:42 bluescreen100 joined
dalek ast: 86becde | (Elizabeth Mattijsen)++ | S17-supply/migrate.t:
Initial phase of testing Supply.migrate

For some reason, I'm making a thinko, as the 5th test always fails.
18:46
lizmat jnthn: ^^^ would appreciate feedback as to why this fails, am I understanding the spec wrong ?
18:47 dwarring joined, bluescreen10 left
vendethiel m: package A { sub postcircumfix:<( )>() is export {'a';} }; say A() 18:48
camelia rakudo-moar fd5f8e: OUTPUT«Cannot invoke this object (REPR: Uninstantiable, cs = 0)␤ in block at /tmp/kqXX2k9bCe:1␤␤»
vendethiel m: package A { sub postcircumfix:<( )>() is export {'a';} }; say A::.()
camelia rakudo-moar fd5f8e: OUTPUT«Cannot find method 'postcircumfix:<( )>'␤ in block at /tmp/eqpVvsje1U:1␤␤»
18:49 hoverboard joined, darutoko left
jnthn lizmat: looking 18:50
vendethiel m: anon sub (--> :(String)) {} 18:51
camelia rakudo-moar fd5f8e: OUTPUT«===SORRY!=== Error while compiling /tmp/5AlS5frp1h␤Missing block␤at /tmp/5AlS5frp1h:1␤------> anon sub (--> ⏏:(String)) {}␤ expecting any of:␤ scoped declarator␤ new name to be defined␤»
jnthn lizmat: huh...I don't immediately see a thinko 18:52
lizmat ok *phew*
maybe I should test Supply.start first :-)
vendethiel (why isn't that :() legal ?) 18:53
jnthn lizmat: oh...
lizmat oh?
vendethiel m: sub foo :($a,$b) {...}
camelia rakudo-moar fd5f8e: OUTPUT«===SORRY!=== Error while compiling /tmp/aS4DP_QlKC␤Cannot invoke this object (REPR: P6opaque, cs = 0)␤at /tmp/aS4DP_QlKC:1␤------> ␤»
jnthn I think you might need to $migrate.tap(...) before you $master.more($s1);
lizmat ack, so it *was* a thinko :-) 18:54
jnthn++
jnthn yeah, I just didn't spot it right off
18:54 kurahaupo joined
jnthn blames post-nom brainfail :) 18:54
masak oh wow, the attributive parameter syntax is awesome for making factory classes.
PerlJam masak: that sounds like the beginning of an article :)
vendethiel masak: method BUILD (:$!a) ? 18:55
nwc10 jnthn: maybe you're not at the Balmer peak?
lizmat classy factories: and that on the *2nd* of May!
masak vendethiel: yes, but instead of BUILD, I'm writing user-accessible chaining methods.
jnthn nwc10: Didn't have any beer yet, so decidedly not :)
masak vendethiel: which successively configure an object.
PerlJam: it could be. :)
PerlJam: I'm tentatively flexing my free time again, for the first time in a while. feels great. 18:56
first up: p6cc/t4.
PerlJam masak++ nice (I had forgotten about p6cc) 18:57
vendethiel masak: `method set-x($!a) { self }` ?
yeah it's cool :D
m: multi sub handle_event ($window, $event;; $mode) {...} 18:58
camelia ( no output )
vendethiel so you're telling me I can't use a Closure parameter after a `-->` ? :( 18:59
masak vendethiel: yes, like that. 19:00
vendethiel m: say (anon sub () returns :(--> String) { -> { "a" } })()()
camelia rakudo-moar fd5f8e: OUTPUT«===SORRY!=== Error while compiling /tmp/UXqay8noL5␤Missing block␤at /tmp/UXqay8noL5:1␤------> say (anon sub () returns ⏏:(--> String) { -> { "a" } })()()␤ expecting any of:␤ scoped declarator␤ …»
vendethiel :[
masak: the other option would be smalltalk-like chaining :p
masak vendethiel: example?
vendethiel `$a = A.new();\n\t ..abc: "foo";\n\t ..anothercall(1);\n\t ..x = 5;` 19:01
a.k.a. cascading 19:02
19:04 LLamaRider joined 19:07 rurban joined, treehug8_ left
timotimo vendethiel: did someone help you find ufo? 19:10
19:11 rurban left 19:14 FROGGS[mobile] joined
vendethiel timotimo: no 19:18
19:19 takesako____ left 19:20 LLamaRider left
masak vendethiel: not sure I understand fully. feels similar to `given` 19:21
vendethiel masak: yeah, definitelmy
19:22 Rotwang left
vendethiel
.oO( unification shines again )
19:23
19:24 Rotwang joined
masak well, it just means we don't need a special syntax for it, because we already have `given`. 19:24
vendethiel postfix unification 19:25
timotimo masak: will you explain ufo to ven? :)
19:28 Rotwang left
masak ufo does a DFS over your modules, creating a Makefile that doesn't waste time compiling things twice. 19:31
19:31 ClarusCogitatio left
masak it's meant as a tool for developers, not for shipping/downloading modules. 19:31
it has a README. read it. :)
dalek kudo/nom: fae0e42 | (Elizabeth Mattijsen)++ | src/core/SupplyOperations.pm:
Supply.migrate's supply should only take supplies
19:32
19:32 virtualsue left 19:33 ClarusCogitatio joined
dalek ast: 95ccd97 | (Elizabeth Mattijsen)++ | S17-supply/migrate.t:
More Supply.migrate tests, now working!
19:33
19:34 takesako____ joined 19:35 denis_boyun__ left, araujo left 19:37 ClarusCogitatio left 19:38 ClarusCogitatio joined, ClarusCogitatio left, ClarusCogitatio joined 19:39 ClarusCogitatio left, ClarusCogitatio joined, ClarusCogitatio left, ClarusCogitatio joined 19:45 FROGGS[mobile] left 19:46 ClarusCogitatio left
moritz masak: last I looked, ufo didn't do the DFS; it let make do it 19:46
jnthn I thought it did a DFS on the module source use statements to build the makefile? 19:50
masak it used to. 19:51
moritz: you're right. seems you did that with ef94333e42ac96326b99a8e8a7951fb41058ff89 in 2012 :)
I'm out of date, clearly ;) 19:52
so the topo-sort is long gone... long live the topo-sort.
19:53 ClarusCogitatio joined
vendethiel "alpha as the Perl 6 binary" wow, that seems old :p 19:53
masak patches welcome :) 19:56
dalek ar: 4700659 | jnthn++ | README:
Update README for multi-backend Star.
19:57 ClarusCogitatio left
nwc10 jnthn: Could you update all the "Perl 5.9.0" or newer to 5.10.0? 19:57
jnthn Oh, is it true for them all? 19:58
nwc10 minitrue insists that all dev releases never happened
it's nothing to do with whether it worked :-) 19:59
it's more "I don't think that it's a good idea to mention dev release version numbers"
and I might well not be the only one
dalek ar: dec0e26 | jnthn++ | README:
s/5.9.0/5.10.0/ as "dev releases never happened"
jnthn Review and other README patches welcome 20:00
nwc10 CPANtesters might start taking "affermative action" to elminate testing reports for dev releases that are parents of a stable release
vendethiel masak: well, if you think there's no need to support it anymore :)
nwc10 jnthn: thanks
vendethiel ufo says it's not made for checkable makefiles, so I'm not really interested 20:01
masak oki
yeah, it was never made for that.
20:01 itz___ is now known as itz
nwc10 jnthn: IIRC we've also tried to purge references to dev release version numbers from core docs 20:02
5.7.3 - what does that mean?
vendethiel also, I really only work on windows, and that doesn't seem to be fit :p
20:02 ClarusCogitatio joined
jnthn Seems somebody did some of the 2014.04 prep already :) 20:03
moritz++
vendethiel masak: have you thought about multi-line parsing of text-indented 20:04
I'm trying to do a pseudo css preprocessor and I'm wondering how I'd do it
moritz well, some of it :-)
vendethiel but I'd like to be able to do `.a␤ .b␤ .c␤ color: red` 20:05
dalek ar: 9977651 | jnthn++ | Configure.pl:
Align warning with current status.
vendethiel moritz: can I ... "depend" on Text::Indented and `grammar Text::Styley; is Text::Indented;` then override line ? 20:06
20:07 ClarusCogitatio left
vendethiel also, Text::Indented forces fixed tabstop :(. I'd like it to be more forgiving and just guess it (or allow tabs, which is what I use) 20:07
20:07 rurban joined
vendethiel well, that's probably something I can allow to be changed as a param, tho 20:08
dalek kudo/nom: 6c03a23 | (Elizabeth Mattijsen)++ | t/spectest.data:
Also do the Supply.migrate tests
vendethiel m: grammar G { has $.tab; method BUILD($.tab) { callnext; } }; G.new(tab => 'a').perl.say
camelia rakudo-moar fd5f8e: OUTPUT«===SORRY!=== Error while compiling /tmp/iftAJxc9rC␤Undeclared routine:␤ callnext used at line 1␤␤»
dalek ar: 7b16c2f | jnthn++ | docs/announce/2014.04:
Release announce work for 2014.04 release.
20:09
vendethiel m: grammar G { has $.tab; method BUILD($.tab) { callsame; } }; G.new(tab => 'a').perl.say
camelia rakudo-moar fd5f8e: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in method BUILD at /tmp/ONS9bJFwgQ:1␤ in method BUILDALL at src/gen/m-CORE.setting:875␤ in method bless at src/gen/m-CORE.setting:858␤ in method new at src/gen/m-CORE.setting:843␤…»
20:11 kurahaupo left
raiph Ulti: are you using the debugger to debug your grammar? 20:11
timotimo okay, what great things have i missed so far today?
jnthn Review of the release announce also welcome. 20:12
timotimo oooh star release <3
20:12 rurban left 20:14 hoverboard left
PerlJam jnthn: the last several announcement have had a .md suffix on the filename. Any reason you left it off on this one? 20:15
dalek rl6-roast-data: a1fd610 | coke++ | / (6 files):
today (automated commit)
PerlJam (it does keep github from auto-rendering the text) 20:16
[Coke] rakudo-parrot failed pretty much everything today
supply failures on jvm/moar unchanged.
jnthn PerlJam: I didn't, I just edited the file that was there
20:16 ClarusCogitatio joined
PerlJam oh 20:16
jnthn Guess I should make it consistnent 20:17
dalek ar: b01b40e | jnthn++ | docs/announce/2014.04 (2 files):
Release announce is markdown; PerlJam++.
jnthn heads over to his Linux VM to pimp out the release 20:18
lizmat [Coke]: jnthn didn't get into looking at the Supply.(delay|stable) issues yet
timotimo wow, seg all the faults
jnthn uh...pump out...
[Coke] ./perl6-p --target=pir --output=src/gen/RESTRICTED.setting.pir src/RESTRICTED.setting
maximum recursion depth exceeded
jnthn o.O
lizmat with more than your average number of backends, this rakudo star is pretty pimped :-) 20:19
PerlJam Random thought ... do we think that everyone who is reading these announcements will know where to look for more information? I mean we tell them to ask here if they'd like to contribute, but say I don't know what "univals" is for ... should we have links to the spec?
jnthn I'm not sure I know what a unival is :P
[Coke] this was with rakudo:18b7e2e
moritz m: say univals '¾' 20:20
camelia rakudo-moar fd5f8e: OUTPUT«0.75␤»
jnthn aha :) 20:21
[Coke] m: say univals '¾¾¾¾'
camelia rakudo-moar fd5f8e: OUTPUT«0.75 0.75 0.75 0.75␤»
20:21 donaldh_ joined 20:22 anaeem1_ joined, hoelzro_ is now known as hoelzro
dalek ast: a27b807 | (David Warring [email@hidden.address] | integration/advent2012-day21.t:
adding advent 2012 day 21 (stress test!)
20:25
ast: 5606c32 | (David Warring [email@hidden.address] | integration/advent2012-day22.t:
adding advent 2012 day 22
ast: 2e85b3c | (David Warring [email@hidden.address] | / (67 files):
Merge branch 'master' of github.com/perl6/roast
20:25 ClarusCogitatio left
donaldh_ pimps his PR Implement IO::Socket::Async.bytes_supply and bump NQP_REVISION to get async ops on JVM. github.com/rakudo/rakudo/pull/266 20:26
20:28 ClarusCogitatio joined
timotimo donaldh_: i didn't read it over at all, but it looks like a nice thing to have :) 20:29
20:29 LLamaRider joined
donaldh_ timotimo: catching up with moar :) 20:30
[Coke] ooh, no more permgen! yay!
timotimo i'm glad
permgen?
jnthn donaldh_: Does bytes_supply work on Moar also, ooc?
donaldh_ yeah, the JVM used to have a permgen space for class definitions. 20:31
[Coke] "A third generation closely related to the tenured generation is the permanent generation which holds data needed by the virtual machine to describe objects that do not have an equivalence at the Java language level. For example objects describing classes and methods are stored in the permanent generation."
donaldh_ Continual problems with running out, and no ability to GC.
jnthn It'll not be missed 20:32
donaldh_ jnthn: I did not test on Moar because Moar does not have asyncreadbytes implemented.
20:33 ClarusCogitatio left
jnthn donaldh_: Right, meaning accepting the PR will break the build on Moar? 20:33
donaldh_: Or is it mapped, just not implemented?
donaldh_ Mapped and throws an exception at runtime.
20:33 ClarusCogitatio joined, ClarusCogitatio left, ClarusCogitatio joined
jnthn ah, ok, then fine 20:34
dalek kudo/nom: c1833a1 | (Donald Hunter)++ | src/core/IO/Socket/Async.pm:
Implement IO::Socket::Async.bytes_supply
kudo/nom: 4efdc95 | (Donald Hunter)++ | tools/build/Makefile-JVM.in:
Add IO/Socket/Async.pm to JVM build. Bump setting build heap to 1000m for Java 8.
kudo/nom: 1b2d393 | (Donald Hunter)++ | tools/build/NQP_REVISION:
Bump NQP version to get async io ops on JVM.
kudo/nom: e3748d8 | jonathan++ | / (3 files):
Merge pull request #266 from donaldh/jvm_async_ops

Implement IO::Socket::Async.bytes_supply and bump NQP_REVISION to get async ops on JVM.
donaldh_ jnthn++
20:36 ClarusCogitatio left 20:39 ClarusCogitatio joined, lvfjf joined 20:40 ivanshmakov left, ivanshmakov joined, ivanshmakov is now known as ivanshmakov^ 20:41 rurban joined 20:43 ivanshmakov joined 20:44 ClarusCogitatio left 20:46 ClarusCogitatio joined, ivanshmakov left, ivanshmakov joined
jnthn jnthn.net/tmp/rakudo-star-2014.04.tar.gz # rc 20:47
20:47 beastd joined
donaldh_ Does moar have many warnings on Linux / Windows ? (there are quite a few on MacOS) 20:48
jnthn None on Windows.
20:48 ClarusCogitatio left
jnthn A few for me on Linux. 20:48
20:48 ivanshmakov^ left, ClarusCogitatio joined, ClarusCogitatio left, ClarusCogitatio joined
donaldh_ k, worth investing in some cleanup on Mac.... 20:49
Hmm. building nqp with --backends=moar --prefix=../install --gen-moar puts moar in the wrong place :) 20:50
:( even 20:51
donaldh_ will create an absolute path fix in due course. 20:52
20:53 ClarusCogitatio left
jnthn Gee, the modules-test in R* goes by a good bit quicker on Moar than on Parrot... 20:53
Anyway, passes for both in that tarball, even after module bumps I did earlier on :) 20:54
So, the release candidate stands.
Will leave it until tomorrow to release, to give time for others to try it.
timotimo \o/ 20:59
21:02 ClarusCogitatio joined 21:03 ClarusCogitatio left
dalek p: 6c1ac9f | jnthn++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Ensure return types are set up for nqp:: ops.
21:05
21:06 ClarusCogitatio joined 21:07 btyler_ left, ClarusCogitatio left 21:08 anaeem1_ left
timotimo huh, we didn't do that yet?! 21:08
poor optimizer!
jnthn Actually I had that patch locally when doing my timings yesterday 21:09
forgot I'd not pahs it
wonder if it makes a difference :)
21:09 ClarusCogitatio joined 21:10 ClarusCogitatio left, rindolf left
donaldh_ what's still missing on JVM for * ? 21:11
21:11 kurahaupo joined
jnthn donaldh_: Hunting a pre-comp bug or two, I think 21:12
21:13 ClarusCogitatio joined, ClarusCogitatio left, ClarusCogitatio joined 21:17 ClarusCogitatio left, LLamaRider left 21:22 takesako____ left, rurban left 21:25 bluescreen100 left 21:28 takesako____ joined
timotimo jnthn: did that return value change actually change a lot? 21:29
it seems like it should
donaldh_ is it possible to build * in the git repo? 21:32
timotimo no, you can only build a tarball to build * with in the repo 21:34
21:37 anaeem1 joined 21:38 kaare_ left, Ven_ left
vendethiel m: grammar G { token TOP { <['_' '-']> } } 21:39
camelia rakudo-moar fd5f8e: OUTPUT«===SORRY!=== Error while compiling /tmp/TsZsXei9Qf␤Unsupported use of - as character range; in Perl 6 please use .. for range, for explicit - in character class, escape it or place as last thing␤at /tmp/TsZsXei9Qf:1␤------> gra…»
vendethiel is that correct ? that's surprising
21:39 hoverboard joined, LLamaRider joined
vendethiel m: grammar G { token TOP { [ <[A..Z]> <[a..z]> + ] ** 1..3 % <[' ' -]> } }; say G.parse('Hey-Here Buddy'); 21:40
camelia rakudo-moar fd5f8e: OUTPUT«(Any)␤»
vendethiel m: grammar G { token TOP { [ <[A..Z]> <[a..z]> + ] ** 1..3 % <[' ' -]> } }; say G.parse('Hey-Here-Buddy');
camelia rakudo-moar fd5f8e: OUTPUT«「Hey-Here-Buddy」␤␤»
vendethiel that's surprising too
I guess it *can* make sense, but sometimes not. Is there another operator to make it "recalculate" every time ?
lue vendethiel: you can't quote things in character classes. Those ' are literal.
vendethiel lue: oh. 21:41
m: grammar G { token TOP { <['a']> } }; say G.parse("b"); say G.parse("a");
camelia rakudo-moar fd5f8e: OUTPUT«(Any)␤「a」␤␤»
vendethiel apparently not, though ...
lue Those ' are literal :)
vendethiel as in, either ' either a ? 21:42
Timbus_ m: grammar G { token TOP { <['a']> } }; say G.parse("'");
camelia rakudo-moar fd5f8e: OUTPUT«「'」␤␤»
vendethiel 'kay
I take note :)
lue You can backslash a space, though.
r: say " " ~~ /<[\ ]>/
camelia rakudo-jvm fd5f8e: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp'␤ in (gen/jvm/main.nqp)␤␤»
..rakudo-{parrot,moar} fd5f8e: OUTPUT«「 」␤␤»
vendethiel is ws significant in there ?
lue Nah, seems <[]> ignores 'em. 21:43
vendethiel m: say " " ~~ /<[a b]>/
camelia rakudo-moar fd5f8e: OUTPUT«Nil␤»
vendethiel m: say " " ~~ /<[a b \ ]>/
camelia rakudo-moar fd5f8e: OUTPUT«「 」␤␤»
vendethiel thanks lue !
21:43 kurahaupo left 21:45 btyler joined, virtualsue joined
dalek ast: db0b68e | (Elizabeth Mattijsen)++ | S17-supply/start.t:
Basic Supply.start tests
21:45
21:50 donaldh_ left
dalek ast: 0322152 | (Elizabeth Mattijsen)++ | S17-supply/watch_path.t:
Make test more robust by waiting a bit longer
21:51
kudo/nom: 941f677 | (Elizabeth Mattijsen)++ | t/spectest.data:
Make sure we do the Supply.start tests
lizmat and with that today's commit limit is reached 21:52
goodnight, #perl6!
masak 'night, lizmat 21:54
'night, #perl6
lvfjf n8 21:56
jnthn 'night, lizmat & masak 22:01
timotimo: Well, I did it to enable some opts 22:02
timotimo: So, "presumably" :)
22:04 kurahaupo joined
Timbus_ m: say " as df gh " ~~ /\S+/; say " as df gh " ~~ /\S+ % \h/; 22:04
camelia rakudo-moar fd5f8e: OUTPUT«「as」␤␤「a」␤␤»
Timbus_ this feels wrong
=/
22:05 btyler left
Timbus_ ew /[\S+]+ % \h/ 22:05
jnthn Was gonna say, that second one is probably what you want. 22:14
22:16 takesako____ left 22:25 hoverboard left 22:29 xenoterracide_ left 22:31 takesako____ joined 22:39 spider-mario left 22:41 araujo joined, araujo left, araujo joined 22:48 anaeem1 left
timotimo i'm going to run fancy-ultra-fresh benchmarks now 22:49
jnthn May want to bump NQP_REVISION first to get that patch I just put in 22:50
timotimo i put in --gen-moar=master --gen-nqp=master temporarily 22:53
22:53 beastd left 23:05 skids joined 23:07 takesako____ left
jnthn Happy benchmarking 23:09
'night
23:12 takesako____ joined 23:16 lvfjf left 23:17 ajr_ left 23:21 BenGoldberg joined
timotimo t.h8.lv/p6bench/2014-05-03-moar_progress.html - this is the benchmarks with the latest head 23:22
bedtime for me, too 23:24
gnite
BenGoldberg p6: $_ = "AB"; say s/(.)(.)//; 23:25
yoleaux 1 May 2014 04:48Z <TimToady> BenGoldberg: using 'my' instead of 'state' is not necessary, since the loop's closure is recloned at the same time the 'my' would have been, so the state resets on re-entry to the outer scope
camelia niecza v24-109-g48a8de3: OUTPUT«True␤»
..rakudo-jvm fd5f8e: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp'␤ in (gen/jvm/main.nqp)␤␤»
..rakudo-{parrot,moar} fd5f8e: OUTPUT«␤»
BenGoldberg p6: $_ = "AB"; say $_ ~~ s/(.)(.)//;
camelia rakudo-{parrot,moar} fd5f8e, niecza v24-109-g48a8de3: OUTPUT«True␤»
..rakudo-jvm fd5f8e: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp'␤ in (gen/jvm/main.nqp)␤␤»
23:57 dmol left