»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | Rakudo Star Released!
Set by diakopter on 6 September 2010.
00:00 felliott joined
shortcircuit diakopter: I'd be very, very open to being able to integrate Rosetta Code, code on RC and the execution of such. Being able to automate leads to a number of possibilities for rudimentary audimated code review. :) 00:01
TimToady btw, the change to the program worked
00:03 dju joined, dju left, dju joined
shortcircuit TimToady: Any other bugs in the paste? 00:03
TimToady that's the only typo I saw
shortcircuit nods
It occurred to me that I'm engaged to someone with an English degree, and I should probably have her look it over. :) 00:04
TimToady if you want a fun one, there's the turtle graphics in the two matrices
rosettacode.org/wiki/Spiral_matrix
00:05 fuad left
diakopter TimToady: thanks for testing it :) 00:05
TimToady the zig-zag matrix also uses "turtle graphics" 00:06
diakopter I wish my p6 turtle spiral solution was listed as an alternate
rosettacode.org/mw/index.php?title=...ldid=89677 00:09
oh, globals </singsong> :) 00:10
TimToady it's still there; it just got translated to the classy version 00:11
diakopter oh 00:12
shortcircuit Heh
TimToady specifically, the inside-out one 00:13
diakopter shortcircuit: well, I watch too many channels already 00:15
(1-2)
shortcircuit Heh. I've got enough that I keep losing some every time Freenode netsplits me off; I rejoin so many, I get bumped into an overflow channel. 00:16
shortcircuit should find a join-ratelimiting script for irssi.
Erp. Fiancee caught a ? I'd missed while refactoring a sentence. 00:18
00:22 pukku joined
shortcircuit Candidate final draft: pastebin.com/b71DKn9J 00:22
erp. Forgot to add the Spiral matrix links. 00:26
diakopter shortcircuit: maybe mention a relative comparison of how Perl 6's degree of implementation compares with the rest of the languages on the whole
(or just tell me, b/c I'm curious) :)
shortcircuit Heh
diakopter I guess it's two-humped 00:27
00:28 hercynium joined, hercynium left, hercynium joined
shortcircuit The best rough gestimate I can quickly give simply sorts categories by member count. It might be possible to use the new Semantic MediaWiki functionality to come up with real numbers, though. 00:28
shortcircuit would be amused to see [[Spiral Matrix]] used to generate a 3D mesh. 00:30
pastebin.com/rudPqHaZ 00:32
00:33 pukku left 00:35 pukku joined, pukku left
shortcircuit Let me know if that looks OK, and how you'd like it published. 00:35
00:42 soroush joined 00:44 rgrau left 00:57 risou joined 01:02 QinGW joined 01:03 Guest87704 left 01:19 muixirt left, risou left 01:53 hercynium left
flussence I made a thing! github.com/flussence/perl6-XMMS2 01:57
02:00 literal left 02:01 literal joined 02:14 starcoder joined 02:28 whiteknight left 02:32 cdarroch left 02:35 agentzh joined
shortcircuit diakopter: Perl 6 comes in at #25, looks like. 02:43
pastebin.com/5Qn8bZV8 02:45
02:53 ch3ck3r joined 02:57 ch3ck left 02:58 buubot joined
TimToady of course, if you add Perl and Perl 6, we're #1 :) 03:01
diakopter hm
03:01 ch3ck3r left 03:04 Zimbu joined
Zimbu So, last night I was here puzzling over this: 03:06
perl6: say "match" if 99 ~~ (99, 88, 77)
p6eval pugs, rakudo : ( no output )
Zimbu I've since found that this is apparently the correct behavior, there's even a test case for it, but I can't find anyplace explaining WHY... which is puzzling. It seems to contradict the smart matching docs. 03:07
diakopter Zimbu: think about how it's different from 99 ~~ 99, 88, 77 03:09
perl6: say "match" if 99 ~~ 99, 88, 77
p6eval pugs, rakudo : OUTPUT«match␤»
Zimbu 99 ~~ 99, 88, 77 returns true because of precedence.
That's not the question, my question is why the list form returns false. 03:10
diakopter no
it doesn't
perl6: say "match" if 99 ~~ 77, 88, 99
Zimbu Okay... what am I missing then?
p6eval pugs, rakudo : OUTPUT«match␤»
diakopter perl6: say "match" if 99 ~~ 77
p6eval pugs, rakudo : ( no output )
diakopter perl6: say "match" if 99 ~~ 77, 88
p6eval pugs, rakudo : OUTPUT«match␤»
diakopter oh wait.
HEH
TimToady: ^^
Zimbu perl6: say "match" if 99 ~~ 77, 88
03:10 mberends left
p6eval pugs, rakudo : OUTPUT«match␤» 03:10
diakopter yeah. 03:11
Zimbu ~~ binds tighter than "," - right?
03:23 shachaf left 03:24 shachaf joined
shortcircuit perl6: say "this has a newline at the end?" 03:28
p6eval pugs, rakudo : OUTPUT«this has a newline at the end?␤»
shortcircuit How does one print text without the newline? 03:29
diakopter print... 03:30
Zimbu perl6: print "look, ma, no newline"
p6eval pugs, rakudo : OUTPUT«look, ma, no newline»
TimToady yes, 88 is true, but it's not a match :) 03:48
diakopter hm
TimToady as for why say "match" if 99 ~~ (99, 88, 77) doesn't work, I said that before 03:49
there are no implicit any semantics to lists
it will only match an identical list
rakudo: say "match" if (99,88,77) ~~ (99, 88, 77) 03:51
p6eval rakudo : OUTPUT«match␤»
TimToady say "match" if 99 ~~ any(99, 88, 77)
rakudo: say "match" if 99 ~~ any(99, 88, 77)
p6eval rakudo : OUTPUT«match␤» 03:52
04:08 satyavvd joined 04:09 Helios` joined 04:11 skangas joined
Zimbu I believe you - no implicit any() semantics to lists, everything I find agrees with that. I must have gotten the wrong impression from various descriptions kicking around of smartmatch. Does anyone know where to find the definitive description of "what smartmatch does"? 04:34
TimToady sure, S03:3533 04:35
which the irc log translates to perlcabal.org/syn/S03.html#line_3533 for you 04:36
Zimbu Thank you. :-) 04:37
TimToady (if you visit irclog.perlgeek.de/perl6/today)
Zimbu Ok, that's cool. Hello world! Sorry, back on topic... 04:38
I would have thought, from that table, that "Any ~~ Numeric" would have applied to 99 ~~ (99, 88, 77). I must be misreading it. 04:39
Also thought I read somewhere that smartmatch was communative, so that a ~~ b and b ~~ a are the same. Can't find it now, so that could have been a fever dream as well. 04:41
er... commutative, that is. 04:43
04:45 jhuni joined
Zimbu ...and a bit of googling shows that was a short-lived phenomenon in 5.10 I'm better off just forgetting about. Good. 04:47
perl6: say "match" if (99, 88, 77) ~~ (*,99,*) 04:49
TimToady sorry, my computer hung
p6eval rakudo : OUTPUT«match␤»
..pugs: ( no output )
TimToady it was temporarily commutative in the P6 design, and P5 borrowed it at the wrong moment 04:50
Zimbu I'll have to spend more time with S03:3533 to grok this. I take it this random google result is also outdated/incorrect? search.cpan.org/~lichtkind/Perl6-Do...tmatch.pod 04:53
TimToady the synopses are authoritative 04:54
if rather poorly organized... 04:55
Zimbu Then that's where I'll go, and try to divine some order from it all. Thanks again!
TimToady start at perlcabal.org/syn/ to get to all of them 04:56
05:04 Helios` left
lue ohai o/ 05:10
TimToady 05:12
lue is reminded of his inability to type umlauts with nifty keyboard shortcuts, and of his indifference towards doing anything about it 05:15
05:17 Zimbu left 05:25 ascent_ joined 05:26 redicaps joined
lue rakudo: my $a = DateTime.new("2010-10-10T10:10:10Z"); say $a - 7; 05:37
p6eval rakudo : OUTPUT«Can't take numeric value for object of type DateTime␤ in 'Any::Numeric' at line 1418:CORE.setting␤ in 'infix:<->' at line 7294:CORE.setting␤ in main program body at line 22:/tmp/P5ZIuElTxL␤»
05:38 Helios` joined
lue rakudo: my $a = Date.new("2010-10-10"); say $a - 7; 05:38
p6eval rakudo : OUTPUT«2010-10-03␤»
lue is the reason why can't do that kind of arithmetic with DateTime is because you don't know what the person means by '7' ? 05:40
TimToady presumably 05:41
lue too bad there's no way you can do something like days(7) or anything. The only way I see of accomplishing it now is with a well-crafted second DateTime object. 05:43
05:50 Helios` left, Helios joined 06:05 LoRe joined
sorear good * #perl6 06:11
06:12 joimox joined
lue hello sorear o/ 06:16
joimox perl! yeah! 06:17
06:17 kcwu joined
sorear joimox: welcome! 06:32
TimToady: I saw something about @list ~~ (*, 1, 2, *) once. Is that also a fossil? 06:37
06:40 wtw joined 06:42 envi joined 06:46 _kaare joined 06:57 [Coke] joined
moritz_ rakudo: say (1, 2, 4, 7) ~~ (*, 1, 2, *) 07:00
p6eval rakudo : OUTPUT«Bool::True␤»
sorear Why hasn't shortcircuit's post hit p6advent yet? 07:18
07:30 fhelmberger left 07:36 joimox left 07:38 joimox joined
moritz_ just saw an expired nopaste in the backlog, nothing more 07:43
sorear joimox: welcome!
moritz_: ow.
shortcircuit: we need a STABLE link to your post!
07:45 Max_- joined 07:52 ss_ joined 08:00 glow joined 08:03 ss_ left 08:04 justatheory left 08:08 zby_home_ joined 08:11 kjeldahl_ left 08:18 nym joined, nymacro left 08:19 cosimo joined 08:32 masak joined
masak oh hai, #perl6 08:32
interesting: codahale.com/how-to-safely-store-a-password
November falls into the trap described therein. 08:33
sorear hello masak 08:36
masak greetings, earthling. 08:37
moritz_ the link to the perl bcrypt thing is dead 08:41
08:43 nero2x joined
nero2x perl6: say Hello; 08:47
p6eval rakudo : OUTPUT«Could not find sub &Hello␤ in main program body at line 22:/tmp/gU8TS51YFm␤»
..pugs: OUTPUT«*** No such subroutine: "&Hello"␤ at /tmp/hP526yCUxn line 1, column 5-10␤»
masak rakudo: say "OH HAI"
p6eval rakudo : OUTPUT«OH HAI␤» 08:48
masak wow. stmts.net/2010/12/09/the-grand-compromise/ 08:50
it starts out sounding like criticism, but ends up being pure praise. 08:51
redicaps Hi there, which pastbin site is for Perl6 channel? 08:53
moritz_ redicaps: I don't think any works with automatic notification 08:54
redicaps: so you can use whatever you want, and paste the link here yourself
redicaps moritz_: got u
sjohnson masak: hi 08:57
@tell masak hi 08:58
masak sjohnson: greetings
sorear masak: interesting, I need to read about bcrypt more
usually I just take sha1 and iterate it a million times
masak :) 08:59
November salts with the user name somehow.
(and uses SHA1, I think)
sorear just write a pure-Perl6 version of bcrypt 09:00
it'll be slow enough
moritz_ it will be too slow
sjohnson does it just encrypt files? truecrypt or gnupg seem like a better choice
moritz_ sjohnson: it's for hashing passwords, not encrypting stuff 09:01
sjohnson oic 09:02
the slowness being good so bruteforce would be too expensive?
sorear exactly 09:03
bcrypt is a professionally designed hash algorithm with *tunable* slowness
so we can make it twice as slow every 18 months
moritz_ masak: nice blog post 09:04
sjohnson blowfish is a cute block cipher 09:08
for a long time i used to think the OpenBSD group designed it, because a pufferfish is their mascot 09:09
09:10 Guest87704 joined
redicaps Hi Perl6, I am reading advent calendar D14, and I got a error when I try to run the sample code, here is the pastebin log: pastebin.com/ZpiP3PAe 09:15
sjohnson im no perl6 expert, but do you need a semicolon after class last } bracket? 09:17
moritz_ redicaps: you chopped off the blanks bewteen type name and opening curly brace
sjohnson: no, semicolon is not needed after a } that's followed by a newline 09:18
redicaps: so Perl 6 tries to parse B{...} as a subscript
redicaps: adding a space after the class names fixes it
redicaps moritz_: Thanks, 09:21
moritz_ redicaps: you're welcome 09:22
sjohnson moritz_ == perl 6 master
redicaps moritz_: is this always needed? I mean, this dose not seen quite reasonable to me that we have to put a space here or else there will be syntax error. 09:29
moritz_ std: class A{ } 09:30
p6eval std a194beb: OUTPUT«ok 00:01 117m␤»
moritz_ hm 09:31
redicaps: seems like this particular case is a bug in rakudo
rakudo: class A{ }
p6eval rakudo : ( no output )
moritz_ hm
sorear observation: salts don't have to be quality randomness, only unique 09:32
moritz_ redicaps: but in general you're better off using spaces between parts of terms, it reduces possible ambiguty
sorear the output of uuidgen would work just as well
09:32 ch3ck joined
redicaps moritz_: I agree with u on this;-) 09:32
moritz_ std: class A { }; class A is B{ };
p6eval std a194beb: OUTPUT«===SORRY!===␤Illegal redeclaration of symbol 'GLOBAL::<A>' (from line 1) at /tmp/nxYj4js1CJ line 1:␤------> class A { }; class A ⏏is B{ };␤Too late for semicolon form of class definition at /tmp/nxYj4js1CJ line 1:␤------> class A { };
..class…
moritz_ std: class A { }; class B is A{ };
p6eval std a194beb: OUTPUT«===SORRY!===␤Too late for semicolon form of class definition at /tmp/vAkSlzsjl6 line 1:␤------> class A { }; class B is A{ }⏏;␤ expecting any of:␤ horizontal whitespace␤ trait␤Parse failed␤FAILED 00:01 118m␤»
sorear Why do some people insist on leaving spaces out? 09:33
moritz_ redicaps: see, it's also misparsed by the standard grammar
so not a bug after all
the reason is probably that 'is' is a trait, and after a trait there can really be any term
sorear rakudo: if( 1 ) { say "Broken" } # lots of code in the wild depends on this bug
p6eval rakudo : OUTPUT«Broken␤»
09:46 [Coke] left 09:52 tzhs joined, [Coke] joined 09:53 redicaps left 09:54 glow left, jhuni left, Guest87704 left 10:01 dakkar joined, Guest87704 joined 10:02 pothos joined 10:03 QinGW left 10:05 IllvilJa joined 10:19 daxim joined 10:20 glow joined 10:22 Trashlord joined
moritz_ I likely won't get around to any advent calendar business in the next 7 hours or so 10:36
it would be great if someone else could take over
10:37 wamba joined
masak what does that entail? prodding someone for a slot #15? 10:37
rakudo: sub if($x) { say "in sub" }; if( 1 ) { say "Broken" } 10:38
p6eval rakudo : OUTPUT«Broken␤»
moritz_ masak: seems that shortcircuit has posted something about rosettacode earlier, but when I looked at it the nopaste had expired 10:39
masak: getting him to paste a new version, and put that into wordpress would be a possible approach
masak I'll try that.
sorear shortcircuit is hereby mocked for submitting a Perl6 advent calender entry and setting it to expire before the people who care can read it 10:40
sorear out 10:42
10:43 kensanata joined
masak shortcircuit++ for writing it in the first place, though. I look forward to reading it, and hope that he'll show up with it today. :) 10:44
10:45 redicaps joined
masak huh? reddit gives my latest Advent post a whopping 13 points (!) but no comments. www.reddit.com/r/programming/commen...e_and_its/ 10:46
that's more than the Perl 6 Coding Contest, which got 12 points.
moritz_ now 12
masak observer effect :P 10:47
the Rakudo star news is in the clear lead with 39 points and 32 comments.
10:50 shi joined
masak irclog.perlgeek.de/perl6/2010-12-14#i_3087774 # diakopter, TimToady: I've sometimes wanted this as well, but I've concluded that introducing something like that into normal Perl 6 would not be worth it. 10:56
the -> indicates the start of a pointy block, and making it indicate other things is just asking for trouble. 10:57
and postdeclarations are a pain, as TimToady says.
moritz_ postdeclarations are like "I MADE YOU AN ERROR BUT I EATED IT" 11:00
masak :) 11:01
flussence who's doing day 15? 11:07
masak no-one, so far. 11:08
there's a post by shortcircuit that some people have seen but that got lost in pastebin limbo.
11:10 wamba left, wamba joined
flussence well, it just so happens that I seem to get a lot done when I'm not setting myself deadlines... 11:10
masak :) 11:11
this sounds promising...
flussence I might *actually* have something post-worthy in a few minutes! 11:13
moritz_ \o/ 11:14
flussence: do you have access to the advent wordpress thing?
flussence nope
moritz_ flussence: then tell (or /msg) me your email address, and it will be done
flussence I'm on my laptop right now which doesn't have all the github ssh-ey stuff set up :/
moritz_ flussence: I just need an email address 11:15
flussence oh, I can do the wordpress thing, yeah...
(just proofreading what I've written now)
11:16 satyavvd left
flussence also: how well does MiniDBI work right now? I was going to mention that in the post but I don't want to link people to non-functioning code 11:16
moritz_ has no idea 11:17
flussence I'll throw it in and hope for the best 11:18
moritz_ flussence: I'll have to leave in about 5 minutes, so if you need access to the wordpress thing, better hurry up :-) 11:19
(or somebody else can give you access too)
flussence ok, ok... $username@gmail
moritz_ flussence: invitation sent, welcome to the wonderful world of advent :-) 11:21
masak \o/
moritz_++ flussence++
flussence :D
(this might answer someone's question on the advent site wondering where a mysql interface is, too) 11:23
szbalint is rakudo.org down?
flussence
.oO( I'm surprised israkudodotorgdown.com isn't taken yet... )
11:25
szbalint :)
xkcd.com/54/ # I want the Perl 6 version of this on a t-shirt
masak szbalint: "It's not just you!" downforeveryoneorjustme.com/http://rakudo.org/ 11:26
masak emails alester
flussence ok, you guys get to take a look at this while I redo the markup: gist.github.com/741870 11:27
masak looks 11:28
flussence: nice post! 11:29
flussence hold on a sec, can someone change the WP email address? apparently I signed up with a nonsensical name using it ages ago and totally forgot 11:35
.oO( third /facepalm this week )
11:37
11:40 IllvilJa left
flussence grr... pod2html eats my http: L<> tags. 11:45
11:46 saaki joined
flussence wait... I can fix the email/username thing myself! I think. 11:50
flussence facepalm+1... there's already a "display name" option... 11:52
tadzik flussence: it's because zavolaj has its own makefile, which puts stuff in the Rakudo install dir 11:55
hello
flussence tadzik: it seems that makefile had an off-by-one error in @*INC. I fixed it by setting PERL6LIB=./lib 11:57
(grr... pod2html wasn't even necessary for this)
nero2x Hello guys, how can I read user input on p6 ? <> is not working, and I have tried lines (); but it didn't prompt for input 11:59
tadzik rakudo: <>
p6eval rakudo : OUTPUT«===SORRY!===␤Unsupported use of <>; in Perl 6 please use lines() to read input, ('') to represent a null string or () to represent an empty list at line 22, near "<>"␤»
tadzik “in Perl 6 please use lines() to read input,”
everything's in the error message :) 12:00
nero2x yeah iv tried didn't ask for input :(
it skipped to the next line
flussence rakudo: say prompt("hi!").perl 12:01
p6eval rakudo : OUTPUT«hi!"Land der Berge, Land am Strome,"␤»
12:02 redicaps1 joined 12:03 redicaps left
nero2x should I use it like this [prompt my $age; say "you are $age years old"; ] ? 12:05
12:06 cognominal joined
tadzik my $a = prompt "age?"; and so on 12:06
nero2x thanks tadzik 12:08
tadzik yw
flussence *drumroll...*
and it's up! perl6advent.wordpress.com/2010/12/1...om-perl-6/ 12:09
tadzik \o/ flussence saved the day! 12:11
flussence yay! 12:12
tadzik flussence++ 12:13
flussence tadzik++ # I got the idea to write that code from seeing p6-MPD
tadzik :) 12:14
nero2x can we use this plugin on perladvent site ? wordpress.org/extend/plugins/syntaxhighlighter/ 12:16
flussence there's not many syntax highlighters out there that can do perl6 yet :) 12:18
12:21 gimix joined 12:23 skangas left 12:27 mtk joined, soroush_ joined 12:28 soroush left 12:29 tzhs left 12:30 uniejo joined 12:33 gimix left
flussence weird, that code I posted won't run on this laptop unless I put a semicolon after the main class definition. 12:43
masak sounds similar to a known bug.
flussence laptop's slightly out of date though, I'll update rakudo and try again 12:44
doesn't work on my desktop at home too, bah. 12:45
flussence slips a ; into the post before anyone tries the code
perl6: class abc { } say "alive" 12:48
p6eval rakudo : OUTPUT«===SORRY!===␤Confused at line 22, near "class abc "␤»
..pugs: OUTPUT«alive␤»
masak rakudo is right in that case. 12:50
you'd need either a newline or a ; after the last }
slight anticlimax that today's advent post ends in a Null PMC access error. still, I guess that's pretty honest in a way. 12:58
flussence I don't completely understand where that error's coming from. I'm going to make that code work one way or the other though. 13:05
masak excellent. 13:06
13:07 uniejo left
takadonet morning all 13:08
www.reddit.com/r/programming/commen...om_perl_6/ 13:09
flussence \o/
takadonet doing good so far
flussence: nice post btw
flussence it turned out better than I planned for, going into it 13:10
shortcircuit sorear, masak: mmol-6453.livejournal.com/256691.html 13:13
shortcircuit discovers that his LJ theme, while nice on his eyes on an LCD, doesn't work very nicely on CRTs. 13:14
masak first time someone uses a whole blog as a pastebin for an advent post :)
colomon flussence++
shortcircuit Moderately better. 13:15
takadonet 6 upvotes!
masak shortcircuit: s/fascinating \(Admittedly, that's a subjective judgment\)// 13:16
shortcircuit masak: Change made
masak you removed the parentheses and contents, but not 'fascinating'. 13:17
shortcircuit erp 13:18
masak also, I'd suggest merging the two last paragraphs.
there's two different bleep-spellings of "BrainFuck" on the same line.
shortcircuit Take another glance
hm
masak yes, looks better. 13:19
shortcircuit Normalized.
13:19 MayDaniel joined
masak \o/ 13:19
shortcircuit++
shortcircuit hates having to bleep that out in the URLs, but I've had problems with webfilters before.
masak if you ask me, I'd prefer to have "Trivial file I/O: <a href="...">rosettacode.org/wiki/File_IO</a>" as "<a href="...">Trivial file I/O</a>", and similar for all the other URLs in the two lists. 13:24
I simply don't find URLs that informative.
shortcircuit nods
I think that habit of style came from dealing with HTML-filtering mediums. 13:25
masak I've heard the practice of feeling the need to show URLs in the actual text being described as "Poor man's hypertext".
oh, speaking of which, feel free to put bullets on the list items :) 13:26
shortcircuit Yeah, yeah. Working on it. Inline links for the list require that. :)
K, take another look. 13:30
shortcircuit likes this form much, much better. 13:31
Mm. One more change. sec. 13:32
There. :)
masak shortcircuit: very nice :)
13:34 Guest87704 left 13:35 MayDaniel left
shortcircuit Grammar fix. 13:36
13:44 Guest87704 joined
tadzik flussence: I'm afraid the null pmc access is actually a problem on your side. Mind showing the exact output? 13:53
14:01 nero2x left 14:06 sftp joined
masak shortcircuit: I see that you haven't claimed a slot for your Advent post yet. are you willing to do that? 14:06
lue: I think "Phasers" is a good idea to write about, except that it has fairly little actual support in Rakudo right now. 14:09
14:11 rhr joined
flussence tadzik: sure, gimme a sec 14:16
moritz_ masak: doesn't yapsi implement more phasers?
masak not yet. 14:17
it becomes more attractive to focus on once we have subs.
also, it becomes more easy to actually implement once we have FUTURE.
tadzik FUTURE? 14:18
moritz_ you mean, more evenly distributed? :-)
masak it's Yapsi's variant of PAST.
moritz_ *groan*
is it an acronym too?
tadzik hmm
masak no.
Yapsi doesn't do acronyms. 14:19
tadzik so you can take GGE and make YCT :)
masak except for, perhaps, the name "Yapsi".
tadzik: right. and we could have "Null YMC access" errors.
moritz_ "fairly useless, transcendent, unrelastic representatioin"
14:19 uniejo joined
masak moritz_: ...E? 14:20
flussence tadzik: gist.github.com/741984 , error's at the bottom
tadzik these shoud be YMP: Yapsi Magic Ponies
moritz_ masak: REpresentation
masak ah.
moritz_: well, that's the least bad backronym I've heard so far :P
moritz_ masak: aka the first one? 14:21
masak actually no. 14:22
patrickas did some ad-libbing when the name was suggested.
moritz_ can't imagine how bad the others must have been :-)
masak I don't remember them, unfortunately :) 14:23
tadzik xmmsv_get_error($return_value, my $error-str)
is it legal? 14:24
what does my do in here?
masak certainly legal from Perl 6's perspective.
flussence declares that to the end of the enclosing scope...
tadzik hmm
ah, pw
* rw 14:25
masak std: sub xmmsv_get_error($x, $y) {}; my $return_value; xmmsv_get_error($return_value, my $error-str)
p6eval std a194beb: OUTPUT«Potential difficulties:␤ $x is declared but not used at /tmp/h8rFm1PVuu line 1:␤------> sub xmmsv_get_error(⏏$x, $y) {}; my $return_value; xmmsv_get_␤ $y is declared but not used at /tmp/h8rFm1PVuu line 1:␤------> sub xmmsv_get_error($x, ⏏$y)
..{};…
tadzik int eresting;
masak hrm.
std: sub xmmsv_get_error($x, $y) { $x, $y }; my $return_value; xmmsv_get_error($return_value, my $error-str)
p6eval std a194beb: OUTPUT«ok 00:01 125m␤»
tadzik hmm
rakudo: sub($x is rw) { $x = 5; } sub(my $a); say $a 14:26
p6eval rakudo : OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
flussence as far as I can tell, it doesn't reach check-result() at all
tadzik rakudo: sub s($x is rw) { $x = 5; } s(my $a); say $a
p6eval rakudo : OUTPUT«===SORRY!===␤Confused at line 22, near "sub s($x i"␤»
tadzik rakudo: sub s($x is rw) { $x = 5; }; s(my $a); say $a
p6eval rakudo : OUTPUT«5␤»
tadzik hmm 14:27
flussence: try a few say()s :)
flussence will do
tadzik hmm
rakudo: sub ` { say 'a'; }; ``` 14:28
p6eval rakudo : OUTPUT«===SORRY!===␤Confused at line 22, near "sub ` { sa"␤»
tadzik :(
masak tadzik: must begin with an alphanumeric (or underscore) 14:29
14:29 [particle] joined
moritz_ alpha or underscore, actually 14:30
bbkr rakudo: say ?{0} # is this a bug, or is it on purpose that forcing boolean context on block always returns true despite block return value? 14:31
p6eval rakudo : OUTPUT«Bool::True␤»
masak moritz_: oh right. thanks.
bbkr! \o/
moritz_ bbkr: the block isn't run
masak rakudo: say ? {0}()
p6eval rakudo : OUTPUT«Bool::False␤»
moritz_ bbkr: so you're only evaluating the truthness of the block (which is always true), not of the return value
masak there's something almost philosophical about all that. 14:32
bbkr makes sense, I just wanted to be sure. thanks!
14:32 plainhao joined
tadzik hmm 14:32
flussence xmmsc_playback_start returns an UnManagedStruct... thing. I know that much. It's still alive at that point, but it dies trying to call self!check-result. I even removed the type constraint in check-result's signature thinking that might be it, but it wasn't.
and the playback never starts... :(
masak "Truth has nothing to do with words. Truth can be likened to the bright moon in the sky. Words, in this case, can be likened to a finger. The finger can point to the moon's location. However, the finger is not the moon. To look at the moon, it is necessary to gaze beyond the finger, right?" 14:33
my brain suggested this quote from bbkr's predicament :)
flussence (more annoying is that I got an error from the library itself when I wrote this as a straight translation of the C code, but it's gone silent now)
tadzik flussence: what if you disregard error checking for playback_start?
bbkr :)
flussence I'll try that... 14:34
removing the check-result call entirely... no crash, but nothing happens either. 14:35
tadzik hrm 14:36
moritz_ can somebody on macos x please check if there's a getpid function?
tadzik how about the equivalent C code?
moritz_ man 2 getpid
masak moritz_: there is.
"Getpid() returns the process ID of the calling process." 14:37
moritz_ with capital G?
flussence tadzik: I've even checked that - and I've got it to produce identical strace output up to the part where p6 fails. I'm at a loss...
masak moritz_: no, it seems that that's just start-of-sentence capitalization.
14:37 uasi joined
masak weird. 14:37
moritz_ I just checked the rakudo code for getting the PID 14:39
flussence it does a send() to the socket, recv() the result, and *then* p6 explodes.
moritz_ it does a $P0 = dlfunc library, getpid_func, 'i' 14:40
where getpid_func is 'getpid'
tadzik flussence: the first step is probably making the C version work
moritz_ and library is null, which stands for 'kernel', afaict
flussence that's the thing; it does
tadzik hrm
14:41 agentzh left
tadzik how about calling the NCI subs, w/o any wrapper? 14:42
masak moritz_: which means that everything indicates that it should work, no?
moritz_ masak: which indicates that the dlfunc fails
masak question is why. 14:43
flussence aha
I inlined check-result into play() and now it's giving me the original errors 14:44
Failed in file ../src/clients/lib/xmmsclient/result.c on row 379
Null PMC access in isa_pmc()
in '&infix:<=>' at line 1
in 'XMMS2::Client::play' at line 55:xmms.p6
I'm 90% certain that's a null pointer that zavolaj doesn't understand
still don't understand why passing $result to another method breaks differently though :/ 14:45
masak step one: get 100% certain. :)
plobsing flussence: you might want to try breaking on Parrot_Null_isa in gdb
moritz_ $P0 = dlfunc library, getpid_func, 'i'
$I0 = 0
unless $P0 goto setup_io_no_getpid_func
$I0 = $P0()
plobsing Parrot_Null_isa_pmc rather
moritz_ that's for the getpid stuff 14:46
masak moritz_: you could check whether that code is reached. (it probably is, though)
flussence masak: I've looked at NativeCall.pm6 and didn't see anything that looked like it handled nulls, hence my guess there :)
masak don't guess. measure. 14:47
flussence I'll take a better look later, when I'm not at $dayjob surrounded by slow hardware :) 14:48
tadzik flussence: nulls are tricky in zavolaj
flussence: pir::null__P() 14:50
that's null
(that should be a class in zavolaj imho)
14:53 redicaps1 left
moritz_ rakudo: say pir::getinterp__P.getpid() 14:53
p6eval rakudo : OUTPUT«861␤»
flussence I've also got a place where it's valid to pass a null pointer instead of a string... I imagine that would be done by passing an uninitialised Str type object, but zavolaj definitely doesn't handle that case
moritz_ masak: could you please check that on mac os?
14:53 felliott left
moritz_ say pir::getinterp__P.getpid() 14:53
flussence
.oO( it doesn't look too hard to add myself... )
masak moritz_: gladly. 14:54
moritz_: got '15505' back.
moritz_ \o/
masak \o/
tadzik flussence: try passing this pir:: thingy
flussence hey, that worked! 14:55
tadzik :) 14:56
that Should be a class
or a Role, so you could do Str but Null
flussence imo it should do something like "$Str // pir::null__P()" there internally, so calling code doesn't have to care 14:57
jasonmay rakudo: class Foo {}; "Foo".new.perl.say 14:58
p6eval rakudo : OUTPUT«Foo.new()␤» 14:59
14:59 JimmyZ joined
shortcircuit masak: Claim a slot? As in, a particular day? 14:59
tadzik hmm 15:00
maybe zavolaj should augment Str
flussence one thing I really wish it had was some sort of autoboxing thing so that I can do real subclassing of OpaquePointers 15:03
masak shortcircuit: yes, we need exactly one post per day :)
15:03 JimmyZ left
masak shortcircuit: github.com/perl6/mu/blob/master/mi...0/schedule 15:04
shortcircuit flussence's isn't marked for 15. I'll take 17, though. 15:05
flussence yeah, mine was a sort of surprise thing :)
tadzik :)
masak shortcircuit: want to add yourself, or shall I?
15:06 snearch joined
shortcircuit masak: Want to know my dirty little secret? I'm worse than unconfident in git, I'm counterproductive... You better do it. 15:06
masak never too late to learn git. :) but sure, I'll do it.
daxim the world will end if you make a mistake
shortcircuit muses he doesn't have time to make mistakes while at work, this time of year. 15:07
moritz_ that's the beauty of version control: just just turn back the world if it ended :-)
shortcircuit hates this time of year. *EVERYBODY* chooses to add to his workload at the same time nobody has time to do their normal stuff...
moritz_ my colleages are frantically buying expensive stuff, because they have to use up this year's budget 15:08
masak shortcircuit: it's not that big a workload to update the file... :P 15:09
15:09 kensanata left
flussence I wish my $dayjob had a budget to use up :( # still using a 1.6GHz celeron there... 15:09
tadzik look out for chages on isparrotfastyet.com/ :) 15:10
flussence how long has that been there?! 15:11
masak ooh, there actually is such a site!
tadzik flussence: like a week 15:12
dalek : 9957782 | masak++ | misc/perl6advent-2010/schedule:
[misc/perl6advent-2010/schedule] beauty commit
: 002495f | masak++ | misc/perl6advent-2010/schedule:
[misc/perl6advent-2010/schedule] filled #15 and #17
tadzik someone announced it on @parrot-dev
takadonet flussence: have a dual quad core with 16 GB for my desktop at work.....
flussence that's... more than our entire office combined :( 15:13
including servers!
moritz_ well, people here spend the money for oscilloscopes, pattern generators and optical fibers :-) 15:15
15:16 kcwu left
moritz_ masak: if S02-magicals/pid.t now passes (after pulling), please unfudge it 15:16
(or any other macos user, really)
15:16 icwiener joined
mathw everyone in my office got a new computer over the past three weeks 15:17
although they're only 2.9GHz Core 2 Duos for the most part 15:18
with 4GB of RAM
something of an improvement over the old ones though
and they actually have *gasp* hard drive space and *GASP* cooling!
dalek kudo: 2865b9d | moritz++ | / (2 files):
use ParrotInterpreter.getpid for PID

Fixes [perl #77850] and TT #1817 if no problem arises from it
masak moritz_: will do. 15:19
flussence I've been promised a 3GHz P4-celeron for a year or so now... after the sales side got upgraded to C2Ds and 1080p LCDs
15:20 MayDaniel joined 15:22 snearch left
szabgab masak: any news about your FOSDEM talk? 15:23
shortcircuit I eventually upgraded my own workstation by bringing in a better monitor. My boss uses his home/personal quad-i7 as a work-from-home workstation. I don't see him at the office that offen any more.
masak szabgab: haven't seen jnthn since you asked last time. is there a deadline involved? 15:24
szabgab and what about other rakudo devs at FOSDEM ?
I have to check with the FOSDEM people but the sooner we can announce the talks the better
in the end it is up to me to decide on the schedule
masak szabgab: my future is a bit less predictable than usual due to my changing jobs in January. 15:27
flussence
.oO( ah, telecommuting... that thing I only get to experience outside of work hours. )
dalek ast: 38439ef | masak++ | S02-magicals/pid.t:
[S02-magicals] unfudged after [perl #77850] fix by moritz++
15:30
mathw flussence: they actually did our specs right - managers don't get machines as powerful as developers do, because we're thought to need more RAM and CPU power than they do. The only machines on the list of available options right now which are more powerful than the developer-spec machines are for the multimedia content editors in Editorial, which have enormous graphics cards and the like for HDTV work. 15:32
15:32 _kaare left
tadzik Let's do some big thing for the new release 15:32
15:33 kcwu joined
flussence oh, when is the next release anyway? 15:34
masak of rakudo the compiler, or rakudo star the distribution?
colomon of Rakudo? 23rd.
flussence either
masak moritz_: you're my big $*PID hero. 15:35
flussence (I suddenly realised I haven't heard much of R* in a while)
PerlJam blah. 15:36
moritz_ flussence: it has had regular releases so far; not much to hear 15:37
dalek : d2c0e7e | duff++ | misc/perl6advent-2010/topic-brainstorming:
Add a couple more ideas
PerlJam flussence: See my ideas for the advent calendar :)
moritz_ masak: it just required some google search on the parrot website and a question in #parrot :-) 15:38
15:39 Patterner left 15:42 tzhs joined
masak moritz_: nevertheless, kudos. :) 15:42
swimming &
15:42 masak left
uasi std: subset Some of Any where { "%0" } 15:48
p6eval std a194beb: OUTPUT«===SORRY!===␤Can't declare a numeric variable at /tmp/xKddcAwKov line 1:␤------> subset Some of Any where { "%0⏏" }␤Parse failed␤FAILED 00:01 120m␤»
uasi huh
moritz_ rakudo: say "%0"
p6eval rakudo : OUTPUT«%0␤»
15:48 tzhs left
uasi rakudo: class { "%0" } 15:48
p6eval rakudo : OUTPUT«===SORRY!===␤Can't declare a numeric variable at line 22, near "\" }"␤» 15:49
moritz_ guesses it's an $*IN_DECLARATION or so leakage
TimToady likely
uasi nod
moritz_ std: class { "%0" }
p6eval std a194beb: OUTPUT«ok 00:01 120m␤»
15:50 wtw left, Psyche^ joined, Psyche^ is now known as Patterner
uasi Patch for rakudo gist.github.com/742122 15:51
moritz_ uasi: I wonder if we fix more possible leakage cases if we put the $*IN_DECL := '' into blockoid itself 15:52
uasi hm...
I don't know 15:53
moritz_ the current style seems to be to reset $*IN_DECL in the same rule where it's set
so I guess it's better to stick to that
TimToady fixing 15:54
moritz_ fixing? STD is fine, no?
uasi I stole the idea in that patch from STD.pm6...
moritz_ spectests 15:56
TimToady nevermind, please go ahead
16:00 cosimo left, cosimo joined
dalek d: d75aee1 | TimToady++ | STD.pm6:
subset did not reset $*IN_DECL for traits or where

The inside of subset traits and where clauses was still considered declarational.
16:00
16:01 felliott joined 16:03 cdarroch joined, cdarroch left, cdarroch joined
uasi updated the patch gist.github.com/742122 16:05
moritz_ aborts spectest, and starts a new rebuild 16:06
16:12 risou joined
uasi pushed a branch github.com/uasi/rakudo/commit/97a1...e3687fac1f 16:13
I'll send a pull request if it passes spectest
rakudo: try { CATCH { } } 16:18
p6eval rakudo : ( no output )
uasi rakudo: try{ CATCH { } }
p6eval rakudo : OUTPUT«error:imcc:syntax error, unexpected ')' (')')␤ in file 'EVAL_10' line 80850142␤===SORRY!===␤syntax error ... somewhere␤»
uasi rakudo: try{ } 16:19
p6eval rakudo : OUTPUT«Could not find sub &try␤ in main program body at line 22:/tmp/d9YV2yBz9e␤»
moritz_ the first is OUCH
this one might be OK
uasi LTA error message ^^
moritz_ std: try{ }
p6eval std a194beb: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'try' used at line 1␤Check failed␤FAILED 00:01 118m␤»
moritz_ but the IMCC syntax error is certainly a bug
16:20 nym left
uasi yes 16:20
TimToady rakudo: CATCH { } 16:21
p6eval rakudo : ( no output )
TimToady "syntax error ... somewhere" gotta love it 16:22
we can probably do better than undeclared routine there 16:23
16:25 risou_ joined 16:27 risou left 16:28 Bzek left 16:29 Bzek joined 16:30 justatheory joined 16:33 kjeldahl joined
moritz_ uasi: with the patch you nopasted I still get "Can't declare a numeric variable" 16:34
uasi for 'class { "%0" }' ? 16:37
16:37 _kaare joined
moritz_ ./perl6 -e 'subset Foo of Any where { "%0" }' 16:37
ah right, the class thing is fixed 16:38
uasi moritz_: subset thing also works locally; maybe you should apply the patch I updated 16:40
moritz_ uasi: I'm now trying your patch from github... seems my previous patch missed the last hunk 16:41
uasi spectested; it's ok 16:43
16:53 orafu left, orafu joined
uasi out to eat たこ焼き 16:56
16:56 uasi left, alester joined
dalek kudo: a95c1d6 | uasi++ | src/Perl6/Grammar.pm:
Fix $*IN_DECL leakage

Previously 'class { "%0" }' would complain about the %0.
Signed-off-by: Moritz Lenz [email@hidden.address]
16:58
17:04 orafu left 17:05 orafu joined 17:10 sjn left 17:12 cotto joined 17:16 Bzek left 17:17 risou_ left, risou joined
dalek d: 94fd904 | TimToady++ | STD.pm6:
Add "Whitespace required after keyword" message

A common error will be to omit the space after a keyword. Complaining about an undefined function is now deemed to be less-than-awesome.
17:18
takadonet TimToady: thanks for that! You have no idea how confusing that message was when you first start out writing code 17:19
TimToady er, if I have no idea, then why did I fix it? :P 17:20
takadonet you know sometimes you really..... nevermind :) 17:21
TimToady yes, my wife feels the same way occasionally
well, more than occasionally :) 17:22
takadonet heh
TimToady but a linguistic ambiguity detector can be used for both good and ill
and I've got a good one
17:22 MayDaniel left
TimToady (that I frequently use for ill :) 17:22
17:31 daxim left 17:34 thepler joined
PerlJam std: try{ } 17:38
p6eval std a194beb: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'try' used at line 1␤Check failed␤FAILED 00:01 118m␤»
PerlJam When does std update?
TimToady ENOTYET
:40 something, iirc
moritz_ if we warn on <keyword>{ because there's no whitespace, doesn't that eliminate the usefulness of being allowed to write functions with keyword names? 17:39
TimToady you have to use parens
that's already true
I think
listops require whitespace too, if there are args at least 17:40
PerlJam std: sub foo{ }
p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
PerlJam std: sub if{ }
p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
PerlJam std: sub if{ }; if();
p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
PerlJam I think that new spacey rule messes up import and use (if they're defined in STD the same as they are in rakudo) 17:45
std: use MONKEY_TYPING; 17:46
p6eval std a194beb: OUTPUT«Compiled lib/MONKEY_TYPING.pm6␤ok 00:01 118m␤»
alester Anyone who wants to snark about rakudo.org's stability is more than welcome to take over the hosting duties.
moritz_ I couldn't get 'use module <import list>' to parse
(in Rakudo, that is) 17:47
PerlJam moritz_: it fails in STD too looks like.
TimToady yes, I see that
flussence alester: any idea what's wrong? I noticed this only started happening recently 17:49
TimToady fixing
alester flussence: No, i dont' know. 17:50
I've not had free time to dig.
flussence oh.
17:51 mtk left
dalek d: 01ab3ab | TimToady++ | STD.pm6:
differentiate spacey from keyspace

keywords require space; spacey now just tests as it did before
17:52
TimToady std: 42
p6eval std a194beb: OUTPUT«ok 00:01 117m␤»
PerlJam heh ... here I was waiting for something pretty and subtle and elegant and TimToady did exactly what I would do :) 17:53
17:53 mtk joined
TimToady it's hard to be elegant when you have to assume an unrecognized bare identifier is a post-declared sub 17:54
moritz_ uhm, it seems that there's no rebuild script for std on the p6eval server
TimToady I tried several elegant things that didn't work :)
diakopter moritz_: -\o/-
moritz_: I suppose I might've clobbered/renamed it ?? 17:55
TimToady I think that means "you head is in a gravity well"
*your
PerlJam rakudo: use MONKEY_TYPING; 17:56
p6eval rakudo : OUTPUT«(timeout)»
diakopter rakudo: use MONKEY_TYPING;
p6eval rakudo : ( no output )
dalek albot: 052fac4 | moritz++ | build-scripts/rebuild-std.sh:
add std rebuild script
17:56 dakkar left
dalek albot: c3bffb2 | moritz++ | build-scripts/rebuild-rakudo.pl:
try to fix rakudo rebuild
17:58
albot: 9c0247b | moritz++ | build-scripts/rebuild-rakudo.pl:
more s/svn/git/
17:59
18:00 mtk left
dalek albot: 0aef822 | moritz++ | build-scripts/rebuild-rakudo.pl:
[rakudo rebuild] chomp! chomp! chomp!
18:01
18:02 mavrc joined 18:06 mtk joined 18:14 molaf joined 18:17 dd007_ joined
dd007_ Hello people. I am here first time. 18:18
PerlJam greetings dd007_
What can we do for you?
dd007_ Interested in Perl6. i would glad to know about perl 6. 18:19
PerlJam dd007_: have you seen perl6.org?
dd007_ I just visited. I heard that there will be no official release of Perl6. Is it correct ?.
PerlJam dd007_: yes and no. There is an official standard that any perl 6 implementation must conform to in order to be perl 6 18:20
moritz_ and when they conform, they may call itself "official" 18:21
but it implies that there can be multiple official compilers at some point
and not THE ONE
dd007_ ic. I fear that will put future uncertain. what do you think about future of perl ? 18:22
diakopter in what respect?
PerlJam dd007_: Perl has a great future.
moritz_ dd007_: which part makes you uncertain? 18:23
dd007_: there are multiple C and Fortran compilers too. And C++ and Python. Does that scare you?
flussence (and PHP, and Java...)
PerlJam dd007_: Perl 5 is progressing nicely, picking up what features they can from Perl 6. And, of course, Perl 6 implmementations are moving along too, so ... Perl is doing great!
dd007_ I happy about perl5. May be I am wrong about perl6. Uncertain about perl6 in sense that there is no release date expected and I don't know if someone has strong will and plan to develop perl6. 18:26
PerlJam dd007_: We're here.
18:26 risou_ joined
PerlJam dd007_: perhaps most importantly, our fearless language designer is here. 18:27
dd007_: Also, we have monthly compiler releases for at least one implementation.
18:27 Guest65806 left
dd007_ thats cool. 18:27
takadonet also cpan modules are slowly being ported over 18:28
18:28 risou left
dd007_ but as Larry and core team of perl5 made specification for Perl6 , I feared if there will be any official release ever. 18:28
18:29 Guest65806 joined
dd007_ I mean they are not developing Perl6. are they? 18:29
PerlJam dd007_: yes.
dd007_: well, the "core perl 5 people" aren't really, but Perl 6 has it's own core of developers busily hacking away 18:30
moritz_ dd007_: there's basically no one from the perl 5 core team that's very active in Perl 6 development
diakopter dd007_: do you mean "writing implementations of Perl 6" or "writing Perl 6 code for economic [in the widest sense] benefit"?
dd007_ I mean implementation of Perl6.
PerlJam dd007_: anyway, don't worry about an "official release". Grab one of the Rakudo Star releases and start using it.
diakopter dd007_: by "they are not developing Perl6. are they?", do you mean "they are not [the ones who are] developing Perl6. are they?" or do you mean "is anyone developing Perl 6"? 18:32
TimToady std: try{} 18:33
p6eval std 01ab3ab: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'try' used at line 1␤Check failed␤FAILED 00:01 118m␤»
dd007_ I mean the core team who developed or maintains Perl5. I read they have prepared specification. they may not implementing Perl6. I know there are some groups implementing Perl6. 18:34
PerlJam dd007_: have you seen the movie "Kung Fu Panda"?
TimToady is std using the CPAN version?
diakopter shouldn't be
oh wait
PerlJam dd007_: or the 1980s cult movie "The Last Dragon"?
dd007_ I saw end part of Kung fu panda. 18:35
diakopter moritz_: I think maybe sorear made std: use the cpan version, relying on himself or others to release new distributions with each update
maybe not.
PerlJam dd007_: Just like being a master at something becomes simply a matter of knowing you are ("there is no secret ingredient"), Perl 6 implementations are "official" when you use them and find them useful. 18:37
(assuming they pass the Perl 6 spec too of course ;)
18:38 justatheory left
[Coke] dd007_: I didn't see anyone mention this, but there /are/ releases of perl6 available for you to use today - check out rakudo star. 18:38
dd007_ now there is single perl.org where we find perl5. thats one and only and official. can there be multiple official releases of Perl6 in future ?.
yes I read that name rakudo star. I am going to explore more. 18:39
diakopter yes, there can be multiple official releases
PerlJam dd007_: what makes perl.org more "official" than perl.com ? 18:40
TimToady there are multiple official releases of Perl 5 too. see strawberry perl, cygwin perl, etc 18:41
PerlJam dd007_: and if perl.org is official for perl 5, then consider perl6.org official for Perl 6 :)
dd007_ may be I tryped site name wrong
I mean to say, when we install perl package in linux we do not have multiple choices I think. It downloads and install the one and only Perl5 available. 18:42
diakopter that's determined by the linux distribution
TimToady every time someone compiles perl with a different set of options, it's really a slightly different perl 18:43
is 32-bit Perl the same language as 64-bit Perl? not really...
dd007_ but source code will be same I think. only compilation option determine settings or features. 18:44
TimToady perl the implemention is full of ifdefs, and each possible combination of ifdefs is really a different implementation
PerlJam tries to step in the same river twice and fails.
18:45 envi left
TimToady "perl the single implementation" is an illusion 18:45
PerlJam dd007_: anyway, we're just trying to broaden your perspective just a little bit and not be so locked into one way of thinking. TMTOWTDI after all :)
18:46 Axius joined
dd007_ e.g. PHP has zend behind it that take cares of developing new versions. If I say PHP6 then there will be only one PHP6. 18:46
TimToady you shouldn't believe everything you hear at London.pm :) 18:47
flussence what about Roadsend PHP and Facebook Hiphop?
dd007_ hope Perl6 comes up and get huge success and popularity like Perl5.
TimToady there is only one Perl 6 too, but that's a language spec
not an implementation
flussence (those two PHP runtimes aren't even 100% compatible...)
TimToady relying on an implementation as a language spec turned out to prevent us from porting Perl 5 to other VMs 18:48
dd007_ never heard roadsend and the other
TimToady and the Perl 5 test suite bakes in many assumptions about the implementation that probably don't belong in a language spec 18:49
flussence and then there's some other PHP runtime that allows XML literals in the syntax...
TimToady dd007_: we hope Perl 6 gets more popular than Perl 5 :)
and we're not at all unhappy about how popular Perl 5 is... 18:50
18:50 glow left
TimToady we use it heavily in bootstrapping Perl 6 implementations, for one 18:50
dd007_ what is bootstrapping perl6 impl.. 18:51
PerlJam dd007_: we're writing Perl 6 *in* Perl 6, so we have a bit of a chicken/egg problem. 18:52
TimToady std: 42 43 18:53
p6eval std 01ab3ab: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/Ri5ZZ4_gxZ line 1:␤------> 42 ⏏43␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤ statement modifier loop␤Parse failed␤FAILED 00:01 119m␤»
dd007_ oh
TimToady that program is actually running in Perl 5
though written in Perl 6, it's using Perl 5 as its VM
because P5 has a very solid implementation of closures 18:54
and is handy in several other ways :)
dd007_ i would have to google it 18:55
TimToady niecza: say "hi there"
p6eval niecza 406e042: OUTPUT«hi there␤»
diakopter TimToady++ # permitting me to say that I agree with TimToady on solid closures as one the key benefits of p5 for this
TimToady that is an implementation that is running on .NET, but it was bootstrapped in Perl 5
pugs: say "foo" ~~ /\w+/ 18:56
p6eval pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.16/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HANDLE>' trapped by operat… 18:57
TimToady there's an implementation of P6 in Haskell that doesn't work because its Perl 5 bridge appears to be borken at the moment :)
we love Perl 5; we just hope to love Perl 6 more 18:58
dd007_ how much rakudo complies to Perl6 ?. is it complete ? 19:01
flussence passes 27049 tests out of 27052
dd007_ wow 19:02
diakopter well
TimToady fudged
flussence well, with ~1000 skips...
diakopter out of the hundreds of thousands of tests that should/will be written ..
TimToady the rakudo release notes give a long list of things that aren't implemented (yet)
but the subset that is there is quite fun to program in 19:03
dd007_ is there any release for windows platform ?
19:03 justatheory joined
TimToady sure 19:03
dd007_ is there any release for windows platform ? 19:04
TimToady sure
dd007_ which ? . where to download?
19:04 stkowski joined
diakopter github.com/downloads/rakudo/star/r...010.07.msi 19:05
TimToady or github.com/rakudo/star/downloads if you don't mind compiling it yourself
diakopter but you'd need parrot first, I think
for the .msi link
dd007_ ok
TimToady jnthn++ develops on Windows, in fact 19:06
PerlJam TimToady: I think the 2 game-changing traits of Perl 5 were the ability of the language to evolve itself and CPAN. What do you think Perl 6 has that's game-changing?
TimToady the ability to evolve itself *correctly*, for one
PerlJam heh 19:07
flussence and evolve other ones!
[Coke] diakopter: rakudo star handles the parrot dep for you.
TimToady and the ability to support multiple module distribution systems, not just one
[Coke] (oh, windows. yah, that might be safer to just use the .msi, nevermind)
dd007_ [Coke]: ok
19:08 skangas joined, adu joined
dd007_ [Coke]: you mean on linux I would require parrot ? 19:08
19:08 MayDaniel joined
flussence on linux, the package manager does all the work for you :) 19:09
TimToady PerlJam: the main killer feature of Perl 6 is to take all the ad hoc powerful features of Perl 5 and unify them into a coherent semantic model that is much more powerful than Perl 5 could ever hope to be
PerlJam TimToady: that sounds *do* familiar :)
er, *so* even
[Coke] rakudo runs on parrot, so in any case, you need a parrot. in most cases, the rakudo star install will handle this for you so you don't need to worry about it. 19:10
dd007_ ok
TimToady (plus removing most of Perl 5's warts)
dd007_ is it just similar concept to JVM and CLR ?. 19:11
TimToady I think the main thing preventing people from migrating from Perl 5 to Perl 6 right now is performance; the subset we have is already a better language, for the most part
yes, but parrot is supposedly design from the start for dynamic languages 19:12
*designed
though, in retrospect, less well designed for gradually typed languages like Perl 6 than was initially thought
so parrot continues to evolve as well 19:13
diakopter [Coke]: on windows?
PerlJam TimToady: I agree mostly. Not having CPAN and not having quite the same amount of helpful hints from the compiler and parrot leaking through on occasion all add up against using Rakudo for "something real" to me.
diakopter [Coke]: nm
TimToady rakudo's error messages are much improved of late
[Coke] diakopter: parrot requires perl, make, and a compiler to build - if those are in your PATH when you run the installer, I'd expect it to work. (hurm. and maybe git, depending on how it's bundled.) 19:14
TimToady and CPAN(ish) will happen; there's no way we could stop it
[Coke] but I am happy to use jnthn's .msi when testing out rakudo on windows.
TimToady: can we try!?
(that might be fun.)
PerlJam TimToady: yeah, that's one of those "tastes of the promised land" kind of things
19:15 mkramer left
PerlJam I would be enthused if CPAN could morph into something both Perl 5 and Perl 6 could use. 19:15
TimToady I hope that we end up in a land flowing with milk and honey, and make current CPAN look like the leeks and onions of Egypt.
(though, actually, I like leeks and onions :) 19:16
colomon the turnips and brussels sprouts of Egypt?
TimToady well, to borrow from the other testament, trying to upgrade CPAN might be like trying to put new wine into old wineskins 19:17
PerlJam maybe.
If we give it a good try, we might find it otherwise.
19:18 mkramer joined
PerlJam or, perhaps what will happen is that we design the Perl 6 CPAN and then migrate the Perl 5 CPAN to start using it since old-CPAN will most likely be a subset of it. 19:18
TimToady if opinions expressed on this subject over the years had instead been channeled into real work, we'd have it by now :) 19:19
PerlJam maybe. :) Some things require much rumination before the brain gets into the right state to make it happen. 19:20
TimToady anyway, it won't bother me at all if CPAN finds itself in a stiff competition :)
colomon In an ideal world, multiple different "CPAN"s could easily automatically share actual modules, no? 19:21
TimToady as long as the identity of a particular bit of code is sacrosanct, I don't care where it comes from or how 19:22
what we can't have is different systems confusing module identities
hence all the verbiage in S11 about long names
dd007_ can anyone say why virtual machine based program run faster than interpreted program ? 19:23
19:23 glow joined
TimToady this is the lesson of the URI; keep your naming universal, and everything else can change over time 19:23
dd007_ why virtual machine based program run faster than interpreted program ? 19:25
PerlJam dd007_: because traditional interpreted programs repeatedly parse the same code over and over again
dd007_ in all cases ?. I am asking for single run example. 19:26
PerlJam dd007_: (that's one of many possible answers)
19:26 risou joined 19:28 risou_ left
PerlJam dd007_: with traditional interpreters, the body of a for loop (for instance) would be parsed and immediately executed each time through the loop. With a VM the for loop is compiled down to some bytecode or bytecode like structure which requires very little parsing and is just executed each time through the loop 19:28
dd007_: also note that I'm making some simplifying assumptions here. So what I say isn't universal. 19:29
colomon I'm pretty sure that, if you ported Commodore 64 BASIC to run on a modern machine, many programs interpreted thus would be faster than Rakudo on the Parrot VM...
flussence colomon: yes, but what you trade in runtime speed you give up in writing the code :) 19:30
dd007_ i understand that looping example. I doubt whether current perl and php work that way.
PerlJam dd007_: they indeed do not.
colomon flussence: you'll notice I'm not devoting my time to porting Commodore 64 BASIC to modern machines. :) 19:31
flussence heh :)
dd007_ PerlJam: means, they compile loop and execute it?
PerlJam dd007_: yes 19:32
dd007_ is it faster than VM based run generally ?
PerlJam dd007_: sorry, that's a meaningless question to me.
perl and php both have a "VM" 19:33
dd007_ I am comparing non-VM based perl run vs VM based .
PerlJam still meaningless. It's not so much an "execution speed" thing as much as it's a "save for developers to hack" thing. 19:35
s/save/sane/
19:35 molaf left
PerlJam (although perl 5 has some wicked speed hacks :) 19:36
dd007_ will perl program (non-VM based) run faster or java program ?.
what do you think 19:37
flussence the best way to answer that is to find a perl runtime that isn't VM-based and try it yourself :) 19:38
PerlJam I think programmer time is way more expensive than CPU time and you can develop code faster in Perl :)
dd007_ yes 19:39
PerlJam dd007_: I'd say for most of Java's lifetime perl implementatiosn have been faster than Java implementations. Just get a copy of "The Practice of Programming" and look at the timing comparisons they did 19:40
dd007_ PerlJam: I will. though I do not work in java. i am in php and perl. sometimes code in c/c++ 19:41
PerlJam dd007_: page 81 if you find a copy of the book somewhere.
dd007_ ok. thanks.
PerlJam dd007_: though I doubt those same relative timings would hold today.
flussence shootout.alioth.debian.org/u32/whic...calc=chart 19:44
dd007_ Hey, is "use strinct" implicit in Perl6 ?. do I have to declare variables with "my" always ?.
PerlJam dd007_: yes, except from the command line.
dd007_ :( 19:45
:( :( :(
PerlJam well ... assuming it's still specced that way. That's just how I remember it.
19:45 uniejo left
dd007_ i hate . really 19:45
PerlJam dd007_: perhaps you should use some language that has implicit declaration? 19:46
19:46 Max_- is now known as Guest1723
dd007_ I often write to quick and small test scripts . that are not part of the main large project of company. 19:46
imposing "my" is killing me 19:47
PerlJam dd007_: crazy. 19:48
dd007_ oh really. it was good to let "use strict" do that job. we don't want it everywhere.
huf yes we do
see what i did there?
dd007_ in PHP there is no provision to pre declare variable . still it rocks. "use strict" is good to avoing variable mistyping. but I don't want it to auto load for all my script. 19:50
PerlJam dd007_: you can always turn it off. 19:51
huf dd007_: use strict is good for quite a lot of other things
dd007_ PerlJam: no.
PerlJam (although, I don't think anyone has implemented that yet)
dd007_ huf: what other things ?
PerlJam dd007_: right, "no strict" :)
huf dd007_: perldoc strict 19:52
dd007_ I never required that "use strict" in my small test/practice scripts that I often create to try something. e.g. I want to try some class function or test regexp etc. I create a small script for side work. 19:53
huf and you think maing a small wrapper/shell alias to turn off strict for these is impossible? typing 2 characters more will break your arm? 19:54
i like your insurmountable problems.
dd007_ u know huf , I don't want to bother or waste time / energy in pre declaring some variables in small scripts that are created that are never going to be part of any live project. 19:57
huf dd007_: declaring them takes two extra characters, which isnt any amount of time/energy wasted, and as you've been told, it's possible to turn strict off 19:58
PerlJam dd007_: Check out rosettacode.org/wiki/Category:Perl_6 for some examples of Perl 6 code.
dd007_: the "extra my" are not at all onerous. 19:59
TimToady phone?
dd007_ its only two characters that give protection from variable mis spelling. thats why I use strict in production scripts. 20:00
but never in my personal small practice scripts.
huf dd007_: even my does more than just protect against misspelling
flussence well, I guess if someone chooses to ignore a language that saves them a hundred keystrokes because they have to type 3 extra, that's their loss...
dd007_ i know. it creates new variable. (makes sense in loops) 20:01
PerlJam dd007_: you can continue to use Perl 5 for your small practice scripts if you like.
20:01 glow left
PerlJam or python or ruby or php or whatever 20:01
huf or c ;)
alester dd007_: What are you trying to achieve by not using strict/warnings in your small scripts?
shortcircuit has wasted plenty of his own time in 'practice scripts' due to var name typos. 20:02
dd007_ try some logic, or regexp or anything
huf why is turning off strict not an option again? 20:03
dd007_ huf: yes , i can turn it off , in that case also i would have write it explicitly. but it doesn't hurt much. fine
20:04 Guest1723 left, clkao joined
dd007_ but I prefer by default there should be "no strict". it would be great. 20:04
huf dd007_: yes, so if you can turn it off, you can also make an alias on your own for these test scripts
20:05 Guest1723 joined
huf or a small wrapper script somewhere in your homedir, which you add to your PATH 20:05
or a zillion other solutions
dd007_ hmm.
flussence echo 'no strict; require @*ARGV[0];' > p6sloppy.p6; chmod a+x p6sloppy.p6
PerlJam heh "sloppy"
huf dd007_: you can always continue your bad habits if you really want to, but i dont think perl should cater to them 20:06
dd007_ not declaring variable is not a bad habbit always.
huf it is. always.
dd007_ the way you make mistakes is bad habbit.
huf not declaring variables is a mistake. 20:07
how can you tell where they were brought into being and when they'll fall out of scope if you dont declare them?
flussence Computers are supposed to make our lives easier. That includes catching our mistakes, not assuming we have robotic precision.
alester I'm guessing that dd007_ is still not used to the idea that he is a human.
dd007_ we used to manage it since years in PHP . even in Perl5. 20:08
PerlJam dd007_: basically perl culture has decided through years of effort that declaring vars is good for anything more than a one-liner, so Perl 6 makes strict the default.
huf dd007_: and it's a terrible pain in php
PerlJam dd007_: so ... you haven't read much about Perl 6 yet, have you? 20:09
flussence PHP's lack of E_NOTICE by default has created some of the worst code I've ever seen, and I'm the one who gets to maintain that crap.
dd007_ not yet. but I have read and coded much in Perl5 and PHP5
alester I, too, have to maintain that crap.
dd007_ I agree benefits of use strict but we use it always in production scripts.
takadonet happy he never had to maintain php5 code! 20:10
flussence that's why I don't complain about rakudo.org being down ;)
alester dd007_: What are you trying to achieve by NOT using it everywhere?
xoa.petdance.com/Coding_horrors
shortcircuit dd007_: I've been watching P6 code show up on Rosetta Code, and I'm generally surprised when the native Perl 6 solution to a problem looks much like the Perl 5 version. It'd probably be best to not confuse their programming idioms.
dd007_ CONVENIENCE.
alester That's from my codebase at work, much of it now excised over the past three years.
dd007_: I'd suggest that it's far more convenient to catch your mistakes, human. 20:11
dd007_ there is something like convenience apart from rigid thoughts and beliefs
alester dd007_: Carry on.
20:11 hercynium joined
flussence stares at that wiki page in complete terror 20:12
PerlJam dd007_: here's a quick tour of the differences between Perl 6 and Perl 5: Variables keep their sigil: @array[5] %hash{$key} Regex syntax has been reformulated. Object oriented programming now has better built-in support. no parens are required on conditionals of if, while, until, unless, etc. statements. There are many more powerful operators and meta-operators. Everything is an object. -> has become .
dd007_: and . has become ~ 20:13
dd007_ PerlJam: I have read some of them . I appreciate
20:14 jaldhar joined
alester flussence: Tell me which one pains you most! 20:14
flussence the horrible flashbacks, mostly 20:15
shortcircuit PerlJam: That "quick tour" would be a great addition to Perl 6's language page on RC.
dd007_ but i would have to digg more about this auto imposing "use strict".
PerlJam shortcircuit: feel free, it's not like it's copyrighted or anything :)
shortcircuit Heh
PerlJam dd007_: it's just good huffman coding. The common things (or the things that you want to encourage people to use) should have some short syntax so that it's easy to use. Enabling it by default gives the shortest syntax :) 20:17
flussence alester: my favourite one ever was some piece of code that manually parsed mysql datestamps using substr(), which was only used once in the entire codebase, on a column that stored unix timestamps.
20:18 plainhao left
alester I just found some fantastic cut & paste 20:18
about 40 lines that aggregate (poorly) statistics about the list identified by $listid, and then updates the LISTS table in the database. 20:19
dd007_ PerlJam: yup. we are using it where appropriate and can omit it where not really necessary.
alester and then immeidately following, the exact same code, except that all $listid were changed to $xlistid.
[Coke] prepares to cut and paste some SQL for great speed.
PerlJam alester: that one about "1 item(s)" is very similar to something I was telling my current coworkers about my previous job. There was a giant if/else with about 200 lines in each branch. There was only about 5 lines difference between them and the main difference was that one branch handled 1 thing and the other branch handled N things. 20:20
flussence I remember something used a variable called $harsss... to this day I have no idea what it was used *for*
alester This guy just did not use functions. Did not create functions, certainly, and only caled PHP functions where necessary, such as to hit the database.
flussence I have to maintain a present-day site that looks like that. 20:21
alester Do you know what I do when I come home?
flussence breathe a sigh of relief?
alester I walk in the front door, walk straight to the kitchen, open the first drawer, put in my keys and wallet and cell phone, and close the drawer.
Always, without fail, no matter how bad I might have to take a leak. 20:22
It is no less "convenient" for me to do this than to drop my stuff any old place.
It is a habit that I have maintained for probably close to 30 years now.
And I never ever ever have to wonder where I put my keys, or my phone, or my wallet. Ever. 20:23
Having to do so would be extremely inconvenient.
In fact, it would be EXTRA brain cycles on my part to put them where they do not belong.
I also always put on my seat belt in the car. I never wonder if it's "necessary". I just do. 20:24
Thinking about if it is "necessary" is also inconvenient.
Trying to decide to save three seconds by not buclking my seat belt is false laziness.
And so is worrying about when you can omit "my". 20:25
PerlJam alester: you don't arrange your clothes in your closet so that you just pull the next set out and put them on without having to think about what to wear do you?
:-)
flussence *stunned silence*
alester PerlJam: No, I never think about what I wear. :-)
PerlJam alester++ hahaha
touche
alester Hey look, a plaid shirt and blue jeans. :-)
dd007_: Building strong habits will help you more in programming than most anything else you can do. 20:26
PerlJam (as long as they are good habits :)
alester flussence: why stunned silence? 20:28
flussence it was that good
alester :-) Thank you.
I think that's gonna be a Perlbuzz post.
PerlJam alester++ again. that would be awesome. 20:29
alester Thanks.
brb
PerlJam If you could have waxed prosaic a little bit longer I would have to start comparing you to tchrist though
20:29 pothos left
dd007_ i do have good habbits for programming and some other activities. thx. I follow it in all projects. i often enjoy flexibility and convineince. 20:30
PerlJam dd007_: me too. That's why I use perl. It doens't force me to think about problems a certain way. It lets me solve them in a "natural" way.
20:31 y3llow joined, pothos joined
dd007_ I just hated auto turned on strict. anyway, Perl6 is far from being as much popular. i will get used to it or find some other solution. 20:32
i would have to write "no strict" on top where i dont want it.
TimToady no, you wouldn't 20:33
dd007_ at 2 a.m. I god little sad for thing that I will be using after years. 20:34
got*
20:35 sji joined
TimToady starting a program with v6; is specced to be sufficient 20:35
it's just that nobody implements non-strict yet
also, -e is automatically supposed to be non-strict 20:36
20:36 shi left
dd007_ i just read an article for -e . its for one liners only . right? 20:36
TimToady just like Perl 5's -e 20:37
dd007_ is it convinient for 5 to 10 lines of code with -e ?.
TimToady so one -e per line
that's what the v6; is for
-e 'v6; # this is now non-strct' 20:38
dd007_ oh
TimToady but -e can take multiple lines
and assumes the v6 anyway
20:38 justatheory left
dd007_ i will try it. 20:38
TimToady it's just NYI
so it won't work
but it is specced 20:39
see S01:146
dd007_ TimToady: do you mean -e 'v6; # this is now non-strct' ?.
TimToady rakudo has -e but it's still strict for now
it doesn't know how to be non-strict yet
20:39 Axius left
dd007_ TimToady: i hope it get chagned in future. 20:40
TimToady either rakudo or the spec has to change; that's how it works
dd007_ there should be some flag or options to be non strict by default
TimToady -e 20:41
or v6;
dd007_ no. -e is to write code at prompt. i want to give my file to interpreter.
e.g. perl6 --no-strict test.pl
PerlJam std: v6; $x = 3; 20:42
TimToady if you use the v6 as a bareword first thing, it'll assume non-strict (eventually)
p6eval std 01ab3ab: OUTPUT«===SORRY!===␤Variable $x is not predeclared at /tmp/EF49zDK9dP line 1:␤------> v6; $x⏏ = 3;␤Check failed␤FAILED 00:01 120m␤»
PerlJam std doesn't even do it
:)
TimToady nope :)
it's low on our list of priorities
dd007_ TimToady: ok
PerlJam dd007_: you can see how (un)important no strict is to the devs :)
TimToady but it is on our list
if you want it sooner, hack it in :) 20:43
20:43 MayDaniel left, spq1 left
PerlJam dd007_: have you seen the advent calendar? perl6advent.wordpress.com 20:45
dd007_ PerlJam: nope
sounds like Inline::C 20:46
PerlJam dd007_: look at the other entries too, like those from last year. 20:47
dd007_ howmany believes map is slower than foreach ?. 20:49
TimToady they're exactly the same speed in Perl 6, by definition 20:50
PerlJam except "foreach" is spelt "for"
TimToady that too
dd007_ but may not be same for perl5. 20:51
PerlJam still mildly boggles at all those perl 5 programmers who use "foreach" *on purpose*
TimToady unlikely to be the same, since p5 was designed back in the dark ages
flussence I use foreach... to mean "not a for() loop" 20:52
20:52 dju left
PerlJam flussence: you mean a C-style for loop? I just don't ever write those. :) 20:52
flussence I think I had to use them once or twice...
dd007_ for is required less. mostly things get done with foreach. 20:53
PerlJam flussence: besides "for" and "foreach" are synonymous in Perl 5. It makes no difference to the compiler, why should it make a difference to you? :)
20:53 kcwu left
TimToady indeed, you can use "foreach" with a C-style loop :) 20:54
PerlJam contemplates writing foreach ($i = 0; $i < $foo; $i++) { ... } just to annoy people
TimToady it would be proper huffman coding :)
dd007_ i hate foreach ($i = 0; $i < $foo; $i++)
TimToady I hate foreach
flussence I know, I know. :) it just makes it slightly less to think about when I can look at the code and it says "this is done to each of the things in (here)" 20:55
PerlJam I hate foreach too.
flussence: use "for" for that and don't ever write C-style for loops :)
dd007_ but i have no problem with foreach( (@array).
flussence I'd never write C-loops with foreach though, that's just evil
Tene The for(each)? two spellings is rather irritating to me. 20:56
TimToady I'd redesign the language to make loop the C-style one :)
PerlJam Tene: why exactly?
flussence two names for exactly the same operation is very... PHPey to me. 20:57
(though that usually doesn't stop at 2...)
PerlJam flussence: just like map and for in perl 6? :)
TimToady at least they have differen tsyntax 20:58
TimToady also has differen tsyntax...
PerlJam tsyntax is french isn't it? :) 20:59
TimToady russian, I think, as in tsar
PerlJam oh, I though it might be like t'syntax only the quote got elided. 21:00
dd007_ good night
[Coke] I use foreach in perl5 because when it reads better.
TimToady PerlJam: no, that'd be a character on Pern, not Perl
21:00 dd007_ left
TimToady foreach never reads better :) 21:00
PerlJam [Coke]: really? I have never understood that. 21:01
[Coke] ... it helps if you leave out the /because/ in my send. ;)
PerlJam Alias said the same thing to me when he s/for/foreach/ the Padre code and I asked him "why?"
TimToady who's the idiot who thought it up? we should persecute him. :)
21:01 colomon joined
flussence it makes it easier for people escaping from PHP :) 21:01
[Coke] coal for you.
er, him!
diakopter he might get a persecution Complex 21:02
TimToady get Real
PerlJam TimToady: the danger with borrowing is that you might borrow too much (or not enough)
mdxi loops that iterate over an incrementor instead of a datastructure are the goto of the 21st century
flussence (we'll have to keep an i on him...)
diakopter lol
PerlJam notes that Perl 6 still has goto specced. 21:03
Djikstra notwithstanding, goto will be around for a while. 21:04
flussence just yesterday I got chewed out for using goto in some p5 code...
mdxi i never understood what he was so upset about, having grown up in the era of structured programming. then i started reading historical computing texts, and i was enlightened. 21:05
(fortran-style 3 argument IF, with arbitrary labels as jumps_
you can't do that kind of thing today unless you *try real hard* :)
flussence 3 argument IF...? I'm not sure I want to know what that is. 21:06
PerlJam heh
clearly you've never programmed fortran :)
TimToady goto is one of those escape hatches that you hope never to have to use, but you're glad it's there, like eval and BEGIN
PerlJam TimToady: why does it have such a short name? Shouldn't it be called "parachute" or something? :) 21:07
flussence "teleport"
21:07 adu left 21:08 orafu left, orafu joined, dd007_ joined
TimToady we could spell it GOTO in honor of FORTRAN IV 21:10
and require "use MONKEY_BUSINESS;" at the top
mdxi anyway, i wasn't saying that i dogmatically hate on goto. just that i gained understanding of what Djikstra was cautioning against. likewise, i wasn't saying for (;;) shouldn't exist anymore, but that these days it's almost never what you really want. 21:11
dd007_ if i write v6; in beginning will it turned strictness off ?
PerlJam Why not? Wasn't .EQ. and .NE. or whatever still around in Perl 4? :)
TimToady dd007_: define "will" 21:12
dd007_ does it have any other effect ?.
TimToady it tells a Perl 6 interpreter that it's not supposed to expect Perl 5 21:19
in addition to turning off strict
but there are other ways to expect Perl 6
21:19 dd007_ left
TimToady such as naming the executable perl6, or using a .p6 extension 21:20
or starting a file with "module" or "class"
see S01
sorear Perl 5.14 supports package NAME BLOCK syntax, so that's no longer useful 21:21
TimToady there's little reason to start a file with "package" in Perl 6, with or without a block 21:22
now if they borrow "class" or "module", we'll just forget the whole thing :) 21:24
we will recognize Perl 5 by giving a syntax error...
21:25 justatheory joined 21:26 zby_home_ left 21:27 stkowski_ joined
flussence maybe it should exec('perl') instead of giving up on a syntax error... :) 21:27
moritz_ too much magic considered harmful 21:28
because if you meant to write perl 6 code, and it then switches to perl 5 mode... I should take smilies more serious :-)
rakudo: say 1 21:29
p6eval rakudo a95c1d: OUTPUT«1␤»
flussence I recall reading that gcc2.* would exec nethack on a parse error :)
moritz_ that's the newest, good
std: 1
p6eval std 01ab3ab: OUTPUT«ok 00:01 117m␤»
TimToady wonders what percentage of Perl 5 programs would actually parse under Perl 6 these days; almost nothing that uses subscripting would parse right
moritz_ that too
TimToady: much perl 5 code uses for() and while() and if() without parenthesis 21:30
21:30 stkowski left, stkowski_ is now known as stkowski
TimToady s/parenthesis/whitespace/ 21:30
flussence maybe "sloppy mode" should be a bit more allowing of syntax differences between p5/6 21:31
TimToady but I always hated that, making non-functions look like functions
21:32 ggoebel joined
TimToady bugs the heck out of me in C too 21:32
moritz_ erm, yes, whitespace
moritz_ -> sleep
TimToady std: try{}
p6eval std 01ab3ab: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'try' used at line 1␤Check failed␤FAILED 00:01 118m␤»
TimToady night
shortcircuit TimToady: Well, one interesting test might be to scrape RC for P5 code, and pass it into a P6 interpreter. 21:45
TimToady you have a chinese definition of "interesting"
shortcircuit I'm cursed with an interesting life. 21:46
21:50 mavrc left 21:52 fardad joined 21:56 wamba left 21:57 fardad left
PerlJam TimToady: re: perl 5 adopting class. chromatic has tried it at least once. Perhaps we should tell him it's a feature that Perl 5 *doesn't* have a "class" keyword so that Perl 6 can recognize which is which. 21:58
22:18 nymacro joined
sorear PerlJam: /<@array>/, incidentally, is specced to do what you want. :p 22:27
PerlJam sorear: yes, perl *6* already does what I want :)
22:30 wamba joined 22:44 Alias_ joined 22:54 _kaare left 22:57 icwiener left 23:02 sji left 23:06 IllvilJa joined
IllvilJa advent calendar ++ 23:07
23:07 Tene joined, Tene left, Tene joined 23:09 risou left 23:13 lamstyle joined 23:21 shi joined
lue ohai o/ 23:22
sjohnson yo 23:24
colomon \o 23:31
lue .u ʪ 23:32
phenny U+02AA LATIN SMALL LETTER LS DIGRAPH (ʪ)
23:32 Guest65806 left
lue writing advent post 23:32
23:34 Guest65806 joined
sorear Does NativeCall have a spec yet? The p6advent entry makes me think I could implement it pretty easily using P/Invoke 23:35
23:39 whiteknight joined 23:41 ch3ck left
sjohnson .u 23:44
phenny sjohnson: You gave me zero length input.
flussence no .u!
sjohnson :)
trying to get the backspace char there
flussence .u backspace
phenny U+2408 SYMBOL FOR BACKSPACE (␈)
flussence er.
sjohnson .u house
phenny U+2302 HOUSE (⌂)
sjohnson thats the one
ctrl backspace i meant
.u ctrl-backspace
phenny sjohnson: Sorry, no results for 'ctrl-backspace'.
flussence oh
sjohnson .u ctrl backspace
phenny sjohnson: Sorry, no results for 'ctrl backspace'.
sjohnson house is cute
thats what i always called it when i was young during the MS-DOS days 23:45
flussence there's a urxvt extension that prints unicode "control" characters like that
(it gets in my way constantly when I forget to turn it off...)
sjohnson ctrl backspace = 7F = HOUSE in oem437 23:46
sorear .u ⌫ 23:47
phenny U+232B ERASE TO THE LEFT (⌫)
sorear .u ⌦
phenny U+2326 ERASE TO THE RIGHT (⌦)
sjohnson hmm, my client won't let me do the ^V trick 23:48
rjbs .u black snowman 23:52
phenny rjbs: Sorry, no results for 'black snowman'.
rjbs I recently discovered that glyph. Very weird. A neighbor to "snowman without snow" 23:53
sorear Is it a supplementary character?
sjohnson its a cute unicode one 23:55
.u snowman 23:56
phenny U+2603 SNOWMAN (☃)
lue .u meteor
phenny lue: Sorry, no results for 'meteor'.
sjohnson .u snowman black 23:57
phenny sjohnson: Sorry, no results for 'snowman black'.
sjohnson its definitely in there, www.fileformat.info/info/unicode/ch.../index.htm
23:58 felliott left 23:59 ch3ck joined
sorear .u 26c7 23:59
phenny U+26C7 (No name found)
sorear must be new.
23:59 felliott joined, felliott left