»ö« 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:02 Chillance left 00:29 CBro2007 left 00:34 user_7659 joined 00:35 user_7659 left 00:39 literal joined, avar joined, avar left, avar joined 01:00 noganex_ joined 01:03 noganex left 01:05 drbean joined 01:12 icwiener_ joined 01:16 icwiener left, tokuhirom left 01:21 icwiener_ left, dorlamm joined, buubot_backup left 01:31 dorlamm left 01:40 woosley joined 01:43 dorlamm joined 01:44 buubot_backup joined 01:58 jaldhar joined 01:59 whiteknight left
dalek ecza: 5619c3b | sorear++ | lib/ (5 files):
Expose all types of lexicals to runtime fetching
02:06
wolfman2000 ...welp. I'm on Lion now. Unfortunately, Xcode 4.1 has already disappointed me
02:09 supernovus joined 02:15 dorlamm left 02:16 supernovus left 03:16 jnthn left 03:20 avar left, literal left 03:21 thickguy65 joined 03:23 thickguy65 left, Su-Shee_ joined 03:25 jnthn joined 03:27 Su-Shee left, avar joined, avar left, avar joined, literal joined, mathw joined
[Coke] do you use xcode to build rakudo, or just command line devtools? 03:32
03:50 ixxvil joined 03:51 ixxvil left 03:59 orafu left 04:32 thou__ joined 04:33 cooper left 04:34 cooper joined 04:41 daniel-s joined 04:45 _twitch joined 04:46 daniel-s left, daniel-s_ joined 04:49 am0c joined, daniel-s__ joined, daniel-s_ left 04:52 Tanktalus joined
Tanktalus perl6 -e 'my %h; %h{@*ARGS}>>++; %h.perl.say' a b c b a 04:53
04:53 _daniel-s__ joined
Tanktalus What values should %h{'a'} and %h{'b'} have? I would think 2, but rakudo thinks 1... 04:53
04:54 daniel-s__ left, _daniel-s__ left, Trashlord left
Tanktalus perl6: %h{<<a b c b a>>}>>++; %h.perl.say 04:55
p6eval pugs: OUTPUT«*** ␤ Unexpected "{<<"␤ expecting "::"␤ Variable "%h" requires predeclaration or explicit package name␤ at /tmp/OQn8aPKCTw line 1, column 3␤»
..niecza v7-43-g5619c3b: OUTPUT«===SORRY!===␤␤Variable %h is not predeclared at /tmp/G8paAbV0Kr line 1:␤------> <BOL>⏏%h{<<a b c b a>>}>>++; %h.perl.say␤␤Variable %h is not predeclared at /tmp/G8paAbV0Kr line 1:␤------> %h{<<a b c b a>>}>>++; [33…
..rakudo f63b82: OUTPUT«===SORRY!===␤Symbol '%h' not predeclared in <anonymous> (/tmp/vl4G6ppRL3:22)␤»
Tanktalus perl6: my %h; %h{<<a b c b a>>}>>++; %h.perl.say
p6eval rakudo f63b82: OUTPUT«{"a" => 1, "b" => 1, "c" => 1}␤»
..pugs: OUTPUT«{("a" => undef), ("b" => undef), ("c" => undef)}␤»
..niecza v7-43-g5619c3b: OUTPUT«{"a" => 1, "b" => 1, "c" => 1}.hash␤»
Tanktalus interesting that pugs is entirely different again :-) 04:56
moritz Tanktalus: the indexing of the second %{'b'} seems to happen before the first %{'b'}++ is being evaluated
Tanktalus wonders about submitting a test for this :-) 04:57
moritz nom: my %h; %h{<a b c b a>}>>++; say %h.perl
p6eval nom: OUTPUT«Contextual $*UNITPAST not found␤current instr.: 'nqp;Perl6;Actions;_block3675' pc 76103 (src/gen/perl6-actions.pir:27410) (src/Perl6/Actions.pm:2684)␤»
moritz oh, >> not yet implemented
Tanktalus: also, >> (and other hyper ops) are allowed to executed in arbitrary order, and even parallelized 04:58
Tanktalus: so you can't rely on getting a 2 anywhere
nom: my %h; %h<a b c b a>.map: -> $x is rw { $x++ }; say %h.perl 04:59
p6eval nom: OUTPUT«get_iter() not implemented in class 'Mu'␤current instr.: '_block14469' pc 511791 (src/gen/CORE.setting.pir:0) (src/gen/CORE.setting:3277)␤»
Tanktalus I just happened to be reading www.perlmonks.org/index.pl?node_id=459347 (very old), and they claimed that japhy asked here for the syntax for this type of thing, and this is what he got :-)
moritz :-) 05:01
Tanktalus ah well, more a curiosity than anything, wondered if it should be a test, but now is time for sleep. G'night :-)
(Thanks)
moritz good night 05:02
moritz would love to sleep too, but sometimes that's not so easy when the baby doesn't sleep either
sorear why a test? it's not wrong 05:03
05:04 araujo left
TimToady perl6: my %h; ++«%h<a b c b a>; %h.perl.say 05:09
p6eval pugs: OUTPUT«decodeUTF8': bad data: '\171'␤{("a" => undef), ("b" => undef), ("c" => undef)}␤»
..rakudo f63b82: OUTPUT«{"a" => 1, "b" => 1, "c" => 1}␤»
..niecza v7-43-g5619c3b: OUTPUT«{"a" => 1, "b" => 1, "c" => 1}.hash␤»
moritz it would require slices in hyper context to be lazy. Oh well. 05:12
niecza: my $x = 5; say ::('$x') 05:13
p6eval niecza v7-43-g5619c3b: OUTPUT«===SORRY!===␤␤Cannot make a compile time reference to the semantic root package at /tmp/rbHTaf6mvY line 1 (EOF):␤------> my $x = 5; say ::('$x')⏏<EOL>␤␤Potential difficulties:␤ $x is declared but not used at /tmp/rbHTaf…
moritz WTF is "the semantic root package"? 05:14
05:18 woosley left
sorear moritz: :: 05:28
it's a broken error 05:31
the intended trigger case for that message is "class Foo is :: { ... }" 05:32
TimToady "Cannot figure out what :: means there" 05:46
05:47 thou__ left 05:55 birdwindupbird joined 06:01 simcop2387 left
moritz nom: sub f() { say 'in f' }; ::('&f').() 06:05
p6eval nom: OUTPUT«in f␤»
moritz am I right in assuming that the & should be required here?
nom: sub f() { say 'in f' }; &::('f').() 06:10
p6eval nom: OUTPUT«Symbol '&('f')' not predeclared in <anonymous> (/tmp/nFqqEhns1L:1)␤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (compilers/pct/src/PCT/HLLCompiler.pir:107)␤»
06:10 Su-Shee_ is now known as Su-Shee
moritz std: sub f() { say 'in f' }; &::('f').() 06:10
p6eval std 516268a: OUTPUT«ok 00:01 121m␤»
06:13 mkramer1 joined
TimToady ::() is supposed to be a bit dwimmier than Foo::{'&bar'}, so we might make the & optional 06:13
it certainly shouldn't hurt to have it
06:14 spinclad left
moritz it would make it harder to disambiguate a function and type of the same name 06:15
TimToady S10:77
moritz S02 doesn't mention bare ::() at all
just $::() and the like (with leading sigils)
06:16 mkramer joined
sorear nom: my class A { method pie() { say 2 } }; ::("A").pie 06:16
p6eval nom: OUTPUT«2␤»
sorear nom: { my class A { method pie() { say 2 } } }; ::("A").pie
p6eval nom: OUTPUT«Method 'pie' not found for invocant of class 'Failure'␤current instr.: '_block1002' pc 100 ((file unknown):26498575) (/tmp/DrZqZjDBD6:1)␤»
TimToady is under the weather tonight, so should be treated as informative, not normative :)
06:19 mkramer1 left
dalek ecza: 54b5188 | sorear++ | lib/ (3 files):
Expose StashCursor system to cgop code
06:22
06:22 spinclad joined
sorear TimToady: may DYNAMIC be used with variables that lack a * twigil? 06:23
06:23 wolfman2000 left
sorear TimToady: if so, how to interpret S02:2836 when there is no * to strip? 06:23
TimToady well, it's pretty hard to strip a * that ain't there 06:25
the only question is whether we allow GLOBAL::<$/> and such in the first place
06:26 woosley joined, soh_cah_toa left 06:31 Jackneill joined 06:35 simcop2387 joined 06:37 Trashlord joined
sorear nom: $A::b = 5; say $A::b 06:39
p6eval nom: OUTPUT«5␤»
sorear nom: $A::b = 5; say ::('$A::b')
p6eval nom: OUTPUT«Symbol '$A::b' not found␤current instr.: 'rethrow' pc 521246 (src/gen/CORE.setting.pir:146252) (src/gen/CORE.setting:4049)␤»
sorear nom: $A::b = 5; say ::('A::$b')
p6eval nom: OUTPUT«Symbol 'A::$b' not found␤current instr.: 'rethrow' pc 521246 (src/gen/CORE.setting.pir:146252) (src/gen/CORE.setting:4049)␤»
moritz nom: package A { our $b = 5 }; say ::('A::$b') 06:40
p6eval nom: OUTPUT«5␤»
moritz nom: package A { our $b = 5 }; say ::('$A::b')
p6eval nom: OUTPUT«5␤»
moritz it's a problem in the declaration code, not in the lookup (afaict)
dalek kudo/nom: ddf95b3 | moritz++ | src/Perl6/Actions.pm:
move detection of indirect name lookups into a method, and check for it in sigiled variables
06:55
moritz std: my $x::("foo")::bar 06:56
p6eval std 516268a: OUTPUT«ok 00:01 120m␤»
07:07 wormphlegm joined, wormphlegm left 07:15 woosley left 07:16 woosley joined 07:20 woosley left 07:21 woosley joined 07:22 woosley left 07:26 woosley joined, woosley left 07:29 satyavvd joined 07:33 envi left, mj41_nb joined 07:34 envi joined
sorear wonders if DYNAMIC::.keys makes sense 07:37
or .keys/:exists/:delete on pseudo-packages generally
07:51 CBro2007 joined
moritz if they resolve to a Stash, why not? 07:52
sorear DYNAMIC:: in my WIP doesn't resolve to a stash 07:53
but rather to a tied object 07:54
08:08 araujo joined 08:15 xinming left 08:16 xinming joined 08:18 timbunce joined 08:30 proller__ joined, proller_ joined, proller__ left 08:31 daxim joined 08:35 fhelmberger_ joined, fhelmberger_ left 08:38 woosley joined 08:40 Su-Shee left 08:45 Trashlord left 08:49 wamba joined 08:50 _twitch left
moritz nom: say a:::: 08:54
p6eval nom: OUTPUT«Name component may not be null at line 1, near "::"␤current instr.: 'nqp;HLL;Grammar;panic' pc 23533 (src/stage2/gen/NQPHLL.pir:6314) (src/stage2/gen/NQPHLL.pm:328)␤»
moritz std: a:::: 08:55
p6eval std 516268a: OUTPUT«===SORRY!===␤Name component may not be null at /tmp/oCNRXIRA5V line 1:␤------> a::⏏::␤Parse failed␤FAILED 00:01 117m␤»
08:58 _twitch joined 09:10 im2ee joined, domidumont joined 09:12 domidumont left 09:14 Su-Shee joined 09:15 _twitch left 09:17 domidumont joined 09:18 im2ee left 09:20 _twitch joined 09:23 CBro2007 left 09:28 ab5tract joined 09:34 Guest59342 left 09:38 nothingmuch left, nothingmuch joined 09:48 _twitch left 09:50 _twitch joined 09:56 Alias joined 09:58 spark_ joined 10:01 _twitch left, woosley left 10:06 _twitch joined 10:09 felher joined 10:14 proller_ left 10:16 _twitch left 10:19 _twitch joined 10:29 CBro2007 joined 10:34 _twitch left 10:36 _twitch joined 10:37 _twitch left 10:39 _twitch joined 10:52 MayDaniel joined 10:57 pernatiy joined 10:59 xinming left 11:01 xinming joined 11:09 kaare__ joined 11:12 c1sung left, c1sung joined 11:22 MayDaniel left 11:28 bs338 left 11:29 bs338 joined 11:41 am0c left 11:51 JimmyZ joined 11:52 Jackneill left 11:55 satyavvd left
takadonet mornign all 12:02
moritz \o takadonet 12:03
Q: how to generate all permutations of a list with Perl 5? A: perl -le 'print sort { fork ? 1 : -1 } 1..5'
flussence clever 12:05
Gothmog_ fork bomb inclusive ,)
flussence I've seen a similar trick used to test malloc where it forks, one returns OOM and the other works as normal 12:06
moritz Gothmog_: oh come an, 120 processes ain't a fork bomb :-) 12:08
12:14 _twitch left 12:16 noganex_ left 12:22 _twitch joined
moritz nqp: say('foo'[0]) 12:35
p6eval nqp: OUTPUT«f␤»
moritz nqp: say('foo'[1])
p6eval nqp: OUTPUT«o␤»
moritz nqp: say('foo'[0,1])
p6eval nqp: OUTPUT«o␤»
moritz nqp: say('abc'[0,1,0])
p6eval nqp: OUTPUT«␤»
12:37 kaare__ is now known as kaare_, hanekomu joined
Gothmog_ moritz: Yeah, but that depends heavily on the size of the list, does it not. ;) 12:39
moritz Gothmog_: sure :-) 12:40
flussence rakudo: say 1, 2, * * * ... * >= 65535
p6eval rakudo f63b82: OUTPUT«122483225681922097152␤»
huf surely not. 1..5 has a constant size
flussence rakudo: say ~( 1, 2, * * * ... * >= 65535 )
p6eval rakudo f63b82: OUTPUT«1 2 2 4 8 32 256 8192 2097152␤»
flussence wait, that's not right
moritz you're multiplying the last two items of a the list 12:41
flussence rakudo: say ([\*] (1, 2, 3 ... *))[0..10]
p6eval rakudo f63b82: OUTPUT«12624120720504040320362880362880039916800␤»
flussence rakudo: say ~([\*] (1, 2, 3 ... *))[0..10]
p6eval rakudo f63b82: OUTPUT«1 2 6 24 120 720 5040 40320 362880 3628800 39916800␤»
flussence that's the one
moritz right
moritz not fast enough 12:42
flussence you can do up to 1..8 before you run out of PIDs :)
moritz aren't PIDs recycled?
flussence depends how fast they are...
moritz buubot_backup: eval: my @a; sub DESTROY { push @a, shift }; { bless {} }; \@a 12:45
buubot_backup moritz: [bless( {}, 'main' )]DESTROY created new reference to dead object 'main' during global destruction.
12:50 jaldhar left, jaldhar joined 12:51 spark_ left 12:52 wamba left 13:02 Holy_Cow joined 13:03 Holy_Cow left 13:05 smash joined
smash hello everyone 13:07
takadonet smash: hey 13:10
[Coke] smash: hola. 13:13
mberends this looks wrong to me. Rakudo release 2011-07-21 should be based on Parrot 3.6.0, for which there is tarball that builds ok. According to Rakudo's build/README-parrot-revision, build/PARROT_REVISION gets its contents from parrot_config git_describe, but in the tarball Parrot that returns 0. It leaves me guessing which is the actual git commit for Parrot 3.6.0. 13:16
13:17 MayDaniel joined
moritz mberends: the configure tools fall back to the parrot version number if `git describe` output is not available 13:17
mberends moritz: thanks, I'll try 3.6.0 then :) 13:18
* and I'll update Rakudo's docs with that valuable tip 13:19
13:19 lichtkind joined
moritz just noticed that today's release doesn't have a release manager yet :( 13:19
dalek kudo: 495578b | moritz++ | build/PARROT_REVISION:
bump parrot version to 3.6
13:20
lichtkind TimToady: do you know when this was ? bigthink.com/LarryWall thanks 13:21
13:22 Alias left, xinming_ joined
dalek kudo: 1ebab75 | moritz++ | docs/ChangeLog:
changelog
13:24
13:25 xinming left
mberends moritz: I was just beginning to do the release manager job 13:25
moritz mberends: feel free to do that, I don't know how many tuits I'll have today/tonight 13:26
mberends ok
moritz my suggested release name would be Dahut (after dahut.pm.org/ which I find plainly awesome :-)
mberends that was Rakudo #41 2011-05-19 already 13:28
moritz oh
moritz lost track, it seems
mberends better trawl pm.org some more
13:29 uvtc joined, drbean left
[Coke] dasn't use albany.pm 13:30
uvtc [Coke]: Hi. Thanks for the reply about getting rakudo.org on planetsix yesterday. Did it make it? I don't see the rakudo.org post listed there. 13:31
[Coke] I committed it, double checking.
[rakudo.org/feed/] 13:32
name = rakudo.org
[rakudo.org/feed/]
name = rakudo.org
[rakudo.org/feed/]
name = rakudo.org
gah.
(it's only in there once.)
mberends [Coke]: dasn't? 13:33
[Coke] archaic (or dialectical) shouldn't.
mberends ah, ok
[Coke] dialectal?
Tanktalus diabolical? 13:34
[Coke] uvtc: so, I added it, but it's not showing up. wonder if it's erroring out.
Tanktalus I know I asked about this last night, but then I went to bed: my %h; %h{<<a b c b a>>}>>++; %h.perl.say
[Coke] looks like an odd contraction of "dare not" 13:35
Tanktalus someone mentioned that rakudo is not wrong to show all three keys, a, b, and c, with value 1.
[Coke] rakudo: my %h; %h{<<a b c b a>>}>>++; %h.perl.say
p6eval rakudo f63b82: OUTPUT«{"a" => 1, "b" => 1, "c" => 1}␤»
moritz that was me, I think
mberends I was thinking of Beijing|Chinese Perl mongers for welcoming jnthn over there
moritz Tanktalus: see irclog.perlgeek.de/perl6/2011-07-21 for the logs
Tanktalus I'm just surprised - it's not dwimming very well ;-)
uvtc [Coke]: I daren't venture a guess -- not familiar with configuring planet.
[Coke] moritz: makes sense - I suspect it has to create the hash before it incrememts the values. 13:36
moritz Tanktalus: not much more was said on the topic - side effects in hypers are a bad idea, and you get what you ask for if you do it anyway - trouble
[Coke] rakudo: my %h; %h{<<a b c b a>>}; %h.perl.say
p6eval rakudo f63b82: OUTPUT«{}␤»
[Coke] rakudo: my %h; %h{<<a b c b a>>}=0; %h.perl.say 13:37
moritz [Coke]: in addition the slice is not lazy, so it creates all the autovivification proxies before the first ++ is executed
p6eval rakudo f63b82: OUTPUT«{"a" => Any, "b" => Any, "c" => Any}␤»
Tanktalus I guess my only point is that it'll likely confuse people, especially since it was this very channel that gave the original idea ~6 years ago :-) 13:38
13:39 jaldhar left
Tanktalus I expect that if you didn't already know the answer, most people would assume you'd get 2's for a and b. 13:39
13:39 jaldhar joined
moritz buubot_backup: sub i { $_++ for @_ }; my %h; i @h{a b c b a}; \%h 13:40
buubot_backup moritz: Couldn't match input.
moritz buubot_backup: eval: sub i { $_++ for @_ }; my %h; i @h{a b c b a}; \%h
buubot_backup moritz: ERROR: Can't locate object method "c" via package "b" (perhaps you forgot to load "b"?) at (eval 28) line 1.
[Coke] uvtc: I've pinged the perl webmaster - I have keys to add things to the planet, but no admin rights to see what's failing. 13:41
moritz buubot_backup: eval: sub i { $_++ for @_ }; my %h; i @h{<a b c b a>}; \%h
buubot_backup moritz: ERROR: Can't locate Text/ParseWords.pm in @INC (@INC contains:) at /home/buubot/perl-5.12.3/lib/5.12.3/i686-linux/File/Glob.pm line 152.
moritz buubot_backup: eval: sub i { $_++ for @_ }; my %h; i @h{qw<a b c b a>}; \%h
buubot_backup moritz: {c => 1,a => 2,b => 2}
flussence hyperops are implicitly threaded; you can't expect them to run in any specific order, same as threaded code anywhere else. The only reliable thing you can do in them is pure functions.
Tanktalus flussence: then maybe >>++ should elicit a warning/error? 13:42
uvtc [Coke]: Nice. Thanks, Coke. Wonder if it has anything to do with the recent rakudo.org changeover to WordPress...
flussence rakudo: my %h; %h{«a b c b a»} = %h{«a b c b a»}».succ; %h.perl.say 13:43
p6eval rakudo f63b82: OUTPUT«Method 'succ' not found for invocant of class ''␤ in main program body at line 22:/tmp/4PiYokSEQe␤»
flussence rakudo: my %h; %h{«a b c b a»} = 0; %h{«a b c b a»} = %h{«a b c b a»}».succ; %h.perl.say
p6eval rakudo f63b82: OUTPUT«Method 'succ' not found for invocant of class ''␤ in main program body at line 22:/tmp/opzNmFtohp␤»
moritz Tanktalus: I don't think it's so common to have a list with multiple references to the same mutable object in them
Tanktalus moritz: if you're counting them it would be :-) 13:44
flussence rakudo: my %h = <a b c> X 0; %h{«a b c b a»} = %h{«a b c b a»}».succ; %h.perl.say
p6eval rakudo f63b82: OUTPUT«{"a" => 1, "b" => 1, "c" => 1}␤»
Tanktalus I've seen the same question on perlmonks more than a few times from new users, while the more experienced ones will already know how to count items idiomatically in perl5. 13:45
The perl5 idiom works in perl6, it's just not as cool looking. As people get used to hyper operators, this one might take us by surprise :-) 13:47
rakudo: my %h; %h{$_}++ for <<a b c b a>>; %h.perl.say
p6eval rakudo f63b82: OUTPUT«{"a" => 2, "b" => 2, "c" => 1}␤»
13:47 uvtc left
Tanktalus That's perl5 using perl6 syntax. It works. That's great. I was under the impression that hypers helped here, and the surprise is that they don't. 13:48
moritz there are lots of other ways 13:49
mberends: FYI, I just had a clean spectest run with master on the released parrot 13:51
flussence rakudo: my %h = [<a b c b a>].classify({ $_ }).map(* => +*); %h.perl.say
p6eval rakudo f63b82: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in <anon> at line 22:/tmp/hrufEIcimr␤ in 'List::Bool' at line 1:src/metamodel/RoleToInstanceApplier.nqp␤ in '!STORE' at line 5410:src/gen/core.pm␤ in '!STORE' at line 5430:src/gen/core.pm␤ in main …
[Coke] what is the method that ... classify. thank you. 13:52
dalek kudo: 53a9da1 | moritz++ | docs/announce/2011.07:
initial release announcement
flussence rakudo: my %h = [<a b c b a>].classify({ $_ }).map({ $^k => +$^v }); %h.perl.say
p6eval rakudo f63b82: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in <anon> at line 22:/tmp/fIvi_BLsv7␤ in 'List::Bool' at line 1:src/metamodel/RoleToInstanceApplier.nqp␤ in '!STORE' at line 5410:src/gen/core.pm␤ in '!STORE' at line 5430:src/gen/core.pm␤ in main …
flussence bah
mberends moritz: thanks, still waiting here for the same to finish
moritz flussence: .kv.map
flussence rakudo: my %h = [<a b c b a>].classify({ $_ }).kv.map({ $^k => +$^v }); %h.perl.say
p6eval rakudo f63b82: OUTPUT«{"0" => undef, "1" => undef, "2" => undef}␤»
flussence erm.
moritz flussence: and yes, I've been thinking about a .classify-based solution too
flussence rakudo: [<a b c b a>].classify({ $_ }).kv.map({ $^k => +$^v }).perl.say
p6eval rakudo f63b82: OUTPUT«(0 => undef, 1 => undef, 2 => undef)␤»
flussence nom: my %h = [<a b c b a>].classify({ $_ }).map(* => +*); %h.perl.say 13:53
p6eval nom: OUTPUT«No applicable candidates found to dispatch to for 'Numeric'. Available candidates are:␤:(Mu, Mu %_)␤␤current instr.: 'Numeric' pc 469381 (src/gen/CORE.setting.pir:122450) (src/gen/CORE.setting:332)␤»
flussence nom: [<a b c b a>].classify({ $_ }).map({ $^k => +$^v })
p6eval nom: OUTPUT«Segmentation fault␤»
flussence whoops
moritz rakudo: my %h; %h.push: <a b c b a>; %h = %h.keys Z %h.values>>.elems; say %h.perl
p6eval rakudo f63b82: OUTPUT«Trailing item in Hash.push in <anon> at line 5481:src/gen/core.pm␤{}␤»
moritz rakudo: my %h; %h.push: <a b c b a> X=> 1; %h = %h.keys Z %h.values>>.elems; say %h.perl 13:54
p6eval rakudo f63b82: OUTPUT«{}␤»
moritz keeps the loop :-)
flussence leaves it for someone else
moritz rakudo: say (< b c b a> X=> 1).perl 13:55
p6eval rakudo f63b82: OUTPUT«("b" => 1, "c" => 1, "b" => 1, "a" => 1)␤»
flussence
.oO( maybe I should keep at least one working master and one nom locally... )
moritz rakudo: my %h; %h.push: (< b c b a> X=> 1); say %h.perl
p6eval rakudo f63b82: OUTPUT«{"b" => [1, 1], "c" => 1, "a" => 1}␤»
moritz rakudo: my %h; %h.push: (<a b c b a> X=> 1); say (%h.keys Z %h.values>>.elems).perl
p6eval rakudo f63b82: OUTPUT«("a", 2, "b", 2, "c", 1)␤»
moritz rakudo: my %h; %h.push: (<a b c b a> X=> 1); say (%h.keys Z %h.values>>.elems).hash.perl 13:56
p6eval rakudo f63b82: OUTPUT«{"a" => 2, "b" => 2, "c" => 1}␤»
flussence rakudo: my %h = <a b c b a> X=> 1; say {%h.keys Z %h.values».elems}.perl;
p6eval rakudo f63b82: OUTPUT«{ ... }␤»
flussence "...", indeed 13:57
rakudo: my %h = <a b c b a> X=> 1; say +{%h.keys Z %h.values».elems}.perl;
p6eval rakudo f63b82: OUTPUT«0␤»
flussence so much for golfing it down :)
moritz rakudo: my %h = (my %).push: (<a b c b a> X=> 1).map: {; .key => .value.elems }; say %h.perl
p6eval rakudo f63b82: OUTPUT«{"a" => [1, 1], "b" => [1, 1], "c" => 1}␤»
moritz rakudo: my %h = (my %).push: (<a b c b a> X=> 1).pairs.map: {; .key => .value.elems }; say %h.perl 13:58
p6eval rakudo f63b82: OUTPUT«{"0" => 1, "1" => 1, "2" => 1, "3" => 1, "4" => 1}␤»
moritz look, it uses an anonymous variable... and it doesn't work :-)
14:00 benabik joined
flussence rakudo: my %h = <a b c b a> X=> 1; say (%h.keys Z %h.values».elems).hash.perl; 14:01
p6eval rakudo f63b82: OUTPUT«{"a" => 1, "b" => 1, "c" => 1}␤» 14:02
flussence I wonder why that only adds up to one each...
rakudo: my %h = <a b c b a> X=> 1; say (%h).perl;
p6eval rakudo f63b82: OUTPUT«{"a" => 1, "b" => 1, "c" => 1}␤»
flussence oh, push is magical
moritz it is indeed 14:03
14:03 benabik left 14:05 ZaphrodZenovka joined 14:06 benabik joined 14:09 tewk joined
TimToady 8 14:11
lichtkind TimToady: you mean 2008? :) 14:12
felher moritz++ for JSON::TINY and ++ for whoever wrote the corresponding section in the perl6 book. 14:14
14:15 jaldhar left
moritz bows 14:15
14:15 jaldhar joined 14:16 Jackneill joined 14:19 orafu joined 14:26 perlhack joined
perlhack i have fun in learning english. 14:28
:-)
14:28 MayDaniel left
moritz is there a Beijing.pm? 14:30
(none listed on www.pm.org, but since they had their own workshop...) 14:31
perlhack :-)Beijing.pm ???
moritz
modules ?
moritz perlhack: perlmongers group 14:32
perlhack oh! i get it.
moritz
daxim moritz, perlhack, <perlchina.org/> 14:33
moritz daxim: that doesn't answer my question in a way I could understand 14:34
JimmyZ moritz: perlchina.org is the workshop :) 14:35
moritz that still doesn't answer my question :-)
perlhack Hey hey
China workshop for perl 14:36
JimmyZ moritz: beijing.pm.org/
daxim www.flickr.com/photos/shijialee/3939754271/ 14:37
14:37 wolfman2000 joined
dalek kudo: a73d73c | moritz++ | docs/announce/2011.07:
name our release Beijing
14:40
moritz mberends: seems the release is going pretty well here... now running (hopefully) final build+spectest run 14:50
moritz.faui2k3.org/tmp/rakudo-2011.07.tar.gz # please test
mberends moritz: ok, will test here too. Guessing by the website, perlchina.org (who ran Beijing Perl Workshop) are not connected with beijing.pm.org. 14:53
14:53 kaare_ left
smash moritz: testing here too 14:55
moritz mberends: I hope there's some informal overlap between the two :-)
smash building on macosx lion, half-way installling xcode 14:56
moritz (if anybody thinks it's important enough, feel free to correct the release announcement, I'll make a new tar ball out of it)
mberends moritz: there's probably a high overlap of membership and workshop attendees 14:57
flussence suggestion: have t/spec check out master when it's on nom, same as it does rakudo-master when on master. I keep forgetting to switch it back :( 14:59
moritz flussence: ah, I just have two checkouts in different locations :-) 15:00
mberends flussence: like you mentioned before, it's time to have two independent directories.
15:01 Jackneill left, perlhack left
flussence well, after I've run this spectest... :) 15:02
moritz meh, spectest-update failed
15:03 wamba joined
flussence why do we rely on perl6 qx() in spectest_smolder? can't we just use the perl5 one, since we need that for the test harness anyway? 15:03
moritz eating our own dogfood
flussence good point 15:04
dalek kudo: cc373ff | moritz++ | / (2 files):
update release_guide.pod, bump VERSION
15:06
kudo: 085a4b7 | moritz++ | build/Makefile.in:
make spectest_update nonfatal, it fails in the release (because t/spec/ is not a git checkout)
15:08 kjeldahl joined
moritz please re-fetch your tarballs from moritz.faui2k3.org/tmp/rakudo-2011.07.tar.gz 15:10
smash nice, it was able to build rakudo *while* installing xcode
moritz spectest is running... will push the tags and upload the tarball when I come home and find that all tests have passed 15:19
15:21 MayDaniel joined
moritz nom: say ::('pi') 15:27
p6eval nom: OUTPUT«3.14159265␤»
15:32 thou__ joined
pmichaud good morning, #perl6 15:35
smash pmichaud: mornin' 15:36
pmichaud what's the release status? 15:44
I'm thinking of making some updates to the announcement 15:45
15:45 thou__ is now known as thou 15:47 MayDaniel left, timbunce left 15:48 _twitch left 15:51 mkramer left
pmichaud Do we want to continue to commit to Parrot release + 2 days, or should we lengthen that a bit? 15:54
I think we had discussed saying "within four days of Parrot release" 15:55
JimmyZ +1 15:57
[Coke] do we need the time? 15:58
pmichaud well, we now have NQP releases involved as well. 15:59
[Coke] I think "within a week" gives you plently of slush room if needed.
pmichaud I could do "within a week", yes.
[Coke] (I also think that except from a marketing standpoint, it probably doesn't matter too much)
pmichaud gist.github.com/1097516 # diff of proposed announcement changes 16:02
gist.github.com/1097518 # announcement text after diff
apologies for not getting to the announcement text earlier... had some events around the house that needed my attention :( 16:03
[Coke] hopes everything is ok now. :| 16:06
+1 on the announcement. 16:07
pmichaud it was nothing all that bad... just things that kept me afk
16:07 ZaphrodZenovka left
[Coke] no worries. 16:07
[Coke] has a script now to compare the blocker listed in spectest.data with the actual error message so it will be easier to keep it up to date as nom gets closer. Need to apply the patch on that after dayjob today. 16:09
dalek kudo: 61eef48 | pmichaud++ | docs/announce/2011.07:
Revise release announcement a bit.
16:11
16:14 noganex joined, _twitch joined 16:17 ab5tract left, _twitch left, JimmyZ left
dalek kudo: 9225003 | pmichaud++ | docs/release_guide.pod:
Add some release name suggestions for future releases.
16:22
sorear good * #perl6
16:27 daxim left
slavik how is laziness achieved? is there like a object.eval() type thing implemented? 16:29
smash moritz: failed on test, t/spec/S19-command-line/dash-e.t
16:31 pernatiy left
smash rakudo: print q[\c[LATIN SMALL LETTER A WITH DOT ABOVE]] 16:37
p6eval rakudo 61eef4: OUTPUT«===SORRY!===␤Confused at line 22, near "]"␤»
smash that is the failling test 16:38
16:39 ZaphrodZenovka joined
sorear slavik: laziness in Perl 6 is restricted to lists 16:46
slavik sorear: I mean, in general, how is laziness implemented in a language?
sorear slavik: every List object contains two internal deques, one of items and one of iterators
slavik: define "laziness", or alternately, choose a language 16:47
there are lots of ways
slavik perl6 list laziness
sorear: what is the simplest type to illustrate it?
sorear slavik: type? you mean like Any, Int, List, etc? 16:48
slavik type == implementation 16:49
as in, what is the simplest way to illustrate laziness for educational/illustrational purposes?
[Coke] show a list that would normally go to infinity and peg the CPU/memory. 16:51
my @a = 1..Inf; say "alive" 16:52
rakudo: my @a = 1..Inf; say "alive"
p6eval rakudo 61eef4: OUTPUT«alive␤»
[Coke] (ok, that's not really a list.)
rakudo: say 1..Inf.WHAT
p6eval rakudo 61eef4: OUTPUT«␤»
benabik nom: say 1..Inf.WHAT 16:53
p6eval nom: OUTPUT«1..Num␤»
sorear slavik: hmm. maybe, mitpress.mit.edu/sicp/full-text/boo...c_Temp_449 ?
benabik nom: say (1..Inf).WHAT
p6eval nom: OUTPUT«Range()␤»
moritz use ... 16:57
17:00 mj41_nb left 17:01 benabik left
slavik sorear: thanks, same though I had, cache the thunks, then eval them 17:03
ie: $cache{<statement>} = undef; to store it and then: $cache{<statement>} = eval <statement>; and return $cache{<statement>} if $cache{<statement>} != undef; 17:06
17:07 timbunce joined
TimToady rosettacode.org/wiki/Undefined_valu...ned#Perl_6 <-- kinda funny 17:12
sorear: arguably we also apply the concept of laziness to context and to exceptions 17:13
not to mention autoviv 17:14
sorear also the First Virtue 17:17
TimToady We're all very eager to be lazy... 17:18
17:21 hanekomu left 17:23 jaldhar left 17:25 wamba left 17:27 am0c joined
moritz pmichaud: I don't think anybody except yourself has posting permissions on the new rakudo.org 17:28
tags for the release pushed
17:29 perlhack joined
moritz upload to github will follow suit 17:29
17:31 perlhack left, mj41_nb joined
moritz github.com/rakudo/rakudo/downloads # it's up there 17:32
smash moritz++ # release 17:35
17:35 [particle] joined
colomon moritz++ 17:39
jdhore moritz++ 17:40
szabgab oh I just came in the right time moritz++ 17:52
pmichaud moritz: rakudo.org shows a lot of people with administrative privs (including yourself :) 18:01
18:04 Zapelius joined
moritz pmichaud: oh, I didn't know that :-) 18:05
18:07 birdwindupbird left
PerlJam greetings 18:08
pmichaud PerlJam has admin privs also :-P 18:09
PerlJam er ... for what?
pmichaud rakudo.org 18:10
PerlJam why does someone need a rakudo.org admin exactly?
pmichaud to help keep the site up-to-date, of course :) 18:12
PerlJam So ... I should click on the "update wordpress now" link? ;) 18:13
pmichaud PerlJam: if you feel it needs to be done, yes. :)
PerlJam I have no idea what the ramifications would be and it doesn't feel like a vary harmless action, so ... no. 18:14
Su-Shee I'd say a +1 for pmichaud's parenting skills. ;) 18:15
PerlJam But ... I do see many comments that could be marked as spam :(
18:17 ciphertext left 18:23 thundergnat joined
thundergnat rakudo: my %h; ++«%h<a b c b a>; %h.perl.say 18:24
p6eval rakudo 61eef4: OUTPUT«Rebuild in progress␤»
PerlJam What happened to building rakudo in the background so that people don't see that message anymore? 18:25
TimToady it's in that unevenly distributed future we keep hearin' about 18:26
lichtkind TimToady: was the 8 directed to me? 18:29
PerlJam is willing to distribute the future a little more evenly if able 18:30
thundergnat rakudo: say 'alive';
p6eval rakudo 922500: OUTPUT«alive␤»
thundergnat \o/
rakudo: my %h; ++«%h<a b c b a>; %h.perl.say 18:31
p6eval rakudo 922500: OUTPUT«{"a" => 1, "b" => 1, "c" => 1}␤»
thundergnat rakudo: my %h = <a 0 b 0 c 0>; ++«%h<a b c b a>; %h.perl.say
p6eval rakudo 922500: OUTPUT«{"a" => "2", "b" => "2", "c" => "1"}␤»
thundergnat That's the same problem I talked about the other day, except with hashes instead of arrays. irclog.perlgeek.de/perl6/2011-07-15#i_4118614
It is autivivifying lazily so only the last autovified value makes into into the slot.
moritz PerlJam: before sorear++'s patch, rakudo always rebuilt in the background 18:32
thundergnat If you pre initialize the values, it works as expected.
PerlJam thundergnat: are you sure the spec says something about a guaranteed order there?
moritz it does not.
thundergnat The order doesn't enter into it. 18:33
PerlJam thundergnat: it does
moritz but the compiler is allowed to parallelize
thundergnat It doesn't
moritz and the ++ can lead to race conditions
thundergnat IT tries to aoutovivify several times but only one instance makes it into the slot.
If you pre-declare and it doesn't have to autovivify, it works as expected. 18:34
TimToady wonders if autovivify could check to see if someone else got there first, and use that
moritz but only by chance
not reliably
thundergnat It is the lazy autovivification that trips it up. 18:35
moritz yes, we've understood that now
it still only works by chance
thundergnat Sorry, beating a dead horse...
TimToady more specifically, it's idempotency of the dead horse 18:36
autoviv should really have "guarantee" semantics rather than "create it" semantics
PerlJam seems like you'd just move the race condition around though 18:37
(unless you're hand-waving that away under "guarantee" :) 18:38
TimToady depends on how you view the monad
18:39 benabik joined
TimToady the container in question still has to make it look like it's holding a different immutable object when in reality it's implemented as a mutable object 18:40
so yes, some kind of atomicity is still required
but I don't think we should use "it's parallel, so it's gonna break anyway" as an excuse not to keep all the side effects as well behaved as we can 18:41
if it's Too Hard, then we can call it erroneous, but I'm not convinced of that
PerlJam so ... some kind of "container proxy" that becomes a real container on first use? 18:42
TimToady I don't care how, as long as it's "guarantee" rather than overwrite
18:42 benabik left
TimToady and it can still be a lazy guarantee, it just doesn't do anything more the second time 18:43
18:43 impious joined
TimToady it's more of .FETCH(:create-if-you-need-to) than a .STORE 18:44
.FETCH(:pretend-it-was-always-there) 18:45
for a more "eternal" view of the matter
non-existence is just an optimization for the default :) 18:46
moritz pmichaud: ping 18:49
18:49 impious left
PerlJam We only really need to pretend under parallelization, otherwise the existing autoviv should work. 18:49
I wonder if it's more work to pretend than otherwise
18:49 Zapelius left
TimToady to me, the need to possibly marshall hyper side effects is a separate issue for any mutating hyper 18:50
but the autoviv behavior should not make that impossilbe
*sible
it's like it's confusing two different monads to conflate the two issues 18:52
sjn is there some kind of Changelog file for rakudo? 18:54
moritz yes 18:55
PerlJam docs/ChangeLog
sjn ah
thanks
sjn is used to see that file in the root dir
hm. no nom yet, eh 18:57
PerlJam sjn: soon.
sjn can't wait :)
well, I can, but I'd like to express my excitement for when that day comes. :) 18:58
TimToady I note that Perl 5's hv_fetch takes a boolean lval argument for just this reason.
18:58 ggoebel left 18:59 ggoebel joined
TimToady it's not like it's new technology 18:59
ggoebel reparrot.blogspot.com/2011/07/when-...llide.html
19:00 stepnem joined
ggoebel wondering if perl6 would be a better candidate than perl5 for M0 19:00
PerlJam C would be an even better candidate I think :)
ggoebel ;)
moritz why not in PIR? 19:02
TimToady why not an M0 chip? :P 19:03
PerlJam know anyone with an FPGA and some chip design experience? ;) 19:04
flussence is it possible to do in shaders? :)
PerlJam moritz: I think the argument is that PIR is neither high-level enough nor low-level enough to pull it off.
moritz: or perhaps it's just "PIR is bad m'kay" 19:05
:-)
19:05 birdwindupbird joined
TimToady
.oO(when it comes to combining the feature sets of Perl and asm, I always forget whether I want ∪ or ∩)
19:09
maybe it depends on whether you're counting positive features or negative features...
and I suspect PIR picked the other one... 19:11
19:12 stepnem left 19:13 Chillance joined 19:19 stepnem joined, alester joined 19:24 kaare_ joined 19:32 desertm4x joined
[Coke] rakudo: say "weird science" # because everyone always stops at the first part. 19:37
p6eval rakudo 922500: OUTPUT«weird science␤»
19:38 rlb3_ joined
[Coke] doing m0 in perl6 gives us a slight temporary bootstrap issue. 19:39
19:39 donri joined
TimToady well, you'd have to just pretend you have native types to begin with 19:47
[Coke] I think we already do that. ;) 19:49
19:51 rlb3_ left
sorear TimToady: hv_fetch has simpler semantics than perl6, for instance it can't express if %foo<a><b> { } non-destructively 19:52
19:53 Mowah joined
TimToady sure, but we can still improve the idempotency of 'make it be there' 19:53
even if that has to be recursively defined for nested containers 19:54
sjn could someone suggest to me a good text on the grammars in p6? 19:55
moritz sjn: have you already read the chapter on grammars in "Using Perl 6"? 19:56
sjn yes
PerlJam sjn: maybe just ask questions here as things come up? 19:57
sjn well, skimmed it :)
sjn takes antother look
PerlJam: will do :)
moritz perlgeek.de/en/article/ also has a few articles about different aspects of Perl 6 grammars
19:58 Mowah left, Mowah joined 20:00 benabik joined
sjn moritz: thanks 20:03
20:18 kaare_ left, birdwindupbird left
pmichaud moritz: pong 20:19
20:19 kjeldahl left
moritz pmichaud: I've tried to make the $::('foo') form of indirect name lookups working 20:21
(link to patch forthcoming)
moritz.faui2k3.org/tmp/indirect-lookup.patch 20:22
as you can see, I've left some debug output in
pir::typeof($_<EXPR>) says String when I call it as $::($something)
and the string is $
(ie the sigil) 20:23
and I have no idea at all how $<EXPR> ends up being a String, and not the PAST for $something 20:24
benabik moritz: Are you looking for $<EXPR>.ast ?
20:24 cognominal_ joined
pmichaud string/integer/float literals are allowed to serve as their own PAST, for one. 20:24
20:24 cognominal left
pmichaud not sure that's what happening here, though. 20:25
moritz sorry, $_<PAST>, not $<PAST>
benabik: if $_<EXPR> is a String, calling .ast on it goes BOOM
benabik: which is exactly what's happening here...
benabik moritz: But $<EXPR> should be a match object… I didn't notice you meant $_<> 20:26
moritz benabik: that too should be a Match object here
pmichaud moritz: looking. 20:27
moritz the same code works fine for the ::($something) case 20:35
which matches with the same 'morename' rule
there $_<EXPR> contains a RPA, and $_<EXPR>[0] the PAST 20:36
20:38 Vlavv_ joined 20:40 meteorjay left 20:45 meteorjay joined, spq1 left 20:47 silug_ joined
pmichaud moritz: something is funky wrong here... still looking 20:47
tadzik hello zebras 20:48
20:49 soh_cah_toa joined
moritz pmichaud: I already had the suspicion that some variable is wrongly bound 20:49
\o tadzik
pmichaud even $longname looks suspicious.
moritz pmichaud: the sigil that I see in the place of $_<EXPR> seems to be the one from the optional parameter $sigil 20:50
pmichaud well, there are some action methods that restructure the tree.
if I add _dumper($longname) to the code, it thinks that $longname is a simple String scalar also. 20:51
20:52 stephanepayrard_ joined, cognominal_ left
moritz nqp: say("foo"<bar>) 20:54
p6eval nqp: OUTPUT«f␤»
moritz and that's how $_<EXPR> evaluates to a true value?
pmichaud that'd be my guess.
nqp: say(nqp::atkey("foo", 'bar'));
p6eval nqp: OUTPUT«f␤»
moritz that's... creepy 20:55
benabik That seems wrong.
pmichaud looks like that's how Parrot implements get_pmc_keyed on String values
20:55 masak joined
masak yaaaaay! oh hai, #perl6! 20:56
pmichaud moritz:
moritz it... numfies 'bar' to 0, and then indexes?
tadzik :)
moritz \o tadzik & masak
pmichaud if $<args> {
$/.CURSOR.panic("Combination of indirect name lookup and call not (yet?) allowed");
}
$past := self.make_indirect_lookup($<longname>)
oh, wait, nm.
looking.
masak is this a known bug?
rakudo: class C { has %!p; submethod BUILD(:%!p) {} }; C.new; say "alive"
p6eval rakudo 922500: OUTPUT«Null PMC access in invoke()␤ in '!STORE' at line 5410:src/gen/core.pm␤ in '!STORE' at line 5429:src/gen/core.pm␤ in 'C::BUILD' at line 1:src/gen/core.pm␤ in 'C::BUILD' at line 22:/tmp/CVMTCrCvdK␤ in main program body at line 22:/tmp/CVMTCrCvdK␤» 20:57
20:57 Mowah left
moritz nom: class C { has %!p; submethod BUILD(:%!p) {} }; C.new; say 'alive' 20:57
sorear o/ masak
p6eval nom: OUTPUT«alive␤»
20:57 bs338 left, bs338 joined
pmichaud moritz: the problem is likely that "is_indirect_lookup" 20:58
is returning true even when $<longname> isn't an indirect lookup
moritz pmichaud: Actions.pm has 'method name($/) { }' -- what does that do?
pmichaud it's the action method for the 'name' token, I suspect.
masak submits rakudobug
pmichaud it probably had some content that jnthn++ later removed (but didn't remove the method) 20:59
moritz but what does an empty action method do? nothing?
masak it tells a zen koan.
moritz pmichaud: I don't believe it's a false positive in is_indirect_lookup -- when I had those, setting compilation failed pretty early
pmichaud: and that bug is only triggered when I actually do a $::(...) style named lookup
21:01 cognominal_ joined
masak rakudo: class C { has $!p; submethod BUILD(:$!p) {} }; C.new; say "alive" 21:03
p6eval rakudo 922500: OUTPUT«alive␤»
masak rakudo: class C { has @!p; submethod BUILD(:@!p) {} }; C.new; say "alive"
p6eval rakudo 922500: OUTPUT«alive␤»
21:04 stephanepayrard_ left
masak rakudo: class C { has &!p; submethod BUILD(:&!p) {} }; C.new; say "alive" 21:04
p6eval rakudo 922500: OUTPUT«alive␤»
masak :)
21:06 timbunce left, markus_ joined
masak moritz++ # BJ release 21:07
21:07 mj41_nb left
moritz anyway, bed time for me 21:07
&
21:07 REPLeffect joined 21:08 desertm4x left, Mowah joined 21:12 timbunce joined 21:17 Mowah left 21:22 timbunce left 21:25 ZaphrodZenovka left, ZaphrodZenovka joined
pmichaud moritz: + $past := make_indirect_lookup($<desigilname><longname>, ~$<sigil>); 21:31
should be
$past := self.make_indirect_lookup($<desigilname><longname>, ~$<sigil>); 21:32
(missing invocant)
21:32 benabik left
pmichaud phenny: tell moritz see irclog.perlgeek.de/perl6/2011-07-21#i_4149417 21:32
phenny pmichaud: I'll pass that on when moritz is around.
21:41 cognominal_ left 21:42 cognominal joined 21:43 Psyche^ joined, Patterner left, Psyche^ is now known as Patterner 21:48 whiteknight joined 21:51 ymasory joined
cooper IO::Socket::IP supports IPv6 for listening, or am i wrong? 21:55
wrong channel, #perl and #perl6 are too similar 21:57
21:57 s1n joined 21:59 masak` joined 22:00 masak left 22:17 markus_ left 22:24 masak` is now known as masak
masak ok, we're having a bit of a craze/mini-project here. 22:25
when I was in a museum, I accidentally a game from the 1940s.
and tadzik and I are writing an implementation each of it. :)
tadzik we can play it at the YAPC :)
masak I'm thinking it might make a good RC article.
yes :) 22:26
easily a lightning talk as well. :)
tadzik troo
masak it's amazing how consistent the game is wrt race conditions and the like.
tadzik it was designed by a mathematician
masak oh, that explains a lot. 22:27
anyway, we're having fun implementing it.
I'm trying to fit an implementation inside 100 LoC :)
if there's any interest, I might throw the rules up as a gist... 22:28
lichtkind masak: loco
masak yeah, I guess it's a bit crazy :) 22:29
phenny: "loco"?
phenny masak: "crazy" (es to en, translate.google.com)
masak puts together a gist just in case TimToady would want to tackle the problem :) 22:37
22:39 drbean joined 22:51 Limbic_Region joined 22:52 alester left 22:56 ymasory left
masak rules of the game: gist.github.com/1098446 23:05
(it's kinda strategic and fun to play, too) :) 23:06
sorear masak: does it have to be TimToady? 23:10
masak not at all. 23:11
but he seems to be the one doing RC problems the most :)
sorear I need one quesiton answered. What should I call it?
oh
masak "Little Animal Farm", perhaps?
sorear notices gist title
masak or the polish title, since it's the original. I dunno. 23:12
sorear see, yesterday, I thought you were talking about a game based on _Animal Farm_
masak there seems to be no relation.
this game would've come before the book.
it's from the 40s.
anyway, anyone is welcome to (1) create the RC article for it, using the gist as a description, and (2) implement the game in any language. :) 23:13
I'm "almost" done with my Perl 6 implementation.
just need to get the bargaining right.
'night, #perl6.
23:13 masak left
diakopter boardgamegeek.com/boardgame/17557/super-farmer apparently 23:14
tadzik yeah, that's the remake 23:15
g'night too 23:16
diakopter matematykanety.blox.pl/2010/04/20-m...stein.html 23:17
23:29 orafu left, OuLouFu joined, OuLouFu is now known as orafu 23:30 tokuhir__ joined 23:35 tokuhir__ left, tokuhir__ joined 23:36 CBro2007 left
lichtkind masak++ 23:38
sjohnson diakopter: jQuery is like a breath of fresh air 23:48
23:53 benabik joined 23:54 whiteknight left
diakopter sjohnson: re: what? 23:55
sjohnson you now what jquery is correct?
diakopter yes
sjohnson well, it's a breath of fresh air
are you asking in what way? 23:56
diakopter I read you correctly the first time :)
sjohnson i just did the ajax request code
diakopter re: is short for regarding
sjohnson it was like 5 lines, vs something huge and ugly like 40+ lines
oh
oopsies
fixed this weird IE8 issue too
i'm quite impressed with it
diakopter anyway, I was asking why you mentioned it, and why to me, specifically :) 23:57
sjohnson oh, i thought you were the javascript enthusiast here
was curious to hear if you had any opinions on it (in general)
diakopter years ago 23:58
sjohnson oic
diakopter yep, jquery is quite useful and very widely used
more sites use it than use flash, I read somewhere 23:59