Pugs 6.2.8 released! | pugscode.org | pugs.kwiki.org | paste: sial.org/pbot/perl6 | www.geeksunite.net Set by autrijus on 13 July 2005. |
|||
06:48
Boogie_ is now known as Boogie
06:59
castaway_ is now known as castaway
08:43
_jql is now known as jql
08:56
Maddingue__ is now known as Maddingue
|
|||
svnbot6 | r5884 | iblech++ | * Usual svn props. | 09:14 | |
r5884 | iblech++ | * PIL2JS: | |||
r5884 | iblech++ | * Cleaned up assignment rewriting rules (i.e. my $scalar = @array). | |||
r5884 | iblech++ | * my @b = @a; @b[...] = ... changed the original @a, fixed. | |||
r5884 | iblech++ | * my %h = $scalar did only work if $scalar was a Pair; now it works with all | |||
r5884 | iblech++ | scalars. | |||
r5884 | iblech++ | * Prelude::JS::Operators -- Added &abs. | |||
r5884 | iblech++ | * Prelude::JS::Array -- &min and &max (but doesn't work yet correctly). | |||
r5885 | iblech++ | PIL2JS: | 10:05 | ||
r5885 | iblech++ | * PIL2JS.js -- Fixed bind cycle detection rules (@a[1] := $b; $b := @a[1]). | |||
r5885 | iblech++ | * Prelude::JS::Array -- Fixed &min and &max, all tests pass: | |||
r5885 | iblech++ | m19s28.vlinux.de/iblech/stuff/not_p...max.t.html | |||
r5886 | iblech++ | PIL2JS: Prelude::JS::Array -- Fixed map { [...] }, all tests of | |||
r5886 | iblech++ | flattening_in_map.t now pass: | |||
r5886 | iblech++ | m19s28.vlinux.de/iblech/stuff/not_p...map.t.html | |||
wilx | Heh. Looks like iblech is really serious about this :) | 10:21 | |
theorbtw1 wonders if he'll be able to do the interesting bits of google maps hacking in p6 any time soon. | |||
10:21
theorbtw1 is now known as theorbtwo
|
|||
Aankhen`` | wilx: I should think so... the JS backend is the most advanced out of all the backends supported by Pugs. | 10:26 | |
castaway | shouldnt it be a parrot backend/whatsit? | 10:27 | |
Aankhen`` | castaway: ? | ||
theorbtwo | No, parrot is a backend. | ||
castaway | Hmm, parrot only runs bytecode, it doesnt turn it into other things? (I guess not, what was I thinking of..) | 10:31 | |
theorbtwo | It does also turn it into other things... but only as a side-effect, mostly. | ||
It will turn pasm into x86 asm, for example, but only because it does that anyway, in order to get it to run fast on x86es -- packaging it up into an executable after that was easy, so it does it. | 10:33 | ||
castaway | I see | 10:34 | |
(I think) | |||
I was actually just thinking one can create parrot bytecode from JS, but thats a different problem | |||
theorbtwo | That's a very different problem. | 10:35 | |
castaway | right | 10:36 | |
svnbot6 | r5887 | iblech++ | * New test: t/builtins/lists/undef_in_map.t | 10:41 | |
r5887 | iblech++ | +map { () } @foo should be 0 (works in normal Pugs, but does not in PIL2JS). | |||
r5887 | iblech++ | * New test: t/builtins/lists/mutating_listops.t | |||
r5887 | iblech++ | map { $_ = ... }, grep { $_ = ... }, for @foo { $_ = ... } should all work. | |||
r5887 | iblech++ | Does not work in normal Pugs, passes 5/5 in PIL2JS :): | |||
r5887 | iblech++ | m19s28.vlinux.de/iblech/stuff/not_p...ops.t.html | |||
r5887 | iblech++ | * PIL2JS: Prelude::JS::ControlFlow, Prelude::JS::Array -- | |||
r5887 | iblech++ | &statement_control:<for>, &map, and &grep all support modifying the array | |||
kgftr|konobi | castaway++ # JS on parrot | ||
svnbot6 | r5887 | iblech++ | they're iterating over now. | ||
castaway | eh, what, me? | 10:43 | |
(note to self: the longer the svn commit texts are, the more karma one gets..) | 10:44 | ||
theorbtwo | Yep. | ||
You even get karma for the blank lines in there. | |||
castaway | nifty, no? | 10:45 | |
wilx | It works but it is slow. | 10:55 | |
Somebody should push the Mozilla guys to make their JS implementation faster :) | |||
castaway | mebbe JS needs a bytecode form too | 10:57 | |
coral | that'd be nice | 10:58 | |
theorbtwo | No reason the bytecode form of JS can't be pbc. | ||
coral | castaway: heh! | ||
castaway | pbc? | 10:59 | |
theorbtwo | Parrot Byte Code. | ||
wilx | @karma iblech | 11:00 | |
?karma iblech | |||
Hmhm. | |||
castaway | karma iblech | ||
jabbot | castaway: iblech has karma of 337 | ||
theorbtwo | top karma | ||
karma highest | |||
jabbot | theorbtwo: highest has neutral karma | ||
theorbtwo | jabbot, help | ||
jabbot | theorbtwo: Tell me more about that. | ||
castaway | hmm, get Moz to be a parrot vm? | ||
Odin- | That would be interesting. | 11:01 | |
theorbtwo | ...but at least socialy difficult. | ||
castaway | well except that there are "other browsers" too :) | ||
theorbtwo | No idea how technically difficult. | ||
Aankhen`` | perlbot top 10 karma | 11:05 | |
perlbot | The top 10 karma entries: C: 57, iblech: 19, Yaakov: 11, gaal: 10, stevan: 9, C/C: 9, japhy: 8, putter: 8, integral: 7, autrijus: 7 | ||
Aankhen`` | jabbot, top 10 karma | ||
jabbot | Aankhen``: Does talking about this bother you? | ||
Aankhen`` | Ah well, 'twas worth a shot. ;-) | ||
Hmm... can I create a class that behaves like a hash, sigil and all included? Something that works along the lines of: "my %foo = Foo.new();" | 11:28 | ||
Aankhen`` wonders if this might be achieved by passing a different representation name to `CREATE`, as mentioned somewhere in A12. | 11:31 | ||
?eval class Foo { method new (*%_) { return ::?CLASS.bless(%_); } }; Foo.new(:a<b>, :c<d>) | |||
Bleh. | 11:32 | ||
masak has just read chromatic's "Porting Test::Builder to Perl 6" on perl.com | 13:46 | ||
would it be too early to build a pugs Test::Base module? | |||
castaway | is it ever too early? :) | 13:48 | |
masak | i have no idea, that's the point :) | ||
i would like to see a Test::Base for pugs | |||
(and autrijus would too, i seem to remember) | 13:49 | ||
castaway | well go for it then :) | ||
masak | but i don't know if it's feasible yet | ||
maybe the easiest way to find out is just to try... | |||
i imagine it would be a cross between chromatic's new Test::Builder and ingy's perl5 Test::Base somehow | 13:50 | ||
or rather a rewrite of the latter using the former :) | |||
integral | hmm, is svnbot6 not working? | 15:06 | |
svnbot6 | r5888 | bsmith++ | Added grouping and ranking of nodes to util/importgraph.pl. | ||
r5889 | bsmith++ | Deleting Pugs.Compile.Pugs2 as it is unused, and little more than a skeleton. | |||
r5889 | bsmith++ | It is also obsolete since the new PIL system is now used for compiling. | |||
integral | ah, there is is :-) | ||
15:06
khisanth_ is now known as Khisanth
|
|||
autrijus | I'll sleep now. :) feedback welcome on the type inferencing proposal before I put it to action tomorrow :) | 15:08 | |
# www.nntp.perl.org/group/perl.perl6....uage/22519 | |||
& | 15:09 | ||
integral | that seems nice and comprehensive | 15:16 | |
masak | every aspect of perl6 seems like a feature slightly too good to be true/too complicated to implement | 15:38 | |
svnbot6 | r5890 | bsmith++ | Added export lists to lots of haskell files. | ||
masak | but OTOH, here's pugs doing most of it already :) | ||
svnbot6 | r5891 | bsmith++ | Moved getLibs from Pugs.Prim.Eval to Pugs.Run. | 16:32 | |
r5891 | bsmith++ | Removed some extra references to Pugs.AST.Internals where Pugs.AST is already | |||
r5891 | bsmith++ | imported. | |||
bline | Pugs.Prime.Evil | 16:34 | |
brentdax | bline: That's the Python implementation, right? | 16:59 | |
svnbot6 | r5892 | bsmith++ | Added parseNatOrRat function to Pugs.Parser.Number. | ||
r5892 | bsmith++ | Added module exports to Pugs.Parser so only it needs to be imported. | |||
Aankhen`` | ?eval class Foo { has $.bar; sub baz () { $.bar = "quux"; $.bar } }; Foo.new.baz | 18:29 | |
evalbot6 | Error: No compatible subroutine found: "&baz" | ||
Aankhen`` | ?eval class Foo { has $.bar; sub baz () { $.bar = "quux"; $.bar } }; Foo.new.baz() | ||
evalbot6 | Error: No compatible subroutine found: "&baz" | ||
Aankhen`` | Oops. | ||
?eval class Foo { has $.bar; method baz () { $.bar = "quux"; $.bar } }; Foo.new.baz() | |||
evalbot6 | \'quux' | ||
Aankhen`` | Hrm. | ||
Is an attribute without `is rw` still rw for all methods in that class? | 18:30 | ||
Darren_Duncan | it should be | 18:32 | |
Aankhen`` | OK. | ||
Darren_Duncan | I believe is rw is default for attributes | ||
Aankhen`` | Ah. | ||
Darren_Duncan | whereas the opposite is default for methods | 18:33 | |
Aankhen`` | Yeh. | ||
Darren_Duncan | if you think about it, attributes are meant to hold data different for each object, so making them read-only by default doesn't make sense | ||
Aankhen`` | I guess so. | ||
But then are they rw outside the class too? | 18:34 | ||
autrijus | my subtype Duck | 18:49 | |
has $.half_life | |||
can doom:() | |||
can quake:(() returns Wolfenstein); | |||
mmm pretty. :) | |||
Aankhen`` | Wha... my last merge altered . for no reason... | 18:50 | |
autrijus | with svk? | ||
Aankhen`` | Yes. | 18:51 | |
svnbot6 | r5893 | Aankhen++ | * HTTP::Headers: fixed small mistake in &:sorted_field_names. | ||
r5894 | Aankhen++ | * HTTP::Message: consistent indentation, more specific declaration of $:headers. | |||
r5895 | Aankhen++ | HTTP::Request::CGI: | |||
r5895 | Aankhen++ | * updated documentation. | |||
r5895 | Aankhen++ | * added $.PARSE_ARGV variable to control whether command-line parameters should be parsed. | |||
r5895 | Aankhen++ | * replaced $:query_string and &query_string with single $.query_string. | |||
r5895 | Aankhen++ | * made declaration for $.query more specific. | |||
Aankhen`` | The root directory, rather. | ||
autrijus | svk writes merge tickets as props to .; that's fine (I think) | ||
Aankhen`` | OK. | ||
As long as I didn't break anything. :-P | |||
That was my first commit from a branch. :-D | |||
autrijus | right, which is I think the only time svk does that | 18:52 | |
Aankhen`` | Works for me. | 18:53 | |
Sky seems to be staying up, so I guess that's alright. | |||
autrijus | cool | 18:54 | |
dudley | what does the colon in foo:() mean? | 18:56 | |
Aankhen`` | dudley: Picks a particular variant of a sub, AFAIK. | ||
Khisanth | adverb? | ||
autrijus | dudley: it's the long name syntax | ||
it's usually written as &doom:() | |||
come to think about it I should've written that instead. | 18:57 | ||
but maybe I should've just written | |||
my subtype Duck | |||
method doom () {...} | |||
etc | |||
not sure. anyway the surface syntax is not the point | |||
the point is a way to encode the fact that people often write UNIVERSAL::can() checks in p5 instead of UNIVERSAL::isa() | 18:58 | ||
and somehow give .can the same static checking status as .isa | |||
(or .does) | 18:59 | ||
dudley | oh, I know, I've just seen it a couple of times before and was curious | ||
autrijus | ah. then yes... &infix:<*>:(Int, Int) selects the variant that can instantiate this signature | ||
Aankhen`` | Is the long name notation supported in Pugs? | 19:00 | |
autrijus | not yet | 19:01 | |
Aankhen`` | OK. | ||
Can I create a variant of a sub by assigning to that variant, like a normal sub assignment? Example: &foo:() = &bar; &foo:(Int,Int) = sub (Int $foo, Int $bar) { ... }; | 19:02 | ||
svnbot6 | r5896 | Aankhen++ | * expanded documentation for HTTP::Query (SYNOPSIS and DESCRIPTION) and HTTP::Request::CGI (SYNOPSIS). | ||
Aankhen`` | Gurk. | ||
Aankhen`` bangs forehead on wall. | |||
I really should check out my changes before I check them in... | 19:03 | ||
autrijus | Aankhen``: I suppose the lhs will fail to lookup first before you attempt to assign to it | 19:06 | |
Aankhen`` | OK. | 19:07 | |
autrijus | Aankhen``: the canonical way to do that is a "multi" :) | ||
Aankhen`` | Yeh, I know. | ||
It's just that I'd rather replace `multi sub foo () { return bar(); }` with a direct assignment, the same way you alias subs normally. | |||
s/assignment/binding/ | 19:08 | ||
autrijus | nod, as I suspect assigning into &foo is as fun as assiging into \$bar. | 19:09 | |
svnbot6 | r5897 | Aankhen++ | * really expanded DESCRIPTION for HTTP::Query. | 19:14 | |
Aankhen`` | Rest break. & | 19:16 | |
?eval role Foo { ... }; class Bar does Foo { ... }; | 19:30 | ||
evalbot6 | *** ... - not yet implemented at <eval> line 1, column 12-16 | ||
Aankhen`` | ?eval role Foo { }; class Bar does Foo { ... }; | ||
evalbot6 | *** ... - not yet implemented at <eval> line 1, column 36-40 | ||
Aankhen`` | ?eval role Foo { }; class Bar does Foo { }; | 19:31 | |
evalbot6 | undef | ||
Aankhen`` | How is a slurpy List denoted in the long name of a sub? | 19:36 | |
svnbot6 | r5898 | Aankhen++ | * HTTP::Query: rewrote ¶m (rw version). | 19:43 | |
r5899 | Aankhen++ | * HTTP::Request::CGI: changed $r in &BUILD to $self for consistency. | 20:01 | ||
r5899 | Aankhen++ | * HTTP::Request::CGI: small formatting changes; more flexible implementation of &BUILD. | |||
r5900 | iblech++ | PIL2JS: | |||
r5900 | iblech++ | * PIL::Parser, PIL::Nodes -- Added basic support for Inf, -Inf, and NaN. | |||
r5900 | iblech++ | * Prelude::JS::Operators -- Implemented &sqrt, &sign, &abs, &log, &log10, | |||
r5900 | iblech++ | &int, and &rand. Tests mostly pass: | |||
r5900 | iblech++ | m19s28.vlinux.de/iblech/stuff/not_p...tins/math/ | |||
wilx | Heh, interesting, rounding errors in action: | 20:15 | |
# Expected: '1.6094379124341005' | |||
# Got: '1.6094379124341003' | |||
log.t.html | |||
svnbot6 | r5901 | Aankhen++ | * added more fields to list of request headers in HTTP::Request::CGI. | 20:26 | |
Aankhen`` pokes wolverian. | 20:27 | ||
svnbot6 | r5902 | Aankhen++ | HTTP::Request::CGI: | 20:36 | |
r5902 | Aankhen++ | * added $.remote_host and $.remote_addr. | |||
r5902 | Aankhen++ | * updated documentation. | |||
Aankhen`` | Has `read` been implemented? | 20:37 | |
putter | iblech: ping? | 20:41 | |
Aankhen`` | Anyone up for a large porting job? =) | 20:45 | |
Well, it's a large distribution, I would only need part of it. | |||
geoffb | A) Porting what to what, B) does this involve large sums of money? :-) | 20:48 | |
Aankhen`` | The answer to B) is no. | 20:49 | |
I can tell you A) in private so that I don't hurt people's sensibilities. | |||
geoffb | ok . . . | ||
Aankhen`` | Hm. | ||
Actually, nevermind. | |||
It's not needed after all. | |||
geoffb | :-) | ||
Aankhen`` | Though if you're up for it, I'd appreciate ports of Compress::Zlib, Compress::Bzip2 and MIME::QuotedPrint... =) | 20:50 | |
geoffb | Not that I don't agree, but is `use perl5:...` not acceptable? | 20:51 | |
Aankhen`` | Considering the fact that I am unable to link Perl 5 into Pugs... no. | 20:52 | |
geoffb | that's odd . . . oh, are you on Win32? | ||
Aankhen`` | Yep. | ||
geoffb | sigh | 20:53 | |
I keep trying to make peace with Win32, and it keeps giving me reasons to hate it. | |||
svnbot6 | r5903 | iblech++ | * t/builtins/strings/string_interpolation.t: unEVAL. | ||
r5903 | iblech++ | * PIL2JS: | |||
r5903 | iblech++ | * Prelude::JS::Str -- Made the third argument to &substr optional and made | |||
r5903 | iblech++ | &substr work with the third argument being negative. | |||
r5903 | iblech++ | * Prelude::JS::Str -- Implemented &lcfirst, &ucfirst, &chars (of course, | |||
r5903 | iblech++ | &chars is only a wrapper for JavaScript's "string".length, so it probably | |||
r5903 | iblech++ | doesn't return the num of chars, but the num of bytes/whatever), &index, | |||
r5903 | iblech++ | &rindex, &chomp. | |||
Aankhen`` | You shouldn't even try. | ||
svnbot6 | r5903 | iblech++ | * Prelude::JS::Operators -- Implemented &chr and &ord. | ||
r5903 | iblech++ | * t/builtins/strings/ tests mostly pass: | |||
r5903 | iblech++ | m19s28.vlinux.de/iblech/stuff/not_p...s/strings/ | |||
geoffb | Well, I'm trying to make room in my psyche for other things I need to feel strongly about. | 20:54 | |
s/need/would rather/ | |||
Aankhen`` | Do you use Windows? | ||
geoffb | Occasionally. Long time ago I was a windows sysadmin. I came by my hatred honestly. | 20:55 | |
Aankhen`` | Then ignore Windows. | ||
geoffb | Oh, but see, everyone else is using it, so consequently any time I could normally just recommend a simple solution to someone's problem, I always have to deal with the "But I'm using Windows, so that won't work" issue. | 20:56 | |
Aankhen`` | Ah, you have to interact with it, indirectly. | 20:57 | |
geoffb | When I started writing my Perl/OpenGL articles, the single largest feedback group was "It doesn't work on Win32!" | ||
And remaining a publishable author is predicated on lack of negative feedback . . . . | |||
nodnod | |||
Aankhen`` | Welp, I use Windows everyday. | 20:58 | |
I content myself with the knowledge that by this time next year, I won't have to. | |||
(then I can just use it for games) | |||
geoffb | Oh? What's changing? | ||
Aankhen`` | My family is moving abroad. | ||
Hence a new computer. | |||
geoffb | one of your choice, I take it? | 20:59 | |
Aankhen`` | Oboyoboyoboy I drool everytime I think of hardware-based virtualization. | ||
geoffb | heh | ||
Aankhen`` | Yeah, we'll each get individual laptops, plus I get a desktop. | ||
Gonna work out pretty expensive. | |||
geoffb | Aankhen`` is clearly not short of cash . . . | ||
nod. | |||
Aankhen`` | Believe it or not, this comes under "necessities". | ||
geoffb | ?!? Family of computer consultants? | 21:00 | |
Aankhen`` | Each member of my family -- that is my mother, my sister and me -- has something or the other that is important and has to be done on the computer. | ||
Right now, we have one desktop, which basically belongs to all of us, and one laptop, which was gifted to my mother. | |||
The way it works is, my mother's not particularly keen on using the laptop for now, so my sister uses the laptop and I use the desktop. | 21:01 | ||
However, my mother has work coming up which will require the laptop extensively. | |||
So once again, the flames are going to fly. | |||
geoffb | wheee | ||
Aankhen`` | Aaanyway. | 21:02 | |
I want it to be 2007 right now. | |||
obra | why? | ||
Aankhen`` | Four-core processors from AMD with hardware-based virtualization. =) | 21:03 | |
I just need two quad-core processors, with three monitors and six graphics cards, and appropriate storage & memory. Is that so much to ask? | 21:05 | ||
geoffb | three cards and six monitors? | ||
or are you going to SLI each pair? | |||
svnbot6 | r5904 | iblech++ | * Usual svn props. | ||
r5904 | iblech++ | * PIL2JS: | |||
r5904 | iblech++ | * Prelude::JS::Operators -- Implemented &hex, all tests pass: | |||
r5904 | iblech++ | m19s28.vlinux.de/iblech/stuff/not_p...hex.t.html | |||
r5904 | iblech++ | * Now most tests in t/builtins/ pass, except io/, of course. Pondering using | |||
r5904 | iblech++ | JSAN's HTTP.Request or so to fake simple things like file-open, slurp, etc | |||
r5904 | iblech++ | (slurp "foo" would GET cur_server/cur_path/foo then)... | |||
Aankhen`` | SLI. | ||
Though actually, I could make do with "just" four. :-P | 21:06 | ||
Assuming those processors have Pacifica, I could run Gentoo, Windows and OS X simultaneously. One monitor for each, one graphics card for each (two for Windows since it has all the games). | |||
geoffb | Dare to dream, Aankhen``, dare to dream. | 21:07 | |
Aankhen`` | Oh, I do. :-D | ||
geoffb | Hmmm, very few Debian testing updates hitting my boxen recently -- I'm guessing somethings getting backed up, and I'm going to come back from OSCON to find that every box needs to install 200 updated packages. | 21:09 | |
Aankhen`` | Heh. | ||
autrijus | I can't believe I spent 3 hours on journaling :-/ | 21:10 | |
Aankhen`` | Is it up? | 21:11 | |
Oho! | |||
autrijus | it's 5am now... really need to sleep. journal finally up, yes. | ||
Aankhen`` | o_O | ||
Sleep well. | |||
geoffb | good night, autrijus, sleep well | ||
autrijus | :) | ||
Aankhen`` | Mmm, I need to sleep soon too. | ||
21:15
Limbic_Region_ is now known as Limbic_Region
|
|||
brentdax | I am somehow unsurprised that Autrijus is the most active committer in open source. | 21:19 | |
geoffb | Where did you see this stat, brentdax | ||
? | |||
Aankhen`` | Whoa. | 21:20 | |
brentdax | CIA. | ||
Aankhen`` | The cleanest places on Earth are IC manufacturing facilities. | ||
brentdax | cia.navi.cx/ | ||
Aankhen`` | s/manufacturing facilities/fabrication plants/ | 21:21 | |
brentdax | Hey, every other geek environment is littered with soda cans and Twinkie wrappers, we have to make up for that somewhere. | ||
Aankhen`` | Apparently an IC fabrication plant is 10,000 times cleaner than a hospital operating room. | ||
G'night. | 21:28 | ||
Juerd | Greetings from What The Hack, in Liempde, the Netherlands. | 21:29 | |
brentdax | Greetings, Juerd. | 21:30 | |
Juerd | It's really great here; lots of really interesting conversations and presentations | ||
brentdax | (From a house in Southern California with broken air conditioning. Argh.) | ||
Juerd | We're experiencing heavy showers outside | 21:31 | |
I'm in a big tent. | |||
It's more a hall than a tent. | |||
brentdax | Hmm...if I rename that method with the weird problem, it goes away. Does "resolve" have any special meaning to Pugs? | ||
(or rather, if I rename the method it's calling so they don't share a name.) | 21:32 | ||
Juerd | There is one bit of sad news, though, everyone here I've spoken with about Perl, thinks that Perl is practically dead. | ||
That's not a good start for Perl 6, the name staying the same. | |||
Perl 6 probably has a greater chance of survival with a better name. "Perl" is unfortunately tainted. | |||
Limbic_Region | . o O ( Topaz2 ) | 21:34 | |
brentdax | Unlike the language whose acronym originally expanded to "Pretty Home Pages"? | ||
Limbic_Region | Juerd - you at the "What the hack" conference? | ||
nevermind, me reads back a bit and sees that Juerd already said this | 21:35 | ||
Juerd | Limbic_Region: Yes. | 21:36 | |
brentdax | I think people are thinking of Perl 6 as vaporware, if they know about it at all. A release will change their mind. | ||
Juerd | brentdax: No, I've met only a few PHP enthousiasts | ||
brentdax: We're clueful people here. | |||
brentdax | Heh. | ||
Limbic_Region wonders if Juerd is in a hammock too - www.cnn.com/2005/WORLD/europe/07/29...index.html | |||
Juerd | brentdax: No, people are actually fairly confident that it will eventually happen and be a good language. It's just that Perl now has a VERY bad reputation amongst the hackers here, which will have its effect on Perl 6 too. | 21:37 | |
geoffb | OOC, what has a good rep? | ||
Wow, pugs REALLY doesn't like heredocs in a big program -- it goes to 100% CPU and seems to hang | 21:40 | ||
Juerd | Ruby and Python have high karma | ||
geoffb | Heh. | ||
Juerd | Limbic_Region: No, I haven't found an available hammock yet :) | 21:41 | |
brentdax | Ruby, at least, deserves its karma. | ||
Juerd | Python unfortunately has higher | ||
geoffb | sigh, no accounting for taste | 21:42 | |
Juerd | But it really did surprise me to learn how low exactly people think of Perl | 21:43 | |
And contrary to what I'm used to on IRC, people actually have good argumentation | 21:44 | ||
geoffb | So what are these good arguments? | ||
Juerd | We all know they're right, and that's why Perl 6 is being bilt. But still, the name "Perl" carries bad karma :( | ||
s/bild/build/ | |||
Khisanth | we do? | 21:45 | |
Juerd | Yes. We're not building Perl 6 because 5 suffices. | ||
Perl 5 does not suffice | |||
geoffb: Let me try and formulate that later, when I get back from France in a week | |||
geoffb: It's too much for now, over a very slow link | |||
Khisanth agrees that there is always room for improvement | |||
geoffb | Juerd, fair enough | 21:46 | |
I'll hold you to that. :-) | |||
Juerd | Yes, but when there is already a language that does things better, there's not just ROOM for improvement, you're' expected to actually improve. And quickly too. | ||
This is the main problem, as Perl 5 does not allow for quick improvements to keep up with the other dynamic languages | 21:47 | ||
But still, the most often heard argument is that Perl is ugly and requires too highly educated people, which is very (too) expensive for many companies. | 21:48 | ||
brentdax | Switch.pm would not be such a Herculean effort in Perl 6. (I mean, besides the fact that it'll be built in anyway.) | ||
Khisanth | that last argument sounds very silly without expanding | 21:49 | |
geoffb | Ugly -- I know people who feel that way, I don't agree, but whatever. Requiring too highly educated people so its expensive? Well that's just being completely clueless about the value of smart people. | ||
Juerd | I do agree that Perl is ugly. Ugly in the way that lots of interpunction is needed without it actually making it more elegant | ||
brentdax | The value of a hacker is...the square, maybe the cube, of their skill level. | ||
Khisanth | ugly or not is an opinion :) | ||
Juerd | Do note that people here do use Perl a lot. | 21:50 | |
brentdax | Whereas the price of a hacker rises more or less linearly with skill. | ||
geoffb | I cannot help that companies think that it is cheaper to higher unskilled labor, but I find it as silly as Paris fashion. | ||
Juerd | They just can't use th^H^Hit at their jobs | ||
Except the lucky few who do system administration | |||
Perl isn't used much for building applications, or even web based applications | 21:51 | ||
geoffb | The last two web-related jobs I had were done in Perl -- HTML::Mason, as a matter of fact; Amazon runs on Mason, etc. What more do these people want? | ||
Juerd | How many NEW application projects are built with Perl? | 21:52 | |
And how many in Python and PHP? | |||
The sad fact is that "we"'re losing the battle. | |||
geoffb | Honestly, I dunno -- but certainly enough to keep CPAN bulging at the seams. And using PHP and Python because they are the new things is like using Java a few years ago. | 21:53 | |
Juerd | Perl 6 can be a great comeback, but people I spoke with fear that it will be seen as a new version of the language that has a bad name | ||
obra | See also rails. | ||
geoffb | fair enough | ||
integral | the BBC use it, their single-signon web app was new | ||
Juerd | While when "marketed" as a *new* language, it would have a great change^H^Hce of surviving | ||
Well, CPAN is nice, but crap. | |||
brentdax | Crap how? | 21:54 | |
obra | evalbot, start a flame war | ||
geoffb | ?eval '*dons flame-retardant outfit* FLAME ON!' | 21:56 | |
evalbot6 | '*dons flame-retardant outfit* FLAME ON!' | ||
Juerd | brentdax: The modules themselves are | 21:58 | |
breOf course, I'm now generalizing | |||
People don't know well enough that CPAN is an open system | |||
And many people expect quality, because it all looks so official, documentation being available in a central place and all. | 21:59 | ||
Some even wonder why the Perl modules are so diverse in API and see a relation to PHP in that respect. | |||
brentdax | So people don't look in the FAQ, therefore CPAN sucks. | ||
geoffb | <clkao>pugs sucks, it misplaces error messages for loops with parsefail contents</clkao> | 22:00 | |
Juerd | I've tried very hard to explain how it works, and was able to get the message across, but I am quite pessimistic because I have to admit that in general, people think badly about perl :( | ||
geoffb | brentdax, sadly, people don't read | ||
Juerd | brentdax: Peolp edon't read. That's something we, as the Perl community, have to get used to. | ||
We're no longer in the world with only RTFM'ing hackers. Only references are still used much. :( | 22:01 | ||
Right here, at the WTH infodesk, we experience the same thing | |||
integral | hmm, does perl need to move out of that world though? Doesn't it work very well where it is, and Java and Python very well where they are in the world of non-manual readers? | ||
Juerd | We have many signs with lots of different information. There are at least 40 diifferent pages stuck to the walls. | 22:02 | |
People no longer read them, because it's way too much, and asking is easier. | |||
In other words: our attempt to answer FAQs on paper, really did fail. | |||
integral: It works very well, but not if we want it to compete (unquote) with the other languages | |||
integral | why do we want it to compete? | 22:03 | |
Does any of the "quality" of CPAN comes from the fact that there's not a wider audience using it? | |||
Juerd | Several reasons | ||
I'm not sure what quality you're referring to | 22:06 | ||
CPAN has some really brilliant and great modules, of course. | |||
But the majority is not much better than the available PHP copy-and-paste repositories :) | 22:07 | ||
And stuff like magic ARGV using 2-arg open is really hyped as very insecure here | 22:09 | ||
And well, of course they're right | |||
brentdax wages a protracted battle against apathy. | 23:45 | ||
ayrnieu | Don't fight it. Just make sure you're apathetic about the right things. | 23:50 | |
brentdax | My SoC project is not one of the right things, unfortunately. |