»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:00
wolfman2_ left
00:11
snearch left
00:17
pmurias left
00:18
replore_ joined
00:23
dju left
00:26
dju joined
|
|||
dalek | odel: 67be768 | diakopter++ | lua/runtime/Runtime/ (18 files): index all 94 ops; more indexing optimization prep |
00:35 | |
00:35
dju left
00:38
dju joined
00:46
alvis joined
00:49
ggoebel joined
00:52
cognominal joined
00:55
cognominal_ left,
fridim_ left
01:02
ggoebel left
01:09
hypolin joined
01:13
risou_awy is now known as risou
|
|||
dalek | odel: 8ad222f | diakopter++ | lua/ (7 files): first indexing replacement: .STable [1] |
01:19 | |
01:28
risou is now known as risou_awy
01:31
envi_ joined
01:38
envi_ left
01:41
Guest97608 left
01:44
whiteknight joined,
whiteknight is now known as Guest68918
01:49
Guest68918 left
01:55
wolfman2000 left
02:00
lichtkind left
|
|||
dalek | odel: 6ad1c14 | diakopter++ | lua/ (6 files): FormWith |
02:13 | |
hypolin | can't install panda on fedora 15 with rakudo nom. anyone know why? | 02:14 | |
error msg: | |||
===SORRY!=== | |||
protoregexes not yet implemented at line 10, near ";\ntoken va" | |||
dalek | kudo/nom: 95371a6 | (Geoffrey Broadwell)++ | src/core/Str.pm: Substantially faster Str.trim*() In my tests: ~24% faster Str.trim-leading() ~4.5x faster Str.trim-trailing() and Str.trim() |
02:16 | |
japhb | hypolin, that's a nom regression versus the previous branch | ||
panda is blocked on JSON which is blocked on a regex regression which is blocked on pmichaud's time. | 02:17 | ||
hypolin | japhb, tks | 02:20 | |
japhb | hypolin, np | 02:21 | |
02:22
alc joined
02:24
clairvy_ joined
02:53
benabik joined
|
|||
dalek | odel: cfa5cf0 | diakopter++ | lua/ (3 files): add MultiDispatch caching. doesn't seem to improve microbenchmarks; maybe it's not working. |
02:55 | |
japhb | Dear LazyRakudo: a backwards-searching version of pir::find_not_cclass() would make Str.trim-trailing() and Str.trim() much faster still. | 02:56 | |
sorear | plead your case to #parrot. with the recent changes in leadership you might even get it. | 03:20 | |
or I guess it could go in perl6.ops | |||
clairvy_: hi | |||
japhb | sorear, do you have a link to the leadership changes? I've been away from parrot for ~1.5 years | 03:28 | |
sorear | no. | 03:30 | |
ask some #parrot regulars | 03:31 | ||
kid51, cotto, whiteknight, etc | |||
03:34
satyavvd joined
03:39
molaf joined
03:46
agentzh joined
04:07
wolfman2000 joined
04:10
worr left
04:51
cooper left
05:04
molaf left
05:13
orafu left,
orafu joined
05:20
[particle] joined
05:23
daniel-s joined
05:27
carlin left
05:36
clairvy_ left
05:37
clairvy_ joined
05:38
[particle] left
05:39
odoacre joined
|
|||
sorear | clairvy_: ping | 05:42 | |
-unrelated- | |||
I've been thinking about issues of "internal" versus "external" debuggers for Niecza/Perl6 in general | 05:43 | ||
an "internal" debugger would be like what Perl5 has - start with the -d switch, define a DB::DB subroutine, fudge some $^-variables, and you are in business. Anyone who can write a module can write a debugger | 05:44 | ||
an "external" debugger would be more like a ptrace or JDWP kind of affair. The debugger has no direct access to the Perl 6 environment and is not required to be written in Perl 6 | 05:45 | ||
if an external debugger *is* written in Perl 6, it would have to be compiled and linked as part of the compiler - so adding your own external debugger is less easy | |||
05:46
[particle] joined
|
|||
sorear | OTOH, there are some serious issues with implementing an internal debugger, because it has to share some resources with the debugee | 05:46 | |
if the debuggee stops at a breakpoint on the Gtk event handling thread or the Mono finalizers thread, there could be repercussions for the stability and responsiveness of the debugger | 05:47 | ||
(not that external debuggers completely solve this - once when I was young I set a gdb breakpoint after an XLockServer call and wasn't experienced enough to think of sshing in) | 05:48 | ||
thoughts? which kind of system do we want? | 05:49 | ||
06:01
clairvy_ left
|
|||
dalek | odel: ef39dd4 | diakopter++ | lua/ (3 files): files I forgot to add earlier |
06:02 | |
odel: 00f10c1 | sorear++ | lua/runtime/Init.lua: Commit improved table_desc and new debug_flat used to debug missing Mu |
06:03 | ||
sorear | diakopter: I'm suprised you didn't write something like closure-converter | ||
diakopter | our commits crossed :) | 06:04 | |
sorear | crossed? | ||
I committed after ef39dd4 | |||
diakopter | just a joke | 06:05 | |
sorear | diakopter: have anything to say about my wall of text? | 06:06 | |
diakopter reads | 06:08 | ||
both ;) | 06:15 | ||
06:15
fsergot left
|
|||
diakopter | "I want everything" | 06:15 | |
06:16
lue left
|
|||
diakopter | nqplua: my $a := 10000; $a := $a - 1 while $a > 0; say("alive"); | 06:16 | |
p6eval | nqplua: OUTPUT«alive» | 06:17 | |
diakopter | abysmal | ||
sorear: I tried replacing all few-thousand occurrences of .CurrentContext with [1] but something broke somewhere. The optimization worked with other substitutions though | 06:18 | ||
sorry I'm not more helpful about your text wall :) | 06:20 | ||
sorear | diakopter: eheheehe.. there is a limit to how much can be done by a one-person team that also has classes :P | ||
sorear is working out an API for internal debuggers currently | 06:21 | ||
diakopter | sorear: do you get course credit for Niecza? | 06:24 | |
I mean, have you shown it to your profs | |||
06:29
flussence left
06:30
flussence joined
06:41
alc left
06:55
cafesofie left
|
|||
sorear | diakopter: ...that never occurred to me. | 06:57 | |
06:58
dual joined
07:10
wtw joined,
wtw left,
wtw joined
07:11
koban joined
07:17
mishin joined
|
|||
dalek | ecza: f0788e8 | sorear++ | lib/ (4 files): Small bugfixes, use correct form of Invoke for .net |
07:18 | |
ecza: bebf7a0 | sorear++ | docs/TODO.debug: Add TODO.debug |
|||
sorear -> sleep | |||
07:22
muixirt joined,
wk_ left,
am0c joined
07:32
cognominal_ joined
07:33
mkramer joined
07:35
cognominal left
|
|||
moritz | perl6: say .5e1 | 07:39 | |
p6eval | pugs b927740, rakudo 95371a, niecza v11-20-gb962c2f: OUTPUT«5» | ||
07:39
imarcusthis left
07:56
mishin left,
daniel-s left
08:05
simcop2387 left
08:06
simcop2387 joined
08:12
skangas left,
skangas joined
08:14
daniel-s joined
08:21
thou left
08:29
daxim joined
|
|||
masak | morning, #perl6 | 08:34 | |
08:35
simcop2387 left
08:37
simcop2387 joined
08:47
mj41 joined
08:51
wk joined
|
|||
muixirt | hi guys, how would pugs into the feature comparison matrix? | 09:06 | |
*fit into | 09:07 | ||
09:08
packetknife joined
|
|||
moritz | muixirt: it implements an out-of-date spec in many, many features | 09:09 | |
and also all of them incomplete | |||
09:10
clairvy_ joined
|
|||
muixirt | hi moritz , and in what timeframe (roughly) there will be a rakudo star release? | 09:13 | |
it seems, with the exception of regexes, nom is now equal or better compared to rakudo 2011.07 | |||
09:14
clairvy_ left
|
|||
moritz | muixirt: yes, but the regexes make us regress on JSON::Tiny, and panda (the module installer) depends on it | 09:15 | |
so our infrastructure is broken. | |||
the ETA is "when pmichaud gets around to implement proto regexes' | 09:16 | ||
muixirt | and pmichaud is the only expert on that topic? | 09:20 | |
09:20
dakkar joined
|
|||
moritz | seems like :( | 09:21 | |
muixirt | is it fair to say that nom isn't as tightly dependent on parrot as previous versions? | 09:25 | |
not sure if 'dependent' is the right word | |||
moritz | it's not as tightly coupled as previous versions, but it still depends on parrot | ||
09:30
mkramer left
09:31
simcop2387 left
09:33
simcop2387 joined
|
|||
muixirt | it seems there's no branch for proto regexes | 09:37 | |
09:38
envi_ joined
09:52
replore_ left
10:00
hypolin left
10:10
satyavvd_ joined
10:12
satyavvd left,
satyavvd_ is now known as satyavvd
|
|||
snarkyboojum | muixirt: there might be relevant commits in nqp | 10:13 | |
muixirt | snarkyboojum: yes, i always forget about nqp :-) | 10:14 | |
the nfa branch? | 10:16 | ||
10:16
satyavvd_ joined
|
|||
snarkyboojum | muixirt: don't know, but was one of the first I looked at | 10:17 | |
tadzik | moritz: fwiw I started writing a META.info parser (subset of JSON) to avoid JSON dependency, at least for a while | ||
10:18
satyavvd left,
satyavvd_ is now known as satyavvd,
envi_ left
|
|||
tadzik | or, generally, parse feather.perl6.nl:3000/projects.json no matter what :) | 10:18 | |
snarkyboojum | I guess the benefit of JSON is that it's a fairly standard data interchange format :) | 10:22 | |
10:24
mberends left
|
|||
tadzik | the downside is that we're short of parsers for 2-3 months now :) | 10:25 | |
moritz | tadzik: it wouldn't be hard to switch JSON::Tiny to not use proto regexe | 10:26 | |
s | |||
I just think it's the wrong approach | |||
snarkyboojum | did ingy have a YAML parser that still worked? ;) | 10:27 | |
moritz: aye - the JSON::Tiny code is rather beautiful | |||
dalek | p/bigint: de465a4 | moritz++ | tools/build/Makefile.in: make nqp installable again |
||
moritz doesn't know if the YAML parser ever worked fully | 10:28 | ||
tadzik | moritz: I just think we need a working panda | 10:31 | |
snarkyboojum agrees :D | |||
even if it uses JSON:Hack for a time :P (maybe) | 10:32 | ||
10:32
mkramer joined
|
|||
masak | working panda seems like a reasonable request. | 10:33 | |
in what way is panda dependent on protoregexes? is it at all workaroundable? | |||
tadzik | panda needs to parse feather.perl6.nl:3000/projects.json, end of story | 10:34 | |
I have a not-really-worky parser, can show off, I don't really understand the way in which it's broken | 10:35 | ||
the grammar works, action methods don't | |||
snarkyboojum | sounds like moritz knows a way to make JSON::Hack work without protos too ;) | 10:36 | |
tadzik | nom: gist.github.com/1344631 | 10:37 | |
p6eval | nom 95371a: OUTPUT«("key", "value").list"\"source-url\"" => "\"git://github.com/tadzik/perl6-Acme-Meow.git\""("key", "value").list"\"version\"" => "\"*\""("key", "value").list"\"name\"" => "\"Acme::Meow\""("key", "value").list"\"description\"" => "\"The kitty you always wanted, n… | ||
tadzik | ...huh | ||
oh, that's right | |||
nom: gist.github.com/1344631 | 10:38 | ||
p6eval | nom 95371a: OUTPUT«Method 'ast' not found for invocant of class 'Any' in method reify at src/gen/CORE.setting:3988 in method reify at src/gen/CORE.setting:3895 in method reify at src/gen/CORE.setting:3895 in method gimme at src/gen/CORE.setting:4257 in method eager at src/gen/… | ||
tadzik | that's it | ||
masak | oh right, JSON::Tiny. | 10:39 | |
moritz: I used your JSON::Tiny grammar as an example in my second presentation this weekend of "look, it's really pretty and succinct". | 10:40 | ||
moritz: I have a question: what's github.com/moritz/json/blob/master...mar.pm#L36 and why is it commented out? does it correspond to failing tests somewhere? | |||
I simply removed that line in my slides. :) I also removed the semicolons after the 'token value' blocks. | 10:41 | ||
snarkyboojum | with a disclaimer - no tiny jsons were harmed in the making of these slides | 10:42 | |
masak | ;) | ||
tadzik | tiny jasons | 10:43 | |
snarkyboojum | hehe pony argonauts | 10:44 | |
10:52
simcop2387 left
10:53
simcop2387 joined,
simcop2387 left,
simcop2387 joined
|
|||
moritz | masak: the whole token str should just be the commented-out line | 10:54 | |
masak: but since backslash escapes don't work in char classes, the thing above it is used as a workaround | 10:55 | ||
masak | aha, ok. | ||
over the past few years I've become ever more sensitive to commented-out code without an explanation as to why the code is commented out. | 10:57 | ||
usually it's a great opportunity to explain something important going on in that piece of code. | |||
11:03
simcop2387 left
11:05
simcop2387 joined
11:06
ethndbst joined
|
|||
moritz | you're right, at least a reference to the RT ticket would have been nice | 11:07 | |
11:33
[Sec] left,
jlaire left,
ashleydev left,
baest left,
PZt left,
mathw left,
mls left,
domidumont left,
SHODAN left,
breinbaas left,
rhr left,
shachaf left,
ribasushi left,
szabgab left
11:34
baest joined
11:35
PZt joined,
domidumont joined,
envi_ joined,
SHODAN joined
11:36
ribasushi joined
11:37
ashleydev joined,
mathw joined,
breinbaas joined,
mls joined,
rhr joined,
szabgab joined
11:42
shachaf joined
11:45
simcop2387 left,
risou_awy is now known as risou
11:46
satyavvd left,
simcop2387 joined
11:52
satyavvd joined
11:54
DarthGandalf left
|
|||
tadzik | btw, a friendly pair of eyes on gist.github.com/1344631 would be greatly appreciated | 11:56 | |
b: gist.github.com/1344631 | |||
p6eval | b 1b7dd1: OUTPUT«Match.new( ast => ("\"source-url\"" => "\"git://github.com/tadzik/perl6-Acme-Meow.git\"", "\"version\"" => "\"*\"", "\"name\"" => "\"Acme::Meow\"", "\"description\"" => "\"The kitty you always wanted, now in Perl 6\"", "\"depends\"" => []), from => 0, orig => "[\{\"… | 11:57 | |
tadzik | nom: gist.github.com/1344631 | ||
p6eval | nom 95371a: OUTPUT«Method 'ast' not found for invocant of class 'Any' in method reify at src/gen/CORE.setting:3988 in method reify at src/gen/CORE.setting:3895 in method reify at src/gen/CORE.setting:3895 in method gimme at src/gen/CORE.setting:4257 in method eager at src/gen/… | ||
tadzik | *sniff sniff*, smells like a regression | ||
11:58
clairvy_ joined
12:01
daxim left,
agentzh left
12:02
daxim joined
12:10
vmspb joined
12:12
[Sec] joined
12:13
simcop2387 left,
Patterner left,
am0c left
12:14
simcop2387 joined
12:16
Psyche^ joined,
Psyche^ is now known as Patterner
12:27
mikemol left
|
|||
snarkyboojum | b: gist.github.com/1344631 | 12:28 | |
p6eval | b 1b7dd1: OUTPUT«Match.new( ast => ("\"source-url\"" => "\"git://github.com/tadzik/perl6-Acme-Meow.git\"", "\"version\"" => "\"*\"", "\"name\"" => "\"Acme::Meow\"", "\"description\"" => "\"The kitty you always wanted, now in Perl 6\"", "\"depends\"" => []), from => 0, orig => "[\{\"… | ||
snarkyboojum | oops - looks up a little bit | ||
12:28
mikemol joined
12:30
satyavvd left
|
|||
snarkyboojum | niecza: gist.github.com/1344813 | 12:31 | |
p6eval | niecza v11-22-gbebf7a0: OUTPUT«#<match from(0) to(168) text([{"source-url":"git://github.com/tadzik/perl6-Acme-Meow.git","version":"*","name":"Acme::Meow","description":"The kitty you always wanted, now in Perl 6","depends":[]}]) pos([].list) named({"project" => (#<match from(1) to(167)… | ||
12:32
simcop2387 left
12:33
simcop2387 joined
12:35
[Sec] left
12:36
colomon left
|
|||
kranius | hello Perl6 | 12:38 | |
moritz | hi kranius | ||
12:38
cognominal___ joined
|
|||
masak | hi kranius | 12:39 | |
12:41
cognominal_ left
|
|||
moritz | phenny: tell jnthn that rakudo passes spectests on top of nqp/bigint branch | 12:43 | |
phenny | moritz: I'll pass that on when jnthn is around. | ||
12:43
cognominal___ left,
cognominal___ joined,
vmspb left
12:46
cognominal_ joined
12:49
cognominal___ left
12:50
[Sec] joined
12:58
koban left
12:59
vmspb joined
13:03
jlaire joined
13:22
bluescreen10 joined
13:34
satyavvd joined
13:42
simcop2387 left,
benabik left
13:43
ethndbst left,
simcop2387 joined
13:48
satyavvd left
|
|||
[Coke] | Do any other perl6 bits want an RT queue? | 13:48 | |
Or is everyone else happy with wherever they landed? | |||
(niecza, pugs, spec, roast, nqp, 6model...) | 13:49 | ||
13:54
clairvy_ left
|
|||
masak | looks like a happy system to me. | 13:58 | |
I've mostly used the RT/perl6 and Niecza queues so far. | |||
[Coke] | I ask because there's talk of an upgrade to RT4, which would be a great time for some queue juggling. | ||
masak | aha. | 14:00 | |
perl6: my $x = "START didn't run"; sub foo($n) { return unless $n; START $x = "START did run" }; foo(0); foo(1); say $x | 14:02 | ||
p6eval | pugs b927740: OUTPUT«*** No such subroutine: "&START" at /tmp/lYwaYJ0_J0 line 1, column 61-88» | ||
..niecza v11-22-gbebf7a0: OUTPUT«START did run» | |||
..rakudo 95371a: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&START' called (line 1)» | |||
masak | oh right. | ||
perl6: sub foo($n) { return unless $n; state $x = "START did run"; say $x }; foo(0); foo(1) | 14:03 | ||
p6eval | pugs b927740, niecza v11-22-gbebf7a0: OUTPUT«START did run» | ||
..rakudo 95371a: OUTPUT«Any()» | |||
masak | the real question is whether "on first ever execution, once per closure clone" refers to first ever execution of *that statement*, or of the block. | 14:04 | |
14:05
envi_ left
14:06
envi_ joined,
satyavvd joined
|
|||
moritz | [Coke]: I'm not aware of anybody needing additional queues, but of course I can't speak for everybody | 14:07 | |
moritz finds niecza's and pugs' behaviour useful. | 14:08 | ||
14:11
HarryS left,
simcop2387 left,
[Sec] left,
daxim left,
SHODAN left,
odoacre left,
dju left,
nebuchadnezzar left,
tokuhirom3 left,
avar left,
gfldex left,
preflex left,
japhb left,
itz left,
overrosy left,
Util left,
moritz left,
Woodi left,
jrockway left,
ingy left,
nsh- left,
mux left,
felher left,
george_z0rwell joined,
spacebat left,
mkramer1 joined,
mattp_ left,
takesako left
14:12
p6eval left,
mattp_ joined,
cognominal_ left,
nine left,
aber left,
shachaf left,
s1n1 left,
PZt left,
wolfman2000 left,
abercrombie joined,
felher joined,
satyavvd left,
baest_ joined,
[particle]1 joined,
mux joined,
c1sung left,
envi_ left,
[particle] left,
[particle]1 is now known as [particle],
cognominal joined
14:13
phenny left,
slavik1 left,
c1sung joined,
ashleydev left,
_jaldhar left,
plobsing left,
daniel-s left,
jaldhar_ joined,
wolfman2000 joined,
Util joined,
takesako joined,
baest left,
lestrrat left,
shachaf_ joined,
Reaganomicon left,
slavik1 joined,
pothos left,
mkramer left
14:14
localhost left,
kst left,
cirne100 left,
djanatyn left,
y3llow left,
djanatyn joined,
cirne100 joined,
nsh_ joined,
Reaganomicon joined,
y3llow joined,
moritz_ joined
14:15
spacebat joined,
envi_ joined,
ashleydev joined,
daniel-s joined,
plobsing joined,
pmurias joined
14:16
george_z0rwell left
14:17
Lorn left,
vmspb left,
Tene left,
nine joined,
envi_|2 joined,
simcop2387 joined,
[Sec] joined,
daxim joined,
SHODAN joined,
odoacre joined,
dju joined,
nebuchadnezzar joined,
avar joined,
gfldex joined,
preflex joined,
japhb joined,
itz joined,
overrosy joined,
Woodi joined,
jrockway joined,
ingy joined,
envi_|2 left,
odoacre left,
ingy left
14:18
Tene joined,
Tene left,
Tene joined,
lestrrat joined,
Util left,
Lorn joined
14:19
phenny joined,
ingy joined,
simcop2387 left,
pothos_ joined,
pothos_ is now known as pothos
|
|||
masak | moritz_: S04 explicitly says that START (and hence state) runs inline. how can it both run inline and run the first time when foo is called with 0? | 14:21 | |
[Coke] | moritz_: flipping it around, do we want to move rakudo's issues to github? | 14:22 | |
14:22
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
masak | it's not so much "find it useful" as "find it consistent", IMO. | 14:22 | |
14:22
simcop2387 joined
|
|||
[Coke] | (I am happy to leave it where it is, and call it an accident of implementation. ;) | 14:22 | |
moritz_ | [Coke]: I'm not keen on a migration of several hundred tickets | ||
14:22
pmichaud left
14:23
lestrrat left
|
|||
moritz_ | [Coke]: and I don't have any experience with dealing with several hundred tickets on github, so I'd rather wait and see what comes out of parrot's migration | 14:23 | |
14:23
Util joined
|
|||
moritz_ | masak: what exactly does "inline" mean here? that it's not a separate scope? | 14:23 | |
14:23
s1n1 joined,
pmichaud joined
|
|||
masak doesn't like that github conflates "fixed" and "closed" | 14:23 | ||
14:24
lestrrat joined
|
|||
masak | moritz_: in context, I read it as meaning "not in its own phase", "not temporally displaced". | 14:24 | |
14:24
japhb left,
localhost joined,
tokuhirom3 joined
|
|||
moritz_ | but then it's not a phaser, isn't it? | 14:24 | |
14:24
japhb joined
14:25
odoacre joined
14:27
molaf joined
|
|||
masak | well it doesn't have the "run some other time" semantics, but it has the "run under certain conditions" semantics. | 14:27 | |
moritz_ | masak: somehow that doesn't make sense to me | ||
dalek | : faa1b86 | jimmy++ | docs/zh-cn/syn/S02-bits.pod: fixed small wording |
||
p/bigint: 5b2d884 | moritz++ | / (3 files): bigint bitwise negation |
|||
moritz_ | masak: I thought it runs when the closure is cloned, not when it's executed | 14:28 | |
masak | well, S04 is fairly clear on START running "as late as possible". | ||
14:28
baest_ is now known as baest
|
|||
masak | or perhaps "as late as reasonable" :) | 14:28 | |
it has something to do with seeing other values. | |||
hold on, I'll quote ya. | |||
14:29
moritz_ is now known as moritz
|
|||
masak | The semantics of C<INIT> and C<START> are not equivalent to each | 14:29 | |
other in the case of cloned closures. An C<INIT> only runs once for | |||
all copies of a cloned closure. A C<START> runs separately for each | |||
clone, so separate clones can keep separate state variables | |||
er. that's not what I wanted... :) | |||
Even in the absence of closure cloning, C<INIT> runs before the | 14:30 | ||
mainline code, while C<START> puts off the initialization till the | |||
last possible moment, then runs exactly once, and caches its value | |||
for all subsequent calls [...] | |||
In particular, this means that C<START> can make use of any parameters | |||
passed in on the first call, whereas C<INIT> cannot. | |||
there we go. | |||
moritz | "then runs exactly once" | ||
so it doesn't run 0 times | |||
which is how rakudo implements it | |||
masak | that's a funny bit to pull out of that quote :) | ||
read the rest of the quote... :) | 14:31 | ||
moritz does | |||
masak | (I agree that it's up for interpretation, but the evidence seem to be leaning in Rakudo's favour.) | ||
s/seem/seems/ | 14:32 | ||
14:32
sayu joined
|
|||
moritz | anyway, I don't see why the second invocation of a routine can't count as the "last possible moment" | 14:32 | |
masak | it could. question is if it does. | 14:33 | |
I'd be very happy to record this as a rakudobug. I'm just not sure what's the correct interpretation. | |||
moritz | so we both have our point of views, and reading the same text strengthens both of our positions :-) | 14:34 | |
masak | it seems far easier to mark up the block as having been executed, than to mark up each statement. | ||
moritz | well, START-as-a-statement still needs to do the caching of the return value | 14:35 | |
masak | I'm pretty sure S04 doesn't directly address the case of a "state" assignment in code unexecuted the first time through a block. it could be argued that it should. | ||
moritz | it's a bit like lazy BLOCK | ||
so that form needs to remember if it has been reified anyway | |||
14:36
PacoLinux joined
|
|||
[Coke] | moritz: I absolutely don't want to move tickets, even if github is better. I'm just saying it's an option if people want it. I bet most won't. | 14:36 | |
14:37
molaf left
|
|||
[Coke] | masak: I would feel more comfortable about the recent state rakudobug if the spec was definite about that requirement. I was a little suprised it was interpreted that way. | 14:38 | |
masak | oh, moritz++ submitted it as a rakudobug? | 14:40 | |
well, it's basically a case that the spec doesn't seem to address. at least not very clearly. | 14:41 | ||
in a sense it's good that such a thing turns up because it allows us to clarify the spec in whatever direction we choose. | |||
14:42
sayu left
|
|||
masak | I sometimes feel that the part about phasers in S04 could be lots more "systematic" in its treatment of the phasers. not sure if the current disposition is also a strength in some way. | 14:42 | |
14:42
mj41 left
14:44
pmurias left,
pmurias joined,
daniel-s left
14:46
packetknife left
|
|||
masak | wohoo, nine++ got a commitbit! \o/ | 14:47 | |
14:47
mj41 joined
14:48
ethndbst joined
14:52
Sarten-X left
14:57
ethndbst left,
alvis left
15:02
Sarten-X joined
15:04
alvis joined,
apejens left
15:12
fsergot joined
|
|||
fsergot | hi! o/ | 15:12 | |
15:12
apejens joined
|
|||
PerlJam | good morning #perl6 | 15:12 | |
15:17
sayu joined
|
|||
masak | greetings, fsergot & PerlJam | 15:18 | |
rakudo: say "Sweden"&"Spain" ~~ / ^ S [weden & pain] $ / | 15:19 | ||
p6eval | rakudo 95371a: OUTPUT«This type cannot unbox to a native string in <anon> at src/gen/Metamodel.pm:2518 in !cursor_init at src/stage2/QRegex.nqp:513 in method ACCEPTS at src/gen/CORE.setting:6583 in block <anon> at /tmp/NwU3TKa3TI:1 in <anon> at /tmp/NwU3TKa3TI:1» | ||
masak | ooh :) | ||
rakudo: say "foo" & "a nice old foo" ~~ /foo/ | 15:22 | ||
p6eval | rakudo 95371a: OUTPUT«This type cannot unbox to a native string in <anon> at src/gen/Metamodel.pm:2518 in !cursor_init at src/stage2/QRegex.nqp:513 in method ACCEPTS at src/gen/CORE.setting:6583 in block <anon> at /tmp/ob22B_rVzO:1 in <anon> at /tmp/ob22B_rVzO:1» | ||
masak | b: say "foo" & "a nice old foo" ~~ /foo/ | ||
p6eval | b 1b7dd1: OUTPUT«Bool::True» | ||
masak | niecza: say "foo" & "a nice old foo" ~~ /foo/ | ||
p6eval | niecza v11-22-gbebf7a0: OUTPUT«all(#<match from(0) to(3) text(foo) pos([].list) named({}.hash)>, #<match from(11) to(14) text(foo) pos([].list) named({}.hash)>)» | ||
masak | pugs: say "foo" & "a nice old foo" ~~ /foo/ | 15:23 | |
p6eval | pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) { unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib'; eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;}'Pugs::Runtime::Match::HsBridge'"*** '<HAND… | ||
masak submits rakudobug | |||
15:23
simcop2387 left
15:24
HarryS joined
15:25
mj41 left,
wtw left
15:26
ethndbst joined,
simcop2387 joined,
am0c joined
15:31
daniel-s joined
15:35
GlitchMr joined
15:42
mkramer1 left
15:43
PZt joined
15:51
DarthGandalf joined
|
|||
masak | hm. somehow I had missed blogs.perl.org/users/randal_l_schwa...perl6.html | 15:54 | |
15:55
simcop2387 left
|
|||
masak | nice article by RandalSchwartz. | 15:55 | |
tadzik | once again this "when you get async io, you'll get a mojolicious port" | ||
masak | I'm not sure he's absolutely right in "what Perl 6 needs is a successful web framework!", but it sure wouldn't hurt. | ||
PerlJam | masak: yes, but I think he's slightly wrong. right in idea, wrong in focus on web apps. | 15:56 | |
daxim | let this post settle for a day | ||
masak | right. | ||
daxim | damn, you both type fast | ||
masak | daxim: it's from August. | ||
daxim | that's not what I mean | ||
15:56
simcop2387 joined
|
|||
masak | oh, ok. | 15:57 | |
__sri | tadzik: the most recent brick wall i hit was documentation | ||
daxim | so, "aol" | ||
masak | here are the corresponding HN comments: www.reddit.com/r/perl/comments/jhtj..._schwartz/ | ||
PerlJam | merlyn just reframed the "killar app" argument for perl 6 but didn't have much imagination on what that app might be :) | ||
masak | __sri: anything we can do to help? | ||
PerlJam: right. a killer app probably isn't what was a killer app for some other languages five years ago :) | 15:58 | ||
__sri | well, a comprehensive perl6doc would be lovely :) | ||
PerlJam | exactly | ||
masak | __sri: that will eventually be in place, but not soon. | ||
masak .oO( then again, if we make it a CQRS-based web framework... ) | |||
tadzik | __sri: anything specific that you've blocked on? | 15:59 | |
__sri | i'm basically starting from zero with perl6, last time i touched it was… pugs many years ago i think | ||
15:59
sayu left
|
|||
tadzik | or, what is the first 'perl6doc' command you'd type? perl6doc perl6intro? | 15:59 | |
PerlJam | masak: the real trick is moving beyond "web app frameworks" and towards "complete application frameworks" where the web app is just a plugin component. | ||
16:00
finanalyst joined
|
|||
PerlJam | a *possible* plugin component | 16:00 | |
__sri | ultimately the equivalent to everything perldoc offers for perl5 | ||
masak | reading the HN^WReddit thread, I see that there are some people who come out and say "Perl 6 doesn't have CPAN yet (so I can't use it)" | ||
16:00
imarcusthis joined
|
|||
masak | PerlJam: that would be awesome. don't develop the web app, develop the API and put the web app on top of it. | 16:00 | |
PerlJam: more people should probably think that way. | 16:01 | ||
PerlJam | indeed | ||
16:01
MayDaniel joined
|
|||
PerlJam | All perl 6 needs is the right confluence of "right thinking" people with enough tuits to make something interesting. | 16:01 | |
:-) | |||
__sri | many web apps already work that way | 16:02 | |
business logic is abstracted to the model layer | |||
fsergot | interesting discussion :) | ||
PerlJam | __sri: sure, and that's why people expect more of their web apps today and why "web app" is becoming more and more of a misnomer IMHO | 16:03 | |
masak | I don't believe perl6doc will be a communal effort. group writing isn't something we can do effectively yet in 2011. instead it will be someone saying "oh frig it", going off into a cave for three months and writing excellent perldoc-like docs, and coming back and dumping them as a fully-formed webpage. | 16:04 | |
16:04
cirne100 left
|
|||
finanalyst | hello. small question on syntax of sub definitions. Could not find answer in S06. I want to declare "sub x (MyClass $a, Num $b, Str $c)", but this is not parsing | 16:04 | |
PerlJam | finanalyst: what isn't parsing it? | 16:05 | |
16:05
cirne100 joined
|
|||
finanalyst | rakudo | 16:05 | |
star | |||
PerlJam | finanalyst: which .... ah | ||
masak | rakudo: class MyClass {}; sub x (MyClass $a, Num $b, Str $c) {}; say "alive" | 16:06 | |
p6eval | rakudo 95371a: OUTPUT«alive» | ||
masak | finanalyst: worksforme | ||
PerlJam | star: class MyClass {}; sub x (MyClass $a, Num $b, Str $c) {}; say "alive" | ||
p6eval | star 2011.04: OUTPUT«alive» | ||
PerlJam | doubly so | ||
masak | finanalyst: please be more specific :) | ||
finanalyst: (are you perhaps trying to use MyClass before declaring it?) | |||
star: sub x (MyClass $a, Num $b, Str $c) {}; class MyClass {}; say "alive" | 16:07 | ||
fsergot | finanalyst: or show us your code. :) | ||
p6eval | star 2011.04: OUTPUT«===SORRY!===Invalid typename in parameter declaration at line 22, near " $a, Num $"» | ||
fsergot | nom: 1; | 16:08 | |
p6eval | nom 95371a: ( no output ) | ||
fsergot | why nom, rakudo and star? :) | ||
theres new branch? | |||
masak | fsergot: nom === rakudo in p6eval. | 16:09 | |
PerlJam | finanalyst: also, assuming you've predeclared MyClass, there are other errors that could throw the parser into a weird state and cause it to die on parsing your sub decl. | ||
masak | fsergot: 'star' is the release, but nom/rakudo is HEAD. | ||
PerlJam | finanalyst: in short ... let's see the code :) | ||
fsergot | masak, thanks :) | ||
16:12
simcop2387 left
16:14
simcop2387 joined,
cirne100 left
|
|||
fsergot | masak++ | 16:14 | |
16:15
cirne100 joined
|
|||
masak | (also, 'star' as a product packages 'rakudo' inside of itself, but that still means that it's a given revision of rakudo we're testing) | 16:17 | |
finanalyst: did you manage to solve your troubles? | 16:20 | ||
16:22
sayu joined
|
|||
finanalyst | masak: sorry got called away. | 16:27 | |
sorear | good * #perl6 | 16:28 | |
masak | sorear! \o/ | ||
TimToady | sorear: note that Unicode basically consideres \r\n to be one grapheme these days | ||
phenny | TimToady: 06 Nov 19:16Z <japhb> ask TimToady Rakudo's Str.Numeric() is a little indecisive about how it wants to handle empty strings, strings containing only whitespace, and the presence of whitespace in various places in the string. I'm happy to normalize all of that, but normalize to what? What was your intended behavior? | ||
finanalyst | sorry all. typo. no problem now | ||
masak | good thing it wasn't a deep problem :) | 16:29 | |
sorear | masak: niecza interprets START foo; as unless (state $)++ { foo } | 16:31 | |
masak | hm. | ||
that explains its behavior. | |||
sorear | TimToady: things I am still wondering about - | 16:32 | |
1. does "\n" always mean "\cJ" or should it be OS dependant? | |||
16:32
mkramer joined
16:33
simcop2387 left
|
|||
TimToady | in double quotes, always \cJ | 16:33 | |
only possible exception is ancient MacOS | |||
finanalyst | yes. but it might be helpful for syntax for PARAMS to be given more explicitly in S06, eg. for when two or more typed parameters are used. | ||
was responding to masak | |||
TimToady | but even Microsoft has always treated \n as \cJ in a text file | ||
since the \cMs are weeded out | 16:34 | ||
sorear | I guess that means we need EOL conversion on write. For roundtripping that probably implies EOL conversion on read too | 16:35 | |
16:35
cirne100 left,
simcop2387 joined
|
|||
TimToady | but \n as a matcher can always allow optional \r on the front | 16:35 | |
including in character classes | 16:36 | ||
well, assuming the hypothetical grapheme level that nobody does yet | |||
we don't want to be stuck at the codepoint level forever | |||
sorear | UTS18 says that we should provide an escape for *all* unicode line breaks (LS, PS, etc, plus \cM \cM\cJ \cJ). Is that \n? | 16:37 | |
TimToady | yes | ||
sorear | I now need to study how "SS" =~ /[ß]/i works | 16:38 | |
apparently P5 can, in some cases, match two graphemes from one char class | |||
TimToady | S05:688 specs \n directly against ts18 | ||
it's more like the concept of "extended grapheme cluster" (what we call a grapheme) has been fuzzed somewhat; it's rather more than just the historical \PM\pM* | 16:39 | ||
they've been pushing beyond that into a more dwimmy definition, to the extent it can be done in a language independent fashion | 16:40 | ||
hence CRLF is considered a grapheme now | |||
and bare marks at the beginning of a string are also considered graphemes | 16:41 | ||
finanalyst | masak: I got the following error in rakudo star. I thought the bug had been eliminated. Nominal type check failed for parameter '$y-anchor'; expected Num but got Int instead | ||
I thought Int would be coerced into Num | |||
geekosaur | r* has missed a couple of releases now, hasn't it? so it's a bit behind rakudo | 16:42 | |
jnthn | finanalyst: no | ||
phenny | jnthn: 12:43Z <moritz> tell jnthn that rakudo passes spectests on top of nqp/bigint branch | ||
masak | finanalyst: no, there's no coercion between those two types. | ||
jnthn | moritz: OK, great :) | ||
evening, folks :) | |||
masak | finanalyst: Num is what you would think of as "float" in other languages. it's not a superset of Int. | 16:43 | |
sorear | but surely SS is never considered a single grapheme? | ||
TimToady | sorear: in any case, a character class is really more of an alternation, and doesn't care about the meaning of . unless negated | ||
there is no guarantee that case conversions are round-trippable in Unicode | |||
finanalyst | masak: does this mean I have to code every coercion from Int to Num? | ||
masak | finanalyst: or change the signature to something more permissive. | 16:44 | |
TimToady | SS might be considered a single grapheme, but only if you were explicitly working in a language that required it to be so | ||
finanalyst | masak: what is more permissive that allows both Int and Num, | 16:45 | |
TimToady | perl 6 specs that as a level beyond language-independent graphemes, and I think Unicode does much the same | ||
masak | finanalyst: Real, for example. | ||
finanalyst | masak: thanx | 16:46 | |
masak | rakudo: sub foo(Real $r) { say $r.WHAT }; foo 42; foo pi | ||
p6eval | rakudo 95371a: OUTPUT«Int()Num()» | ||
16:48
sayu left
|
|||
masak decommutes | 17:00 | ||
17:01
pmurias left,
pmurias joined
17:03
abercrombie left
17:07
MayDaniel left
17:12
Trashlord left
|
|||
sorear | *blink* | 17:23 | |
sorear notices ANYOF_FOLD_SHARP_S in Perl 5 | |||
apparently, "SS" =~ /[ß]/i is *special cased* to work | |||
17:24
simcop2387 left
|
|||
daxim | when I become emperor of the world, I'll release an update to unicode that removes the ss ←→ ß casing distinction | 17:24 | |
17:25
ksi joined
|
|||
huf | just destroy unicode, rename ascii as unicode and then kill anyone who doesnt want to use the new and improved unicode | 17:25 | |
if you're emperor, why dream small? | |||
17:26
simcop2387 joined
|
|||
sorear | too much chance of 3 billion Chinese, Indians, and Arabs mounting an insurrection | 17:26 | |
just because you're emperor doesn't mean you can't be overthrown | |||
huf | eh, if a few billion people can stop you, you're hardly emperor of the world :D | ||
17:27
shachaf_ is now known as shachaf
|
|||
huf | sorear: ban all tall buildings and cliffs so if you do get overthrown, it doesnt hurt too much | 17:27 | |
also cover streets with cushions, i guess | |||
sorear | .u CAPITAL LETTER SHARP S | ||
phenny | U+1E9E LATIN CAPITAL LETTER SHARP S (ẞ) | ||
sorear | daxim: make ß uppercase to this | 17:28 | |
huf: what if I get run over? | |||
17:29
GlitchMr left
|
|||
huf | sorear: put cushions on the underside of things too? | 17:30 | |
the cushion and pillowmaker industry would support you to the death | 17:31 | ||
pmurias | sorear: why would adding a new external debugger require changes to the compiler? | 17:35 | |
sorear: a new external debugger could reuse the same API? | |||
17:35
eviltwin_b joined
17:36
mberends joined
|
|||
dalek | ecs: bbb2524 | larry++ | S32-setting-library/Str.pod: deem lcfirst and ucfirst useless, add titlecase |
17:38 | |
17:38
wolfman2000 left
17:40
eviltwin_b_ joined
17:41
eviltwin_b left,
eviltwin_b_ is now known as eviltwin_b
|
|||
TimToady | note that $s.lc.ucfirst is not capable of capitalizing correctly, since lc loses info needed to choose appropriate titlecase | 17:41 | |
and lcfirst was always rather useless | |||
[Coke] | if perl 6 had a successful web framework, I could argue for using it at work. | 17:43 | |
PerlJam | [Coke]: define "successful" | 17:44 | |
[Coke] | PerlJam: no, I'm just quoting a previous send. | ||
PerlJam | oh. | ||
17:45
vmspb joined,
daniel-s left
17:49
dsrogers joined
17:50
MayDaniel joined,
eviltwin_b left,
eviltwin_b joined
|
|||
pmurias | sorear: do you think writing a Devel::ebug compatible interface to the niecza debugger is a sane idea? | 17:51 | |
sorear: so that Devel::ebug frontends can work for both perl5 and perl6? | |||
awwaiid | that sounds fun | ||
17:53
eviltwin_b left,
eviltwin_b joined
|
|||
awwaiid | I'm looking to update Devel::ebug, btw. I just did a release that fixed the test suite a little | 17:54 | |
pmurias | awwaiid: re fun, that's why i want to do that :) | 17:55 | |
awwaiid | I think that Padre uses Debug::Client though, btw | ||
17:55
dsrogers left
17:56
fridim_ joined
|
|||
awwaiid | and I can't get the ebug http interface to compile (catalyst app). but I'm working on a possible replacement | 17:56 | |
17:58
eviltwin_b left,
Chillance joined,
eviltwin_b joined
|
|||
sorear | pmurias: never heard of Devel::ebug prior to today. | 17:59 | |
pmurias | it seems to be more robust than the builtin debugger and has a wx and a pretty http interface | 18:00 | |
awwaiid | I haven't tried the wx one yet, does it work? | 18:01 | |
I crossed the threshold when I found that Devel::ebug doesn't crash in the face of Coro :) | |||
pmurias | awwaiid: when i last tried it, the version of the wx from github worked | 18:02 | |
sorear | I'm looking at the Devel::ebug dist, awwaiid, and I can't find a spec for the wire protocol | ||
awwaiid | k | 18:03 | |
18:03
alvis left
|
|||
awwaiid | sorear, I've only done a small test-suite bugfix release so far. I don't even know what's missing | 18:03 | |
so it's likely that wire protocol documentation should be on my TODO list :) | 18:04 | ||
sorear | awwaiid: oh you're not the original author? | ||
awwaiid | right | ||
acme | |||
sorear wonders if ey is looking at an NMU | |||
awwaiid | I haven't even added my name to the pod yet, actually | ||
NMU? | 18:05 | ||
18:05
dakkar left
|
|||
PerlJam | TimToady: titlecase seems like one of those things that is highly specific but wants to be general. Can you give an example where the filter isn't &lc or a no-op? | 18:05 | |
sorear | Non-maintainer upload. What happens when John Doe is on vacation or otherwise unreachable and a critical security bug is found in one of JOHNDOE's dists | ||
awwaiid | acme gave me comaint | 18:06 | |
sorear | .u TITLECASE | ||
phenny | sorear: Sorry, no results for 'TITLECASE'. | ||
sorear | .u IJ | ||
phenny | U+C78A HANGUL SYLLABLE IJ (잊) | ||
pmurias | sorear: Leon Brocard is the author | ||
moritz | .u title | ||
phenny | moritz: Sorry, no results for 'title'. | ||
18:06
envi_ left
|
|||
awwaiid | yeah, Leon | 18:06 | |
but the last release was in 2008 and it looked like it needed some love | |||
pmurias | sorear: the protocol seems to be just sending commands as yaml | 18:07 | |
sorear: i was thinking of just emulating the interface and having our own protocol | |||
sorear | pmurias: what do you mean by interface? | 18:08 | |
awwaiid | I think he means the method API of the Devel::ebug class itself, which is directly used by font-ends | 18:09 | |
pmurias | have a Devel::ebug::Niecza class one could plug in in the place of Devel::ebug | ||
awwaiid | on the down side, that would involved editing any front-ends to be aware of it, eh? | ||
sorear | that's nonsense. Devel::ebug frontends have to be written in Perl _5_ | ||
awwaiid | yeah. settling on the wire protocol would let you write front-ends AND back-ends in other systems | 18:10 | |
18:11
ethndbst left
|
|||
moritz | nom: class A { method a(A:U:) { say 'A:U:' }; method a(A:D:) { say 'A:D:' } }; (A.new | A.new).a | 18:11 | |
p6eval | nom 95371a: OUTPUT«===SORRY!===Package 'A' already has a method 'a'; did you mean to declare a multi-method?» | ||
moritz | nom: class A { multi method a(A:U:) { say 'A:U:' }; multi method a(A:D:) { say 'A:D:' } }; (A.new | A.new).a | ||
p6eval | nom 95371a: OUTPUT«A:D:A:D:» | ||
awwaiid | (I personally would prefer JSON over YAML :) ) | ||
18:12
zby_home joined
|
|||
pmurias | sorear: i agree | 18:12 | |
ingy | awwaiid: JSON *is* YAML :) | ||
awwaiid shakes fist at ingy and howls at the sky | 18:13 | ||
ingy purrs | |||
*lick* *lick* | |||
sorear | exception: JSON can be parsed algorithmically | ||
awwaiid | and YAML can't? I thought that's exactly what YAML.pm does :) | 18:14 | |
sorear | YAML parsers and generators are a rat's nest of mutual incompatibility | 18:15 | |
moritz | ingy: no, the other way round, YAML *is* JSON (and it is also more than JSON) | ||
[Coke] gets some popcorn and gets ready for a discussion! | |||
sorear | having maintained STD.pm6's YAML subsystem I don't want to touch YAML for any cross-language purpose | ||
moritz | at least if you've heard of Liskov | ||
tadzik | what is a subset of what, again? | 18:16 | |
moritz | jSON is subset of YAML | ||
sorear | ignore me at your own peril. I won't stop you. | ||
ingy | sorear: understood but I hope to change your mind soon :) | ||
awwaiid | sorear, point being that if a cross-system wire protocol is what you're after, I'm open to reconstruction / expansion | ||
sorear | awwaiid: the mono project recentlyish (2.6) redesigned their debugger to use a derivative of the Java Debug Wire Protocol | 18:18 | |
awwaiid | ok, I'll look into that | ||
never heard of it before :) | |||
ingy saunters back to #yaml :) | |||
sorear | moritz: titlecase(ß) = "Ss" | 18:19 | |
pmurias | sorear: the java debug wire protocol seems to be a binary format | ||
ingy | sorear: I agree with you actually, which is why I've spearheaded yaml2 | ||
sorear | pmurias: it is | ||
ingy: ooh, do tell | |||
ingy: link? | |||
18:20
GlitchMr joined
|
|||
ingy | github.com/yaml/YAML2/wiki | 18:20 | |
18:20
alvis joined
|
|||
TimToady | PerlJam: uc is also an option for the remainder of each word, as is something that translates to small caps | 18:20 | |
daxim | ingy, more promotion | ||
more people need to know about that | 18:21 | ||
ingy | related, to yaml2 is the Pegex YAML grammar and implentations. | ||
moritz | sorear: iirc there is also a separate titlecase codepoint for the greek sigma | 18:22 | |
ingy | daxim: yeah, we're moving yaml.org to new host and all github organization generated etc | ||
so promotion is being worked on | |||
moritz | phenny: U+03C2 | 18:23 | |
.u U+03C2 | |||
phenny | moritz: Sorry, no results | ||
PerlJam | TimToady: I guess I'm having trouble seeing what other transformations you'd use to "titlecase" something | ||
TimToady | PerlJam: I guess I don't see a question there I know how to answer... :) | 18:24 | |
moritz | there are (few) languages where title-casing doesn't yield the same result as upper-casing | 18:25 | |
sorear | moritz: terminal and medial sigma is a different special case in Unicode | ||
3c2 and 3c3 both uppercase to 3a3 | |||
sorear finishes reading the yaml2 wiki | 18:26 | ||
ingy | sorear: it just got started last week | 18:27 | |
PerlJam | TimToady: obviously I don't have a coherent question at all, just a general feeling of unease. :-) | ||
18:27
wk left
|
|||
ingy | I actually came up with the idea sitting on TimToady++ sofa. :) | 18:27 | |
PerlJam | ingy: why does yaml need revitalization? Have the RoR crowd given it too much press? | 18:28 | |
ingy | everything circles back to Perl 6 somehow ;) | ||
PerlJam: YAML failed to become truly useful for anything more than config files and data dumping. but now that it is "stable", it's a perfect time to fix that. :) | 18:29 | ||
PerlJam: I know you were joking, but good question | 18:30 | ||
18:30
am0c left
|
|||
PerlJam | ingy: I imagine you get enough flak about YAML that I don't need to add to it, so I apologize. | 18:32 | |
:-) | |||
18:33
eviltwin_b left
18:34
eviltwin_b joined
|
|||
PerlJam | (that's one of the cultural lessons that #perl6 learned better than most: jokes can hurt too) | 18:34 | |
sorear | Is <[ \x \y \z ]> exactly equivalent to [ \x | \y | \z ]? | 18:35 | |
TimToady | generally, but maybe not specifically :) | 18:36 | |
depends on what you mean by your backslashes and random letters | |||
sorear | placeholders | 18:37 | |
TimToady | placeholders for what, is the question. \x is a syntax error, for instance | ||
sorear | wondering if I can define character classes as (except for LTM) the naive equivalent in alternations and conjunctions | 18:38 | |
any backslash sequence | |||
hmm | |||
TimToady | in general, once you've reduced to to a set of literal values, yes | ||
sorear | if we allow \n in char classes, can/should we allow <[ \d[65,65] \d[66,66] ]> to mean < AA BB > ? | 18:39 | |
TimToady | but maybe they look different to the LTMer if you're not careful | ||
18:40
eviltwin_b left
|
|||
TimToady | unless people will interpret them as separate alternatives, I suppose | 18:40 | |
education is possible there | |||
18:41
eviltwin_b joined
|
|||
TimToady | certainly we can distintinguish \d[13,10] syntactically from \d13 \d10 | 18:41 | |
well, actually, \c does that already | 18:43 | ||
not \d | |||
S02:4063 | 18:44 | ||
actually has \c[13,10] there | |||
GlitchMr | perl6: my @array = 0..4; @array»+&=1; print @array.perl; | ||
p6eval | rakudo 95371a: OUTPUT«===SORRY!===Missing « or » at line 1, near "1; print @"» | ||
..pugs b927740: OUTPUT«decodeUTF8': bad data: '\187'***  Unexpected "\187+&=" expecting "::", term postfix or operator at /tmp/FCSwezLluM line 1, column 25» | |||
..niecza v11-22-gbebf7a0: OUTPUT«===SORRY!===Missing « or » at /tmp/gWaCpGt99W line 1:------> my @array = 0..4; @array»+&=⏏1; print @array.perl;Parse failed» | |||
18:45
geekosaur left
|
|||
GlitchMr | perl6: my @array = 0..4; @array»+=1; print @array.perl; | 18:45 | |
p6eval | pugs b927740: OUTPUT«decodeUTF8': bad data: '\187'***  Unexpected "\187+=" expecting "::", term postfix or operator at /tmp/1tX1HByxj2 line 1, column 25» | ||
..niecza v11-22-gbebf7a0: OUTPUT«===SORRY!===Missing « or » at /tmp/YRwtDwySW0 line 1:------> my @array = 0..4; @array»+=⏏1; print @array.perl;Parse failed» | |||
..rakudo 95371a: OUTPUT«===SORRY!===Missing « or » at line 1, near "1; print @"» | |||
GlitchMr | I'm doing something wrong | ||
TimToady | not putting spaces around your infix | ||
18:45
geekosaur joined
|
|||
TimToady | and only giving one end of the infix hyper | 18:46 | |
GlitchMr | »++... | ||
TimToady | that's a postfix | ||
+& is an infix | |||
GlitchMr | +=? | 18:47 | |
+&=? | |||
Or what? | |||
TimToady | is also an infix | ||
GlitchMr | perl6: my @array = 0..4; @array»++; print @array.perl; | ||
p6eval | pugs b927740: OUTPUT«decodeUTF8': bad data: '\187'[0, 1, 2, 3, 4]» | ||
..rakudo 95371a: OUTPUT«Array.new(1, 2, 3, 4, 5)» | |||
..niecza v11-22-gbebf7a0: OUTPUT«[1, 2, 3, 4, 5].list» | |||
TimToady | perl6: my @array = 0..4; @array »+&=» 1; print @array.perl; | ||
p6eval | rakudo 95371a: OUTPUT«Array.new(0, 1, 0, 1, 0)» | ||
..niecza v11-22-gbebf7a0: OUTPUT«[0, 1, 0, 1, 0].list» | |||
..pugs b927740: OUTPUT«decodeUTF8': bad data: '\187'decodeUTF8': bad data: '\187'***  Unexpected "\187+&=\187" expecting operator at /tmp/9U9d1Kszc9 line 1, column 26» | |||
GlitchMr | my @array = 0..4; @array »+&=» 1; print @array.perl; | 18:48 | |
perl6: my @array = 0..4; @array »+&=» 1; print @array.perl; | |||
p6eval | pugs b927740: OUTPUT«decodeUTF8': bad data: '\187'decodeUTF8': bad data: '\187'***  Unexpected "\187+&=\187" expecting operator at /tmp/6XgTyLVtlk line 1, column 26» | ||
..rakudo 95371a: OUTPUT«Array.new(0, 1, 0, 1, 0)» | |||
..niecza v11-22-gbebf7a0: OUTPUT«[0, 1, 0, 1, 0].list» | |||
GlitchMr | Makes sense... | ||
sorear | /:m ä/ is the same as /:m a/, right? | 18:54 | |
18:55
eviltwin_b left,
eviltwin_b joined
|
|||
moritz | yes | 18:55 | |
18:56
icwiener joined
|
|||
ingy | PerlJam: :) | 18:56 | |
19:00
geekosaur left,
AmazingPudding is now known as bonsaikitten
19:01
eviltwin_b is now known as geekosaur
|
|||
sorear | Perl 6 priorities for the month, partial list: * regex improvements, especially getting character classes in shape, logical \n ^^ $$ * debugger prototyping * native types * roles/6model convergence | 19:05 | |
S11 seems to have fallen off the list | |||
dalek | odel: f8c38a9 | diakopter++ | lua/runtime/ (7 files): more prep for integer index optimization |
19:07 | |
fsergot | Where You are looking for motivation and inspiration? :) | 19:10 | |
sorear | fsergot: cannot interpret. | 19:13 | |
daxim | DESPAIR.COM™ :-(™ DEMOTIVATIONAL POSTERS | 19:14 | |
dalek | odel: 698ab0f | diakopter++ | lua/runtime/Runtime/ (3 files): more method invocation conversion |
||
19:14
geekosaur left
19:15
geekosaur joined
19:16
colomon joined
|
|||
sorear | o/ colomon | 19:16 | |
colomon | \o | ||
sorear needs to dash in 0.5 ks | |||
colomon | I've had good luck with TagLib#. iTunes is behaving weirdly, but I'm pretty sure it's just iTunes suckage and not a problem with my tagging. | 19:17 | |
retagged 2000+ MP3 files overnight | 19:18 | ||
moritz | \o/ | ||
now if *that* isn't a production use of Perl 6 :-) | |||
diakopter | not quite a killer app though :S | 19:20 | |
I know; I demand too much | 19:21 | ||
19:21
stepnem left,
shinobicl joined
|
|||
moritz | no killer apps without apps first | 19:21 | |
sorear | I'll have to redesign char classes next | 19:25 | |
diakopter | sorear: do you plan to integrate with icu or something? | ||
sorear | (got a lovely elegant cclass implementation that is O(n**2) to build and O(log n) to search where n = source code expression length, will be sad to see it go.) | ||
diakopter: no | |||
bye^ | 19:26 | ||
19:26
am0c joined,
stepnem joined
19:27
colomon_Droid joined
|
|||
colomon_Droid | Sorry about starting to talk and then running away. | 19:28 | |
19:29
wolfman2000 joined
19:30
GlitchMr left
19:31
risou is now known as risou_awy
|
|||
colomon_Droid | I apologize for not writing a killer app in my spare time over the weekend. ;) | 19:31 | |
moritz | please chastise yourself appropriately :-) | ||
19:31
benabik joined
|
|||
colomon_Droid | I'll blog on the second script when I get the chance. Not much to it; "it just works". | 19:33 | |
19:33
geekosaur left
|
|||
masak | \o/ | 19:34 | |
colomon_Droid | Stop we lost ucfirst today? | 19:38 | |
19:39
geekosaur joined
19:41
wk joined
19:47
MayDaniel left
19:48
geekosaur left
19:49
geekosaur joined
|
|||
TimToady | colomon_Droid: yes, ucfirst cannot work correctly with lc as people expect, so it's best to remove the hazard | 19:54 | |
19:57
geekosaur left
|
|||
colomon_Droid | Why not? some letters can't be round tripped? | 19:57 | |
19:57
geekosaur joined
|
|||
TimToady | lc followed by ucfirst loses information in some languages | 19:59 | |
masak | what's the non-hazardous way to do it? | 20:00 | |
TimToady | the new camel gives the workaround ucfirst(substr($s,0,1)) . lc(substr($s,1)) | ||
but I'd rather just have a function that does it right in the first place | |||
masak | did you mean uc(substr($s, 0, 1)) ? | 20:03 | |
TimToady | no, I did not | ||
masak | it's unusual for a workaround to contain the thing worked around... | ||
20:03
daxim left
|
|||
TimToady | uc doesn't do titlecase; ucfirst does | 20:03 | |
(in p5) | |||
masak | ok. | ||
so if the workaround contains 'ucfirst', what's it a workaround for? I must've misunderstood that part. | 20:05 | ||
sbp | presumably ucfirst doesn't lc the rest | 20:07 | |
so ucfirst("EXAMPLE") gives EXAMPLE, not Example | |||
whereas ucfirst(substr($s,0,1)) . lc(substr($s,1)) gives Example for input EXAMPLE | |||
TimToady | it's a workaround for ucfirst(lc($s)), which doesn't always work | 20:08 | |
masak | aha. | ||
sbp | what does it fail on? | ||
20:09
muixirt left
|
|||
PerlJam | sbp: you could write a program that tells you. Just iterate all codepoints and output the ones where ucfirst(lc($s)) differs from ucfirst($s) | 20:12 | |
masak | PerlJam++ | ||
[Coke] | why not just have a tc, and kill all the *firsts. | ||
sbp | yeah, I'll just reinvent the wheel and sliced bread whilst I'm at it too | 20:13 | |
this is why we publish things. this data should be in a scientific journal! | |||
TimToady | [Coke]: that's more or less what I just did | ||
masak | tc++ | ||
TimToady | except I made it "titlecase" | ||
[Coke] | TimToady: Sehr güt. | 20:14 | |
TimToady | we might also borrow 'foldcase' from Perl 5 | ||
which doesn't get you anything decent to print, but is guaranteed to collate without regard to case | |||
PerlJam | sbp: It's one-liner-ish | 20:15 | |
sbp | I don't know any perl5 | ||
nor much perl6 | 20:16 | ||
PerlJam | oh. then never mind :) | ||
TimToady | sbp: tchrist++ keeps the list of Far More than Everything You Wanted to Know about Unicode, including such examples | ||
20:18
finanalyst left
20:20
colomon_Droid left
|
|||
colomon | TimToady++ | 20:20 | |
PerlJam | TimToady: once we've got titlecase and foldcase, it seems only natural that we obtain justincase :) | 20:25 | |
20:27
am0c left
20:31
alvis left
20:32
alvis joined
20:41
alvis left
|
|||
jnthn | moritz: #103112 looks like a binder bug; think I can see what's wrong too. Will patch. | 20:41 | |
20:44
wooden joined
20:46
pmurias left,
pmurias joined
20:47
geekosaur left
20:48
geekosaur joined
20:57
bluescreen10 left
21:00
kmwallio joined
21:04
geekosaur left,
geekosaur joined,
mj41 joined
21:08
wolfman2_ joined
21:10
cooper joined
21:11
wolfman2000 left
21:13
geekosaur left
|
|||
dalek | kudo/nom: 3a9ea78 | moritz++ | / (2 files): implement Any.ACCEPTS. Fixes RT #103032 |
21:13 | |
21:17
geekosaur joined,
cognominal_ joined
21:19
zby_home left,
cognominal left
21:21
kmwallio left
|
|||
masak | moritz++ | 21:23 | |
dalek | kudo/nom: ac39fbb | coke++ | t/spectest.data: Track failure mode. |
21:25 | |
[Coke] | moritz: that gets us slightly closer on S03-smartmatch/capture-signature.t | ||
moritz | [Coke]: the actual feature testes there is still NYI | 21:26 | |
TimToady | perl6: my $x = 1; for 1..10 { $x++; state $y = $x; say $y when 7 } | ||
p6eval | rakudo 95371a, niecza v11-22-gbebf7a0: OUTPUT«2» | ||
..pugs b927740: OUTPUT«***  Unexpected "when" expecting operator, ":", "," or "}" at /tmp/j2flQzwCV3 line 1, column 52» | |||
jnthn | moritz: That's a load of balls... :P | 21:27 | |
...actually, yeah, it's unimplemented :) | |||
TimToady | perl6: my $x = 1; for 1..10 { $x++; state $y = $x; say $y if $_ == 7 } | ||
p6eval | rakudo 95371a, niecza v11-22-gbebf7a0: OUTPUT«2» | ||
..pugs b927740: OUTPUT«8» | |||
moritz | not high priority | ||
TimToady | perl6: my $x = 1; for 1..10 { $x++; state $y = $x + 0; say $y if $_ == 7 } | 21:28 | |
p6eval | rakudo 95371a, niecza v11-22-gbebf7a0: OUTPUT«2» | ||
..pugs b927740: OUTPUT«8» | |||
[Coke] | at some point, we should probably get tickets opened for everything in roast marked 'nom regression'. | ||
TimToady | I guess pugs is just broke on state init | ||
21:30
cognominal_ left
|
|||
[Coke] sees someone complaining on p5p that the build is broken with a compiler released in 1998. | 21:32 | ||
[Coke] is glad we do not yet have that particular problem. | 21:33 | ||
geekosaur | I don't recall state ever being implemented in pugs | ||
21:35
wolfman2000 joined,
cognominal joined
21:36
jaldhar_ left
21:37
kmwallio joined,
wolfman2_ left
21:39
kmwallio left
21:45
kmwallio joined
|
|||
masak | geekosaur: well, it parses, at least. | 21:46 | |
geekosaur | yeh, my recollection is it parses but it behaves as "my" | ||
21:47
wolfman2000 left
|
|||
masak | pugs: my $x = 0; sub foo { state $y = $x + 1; $x = 42; say $y }; foo; foo | 21:48 | |
p6eval | pugs b927740: OUTPUT«143» | ||
21:48
simcop2387 left
|
|||
masak | seems so. | 21:48 | |
21:49
simcop2387 joined,
simcop2387 left,
simcop2387 joined
|
|||
PerlJam | well ... I don't think it behaves as "my", just that initialization doesn't happen properly. | 21:50 | |
21:52
cafesofie joined
|
|||
PerlJam | pugs: sub foo { state $x; $x++; }; say foo for 0..3; # let's see | 21:54 | |
p6eval | pugs b927740: OUTPUT«0123» | ||
21:55
y3llow_ joined,
pothos_ joined
21:57
pothos left,
pothos_ is now known as pothos,
y3llow left
21:58
y3llow_ is now known as y3llow
22:10
cognominal left,
cognominal joined
22:12
geekosaur left
22:13
geekosaur joined
|
|||
tadzik | goo.gl/rFL92 :) | 22:14 | |
jnthn | Hey, I recognize that guy! | 22:15 | |
tadzik | :) | 22:16 | |
masak | he seems to be doing a bird, not a plane. | ||
s/doing/mimicking/ | |||
perl6: class A { has Int $.S = 0 }; say (A.new, A.new, A.new).min(*.S) | |||
tadzik | I thought you were imitating a plane starting | ||
p6eval | pugs b927740: OUTPUT«*** No such method in class Num: "&S" at /tmp/YCnWRsGCnu line 1, column 60-63» | ||
..niecza v11-22-gbebf7a0: OUTPUT«Unhandled exception: Unable to resolve method min in class Parcel at /tmp/lPSZ4oS1Hz line 1 (mainline @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 2224 (ANON @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 2225 (module-CORE @ 58)  at /home… | |||
..rakudo ac39fb: OUTPUT«Method 'S' not found for invocant of class 'Num' in whatevercode <anon> at /tmp/ma1jkbAOOC:1 in method reify at src/gen/CORE.setting:3989 in method reify at src/gen/CORE.setting:3896 in method reify at src/gen/CORE.setting:3896 in method gimme at src/gen/… | |||
masak | Perl 6, I am disappoint. | 22:17 | |
22:17
Trashlord joined
|
|||
masak | look folks, we need to do something about Inf. | 22:17 | |
essentially, we need to solve the problem that Inf can be in a numeric, or string, or I-don't-even know context, and should basically just win in a comparison contest. | 22:18 | ||
tadzik | or lose | ||
masak | it should be biggest. | ||
tadzik | aye | ||
...like the caliber of my new rifle :> | |||
masak | or lexicographically last, or whatever-est. | ||
22:19
vmspb left
|
|||
tadzik | (in different circumstances I'd have said "that's what she said") | 22:19 | |
masak | this problem isn't even unsolvable (like heterogenous sort), we just haven't solved it satisfactorily. | ||
22:20
geekosaur left
|
|||
masak grumbles and find some way to work around it | 22:20 | ||
22:20
geekosaur joined
|
|||
masak | finds* | 22:25 | |
22:25
am0c joined
|
|||
jnthn | nom: say 42 ~~ /4/ | 22:30 | |
p6eval | nom ac39fb: OUTPUT«=> <4>» | 22:31 | |
22:32
kmwallio left
22:38
envi_ joined
|
|||
jnthn | So, I'm looking into the say "foo" & "a nice old foo" ~~ /foo/ issue | 22:45 | |
I discovered that the ACCEPTS in Regex took a topic of Mu | |||
22:46
cooper left
|
|||
jnthn | Then, looking deeper, I discovered that this is at least partly because Code.ACCEPTS also does | 22:46 | |
masak | I suspected that Regex.ACCEPTS might be taking Mu. | ||
by Liskov, it must, I guess. | |||
22:46
envi_ left
|
|||
jnthn | Yeah, but if I stop it doing so, Code.ACCEPTS swallows it and does something wful. | 22:47 | |
*awful | |||
masak | aye. | ||
rakudo: class A { has Int $.S = 0 }; say (A.new, A.new, A.new).min(*.S) | 22:49 | ||
p6eval | rakudo ac39fb: OUTPUT«Method 'S' not found for invocant of class 'Num' in whatevercode <anon> at /tmp/c4jjd930HH:1 in method reify at src/gen/CORE.setting:3989 in method reify at src/gen/CORE.setting:3896 in method reify at src/gen/CORE.setting:3896 in method gimme at src/gen/… | ||
masak | ok, I want to make a rakudobug out of this, but it's kinda either-or. | ||
jnthn | Does anyone know why we've ended up with the Code.ACCEPTS taking Mu? | ||
masak | either there's a bug in .min and we shouldn't use Inf there. | ||
or we're not good enough at handling Inf yet. | |||
thing is, pmichaud will probably put it in spec limbo if I submit it... | 22:50 | ||
...so maybe we should talk about it first. | |||
jnthn | masak: I'd prefer it's discussed first. It's an unfixable ticket otherwise. | ||
masak | jnthn: set it to Any and do a spectest :) | ||
jnthn: aye. | |||
I want to discuss it. | |||
I would love to Inf to DWIM in all the use cases we've thought up for it. | |||
jnthn | yeah...folks generally Mu stuff for a reason, that's all. | ||
bah! | 22:53 | ||
And then in Any we have | |||
multi method ACCEPTS(Any:D: Mu \$a) { self === $a } | |||
masak | :( | 22:56 | |
jnthn | Making them all take Any fixes your /foo/ bug | 22:57 | |
jnthn spectests | |||
sorear | TimToady: My perlfunc doesn't have a foldcase | 22:58 | |
TimToady: new in 5.14? | |||
o/ | 22:59 | ||
jnthn | ouch...loads of fail :S | ||
22:59
wolfman2000 joined
|
|||
jnthn | hmm. So some places had Mu on the $topic, others not. No apparent pattern. | 23:03 | |
jnthn wonders if it got put in one place and cargo culted or something. | |||
But removing them does make spectests fail :( | 23:05 | ||
23:05
ksi left
|
|||
jnthn | perl6: say (1, Mu, 2, 3).grep(*.defined) | 23:06 | |
p6eval | rakudo ac39fb: OUTPUT«1 2 3» | ||
..pugs b927740: OUTPUT«*** No such subroutine: "&Mu" at /tmp/1IskNBvilY line 1, column 5 - line 2, column 1» | |||
..niecza v11-22-gbebf7a0: OUTPUT«Unhandled exception: Nominal type check failed in binding anon_0 in ANON; got Mu, needed Any at /tmp/tKIGTnyOZF line 0 (ANON @ 0)  at /home/p6eval/niecza/lib/CORE.setting line 665 (Block.ACCEPTS @ 2)  at <unknown> line 0 (KERNEL grep @ 2)  at /home… | |||
jnthn | This is one case that works now but would break, for example. | ||
masak | it's not apparent to me why anyone would use Mu there. | 23:08 | |
lately I've been getting the impression that Mu is, one could say, outside the regular type system. at least the parts that the regular user should be bothered with. | |||
so using Mu in a list like that feels... wrong. | 23:09 | ||
jnthn | (Mu ~~ .defined) | 23:11 | |
Also fails | |||
23:11
pmurias left,
pmurias joined
|
|||
jnthn | niecza: say (Mu ~~ .defined) | 23:12 | |
p6eval | niecza v11-22-gbebf7a0: OUTPUT«Bool::False» | ||
TimToady | sorear: probably in 5.15, actually | ||
23:12
mj41 left
|
|||
dalek | odel: 71853d0 | diakopter++ | lua/ (31 files): more optimizations |
23:12 | |
jnthn | TimToady: Any thoughts on the ACCEPTS fun? :) | 23:14 | |
sorear | TimToady: howdoesitwork? | ||
23:17
envi_ joined
|
|||
masak | 'night, #perl6 | 23:26 | |
23:31
geekosaur left,
geekosaur joined
23:34
mattp_ left
23:35
mattp_ joined,
fsergot left,
fsergot joined
23:36
envi_ left
23:40
dual left
23:41
geekosaur left
23:42
benabik left
23:43
geekosaur joined
|