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