Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-02-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:14 sji left #perl6
00:18 sorear phenny: tell jnthn Why do the type cache and method cache exist once per STable instead of per HOW?
00:18 phenny sorear: I'll pass that on when jnthn is around.
00:27 molaf_ joined #perl6
00:29 molaf left #perl6
01:01 [Coke] left #perl6
01:01 kaydsoft left #perl6
01:03 kaydsoft joined #perl6
01:07 Trashlord left #perl6
01:10 orafu left #perl6
01:12 ryan_ joined #perl6
01:12 orafu joined #perl6
01:18 aindilis left #perl6
01:18 aindilis joined #perl6
01:19 leprevost joined #perl6
01:22 envi joined #perl6
01:51 leprevost left #perl6
01:52 am0c joined #perl6
01:56 awwaiid left #perl6
01:57 awwaiid joined #perl6
02:03 noganex left #perl6
02:05 noganex joined #perl6
02:07 RichiH_FOSDEM is now known as RichiH
02:33 whiteknight left #perl6
02:50 stifynsemons left #perl6
02:59 stifynsemons joined #perl6
03:02 sorear std: label:
03:02 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Bogus statement at /tmp/N546RUr3V3 line 1 (EOF):␤------> [32mlabel:[33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 118m␤»
03:02 sorear LTA
03:04 sftp left #perl6
03:34 envi left #perl6
03:40 satyavvd joined #perl6
03:41 diakopter std: label: ;
03:41 p6eval std 625303c: OUTPUT«ok 00:01 117m␤»
03:41 diakopter std: label: #
03:41 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Bogus statement at /tmp/RnfAf4lTJQ line 1 (EOF):␤------> [32mlabel: #[33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 118m␤»
04:02 satyavvd left #perl6
04:13 satyavvd joined #perl6
04:23 Su-Shee_ joined #perl6
04:23 stifynsemons left #perl6
04:24 sorear phenny: tell TimToady STD rejects A: ;  { A: ; }  Bug?
04:24 phenny sorear: I'll pass that on when TimToady is around.
04:27 Su-Shee left #perl6
04:31 dalek niecza: 8db375f | sorear++ | / (7 files):
04:31 dalek niecza: Implement label definitions
04:31 dalek niecza: review: https://github.com/sorear/niecza/commit/8db375feeb
04:31 dalek niecza: 4331572 | sorear++ | src/niecza:
04:31 dalek niecza: Implement loop labelling
04:31 dalek niecza: review: https://github.com/sorear/niecza/commit/433157245f
04:31 dalek niecza: a7c95bf | sorear++ | / (3 files):
04:31 dalek niecza: Implement lexotic control operators
04:31 dalek niecza: review: https://github.com/sorear/niecza/commit/a7c95bf4a7
04:32 sorear std: loopy;
04:32 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routine:␤ 'loopy' used at line 1␤Check failed␤FAILED 00:01 117m␤»
04:33 sorear niecza: loopy;
04:33 p6eval niecza v2-15-gf9417bc: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Whitespace required after keyword at /tmp/GiomXa4mk0 line 1:␤------> [32mloop[33m⏏[31my;[0m␤␤Parse failed␤␤»
04:43 dalek niecza: 9eaf007 | sorear++ | / (2 files):
04:43 dalek niecza: Fix keyspace LTM weirdness
04:43 dalek niecza: review: https://github.com/sorear/niecza/commit/9eaf007a67
04:50 rhr left #perl6
04:58 rhr joined #perl6
04:59 stifynsemons joined #perl6
05:03 ryan_ left #perl6
05:23 drbean left #perl6
05:24 arlinius left #perl6
05:28 arlinius joined #perl6
05:29 satyavvd left #perl6
05:31 felliott left #perl6
05:32 satyavvd joined #perl6
05:33 felliott joined #perl6
05:34 felliott left #perl6
05:36 satyavvd left #perl6
05:40 sorear niecza: にほんご: say "x"; goto にほんご;
05:40 p6eval niecza v2-19-g9eaf007:
05:40 p6eval ..OUTPUT«(timeout)␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x␤x�
05:40 diakopter kewl
05:42 kaare_ joined #perl6
05:43 sorear diakopter: I was hoping you'd notice.
05:44 sorear pugs: goto "A"; say "x"; A: ;
05:44 p6eval pugs: OUTPUT«*** ␤    Unexpected ";"␤    expecting Doc block, block declaration, declaration, construct or expression␤    at /tmp/U809Ecb414 line 1, column 23␤»
05:44 sorear pugs: goto "A"; say "x"; A: say "y";
05:44 p6eval pugs: OUTPUT«*** No such subroutine: "&goto"␤    at /tmp/FJsWXHGEg9 line 1, column 1-9␤»
05:44 sorear pugs: goto A; say "x"; A: say "y";
05:44 p6eval pugs: OUTPUT«*** No such subroutine: "&goto"␤    at /tmp/LO6NB_M1uF line 1, column 1-7␤»
05:44 sftp joined #perl6
05:45 diakopter istr it didn't actually...
05:45 sorear How many Perl 6 subset implementions currently offer goto?
05:45 diakopter :P
05:46 sorear I know of at least two
05:46 sorear or labelled stuff in general
05:47 diakopter niecza: while (hi: say(3); 1 ) { goto hi }
05:47 p6eval niecza v2-19-g9eaf007:
05:47 p6eval ..OUTPUT«(timeout)␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3�
05:48 diakopter niecza: while (hi: say(3); 0 ) {  }; goto hi
05:48 p6eval niecza v2-19-g9eaf007:
05:48 p6eval ..OUTPUT«(timeout)␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3␤3�
05:48 * diakopter has no idea whether that's correct
05:49 sorear niecza: sub f1($f) { L: while True { $f(); say 1 }; }; sub f2() { L: while True { f1({ last L }); say 2 }; }; f2()
05:49 p6eval niecza v2-19-g9eaf007:  ( no output )
05:49 sorear niecza: sub f1($f) { L: while True { $f(); say 1 }; }; sub f2() { L: while True { f1({ last "L" }); say 2 }; }; f2()
05:49 p6eval niecza v2-19-g9eaf007:
05:49 p6eval ..OUTPUT«(timeout)␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2␤2�
05:49 sorear notice the4 difference
05:49 diakopter hum
05:52 sorear I am not aware of any other implementaiton that offers lexotic control
05:53 diakopter impressive :)
05:54 [particle] joined #perl6
05:55 Tene sorear: I had a patch to rakudo that mooooostly worked for next/last/redo on labels, but I abandoned it before I got it working well enough to commit.
05:57 justatheory left #perl6
05:58 Tene goto is certainly feasible in rakudo as well, for many cases at least.  I'm not really sure of how restricted Perl 6's goto is.
05:58 Tene http://perlcabal.org/syn/S04.html#The_goto_statement
05:59 Tene It's not obvious how I would implement goto into an inner scope.
06:01 sorear since labels require initialization, it's actually not possible to jump into inner scopes
06:01 drbean joined #perl6
06:01 sorear although the spec could be clearer on this
06:02 Tene "As in Perl 5, it is possible to goto into a lexical scope, but only for lexical scopes that require no special initialization of parameters."
06:07 satyavvd joined #perl6
06:07 diakopter TimToady (here) speculated at one time that forward-gotos are feasible
06:08 diakopter but std doesn't seem to allow it
06:08 sorear niecza: say 1; goto "A"; say 2; A: say 3
06:08 p6eval niecza v2-19-g9eaf007: OUTPUT«1␤3␤»
06:08 diakopter oh
06:09 diakopter niecza: say 1; my $a = "A"; goto $a; say 2; A: say 3
06:09 p6eval niecza v2-19-g9eaf007: OUTPUT«1␤3␤»
06:09 diakopter niecza: say 1; my $a = "Z"; goto $a; say 2; A: say 3
06:09 p6eval niecza v2-19-g9eaf007: OUTPUT«1␤Unhandled exception: Illegal control operator: goto(Z, dynamic)␤  at /home/p6eval/niecza/lib/SAFE.setting line 397 (SAFE _lexotic @ 2)␤  at /home/p6eval/niecza/lib/SAFE.setting line 402 (SAFE goto @ 2)␤  at /tmp/2J7yDzWoSq line 1 (MAIN mainline @ 4)␤  at
06:09 p6eval ../home/p6eval/niecza/lib/S…
06:13 diakopter Illegal control operator :)
06:13 Mowah joined #perl6
06:14 kst left #perl6
06:27 sorear diakopter: What about it?
06:39 diakopter nothing really
06:41 cjk101010 joined #perl6
06:45 srbio joined #perl6
06:46 srbio left #perl6
06:46 Mowah left #perl6
06:51 dalek sprixel: b404c4e | diakopter++ | sprixel/ (5 files):
06:51 dalek sprixel: a buncha crazy hacks to see about a new execution mode for p6eval
06:51 dalek sprixel: review: https://github.com/diakopter/sprixel/commit/b404c4e3be
06:52 p6eval left #perl6
06:53 p6eval joined #perl6
06:56 dalek sprixel: 404c893 | diakopter++ | sprixel/Program.cs:
06:56 dalek sprixel: ok
06:56 dalek sprixel: review: https://github.com/diakopter/sprixel/commit/404c893fdf
06:58 dalek sprixel: 3dc0fc1 | diakopter++ | sprixel/sprixel.csproj:
06:58 dalek sprixel: sigh2
06:58 dalek sprixel: review: https://github.com/diakopter/sprixel/commit/3dc0fc150a
07:01 * sorear -> sleep
07:02 dalek sprixel: 9c55e54 | diakopter++ | sprixel/Program.cs:
07:02 dalek sprixel: sigh3
07:02 dalek sprixel: review: https://github.com/diakopter/sprixel/commit/9c55e54fd1
07:12 wtw joined #perl6
07:19 dalek std: 7503e20 | larry++ | STD.pm6:
07:19 dalek std: reduce label redeclaration to a warning
07:19 dalek std: review: https://github.com/perl6/std/commit/7503e2025a
07:20 veeru joined #perl6
07:33 p6eval left #perl6
07:33 p6eval joined #perl6
07:47 moritz_ good mroning
07:49 moritz_ rakudo: $_ = "foo"; s[] = 'bar'; .say
07:50 p6eval rakudo 989883: OUTPUT«Could not find sub &s␤  in main program body at line 22:/tmp/b7_gMKxUFS␤»
07:51 moritz_ rakudo: $_ = "foo"; s[f] = 'bar'; .say
07:51 p6eval rakudo 989883: OUTPUT«baroo␤»
07:51 moritz_ so it doesn't commit to the [
07:54 TimToady std: $_ = "foo"; s[] = 'bar'; .say
07:54 phenny TimToady: 04:24Z <sorear> tell TimToady STD rejects A: ;  { A: ; }  Bug?
07:54 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Null pattern not allowed at /tmp/zVvv5rwrey line 1:␤------> [32m$_ = "foo"; s[[33m⏏[31m] = 'bar'; .say[0m␤Parse failed␤FAILED 00:01 121m␤»
07:54 TimToady std: $_ = "foo"; s[f] = 'bar'; .say
07:54 p6eval std 625303c: OUTPUT«ok 00:01 123m␤»
07:54 TimToady rakudo should not backtrack there
08:10 Su-Shee_ is now known as Su-Shee
08:16 daxim joined #perl6
08:35 snearch joined #perl6
08:36 arlinius left #perl6
08:38 cosimo left #perl6
08:51 * moritz_ submits rakudobug, justin case
08:54 mayuresh joined #perl6
09:01 shi joined #perl6
09:09 mayuresh left #perl6
09:14 Mowah joined #perl6
09:18 am0c left #perl6
09:19 snearch left #perl6
09:21 wiseguyxp left #perl6
09:27 Mowah left #perl6
09:30 arlinius joined #perl6
09:45 jerome left #perl6
09:52 tadzik Isn't that related to the bug that only the s/// form is allowed?
09:52 moritz_ not really
09:52 dakkar joined #perl6
09:53 moritz_ the real problem is that the check for null regexes are done at quote level, and not at regex parsing level
09:53 moritz_ so each callback into the regex parser needs to do the null pattern check separately
09:54 moritz_ also note that s[nonnull] = "foo" works fine
09:59 tadzik I see
09:59 domidumont joined #perl6
09:59 bacek moritz_, aloha.
10:11 dip joined #perl6
10:11 dip is now known as Guest78447
10:13 charsbr__ left #perl6
10:13 Guest78447 left #perl6
10:13 charsbr__ joined #perl6
10:30 Trashlord joined #perl6
10:35 Mowah joined #perl6
10:51 moritz_ std: native foo is repr("bar");
10:51 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routines:␤        'foo' used at line 1␤   'is' used at line 1␤    'native' used at line 1␤        'repr' used at line 1␤Check failed␤FAILED 00:01 119m␤»
10:52 moritz_ nqp has a package_declarator:sym<native>
10:53 IllvilJa left #perl6
10:56 literal left #perl6
10:57 literal joined #perl6
11:03 moritz_ rakudo: say now.perl
11:03 p6eval rakudo 989883: OUTPUT«(DateTime.new(year => 1970).Instant + 1297076638.05348)␤»
11:06 mayuresh joined #perl6
11:06 mayuresh hello :)
11:06 moritz_ good day mayuresh
11:07 mayuresh good day to you too moritz :)
11:07 mayuresh it feels good to be here
11:09 Mowah left #perl6
11:10 wolverian left #perl6
11:10 moritz_ it feels good to do Perl 6 programming :-)
11:10 mayuresh :)
11:11 mayuresh any ideas when the concurrency model would get finalized?
11:12 moritz_ when it's implemented by two different compilers, and seems to work out fine
11:15 mayuresh hmnnn
11:17 moritz_ in general, parts of the specs are only considered stable if there are working implementations and user space programs
11:17 moritz_ otherwise you can't know if it actually works, and works in a perlish way
11:18 jaldhar left #perl6
11:18 literal left #perl6
11:18 jaldhar joined #perl6
11:19 literal joined #perl6
11:26 mayuresh left #perl6
11:29 coldhead left #perl6
11:29 veeru left #perl6
11:31 literal left #perl6
11:34 literal joined #perl6
11:38 satyavvd left #perl6
11:40 bbkr hi. if I use "perl6 -n -e 'some code here' file_name" under which variable current line is available within oneliner?
11:41 tadzik I don't think -n is implemented
11:41 bbkr oh
11:42 literal left #perl6
11:44 literal joined #perl6
11:47 daxim bbkr, https://github.com/masak/pun/
11:48 bbkr daxim: awesome, that's what I was looking for. thanks!
11:49 stifynsemons left #perl6
11:55 tzhs joined #perl6
11:59 Trashlord left #perl6
12:05 tzhs left #perl6
12:09 IllvilJa joined #perl6
12:10 flussence rakudogripe of the day: no destructors means every IO handle has to be closed manually
12:16 flussence OTOH, "given open($file) { .write($stuff); .close }" isn't much extra effort, so it's not that bad once you figure out why your files are 0 bytes :)
12:29 colomon why that particular construct?
12:30 flussence I already had open().write(), that seems to be the shortest thing that works.
12:34 colomon ah.  shouldn't you check .open for errors?  :)
12:34 moritz_ you should open(:w), fwiw
12:36 bluescreen joined #perl6
12:40 pmurias joined #perl6
12:41 flussence moritz_: I did, guess I shouldn't be so lazy in paraphrasing...
12:42 Trashlord joined #perl6
12:44 flussence if anyone's curious, this was a one-line hack to dump the input data from Text-Tabs-Wrap tests into separate files. I'm trying to separate the data from the code, because it's a maintenance nightmare the way it is now.
12:50 colomon flussence++
12:51 dalek rakudo: a376406 | moritz++ | src/glue/enum.pm:
12:51 dalek rakudo: Add .invert method to enums. We need a better way to reuse the methods from EnumMap.
12:51 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/a376406c48
12:56 [Coke] joined #perl6
12:57 takadonet ,prmomg a;;
12:57 takadonet ...
12:58 takadonet morning all
12:58 colomon \o
12:58 moritz_ o/
12:58 * moritz_ tired
13:00 [Coke] */
13:03 tzhs joined #perl6
13:08 MayDaniel joined #perl6
13:09 * colomon tired too.  though at least this time it's mostly his own fault.  overindulged last night during the big game...
13:13 moritz_ the small one only woke me up twice this night, so in comparison not too bad :-)
13:15 colomon :)
13:16 PacoLinux joined #perl6
13:18 cognominal left #perl6
13:20 cognominal joined #perl6
13:23 cibs left #perl6
13:25 moritz_ fwiw I sometimes get a failure in test 13 in t/spec/S02-builtin_data_types/instants-and-durations.t
13:25 moritz_ but only very rarely
13:26 moritz_ somehow comparing .perl's seems wrong to me, but I'm not sure if that's the source of the trouble
13:26 moritz_ rakudo: say now == now
13:26 p6eval rakudo 989883: OUTPUT«Bool::False␤»
13:26 moritz_ rakudo: given now { say $_ == $_ }
13:26 p6eval rakudo 989883: OUTPUT«Bool::True␤»
13:27 moritz_ rakudo: given now { say $_ eq $_ }
13:27 p6eval rakudo 989883: OUTPUT«Bool::True␤»
13:27 moritz_ rakudo: say now eq now
13:27 bluescreen left #perl6
13:27 p6eval rakudo 989883: OUTPUT«Bool::False␤»
13:29 colomon why not just use == in the test?
13:29 moritz_ or just use is(), which does string comparison
13:29 colomon I mean, if $t0 < $t1 is valid, then $t0 == $t1 should be too
13:30 moritz_ rakudo: say now
13:30 p6eval rakudo 989883: OUTPUT«Instant:2011-02-07T13:30:06.214942Z␤»
13:30 moritz_ both string and number should be fine
13:30 moritz_ is() has the advantage of better diagnostics
13:32 dalek roast: b3ef08d | moritz++ | S02-builtin_data_types/instants-and-durations.t:
13:32 dalek roast: get rid of .perl for Instant comparison
13:32 dalek roast: review: https://github.com/perl6/roast/commit/b3ef08d9cc
13:36 kaare_ left #perl6
13:36 dalek niecza: ae495d6 | pmurias++ | cl-backend/backend.lisp:
13:36 dalek niecza: methods
13:36 dalek niecza: review: https://github.com/sorear/niecza/commit/ae495d694f
13:36 dalek niecza: 0c99b29 | pmurias++ | docs/nam.pod:
13:36 dalek niecza: [docs/nam.pod] fix the order of arguments in serialised signatures
13:36 dalek niecza: review: https://github.com/sorear/niecza/commit/0c99b29573
13:36 dalek niecza: c12c681 | pmurias++ | cl-backend/backend.lisp:
13:36 dalek niecza: [cl-backend] handle arguments to subs
13:36 dalek niecza: review: https://github.com/sorear/niecza/commit/c12c68161f
13:39 drbean left #perl6
13:42 MayDaniel left #perl6
13:42 bluescreen joined #perl6
13:43 felliott joined #perl6
14:00 domidumont left #perl6
14:04 am0c joined #perl6
14:04 kaare_ joined #perl6
14:08 stifynsemons joined #perl6
14:11 ivacklin joined #perl6
14:13 ivacklin is now known as wolverian
14:14 envi joined #perl6
14:14 stifynsemons left #perl6
14:15 plobsing left #perl6
14:20 Mowah joined #perl6
14:22 mtk joined #perl6
14:25 bluescreen left #perl6
14:26 kjeldahlw joined #perl6
14:27 domidumont joined #perl6
14:35 dalek niecza: 48b74aa | pmurias++ | simple-tests/ (9 files):
14:35 dalek niecza: [cl-backend] added simple tests for testing the cl-backend
14:35 dalek niecza: review: https://github.com/sorear/niecza/commit/48b74aaf6b
14:40 plainhao joined #perl6
14:40 stifynsemons joined #perl6
14:40 takadonet flussence: how's your text-tab-wraps hacking going?
14:41 flussence it's starting to look readable :)
14:42 stifynsemons left #perl6
14:42 flussence one thing I need to figure out is what the commented-out tests are *supposed* to do
14:42 takadonet which ones?
14:44 flussence there's 4 files that fail with "bad plan", they're commented out completely at the moment
14:47 takadonet some still have not been changed since the initial port from the p5 version
14:55 shi left #perl6
15:03 tzhs left #perl6
15:05 masak joined #perl6
15:06 masak hola, zebras.
15:06 moritz_ lolitsmasak!
15:10 * masak is having a good day today :)
15:10 * moritz_ is glad to hear that
15:10 Sarten-X left #perl6
15:12 flussence is there a way to construct a regex object from a string, javascript-style?
15:13 pmurias masak: what's so special about today?
15:14 moritz_ flussence: there is, but I have to look up which quoting constructs interpolates the way you want it...
15:14 masak pmurias: had an interview. they were like "yeah, we know who you are". :) I'm currently trying to re-shrink my head to its original size.
15:14 [Coke] flussence: I would imagine eval works.
15:14 flussence yeah, I was looking for anything nicer than eval :)
15:14 pmurias masak: did you get the job?
15:14 arnsholt masak: Cool!
15:15 masak pmurias: don't know, but it felt promising.
15:15 arnsholt What kind of position did you interview for?
15:15 justatheory joined #perl6
15:15 masak arnsholt: [NDA]
15:15 arnsholt Oh right, one of those =)
15:15 moritz_ flussence: my $regex = rx/<$string>/;
15:16 moritz_ maybe we should have a Regex.compile($string) API too
15:17 masak moritz_: if we do, we should go further and expose combining constructs like Alt and Conj.
15:17 flussence looks like it does what I want, thanks moritz_
15:17 Sarten-X joined #perl6
15:18 moritz_ masak: in the long run there are also quasi quotes for generating objects that are only available via syntax
15:18 [Coke] masak: break a leg.
15:19 v15170r joined #perl6
15:19 masak thanks.
15:20 masak moritz_: ooh, indeed.
15:20 masak would like to explore that area more.
15:21 bbkr rakudo: CATCH { say 1 }; CATCH { say 2 }; die; # is this correct output? despite lack of warning on redeclaration... one may expect that it is natural for 2nd CATCH to owerwrite first one.
15:21 p6eval rakudo a37640: OUTPUT«1␤»
15:21 hanekomu joined #perl6
15:21 bbkr compare to P5ism: perl -e 'sub foo {print 1} ; sub foo { print 2}; foo()' - prints 2
15:22 am0c left #perl6
15:22 masak bbkr: what does S04 say about redeclared CATCH blocks?
15:22 stifynsemons joined #perl6
15:23 masak bbkr: are they erroneous, or do they just warn? if the former, talking about desired behavior isn't very meaningful.
15:23 sorear good * #perl6
15:24 masak o/ sorear
15:24 sorear std: A: ; A: ;
15:24 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Illegal redeclaration of 'A' at /tmp/NPbqXKwJpG line 1:␤------> [32mA: ; A: [33m⏏[31m;[0m␤Illegal redeclaration of symbol 'A' (see line 1) at /tmp/NPbqXKwJpG line 1:␤------> [32mA: ; A: [33m⏏[31m;[0m␤Check failed␤FAILED 00:01 117m␤»
15:24 pmurias sorear: hi
15:25 v15170r left #perl6
15:26 mtk left #perl6
15:28 Sarten-X left #perl6
15:29 bbkr masak: i've checked and S04 says nothing about redeclaration of CATCH. STD accepts such redeclaration as valid syntax.
15:30 moritz_ silently dropping one doesn't seem to be a very good idea
15:30 moritz_ I'd rather have it die() than not executing any code that looks like it would be executed
15:31 moritz_ or execute both
15:31 wamba joined #perl6
15:32 flussence grr. open(:r) is returning Bufs for plain text and :enc<utf-8> doesn't work at all.
15:32 masak I think it should be a parsefail at compile time.
15:32 masak bbkr: no, I'm pretty sure S04 mentions it; I've submitted a ticket about it once.
15:33 moritz_ flussence: then rakudo should be patched
15:33 moritz_ so long you might call .decode('UTF-8') on the bufs
15:33 bbkr moritz_: indeed. considering the fact that you can define phaser wherever in the block: "{ die; CATCH {};}" or "{CATCH {}; die;}"  it may be easy to redeclare by mistake in large blocks and never notice that :)
15:34 bbkr masak: on i'll recheck...
15:34 masak bbkr: found this so far:
15:34 masak "A C<CATCH> block is just a trait of the closure containing it, and is automatically called at the appropriate moment."
15:34 flussence I should probably update the rakudo on here - it's still on 2010.12-48-ga23255a
15:34 masak that (kinda) means there can't be more than one.
15:34 masak bbkr: found it. S04:1371
15:35 kjeldahlw left #perl6
15:35 masak bbkr: so, it's a parse-time error, Rakudo should die at comile time, and it's in RT.
15:37 bbkr masak: thanks
15:38 Sarten-X joined #perl6
15:39 alester joined #perl6
15:41 Chillance joined #perl6
15:41 sorear masak: did you see what I did yesterday? :)
15:42 masak sorear: labels and gotos! \o/
15:42 masak sorear++
15:42 sorear also labelled last, etc.  And s///.
15:42 masak sorear: that's awesome.
15:42 tadzik I'd rather have multiple CATCH working, getting executed after the error occuring, like try { die 1; CATCH { say 1 }; die 2; CATCH { say 2 }; }
15:43 stkowski joined #perl6
15:43 vmspb joined #perl6
15:45 orafu left #perl6
15:46 fIorz joined #perl6
15:46 florz left #perl6
15:46 orafu joined #perl6
15:48 wtw left #perl6
15:49 vmspb hi
15:49 masak hi, vmspb
15:49 vmspb rakudo: my $x=1; say ++ + $x
15:49 p6eval rakudo a37640: OUTPUT«2␤»
15:49 vmspb rakudo: my $x=1; say -- - $x
15:49 p6eval rakudo a37640: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in main program body at line 22:/tmp/Iiu6LZgySi␤»
15:50 vmspb It corresponds to spec Perl6?
15:50 masak yes.
15:50 masak -$x is the readonly value.
15:50 masak +$x gives you $x since it already contains a number.
15:50 wamba left #perl6
15:53 noganex left #perl6
15:55 noganex joined #perl6
15:56 pmurias sorear: why does ehspan take labels?
15:56 pmurias instead of it taking an op?
15:58 dalek niecza: 522c862 | pmurias++ | / (5 files):
15:58 dalek niecza: [cl-backend] fake ehspan and span, fix methods and subs with no
15:58 dalek niecza: arguments
15:58 dalek niecza: review: https://github.com/sorear/niecza/commit/522c862b2d
15:59 pmurias sorear: i'll be hacking on the cl-backend much more regularly till the 11th as i've to hand in my lisp project till then
16:01 eternaleye left #perl6
16:01 stifynsemons left #perl6
16:06 vmspb left #perl6
16:08 masonkramer joined #perl6
16:11 cjk101010 left #perl6
16:13 * flussence facepalm
16:14 flussence open() was working fine. The file itself contained Buf(...)
16:14 arnsholt Insidious bug =D
16:14 Patterner left #perl6
16:15 risou joined #perl6
16:15 felliott left #perl6
16:16 kfo joined #perl6
16:17 Psyche^ joined #perl6
16:17 Psyche^ is now known as Patterner
16:19 kfo_ left #perl6
16:23 moritz_ https://wiki.mozilla.org/Firefox/Roadmap so, FF 7 to be shipped this year...
16:24 moritz_ I kinda think that means their major version numbers mean less
16:24 * moritz_ is glad about rakudo's version numbers
16:25 thepler joined #perl6
16:25 alester left #perl6
16:25 benabik_away is now known as benabik
16:27 dalek niecza: 51300e9 | pmurias++ | / (3 files):
16:27 dalek niecza: [cl-backends] ignore any empty list which accidently gets into the xref
16:27 dalek niecza: table
16:27 dalek niecza: review: https://github.com/sorear/niecza/commit/51300e990a
16:28 flussence 7? wtf, mozilla.
16:29 masak rakudo: /[]/; say 'alive'
16:29 moritz_ well, IE and Chrome have high version numbers
16:29 p6eval rakudo a37640: OUTPUT«===SORRY!===␤Confused at line 22, near "/[]/; say "␤»
16:29 moritz_ so firefox needs them tooo!!!!
16:29 masak that's another null pattern.
16:29 moritz_ std: /[]/
16:29 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Null pattern not allowed at /tmp/bSw_mgH332 line 1:␤------> [32m/[[33m⏏[31m]/[0m␤    expecting regex atom␤Parse failed␤FAILED 00:01 119m␤»
16:29 moritz_ masak: right
16:29 masak right.
16:34 masak std: /|&foo/
16:34 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Null pattern not allowed at /tmp/pLEtJtIbDw line 1:␤------> [32m/|[33m⏏[31m&foo/[0m␤Parse failed␤FAILED 00:01 117m␤»
16:34 masak rakudo: /|&foo/; say 'alive'
16:34 p6eval rakudo a37640: OUTPUT«alive␤»
16:34 * masak submits rakudobug
16:35 masak std: /&foo/
16:35 p6eval std 625303c: OUTPUT«ok 00:01 119m␤»
16:35 masak std: /&|foo/
16:35 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Null pattern not allowed at /tmp/ojXvjo5XwF line 1:␤------> [32m/&[33m⏏[31m|foo/[0m␤Parse failed␤FAILED 00:01 117m␤»
16:36 pmurias \\]\
16:36 pmurias sorry
16:36 masak ...a bit of random backwhacking... :)
16:37 sjohnson hi dudes
16:38 masak sjohnson! \o/
16:39 plobsing joined #perl6
16:41 sjohnson hi masak, how's the perl 6 world treating you
16:44 dalek niecza: 980c94d | pmurias++ | / (2 files):
16:44 dalek niecza: [cl-backend] methods can take arguments
16:44 dalek niecza: review: https://github.com/sorear/niecza/commit/980c94ddfe
16:44 masak sjohnson: pretty well. and you?
16:45 sjohnson not bad, though been kinda unaware of perl6 news as of late :(
16:45 sjohnson been focusing on learning C++ to code an app or two
16:45 sjohnson still using p5 though quite often so it's not a total lack of perl in my life
16:47 risou left #perl6
16:49 masak :)
16:49 vmspb joined #perl6
16:49 masak sjohnson: if you're looking for Perl 6 news, look in the direction of Niecza.
16:49 plobsing left #perl6
16:50 benabik o/
16:50 masak \o
16:52 pmurias sorear: lib/JSYNC.cs is writen by you?
16:52 pmurias sorear: git log shows it is
16:58 plobsing joined #perl6
17:02 molaf_ left #perl6
17:02 pmurias sorear: i found a problem
17:03 pmurias sorear: lib/JSYNC.cs spits out Infinity which is not valid JSON and causes problems for the lisp parser
17:04 rgrau joined #perl6
17:05 pmurias perl6: say 1/0;
17:05 p6eval niecza v2-25-g51300e9: OUTPUT«Infinity␤»
17:05 p6eval ..rakudo a37640: OUTPUT«Inf␤»
17:05 p6eval ..pugs: OUTPUT«*** Illegal division by zero␤    at /tmp/KBgCBueWaQ line 1, column 5-8␤»
17:05 pmurias perl6: say 1/0.0;
17:05 p6eval niecza v2-25-g51300e9: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Action method dec_number not yet implemented at /tmp/NlU9HC1Pyi line 1:␤------> [32msay 1/0.0[33m⏏[31m;[0m␤␤Unhandled exception: Check failed␤␤  at /home/p6eval/niecza/boot/lib/SAFE.setting line 377 (SAFE die @ 2)␤  at
17:05 p6eval ../home/p6eval/niecza/src/STD…
17:05 p6eval ..pugs: OUTPUT«*** Illegal division by zero␤    at /tmp/VQUx94M4oq line 1, column 5-10␤»
17:05 p6eval ..rakudo a37640: OUTPUT«Inf␤»
17:06 pmurias is rakudo correct?
17:07 masak think so.
17:10 cibs joined #perl6
17:10 hanekomu left #perl6
17:14 plobsing left #perl6
17:14 hanekomu joined #perl6
17:15 risou joined #perl6
17:17 shi joined #perl6
17:18 jnthn evening o/
17:18 phenny jnthn: 00:18Z <sorear> tell jnthn Why do the type cache and method cache exist once per STable instead of per HOW?
17:20 jnthn phenny: tell sorear we can't store it in the HOW as the point is that it's fast to access and we can't rely on the representation of a HOW to look a certain way, so we'd have no way to get at it other than a method call, which would defeat the object. :) Also, DRY...don't want every meta-object to have to declare storage/accessor for it.
17:20 phenny jnthn: I'll pass that on when sorear is around.
17:24 pmurias masak: the spec would imply so
17:24 pmurias will the spec be turned more precise?
17:25 pmurias in gernerall, not only in this case
17:25 masonkramer left #perl6
17:25 masak pmurias: in general, only if someone changes it to be more precise. :)
17:25 masonkramer joined #perl6
17:26 masonkramer left #perl6
17:32 mtk joined #perl6
17:34 vmspb std: my $x=1; ++ $x ; say $x
17:34 vmspb rakudo: my $x=1; ++ $x ; say $x
17:34 p6eval std 625303c: OUTPUT«ok 00:01 121m␤»
17:34 p6eval rakudo a37640: OUTPUT«2␤»
17:34 vmspb std: my $x=1; $x ++ ; say $x
17:34 vmspb rakudo: my $x=1; $x ++ ; say $x
17:35 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Postfix found where infix expected (omit whitespace?) at /tmp/8n2PUGWarV line 1:␤------> [32mmy $x=1; $x [33m⏏[31m++ ; say $x[0m␤    expecting any of:␤  bracketed infix␤        infix␤  infix or meta-infix␤Parse failed␤FAILED 00:01 121m␤»
17:35 p6eval rakudo a37640: OUTPUT«===SORRY!===␤Confused at line 22, near "$x ++ ; sa"␤»
17:35 TimToady the whitespace rules are tighter on postfixes
17:35 TimToady to distinguish them from infixes
17:35 TimToady yes, it's an inconsistency :)
17:36 hanekomu left #perl6
17:36 PerlJam As long as it's not a foolish inconsistency, I don't think there's a problem  :)
17:40 pmurias masak: making the spec more precise would also make it harder to read
17:40 daxim perl6: ((1,2,3,4,5) ¥ (5,6,7,8,9)).perl.say
17:40 pmurias masak: as it would need to be a more formalised thing instead of pleasant prose
17:40 p6eval rakudo a37640: OUTPUT«===SORRY!===␤Confused at line 22, near "((1,2,3,4,"␤»
17:40 p6eval ..pugs: OUTPUT«decodeUTF8': bad data: '\165'␤*** ␤    Unexpected "\165"␤    expecting operator or ")"␤    at /tmp/RsHdqTp6dk line 1, column 14␤»
17:40 p6eval ..niecza v2-26-g980c94d: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Confused at /tmp/rI9sOZX3IQ line 1:␤------> [32m((1,2,3,4,5) [33m⏏[31m¥ (5,6,7,8,9)).perl.say[0m␤␤Parse failed␤␤»
17:40 TimToady daxim: that's spelled Z now
17:41 TimToady you must be following an ancient text
17:41 daxim just partying like it's 2005
17:43 pmurias left #perl6
17:43 PerlJam daxim: running through pugs code?
17:43 PerlJam or ... code that was in the pugs repo
17:48 colomon rakudo: ((1,2,3,4,5) Z (5,6,7,8,9)).perl.say
17:48 p6eval rakudo a37640: OUTPUT«(1, 5, 2, 6, 3, 7, 4, 8, 5, 9)␤»
17:48 * TimToady wonders whether we should maybe allow constants with deferred initializations so that they can be referred to as constants before we know their value
17:48 PerlJam lazy constants?
17:49 daxim left #perl6
17:49 TimToady then if labels are just funny constants, we can say 'constant A; goto A; A: stuff()'
17:49 wolfram__ joined #perl6
17:50 TimToady or maybe 'name A;' just reserves a typename/constant/whatever name
17:50 wolfram__ How do I get the even (or odd) indexed elements of an array (or maybe unzip to @even and @odd)?
17:50 PerlJam TimToady: the latter is exactly what I was about to suggest  (though I was going to suggest "label A")
17:51 TimToady well, we also have 0-ary thingies like rand and self that aren't constants
17:51 TimToady would be nice to have a convenient way to declare them too without going all grammary
17:52 moritz_ could we ues them to decl... right :-)
17:52 TimToady macro A {...}
17:52 TimToady except I think current spec defaults macros to listops
17:52 moritz_ name my-rand; sub my-rand { rand ** 2 }
17:52 moritz_ would parse my-rand as a term
17:53 TimToady anyway, then we wouldn't force forward goto to be dynamic
17:53 cdarroch joined #perl6
17:53 PerlJam IS there no value in the declaration(s) giving the intent to usage?  "nullary foo", "label foo", etc. ?
17:53 cdarroch left #perl6
17:53 cdarroch joined #perl6
17:53 TimToady there's some value, but we want to avoid an explosion of keywords, I suppose
17:54 PerlJam or is the value of ambiquity higher than whater value we'd get from the other
17:54 moritz_ there is value in both generic and concrete declarations, IMHO
17:54 TimToady as far as the parse is concerned, it just needs to know whether to look for arguments after the name in question
17:54 PerlJam wait ... we could still use :dba on it, yes?
17:54 TimToady types and constants are the same thing, to the parser
17:55 Su-Shee good evening everyone.
17:55 TimToady sunshiney good mornin' to ya
17:55 plobsing joined #perl6
17:55 Su-Shee it was indeed. FINALLY ;)
17:56 moritz_ yeah. 10 hours ago it was
17:56 envi left #perl6
17:56 PerlJam If we can annotate how we intend to use the symbols (something like "name Foo :dba<bar>"), then the one keyword is fine and we can still get nice messages when we screw up
17:57 TimToady what would you use the annotation for other than commentary?
17:57 PerlJam documentation
17:57 TimToady well, it won't pass CHECK without giving it a real definition
17:57 PerlJam I guess my brain is rebelling against the idea of labels, nullarys, and constants all occupying the same idea space
17:58 TimToady they're all barenames to me
17:59 Su-Shee PerlJam: you don't need your brain anymore. you became very rich. (at least I dreamt about it. :)
17:59 wolfram__ (bad time for beginner questions or badly stated problem?)
17:59 TimToady it's always a bad time :)
18:00 flussence better ask now, in case it gets worse :)
18:00 MayDaniel joined #perl6
18:00 wolfram__ see 10 minutes above
18:01 flussence for @a -> $a, $b { #ignore one or the other; }
18:01 PerlJam TimToady: perhaps that's it too ... I equate "bareword" with "evil"  :)
18:02 benabik rakudo: my @l = (1,2,3,4); my (@e, @o); for @l -> $o, $e { @o.push: $o; @e.push: $e }; @o.perl.say; @e.perl.say
18:02 TimToady as a subscript, @a[0,2,4...*]
18:02 p6eval rakudo a37640: OUTPUT«[1, 3]␤[2, 4]␤»
18:02 kst joined #perl6
18:02 TimToady except I don't think rakudo autotrims subscripts yet
18:02 wolfram__ flussence: I need the complete even/odd arrray to pass to another sub
18:03 benabik It does explode on wrong number of args.
18:03 TimToady rakudo: my @a = 'a'...'z'; say @a[0,2,4...24]
18:03 p6eval rakudo a37640: OUTPUT«acegikmoqsuwy␤»
18:03 TimToady rakudo: my @a = 'a'...'z'; say @a[0,2,4...*]
18:03 p6eval rakudo a37640: OUTPUT«(timeout)»
18:04 TimToady rakudo: my @a = 'a'...'z'; say @a[0,2,4...*>=@a]
18:04 p6eval rakudo a37640: OUTPUT«acegikmoqsuwyAny()␤»
18:04 moritz_ rakudo: my @l = 1..10; say @l[-> $limit {0, 2 ...^ * > $limit].perl
18:04 p6eval rakudo a37640: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
18:04 TimToady rakudo: my @a = 'a'...'z'; say @a[0,2,4...^*>=@a]
18:04 p6eval rakudo a37640: OUTPUT«acegikmoqsuwy␤»
18:04 moritz_ rakudo: my @l = 1..10; say @l[-> $limit {0, 2 ...^ * > $limit}].perl
18:04 p6eval rakudo a37640: OUTPUT«(1, 3, 5, 7, 9, Any)␤»
18:04 TimToady there's a workaround
18:04 moritz_ rakudo: my @l = 1..10; say @l[-> $limit {0, 2 ...^ * >= $limit}].perl
18:04 p6eval rakudo a37640: OUTPUT«(1, 3, 5, 7, 9)␤»
18:04 moritz_ rakudo: my @l = 1..10; say @l[-> $limit {1, 3 ...^ * >= $limit}].perl
18:04 p6eval rakudo a37640: OUTPUT«(2, 4, 6, 8, 10)␤»
18:04 icwiener joined #perl6
18:05 moritz_ speaking of bad ideas... google doesn't seem to have picked up the rel="canonical" thing in the IR clogs
18:05 flussence :(
18:05 TimToady but ...* is supposed to autotrim eventually
18:05 moritz_ it has indexed the day after the change as /today
18:05 TimToady and /today still doesn't redirect to the current day
18:06 wolfram__ Ok, I several things to try. One more before I head off to FFT: How do I cat (append) two arrays?
18:06 TimToady so every time I refresh I have to also visit previous day explicitly
18:06 moritz_ TimToady: so far no user wanted that feature, except for the effect it would have on search engines
18:06 wolfram__ (wonders if it will be SFT in Rakudo)
18:06 * TimToady me as carping about it then :)
18:06 moritz_ wolfram__: @a, @b
18:07 moritz_ wolfram__: of @a.push: @b if you want to mutate @a
18:07 wolfram__ Oh, that's easy. Thanks
18:07 moritz_ rakudo: my @a = <foo bar>; my @b = 1, 2; .say for @a, @b
18:07 p6eval rakudo a37640: OUTPUT«foo␤bar␤1␤2␤»
18:08 PerlJam wolfram__: shuffling cards?
18:09 wolfram__ PerlJam: Translating FFT algo from p5 PDL (not the built-in)
18:09 PerlJam oh, you did mention that a minute ago
18:10 dakkar left #perl6
18:10 wolfram__ Little stress-test for complex numbers...
18:12 Helios left #perl6
18:12 wolfram__ moritz_: Of course it's just as simple as in p5. Was a little confused because I need a ->glue in PDL
18:14 Helios joined #perl6
18:17 tadzik seen mberends
18:17 aloha mberends was last seen in #perl6 3 days 20 hours ago joining the channel.
18:17 TimToady wolfram__: if you're a PDLer then we'll appreciate any feedback on the design in S09, since it's mostly unimplemented yet
18:17 moritz_ tadzik: fwiw mberends is on vacation, I don't know how much internet he has :-9
18:19 tadzik ah, I see
18:20 wolfram__ TimToady: Circular dependency -- I was hoping for a blog post or something explaining what was meant to become of the PDL things in S09 for a long time ;-)
18:21 TimToady heh
18:21 TimToady well, I guess that's a kind of feedback...
18:22 risou left #perl6
18:22 moritz_ hm. Just pushed a patch for the redirect thing, but it's kinda not redirecting :(
18:23 wolfram__ If I had compact storage and effeicient calculations on huge sets of data with all the p6 operators on lists available I would be happy!
18:23 moritz_ wolfram__: we're working on it :-)
18:24 TimToady looks like we'll be getting native types pretty soon now
18:24 wolfram__ moritz_: I know. (also the compact storage part?)
18:24 moritz_ wolfram__: yes.
18:25 spq left #perl6
18:25 impious joined #perl6
18:25 impious left #perl6
18:25 wolfram__ I'm reading logs here so I'll know when it happens. Looking forward to it!
18:25 spq joined #perl6
18:25 moritz_ wolfram__: it's more in the order of weeks or months, so following the release announcements will suffice :-)
18:26 shortcircuit left #perl6
18:26 shortcircuit joined #perl6
18:26 wolfram__ moritz_: I know. I'm patient.
18:27 * TimToady is looking forward to the time when someone implements hyperoperators in the GPU
18:28 pmichaud good afternoon, #perl6
18:28 moritz_ \o
18:30 MayDaniel left #perl6
18:33 TimToady pmichaud: o/ do you remember why we made /(x)?/ return a list?  thinking of making it Nil or the item, since we now distinguish Nil from (), and an item can behave as a list at need
18:33 pmichaud (X)? returns a list comes from the days before Nil
18:33 TimToady and then it would be consistent with $obj.?foo
18:33 cafesofie left #perl6
18:33 TimToady which is Nil or the return value
18:33 pmichaud indeed, before we had any real idea what Nil was, or even that it existed
18:34 pmichaud originally   /(x)?/   was to return the matched object or nothing; for consistency with the other quantifiers we made it always return a list (more)
18:34 TimToady .* returns () by new spec
18:34 cafesofie joined #perl6
18:35 pmichaud last year, you started to change /(x)?/ to return Nil instead of a list and I carped because I had finally gotten everyone switched over to accepting a list instead of nothing :-)
18:35 pmichaud i.e., the back-and-forth changes wasn't going well
18:35 pmichaud that said
18:36 pmichaud I totally agree that making it match  .?meth   makes perfect sense
18:36 pmichaud and /(x)?/  returning an empty array was always ending up being a faq
18:36 TimToady and removes the need for a slew of .[0]
18:36 pmichaud exactly
18:36 pmichaud so, almost a year later, I'm okay with switching it back
18:36 pmichaud now is a good time, too, since we're about to do another nqp implementation
18:37 TimToady just thought I'd ask :)
18:37 colomon \o/
18:37 TimToady since I know you were involved before
18:37 TimToady okay, I'll respec it
18:37 pmichaud it will undoubtedly involve heartache for our users again, but I vote we get it right now rather than live with the tabs-in-makefiles for the rest of our careers
18:38 TimToady but, we already have eleven users!!!
18:38 pmichaud so,   /(x)?/   will return a match object if matched, and Nil if not matched?
18:38 TimToady I think that's the case now
18:38 pmichaud you mean in the spec, or in the implementation?
18:38 TimToady sorry, in the new spec
18:39 pmichaud okay
18:39 pmichaud just verifying the intended semantic
18:39 TimToady has to be a Match if there are submatches, in any case
18:39 pmichaud well, it could've still ended up as a list of one match .... but we don't want that :-)
18:40 TimToady that's precisely what we're trying to change
18:40 pmichaud I know it's -way- early to be planning this for most folks, but anyone (1) planning to attend yapc::eu in riga and (2) know when we'll have hacking sessions there?
18:40 pmichaud I'm thinking of attending yapc::eu
18:40 TimToady 1 but not 2
18:40 pmichaud I'm guessing I may do the 1 day before and 1 day after conference plan again
18:41 pmichaud i.e., arrive on 13 Aug, depart on 19 Aug
18:41 TimToady we'll probably find a day or two to sightsee either before or after
18:41 pmichaud (leaving the 14th and 18th for hacking around the conference)
18:41 TimToady would be nice to know in advance when the hacking is
18:42 pmichaud 1 day before and after worked well in Pisa, I think.
18:43 zby_home joined #perl6
18:44 pmichaud bbi15  # errand
18:46 wolfram__ left #perl6
19:02 dalek specs: a6bb001 | larry++ | S05-regex.pod:
19:02 dalek specs: /(x)?/ again defined as item capture, not list
19:02 dalek specs: review: https://github.com/perl6/specs/commit/a6bb001f14
19:04 fhelmberger left #perl6
19:04 pyrimidine joined #perl6
19:09 pako_ joined #perl6
19:10 pmichaud so,  with   abc ~~ / (x)? . /    we would end up that $0 is Nil
19:10 pmichaud er, 'abc'
19:10 TimToady yes
19:11 pmichaud and with   'abc' ~~ / (x)? d | . /     we would end up that $0 is Mu
19:11 pmichaud (i.e., no .[0] entry at all)
19:11 TimToady aren't .[] entries shared across | though?
19:11 pmichaud ummmmm
19:12 pmichaud (thinking)
19:12 pmichaud okay, || then?
19:12 TimToady there too, I think
19:13 pmichaud I'm not sure about 'shared'
19:13 pmichaud interesting might be
19:13 pmichaud 'abc'  ~~ / (x)? d | (.) /
19:13 pmichaud or
19:13 TimToady shared name
19:13 pmichaud 'abc'  ~~ / (x)? d | (.)? /
19:13 pmichaud I'm thinking first one always has to be a list  (same name across multiple alternatives)
19:14 pmichaud oh, maybe not
19:14 pmichaud I might be too doped up on cold medicine to make any sense of it now :)
19:15 pmichaud but if we had
19:15 pmichaud 'abc' ~~ / <alpha>? d | . /
19:15 pmichaud what would we expect in $<alpha> ?
19:15 pmichaud Currently nqp doesn't set any value for $<alpha> there
19:16 TimToady that would also change to Nil or the character, methinks
19:16 pmichaud well, it won't be a character, because that alternation doesn't match
19:16 pmichaud so, any capture in a regex always gets an entry, even if it's on a non-matching branch?
19:17 TimToady so at the top level
19:17 TimToady s/so //
19:17 pmichaud is that true for non-quantified forms as well?
19:17 TimToady I probably need to take a pass on S05 and look at all the examples
19:17 pmichaud 'abc' ~~ / <alpha> || <digit> || <punct> /
19:17 pmichaud $<digit> gets set to Nil?
19:17 pmichaud that seems.... weird
19:18 pmichaud I'd expect   $/{'digit'}.exists to be false in that case
19:18 TimToady well, effectively, you'll get Nil on a non-existent lookup anyway, but .exists would give a different answer
19:18 _buno_ joined #perl6
19:18 pmichaud non-existent lookups tend to return Mu, not Nil
19:18 pmichaud we could say that for Match objects all non-existent lookups return Nil
19:18 TimToady I think they should return Nil
19:18 TimToady Mu is not the absense of a value
19:19 pmichaud if I have    my $a;   should $a be pre-set to Nil?
19:19 pmichaud rakudo:  my $a;   say $a.WHAT;
19:19 p6eval rakudo a37640: OUTPUT«Any()␤»
19:19 pmichaud yeah, that makes sense there
19:20 pmichaud my $a;   say $a]0].WHAT;
19:20 pmichaud rakudo: my $a;   say $a]0].WHAT;
19:20 p6eval rakudo a37640: OUTPUT«===SORRY!===␤Confused at line 22, near "]0].WHAT;"␤»
19:20 pmichaud rakudo: my $a;   say $ap0].WHAT;
19:20 pmichaud arggggh
19:20 p6eval rakudo a37640: OUTPUT«===SORRY!===␤Confused at line 22, near "].WHAT;"␤»
19:20 pmichaud rakudo: my $a;   say $a[0].WHAT;
19:20 p6eval rakudo a37640: OUTPUT«Any()␤»
19:20 diakopter oooo 11 users is about 1 user per year
19:20 pmichaud I think things get weird if we turn that into Nil
19:20 TimToady poking a Nil into a variable tends to produce a different undef
19:20 pmichaud especially for autoviv
19:21 TimToady so $0 needs to be classified somehow as not-a-variable to keep its Nil
19:21 _buno_ left #perl6
19:21 TimToady a list is not a list of variables
19:21 TimToady but of values, so I guess we're kinda okay if we think it's really a list, and not an Array
19:21 pmichaud but $0 is really $/[0]
19:21 pmichaud and I've been presuming that one can assigning into $/[0] and the like
19:22 pmichaud *assign
19:22 pmichaud I'm fine if that's not the case
19:22 TimToady but $/[] is potentially a lazy list even
19:22 plobsing left #perl6
19:22 pmichaud sure, but so is @a  :-P
19:22 pmichaud I don't see a difference there.
19:22 TimToady @a has a lazy list
19:23 TimToady with which it reifies
19:23 TimToady I guess you can always bind Nil into a slot
19:23 pmichaud so,  @($/)  is truly a List and not an Array, in the sense that one cannot assign to individual elements?
19:24 TimToady seems to naturally want readonly semantics once the match is done
19:24 pmichaud okay
19:24 TimToady the matcher can cheat however it wants, of course
19:24 TimToady since it's a funny kind of constructor
19:25 pmichaud so,   $/{'nosuchkey'}   defaults to Nil
19:25 pmichaud ?
19:25 TimToady I think so
19:25 pmichaud so then my question becomes
19:26 pmichaud 'abc' ~~ / <digit> || <alpha> /;    say $/<digit>.exists;    # or whatever the current exists syntax is
19:26 TimToady digit is not an array or hash
19:27 TimToady has no .exists method
19:27 pmichaud okay
19:27 TimToady has a .defined method
19:27 pmichaud ummm
19:27 pmichaud %($/).exists('digit')
19:27 TimToady well, maybe the digit rule has submatches though
19:27 pmichaud I'm asking "do we make entries in the hash for captures that aren't on the matching subrule path?"
19:28 pmichaud *matching alternation
19:29 plobsing joined #perl6
19:29 TimToady STD tends to pre-create listy captures as a flag that they have push semantics
19:29 pmichaud nqp maintains a list as well, but doesn't do it in the match object
19:29 pmichaud and, of course, neither of those are listy captures :-)
19:30 TimToady might different implementations prefer .exists to work differently for efficiency?
19:30 TimToady we could possible leave it officially undefined
19:30 TimToady *ly
19:30 pmichaud possibly, but I'm more interested in end-user questions about it
19:30 wolfram_ joined #perl6
19:31 pmichaud I expect end-users will want to use $/.exists('digit') or something similar to determine which branch was taken
19:31 TimToady my inclination is to say the key exists if the lexical scope defined it, whether or not it was bound
19:32 pmichaud and that's true for both itemy and listy captures?
19:32 TimToady I don't think .exists is suitable for branch detection
19:33 wolfram_ What do I say instead of exp<< @b (which is "Unsupported use of << to do left shift" ) to get a list where all items in @b go through exp($_) ?
19:33 pmichaud wolfram_: .exp for @b
19:33 pmichaud or
19:33 pmichaud exp($_) for @b
19:34 wolfram_ Ok, thanks
19:34 pmichaud if .exp exists (I think it does), then   @b.>>exp  might work
19:34 pmichaud rakudo:  my @b = 3,4,5;   say @b.>>exp;
19:34 p6eval rakudo a37640: OUTPUT«===SORRY!===␤Confused at line 22, near "say @b.>>e"␤»
19:34 TimToady S05:3813 discusses subpattern renumbering over | and ||
19:34 pmichaud rakudo:  my @b = 3,4,5;   say @b.»exp;
19:34 p6eval rakudo a37640: OUTPUT«===SORRY!===␤Confused at line 22, near "say @b.\x{bb}ex"␤»
19:34 pmichaud rakudo:  my @b = 3,4,5;   say @b».exp;
19:34 p6eval rakudo a37640: OUTPUT«20.085536923187754.5981500331442148.413159102577␤»
19:34 pmichaud there, that's it
19:35 wolfram_ Great!
19:35 pmichaud basically, invoke .exp on every element of @b
19:35 pmichaud can also do
19:36 pmichaud rakudo:  my @b = 3,4,5;  sub foo($_) { exp($_); };   say @b>>.&foo
19:36 p6eval rakudo a37640: OUTPUT«20.085536923187754.5981500331442148.413159102577␤»
19:36 pmichaud in case you need to invoke a function that isn't a method
19:36 TimToady S05:3183 rather
19:36 pako_ left #perl6
19:37 pmichaud TimToady: yes, I'm not confused by subpattern renumbering (I don't think I am :-)
19:37 pmichaud I'm just clarifying when entries get created in @() and %()
19:37 pmichaud I can see applications wanting to use %().keys or something like that.... probably relates to .caps also
19:39 TimToady I think the names should be relatively static for optimization purposes, and the user should be relying on .defined
19:39 Vlavv` left #perl6
19:39 TimToady we don't add 'my' variables when they're assigned...
19:39 pmichaud okay
19:39 pmichaud wfm
19:40 TimToady this seems the natural province of definedness
19:40 pmichaud I can follow that logic
19:40 TimToady so a given matcher could actually store its matches in preknown attribute slots, for instance
19:41 pmichaud right
19:41 TimToady which, if .[] indexed internally could be more efficient than assuming a hash impl
19:41 pmichaud I like thinking of them like lexical variables, in that sense
19:41 pmichaud makes a lot of sense
19:41 TimToady it feels righter to me
19:42 TimToady course sometimes my feelings betray us all :)
19:43 diakopter especially for ... sister.....
19:43 pmichaud we all loved the SB passat commercial last night (darth vader)
19:43 dalek specs: 248778e | larry++ | S05-regex.pod:
19:43 dalek specs: only list-quantifiers force list capture
19:43 dalek specs: review: https://github.com/perl6/specs/commit/248778e042
19:44 pmichaud it was doubly humorous here because I drive a passat, and we keep comparing our 9-year old to Anakin Skywalker :)
19:44 TimToady yes, that commercial was darling; though I have more in common with the old folks these days...
19:45 TimToady so I liked the Eco commercial :)
19:46 TimToady also the best of the Dorito commercials, which came in flavors bad, ugly, and good  :)
19:46 pmichaud I must've missed the eco commercial  (youtube to the rescue)
19:46 pmichaud http://www.youtube.com/watch?v=R55e-uHQna0  # passat commercial, for those who missed it
19:48 TimToady the Detroit commercial was really bizarre
19:49 pmichaud yeah, I wasn't sure where that was going at first :)
19:49 TimToady most of the car commercials were pretty bizarre
19:49 TimToady though I liked the one where the car kept getting restolen
19:49 TimToady don't remember the brand though
19:50 TimToady so a failed commercial, in that sense
19:50 Limbic_Region joined #perl6
19:50 pmichaud hyundai, I think
19:52 TimToady shower &
19:52 Vlavv` joined #perl6
19:53 pmichaud lunch &
19:56 kjeldahl joined #perl6
20:04 MayDaniel joined #perl6
20:22 dorlamm joined #perl6
20:26 diakopter implement, or implement not. there is no use.
20:27 tadzik :D
20:29 benabik is now known as benabik_away
20:51 plobsing left #perl6
20:56 dorlamm left #perl6
21:02 plobsing joined #perl6
21:07 pmurias joined #perl6
21:13 zby_home left #perl6
21:15 pmurias sorear: ping
21:19 snearch joined #perl6
21:21 pmichaud 20:26 <diakopter> implement, or implement not. there is no use.
21:21 pmichaud Rakudo has already implemented 'or', 'not', 'is', 'no', and 'use'.  The only one we're missing is 'there'.
21:22 pmichaud There's just no "there" there.
21:22 jnthn lol :)
21:23 tadzik std: sub implement {}; sub there {}; implement or implement not; there is no use;
21:23 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Prefix requires an argument at /tmp/ZFcI1ZctO5 line 1:␤------> [32msub there {}; implement or implement not[33m⏏[31m; there is no use;[0m␤Parse failed␤FAILED 00:01 119m␤»
21:23 tadzik std: sub implement {}; sub there {}; implement or not implement; there is no use;
21:23 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Undeclared routines:␤        'is' used at line 1␤    'no' used at line 1␤    'or' used at line 1␤    'use' used at line 1␤Check failed␤FAILED 00:01 119m␤»
21:23 Sarten-X left #perl6
21:24 flussence std: no U !!!
21:24 p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
21:24 tadzik 0_0
21:25 pmichaud rakudo:  0_0
21:25 p6eval rakudo a37640:  ( no output )
21:25 pmichaud rakudo:  say 0_0
21:25 p6eval rakudo a37640: OUTPUT«0␤»
21:28 pmichaud afk
21:31 Sarten-X joined #perl6
21:32 snearch left #perl6
21:34 [Coke] moritz_++ #clogging
21:34 ryan__ joined #perl6
21:35 nadim_ left #perl6
21:35 nadim_ joined #perl6
21:35 colomon I didn't know we have cloggers around here...
21:37 [Coke] std: e; pi; no u !!!
21:37 p6eval std 625303c: OUTPUT«ok 00:01 118m␤»
21:39 PerlJam infrared clogging even
21:42 noganex_ joined #perl6
21:45 dalek niecza: 1829f46 | pmurias++ | cl-backend/backend.lisp:
21:45 dalek niecza: [cl-backend] implement if and remove logging
21:45 dalek niecza: review: https://github.com/sorear/niecza/commit/1829f46a5a
21:45 plobsing left #perl6
21:46 noganex left #perl6
21:46 plobsing joined #perl6
21:49 wolfram_ Just in case someone wants to look at my attempt to FFT in perl6: http://nopaste.info/54335e83b5.html
21:50 wolfram_ Most strange to me is that it hangs for a sequence of 0..31 or 0..63 but works for @seq = 0..15
21:50 wolfram_ Bed now. Bye.
21:50 wolfram_ left #perl6
21:51 colomon drat.  wish he hadn't just dropped that and left.
21:51 PerlJam me too
21:52 PerlJam (but for probably different reasons :)
21:52 colomon oh?
21:52 silug joined #perl6
21:53 PerlJam I was just going to comment on his initialization of @twid
21:53 colomon something like pointing out it could just be 0, $twd ... (@odd-1)*$twd  ?
21:55 colomon or (^@odd).map(* * $twd)>>.exp   ?
21:55 PerlJam I assume he wrote it that way for "documentation" purposes, but he could have also factored $twid out completely so as to keep things DRYer
21:56 PerlJam I think this is the first time I've seen so much use of the ASCII guillemets too :)
21:57 colomon PerlJam: you've missed some of my "classic" code, then.  :)
21:57 PerlJam (Texas guillemets?)
21:57 PerlJam colomon: Must have
21:58 coldhead joined #perl6
21:59 ashleydev left #perl6
22:02 TimToady what a stupid nopaste website that wastes half of my screen
22:07 colomon It does give the appearance of hanging with 0..31
22:11 ashleydev joined #perl6
22:13 PerlJam I just tried it with the latest parrot+rakudo and it took about 8 seconds for 0..31
22:13 colomon really?  it just sits there on my MBP
22:13 colomon hmmm...
22:14 PerlJam 0..63 worked fine too
22:14 * colomon hmmms the hmmm of someone logging into a more powerful machine...
22:16 benabik joined #perl6
22:19 PerlJam oh, I lied.
22:20 PerlJam apparently I was running my modified version rather than the original
22:20 PerlJam (change the init of @twid and it works fine :)
22:22 colomon really?
22:22 colomon of!
22:22 colomon oh!, I mean.
22:22 colomon duh.
22:22 colomon PerlJam++
22:23 colomon so basically he just got very very lucky that 0..15 worked
22:25 colomon I can confirm that with that fixed, 0..31 works... and ^64.
22:25 colomon ah, well, at least I got a fresh build on my Linux box out of the deal.
22:26 Chillance left #perl6
22:26 benabik left #perl6
22:32 spq left #perl6
22:38 PerlJam Hrm.
22:39 PerlJam If you modify the initialization of @twid to any of the ones we mentioned earlier, it seems the complex arithmetic doesn't work out right.
22:39 colomon really?
22:39 * colomon admits he didn't check the result.
22:41 PerlJam But I think I know how to make his work right
22:41 masak pmurias: I'm not opposed to the spec becoming a lot stricter, but I also doubt it'll happen.
22:41 masak perhaps s/stricter/more formal/
22:43 kaare_ left #perl6
22:44 colomon PerlJam: what did you use for generating @twid?
22:44 PerlJam Which time ?  :)
22:44 lolo_91 joined #perl6
22:45 PerlJam Anyway I think I know what the problem is.  In the complex arithmetic, we get floating point real and imaginary components and ... is checking those for equality.
22:45 masak lolo_91: greetings. any relations to Layla_91?
22:45 masak :)
22:45 lolo_91 masak: mmm make a guess :P =)
22:45 masak well, you have the same last two digits... :P
22:45 colomon PerlJam: that's what causes the infinite loop, sure, but it's also causing the complex numbers to be messed up?
22:45 masak and the underscore.
22:46 PerlJam colomon: dunno about that one yet.
22:46 ofir masak, you sound like a perl(/regex/) guru, what the hell does (?=pattern) means ? (positive lookahead), I couldn't figure it out
22:46 masak ofir: I don't know about guru, but I know that 'perldoc perlre' explains it fairly well.
22:46 Mowah left #perl6
22:47 PerlJam ofir: You might get more help with a perl 5 regex on #perl or #perlhelp or something
22:47 masak ofir: if you're still curious about what 'positive lookahead' is after that, Wikipedia might help. or #perlhelp on irc.perl.org
22:47 ofir PerlJam, it is a perl 5 regex only ? perl 6 no longer supports this syntax ?
22:47 lolo_91 masak: yes it is me I am unable to fall asleep so decided to pass by =)
22:48 masak ofir: generally, it's a good idea to disguise Perl 5 questions in Perl 6 syntax in here. this is #perl6, after all :)
22:48 PerlJam ofir: nope, Perl 6 has different regex syntax for this feature (and others)
22:48 masak lolo_91: by "yes it is me", I suppose you want to claim that you are indeed Layla_91. :)
22:48 sji joined #perl6
22:49 shi left #perl6
22:49 ofir masak, disguise is my middle name ;]
22:49 benabik joined #perl6
22:49 sbp ofir: lookaheads in perl6 are <?before pattern>
22:49 tadzik lolo_91: insomniac high five! o/
22:50 sbp ofir: see http://perlcabal.org/syn/S05.html
22:50 lolo_91 tadzik: heeey! :D
22:50 ofir sbp, thanks a lot
22:50 masak ofir: thus (just so you know till next time), you should have asked "what the hell does <?before pattern> mean? (positive lookahead) I couldn't figure it out" :)
22:50 sbp yw
22:50 PerlJam heh
22:50 Tene ofir: (?=...) is well-documented in 'man perlre'
22:50 sbp well, he couldn't if he didn't know what it is in perl6
22:50 sbp I'd have disguised it as "what is (?=...) in perl6?"
22:51 masak :)
22:51 masak that'd work too.
22:51 benabik left #perl6
22:51 jnthn pmichaud: about?
22:51 masak but then you'd have to wait a day to ask what it mean in Perl 6 :P
22:51 sbp ofir: and it means, does this pattern come next? if so, then we can continue; but we don't consume what the pattern has matched
22:51 lolo_91 jnthn: Ping! =)
22:51 sbp so it's a kind of peek forwards without consumption
22:51 jnthn lolo_91: Pong! ;)
22:52 sbp ofir: oh, also there's special syntax for doing peeking
22:53 sbp just once at the beginning and end. but don't worry about that because the <?before pattern> thing always works
22:53 jnthn lolo_91: If the wind keeps making this much noise here I might not do so much sleep tonight either... :)
22:53 lolo_91 jnthn: Oh god it is same here! I feel the house is falling apart! :D
22:55 jnthn If it's this bad here, I can only imagine what it's like on the coast...I'm a bit inland and it's normally gentler here. :)
22:55 plobsing left #perl6
22:55 masak pmichaud: I'm planning to attend YAPC::EU in Riga. \o/
22:56 jnthn pmichaud: what masak sed :)
22:56 jnthn Mmm...Riga. :)
22:56 * tadzik is coming too
22:56 masak \o/
22:56 jnthn \o/
22:57 lolo_91 jnthn, masak, tadzik.. lucky people! :''(
22:57 jnthn lolo_91: *hug*
22:57 tadzik I mean, damn, there is a free t-shirt! :)
22:57 jnthn lolo_91: Well, there's YAPC::Russia. :)
22:57 Tene maybe I'll finally attend a yapc in 2011
22:57 tadzik lolo_91: so why won't you come?
22:58 Tene I'd really like to.
22:58 Tene in 2010, I was moving to a new state and starting a new job right during yapc
22:58 jnthn Meh, excuses. I went to a conference half way through moving country. :P
22:58 Tene in 2009, I had no money
22:59 lolo_91 tadzik: I can not travel a lot.. I have job now and not much cash.. but will attend YAPC::Russia. ^_^
23:00 jnthn lolo_91: How's the new dev job going? :)
23:01 cosimo joined #perl6
23:01 risou joined #perl6
23:01 plainhao left #perl6
23:02 whiteknight joined #perl6
23:02 lolo_91 jnthn: oh I hate being a newbie :( I keep getting errors in every line of code :S I study all the time.. but I wish my job was c and not obj c :S
23:02 Tene Mmm... C.
23:02 lolo_91 jnthn: The syntax is crazy
23:03 jnthn lolo_91: The method call syntax is...interesting.
23:03 arnsholt I keep meaning to learn Objective C
23:03 jnthn lolo_91: You'll get used to it with time, I'm sure.
23:04 lolo_91 jnthn: I will also try to study perl6 in parallel.. maybe someday I will find a job that needs a "perl6 programmer" :)
23:05 PerlJam rakudo: my @a = 0..5;  say ^@a.map(* * 3);
23:05 p6eval rakudo a37640: OUTPUT«012345␤»
23:05 PerlJam rakudo: my @a = 0..5;  say (^@a).map(* * 3);
23:05 p6eval rakudo a37640: OUTPUT«03691215␤»
23:05 masak Objective C, the C with Objectional syntax.
23:05 PerlJam that first one is a surprise (at least to me)
23:05 jnthn lolo_91: Hopefully! :-)
23:06 PerlJam I don't know if there's a way to diddle the precedences so that it comes out right, but it would be nice
23:06 PerlJam anyway .. /me has to go pick up kids
23:07 lolo_91 masak: Did you work with obj c too?
23:07 fod joined #perl6
23:07 jnthn PerlJam: It's a general issue with prefix operators and method calls, I think. +@a.log # or some such
23:07 jnthn Well, that one is no-op I guess. :)
23:07 arnsholt masak: At least it's not Objectivist C =)
23:07 masak arnsholt: :D
23:08 jnthn :)
23:08 mtk left #perl6
23:08 masak lolo_91: no, but I probably will. $boss wants to cast me as an iPhone developer eventually.
23:08 jnthn $boos or @boss? :)
23:08 tadzik $!boss :)
23:09 masak a private boss? :)
23:09 tadzik I mean, there is no accessor :)
23:09 jonnie I saw Gabor Szabo's perl 6 talk at fosdem.. was a nice introduction to rakudo.. thanks.. if he's around :)
23:09 jnthn $*boss # whose my boss depends on context ;)
23:09 tadzik no public accessor
23:09 tadzik jonnie: you're probably looking for szabgab++
23:09 lolo_91 masak: I got my mac for it too.. I love them.. and miss my old fedora and ubuntu :(...
23:10 jonnie ah, cheers tadzik
23:10 jonnie szabgab, thanks for the talk :)
23:10 lolo_91 time to sleeeeeep! bye all! =)
23:10 masak jonnie: welcome to #perl6! we're a motley crew, and sometimes we're even serious for more than two minutes!
23:10 masak lolo_91: 'night
23:11 jonnie haha
23:11 jnthn lolo_91: dobru noc
23:11 sbp <!serious>
23:11 jnthn lolo_91: er, erm, the Russian version of that one :)
23:11 Tene jnthn: is nqp-nom far enough along that I could try implementing cardinal's object model on its objects yet?
23:11 jnthn Tene: Almost. I didn't do the primitive for mix-in support yet.
23:12 Tene jnthn: can I subclass Class?
23:12 jnthn Tene: Er?
23:12 jnthn There is no Class.
23:12 jnthn :)
23:12 Tene so what's the type of a class object?
23:12 Tene Please free to tell me to go read the source. :)
23:12 jnthn There's not by default a class object. Instead one would write a meta-object that provides class-y semantics.
23:13 lolo_91 left #perl6
23:13 jnthn For example, https://github.com/perl6/nqp-rx/blob/nom/src/metamodel/how/NQPClassHOW.pm
23:13 jnthn Is the one that implements Perl 6-y class semantics.
23:13 Tene Ahh, 'k.
23:13 jnthn 6model's core doesn't assume one definition of class. In fact, it doesn't even provide one. :)
23:14 masak Tene: if you meant 'type object', it's the same type as its instance objects. :) Dog, for example, is of type Dog.
23:14 jnthn Aye, though I suspect type objects don't make sense for Ruby so much.
23:14 jnthn IIUC meta-classes are things that you instantiate to get classes, or something along those lines.
23:14 masak sounds familiar.
23:15 jnthn Which you can likely arrange.
23:15 pmurias masak: re spec being more formal, i think a lot of the lack of formality is the result of things not being figured out fully
23:15 stkowski left #perl6
23:15 jnthn Tene: Anyway, I'd recommend working out the semantics you need and writing the meta-objects that implement them rather than trying to base it off one that does the Perl 6-y semantics.
23:16 pmurias masak: that is the spec discriping how things work on the "user" level not on the deep level
23:16 jnthn Tene: The NQP set of meta-objects are in no way "privileged".
23:16 pmurias masak: getting smart links working again would make the spec more precise
23:16 fod left #perl6
23:16 mtk joined #perl6
23:17 pmurias hmm, smart links work
23:18 masak thus, the spec is more precise! QED.
23:19 Tene jnthn: so I'd likely want to start with a RubyClassHOW.pm approximately?
23:19 pmurias masak: the work badly atm, linking to the sluggish github
23:19 masak :/
23:20 pmurias instead of having the test inline
23:21 pmurias left #perl6
23:24 jnthn Tene: Yes
23:25 jnthn Tene: How does Ruby store attributes, ooc?
23:26 icwiener left #perl6
23:27 Tene jnthn: 1) I don't really know ruby
23:27 Tene 2) there are instance attributes and class attributes, and those are different
23:27 jnthn OK :)
23:27 drbean joined #perl6
23:27 Tene there are also instance methods and class methods, which are different
23:27 Tene which was difficult to do with p6object
23:28 Tene the big difficulty with parrot objects was that the 'new' opcode only worked on instances of parrot's Class pmc
23:28 Tene not on instances of subclasses of Class.
23:30 Tene jnthn: so, what did you mean by "how does it store attributes"?
23:31 jnthn Tene: As in, are they just stored in a dictionary of names, do you need to add new ones, what happens if you have one in the superclass with the same name as one in a subclass, etc.
23:32 nadim_ left #perl6
23:32 jnthn Tene: 6model supports custom representations. If none of the ones I've already done are optimal for Ruby's attribute storage needs, we can make a repr that is better suited for it.
23:32 jnthn And it'll fit into the model just fine.
23:34 nadim_ joined #perl6
23:35 jnthn Tene: But you may mind that the P6opaque one is good enough.
23:41 sji left #perl6
23:44 Tene I'll see what I find out.  It seems like an accessible way to get started with 6model
23:44 jnthn Tene: Let me know how it works out.
23:46 risou_ joined #perl6
23:47 risou_ left #perl6
23:47 LoRe did you know that "6" is pronounced like "sex" in german? it looks like sex model :)
23:47 jnthn LoRe: Same in Swedish.
23:48 jnthn LoRe: I didn't realize for...months...after I picked the name though. :/
23:48 masak Swedes think about 6 all the time.
23:48 jnthn For your own sanity, don't make the same observation about my blog name :P
23:49 masak jnthn: ah-HA!
23:49 masak ;)
23:49 sorear good * #perl6
23:49 phenny sorear: 17:20Z <jnthn> tell sorear we can't store it in the HOW as the point is that it's fast to access and we can't rely on the representation of a HOW to look a certain way, so we'd have no way to get at it other than a method call, which would defeat the object. :) Also, DRY...don't want every meta-object to have to declare storage/accessor for it.
23:49 jnthn masak: :P
23:49 risou left #perl6
23:49 jnthn In Holland they tried to get me to give a talk called "Hardcore Perl Six" once. :)
23:50 MayDaniel left #perl6
23:50 jnthn s/Six/6/
23:50 jnthn Took me a while to cotton on why... :)
23:50 colomon :)
23:54 jevin left #perl6
23:58 sorear jnthn: I guess you weren't here when someone was trying to name using perl 6 thejoyof6.pdf
23:59 jnthn sorear: :D
23:59 sorear jnthn: I'm thinking of adding an extra layer between STable and HOW that is repr-independant and contains the fiddly meta-metamodel logic like the caches.  Name suggestions?

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

Perl 6 | Reference Documentation | Rakudo