»ö« 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«1␤43␤»
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«0␤1␤2␤3␤»
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