»ö« 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
havenn left
00:12
gfldex left
00:14
gfldex joined
00:22
tokuhirom left
00:24
tokuhirom joined
00:27
thou left
00:31
sisar joined
00:48
benabik joined
01:06
isBEKaml left
01:10
aindilis left
01:11
aindilis joined
01:12
prammer joined
01:15
scott__ joined
01:41
leprevost_ joined
01:42
leprevost left
01:46
alc joined
02:03
whiteknight left
02:09
alc left
|
|||
sorear | n: say "\c[PILE OF POO]" | 02:14 | |
p6eval | niecza v15-4-g1f35f89: OUTPUT«💩» | ||
sorear | n: printf '%x', ord "\c[PILE OF POO]" | ||
p6eval | niecza v15-4-g1f35f89: OUTPUT«1» | ||
colomon | ? | ||
sorear | yeah, that is weird | ||
benabik | n: printf '%x', ord '»' | 02:15 | |
sorear | sjn was trying to use .u for that earlier... | ||
p6eval | niecza v15-4-g1f35f89: OUTPUT«1» | ||
sorear | n: printf '%x', 55 | ||
colomon | n: say ord 'A' | ||
p6eval | niecza v15-4-g1f35f89: OUTPUT«1» | ||
niecza v15-4-g1f35f89: OUTPUT«65» | |||
colomon | sorry | ||
printf bug, then? | |||
02:17
leprevost_ left,
leprevost joined
|
|||
sorear | I guess | 02:20 | |
colomon | n: say sprintf('%x', 1000) | 02:21 | |
p6eval | niecza v15-4-g1f35f89: OUTPUT«3e8» | ||
colomon | n: say sprintf('%x', 10) | ||
p6eval | niecza v15-4-g1f35f89: OUTPUT«a» | ||
02:22
tokuhirom left,
tokuhirom joined
|
|||
colomon | n: printf('%x', 10) | 02:22 | |
p6eval | niecza v15-4-g1f35f89: OUTPUT«1» | ||
02:23
alc joined
02:24
wolfman2000 joined
|
|||
colomon | n: print sprintf('%x', 10) | 02:25 | |
p6eval | niecza v15-4-g1f35f89: OUTPUT«a» | ||
colomon | n: print sprintf '%x', 10 | ||
p6eval | niecza v15-4-g1f35f89: OUTPUT«a» | ||
02:27
tokuhirom left
|
|||
sorear | What's the difference between Seq, List, and Array, and why do we need more than one? | 02:27 | |
colomon | As I understood it originally, List was immutable. | 02:30 | |
no idea why there's a Seq | |||
au | ...and is a role, apparently | 02:31 | |
as in Seq does Iterable does List (based on a cursory re-reading of S02) | |||
er, sorry, Iterator does List. Seq does Iterable. | |||
so yeah, Seq and Array mostly differ by mutability of elements. | 02:32 | ||
sorear | Niecza has gotten on fine-ish without a Seq at all | 02:33 | |
colomon | and Seq is what I thought List was. | ||
au | <aol/> | ||
sorear | the important difference is $listy.push(5); $listy[*-1]++ | 02:34 | |
02:34
sisar left
|
|||
sorear | if it passes, niecza calls it Array, otherwise niecza calls it List | 02:34 | |
s/<<is>>/in niecza is/ | |||
colomon | sorear: au++ is right, I think -- what niecza calls List, S02 calls Seq | 02:35 | |
List is a role | |||
sorear | I've decided that laziness and multidimensionality are incompatible, and I want to add a new Matrix(name?) class for multi-dimensional or otherwise shapeful, non-lazy objects | 02:36 | |
au | the relevant change for Seq assuming what List was is apparently github.com/perl6/specs/commit/736a...9a2a42c53a | 02:37 | |
(2009-01-23) | |||
colomon | I wonder if Seq versus List is something pmichaud was/is intending to address with his iterator work. | 02:38 | |
au | Matrix is like a nice name, esp if Array::Shaped sounds too verbose | 02:39 | |
colomon | +1 | ||
sorear | ShapedArray was my first thought, but then I realized it sounded too much like a subtype of Array | 02:40 | |
I don't think I've seen PairSeq before... | |||
colomon | huh. why would PairSeq merit a name, instead of just being a Seq of Pairs? | 02:42 | |
au | because Seq of Pairs would not do Associative | 02:44 | |
but PairSeq would ? | |||
03:09
orafu left,
orafu joined
|
|||
[Coke] | perl6_ops.c: In function ‘Parrot_perl6_invoke_catchhandler_p_pc’: | 03:10 | |
perl6_ops.c:7224:9: error: too many arguments to function ‘rewind_to_ctx’ | |||
perl6_ops.c:132:13: note: declared here | |||
(that's why the spec run failed) | |||
(function: run_leave_phasers) | |||
phenny: tell jnthn, moritz to look in the log just before here. | 03:11 | ||
phenny | [Coke]: I'll pass that on when jnthn is around. | ||
[Coke] | (so, given that, won't bother rerunning today.) | 03:18 | |
03:25
leprevost left,
shinobicl___ joined
03:35
envi_ left
03:40
marmalade left
|
|||
shinobicl___ | hi | 03:44 | |
what's wrong with this code? | |||
nom: class D is Date { has Int $.x is rw; method new(:$year!, :$month!, :$day!, :$x!) { say "values: $year, $month, $day, $x"; return callwith(year=>$year, month=>$month, day=>$day).bless(*, $x); }; method perl { say "D.new($.year, $.month, $.day, $.x)"; }; }; my $var = D.new(year=>2012, month=>12, day=>2, x=>99); say $var.perl; | |||
p6eval | rakudo 3c5838: OUTPUT«values: 2012, 12, 2, 99use of uninitialized value of type Int in string contextuse of uninitialized value of type Int in string contextD.new(, 1, 1, )True» | ||
03:47
alc left
|
|||
sorear | shinobicl___: Is anything wrong with it? | 03:52 | |
japhb | shinobicl___, you seem to be trying to use two different conceptual ways to write an explicit method new() | 03:53 | |
Did you mean: | |||
nom: class D is Date { has Int $.x is rw; method new(:$year!, :$month!, :$day!, :$x!) { say "values: $year, $month, $day, $x"; self.bless(*, :$year, :$month, :$day, :$x); }; method perl { say "D.new($.year, $.month, $.day, $.x)"; }; }; my $var = D.new(year=>2012, month=>12, day=>2, x=>99); say $var.perl; | |||
p6eval | rakudo 3c5838: OUTPUT«values: 2012, 12, 2, 99D.new(2012, 12, 2, 99)True» | ||
japhb | ? | ||
shinobicl___ | i tried to "glue" x to the value returned from callwith | 03:55 | |
nom: class D is Date { has Int $.x is rw; method new(:$year!, :$month!, :$day!, :$x!) { say "values: $year, $month, $day, $x"; self.bless(*, :$year, :$month, :$day, :$x); }; method perl { say "D.new($.year, $.month, $.day, $.x)"; }; }; my $var = D.new(year=>2012, month=>12, day=>2, x=>99); say $var.perl; say $var.daycount; my $var2 = Date.new(year=>2012, month=>12, day=>2); say $var2.daycount; | 03:57 | ||
p6eval | rakudo 3c5838: OUTPUT«values: 2012, 12, 2, 99D.new(2012, 12, 2, 99)TrueInt()56263» | ||
shinobicl___ | the result of $var.daycount is why i think i need to use callwith to return a Date object. To that i want to attach a new member. | 04:03 | |
[Coke] | ISTR delegation working better here. | 04:09 | |
japhb | Ah, I see the problem. | ||
[Coke] | perl6 gives you a nice way to say "I have a Date member, please delegate all date calls to it" | ||
japhb | class Date in src/core/Temporal.pm has its own explicit method new(). | 04:10 | |
sorear | (which niecza STILL doesn't implement, jeez) | ||
shinobicl___ | Several new methods, IIRC | 04:11 | |
new() i meant | |||
[Coke] : are you saying that i should add a Date member to D instead of deriving from Date? | 04:13 | ||
skids | [Coke]: While "handles" is a solution, the "is T" scenario with value types really needs to be elaborated on specwise. | ||
shinobicl___ | maybe i'm just using "bless" in the wrong way? | 04:27 | |
nom: class D is Date { has Int $.x is rw; method new(:$year!, :$month!, :$day!, :$x!) { say "values: $year, $month, $day, $x"; return callwith(year=>$year, month=>$month, day=>$day).bless(*, $x); }; method perl { say "D.new($.year, $.month, $.day, $.x)"; }; }; my $var = D.new(year=>2012, month=>12, day=>2, x=>99); say $var.perl; | |||
p6eval | rakudo 3c5838: OUTPUT«values: 2012, 12, 2, 99use of uninitialized value of type Int in string contextuse of uninitialized value of type Int in string contextD.new(, 1, 1, )True» | ||
timotimo | wouldn't you need to use $.x instead of $x? | 04:28 | |
sorry, of course not before you've blessed | 04:29 | ||
dalek | gs.hs: 0285f84 | au++ | Pugs/src/Pugs/Prim.hs: * WIP: Type methods for Int/Num/Rat from coke++ |
||
gs.hs: cb4d7e9 | au++ | Pugs/src/Pugs/Prim.hs: * Line up return types of Int/Rat/Num and declare op0 fallbacks. |
|||
ast: 301db81 | coke++ | fudge: respect .spec_config |
04:30 | ||
ast: 93b57c2 | coke++ | S (16 files): pugs un/fudge |
|||
[Coke] | benabik: fixed all the spectest failures in pugs that have cropped up. | 04:34 | |
benabik | Coke++ | ||
[Coke] | except perhaps: | ||
S17-async/contend.pugs 4 - the race condition strikes | |||
(which didn't fail earlier) | |||
pugs is now passing 7324 tests. | 04:35 | ||
au++ for fixing my WIP. | 04:39 | ||
skids | nom: class D is Date { has Int $.x is rw; method new(:$year!, :$month!, :$day!, :$x!) { say "values: $year, $month, $day, $x"; self.bless(*, :$year, :$month, :$day, :daycount(self.daycount-from-ymd($year,$month,$day)), :$x); }; method perl { "D.new($.year, $.month, $.day, $.x)"; }; }; my $var = D.new(year=>2012, month=>12, day=>2, x=>99); say $var.perl; say $var.daycount; my $var2 = Date.new(year=>2012, month=>12, day=>2); say $var2.daycou | ||
nt; | |||
p6eval | rakudo 3c5838: OUTPUT«values: 2012, 12, 2, 99D.new(2012, 12, 2, 99)56263Method 'daycou' not found for invocant of class 'Date' in block <anon> at /tmp/wanMo9DpZi:1» | ||
skids | grr. | 04:40 | |
nom: class D is Date { has Int $.x is rw; method new(:$year!, :$month!, :$day!, :$x!) { say "values: $year, $month, $day, $x"; self.bless(*, :$year, :$month, :$day, :daycount(self.daycount-from-ymd($year,$month,$day)), :$x); }; method perl { "D.new($.year, $.month, $.day, $.x)"; }; }; my $var = D.new(year=>2012, month=>12, day=>2, x=>99); say $var.daycount; my $var2 = Date.new(year=>2012, month=>12, day=>2); say $var2.daycount; | 04:41 | ||
p6eval | rakudo 3c5838: OUTPUT«values: 2012, 12, 2, 995626356263» | ||
skids | shinobicl___: ^^ workaround | 04:42 | |
04:42
bonsaikitten is now known as DrEeevil
|
|||
shinobicl___ | yes... a step in the right direction... but the thing is... am i right wanting to do this? i mean... 'blessing' a new member to an object? | 04:43 | |
maybe i'm wanting to do something that is not expected to be possible in the first place | 04:44 | ||
skids | I think you are right in feeling you should be able to easily add an attribute to a class, unless the class author has good reasons to want you not to. | ||
Which should not be the case with the Temporal stuff. | 04:45 | ||
04:45
alc joined
|
|||
skids | This is even more frustrating, BTW, when you are wanting to just make variants of basic types with extra methods. | 04:45 | |
Because then you get into the whole "but that's just a box for a value type" thing. | 04:46 | ||
skids notes that .check-date also needs to be called before .daycount-from-ymd. | 04:53 | ||
I think, shinobicl___, this would be a very good example for a "best practices" discussion on p6l, looking at where this could/should be fixed on the Temporal.pm end to, as a base class, provide more generic subclassing facilities. | 04:58 | ||
shinobicl___ | so, i can't bless a new value because the way Temporal.pm is written? I didn't see anything in the Date class that could indicate that. | 05:00 | |
skids | Well, for one, you cannot pass initializers for that attribute through Date.new in order to reuse Date.new's code, because it doesn't have a slurpy, and since it does "things" that means you have to copy "things" to your initializer, which is a violation of DRY. | 05:02 | |
shinobicl___ | That's why callwith exists, right? So i could use the original new from the Date class | 05:04 | |
skids | That and other things, yes. But if that new is going to then call your subclass's .bless, it should allow you to pass through extra parameters. | 05:06 | |
time for sleep. | 05:15 | ||
05:20
thou joined
05:30
birdwindupbird joined
|
|||
shinobicl___ | good night, #perl6 | 05:30 | |
05:30
shinobicl___ left
05:31
wolfman2000 left
05:33
kaleem joined
06:34
NamelessTee joined
07:03
snearch joined
07:04
am0c joined
07:09
snearch left
07:12
skids left
07:18
cognominal_ left
07:19
cognominal joined
07:21
huf left
07:27
wtw joined
07:31
skids joined,
_jaldhar left
|
|||
moritz | \o | 07:37 | |
last day of German Perl Workshop today | 07:38 | ||
timotimo | hey moritz | 07:41 | |
as a german, maybe you can be of better assistance in telling me how to pronounce niecza | |||
tadzik | morning.good | ||
being Polish I think I can help you with that | |||
it's like - nyetscha | 07:42 | ||
timotimo | oh, so a little bit like nietzsche? | ||
tadzik | not really | ||
the "e" is not like an english "e" | |||
timotimo | oh, the beginning is like "niet", which is, dunno, russish for no? | ||
tadzik | yes | ||
moritz | we pronounce the i and e separately in niecza, but not in nietzsche | ||
tadzik | and then cza like in cha-cha-cha | ||
timotimo | right. so in german it would be spelled maybe "njetscha"? | 07:43 | |
moritz | yes, roughly | ||
timotimo | that's very pronouncable, but a bit non-obvious | ||
tadzik | it was obvious to me :) | 07:44 | |
08:07
GlitchMr joined
|
|||
mikec | morning | 08:11 | |
sorear | morning mikec. welcome if appropriate. | ||
I was noticing earlier that masak's GPW slides were all in English | |||
then it occured to me that it's GPW, not DPW :) | |||
does anyone here know anything about the intended semantics of my @foo[**] ? | 08:12 | ||
hello GlitchMr | 08:13 | ||
mikec | thanks :) i've been welcomed once, but now i feel doubly welcome | 08:15 | |
08:22
NamelessTee left
08:30
ruoso left
08:31
ruoso joined
|
|||
sorear -> sleep | 08:39 | ||
08:39
sporous left
08:47
mj41 joined
|
|||
dalek | kudo/nom: bb09ec6 | jonathan++ | src/core/Block.pm: NEXT phasers run in reverse order. |
08:47 | |
kudo/nom: 7e2b6e6 | jonathan++ | src/Perl6/Actions.pm: Implement 'also' syntax. |
|||
kudo/nom: 870f800 | jonathan++ | src/ops/perl6.ops: Convey result of a block to the leave phaser runner, so it can consider whether to run KEEP and UNDO blocks. |
|||
kudo/nom: c77b6f8 | jonathan++ | src/ops/perl6.ops: Quick but test-passing implementation of KEEP and UNDO. Based on mls++ patch, with some changes from me. |
|||
kudo/nom: 288fdb2 | jonathan++ | t/spectest.data: Run S04-phasers/keep-undo.t. |
|||
kudo/nom: df250d8 | jonathan++ | docs/ChangeLog: Add some ChangeLog entries. |
|||
jnthn | morning o/ | ||
phenny | jnthn: 03:11Z <[Coke]> tell jnthn moritz to look in the log just before here. | ||
jnthn | 870f800 fixes the build on platforms with C compilers that report things that they always really should. :-) | 08:48 | |
08:49
sporous joined
|
|||
jnthn | sorear: fwiw, we have no Seq in Rakudo and I don't think we miss it. I suspect Pm may have meant for it to vanish in the current model. | 09:03 | |
09:04
sftp left
|
|||
masak | o/ | 09:05 | |
09:06
sftp joined
|
|||
tadzik wonders if he should make a recording of him saying "niecza" and putting it on the net somewhere | 09:06 | ||
masak | tadzik: make a short song, with the word repeated in lots of tones of voice. | 09:07 | |
jlaire dreams of a world where everbody knows ipa | |||
tadzik | „I like playing with Rakudo, but singing with Nieczaaaa” | ||
masak | :P | 09:08 | |
moritz | +1 | ||
masak | tadzik++ is referring to www.youtube.com/watch?v=5Ju8Wxmrk3s :) | 09:09 | |
DrEeevil | tadzik: and maybe let a german try, then it sounds like "nix da" ;) (nothing there) | ||
09:09
mj41 left,
GlitchMr is now known as GlitchMrr
|
|||
tadzik | heh | 09:10 | |
great, my laptop battery is now capable of compiling rakudo only once | |||
then it's <50% | |||
09:10
GlitchMrr is now known as GlitchMr
|
|||
moritz recommends power supply | 09:10 | ||
tadzik | yeah, it's quite remote unfortunately | 09:11 | |
apejens | it's almost like a battery, just lasting longer | ||
tadzik | it's difficult to carry around too | ||
moritz | tadzik: you should get p2p power from jnthn or masak :-) | ||
apejens | I'll admit the long cable can be annoying :p | ||
09:11
GlitchMr is now known as GlitchMrr
09:12
GlitchMrr is now known as GlitchMr
|
|||
dalek | kudo/macros3: e6f26fc | masak++ | src/Perl6/Actions.pm: lookups of undeclared & vars turn into Nil |
09:12 | |
tadzik | :) | ||
huh, CORE.setting is going for 15 minutes | |||
moritz | yeah, it's again quite slow :( | 09:13 | |
moritz suspects a regression | |||
tadzik | I must've screwed something up | ||
moritz | or maybe it was some of the phasers | ||
tadzik | I now wonder if I'll manage to compile Rakudo even once :) | ||
possibly | |||
moritz | my setting compilation now also takes 9 minutes | 09:14 | |
it used to finish in 3..4 after bs | |||
jnthn | Hmm. | ||
tadzik | I'll stop tormenting my laptop then :) | ||
09:14
GlitchMr left
|
|||
jnthn | Needs profiling, I suspect. | 09:14 | |
09:15
thou left
|
|||
jnthn | Otherwise we're just guessing. | 09:15 | |
09:15
snearch joined
|
|||
moritz | or bisecting | 09:15 | |
jnthn | True | 09:16 | |
moritz | which patch fixed the build? | ||
jnthn | 870f800 shoulda done it | 09:17 | |
moritz | ok | 09:18 | |
09:24
mj41 joined
|
|||
jnthn | Time to try and clear up name handling, it seems... | 09:28 | |
moritz | 0dbe16a4 (LEAVE/KEEP/UNDO should run in opposite order.) is already slow | 09:29 | |
> 9 minutes | |||
jnthn | Maybe try 4e02c2719 | 09:31 | |
masak | here we go. | 09:34 | |
dalek | kudo/nom: e29b2f1 | masak++ | / (7 files): implemented quasi quotes and macros This works: - Macro declarations - Calling a macro (using `macro()` and `macro` and operators) - Quasi quotes - Variable lookup from within the quasi quote This doesn't, yet: - Variable lookup from within a macro parameter |
||
09:35
sftp_ joined
|
|||
masak | let me know if you encounter any issues beyond what's noted not to work above. | 09:35 | |
09:35
sftp left
|
|||
masak | note: {{{$a}}} syntax isn't implemented yet. but that's next up. | 09:35 | |
jnthn | \o/ | 09:39 | |
masak++ | |||
moritz | masak++ | ||
masak: you have the honor to patch the feature matrix too | |||
masak | moritz: will do. | ||
masak gets to it right away | 09:40 | ||
moritz | masak: maybe also add a line for "declarations in quasis" or so | ||
jnthn | masak: Did you add the new test file to spectest.data? | ||
moritz | 5c1b4e6 is also slow | ||
masak | jnthn: I did not. will do that too. | ||
moritz: right. that would correspond to D4. | 09:41 | ||
I'll only bump rakudo's "basic macros" support to yellow, 'cus we don't have D2 yet. | |||
moritz | ok | 09:42 | |
jnthn | moritz: OK, so that means it's not about LEAVE/KEEP/UNDO. | 09:43 | |
dalek | kudo/nom: fdf3306 | masak++ | t/spectest.data: [t/spectest.data] added S06-macros/macros-d1.t |
09:44 | |
09:44
dakkar joined
|
|||
09:44
huf joined
|
|||
dalek | atures: 3e53a06 | masak++ | features.json: [features.json] twiddled macros desc a bit Added a feature, changed the description of another. Added Rakudo support for basic macros. |
09:49 | |
kudo/nom: 182b2f9 | jonathan++ | src/Perl6/World.pm: Toss unused methods. |
|||
09:56
alc left
|
|||
tadzik | \o/ \o/ \o/ | 09:57 | |
\\\\\\\\\\\\ | |||
oops | |||
10:05
scott__ left
10:11
xinming left
|
|||
moritz | 4e02c271 is slow too | 10:12 | |
jnthn | moritz: Wow. | ||
10:12
xinming joined
|
|||
jnthn | So that means if it's phasers related it's either ENTER or START | 10:13 | |
Or the changes for the infrastructure stuff | |||
10:24
envi_ joined
|
|||
moritz | b771b344 is fast | 10:29 | |
tadzik | my nom compilation is now going for 30 minutes and no end can be seen :) | 10:30 | |
jnthn wonders if a6d75bccbd4 is to blame somehow | 10:32 | ||
In the add_phasers_handling_code method | 10:33 | ||
moritz | I'm bisecting now | 10:34 | |
the range is pretty narrow | |||
jnthn | yes, down to 3 patches now it seems | 10:35 | |
And one just adds a spectest | |||
So only two are interesting | |||
moritz | I just switched to a different machine for bisecting, because my laptop overheats :-) | 10:36 | |
(having a computer somewhere in the clou^internet)++ | 10:37 | ||
10:37
preflex_ joined,
preflex left,
preflex_ is now known as preflex
|
|||
moritz | git bisect blames 4e02c2719553f7dad4b22f3b763e92a4b7087b57 | 10:38 | |
let me verify that... | |||
jnthn | 4e02c2719?! | 10:39 | |
10:39
xinming left
|
|||
moritz | I'm not convinced yet | 10:40 | |
jnthn | Me either, looking at that patch | 10:41 | |
10:42
xinming joined
10:57
mj41 left
11:29
tokuhirom joined
11:34
foot joined
11:43
foot left
11:45
mj41 joined
11:51
jaldhar joined
11:54
NamelessTee joined
|
|||
masak | sorear: which language did you expect my slides to be in? :) | 11:54 | |
moritz | fwiw on one machine I couldn't reproduce any rakudo slowdowns | 11:59 | |
on the one machine where I have now cleaned out everything, and am recompiling right now | 12:00 | ||
performance seems to be back after a 'git clean -xdf' | 12:11 | ||
tadzik tries | |||
moritz | (git clean -xdf)++ | ||
touch src/core/Mu.pm | 12:12 | ||
time make | |||
real 5m10.172s | |||
(that is, after a clean rebuild) | |||
jnthn | Oddness | ||
tadzik | interesting, what was the leftover that caused it | ||
jnthn is struggling to guess | 12:13 | ||
tadzik | yep, confirmed | 12:16 | |
moritz++ | |||
oh, it does it again after a recompilation it seems | 12:20 | ||
moritz | tadzik: you mean you change something, and the next recompilation is slow? | 12:22 | |
tadzik | moritz: yes | ||
I unstashed my Set changes | |||
moritz | tadzik: does memory usage grow during compilation? | 12:23 | |
tadzik | it stopped on 16.9% memory usage and kept eating CPU | ||
moritz | oh | ||
tadzik | Usually ends about 25% | ||
moritz | then that's probably an unrelated infinite loop | ||
tadzik | can you reproduce that? | ||
moritz | I don't have your set changes | ||
tadzik | I don't think they're any specific, provided that everyone experienced this slowdown | 12:24 | |
try just declaring 'my class Foobar {}' somewhere maybe | |||
moritz | well, for me it was slow, but still completed | ||
tadzik: trying that now | |||
tadzik | gist.github.com/1992817 this are my changes for Justin Caes | 12:25 | |
moritz | tadzik: simply add a 'my class Foobar { }' doesn't significantly increase compilation time here | 12:28 | |
tadzik | hmm | 12:29 | |
could you try the patch I pasted? | |||
moritz | yes, I'll try that next | ||
tadzik | okay | ||
moritz | if it works, we'll know before the end of the talk (if the speaker uses up his time) | ||
tadzik | :) | 12:30 | |
12:30
bluescreen10 joined
|
|||
jnthn | uh-oh...low battery | 12:30 | |
moritz | tadzik: compilation of that one seems to hang :/ | 12:32 | |
tadzik | yay! I mean, uh | 12:33 | |
I'll try to golf that | |||
moritz | I'm trying now with the class declaration removed | ||
jnthn | Try running setting compilation with --ll-exception too, just in csae. | ||
moritz | ah, I thought of that too | ||
but didn't take my own thoughts serious :-9 | 12:34 | ||
dalek | kudo/name-cleanup: 2da46c4 | jonathan++ | src/Perl6/World.pm: Start to sketch out an attempt at neater name handling. |
12:36 | |
kudo/name-cleanup: 04b9e4e | jonathan++ | src/Perl6/World.pm: Add method for turning a longname into the name component. |
|||
kudo/name-cleanup: 316db7b | jonathan++ | src/Perl6/Grammar.pm: Start using the new longname handling in the type-declaration related parts of the grammar. |
|||
kudo/name-cleanup: 50daf80 | jonathan++ | src/Perl6/Actions.pm: Update enum and subset actions for using new longname handling. |
|||
kudo/name-cleanup: effeb6f | jonathan++ | src/Perl6/World.pm: Toss install_package_longname, which we no longer use. |
|||
moritz | hangs with ll-exception too | 12:37 | |
tadzik | -my class KeySet is Iterable does Associative { | ||
+my class KeyHash is Iterable does Associative { | |||
this is enough to trigger it | |||
tadzik looks at stubs.pm | |||
jnthn | yeah, there's a stub in there | ||
tadzik | yep | 12:38 | |
and KeyHash is already defined as empty | |||
jnthn | yeah | ||
moritz | oh | ||
that should be a stub | |||
jnthn | right | ||
moritz | if you then fill it out | ||
jnthn | but the error reporting shouldn't hang either :( | ||
moritz | so there is really a redeclaration error | ||
jnthn | Dunno why that happens. | ||
tadzik | yep | ||
moritz | nom: class A { }; class A { }; | ||
tadzik | trying that now | ||
p6eval | rakudo 182b2f: OUTPUT«===SORRY!===Redeclaration of symbol Aat /tmp/HAXUCxuP4Z:1» | ||
tadzik | may act funny in the setting | ||
moritz | it shouldn't, but it might :/ | 12:39 | |
especially since Set.pm is after Exceptions.pm | 12:40 | ||
tadzik | oh | 12:41 | |
ah | |||
crap, it hangs anyway | |||
tadzik moves to a Place Of Power somewhere | 12:42 | ||
12:45
Trashlord left
12:47
NamelessTee left
|
|||
moritz | Method 'of' must be resolved by class KeyHash because it exists in multiple roles (Associative, Associative) | 12:49 | |
tadzik | yeah, I'm trying a new thing now | ||
moritz | is what I get when compiling it, when making KeyHash a proper it with the proper stub | ||
tadzik | it seems to work, at least it passed the 16.9 step | ||
okay, it's now doing .pir -> .pbc | 12:50 | ||
12:55
skids left
|
|||
masak | \o/ | 13:01 | |
nom: my $N = 4; .say for (grep { $N / 2 == [+] .comb }, (0 .. 2 ** $N)».fmt("%0{$N}b"))».trans("01", "[]") | 13:24 | ||
p6eval | rakudo 182b2f: OUTPUT«Method 'at_key' not found for invocant of class 'Nil' in method postcircumfix:<{ }> at src/gen/CORE.setting:1183 in block <anon> at /tmp/XruNbUbnD4:1» | ||
masak | hm :/ | 13:25 | |
nom: my $N = 4; .say for ((0 .. 2 ** $N)».fmt("%0{$N}b").grep({ $N / 2 == [+] .comb }))».trans("01", "[]") | 13:26 | ||
p6eval | rakudo 182b2f: OUTPUT«Method 'at_key' not found for invocant of class 'Nil' in method postcircumfix:<{ }> at src/gen/CORE.setting:1183 in block <anon> at /tmp/kLv8pmlrpm:1» | ||
13:29
benabik left
|
|||
jnthn | masak: Any idea which bit it is that's failing? | 13:30 | |
nom: my $N = 4; .say for ((0 .. 2 ** $N)».fmt("%0{$N}b") | 13:31 | ||
p6eval | rakudo 182b2f: OUTPUT«===SORRY!===Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2» | ||
jnthn | nom: my $N = 4; .say for ((0 .. 2 ** $N)».fmt("%0{$N}b")) | ||
p6eval | rakudo 182b2f: OUTPUT«Method 'at_key' not found for invocant of class 'Nil' in method postcircumfix:<{ }> at src/gen/CORE.setting:1183 in block <anon> at /tmp/G9bSyjslC2:1» | ||
masak | oh! | ||
%0 | |||
jnthn | Oh :) | ||
flussence | nom: "%0{a}" | ||
p6eval | rakudo 182b2f: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&a' called (line 1)» | ||
13:31
xinming left
|
|||
masak | my bad :) | 13:31 | |
jnthn | phew | ||
masak | nom: my $N = 4; .say for ((0 .. 2 ** $N)».fmt("%0\{$N}b").grep({ $N / 2 == [+] .comb }))».trans("01", "[]") | ||
p6eval | rakudo 182b2f: OUTPUT«'{' is not a valid sprintf format in method fmt at src/gen/CORE.setting:1789 in method dispatch:<hyper> at src/gen/CORE.setting:824 in block <anon> at /tmp/PzLvhKO7j1:1» | ||
masak | grr :) | ||
nom: my $N = 4; .say for ((0 .. 2 ** $N)».fmt("%0" ~ $N ~ "b").grep({ $N / 2 == [+] .comb }))».trans("01", "[]") | 13:32 | ||
p6eval | rakudo 182b2f: OUTPUT«"01" is not a Pair in method trans at src/gen/CORE.setting:3894 in method dispatch:<hyper> at src/gen/CORE.setting:824 in block <anon> at /tmp/xxHw_W9vnY:1» | ||
masak | nom: my $N = 4; .say for ((0 .. 2 ** $N)».fmt("%0" ~ $N ~ "b").grep({ $N / 2 == [+] .comb }))».trans("01" => "[]") | ||
p6eval | rakudo 182b2f: OUTPUT«[[]][][][]][][[]][][]][[» | ||
13:33
benabik joined
|
|||
flussence was about to suggest sprintf inside .fmt there, but realised that's a bit insane | 13:33 | ||
masak | nom: my $N = 4; .say for ((0 .. 2 ** $N)».fmt("%0$N" ~ "b").grep({ $N / 2 == [+] .comb }))».trans("01" => "[]") | 13:34 | |
p6eval | rakudo 182b2f: OUTPUT«[[]][][][]][][[]][][]][[» | ||
13:36
kaleem left
13:37
xinming joined
|
|||
flussence | nom: say [X~] [<[ ]>] xx [<[ ] [ ]>] | 13:37 | |
p6eval | rakudo 182b2f: OUTPUT«[[[[ [[[] [[][ [[]] [][[ [][] []][ []]] ][[[ ][[] ][][ ][]] ]][[ ]][] ]]][ ]]]]» | ||
13:40
benabik left,
benabik joined
13:43
benabik left
|
|||
masak | nom: my $N = 6; for ^(1 +< $N) { given .fmt("%0$N" ~ "b") { next unless $N / 2 == [+] .comb; next unless all (my $c = 0; map { $c += 1 - 2 * $_; $c >= 0 }, .comb); say .trans("01" => "[]") } } | 13:45 | |
p6eval | rakudo 182b2f: OUTPUT«[[[]]][[][]][[]][][][[]][][][]» | ||
[Coke] is able to run the rakudo tests again. | 13:48 | ||
thanks to whoever fixed that. | 13:50 | ||
13:53
kaleem joined
|
|||
masak | the one who broke it, I believe. | 13:53 | |
[Coke] | n: say 7324-6527 | 13:55 | |
p6eval | niecza v15-4-g1f35f89: OUTPUT«797» | ||
[Coke] | au++ | ||
masak | \o/ | ||
au | quite a win :) | ||
masak | ausome. | 13:56 | |
[Coke] | O_o | ||
I'd say that's worth a gold star. | 13:57 | ||
p: "hey, is this pugs?".say | |||
tadzik | I hope the name Fat Slasher catches :) | ||
(the // operator) | |||
masak | moritz: didn't pugs get a "p" alias? :/ | 13:58 | |
[Coke] | P: "caps?" | 13:59 | |
13:59
Trashlord joined
|
|||
masak | g: "not the initial?" | 13:59 | |
z: "something altogether different?" | 14:00 | ||
[Coke] | pugs: 22/234.Num.Rat.say | ||
p6eval | pugs b927740: OUTPUT«*** No such method in class Int: "&Num" at /tmp/hDmV1veHSl line 1, column 1 - line 2, column 1» | ||
[Coke] | evalbot: rebuild pugs | ||
evalbot: rebuild nom | |||
masak | evalbot rebuild pugs | ||
p6eval | OK (started asynchronously) | ||
dalek | Rebuild of pugs complete. | ||
[Coke] | masak++ | 14:01 | |
dalek: liar! | |||
pugs: 22/234.Num.Rat.say | |||
p6eval | pugs b927740: OUTPUT«*** No such method in class Int: "&Num" at /tmp/QHbnS7XKZI line 1, column 1 - line 2, column 1» | ||
[Coke] | (plus also that code's wrong, but still, Int hasa .Num now.) | ||
pugs: (22/234).Num.Rat.perl.say # that's better, but will still fail in channel. | 14:03 | ||
p6eval | pugs b927740: OUTPUT«*** No such method in class Rat: "&Num" at /tmp/koV86vULAH line 1, column 1 - line 2, column 1» | ||
[Coke] | I am guessing that pugs was not necessarily setup to be rebuilt. | ||
that revision is from Tue Oct 18 12:31:02 2011 | 14:04 | ||
14:05
pernatiy joined
14:07
kaleem left,
kaleem joined
|
|||
[Coke] | -> | 14:08 | |
14:08
tokuhir__ joined
14:11
tokuhirom left
|
|||
dalek | ast: 289b7be | (Solomon Foster)++ | S05-mass/properties-general.t: Fudge out tests which have not yet caught up with the latest Unicode changes. |
14:18 | |
14:21
Trashlord left
|
|||
dalek | kudo/name-cleanup: 95d31f8 | jonathan++ | src/Perl6/ (3 files): Rename for clarity. |
14:23 | |
kudo/name-cleanup: 76fb938 | jonathan++ | src/Perl6/World.pm: Start recognizing pseudo-package names and complaining about invalid use of some of them in a package declaration. |
|||
kudo/name-cleanup: c6747d2 | jonathan++ | src/Perl6/ (2 files): Eliminate canonical_type_longname. |
|||
14:23
skids joined
|
|||
masak | nom: sub postfix:<!>($n) { [*] 2..$n }; constant @catalan = gather { my ($i, $d) = 0, 1; loop { take (2 * $i)! / $d; $i++; $d *= $i * ($i + 1) } }; sub bal($l) { return "[]" x $l if $l < 2; for reverse ^$l -> $m { if @catalan[$m+1].rand < @catalan[$m] { return "[&bal($m)]&bal($l-$m-1)" } } }; say bal 4 for ^10 | 14:24 | |
p6eval | rakudo 182b2f: OUTPUT«[[[]]][][[[]][]][[]][][][[]][[]][[]][[]][][[]][][[[]]][][[][]][][[[[]]]][[[[]]]]» | ||
masak | a new approach. | ||
this one *might* produce an even distribution -- I haven't it tested it thoroughly yet. | 14:25 | ||
but it doesn't build on the grid at all, it builds on catalan numbers. | |||
the principle is this: for balanced strings with three pairs of parens, there's a 2-in-5 chance that there's a set of parens surrounding the the rest of the string. because there are 2 strings with two pairs, and 5 strings with three pairs. | 14:29 | ||
14:30
snearch left
14:35
benabik joined
14:39
PacoAir joined
14:49
birdwindupbird left
14:52
kaleem left
14:55
key__ joined
|
|||
[Coke] | n: say True.Rat | 15:10 | |
p6eval | niecza v15-4-g1f35f89: OUTPUT«1» | ||
benabik | p: say 'hi' | 15:11 | |
r: say 'hi' | |||
p6eval | rakudo 182b2f: OUTPUT«hi» | ||
benabik | I like the one letter abbrevs. Will have to remember they exist. :-D | ||
15:12
bluescreen10 left
15:20
wtw left
|
|||
skids | I think I'll still use "nom" because it's fun to tell an interpreter to "eat this". | 15:22 | |
Oh, I guess niecza and nom have an "n"-amespace collision | 15:24 | ||
15:25
dbr joined
15:27
bluescreen10 joined
|
|||
dbr | being fully aware that this is a bit off topic, but since i know the perl community best (the pathological helpfulness thing...) and since there is so much knowledge about utf-8 here: | 15:28 | |
in the tibetan script, you can have a letter, and this one can have one on top and one on the bottom (and, for that matter, one more to the left, plus two optional ones to the right, not counting the signs to change the vowel...) | 15:29 | ||
that is to say your 'main letter' can have optional _more_ letters on top and in other places | |||
now for the ones that are subscripts, unicode has a definition for them | 15:30 | ||
but it seems it's not possible to render all (commonly used!) graphemes, since i can't find anything for the ones on top of the main letter | 15:31 | ||
is that possible? | |||
anybody any ideas? | |||
TimToady | I have two ideas; either the 'MARK' characters are used for that somehow, or maybe you're supposed to do a double subjoin in that case | 15:32 | |
but I know nothing about Tibetan | 15:33 | ||
dbr | hey TimToady! | ||
there is some hints that i found here | |||
Encoding of any new ligatures in Unicode will not happen, in part because the set of ligatures is font-dependent, and Unicode is an encoding independent of font variations. The same kind of issue arose for Tibetan script | |||
sorry forgot the link: | |||
en.wikipedia.org/wiki/Unicode#Indic_scripts | |||
especially in the second paragraph | |||
however, i don't know what to do with it really | |||
TimToady: i see what you mean, but can't find good (more) advice on the two ways you're outlining | 15:34 | ||
TimToady | but they're couting these as "ligatures", then it's probably going to go all contextual in the rendering engine | 15:35 | |
dbr | yes, these would be ligatures | 15:36 | |
so coudl it be the case that unicode is not able to render commonly used graphemes/ligatures in the languages it supports or is it merely a rendering question on my end? | 15:38 | ||
s/coudl/could/ | |||
TimToady | so it looks like you're not going to be able to treat each "cell" as a grapheme, but rely on rendering to construct these super-graphemes | 15:39 | |
dbr | ah, ok | ||
that i understand :) | |||
TimToady | I can well understand that the Unicode consortium is between a rock and a hard place | ||
logicians always want to detangle form and content, but real people mess them together all the time :) | 15:40 | ||
dbr | apart from tibeto-specificness, unicode can't (won't?) support everything? | ||
15:40
pernatiy left
|
|||
dbr | ok, "everything" is debatable, but i'm talking commonly used stuff | 15:41 | |
15:41
pernatiy joined
|
|||
TimToady | yes, there are no strike-through characters from which you could construct strike-through words, for instance | 15:41 | |
there aren't colored letters | |||
the whole CJK fiasco arose because some spots seem like font differences while some of the people involved think they're really semantic differences | 15:42 | ||
dbr | hmm... | ||
TimToady | so now the Plane 0 CJK characters can be rendered with any of several Plane 2 characters, depending | 15:43 | |
dbr | that is, to make striked-through-characters? | ||
TimToady | if Unicode had strike-throughs, I'd use 'em for printing undefined values in Perl 6 :) | 15:44 | |
15:45
Psyche^ joined
|
|||
dbr | haha, i guess you would :) | 15:46 | |
15:48
Patterner left,
Psyche^ is now known as Patterner
|
|||
au | -> a̶f̶k̶ & | 15:48 | |
[Coke] | characters, depending | 15:50 | |
ww. | |||
n: say ¾*¾ | |||
p6eval | niecza v15-4-g1f35f89: OUTPUT«===SORRY!===Unsupported use of bare 'say'; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument at /tmp/QzoOgSx31_ line 1:------> say⏏ ¾*¾Confused at /tmp/QzoOgSx31_ line 1:------> [3… | ||
[Coke] | nom: say ¾*¾ | 15:51 | |
p6eval | rakudo 182b2f: OUTPUT«===SORRY!===Confusedat /tmp/xLc3rpBoOx:1» | ||
[Coke] | that seems better. | ||
dbr | what is the equivalent to the \N{} notation in perl6? | 15:57 | |
15:58
Patterner left
|
|||
flussence | nom: say "\c[INTERROBANG]"; | 15:58 | |
p6eval | rakudo 182b2f: OUTPUT«‽» | ||
dbr | ah thanks | 16:01 | |
16:02
gfldex left
|
|||
dbr | perl6: say "\c[TIBETAN SUBJOINED LETTER KA]\c[TIBETAN LETTER RA]" | 16:02 | |
p6eval | pugs b927740, rakudo 182b2f, niecza v15-4-g1f35f89: OUTPUT«ྐར» | ||
dbr | so the messed-up-ness of the output is a question of rendering on my platform, did i get that right? | 16:03 | |
16:04
gfldex joined
|
|||
dbr | if you size it up by approx 1000% size, you can still find that circle-thingy there, stating that it can take some other letter at that place (i have no idea what that is called) | 16:04 | |
16:06
alester joined
16:07
marmalade joined
16:08
gfldex left
16:10
gfldex joined
|
|||
TimToady | perl6: say "%\0{a}" | 16:29 | |
p6eval | rakudo 182b2f: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&a' called (line 1)» | ||
..niecza v15-4-g1f35f89: OUTPUT«===SORRY!===Undeclared routine: 'a' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1362 (die @ 3)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33)  at /home/p6… | |||
..pugs b927740: OUTPUT«*** No such subroutine: "&a" at /tmp/Iyoz8elxx7 line 1, column 10-11» | |||
TimToady | perl6: say "%0$(a)" | ||
p6eval | rakudo 182b2f: OUTPUT«===SORRY!===CHECK FAILED:Undefined routine '&a' called (line 1)» | ||
..niecza v15-4-g1f35f89: OUTPUT«===SORRY!===Undeclared routine: 'a' used at line 1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 1362 (die @ 3)  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33)  at /home/p6… | |||
..pugs b927740: OUTPUT«%0$(a)» | |||
TimToady | two workarounds to avoid ~ | ||
16:32
att joined
16:33
kaare_ joined
16:34
att is now known as gilm
16:36
envi_ left
16:58
Psyche^ joined,
Psyche^ is now known as Patterner
17:04
bynari joined
|
|||
PerlJam | bynari: you even have multiple implementations of Perl 6 to choose from. | 17:04 | |
bynari nods | 17:05 | ||
It's a big vast scary unknown world venturing outside perl 5 to 6 just now | |||
It seems there's SO much information and SO many ways to do things just now | |||
Where would be the best place to start to get the big picture clear in my head? | 17:06 | ||
PerlJam | bynari: we like to call that "fun" rather than "scary" ... but to each their own :) | ||
bynari | Heh | ||
It only becomes fun once you get to grips | |||
PerlJam | bynari: perl6.org has all sorts of resources | ||
bynari | How much are things subject to change? Is something I write now likely to be obsolete in a year? | 17:07 | |
PerlJam | bynari: depends on the specifics of what you write. Most of the language has stabilized that it isn't going to change much, but there are still a few things in flux | ||
bynari | Would I be crazy for writing production stuff in Perl 6? I own my own company, so it would be my decision | 17:08 | |
felher | Hm, if 'CATCH' makes 'try {' redudant, one doesn't need that level of extra indention in subs anymore (as opposed to, say, java), if the sub has to handle exceptions. And to emphasize error-handling, one could even put the 'CATCH' at the top of the sub. Am i right about that or did i misunderstand something? | ||
PerlJam | bynari: If you don't currently have any time constraints (i.e., your programs must run fast-ish) then I don't think you'd be too crazy for using Perl 6 | ||
bynari | What do you mean by fast-ish. Development time or performance? | 17:09 | |
PerlJam | felher: sounds about right to me. | ||
bynari: performance | |||
17:09
Trashlord joined
|
|||
bynari | Oh. Perl 6 performance is currently not up to Perl 5's just now? | 17:09 | |
felher | PerlJam: great :) That is so cute :) | ||
PerlJam | bynari: I don't have any benchmarks handy ... maybe you could make some? :) | 17:10 | |
benabik | felher: try {...} is noted as being similar to eval {...} in P5. It's a declaration that the default is to ignore errors from the block. | ||
sorear | good * #perl6 | ||
bynari nods | |||
benabik | If I read it right, S04 says `try { ... }` is the same as `{ ... CATCH { } }` | 17:11 | |
17:11
am0c left
|
|||
benabik | Hm. Perhaps that actually needs something to mark $! handled in the CATCH. | 17:11 | |
benabik shrugs. | |||
felher | benabik: I see, thanks :) | 17:12 | |
PerlJam | bynari: The two main implementations of Perl 6 (Rakudo and Niecza) aren't "fast" but they aren't "slow" either. And both have room for optimizations. | ||
colomon | sorear: o/ | ||
TimToady | benabik: try {...} is the same as { ... CATCH { default {} } } | ||
benabik | Something more like `{ ... CATCH { default { } } }`, reading a little further. | ||
bynari | I'll definitely dive in. It sounds like it could be fun | ||
benabik | TimToady: Hah, yes. | 17:13 | |
PerlJam | bynari: See perlgeek.de/en/article/5-to-6 and github.com/perl6/book/downloads | 17:16 | |
sorear | right now, fun is all there is | ||
17:16
thou joined
|
|||
benabik | -Ofun | 17:16 | |
PerlJam | bynari: those might be good starts on the language | ||
sorear | #phasers in 14. I seem to have made the only report. | ||
17:16
MayDaniel joined
|
|||
bynari | Thanks, PerlJam | 17:17 | |
TimToady | bynari: you can also compare Perl 5 to Perl 6 examples in rosettacode.org | ||
bynari nods | |||
17:17
NamelessTee joined
17:18
tokuhir__ left
|
|||
PerlJam | rosettacode++ | 17:18 | |
bynari | How many people are working on Perl 6 full time roughly? | 17:20 | |
dalek | href="https://perl6.org:">perl6.org: 7436854 | benabik++ | source/fun/index.html: Update ParrotQuotes link to the new Parrot wiki Rather than directing people to the old trac instance with its expired certificate, just point them to github. |
||
bynari | Has it gone slowly because most people are busy with their full time jobs etc? | 17:21 | |
PerlJam | bynari: It's gone slowly because language design is hard. | ||
17:21
key__ left
|
|||
bynari | Excuse my ignorance, I'm just curious | 17:21 | |
PerlJam | bynari: (and people have other things in their lives like jobs and family and such) | 17:22 | |
bynari nods | |||
PerlJam | bynari: there's been an inter-play between the design of the language and the implementations of the language such that one informs the other and vice versa | 17:23 | |
17:23
_ilbot left,
am0c joined,
_ilbot joined
|
|||
bynari | Hm, I see | 17:23 | |
PerlJam | bynari: TimToady says "Perl 6 will do such and such" and the implementors say "I tried to implement such and such, but I ran into these problems" and so forth | ||
(gross oversimplification btw :) | 17:24 | ||
bynari | Yeah | ||
What would help fix the problem? | |||
PerlJam | um ... what problem? | ||
benabik | PerlJam++ | 17:25 | |
bynari | The problem of inter-play between design and implementation | ||
PerlJam | bynari: that's not a problem, that's an advantage. | ||
bynari | Oh. | ||
TimToady | we're trying to do something here that *nobody* is smart enough to do | 17:26 | |
PerlJam | but hopefully, we're collectively smart enough to muddle through | ||
bynari | I see, yes | 17:27 | |
Has no one thought about getting more commercial sponsorship to speed things up? | |||
So more developers can work full time | |||
moritz | thought about: yes | ||
done much about it: no | |||
PerlJam | bynari: I don't think that would help as much as people think anyway | 17:28 | |
moritz | well | ||
bynari | Money is time and time helps | ||
moritz | I'd like to work fulltime on p6 | ||
thing is, most people in here enjoy hacking much more than talking to business folks | |||
PerlJam | bynari: sponsorship can help with the implementation side of the equation but not the "figure out the ramifications of the language design and make it all work well together" side | ||
moritz | and they are also much better at hacking | ||
bynari | Yeah, that's the thing. There's obviously not any business people involved in the project | 17:29 | |
moritz | so that's what they do | ||
bynari | Just hackers and visionaries :) | ||
benabik | I'm applying to PhD programs and I periodically wonder how I can fool a committee into thinking that hacking P6 is a reasonable thesis. | ||
tadzik | :) | ||
bynari | PerlJam: Sure, but the main thing is it just pumps more time into the project | ||
moritz | if somebody did make those business contracts and brought some more money, I'd be very happy | ||
bynari | More people who can work full time on it and give it their full energy without having to re-focus on another job | 17:30 | |
PerlJam | benabik: If computer scientists can still be studying sorting after all these decades, I think there's bound to be some way to turn Perl 6 into a PhD | ||
bynari | And that leads to figuring out the ramifications of the language design | ||
What would rock is getting a major company behind perl 6. In a similar way as Google are behind python | 17:31 | ||
benabik | Woo! I didn't break the website. | ||
PerlJam | moritz: I got a phone call from Jamaica earlier today that said I'd won $850,000 and would I be home to receive my prize package. If it actually turns out to be real, I'll pay you to work on Perl 6 for a year or so. :-) | ||
bynari | Hehehe | 17:32 | |
17:33
fglock joined,
isBEKaml joined
|
|||
moritz | PerlJam: deal :-) | 17:34 | |
bynari | I see a bit of a paradox with Perl 6. For most of the general programming community it's still too out there, and although quite a few see it as being an improvement on Ruby and Python, in its current state they won't start using it, but will go for something more comfortable like Python or Ruby. Until more people start doing more things with it and more companies start taking an interest it's | 17:35 | |
not going to accelerate | |||
The reason I'm interested is because I can make the decisions for my own company and I find it quite exciting, but most people aren't like that | 17:36 | ||
PerlJam | bynari: what is it that your company does exactly? | ||
bynari | The original Perl's advanced so rapidly because they got so much mainstream attention | ||
Marketing | |||
I do various things. I want to eventually start building useful web 2.0 companies though | |||
fglock | o/ | 17:37 | |
bynari | Once I have a few million and I can sit and try out new stuff. Just now it's just more practical, but less interesting things | ||
PerlJam | bynari: so ... you could market Perl 6 to people ? :) | ||
bynari | Sure | ||
moritz | that would be awesome | ||
bynari | Perl 6 has 0 marketing right now. It's only attractive to the hackers who see it for what it is | ||
PerlJam | that would be tres awesome | ||
fglock | can I have some perl5 help, I'm implementing a perl5 parser and I'm trying to understand how this works: | 17:38 | |
perl -e ' use strict; BEGIN { *CORE::GLOBAL::print = sub { die "here" } }; print "123\n"; ' # 123 | |||
bynari | Hackers don't like marketing though. I'm in a unique position of being a hacker and a marketer, so I know things most would hate | ||
fglock | perl -e ' use strict; BEGIN { *CORE::GLOBAL::time = sub { die "here" } }; print time . "\n"; ' # here at -e line 1 | ||
bynari | For instance, I wouldn't call it Perl 6 :) | ||
'Ruby' is a great marketing name. People are captivated by the name and the red | 17:39 | ||
PerlJam | bynari: Well it's already called Perl 6, so you'd just have to emphasize or de-emphasize the appropriate things. | ||
isBEKaml | that's the first thing any marketer says. First, undo everything. :) | ||
bynari | Before you even look at the language, just hearing the word 'Ruby' and thinking of shiny things and red you have a higher opinion of it | ||
moritz | bynari: would you be more inclined to market Rakudo? | 17:40 | |
you could mention that it implements Perl 6 too :-) | |||
bynari | Well | ||
isBEKaml | bynari: btw, it's too late to change the name now. It's just the language, per se. | ||
bynari | What you guys have to remember is the mass programming market is MUCH dumber than you are | ||
fglock | (I'll try #p5p) | ||
bynari | They're not much different than regular consumers | ||
They like easy, shiny things | 17:41 | ||
17:41
jferrero left
|
|||
bynari | Marketing Rakudo is too 'advanced' | 17:41 | |
You need to look at more general concepts to market and come up with a unique selling point. Something to get into people's mind | |||
PerlJam | So ... we should make a Perl 6 implementation called "Shiny Perl" and market that? | ||
bynari | Python has the whole. "Google are behind us" - "We're easy to learn" - "Even school kids can learn it" | ||
Haha. I actually like that, PerlJam | 17:42 | ||
You wouldn't have to change the name. It would still be Perl 6. It would just be an alias | |||
isBEKaml | bynari: No, I tend to think python got the mileage it got was because it had "batteries" - so to say. | ||
bynari | What do you mean by 'batteries', isBEKaml? | ||
isBEKaml | bynari: so, any newbie wouldn't have to look too far just to get to "real world" stuff. | ||
PerlJam | bynari: python's motto was "batteries included" | 17:43 | |
bynari | Ah ok | ||
PerlJam | bynari: i.e. it came with everything you needed to do useful work | ||
bynari | Yes | ||
isBEKaml | bynari: what PerlJam++ said | ||
moritz | and rakudo star tries to do the same | ||
but most of the batteries need to be charged first | |||
PerlJam | heh | ||
TimToady | one can market distributions like Rakudo Star; look at RedHat, Ubuntu, etc | ||
isBEKaml | moritz: that's a way to say it.. ;) | 17:44 | |
17:44
gfldex left
|
|||
bynari reads more about rakudo | 17:44 | ||
PerlJam | Having a "real world" project or two that uses Perl 6 would help greatly I think. | ||
TimToady | though rakudo star is still back at the slackware stage :) | ||
isBEKaml | .oO(slackware - I look at my distro, slackware) |
17:45 | |
bynari | Where does the word 'rakudo' come from? | ||
17:45
fglock left
|
|||
PerlJam | bynari: Rakuda do -- way of the camel (or something like that. I'm sure TimToady could tell you better) | 17:45 | |
isBEKaml | bynari: I think it's in the logo. A gate or pathway. Though TimToady++ can say more about that. | ||
bynari | See this is the problem. It's too smart. Most people won't get that | 17:46 | |
Or remember the word 'rakudo' | |||
17:46
gfldex joined
|
|||
PerlJam | bynari: also, I think Rakudo actually means "paradise" | 17:46 | |
bynari | You guys approach things from a very very intellectual point of view, which is great, but for marketing to the dumbed down masses it doesn't work | ||
TimToady | and ubuntu is better how? :) | ||
bynari | The word 'star' is great | ||
benabik | Someone with access to rakudo.org might want to update the /about page to mention something about the meaning of the name and so forth. | ||
bynari | Not every successful technical project has *everything* right from a marketing point of view :) | 17:47 | |
'redhat' is great | |||
TimToady | for english speakers, but we're aiming higher | ||
bynari | You can't forget that. You just picture a red hat | ||
isBEKaml | TimToady: Hey, I'm not an English speaker! :P | ||
bynari | Literally everything is perception. Most Python programmers don't know WHY they prefer python over ruby or perl | 17:48 | |
PerlJam | isBEKaml: me either ... I'm American ;) | ||
TimToady finds it ironic that ruby is named after a jewel *because* perl was named after a jewel | |||
PerlJam | bynari: yes they do ... it's "cleaner" (less symbology) | ||
bynari | The same with everything in life. Very few can give you intellectual, logical reasons why they prefer something | ||
PerlJam | bynari: Have you read "Crossing the Chasm"? | 17:49 | |
bynari | I've not, no | ||
TimToady | it should probably be required reading for someone who wants to do what you want to do | 17:50 | |
isBEKaml | PerlJam: I know - what you said gave it out! ;) | ||
bynari | It looks interesting | ||
TimToady: Well. The type of web 2.0 projects I'm wanting to create aren't technical. Social applications etc | |||
PerlJam | TimToady: or maybe it's one of those thing where if you name what you're doing, it impedes your ability to do it. | 17:51 | |
bynari | Technical behind the scenes, but not to the users | ||
17:51
jferrero joined
|
|||
isBEKaml | bynari: I think you're missing the point of what you say "intellectualism". What you call intellectualism is just another way of raising the bar for general programming. Look at Haskell. :) | 17:51 | |
TimToady | we do understand most of these principles of marketing, but don't want to apply them too aggressively before the Wave is ready to carry us | 17:52 | |
we're already accused of overpromising and underdelivering | |||
bynari | isBEKaml: You can't force the masses to become something they currently are not | ||
isBEKaml | bynari: "Technical behind the scenes but not to users" - that's what perl5 was about. | ||
bynari | isBEKaml: I'm talking about things like facebook :) | ||
isBEKaml | bynari: Persuasion, not coercion. :) | 17:53 | |
TimToady | so we're looking for a natural growth path toward marketing, not forcing it | ||
bynari | Yes | ||
Rakudo Star is a good first step at going more mainstream, despite the 'Rakudo' part ;) | 17:54 | ||
isBEKaml | bynari: when your marketing is strong, then it's persuasive. It persuades people to try out your product and stays in their mind space for a purportedly 'longer' time than an ordinary product. You're not coercing or forcing them in any way. | ||
bynari | isBEKaml: Yes, but you can't persuade everyone to do everything. You have to approach the market with the right tools | 17:55 | |
TimToady | currently our marketing is still primarily to "early adopters" (c.f. Crossing the Chasm) | ||
isBEKaml | bynari: Yes, that's why we have many products, varying degrees of quality and service. | 17:56 | |
TimToady | I've been doing as much marketing over the last two years as I have been design, but that marketing to early adopters is mostly on rosettacode.org | ||
bynari | If the material doesn't connect with the market in the first place you can't persuade them | ||
TimToady | "the market" is a gross oversimplification | 17:57 | |
bynari | For instance, trying to sell a raw food diet to a 300lbs obsese guy that's been living off complete crap for the rest of his life and barely gets off his chair won't work | ||
mikemol | TimToady: I might have to quote you on that. | ||
bynari | Yet the raw food diet WILL change his life, but it's too far "out his zone of reailty" | ||
reality | |||
doy | bynari: does this mean that raw food diets have no use? | ||
PerlJam | bynari: That's kind of why haskell isn't as "popular" as some other languages. | ||
bynari | doy: They have a use, but not for the masses | 17:58 | |
isBEKaml | bynari: you're either oversimplifying too many things or you got broken analogies. | ||
bynari | isBEKaml: I make over $1k/day marketing using what I'm talking about | ||
I know my stuff :) | |||
TimToady | our goal is not making $1k/day | ||
bynari | I've been surrounded by marketing for the past 4 years. I live and breath it every day | 17:59 | |
mikemol | bynari: Then you know a big part of marketing is knowing your audience. Something tells me you're missing the audience for Perl 6. | ||
bynari | No, but the point is I know why people buy/use something | ||
mikemol: I definitely know the audience | |||
PerlJam | mikemol: plus we want to grow our audience (just like Perl 5 did) | 18:00 | |
bynari | The vast majority of you guys are extremely intelligent and can't understand how most people think | ||
Even most average programmers | |||
Things that to you, are 2nd nature, common sense, to others are like nuclear physics | 18:01 | ||
Things that are exciting for you, are scary for others | |||
18:01
dakkar left
|
|||
isBEKaml | bynari: perl5 didn't aim at smart folks. It made folks smarter. | 18:01 | |
bynari | It's not the Perl community that's your market. It's the whole interpreted programming community | ||
PerlJam | bynari: You're making me itch to write some tutorial-like material again | ||
isBEKaml | perl6 aims to do that and more. | ||
bynari | Yes, but you can't make folks smarter by approaching the problem from a high level point of view | 18:02 | |
You come in at their level and walk them up the path | |||
PerlJam | bynari: aye. You're preaching to the chior I think on this one. :) | ||
bynari | Going back to the obese thing. THe best way to improve your life health wise is a mostly raw plant based diet and lots of high intensity exercise | ||
You can't in a million years go after obese people with that solution | |||
You need to ease them in, make small changes until you start changing their thinking | |||
PerlJam: :) | |||
PerlJam | bynari: Perl 6 still allows for "baby talk" as well as "PhD dissertation". We tend to want to start people with baby talk though | 18:03 | |
bynari | Yes | ||
It's just lacking that shiny packaging right now | |||
PerlJam | (though, in #perl6, it's mostly PhD talk :) | ||
bynari | Yeah, of course :) | ||
Does Perl 6 have a motto btw? | 18:04 | ||
18:04
mj41 left
|
|||
mikemol | bynari: There's not a whole lot I've seen in Perl 6 that Perl, Python or Ruby programmers wouldn't be comfortable with, honestly. The biggest resistences I've seen are: 1) "it's perl, isn't it? *shudder*" and 2) "I'll use it when it's ready, by which I mean I'll use it when it's stable". | 18:04 | |
18:04
not_gerd joined
|
|||
PerlJam | bynari: You mean something separate from Perl 5? | 18:04 | |
bynari: Perl 6 is still Perl, so that normal Perl mottos still apply | 18:05 | ||
bynari | mikemol: You misunderstand me. I'm not saying any functionality of Perl 6 needs to be changed. I'm talking 100% about the shiny box | ||
isBEKaml | mikemol: there's another that I have seen on reddit and HN. It's got too many symbols, though many get over them after some explanation. | ||
benabik | isBEKaml: That's somewhat "It's perl" | ||
bynari | One of the fundamental things in marketing is you CANNOT change the perception a consumer has in their mind once their mind is made up | 18:06 | |
PerlJam | yeah, people are afraid of punctuation for some reason | ||
bynari | MIcrosoft for instance. Let's say they made the BEST linux in the world. | ||
What would you think of it? | |||
isBEKaml | benabik: Ah, I somehow missed it - I was thinking more of backward compatibility thinking. :) | ||
mikemol | bynari: I'd use it. | ||
PerlJam | bynari: 2 words: oxy. moron. ;) | ||
bynari | Exactly, PerlJam | ||
mikemol | bynari: But then I'm a Linux user at home, and a C++-on-Windows dev at work. :) | ||
bynari | We would probably try it out because we're more open minded, but for most once their mind is made up that's it | 18:07 | |
Companies who establish themselves as X in the consumers mind should never go on to create something totally different Y that contradicts X, no matter how good Y is | |||
So what I'm saying is | |||
Unfortunately perl has gotten a terrible reputation in the minds of the newer generation of programmers. Heck most people still think Perl's OO is bad, when really Moose has the most advanced OO out there | |||
benabik | No computer company could ever convince people that they make the best mobile phone. >.> <.< | ||
mikemol | bynari: If you want to talk about a shiny box, what Perl 6 really needs is a very visible demonstration of its efficacy. | ||
bynari | So when you say 'perl 6', people see 'perl' | 18:08 | |
mikemol | bynari: That's the biggest thing I've seen people ask for when they ask if it's ready. They want to see someone else dive in before they do. | 18:09 | |
bynari | Yes | ||
isBEKaml | bynari: there. I was waiting for it. So, here we come a full circle. :) | ||
mikemol | I mean, I got excited about Perl 6 when there was a Linux Journal or Linux Magazine article about it almost a decade ago, because the syntax was so much nicer than in Perl 5, what I was using at the time. | ||
bynari | Yeah | ||
isBEKaml | bynari: though, there's one thing you missed about programmer audience. They don't see languages in a black and white sort of way you put it (ignoring fanatics and language lawyers). I generally found them to be very open minded about new languages. | 18:10 | |
bynari | Much more so than the general masses, but still very far from the people you'll find in here | 18:11 | |
benabik | Most good programmers learn a new programming language on a regular basis. Most bad ones use whatever their boss tells them to. ;-) | ||
bynari | If you guys were at 100 and the fat needy masses who want to lose weight fast and get rich were at 0, the mass programming market would be at 30-40 | ||
There's very very few programmers who learn new languages, benabik | 18:12 | ||
PerlJam | It "feels" to me like we're on the cusp of some important event in the Perl 6 universe. But I haven't kept a record of how often my gut is right or wrong to know how much weight to put behind the feeling :) | ||
bynari | In your world there is, but in the wider programming world the latter you described is the norm | ||
I don't know much about Perl 6, but my gut tells me it's something special | |||
benabik | bynari: I think the publishers of books on learning programming languages would argue with you. | 18:14 | |
bynari | They are entitled to their opinion | ||
18:14
GlitchMr joined
|
|||
bynari | I will point out that both groups in your example will buy new books | 18:14 | |
Buying a book isn't an indication of any particular motive | 18:15 | ||
benabik | I don't think people spend money on a book teaching a new language on the theory that they're going to use it to hold up a rickety table. Or at least they don't buy it new. | ||
bynari | Ahahaha :) | 18:16 | |
They'll buy a new book because they have to learn something new for work | |||
isBEKaml | bynari: you can say that because the numbers of those who pick up new programming languages routinely, are not talked about very much. So, it's a black picture here for you. | ||
bynari | There's 10's of thousands of people who love learning new languages and do it for fun, but there's millions who learn because they need to do it for their job to put food on the table | 18:17 | |
benabik | It's going to be a while before people have to learn Perl 6 for their job. So our market is those people who learn it "for fun". (Or to keep their skills sharp, or to pad their resume, or whatever.) | 18:18 | |
isBEKaml | Well, none of us here are arguing your other points. They are well taken. What I'm against is, dumbing down stuff and thereby insulting their intelligence. | ||
bynari | As long as that remains your market though, you won't see substantial growth and you won't get into the mainstream | ||
benabik | isBEKaml++ | 18:19 | |
PerlJam | isBEKaml: Haskell doesn't "dumb down" anything and as a result, it's seen as an elitist academic language. | ||
bynari | isBEKaml: You perceive it as dumbing down and insulting their intelligence. Most see it as helpful | ||
PerlJam | :-) | ||
bynari | I'm extremely smart, but I love it when someone dumbs something down for me. Why not? | ||
Ego is pointless | |||
18:19
Chillance joined
|
|||
bynari | If I can learn something faster then all the better | 18:19 | |
benabik | There's a difference between presenting a tutorial and "Rakudo is too complicated a name for you to remember" | 18:20 | |
bynari | Regular people love it when things are dumbed down for them too becuase they just want to learn and enjoy life | ||
isBEKaml | PerlJam: Exactly. But again,they are extremely helpful and *really* enjoy looking at your "Ah-ha" faces, don't they? :) | ||
benabik | Teaching != dumbing down | ||
bynari | The only people who get offended by dumbing down are generally people who like to pretend they're very smart | ||
It's just semantics | |||
dumbing down is just making something more digestable | |||
Why make something more difficult than it has to be | 18:21 | ||
Even the greatest scientists tried to make things as easy as possible for themselves to understand | |||
not_gerd | Terry Pratchett calls this lies-to-children: you need to start with a simplified version and build up from there | ||
bynari | What matters is learning and productivity, not how you learned something | ||
PerlJam | not_gerd++ | ||
sorear | "Python is easier to remember than Rakudo" is a hilariously anglocentric statement | 18:22 | |
not_gerd | (also known as Wittgenstein's ladder, btw;)) | ||
sorear | I suspect that for 1/4 of the people on Earth 楽土 is more memorable than 'python'... | 18:23 | |
and for the rest they're both strings in an incomprehensible language | 18:24 | ||
PerlJam | sorear: memorable? I'd remember it as "some sequence of symbols I can't easily reproduce" :) | ||
sorear | imagine you speak Hindi and "rakudo", "niecza", "python" are all just meaningless strings of characters | ||
isBEKaml | sorear: anglocentric? I'm not getting the reference? | ||
18:24
ksi joined
|
|||
isBEKaml | Ah | 18:24 | |
benabik | isBEKaml: Focused on people who speak English. | 18:25 | |
sorear | isBEKaml: anglo-, from England/English | ||
isBEKaml | sorear: yes, I got that part. I was wondering more about what "python" and "rakudo" has to do with anything here. FWIW, python's an english word too. | ||
benabik | isBEKaml: Rakudo isn't. It's based in Japanese. Which we're being told is bad. | 18:26 | |
isBEKaml | nvm, I later saw what you referred to. | ||
Tene | Also, the majority of "dumbed down" documentation seems to cater to specific learning styles, and really doesn't work for me. I really hate documentation that goes on and on about metaphors and goes as slowly as possible, repeating everything a dozen times... | ||
sorear | ==Tene | 18:27 | |
Tene | It obviously works very well for many people, but not for me. | ||
sorear | It's not that I'm a "genius", I'm just impatient | ||
bynari | IMO the best marketing plan would be to keep the name "perl 6" in the background, focus on "rakido star", or even better change it to "something star" then from there create a new unique selling point, something along the lines of "the language that allows you to express your creativity naturally", then from there create a couple of marketing-oriented learning resource sites that actively get | ||
people learning not just perl 6, but programming. Also approaching schools, colleges and other learning instutions and pushing perl 6 there | |||
Even creating tools FOR schools written in perl 6 that allow students to engage in more hands on learning | |||
In the mainstream marketing campaign I wouldn't use the word 'perl' anywhere either | |||
sorear | you seem to think we *want* a good marketing plan. | 18:28 | |
bynari | sorear: If you don't, then no problem | ||
doy | the other aspect to this is that perl 6 is still changing rapidly enough that getting lots and lots of outside people interested in it who aren't early adopters could well be very harmful to its image | ||
flussence | .oO( oh great, I've come back to one of *these* threads again... ) |
||
sorear | I for one am a disciple of the original Haskell motto, Avoid success at all costs | ||
PerlJam | sorear: yuck. (I say that as a person who likes haskell) | ||
doy | marketing is not always an unqualified good, depending on what you are marketing | 18:29 | |
benabik would prefer more people working on implementation than more people trying to use the language. | |||
isBEKaml | sorear++ # What TimToady++ too said earlier. The only thing we need to prove to the world is to *do* Perl6. | ||
bynari | Marketing its self is 100% neutral | 18:30 | |
Tene | When I first started learning Haskell, I tried to read through Learn You A Haskell after hearing about so many people liking it, and it was painful and awkward for me. | ||
bynari | If everyone was a logical machine we wouldn't need it, but people work the way they work and if you want to do good for people then you need to play the game of marketing | 18:31 | |
Tene | I think that has a lot more to do with learning style than it does with "intelligence" of the documentation. | ||
isBEKaml | Tene: I felt the same way. Then I switched to RWH for a more straightforward discussion (Even then, the initial chapters felt awkward) | ||
Tene | I learned far more from reading the haskell 2010 report | ||
"Here is syntax. Here is semantics. Next section." | 18:32 | ||
RWH was okay for me, but not great. | |||
sorear | good to hear they FINALLY finished the revision effort | ||
flussence | I think I get why people say PHP has a good documentation website | ||
sorear | I read the '98 report in '07 or so, and I beleived that the "2010 report" would be unfinished forever | 18:33 | |
flussence | it's pretty dense with actual information, to the point where you can start doing stuff without a tutorial | ||
Tene | I hate PHP's documentation, but I always hear about people loving it. Same with mysql, I hear about people loving the documentation, but I hate trying to find anything in it. | ||
isBEKaml | Tene: I had those irritating moments when they kept going like "We know what you're thinking... and imperative language discussion ensues.." | ||
flussence | Tene: I tried using the dev.mysql site recently, I know exactly what you're talking about :) | 18:35 | |
sorear | I also learned a lot from SPJ's _Implementation of Functional Programming Languages_ | ||
isBEKaml | those were about the only times I found myself skipping pages. | ||
flussence | front page: "BUY THIS!!1", search results: "here's a billion duplicate results for point releases, none of which are the thing you want" | ||
the nicest thing about php's docs is that if you know the name of what you're looking for, it's at php.net/$name | 18:37 | ||
(and if you don't, you can usually find it soon-ish by stumbling around blindly :) | 18:38 | ||
Tene | The big difference to me is between conversational vs structured; with conversational documentation, the actual information is scattered and mixed. Compare the table at the top of www.postgresql.org/docs/8.1/static/...n-iso.html to the conversational text in dev.mysql.com/doc/refman/5.0/en/set...ction.html | 18:39 | |
Talking with others, though, I know several people who greatly prefer conversational to structured. | |||
flussence | Tene++ # there's a name for those? :D | ||
sorear | I think the Perl 6 documentation would benefit from an organization where the semantic model is clearly set out in one place | 18:40 | |
benabik | I tend to call it tutorial and reference documentation. | ||
Tene | flussence: those are the names I use; I've seen others. | ||
bynari | Conversational is great. Good teaching material shouldn't just give people technical details, it should show them new ways of thinking. Take them on a journey to open up their mind | ||
PerlJam | bynari: but only if it tells a good story | 18:41 | |
conversational but dry rarely works | |||
Tene | Conversational has its place, but if it's the *only* thing present, I'm going to hate using your docs. Even if it were nice the first time through, it would still be a pain for later reference use. | ||
I don't want to read a story to look up language semantics. | 18:42 | ||
isBEKaml | Tene++ # Exactly! | ||
Tene | Some people do, though. | ||
bynari | Yep | 18:43 | |
PerlJam | I don't think anyone wants to read a story to lookup language semantics. That's how they want to be introduced to the language or to learn new features, but once they've gotten there, they want a nicely indexed reference where they could lookup "methods" or "objects" and find the right bit of knowledge they are looking for | 18:44 | |
Tene | PerlJam: I know a few people I've talked about this at length with who claim they do prefer conversational discussions for reference material, and claim they have trouble with structured reference style. | 18:45 | |
not_gerd | there's no one-size fits all solution | ||
personally, I'm most comfortable with 3 types of docs: basic tutorials/code examples, big picture language overview, specification-style reference docs | |||
PerlJam | Tene: I can only imagine that working when it's a story they are quite familiar with. "Objects? Ah, that's on page 35 right after the example using farm animals" | 18:46 | |
Are there any publications that regularly feature perl-related content? | 18:48 | ||
like the Perl Journal used to do | |||
or merlyn's column in Web Techniques | 18:49 | ||
TimToady | well, not very regular, but theperlreview.com/ | ||
not_gerd | is there a best-practice workaround for the lack of <commit> in rakudo grammars? | 18:50 | |
TimToady | looks like it may have gotten tired last year | ||
throw an exception? | |||
PerlJam | It seems to me part of Perl's image problem is that all of the regular writers have gotten burnt out or moved on to other things. | ||
37signals and RoR got popular mainly because DHH and Jason Fried went to every conf. they could and talked about themselves and what they were doing. | 18:51 | ||
There's not enough of us "talking about perl" to a wider-than-the-echo-chamber audience | 18:52 | ||
18:52
fglock joined
|
|||
TimToady | at the moment the Perl 5 community is outside the Perl 6 echo chamber, so we're marketing Perl 6 at Perl 5 conferences :) | 18:52 | |
bynari | The wider perl5 guys are also part of that general programming group | 18:53 | |
18:53
xinming left
|
|||
TimToady | I think a killer app would be a refactoring PHP-to-Perl6 translator | 18:53 | |
bynari | It's a lot of the perl5 guys that went to ruby/python | ||
18:53
ggoebel joined
|
|||
bynari | as well as ruby/python picking up php programmers and new-comers | 18:54 | |
I was trying to advice a friend of mine to learn Perl, but he INSISTED that Python was the way forward and he'd been advised Python by his friend. This was an MIT post-grad nuclear physicist too | |||
And his friend who advised him was a harvard grad physicist | |||
isBEKaml | I think this has already been talked about - RoR was mostly the reason for Ruby's popularity. There's some "loud noise" coming from haskell circles mainly due to Yesod | ||
PerlJam | TimToady: I think a killer app would be using Perl for something outside of the programming community :-) (bioperl maybe?) | ||
TimToady | and Perl 6 has picked some folks back up from all those communities too; they'll end up evangelizing their original communities | 18:55 | |
PerlJam | if we can make the implementations useful enough | ||
bynari | Most people don't even know Perl 6 exists | ||
not_gerd | nom: "foo" ~~ / \d+ || { die } /; CATCH { $_.perl.say } | 18:56 | |
p6eval | rakudo 182b2f: OUTPUT«X::AdHoc.new(payload => "")Method 'match' not found for invocant of class 'Any'» | ||
not_gerd | I'd like to get more information than that... | ||
sorear leaes. | 18:57 | ||
TimToady | not_gerd: then consider supplying more information | 18:58 | |
isBEKaml | n: die $!.say | 18:59 | |
p6eval | niecza v15-4-g1f35f89: OUTPUT«Any()Unhandled exception: True at /home/p6eval/niecza/lib/CORE.setting line 1362 (die @ 3)  at /tmp/6o8pAreCBJ line 1 (mainline @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3838 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3839 (m… | ||
18:59
NamelessTee left
|
|||
isBEKaml | b: die $!.say; | 18:59 | |
p6eval | b 1b7dd1: OUTPUT«Any()Bool::True in main program body at line 22:/tmp/iEChAoVMpa» | ||
TimToady | why are you trying to die with a boolean? | ||
ggoebel | bynari: imho the goal of marketing for perl6 shouldn't be about bringing in companies and code monkeys... but about attracting talent and cross-polination between lessons learned from different languages and implementations | 19:00 | |
bynari | The 2 aren't mutually exclusive | 19:01 | |
You can't bring in talent without the capitalist machine | |||
[Coke] | +# 03/07/2012 - rakudo++ ; niecza (96.02%); pugs (34.64%) | ||
+"niecza", 20306, 1, 757, 1540, 22604, 23759 | |||
+"pugs" , 7325, 0, 2854, 868, 11047, 23568 | |||
+"rakudo", 21146, 31, 626, 1888, 23691, 24026 | |||
ggoebel | perl6's selling points are the fertile ground, the pleasant community, and relative absence of ax grinding | ||
bynari | A lot of talent goes for Python because of Google | ||
PerlJam | ggoebel: I think we've got far too much "lessons learned" from other languages. That's not our weakness :) | ||
ggoebel | and the slow steady march of progress | 19:02 | |
bynari | Python has a pleasant community. YOu can't take the USP of another brand | ||
PerlJam | ggoebel: slow and steady isn't sexy though. | ||
ggoebel | slow and steady is sexy to corporate types in the long run... | 19:03 | |
bynari | Definitely not, ggoebel | ||
Corporations are very much quarter-to-quarter | |||
[Coke] | n: say 8000/21146 | ||
ggoebel | backward compatibility without vendor lock-in is sexy | ||
p6eval | niecza v15-4-g1f35f89: OUTPUT«0.37832214130331976» | ||
isBEKaml | bynari: tell that to Java shops. | ||
[Coke] | usp? | 19:04 | |
bynari | Companies use Java because of the abudance of Java programmers | ||
isBEKaml | Unique Selling Point. | ||
bynari | That's also a quarter to quarter tactic | ||
Rather than picking the best language and training up staff for the long-game, they'll take what they can now for quick results | |||
ggoebel | success breeds success and perception is reality | ||
PerlJam | "friendly community" is hardly unique to python. | ||
bynari | People perceive Python to be friendly, which means they have the monopoly on that one | 19:05 | |
TimToady | non sequitur | 19:06 | |
bynari | The same way people perceive microsoft to be user friendly. If another software companies comes along and tries to say they're just as user friendly people won't buy it. When it comes to user friendliness they'll go with MS | ||
ggoebel | bynari: what in your opinion is the potential big draw for perl6? | ||
bynari | If another company wanted to topple MS in an area they'd need something fresh to get into prospect's minds | ||
timotimo | i thought macs are "user friendly"? | ||
ggoebel | timotimo: ditto | ||
timotimo | or are macs just "easy"? | ||
TimToady | it's really easy to oversimplify | ||
bynari | ggoebel: Off the top of my head I would focus on creative expression and ease of use | ||
something that allows any programmer of any skill level the creative expression to create what they imagine | 19:07 | ||
PerlJam jots down a few more ideas for Perl 6 articles | |||
bynari | It's a fresh angle that python/ruby haven't gone after | ||
The other things are secondaries. Like when you pick up something and it says "Contains strawberries", and you think cool.. I love strawberries. Then it also says "No added sugar" and you think "ooh lovely! sold" | 19:08 | ||
You don't advertise the "no added sugar", you advertise the "contains strawberries", but the other bits seal the deal once the prospect picks up the box as it were | |||
ggoebel | bynari: how to do you sell that idea in a way that plays to the low, middle, and hi brow programmers and corporate pointy haired bosses without coming off as a pompous jerk to one group or jargon bingo idiots to the others? | ||
TimToady | ggoebel: you have different channels | 19:09 | |
bynari | Well. You don't try to sell to everyone at the same time. You can't really do that | ||
The market isn't the pointy haired bosses. Once enough people start using Perl 6 and creating cool stuff, more jobs become available, more people learn the language, more money is pumped into it | |||
The goal isn't to have every company use it. We don't want to compete with Java | 19:10 | ||
We want to compete with Python and Ruby | |||
TimToady | I want to compete with Java and PHP and Haskell | ||
bynari | Toppling java is a whole other strategy | ||
ggoebel | TimToady: I was waiting for someone to say that... | ||
bynari | Java is top of the commercial world. There's way more Java jobs than Python, but Python is huge because of Google | 19:11 | |
tadzik hopes Go gets huge because of Google | |||
TimToady | but most of that doesn't leak out of the Googleplex | ||
tadzik | I quite like Go, and I was never quite fond of Python | ||
araujo | write an application that takes advantage of perl6 features , fast, easy to deploy, and extend .... | ||
ggoebel | bynari: what is the LHF for marketing perl6? something that can be done successfully, recognized as success, and built upon? | ||
araujo | that would be a start | ||
19:12
NamelessTee joined
|
|||
bynari | A couple of sites aimed at the mainstream needs to be created | 19:12 | |
ggoebel | araujo: is there a perl6 implementation that iyho is ready for that? | ||
araujo | ggoebel, rakudo seems nice already .... | 19:13 | |
bynari | Sites that start to become well known and become talked about | ||
PerlJam | ggoebel: I think Rakudo and Niecza both could fit that bill if you're willing to be a little lax on "easy to deploy" | ||
bynari | No perl6 dev talk on them, or news about the compilers, or language features etc. Just fun stuff you can do with Perl 6 | ||
araujo | ggoebel, for a start, and small production code ... it seems good | ||
bynari | And on that site you'd have a list of companies who are using Perl 6 for production | 19:14 | |
araujo | also note that, at this stage, developing a perl6 application, would also take you into perl6 development ... which can be a good thing :) | ||
[Coke] ponders a yapc::na talk : "fun stuff you can do with Perl 6" | |||
bynari | That's something that has to be built up. No one will do it because no one else is doing it | ||
flussence | TimToady: if you want to appeal to PHP users, you have to learn to think like one. That way lies madness... :) | ||
bynari | Someone has to take the jump | ||
PerlJam | [Coke]: you know, I just jotted that down as an idea to expand upon myself :) | ||
ggoebel | a new site often becomes and old unmaintained one... which is a problem for perl | ||
bynari | And as I've said before, the name 'perl' has to be released for real success | 19:15 | |
tadzik | [Coke]: I had an idea for a talk like Real World Perl 6 | ||
bynari | I don't think you guys understand quite how important that is or the effect it would have | ||
ggoebel | the advent calendars have served that role... fun cool perl6 stuff | ||
tadzik | as in Actually Building Useful Stuff | ||
19:15
pernatiy left
|
|||
bynari | If you hit the market with a fresh new name, no ties to the current perl perception | 19:15 | |
tadzik | I met a few people here on GPW who were like "as soon as Perl 6 is capable of XXX I can use it" | ||
bynari | People perceive Perl 5 as being sloppy, old, write-only and even Perl 6 has a reputation now for not living up to promises | 19:16 | |
tadzik | where XXX was things like "A web framework with database access" | ||
which should be quite achievable right now | |||
bynari | A name is just a name. What matters is the SOUL of the project | ||
19:16
am0c left
|
|||
[Coke] | PerlJam: you going to yapc::na? | 19:16 | |
PerlJam | [Coke]: probably not. | ||
:-( | |||
skids | bynari: that is indeed one of the things I like the most about Perl (5 and 6). There's a learning curve there if you want it, and the hill goes very high (all the way to meta programming now) but you can also have a lot of fun just cruising around at the same altitude. | 19:17 | |
bynari | skids: Yep | ||
It's definitely easier to be more productive in Perl as a newbie than python or ruby | |||
But no one knows this | |||
They just have this perception that Perl is messy and hard | |||
TimToady | so a web 2.0 site for six-year-old programmer wannabes | 19:18 | |
bynari | I think you should rename the project Zerl | ||
PerlJam | [Coke]: since my dad died, I'm probably going to spend the next 6 months to a year helping my mom straighten out his things (there's just *so* much stuff that people leave behind) | ||
ggoebel | I've got some 9-10 year old programmer wannabes | ||
bynari | Z = Very cool | ||
ggoebel | make it a web 2.0 game that you can extend in perl6 and you'll hook the next gen | ||
PerlJam | bynari: Z as a meta-op is very very cool | ||
bynari nods | 19:19 | ||
[Coke] | hugme: hugh PerlJam | ||
hugme | [Coke]: | ||
[Coke] | hugme: hug PerlJam | ||
hugme hugs PerlJam | |||
[Coke] | #hugh jackman? | ||
TimToady | six-year-olds won't care what the PHBs think of Perl currently; they'll think it's cool | ||
PerlJam | my @foo = @a Z+ @b; # that makes me a little giddy every time I see it :) | ||
TimToady | and six-year-olds will remember that pearls are cool | ||
araujo | Well, you can write messy hard-to-read code in any language, I think this is more a matter of programming practice and "programming aesthetic" | 19:20 | |
ggoebel | TimToady teach them to play with perl6? | ||
bynari | araujo: You're preaching to the choire :) | ||
ggoebel | sounds similar to something a wise man once said about fishing | ||
PerlJam | teach a man to fish and he'll sit in your boat and drink all of your beer? | 19:21 | |
ggoebel | There's alice, squeak, etc. that mix art, programming, and play | 19:22 | |
TimToady | and haven't taken over the world either | ||
araujo | bynari, I do think about that ... and I think programming is going that way too .... look at today's languages ... we have declarative programming taking more strength through different projects, and many languages are focusing as much in aesthetic as in any other aspects that probably were the main focus before, like optimization, speed, and so on | ||
For example, Go ... many of its decisions design are based on "aesthetic" | 19:23 | ||
TimToady | indeed, and "blech" :) | ||
araujo | :) | 19:24 | |
TimToady | I think many of Go's design decisions are based on "anaesthetic" :P | ||
bynari | The mind solves problems through beauty | ||
TimToady | "I no longer feel how much it hurts to pretend to be a computer" | ||
bynari | When something, like a problem can be perceived in a more beautiful way we can often see solutions that we wouldn't otherwise have seen | 19:25 | |
araujo | The code is usually very readable .. at least I think so .... and not hard to get into system programming with it | ||
ggoebel | People tend to have fond memories of their first programming languages no matter how disfunctional they were... | ||
[Coke] | moritz: wow, autounfudge is so much nicer on pugs. ;) | ||
ggoebel | perl6 for 6 year olds sounds like a very nice goal | ||
TimToady | gee, maybe we should come up with a mascot that 6-year-olds will like... | 19:26 | |
ggoebel | :-) | ||
[Coke] | I wonder if it will continue to be fast as it catches up feature wise. | ||
ggoebel | got to go pick up my 5-year-old | ||
TimToady | well, this is where the spiral approach to design will help us understand how the design prevents good optimization | ||
where we have to force the programmer to think like a computer to get good performance, and where we don't | 19:27 | ||
there is a set of problems for which Perl 6 is already "good enough", but every time we make it twice as fast, the applicability goes up by the square of that, or some such | 19:28 | ||
I've already written an editor in Perl 6, but it runs a lot smoother on niecza simply because it's faster | 19:29 | ||
19:30
mj41 joined,
birdwindupbird joined
|
|||
felher | regarding S04-control.pod:1057: `If [something] or [otherthing] ([explanation for otherthing]).` <-- are we missing a "then foo happens" here? Otherwise it seems that i just don't get that sentence. | 19:40 | |
19:41
Trashlord left
19:42
not_gerd left
|
|||
PerlJam | felher: no, that seems to be an incomplete sentence. | 19:43 | |
felher | PerlJam: k :) | 19:48 | |
[Coke] | pugs: say 3.Rat | 19:49 | |
p6eval | pugs b927740: OUTPUT«*** No such method in class Int: "&Rat" at /tmp/4nIf6f470W line 1, column 5 - line 2, column 1» | ||
[Coke] | moritz: can you get pugs to rebuild? | ||
moritz | [Coke]: I'll try | 19:50 | |
felher | Another thing 'bout exceptions (S04-control.pod:1050): why do we set @! of the outer caller to all handled exceptions, if there weren't any unhandled exceptions? | 19:56 | |
19:57
preflex left
19:58
preflex_ joined,
preflex_ is now known as preflex
20:01
krakan joined
|
|||
moritz | [Coke]: yes, pugs rebuild worked | 20:05 | |
20:06
gilm left
20:25
fglock left
20:31
cotto left
|
|||
TimToady | great, we all get to revalidate our ssh keys on github... | 20:31 | |
20:32
cotto joined
20:44
birdwindupbird left,
benabik left
20:45
fsergot left,
birdwindupbird joined
|
|||
[Coke] | pugs: say 3.Rat | 20:49 | |
p6eval | pugs b927740: OUTPUT«*** No such method in class Int: "&Rat" at /tmp/hxg3hX_zza line 1, column 5 - line 2, column 1» | ||
[Coke] | moritz: I meant p7eval pugs. | ||
er, p6eval pugs. | |||
20:58
birdwindupbird left
21:05
MayDaniel left
|
|||
skids | Hrm, interesting appeal from DuQu dissectors just posted to /. to try to identify what compiled the main body of the virus. | 21:09 | |
erm, malware, whatever | 21:10 | ||
21:12
pernatiy joined
|
|||
colomon | moritz: this seems to be where my 64-bit Windows build is failing: building parrot in --gen-parrot, I guess: gist.github.com/1996282 | 21:13 | |
21:13
GlitchMr left
|
|||
colomon | does that mean anything to anybody here, or do I need to wander over to #parrot? | 21:13 | |
21:15
sporous left,
sporous joined,
att joined
|
|||
moritz | colomon: no idea | 21:16 | |
tadzik | phenny: ask jnthn how hard would it be to make S14-roles/attributes.t run on rakudo? | 21:17 | |
phenny | tadzik: I'll pass that on when jnthn is around. | ||
21:19
bluescreen10 left,
pmurias_ joined
21:20
pmurias_ is now known as pmurias
|
|||
pmurias | sorear: hi | 21:20 | |
sorear: do you think p5/niecza interop would make a good gsoc project? | 21:22 | ||
21:39
Trashlord joined
22:02
skids left
22:03
Trashlord left
|
|||
felher | moritz: fwiw: i think i found a typo in an old blogpost (perlgeek.de/en/article/mutable-gram...r-perl-6): "we're ambitious and what to allow". That "what" may have wanted to be a "want". :) | 22:07 | |
22:07
ksi left
|
|||
felher | moritz: nice post btw :) | 22:07 | |
22:08
Trashlord joined
22:10
benabik joined
22:11
thou left
|
|||
mj41 | TimToady: @homakov ... postereous, speakerdeck, scribd, github - and I only have started testing. ... github.com/rails/rails/issues/5228...nt-4286254 | 22:32 | |
22:34
havenn joined
22:35
kaare_ left
|
|||
felher | after getting lost in moritz++ blog posts, /me decides to go to bed. good night, folks. | 22:36 | |
tadzik | 'night | 22:37 | |
22:58
envi_ joined,
thou joined
23:10
havenn left
23:14
mattp_ left,
mattp_ joined
23:18
mj41 left,
Trashlord left
23:30
Chillance left,
skids joined
23:34
Tedd1^ left
23:43
sivoais left,
PacoAir left
23:48
NamelessTee left
23:57
tokuhirom joined
|