»ö« 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.334710121154785Thö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/tmpfileVariable '$k' is not declaredat /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/5AlS5frp1hMissing blockat /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_QlKCCannot 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/UXqay8noL5Missing blockat /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/iftAJxc9rCUndeclared 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/TsZsXei9QfUnsupported use of - as character range; in Perl 6 please use .. for range, for explicit - in character class, escape it or place as last thingat /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
|