»ö« 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. |
|||
00:03
BenGoldberg joined
00:05
rurban1 left
00:06
rurban1 joined,
rurban1 left
00:08
thou left
|
|||
Mouq | m: ∅ | 00:10 | |
camelia | rakudo-moar b20535: OUTPUT«===SORRY!=== Error while compiling /tmp/EFrtRZey8nBogus statementat /tmp/EFrtRZey8n:1------> <BOL>⏏∅ expecting any of: statement list prefix or term prefix or meta-prefix» | ||
Mouq | std: ∅ | ||
camelia | std 0f2049c: OUTPUT«===SORRY!===Bogus statement at /tmp/gvyk70ZGrh line 1:------> <BOL>⏏∅Parse failedFAILED 00:01 122m» | ||
Mouq is confused | |||
00:17
Mouq left
|
|||
BenGoldberg | Totally bogus! :) | 00:18 | |
m: ∅.say | 00:19 | ||
camelia | rakudo-moar b20535: OUTPUT«===SORRY!=== Error while compiling /tmp/a7XqidXTEDBogus statementat /tmp/a7XqidXTED:1------> <BOL>⏏∅.say expecting any of: statement list prefix or term prefix or meta-pr…» | ||
BenGoldberg | m: say (∅) | ||
camelia | rakudo-moar b20535: OUTPUT«===SORRY!=== Error while compiling /tmp/hNkm3_e8i6Bogus statementat /tmp/hNkm3_e8i6:1------> say (⏏∅) expecting any of: semicolon list prefix or term prefix or meta-prefi…» | ||
BenGoldberg | m: say q∅bogus!∅ | ||
camelia | rakudo-moar b20535: OUTPUT«bogus!» | ||
00:20
atroxaper joined
00:21
ajr_ left
|
|||
TimToady | m: constant ∅ = set; say ∅ | 00:22 | |
camelia | rakudo-moar b20535: OUTPUT«===SORRY!=== Error while compiling /tmp/xYaaK0ZhA4Missing initializer on constant declarationat /tmp/xYaaK0ZhA4:1------> constant ⏏∅ = set; say ∅ expecting any of: statement list …» | ||
00:23
Psyche^ joined
|
|||
TimToady | m: constant term:<∅> = set; say ∅ | 00:23 | |
camelia | rakudo-moar b20535: OUTPUT«===SORRY!=== Error while compiling /tmp/0Fv7nKlfNaTwo terms in a rowat /tmp/0Fv7nKlfNa:1------> constant term:<∅> = set; say ⏏∅ expecting any of: argument list prefix or term …» | ||
TimToady | m: my \term:<∅> = set; say ∅ | ||
camelia | rakudo-moar b20535: OUTPUT«===SORRY!=== Error while compiling /tmp/fb5Ud0qk3sTerm definition requires an initializerat /tmp/fb5Ud0qk3s:1------> my \term⏏:<∅> = set; say ∅ expecting any of: scoped declarator» | ||
TimToady | std: my \term:<∅> = set; say ∅ | 00:24 | |
camelia | std 0f2049c: OUTPUT«===SORRY!===The 'set' listop may not be called without arguments (please use () or whitespace to clarify) at /tmp/crwVzpWW6Y line 1:------> my \term:<∅> = set⏏; say ∅Check failedFAILED 00:01 126m» | ||
TimToady | std: my \term:<∅> = set(); say ∅ | ||
camelia | std 0f2049c: OUTPUT«ok 00:01 126m» | ||
TimToady | m: my \term:<∅> = set(); say ∅ | ||
camelia | rakudo-moar b20535: OUTPUT«===SORRY!=== Error while compiling /tmp/0ffzozuPIITerm definition requires an initializerat /tmp/0ffzozuPII:1------> my \term⏏:<∅> = set(); say ∅ expecting any of: scoped declarator» | ||
00:24
atroxaper left
|
|||
TimToady | std: constant term:<∅> = set(); say ∅ | 00:24 | |
camelia | std 0f2049c: OUTPUT«ok 00:01 126m» | ||
TimToady | m: sub term:<∅> { set() }; say ∅ | 00:25 | |
camelia | rakudo-moar b20535: OUTPUT«===SORRY!=== Error while compiling /tmp/1a5r9xNym5Two terms in a rowat /tmp/1a5r9xNym5:1------> sub term:<∅> { set() }; say ⏏∅ expecting any of: argument list prefix or term …» | ||
TimToady | when did that stop working? | 00:26 | |
or contrariwise, why is it complaining about feeding a term to say?!? | 00:27 | ||
00:28
skids left
|
|||
TimToady | m: sub term:<∅> { set() }; say 42 | 00:28 | |
camelia | rakudo-moar b20535: OUTPUT«42» | ||
TimToady | m: sub term:<es> { set() }; say es | ||
camelia | rakudo-moar b20535: OUTPUT«set()» | ||
TimToady | seems like a unicode feyl | 00:29 | |
p6: sub term:<∅> { set() }; say ∅ | 00:30 | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«set()» | ||
..rakudo-jvm b20535: OUTPUT«Unhandled exception: java.lang.RuntimeException: Missing or wrong version of dependency 'gen/jvm/stage2/QRegex.nqp' in (src/Perl6/Pod.nqp) in (src/vm/jvm/ModuleLoader.nqp:78) in load_module (src/vm/jvm/ModuleLoader.nqp:60) in (src/Perl6/A…» | |||
..rakudo-{parrot,moar} b20535: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileTwo terms in a rowat /tmp/tmpfile:1------> sub term:<∅> { set() }; say ⏏∅ expecting any of: argument list prefix or term…» | |||
TimToady | m: sub term:<§> { set() }; say § | 00:31 | |
camelia | rakudo-moar b20535: OUTPUT«set()» | ||
TimToady | hmmmmm | ||
m: say '∅'.chars | 00:32 | ||
camelia | rakudo-moar b20535: OUTPUT«1» | ||
ventica_desktop | ur thinking possibly encoding issue? | 00:36 | |
TimToady | for some reason the definition of ∅ is commented out | ||
in src/core/set_operators.pm | |||
was, but doesn't seem so | |||
m: say '§' ~~ /\w/ | 00:37 | ||
camelia | rakudo-moar b20535: OUTPUT«Nil» | ||
00:37
rurban left
|
|||
geekosaur | there was a time when rakudo's parser went insane with non-ascii in the setting, wasn't there? | 00:38 | |
TimToady | why would § work but not ∅? | ||
geekosaur | (20x slower or something like that) | ||
ventica_desktop | maybe camelia is a liberal arts major | ||
TimToady | which is why the setting uses \x2205 instead | ||
geekosaur | ah | ||
00:39
rurban joined
|
|||
geekosaur | I was wondering since I recall ∅ being around for a while, and wondered if someone commented it while trying to track down the slowness issue and forgot to uncomment, or something | 00:39 | |
TimToady | the comment seems to indicate some other issue with ACCEPTS | 00:43 | |
00:44
ventica1 left
00:48
ventica joined
|
|||
TimToady | cxreg: re irclog.perlgeek.de/perl6/2014-07-14#i_9023077 I would point out that such a ruling would disallow the standard < or > comparison ops, and that regex also contain the unbalanced assertions <( and )>, nor do « and » need to come in matched pairs in either regex or hypers | 00:53 | |
(now only 9 days behind on the backlog...) | |||
((if you guys would just quit doing stuff and talking about it, this would be a lot easier... :)) | 00:57 | ||
00:58
wtw left,
wtw joined
|
|||
raydiak | I *wish* I was only 9 days behind on the backlog :) | 00:59 | |
01:00
dayangkun joined,
jack_rabbit joined
01:02
thou joined
01:03
raiph joined
|
|||
raydiak | hrm...and I'm having a heck of a time getting htmlify to run on the docs | 01:05 | |
raiph | .tell timotimo gist.github.com/raiph/c1202f874c2477b09d1f done thru 21st, ie monday. (i think you should just do thru monday :) | 01:07 | |
yoleaux | raiph: I'll pass your message to timotimo. | ||
raiph | raydiak: have you seen irclog.perlgeek.de/perl6/2014-07-07#i_8981246 ? | 01:10 | |
01:11
nbrown joined
|
|||
raydiak | raiph: no...wonder if it's related...my errors are different | 01:11 | |
01:11
figoe left
01:12
FROGGS_ joined
|
|||
raiph | raydiak: what are you seeing? | 01:13 | |
raydiak | raiph: one gives me something quite mysterious: "Iteration past end of grapheme iterator"...the other just dies towards the end | 01:15 | |
2 different 64-bit linux machines | |||
01:15
woosley left
|
|||
raydiak | ah, I just figured the one out...apparently the process needs more than 4 gigs :P | 01:16 | |
(the one that dies towards the end) | |||
01:16
FROGGS__ left
|
|||
raiph | raydiak: did ya catch that jnthn did an overhaul of string handling on moar? | 01:16 | |
raydiak | raiph: I've been gone for about...half a year | ||
looks like I stopped in a couple times earlier this year, according to the log...but anyways, yeah, looks like I bettercatch up on news and such | 01:22 | ||
raiph | I'm really looking forward to 2014 advent calendar entries related to speed and imagining one comparing Pray speed and features as of Dec Nth 2013 with those as of Dec Nth 2014 would be perfect. :) | 01:25 | |
01:26
rindolf joined
|
|||
raiph | anyhow, gotta run, goodnight, great to see raydiak's bak | 01:26 | |
01:26
raiph left
|
|||
raydiak | that is an idea...thanks raiph, g'night! | 01:26 | |
rindolf | Hi all. | 01:27 | |
raydiak | hi rindolf | ||
rindolf | TimToady: how are you feeling? | ||
TimToady | I'm feeling fine; just can't do too much with my eyes. | 01:30 | |
wasn't allowed to read at all the first week | 01:31 | ||
they'd really prefer me not to knock my retina loose again | |||
and I'm not allowed to change altitude | |||
since I have a gas bubble in my eye, perfluoro propane, in fact | 01:32 | ||
my last bubble was sulfur hexafloride, so I'm not sure whether that's progress... | 01:33 | ||
*fluor | 01:34 | ||
well, two more fluorines, anyway, but trading sulfur for 3 carbons seems kinda mundane | 01:35 | ||
TimToady wanders off to rest his eyes | 01:40 | ||
colomon | o/ | 01:42 | |
raydiak | \o | ||
01:44
jnap left
01:45
skids joined
01:47
klapperl joined
01:50
klapperl_ left
01:52
nbrown left
01:56
thou left
|
|||
dalek | c: 1e3415f | raydiak++ | template/search_template.js: Auto-highlight first result in HTML search |
01:57 | |
01:57
silug left,
figoe joined,
perigrin joined
01:58
nbrown joined
01:59
perigrin left,
nbrown_ joined
02:03
nbrown left
02:04
nbrown_ left,
oJustDust joined
|
|||
rindolf | TimToady: bye. | 02:05 | |
raydiak: hi. | |||
02:08
vendethiel left
02:09
noganex joined,
silug joined
02:10
cognome joined
02:11
noganex_ left
02:13
oJustDust left
02:15
hoverboard joined
02:20
chenryn joined
02:21
atroxaper joined
02:23
dayangkun_ joined
02:25
nbrown joined
02:26
atroxaper left
02:27
dayangkun left
02:30
kaare_ joined
02:31
lustlife joined
02:33
nbrown left
02:41
dayangkun_ left
02:45
dayangkun joined
02:49
figoe left
02:53
figoe joined
03:08
rurban1 joined
03:09
rurban2 joined
03:12
rurban1 left
|
|||
dalek | ast/S26-WHY: 042b832 | (Rob Hoelz)++ | S26-documentation/multiline-leading.t: Fix up multi-line leading decl comment test |
04:03 | |
ast/S26-WHY: 94c9408 | (Rob Hoelz)++ | S26-documentation/multiline-trailing.t: Start on multi-line trailing decl comment test |
|||
ast/S26-WHY: 2429965 | (Rob Hoelz)++ | S26-documentation/multiline-leading.t: Test nested definitions for multiline leading |
|||
ast/S26-WHY: 4fa875e | (Rob Hoelz)++ | S26-documentation/why-leading.t: Make sure we don't have docs when we don't expect them |
|||
ast/S26-WHY: f6b14c5 | (Rob Hoelz)++ | S26-TODO: More plans |
|||
04:05
bjz left
04:11
rurban2 left
04:18
atroxaper joined
04:19
BenGoldberg left
04:20
PotatoGim left,
anaeem1_ joined,
Alina-malina left
04:23
chenryn left
04:25
hoverboard left
04:31
Alina-malina joined
04:32
chenryn joined
04:35
Alina-malina left
04:36
bcode left
04:37
Alina-malina joined
04:55
[Sno] left
04:56
skids left
04:58
atroxaper left
04:59
lue left
05:07
DrSeki is now known as FartDemon
05:10
bcode joined
05:12
rurban1 joined
05:13
jack_rabbit left
05:14
lue joined
05:16
rurban1 left
05:21
FartDemon is now known as aoseki
05:27
gfldex joined
05:34
dayangkun left
05:36
Alina-malina left,
Alina-malina joined
05:37
rurban1 joined,
Alina-malina left
05:38
Alina-malina joined,
gfldex left
05:39
dayangkun joined
05:41
rurban1 left
05:58
atroxaper joined
06:03
kaleem joined,
atroxaper left
|
|||
dalek | rl6-bench: bc258b6 | (Geoffrey Broadwell)++ | / (3 files): Add --skip-incomplete option for analyze Skips test results that have data for some compilers and not others when computing summary scores; this allows comparison of compilers that didn't all complete every test successfully. This option is defaulted on by `bench compare` and `bench history`. |
06:08 | |
06:08
rurban1 joined
06:12
rurban1 left
06:13
denis_boyun_ joined
|
|||
timotimo | ah, that'll also make nqp/rakudo comparisons interesting | 06:18 | |
yoleaux | 01:07Z <raiph> timotimo: gist.github.com/raiph/c1202f874c2477b09d1f done thru 21st, ie monday. (i think you should just do thru monday :) | ||
sergot | carlin: I'm surprised then :) | 06:28 | |
hi #perl6 o/ | |||
06:44
zakharyas joined
06:51
salv0 left
06:53
lizmat joined
06:57
[Sno] joined
07:00
darutoko joined
07:02
woolfy joined
|
|||
japhb | timotimo: Yup, that's part of the reasoning for that change. When I ran a big all-of-2014 bench run, and then found NQP was -- for every entry in the historical comparison, I decided to fix that. :-) | 07:06 | |
timotimo: Are you still doing the perl6 summaries? | |||
07:09
rurban1 joined
07:13
Ven joined,
rurban1 left
07:18
Akagi201 joined
07:25
Alina-malina left
07:27
Alina-malina joined
07:39
atroxaper joined
07:45
woolfy left
07:46
woolfy joined,
SamuraiJack__ joined
07:47
airen joined
07:48
atroxaper left
07:53
SamuraiJack__ left
07:57
lizmat left,
woolfy left
|
|||
Ven | m: sub f(*%f) { say %f.perl }; f('a' => 1) | 08:02 | |
camelia | rakudo-moar 1b2502: OUTPUT«Too many positional parameters passed; got 1 but expected 0 in sub f at /tmp/pK8uk2C46n:1 in block at /tmp/pK8uk2C46n:1» | ||
08:02
rindolf left
|
|||
Ven | m: sub f(%f) { say %f.perl }; f('a' => 1) | 08:02 | |
camelia | rakudo-moar 1b2502: OUTPUT«"a" => 1» | ||
08:02
Alina-malina left
08:05
telex left
08:06
Alina-malina joined,
telex joined
08:10
rurban1 joined
08:12
rurban2 joined
08:14
rurban1 left
08:15
dmol joined,
Alina-malina left
08:16
rurban2 left
08:24
xinming_ joined,
bjz_ joined
08:27
xinming left
08:40
chenryn left
08:41
chenryn joined
08:42
bjz_ left
08:45
fhelmberger joined
08:48
dakkar joined,
atroxaper joined
08:53
atroxaper left
|
|||
masak | good antenoon, #perl6 | 08:56 | |
08:57
dayangkun left
08:58
Alina-malina joined,
dayangkun joined
|
|||
moritz | good masaknoon, ante | 08:59 | |
masak | and a good masaknoon it is! | ||
09:00
lizmat joined
|
|||
masak | lizmat: is OSCON still going on? how is/was it? | 09:00 | |
09:00
lizmat left
|
|||
nwc10 | masak: internet says that today is the last day of OSCON. Last thing on schedule is at 1:15pm | 09:01 | |
www.oscon.com/oscon2014/public/sche...tail/35859 | |||
masak | ah, ok. | 09:02 | |
nwc10++ # now I feel slightly bad for having someone else check for me :) | |||
nwc10 | and 24 hours later Google docs still doesn't support ODF. I thought that web businesses ran at internet speed :-) | ||
masak: I knew the answer already. I just dug up the link for the exact time | |||
it seems to be Sunday -> Thursday for the first time this year | 09:03 | ||
masak | I see. | ||
TimToady: I don't think I had seen ((this solution :)) to the xkcd.com/541/ problem before -- logically, I don't like it, but esthetically I do. :) | 09:04 | ||
09:06
psch left
09:07
psch joined
|
|||
ventica | or {maybe this :)} | 09:10 | |
masak | "interesting" :) | ||
09:12
rurban1 joined
09:17
rurban1 left
|
|||
FROGGS_ | .tell lizmat in some cases you can quote or escape paths, it does not work for all build systems but we should try | 09:22 | |
yoleaux | 22 Jul 2014 23:26Z <japhb> FROGGS_: Since you used a new perl6-bench test to show the advantage of your charrange changes, can you commit and push said new test please? :-) | ||
FROGGS_: I'll pass your message to lizmat. | |||
Ven | masak: (I usually do this :).) | 09:30 | |
(and it's funny because he actually did a ted talk) | |||
masak | oh, so he did! | 09:31 | |
but about the what-if posts, it seems. | |||
Ven | Yeah, about "what if" however. | ||
FROGGS_ | .tel japhb here is the test, I'd committed it if I could make a P5 version: paste.scsys.co.uk/409315 | 09:34 | |
.tell japhb here is the test, I'd committed it if I could make a P5 version: paste.scsys.co.uk/409315 | |||
yoleaux | FROGGS_: I'll pass your message to japhb. | ||
timotimo | japhb: i'm considering skipping it this week and making a rakudo star release post instead | 09:41 | |
09:52
eternaleye left
09:53
eternaleye joined
|
|||
sergot | .seen ajs | 10:02 | |
yoleaux | I haven't seen ajs around. | ||
10:08
treehug88 joined
10:09
Alina-malina left
10:10
Alina-malina joined
10:13
rurban1 joined
10:17
kivutar joined,
rurban1 left,
atroxaper joined
10:18
lustlife left
10:19
lustlife joined,
skids joined
10:20
bjz_ joined
10:23
atroxaper left,
Mouq joined,
Alina-malina left
|
|||
Mouq | Pls break: gist.github.com/Mouq/13b4d684c58b4c6add9b | 10:23 | |
i.e. try to find cases where it has incorrect behaviour | 10:24 | ||
Actually... I wonder why :delete doesn't delete the whole array, the way I have that coded... | 10:26 | ||
Oh, nvm | |||
Ahh, it looks like :kv, :p, :k, etc. are broken. I didn't think to test them | 10:28 | ||
Though... I'm not sure exactly what exactly the behaviour of :kv etc sould be here... | 10:31 | ||
s/exactly// | |||
10:34
bjz_ left
10:38
chenryn left
|
|||
tadzik | hmm, is there anyone regularly using Panda on windows? | 10:39 | |
I'm looking at github.com/tadzik/panda/pull/91, and it surprises me that it only came up recently | 10:40 | ||
FROGGS_ | that patch looks very valid | 10:41 | |
tadzik | huh, I just merged a pandabrew PR, and until the last moment I thought it's for rakudobrew | ||
FROGGS_ | I think I had that also that it had problems with deps or build order | ||
masak | I tried to install Rakudo on Windows to duplicate this problem, but I gave up because I remembered half way that I hate installing things on Windows. | ||
tadzik | now I wonder: "people use pandabrew? It works? :o" | ||
10:42
mr-foobar left
|
|||
masak | I also approve of carlin++'s fix, and I think it should be applied. | 10:42 | |
but I would prefer if there were a long-term solution for this in IO::Path itself. | 10:43 | ||
tadzik | agreed | ||
on both parts | |||
colomon | +1 | ||
masak | IO::Path should be dealing with platform-dependent path separators. | ||
FROGGS_ | well, at least some stuff is normalized to forward slashes | ||
tadzik | but, does it need to be <$slash>, not just $slash? | ||
masak | tadzik: <$slash> is only if it's a string. | ||
this is a regex. | |||
tadzik | aha | ||
indeed | 10:44 | ||
dalek | nda: ff45e43 | Carlin++ | lib/Panda/Builder.pm: Module paths contain backslashes on Windows This should allow panda to build/install on Windows. Currently the required replacements are not done on Windows paths. This causes panda to not work out the dependencies properly and thus not compile the modules in the right order. |
||
nda: 3f8d8b3 | tadzik++ | lib/Panda/Builder.pm: Merge pull request #91 from carbin/master Module paths contain backslashes on Windows |
|||
FROGGS_ | <$slash> is like evaling a string to a regex | ||
10:45
Ven left
|
|||
FROGGS_ | m: my $reg = /\w+/; say "abc" ~~ /$reg/ | 10:45 | |
10:45
davercc left
|
|||
camelia | rakudo-moar 1b2502: OUTPUT«「abc」» | 10:45 | |
10:49
brrt joined
10:52
atroxaper joined
11:00
chenryn joined
11:14
rurban1 joined
|
|||
carlin | re: panda on Windows, I was trying to start using rakudo at $dayjob when I came across that problem and was also surprised that it didn't work on Windows | 11:17 | |
not all modules will break from being compiled in the wrong order though, so it's possible that's why it wasn't caught earlier | |||
nwc10 | hackathon reminder: act.useperl.at/apw2014/talks | ||
sign up! sign up! Send no money now. act.useperl.at/apw2014/stats | 11:18 | ||
11:18
rurban1 left
11:20
figoe left
|
|||
carlin | ( and the error messages caused by wrong-order compiliation made me think it was a moar problem ) | 11:21 | |
11:22
atroxaper left
11:23
atroxaper_ joined
11:24
brrt left
|
|||
Mouq | Hmm... Moar dies with Stage parse : moar(50920,0x7fff77cde310) malloc: *** error for object 0x7fd4cb72cbe0: pointer being freed was not allocated when I use this patch on Rakudo: gist.github.com/Mouq/4d320515a1a718a75b22 | 11:27 | |
11:27
atroxaper_ left,
salv0 joined
|
|||
Mouq | It's late now for me, but if no one picks it up, I try to look at it tomorrow | 11:27 | |
\o | 11:28 | ||
11:28
Mouq left
|
|||
carlin | if you have Foo.pm6 that `use Bar.pm6` and try to compile it, rakudo whinges that you have to compile its deps first | 11:30 | |
bit if it's `use Bar::Baz` moar will happily compile it without Bar/Baz.pm6 being compile first | |||
11:32
pochi left
11:35
pochi joined
11:41
rurban1 joined
11:42
Ven joined
|
|||
Ven | masak: we can't return a string from macro atm, can we ? | 11:43 | |
11:43
Alina-malina joined
11:44
chenryn left
|
|||
Ven | ( I'm reallyy just trying to do something like github.com/manastech/crystal/commi...e1f3049R73 ) | 11:45 | |
11:46
yakudza left
11:47
skids left
11:51
prevost joined
11:53
ggoebel111119 left
11:54
anaeem1_ left
|
|||
masak | Ven: can't return a string, and -- I keep repeating until, hopefully, I believe it myself -- not my department :) | 11:54 | |
I'm the guy who does AST macros, thank you very much. | |||
Ven | well, how can I build AST nodes ? | 11:55 | |
masak | quasi {} | 11:56 | |
I know that's not a complete answer, though. I'd be happy to map out a nice API with someone for building AST nodes. | |||
kind of a combinator library. | |||
12:00
yakudza joined
12:05
prevost left
|
|||
Ven | masak: well, how I can do a macro like `has-fields('a', 'b', 'c')` that does `has $.a; has $.b; has $.c;` ? | 12:08 | |
masak | well, think about what that means. | ||
m: has $.a | |||
camelia | rakudo-moar 1b2502: OUTPUT«===SORRY!=== Error while compiling /tmp/suOQAaG0QtYou cannot declare attribute '$.a' here; maybe you'd like a class or a role?at /tmp/suOQAaG0Qt:1------> has $.a⏏<EOL> expecting any of: scoped…» | ||
betterworld | can't you somehow make calls like QAST::Op.new() accessible from macros, in order to build AST nodes? | ||
masak | betterworld: I don't want to tie macros to QAST, necessarily. | ||
betterworld: QAST is an implementation detail of the Rakudo line of compilers. | 12:09 | ||
Ven: anyway, as I was beginning to say, | |||
Ven: the quasi environment would need to suppress certain "environmental checks" such as the one you see in that eval. | 12:10 | ||
Ven: that's all planned for Q4. it's a rather big job, but I think it's possible. | |||
er, D4* | |||
see news.perlfoundation.org/2011/09/hag...mplem.html | 12:11 | ||
[Coke] | are we using american english for the specs? (just saw some stuff get changed as "typos", but it could have just been british)( | 12:14 | |
masak | we are definitely using American English for the spec. | ||
moritz | Britsh Typous | 12:15 | |
masak | ==SOURRY== | 12:16 | |
carlin | ==Very sorry, old chap== | 12:18 | |
Jolly good show, but we have some potential difficulties on line 1 | |||
Ven | masak: you got D1 done, right ? | ||
12:19
jnap joined
|
|||
moritz | masak: did you mean, === EXCUSE ME === ? | 12:20 | |
masak | Ven: D1 and D2. | 12:21 | |
12:21
jnap left
|
|||
Ven | masak: oh, splicing is like {{{ }}} ? | 12:21 | |
masak | aye. | ||
the syntax everyone loves to hate :> | 12:22 | ||
hoelzro | morning #perl6 | ||
masak | hoelzro! \o/ | ||
hoelzro | ahoy masak | 12:24 | |
12:24
kivutar left
|
|||
Ven | masak: I don't love to hate it, I just can't understand what it does / is supposed to do | 12:24 | |
masak | Ven: I'd happily explain, but I don't know what you already know. | 12:25 | |
hoelzro | I remember hearing a while ago that Str would have a way of counting graphemes; is that NYI? | 12:26 | |
12:26
jnap joined
|
|||
masak | hoelzro: yes, it's NYI. | 12:26 | |
hoelzro | =/ | ||
...would that be hard to do? | |||
cognominal | masak, for people reading the backlog, suppose he does not know anything :) | ||
masak | ok. | 12:27 | |
hoelzro | a naive impl could walk the chars, counting which ones have the correct property | ||
masak | quasi splicing is the code equivalent of string interpolation. | ||
hoelzro | or is that overly naive =P | ||
moritz | hoelzro: well, it'd be very slow | ||
masak | that is "Look, interpolation: $string" is very similar to quasi { say "Look, splicing: ", {{{$macro_param}}} } | 12:28 | |
hoelzro | true | ||
masak | cognominal: does that make sense? | ||
hoelzro | I figured that having something to start with would be better than nothing | ||
cognominal | good analogy I think. Not sure where it goes when you follow it through, though. | ||
moritz | hoelzro: if it makes all string operations noticably slower, it'd be a step back for all rakudo users | 12:29 | |
masak | cognominal: well, it breaks down, but in interesting ways. | ||
cognominal: a Str value is a single, unchanging value. so, in a sense, is an AST. | |||
cognominal: but the difference is that the AST goes on to be *interpreted*, as part of running the program. and it can contain variables, loops, etc. so it ends up feeling very dynamic. | |||
moritz | but an AST implicitly carries context around | ||
masak | that, too. | 12:30 | |
in that sense, it's more like a function closure. | |||
hoelzro | it would make *all* operations slower? why's that? | ||
moritz | hoelzro: I wrote "*if* it makes..." | ||
hoelzro | I think I don't understand the implication of the implementation | ||
oh, I hadn't seen that | |||
Parse Error: ENOTENOUGHCOFEE | |||
==SORRY== | 12:31 | ||
moritz | no problem | ||
hoelzro: the trouble is, things should be consistent | |||
hoelzro: so if regex matching works on the grapheme level, everything must work on the grapheme level | |||
like .chars, .substr etc. | |||
Ven | masak: sorry, pretending to be working, I'll re-check the blogpost about them ;) | ||
hoelzro | ooooo | 12:32 | |
masak | Ven: sure thing. | ||
hoelzro | moritz: ...do regexes currently work on a grapheme level? | ||
moritz | hoelzro: nope | ||
hoelzro | ok, that's kinda what I thought | ||
I was thinking of just adding a .graphemes method to Str | |||
Ven | what I don't grasp is that variables passed/outside the quasi are available as `$foo` directly and not `{{{ $foo }}}` | 12:33 | |
moritz | so, to make things consistent, they must be implemented on the level below the nqp ops | ||
(that is, moarvm/parrot/JVM interop land) | |||
Ven | actually, no : stuff outside the quasi is available as `$foo` and the params are available as `{{{ $foo }}}` ? | ||
masak | Ven: both are available in both forms. | ||
Ven | wat | ||
masak | Ven: {{{ }}} just means "it's an AST, insert it *as code* here" | 12:34 | |
moritz | Ven: {{{ ... }}} just means "use it as an AST, intesert it here" | ||
masak | moritz: spooky :) | ||
moritz | just like + means "use it as a number, add it here" | ||
masak: ... even though we haven't seen each other for nearly a year now | |||
Ven | while no {{{ }}} means ? | ||
moritz | whatever a normal variable access means | ||
masak | moritz: quantum entanglement. | ||
hoelzro | moritz: so you think the right way to do it is to use .chars to count graphemes instead of having a .graphemes method? | 12:35 | |
Ven | m: macro f($a) { quasi { say $a } }; sub a { "bar" }; f("a") | ||
camelia | rakudo-moar 1b2502: OUTPUT«AST.new()» | ||
moritz | hoelzro: the real question is, how do you interpret integers passed to .substr ? | ||
hoelzro | as the regex, or the replacement? | ||
moritz | hoelzro: substr doesn't take a regex :-) | 12:36 | |
12:36
kivutar joined
|
|||
hoelzro | oh, substR | 12:36 | |
heh | |||
oh | |||
well, I would interpret it as codepoints | |||
moritz | kill -SIGCOFFEE, hoelzro | ||
erm, s/,// | |||
masak .oO( moritz, in the billiard room, with the coffee ) | 12:37 | ||
hoelzro | wrong answer? =P | ||
moritz | hoelzro: not a wrong answer for a first-step implementation | 12:38 | |
masak | moritz: by the way, I read a category theory joke the other day: "A comathematician is a device for turning cotheorems into ffee." | ||
moritz | hoelzro: but, in the long run, the default mode must be graph | ||
hoelzro | oh, really? I hadn't realized that | ||
12:39
kivutar left
|
|||
hoelzro | I always thought codepoints were intended to be the default | 12:39 | |
moritz | masak: lol | ||
hoelzro: that would be far too easy :-) | |||
hoelzro | haha | ||
so...do non-printable characters count as graphemes? | 12:40 | ||
FROGGS_ | everything that looks like one thing is a grapheme | 12:42 | |
masak | but non-printable characters kind of look like zero things. | 12:44 | |
Ven | m: macro f { my $s = "a"; quasi { say $s } } ; f; f; | ||
camelia | rakudo-moar 1b2502: OUTPUT«aa» | ||
Ven | That's really WAT-y. Either I have ASTs outside the quasi, either I don't. Having "both" feels weird. | 12:45 | |
masak | Ven: right. if it's not an AST, you don't need to de-AST it with a {{{ .. }}} | ||
Ven | well, it's pretty useless to print an AST. | ||
masak | Ven: no, it's by design. I don't see anything weird about it. | ||
Ven | I'd really like being able to give a string to a macro and have it create functions based on that name, etc. | ||
masak | noted. | ||
you're not the first. | |||
Ven | That's like, the most basic thing I expect from macros, I think. It's like that I've started liking them | ||
masak | I'm glad you like macros. :) | 12:46 | |
FROGGS_ | ahh non-printable... somehow I was thinking of whitespace | ||
hoelzro | m: my @e = [1, 2], [3, 4]; say @e>>.[0] | ||
camelia | rakudo-moar 1b2502: OUTPUT«Cannot find method 'postcircumfix:<( )>' in sub METAOP_HYPER_CALL at src/gen/m-CORE.setting:17543 in block at /tmp/lXKX4Mzx2L:1» | ||
hoelzro | should that work? ^ | ||
masak | FROGGS_: whitespace also looks like zero things, but in a different way :) | ||
12:47
guru joined
|
|||
masak | m: my @e = [1, 2], [3, 4]; say @e>>[0] | 12:47 | |
camelia | rakudo-moar 1b2502: OUTPUT«1 3» | ||
12:47
guru is now known as Guest50886
|
|||
masak | hoelzro: I don't know. can you find support for it in the spec? | 12:47 | |
12:47
Guest50886 is now known as ajr_
|
|||
hoelzro | well, this works: | 12:47 | |
m: my @e = 1, 2, 3; say @e.[0] | |||
camelia | rakudo-moar 1b2502: OUTPUT«1» | 12:48 | |
hoelzro | so I figured .[$idx] "just works" | ||
but *that* could be the bug | |||
Ven | masak: oh, I love macros. But I agree with that you said -- they're not currently very useful in Perl 6 :) | 12:49 | |
But as a racket fan (and somewhat a clojurer), I absolutely love macros. | |||
masak | I'm eager to give Perl 6 really good macros. it's fine if we steal/borrow ideas from other languages. | 12:50 | |
but at the same time, they need to fit into the Perl 6 model of thinking. | |||
TimToady's idea about slang macros yesterday made me a bit hopeful. it sounds like the right thing to try. | |||
it *may* solve a lot of design hurdles we've hit with the current design. | 12:51 | ||
timotimo | pastebin.com/dWRXGcAF - someone's trying to install moarvm on gentoo and it seems to be looking for stuff in the temporary build directory it's being compiled in | 12:52 | |
sergot | m: my @a = 1, 2, 3; for @a -> $a { @a.push: 100; last if $a == 100; } | ||
camelia | ( no output ) | ||
sergot | m: my @a = 1, 2, 3; for @a -> $a { @a.push: 100; last if $a == 100; say $a; } | ||
camelia | rakudo-moar 1b2502: OUTPUT«123» | ||
sergot | m: my @a = 1, 2, 3; for @a -> $a { @a.push: 100; say $a; } | 12:53 | |
camelia | rakudo-moar 1b2502: OUTPUT«123» | ||
sergot | hm | ||
FROGGS_ | timotimo: that looks like a failed packaging attempt, looks at that path: moarvm-2014.07/image/usr/languages/perl6/lib | ||
sergot | m: my @a = 1, 2, 3; while my $a = @a.shift { @a.push: 100; say $a; } | ||
masak | sergot: modifying a thing you're iterating over is asking for trouble. | 12:54 | |
camelia | rakudo-moar 1b2502: OUTPUT«(timeout)1231001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001…» | ||
masak | sergot: if nothing else, you're introducing doubt in the *reader* as to whether you're iterating over the original thing or the modified thing. | ||
sergot: so, in a word, don't ;) | |||
Ven | masak: I'm going to repeat myself, but -- crystal's macros are thousands of times more powerful than text-based macros | ||
sergot | masak: I know but I want to have some troubles! (in this case only) :) | ||
masak | sergot: then carry on. :) | 12:55 | |
12:55
lelf joined
|
|||
FROGGS_ | the behaviour is pretty correct though | 12:55 | |
masak | aye. | ||
Ven: I tried searching the irclogs for "Ven", "crystal", but failed utterly. | 12:56 | ||
Ven: searching the web for "crystal macros" also failed. | |||
Ven: do you have a link for me? | |||
sergot | I'm writing a crawler (to test HTTP::userAgent), which should have an endless loop | 12:57 | |
masak | aha, a queue, eh? | ||
then name your array @queue, and use .shift and .push explicitly. :) | |||
sergot | so i iterate over an array and push there next urls downloaded from current requesting site | ||
Ven | masak: well, maybe "vendethiel", but I just linked a commit showing how they were earlier | 12:58 | |
tadzik | sergot: I'm pretty sure I wrote similar loops and they worked fine | ||
Ven | masak: github.com/manastech/crystal/blob/...ize.cr#L70 | ||
tadzik | maybe even File::Find does that | ||
Ven | they're like templates, they have access to const variables/globals, can do loops, etc | 12:59 | |
tadzik | github.com/tadzik/File-Find/blob/m...ind.pm#L36 indeed | ||
masak | Ven: thank you. | ||
Ven: looks like a preprocessor thing. | 13:00 | ||
Ven | masak: "they have access to const variables/globals" | 13:01 | |
(also, I don't think you can do loops with cpp) | |||
masak | ok, got it. | ||
fwiw, Perl 6's Pod also has access to const variables ;) | |||
I think that crystal thing is useful as a bar to measure our own macro system against. | 13:02 | ||
Ven | (also, the code allowed inside is fully crystal | ||
It's just not some kind of other language ...) | |||
masak | right. | 13:03 | |
13:03
rurban1 left,
raiph joined
|
|||
Ven | Soo, it'd be more than happy with that kind of "preprocessor " =) | 13:03 | |
sergot | tadzik: I have just written this: github.com/sergot/http-useragent/b...crawler.p6 | ||
Ven | I don't want that much to have AST transformations (not yet :P) | ||
sergot | but I'll provide more debug info soon :) | ||
masak | Ven: I don't think I'd be happy with that kind of "preprocessor"... :) | 13:04 | |
Ven: but I have a hard time putting into words why. | |||
13:12
skids joined
|
|||
sergot | m: my $s = Set.new(1,2,2,3,3,3); | 13:13 | |
camelia | ( no output ) | ||
sergot | ym, how to ignore an exception in p6? | ||
moritz | sergot: any exception? or a specific exception? | ||
tadzik | CATCH { default { } } | ||
moritz | tadzik: easier written as try { } | ||
Ven | masak: well, I'd be interested in discussing it if you can find some time for it =). | 13:14 | |
tadzik | oh! | ||
sergot | moritz: a specific one | ||
moritz | if you want to ignore one exception type, you can say CATCH { when X::ThatException { } } | ||
Ven | In perl 6, we could have it access constants, begin time variable, modules stuff too, I think | ||
moritz | and the others get transparently re-thrown | ||
masak | Ven: *nod* | ||
Ven: would also happily discuss it at some point. | |||
sergot | moritz++ thanks | ||
masak | alas, I too am pretending to work right now. | ||
Ven | well, I'm actually *not* working because I've been asked just too fill some forms :P | 13:15 | |
Ven goes back to read masak's grant | 13:18 | ||
moritz | did you notice that 'grant' contains 'rant'? :-) | 13:23 | |
colomon | and ant | ||
masak | and gr | ||
13:30
treehug88 left
13:33
FROGGS[mobile] joined
|
|||
FROGGS[mobile] | I think I can push / a**{ $foo} / in a bit | 13:34 | |
sergot | FROGGS++ | 13:35 | |
FROGGS[mobile] | only the case where we were asked to quantify 0..0 does strange things AFAIK | 13:36 | |
13:37
rurban1 joined
|
|||
FROGGS[mobile] | and I need to test Inf | 13:37 | |
PerlJam idly wonders about / a**{*} / | 13:38 | ||
FROGGS[mobile] | fail | 13:39 | |
this would imply *..* | |||
masak | why would it imply that? | 13:40 | |
I agree it's a weird thing to write, at least as a constant. | |||
but to me a**{*} would read as a* | |||
PerlJam | I would disallow it personally. | 13:41 | |
masak | me, too, I think. | ||
moritz | to me, a**{*} reads like a compiler error :-) | 13:43 | |
13:44
chenryn joined
|
|||
sergot | m: my $a ; say $a or 1; | 13:46 | |
camelia | rakudo-moar 1b2502: OUTPUT«(Any)» | ||
sergot | m: my $a ; say $a // 1; | ||
camelia | rakudo-moar 1b2502: OUTPUT«1» | ||
masak | sergot: precedence. | ||
sergot | m: my $a ; say ($a or 1); | ||
camelia | rakudo-moar 1b2502: OUTPUT«1» | ||
masak | sergot: don't use the 'or' forms until you've studied what precedence level they're at ;) | ||
sergot | masak++ : thanks | ||
masak | sergot: personally, I use them only for failed *statements*, which is what they're for. | 13:47 | |
sergot: some people use them because they prefer words to symbols in their code. I don't do that. | |||
sergot | What do you mean by "faile statements"? | ||
masak | sergot: `open ... or die "couldn't open that thing"` | 13:48 | |
sergot | I just didn't want to write "$a.defined ?? $a !! 1" | ||
masak | sergot: then infix:<//> is for you. | ||
sergot | yeah :) | ||
masak | infix:<or> and infix:<||> both check truthiness. | 13:49 | |
infix:<//> checks definedness. | |||
sergot | masak++ | 13:50 | |
carlin | m: say ({ (1..2).pick } ... 2).munch(100); | 13:51 | |
camelia | rakudo-moar 1b2502: OUTPUT«1 1 2» | ||
carlin | m: say ({ (1..2).pick } ... 2).munch(100); | ||
camelia | rakudo-moar 1b2502: OUTPUT«2» | ||
carlin | on OpenBSD that is giving me 100 "1"s | ||
moritz | not enough entropy? | ||
masak .oO( put it down as "bad luck" ) | 13:52 | ||
:P | |||
carlin | hmm, yeah, that would explain it | 13:53 | |
moritz | carlin: if you run say join ',', (^100).roll(10) a few times (starting a new process each time), do you always get the same output? | ||
13:53
nbrown joined
13:54
btyler joined
|
|||
carlin | no, different output each time | 13:54 | |
moritz | at least that works. | ||
13:55
thou joined
|
|||
masak | but that was .roll, not .pick | 13:55 | |
moritz | but they share the same PRNG | ||
13:57
nbrown left
13:58
chenryn left
13:59
nbrown joined
|
|||
carlin | (1..2).pick is always giving 1, (1..3).pick works | 14:01 | |
moritz | off-by-one-error somewhere? | ||
14:01
chenryn joined
|
|||
moritz | m: say (1..2) xx 20 | 14:01 | |
camelia | rakudo-moar 1b2502: OUTPUT«1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2» | ||
masak | m: for ^50 { say (1..2).pick } | 14:02 | |
camelia | rakudo-moar 1b2502: OUTPUT«21211111212112221222121221211121122122121111112111» | ||
carlin | > say (1..2) xx 20 | 14:03 | |
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 | |||
> for ^50 { print (1..2).pick } | |||
11111111111111111111111111111111111111111111111111 | |||
moritz | m: say (1..2).pick xx 20 | ||
camelia | rakudo-moar 1b2502: OUTPUT«1 1 2 1 2 2 2 1 1 1 1 1 2 1 2 2 2 2 2 1» | ||
moritz | that's what I actually wanted to do | ||
carlin | > say (1..2).pick xx 20 | 14:04 | |
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 | |||
> say (1..3).pick xx 20 | |||
1 2 3 3 3 1 2 1 1 1 2 3 2 2 2 1 2 2 1 1 | |||
14:04
nbrown left
|
|||
masak | that looks submittable. | 14:04 | |
but it's only on your end...? | |||
14:05
rindolf joined
|
|||
carlin | it seems to be any .pick(n..n+1) only returns the former | 14:05 | |
> say (4..5).pick xx 20 | 14:06 | ||
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 | |||
PerlJam | carlin: what version of rakudo are you using? | ||
carlin | This is perl6 version 2014.07-28-g1b25025 built on MoarVM version 2014.07-15-gb6a4250 | ||
[Coke] | m: say ((4..5).pick xx 10000).grep({$_ eq 5}); | 14:07 | |
camelia | rakudo-moar 1b2502: OUTPUT«5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 …» | ||
masak | carlin: it would be interesting if you could extract the code from src/core/Range.pm and find out what part goes wrong. | 14:08 | |
hoelzro | could someone sanity check my PR against Rakudo, please? github.com/rakudo/rakudo/pull/296 | ||
carlin | masak: sure, I'll have a look. this is intriguing | 14:09 | |
masak | agreed. | ||
14:09
[particle] joined
|
|||
carlin | .oO (hopefully I don't just have chronic bad luck) | 14:10 | |
masak | hoelzro: um, "so you don't have to constantly add -v to prove" -- aren't you then just removing the distinction -v provides? | ||
14:11
hoverboard joined
|
|||
masak | hoelzro: assuming I get what you're doing right, I kinda like having the short output to prove by default, and switching on verbose with -v | 14:11 | |
hoelzro | masak: what I mean by that is that currently, if a test fails, you only see that *something* failed | ||
masak | ...and without -v, that's what I would expect, no? | ||
how does CPAN's test modules behave in this regard? | |||
hoelzro | I guess we differ in expectations, then =) | ||
masak | do* | ||
hoelzro | Test::More prints more verbosely than Test.pm does | ||
I based the output off of Test::More | 14:12 | ||
masak | oh, ok. | ||
then I have no complaint. | |||
hoelzro | masak: would you care to merge it? =) | 14:14 | |
masak | done. | 14:15 | |
dalek | kudo/nom: d812b71 | (Rob Hoelz)++ | lib/Test.pm: Test: make sure diag prints to standard error |
||
rakudo/nom: b71788d | (Rob Hoelz)++ | lib/Test.pm: | |||
rakudo/nom: Test: When diag'ing, don't precede blank lines with # | |||
14:15
dalek left
|
|||
PerlJam | carlin: fyi, I don't see that behavior with: This is perl6 version 2014.07-24-g1aa3b20 built on MoarVM version 2014.07-15-gb6a4250 | 14:15 | |
masak | dalek: sorry :/ | ||
hoelzro | thanks masak | ||
14:15
dalek joined,
ChanServ sets mode: +v dalek
14:19
nbrown joined
14:22
ggoebel111116 joined,
chenryn left
14:24
chenryn joined
14:30
chenryn left
14:32
figoe joined
14:43
molaf joined
14:46
jnap1 joined,
Ven left,
ajr_ left,
jnap left
14:48
guru joined,
guru is now known as Guest14832,
Guest14832 is now known as ajr_
14:52
rindolf left
14:53
treehug88 joined
14:55
mr-foobar joined
|
|||
carlin | m: my $elems = 2; say nqp::rand_I(nqp::decont($elems), Int) xx 30 | 14:56 | |
camelia | rakudo-moar 1b2502: OUTPUT«1 1 0 0 1 1 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0» | ||
carlin | > my $elems = 2; say nqp::rand_I(nqp::decont($elems), Int) xx 30 | ||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |||
now lets look at what nqp::rand_I does :) | |||
14:57
salv0 left
|
|||
masak | carlin++ | 15:01 | |
"Returns a psuedo-random bigint up to the value of the given number." -- docs/ops.markdown | 15:03 | ||
up to but not including, I'd venture. | |||
carlin: how about just `say nqp::rand_I(2, Int) xx 30` ? | 15:04 | ||
carlin | > say nqp::rand_I(2, Int) xx 30 | ||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |||
masak | carlin: also perhaps test nqp::rand_n | ||
anyone know where in NQP this op is defined? | 15:05 | ||
I only see mappings for the various VMs. | |||
15:10
denis_boyun_ left
15:13
nbrown left
15:17
brrt joined
15:19
btyler__ joined,
fhelmberger left
15:21
zakharyas left,
dayangkun left
15:22
rindolf joined,
btyler left
15:28
ajr_ left
|
|||
japhb | botsnack | 15:28 | |
yoleaux | 09:34Z <FROGGS_> japhb: here is the test, I'd committed it if I could make a P5 version: paste.scsys.co.uk/409315 | 15:29 | |
15:29
ajr joined
|
|||
japhb | FROGGS[mobile]: Ah, I understand. | 15:29 | |
15:30
ajr is now known as Guest43016,
Guest43016 is now known as ajr_
|
|||
japhb | FROGGS[mobile]: Thankfully (!) for this particular case, p5rx are unsanitary, so I'm betting with a little fiddling it can be made to work. Like generate the entire character class definition as a string and interpolate it wholesale, rather than trying to just interpolate one character into the char range. | 15:32 | |
FROGGS[mobile]: Gripping hand though is that it's OK to commit a version that lacks a language variant; someone can come back later and fill it in. And now that I default-on skipping tests that have incomplete timing data when computing summary scores, it's a no-harm choice. | 15:34 | ||
As a side note, I'm considering converting a few tests that use for loops just because they are easy (but are actually testing something else, like string processing) to use while loops instead, so that we can get better comparisons with NQP. | 15:35 | ||
15:37
hoverboard left
15:38
hoverboard joined
15:41
kaleem left
|
|||
rindolf | Hi all. | 15:41 | |
15:43
nbrown joined
15:49
brrt left
15:53
nbrown left
16:02
Rotwang joined,
cognome left,
cognominal left
16:03
cognome joined
|
|||
cxreg | TimToady: i wasn't serious about asymmetric operators, but it made me a little nauseous when I implemented one spelled "))<>((" | 16:03 | |
masak | Perl has never been about limiting the crazy you decide to inflict, on yourself or on others. | 16:05 | |
cxreg | tru dat | ||
i heard some hate spewed at scala recently over things it lets you do to yourself and others | |||
masak | one reason for that (as spelled out in some SoTO or other) is that it's not possible to tell crazy-bad from crazy-useful. | ||
ren1us | plus sometimes crazy-bad *is* crazy-useful | 16:06 | |
cxreg | many of the things sounded a lot like perl 6 features, though | ||
i think those people were just too java centric | |||
masak | ren1us: yes, that's what "it's not possible to tell" means ;) | ||
16:06
matija joined,
matija left
|
|||
masak | or, stated in another way, if you remove the abilities to do crazy-bad stuff, you also remove some crazy-useful abilities. | 16:07 | |
cxreg | does rakudo on moar have time-based supplies now? | ||
that's a pretty nice idiom | |||
timotimo | yes | ||
16:07
cognome left
|
|||
cxreg | woot | 16:08 | |
timotimo | someone apparently has to make perl6.org/compilers/features be updated | ||
cxreg | it's not that far out of date | ||
timotimo | i removed the "missing time-based" note weeks ago | ||
i mean be updated from the source | |||
cxreg | oh right | ||
masak | it usually updates automatically. | 16:09 | |
timotimo | not this time | ||
masak | if it doesn't, then the JSON might be busted. | ||
timotimo | that must be my fault, then | ||
cxreg | I feel a binge of library writing coming on | 16:10 | |
colomon | go go go go! | ||
cxreg | is there any coordination around that? | ||
timotimo | there's the "most wanted" list on github where you can announce what you're doing or what you're missing | ||
cxreg | not that duplication is *bad* but I wouldn't mind doing things that are as-yet untouched | ||
cool | 16:11 | ||
hey looking at profiling, and coming from some recent node.js, it would be *super awesome* if there was a brain-dead-simple way to get the compiler to tell you when you've pessimised some code | 16:12 | ||
v8's is awful | |||
at least last i tried anyway | 16:13 | ||
btyler__ | timotimo: the most wanted list could use some attention from people who are familiar with the state of different modules. for example, JSON::Tiny is pretty complete, right? the "most wanted" list still marks it as a maybe | ||
16:18
dwarring left
|
|||
carlin | masak: I think it's declared in the VM itself: github.com/MoarVM/MoarVM/blob/mast...rp.c#L1895 | 16:19 | |
I've looked at MVM_bigint_rand but have just gotten lost | |||
16:22
nbrown joined,
Dr_Ulti is now known as Ulti
16:24
cognominal joined,
cognome joined
16:26
denis_boyun_ joined,
[Sno] left,
nbrown left
|
|||
carlin | cancel that, started making progress agan :D | 16:27 | |
16:31
hoverboard is now known as SCREAMANIA,
SCREAMANIA is now known as hoverboard
|
|||
timotimo | btyler__: the json tiny module is very simple. one could build a performance-tuned version that doesn't use grammars | 16:32 | |
16:32
Woodi joined
|
|||
timotimo | cxreg: we have logs for things that MoarVM does, but it's far from brain-dead-simple | 16:33 | |
btyler__ | timotimo: ok, fair enough | 16:35 | |
16:36
isBEKaml_mobile joined
|
|||
carlin wishes he knew C | 16:39 | ||
16:40
dakkar left,
isBEKaml_mobile left
|
|||
timotimo | what? you use C every time you write your name! | 16:41 | |
carlin | if only it were that simple :p | 16:42 | |
16:43
jnap1 left
16:45
klapperl_ joined
16:46
Akagi201 left
16:48
klapperl left,
ajr_ left,
guru joined,
guru is now known as Guest56170,
Guest56170 is now known as ajr_
16:49
klapperl_ left
16:50
klapperl joined
16:51
ajr_ left
16:53
ajr joined,
ajr is now known as Guest15361
|
|||
dalek | kudo-star-daily: 1d003d7 | coke++ | log/ (14 files): today (automated commit) |
16:55 | |
rl6-roast-data: 735687c | coke++ | / (3 files): today (automated commit) |
|||
16:55
klapperl_ joined
|
|||
[Coke] | parrot still the only clean implementation. | 16:56 | |
16:56
klapperl left,
kaleem joined
17:01
btyler__ left
17:02
zakharyas joined,
kaleem left
17:06
kaleem joined
|
|||
masak | carlin++ # go go go! | 17:15 | |
17:15
Guest15361 left
|
|||
[Coke] | imgur.com/gallery/2C2OWwI might be of interest to this crowd. | 17:17 | |
17:18
kaleem left
|
|||
gtodd | hmm what would be step 0 of "Migrating legacy Scala/Play Framework code to Perl6" | 17:19 | |
.... something like "start using perl6 in 2014" | 17:20 | ||
anyway, there may still be 18-24 months before that document is needed ... | 17:21 | ||
17:24
Alula_ left
|
|||
masak | [Coke]: ;) | 17:27 | |
17:40
mcbrian76 joined,
Alula_ joined
17:46
Akagi201 joined
17:48
lizmat joined
17:49
mcbrian76 left
17:51
Akagi201 left
17:52
lelf left
17:55
[Sno] joined,
synthkeys2 joined
17:57
lelf joined,
synthkeys2 left
17:58
lizmat left,
Brian joined
17:59
Brian is now known as Guest25619
18:00
lizmat joined
18:04
btyler joined,
gfldex joined
18:09
dwarring joined
18:13
lelf left
18:16
lelf joined
18:17
woolfy joined
18:18
jnap joined
|
|||
hoelzro | when's the next Rakudo Star release supposed to be? it's been a while since the last... | 18:18 | |
nwc10 | I fear that the answer may be "well volunteered" | 18:19 | |
18:19
lelf left
18:20
lelf` joined,
lelf joined
|
|||
PerlJam | hoelzro: The last was april. The original plan was quarterly releases anyway, so I'd say we're back on schedule ;) | 18:20 | |
(I seem to recall that someone was looking into doing a star release, but that's just a vague memory) | 18:21 | ||
ventica | I think we need some kind of curated perl6 release... as far as I can tell, perl6 is plenty functional enough for real-world application... but devs aren't going to start adopting it until there's a subset of it that is very well-tested and stable | ||
18:22
Guest25619 left,
vendethiel joined
18:23
Brian_ joined
|
|||
PerlJam | "curated release" sounds like R* to me. | 18:23 | |
18:23
molaf left,
Ven joined
18:24
Brian_ left
18:26
zakharyas left
|
|||
ren1us | m: sub recurse($pos is rw) { $pos -= 5; if $pos >= 0 { recurse($pos); }; }; recurse(5); | 18:27 | |
camelia | rakudo-moar 4fd1fd: OUTPUT«Cannot modify an immutable Int in block at src/gen/m-CORE.setting:17323 in sub recurse at /tmp/I6dOVjIUGo:1 in block at /tmp/I6dOVjIUGo:1» | ||
ren1us | i may be wrong, but shouldn't "is rw" be allowing that to work? | ||
masak | ren1us: yes. | ||
PerlJam | ventica: Having debian/rpm/whatever packages for Rakudo go a long way towards making it available for devs to start playing with it too | 18:28 | |
masak | ren1us: but you're passing in a 5 | ||
ren1us: which is a constant. | |||
Ven | How is the syntax `f(|foo)` called ? (the `|`)? | ||
masak | Ven: "flattening"? | ||
Ven | arguments flattening ? | ||
That doesn't seem right | 18:32 | ||
well, s06 seems to use "flattening" too. | |||
PerlJam | S03:671 | ||
synopsebot | Link: perlcabal.org/syn/S03.html#line_671 | ||
18:34
denis_boyun_ left
|
|||
hoelzro | ah, ok | 18:35 | |
Ven | PerlJam, thanks. | ||
| has quite a lot of meanings in perl 6 ... even just as a prefix | |||
hoelzro | bummer that S26 stuff won't make it in =/ | ||
18:35
eternaleye left
18:36
eternaleye joined
|
|||
Ven | list of stuff ? | 18:37 | |
Ven * doesn't even remember what are semicolons useful for | |||
or maybe long arguments names, not to be considered in multi dispatch ? I don't remember correctly. | |||
PerlJam | Ven: you mean in a parameter list? | ||
Ven | PerlJam: yes | ||
PerlJam | yeah, I don't remember exactly either. But that sounds about right. | 18:38 | |
PerlJam looks at the synopses for guidance | |||
dalek | rl6-bench: f06e6d7 | (Tobias Leich)++ | microbenchmarks.pl: add tests for character ranges in regexes |
18:39 | |
FROGGS_ | japhb: I was unable to retest it, so use with caution (my SSD is full so I can't build that Perl 5 version right now) | ||
Ven | PerlJam: well, it's not very specific. Like, I know the declaration of listop uses semicolons | 18:40 | |
PerlJam | ah ... it was double semicolon that separates those parameters that participate in multi dispatch | 18:41 | |
Ven | oh yeah, double semicolon. But then, no clue of what "long paramater names" is | ||
18:44
guru joined
18:45
guru is now known as Guest71384,
Guest71384 is now known as ajr_
18:47
rindolf left
|
|||
PerlJam | um ... I think you've split the important word in two. It's "longname", not "long parameter names". Most routines have a name. For multi-dispatch, there will be routines with the same "shortname" but different "longname". The shortname would be like "foo" and the long name would be like "foo(Int)" or "foo(Str)" (assuming those two multis exist) | 18:47 | |
So, with ;; you can choose which parameters are included as part of the "longname" | |||
18:48
Akagi201 joined
18:52
Akagi201 left
|
|||
timotimo | Unicode Character 'SURROGATE PEAR;SORRY FOR LAME PUN, IT WAS...LOW HANGING FRUIT' (U+1F350) | 18:56 | |
hoelzro: avuserow is working on a Star release | 18:58 | ||
PerlJam | avuserow++ | 19:00 | |
timotimo++ | |||
Ven | PerlJam: ooh, okay. | 19:01 | |
19:01
woolfy left
19:02
darutoko left
19:05
treehug88 left
19:06
lizmat left
|
|||
hoelzro | wondeful | 19:09 | |
avuserow++ | |||
FROGGS_ | m: say 'abc' ~~ / <-['/']> / | ||
camelia | rakudo-moar 4fd1fd: OUTPUT«Potential difficulties: Repeated character (') unexpectedly found in character class at /tmp/wvuiyVfTGW:1 ------> say 'abc' ~~ / <-⏏['/']> /「a」» | ||
FROGGS_ | m: say "a'bc" ~~ / <-['/']>+ / | ||
camelia | rakudo-moar 4fd1fd: OUTPUT«Potential difficulties: Repeated character (') unexpectedly found in character class at /tmp/twM5QiBftk:1 ------> say "a'bc" ~~ / <-⏏['/']>+ /「a」» | ||
FROGGS_ | m: say "a'bc" ~~ / <-[/]>+ / | 19:10 | |
camelia | rakudo-moar 4fd1fd: OUTPUT«「a'bc」» | ||
19:11
Ven left
19:14
lelf left
|
|||
hoelzro | talking about longnames again...when would you actually use that? | 19:14 | |
I'm struggling to think of an example | |||
dalek | p/dynquant: 608ff67 | (Tobias Leich)++ | src/ (5 files): allow code block in ** quantifiers, / foo ** { $a := 42 } / In NQP the block can either provide a single item, which would be handled as foo**42, means that it must match exactly $item times. If the block provides a list [$min, $max], then the first two elems are used, like in foo**0..3. Note that the behaviour in rakudo is different, since we have Range objects there. |
19:17 | |
FROGGS_ | ohh, I should've mentioned that this is moar only yet... that was the reason it is in a branch in the first place | 19:18 | |
ren1us | okay, i've got a weird line of thought on this whole thing of not being allowed to modify params when they get passed in as a constant | 19:20 | |
19:20
Ven joined
|
|||
ren1us | m: sub b($b is rw) { $b--; }; b(5); # i see why this breaks | 19:20 | |
camelia | rakudo-moar 4fd1fd: OUTPUT«Cannot assign to an immutable value in sub postfix:<--> at src/gen/m-CORE.setting:4546 in sub b at /tmp/hSzG5oVNeZ:1 in block at /tmp/hSzG5oVNeZ:1» | ||
ren1us | m: sub b($b is rw) { $b--; }; my $var = 5; b($var); # i see why this works | ||
camelia | ( no output ) | ||
ren1us | m: sub a($a) { my $var = $a; }; sub b($b is rw) { $b--; }; b(a(5)); # why doesn't this work? | ||
camelia | rakudo-moar 4fd1fd: OUTPUT«Cannot assign to an immutable value in sub postfix:<--> at src/gen/m-CORE.setting:4546 in sub b at /tmp/Ib4J_596BI:1 in block at /tmp/Ib4J_596BI:1» | ||
ren1us | m: sub a(@a) { my @var = @a; }; sub b(@b is rw) { @b[0] = 0; }; b(a((1,2,3))); # but this does? | 19:21 | |
camelia | ( no output ) | ||
FROGGS_ | m: sub a($a) is rw { my $var = $a; }; sub b($b is rw) { $b--; }; b(a(5)); | ||
camelia | ( no output ) | ||
FROGGS_ | see? | ||
a() needs to be an lvalue sub, to speak in P5 terms | |||
ren1us | so why does it work with a list? | 19:22 | |
well parcel | |||
still fuzzy on the difference between all ten things that i consider to be practically lists | |||
FROGGS_ | even when lists are not marked as rw you can fiddle with its elements... dunno if this is a bug or feature though | 19:23 | |
ventica_desktop | FROGGS added "is rw" after the sub declaratino so that b(a(5)) can modify a(5) itself | ||
19:23
ab5tract joined
|
|||
FROGGS_ | m: my @a; a(@things) { @things[0] = 42 }; a(@a); say @a | 19:24 | |
camelia | rakudo-moar 4fd1fd: OUTPUT«===SORRY!=== Error while compiling /tmp/QNNKVm2GnAVariable '@things' is not declaredat /tmp/QNNKVm2GnA:1------> my @a; a(@things⏏) { @things[0] = 42 }; a(@a); say @a expecting any of: postfix» | ||
FROGGS_ | m: my @a; sub a(@things) { @things[0] = 42 }; a(@a); say @a | ||
camelia | rakudo-moar 4fd1fd: OUTPUT«42» | ||
ren1us | FROGGS_: m: sub b(@b is rw) { @b[0] = 0; }; b((1,2,3)); # then i assume this just pitches a fit because it's passed in as a constant? | ||
woops | |||
FROGGS_ | this is a short example of not needing 'is rw' on an array | ||
ren1us | m: sub b(@b is rw) { @b[0] = 0; }; b((1,2,3)); # then i assume this just pitches a fit because it's passed in as a constant? | ||
camelia | rakudo-moar 4fd1fd: OUTPUT«Cannot modify an immutable Int in method assign_pos at src/gen/m-CORE.setting:1764 in sub postcircumfix:<[ ]> at src/gen/m-CORE.setting:2457 in sub b at /tmp/jQ6Hxti0sh:1 in block at /tmp/jQ6Hxti0sh:1» | ||
19:24
brrt joined
|
|||
rjbs | When I say "1 == 1" at the repl, in Rakudo, I get "True". I do not get a true after a "say" presumably because something "knows" that I wanted the output, not the result of outputting it. | 19:24 | |
What governs that? | |||
FROGGS_ | that's a constant list, aye | 19:25 | |
rjbs: good question | |||
ventica_desktop | rjbs: i don't see that behavior | ||
rakudo$ ./perl6 | |||
> 1 == 1 | |||
True | |||
> say 1 == 1 | |||
True | |||
FROGGS_ | do: say 42 | 19:26 | |
you don't get a 42 *and* True | |||
but 'say 42' returns True | |||
rjbs | Just so. | ||
I have to detach and move (I'm at a conference) but am interested if there is a good answer! BRB | |||
TimToady | fwiw, I think of | as an insertion operator for parcels | ||
ventica_desktop | I mean, that's just the choice of the REPL re. what it wants to show... does it matter that much? | 19:27 | |
TimToady | it's the picture of the slit into which you insert things :) | ||
FROGGS_ | rjbs: I think the result is not evaluated if something prints to stdout | ||
rjbs: | 19:28 | ||
> sub a { $*OUT.print: "42\n" }; a() # 42 | |||
> sub a { $*ERR.print: "42\n" }; a() # 42 *and* True | |||
so stdout triggers it | |||
ventica_desktop has a philosophical problem with REPLs printing stuff out when not asked... whatever is shown seems arbitrary to me anyway | |||
FROGGS_ | ventica_desktop: that's a reason I do not use the repl | ||
-e wtf! | 19:29 | ||
:o) | |||
err, ftw actually :/ | |||
std: / foo ** { 0..Inf } / | |||
camelia | std 0f2049c: OUTPUT«ok 00:01 125m» | ||
FROGGS_ | std: / foo ** { 0..-Inf } / | ||
camelia | std 0f2049c: OUTPUT«ok 00:01 125m» | ||
FROGGS_ | std: / foo ** { Inf..-Inf } / | ||
camelia | std 0f2049c: OUTPUT«ok 00:01 125m» | ||
ventica_desktop | FROGGS_: Yep... I prefer a RE(P|)L to a REPL | ||
19:29
AndChat-188244 joined
|
|||
[Coke] | timotimo++ #SURROGATE PEAR | 19:32 | |
19:33
Ven left,
Ven joined
|
|||
[Coke] | rjbs: it's a hack I suggested that checks the position of STDOUT before and after; if anything moved, output was generated, do nothing extra. otherwise, print out the return value of the expr. | 19:34 | |
pretty sure pmichaud++ implemented it. | |||
19:34
nbrown joined
|
|||
hoelzro | that's nuts. | 19:34 | |
in a good way =) | |||
rjbs | Thanks, friends! | 19:35 | |
dalek | kudo/dynquant: b9be98c | (Tobias Leich)++ | src/ (2 files): allow code block in ** quantifiers, / foo ** { $three..$seven } / The code block in a quantifier can either provide a range object that is used for min and maximum quantity, or it provides a single numeric item that is used to match exactly that many times. |
||
colomon | \o/ | ||
that's been a blocker for ABC for *years*. | 19:36 | ||
rjbs | Is there a sane/useful "make install" from git these days? OR: I'd like to have a perl6 in my PATH. What shall I do? | 19:37 | |
FROGGS_ | *g* | ||
TimToady | I presume the code is run every time the 'foo' node is reentered from the left? | ||
hoelzro | rjbs: do you want just perl6, or the star modules too? | ||
rjbs | I don't even know /what/ I want. ;) | 19:38 | |
hoelzro | heh | ||
rjbs | TimToady: Everyone at OSCON (a) misses you and (b) is glad you're (presumably) taking it easy! | ||
FROGGS_ | rjbs: git clone github.com/rakudo/rakudo.git && perl6-m Configure.pl --gen-moar --make-install; then put the cwd/install/bin in PATH | ||
hoelzro | well, by the former I mean "just the interpreter, no real libraries" | ||
the latter includes some handy modules | |||
19:39
nbrown left
|
|||
FROGGS_ | what I pasted is the compiler only | 19:39 | |
ventica_desktop | FROGGS_++ | ||
19:40
brrt left
|
|||
FROGGS_ | TimToady: I do not understand that question :/ | 19:40 | |
TimToady | (.*?) foo ** { 1..$0.chars } bar / | 19:41 | |
is $0.chars recalculated each time the ** is re-entered? | |||
from the left, not for each iteration, of course | |||
colomon | it has to be, doesn't it? | 19:42 | |
FROGGS_ | perl6-m -e 'say "aafoobar" ~~ / (.*?) foo ** { 1..$0.chars } bar /' | 19:43 | |
「aafoobar」 | |||
0 => 「aa」 | |||
TimToady | that is, can the range depend on a value that depends on the current backtrack status of $0 | ||
19:43
Brian joined,
Brian left
|
|||
TimToady | well, that doesn't actually test it | 19:43 | |
FROGGS_ | perl6-m -e 'say "afoofoobar" ~~ / (.*?) foo ** { say $0.chars; 1..$0.chars } bar /' | 19:44 | |
1 | |||
4 | |||
「afoofoobar」 | |||
that? | |||
0 => 「afoo」 | 19:45 | ||
TimToady | seems good | ||
FROGGS_ | perl6-m -e 'say "afoofoobar" ~~ / (.*?) foo ** { say $0.chars; $0.chars } bar /' | 19:46 | |
140321「ofoobar」 0 => 「o」 | |||
pheew | |||
TimToady | oh, it's not anchored, hence the 321 | 19:48 | |
TimToady was thinking of it with ^ on the front, and was puzzled by that last one, but it seems right too | |||
FROGGS_ | when I anchor it it fails | 19:49 | |
TimToady | as it should | ||
FROGGS_ | I see: 1 4 Nil | ||
k | |||
std: my $a = 2; "foo" ~~ / o ** $a / | 19:50 | ||
camelia | std 0f2049c: OUTPUT«Potential difficulties: Unsupported use of atom ** $a as separator; nowadays please use atom +% $a at /tmp/Qw9iGEn9Qe line 1:------> my $a = 2; "foo" ~~ / o ** $a ⏏/ok 00:01 127m» | ||
FROGGS_ | k, I'll remove a test like this from roast | 19:51 | |
TimToady | yes, it was always the intent to use {$a} for anything dynamic | ||
FROGGS_ | ohh, it is just a warning... | ||
okay | |||
TimToady | otherwise you get insanity like / o ** $foo.bar.baz(43)..$abc(rand) / | 19:53 | |
much better to encapsulate that into a curly pill | 19:54 | ||
FROGGS_ | absolutely | 19:55 | |
even that works: | |||
perl6-m -e 'say "baaabbb" ~~ /a**:!{2..4}/' # 「aaa」 | |||
perl6-m -e 'say "baaabbb" ~~ /a**:?{2..4}/' # 「aa」 | |||
TimToady | \o/ | ||
19:56
ggoebel111116 left
|
|||
TimToady | presumably /a**:?{2..4} % ','/ and such also works? | 19:56 | |
assuming a,a,a input | |||
FROGGS_ | erl6-m -e 'say "ba,a,abbb" ~~ /a**:?{2..4} % ","/' | 19:57 | |
===SORRY!=== Error while compiling -e | |||
'' many only be used immediately following a quantifier | |||
at -e:1 | |||
------> say "ba,a,abbb" ~~ /a**:?{2..4} % ","⏏/ | |||
TimToady | er... | 19:58 | |
FROGGS_ | std: "ba,a,abbb" ~~ /a**:?{2..4} % ","/ | ||
camelia | std 0f2049c: OUTPUT«ok 00:01 125m» | ||
FROGGS_ | m: "ba,a,abbb" ~~ /a ** 2..4 % ","/ | ||
camelia | ( no output ) | ||
FROGGS_ | that should be an easy fix though, because the code afterwards can handle separators | 19:59 | |
huh, right now I found two test files we don't even run... | 20:01 | ||
ahh, because of %foo= and @foo= captures | 20:02 | ||
avuserow | re star, yes, gradually working on it. I still need to send PRs to remove deprecated code from modules, and re-test. Moar is golden, Parrot had a few failures, and JVM is expected to have a few failures and does. All spectests seem happy on my 64-bit Linux box (3GB memory fwiw) | 20:08 | |
hoping to do some small fixes today/tomorrow and then be online Saturday when Europe is online to largely wrap things up :) | 20:09 | ||
[Coke] | avuserow: all spec test? I'm seeing consistent failures for moar & jvm. | 20:10 | |
FROGGS_ | avuserow++ | ||
[Coke]: he's using the 2014.07 release | |||
avuserow | MVM has one failure, IIRC JVM was okay | ||
FROGGS_ | jvm was okay? wow | ||
20:10
Brian joined
|
|||
FROGGS_ | I do not test jvm anymore, because it either fails all tests after a while or it takes the best time of a day | 20:11 | |
20:11
Brian is now known as Guest86586
|
|||
avuserow | I just ran it overnight on my old laptop which is my IRC box :) | 20:12 | |
hoelzro | avuserow: do you need help testing? I have a beefy box at home I can help with | ||
alas, it'll only be accessible tonight (going away for the weekend) | |||
avuserow | no that's okay. main problem I'm facing is that I'm in Pacific Time, and a lot of people here are asleep when I get off of work | 20:13 | |
FROGGS_ | ohh, I love it btw when I can remove all rakudo fudges from a test file :o) | ||
ventica | Since rakudo runs on JVM, Is there a Rakudo Perl6 web toy? | ||
avuserow | if I need speed, I can always install Linux on my gaming machine which is much happier :D | ||
hoelzro | avuserow: I have a similar problem =) | ||
ventica: we've discussed something like that | 20:14 | ||
FROGGS_ | ventica: not yet | ||
ventica | :\ | ||
20:14
kaare_ left
|
|||
ventica | is it due to the perf issue? i.e. not wanting to create bad first impressions of Perl6? | 20:14 | |
avuserow | hoelzro: well, then hopefully I can be around when it's a bit more useful for you and vice versa :D | ||
ventica | or just nobody got around to it yet? | ||
FROGGS_ | ventica: the latter I guess | ||
ventica | k | 20:15 | |
hoelzro | avuserow: I'm usually on IRC early (4:30 AM your time) and during work, but I'm starting to see others here later in the evening =) | ||
20:15
ab5tract left
|
|||
avuserow | ohhh, apparently my testing of the JVM is flawed :( make rakudo-spectest apparently doesn't return non-zero on failure in star? | 20:17 | |
FROGGS_ | TimToady: I found the issue about quant+sep | 20:18 | |
avuserow | so no it is not as nice as I thought -_- | ||
FROGGS_ | avuserow: it continues, aye | ||
20:19
ab5tract joined
|
|||
FROGGS_ | it also continues when it failed to build a module btw | 20:19 | |
avuserow | more to the point, my large commandlines of 'make foo && make bar' won't help tons here | ||
FROGGS_ | so you have to grep for FAIL | ||
avuserow | okay, I'll boot up a faster machine and do it interactively for the final tests | ||
and rely on scrollback for the time being :) | |||
FROGGS_ | :o) | ||
20:19
lelf` left
20:20
rurban1 left
20:21
lelf` joined
|
|||
FROGGS_ | nqp-m -e 'say( "a,a,aabbb" ~~ / a ** { [0, 5] } % "," / )' | 20:25 | |
a,a,a | |||
20:26
itz_ joined
|
|||
dalek | p/dynquant: a8da350 | (Tobias Leich)++ | src/QRegex/P6Regex/Actions.nqp: fix separator use with code block in quantifier |
20:26 | |
20:28
itz left
|
|||
FROGGS_ | okay, porting this to Parrot should be fairly easy, but it makes me shudder when thinking of jvm | 20:30 | |
20:30
AndChat-188244 left
|
|||
Ven | FROGGS_++ | 20:31 | |
20:32
itz joined
|
|||
FROGGS_ | jvm means: like 5 times more instructions where you have to takes notes what is on the stack... | 20:33 | |
5 times more instructions == 5 times more pain ** stack size | |||
20:35
itz_ left
|
|||
Ven redefined trait_mod:<is>:rw, and it hurt | 20:36 | ||
dalek | ast: 659ac13 | (David Warring [email@hidden.address] | integration/99problems-11-to-20.t: fixed/unfudged a logic error |
20:37 | |
Ven | m: macro infix:<times>(Int $n, $watisit) { quasi { for ^{{{ $n }}} { {{{ $watisit }}} } } }; 3 times say hello | 20:40 | |
camelia | rakudo-moar 4fd1fd: OUTPUT«===SORRY!=== Error while compiling /tmp/anczjZc1KwUnknown QAST node type QAST::Unquoteat /tmp/anczjZc1Kw:1------> » | ||
Ven | :P | ||
uh, oh,two parses errors and it heap corrupts | 20:43 | ||
but that must've been fixed in the recent commits. | |||
FROGGS_ | Ven: yes, at least the things that failed two days ago do work now as expected | 20:45 | |
Ven | nice :-) | 20:46 | |
jnthn | Yeah, 'fraid there was a nasty OSR-related SEGV. | ||
Ven | hehe, it's fine now, I can just git pull :-) | ||
FROGGS_ | jnthn: I am happy that you found it :o) | 20:47 | |
(I can sleep better when moar is stable) | |||
20:49
Akagi201 joined
20:52
ggoebel111116 joined
20:53
yoleaux left
20:54
Akagi201 left,
Rotwang left,
yoleaux joined,
ChanServ sets mode: +v yoleaux
21:00
skids left
|
|||
japhb_ | FROGGS: Thanks for pushing the charrange benchmarks; I'll test them myself as well | 21:00 | |
21:00
grondilu joined
|
|||
grondilu | std: grammar { rule TOP { .**2 } } | 21:00 | |
camelia | std 0f2049c: OUTPUT«ok 00:01 124m» | ||
grondilu | std: grammar { rule TOP :bytes { .**2 } } | ||
camelia | std 0f2049c: OUTPUT«ok 00:01 124m» | ||
grondilu | m: grammar { rule TOP :bytes { .**2 } } | 21:01 | |
camelia | rakudo-moar 4fd1fd: OUTPUT«===SORRY!===Cannot invoke this object (REPR: P6opaque, cs = 0)» | ||
grondilu | n: grammar { rule TOP :bytes { .**2 } } | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Colonpair traits NYI at /tmp/t27WFZ2gfG line 1:------> grammar { rule TOP :bytes ⏏{ .**2 } }Use of uninitialized value in string context at /home/p6eval/niecza/boot/lib/CORE.setting…» | ||
japhb_ | FROGGS: That's a weird work estimate ... how do you figure 'work => sub { $_[0] += int($_[0] / 2) || 1 }'? | ||
21:05
lelf` left
|
|||
Ven | >900 lines \o/. Which means next commit is the PR to learnxiny. | 21:06 | |
21:07
Ven left
21:10
FROGGS[mobile] left
21:13
Mouq joined,
Mouq left,
Mouq joined
21:16
raiph left
21:29
rurban1 joined
21:33
jnap left
21:36
nbrown joined
|
|||
jnthn | [Coke]: Please can you check the status of #122297 now; I suspect it may be fixed on latest | 21:39 | |
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=122297 | ||
21:39
denis_boyun joined
21:40
nbrown left
|
|||
Mouq | jnthn: I'm running spectest on OSX right now | 21:41 | |
21:41
brrt joined
|
|||
Mouq | So I'll check if it segfaults for me | 21:41 | |
21:46
denis_boyun left
|
|||
Mouq | jnthn: Seems to have worked fine for me | 21:47 | |
dalek | kudo/nom: 6cc8078 | Mouq++ | src/core/ (2 files): Add LoL postcircumfix candidates Though semilists don't work, so @a[0;1;0,1] is still NYI, the functionality can at least be accessed via e.g. @a[LoL.new(0, 1, $(0, 1))] |
21:49 | |
ast: 52054d8 | (David Warring [email@hidden.address] | integration/99problems-51-to-60.t: changed a few is() to is_deeply() |
|||
21:50
Akagi201 joined
21:51
brrt left
|
|||
cognominal | I wish print would return the value printed or fail. Most calls ignore what print returns so that could be optimized out in this cases. But there are case that would make life easier like just adding a print at the end of a function to print its return value and indeed still returning it. | 21:54 | |
21:54
Akagi201 left
|
|||
cognominal | is there any compelling reason to keep the current behavior? | 21:55 | |
not sure a fail value is false though :( | 21:56 | ||
21:56
avuserow left
|
|||
cognominal | r-m: sub a { fail }; say ?a, ?a.WHAT | 21:58 | |
camelia | rakudo-moar 4fd1fd: OUTPUT«FalseFalse» | ||
cognominal | oops | 21:59 | |
r-m: sub a { fail }; say ?a, a.WHAT | |||
camelia | rakudo-moar 4fd1fd: OUTPUT«False(Failure)» | ||
Mouq only notices github.com/rakudo/rakudo/pull/171 now. | 22:02 | ||
luckily, there isn't much duplicated work | 22:03 | ||
22:03
avuserow joined,
lustlife left
|
|||
timotimo | was about to say :) | 22:04 | |
it's probably not worth terribly much | |||
my pull request, that is | |||
Mouq | I think I can make @a[0,1;1] = <foo bar> DWIM. Currently (locally) it sets both to <foo> | ||
dalek | ast: b6edc5e | (David Warring [email@hidden.address] | integration/99problems-61-to-70.t: changed some more is() to is_deeply() |
||
masak | carlin: how'd it go? did you track down the rand_I weirdness? | 22:06 | |
22:07
avuserow left
|
|||
Mouq | timotimo: Why does your PR change the code in method postcirucmfix:sym<[ ]> instead of in method semilist? | 22:08 | |
And timotimo++ :) | |||
timotimo | method semilist? | 22:09 | |
lue | Huh, so you can do m:g now? I thought that was handled by m:ov and m:ex | ||
Mouq | so that <semilist>.ast always produces an AST, instead of it being a super special case | 22:10 | |
Uhm | |||
s/AST/LoL/ | |||
lol | |||
hoelzro | perl6-language would be a good place to propose additions/changes, yes? | ||
Mouq | afk for a bit | 22:13 | |
masak | hoelzro: sometimes, yes. | 22:14 | |
hoelzro | masak: sometimes? where else would be appropriate? (I'm guessing here) | ||
I don't know why, but e-mail seems like a better idea for that sort of thing | 22:15 | ||
masak | *nod* | ||
hoelzro | I guess since it kind of escapes time zones | ||
timotimo | Mouq: that was june last year. i was not good at perl6 back then :) | ||
masak | perl6-language does occasionally dig up useful responses. | ||
22:16
gfldex left
|
|||
zengargoyle wonders if R* == R + panda + Task::Star | 22:16 | ||
masak | occasionally it awakens some ancient bikeshedders, with ensuing hilarity as a result. | ||
zengargoyle: that's a good description, I think. | |||
hoelzro | ah, ok | ||
zengargoyle | modulo the R* having all modules working... | ||
masak | zengargoyle: Linux kernel : Rakudo :: Linux distribution : Rakudo Star | ||
hoelzro | masak: do you have an alternative? | ||
I mean, I could post the ideas here | |||
I know most of the regulars backlog quite a bit | 22:17 | ||
jnthn | Well, one approach is a gist and post it here. | ||
masak | hoelzro: here and p6l are the two good places I know. | ||
jnthn | And if it's not enough responses, fall back to p6l :) | ||
lue | .oO(we need a P6-powered forums.perl6.org :P) |
||
masak | what jnthn said. | ||
hoelzro | noted =) | ||
zengargoyle | and if Task::Star actually kept up to date | ||
hoelzro | thanks masak and jnthn | ||
itz | fora! </pedant> | ||
timotimo | lue: yeah, because web forums are the best thing ever! | ||
(if you have never seen mailing lists before) | |||
22:17
ventica left
|
|||
lue | Perhaps it's just me, but I don't prefer email for long threads of discussion :) | 22:18 | |
22:19
ventica_desktop left
|
|||
zengargoyle | so what's the intersection between rakudobrew and pandabrew? | 22:19 | |
itz | the p6 mailing lists seem fairly quiet compared with IRC and blogs | 22:20 | |
timotimo | that's true | ||
22:20
btyler left
|
|||
itz | I think most mailing list traffic peaked several years back | 22:20 | |
masak | oh, most definitely. | 22:21 | |
doesn't mean p6l is completely useless, of course. | |||
22:21
avuserow joined
|
|||
timotimo | answers are usually very swift | 22:22 | |
masak | for one thing, it's one reliable way to contact TheDamian ;) | ||
timotimo | as well as well thought out and written out (all in all) | ||
lue thinks thunderbird's lack of smartness around mailing lists may have something to do with his dislike of them. | |||
masak decides to write a p6l email about macros | |||
thank you, #perl6. you inspired me :) | |||
hoelzro | decommute & | 22:23 | |
itz | yeah I'm using a dumber mail client (gmail) than I used to (mutt) just due to convience | 22:24 | |
mutt and the old nntp clients threaded pretty well | |||
PerlJam | mutt++ | ||
itz | I've sunk to my all time low in bothering with Facebook's Perl Developers :) | 22:25 | |
lue | It'd be nice if I saw my responses properly intertwined, and if the various reply buttons made any (intuitive?) sense :) | ||
itz | Facebook Group that is | 22:26 | |
22:26
Guest86586 left
|
|||
itz | the web based forums don't seem to have lost that early 2000s PHP look | 22:27 | |
22:27
ventica joined,
skids joined
|
|||
lue | Hah, I just saw S99's (erroneous) definitions of TIMTOWTDI and TMTOWTDI, I'm just tempted to fix it :P | 22:28 | |
22:28
ventica_desktop joined
|
|||
Mouq | timotimo: Ohh, ok :) I thought maybe there was a good reason that I just didn't know about | 22:36 | |
22:51
robinsmidsrod left,
Akagi201 joined
22:53
robinsmidsrod joined
22:54
ajr_ left
22:55
Akagi201 left
|
|||
masak | 'night, #perl6 | 22:58 | |
Mouq | 'night masak! | 22:59 | |
Tene | 'night masak | ||
Mouq wonders if circumfix:<[ ]> and circumfix:<( )> actually want to be parsed as semilists or statementlists in STD.pm6/Grammer.pm | 23:00 | ||
lue | Mouq: I want to say "statement", if only because you can describe the structure yourself with another level of parens. I'm not an expert on S09 though. | 23:09 | |
Mouq | I think it should be statement too. I don't think (my $as; $as ~= 'a' for ^3) should produce LoL.new(Any, ('a', 'aa', 'aaa')), which is what the implication seems to be. | 23:11 | |
23:11
ggoebel111116 left
23:12
rurban1 left
23:13
cognome left,
cognominal left
|
|||
TimToady | we should only use semilist where we intend a lol-ish result | 23:14 | |
lue | Mouq: Yeah, that'd be bad :) I feel like semilists are meant to make multidim array access be not a pain; since you're unlikely to need multiple statements in @a[here], ; is a good choice for dimension separator. | ||
TimToady | circumfixes are supposed to be statements inside | ||
23:14
cognome joined
|
|||
TimToady | unlike postcircumfixes | 23:14 | |
23:14
cognome left,
cognominal joined,
cognome joined
|
|||
Mouq | Ok :) | 23:15 | |
TimToady | and if a construct wants to give semicolons yet another meaning (monads anyone? :) it would probably be yet another rule, unless we just highjack semilist for anything that treats semicolon contextually | 23:16 | |
if you squint, statementlist is kind of the IO monad, imposing sequence on side effects | 23:17 | ||
23:23
jack_rabbit joined
23:24
ggoebel111116 joined
23:25
rurban1 joined
23:30
dmol left
|
|||
TimToady | I suppose I could see a [;] as a LoL constructor, in which case we'd have to force people to use [(;)] to have statements inside | 23:30 | |
but [] is awfully useful for "array comprehensions" in its current form | 23:31 | ||
ASCII just doesn't have enough brackets... | 23:33 | ||
lue | Or perhaps we need an END OF STATEMENT character that looks an awful lot like a semicolon :P | 23:34 | |
23:35
ab5tract left
|
|||
TimToady | ⊙⨀ | 23:38 | |
⧁°⧀ | |||
timotimo | is that what your eyes look like at the moment? :O | ||
TimToady | lue earns a Bill-the-Cat award | ||
that too | |||
timotimo | ±_± | 23:40 | |
jnthn wonders how much the cat was billed... | |||
23:40
itz_ joined
|
|||
TimToady | well, in terms of looks, my right eye is redder, and the pupil is still mostly dilated after two weeks-ish | 23:40 | |
but I still just keep it shut much of the time | 23:41 | ||
since everything I see through it is very...sloshy... | |||
timotimo | well, you should look at other things than the perl6 specs | ||
lue | timotimo: I was thinking the same thing! :D | ||
TimToady | I only looked at 'em once, I swear, yer honour! | 23:42 | |
and I said sloshy, not slushy... | |||
23:43
itz left
|
|||
TimToady | my bubble is still quite a bit bigger than my puddle | 23:43 | |
but I did get a glimpse this morning of some light beams that were mostly in focus, if I looked down at exactly the right angle, so I'm hoping as the bubble shrinks and the puddle grows, I'll get more of that | 23:44 | ||
up till now though, the optics have been...slushy... | |||
in addition to sloshy | |||
timotimo | does the eye actually rebuild the fluid by itself? or is the amount of fluid just staying constant and the eye just got inflated a bit? | ||
TimToady | oh, that would be bad; you don't want pressure excursions | 23:45 | |
timotimo | OK | ||
TimToady | no, it just replaces it gradually | ||
timotimo | could have been a bit of pressure would be good to push the retina back in its place | ||
but i'm only speculating wildly | |||
TimToady | in fact, they mix air and gas (perfluoro propane in this case) such that it absorbs at the correct rate to maintain pressure | 23:46 | |
timotimo | oh, that's smart | ||
TimToady | trouble with pressure is that it kills your optic nerve, as in gluacoma | ||
*glau | |||
which I already killed a bit of my nerve, I think, though it's anyone's guess whether it was pressure related | 23:47 | ||
23:47
thou left
|
|||
timotimo | mhh :\ | 23:47 | |
TimToady | anyway, I'm still largely missing the bottom half of my macula | ||
but they hadn't done the emergency surgery, that point would be moot by now... | 23:48 | ||
[Coke] | jnthn: yup, fixed! | ||
timotimo | well, i'm glad you seem to be getting better | 23:49 | |
TimToady | feistier, anyway :) | ||
timotimo | easy to confuse :3 | ||
TimToady | looks like I'll have to miss my mom's 90th birthday though, since I'd violate altitude constraints to get there, even by the coast road | 23:50 | |
23:50
xragnar_ joined,
xragnar is now known as Guest44710,
Guest44710 left,
xragnar_ is now known as xragnar
|
|||
timotimo | sometimes hearing about medical procedures that are actually possible today make me pretty excited for what's to come when i get old and brittle | 23:50 | |
jnthn | [Coke]: yays; I trust you're closing the ticket? | ||
timotimo | (not implying you're old or brittle, i'm thinking more like in 60 years) | 23:51 | |
jnthn | This also means that the ASAN explosion nwc10++ was seeing is gone, I hope. | ||
23:51
rurban1 left
23:52
Akagi201 joined
|
|||
TimToady | the rosettacode entry for rosettacode.org/wiki/Find_palindrom...ses#Perl_6 passes now too, so jnthn++ | 23:52 | |
23:53
rurban1 joined
|
|||
TimToady | and it runs twice as fast as when I turned off inlining :) | 23:53 | |
TimToady wonders whether the JIT would make it fasterer | 23:54 | ||
I assume the JIT is still not default? | |||
timotimo | that's right, you still need to build moarvm from a branch | ||
dalek | ast: 5579f8c | coke++ | integration/99problems-51-to-60.t: unfudge 122297, passing now. jnthn++ |
||
[Coke] | jnthn: all done. | 23:55 | |
jnthn: happy to do ticket mongering if you're doing real coding stuff. :) | |||
jnthn | timotimo: Hm, did I read that right? It runs twice as fast with inlining? | 23:56 | |
oops | |||
TimToady: ^^ | |||
23:56
Akagi201 left
|
|||
jnthn | [Coke]: Well, I've not been doing a lot of that this week, that fix aside... | 23:56 | |
23:57
rurban1 left
|
|||
TimToady | well, I seem to remember it took 9 minutes before, but I might be remembering the JVM run | 23:57 | |
23:58
rurban1 joined
|
|||
TimToady | now it's 4 minutes something | 23:58 | |
jnthn | Grr, still ages... | ||
TimToady | well, it's a tough algo | ||
even in fast languages | |||
jnthn | ah, ok | ||
TimToady | I just realized I have a stupid for loop there with only one list item... | ||
jnthn notes the comment above the Java one: "This takes a while to get to the 6th one (I didn't time it precisely, but it was less than 2 hours on an i7)" | 23:59 | ||
TimToady | was X~ before, and I changed them to ~ because only the '1' in the middle can produce a ternary palindrom that will also produce a binary palindrom, for some mathematical reason |