»ö« 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 traitParse failedFAILED 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 failedFAILED 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 1Check failedFAILED 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 1Check failedFAILED 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.pm6ok 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 1Check failedFAILED 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 loopParse failedFAILED 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 failedFAILED 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 1Check failedFAILED 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
|