Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-11-07

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:18 replore_ joined #perl6
00:26 dju joined #perl6
00:35 dalek 6model: 67be768 | diakopter++ | lua/runtime/Runtime/ (18 files):
00:35 dalek 6model: index all 94 ops; more indexing optimization prep
00:35 dalek 6model: review: https://github.com/diakopter/6model/commit/67be7681d0
00:38 dju joined #perl6
00:46 alvis joined #perl6
00:49 ggoebel joined #perl6
00:52 cognominal joined #perl6
01:09 hypolin joined #perl6
01:19 dalek 6model: 8ad222f | diakopter++ | lua/ (7 files):
01:19 dalek 6model: first indexing replacement: .STable [1]
01:19 dalek 6model: review: https://github.com/diakopter/6model/commit/8ad222fcf4
01:31 envi_ joined #perl6
01:44 whiteknight joined #perl6
02:13 dalek 6model: 6ad1c14 | diakopter++ | lua/ (6 files):
02:13 dalek 6model: FormWith
02:13 dalek 6model: review: https://github.com/diakopter/6model/commit/6ad1c14ad0
02:14 hypolin can't install panda on fedora 15 with rakudo nom. anyone know why?
02:14 hypolin error msg:
02:14 hypolin ===SORRY!===
02:14 hypolin protoregexes not yet implemented at line 10, near ";\ntoken va"
02:16 dalek rakudo/nom: 95371a6 | (Geoffrey Broadwell)++ | src/core/Str.pm:
02:16 dalek rakudo/nom: Substantially faster Str.trim*()
02:16 dalek rakudo/nom:
02:16 dalek rakudo/nom: In my tests:
02:16 dalek rakudo/nom:   ~24% faster Str.trim-leading()
02:16 dalek rakudo/nom:   ~4.5x faster Str.trim-trailing() and Str.trim()
02:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/95371a6ec5
02:16 japhb hypolin, that's a nom regression versus the previous branch
02:17 japhb panda is blocked on JSON which is blocked on a regex regression which is blocked on pmichaud's time.
02:20 hypolin japhb, tks
02:21 japhb hypolin, np
02:22 alc joined #perl6
02:24 clairvy_ joined #perl6
02:53 benabik joined #perl6
02:55 dalek 6model: cfa5cf0 | diakopter++ | lua/ (3 files):
02:55 dalek 6model: add MultiDispatch caching.  doesn't seem to improve microbenchmarks; maybe it's not working.
02:55 dalek 6model: review: https://github.com/diakopter/6model/commit/cfa5cf0a96
02:56 japhb Dear LazyRakudo: a backwards-searching version of pir::find_not_cclass() would make Str.trim-trailing() and Str.trim() much faster still.
03:20 sorear plead your case to #parrot.  with the recent changes in leadership you might even get it.
03:20 sorear or I guess it could go in perl6.ops
03:20 sorear clairvy_: hi
03:28 japhb sorear, do you have a link to the leadership changes?  I've been away from parrot for ~1.5 years
03:30 sorear no.
03:31 sorear ask some #parrot regulars
03:31 sorear kid51, cotto, whiteknight, etc
03:34 satyavvd joined #perl6
03:39 molaf joined #perl6
03:46 agentzh joined #perl6
04:07 wolfman2000 joined #perl6
05:13 orafu joined #perl6
05:20 [particle] joined #perl6
05:23 daniel-s joined #perl6
05:37 clairvy_ joined #perl6
05:39 odoacre joined #perl6
05:42 sorear clairvy_: ping
05:42 sorear -unrelated-
05:43 sorear I've been thinking about issues of "internal" versus "external" debuggers for Niecza/Perl6 in general
05:44 sorear 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:45 sorear 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 sorear 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 #perl6
05:46 sorear OTOH, there are some serious issues with implementing an internal debugger, because it has to share some resources with the debugee
05:47 sorear 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:48 sorear (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:49 sorear thoughts?  which kind of system do we want?
06:02 dalek 6model: ef39dd4 | diakopter++ | lua/ (3 files):
06:02 dalek 6model: files I forgot to add earlier
06:02 dalek 6model: review: https://github.com/diakopter/6model/commit/ef39dd4a1d
06:03 dalek 6model: 00f10c1 | sorear++ | lua/runtime/Init.lua:
06:03 dalek 6model: Commit improved table_desc and new debug_flat used to debug missing Mu
06:03 dalek 6model: review: https://github.com/diakopter/6model/commit/00f10c1567
06:03 sorear diakopter: I'm suprised you didn't write something like closure-converter
06:04 diakopter our commits crossed :)
06:04 sorear crossed?
06:04 sorear I committed after ef39dd4
06:05 diakopter just a joke
06:06 sorear diakopter: have anything to say about my wall of text?
06:08 * diakopter reads
06:15 diakopter both ;)
06:15 diakopter "I want everything"
06:16 diakopter nqplua: my $a := 10000; $a := $a - 1 while $a > 0; say("alive");
06:17 p6eval nqplua: OUTPUT«alive␤»
06:17 diakopter abysmal
06:18 diakopter sorear: I tried replacing all few-thousand occurrences of .CurrentContext with [1] but something broke somewhere.  The optimization worked with other substitutions though
06:20 diakopter 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
06:20 * sorear is working out an API for internal debuggers currently
06:24 diakopter sorear: do you get course credit for Niecza?
06:24 diakopter I mean, have you shown it to your profs
06:30 flussence joined #perl6
06:57 sorear diakopter: ...that never occurred to me.
06:58 dual joined #perl6
07:10 wtw joined #perl6
07:10 wtw joined #perl6
07:11 koban joined #perl6
07:17 mishin joined #perl6
07:18 dalek niecza: f0788e8 | sorear++ | lib/ (4 files):
07:18 dalek niecza: Small bugfixes, use correct form of Invoke for .net
07:18 dalek niecza: review: https://github.com/sorear/niecza/commit/f0788e87b2
07:18 dalek niecza: bebf7a0 | sorear++ | docs/TODO.debug:
07:18 dalek niecza: Add TODO.debug
07:18 dalek niecza: review: https://github.com/sorear/niecza/commit/bebf7a072e
07:18 * sorear -> sleep
07:22 muixirt joined #perl6
07:22 am0c joined #perl6
07:32 cognominal_ joined #perl6
07:33 mkramer joined #perl6
07:39 moritz perl6: say .5e1
07:39 p6eval pugs b927740, rakudo 95371a, niecza v11-20-gb962c2f: OUTPUT«5␤»
08:06 simcop2387 joined #perl6
08:12 skangas joined #perl6
08:14 daniel-s joined #perl6
08:29 daxim joined #perl6
08:34 masak morning, #perl6
08:37 simcop2387 joined #perl6
08:47 mj41 joined #perl6
08:51 wk joined #perl6
09:06 muixirt hi guys, how would pugs into the feature comparison matrix?
09:07 muixirt *fit into
09:08 packetknife joined #perl6
09:09 moritz muixirt: it implements an out-of-date spec in many, many features
09:09 moritz and also all of them incomplete
09:10 clairvy_ joined #perl6
09:13 muixirt hi moritz , and in what timeframe (roughly) there will be a rakudo star release?
09:13 muixirt it seems, with the exception of regexes, nom is now equal or better compared to rakudo 2011.07
09:15 moritz muixirt: yes, but the regexes make us regress on JSON::Tiny, and panda (the module installer) depends on it
09:15 moritz so our infrastructure is broken.
09:16 moritz the ETA is "when pmichaud gets around to implement proto regexes'
09:20 muixirt and pmichaud is the only expert on that topic?
09:20 dakkar joined #perl6
09:20 moritz seems like :(
09:25 muixirt is it fair to say that nom isn't as tightly dependent on parrot as previous versions?
09:25 muixirt not sure if 'dependent' is the right word
09:25 moritz it's not as tightly coupled as previous versions, but it still depends on parrot
09:30 mkramer left #perl6
09:33 simcop2387 joined #perl6
09:37 muixirt it seems there's no branch for proto regexes
09:38 envi_ joined #perl6
10:10 satyavvd_ joined #perl6
10:13 snarkyboojum muixirt: there might be relevant commits in nqp
10:14 muixirt snarkyboojum: yes, i always forget about nqp :-)
10:16 muixirt the nfa branch?
10:16 satyavvd_ joined #perl6
10:17 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 tadzik or, generally, parse http://feather.perl6.nl:3000/projects.json no matter what :)
10:22 snarkyboojum I guess the benefit of JSON is that it's a fairly standard data interchange format :)
10:25 tadzik the downside is that we're short of parsers for 2-3 months now :)
10:26 moritz tadzik: it wouldn't be hard to switch JSON::Tiny to not use proto regexe
10:26 moritz s
10:26 moritz I just think it's the wrong approach
10:27 snarkyboojum did ingy have a YAML parser that still worked? ;)
10:27 snarkyboojum moritz: aye - the JSON::Tiny code is rather beautiful
10:27 dalek nqp/bigint: de465a4 | moritz++ | tools/build/Makefile.in:
10:27 dalek nqp/bigint: make nqp installable again
10:27 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/de465a4bf7
10:27 * moritz doesn't know if the YAML parser ever worked fully
10:31 tadzik moritz: I just think we need a working panda
10:31 * snarkyboojum agrees :D
10:32 snarkyboojum even if it uses JSON:Hack for a time :P (maybe)
10:32 mkramer joined #perl6
10:33 masak working panda seems like a reasonable request.
10:33 masak in what way is panda dependent on protoregexes? is it at all workaroundable?
10:34 tadzik panda needs to parse http://feather.perl6.nl:3000/projects.json, end of story
10:35 tadzik I have a not-really-worky parser, can show off, I don't really understand the way in which it's broken
10:35 tadzik the grammar works, action methods don't
10:35 snarkyboojum sounds like moritz knows a way to make JSON::Hack work without protos too ;)
10:37 tadzik nom: https://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…
10:37 tadzik ...huh
10:37 tadzik oh, that's right
10:38 tadzik nom: https://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/…
10:38 tadzik that's it
10:39 masak oh right, JSON::Tiny.
10:40 masak 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 masak moritz: I have a question: what's https://github.com/moritz/json/blob/master/lib/JSON/Tiny/Grammar.pm#L36 and why is it commented out? does it correspond to failing tests somewhere?
10:41 masak I simply removed that line in my slides. :) I also removed the semicolons after the 'token value' blocks.
10:42 snarkyboojum with a disclaimer - no tiny jsons were harmed in the making of these slides
10:42 masak ;)
10:43 tadzik tiny jasons
10:44 snarkyboojum hehe pony argonauts
10:53 simcop2387 joined #perl6
10:53 simcop2387 joined #perl6
10:54 moritz masak: the whole token str should just be the commented-out line
10:54 moritz 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.
10:57 masak 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 masak usually it's a great opportunity to explain something important going on in that piece of code.
11:05 simcop2387 joined #perl6
11:06 ethndbst joined #perl6
11:07 moritz you're right, at least a reference to the RT ticket would have been nice
11:34 baest joined #perl6
11:35 PZt joined #perl6
11:35 domidumont joined #perl6
11:35 envi_ joined #perl6
11:35 SHODAN joined #perl6
11:36 ribasushi joined #perl6
11:37 ashleydev joined #perl6
11:37 mathw joined #perl6
11:37 breinbaas joined #perl6
11:37 mls joined #perl6
11:37 rhr joined #perl6
11:37 szabgab joined #perl6
11:42 shachaf joined #perl6
11:46 simcop2387 joined #perl6
11:52 satyavvd joined #perl6
11:56 tadzik btw, a friendly pair of eyes on https://gist.github.com/1344631 would be greatly appreciated
11:56 tadzik b: https://gist.github.com/1344631
11:57 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: https://gist.github.com/1344631
11:57 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/…
11:57 tadzik *sniff sniff*, smells like a regression
11:58 clairvy_ joined #perl6
12:02 daxim joined #perl6
12:10 vmspb joined #perl6
12:12 [Sec] joined #perl6
12:14 simcop2387 joined #perl6
12:16 Psyche^ joined #perl6
12:28 snarkyboojum b: https://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 => "[\{\"…
12:28 snarkyboojum oops - looks up a little bit
12:28 mikemol joined #perl6
12:31 snarkyboojum niecza: https://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:33 simcop2387 joined #perl6
12:38 kranius hello Perl6
12:38 moritz hi kranius
12:38 cognominal___ joined #perl6
12:39 masak hi kranius
12:43 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___ joined #perl6
12:46 cognominal_ joined #perl6
12:50 [Sec] joined #perl6
12:58 koban left #perl6
12:59 vmspb joined #perl6
13:03 jlaire joined #perl6
13:22 bluescreen10 joined #perl6
13:34 satyavvd joined #perl6
13:43 simcop2387 joined #perl6
13:48 [Coke] Do any other perl6 bits want an RT queue?
13:48 [Coke] Or is everyone else happy with wherever they landed?
13:49 [Coke] (niecza, pugs, spec, roast, nqp, 6model...)
13:58 masak looks like a happy system to me.
13:58 masak I've mostly used the RT/perl6 and Niecza queues so far.
13:58 [Coke] I ask because there's talk of an upgrade to RT4, which would be a great time for some queue juggling.
14:00 masak aha.
14:02 masak 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␤»
14:02 p6eval ..niecza v11-22-gbebf7a0: OUTPUT«START did run␤»
14:02 p6eval ..rakudo 95371a: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&START' called (line 1)␤»
14:02 masak oh right.
14:03 masak 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␤»
14:03 p6eval ..rakudo 95371a: OUTPUT«Any()␤»
14:04 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:06 envi_ joined #perl6
14:06 satyavvd joined #perl6
14:07 moritz [Coke]: I'm not aware of anybody needing additional queues, but of course I can't speak for everybody
14:08 * moritz finds niecza's and pugs' behaviour useful.
14:11 george_z0rwell joined #perl6
14:11 mkramer1 joined #perl6
14:12 mattp_ joined #perl6
14:12 abercrombie joined #perl6
14:12 felher joined #perl6
14:12 baest_ joined #perl6
14:12 [particle]1 joined #perl6
14:12 mux joined #perl6
14:12 cognominal joined #perl6
14:13 c1sung joined #perl6
14:13 jaldhar_ joined #perl6
14:13 wolfman2000 joined #perl6
14:13 Util joined #perl6
14:13 takesako joined #perl6
14:13 shachaf_ joined #perl6
14:13 slavik1 joined #perl6
14:14 djanatyn joined #perl6
14:14 cirne100 joined #perl6
14:14 nsh_ joined #perl6
14:14 Reaganomicon joined #perl6
14:14 y3llow joined #perl6
14:14 moritz_ joined #perl6
14:15 spacebat joined #perl6
14:15 envi_ joined #perl6
14:15 ashleydev joined #perl6
14:15 daniel-s joined #perl6
14:15 plobsing joined #perl6
14:15 pmurias joined #perl6
14:17 nine joined #perl6
14:17 envi_|2 joined #perl6
14:17 simcop2387 joined #perl6
14:17 [Sec] joined #perl6
14:17 daxim joined #perl6
14:17 SHODAN joined #perl6
14:17 odoacre joined #perl6
14:17 dju joined #perl6
14:17 nebuchadnezzar joined #perl6
14:17 avar joined #perl6
14:17 gfldex joined #perl6
14:17 preflex joined #perl6
14:17 japhb joined #perl6
14:17 itz joined #perl6
14:17 overrosy joined #perl6
14:17 Woodi joined #perl6
14:17 jrockway joined #perl6
14:17 ingy joined #perl6
14:18 Tene joined #perl6
14:18 Tene joined #perl6
14:18 lestrrat joined #perl6
14:18 Lorn joined #perl6
14:19 phenny joined #perl6
14:19 ingy joined #perl6
14:19 pothos_ joined #perl6
14:21 p6eval joined #perl6
14:22 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:22 [Coke] moritz_: flipping it around, do we want to move rakudo's issues to github?
14:22 simcop2387 joined #perl6
14:22 masak it's not so much "find it useful" as "find it consistent", IMO.
14:22 [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:23 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 Util joined #perl6
14:23 moritz_ masak: what exactly does "inline" mean here? that it's not a separate scope?
14:23 s1n1 joined #perl6
14:23 pmichaud joined #perl6
14:23 * masak doesn't like that github conflates "fixed" and "closed"
14:23 lestrrat joined #perl6
14:24 masak moritz_: in context, I read it as meaning "not in its own phase", "not temporally displaced".
14:24 localhost joined #perl6
14:24 tokuhirom3 joined #perl6
14:24 moritz_ but then it's not a phaser, isn't it?
14:24 japhb joined #perl6
14:25 odoacre joined #perl6
14:27 molaf joined #perl6
14:27 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
14:27 dalek mu: faa1b86 | jimmy++ | docs/zh-cn/syn/S02-bits.pod:
14:27 dalek mu: fixed small wording
14:27 dalek mu: review: https://github.com/perl6/mu/commit/faa1b86127
14:27 dalek nqp/bigint: 5b2d884 | moritz++ | / (3 files):
14:27 dalek nqp/bigint: bigint bitwise negation
14:27 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/5b2d884027
14:28 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 masak or perhaps "as late as reasonable" :)
14:28 masak it has something to do with seeing other values.
14:28 masak hold on, I'll quote ya.
14:29 masak The semantics of C<INIT> and C<START> are not equivalent to each
14:29 masak other in the case of cloned closures.  An C<INIT> only runs once for
14:29 masak all copies of a cloned closure.  A C<START> runs separately for each
14:29 masak clone, so separate clones can keep separate state variables
14:29 masak er. that's not what I wanted... :)
14:30 masak Even in the absence of closure cloning, C<INIT> runs before the
14:30 masak mainline code, while C<START> puts off the initialization till the
14:30 masak last possible moment, then runs exactly once, and caches its value
14:30 masak for all subsequent calls [...]
14:30 masak In particular, this means that C<START> can make use of any parameters
14:30 masak passed in on the first call, whereas C<INIT> cannot.
14:30 masak there we go.
14:30 moritz "then runs exactly once"
14:30 moritz so it doesn't run 0 times
14:30 moritz which is how rakudo implements it
14:30 masak that's a funny bit to pull out of that quote :)
14:31 masak read the rest of the quote... :)
14:31 * moritz does
14:31 masak (I agree that it's up for interpretation, but the evidence seem to be leaning in Rakudo's favour.)
14:32 masak s/seem/seems/
14:32 sayu joined #perl6
14:32 moritz anyway, I don't see why the second invocation of a routine can't count as the "last possible moment"
14:33 masak it could. question is if it does.
14:33 masak I'd be very happy to record this as a rakudobug. I'm just not sure what's the correct interpretation.
14:34 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.
14:35 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.
14:35 moritz it's a bit like   lazy BLOCK
14:35 moritz so that form needs to remember if it has been reified anyway
14:36 PacoLinux joined #perl6
14:36 [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:38 [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:40 masak oh, moritz++ submitted it as a rakudobug?
14:42 masak well, it's basically a case that the spec doesn't seem to address. at least not very clearly.
14:42 masak 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 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:44 pmurias joined #perl6
14:47 mj41 joined #perl6
14:47 masak wohoo, nine++ got a commitbit! \o/
14:49 ethndbst joined #perl6
15:02 Sarten-X joined #perl6
15:04 alvis joined #perl6
15:12 fsergot joined #perl6
15:12 fsergot hi! o/
15:12 apejens joined #perl6
15:12 PerlJam good morning #perl6
15:17 sayu joined #perl6
15:18 masak greetings, fsergot & PerlJam
15:19 masak 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␤»
15:19 masak ooh :)
15:22 masak 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␤»
15:22 masak b: say "foo" & "a nice old foo" ~~ /foo/
15:22 p6eval b 1b7dd1: OUTPUT«Bool::True␤»
15:22 masak niecza: say "foo" & "a nice old foo" ~~ /foo/
15:22 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)>)␤»
15:23 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…
15:23 * masak submits rakudobug
15:24 HarryS joined #perl6
15:26 ethndbst joined #perl6
15:26 simcop2387 joined #perl6
15:26 am0c joined #perl6
15:31 daniel-s joined #perl6
15:35 GlitchMr joined #perl6
15:42 mkramer1 left #perl6
15:43 PZt joined #perl6
15:51 DarthGandalf joined #perl6
15:54 masak hm. somehow I had missed http://blogs.perl.org/users/randal_l_schwartz/2011/08/a-compelling-reason-for-perl6.html
15:55 masak nice article by RandalSchwartz.
15:55 tadzik once again this "when you get async io, you'll get a mojolicious port"
15:55 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.
15:56 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
15:56 masak right.
15:56 daxim damn, you both type fast
15:56 masak daxim: it's from August.
15:56 daxim that's not what I mean
15:56 simcop2387 joined #perl6
15:57 masak oh, ok.
15:57 __sri tadzik: the most recent brick wall i hit was documentation
15:57 daxim so, "aol"
15:57 masak here are the corresponding HN comments: http://www.reddit.com/r/perl/comments/jhtj5/a_compelling_reason_for_perl6_by_randal_schwartz/
15:57 PerlJam merlyn just reframed the "killar app" argument for perl 6 but didn't have much imagination on what that app might be :)
15:57 masak __sri: anything we can do to help?
15:57 masak 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 :)
15:58 PerlJam exactly
15:58 masak __sri: that will eventually be in place, but not soon.
15:58 * masak .oO( then again, if we make it a CQRS-based web framework... )
15:59 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 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 #perl6
16:00 PerlJam a *possible* plugin component
16:00 __sri ultimately the equivalent to everything perldoc offers for perl5
16:00 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 #perl6
16:00 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 masak PerlJam: more people should probably think that way.
16:01 PerlJam indeed
16:01 MayDaniel joined #perl6
16:01 PerlJam All perl 6 needs is the right confluence of "right thinking" people with enough tuits to make something interesting.
16:01 PerlJam :-)
16:02 __sri many web apps already work that way
16:02 __sri business logic is abstracted to the model layer
16:02 fsergot interesting discussion :)
16:03 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:04 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 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:05 PerlJam finanalyst: what isn't parsing it?
16:05 cirne100 joined #perl6
16:05 finanalyst rakudo
16:05 finanalyst star
16:05 PerlJam finanalyst: which .... ah
16:06 masak rakudo: class MyClass {}; sub x (MyClass $a, Num $b, Str $c) {}; say "alive"
16:06 p6eval rakudo 95371a: OUTPUT«alive␤»
16:06 masak finanalyst: worksforme
16:06 PerlJam star: class MyClass {}; sub x (MyClass $a, Num $b, Str $c) {}; say "alive"
16:06 p6eval star 2011.04: OUTPUT«alive␤»
16:06 PerlJam doubly so
16:06 masak finanalyst: please be more specific :)
16:06 masak finanalyst: (are you perhaps trying to use MyClass before declaring it?)
16:07 masak star: sub x (MyClass $a, Num $b, Str $c) {}; class MyClass {}; say "alive"
16:07 fsergot finanalyst: or show us your code. :)
16:07 p6eval star 2011.04: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 22, near " $a, Num $"␤»
16:08 fsergot nom: 1;
16:08 p6eval nom 95371a:  ( no output )
16:08 fsergot why nom, rakudo and star? :)
16:08 fsergot theres new branch?
16:08 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.
16:09 masak fsergot: 'star' is the release, but nom/rakudo is HEAD.
16:09 PerlJam finanalyst: in short ... let's see the code :)
16:09 fsergot masak, thanks :)
16:14 simcop2387 joined #perl6
16:14 fsergot masak++
16:15 cirne100 joined #perl6
16:17 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:20 masak finanalyst: did you manage to solve your troubles?
16:22 sayu joined #perl6
16:27 finanalyst masak: sorry got called away.
16:28 sorear good * #perl6
16:28 masak sorear! \o/
16:28 TimToady sorear: note that Unicode basically consideres \r\n to be one grapheme these days
16:28 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?
16:28 finanalyst sorry all. typo. no problem now
16:29 masak good thing it wasn't a deep problem :)
16:30 sorear masak: niecza interprets START foo; as unless (state $)++ { foo }
16:31 masak hm.
16:31 masak that explains its behavior.
16:32 sorear TimToady: things I am still wondering about -
16:32 sorear 1. does "\n" always mean "\cJ" or should it be OS dependant?
16:32 mkramer joined #perl6
16:33 TimToady in double quotes, always \cJ
16:33 TimToady only possible exception is ancient MacOS
16:33 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.
16:33 finanalyst was responding to masak
16:33 TimToady but even Microsoft has always treated \n as \cJ in a text file
16:34 TimToady since the \cMs are weeded out
16:35 sorear I guess that means we need EOL conversion on write.  For roundtripping that probably implies EOL conversion on read too
16:35 simcop2387 joined #perl6
16:35 TimToady but \n as a matcher can always allow optional \r on the front
16:36 TimToady including in character classes
16:36 TimToady well, assuming the hypothetical grapheme level that nobody does yet
16:36 TimToady we don't want to be stuck at the codepoint level forever
16:37 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
16:38 sorear I now need to study how "SS" =~ /[ß]/i works
16:38 sorear apparently P5 can, in some cases, match two graphemes from one char class
16:38 TimToady S05:688 specs \n directly against ts18
16:39 TimToady 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:40 TimToady 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 TimToady hence CRLF is considered a grapheme now
16:41 TimToady 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
16:41 finanalyst I thought Int would be coerced into Num
16:42 geekosaur r* has missed a couple of releases now, hasn't it?  so it's a bit behind rakudo
16:42 jnthn finanalyst: no
16:42 phenny jnthn: 12:43Z <moritz> tell jnthn that rakudo passes spectests on top of nqp/bigint branch
16:42 masak finanalyst: no, there's no coercion between those two types.
16:42 jnthn moritz: OK, great :)
16:42 jnthn evening, folks :)
16:43 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?
16:43 TimToady sorear: in any case, a character class is really more of an alternation, and doesn't care about the meaning of . unless negated
16:43 TimToady there is no guarantee that case conversions are round-trippable in Unicode
16:43 finanalyst masak: does this mean I have to code every coercion from Int to Num?
16:44 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
16:44 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
16:45 masak finanalyst: Real, for example.
16:46 finanalyst masak: thanx
16:46 masak rakudo: sub foo(Real $r) { say $r.WHAT }; foo 42; foo pi
16:46 p6eval rakudo 95371a: OUTPUT«Int()␤Num()␤»
17:00 * masak decommutes
17:01 pmurias joined #perl6
17:22 sorear *blink*
17:23 * sorear notices ANYOF_FOLD_SHARP_S in Perl 5
17:23 sorear apparently, "SS" =~ /[ß]/i is *special cased* to work
17:24 daxim when I become emperor of the world, I'll release an update to unicode that removes the ss ←→ ß casing distinction
17:25 ksi joined #perl6
17:25 huf just destroy unicode, rename ascii as unicode and then kill anyone who doesnt want to use the new and improved unicode
17:25 huf if you're emperor, why dream small?
17:26 simcop2387 joined #perl6
17:26 sorear too much chance of 3 billion Chinese, Indians, and Arabs mounting an insurrection
17:26 sorear just because you're emperor doesn't mean you can't be overthrown
17:26 huf eh, if a few billion people can stop you, you're hardly emperor of the world :D
17:27 huf sorear: ban all tall buildings and cliffs so if you do get overthrown, it doesnt hurt too much
17:27 huf also cover streets with cushions, i guess
17:27 sorear .u CAPITAL LETTER SHARP S
17:27 phenny U+1E9E LATIN CAPITAL LETTER SHARP S (ẞ)
17:28 sorear daxim: make ß uppercase to this
17:28 sorear huf: what if I get run over?
17:30 huf sorear: put cushions on the underside of things too?
17:31 huf the cushion and pillowmaker industry would support you to the death
17:35 pmurias sorear: why would adding a new external debugger require changes to the compiler?
17:35 pmurias sorear: a new external debugger could reuse the same API?
17:35 eviltwin_b joined #perl6
17:36 mberends joined #perl6
17:38 dalek specs: bbb2524 | larry++ | S32-setting-library/Str.pod:
17:38 dalek specs: deem lcfirst and ucfirst useless, add titlecase
17:38 dalek specs: review: https://github.com/perl6/specs/commit/bbb2524140
17:40 eviltwin_b_ joined #perl6
17:41 TimToady note that $s.lc.ucfirst is not capable of capitalizing correctly, since lc loses info needed to choose appropriate titlecase
17:41 TimToady and lcfirst was always rather useless
17:43 [Coke] if perl 6 had a successful web framework, I could argue for using it at work.
17:44 PerlJam [Coke]: define "successful"
17:44 [Coke] PerlJam: no, I'm just quoting a previous send.
17:44 PerlJam oh.
17:45 vmspb joined #perl6
17:49 dsrogers joined #perl6
17:49 MayDaniel joined #perl6
17:50 eviltwin_b joined #perl6
17:51 pmurias sorear: do you think writing a Devel::ebug compatible interface to the niecza debugger is a sane idea?
17:51 pmurias sorear: so that Devel::ebug frontends can work for both perl5 and perl6?
17:51 awwaiid that sounds fun
17:53 eviltwin_b joined #perl6
17:54 awwaiid I'm looking to update Devel::ebug, btw. I just did a release that fixed the test suite a little
17:55 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:56 fridim_ joined #perl6
17:56 awwaiid and I can't get the ebug http interface to compile (catalyst app). but I'm working on a possible replacement
17:58 Chillance joined #perl6
17:58 eviltwin_b joined #perl6
17:59 sorear pmurias: never heard of Devel::ebug prior to today.
18:00 pmurias it seems to be more robust than the builtin debugger and has a wx and a pretty http interface
18:01 awwaiid I haven't tried the wx one yet, does it work?
18:01 awwaiid I crossed the threshold when I found that Devel::ebug doesn't crash in the face of Coro :)
18:02 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
18:03 awwaiid k
18:03 awwaiid sorear, I've only done a small test-suite bugfix release so far. I don't even know what's missing
18:03 awwaiid 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?
18:04 awwaiid right
18:04 awwaiid acme
18:04 * sorear wonders if ey is looking at an NMU
18:04 awwaiid I haven't even added my name to the pod yet, actually
18:05 awwaiid NMU?
18:05 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
18:06 awwaiid acme gave me comaint
18:06 sorear .u TITLECASE
18:06 phenny sorear: Sorry, no results for 'TITLECASE'.
18:06 sorear .u IJ
18:06 phenny U+C78A HANGUL SYLLABLE IJ (잊)
18:06 pmurias sorear: Leon Brocard is the author
18:06 moritz .u title
18:06 phenny moritz: Sorry, no results for 'title'.
18:06 awwaiid yeah, Leon
18:06 awwaiid but the last release was in 2008 and it looked like it needed some love
18:07 pmurias sorear: the protocol seems to be just sending commands as yaml
18:07 pmurias sorear: i was thinking of just emulating the interface and having our own protocol
18:07 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
18:09 awwaiid on the down side, that would involved editing any front-ends to be aware of it, eh?
18:09 sorear that's nonsense.  Devel::ebug frontends have to be written in Perl _5_
18:10 awwaiid yeah. settling on the wire protocol would let you write front-ends AND back-ends in other systems
18:11 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?␤»
18:11 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
18:11 p6eval nom 95371a: OUTPUT«A:D:␤A:D:␤»
18:11 awwaiid (I personally would prefer JSON over YAML :) )
18:12 zby_home joined #perl6
18:12 pmurias sorear: i agree
18:12 ingy awwaiid: JSON *is* YAML :)
18:13 * awwaiid shakes fist at ingy and howls at the sky
18:13 * ingy purrs
18:13 ingy *lick* *lick*
18:13 sorear exception: JSON can be parsed algorithmically
18:14 awwaiid and YAML can't? I thought that's exactly what YAML.pm does :)
18:15 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)
18:15 * [Coke] gets some popcorn and gets ready for a discussion!
18:15 sorear having maintained STD.pm6's YAML subsystem I don't want to touch YAML for any cross-language purpose
18:15 moritz at least if you've heard of Liskov
18:16 tadzik what is a subset of what, again?
18:16 moritz jSON is subset of YAML
18:16 sorear ignore me at your own peril.  I won't stop you.
18:16 ingy sorear: understood but I hope to change your mind soon :)
18:16 awwaiid sorear, point being that if a cross-system wire protocol is what you're after, I'm open to reconstruction / expansion
18:17 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
18:18 awwaiid never heard of it before :)
18:18 * ingy saunters back to #yaml :)
18:19 sorear moritz: titlecase(ß) = "Ss"
18:19 pmurias sorear: the java debug wire protocol seems to be a binary format
18:19 ingy sorear: I agree with you actually, which is why I've spearheaded yaml2
18:19 sorear pmurias: it is
18:19 sorear ingy: ooh, do tell
18:19 sorear ingy: link?
18:20 GlitchMr joined #perl6
18:20 ingy https://github.com/yaml/YAML2/wiki
18:20 alvis joined #perl6
18:20 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
18:20 daxim more people need to know about that
18:21 ingy related, to yaml2 is the Pegex YAML grammar and implentations.
18:22 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
18:22 ingy so promotion is being worked on
18:23 moritz phenny: U+03C2
18:23 moritz .u U+03C2
18:23 phenny moritz: Sorry, no results
18:23 PerlJam TimToady: I guess I'm having trouble seeing what other transformations you'd use to "titlecase" something
18:24 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
18:25 sorear 3c2 and 3c3 both uppercase to 3a3
18:26 * sorear finishes reading the yaml2 wiki
18:27 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 ingy I actually came up with the idea sitting on TimToady++ sofa. :)
18:28 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 ;)
18:29 ingy 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:30 ingy PerlJam: I know you were joking, but good question
18:32 PerlJam ingy: I imagine you get enough flak about YAML that I don't need to add to it, so I apologize.
18:32 PerlJam :-)
18:34 eviltwin_b joined #perl6
18:34 PerlJam (that's one of the cultural lessons that #perl6 learned better than most:  jokes can hurt too)
18:35 sorear Is <[ \x \y \z ]> exactly equivalent to [ \x | \y | \z ]?
18:36 TimToady generally, but maybe not specifically :)
18:36 TimToady depends on what you mean by your backslashes and random letters
18:37 sorear placeholders
18:37 TimToady placeholders for what, is the question.  \x is a syntax error, for instance
18:38 sorear wondering if I can define character classes as (except for LTM) the naive equivalent in alternations and conjunctions
18:38 sorear any backslash sequence
18:38 sorear hmm
18:38 TimToady in general, once you've reduced to to a set of literal values, yes
18:39 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 TimToady unless people will interpret them as separate alternatives, I suppose
18:40 TimToady education is possible there
18:41 eviltwin_b joined #perl6
18:41 TimToady certainly we can distintinguish \d[13,10] syntactically from \d13 \d10
18:43 TimToady well, actually, \c does that already
18:43 TimToady not \d
18:44 TimToady S02:4063
18:44 TimToady actually has \c[13,10] there
18:44 GlitchMr perl6: my @array = 0..4; @array»+&=1; print @array.perl;
18:44 p6eval rakudo 95371a: OUTPUT«===SORRY!===␤Missing « or » at line 1, near "1; print @"␤»
18:44 p6eval ..pugs b927740: OUTPUT«decodeUTF8': bad data: '\187'␤*** ␤    Unexpected "\187+&="␤    expecting "::", term postfix or operator␤    at /tmp/FCSwezLluM line 1, column 25␤»
18:44 p6eval ..niecza v11-22-gbebf7a0: OUTPUT«[31m===[0mSORRY![31m===[0m��Missing « or » at /tmp/gWaCpGt99W line 1:�------> [32mmy @array = 0..4; @array»+&=[33m�[31m1; print @array.perl;[0m��Parse failed��»
18:45 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␤»
18:45 p6eval ..niecza v11-22-gbebf7a0: OUTPUT«[31m===[0mSORRY![31m===[0m��Missing « or » at /tmp/YRwtDwySW0 line 1:�------> [32mmy @array = 0..4; @array»+=[33m�[31m1; print @array.perl;[0m��Parse failed��»
18:45 p6eval ..rakudo 95371a: OUTPUT«===SORRY!===␤Missing « or » at line 1, near "1; print @"␤»
18:45 GlitchMr I'm doing something wrong
18:45 TimToady not putting spaces around your infix
18:45 geekosaur joined #perl6
18:46 TimToady and only giving one end of the infix hyper
18:46 GlitchMr »++...
18:46 TimToady that's a postfix
18:46 TimToady +& is an infix
18:47 GlitchMr +=?
18:47 GlitchMr +&=?
18:47 GlitchMr Or what?
18:47 TimToady is also an infix
18:47 GlitchMr perl6: my @array = 0..4; @array»++; print @array.perl;
18:47 p6eval pugs b927740: OUTPUT«decodeUTF8': bad data: '\187'␤[0, 1, 2, 3, 4]»
18:47 p6eval ..rakudo 95371a: OUTPUT«Array.new(1, 2, 3, 4, 5)»
18:47 p6eval ..niecza v11-22-gbebf7a0: OUTPUT«[1, 2, 3, 4, 5].list»
18:47 TimToady perl6: my @array = 0..4; @array »+&=» 1; print @array.perl;
18:47 p6eval rakudo 95371a: OUTPUT«Array.new(0, 1, 0, 1, 0)»
18:47 p6eval ..niecza v11-22-gbebf7a0: OUTPUT«[0, 1, 0, 1, 0].list»
18:47 p6eval ..pugs b927740: OUTPUT«decodeUTF8': bad data: '\187'␤decodeUTF8': bad data: '\187'␤*** ␤    Unexpected "\187+&=\187"␤    expecting operator␤    at /tmp/9U9d1Kszc9 line 1, column 26␤»
18:48 GlitchMr my @array = 0..4; @array »+&=» 1; print @array.perl;
18:48 GlitchMr perl6: my @array = 0..4; @array »+&=» 1; print @array.perl;
18:48 p6eval pugs b927740: OUTPUT«decodeUTF8': bad data: '\187'␤decodeUTF8': bad data: '\187'␤*** ␤    Unexpected "\187+&=\187"␤    expecting operator␤    at /tmp/6XgTyLVtlk line 1, column 26␤»
18:48 p6eval ..rakudo 95371a: OUTPUT«Array.new(0, 1, 0, 1, 0)»
18:48 p6eval ..niecza v11-22-gbebf7a0: OUTPUT«[0, 1, 0, 1, 0].list»
18:48 GlitchMr Makes sense...
18:54 sorear /:m ä/ is the same as /:m a/, right?
18:55 eviltwin_b joined #perl6
18:55 moritz yes
18:56 icwiener joined #perl6
18:56 ingy PerlJam: :)
19:05 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 sorear S11 seems to have fallen off the list
19:07 dalek 6model: f8c38a9 | diakopter++ | lua/runtime/ (7 files):
19:07 dalek 6model: more prep for integer index optimization
19:07 dalek 6model: review: https://github.com/diakopter/6model/commit/f8c38a9da5
19:10 fsergot Where You are looking for motivation and inspiration? :)
19:13 sorear fsergot: cannot interpret.
19:14 daxim DESPAIR.COM™ :-(™ DEMOTIVATIONAL POSTERS
19:14 dalek 6model: 698ab0f | diakopter++ | lua/runtime/Runtime/ (3 files):
19:14 dalek 6model: more method invocation conversion
19:14 dalek 6model: review: https://github.com/diakopter/6model/commit/698ab0febb
19:15 geekosaur joined #perl6
19:16 colomon joined #perl6
19:16 sorear o/ colomon
19:16 colomon \o
19:16 * sorear needs to dash in 0.5 ks
19:17 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:18 colomon retagged 2000+ MP3 files overnight
19:18 moritz \o/
19:18 moritz now if *that* isn't a production use of Perl 6 :-)
19:20 diakopter not quite a killer app though :S
19:21 diakopter I know; I demand too much
19:21 shinobicl joined #perl6
19:21 moritz no killer apps without apps first
19:25 sorear I'll have to redesign char classes next
19:25 diakopter sorear: do you plan to integrate with icu or something?
19:25 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.)
19:25 sorear diakopter: no
19:26 sorear bye^
19:26 am0c joined #perl6
19:26 stepnem joined #perl6
19:27 colomon_Droid joined #perl6
19:28 colomon_Droid Sorry about starting to talk and then running away.
19:29 wolfman2000 joined #perl6
19:31 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 #perl6
19:33 colomon_Droid I'll blog on the second script when I get the chance.  Not much to it; "it just works".
19:34 masak \o/
19:38 colomon_Droid Stop we lost ucfirst today?
19:39 geekosaur joined #perl6
19:41 wk joined #perl6
19:49 geekosaur joined #perl6
19:54 TimToady colomon_Droid: yes, ucfirst cannot work correctly with lc as people expect, so it's best to remove the hazard
19:57 colomon_Droid Why not?  some letters can't be round tripped?
19:57 geekosaur joined #perl6
19:59 TimToady lc followed by ucfirst loses information in some languages
20:00 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))
20:00 TimToady but I'd rather just have a function that does it right in the first place
20:03 masak did you mean uc(substr($s, 0, 1)) ?
20:03 TimToady no, I did not
20:03 masak it's unusual for a workaround to contain the thing worked around...
20:03 TimToady uc doesn't do titlecase; ucfirst does
20:03 TimToady (in p5)
20:03 masak ok.
20:05 masak so if the workaround contains 'ucfirst', what's it a workaround for? I must've misunderstood that part.
20:07 sbp presumably ucfirst doesn't lc the rest
20:07 sbp so ucfirst("EXAMPLE") gives EXAMPLE, not Example
20:07 sbp whereas ucfirst(substr($s,0,1)) . lc(substr($s,1)) gives Example for input EXAMPLE
20:08 TimToady it's a workaround for ucfirst(lc($s)), which doesn't always work
20:08 masak aha.
20:08 sbp what does it fail on?
20:12 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++
20:12 [Coke] why not just have a tc, and kill all the *firsts.
20:13 sbp yeah, I'll just reinvent the wheel and sliced bread whilst I'm at it too
20:13 sbp this is why we publish things. this data should be in a scientific journal!
20:13 TimToady [Coke]: that's more or less what I just did
20:13 masak tc++
20:13 TimToady except I made it "titlecase"
20:14 [Coke] TimToady: Sehr güt.
20:14 TimToady we might also borrow 'foldcase' from Perl 5
20:14 TimToady which doesn't get you anything decent to print, but is guaranteed to collate without regard to case
20:15 PerlJam sbp: It's one-liner-ish
20:15 sbp I don't know any perl5
20:16 sbp nor much perl6
20:16 PerlJam oh.  then never mind  :)
20:16 TimToady sbp: tchrist++ keeps the list of Far More than Everything You Wanted to Know about Unicode, including such examples
20:20 colomon TimToady++
20:25 PerlJam TimToady: once we've got titlecase and foldcase, it seems only natural that we obtain justincase  :)
20:32 alvis joined #perl6
20:41 jnthn moritz: #103112 looks like a binder bug; think I can see what's wrong too. Will patch.
20:44 wooden joined #perl6
20:46 pmurias joined #perl6
20:48 geekosaur joined #perl6
21:00 kmwallio joined #perl6
21:04 geekosaur joined #perl6
21:04 mj41 joined #perl6
21:08 wolfman2_ joined #perl6
21:10 cooper joined #perl6
21:13 dalek rakudo/nom: 3a9ea78 | moritz++ | / (2 files):
21:13 dalek rakudo/nom: implement Any.ACCEPTS. Fixes RT #103032
21:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3a9ea7814f
21:17 geekosaur joined #perl6
21:17 cognominal_ joined #perl6
21:23 masak moritz++
21:25 dalek rakudo/nom: ac39fbb | coke++ | t/spectest.data:
21:25 dalek rakudo/nom: Track failure mode.
21:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ac39fbb180
21:25 [Coke] moritz: that gets us slightly closer on S03-smartmatch/capture-signature.t
21:26 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 }
21:26 p6eval rakudo 95371a, niecza v11-22-gbebf7a0: OUTPUT«2␤»
21:26 p6eval ..pugs b927740: OUTPUT«*** ␤    Unexpected "when"␤    expecting operator, ":", "," or "}"␤    at /tmp/j2flQzwCV3 line 1, column 52␤»
21:27 jnthn moritz: That's a load of balls... :P
21:27 jnthn ...actually, yeah, it's unimplemented :)
21:27 TimToady perl6: my $x = 1; for 1..10 { $x++; state $y = $x; say $y if $_ == 7 }
21:27 p6eval rakudo 95371a, niecza v11-22-gbebf7a0: OUTPUT«2␤»
21:27 p6eval ..pugs b927740: OUTPUT«8␤»
21:27 moritz not high priority
21:28 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␤»
21:28 p6eval ..pugs b927740: OUTPUT«8␤»
21:28 [Coke] at some point, we should probably get tickets opened for everything in roast marked 'nom regression'.
21:28 TimToady I guess pugs is just broke on state init
21:32 * [Coke] sees someone complaining on p5p that the build is broken with a compiler released in 1998.
21:33 * [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 #perl6
21:35 cognominal joined #perl6
21:37 kmwallio joined #perl6
21:45 kmwallio joined #perl6
21:46 masak geekosaur: well, it parses, at least.
21:46 geekosaur yeh, my recollection is it parses but it behaves as "my"
21:48 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 masak seems so.
21:49 simcop2387 joined #perl6
21:49 simcop2387 joined #perl6
21:50 PerlJam well ... I don't think it behaves as "my", just that initialization doesn't happen properly.
21:52 cafesofie joined #perl6
21:54 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 #perl6
21:55 pothos_ joined #perl6
22:10 cognominal joined #perl6
22:13 geekosaur joined #perl6
22:14 tadzik http://goo.gl/rFL92 :)
22:15 jnthn Hey, I recognize that guy!
22:16 tadzik :)
22:16 masak he seems to be doing a bird, not a plane.
22:16 masak s/doing/mimicking/
22:16 masak perl6: class A { has Int $.S = 0 }; say (A.new, A.new, A.new).min(*.S)
22:16 tadzik I thought you were imitating a plane starting
22:16 p6eval pugs b927740: OUTPUT«*** No such method in class Num: "&S"␤    at /tmp/YCnWRsGCnu line 1, column 60-63␤»
22:16 p6eval ..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…
22:16 p6eval ..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/…
22:17 masak Perl 6, I am disappoint.
22:17 Trashlord joined #perl6
22:17 masak look folks, we need to do something about Inf.
22:18 masak 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
22:18 masak it should be biggest.
22:18 tadzik aye
22:18 tadzik ...like the caliber of my new rifle :>
22:18 masak or lexicographically last, or whatever-est.
22:19 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 * masak grumbles and find some way to work around it
22:20 geekosaur joined #perl6
22:25 masak finds*
22:25 am0c joined #perl6
22:30 jnthn nom: say 42 ~~ /4/
22:31 p6eval nom ac39fb: OUTPUT«=> <4>␤␤»
22:38 envi_ joined #perl6
22:45 jnthn So, I'm looking into the say "foo" & "a nice old foo" ~~ /foo/ issue
22:45 jnthn I discovered that the ACCEPTS in Regex took a topic of Mu
22:46 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.
22:46 masak by Liskov, it must, I guess.
22:47 jnthn Yeah, but if I stop it doing so, Code.ACCEPTS swallows it and does something wful.
22:47 jnthn *awful
22:47 masak aye.
22:49 masak 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/…
22:49 masak ok, I want to make a rakudobug out of this, but it's kinda either-or.
22:49 jnthn Does anyone know why we've ended up with the Code.ACCEPTS taking Mu?
22:49 masak either there's a bug in .min and we shouldn't use Inf there.
22:49 masak or we're not good enough at handling Inf yet.
22:50 masak thing is, pmichaud will probably put it in spec limbo if I submit it...
22:50 masak ...so maybe we should talk about it first.
22:50 jnthn masak: I'd prefer it's discussed first. It's an unfixable ticket otherwise.
22:50 masak jnthn: set it to Any and do a spectest :)
22:50 masak jnthn: aye.
22:50 masak I want to discuss it.
22:50 masak I would love to Inf to DWIM in all the use cases we've thought up for it.
22:50 jnthn yeah...folks generally Mu stuff for a reason, that's all.
22:53 jnthn bah!
22:53 jnthn And then in Any we have
22:53 jnthn multi method ACCEPTS(Any:D: Mu \$a) { self === $a }
22:56 masak :(
22:57 jnthn Making them all take Any fixes your /foo/ bug
22:57 * jnthn spectests
22:58 sorear TimToady: My perlfunc doesn't have a foldcase
22:58 sorear TimToady: new in 5.14?
22:58 sorear o/
22:59 jnthn ouch...loads of fail :S
22:59 wolfman2000 joined #perl6
23:03 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.
23:05 jnthn But removing them does make spectests fail :(
23:06 jnthn perl6: say (1, Mu, 2, 3).grep(*.defined)
23:06 p6eval rakudo ac39fb: OUTPUT«1 2 3␤»
23:06 p6eval ..pugs b927740: OUTPUT«*** No such subroutine: "&Mu"␤    at /tmp/1IskNBvilY line 1, column 5 - line 2, column 1␤»
23:06 p6eval ..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…
23:06 jnthn This is one case that works now but would break, for example.
23:08 masak it's not apparent to me why anyone would use Mu there.
23:08 masak 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.
23:09 masak so using Mu in a list like that feels... wrong.
23:11 jnthn (Mu ~~ .defined)
23:11 jnthn Also fails
23:11 pmurias joined #perl6
23:12 jnthn niecza: say (Mu ~~ .defined)
23:12 p6eval niecza v11-22-gbebf7a0: OUTPUT«Bool::False␤»
23:12 TimToady sorear: probably in 5.15, actually
23:12 dalek 6model: 71853d0 | diakopter++ | lua/ (31 files):
23:12 dalek 6model: more optimizations
23:12 dalek 6model: review: https://github.com/diakopter/6model/commit/71853d087e
23:14 jnthn TimToady: Any thoughts on the ACCEPTS fun? :)
23:14 sorear TimToady: howdoesitwork?
23:17 envi_ joined #perl6
23:26 masak 'night, #perl6
23:31 geekosaur joined #perl6
23:35 mattp_ joined #perl6
23:35 fsergot joined #perl6
23:43 geekosaur joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo