pugscode.org/ | nopaste: sial.org/pbot/perl6 | ?eval [~] <m oo se> | We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by diakopter on 11 July 2007.
dduncan ooo 00:11
meppl good night 00:16
00:18 gnuvince_ joined
gnuvince_ Has anyone seen audreyt lately? 00:19
00:39 obvio171 joined 00:40 lyokato joined 00:43 Blwood_ joined 00:46 justatheory left 00:54 eggzeck left 00:55 Blwood_ left, eggzeck joined 00:59 Blwood left 01:01 zomgb00bie left 01:30 pbuetow left
pugs_svnbot r17326 | lwall++ | [STD] EXPR successfully reduces 42+1 01:38
diff: dev.pugscode.org/changeset/17326
lambdabot Title: Changeset 17326 - Pugs - Trac
01:38 nipotaway is now known as nipotan 01:45 jhorwitz left 01:46 edenc left
TimToady now if only it remembered what it parsed... 01:50
01:51 amnesiac joined
rhr so I tried <Perl-6.0.0-STD.pm ./cheat|./metholate >/tmp/mstd; echo 42+1|pugs /tmp/mstd but I get a pugs internal error, am I doing that wrong? 01:59
02:01 eggzeck left
rhr ah, I see 42+1 is already in STD; I get the same error without the echo 02:06
pasteling "rhr" at 65.94.7.35 pasted "metholated STD error" (3 lines, 354B) at sial.org/pbot/26966 02:07
02:08 obvio171 left, obvio171 joined
wolverian nice code, STD 02:25
02:26 poppper joined 02:46 |Jedai| joined 03:03 jedai left 03:04 elmex_ joined 03:19 elmex left 03:28 xdg joined
pugs_svnbot r17327 | lwall++ | [STD] a bit of optimization to avoid calling rules that can't match 03:45
diff: dev.pugscode.org/changeset/17327
lambdabot Title: Changeset 17327 - Pugs - Trac
TimToady rhr: I'm running against r17262 currently 03:46
03:47 weinig_ left
TimToady decommuting & 03:47
03:50 justatheory joined 03:56 xdg left 04:07 sunnavy joined
rhr TimToady: I recompiled a few days ago (after the $Ā¢ thing went in, which was r17271), so I guess that's it. Maybe that commit broke something? 04:09
04:17 hcchien left, weinig_ joined 04:24 SCalimlim joined 04:31 dduncan left 04:40 nipra joined, weinig_ left, weinig_ joined 04:42 ubajas joined 04:43 baest joined 05:01 lyokato left 05:09 rfordinal joined 05:29 lyokato joined 05:31 jisom joined 05:59 hcchien joined
TimToady rhr: seems to work fine with r17325 too 06:05
torz yawn, hey all :D 06:09
TimToady: Long time no see
TimToady 恓悓恫恔ćÆļ¼ 06:14
06:19 elmex_ left 06:21 Patterner left, Psyche^ joined 06:22 Psyche^ is now known as Patterner 06:26 miyagawa joined, miyagawa left
torz TimToady: I seem to be using the wrong charset :( 06:31
06:35 weinig_ left, weinig_ joined 06:36 elmex joined
TimToady moritz.faui2k3.org/irclog/out.pl?ch...l6#i_86461 should have it right 06:39
lambdabot Title: IRC log for #perl6, 2007-08-21
pasteling "rhr" at 65.94.7.35 pasted "a different error with r17326" (6 lines, 166B) at sial.org/pbot/26973
torz nice! you remembered that I'm Japanese :D 06:40
06:41 torz is now known as torz_, torz joined
TimToady rhr: I get such errors errors occasionally; I think there's some kind of instability in the pugs parser. usually works when I rerun the same command immediately 06:42
06:42 rlb3_work left, JarJarBi1ks joined, torz_ left
TimToady interestingly, when it fails it's always complaining that one or another of the constant hashes is undefined. 06:46
rhr aha, it's working now! 06:47
TimToady I also don't know why the yaml output isn't nicely formatted at the end for me... 06:48
and it still doesn't do binding, so all you're getting is positions out, really 06:49
also kinda agro that it takes my computer a minute of CPU time for pugs to compile the parser... :/ 06:50
kinda slows down the debugging when all you have is print/say... 06:51
rhr yeah, only 7 minutes to parse 42+1 :) 06:52
very impressive though 06:53
06:54 JarJarBinks left
TimToady should parse a lot faster after I do a better job of longest-token extraction. Also, there are lots of gather/takes that are unneeded under a ratcheting parser 06:56
but that doesn't help pugs parse the file any faster... 06:57
hopefully that part can be precompiled at some point
once things stabilize
06:58 kane_ joined 07:03 cognominal_ left
rhr would it be worth adding metholated STD as a test? 07:10
TimToady dunno, seems a bit unstable yet for that 07:16
07:17 flokuehn joined
TimToady eventually, of course, it will need its own set of tests 07:17
at least, up to the point where we swap out pugs's current compiler for it 07:18
thunk & 07:22
07:23 franck___ joined
rhr OK, I'll leave it be for now... 07:23
07:33 iblechbot joined 07:39 weinig_ left 07:51 DarkWolf84 left 08:11 ntgrl is now known as integral 08:14 lyokato left 08:21 iblechbot_ joined 08:28 justatheory left 08:31 iblechbot left 08:34 lyokato joined 08:37 andara joined 08:42 fglock joined 08:45 pmurias joined
fglock pmurias: hi 08:49
pugs_svnbot r17328 | fglock++ | [kp6] added Runtime/Perl6/Pair.pm - our first full-perl6 class!
diff: dev.pugscode.org/changeset/17328
lambdabot Title: Changeset 17328 - Pugs - Trac
pmurias fglock: hi 08:58
nice 09:00
commit 09:01
fglock pmurias: i wonder how high level we can go with Hash 09:02
pugs_svnbot r17329 | fglock++ | [kp6] added DEPENDENCIES
diff: dev.pugscode.org/changeset/17329
lambdabot Title: Changeset 17329 - Pugs - Trac
09:02 poppper left
pmurias fglock: high level in what way? 09:04
fglock we could have it partially written in Perl 6; the stringification for example
09:06 masak joined
pmurias not sure if there are enough methods which don't require acces to the perl5 hash 09:08
fglock for self.keys { ... } # this should work 09:09
pmurias is there a list of Hash methods
?
fglock there is the pil-run impl - looking 09:10
pmurias where does it live?
fglock svn.pugscode.org/pugs/misc/old_pugs...5_backend/ 09:11
svn.pugscode.org/pugs/misc/old_pugs...er/Hash.pm 09:12
lambdabot tinyurl.com/275jz3
09:15 jisom left
pmurias it might make sense as the Perl6 part could be later expanded in a pure perl6 implementation of hashes 09:16
09:18 jisom joined
fglock hmm - let me try out a mixed implementation 09:19
pugs_svnbot r17330 | fglock++ | [kp6] Pair isa Value
diff: dev.pugscode.org/changeset/17330
lambdabot Title: Changeset 17330 - Pugs - Trac
pmurias the pure k
s/the pure// 09:20
09:21 chris2 joined
pugs_svnbot r17331 | pmurias++ | fix typo 09:22
diff: dev.pugscode.org/changeset/17331
lambdabot Title: Changeset 17331 - Pugs - Trac
pugs_svnbot r17332 | fglock++ | [kp6] a Hash class in Perl 6 09:25
diff: dev.pugscode.org/changeset/17332
09:26 [particle] left
pugs_svnbot r17333 | fglock++ | [kp6] integrate Hash.pm 09:28
diff: dev.pugscode.org/changeset/17333
lambdabot Title: Changeset 17333 - Pugs - Trac
09:29 ruoso joined 09:33 fridim joined
fglock pmurias: do you think this makes sense? 09:36
pmurias making the perl5 version a subclass of the p6 one migh be a better option 09:38
i'm updating a db at the moment so i'll think about it in minute 09:41
ruoso will take the "tree transformation language" as his "want to get solved in YAPC" list... 09:42
pugs_svnbot r17334 | fglock++ | [kp6] Hash.perl 09:46
diff: dev.pugscode.org/changeset/17334
lambdabot Title: Changeset 17334 - Pugs - Trac
fglock ruoso: please add it here - svn.pugscode.org/pugs/v6/v6-KindaPe...-HACKATHON 09:49
pugs_svnbot r17335 | fglock++ | [kp6] hackathon ideas 09:55
diff: dev.pugscode.org/changeset/17335
lambdabot Title: Changeset 17335 - Pugs - Trac
GeJ hum, all those TLAs are getting me confused. 09:58
fglock GeJ: kp6? 09:59
GeJ is the npq in kp6 related to nqp ?
fglock nqp is Parrot's mini-Perl6 10:00
GeJ and npq?
as in : "* running the npq test suite" in your latest commit
pugs_svnbot r17336 | fglock++ | [kp6] Hash.str, Hash.int
diff: dev.pugscode.org/changeset/17336
lambdabot Title: Changeset 17336 - Pugs - Trac
fglock GeJ: mistyped nqp, i think 10:01
GeJ Oh, ok... :)
sorry for the noise
pmurias sorry for the typo 10:02
10:02 cognominal_ joined
fglock fixed :) 10:03
pugs_svnbot r17337 | fglock++ | [kp6] s/npq/nqp/ - GeJ++
diff: dev.pugscode.org/changeset/17337
lambdabot Title: Changeset 17337 - Pugs - Trac
GeJ thank you 10:05
pugs_svnbot r17338 | fglock++ | [kp6] ideas 10:12
diff: dev.pugscode.org/changeset/17338
lambdabot Title: Changeset 17338 - Pugs - Trac
10:14 baest left, baest joined 10:15 snearch joined
pugs_svnbot r17339 | fglock++ | [kp6] Object.defined 10:24
diff: dev.pugscode.org/changeset/17339
lambdabot Title: Changeset 17339 - Pugs - Trac
10:25 Aankhen`` joined 10:39 buetow joined 10:48 lyokato left 10:57 snearch left 11:00 falo1234 joined, falo1234 left 11:01 snearch joined 11:05 masak left 11:10 kane_ left 11:11 kane_ joined 11:12 jisom left 11:16 Blwood joined 11:22 cognominal_ left 11:25 Blwood left 11:26 Blwood joined 11:29 cognominal_ joined 11:31 ask_ left, dwave joined 11:34 cognominal_ left 11:38 cognominal_ joined 11:40 nipotan is now known as nipotaway 11:55 TJCRI joined
pmurias fglock: what's a good way for determining where use v5 ends? 12:04
fglock hmm - 'use v5' is a pugs-ism, I think Perl 6 will use 'eval "...", :lang<perl5>' 12:06
pmurias use v5 is speced in S11
fglock ah - looking
there is a token for 'use v5' in the v6.pm grammar - I think you could reuse that 12:07
'perl5source' in svn.pugscode.org/pugs/perl5/Pugs-Co...ar/Term.pm 12:09
lambdabot tinyurl.com/yt3q6l
12:09 rindolf joined
fglock it's not a particularly intelligent impl 12:10
but you get the idea :)
12:11 TJCRI left 12:13 cmarcelo joined, Aankhen`` left
pmurias fglock: an explicit no v5 could be required for now 12:17
fglock we could just look for nested { } 12:18
pmurias does mp6 support .*? 'no v5' 12:23
fglock you can use negative-forward-looking, like: [ <!before no <?ws> v5 > . ]* 12:26
not sure if mp6 implemented quantifiers, but you can use recursion: token until_no_v5 { [ ... <until_no_v5> ] | '' } 12:28
12:34 cognominal_ left 12:38 jhorwitz joined 12:39 cognominal_ joined
fglock with r17340, we can now create/modify classes either in native code or Perl 6, in any order 12:45
pugs_svnbot r17340 | fglock++ | [kp6] prototype objects are initialized only once
diff: dev.pugscode.org/changeset/17340
lambdabot Title: Changeset 17340 - Pugs - Trac
fglock pmurias: do you plan to use 'use v5' in kp6 source code? 12:51
I wonder if MOP.pm could be refactored from perl5 to mp6 12:54
13:02 [particle] joined, [particle] left 13:03 snearch left
pmurias i'll propably do Arrays now instead of use v5 13:03
13:04 [particle] joined
pmurias it is possible to write a custom meta class in kp6 using 'Foo meta MetaClass', so the metamodel in MOP could be replaced at runtime by a fuller one 13:05
fglock ok 13:09
13:10 rlb3_work joined 13:15 araujo left 13:16 cognominal_ left
pugs_svnbot r17341 | fglock++ | [kp6] MOP cleanup 13:16
r17342 | pmurias++ | kp6: a basic test for hashes
diff: dev.pugscode.org/changeset/17342
lambdabot Title: Changeset 17342 - Pugs - Trac
pmurias fglock: i forgot to commit that test for Hash before, it used to work before the addition of the p6 part 13:19
fglock looking
fglock grabs a sandwich 13:20
pugs_svnbot r17343 | fglock++ | [kp6] fixed loading of 'Hash' ??? 13:40
diff: dev.pugscode.org/changeset/17343
lambdabot Title: Changeset 17343 - Pugs - Trac
fglock it looks like Hash is used before the MOP loads
pmurias strange 13:42
fglock i think the problem is a malformed pod ... 13:48
=end instead of =cut 13:49
13:49 toshinori left
fglock fixing 13:50
13:53 flokuehn left
fglock pmurias: it works again 13:53
pugs_svnbot r17344 | fglock++ | [kp6] fixed malformed POD in MOP; fixed Hash add_method call
diff: dev.pugscode.org/changeset/17344
lambdabot Title: Changeset 17344 - Pugs - Trac
pugs_svnbot r17345 | fglock++ | [kp6] added $meta_Hash var 13:56
diff: dev.pugscode.org/changeset/17345
lambdabot Title: Changeset 17345 - Pugs - Trac
13:58 snearch joined 14:00 mncharity joined
pmurias works here too 14:02
fglock i'm implementing .pairs 14:03
14:04 kanru joined 14:06 ubajas3 joined 14:07 toshinori joined
pugs_svnbot r17346 | pmurias++ | kp6: Hash.elems and Hash.true 14:08
diff: dev.pugscode.org/changeset/17346
lambdabot Title: Changeset 17346 - Pugs - Trac
14:09 cognominal_ joined
pugs_svnbot r17347 | fglock++ | [kp6] initial impl of Hash.pairs 14:17
diff: dev.pugscode.org/changeset/17347
lambdabot Title: Changeset 17347 - Pugs - Trac
14:21 ubajas left
pugs_svnbot r17348 | pmurias++ | kp6: HashCell - changed internals, array stub 14:23
diff: dev.pugscode.org/changeset/17348
lambdabot Title: Changeset 17348 - Pugs - Trac
14:25 rindolf left 14:26 DarkWolf84 joined
pugs_svnbot r17349 | pmurias++ | kp6:simple array INDEX works 14:29
diff: dev.pugscode.org/changeset/17349
lambdabot Title: Changeset 17349 - Pugs - Trac
pugs_svnbot r17350 | fglock++ | [kp6] added Runtime/Perl6/Array 14:32
diff: dev.pugscode.org/changeset/17350
lambdabot Title: Changeset 17350 - Pugs - Trac
pmurias cycling& 14:33
14:36 pbuetow joined, pbuetow left 14:45 Eidolos_ joined, Eidolos_ left
pugs_svnbot r17351 | fglock++ | [kp6] fixed the prototype-is-defined test 14:53
diff: dev.pugscode.org/changeset/17351
lambdabot Title: Changeset 17351 - Pugs - Trac
14:56 iblechbot_ left
pugs_svnbot r17352 | fglock++ | [kp6] Array.elems 15:02
diff: dev.pugscode.org/changeset/17352
lambdabot Title: Changeset 17352 - Pugs - Trac
15:10 fridim_ joined 15:17 gongyiliao joined 15:20 gongyiliao left
pugs_svnbot r17353 | fglock++ | [kp6] fixed last commit 15:20
diff: dev.pugscode.org/changeset/17353
lambdabot Title: Changeset 17353 - Pugs - Trac
15:23 flokuehn joined, flokuehn left 15:32 fridim left 15:41 dwave left
moritz_ re 15:43
pugs_svnbot r17354 | fglock++ | [kp6] MOP cleanup
diff: dev.pugscode.org/changeset/17354
lambdabot Title: Changeset 17354 - Pugs - Trac
moritz_ fglock: in lib/KindaPerl6/Runtime/Perl6/Pair.pm, method perl... why do you use $.key and not $key.perl ? 15:44
fglock moritz_: i forgot :) 15:45
moritz_ fglock: that's a good reason ;-) 15:46
same for method str... do you have to call $.key.str explicitly, or is that done automagically by the string coercion?
fglock no, infix<~> calls .str already 15:48
pugs_svnbot r17355 | fglock++ | [kp6] Hash.pairs return Array
r17355 | fglock++ | Pair.perl calls .perl - moritz++
diff: dev.pugscode.org/changeset/17355
lambdabot Title: Changeset 17355 - Pugs - Trac
moritz_ YaY, /me found a bug and a fix ;-)
15:49 barney joined
fglock :) 15:50
pugs_svnbot r17356 | fglock++ | [kp6] fixed last commit
diff: dev.pugscode.org/changeset/17356
lambdabot Title: Changeset 17356 - Pugs - Trac
fglock kp6 is in a "just fill in the blanks" mood 15:51
moritz_ I realized that ;-)
15:51 dwave joined
moritz_ #kp6 my $p=Pair.new(key => 'foo', value => 'bar'); $p.perl.say 15:54
exp_evalbot r17356: OUTPUT[Can't locate Data/Dump/Streamer.pm in @INC (@INC contains: ../v6-MiniPerl6/lib5 lib5 /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8....]
moritz_ #kp6 my $p=Pair.new(key => 'foo', value => 'bar'); $p.perl.say 15:56
exp_evalbot r17356: OUTPUT[Syntax Errorā¤Can't locate v6.pm in @INC (@INC contains: lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/sha...]
moritz_ is v6.pm a requirement for kp6? 15:58
15:58 nipra left
moritz_ and in Hash.pm the iterator accesses self.pairs, but there is no 'has @pairs' or whatever 16:01
fglock moritz_: no
pugs_svnbot r17357 | fglock++ | [kp6] Array.join
diff: dev.pugscode.org/changeset/17357
lambdabot Title: Changeset 17357 - Pugs - Trac
moritz_ or has $pairs
does mp6 support the @ sigil?
fglock Hash and Array attributes are declared at low level
moritz_ which means that self.pairs actually exists, but is not defined in Hash.pm? 16:02
fglock yes, self.pairs is defined at MOP.pm
but this can be fixed when we get .map working 16:03
#kp6 my $p= ::Pair(key => 'foo', value => 'bar'); $p.perl.say
exp_evalbot r17357: OUTPUT[Syntax Errorā¤Can't locate v6.pm in @INC (@INC contains: lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/sha...]
fglock #kp6 1+1 16:04
exp_evalbot r17357: OUTPUT[Can't locate v6.pm in @INC (@INC contains: lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr...]
moritz_ that occured after I installed Data::Dumper::Streamer on the server
fglock we can get rid of DDS, it is only used for debugging i think 16:06
moritz_ somehow lib//KindaPerl6/Runtime/Perl6/Pair.pm is included into the perl 5 code
this is the complete message:
Can't locate v6.pm in @INC (@INC contains: lib/ /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at lib//KindaPerl6/Runtime/Perl6/Pair.pm line 1.
fglock hmm - lib5/ seems to be missing 16:07
and then it is trying to execute the uncompiled Pair.pm 16:08
pugs_svnbot r17358 | moritz++ | [p5 evalbot]: increased max. output length
diff: dev.pugscode.org/changeset/17358
lambdabot Title: Changeset 17358 - Pugs - Trac
fglock re Hash.pairs - svn.pugscode.org/pugs/v6/v6-KindaPe...rl5/MOP.pm near the end of file 16:09
lambdabot tinyurl.com/2clmn6
16:09 exp_evalbot left 16:10 exp_evalbot joined
moritz_ #kp6 say 1+1 16:10
exp_evalbot r17358: OUTPUT[2ā¤]
moritz_ #kp6 my $p=Pair.new(key => 'foo', value => 'bar'); $p.perl.say
exp_evalbot r17358: OUTPUT[Syntax Errorā¤DISPATCH_VAR:calling STORE KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x867d684) on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 35ā¤ main::DISPATCH_VAR('undef', 'STORE',
..'KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x86...') called at - line 3ā¤]
fglock #kp6 my $p= ::Pair(key => 'foo', value => 'bar'); $p.perl.say
exp_evalbot r17358: OUTPUT[Syntax Errorā¤DISPATCH_VAR:calling STORE KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x86a515c) on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 35ā¤ main::DISPATCH_VAR('undef', 'STORE',
..'KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x86...') called at - line 3ā¤]
pugs_svnbot r17359 | moritz++ | [p5 evalbot] compiled kp6 code needs -Ilib5 16:11
diff: dev.pugscode.org/changeset/17359
lambdabot Title: Changeset 17359 - Pugs - Trac
fglock #kp6 my $p= ::Pair(key => 'foo', value => 'bar'); ($p.perl).say;
exp_evalbot r17359: OUTPUT[DISPATCH_VAR:calling STORE KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x86a514c) on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 35ā¤ main::DISPATCH_VAR('undef', 'STORE',
..'KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x86...') called at - line 3ā¤]
moritz_ #kp6 my $p=Pair.new(key => 'foo', value => 'bar'); say $p.perl 16:12
exp_evalbot r17359: OUTPUT[Syntax Errorā¤DISPATCH_VAR:calling STORE KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x867d684) on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 35ā¤ main::DISPATCH_VAR('undef', 'STORE',
..'KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x86...') called at - line 3ā¤]
pmurias #kp6 my $p=Pair.new(key => 'foo', value => 'bar'); 16:13
exp_evalbot r17359: OUTPUT[Syntax Errorā¤DISPATCH_VAR:calling STORE KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x867d684) on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 35ā¤ main::DISPATCH_VAR('undef', 'STORE',
..'KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x86...') called at - line 3ā¤]
pmurias #kp6 my $p=Pair.new();
exp_evalbot r17359: OUTPUT[DISPATCH_VAR:calling STORE KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x867d684) on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 35ā¤ main::DISPATCH_VAR('undef', 'STORE',
..'KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x86...') called at - line 3ā¤]
16:13 fridim_ is now known as fridim
pmurias #kp6 my $p=1; 16:14
exp_evalbot r17359: OUTPUT[DISPATCH_VAR:calling STORE KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x867d678) on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 35ā¤ main::DISPATCH_VAR('undef', 'STORE',
..'KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x86...') called at - line 3ā¤]
fglock #kp6 say ( a => 'b' ) 16:15
exp_evalbot r17359: OUTPUT[a bā¤]
fglock :)
moritz_ #kp6 say perl ( a => 'b')
exp_evalbot r17359: OUTPUT[DISPATCH: calling APPLY KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x86a4db8) on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 29ā¤ main::DISPATCH('undef', 'APPLY', 'KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x86...') called at
..- line 3ā¤]
fglock #kp6 say ( a => 'b' ).perl 16:16
exp_evalbot r17359: OUTPUT[( 'a' => 'b' )ā¤]
pmurias #kp6 my $p;$p=1 16:17
exp_evalbot r17359: OUTPUT[DISPATCH_VAR:calling STORE KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x867d690) on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 35ā¤ main::DISPATCH_VAR('undef', 'STORE',
..'KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x86...') called at - line 3ā¤]
moritz_ #kp6 my $p; $p := 1
16:17 Aankhen`` joined
exp_evalbot r17359: OUTPUT[DISPATCH_VAR:calling BIND KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x867d690) on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 35ā¤ main::DISPATCH_VAR('undef', 'BIND', 'KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x86...') 16:17
..called at - line 3ā¤]
moritz_ #kp6 my $p;
exp_evalbot r17359: No output
pmurias moritz_: it's a grammar bug 16:20
fglock #kp6 my $p = 1
exp_evalbot r17359: OUTPUT[DISPATCH_VAR:calling STORE KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x867d678) on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 35ā¤ main::DISPATCH_VAR('undef', 'STORE',
..'KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x86...') called at - line 3ā¤]
pmurias #kp6 class Main {my $p=1;say $p} 16:21
exp_evalbot r17359: OUTPUT[1ā¤]
pmurias i'll commit the fix when Grammar recompiles
fglock pmurias++
moritz_ pmurias++
pugs_svnbot r17360 | pmurias++ | kp6: fixing lack of pad in undeclared comp_unit bug 16:26
diff: dev.pugscode.org/changeset/17360
lambdabot Title: Changeset 17360 - Pugs - Trac
pmurias i shouldn't get karma for fixing bug i made myself ;)
s/bug/bugs/
moritz_ why not? better than letting someone else do it 16:27
and everybody makes mistakes
16:29 weinig_ joined, iblechbot joined
pmurias ;) 16:30
pugs_svnbot r17361 | fglock++ | [kp6] Hash.keys, Hash.values
diff: dev.pugscode.org/changeset/17361
lambdabot Title: Changeset 17361 - Pugs - Trac
pmurias fglock: how should i move $_[0]{_value}{_hash} ||= {} to the constructor? 16:32
16:33 justatheory joined
fglock you can declare a .new - see Routine.new in MOP:662 16:33
16:35 sunnavy left
pmurias i'm not sure what things should i put into the object hash 16:36
fglock looking
meppl good evening 16:37
pmurias meppl: good evening 16:38
moritz_ hi
16:43 snearch left
pugs_svnbot r17362 | pmurias++ | kp6: Array.map 16:43
diff: dev.pugscode.org/changeset/17362
lambdabot Title: Changeset 17362 - Pugs - Trac
meppl good evening pmurias 16:45
fglock meppl: good evening 16:47
pugs_svnbot r17363 | fglock++ | [kp6] initialize Array.new, Hash.new
diff: dev.pugscode.org/changeset/17363
lambdabot Title: Changeset 17363 - Pugs - Trac
16:49 rhizo left 16:52 buetow left, buetow joined 16:54 andara left, zakame joined
pugs_svnbot r17364 | fglock++ | [kp6] fixed test count 16:56
diff: dev.pugscode.org/changeset/17364
lambdabot Title: Changeset 17364 - Pugs - Trac
fglock home & 16:58
16:58 fglock left
DarkWolf84 I have a problem with compiling kp6 16:58
pmurias what's your problem 16:59
?
DarkWolf84 Can't locate Data/Dump/Streamer.pm 17:00
moritz_ then install Data::Dump::Streamer ;-)
DarkWolf84 ok
moritz_ 80.237.200.60/search.pl <-- experimental search in pugs' svn logs 17:01
lambdabot Title: Pugs SVN search
moritz_ you can enter queries like 'kp6 AND author:pmurias' 17:02
sadly I don't know how to revert the search direction
pmurias what does it order search results on? 17:05
moritz_ revisions 17:06
anyway, gotta go... lunch etc. & 17:07
DarkWolf84 #kp6 say 'hello' 17:11
exp_evalbot r17364: OUTPUT[helloā¤]
DarkWolf84 #kp6 'hello'.say 17:12
exp_evalbot r17364: OUTPUT[helloā¤]
17:15 franck___ left 17:16 rhizo joined 17:22 zakame left
xinming #kp6 my Int @a = (1..10); @.perl.say 17:24
exp_evalbot r17364: OUTPUT[Syntax Errorā¤]
xinming #kp6 my Int @a = (1..10); @a.perl.say
exp_evalbot r17364: OUTPUT[Syntax Errorā¤]
xinming #kp6 my Int @a = (1..10); @a.perl.say;
exp_evalbot r17364: OUTPUT[Syntax Errorā¤]
xinming #kp6 my Int @a = (1..10); 17:25
exp_evalbot r17364: OUTPUT[Syntax Errorā¤]
[particle] #kp6 my Int @a := (1..10);
exp_evalbot r17364: OUTPUT[Syntax Errorā¤]
17:30 Psyche^ joined
pmurias arrays in kp6 are still covered in wet paint... 17:33
DarkWolf84 what is that c file in kp6 examples 17:40
pmurias a runtime for a mp6 c emitter (i havn't found one in the mp6 dir) 17:43
17:43 Patterner left, Psyche^ is now known as Patterner
DarkWolf84 pm6 is allready writen in c ? 17:49
pmurias mp6 is written in itself, i guess fglock experimented with emitting code c code from it 17:52
18:02 masak joined 18:12 snearch joined 18:13 snearch left, snearch_ joined 18:18 snearch_ left, snearch joined 18:19 jrockway left, jrockway joined 18:21 jrockway left 18:22 jrockway joined, Schwern joined 18:24 Schwern left
pmurias changing to and fro between perl5 and perl6 sigils is confusing 18:24
especialy with no strict 'vars' :) 18:25
bloonix good evening 18:29
PerlJam pmurias: indeed. programming in both perl5 and perl6 can confuse the brain 18:33
pmurias bloonix: good evening 18:36
18:36 ruoso left
pugs_svnbot r17365 | pmurias++ | kp6: @_ is supported in methods 18:42
diff: dev.pugscode.org/changeset/17365
lambdabot Title: Changeset 17365 - Pugs - Trac
18:43 fridim_ joined, fglock joined
pmurias fglock: welcome back :) 18:43
fglock :) 18:44
pmurias positional parameters should be assigned @_ elements? 18:53
sub func($a,$b,$c) {} should be turned into sub func() {my $a=@_[0];my $b=@_[1];my $c=@_[2];}? 18:55
or are they BINDed? 18:56
18:56 jisom joined 18:59 fridim left
fglock pmurias: no, we need to create Capture objects (this can be optimized out later) 19:00
@_ would be Capture.array
19:01 snearch left
fglock and %_ is Capture.hash i think 19:02
pmurias it's a one line of emitted code diffence
19:03 chris2 left
pmurias s/@_ := Array(\@_)/@_ := Capture.array/ 19:03
fglock yes 19:04
pmurias what i am worried about is how will we change the calling conventions everywhere
fglock it will - that's one reason i've been delaying the bootstrap 19:05
pmurias is is? 19:06
fglock but we could test if $_[0] isa Capture and have dual behaviour if needed 19:07
after you bootstrap it's harder to change the basic things 19:08
moritz_ @_[0] probably
lambdabot Unknown command, try @list
fglock moritz_: i mean, at perl5 land
moritz_ fglock: ok
pugs_svnbot r17366 | fglock++ | [kp6] Class.methods - my $a=1; say ($a.HOW).methods 19:12
diff: dev.pugscode.org/changeset/17366
lambdabot Title: Changeset 17366 - Pugs - Trac
moritz_ #kp6 my $a = 3; say $a; 19:15
exp_evalbot r17366: OUTPUT[3ā¤]
moritz_ #kp6 my $a = ::Pair.new(key => 'foo', value => 3); say $a
exp_evalbot r17366: OUTPUT[Syntax Errorā¤]
moritz_ #kp6 my $a = Pair.new(key => 'foo', value => 3); say $a
exp_evalbot r17366: OUTPUT[Syntax Errorā¤]
pmurias #kp6 my $a = Pair.new(); 19:16
exp_evalbot r17366: No output
pmurias #kp6 my $a = Pair.new();say $a;
exp_evalbot r17366: OUTPUT[Pairā¤]
19:16 fglock___ joined
pmurias #kp6 my $a = Pair.new();$a.key=1;$a.value=2;say $a; 19:17
exp_evalbot r17366: OUTPUT[1 2ā¤]
pmurias #kp6 my $a = Pair.new();$a.key=1;$a.value=2;say $a.perl;
exp_evalbot r17366: OUTPUT[( 1 => 2 )ā¤]
moritz_ #kp6 my $a = Pair.new();say $a.str; 19:18
exp_evalbot r17366: OUTPUT[Pairā¤]
moritz_ #kp6 my $a = Pair.new(); $a.str.say;
exp_evalbot r17366: OUTPUT[Syntax Errorā¤]
moritz_ #kp6 my $a = Pair.new(); say($a.str);
exp_evalbot r17366: OUTPUT[Pairā¤]
pugs_svnbot r17367 | moritz++ | [svn-search]: make revision numbers links to the changeset 19:21
r17367 | moritz++ | Temporary URL is 80.237.200.60/search.pl
diff: dev.pugscode.org/changeset/17367
lambdabot Title: Pugs SVN search
Title: Changeset 17367 - Pugs - Trac
fglock___ moritz_: an uninitialized object is a "prototype", and it stringifies to it's name
moritz_ ok 19:22
#kp6 my $a = Pair.new(); $a.key = "foo"; say($a.str);
exp_evalbot r17366: OUTPUT[DISPATCH: calling str on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 29ā¤ main::DISPATCH('undef', 'str') called at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 77ā¤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x829a1b8)', 'str') called at
..lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 30ā¤ main::DISPATCH('HASH(0x829a1b8)',...]
moritz_ #kp6 my $a = Pair.new(); $a.key = "foo"; $a.value = "bar"; say($a.str);
exp_evalbot r17366: OUTPUT[foo barā¤]
moritz_ ah, it works ;-)
a bit like javascript's OO model, I guess
fglock___ re new() - named params are not implemented yet 19:23
moritz_ #kp6 my $h=Pair.new(3, 4); say $h; 19:24
exp_evalbot r17367: OUTPUT[DISPATCH: calling str on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 29ā¤ main::DISPATCH('undef', 'str') called at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 77ā¤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x829a3dc)', 'str') called at
..lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 30ā¤ main::DISPATCH('HASH(0x829a3dc)',...]
moritz_ and new doesn't accept positionals, of course
fglock___ the workaround is 19:25
moritz_ assigning the members individually
fglock___ #kp6 my $p = ::Pair( key => 3, value => 4 ); $h.say
exp_evalbot r17367: OUTPUT[DISPATCH: calling say on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 29ā¤ main::DISPATCH('undef', 'say') called at - line 3ā¤]
fglock___ #kp6 my $p = ::Pair( key => 3, value => 4 ); $p.say
exp_evalbot r17367: OUTPUT[no method 'say' in Class 'Pair'ā¤]
fglock___ #kp6 my $p = ::Pair( key => 3, value => 4 ); say $p 19:26
exp_evalbot r17367: OUTPUT[DISPATCH: calling str on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 29ā¤ main::DISPATCH('undef', 'str') called at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 77ā¤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x829a484)', 'str') called at
..lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 30ā¤ main::DISPATCH('HASH(0x829a484)',...]
moritz_ #kp6 my $p = ::Pair( key => 3, value => 4 ); say $p.str
exp_evalbot r17367: OUTPUT[DISPATCH: calling str on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 29ā¤ main::DISPATCH('undef', 'str') called at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 77ā¤ KindaPerl6::Runtime::Perl5::MOP::__ANON__('HASH(0x829a34c)', 'str') called at
..lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 30ā¤ main::DISPATCH('HASH(0x829a34c)',...]
fglock___ #kp6 my $p = ::Pair( key => 3, value => 4 ); say $p.WHAT
exp_evalbot r17367: OUTPUT[Mainā¤]
fglock___ oops
moritz_ kp6 bot is fun ;-) 19:27
fglock___ sorry - this only works in mp6 19:28
we really need to finish Captures 19:29
pmurias moritz_: javascript oo model is evil
moritz_ javascript is evil all by itself - no "use strict;", no compile time checks, just a huge mess 19:30
obra I thought that newer js actually got a use strict
moritz_ is it supported by $evil_browser, @open_source_browsers, opera? 19:31
19:32 araujo joined
fglock___ obra: hi! 19:33
pmurias moritz: $evil_browser 6.0 is the lowest denominator for me 19:34
moritz_ tries to ignore even that as long as possible
for example my galleries are not displayed correctly with it, but it's only my personal homepage ;) 19:35
19:35 jisom left
obra hey fglock___! how's things? 19:36
19:37 fglock left
fglock___ all fine! I went to Damian's talk yesterday, but we didn't have time to talk about p6 19:37
pmurias moritz_: if i was that lucky to be able to ignore IE ;)
obra nodnod 19:38
moritz_ images.google.com/images?q=time+bre...+webdesign
lambdabot Title: time breakdown webdesign - Google Image Search
fglock___ obra: re kp6 - we can now write infrastructure code in plain Perl 6 - this is actual code: svn.pugscode.org/pugs/v6/v6-KindaPe...l6/Pair.pm 19:40
lambdabot tinyurl.com/27ohco
obra looking 19:41
is the roadmap up to date?
nice!
fglock___ yes - but I have to think ahead the next steps
obra ok :) 19:42
fglock___ I'll have a more clear idea of the roadmap after the yapc discussions 19:43
19:43 TJCRI joined
pmurias #kp6 say "obra: We've got a kp6 eval bot now :)" 19:45
exp_evalbot r17367: OUTPUT[obra: We've got a kp6 eval bot now :)ā¤]
fglock___ at this speed we will run out of milestones before the hackathon 19:46
obra yay!
that rocks
need more milestones ;) 19:47
fglock___ milestones - yummy! 19:50
obra heh 19:51
#kp6 1/0
exp_evalbot r17367: OUTPUT[DISPATCH: calling APPLY KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x8275888) KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x8277854) on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 29ā¤ main::DISPATCH('undef', 'APPLY',
..'KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x82...', 'Kind...]
obra :) 19:52
19:52 b_jonas joined 19:55 rindolf joined
pugs_svnbot r17368 | fglock++ | [kp6] moved Perl6/Capture.pm out of Prelude.pm 19:55
diff: dev.pugscode.org/changeset/17368
lambdabot Title: Changeset 17368 - Pugs - Trac
fglock___ i don't think division is implemented - kp6 is implement on demand 19:56
pmurias more on whim ;)
obra heh
#kp6 2/1
exp_evalbot r17368: OUTPUT[DISPATCH: calling APPLY KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x8275888) KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x8277854) on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 29ā¤ main::DISPATCH('undef', 'APPLY',
..'KindaPerl6::Runtime::Perl5::DispatchSugar::Dispatch=HASH(0x82...', 'Kind...]
obra #kp6 2+1 19:57
exp_evalbot r17368: No output
obra #kp6 say 2+1
exp_evalbot r17368: OUTPUT[3ā¤]
obra looks at that output funny
TimToady #kp6 gather { take $_ for 1..10 }
exp_evalbot r17368: OUTPUT[Syntax Errorā¤DISPATCH: calling APPLY on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 29ā¤ main::DISPATCH('undef', 'APPLY') called at - line 3ā¤]
TimToady #kp6 say gather { take $_ for 1..10 } 19:58
exp_evalbot r17368: OUTPUT[Syntax Errorā¤DISPATCH: calling APPLY on invalid object:$VAR1 = {};ā¤ā¤ at lib5/KindaPerl6/Runtime/Perl5/MOP.pm line 29ā¤ main::DISPATCH('undef', 'APPLY') called at - line 3ā¤]
pmurias gather isn't implemented
TimToady so I gather
I mean, so I take it...
obra groans 19:59
DarkWolf84 ?eval say gather { take $_ for 1..10 } 20:00
pugsbot_r17185 OUTPUT[12345678910ā¤] Bool::True
DarkWolf84 I didn't know this command 20:01
:)
pmurias #eval 1+2
exp_evalbot kp6: No output
..pugs: No output
moritz_ pmurias: for #(eval|kp6|pugs) you need to produce output
DarkWolf84 #kp6 say 1+2
exp_evalbot r17368: OUTPUT[3ā¤]
DarkWolf84 it's fast 20:02
:)
spinclad #eval say 1+2
exp_evalbot kp6: OUTPUT[3ā¤]
..pugs: OUTPUT[3ā¤]
spinclad not for #echo though 20:03
moritz_ #echo is only there for debugging purposes 20:04
exp_evalbot OUTPUT[is only there for debugging purposes]
pugs_svnbot r17369 | fglock++ | [kp6] we now have the 4 operations
diff: dev.pugscode.org/changeset/17369
pmurias moritz_: No output is output in a way
lambdabot Title: Changeset 17369 - Pugs - Trac
pmurias fglock___: why is .sig on a Block not on a sub? 20:07
s/sub/Method/g
fglock___ because blocks can have sigs: for @a -> $x { ... }
-> $x { ... } 20:08
pmurias k 20:09
thanks
fglock___ does perl6 @_ contains the invocant, or is it just the positionals, or everything? 20:11
spinclad just positionals i think 20:13
pmurias is there an equivalent capture which contains everything?
20:14 snearch joined
spinclad |($_: @_, %_) maybe 20:14
|($_: *@_, *%_) maybe
though $_ there is not quite right 20:15
if | were a sigil that would be |_ 20:16
sorry, \($invocant: *@_, *%_) 20:18
pmurias Attempt to free unreferenced scalar: SV 0x86d3d84, <> line 4. 20:19
20:25 masak left
pugs_svnbot r17370 | fglock++ | [kp6] integrated Perl6/Capture.pm into code 20:28
diff: dev.pugscode.org/changeset/17370
lambdabot Title: Changeset 17370 - Pugs - Trac
pugs_svnbot r17371 | pmurias++ | kp6: positional arguments (need better BIND) 20:34
diff: dev.pugscode.org/changeset/17371
lambdabot Title: Changeset 17371 - Pugs - Trac
20:36 rindolf left
pugs_svnbot r17372 | fglock++ | [kp6] anon array is Array 20:36
diff: dev.pugscode.org/changeset/17372
lambdabot Title: Changeset 17372 - Pugs - Trac
fglock___ pmurias: {} is a hash
20:36 justatheory left 20:37 justatheory joined, justatheory left
fglock___ hmm - what is the strange error? 20:37
20:38 justatheory joined 20:39 fglock___ left 20:40 justatheory left, justatheory joined
pmurias g'night 20:50
pugs_svnbot r17373 | pmurias++ | kp6: solved strange error before
diff: dev.pugscode.org/changeset/17373
lambdabot Title: Changeset 17373 - Pugs - Trac
20:50 pmurias left 20:55 stevan_ joined 20:56 stevan_ left 21:07 polettix joined 21:11 drupek12 left 21:12 barney left 21:27 apple-gunkies joined 21:28 fglock joined 21:31 flokuehn joined 21:35 Aankhen`` left
pugs_svnbot r17374 | fglock++ | [kp6] anon hash isa Hash 21:35
diff: dev.pugscode.org/changeset/17374
lambdabot Title: Changeset 17374 - Pugs - Trac
21:44 polettix left 21:48 iblechbot left 22:08 cmarcelo left 22:10 laniz left
pugs_svnbot r17375 | fglock++ | [kp6] fixed 'for', Hash.perl, Array.perl 22:11
diff: dev.pugscode.org/changeset/17375
lambdabot Title: Changeset 17375 - Pugs - Trac
22:12 thoughtpolice joined 22:16 TJCRI left 22:44 fglock left 23:01 snearch left 23:16 thoughtpolice left 23:24 daxim_ left, daxim_ joined 23:29 |Jedai| left
rhr ?eval my $a; $a<x> = 1 23:31
pugsbot_r17185 \1
rhr ?eval my $a = ("foo" => "bar"); $a<x> = 1 23:32
pugsbot_r17185 Error: Can't modify constant item: VUndef
rhr this is preventing metholated STD from parsing anything more complicated than 42+1...
23:35 b_jonas left
pugs_svnbot r17376 | fglock++ | [kp6] Capture - added \(...) and \$var 23:54
diff: dev.pugscode.org/changeset/17376
lambdabot Title: Changeset 17376 - Pugs - Trac