»ö« 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! | Rakudo Star Released!
Set by diakopter on 6 September 2010.
ash_ question for anyone online, do you use .pl6 or .pl? i have been sticking with .pl just curious 00:00
masak since grammars are one of the Big, Obvious strengths of Perl 6, and since they're largely implmeneted and well-tested in Rakudo, I think blog posts are very good news for Perl 6. they show the language from one of the best sides possible.
Tene ash_: .pl
masak ash_: I usually don't put a suffix on my executables. and my Perl 6 scripts are executables.
flussence I've been using .p6
masak three people, three different answers :) 00:01
only one of which intersected with the original two options :P 00:02
flussence I'm too lazy to put a ft=perl6 modeline in when that works just as well :)
ash_ when its an executable, i do not put a suffix on it, but if its just a script that i am not using as an executable i do .pl or .pm 00:03
masak ash_: if you're not executing the script, is it truly a write-only script? :)
ash_ i am executing it, just not by doing ./filename 00:04
so, i probably could just add #!/usr/bin/perl6 and chmod +x but still
masak flussence: re "all your base"... try not to feed the trolls. 00:06
I'm no real authority on troll management, but I do suspect that they're better hugged or left alone than attacked or mocked. 00:07
time to sleep. 00:09
'night, #perl6.
00:09 masak left 00:10 ggoebel joined
dukeleto For those interested in Troll Management, check out trolluniversity.com 00:14
Tene flussence: I read norkakn's post as sarcasm, fwiw
"That's pretty cool. Shame that there's all that inaccurate fud about Perl 6."
approximately.
flussence meh, I get snarky easily on reddit. been there too long :( 00:15
ash_ my friend does the same thing, reddit must bring out the troll/anti-troll in people 00:16
00:23 Gothmog_ left 00:29 orafu left, orafu joined 00:36 icwiener left 00:39 Gothmog_ joined 00:44 lilstevey joined 00:59 risou left 01:00 QinGW joined
ash_ pugs: 'ab' ~~ /c|ab/ 01:04
p6eval pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.16/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped by operat…
ash_ weird
locally
that works fine
pugs> 'ab' ~~ /c|ab/
Match.new(
ok => Bool::True,
from => 0,
to => 2,
str => "ab",
sub_pos => (),
sub_named => {}
)
sorry, i'll stop spamming 01:05
01:05 lilstevey left 01:09 satyavvd joined 01:10 ash_ left 01:18 redicaps joined
diakopter whee 01:21
01:25 shabble joined, shabble left, shabble joined
diakopter hopes I'm below the 8 max commits for dalek 01:27
dalek odel: 47a15f6 | diakopter++ | dotnet/runtime/Runtime/Ops/Primitive.cs:
[dotnet] add a format_str Op, but don't use it yet.
odel: 4e98d42 | diakopter++ | / (4 files):
[dotnet] flesh out and debug pasttypes 'scan' and 'pass',

non-left-anchored scanning works. fix bugs in DNST::JumpTable exposed by the above fix bugs in Cursor exposed by the above
odel: 1f4a978 | diakopter++ | common/NQP/NQPSetting.pm:
[common NQPSetting] Add a Bool method to Any
odel: c16594c | diakopter++ | t/nqp/45-smartmatch.t:
[tests] write 3 more passing tests in 45-smartmatch.t
diakopter oh good
nqpnet: ok(("hihi" ~~ /i [h i]/) eq 'ihi', "non-capturing groups work"); 01:32
p6eval nqpnet: OUTPUT«ok 1␤»
diakopter nqpnet: ok(("hihi" ~~ /i hi/) eq 'ihi', "rule concatenation works");
p6eval nqpnet: OUTPUT«ok 1␤»
diakopter nqpnet: ok(("hi" ~~ /i/) eq 'i', "basic non-anchored scanning works"); 01:33
p6eval nqpnet: OUTPUT«ok 1␤»
diakopter (yay)
01:37 lichtkind left 01:38 am0c left 01:58 shabble left, shabble joined, shabble left, shabble joined
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet 01:58
01:58 Guest27466 left 02:00 satyavvd left 02:01 kst joined 02:07 knewt2 joined 02:15 bluescreen joined 02:16 bluescreen is now known as Guest81143
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet 02:26
02:27 ggoebel left 02:29 ShaneC joined 02:32 ggoebel joined, ShaneC left
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet 02:36
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet 02:42
02:57 Guest81143 left 03:03 Sarten-X joined 03:15 am0c joined 03:17 envi joined 03:27 envi left 03:31 am0c left 03:53 whiteknight left 04:15 am0c joined
sorear good * #perl6 04:17
04:21 Faizan` joined, Faizan` left 04:37 takadonet1 joined
takadonet1 sorear++ 04:37
gratz on the release!
04:41 ch3ck3r left
sorear takadonet1: thanks 04:47
takadonet1 good night all 04:53
only came here to say that :)
04:53 takadonet1 left
dukeleto sorear: did you do a release of niecza? 05:09
sorear dukeleto: no, only an announcement 05:12
05:13 Trashlord left 05:17 hercynium_ left 05:30 alc joined 05:31 nymacro joined 05:51 envi joined 06:06 nymacro left 06:27 gimix joined 06:28 jaldhar joined 06:43 kanishka left 06:47 gimix left, kaare joined 06:48 kaare is now known as Guest84862 07:10 wtw joined 07:29 DarthGandalf left 07:37 DarthGandalf joined 07:40 justatheory left 07:53 gimix joined 08:04 Guest84862 is now known as kaare_ 08:05 uniejo joined
sjohnson ma 08:11
08:18 Bwiz joined, Bwiz left
sorear mi? 08:19
mathw I saw that and thought I'd switched to #lojban by mistake
sorear: grats on getting Niecza (sp?) to an announceable state 08:21
sorear ma, mi is lojban? 08:23
sorear was thinking ... ho, ma, mi, mu, me, mo, ya ...
sorear waits for the p6a moderator to see this 08:24
mathw "ma" is
it's a question word 08:25
"mi" also is, it's the pro-sumti for "I" or "myself" 08:28
but someone saying just "ma" just struck me as Lojban :)
sorear rakudo: say ~(<n>, (<_ k s t n h m y r w> X~ <a i u e o>).grep: none(<yi ye wi wu we>)) 08:31
p6eval rakudo : OUTPUT«n _a _i _u _e _o ka ki ku ke ko sa si su se so ta ti tu te to na ni nu ne no ha hi hu he ho ma mi mu me mo ya yu yo ra ri ru re ro wa wo␤»
sorear ponders golf
sjohnson sorear: :) 08:32
actually wrote that as a complete accident because screen -d -r took about 30 seconds to load 08:33
08:33 Hor|zon left
sjohnson best part about this channel, is no one complains or get angry, when things get lightly off topic in a carefree way 08:33
08:34 jfried joined
mathw It's not like there really *is* a topic at the moment :) 08:41
08:41 nymacro joined
moritz_ mathw: sure there is. Perl 6 :-) 08:48
mathw pffffft :P 08:56
Who wants to talk about that :)
tadzik hello
sorear I do
tadzik phenny: tell masak I think it's just the failed joke
phenny tadzik: I'll pass that on when masak is around.
sorear hi tadzik
mathw hey tadzik 08:57
08:59 nymacro left
tadzik hey hey 09:00
sorear++ # announcing niecza 09:06
09:17 mikehh left 09:36 dakkar joined
dalek ecza: e5c3ac0 | sorear++ | / (2 files):
Add a call graph analyzer
09:36
ecza: 871b07d | sorear++ | docs/announce.initial:
Commit a copy of announce message
ecza: 2b8ae9c | sorear++ | src/ (2 files):
use ANON consistently, not anon
09:37 masak joined
masak oh hai, #perl6! 09:37
phenny masak: 08:56Z <tadzik> tell masak I think it's just the failed joke
masak ok, that needs some context, I'm afraid :) 09:38
which failed joke in particular?
sjohnson: the only thing that's slightly off-topic is Perl 5. :) but only because there are better places to discuss that already. 09:40
sorear hi masak 09:41
masak tips hat
sorear Eh?! 09:43
09:45 redicaps left
masak sorear: I thought a common non-verbal greeting in the anglosphere was to grab the brim of one's hat and tip it. feel free to put me right if this was a misunderstanding. 09:48
rakudo.org still down... 09:51
09:53 kensanata joined, daxim joined
moritz_ oh hai 09:55
masak moritz_! \o/ 09:56
moritz_: in the backlog, we were discussing standardizing the Test module in a synopsis. 09:57
the already-agreed-on nomenclature suggests that this would be S24.
moritz_ agreed 09:58
I'll support any such effort.
masak as sorear++ points out, there are four Test.pm files already, and nothing really to make them conform to anything in particular. 09:59
moritz_ they implicitly conform to the ones from Test::{More,Exception} in p5 10:01
masak moritz_: have you ever reacted to the insanity that is todo($reason, $count); skip($count, $reason)? (note reversal of arguments) is that from Test::More too? 10:05
moritz_ masak: I don't write todo() and skip() lines manually (fudge does that for me), so I didn't really encounter it 10:06
sorear masak: AIUI the hat-tip greeting is generally reserved for cases where there is a significant gap in social class
masak I realized that yesterday, and thought "hm, if I ever write a book on API design, that'd deserve a whole anti-pattern section of whose need I wasn't previously aware"
sorear: oh! that's the first time I hear such a thing. 10:07
moritz_ sorear: I'm quite sure that that's not generally the case 10:08
sorear ok.
masak sorear: then consider my greeting as one from a lowly warrior to a mage. :)
sorear is not an authority on social cues
10:09 QinGW left
sorear -> sleep 10:15
moritz_ sorear: it's on p6a now 10:19
10:42 jhuni left 10:46 jhuni joined 10:53 jhuni left
tadzik masak: the r/perl one 11:19
11:20 alc left 11:21 alc joined 11:24 alc left
tadzik anyone writing Colemak? :) 11:41
(this took me a while to type)
11:47 uniejo left 11:49 cognominal joined
tadzik masak: LOLDispatch may work nicely with grammar dispatching, no? 12:06
12:13 rams joined, lichtkind joined
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet 12:14
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index...._io_tablet
12:17 rams left
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet 12:20
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index...._io_tablet 12:46
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet
masak tadzik: seems to me LOLDispatch works fine without grammar dispatching, and vice versa. don't really see what it'd mean for them to work together. 12:56
this Japanese twitterer seems to think something is cumbersome: twitter.com/kgt_bot/status/9582436358815744 12:57
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet
12:59 masak left 13:20 kjeldahl joined
bbkr std: $.foo # curious... 13:22
p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
13:23 MayDaniel joined
bbkr hmm, i'm not sure if class variable syntax should be allowed in main. it should give the same warning as for example trying to write "method foo {}" in main scope - about useless declaration/usage. right? 13:26
check following example... 13:27
rakudo: my $.foo; say "alive"; $.foo
p6eval rakudo : OUTPUT«alive␤Null PMC access in find_method('foo')␤ in main program body at line 22:/tmp/B60vOmq2fl␤»
bbkr not so consistent, isn't it? declaration passes but usage gives null PMC access
13:28 plainhao joined 13:35 MayDaniel left 13:38 Patterner left
bbkr reported in rt.perl.org/rt3/Ticket/Display.html?id=80008 13:38
13:52 Psyche^ joined, Psyche^ is now known as Patterner
bbkr phenny: tell mberends that HTTP::Daemon should have possibility to get request body on unknown Content-Type (or even better - to allow to connect custom handler method for given content type). This will allow for example to write JSON::RPC::Server based on this nice module. 13:53
phenny bbkr: I'll pass that on when mberends is around.
14:12 uniejo joined
tadzik phenny: tell masak actually, a PM fellow pointed out that grammar dispatching would be nice if you were writing only Action class, and Grammar would be generated automagically. I instantly thought of traits, and then about LOLDispatch 14:16
phenny tadzik: I'll pass that on when masak is around.
14:20 uniejo left 14:22 masak joined
masak bbkr++ # RT #80008 14:22
phenny masak: 14:15Z <tadzik> tell masak actually, a PM fellow pointed out that grammar dispatching would be nice if you were writing only Action class, and Grammar would be generated automagically. I instantly thought of traits, and then about LOLDispatch
masak tadzik: I'm having trouble visualizing that.
tadzik masak: I suppose a framework will be either generating a grammar class and evaling it, or adding tokens with add_method or something 14:26
masak right.
"working code or it didn't happen" :)
tadzik (I may write slowly, Colemak is hard) 14:27
masak: bah, that will result in more ridiculous blag toasts :) 14:28
flussence ooh, generated code. I just spent a week re-learning graph theory to write a p5 script that makes a shell script to run 2 dozen SQL files in the right (foreign key) order. Does that make me officially insane? 14:29
14:33 Trashlord joined
colomon flussence: it makes you officially sane! 14:37
(says the man whose has a bunch of $work perl 5 scripts for generating C++ code....) 14:38
masak flussence: DFS to make a topological sort? 14:47
(that's what ufo does)
flussence I was using Graph.pm... it has a ->toposort method, but I didn't like the output so I ended up doing it semi-manually :) 14:49
masak seems I guessed right, then.
14:49 nymacro joined
masak but... a week? :) 14:49
I went to the nearest textbook and looked up 'topological sorting'. 14:50
it took less than a week.
flussence well, rounded up from 3 days, in between the actual sql writing...
masak ah :)
flussence and a fair bit of that was offloading as much work as I could to p5 once I got it working :) 14:51
masak sounds sane.
PerlJam I've seen topological sorting in a few P6 programs/modules now ... seems like it would make a good module on its own if someone hasn't already done it.
(also might make a good advent calendar post :) 14:52
diakopter masak: tipping-of-the-hat (as an implied pre-genuflection) is much more English than American these past many decades
masak diakopter: now that I can believe.
colomon it's not unknown, but hats suitable for tipping are not in fashion. :)
masak "pre-genuflection" :P
diakopter er, an implied pre-bowing 14:53
what colomon said
++
colomon Also, there's something about saying it "hat tip" which causes a moment pause. Even though it is clearly correct, at a moment's glance it makes me think "hat trick" (a hockey term) rather than "tip of the hat".
:) 14:54
diakopter or catnip
14:57 Trashlord left 14:59 am0c left
diakopter about the only hats suitable for tipping are cowboy hats and (aptly-called) "floppy hats", and those are only regionally culturally fashionable, and rare elsewhere. 15:00
masak don't think I've seen a floppy hat. 15:02
15:02 sftp joined
masak do they come in different sizes, measured in inches? :) 15:02
colomon The 3.5 inch hat isn't very floppy. ;) 15:05
diakopter .. where a floppy hat is essentially a cowboy hat that's floppy and not Texas-tall 15:10
15:11 lichtkind_ joined 15:13 lichtkind left
diakopter TimToady wears one, iirc 15:13
15:13 lichtkind_ is now known as lichtkind 15:14 uniejo joined
colomon ooo, actually, guess I wear a floppy hat too, by that standard. :) 15:14
masak in that case, I have seen one. 15:17
15:18 wtw left
diakopter there's this www.amazon.com/Sun-Protection-Hat-K...B000JWNQ2I and www.amazon.com/Fishing-Hat-01-Khaki...B0007OF2QG styles too 15:18
15:18 fhelmberger joined
colomon Mine is a fancier version of the Sun Protection Hat. (Unsurprisingly, as that is exactly the job it is doing, though it's handy in rain as well.) 15:19
masak by rights, it should be the Oracle Protection Hat nowadays.
PerlJam Why does Oracle need protection? 15:20
15:20 MayDaniel joined
masak PerlJam: you're not extrapolating this correctly. :) 15:20
PerlJam That would be the fault of the punner, not the punee :) 15:21
masak a Sun Protection Hat protects against Sun. 15:22
it doesn't protect Sun.
I guess Sun has dangerous cancerogenic rays of electromagnetic radiation that need protecting against. 15:23
similarly, an Oracle Protection Hat... oh forget it. :)
PerlJam "Protection Hat" sounds like a euphemism for a condom in any case ;)
masak indeed. 15:24
15:29 risou joined
diakopter www.starling-software.com/employmen...atrix.html kinda neat. enterprisey-oriented (like 80% of the job market). where do YOU rate yourself 15:31
15:32 nymacro left 15:33 nymacro joined
masak the subjectivity of it all makes me read it more as an interesting subdivision of the universe than as a way to rate myself. 15:33
diakopter I don't find it subjective 15:35
PerlJam Where's the section on using the competency matrix to rate yourself? :-) Level 0: doesn't know about the competency matrix Level 1: knows about it, but doesn't believe it's useful Level 2: believes it's useful Level 3: believes it's useful and uses it daily 15:37
colomon PerlJam++ 15:38
masak diakopter: here's an example of what I found highly subjective: Erlang and Prolog at the top of the scale of "languages exposed to".
similarly, git at the top of "source code version control". and CVS/SVN on the way there. 15:39
maybe that does makes sense from an enterprisey perspective, I dunno.
colomon masak: remember, if you're not doing things their way, you're just not that sophisticated. ;) 15:41
diakopter PerlJam: heh
PerlJam masak: for the languages I could make a case that it's arranged from most common to least common languages, but that same scale doesn't work on many of the others
(version control is a perfect example where it doesn't work at all) 15:42
masak I'm not saying it's a bad matrix; I did find it an interesting read.
flussence I'd rate myself... NaN 15:46
15:46 kaare_ left, soroush joined
PerlJam diakopter: are you applying for a job at Starling? 15:49
diakopter no.. 15:50
15:53 dakkar left 15:55 rgrau_ joined 15:59 rgrau_ left 16:00 rgrau_ joined 16:02 masak left 16:04 justatheory joined, rgrau_ left, rgrau_ joined, uniejo left 16:05 dakkar joined 16:09 hercynium joined, Trashlord joined 16:14 rgrau_ left 16:20 spq1 joined 16:25 nymacro left 16:28 MayDaniel left 16:30 jdv79 joined 16:48 jdv79 left, jdv79 joined 16:51 hillu joined 16:52 am0c joined
colomon #phasers in two hours? 17:02
moritz_ aye 17:03
jnthn o/ 17:09
colomon \o 17:10
moritz_ /o\ 17:11
TimToady as it happens, rosettacode.org/wiki/Topological_sort has entries for both Perl 5 and Perl 6 17:16
PerlJam, flussence: ^^ 17:17
17:27 kensanata left 17:29 am0c left 17:33 am0c joined 17:35 am0c left 17:36 ash_ joined
ash_ rakudo: 'ab' ~~ /ab'; say $/ 17:39
p6eval rakudo : OUTPUT«===SORRY!===␤Confused at line 22, near "'ab' ~~ /a"␤»
ash_ rakudo: 'ab' ~~ /ab/; say $/
p6eval rakudo : OUTPUT«ab␤»
ash_ pugs: 'ab' ~~ /ab/; say $/
p6eval pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.16/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped by operat…
TimToady pugs was never strong on regexen 17:43
17:45 proller_ joined
ash_ that works locally 17:50
pugs> 'ab' ~~ /ab/; say $/ 17:51
ab
17:51 ShaneC joined, ShaneC left 17:53 sji joined
TimToady one of the reasons pugs was never strong on regexen is because it depends on external libraries for regex, hence the difference you see 17:55
17:55 MayDaniel joined
TimToady and I doubt you'll find any of those external libraries doing LTM 17:56
dalek kudo: 1eae0c4 | KodiB++ | src/core/Bool.pm:
[core/Bool] Made +False and +True return Ints.
18:01
ash_ pugs> 'bc' ~~ /a|bc/; say $/
bc
dalek ast: f013a92 | (Kodi Arfer)++ | S02-builtin_data_types/bool.t:
[bool.t] Ensure that Bools numify to Ints.
18:02
ash_ that seems right to me, but i don't know about external dependencies 18:03
colomon at one point, at least, there was a thought that Bool was a Numeric type. (though personally I think I'm against that.)
18:05 cognominal left
ash_ i think of Bool's as a single bit, more than an integer with values 0 and 1, but i can understand why you would assume a true + true = 2, although that seems more like an error to me personally 18:05
18:05 cognominal joined
ash_ rakudo: say True + True 18:05
p6eval rakudo : OUTPUT«2␤»
ash_ rakudo: say True & True 18:06
p6eval rakudo : OUTPUT«all(Bool::True)␤»
ash_ have you seen the new 'refine' semantics they are adding to ruby? in a scope, you can 'refine an object' only in that scope, so you don't have to monkey patch the whole object, your just monkey patching for a given scope 18:07
TimToady lexical scope or dynamic? 18:08
ash_ lexically
moritz_ afaict we've explicitly decided against such a mechanism, no?
ash_ would be something like: class Foo { refine Int { method bar { } }; method stuff { return bar } }; Foo.stuff; #works; Int.bar #fails
TimToady well, dynamic is just temp, if we ever implement it
ash_ err 18:09
s/return bar/return Int.bar/
moritz_ aren't that what subs are for?
ash_ timeless.judofyr.net/refinements-in-ruby
explains it better than i can 18:10
TimToady btw, your /a|bc/ is not attempting LTM
/b|bc/ would be
ash_ doh
ya, it doesn't do LTM 18:11
pugs> 'ab' ~~ /a|ab/; say $/
a
18:11 MayDaniel left
ash_ all its really doing is lexically scoping your monkey patching 18:12
TimToady in which case it's really a mechanism to let you write .bar instead of bar() 18:13
moritz_ we can do that with $obj.&bar
ash_ when i read about it, i thought "so they are just adding more lexical scoping?" it seems odd 18:14
TimToady the question is whether they're actually hooking into the dispatcher's type lookup to implement it, or whether it's just sugar 18:15
it could be done on the incoming binding, and then it'd pass dynamically to submethods outside the scope but called from within the scope 18:17
if that's the case, it'd be a form of delegation, methinks
the interior object is really just wrapping the passed object
or it's sugar for some sort of mixin at binding time 18:18
maybe I should read it instead of speculating :) 18:19
18:22 Kovensky joined
ash_ its lexical, but it can be inherited and things like that 18:24
TimToady it looks like it's basically doing scope-based mapping of the object's type to the ISA chain to use for that object in that context 18:26
so instead of having lexically scoped searching for subs as Perl does, it kinda meshes the lexically scoped refinements into the existing dispatcher to redirect some of the ISA components elsewhere 18:28
18:29 daxim left
TimToady "every time you dispatch in this scope, pretend that you did these mixins to these ISA components" 18:29
(when I say ISA, I mean the parent chain, not MI) 18:30
18:32 proller_ left
ash_ it seems like an alternative to lexical scoping (the way perl does it) 18:34
but you can do something like (psuedo code): module Foo { refine Int { method bar { 1 } } }; class A { using Foo; }; augment class A { method x { 1.bar } }; which i think (i could be wrong) doesn't work in perl's lexical scoping, does it? 18:36
class A { sub bar { 1 } }; augment class A { method x { bar } }; does that work? 18:37
TimToady that's just normal monkey typing in P6 18:38
sorear good * #perl6 18:39
ash_ but does method x have visibility to bar?
TimToady the "using" is doing something like lexical import in that case
ash_ i guess does class { }; have a different lexical scope than an augment class { }; ? 18:40
TimToady augment doesn't have a scope in that sense; it takes its scope from whatever it's augmenting
ash_ okay
TimToady which is why it's currently in the scope_declarator slot
ash_ rakudo: use MONKEY_TYPING; class A { sub bar { 1 } }; augment class A { method x { bar } }; A.new.x.say # is that wrong behaviour then? 18:42
p6eval rakudo : OUTPUT«Could not find sub &bar␤ in 'A::x' at line 22:/tmp/58rclymu6H␤ in main program body at line 22:/tmp/58rclymu6H␤»
ash_ rakudo: class A { sub bar { 1 }; method x { bar } }; A.new.x.say # compare to this
p6eval rakudo : OUTPUT«1␤»
18:43 kjeldahl left
ash_ in my mind, i could be wrong on this, refine is lexical monkey patching, so only in a specific scope the monkey patch exists 18:45
sorear moritz_: huh, I haven't seen it 18:46
moritz_ sorear: second entry from the top 18:47
sorear moritz_: does perl6.org avoid duplicate sends
aye, I see it in the archive
TimToady in any case, if we decided we wanted it, it would be just a matter of compiling a different method dispatcher into a given scope that knew to look up the local view of the type system 18:48
but I prefer to keep lexical scoping orthogonal to single dispatch for now 18:49
18:49 uniejo joined
TimToady so to get your bar to work about, it requires an export/import 18:49
*above
.oO(strange typo)
basically, Perl 6 puts a strong emphasis on language mutability within lexical scopes, and prefers to keep normal OO outside of the realm of language mutability 18:52
Tene ash_: your example isn't doing the same thing at all.
TimToady the meaning of a message dispatch is controlled by the class, not by the lexical scope
ash_ Tene: as ruby refinement? 18:53
Tene ash_: yes
ash_ hmm
Tene It's more like:
module A { refine class Int { method frob { ... } } }; module B { import A; method foo { 2.frob; } }; 18:54
TimToady assuming that refinements are automatically exported 18:55
Tene Yes.
(which they are in ruby)
ash_ ruby autmoattically export anything not label private
TimToady which is all perfectly find P6ish, assuming that what you're changing is the dispatcher in the scope of the refinement
that's just mutating the semantics of the language in a lexical scope 18:56
Tene I've long felt that we need something like this to lexically-scope class modifications, to give the rubyists more-sane options.
ash_ Tene: my example was more perl6'ish without patching an object, just using a lexically scoped sub as an atlernative to a lexically added method
Tene However, my question is this:
module A { refine class Int { method frob { ... } } }; module B { import A; method foo(Int $n) { $n.frob; } }; B.new.foo(2); # does this work? 18:57
ash_ i think my example was similiar in thoery, just without the extra object
Tene If I pass in an Int instantiated from a different scope, does it still use the refined Int class?
Also:
module A { refine class Int { method frob { ... } } }; module B { import A; method foo { 2; } }; B.new.foo.frob; # does this work? 18:58
If I return an Int from a scope containing Int refinements, does that object use the refined class hierarchy when accessed in a different lexical scope?
ash_ i would image an Int from a different scope would get the refinement but only if you didn't supersede Int, since supersede IMO is a replacement, and the refinement should be lost with the supersede
returning the int would, in ruby, loose the refinement, so B.new.foo.frob would fail 18:59
since you'd be out of the bound of the refinement
Tene That's what I'd hope, in both of those.
This is why just importing a modified class under the same name isn't enough to work as a relief valve for rubyist monkey patching fetishism. 19:00
ash_ rubyists both love and hate monkey patching it seems
its good when you need it, to add to an existing class instead of making a new one, but it is bad when you do: "require ActiveRecord" and Object has 28 new methods on it, not to mention all the other changes to Fixnum, Class, Module, etc.. 19:01
Tene importing MySpecialInt as 'Int', and getting integer literal constants to use it lexically, would not pass the first test, and would not fail the second. 19:02
19:03 simcop2387 joined, wamba joined, dalek joined, ChanServ sets mode: +v dalek
Tene I'm fine with it not being a 6.0 feature, but I've been saying for a long time, we need a sane way to lexically-scope class hierarchy modifications. I'm a bit grumpy about augment being offered as a serious tool to new users. 19:06
19:06 kjeldahl joined 19:07 kjeldahl left, kjeldahl joined 19:11 risou left
TimToady well, as I say, this looks to me like simply replacing the standard single dispatcher with a different single dispatcher that uses one level of indirection to tell the object what its parents are in this scope 19:11
and the standard dispatcher need only be replaced in the refined scope 19:12
and P6 already has a custom of making dispatchers first class
so I suspect this will fall into the "almost a piece of cake" category 19:13
19:13 ch3ck joined
Tene TimToady: Having this dispatcher as a core module might be nice. It's something we definitely eventually need. 19:13
moritz_ tadzik: ping
TimToady maybe
every abstraction layer we add makes the language harder to learn, so I'm not sure whether this achieves sufficient utility to justify that cost 19:14
it might, but I'm not yet convinced 19:15
Tene TimToady: We already have this semantic complexity in the form of augment, and people are already using augment. I've seen several beginners come in here talking about wanting to add weird methods to core classes, etc. 19:16
19:16 dakkar left
Tene I would be really disappointed if Perl 6 ended up with a significant "monkey patch all over the place conflicts" culture like Ruby has had in some cases. 19:16
TimToady AOP falls into a similar hole 19:17
19:19 envi left 19:24 uniejo left 19:25 masak joined
masak rakudo: anon class C {}; say C.WHAT 19:25
p6eval rakudo : OUTPUT«Failure()␤»
masak std: anon class C {}; say C.WHAT
p6eval std a194beb: OUTPUT«===SORRY!===␤Undeclared name:␤ 'C' used at line 1␤Check failed␤FAILED 00:01 119m␤»
masak submits rakudobug 19:26
uasi++ twitter.com/uasi/status/9640599502192640
TimToady masak: btw, the earlier tweet was probably saying that it's *not* difficult to put -> into the language (compared to P5, I imagine) 19:28
there was a negative on the end
masak ah.
Google Translate completely missed that fact, I think. 19:29
TimToady I could be missing something too
not entire sure how a native speaker would interpret the "inai" on the end 19:30
*ly 19:33
masak who can bring rakudo.org back up again? :/
moritz_ I hope alester can 19:34
sorear rakudo: anon class C {}; say D.WHAT 19:35
p6eval rakudo : OUTPUT«Could not find sub &D␤ in main program body at line 22:/tmp/BVyrdBgaef␤»
TimToady that is a spot where STD just guesses and gives a different error message for uppercase than for lowercase 19:36
std: D
p6eval std a194beb: OUTPUT«===SORRY!===␤Undeclared name:␤ 'D' used at line 1␤Check failed␤FAILED 00:01 117m␤» 19:37
TimToady std: d
p6eval std a194beb: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'd' used at line 1␤Check failed␤FAILED 00:01 117m␤»
masak the nomenclature of things that don't exist :)
TimToady and subtle pressure to follow the convention
Tene That should be easy to fix for rakudo. 19:40
moritz_ it's not 19:42
TimToady sorear: your README.pod says "see note", but I don't see a note, and I don't seem to know where to find an "xbuild"
moritz_ because the lexpad isn't easily available at compile time
(not yet)
PerlJam TimToady: if on ubuntu, "sudo apt-get install mono-xbuild" 19:43
Tene moritz_: I mean, ignoring the name of an anonymous class should be easy, something like this: gist.github.com/722248
19:44 MayDaniel joined
Tene masak: Feel free to try that patch. 19:44
moritz_ Tene: ah, right
masak tries it 19:45
Tene I don't think that's going to be entirely right, as it looks like it will still set up ::C, but it will become a compile-time error, so maybe it won't get far enough to matter.
TimToady PerlJam: thanks
Tene Maybe the package name should be changed to a include a unique identifier, or something, maybe stick it in some other private namespace or something. 19:46
19:46 stkowski joined
Tene You don't want multiple anon class C {} to stomp on each other. 19:46
PerlJam TimToady: you'll also want to install mono-gmcs as well and have viv in your path somewhere 19:48
ash_ yehudakatz.com/2010/11/30/ruby-2-0-...-practice/ another, more in-depth article about ruby 2.0 refinements 19:51
dalek ecza: 0cbefbb | sorear++ | README.pod:
Remove stale note reference & talk about Debian packages
19:52
masak ash_: because "Perl 6" exists, and it's called "Ruby 2.0"? :P
masak has been listening too much to twitterfolks lately 19:53
oh, 'refinements' is a language feature. 19:54
ash_ masak: humbug, i was just bringing it up because its an interesting alternative to MONKEY_PATCHING that ruby is trying to push
masak ash_: yeah, reading now.
PerlJam at least the ruby folks realize that rampant monkey patching is a problem and are working to fix it. 19:55
masak it looks like a more hygienic form of monkey patching.
wolverian ash_: nice. after using scala for a while it's obvious that ruby is desperately missing lexical mixins/money patching
(corresponding to scala's implicit conversions)
s/money/monkey/
ash_ and its different, its like lexical scoping but different 19:56
ya
anyway
i linked an article earlier and that one is bit more in depth than the first one i talked about
dalek ecza: e9e96d5 | sorear++ | / (3 files):
Add optimized code for nested autovivification
19:57
wolverian I've been kind of assuming that "my class String { .... }" or so would be similar in Perl 6.
ash_ key point: in ruby people monkey patch a lot, its a tool to allow some of the functionality of monkey patching with restrictions to prevent people from polluting global namespaces, eg 'requre "ActiveRecord"' in ruby adds something like 28 new methods to Object 19:59
masak wolverian: wouldn't that lexically shadow the old String class completely, rather than augment it? 20:00
ash_ or, you'll see code in ruby modules saying things like: if Object.responds_to :to_json ... end
PerlJam refinements seem nice but a little backward.
Tene wolverian: That doesn't work for two reasons: strings passed in from outside the lexical scope would not have the modification, and strings returned from subs in the lexical scope would retain the modification when used elsewhere.
masak: "something like" probably includes setting the core String class as an ancestor. 20:01
wolverian masak: yeah, that's why I said "or so". 20:03
I didn't remember the augmentation syntax. "is also"?
ash_ augment class String { }
Tene wolverian: augment is global
wolverian okay. then "my augment class String { }"? :)
ash_ rakudo: use MONKEY_TYPING; augment class Str { method foo { 1 } }; "".foo.say 20:04
p6eval rakudo : OUTPUT«1␤»
ash_ thats monkeypatching as it stands in p6 20:05
20:06 fhelmberger left
sorear Tene: sounds like what you want is extension methods 20:06
masak std: my augment class Str { "does this work?" }
p6eval std a194beb: OUTPUT«===SORRY!===␤Malformed my at /tmp/Qd0cCzGgwN line 1:␤------> my ⏏augment class Str { "does this work?" }␤ expecting any of:␤ scoped declarator␤ typename␤Parse failed␤FAILED 00:01 118m␤»
TimToady you can't put two scope_declarators in a row 20:07
wolverian masak: maybe it _should_ work.
masak no, I suspected that.
wolverian: I can't say I think it reads very well.
wolverian me neither.
masak keep thinking :) 20:08
TimToady is thinking about 'my method' and 'my regex'...
wolverian well, we could steal implicit conversions from scala, which would add one new keyword ("implicit"), or C#'s extension methods, whose syntax I don't remember 20:09
ash_ class Foo { }; { my method Foo::bar { 1}; say Foo.new.bar; } Foo.new.bar #fails
would be neat
Tene masak: Really, it would be a similar scope declarator to 'augment', like: refine class Foo { ... };
TimToady syntax is boring 20:10
wolverian seriously though, if I can write "my class", it feels proper that I should be able to write "my augment class" too. even if augment is a verb.
Tene masak: That ties into TimToady's description of a specialized dispatcher for that lexical scope.
PerlJam wolverian: "augment my class"
:-)
Tene wolverian: 'my' and 'augment' are the same lexical category. 20:11
ash_ augment your class { } ...
20:11 _kaare joined
Tene wolverian: does it look like it should make sense to write: my my class? my our class? 20:11
wolverian Tene: in a sense, yes. what's wrong with lexical globals? ;)
dalek ecza: a4c17f0 | sorear++ | lib/ (2 files):
Run autovivification off the trampoline
masak ash_++ :)
Tene wolverian: ... ><
TimToady it's trivial to add another declarator if we decide to
PerlJam wolverian: What's the goal here? You want to lexically shadow an existing class and possibly augment that shadow?
masak pimp your class { }; ...
wolverian PerlJam: lexically add behaviour to a class, yes. 20:12
ash_ wolverian: dynamic variables are better than globals, IMO
wolverian how it exactly works isn't really that important.
masak 'refine' could even be provided by a module.
wolverian again, scala, C# and ruby 2 all do it differently.
the point is that it's an important feature (IMHO)
TimToady wolverian: how it exactly works is the *most* important, which is why I said syntax is boring :) 20:13
PerlJam wolverian: why?
sorear crossed 45s
wolverian TimToady: right, I meant how it works syntactically is not important. :) 20:14
PerlJam: so that you can combine modules that change the behaviour of common classes without conflicts.
(where "modules" is meant generally and not in any specific sense)
moritz_ you assume that it's important to change the behaviour of classes 20:15
I think it's bad OO design
TimToady of course, this is just sweeping the problem one step away--what if you import conflicting view into a 3rd module?
PerlJam wolverian: so ... it's important in a world of monkey patching or when modules are excessively promiscuous?
TimToady *views 20:16
wolverian moritz_: what, you never want to add a role to a third party class?
it might be bad design, but I find that in scala it works well when used in moderation.
TimToady so do globals :P 20:17
where moderation is defined as "countable on the fingers of one hand"
wolverian I suppose the two aren't exactly comparable, since scala uses implicits mainly to add syntax 20:18
PerlJam looks at yacc and decides it doesn't know the meaning of "moderation"
masak is it because Perl has no theoretical axes to grind that it's littered with blunt instruments and loaded uzis? :)
wolverian e.g. pairs are constructed with "foo -> bar", which means "foo.->(bar)", which works by adding an implicit conversion from Object to an anonymous class that has the -> method
I suspect Perl 6 doesn't need that so much.
TimToady you get these distortions in a language where one object or the other must make the decision in a symmetrical situation; in p6 the lexical scope is the object that makes the decision, or delegates the decision to a dispatcher that can be symmetric 20:20
dalek ecza: 762b837 | sorear++ | docs/tracing.pod:
Document NIECZA_TRACE_CALLS
20:21
ash_ moritz_: it might be bad OO to modify built in objects, but it is common practice in some places, its better to have a way of doing it for people that need to (for whatever reason) than let people tack it on later in a module that may or may not work with the rest of p6 ecosystem
20:21 saaki joined
PerlJam ash_: it's better to encourage people to think about the consequences of their actions. 20:22
sorear completely eliminating the #2 most called function helped a bit
ash_ p6 already lets you augment class {...}; refinement (in the ruby sense, i don't know scala or c#) is almost a lexically scoped augment 20:23
sorear ash_: niecza disallows 'augment' in modules. problem solved.
wolverian TimToady: right. single dispatch is a big wart in scala!
flussence I can imagine this object thing being useful if for example, you want some high-overhead debugging stuff in a method that gets called everywhere, but you only want to know about one specific call. Or you want to poke around that object's insides when that call happens. maybe. 20:25
ash_ i think something is wrong if you ever see code like: "unless Foo.^method ~~ 'bar' { ...add bar... }" start showing up in a module, which is a common thing in ruby because of their open classes, and p6 already has open classes, it could probably become a problem for p6 as well
sorear using if $ch ~~ "\n" on a string which is known to have at most one character is ... wasteful 20:26
ash_ or you could disable augment
masak by the way, only 10 days -- ten days -- now remain to the BIG ANNOUNCEMENT.
which means it's time for another clue.
sorear oh, it's obvious.
I'll be 20 1/12
sorear feels important 20:27
colomon \o/
moritz_ rakudo: say Date.today + 10
p6eval rakudo : OUTPUT«2010-12-10␤»
colomon sorear: apparently I missed telling you happy birthday approximately 20 days ago. So happy unbirthday!
masak sorear: happy unbirthday! 20:28
colomon masak: your clue please, sir?
dalek : 5287a83 | duff++ | misc/perl6advent-2010/schedule:
Claim a couple of days for the advent calendar
20:29
masak colomon: thought you'd never ask :)
20:29 Axius joined
masak colomon: here it is: www.thefreedictionary.com/task 20:30
jnthn "A difficult or tedious undertaking"
20:30 plainhao left
colomon "To overburden with labor" 20:30
jnthn ...sounds like guessing masak's announcement. :P
PerlJam masak: clearly you've created a perfect make replacement for Perl
moritz_ has an idea
masak :)
moritz_ or you have created your own personal-time-scheduling-and-tracking app 20:31
to become 200% productive not only in November, but for the whole year
PerlJam moritz_: this is just masak's way of soliciting ideas for future projects.
masak I like your overconfidence in me, even if it's feigned.
moritz_ PerlJam: :-)
masak PerlJam: sssh! ... I mean, no! 20:32
masak quietly takes notes
moritz_ masak: or you have a deal with Patrick Rothfuss; he'll write your next Yapsi release announcement 20:33
20:34 jaldhar left, MayDaniel left, tylercurtis joined
masak moritz_: that would be tomorrow, not in 10 days. 20:35
ash_ rakudo: my method Foo::bar { }
p6eval rakudo : ( no output )
moritz_ masak: well, not for tomorrow's release
ash_ rakudo: class Foo { }; my method Foo::bar { 1 }; say Foo.new.bar;
p6eval rakudo : OUTPUT«Method 'bar' not found for invocant of class 'Foo'␤ in main program body at line 22:/tmp/wPFuy49BOa␤»
ash_ std: class Foo { }; my method Foo::bar { 1 }; say Foo.new.bar; 20:36
p6eval std a194beb: OUTPUT«ok 00:01 120m␤»
ash_ does that mean anything useful?
(my method ...)
masak moritz_: you've guessed right insofar as him not writing tomorrow's release announcement :P
ash_: you wouldn't be able to call the method in that way, at any rate. 20:37
ash_ why not?
masak ash_: but I doubt it'd even work if you used 'our'. feels wrong.
moritz_ ash_: Foo::bar looks like an entry in the symbol table to me 20:38
but method lookup doesn't look into symbol tables
jnthn That method dispatch will fail.
ah, Rakudo got it right. phew :)
sorear niecza: class Foo { }; my method Foo::bar { 1 } 20:39
p6eval niecza 762b837: OUTPUT«===SORRY!===␤Qualified method definitions not understood at /tmp/4Rnk3EZVBr line 1:␤------> class Foo { }; my method Foo::bar⏏ { 1 }␤Use of uninitialized value $name in concatenation (.) or string at
../home/p6eval/niecza/src/Niecza/Actions.pm lin…
20:39 masak left
sorear hrm. 20:39
20:39 masak joined
sorear niecza: my class A::B { } 20:39
p6eval niecza 762b837: OUTPUT«===SORRY!===␤Qualified package definitions NYI at /tmp/A0_sk9pM9c line 1:␤------> my class A::B⏏ { }␤Attribute (var) does not pass the type constraint because: Validation failed for 'Str' with value undef at
../home/p6eval/niecza/src/Niecza/Action…
sorear my.*:: doesn't make any sense 20:40
I thought I had an awesome error message for it, but I guess not
ash_ std: my class A::B { }
p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
sorear :: means "put the right side in the symbol table named on the left"
ash_ class A::B { }
err 20:41
sorear my means "don't put this in any symbol table"
:: is only compatible with our
(and augment)
ash_ well, you can do:
rakudo: class Foo { }; { my &a = method { 1 }; Foo.new.&a.say; } 20:42
p6eval rakudo : OUTPUT«1␤»
ash_ just wondering if there was a way to make that work without & and have it still be lexically scoped
masak ash_: probably not; why is it important to lose the & ? 20:43
sorear you can lose one of the &s
ash_ masak: good point
sorear rakudo: my method foo { 1 }; "foo".&foo.say
p6eval rakudo : OUTPUT«1␤»
TimToady one of the lesser design principles of Perl 6 is: Strange things should look strange. 20:44
ash_ that functionality could approximate refinement, no? 20:45
PerlJam rakudo: my method foo { 1 }; .&foo.say
p6eval rakudo : OUTPUT«1␤»
masak sorear posted on p6l about methodicals (which is what ash_ is proposing) about half a year ago. since then, we've discovered the power of $obj.&foo here on the channel, and the need to specially introduce methodicals has *completely* gone away, if you ask me.
I think I replied something to that effect to that p6l thread. 20:46
TimToady std: my multi method foo(Int:) {...}; my multi method foo(Str:) {...}; 42.&foo
p6eval std a194beb: OUTPUT«ok 00:01 126m␤»
TimToady that even lets you dispatch on the type
masak nice. 20:47
TimToady so it's an even closer approximation to refinement
jnthn TimToady: ...ouch!
Does...that even work...
sorear why wouldn't it?
jnthn rakudo: my multi method foo(Int:) {...}; my multi method foo(Str:) {...}; 42.&foo
p6eval rakudo : OUTPUT«===SORRY!===␤Multiple declarations of lexical '&foo'␤␤»
sorear my methods are just subs
jnthn sorear: Because I wrote the implementatin of that in Rakudo
masak jnthn: I think so. it's only anon methods that can't multi.
ash_ rakudo: class A { has $!a }; method foo { $!a + 1}; A.new(:a(3)).foo.say 20:48
p6eval rakudo : OUTPUT«Useless declaration of has-scoped Method in a module; add our or my to install it in the lexpad or namespace␤Method 'foo' not found for invocant of class 'A'␤ in main program body at line 22:/tmp/qs4a4ir_St␤»
jnthn sorear: So I generally knwo what I expect to work or not :)
ash_ rakudo: class A { has $!a }; my method foo { $!a + 1}; A.new(:a(3)).&foo.say
p6eval rakudo : OUTPUT«4␤»
jnthn Anyway, I suepct it can be made to work.
ash_ i thought that was deemed bad/wrong/breaks encapsulation
sorear rakudo: my multi sub foo(Int) {...}; my multi sub foo(Str) {...}; 42.&foo
p6eval rakudo : ( no output )
sorear ash_: yes
masak ash_: it was. it is. it's a bug.
jnthn ash_: That will likely become an error.
masak ash_: it's been reported :)
sorear It's clearly very low priority though. 20:49
ash_ then do 'my method' provide a real equivalent to refinement? since in refinement you can access private variables if your in the right scope
i guess the jump to private requires an augment and MONKEY_PATCHING 20:50
sorear jnthn isn't even trying to get away from "attributes are named elements of an object" in 6model
ash_ monkey_typing
tylercurtis sorear: ooc, what is the alternative to "attributes are named elements of an object"? 20:53
TimToady class Me { use MONKEY_TYPING; augment A { trusts Me }; ... } 20:54
sorear tylercurtis: that was worded badly
tylercurtis: what I mean is that every current Perl 6 implementation has objects that act sort of like hashes
$obj!A has a single meaning, $obj!B has another
however Perl 6 attribute privacy requires that a superclass and a subclass be able to use $!x without interference 20:55
so the objects really need to be keyed by class * name 20:56
not name alone
tylercurtis thought 6model did that.
jnthn sorear: huh?
sorear (it's fairly straightforward to turn this into class * index, in a system vaguely reminiscent of virtual bases)
jnthn sorear: "so the objects really need to be keyed by class * name" - that's exactly what 6model does
I wish you'd actually check stuff about 6model. Msot of what you say aobut it is consistently wrong. 20:57
There's even stuff in the REPR API already to allow indexed access.
masak jnthn++
sorear that's a failure of reading comprehension, not effort
sorry
I saw the indexes, but not the class disambiguation stuff 20:58
masak Tene: your patch worked, by the way. making spectest and then committing. Tene++ 20:59
jnthn sorear: 'sok
lichtkind is .... still the yadda ? 21:02
TimToady next niecza build problem: Target SAFE.cs:
tylercurtis lichtkind: ...
TimToady Can't locate STD.pm in @INC
lichtkind tylercurtis: the ... operator 21:03
since he does list creation
tylercurtis lichtkind: Sorry, I was unclear. The series operator and the yadda term are both "...", not "....". 21:04
21:04 Axius left
lichtkind yes i had a typo 21:04
jnthn lichtkind: Perl 6 always knows whether it expects an infix operator or a term. So there's no an ambiguity between them.
lichtkind: Vsetko je dobre. :) 21:05
lichtkind :)
ash_ what language is that? 21:06
jnthn ash_: Lazy Slovak.
ash_ wishes i knew more than bad english
jnthn (Lazy 'cus I neglected to type any of the marks... :-))
sorear TimToady: niecza expects to find a CPAN STD installed 21:07
TimToady ah 21:08
ash_ sorear: how does one build/playwith niecza
sorear ash_: 1. git clone git://github.com/sorear/niecza.git 21:09
ash_ check
sorear 2. install stuff listed in README
ash_ perl 5.12 i assume is fine, right? 21:10
sorear yes
ash_ never built a C# program (or mono) so, thats the part that has me stumped
no ./configure either
sorear xbuild 21:11
unless you're talking about mono itself
ash_ i am on OS X 10.6, mono 2.6.7 x86 21:12
so... i dont know
sorear mono 2.6.7 is fine, that's what I started on 21:13
run xbuild in the niecza root
ash_ kk, still getting perl5 deps
21:13 Ikarus left 21:14 Ikarus joined 21:15 masak left 21:16 masak joined 21:17 ch3ck left
ash_ sorear++ its building now 21:18
diakopter .. and it's done.
ash_ off to class 21:19
21:19 ash_ left, Axius joined 21:23 Hor|zon joined 21:26 __david__ joined 21:30 masak left 21:33 wamba left 21:37 Axius_ joined 21:44 y3llow joined 21:45 pothos_ joined 21:47 pothos_ left 21:48 pothos joined 21:54 Axius left, Axius_ left 22:00 __david__ left
shortcircuit TimToady: Sure, RC has P6 and P5 versions of Topological Sort...but it looks like the P6 version has the "translation of Perl" annotation. 22:02
Is that P6 implementation really the most idiomatic for the task?
22:08 bluescreen joined 22:09 bluescreen is now known as Guest2621, Luiji99 joined
Luiji99 How do I create PBCs with Rakudo? 22:09
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....dex_tablet 22:11
flussence shortcircuit: the p6 one looks like a literal translation too, the [<>]s should be <>s. I haven't found any way to make the algorithm itself look nicer though. 22:15
Luiji99 The Rakudo --output command-line option doesn't seem to do anything.
sorear you need to pass the option to Parrot 22:17
flussence Luiji99: --target=pir will get you halfway there, =pbc doesn't seem to work directly
sorear parrot --parrot-options /path/to/perl6.pbc --rakudo-options
Luiji99 There is no such file perl6.pbc. 22:18
flussence:thanks,trying
it worked! thx 22:19
22:19 Luiji99 left
flussence I don't like giving half-solutions, but if it works for him... *shrug* 22:19
22:25 ch3ck joined 22:26 ch3ck3r joined 22:30 ch3ck left
lichtkind TimToady: regex_mod_internal means only tobe used inside a regex not in front as a adverb? 22:37
dalek kudo: bba62f3 | masak++ | src/Perl6/Actions.pm:
[Perl6::Actions] don't registed names of anon types

Patch submitted by Tene++.
22:43
jnthn Tene++, masak++ 22:45
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....kup_tablet 22:54
22:56 risou joined 23:03 _kaare left, ch3ck3r left 23:04 ch3ck3r joined 23:09 hercynium left, Helios- joined 23:16 tylercurtis left 23:24 risou_ joined 23:25 risou left 23:32 masak joined
masak ahoy! 23:32
sorear: I now have a working niecza checkout. 23:34
colomon \o/ 23:35
masak sorear: and, conveniently, November just ran out, so I can focus on other things, such as trying out a new implementation. :) 23:36
blog post! strangelyconsistent.org/blog/novemb...with-style 23:37
colomon having a working system perl 5.10 is slowing me down at the moment... 23:38
(installing niecza, I mean.)
masak colomon: every heard of perlbrew? 23:39
s/every/ever/
colomon I recognize the name...
oooooo 23:40
masak I
I've only used it very little so far.
but it's a *very* pleasant experience, what little I've used it.
jnthn masak: (blog post) :/ 23:41
masak exhales after the November blogging month
jnthn: I'm only reporting things as they are. :/ 23:42
jnthn masak: Things as they are, are, apparently, shit.
masak yup.
colomon masak: any way to distill that down to a benchmark? 23:43
masak colomon: I don't know.
colomon: maybe just put all the code into one file and use that as a benchmark?
but it's quite a bit of code. 23:44
colomon I'm thinking something that can fit into the bench-scripts framework. (One large file would be okay, so far as I know.) 23:45
We need to seriously tackle profiling issues.
23:46 tylercurtis joined
colomon ... or maybe make niecza implement a lot more of the spec. :) 23:46
masak that's not an exclusive or. :) 23:47
colomon afk # pub 23:48
23:50 whiteknight joined 23:54 plobsing joined