»ö« 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. |
|||
psch | m: my @cache = 2; my @primes := gather for 2..* { @cache.push(.take) if so [+] $_ Z% @cache[^($_.sqrt)] }; say @primes[^10]; # cono | 00:02 | |
camelia | rakudo-moar 40748b: OUTPUT«3 5 7 9 11 13 15 17 19 21» | ||
psch | oh | ||
noo | |||
im too tired | |||
:( | |||
all of my sads | |||
timotimo: that ran in 5 minutes, BUT it's clearly wrong | 00:03 | ||
silly me | |||
@cache doesn't get updated inside the gather scope if it's declared outside it seems | 00:08 | ||
or is it that the zip is thunked..? | 00:09 | ||
00:10
ldris joined
|
|||
timotimo | does $_.take actually return $_? | 00:14 | |
m: gather { say 10.take } | |||
camelia | rakudo-moar 40748b: OUTPUT«10» | ||
timotimo | hmm. | ||
00:14
ventica left
|
|||
timotimo | you know the ... operator lets you get all previous values passed into the generator closure, too, right? | 00:14 | |
i think that'd make it tons easier | 00:15 | ||
and i think you want X% instead of Z% | |||
00:15
SevenWolf left
|
|||
psch | X% breaks somehow | 00:16 | |
m: my @cache = 2; my @primes := gather for 2..* { @cache.push(.take) if so [+] $_ X% @cache[^($_.sqrt)] }; say @primes[^10]; | 00:17 | ||
camelia | rakudo-moar 40748b: OUTPUT«use of uninitialized value of type Any in numeric context in block at /tmp/UuPMIzNZmG:1===SORRY!===Type check failed for return value; expected 'Int' but got 'Failure'» | ||
psch | which should maybe point towards what's wrong, but i'm not seeing it | ||
m: my @cache = 2; my @primes := gather for 2..* { @cache.push(.take) if so [+] ($_ X% @cache[^($_.sqrt)]) }; say @primes[^10]; | |||
camelia | rakudo-moar 40748b: OUTPUT«use of uninitialized value of type Any in numeric context in block at /tmp/I1hjFVhZj_:1===SORRY!===Type check failed for return value; expected 'Int' but got 'Failure'» | ||
psch | i don't know how ... gives me the previous values | ||
timotimo | i'll show you | 00:18 | |
m: .say for ^20, -> *@v { @v.pick + 1 } ... 30 | 00:19 | ||
camelia | rakudo-moar 40748b: OUTPUT«0123456789101112131415161718197161871911413121913201956168121914131481114917112019619120131…» | ||
timotimo | oh, that's not going to converge like that | ||
m: .say for 20, -> *@v { @v.pick + 2 } ... 30 | |||
camelia | rakudo-moar 40748b: OUTPUT«20222222222224262624242628282830» | ||
timotimo | and that's boring %) | 00:20 | |
m: .say for ^5, -> *@v { @v.pick + 2 } ... 30 | |||
camelia | rakudo-moar 40748b: OUTPUT«012343526644356576268589546281048786934759677868687710810961055381210…» | ||
timotimo | m: .say for ^5, -> *@v { ([max] @v.pick: 3) + 2 } ... 30 | ||
camelia | rakudo-moar 40748b: OUTPUT«0123457687991012147121414141691491616101616111216181816201620181816162218181818222426201824202…» | ||
00:22
zakharyas joined
|
|||
timotimo | so yeah. that's how :) | 00:23 | |
00:23
SevenWolf joined
|
|||
psch | that's too dense for me at the moment :D | 00:24 | |
curiously that happens when i'm trying to write dense code ;) | |||
00:24
iarna joined
00:25
nbrown____ joined
|
|||
timotimo | oh? | 00:25 | |
well, the core of what i wanted to show is that you can just define a slurpy positional argument to the closure left of the ... operator | |||
and it'll give you all values that have been in the series so far | |||
so that'd be your cache in that case | |||
psch | ah, okay | 00:26 | |
00:29
nbrown____ left
|
|||
timotimo | and i think you don't want "so [+] ...", you probably want any(...) instead, as you'd have to prove the numbers are all positive or zero in order for rakudo to even be able to figure out it could short-circuit that | 00:32 | |
or maybe just [||] ... | 00:34 | ||
that can probably short-circuit? | 00:35 | ||
m: [||] gather for ^20 { take $_ > 10; say $_ } | |||
camelia | rakudo-moar 40748b: OUTPUT«012345678910111213141516171819» | ||
timotimo | m: any(gather for ^20 { take $_ > 10; say $_ }) | ||
camelia | rakudo-moar 40748b: OUTPUT«012345678910111213141516171819» | ||
timotimo | :o | ||
m: say so any(gather for ^20 { take $_ > 10; say $_ }) | 00:36 | ||
camelia | rakudo-moar 40748b: OUTPUT«012345678910111213141516171819True» | ||
timotimo | m: say so (gather for ^20 { take $_ > 10; say $_ }).any | ||
camelia | rakudo-moar 40748b: OUTPUT«012345678910111213141516171819True» | ||
timotimo | that's unfortunate | ||
psch | m: my @cache; my @primes := gather for 2...* { @cache.push(.take) if all(@cache.map({ $_ % $^a })) }; say @primes[^10]; | 00:40 | |
camelia | rakudo-moar 40748b: OUTPUT«2 3 5 7 11 13 17 19 23 29» | ||
psch | there it is :) | ||
colomon | m: my @primes := (2..*).grep(*.is-prime); say @primes[^10] | 00:42 | |
camelia | rakudo-moar 40748b: OUTPUT«2 3 5 7 11 13 17 19 23 29» | ||
colomon is lazy | |||
psch | interestingly cono's original code takes 8.3 real for the first 250, while my latest bit takes 3.8 | 00:43 | |
i'm not going to test how long colomon's takes :P | |||
colomon | m: my @primes := (2..*).grep(*.is-prime); say @primes[300] | 00:44 | |
camelia | rakudo-moar 40748b: OUTPUT«1993» | ||
colomon | we actually did try to make is-prime somewhat efficient... | ||
timotimo | well, the is-prime test is the probabilistic one | ||
00:45
zakharyas left
|
|||
psch | the wikipedia article about probabilistic primality tests definitely is beyond my current waking level | 00:51 | |
timotimo | well ... | 00:52 | |
the probability of getting a false-positive is smaller than getting hit on the head by a little meteorite or something like that | |||
(well, the value that's responsible for the false-positive rate is tunable, of course) | |||
timotimo heads off to bed | |||
o/ | 00:53 | ||
psch | i'll do the same | ||
g'nite \o | |||
00:55
slavik left,
jnap joined
|
|||
japhb | perl6-m -e '' is much slower than perl6-m -v ... why? 2 < timotimo> (well, the value that's responsible for the false-positive rate is tunable, of course) | 01:00 | |
17:52 * timotimo heads off to bed | |||
17:53 < timotimo> o/ | |||
17:53 < psch> i'll do the same | |||
Dangit | |||
perl6-m -e '' is much slower than perl6-m -v ... why? gist.github.com/japhb/c4af98bab6f918aa857d | 01:01 | ||
japhb has to figure out what is going goofy with his paste buffer this week .... | |||
01:03
virtualsue left
01:06
ldris left
01:07
slavik joined
01:11
jnap left
01:25
nbrown____ joined
01:28
FROGGS_ joined
01:29
klapperl joined
01:30
nbrown____ left
01:31
FROGGS left
01:32
klapperl_ left
01:40
PZt joined
01:44
dayangkun joined
01:47
virtualsue joined
01:54
slavik left
01:58
SevenWolf left
02:02
rurban left
02:08
slavik joined
02:19
chenryn joined
02:48
lustlife joined
02:57
noganex joined
02:58
rurban joined
02:59
noganex_ left
03:11
perlfan left
03:13
xragnar_ joined,
xragnar left,
xragnar_ is now known as xragnar
03:18
lue left
03:19
mr-foobar joined
03:29
dwarring left
03:32
kaare_ joined
03:42
echoprinter left
03:48
slavik left
03:51
BenGoldberg left
03:55
virtualsue left
03:57
rurban left
03:59
iarna left
04:02
kurahaupo left,
slavik joined
04:08
chenryn left
04:12
lue joined
04:16
dayangkun left
04:20
kaare_ left
04:22
iarna joined
04:35
kurahaupo joined
04:36
ventica joined
|
|||
kurahaupo | m | 04:37 | |
mm | |||
m | 04:38 | ||
diakopter | m | ||
yoleaux | 25 Feb 2014 19:56Z <[Coke]> diakopter: I need a password reset on host06, as my keys stopped working today (and I promptly forgot the password once I had the keys setup) | ||
kurahaupo | p | ||
pm | |||
diakopter | wow, 25 Feb | ||
04:38
chenryn joined
|
|||
kurahaupo | nm | 04:38 | |
04:39
iarna left
|
|||
kurahaupo | pkm | 04:40 | |
ml | |||
mlm | |||
mmmmlmm | |||
mkm | |||
mmp | |||
mkmmkp | |||
mkmmkpmp | |||
mkmmkpmpmmm | |||
mkmmkpmpmmmm | |||
04:40
[Sno] left
|
|||
kurahaupo | mkmmkpmpmmkmmm | 04:40 | |
mkmmkpmpmmm;m | |||
mkmmkpmpmmmml | |||
mkmmkpmpmmmmlmm | |||
mkmmkpmpmmkmmmmm | 04:41 | ||
l | |||
04:41
brrt joined
|
|||
kurahaupo | klmmm | 04:41 | |
lee_ | you ok there? | ||
kurahaupo | m | ||
k | |||
kmlnm | |||
m | |||
kmlnmmml | |||
mmm | |||
mmmnnl | |||
damn phone unlocked in pocket, sorry guys | 04:42 | ||
04:43
chenryn left
|
|||
diakopter | :) | 04:48 | |
04:50
zakharyas joined
04:53
kaare_ joined
04:56
zakharyas left
05:01
brrt left
05:11
anaeem1 joined
05:13
vendethiel left
|
|||
nwc10 | kurahaupo: could you get it to put in a colon and then a space? That way,you could start to fuzz test camelia :-) | 05:31 | |
m: kmmkpmpmmkmmmmm | |||
camelia | rakudo-moar 40748b: OUTPUT«===SORRY!=== Error while compiling /tmp/PWqjhDNV8uUndeclared routine: kmmkpmpmmkmmmmm used at line 1» | ||
05:39
chenryn joined
05:51
gfldex joined
05:56
kaleem joined
05:59
denis_boyun_ joined
|
|||
ingy | where are the p6 numeric types best described? | 06:06 | |
s02? | 06:07 | ||
06:08
dayangkun joined
06:11
Woodi joined
06:12
brrt joined
06:13
gfldex left
06:15
ventica left
06:16
[Sno] joined
06:19
thou left
06:20
erkan left
06:31
dayangkun left
06:36
erkan joined,
erkan left,
erkan joined
06:38
slavik left
06:48
dayangkun joined
06:51
slavik joined
06:52
chenryn left
06:58
darutoko joined
07:04
lisyara joined
07:09
lisyara is now known as lisyara2
07:11
ventica joined
07:14
chenryn joined
07:24
dmol joined
07:29
brrt left
07:33
Mouq joined
|
|||
Mouq | FROGGS++ | 07:34 | |
yoleaux | 10 Aug 2014 07:10Z <FROGGS> Mouq: What do you mean by 'how'? <Mouq> FROGGS: How do you use the nqp_to_perl6 branch of v5? | ||
10 Aug 2014 08:11Z <FROGGS> Mouq: In case you meant build instructions I updated the README.md | |||
07:34
virtualsue joined
07:35
kshannon left
07:50
brrt joined
|
|||
nwc10 | brrt: PASS (apar from sinful flapping spectests) | 07:51 | |
brrt | :-D | ||
07:51
kuroseki joined
|
|||
brrt | much wow | 07:52 | |
also | |||
still not helping core-setting | |||
masak | good morning, #perl6 | ||
07:55
aoseki left
08:02
dayangkun left
08:04
dayangkun joined
|
|||
brrt | \o masak | 08:06 | |
(as in, core.setting compiles all right, but it's not any faster) | |||
08:12
FROGGS_ is now known as FROGGS
|
|||
FROGGS | morning | 08:13 | |
brrt | morning FROGGS | 08:15 | |
08:15
clkao left
08:17
clkao joined
08:25
lisyara2 left
08:31
pecastro left
08:41
pingvin joined
|
|||
sergot | carlin: I do :) | 08:45 | |
hey! o/ | |||
masak | \o | 08:52 | |
moritz | o/ | 08:56 | |
timotimo: tiny typo in p6weekly.wordpress.com/2014/08/05/2...this-time/ : 'usag' (should be 'usage') | |||
masak | timotimo: [||] doesn't short-circuit, see S03:1382. | 08:57 | |
synopsebot | Link: perlcabal.org/syn/S03.html#line_1382 | ||
09:06
xinming_ is now known as xinming
09:10
broquain1 is now known as broquaint,
SamuraiJack joined
|
|||
FROGGS | jnthn: I added this to NFA.nqp: nqp::say("$name iscont") if nqp::iscont(@substates); | 09:10 | |
and the only thing that shows up is "b iscont", so the thing from my example code | |||
nothing shows up when building nqp or rakudo | 09:11 | ||
now I'll rebuild perl6-p to know if that thing also gets that bloody container | 09:12 | ||
09:12
ren1us joined
|
|||
jnthn | Oh...that being containerized would probably be rather bad | 09:12 | |
09:13
chenryn left
|
|||
FROGGS | yeah, and I have no idea where that comes from... | 09:14 | |
09:14
chenryn joined
|
|||
FROGGS | I mean, it must have something todo with b being a multi | 09:14 | |
ren1us | weird question. the cs department at my college is looking into setting up a "Human Side of CS" talk series, and we're trying to come up with a list of potential speakers. i feel like the evolution of the p6 community over the last decade is a perfect fit. given that it's 5 am on the east coast i think my timing is a bit off, but are there any p6 people in the new england (US) area who would | 09:16 | |
be a good speaker? | |||
09:17
kaleem left
|
|||
ren1us | (we liberal arts schools do weird stuff in our cs programs) | 09:17 | |
FROGGS | somebody would just have to perform TimToady++'s talks :o) | 09:18 | |
09:19
silug left
09:25
chenryn left
|
|||
Mouq | I wouldn't be a good speaker, but I'm curious where? | 09:29 | |
09:29
chenryn joined
|
|||
ren1us | south-east CT (Connecticut College) | 09:29 | |
we get no attention because we're more or less a boring little liberal arts school with a crazy good science program | |||
most of the interesting talks go on an hour in any direction (yale, harvard, mit) | 09:30 | ||
and i've actually never seen any of timtoady's p6 talks | |||
09:32
silug joined
09:33
brrt left
|
|||
Mouq | Ahh, well I have family in Conneticut, maybe I'll try to stop by for a talk sometime :) I'm going to a tiny college too, but it's a branch of Penn State so that's a little different I guess | 09:34 | |
09:36
kaleem joined
09:37
silug left
|
|||
Mouq | Much smaller than Conn tho | 09:38 | |
timotimo | .tell japhb -v and echo "" | perl6-m will not pull in the setting, but an empty program will | ||
yoleaux | timotimo: I'll pass your message to japhb. | ||
09:39
silug joined
|
|||
Mouq | Hmm | 09:41 | |
FROGGS: Strange error with v5 (nqp_to_perl6 branch): use v5; 2,3; say "test"; | 09:42 | ||
===SORRY!=== Cannot iterate object with P6opaque representation | |||
Came up because I wrote my @a = 1,2,3 instead of my @a = (1,2,3) | 09:43 | ||
09:44
chenryn left
|
|||
dalek | rlito: c3003cf | (Flavio S. Glock)++ | misc/alias.pl: misc - add a parameter aliasing example |
09:44 | |
09:44
silug left,
spider-mario joined
|
|||
Mouq | Hm, comes from deep in the optimizer | 09:45 | |
moritz | it doesn't surprise me that the optimizer makes v6-specific assumptions :-) | 09:46 | |
timotimo | if the optimizer wasn't doing some things in-place, i'd suggest giving it a big try/catch that just returns the original AST back if an unexpected error occurs | 09:47 | |
moritz | and hide all the errors, and wonder why stuff runs so slow? | 09:49 | |
bad idea, IMHO | |||
timotimo | ah, yes. | 09:51 | |
Mouq | It may just be that v5 isn't marking void context correctly | 09:52 | |
star: use v5; 2,3; 1 | |||
camelia | star-{m,p} 2014.04: OUTPUT«WARNINGS:Useless use of "," in expression "2,3" in sink context (line 1)» | ||
Mouq | Or just the branch anyway :) | 09:53 | |
lizmat | good *, #perl6! | ||
r: $_=1; .say for grep $_ == 1, 1,2,3 # WTF ? | 09:54 | ||
camelia | rakudo-{parrot,jvm,moar} 40748b: OUTPUT«123» | ||
Mouq | m: .say for grep True, 1,2,3 # :P | ||
camelia | rakudo-moar 40748b: OUTPUT«123» | ||
Mouq | also \o lizmat | 09:55 | |
jnthn | lizmat: Block! | ||
lizmat | S29:126 appears to imply this should be a compile error | ||
synopsebot | Link: perlcabal.org/syn/S29.html#line_126 | ||
lizmat | o/ Mouq jnthn | 09:56 | |
or at least a runtime error | |||
09:58
silug joined
|
|||
jnthn | It can't be a runtime error. | 09:58 | |
Since we've know idea it was something silly by then; we just see True | |||
Mouq | .oO( multi grep (Bool $, ...) { die "you probably need a block, silly" } ) |
09:59 | |
10:02
silug left
|
|||
lizmat | Mouq: going to spectest with that change | 10:03 | |
10:03
brrt joined
|
|||
timotimo | if you want a matcher that'll always fail or succeed, you can still supply -> { True/False } | 10:05 | |
jnthn | Ah... "Booleans are forbidden because they almost always indicate a programming error where the argument has been evaluated too soon against the wrong $_" | 10:07 | |
So handholding... | |||
But yeah, a multi candidate is probably the cleanest way. | |||
timotimo | how about a warning + nextsame? | 10:08 | |
jnthn | Well, forbidden sounds like error, not warning | ||
timotimo | mhh | 10:09 | |
fair enough | |||
10:10
dayangkun left
|
|||
timotimo | .tell sergot: you haven't posted to your blog about the gsoc for quite a while; isn't there some kind of requirement (possibly not strict) to have a public progress report on a biweekly basis? | 10:10 | |
yoleaux | timotimo: What kind of a name is "sergot:"?! | ||
jnthn | Yay, my JIT patches didn't blow up the builds, spectest, etc. | ||
timotimo | .tell sergot you haven't posted to your blog about the gsoc for quite a while; isn't there some kind of requirement (possibly not strict) to have a public progress report on a biweekly basis? | ||
yoleaux | timotimo: I'll pass your message to sergot. | ||
jnthn gently encourages brrt to take a moment to write a short post noting the merge, and whatever else he fancies noting :) | 10:12 | ||
brrt++ # adding function-calling stuff in to the JIT isn't hard | 10:13 | ||
lizmat | spectest seems clean | ||
jnthn | lizmat: You did --enable-jit too? :) | ||
lizmat: Also: clean? init.t thing ain't fixed yet, no? | |||
lizmat | I mean clean as in no additional problems | 10:14 | |
:-) | |||
brrt | :-) yes | ||
jnthn | Right :) | ||
10:14
chenryn joined
|
|||
lizmat | where does the --enable-jit go ? | 10:14 | |
jnthn | To MoarVM's Configure | ||
I guess if you --gen-moar there's a --moar-options you can use? | 10:15 | ||
lizmat | --moar-options=--enable-jit ? | ||
jnthn | Also you'll need to --gen-moar=master as we didn't bump revisions yet | ||
lizmat: Someth9ing like that | |||
lizmat | will do so in a mo, first making this a proper exception :-) | 10:16 | |
10:16
silug joined
10:17
pecastro joined
|
|||
lizmat | and do the same with first, first-index, last-index, grep-index | 10:18 | |
10:19
chenryn left
10:20
silug left,
virtualsue left
|
|||
lizmat | How about "Cannot use Bool as Matcher with 'grep'" as text for the exception ? | 10:25 | |
jnthn | Well, it may want to give a hint about why we're telling them this | 10:26 | |
"(Did you forget to use $_ inside a block?)" | |||
lizmat | ok | 10:29 | |
10:32
silug joined
10:33
chenryn joined
|
|||
FROGGS | Mouq: these things can happen, I'm not yet done with the transition :o) | 10:33 | |
10:38
silug left
10:52
silug joined
10:53
pingvin left
10:56
silug left
|
|||
FROGGS | jnthn: using perl6-j the "b iscont" also shows up, but it still works out for some reason... | 11:00 | |
maybe it is not that strict about containers | |||
jnthn | Well, or more likely it does a decont somewhere that Moar's code-gen doesn't put one | 11:02 | |
FROGGS | hmmm | 11:04 | |
but do we want that? | |||
jnthn: building perl6-p is busted | 11:05 | ||
jnthn | Not sure, without knowing where it is | ||
FROGGS | Stage pir : Killed | ||
make: *** [CORE.setting.pbc] Fehler 137 | |||
it feels like a deep recursion | |||
jnthn | What on earth does 137 mean? | ||
FROGGS | killed by OS or so | ||
nwc10 | SIGBUS and cordump, I thnk | ||
oh, no | |||
SIGKILL and coredump, probably | |||
m: 137 - 128 | |||
camelia | ( no output ) | ||
nwc10 | m: say 137 - 128 | ||
camelia | rakudo-moar 40748b: OUTPUT«9» | ||
FROGGS | I was unable to type here and only hardly could move the mouse | ||
11:06
SamuraiJack left
11:07
SamuraiJack joined
11:11
silug joined
11:14
nbrown____ joined
11:17
nbrown____ is now known as nbrown
|
|||
lizmat | jnthn: how about "Did you mean to use $_ inside a block?) | 11:17 | |
so, s/forget/mean/ | |||
11:17
silug left
11:19
Mouq left
|
|||
jnthn | lizmat: Yes, that's fine | 11:21 | |
11:23
chenryn left
11:24
chenryn joined
11:26
cognome joined
11:28
silug joined
|
|||
dalek | kudo/nom: 16ce7df | (Elizabeth Mattijsen)++ | src/core/ (2 files): Prevent using Bool as a Matcher in grep c.s. As per S29:126 |
11:28 | |
synopsebot | Link: perlcabal.org/syn/S29.html#line_126 | ||
11:29
chenryn left
11:33
silug left
11:34
chenryn joined
|
|||
cono | timotimo: This is perl6 version 2014.07-147-g40748bc built on MoarVM version 2014.07-116-g9a4fda8 | 11:35 | |
timotimo | oh, that's quite up-to-date | 11:37 | |
cono | yeah, but I'm newbie in perl6, so looks like it could be rewritten better ) | ||
timotimo | so you'll probably not benefit from recent performance improvements | ||
cono | looked to what psch provided. Stuck here if so [+] :) | 11:38 | |
timotimo | the "so" is superfluous in this case; it's the opposite of "not" | ||
gotta run now :\ | 11:39 | ||
cono | cu | ||
thanks for explanation | |||
timotimo | no problem :) | ||
11:46
silug joined
|
|||
dalek | kudo/nom: 50d042b | Carlin++ | tools/lib/NQP/Configure.pm: pass --moar-options(s) to NQP's Configure This makes setting --moar-option(s) in rakudo's Configure actually have those options passed to MoarVM's Configure |
11:49 | |
kudo/nom: 11afe19 | lizmat++ | tools/lib/NQP/Configure.pm: Merge pull request #300 from carbin/some-of-us-have-to-set-the-os-option pass --moar-options(s) to NQP's Configure |
|||
11:51
silug left
|
|||
lizmat | seems we have two mentions of DESTROY in the spec, both seem like fossils to me | 11:55 | |
S12:856 | 11:56 | ||
synopsebot | Link: perlcabal.org/syn/S12.html#line_856 | ||
lizmat | S29-249 | ||
S29:249 | |||
synopsebot | Link: perlcabal.org/syn/S29.html#line_249 | ||
lizmat | hmmm.... rebuilt with patched configure, but jit_log still empty | 11:57 | |
dalek | ecs: 56c5710 | (Elizabeth Mattijsen)++ | S (2 files): Get rid of DESTROY fossils |
12:00 | |
12:04
silug joined
|
|||
carlin | ls | 12:05 | |
oops | |||
the jit_log isn't empty for me, but I manually bumped nqp/tools/build/MOAR_REVISION to 7671558 | 12:07 | ||
12:07
molaf__ left
|
|||
jnthn | Yes, for now it'll need --gen-master | 12:08 | |
uh | |||
Yes, for now it'll need --gen-moar=master | |||
12:08
nbrown left,
silug left
12:11
rurban joined
|
|||
carlin | doh, didn't realise you could do =master to get the HEAD | 12:13 | |
FROGGS | jnthn: it seems like istrue decont's on jvm but not on moar | ||
jnthn | nqp::istrue ? | 12:14 | |
QAST::MASTOperations.add_core_moarop_mapping('istrue', 'istrue', :decont(0)); | 12:15 | ||
FROGGS | ahh, dang | ||
jnthn | It's marked as deconting... | ||
dalek | ast: a0a80b7 | (Pepe Schwarz)++ | S32-exceptions/misc.t: Unfudge and correct test for RT #122502. |
||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122502 | ||
12:21
silug joined,
kivutar joined
|
|||
lizmat | jnthn: fwiw, I *did* --gen-moar=master, but it still doesn't give me jit | 12:23 | |
12:25
silug left
|
|||
FROGGS | lizmat: you have to pass --enable-jit to moar-options | 12:29 | |
12:29
silug joined
|
|||
lizmat | this was the command I used: perl Configure.pl --gen-moar=master --moar-option=--enable-jit --gen-nqp --backends=moar | 12:30 | |
12:31
jnap joined
|
|||
jnthn | lizmat: If it's still in the terminal, how does your MoarVM Configure output look? | 12:31 | |
12:32
telex left
12:34
silug left
|
|||
lizmat | Already on 'master' | 12:34 | |
Already up-to-date. | |||
Configuring and building MoarVM ... | |||
perl Configure.pl --enable-jit --optimize --prefix=/Users/liz/Github/rakudo.moar/install --make-install | |||
12:34
silug joined
|
|||
lizmat | Configuring native build environment ................... JIT isn't supported on darwin-thread-multi-2level yet. | 12:34 | |
aha! | |||
12:34
telex joined
|
|||
lizmat | :-( | 12:34 | |
dalek | Heuristic branch merge: pushed 79 commits to rakudo/S26-WHY by hoelzro | 12:35 | |
12:35
araujo joined
|
|||
carlin | if ($Config{archname} =~ m/^x86_64|^darwin-2level/) | 12:35 | |
jnthn | Ah...so it's not detecting it as an x64 arch | ||
dalek | ast: 750b9da | (Pepe Schwarz)++ | S32-exceptions/misc.t: Add test for RT #115726. |
12:36 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115726 | ||
cognome | is this possible to use an emum name as a subrule in a rule, so as to match any of the enum strings? | 12:37 | |
r: enum Bool < False True >; 'True' ~~ m/ <Bool> / | 12:38 | ||
jnthn | No. | ||
camelia | rakudo-jvm 11afe1: OUTPUT«(timeout)» | ||
..rakudo-moar 11afe1: OUTPUT«P6opaque: no such attribute '$!pos' in method match at src/gen/m-CORE.setting:6297 in block at /tmp/tmpfile:1» | |||
..rakudo-parrot 11afe1: OUTPUT«Can not get attribute '$!pos' declared in class 'Cursor' with this object in regex at /tmp/tmpfile:1 in method match at gen/parrot/CORE.setting:6301 in block at /tmp/tmpfile:1» | |||
cognome | too bad. | 12:39 | |
jnthn | m: say Bool.enums.keys | ||
camelia | rakudo-moar 11afe1: OUTPUT«False True» | ||
jnthn | So you could @(Bool.enums.keys) inside a regex I guess | ||
cognome | How does it knows that the array is constant to make that a NFA. Good luck for jnthn to optimize that :) | 12:41 | |
jnthn | It doesn't. | ||
dalek | ast: 4b608e7 | (Elizabeth Mattijsen)++ | S32-list/ (5 files): Add tests for Bool Matchers |
12:42 | |
jnthn | Not sure off hand there's an especially great way to do this yet. Not without regex interpolation of some kind. | ||
lizmat | BEGIN @(Bool.enums.keys) ? | 12:43 | |
12:45
rurban left
12:46
guru joined
|
|||
cognome | r: constant @bkeys = Bool.enums.keys; 'True' ~~ / @bkeys / | 12:46 | |
12:46
ivanshmakov left
|
|||
camelia | ( no output ) | 12:46 | |
12:46
guru is now known as Guest38471,
silug left,
Guest38471 is now known as ajr_
|
|||
cognome | r: constant @bkeys = Bool.enums.keys; say 'True' ~~ / @bkeys / | 12:46 | |
camelia | rakudo-{parrot,jvm,moar} 11afe1: OUTPUT«「True」» | ||
cognome | don't know if that is optimized. | 12:47 | |
12:49
ivanshmakov joined,
molaf joined
12:50
virtualsue joined
12:53
kaare_ left,
klapperl_ joined
12:55
klapperl left
12:58
anaeem1 left
12:59
silug joined
13:00
ivanshmakov| joined
|
|||
dalek | kudo-star-daily: c5c656f | coke++ | log/ (15 files): today (automated commit) |
13:01 | |
kudo-star-daily: 443471a | coke++ | log/ (14 files): today (automated commit) |
|||
rl6-roast-data: b3f9fc2 | coke++ | / (5 files): today (automated commit) |
|||
13:02
ajr joined,
ajr_ left,
raiph joined,
ivanshmakov left,
ajr is now known as Guest25736
13:03
Guest25736 is now known as ajr_,
cognome left
13:04
cognome joined,
silug left,
rurban joined
13:08
cognome left
|
|||
dalek | blets: da79fa3 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt: streamline glossary head text |
13:12 | |
13:13
brrt left
|
|||
FROGGS | wow, we decont a lot | 13:25 | |
nwc10 | and you can see a away to reduce the number of times? | ||
FROGGS | ummm, no | ||
I am hunting a decont we do on the jvm but not on moar... | |||
13:26
dayangkun joined
|
|||
FROGGS | we decont 561191 times for -e 1 using perl6-j | 13:26 | |
jnthn | spesh does remove some amount of decont, and turns many of those it can't into a single pointer operation | ||
FROGGS | yeah, that'd better be cheap :o) | ||
jnthn | Though it was cheap anyways | ||
Well, it's just a dereference really. Pulling a value out of a container. | 13:27 | ||
dalek | blets: 47e0136 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt: rewrote glossary text for yadda ops |
13:30 | |
13:31
kaare_ joined
|
|||
lizmat | cycling& | 13:34 | |
13:41
kaleem left
13:45
cognominal joined
13:48
iarna joined
|
|||
dalek | blets: 6718e2f | (Herbert Breunung)++ | docs/ (3 files): organizing first link anchor to explain parsing with grammars |
13:51 | |
13:52
iarna left
13:56
thou joined
|
|||
psch | m: say "{.key}" given a => 1 # RT #100746 | 14:01 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=100746 | ||
camelia | rakudo-moar 11afe1: OUTPUT«» | ||
14:01
[Sno] left
|
|||
moritz | m: say .perl given a => 1; | 14:03 | |
camelia | rakudo-moar 11afe1: OUTPUT«"a" => 1» | ||
moritz | m: say .key given a => 1; | ||
camelia | rakudo-moar 11afe1: OUTPUT«a» | ||
psch | m: $_ = a => 1; say "{.key}" | 14:04 | |
camelia | rakudo-moar 11afe1: OUTPUT«a» | ||
FROGGS | m: "{say .key}" given a => 1 | ||
camelia | rakudo-moar 11afe1: OUTPUT«Nil» | ||
FROGGS | m: "{say $_}" given a => 1 | ||
camelia | rakudo-moar 11afe1: OUTPUT«Nil» | ||
FROGGS | n: "{say $_}" given a => 1 | 14:05 | |
camelia | niecza v24-109-g48a8de3: OUTPUT«"a" => 1» | ||
FROGGS | niecza++ | ||
moritz | and I think it's even correct | ||
because {say $_} is a block | |||
and it's called without an argument | |||
FROGGS | n: "{ { say $_ } }" given a => 1 | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«"a" => 1» | ||
moritz | m: $_ = 42; { say $_}() | 14:06 | |
camelia | rakudo-moar 11afe1: OUTPUT«42» | ||
FROGGS | I'm not so sure that {} in a string already is a block | ||
it is more like: hey! here comes code | |||
moritz | yes, it's a block | ||
psch | m: say "{say $^a}"("foo") | ||
camelia | rakudo-moar 11afe1: OUTPUT«===SORRY!=== Error while compiling /tmp/rrZFFXSQgcPlaceholder variable $^a may not be used here because the surrounding block takes no signatureat /tmp/rrZFFXSQgc:1------> say "{say $^a}⏏"("foo") expect…» | ||
dalek | blets: f591196 | (Herbert Breunung)++ | docs/appendix- (2 files): explaining better parse, subparse and action method - and lot of spacings for better readability |
||
psch | EDOUBLESAY | 14:07 | |
moritz | it's one of the reasons we allow $^a to be accessed as $a too | ||
so that inner scopes, including {} blocks in strings, can access them | |||
psch | m: (-> $a { say "{$a}" })("foo") | 14:08 | |
camelia | rakudo-moar 11afe1: OUTPUT«foo» | ||
psch | m: (-> $a { say "{$a}" }) given "foo" | ||
camelia | ( no output ) | ||
FROGGS | you do not invoke it | 14:09 | |
psch | right | ||
i had a feeling it does something different :) | |||
m: ((-> $a { say "{$a}" }) given "foo")() | |||
camelia | rakudo-moar 11afe1: OUTPUT«Not enough positional parameters passed; got 0 but expected 1 in block at /tmp/CUpmVuKSCS:1» | ||
psch | i think i need a break | ||
FROGGS | hehe, clearly :P | 14:11 | |
14:16
raiph left
|
|||
daxim_ | r: -> $f, $s { return $f + $s }; # how do I immediately call this block? arguments are for instance 23, 42 | 14:17 | |
camelia | ( no output ) | ||
14:17
brrt joined
|
|||
moritz | m: -> $f, $s { return $f + $s }(23, 42) # dunno if that works, or needs parens | 14:18 | |
camelia | ( no output ) | ||
FROGGS | m: -> $f, $s { say $f + $s }(23, 42); # this way | ||
camelia | rakudo-moar 11afe1: OUTPUT«65» | ||
moritz | m: say -> $f, $s { return $f + $s }(23, 42) # dunno if that works, or needs parens | ||
camelia | ( no output ) | ||
moritz | m: say (-> $f, $s { return $f + $s })(23, 42) | ||
camelia | ( no output ) | ||
moritz | ffs? | 14:19 | |
m: say 23 + 42 | |||
camelia | rakudo-moar 11afe1: OUTPUT«65» | ||
FROGGS | m: say( -> $f, $s { return $f + $s }(23, 42) ) | ||
camelia | ( no output ) | ||
FROGGS | err | ||
moritz | oh | ||
FROGGS | a return in a pointy >.< | ||
moritz | return inside a lambda is a BAD IDEA | ||
return is only for routines | |||
FROGGS | daxim_: a return falls through a pointy/lambda | ||
moritz | m: say -> $f, $s { $f + $s }(23, 42) | ||
camelia | rakudo-moar 11afe1: OUTPUT«65» | ||
daxim_ | this is confusing me | 14:20 | |
FROGGS | m: sub foo { if 42 { return 1 } } # for what should the return be? | ||
camelia | ( no output ) | ||
FROGGS | m: sub foo { if 42 -> $x { return 1 } } # more clearly | ||
camelia | ( no output ) | ||
FROGGS | that is also a pointy, and the return is meant to return from the sub | 14:21 | |
daxim_ | please add this to perl6trap document | ||
FROGGS | O.o | ||
PerlJam | I get a core dump locally for -> $f, $s { return $f + $s }(23, 42). That seems LTA to me. Seems like this is something that could be detected and warn the user about anyway | ||
moritz | it should say "return without a routine" | 14:22 | |
FROGGS | if it does not do that it should state that the return-exception missed its handler | ||
14:22
psch left
|
|||
FROGGS | j: -> $f, $s { return $f + $s }(23, 42) | 14:22 | |
camelia | ( no output ) | ||
masak | m: return; say "alive" | ||
camelia | ( no output ) | ||
FROGGS | j: return | 14:23 | |
camelia | ( no output ) | ||
FROGGS | :/ | ||
masak | I'd go so far as to consider that a bug. | ||
FROGGS | yeah | ||
masak | it can be caught *statically*. | ||
PerlJam | agreed | ||
masak submits rakuobug | |||
14:23
psch joined
|
|||
moritz | since control exceptions are lexotic, and all taht | 14:23 | |
masak | `return` in the mainline is always wrong. | 14:24 | |
PerlJam | masak: sub MAIN { return 42; } # ;-) | ||
FROGGS | m: class foo { method bar { say &?ROUTINE } }; foo.bar | 14:25 | |
camelia | rakudo-moar 11afe1: OUTPUT«bar» | ||
FROGGS | okay, should be an easy fix | ||
masak | PerlJam: that's un-wrong but meaningless :) | ||
FROGGS | *g* | ||
PerlJam | masak: it's a gentle nudge toward improving the precision of our words :) | 14:26 | |
masak | PerlJam: I stand by what I said. MAIN is a sub, so `return` is fine there. | ||
PerlJam: it's only not fine outside of any routine. | |||
FROGGS | "Can only return from within a method or sub" | ||
masak | FROGGS: "routine" | ||
14:27
iarna joined
|
|||
FROGGS | std: -> $a { return 42 } | 14:27 | |
masak | that's the Perl 6 word for it. | ||
camelia | std 0f2049c: OUTPUT«Potential difficulties: $a is declared but not used at /tmp/IHMoUFGPst line 1:------> -> ⏏$a { return 42 }ok 00:01 126m» | ||
FROGGS | std: return | ||
camelia | std 0f2049c: OUTPUT«ok 00:01 120m» | ||
masak | FROGGS: you can return from a macro, too. for example. | ||
FROGGS | ahh | ||
okay | |||
daxim_ | who's up for discussion/code sprints for standardising/documenting library installation paths across implementations at austrian perl workshop? | ||
masak | (moritz++ says that's because a macro is a sub is a routine. I say it's because a macro is a routine) :) | ||
moritz thinks it's nice that masak++ speaks for him, so he can be a bit more lazy himself | 14:28 | ||
masak | :) | ||
moritz: hope I didn't misrepresent you in any way. | 14:29 | ||
moritz | masak: if you did, I'd protest. Not to lazy for that... :-) | ||
masak | excellent. | 14:30 | |
PerlJam notes that the discussion on pointy blocks doesn't mention the word "lambda" | 14:32 | ||
perhaps it should. | |||
14:41
mathw_ left
14:42
ggoebel1111114 joined,
mathw joined
14:43
treehug88 joined
|
|||
FROGGS | Attempt to return outside of any Routine | 14:44 | |
make: *** [RESTRICTED.setting.moarvm] Fehler 1 | |||
lol | |||
masak | epic fehler. | ||
FROGGS | my bad, there is not even a return.. | ||
moritz | oh, and remember that return is just a routine, and overridable :-) | 14:45 | |
14:45
ggoebel1111113 left
|
|||
moritz | m: sub return($x) { $x * 2}; sub f { return 21 }; f() | 14:45 | |
camelia | ( no output ) | ||
moritz | m: sub return($x) { $x * 2}; sub f { return 21 }; say f() | ||
camelia | rakudo-moar 11afe1: OUTPUT«42» | ||
moritz | m: sub return($x) { $x * 2}; say -> { return 21 }(21) | 14:46 | |
camelia | rakudo-moar 11afe1: OUTPUT«Too many positional parameters passed; got 1 but expected 0 in block at /tmp/Cct6vyFoFP:1» | ||
moritz | m: sub return($x) { $x * 2}; say -> { return 21 }() | ||
camelia | rakudo-moar 11afe1: OUTPUT«42» | ||
14:46
ajr_ left
14:47
guru joined
|
|||
moritz | imagine the fun you could have, if for example JSON::Tiny exported a rigged &return... :-) | 14:47 | |
14:47
guru is now known as Guest36377
|
|||
jnthn | .oO( :!auth<moritz> ) |
14:48 | |
moritz | oh, new github profiles are easy to create :-) | ||
masak .oO( :!auth<mysterious_stranger_who_is_not_at_all_moritz> ) | 14:50 | ||
FROGGS | I could talk to ANDK so that at least CPAN would be safe :o) | 14:51 | |
timotimo | aren't we supposed to be able to filter versions with a code block? :P | 14:52 | |
14:52
raiph joined
|
|||
timotimo | and do verification of whatever kind? | 14:52 | |
FROGGS | okay, my patch seems to work now... | 14:53 | |
14:56
pmichaud joined
|
|||
pmichaud | good morning, #perl6 | 14:56 | |
PerlJam | pmichaud! o/ | ||
14:56
anaeem1 joined
14:57
anaeem1 left,
anaeem1 joined
|
|||
carlin | would be nice to be able to do, use Foo:sha<67c738...> | 14:57 | |
pmichaud | I just saw RT #122504.... I think that by definition "lexotic" means that something might not be able to be caught statically | ||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122504 | ||
pmichaud | PerlJam! o/ | ||
PerlJam | pmichaud: btw, Happy (early) Birthday. Just in case I don't remember on your actual birthday :) | 14:58 | |
pmichaud | PerlJam: thanks! | ||
timotimo | hola pmichaud! | ||
moritz | maybe "lexotic" isn't the right terminology | ||
pmichaud | In particular, foo( -> { return 123 } ) means that the return cannot be caught statically | ||
moritz is a bit out of tune | 14:59 | ||
pmichaud | since it's being specified outside of a lexical routine, it's dynamic scoped | ||
masak | pmichaud! \o/ | ||
FROGGS | pmichaud: \o/ | ||
timotimo | pmichaud: have you been following the amazing performance improvements moar has been getting? :) | ||
pmichaud | timotimo: I have not. I had a summer contract/employment position that just finished last Friday... so my following of Perl 6 has been sporadic at best :) | 15:00 | |
FROGGS | carlin: we could pass additional adverbs to the EXPORT sub of the module you use... | ||
(or all) | |||
15:00
Guest36377 left
|
|||
timotimo | pmichaud: you'll be all the more positively surprised, then ;) | 15:00 | |
PerlJam | pmichaud: oh, then you need to build rakudo/nqp with the moar backend. It's gotten loads faster. | ||
FROGGS | this way we could even have EXPORT multis | ||
15:01
ajr joined
|
|||
TimToady | pmichaud: but we've been saving contextual refactor for you :) | 15:01 | |
well, except when I couldn't stand it, and made push take advantage of eagerness last week... :) | 15:02 | ||
15:02
ajr left
|
|||
pmichaud | the only place one could potentially catch 'return' statically is if it's in the mainline, not inside of a lambda | 15:02 | |
15:02
bjz left
|
|||
pmichaud | and I'm not sure it's worth the trouble. | 15:02 | |
timotimo | right; how iterating things are supposed to tell iterators/lists how eager to be | ||
15:02
bjz joined
|
|||
pmichaud | Yes, I was wondering what the status of lists is, and whether I'm still "point" for that or if someone else has taken it on :) | 15:03 | |
brrt | good ... morning for you, pmichaud :-) | ||
15:03
ajr joined
|
|||
TimToady | yeah, if you actually use it as a lambda, you'd have to do escape analysis before inlining its usages | 15:03 | |
a bare block, though, can be inlined, and then returned | |||
15:03
ajr is now known as Guest43775,
chenryn left
15:04
Guest43775 is now known as ajr_
|
|||
TimToady | as can lambdas fed to known constructs like loops | 15:04 | |
masak | oh, good point. | ||
pmichaud | and yes, I've missed you all. My summer contract was super-fun, though. :) | ||
FROGGS | that is my patch, but it looks like it introduces spectest fails: | ||
my &return := -> | { | |||
+ X::ControlFlow::Return.new().throw | |||
+ unless nqp::getlexrel(nqp::ctxcaller(nqp::ctx()), '&?ROUTINE'); | |||
my $parcel := | |||
masak | pmichaud: missed you toooo! | ||
masak hugs pmichaud | |||
timotimo | \o/ | ||
pmichaud | Do I update the ticket, or ... ? | 15:05 | |
timotimo | pmichaud: yes, you're still on point :) | ||
masak | FROGGS: what TimToady++ just said. | ||
FROGGS: like, `my &block = -> { return }` is fine. | |||
FROGGS | uhh | ||
masak | ...yeah. | ||
FROGGS | that explains why wrap.t fails | ||
:o) | |||
pmichaud | can I reject the ticket? | 15:06 | |
moritz | if so, we need a ticket for better runtime error | ||
masak | pmichaud: IMO, a core of it still is valid. | ||
15:06
chenryn joined
|
|||
pmichaud | okay, I'll update it | 15:06 | |
masak | pmichaud: like, `return` outside of any routine or lambda is always wrong and should be caught statically. | 15:07 | |
even if it is not caught statically, right now it *has the wrong runtime behavior*. | |||
pmichaud | I can go with "wrong runtime behavior" | ||
15:07
ajr_ left
|
|||
FROGGS | would be funny if the quotes would be included :P | 15:08 | |
TimToady frequently has wrong runtime behavior... | |||
15:09
ajr_ joined
|
|||
jnthn | ooh, a pmichaud! :) | 15:09 | |
TimToady | well, except lately, he hasn't been allowed to run at all, just walk gently | ||
jnthn | o/ pmichaud | ||
Glad your summer contract was fun. :) | |||
pmichaud | jnthn: /o | ||
er, o/ | |||
(I've even forgotten how to wave, it seems.) | |||
TimToady | it was just a freudian headache on one side of your head | 15:10 | |
masak | ...but not how to salute! | ||
jnthn | pmichaud: Guess you won't be making YAPC::EU this year? | ||
pmichaud | when is yapc::eu ? | 15:11 | |
brrt | sofia, bulgaria | ||
masak | *when* | ||
jnthn | That's where :P | ||
pmichaud | well, "where" is important also :) | ||
jnthn | 22nd :) | ||
masak | 22st - 24th | ||
pmichaud | oooooh | 15:12 | |
masak | er, 22nd | ||
jnthn | st? :P | ||
masak | 22st - 24rd :) | ||
pmichaud | I'm pretty sure Perl 6 allows any of st|nd|rd|th | ||
masak | hehe | ||
pmichaud | at least it used to :) | ||
masak | m: say :42umpteenth | ||
camelia | rakudo-moar 11afe1: OUTPUT«» | ||
masak | m: say (:42umpteenth) | ||
camelia | rakudo-moar 11afe1: OUTPUT«"umpteenth" => 42» | ||
masak | yep. | ||
m: say (:42rd) | 15:13 | ||
camelia | rakudo-moar 11afe1: OUTPUT«"rd" => 42» | ||
15:13
ajr_ left
|
|||
TimToady isn't sure how to pronounce that one, or even if he wants to... | 15:13 | ||
pmichaud | holy cow! roundtrip to sofia is only $1800 | ||
masak | "forty-twoord" | ||
pmichaud: ship it! | 15:14 | ||
jnthn | pmichaud: ooh :) | ||
FROGGS | pmichaud: and in October would be the APW - act.useperl.at/apw2014/talk/5565 and act.useperl.at/apw2014/talk/5566 | ||
dalek | ecs: 43ff895 | duff++ | S99-glossary.pod: [S99] Add emptyish lambda and pointy block |
||
jnthn | pmichaud: Would be great to see you, if you can make it :) | ||
15:14
ajr_ joined
|
|||
masak | +1 | 15:14 | |
hoelzro | morning #perl6 | ||
pmichaud | I've been thinking I need a trip... I had been planning western US, but .... hrm | ||
FROGGS | hi hoelzro | 15:15 | |
hoelzro | o/ FROGGS | ||
jnthn | pmichaud: I'll be there form 20th afternoon but leaving on the evening of the 24th, fwiw | ||
PerlJam | This seems useful to folks here: www.cs.cmu.edu/~aldrich/papers/ecoop14-tsls.pdf | ||
pmichaud | yes, that information helps | ||
jnthn has to commute to his autumn contract. :) | |||
15:15
kaleem joined
|
|||
pmichaud | is there a hackathon-ish thingy? | 15:16 | |
jnthn | (Thus the leaving on the evening) | ||
No hackathon this time... The Austrian Perl Workshop in October has two days of glorious hackathon, though. :) | |||
pmichaud | yes, I've also got APW on my calendar | ||
jnthn | \o/ | ||
FROGGS | yay | ||
pmichaud | not sure I'll be able to make that one, but it's been on my radar | ||
TimToady | we're planning to come to the APW, especially since we can't go to Sophia | 15:17 | |
pmichaud | that makes me even more inclined to do APW, fwiw. :) | ||
it's entirely possible for me to consider both | |||
masak | PerlJam: I'm on page two, and yes, it looks useful/interesting. | ||
pmichaud | if I had to choose between them, which is better? ;-) | 15:18 | |
TimToady had to cancel on 4 different events this summer :( | |||
masak | PerlJam: "A notation is important for what it leaves out." -- I like that. | ||
PerlJam | masak: aye, skimming it made little Perl6 dings go off in my head :) | ||
FROGGS | pmichaud: depends... it is like choosing between hackathons and talks... | ||
masak hugs TimToady | |||
15:18
denis_boyun_ left
|
|||
pmichaud | TimToady: ick! | 15:18 | |
I know how disappointing cancelling can be | 15:19 | ||
actually, "disappointing" is the wrong word. "agonizing" | |||
TimToady | and one of those is my mom's 90th birthday party | ||
PerlJam | I'm sure some of the event attendees were disappointed | ||
pmichaud | 90th birthday +1 | ||
actually, +1 isn't enough. | 15:20 | ||
who is going to YAPC::EU ? | |||
TimToady | turns out you can't drive from here to Seattle without going up to 2000ft altitude, which is vorbotten | ||
pmichaud | TimToady: boat? | 15:21 | |
masak | pmichaud: I'm going to YAPC::EU. | ||
TimToady | we investigated boats | ||
FROGGS | I'm not :o( | ||
TimToady | but my mom told me I wasn't allowed to come, because she would feel awful if I lost an eye just because of her birthday | ||
FROGGS | yeah... | 15:22 | |
15:23
kivutar left
|
|||
TimToady | and no scheduled or charterable boats around the bit of California that is too high | 15:23 | |
I could rent a canoe, and paddle 120 miles each way... | |||
FROGGS | hehe | 15:24 | |
TimToady | but I don't want to be that far from doctors right now | ||
FROGGS | in theory... | ||
pmichaud | does US 101 go up too high? | ||
TimToady | that goes up to 2000 near Leggitt | ||
15:24
ajr_ left
|
|||
masak | solution is immediate: put a doctor in the canoe! | 15:24 | |
FROGGS | and let him paddle! | ||
TimToady | also, it's not clear all the jostling would be good for my eye in any case | ||
besides, a clumsy surgeon might whack me in the eye with the paddle | 15:25 | ||
15:25
brrt left
|
|||
FROGGS | *g* | 15:25 | |
15:25
ajr_ joined
|
|||
TimToady | then we'd have to bring along an anasthesiologist as well | 15:25 | |
*ane or *anae | 15:26 | ||
TimToady keeps forgetting his greek | |||
pmichaud | somewhere in here is a good "If the mountain won't come to Muhammad" quote.... :) | ||
PerlJam | pmichaud: funny, I was just thinking that | 15:27 | |
TimToady: how does your mom feel about flying (or boats) ? :) | |||
TimToady pictures a guru sitting on top of a valley | |||
FROGGS | I might not want to travel much when I am 90 | ||
pmichaud | "If the mountain won't come to Muhammad.... you'll put your eye out!" | ||
TimToady | she doesn't travel as well as she used to, but the main prolblem there is most of her relations are up in WA | 15:28 | |
pmichaud | anyway, I'll seriously consider Sofia today. I need to double-check my calendar and make sure I'm not forgetting something important | ||
jnthn | \o/ | ||
pmichaud | otoh, it might actually be more productive for me to stay in TX and just dedicate the travel days to catching up on P6 :) | 15:29 | |
but... Sofia | |||
jnthn | .oO( Make the wise choice... ) |
15:30 | |
TimToady chuckles at the phrase "catching up on P6" | 15:31 | ||
at the moment #perl6 is generating frontlog faster than I can backlog... | |||
masak | TimToady: we miss you here in the frontlog! :D | 15:34 | |
pmichaud looks at the YAPC::EU talks | 15:35 | ||
15:35
dayangkun left
|
|||
masak .oO( the frontlog is already here, it's just unevenly backlogged ) | 15:35 | ||
pmichaud chuckles at "GOTO statement considered awesome" | 15:36 | ||
masak | mission accomplished :) | ||
pmichaud: actually I'm sitting here and mapping out the talk right now. | |||
carlin | masak: do you get half-way through the talk and then jump to the end? | 15:37 | |
masak | carlin: I see what you did there. | ||
pmichaud | carlin: one GOTO in the talk wouldn't be awesome enough | ||
15:39
raiph left
|
|||
jnthn considers arriving with a huge "Structured programming FTW" banner :D | 15:40 | ||
pmichaud | You procedural guys crack me up. :) | ||
masak | jnthn: spoiler alert: not gonna diss structured programming *per se*. | 15:41 | |
jnthn | masak: Since when did protests have to be based on well-founded reasoning? :P | ||
masak | point. | ||
pmichaud | A less-than-awesome GOTO: goput.it/gpx.jpg | 15:44 | |
15:44
ajr_ left
|
|||
masak | :) | 15:44 | |
15:45
guru joined,
guru is now known as Guest30572
|
|||
FROGGS | jnthn: it looks like the decont is there for 'if @a {...' but not for 'if !@a {...' | 15:52 | |
jnthn: I guess I should take a look at the code-gen of if? | 15:53 | ||
jnthn | FROGGS: Or ! | ||
Is this NQP code? | |||
FROGGS | yes | ||
jnthn | Yeah. Now you've got it down to that, I can see the fail | 15:54 | |
15:54
Guest30572 left
|
|||
FROGGS | 'if @a {...' results in: decont; unless_o; goto | 15:54 | |
jnthn | src/vm/moar/NQP/Ops.nqp:111..114 | ||
FROGGS | 'if !@a {...' in: isfalse; goto or so | ||
k | |||
QAST::MASTOperations.add_core_moarop_mapping('isfalse', 'isfalse', :decont(0)); | 15:57 | ||
does that mean that the :decont(0) is not taken into account when we push the op directly? | |||
jnthn | Correct | ||
FROGGS | only by using nqp::isfalse | ||
jnthn | That only applies to the nqp => moarop mapper | ||
15:57
ajr joined
|
|||
FROGGS | nice | 15:57 | |
15:58
ajr is now known as Guest3837
|
|||
FROGGS tries his patch | 16:02 | ||
16:03
Guest3837 left
16:04
ajr_ joined
|
|||
japhb | botsnack | 16:04 | |
yoleaux | 09:38Z <timotimo> japhb: -v and echo "" | perl6-m will not pull in the setting, but an empty program will | ||
japhb | Gah, that's a pretty painful difference from loading the setting. I thought jnthn++ mitigated most of that? Or wait ... is there still the "iterating over every lexical after loading the setting kills much of the potential laziness" problem? | 16:06 | |
FROGGS | dang, why doesn't it work? | ||
jnthn | japhb: Yes, there's still that problem. | ||
japhb | awww, dang. | ||
16:06
pecastro left
|
|||
jnthn | In other news, async process spawning is making progress. :) | 16:08 | |
timotimo | not most. | ||
16:09
ajr_ left,
brrt joined
16:10
kurahaupo left
|
|||
FROGGS | ahh... | 16:11 | |
16:12
ajr_ joined
16:13
[Sno] joined
|
|||
lizmat | FWIW, on a cold machine: Files=912, Tests=32101, 170 wallclock secs ( 8.53 usr 3.80 sys + 1051.33 cusr 128.47 csys = 1192.13 CPU) | 16:13 | |
first time at 170 wallclock and < 1200 CPU | |||
(cold as in not running the fan) | 16:14 | ||
jnthn | Cool! | ||
lizmat | including 20 grep Bool and grep Bool:D related tests | 16:15 | |
I just added | |||
FROGGS | it works \o/ | ||
jnthn | FROGGS++ | ||
lizmat hopes for a quick MOAR / NQP REVISION push | |||
jnthn | Well, I'll have reason to push in a bit, I think | 16:16 | |
But others are free to beet met do it :) | |||
uh, beat | |||
TimToady | beets, yum | ||
16:20
kaleem left
16:22
revdiablo left
16:23
revdiablo joined
|
|||
FROGGS | wow: Stage parse : 34.542 | 16:23 | |
I should shut down my browser more often :o) | |||
dalek | p: 5015755 | (Tobias Leich)++ | src/vm/moar/NQP/Ops.nqp: emit a decont before isfalse in code like: !@a This led to a nasty (and annoying) bug where the NFA did not get all fates and took the wrong route through a grammar... |
16:27 | |
16:27
chenryn left
|
|||
timotimo | FROGGS: wow. | 16:27 | |
FROGGS | timotimo: yeah, much wow | ||
jnthn | That one ended up a layer or two down the stack further than I expected... | 16:28 | |
16:28
chenryn joined
|
|||
dalek | p: f29fffc | (Tobias Leich)++ | src/QRegex/NFA.nqp: reorder NFA.mergesubrule to save an existskey and isnull call |
16:29 | |
16:32
bjz left,
bjz_ joined,
chenryn left
16:36
ventica left
16:39
anaeem1 left
|
|||
masak | .u ‐ | 16:41 | |
yoleaux | U+2010 HYPHEN [Pd] (‐) | ||
lizmat | first jitted spectest: Files=912, Tests=32101, 179 wallclock secs ( 8.69 usr 3.90 sys + 1108.18 cusr 137.71 csys = 1258.48 CPU) | 16:46 | |
slightly slower / more CPU than without | |||
moritz | oh, fun. Decommute took about an hour longer than usual | 16:47 | |
FROGGS | perl6-m -Ilib t/spec/base/cond.v5 | ||
===SORRY!=== | |||
Unknown operator precedence specification "%terminator" at line 7, near "\n\n$x = '0'" | |||
hmpf, that's new... | |||
jnthn | moritz: ugh...that's so...un-German! | 16:48 | |
moritz | because some idiot football fan thought it was necessary to throw a fire extinguisher through the front window of a subway | ||
and that resulted in a full stop to subway traffic along that line, which happened to be mine | |||
jnthn | Fail | ||
moritz | and the alternative bus meandered slowly through all the small villages in the vincinity | 16:49 | |
16:49
jeffreykegler joined
|
|||
jeffreykegler | TimToady: answering a question Larry Wall asked at Andrew Rodland's Orlando YAPC Marpa talk -- | 16:50 | |
"What does 'acceptable' mean in a Marpa "Longest *Acceptable* Token Match"? | |||
16:50
sivoais left
|
|||
jeffreykegler | "Acceptable" has a very precise definition. | 16:51 | |
If, with a token added, the input so far is a prefix of some sentence in the language, a token is acceptable. | |||
TimToady | the non-declarative part of an alternative can reject the alternative, and the LTM engine must backtrack to the next best LTM alternative | ||
jeffreykegler | No backtracking -- it's predictive | 16:52 | |
16:52
sivoais joined
|
|||
TimToady | well, I'm talking about P6 here :) | 16:52 | |
jeffreykegler | In other words, a token is acceptable if there is still some possibility of a successful parse. | ||
OK, | |||
The equivalent in other cases would typically use backtracking. | |||
16:52
anaeem1_ joined
|
|||
jeffreykegler | Marpa uses full knowledge of the BNF to do this -- AFAIK, it's the first parser to allow a determination like this on the fly. | 16:53 | |
Andrew basically got this right, but I thought I'd pass on the more precise answer. | |||
The key is that this (to a extent) erases the lexer/parser boundary. | |||
pmichaud clones latest rakudo repo, builds | 16:54 | ||
jeffreykegler | The lexer is able to use the context that the parser knows. | ||
And the parser is fully aware of its BNF context -- rules, how far recognized, which symbols expected. | 16:55 | ||
lizmat | yup: spectest with MVM_SPESH_DISABLE=1: Files=912, Tests=32101, 168 wallclock secs ( 8.39 usr 3.75 sys + 1044.75 cusr 111.48 csys = 1168.37 CPU) | ||
FROGGS | jnthn: the problem I see in v5 might happen due to lazy deserialization... | ||
jnthn: this block might cause problems: github.com/rakudo-p5/v5/blob/nqp_t...ar.pm#L886 | |||
jnthn | FROGGS: There was an init.t regression, so that's plausible. | 16:56 | |
FROGGS | ahh | ||
:o) | |||
jeffreykegler | If you'd lke I can give more details of the mechanism in the lexer -- it's all done non-deterministically, so it's not the usual thing. | ||
jnthn | lizmat: Programs that exercise a load of different code paths a small number of times - which is the point of the spectests - tend to be hard for any kind of optimizer to overcome. | 16:57 | |
lizmat | yup, I understand why :-) | ||
just wanted to see this in numbers | |||
jnthn | The best we can hope for there is tweaking thresholds :) | ||
TimToady | jeffreykegler: sorry, a bit distracted by real life at the moment... | 16:58 | |
16:58
chenryn joined
|
|||
jeffreykegler | LExing will wait. :-) I hope all is well | 16:59 | |
TimToady | but it would be an interesting experiment at some point to see how well Marpa parses Perl 6 | ||
jeffreykegler | I've often wondered about that, but frankly was waiting for an expression of interest. | 17:00 | |
TimToady is always interested in too many things :) | |||
jeffreykegler | I'm reading Bertrand Russell and he says the key to a happy old age is widening your interests. :-) | ||
TimToady | it might be something that one of our up-and-coming whipersnappers could be delegated | 17:01 | |
TimToady is supposed to be writing a book, among other things... | |||
jeffreykegler | Exactly my thought. | ||
17:02
dmol left
|
|||
TimToady | at the moment I'm a bit sidelined by a bum eye that I had emergency surgery on last month | 17:02 | |
jeffreykegler | Perhaps a volunteer on your side and I try to find one on my side. I'd be available to help the Marpa guy. | ||
Ouch! I didn't know. Haven't been following the Perl6 IRC as much as in the past. | |||
TimToady | yeah, had to cancel all travel this summer, basically | 17:03 | |
jeffreykegler | Can you see at all from the burned eye. | ||
I noticed that in my backlogging just before I came on. | |||
17:03
chenryn left
|
|||
TimToady | some, and getting better as the bubble inside gets reabsorbed (triple retinal detachment) | 17:03 | |
17:03
ajr_ left
|
|||
TimToady | and I think your font doesn't distinguish m and rn very well :) | 17:04 | |
jeffreykegler | Best of luck. Your eyesight is a major resource for the programming community. | ||
17:04
Rotwang joined
|
|||
TimToady | well, still have one good eye to keep the bus number in check :) | 17:05 | |
moritz | not only for the programming community... I guess it helps a lot in real life too :-) | ||
huf | if it didnt, we wouldnt have lights in the loo... | ||
TimToady | or on the busses | 17:06 | |
17:07
treehug88 left
|
|||
jeffreykegler | I'll ask on my own IRC channel if anyone wants to take on a Perl6 parser. I guess we in effect have already asked here. | 17:08 | |
17:08
cognome joined
|
|||
TimToady | errands & | 17:10 | |
17:10
cognome_ joined
|
|||
jeffreykegler | TimToady: Wish you a speedy recovery with the eye. | 17:11 | |
17:11
cognominal left
17:16
cognominal joined
17:20
SamuraiJack left,
cognome left
|
|||
psch thinks 2010 masak confused positional and named arguments in RT #77744 | 17:22 | ||
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=77744 | |||
psch | the &arity thing reported below is because slurpies don't get counted and assuming puts slurpies into the derived sub | ||
i think we could get a more informational Signature from the lhs' signature, but i don't have a clear way to get that working in mind | 17:24 | ||
17:24
treehug88 joined
|
|||
dalek | p: 4cf7f13 | jnthn++ | / (2 files): Bump MOAR_REVISION; map async proc bits. |
17:29 | |
masak | psch: back in 2010 there was more confusion in Perl 6 between nameds and positionals. | ||
moritz | m: say (sub (*@a) { }).count | 17:30 | |
camelia | rakudo-moar 11afe1: OUTPUT«Inf» | ||
psch | m: say (sub (*@a) { }).arity | ||
camelia | rakudo-moar 11afe1: OUTPUT«0» | ||
moritz | arity only counts required positionals; .count includes optionals too | ||
17:30
Rotwang left
|
|||
moritz | and counts slurpies as Inf, as you can see | 17:31 | |
psch | masak: i'm glad it's not so confusing anymore, i'd probably have troubles following it :) | ||
moritz: but that still breaks &assuming, doesn't it? | 17:32 | ||
m: sub f($x, $y) { }; my &g = &f.assuming(1); &g.arity.say | |||
camelia | rakudo-moar 11afe1: OUTPUT«0» | ||
moritz | psch: &assuming doesn't contruct a proper signature | ||
17:33
virtualsue left
|
|||
moritz | psch: it's just a dumb proxy that adds the assumed argument(s) | 17:33 | |
dalek | kudo/nom: 7cc0d7d | jnthn++ | / (3 files): Add Proc::Async for Moar. Bumps NQP_REVISION. Enables asynchronous spawning of a process, tapping of stdout or stderr (or both) by bytes or chars, and provides a promise for process completion that, if kept, gives a Proc::Status. Todo is killing the process and async writes to stdin of that process. |
||
17:36
pmurias joined
|
|||
pmurias | hi | 17:36 | |
17:36
Rotwang joined
|
|||
jnthn | o/ pmurias | 17:36 | |
psch | moritz: does that mean that current assuming is only superficially to spec? i'm not sure if what it does counts as "partial binding of a set of arguments", as per S06:3070 | 17:37 | |
synopsebot | Link: perlcabal.org/syn/S06.html#line_3070 | ||
psch | ...but then, the synopses are transitional until roast checks for everything i think? | 17:38 | |
dalek | kudo/nom: e822cca | (Elizabeth Mattijsen)++ | README.md: Mention the use of --moar-option=--enable-jit |
||
17:39
gfldex joined
17:40
pyrimidine joined
|
|||
pmurias | jnthn: what does immediate_static mean? | 17:41 | |
pyrimidine | timotimo: thanks for pointers on the bioinformatics grammar question on perl6-users | 17:42 | |
17:43
jeffreykegler left
|
|||
lizmat is confused by S29:332 | 17:44 | ||
synopsebot Link: perlcabal.org/syn/S29.html#line_332 | |||
pyrimidine | still trying to work out a best solution, not sure how feasible it is to expect grammars to act on streaming data or large files | 17:45 | |
lizmat | "used to take a first argument" but only * form is deprecated ? | ||
17:45
rurban left
|
|||
lizmat | so, can we get rid of *@protos in the signature ? | 17:45 | |
or does it still serve a purpose? | |||
afk for bit& | 17:46 | ||
japhb | lizmat: re: e822cca , the text and the example command don't match (=-- versus =) | 17:47 | |
pmurias | jnthn: when used as a QAST::Block.blocktype? | 17:48 | |
17:52
pyrimidine left,
pyrimidine joined
|
|||
FROGGS | pyrimidine: by large files you mean like really really large, right? | 17:53 | |
pyrimidine | FROGGS: yep | ||
possibly 100’s of GB | 17:54 | ||
FROGGS | eww | ||
pyrimidine | yep | ||
FROGGS | I would probably use a grammar on chunks, rather than fetching lines and match with regexes... | 17:55 | |
because loping over lines is slower than matching lines within a grammar | 17:56 | ||
pyrimidine | FROGGS: that’s in line with what I’m thinking; just have to decide on the size of the chunks | ||
FROGGS | I'd try low with 100M, if that does not explode then increase it to 250M or 500M | 17:57 | |
17:58
virtualsue joined
|
|||
pyrimidine | FROGGS: yep; that could be altered based on memory available (not unusual for us to have access to machines with 100’s of G available) | 17:59 | |
17:59
chenryn joined
|
|||
japhb | Ah, the joys of bioinformatics hardware ... | 18:01 | |
pyrimidine | japhb: :) | ||
japhb: I’m not sure the word ‘joy’ applies in many cases | 18:02 | ||
18:03
kaleem joined,
treehug88 left,
chenryn left
|
|||
pyrimidine | cool research but a LOT of data munging to get things into a form that’s useful | 18:03 | |
18:10
kaleem left
18:11
ventica joined
|
|||
FROGGS | jnthn: do you think the init.t regression is solvable by me? because I cannot go back to a good revision easily :o( | 18:14 | |
pmichaud | jnthn/masak : where are you staying (hotel) at YAPC::EU ? | 18:18 | |
nwc10 | hi pmichaud | 18:19 | |
nwc10 doesn't know the answer to that question | |||
pmichaud | nwc10: hi! o/ | 18:20 | |
18:32
molaf_ joined
18:33
brrt left
|
|||
japhb notes that the next YAPC::NA is in yet another hot city and wonders if that's a conspiracy of the YAPC folk. | 18:34 | ||
18:36
molaf left
|
|||
itz | cheap, hot city a few hours flight within Europe works for me :) | 18:36 | |
hopefully they won't be at war in 9 months unlike UA | 18:37 | ||
timotimo | pyrimidine: you're welcome :) | ||
nwc10 | iceland has volcanoes - will they do? | ||
japhb hasn't been near an active volcano since childhood | 18:43 | ||
Need to go do that again, methinks. | |||
japhb still vividly remembers getting hit with the Mt. St. Helens ash cloud | 18:44 | ||
jnthn | pmurias: The _static means that it doesn't need a closure of it taking in order to have correctness. | ||
japhb | Memories of Hawaiian volcanoes are a little fuzzier, though. | ||
jnthn | lizmat: No, *@protos is still needed | 18:45 | |
18:49
Sqirrel joined
18:57
mj41 joined
19:00
chenryn joined
19:02
jdurand_ joined
19:04
chenryn left
19:07
ventica2 joined
19:08
ventica left
19:13
SevenWolf joined
19:15
guru joined,
guru is now known as Guest89746,
Guest89746 is now known as ajr_
19:16
kurahaupo joined,
FROGGS[mobile] joined
|
|||
FROGGS[mobile] | jnthn: do you think the init.t fails are easy to solve? | 19:18 | |
jdurand_ | I would like to have, if possible, a BNF view of perl6 grammar. Would you mind to tell what are the best starting blocks ? I am thinking to github.com/perl6/std/blob/master/STD.pm6 or to synopses... Thx | 19:19 | |
jnthn | FROGGS[mobile]: My first attempt to figure out what's going on didn't nail them... | 19:20 | |
FROGGS[mobile]: In your particular case, what happens if you comment out the INIT bit and just have those things run in the grammar body? | |||
FROGGS[mobile] | I can test that in a bit... | 19:21 | |
19:21
jeffreykegler joined,
Sqirrel left
|
|||
jeffreykegler | TimToady: jdurand (Jean-Damien) is one of Marpa's power users. He's very generously agreed to look into a Marpa-powered Perl 6 parser. | 19:23 | |
jeffreykegler referring to irclog.perlgeek.de/perl6/2014-08-11#i_9168175 | 19:24 | ||
We think the first step is to get a Perl 6 BNF, the parsing of which would suffice as proof of concept. | |||
dalek | kudo/nom: 0c42c11 | (Elizabeth Mattijsen)++ | README.md: Proper --moar-option, spotted by japhb++ |
19:25 | |
PerlJam | jeffreykegler,jdurand_: depends on what you mean by "BNF view" of the grammar. To my mind, STD.pm6 is BNF-ish (and more) | 19:26 | |
jeffreykegler | This is on the assumption that such a thing as a reasonable Perl 6 BNF can exist -- Marpa is BNF-driven, so that's our natural starting point. | ||
jdurand_ | PerlJam, jeffreykegler: fine with me is STD.pm6 is the correct starting point - the goal is to have Marpa's BNF of perl6 grammar | 19:28 | |
"if STD.pm6" | |||
19:28
pmurias left
|
|||
PerlJam | It's the "(and more)" part I'm not sure if you'll have trouble with :) | 19:29 | |
jeffreykegler | Perljam: we'd need to pull out, as our starting point, just the BNF. Std.pm contains lexical considerations. And the traditional Perl 6 parser is *not* a general BNF parser, so that Std.pm contains extra logic to make BNF work with Perl 6's traditional parser, logic Marpa will not need. | ||
Perljam: Marpa can do custom hacks, but it's about leveraging the power of general BNF parsing. Left parsers need the hacks to figure out things that Marpa can figure out from the BNF. | 19:31 | ||
19:32
darutoko left
|
|||
jeffreykegler | Jean-Demian and I have used Marpa for real life parsers (C language, Javascript), which contain non-BNF gotcha's. These turn out to be surprisingly few. | 19:32 | |
19:32
raiph joined
|
|||
lizmat | jnthn, TimToady: if *@protos is still needed in .bless, maybe the paragraph at S29:332 needs some clarification? | 19:33 | |
synopsebot | Link: perlcabal.org/syn/S29.html#line_332 | ||
pmichaud | masak: you aren't the only one doing st|nd|rd|th differently: trendspotter.toptentalk.com/youre-d...g-trolls-7 | ||
jnthn | lizmat: I didn't spot your confusion with it, tbh... :) | ||
PerlJam | jdurand_, jeffreykegler: well, if you can read or figure out the Perl 6 bits in STD.pm6, then that is indeed where I would start if I were you. | ||
19:34
rurban joined
|
|||
rurban | Whow! moar-jit is fast | 19:35 | |
dalek | ecs: 2338ed1 | (Elizabeth Mattijsen)++ | S29-functions.pod: Attempt at clarification 1st parameter to .bless |
||
lizmat | rurban: how can you tell? | ||
rurban | Now -O3 would be nice to be usable | ||
perl Configure.pl --gen-moar --moar-option=--enable-jit --gen-nqp --backends=moar && m -s -j4 && m spectest | 19:36 | ||
FROGGS[mobile] | the JIT does not help there yet | 19:37 | |
19:37
treehug88 joined,
chenryn joined
|
|||
FROGGS[mobile] | the for loop minibench shows it better :o) | 19:37 | |
rurban | it's not running the jit yet, it it's not fast enough yet? | 19:38 | |
jdurand_ | PerlJam, jeffreykegler: Ok, so I propose to try to figure out from STD6.pm - I you don't mind I'll come back if I have troubles with it | ||
rurban | Stage mast : 11.855 looks pretty fast to me | ||
FROGGS[mobile] | rurban: the JIT makes many things slower atm | ||
rurban: run with JIT disabled an see | 19:39 | ||
rurban | ok | ||
PerlJam | jdurand_: #perl6 is always happy to answer Perl 6 questions :) | ||
rurban | I had 30sec for Stage mast usually | ||
jnthn | rurban: That's partly just more general improvements. | ||
FROGGS[mobile] | MVM_JIT_DISABLE=1 or so | 19:40 | |
rurban | oh bad | ||
jnthn | Yeah, sucks when things get better :P | ||
rurban | I expected it at least 2x faster with the jit, comparable to parrot | 19:41 | |
jnthn | I think generally, we need to tweak the thresholds for when to spend time JITting and when to just interpret. | ||
19:41
jeffreykegler left
|
|||
jdurand_ | PerlJam: ok - many thx - will keep you informed - have a nice day & AFK -; | 19:41 | |
19:42
chenryn left
|
|||
PerlJam | jdurand_: good luck! | 19:42 | |
dalek | blets: 19430b6 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt: explaining better strings and action methods |
19:44 | |
19:44
ventica2 left
|
|||
rurban | I see, only 1 sec faster (~10%) with the jit, not 200% | 19:45 | |
FROGGS | rurban: the JIT is still at the "make it work" stage | ||
19:45
FROGGS[mobile] left
|
|||
FROGGS | jnthn: it working outside of the INIT :o) yay :o) | 19:47 | |
that means I can continue hacking | |||
jnthn | yay :) | ||
19:49
jdurand_ left
19:50
mj41 left
20:04
treehug88 left,
rurban1 joined
|
|||
masak | lizmat: pretty sure S29:332 is a fossil. | 20:14 | |
synopsebot | Link: perlcabal.org/syn/S29.html#line_332 | ||
masak | pmichaud: we're staying at the hotelexposofia.com/ | 20:15 | |
lizmat | masak: jnthn indicated earlier that the *@protos are still needed | ||
masak | lizmat: yes, but that's unrelated to the repr, which is, um, depr. | ||
pmichaud: better book soon -- they made it seem like they were running out of rooms. | 20:16 | ||
lizmat | so what's the use of the *@protos then? | ||
masak | pmichaud: we just emailed them at [email@hidden.address] | ||
lizmat: that's the thing where you give superclasses attribute values. | |||
20:17
brrt joined
|
|||
masak | lizmat: like Derviving.new( Base { :foo(42) } ) | 20:17 | |
I *think* that's the syntax. | |||
with or sans the space after 'Base'. | 20:18 | ||
20:18
Mouq joined
|
|||
masak | I've never used it in actual code. | 20:18 | |
20:22
jnap1 joined,
jnap left
20:23
kurahaupo left,
kurahaupo joined
|
|||
masak | m: class Animal { has $.blood; has $.legs }; class Dog is Animal { has $.name }; say .name, " ", .blood, " ", .legs given my $pet = Dog.new( :name<Fido>, Animal{ :blood<warm>, :legs(4) } ) # example from S12:871 | 20:24 | |
synopsebot | Link: perlcabal.org/syn/S12.html#line_871 | ||
camelia | rakudo-moar e822cc: OUTPUT«Default constructor for 'Dog' only takes named arguments in method new at src/gen/m-CORE.setting:818 in block at /tmp/MrXZ5CxSrj:1» | ||
masak | oh, that's a pity. | ||
Rakudo is not to spec on this one. | 20:25 | ||
m: class Animal { has $.blood; has $.legs }; class Dog is Animal { has $.name }; say .name, " ", .blood, " ", .legs given my $pet = Dog.new( :name<Fido>, :blood<warm>, :legs(4) ) # most of the time, you can to this, though | 20:27 | ||
camelia | rakudo-moar e822cc: OUTPUT«Fido warm 4» | ||
masak | class inheritance is overrated ;) | ||
20:28
virtualsue left,
virtualsue joined,
ventica2 joined
|
|||
jnthn | masak: Ain't it just... :) | 20:30 | |
lizmat | S15:93 and S29:372 seem to contradict each other | 20:35 | |
synopsebot | Link: perlcabal.org/syn/S15.html#line_93 | ||
lizmat | graphemes consisting of multiple code points without a composed codepoint are < 0 in the first, and larger than 0x10ffff in S29:372 | 20:36 | |
synopsebot | Link: perlcabal.org/syn/S29.html#line_372 | ||
lizmat | I guess the <0 interpretation is the correct one? | 20:37 | |
20:38
chenryn joined
|
|||
lue | lizmat: yeah, I recall TimToady telling me that negative numbers were better than hoping Unicode will never change their policy on the upper bound. | 20:39 | |
20:40
pecastro joined,
cooper__ left
20:41
cooper__ joined
|
|||
jnthn has it as negative too | 20:41 | ||
masak has it that way three | |||
dalek | ecs: aa6f243 | (Elizabeth Mattijsen)++ | S29-functions.pod: Unprecomposed graphemes are < 0, not > 0x10ffff |
20:42 | |
20:43
chenryn left
|
|||
lue | Also, a negative sign acts as a nice visual cue for "is this Unicode?" :) | 20:44 | |
20:52
kaare_ left
|
|||
kurahaupo | isn't 0x10ffff the limit of what can be represented in UTF16 (with surrogates)? While it's true that the unicode consortium *could* increase the limit, it'd require every Java installation to be fixed first | 20:53 | |
20:56
ventica2 left
|
|||
lue | kurahaupo: yep, but I wouldn't totally discount the possibility that someday the consortium gets to its senses and invents a 16-bit version of UTF-8, like they should've in the first place :) | 20:56 | |
lizmat | r: class A { method a() is export { say "a" } }; A.new.a # is export on a method, what does it mean ? | 21:01 | |
camelia | rakudo-{parrot,jvm,moar} 0c42c1: OUTPUT«a» | ||
21:02
cognome_ left,
cognome joined
|
|||
PerlJam | lizmat: S12:1383 | 21:03 | |
synopsebot | Link: perlcabal.org/syn/S12.html#line_1383 | ||
21:06
virtualsue left
21:07
rurban1 left
|
|||
kurahaupo | lue: a bit hard to see where they'd put it. perhaps the upper surrogate block could be cut in half, then the upper of that cut again, etc | 21:11 | |
lue | kurahaupo: yeah, it would be interesting to pull off. In any case, you can think of it as using all 32-bits numbers that are ≥ 0x8000_0000 if you like :P (at least I think the idea is to use 32-bit numbers...) | 21:13 | |
[Coke] | Anyone here going to the dancer con? | 21:14 | |
it's a 2-3 hour drive for me, would definitely show up to hack. | |||
21:15
Rotwang left
|
|||
dalek | ecs: a801495 | (Elizabeth Mattijsen)++ | S11-modules.pod: Hint a bit at "is export" for methods |
21:17 | |
ecs: ce07358 | (Elizabeth Mattijsen)++ | S29-functions.pod: Some cleanup/additions to S29 |
|||
21:17
rurban1 joined
|
|||
[Coke] | lizmat: any feedback on the "is cached" test that's trying to verify that the caching is happening? | 21:17 | |
I imagine the best thing is to fix rakudo-jvm so it really does cache and leave the test as a hopeful one. | 21:18 | ||
lizmat | hmmm... I wasn't aware it doesn't work on jvm | 21:21 | |
no, I have no feedback :-( | 21:24 | ||
21:24
mr-foobar left
21:25
dmol joined
|
|||
lizmat | on another note: S29:234 Shouldn't that be called EVALfile or EVALFILE rather than evalfile ? | 21:25 | |
synopsebot | Link: perlcabal.org/syn/S29.html#line_234 | ||
lizmat | also: this seems like LHF | 21:26 | |
PerlJam | why would we even have evalfile instead of using something like EVAL(slurp($filename)) ? | 21:30 | |
lue | EVALFILE is less awkward than EVALfile to me | 21:31 | |
jnthn | EVALFILE feels a bit low-wattage... | ||
Given EVAL slurp $file is so easy :) | 21:32 | ||
PerlJam | lue: they both seem awkward to me :) | ||
lue | jnthn: agreed. Even better, one could do sub EVALFILE($fn) { EVAL slurp $fn } if they need it :) | 21:33 | |
PerlJam | The only advantage that I can currently imagine to having EVAL-file($filename) would be if it *didn't* slurp, but rather read the file piece-wise to limit the amount of RAM needed all at once. | 21:35 | |
japhb | There's another benefit: Being able to report errors as being in the actual file, rather than inside a string. | 21:37 | |
PerlJam | (oh, and EVAL-file felt quite natural for me to type just then. If it's going to stick around, I prefer that name :-) | ||
japhb++ excellent point. | |||
lue | PerlJam: this'd be the one place where you can't really do that, unless you want to force people to rearrange their declarations. | ||
dalek | ecs: 8b6d0bb | (Elizabeth Mattijsen)++ | S29-functions.pod: Elaborate a bit on exit, END blocks and threads |
||
PerlJam | lue: eh? With our handy, future, streaming grammars, we can do anything :) | 21:38 | |
21:39
chenryn joined
|
|||
lizmat | also: how different is evalfile from require ? | 21:43 | |
21:44
chenryn left
|
|||
lizmat | evalfile feels a bit like a fossil | 21:44 | |
21:46
gfldex left
|
|||
PerlJam | does require let you twiddle which language is being parsed? | 21:46 | |
21:48
pyrimidine left
|
|||
dalek | ecs: b3fceb8 | (Elizabeth Mattijsen)++ | S29-functions.pod: lock() is now Lock.new and its methods |
21:49 | |
lizmat | PerlJam: no, so that could be a use case for 'evalfile' ? | 21:51 | |
(or whatever we call it) | |||
PerlJam | could be. | 21:52 | |
21:55
rurban1 left
22:03
lustlife left
|
|||
masak | 'night, #perl6 | 22:05 | |
lue | ♞ masak o/ | 22:06 | |
masak | ♘, lue | ||
lue | :) | ||
lizmat | night masak | 22:07 | |
22:07
spider-mario left
22:12
ventica2 joined
|
|||
lizmat gets some sleep& | 22:18 | ||
lue | ♞ lizmat o/ | 22:20 | |
brrt | o/ all | 22:21 | |
22:21
brrt left
22:22
treehug88 joined
22:27
SevenWolf left
22:34
Mouq left
22:38
raiph left,
dmol left
22:40
chenryn joined
22:42
raiph joined
22:45
chenryn left
22:47
ventica2 left
22:49
pecastro left
22:50
kurahaupo left
22:52
mr-foobar joined
22:54
mr-foobar left
22:55
mr-foobar joined
23:13
treehug88 left
23:16
ajr_ left
23:18
raiph left
23:19
BenGoldberg joined
23:30
anaeem1_ left
23:34
jnap1 left
23:35
iarna left
23:40
chenryn joined
23:45
chenryn left
23:48
araujo left
23:49
araujo joined
23:52
rurban1 joined
23:55
xenoterracide joined
|