Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-11-12

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:02 Eth4n joined #perl6
00:18 buubot_backup joined #perl6
00:20 ethndbst joined #perl6
00:20 ethndbst joined #perl6
00:35 ethndbst joined #perl6
00:37 wolfman2000 joined #perl6
00:46 buubot_backup joined #perl6
00:49 localhost joined #perl6
00:50 sorear What are the popular P5 XML libs?
00:50 colomon o/, sorear
00:51 sorear o/ colomon.
00:51 colomon how are things?
00:53 sorear colomon: not bad
00:54 tkr sorear: XML::LibXML
00:54 diakopter sorear: I've used XML::Smart
01:02 * sorear is reading the XML::LibXML documentation
01:02 sorear tkr: new here?
01:04 Transformer joined #perl6
01:08 tkr sorear: Ive been here before. Why are you asking?
01:09 sorear 'cause I need to weclome the new folks :)
01:09 tkr Ah.
01:10 tkr Thanks. :)
01:11 tkr hugme: hug sorear
01:11 * hugme hugs sorear
01:22 am0c joined #perl6
01:27 bluescreen10 joined #perl6
01:43 buubot_backup joined #perl6
01:46 bluescreen10 joined #perl6
01:47 Ingis joined #perl6
01:51 aglenday joined #perl6
02:16 _jaldhar joined #perl6
02:21 darkstrik joined #perl6
02:24 darkstrik joined #perl6
02:26 darkstrik joined #perl6
02:27 molaf joined #perl6
02:35 darkstrik joined #perl6
02:42 sorear aaa this DOM stuff confuses me
02:54 packetknife joined #perl6
03:00 sorear :|
03:02 drbean joined #perl6
03:02 sorear tkr: I can't quite figur out how to do anything useful with XML::LibXML... nodePath is returning useless stuff like /*/*[1] instead of names
03:10 arnsholt sorear: I find SAX parsing to be just as easy to deal with as DOM in some cases
03:10 arnsholt Dunno if it fits your particular need, but it might
03:14 sorear I'm quite new to this XML processing stuff.
03:15 sorear it seems... unnecessarily complicated
03:15 drbean joined #perl6
03:16 diakopter :)
03:21 arnsholt Yeah, XML can be a bit too much
03:21 flussence one thing that makes LibXML more tolerable for me is going crazy with wrapper functions
03:22 diakopter sorear: I think I've come up with a way to use lua(jit)'s registry as a store for automatic memory mgmt of Lua objects (including generic userdata buffers) from C
03:22 arnsholt But the advantage with SAX (XML::SAX on CPAN is what I use) is that it just calls a method on your object whenever it sees an opening tag for example
03:22 arnsholt Which lets you extract pretty much exactly what you want without too much digging about in the document structure
03:22 flussence e.g. "sub tags_only { grep { $_->nodeType == some_uppercase_thingy } @_ }" etc
03:24 arnsholt I usually do something along the lines of sub "start_element { given($_[1]->{LocalName}) { ... } }"
03:24 arnsholt Add some state to your handler object, and I'm usually done
03:27 * flussence needs to look into the SAX parser some time, at $dayjob I've got an ugly mess of DOM calls that add up to 1 read pass of the input...
03:27 arnsholt Hehe
03:28 arnsholt SAX has the added benefit of using less memory for large documents as well, since you only have to represent whatever you care about ATM, rather than the whole mess of XML
03:28 clairvy joined #perl6
03:28 flussence it was worse before I got it to that state; the guy who originally wrote it used getElementsByTagName and grep. :(
03:29 arnsholt Tasty. Probably a quick way to get the code written, but probably not very fast either if the XML gets big
03:35 sorear arnsholt++
03:35 flussence (I get the fun of maintaining a codebase where large parts were written by an old-school C guy in the pre-5.8 era. Every so often I discover a surprise like that one, or something horrible involving bitmasks and syscalls...)
03:36 * sorear pines for .gist
03:53 _jaldhar joined #perl6
04:00 ethndbst joined #perl6
04:00 ethndbst joined #perl6
04:00 sorear yay!  XML::SAX is working well arnsholt++
04:20 packetknife joined #perl6
04:29 agentzh joined #perl6
04:34 dalek specs: d2a7270 | duff++ | S05-regex.pod:
04:34 dalek specs: Minor typo
04:34 dalek specs: review: https://github.com/perl6/specs/commit/d2a7270244
04:37 drbean joined #perl6
05:18 orafu joined #perl6
05:18 drbean joined #perl6
05:27 mantovani joined #perl6
06:02 drbean joined #perl6
06:27 sorear TimToady: found a nit(?) in S05's character class stuff
06:28 sorear TimToady: at line 1645, it talks about arguments to pairs being used as smartmatchers.  But there's no general ACCEPTSy way to implement Unicode's fuzzy property match rules ("ASCII" !~~ "ascii")
06:28 sorear TimToady: I'm going to interpret this as "Str is special-cased to use Unicode fuzzy matching, everything else gets ACCEPTs"
06:29 sorear TimToady: is this an intendable interpretation?
06:31 woosley joined #perl6
06:35 diakopter sorear: did you see my msg about lua gc
06:42 mkramer joined #perl6
06:48 sorear diakopter: yes
06:49 sorear diakopter: question?
06:49 sorear or, context?
06:49 diakopter I wanted to run the idea by you
06:49 diakopter sanity check
06:49 diakopter do you know about the registry?
06:49 sorear yes
06:49 zby_home_ joined #perl6
06:51 diakopter sorry, thinking/typing
06:51 sorear I think that's what the registry is _for_
06:51 diakopter right..
06:51 sorear http://www.lua.org/pil/27.3.html
06:52 diakopter right, I have pil 2nd ed
06:52 diakopter I want to reimplement all the "classes" I have in lua/runtime as userdata types
06:53 diakopter then, to make the userdata refer to each other, but to work with the GC properly,
06:54 jimmy1980 joined #perl6
06:54 diakopter stash the other userdata' Registry int index in the userdata
06:54 clairvy joined #perl6
06:55 diakopter so that every userdata's methods can access its members via the Registry.  Each userdata would need a __gc method that would also release those references
06:56 diakopter so, every slot in a userdata that refers to a lua object (userdata or not) would have an entry in the Registry
06:58 sorear 1. this will be very slow because the Lua C API has a *huge* impedance mismatch with the internal representations
06:58 sorear 2. this will leak memory with user-level circular references
06:59 sorear 3. __gc is a pessimized path in the lua runtime
06:59 sorear other than that it will work.
06:59 diakopter :P
07:00 diakopter I understand 1,3 but 2 is escaping me
07:01 sorear it's basically the same issue as reference counting
07:01 sorear imagine you have two objects A and B, A has a slot referring to B and vice versa
07:02 sorear when the GC runs, it sees that both A and B are referred to from the registry, so it can't free either one
07:04 diakopter I follow you, but how would those objects be left dangling like that
07:05 sorear my $a = []; push $a, $a;
07:06 sorear Perl 5 calls this DIHWIDT, but we need to do better in this century
07:08 diakopter so, you're saying when $a goes out of scope, ... what
07:09 sorear exactly
07:09 sayu joined #perl6
07:09 diakopter ..?
07:10 sorear under your proposal, the memory for the array is retained forever.
07:10 clairvy joined #perl6
07:10 diakopter why wouldn't the reference be released when __gc is called on $a ?
07:11 sorear because __gc won't be called on $a
07:11 diakopter why not?
07:11 sorear __gc is only called after the last reference goes away
07:11 sorear there's a reference in the registry
07:11 sorear chicken and egg
07:12 [Sec] joined #perl6
07:13 diakopter well hm, there would need to be a go-out-of-scope finalizer that did the same thing as the __gc hook
07:13 diakopter called from the runtime
07:15 sorear that would not help at all
07:16 sorear { my $a = []; push $a, $a; $a = Any; } # what does your finalizer get called on?
07:16 diakopter wouldn't it release all the direct references in $a ?
07:16 * diakopter looks
07:16 sorear my $foo = [1,2,3]; { my $b = $foo; }  # $b goes out of scope, oops you just broke Perl6
07:24 diakopter hrm
07:24 diakopter ok; thanks for the sanity check :)
07:24 mkramer joined #perl6
07:26 drbean joined #perl6
07:32 wk joined #perl6
08:03 TiMBuS joined #perl6
08:16 TiMBuS joined #perl6
08:25 fridim_ joined #perl6
08:25 drbean joined #perl6
08:27 wk joined #perl6
08:32 mishin_ joined #perl6
08:32 mishin__ joined #perl6
08:43 drbean joined #perl6
08:50 Kivutarrr joined #perl6
09:16 pmurias joined #perl6
09:30 mkramer joined #perl6
09:30 mkramer left #perl6
09:36 pmurias joined #perl6
09:37 wk joined #perl6
09:41 moritz \o
09:41 tadzik \o
09:49 jimmy1980 joined #perl6
09:52 pmurias joined #perl6
10:00 drbean joined #perl6
10:06 pmurias joined #perl6
10:10 jimmy1980 joined #perl6
10:15 Woodi so what algorithm is used in Rakudo and Niecza for vars GC ?
10:16 pmurias joined #perl6
10:17 moritz rakudo uses parrot's GC, and niecza uses mono's GC
10:29 pmurias joined #perl6
10:32 MayDaniel joined #perl6
10:35 pmurias joined #perl6
10:42 carlin joined #perl6
10:47 pmurias joined #perl6
10:53 pmurias joined #perl6
10:58 mj41 joined #perl6
11:02 pmurias joined #perl6
11:06 ksi joined #perl6
11:11 drbean joined #perl6
11:23 pmurias awwaiid: hi
11:32 pmurias joined #perl6
11:33 wk joined #perl6
11:38 pmurias joined #perl6
11:44 clairvy joined #perl6
11:52 pmurias joined #perl6
12:01 buubot_backup joined #perl6
12:11 Psyche^ joined #perl6
12:13 bacek joined #perl6
12:13 pmurias joined #perl6
12:17 Trashlord joined #perl6
12:19 pmurias joined #perl6
12:26 dalek nqp/bigint: ae25d33 | moritz++ | / (3 files):
12:26 dalek nqp/bigint: add nqp::tonum_I opcode, tests
12:26 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/ae25d33255
12:26 dalek nqp/bigint: 59a8cfe | moritz++ | src/ops/nqp_bigint.ops:
12:26 dalek nqp/bigint: factor out mp_int -> FLOATVAL conversion into a static subroutine, reuse it in other ops
12:26 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/59a8cfe5f4
12:39 drbean joined #perl6
12:49 clairvy joined #perl6
12:52 dalek rakudo/bigint: db5d137 | moritz++ | src/core/Rat.pm:
12:52 dalek rakudo/bigint: save a call in Rat.new
12:52 dalek rakudo/bigint: review: https://github.com/rakudo/rakudo/commit/db5d137cba
12:52 dalek rakudo/bigint: 9342c1c | moritz++ | / (2 files):
12:52 dalek rakudo/bigint: make use of the improve bigint -> float conversion
12:52 dalek rakudo/bigint: review: https://github.com/rakudo/rakudo/commit/9342c1cb8a
12:53 pmurias joined #perl6
13:03 Kivutarrr left #perl6
13:11 pmurias joined #perl6
13:25 pmurias joined #perl6
13:31 pmurias joined #perl6
13:31 mkramer joined #perl6
13:37 pmurias joined #perl6
13:51 pmurias joined #perl6
13:51 whiteknight joined #perl6
13:52 wubo joined #perl6
13:58 awwaiid hi
13:58 awwaiid pmichaud,
13:58 awwaiid er
13:58 awwaiid hm
13:59 pmurias joined #perl6
14:01 clairvy joined #perl6
14:03 drbean joined #perl6
14:04 clairvy joined #perl6
14:06 pmurias joined #perl6
14:07 clairvy joined #perl6
14:10 sayu joined #perl6
14:11 clairvy joined #perl6
14:19 clairvy joined #perl6
14:22 clairvy joined #perl6
14:24 pmurias joined #perl6
14:26 lichtkind joined #perl6
14:28 clairvy joined #perl6
14:30 clairvy joined #perl6
14:32 clairvy joined #perl6
14:33 pmurias joined #perl6
14:34 clairvy joined #perl6
14:40 clairvy joined #perl6
14:41 pmurias joined #perl6
14:41 clairvy joined #perl6
14:50 vmspb joined #perl6
14:53 pmurias awwaiid: Devel::ebug::HTTP seems to be a bit bitroten?
14:53 pmurias awwaiid: what should i do fork it on github and fix up?
14:54 zby_home__ joined #perl6
14:54 clairvy joined #perl6
14:55 clairvy joined #perl6
15:00 tokuhirom joined #perl6
15:01 sftp_ joined #perl6
15:01 clairvy joined #perl6
15:05 pmurias joined #perl6
15:05 sayu joined #perl6
15:06 clairvy joined #perl6
15:12 clairvy joined #perl6
15:14 pmurias joined #perl6
15:15 clairvy joined #perl6
15:18 buubot_backup joined #perl6
15:20 clairvy joined #perl6
15:21 pmurias joined #perl6
15:24 clairvy joined #perl6
15:27 sayu joined #perl6
15:27 awwaiid pmurias, Devel::ebug::HTTP is a separate distro that I haven't put on github
15:28 awwaiid so if you're wanting to fix it, you'll have to start with the .tar.gz from cpan. I haven't yet successfully built it myself.
15:28 clairvy joined #perl6
15:28 awwaiid I am working on Plack::Middleware::Scrutinize as my http GUI (I'll make a standalone version too), but haven't gotten very far yet
15:30 awwaiid pmurias, I was just writing you an email
15:31 clairvy joined #perl6
15:42 bluescreen10 joined #perl6
15:43 clairvy joined #perl6
15:49 jimmy1980 joined #perl6
15:50 clairvy joined #perl6
15:52 pmurias joined #perl6
15:52 clairvy joined #perl6
15:59 clairvy joined #perl6
16:01 pmurias joined #perl6
16:02 clairvy joined #perl6
16:03 clairvy joined #perl6
16:05 clairvy joined #perl6
16:07 clairvy joined #perl6
16:16 Trashlord joined #perl6
16:16 clairvy joined #perl6
16:23 pmurias joined #perl6
16:25 clairvy joined #perl6
16:25 clairvy joined #perl6
16:26 jimmy1980 joined #perl6
16:26 donaldh joined #perl6
16:31 drbean joined #perl6
16:33 clairvy joined #perl6
16:34 pmurias joined #perl6
16:40 clairvy joined #perl6
16:41 pmurias joined #perl6
16:41 clairvy joined #perl6
16:51 alvis joined #perl6
16:55 clairvy joined #perl6
16:57 clairvy joined #perl6
16:57 pmurias joined #perl6
16:58 clairvy joined #perl6
16:58 clairvy joined #perl6
17:00 molaf joined #perl6
17:05 clairvy joined #perl6
17:10 clsn joined #perl6
17:10 clairvy joined #perl6
17:11 whiteknight joined #perl6
17:13 benabik joined #perl6
17:15 Sarten-X joined #perl6
17:21 alvis joined #perl6
17:22 clairvy joined #perl6
17:31 dalek roast: 16bc94a | tadzik++ | S04-statements/for.t:
17:31 dalek roast: Add passing test for RT #78232
17:31 dalek roast: review: https://github.com/perl6/roast/commit/16bc94ad9a
17:32 tadzik https://rt.perl.org/rt3/Ticket/Display.html?id=78232 closable
17:35 benabik joined #perl6
17:35 clairvy joined #perl6
17:36 tadzik Warning: we regressed on https://rt.perl.org/rt3/Ticket/Display.html?id=69482
17:37 kfo_ joined #perl6
17:42 dalek roast: 8e9b28a | tadzik++ | S03-operators/is-divisible-by.t:
17:42 dalek roast: Test for RT #76170
17:42 dalek roast: review: https://github.com/perl6/roast/commit/8e9b28aa61
17:42 tadzik https://rt.perl.org/rt3/Ticket/Display.html?id=76170 closable
17:43 pmurias joined #perl6
17:45 tadzik https://rt.perl.org/rt3/Ticket/Display.html?id=76466 maybe-closable
17:46 clairvy joined #perl6
17:49 dalek roast: 70c5eb7 | tadzik++ | S14-roles/mixin.t:
17:49 dalek roast: Tests for RT #77184
17:49 dalek roast: review: https://github.com/perl6/roast/commit/70c5eb7f78
17:49 tadzik https://rt.perl.org/rt3/Ticket/Display.html?id=77184 closable
17:52 clairvy joined #perl6
17:54 dalek roast: 9219d0e | tadzik++ | S32-str/numeric.t:
17:54 dalek roast: Test for RT #100778
17:54 dalek roast: review: https://github.com/perl6/roast/commit/9219d0ecf4
17:54 tadzik https://rt.perl.org/rt3/Ticket/Display.html?id=100778 closable
17:55 am0c joined #perl6
17:57 dalek roast: 516760b | tadzik++ | S12-construction/new.t:
17:57 dalek roast: Tests for RT #100780
17:57 dalek roast: review: https://github.com/perl6/roast/commit/516760b6ab
17:57 tadzik https://rt.perl.org/rt3/Ticket/Display.html?id=100780 claosable
18:02 tadzik https://rt.perl.org/rt3/Ticket/Display.html?id=78208 closable
18:02 dalek roast: e25f148 | tadzik++ | S06-multi/lexical-multis.t:
18:02 dalek roast: Test for RT #78208
18:02 dalek roast: review: https://github.com/perl6/roast/commit/e25f1485c9
18:02 clairvy joined #perl6
18:06 dalek roast: 2a83aa9 | tadzik++ | S02-types/native.t:
18:06 dalek roast: Tests for #101450
18:06 dalek roast: review: https://github.com/perl6/roast/commit/2a83aa96f5
18:07 tadzik https://rt.perl.org/rt3/Ticket/Display.html?id=101450 closable
18:07 clairvy joined #perl6
18:10 clairvy joined #perl6
18:11 clairvy joined #perl6
18:11 tadzik ok, enough of this killing spree. Anyone with RT privileges to close those? :)
18:12 tadzik we should be below 450 now
18:13 clairvy joined #perl6
18:13 sorear good * #perl6
18:15 clairvy joined #perl6
18:18 tadzik hello sorear
18:19 clairvy joined #perl6
18:20 clairvy joined #perl6
18:23 buubot_backup joined #perl6
18:23 wk joined #perl6
18:23 Mowah_ joined #perl6
18:24 clairvy joined #perl6
18:25 pmurias joined #perl6
18:26 clairvy joined #perl6
18:27 Sarten-X joined #perl6
18:27 zby_home_ joined #perl6
18:28 clairvy joined #perl6
18:46 clairvy joined #perl6
18:48 pmurias joined #perl6
18:48 bluescreen10 joined #perl6
18:49 clairvy joined #perl6
18:50 Trashlord joined #perl6
18:50 clairvy joined #perl6
18:53 moritz tadzik: [Coke] and pmichaud can give you closing privs
18:54 wk joined #perl6
18:55 * moritz closes #101450
18:55 clairvy joined #perl6
18:55 moritz tadzik++
18:55 vmspb joined #perl6
18:56 pmurias joined #perl6
18:56 clairvy joined #perl6
18:58 tadzik moritz: I think they already did, at least pmichaud stated so :)
18:58 tadzik moritz: mind closing the rest of them in some spare time?
18:59 * moritz backscrolls
19:00 moritz #78208 closed
19:00 clairvy joined #perl6
19:00 moritz #100780 closed
19:01 moritz #76170 closed
19:01 clairvy joined #perl6
19:02 moritz #78232 closed
19:02 clairvy joined #perl6
19:03 moritz #76466 closed
19:03 moritz did I miss anything?
19:03 pmurias joined #perl6
19:04 clairvy joined #perl6
19:10 clairvy joined #perl6
19:10 clairvy joined #perl6
19:10 pmurias joined #perl6
19:11 clairvy joined #perl6
19:15 vmspb Hi! Need more bugs? :)
19:16 diakopter ok
19:16 vmspb perl6: my $x=0; ($x+=1)+=10; say $x;
19:16 p6eval pugs b927740, rakudo ef4702, niecza v11-22-gbebf7a0: OUTPUT«11␤»
19:16 vmspb perl6: my $x=0; ($x++)+=10; say $x;
19:16 p6eval rakudo ef4702: OUTPUT«Cannot assign to a readonly variable or a value␤  in block <anon> at /tmp/2AKR7XFnE2:1␤  in <anon> at /tmp/2AKR7XFnE2:1␤»
19:16 p6eval ..pugs b927740: OUTPUT«*** Can't modify constant item: VInt 0␤    at /tmp/oR8TI3NI0Y line 1, column 10-20␤»
19:16 p6eval ..niecza v11-22-gbebf7a0: OUTPUT«Unhandled exception: assigning to readonly value␤  at /tmp/YtPCWUFQj2 line 0 (mainline @ 0) ␤  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/p6eval/niecza/li…
19:16 clairvy joined #perl6
19:16 vmspb perl6: my $x=0; (++$x)+=10; say $x;
19:16 p6eval pugs b927740: OUTPUT«*** Can't modify constant item: VInt 1␤    at /tmp/REzJ6KasoL line 1, column 10-20␤»
19:16 p6eval ..niecza v11-22-gbebf7a0: OUTPUT«11␤»
19:16 p6eval ..rakudo ef4702: OUTPUT«Cannot assign to a readonly variable or a value␤  in block <anon> at /tmp/jo0I70OfsN:1␤  in <anon> at /tmp/jo0I70OfsN:1␤»
19:16 clairvy joined #perl6
19:19 pmurias joined #perl6
19:25 clairvy joined #perl6
19:26 pmurias joined #perl6
19:29 moritz vmspb: I believe the spec is silent on whether such modifiying operators should return lvalues or not
19:31 clairvy joined #perl6
19:32 pmurias joined #perl6
19:33 clairvy joined #perl6
19:35 clairvy joined #perl6
19:39 clairvy joined #perl6
19:39 pmurias joined #perl6
19:45 TimToady p5 is a bit inconsistent on this subject: it can modify a $x += 1 but not a ++$x, which should be equivalent
19:46 clairvy joined #perl6
19:46 TimToady not that it's a style we encourage in any case...
19:46 japhb TimToady, out of curiosity, why *is* there a difference in Perl 5?
19:46 TimToady beats me
19:47 japhb Forgotten in the mists of time?  ;-)
19:47 moritz hysterical raisons
19:47 pmurias joined #perl6
19:47 clairvy joined #perl6
19:47 TimToady possibly someone's optimizer wants ++$x to return an rvalue
19:53 pmurias joined #perl6
19:59 clairvy joined #perl6
20:00 pmurias joined #perl6
20:01 clairvy joined #perl6
20:03 simcop2387 joined #perl6
20:04 clairvy joined #perl6
20:06 dalek rakudo/bigint: 1bef826 | moritz++ | src/Perl6/Actions.pm:
20:06 dalek rakudo/bigint: simplify escale action method
20:06 dalek rakudo/bigint: review: https://github.com/rakudo/rakudo/commit/1bef82625e
20:07 tadzik moritz: https://rt.perl.org/rt3/Ticket/Display.html?id=77184 https://rt.perl.org/rt3/Ticket/Display.html?id=100778 and we're done :)
20:08 moritz done, tadzik++
20:09 clairvy joined #perl6
20:09 * cognominal_ wonder if I can define a lexical rule ws within another rule. Is this legal? Is this implemented?
20:09 cognominal_ I would say yes and now.
20:09 cognominal_ *no
20:10 cognominal_ I would want it now as my lapsus keyboardy shows.
20:10 moritz cognominal_: rule calls are method calls, unless explicitly done otherwise
20:10 _jaldhar joined #perl6
20:10 moritz liek with <&foo> instead of <foo> or <.foo>
20:10 clairvy joined #perl6
20:11 cognominal_ that's not the first time I want it to be regular function.
20:11 cognominal_ but I suppose the cursor want a class.
20:11 clairvy joined #perl6
20:11 cognominal_ *wants
20:12 Tene joined #perl6
20:12 Tene joined #perl6
20:12 tadzik moritz++
20:13 clairvy joined #perl6
20:14 cognominal_ but when I create a mere regex, (I alway forget the perl 6 syntax), I suppose the said class is instanciated.
20:15 cognominal_ rx // # that's should be easy. Probably the hard part is to forget about qr//
20:15 clairvy joined #perl6
20:17 cognominal_ rakudo  is fussy, it wants  rx// without space.
20:17 clairvy joined #perl6
20:18 pmurias joined #perl6
20:19 clairvy joined #perl6
20:19 moritz std: rx //
20:19 p6eval std be1f10e: OUTPUT«[31m===[0mSORRY![31m===[0m�Null pattern not allowed at /tmp/BVgWTpE0sA line 1:�------> [32mrx /[33m�[31m/[0m�Parse failed�FAILED 00:01 118m�»
20:19 moritz std: rx /./
20:19 p6eval std be1f10e: OUTPUT«ok 00:01 120m␤»
20:20 moritz cognominal_: probably easy to fix
20:20 cognominal_ rakudo: grammar A {  token TOP { :my &ws = rx/a/; :s b }  }; A.parse("aba")
20:20 p6eval rakudo ef4702:  ( no output )
20:20 cognominal_ rakudo: grammar A {  token TOP { :my &ws = rx/a/; :s b }  }; say A.parse("aba")
20:20 p6eval rakudo ef4702: OUTPUT«#<failed match>␤»
20:20 clairvy joined #perl6
20:20 cognominal_ rakudo: grammar A {  token TOP { :my &ws = rx/a/; :s b }  }; say A.parse(" b ")
20:20 p6eval rakudo ef4702: OUTPUT«=> < b >␤␤»
20:21 cognominal_ moritz, what do you think?
20:22 clairvy joined #perl6
20:22 moritz cognominal_: I don't know the regex stuff well enough to comment on the implications of such a change
20:22 moritz I'm sure that the current spec doesn't say it picks up the lexical &ws
20:23 clairvy joined #perl6
20:24 cognominal_ that would slow down thing
20:24 pmurias joined #perl6
20:24 cognominal_ rakudo: grammar A {  token TOP { :my const &ws = rx/a/; :s b }  }; say A.parse(" b ")
20:24 p6eval rakudo ef4702: OUTPUT«===SORRY!===␤Malformed my at line 1, near "const &ws "␤»
20:25 cognominal_ I could compromise with a const...
20:25 clairvy joined #perl6
20:25 cognominal_ anyway, I will cheat my way around...
20:26 benabik joined #perl6
20:27 clairvy joined #perl6
20:27 huf joined #perl6
20:28 cognominal_ that would get even weirder with &*ws  :)
20:28 dalek roast: fbeaaf0 | moritz++ | S04-statements/for.t:
20:28 dalek roast: fix plan in for.t
20:28 dalek roast: review: https://github.com/perl6/roast/commit/fbeaaf058d
20:29 clairvy joined #perl6
20:32 clairvy joined #perl6
20:33 pmurias joined #perl6
20:42 clairvy joined #perl6
20:46 [particle]1 joined #perl6
20:46 Eth4n joined #perl6
20:46 clairvy joined #perl6
20:48 clairvy joined #perl6
20:52 clairvy joined #perl6
20:57 clairvy joined #perl6
21:01 sorear vmspb: ++$x in niecza returns an lvalue as a performance hack; it returns the existing scalar $x instead of having to create a new read-only scalar for the return value
21:01 sorear vmspb: the hack doesn't work for $x++ because it has to return a different value
21:07 dalek nqp/bigint: bd5e5b0 | moritz++ | src/ops/nqp_bigint.ops:
21:07 dalek nqp/bigint: fix the float case of pow_I
21:07 dalek nqp/bigint: review: https://github.com/perl6/nqp/commit/bd5e5b0243
21:08 clairvy joined #perl6
21:09 * moritz -> sleep
21:09 tadzik g'night
21:09 clairvy joined #perl6
21:22 clairvy joined #perl6
21:22 pmurias joined #perl6
21:23 clairvy joined #perl6
21:27 clairvy joined #perl6
21:29 pmurias joined #perl6
21:32 _jaldhar joined #perl6
21:35 clairvy joined #perl6
21:40 mberends joined #perl6
21:41 clairvy joined #perl6
21:44 clairvy joined #perl6
21:45 pmurias joined #perl6
21:46 clairvy joined #perl6
21:50 jimmy1980 joined #perl6
21:51 clairvy joined #perl6
21:52 tkr left #perl6
21:53 bluescreen10 joined #perl6
21:53 clairvy joined #perl6
21:54 ethndbst joined #perl6
21:54 ethndbst joined #perl6
21:55 clairvy joined #perl6
21:56 clairvy joined #perl6
21:57 lichtkind good night
21:58 pmurias joined #perl6
21:59 jimmy1980 joined #perl6
21:59 Chillance joined #perl6
22:00 clairvy joined #perl6
22:03 clairvy joined #perl6
22:05 pmurias joined #perl6
22:05 clairvy joined #perl6
22:06 dalek 6model: 14f2cda | diakopter++ | lua/runtime/ (4 files):
22:06 dalek 6model: 15% overall speedup
22:06 dalek 6model: review: https://github.com/diakopter/6model/commit/14f2cda3c2
22:07 clairvy joined #perl6
22:07 tadzik how fast is that compared to nqp on parrot now?
22:09 clairvy joined #perl6
22:11 pmurias joined #perl6
22:11 diakopter tadzik: quite slow
22:12 clairvy joined #perl6
22:16 diakopter tadzik: actually, it's slow when comparing with parrot-nqp
22:16 diakopter I haven't measured it against the 6model-based nqp (which would be a much more fair comparison)
22:18 pmurias joined #perl6
22:21 diakopter parrot-nqp takes 2 seconds to decrement/compare a number 10,000,000 times; nqplua takes 312 seconds. (ick)
22:22 diakopter to decrement/compare a number 10,000 times takes 1,200,000 lua function calls
22:28 clairvy joined #perl6
22:28 pmurias joined #perl6
22:33 clairvy joined #perl6
22:42 clairvy joined #perl6
22:45 pmurias joined #perl6
22:46 sorear diakopter: wazzit like on lua.org's lua? :)
22:48 diakopter good question
22:49 diakopter sorear: could I impose upon you a request for more debugging help?
22:49 clairvy joined #perl6
22:50 clairvy joined #perl6
22:51 dalek 6model: 675122b | diakopter++ | lua/compiler/ (2 files):
22:51 dalek 6model: break the build; request sorear++ to help debug
22:51 dalek 6model: review: https://github.com/diakopter/6model/commit/675122b6a4
22:53 sorear Perhaps.  What's the problem?
22:54 sorear ick, you're inlining the pcall stuff
22:54 diakopter ick indeed, but if it works it will get rid of two extra closure creations (and invocations) per routine call
22:55 diakopter there is only one try/catch/finally per routine, luckily
22:55 clairvy joined #perl6
22:56 sorear I don't understand the 15% changes
22:56 sorear you're getting rid of the metatable setting, so how do method calls work anymore?
22:56 diakopter I took out all the method calls on List anyway
22:57 diakopter definite hotpaths
22:57 diakopter the speedup there was mostly from the capture inlining
22:58 pmurias joined #perl6
22:58 * sorear tries a build
23:00 diakopter ooo missed mberends
23:01 sorear not really
23:01 diakopter sorry; I meant list creation was a hotpath.
23:01 clairvy joined #perl6
23:02 sorear diakopter: have you considered doing fetch-once for all the Ops methods that are used?  local get_lex = Ops.get_lex
23:02 diakopter yeah; that should be done at some point
23:03 * sorear looks at l[7945] = l[1452][1][2](l[1452][1], TC, l[1452], "add_attribute", -1);
23:03 sorear I give up.  Right now.
23:03 diakopter :/
23:05 clairvy joined #perl6
23:05 dalek 6model: 931a588 | diakopter++ | lua/compiler/PAST2LSTCompiler.pm:
23:05 dalek 6model: unbreak the build
23:05 dalek 6model: review: https://github.com/diakopter/6model/commit/931a5881b9
23:06 sorear if we're going to have code like that in the .lua files we need _readable_ IR files
23:07 diakopter unfortunately I don't have a good way of reversing the "optimizations"
23:07 tadzik have you tried that on luajit?
23:07 sorear tadzik: the code only works on luajit
23:07 tadzik oh, ok
23:08 sorear maybe use the C pre-processor for this.  #define GET_LEX(name) Ops[90](name)
23:08 diakopter it doesn't have to; there are bitops libraries for lua too; I just set it to use 'bit' built into luajit since that's what I was using
23:10 diakopter I dont' understand why the TryCatchFinally is doing anything different from the TryFinally nested inside the TryCatch
23:10 diakopter er, vice versa
23:10 diakopter ... from the TryCatch nested inside the TryFinally
23:10 pmurias joined #perl6
23:11 diakopter pmurias' connection is flaky these days :)
23:11 sorear lexical scope funny business maybe
23:11 clairvy joined #perl6
23:13 clairvy joined #perl6
23:14 diakopter oh, found one bug
23:15 alvis joined #perl6
23:15 dalek 6model: be2ed88 | diakopter++ | lua/compiler/LST2Lua.pm:
23:15 dalek 6model: bug in TryCatchFinally
23:15 dalek 6model: review: https://github.com/diakopter/6model/commit/be2ed88989
23:15 clairvy joined #perl6
23:15 sorear diakopter: pmurias gets a pass for being a regular.  clairvy bugs me more
23:16 clairvy joined #perl6
23:18 pmurias joined #perl6
23:24 pmurias joined #perl6
23:26 japhb Wheee, Str.Numeric() rewrite is now a strict superset of the original (and significantly so).  Sadly, it is also 36% slower right now, and there is still lots left to do to be fully spec-compliant.
23:26 japhb At least I can think again finally.  I hate it when sickness knocks out my brane.
23:27 sorear \o/ japhb
23:27 clairvy joined #perl6
23:27 sorear I'd love to look at your complete impl sometime, steal some of it... ;)
23:29 buubot_backup joined #perl6
23:29 clairvy joined #perl6
23:29 pmurias joined #perl6
23:29 japhb sorear, hopefully soon it will be ready to merge.  I'd like to get it more complete though -- I've got some large subspaces to handle still.
23:35 tadzik hi japhb
23:35 japhb o/
23:36 clairvy joined #perl6
23:37 pmurias joined #perl6
23:37 clairvy joined #perl6
23:43 clairvy joined #perl6
23:52 [Coke] \o
23:53 sorear o/ [Coke]
23:53 clairvy joined #perl6
23:54 clairvy joined #perl6
23:54 cooper joined #perl6
23:59 clairvy joined #perl6

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

Perl 6 | Reference Documentation | Rakudo