»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by wolfe.freenode.net on 30 October 2009. |
|||
coppro | is continue a different statement than next? (and likewise, leave different than last?) | 00:00 | |
colomon | I think so. | ||
but I admit the terms still confuse me. | |||
coppro | ok... | ||
it would seem to make more sense to have next, last, and redo all have a consistent meaning across blocks (though my understanding of lexotic scopes probably means that's a pipe dream) | 00:01 | ||
00:01
ihrd joined,
ihrd left
|
|||
jnthn | colomon: (argh got disconnect) Odd they happen sooner in ng...wonder what that's down to (or if we do something that triggers it more...) | 00:02 | |
colomon | jnthn: could be two different bugs, of course. | 00:03 | |
jnthn: I'm still valgrinding the crashing code in master, it is taking forever. | |||
jnthn | colomon: same bt? | 00:04 | |
colomon | jnthn: dunno, didn't try it in the debugger and don't have debugging compiled in. | 00:05 | |
jnthn: I'd have been more careful about my next step if I'd known valgrind was going to take this long... | |||
afk for a few... | 00:07 | ||
TimToady | coppro: next, last, and redo are consistent in all refering to "iteration", which is a dynamic concept, and hence not applicable to individual textual blocks like "when" | ||
coppro | ok, thanks | 00:08 | |
TimToady | and when statements (of which default is a special case) are just executed in order as normal statements; they're only special in leaving the current topicalizer, skipping the rest of the when blocks | 00:10 | |
so that concept we call "break" | |||
in fact, you can intermix normal statements with when statements | 00:11 | ||
it's up to the optimizer to figure out if a set of when blocks can be optimized to a computed goto | |||
coppro | like C | ||
TimToady | kinda like, yes | 00:12 | |
and using 'break' in the same sense that C does | |||
that is, in its non-loop sense | |||
except, since we have real closures, we have to implement it with a lexotic control exception to make it give the semantics the C programmer expects | 00:13 | ||
while unwinding through any interior dynamic scopes | |||
so break is very much like return that way, just with a different target | |||
00:14
broquaint left
|
|||
jnthn | .oO( there's more than one way to torture the implementors ;-) ) |
00:14 | |
TimToady | the control freaks will break you | ||
jnthn | <groan> | ||
colomon | back and valgrind is still running.... | 00:23 | |
jnthn, TimToady: I'm curious what you guys think of that .mandel method I implemented around 40 minutes ago in the backlog. | 00:24 | ||
It feels both wrong and evil and wonderfully seductive to me. | |||
pugs_svn | r29314 | lwall++ | [STD] add quote modifier :p aka :path | 00:26 | |
00:26
cdarroch left
|
|||
TimToady | colomon: spec it, and then it won't be evil :) | 00:28 | |
00:28
nihiliad left
|
|||
jnthn | Do we really need a built-in .mandel method? :-) | 00:28 | |
colomon | oh, no, no, no! | ||
jnthn | Or better put, does it have purposes besides making those pretty pictures? | 00:29 | |
colomon | That was intended to be end-user code, not something to go in core. | ||
jnthn | hehe :-) | ||
colomon | that's why I find it evil. | ||
TimToady | but if you can generalize it to a .diverge method... | ||
jnthn | augment is a little evil, but there's worse. :-) | ||
colomon | Actually, I was wondering if it implied there should be some way to call a sub that only takes one argument using something like >>. | 00:30 | |
(That's >>. not >> end of sentence. :) | |||
00:30
Wolf2k_Pinged is now known as Wolfman2000
|
|||
jnthn | does @values ==> thesub(*) ==> @result; do that? | 00:31 | |
00:31
jferrero left
|
|||
TimToady | well, there's always hyper map | 00:31 | |
jnthn | or whatever the pipe syntax is. | ||
colomon | TimToady: right, but hyper map just seems so much more awkward than >>. | ||
TimToady | feeds don't hyperize | ||
jnthn | No, that's true. | 00:32 | |
colomon can't believe he just said that, considering the equivalent would take dozens of lines of C++.... | |||
00:32
envi^office joined
|
|||
TimToady | though mandel is more like a hyper grep | 00:32 | |
colomon | TimToady: no, you need to get both the 0 and the 1 results for it to make sense. | 00:33 | |
It's a transform, not a filter. | 00:34 | ||
TimToady | well, you can always define your own operator | ||
and then hyper that | |||
you can hyper prefixes | |||
colomon | Ha! mandel should be postfix snowman for Complex. :) | 00:35 | |
jnthn | std: multi prefix:<mandrel>($x) { }; my @x; mandrel<<@x | ||
p6eval | std : ok 00:01 111m | ||
jnthn | er, mandel :-) | ||
colomon | Okay, I'm convinced. | 00:36 | |
TimToady | decommuting & | 00:37 | |
00:38
colomon left,
colomon joined,
lestrrat is now known as lest_away
00:39
romanhunt joined
|
|||
lisppaste3 | colomon pasted "mandel crash in valgrind" at paste.lisp.org/display/91909 | 00:40 | |
colomon | jnthn: looks to me like it is probably not the same random crashing bug as in ng. :( | ||
jnthn | colomon: I think I may have even patched that particular segv in ng. | 00:44 | |
yes, pretty sure I did. | 00:45 | ||
colomon | hmmm.... maybe I can translate this script to ng.... | ||
jnthn | Sometimes the gc calls mark after destroy. :-/ | ||
00:45
pointme left,
zaslon joined
|
|||
zaslon | loljnthnhazblogged! jnthn++ 'Attribute sub-protocol and other role bits': use.perl.org/~JonathanWorthington/j...7?from=rss | 00:45 | |
00:45
pointme joined
|
|||
jnthn | zaslon: This morning! :-P | 00:46 | |
zaslon | Sorry, I don't understand that command | ||
colomon | Ah, there's zaslon's notification. | ||
carlin | ENOMEMORYLEFT | ||
So the RSS cron couldn't run | |||
zaslon | lolperl6adventhazblogged! perl6advent++ 'Day 11: Classes, attributes, methods and more': perl6advent.wordpress.com/2009/12/1...-and-more/ | 00:49 | |
carlin | ah, moritz_++ kicked lambdabot :-) | ||
(pause for irony...) | |||
00:53
mubot joined,
carlin sets mode: +vvv mubot pointme zaslon
|
|||
jnthn | mubot: help | 00:55 | |
mubot | usage: mubot: [karma [name] | purge <name> | link <nick> <alternative>] | <name>++ | <name>-- | ||
jnthn | mubot: karma jnthn | ||
mubot | jnthn has not yet made an impact on this world | ||
jnthn | :'( | ||
00:55
obra joined
|
|||
colomon | jnthn++ | 00:57 | |
in ng: "Lexical '$_' not found" | |||
jnthn | oh? | ||
colomon | I'm guessing that's my map({ cdot($_, $y) }) ? | ||
jnthn | hmm, yeah | ||
colomon | oh wait, no it's not. | 00:58 | |
it's being called from Any.join. | |||
jnthn | Maybe some oddness with setting up $_ as a param or something...thought I'd got that righ tthoug. | ||
colomon | err.... don't see how it can be join. | ||
cognominal | ng: my @a = 10..20; say @a[0] | 00:59 | |
p6eval | ng 2c7750: 10..20 | ||
colomon | .. doesn't work properly in ng yet. | ||
00:59
Baggio_ joined
|
|||
colomon | ng: my @a = 10 ... 20; say @a[0] | 01:00 | |
p6eval | ng 2c7750: 10 | ||
colomon | jnthn: changing that map to map({ cdot($^x, $y) }) fixed the problem. | ||
jnthn | ah | ||
cognominal | say 10..20.WHAT | ||
jnthn | maybe it is a bug there then :-( | ||
colomon | oh, it happened in join because of laziness. | ||
cognominal | ng: say 10..20.WHAT | 01:01 | |
p6eval | ng 2c7750: 10..Int | ||
jnthn | cognominal: Probably you wanted (10..20).WHAT | ||
colomon | ng: say (10..20).WHAT | ||
p6eval | ng 2c7750: Range() | ||
cognominal | indeed | ||
ng: say (10...20).WHAT | |||
p6eval | ng 2c7750: Array() | ||
colomon | cognominal: I hacked up a version of ... that just returns an array, so that it could work without iterators in ng. | 01:02 | |
jnthn: you'll be pleased to know that I'm now getting bus errors in ng with the mandel program. :) | 01:03 | ||
cognominal | colomon, is ... a standard operator? | ||
colomon | yes, it's the series operator. | ||
cognominal | ho, I forgot | ||
colomon | it's supposed to be very dwimmy, but I only implemented the version that goes from one Int to another. | ||
lisppaste3 | colomon pasted "mandel in ng crash bt" at paste.lisp.org/display/91911 | 01:05 | |
jnthn | colomon: But the returns one? | ||
colomon | yes. | ||
jnthn | yup, same old... | ||
:-/ | |||
On the one hand, at least the segfaults seem to have one root cause. | |||
On the other hand, it's gonna be a real pain to resolve. | |||
01:19
lest_away is now known as lestrrat,
broquaint joined
|
|||
colomon | jnthn: errr... with --trace=4, the trace stops once the p6 program is executing? | 01:24 | |
01:25
agentzh joined
|
|||
colomon | blast, just like before it works with --trace=4 on. | 01:29 | |
pugs_svn | r29315 | colomon++ | [perl6advent] Switch to doing Rat this weekend. | 01:31 | |
01:32
romanhunt left
|
|||
colomon | jnthn: Got bus error with --trace=4 on!!!!! | 01:33 | |
The bad news: as I tried to say before, it seems like the trace switches off in the middle of the big mandel calculation loop? At least, it prints out a ton of trace info, then slowly prints out a mandelbrot set with no trace information intermixed. | 01:34 | ||
01:41
envi^office left
01:50
JimmyZ joined
01:51
meppl joined
01:54
xinming_ left
02:00
JimmyZ left,
JimmyZ joined
02:01
xinming joined,
JimmyZ left,
JimmyZ joined
02:05
Baggio_ left
02:08
xinming left
02:12
nihiliad joined
02:19
thowe left,
thowe joined
02:37
RichiH left
02:40
RichiH joined
02:41
alester left
02:53
dbrock left
03:02
xinming joined
|
|||
carlin | mubot: karma trace | 03:03 | |
mubot | trace has a karma of -3 | ||
carlin | heh | ||
sjohnson | @karma | 03:06 | |
mubot: karma sjohnson | |||
mubot | sjohnson has not yet made an impact on this world | ||
sjohnson | at least i don't have bad karma! | 03:07 | |
thowe | mubot: karma thowe | 03:08 | |
mubot | thowe has not yet made an impact on this world | ||
thowe | story of my life | ||
TimToady | .oO(I hope nobody names a long switch 'timtoady'...) |
03:09 | |
sjohnson | heh | ||
JimmyZ | karma JimmyZ | ||
03:09
woodford__ joined
|
|||
sjohnson | chin up thowe++ | 03:09 | |
thowe | does the ++ operator on someone's name add karma points? | 03:14 | |
TimToady | mubot: karma thowe | ||
mubot | thowe has a karma of 1 | ||
thowe | I got karma the other day then. Does it go away if I sign off? | ||
TimToady | @karma | 03:15 | |
colomon | thowe: the karma bot got rebooted today, we're all starting fresh. | ||
TimToady | that might have been lambdabot, which we're trying to get rid of | ||
thowe | So, I'm noticing something the last few days a couple of times that is probably about to make me ask a silly question... | 03:16 | |
Is Perl 6 not meant to use ascii sources files? The hyper characters and the strange output the ng bot gives don't seem to be meant to be ascii | 03:18 | ||
colomon | thowe: Perl 6 uses Unicode. | ||
though you can use pure-ascii source if you'd like. | |||
coppro | ASCII is the way of the past... everything should be Unicode | ||
thowe | wow. | 03:19 | |
coppro | Perl 6 has the sanest Unicode interpretation of any language ever | ||
thowe puts on his shiny futuristic coveralls | |||
Now I know I need to switch to FreeBSD. OpenBSD doesn't have any localization. | 03:20 | ||
so, we're talking 16 bit character encoding here, right? not UTF-8? | 03:24 | ||
diakopter | std: token unv { :dba('horizontal whitespace') [ | \h+ | <?before \h* '=' [ \w | '\\'] > ^^ <.pod_comment> ] } | 03:25 | |
p6eval | std : ok 00:02 106m | ||
03:30
tann1 left
03:31
Baggio_ joined
|
|||
diakopter | std: $^P # I love this error message | 03:32 | |
p6eval | std : ===SORRY!===Unsupported use of $^P variable; in Perl 6 please use whatever debugger Perl 6 comes with at /tmp/TXO74uWfMY line 1:------> $^P ⏏# I love this error messageFAILED 00:01 105m | ||
diakopter | ROTFL | ||
arnsholt | Heh | 03:34 | |
Hmm. Is having 817 lines of real code and ~4000 lines of tests considered doing it wrong? ^^ | 03:36 | ||
03:44
ShaneC left
03:51
Baggio_ left
|
|||
diakopter | arnsholt: I don't think so | 03:53 | |
arnsholt | diakopter: Yeah, I donæt really think so either | 03:54 | |
I'm just amused by the wide gap in size. It's not all that surprising either, given that the code generates and analyses morphology | 03:55 | ||
But it's five in the morning and I'm writing the final report. It's the little things that get you through it =) | 03:56 | ||
03:58
Baggio_ joined
04:02
pnate joined,
pjcj joined
04:08
justatheory left
|
|||
TimToady | thowe: we mostly work in UTF-8, but Perl doesn't care which encoding you use | 04:12 | |
a lot of people don't realize that UTF-16 is also a variable-width encoding | 04:13 | ||
and I personally do a lot of work up in Plane 1 | 04:14 | ||
here's a cool character with 64 strokes: 𪚥 | 04:15 | ||
thowe | doesn't show up here :( | ||
TimToady | nor here either, but the log has it right | ||
04:15
jaldhar joined
|
|||
thowe installs urxvt on the new box... | 04:15 | ||
JimmyZ | show up there, but I don't know what it is. | 04:16 | |
TimToady | it's a character composed of four dragon characters | ||
.u 𪚥 | |||
phenny | U+2A6A5 CJK UNIFIED IDEOGRAPH-2A6A5 (𪚥) | ||
thowe | what does it reprisent? | ||
TimToady | lots of dragons? :) | 04:17 | |
thowe | represent rather | ||
Oh, I figured it was some Jabanese thing you knew about. | |||
TimToady | JimmyZ: and it's four traditional dragons | ||
JimmyZ | zh.wiktionary.org/wiki/%F0%AA%9A%A5 | ||
thowe | er Japanese | ||
TimToady | so four ⿓ crammed into one | ||
JimmyZ | TimToady: Yes, | ||
I'm looking at zh.wiktionary.org/wiki/%F0%AA%9A%A5 | 04:18 | ||
TimToady | dunno if there's one with four 龙 | ||
04:18
pjcj_ left
|
|||
TimToady | does it give a definition? | 04:19 | |
diakopter | there there be four dragons | ||
JimmyZ | It means nagging | ||
TimToady | heh | ||
a character made up by someone with four wives, perhaps :) | |||
JimmyZ | It's old chinese. | 04:20 | |
TimToady | well, pretty much everything in Extension B is... | ||
thowe | hahah | ||
JimmyZ | Pinyin is zhe2 | 04:21 | |
TimToady | as opposed to one of ten or eleven other meanings of zhe2 :) | 04:22 | |
04:23
Baggio_ left
|
|||
TimToady | none of which seem to mean 'nag' | 04:23 | |
04:23
beggars joined
|
|||
TimToady | though in compound, we have: 折磨 折磨 [zhe2 mo5] /persecute/torment/ | 04:24 | |
hmm break hemp/stone... | |||
oh, grindstone, yeah, forgot tha tone | 04:25 | ||
*that one | |||
diakopter | chip away -> nag | ||
JimmyZ | 𪚥 means hyperverbal | 04:26 | |
TimToady | another 64-stroke one is 𠔻 | 04:27 | |
JimmyZ | or 'too much to say'? | ||
character composed of four dragon characters is here: en.wiktionary.org/wiki/File:Zh%C3%A9.svg | 04:29 | ||
diakopter | I spent an hour with regexec.c today :^ | 04:30 | |
TimToady | maybe it's only 60 | ||
04:30
gfx joined
04:31
Raugturi joined
04:32
Baggio_ joined
04:42
synth joined,
Baggio_ left
04:45
lestrrat is now known as lest_away
04:47
nihiliad left
04:55
meppel joined
04:59
stephenlb left
|
|||
thowe | So, in perl 6, zero is equiv to false? | 05:07 | |
like C? | |||
quantumEd | rakudo: 0 ~ false | 05:08 | |
p6eval | rakudo 7ef386: Could not find non-existent sub falsein Main (file src/gen_setting.pm, line 324) | ||
quantumEd | rakudo: say (0 ~ (0 ~ 1)) | ||
p6eval | rakudo 7ef386: 001 | ||
quantumEd | rakudo: say ((0 ~ 0) ~ 1) | 05:09 | |
p6eval | rakudo 7ef386: 001 | ||
quantumEd | I think he answer is yes but I don't know.. | ||
thowe | rakudo: if 0 { say "true" } | 05:10 | |
p6eval | rakudo 7ef386: ( no output ) | ||
thowe | rakudo: if 1 { say "true" } | ||
p6eval | rakudo 7ef386: true | ||
05:10
meppl left
|
|||
thowe | m. That will be a change. I'm used to only nil and false being false | 05:11 | |
but perhaps 0 being false is more typical. | |||
Another point I may not be clear on... Are multi subs called in order of declaration until one will work within the context you are using it? | 05:16 | ||
Maybe not called, but first one that will work wins? | 05:18 | ||
05:26
_jaldhar joined
05:27
lest_away is now known as lestrrat
|
|||
s1n | thowe: if i had to guess, by lexical scope | 05:27 | |
05:28
quantumEd left,
rgrau_` joined
|
|||
diakopter | rakudo: vert | 05:33 | |
p6eval | rakudo 7ef386: Could not find non-existent sub vertin Main (file src/gen_setting.pm, line 324) | ||
thowe | well, I'm kind of looking at the third example here: perl6advent.wordpress.com/2009/12/0...nstraints/ | ||
it would seem that an even number failed to work with the first multi sub, so it is expected to go to the next(?) | 05:34 | ||
05:34
rgrau_` left,
rgrau_`` joined
05:35
rgrau_ left
|
|||
s1n | yeah, it'll try them all one after the other backwards (or upwards, depending how you look at it) in the lexical_scope | 05:38 | |
carlin | rakudo: multi foo { say 1 }; multi foo { say 2 }; foo; | 05:41 | |
p6eval | rakudo 7ef386: Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures::():()in Main (file <unknown>, line <unknown>) | ||
s1n | rakudo: multi foo (Str $baz) { say "string" }; multi foo { say "something else" }; foo; foo("bar"); foo(5); | 05:42 | |
p6eval | rakudo 7ef386: something elsestringNo applicable candidates found to dispatch to for 'foo'in Main (file <unknown>, line <unknown>) | ||
05:43
jaldhar left
|
|||
carlin | rakudo: multi sub foo(Int $x where {$x % 2}) { say 1 }; multi sub foo(Int $x) { say 2 }; foo(2) | 05:43 | |
p6eval | rakudo 7ef386: 2 | ||
s1n | rakudo: multi sub foo(Int $x where {$x % 2}) { say 1 }; multi sub foo(Int $x) { say 2 }; foo(2); foo(3) | 05:44 | |
carlin | rakudo: multi sub foo(Int $x where {$x % 2}) { say 1 }; multi sub foo(Int $x) { say 2 }; foo(5) | ||
p6eval | rakudo 7ef386: 21 | ||
rakudo 7ef386: 1 | |||
s1n | wee | ||
05:44
rgrau left
|
|||
carlin | hmm, my rakudo cried about ambiguous candidates for foo(2), probably out of date | 05:45 | |
rakudo: multi sub foo(Int $x) { say 2 }; | 05:46 | ||
p6eval | rakudo 7ef386: ( no output ) | ||
carlin | rakudo: multi sub foo(Int $x) { say 2 }; multi sub foo(Int $x where {$x % 2}) { say 1 }; foo(2) | ||
p6eval | rakudo 7ef386: 2 | ||
carlin | rakudo: multi sub foo(Int $x) { say 2 }; multi sub foo(Int $x where {$x % 2}) { say 1 }; foo(3) | ||
p6eval | rakudo 7ef386: 1 | ||
05:53
masak joined
|
|||
masak | good morning, #perl6. | 05:54 | |
06:04
abra joined,
justatheory joined
|
|||
carlin | masak: o/ | 06:10 | |
06:11
c9s_ left
|
|||
carlin | (got called away so now that I've looked at the result of that code before) how does that work? Wouldn't 3 match both multis? Why is the second called? | 06:20 | |
06:21
c9s joined
|
|||
masak | carlin: no, the second one is narrower. | 06:21 | |
carlin: the rule is that a param with a 'where' clause are narrower than the same param without. | 06:22 | ||
s/are/is/ | |||
carlin | oh okay, that makes sense | 06:24 | |
initially it looked rather 'odd' | 06:28 | ||
masak | :P | 06:29 | |
JimmyZ | rakudo: multi sub foo(Int $x where {$x % 2}) { say 1 }; multi sub foo(Int $x) { say 2 }; foo(3) | 06:31 | |
p6eval | rakudo 7ef386: 1 | 06:32 | |
06:32
colomon left
06:33
cotto joined,
constant left
06:42
yath joined
|
|||
yath | moin | 06:42 | |
masak | hi | ||
06:42
thowe left
06:47
tann1 joined
06:49
coppro left
07:12
unixhack joined
|
|||
unixhack | Hi everybody | 07:12 | |
masak | hi unixhack | 07:13 | |
unixhack | is perl6 complete by c language?? | ||
I am from China | |||
is perl6 complete by c language?? | 07:14 | ||
is perl6 completement by c language?? | |||
07:14
Baggio_ joined
07:15
spinclad left
|
|||
masak | 你可以写中文... | 07:15 | |
unixhack | perl6是不是用 C语言实现的 | ||
masak | 不是. | 07:16 | |
unixhack | 你有 QQ | ||
没 | |||
masak | 没有. | ||
Rakudo (an implementation of Perl 6) is written on top of Parrot, a virtual machine. | 07:17 | ||
Parrot is partly written in C. | |||
so the answer to your question is a little 'yes', but mostly 'no'. :) | |||
07:17
unixhack_ joined
|
|||
masak | (oh, and there's SMOP, another implementation of Perl 6, which is written in C.) | 07:17 | |
unixhack_ | is it implement by haskell ? | 07:18 | |
masak | unixhack: there's Pugs, another implementation, which is, yes. | 07:19 | |
unixhack_: but I'd recommend using Rakudo nowadays. | |||
07:19
unixhack left
|
|||
unixhack_ | 你有没有 qq | 07:19 | |
masak | unixhack_: 没有. 你认为我应该得到QQ? | ||
unixhack_ | 没有 | 07:20 | |
只是 用的比较多 | |||
07:20
spinclad joined
|
|||
unixhack_ | 联系方便 | 07:20 | |
masak | Yes, I see. I'm more used to IRC. :) | ||
I'll see if I can get QQ. | 07:21 | ||
unixhack_ | do you use x chat?? | ||
masak | this is a chat. | ||
IRC is multiplayer Notepad. :) | |||
你的 QQ 名子是什么? | 07:22 | ||
unixhack_ | but i can't live a message to you by using irc chat | ||
masak | sorry, 我不动 "live a message". | ||
unixhack_ | QQ number > | 07:23 | |
what about email | |||
07:23
Su-Shee joined
|
|||
masak unixhack_ my email address is [email@hidden.address] | 07:23 | ||
how, how's that for IRC incompetence? :P | |||
unixhack_ | do you use g talk ? | 07:24 | |
masak | not /me, /msg... :P | ||
unixhack_: not really, no. | |||
unixhack_ | OK | ||
masak | unixhack_: but I could, if it will help you. | ||
unixhack_ | ok | ||
i am new to perl | 07:25 | ||
I am a C++ programmer | |||
masak | ok, nice. | ||
welcome to Perl! | |||
unixhack_ | i know little Python | 07:26 | |
python 3k | |||
masak | ah, the new one. :) | ||
07:27
flip214 joined
|
|||
unixhack_ | 非常期望 perl6 | 07:27 | |
但是 那个 parrot 不知道什么东西 | |||
软CPI | |||
软CPU | |||
? | |||
masak | yeah, I guess. | 07:28 | |
you know about JVM, or .net? | |||
unixhack_ | yes | ||
masak | Parrot is one of those. | ||
unixhack_ | .net is very poor | ||
I prefer Java | |||
masak | 'Virtual Machine' 是不是 软CPU? | ||
unixhack_ | yes | 07:29 | |
虚拟机 | |||
软件CPU | |||
嘻嘻 | |||
masak | then you got it right. | ||
unixhack_ | 你是做什么的 | ||
什么工作 | |||
masak | I am a student. | 07:30 | |
我是学生. | |||
unixhack_ | 我也是的 | ||
07:30
gfx left
|
|||
unixhack_ | 你大几 | 07:30 | |
masak | oh, cool. :) | ||
rakudo: say 'OH HAI' | |||
p6eval | rakudo 7ef386: OH HAI | 07:31 | |
masak | unixhack_: that's Rakudo, by the way. that's a Perl 6 implementation. | ||
rakudo: for 1..10 { .say } | |||
p6eval | rakudo 7ef386: 12345678910 | ||
unixhack_ | 是的 | ||
我希望C 实现的 | |||
或者 自编译的 | |||
用 perl6编写perl6 | 07:32 | ||
masak | well, there are various self-hosting efforts... | ||
Elf is one. it's Perl 6 written in Perl 6. | |||
unixhack_ | Do you know write a C complie by C language ?? | 07:33 | |
masak | rakudo: say '!_kcahxinu ,olleH'.flip | ||
p6eval | rakudo 7ef386: Hello, unixhack_! | ||
masak | unixhack_: sometimes people do write a C compiler in C, yes. | 07:34 | |
unixhack_: I've never done it. :) | |||
but the thought appeals to me. | |||
unixhack_ | pypy | ||
do you know about ? | |||
masak | heard the name. | ||
xinming | masak: After reading the conversation, I was thinking wether you were from china. ;-) | 07:37 | |
masak | xinming: you flatter me, sir. :) | ||
xinming | masak: Nope, BTW, some minor correction is needed to be more natural. | ||
masak | no, just two years of studies, plus judicious use of Google Translate. :) | ||
xinming: I can imagine. | |||
xinming | "没有. 你认为我应该得到QQ?" <--- This one should be "没有, 你认为我应该有QQ?" | 07:38 | |
masak | I take full responsibility. Google Translate only did what I told it to do. :) | ||
flip214 | I get the NULL PMC ACCESS errors again, on use. Any hints? | ||
xinming | hmm, Ok. :-) | ||
flip214 | strace, ltrace, --trace=65535 doesn't help | ||
masak | flip214: any program whatsoever? | ||
flip214 | Last time it was "use Digest::MD5:from<prarrot>" | ||
Don't know what it's this time | |||
masak | flip214: it'll be very helpful if you minimize the problem to its bare essentials. | 07:39 | |
xinming: thanks. I'll remember that. | |||
JimmyZ | 大家好 | ||
flip214 | Yeah ... but how do I find the offending line if it's already distributed over 20 files? | ||
unixhack_ | 大家好 | 07:40 | |
JimmyZ | any more about rakudo perl6 and parrot, welcome to ask me ;) | ||
masak | yes, please ask JimmyZ :) he's a native. | ||
unixhack_ | 你有 QQ没 | ||
JimmyZ | yes | ||
xinming | masak: the word "got" need to be changed to "have" depending on the context. | ||
JimmyZ: 中国人? | |||
masak | xinming: yes, it makes perfect sense. | ||
JimmyZ | xinming,我联系过你几次 了 | ||
xinming | ... | ||
JimmyZ | 老是忘记我? | 07:41 | |
xinming | let's talk in #perlchina | ||
unixhack_ | 晕 | ||
flip214 | Sometimes I even get a segfault in libparrot.so.1.8.0 | ||
moritz_ | good morning | ||
07:41
unixhack_ left
|
|||
xinming | don't flood the channel with all Chinese characters. :-) | 07:41 | |
masak | moritz_: morning! | ||
JimmyZ | moritz_: good moring. | ||
masak | moritz_: or should I say 早上好 :) | ||
JimmyZ | I don't wanna #perlchina | 07:42 | |
moritz_ | masak: only if you want that I don't understand you | ||
masak | moritz_: no, look, it's easy... :P | 07:43 | |
xinming | JimmyZ: If we talk here, there will be so many chinese characters which will be overwhelm for foreigners. :-) | ||
masak | yes, will somebody think of the foreigners! | 07:44 | |
JimmyZ | xinming: then, let's talking in english. | ||
masak | .oO( 汉字 overload... ) |
||
xinming | unixhack_ was not good at English, That's why he would use Chinese all the time. | 07:45 | |
flip214 | I found the line which causes the null pmc access ... | ||
masak | flip214++ | ||
flip214 | it's a "use other::module;" line | ||
masak | flip214: I'm pretty sure I have such lines working in my code. | 07:46 | |
must be something more. | |||
flip214 | yes, I have lots of "use ..." lines ... | ||
but only this one makes trouble (atm) | |||
masak | so do I! :) | ||
07:46
woodford__ left
|
|||
masak | have many 'use ...' lines, that is; not make trouble. | 07:47 | |
flip214 | masak: Yes, I know ;-) | ||
I think I can draw a rather sharp line what's the culprit: | |||
it's "our sub opt_value(options_e $index) is export { return @settings[$index].value; }" with options_e being a (non-exported) enum | |||
as soon as that's before the =begin END I get that error | 07:48 | ||
masak | flip214: care to submit a rakudobug? | ||
JimmyZ | anyone wants my qq, please contact me. | 07:49 | |
Su-Shee | good morning. | ||
masak | morning, Su-Shee. | ||
flip214 | JimmyZ: what's your "qq"? | ||
morning | |||
When will enums be exportable? | 07:50 | ||
07:51
kaare joined
|
|||
masak | flip214: sometime after a rakudobug is submitted about it. :) | 07:51 | |
moritz_ | when somebody implements it | ||
masak | flip214: what moritz_ said. | ||
07:51
kaare is now known as Guest72068
|
|||
masak | but experience says an RT ticket sure helps. | 07:51 | |
masak backlogs over '"LHC" eq "Low Hanging Chocolate"' :) | 07:53 | ||
colomon++ | |||
07:53
woodford joined
|
|||
JimmyZ | flip214: are you chinese too? | 07:54 | |
masak | std: default {} | 07:55 | |
p6eval | std : ok 00:01 105m | ||
masak | rakudo: default {} | ||
p6eval | rakudo 7ef386: ( no output ) | ||
moritz_ | rakudo: default { say 'hi' } | ||
p6eval | rakudo 7ef386: hi | 07:56 | |
flip214 | jimmyz: no | 08:01 | |
jimmyz: at least my parents never said so ;-) | |||
JimmyZ | flip214: you have a qq? I don't think so. :) | 08:02 | |
flip214 | I still don't know what qq means here ... I only know perl's qq | ||
masak | flip214: QQ is a Chinese chat client. | 08:03 | |
flip214 | oh, ok. thanks for explaining. | ||
JimmyZ | flip214: native version of OICQ, which is more than OICQ. | 08:04 | |
flip214: just liking msn, stype | |||
flip214: s/stype/skype/ | 08:05 | ||
flip214 | rt.perl.org just gave me "Internal Server Error" | ||
after clicking on the perl6 queue | |||
now it worked after a reload .... | |||
08:13
mberends joined
|
|||
mberends | hello #perl6 | 08:14 | |
flip214 | Any ideas for "$ perl6 -e 'enum X «A B C»;' | ||
giving a segmentation fault? | |||
08:14
colomon_ joined,
colomon_ is now known as colomon
|
|||
flip214 | rakudo: enum X «A B C»; | 08:14 | |
p6eval | rakudo 7ef386: ( no output ) | 08:15 | |
flip214 | rakudo: enum X «A B C»; print X.WHAT.perl; | ||
p6eval | rakudo 7ef386: ( no output ) | ||
masak | p6eval-- is just being difficult. | ||
flip214 | but wait ... | 08:16 | |
rakudo: say '1'; | |||
p6eval | rakudo 7ef386: 1 | ||
flip214 | Hmmm, my perl6 doesn't even work without arguments .. | ||
masak | .oO( maybe just as well... ) |
08:17 | |
flip214 | do you mean that it doesn't make much difference for me? gee, thanks | 08:18 | |
08:18
colomon left
|
|||
masak | I mean that the Rakudo REPL isn't known to make people happy. | 08:18 | |
flip214: if you think you've found a bug in Rakudo, you should definitely create an RT ticket about it. | 08:19 | ||
by the way, someone took Wolfman2000++'s challenge: huri.net/tech/perl6-vigenere | 08:20 | ||
08:20
PacoLinux left
08:27
tann2 joined
08:28
constant joined
08:29
iblechbot joined
|
|||
mathw | hi | 08:31 | |
masak | o/ | 08:33 | |
08:43
tann1 left,
colomon_ joined,
colomon_ is now known as colomon
08:59
Alias_ left
|
|||
flip214 | I now removed the whole parrot directories in my rakudo directory; "git status" shows no changes; but "perl6" without arguments crashes. | 09:01 | |
src/io/api.c:306: failed assertion 'pmc' | |||
Backtrace - Obtained 23 stack frames (max trace depth is 32). | |||
/usr/lib/libparrot.so.1.4.0 [0x7feb4091b9e3] | |||
Is that because of userspace changes? Some incompatible libraries. | |||
masak | flip214: works here. | ||
flip214 | ok | ||
masak | flip214: waitwait, did you remove the parrot directories, and then not put them back? | 09:02 | |
flip214 | I removed them, and did "perl Configure.pl --gen-parrot" - which did a "svn co" | ||
moritz_ | so you have a globally installed parrot which conflicts with the one that's built locally | 09:03 | |
/usr/lib/libparrot.so.1.4.0 | 09:04 | ||
that's... ancient | |||
masak | moritz_++ # diagnosis | ||
09:05
payload joined
09:06
jferrero joined
09:08
colomon left
|
|||
flip214 | oh yes ... but why does it now conflict? I'm running that since a few months, and only now I get this problem. | 09:09 | |
09:10
Raugturi left
|
|||
moritz_ | because you removed the correct parrot libs that were earlier in the search path | 09:11 | |
masak | rakudo: class A { has $.a; }; class B { has $.b }; my $x = A.new(:a<hi>); my $y = B.bless($x) | ||
p6eval | rakudo 7ef386: ( no output ) | ||
masak | locally, I get "No such attribute '$!b' in class 'B'" | ||
oh, wait. forget the inheritance. | |||
same result, though. | 09:12 | ||
ng: class A { has $.a; }; class B is A { has $.b }; my $x = A.new(:a<hi>); my $y = B.bless($x) | |||
p6eval | ng 2c7750: No such attribute '$!b' in class 'B'current instr.: 'perl6;Mu;BUILD' pc 1482 (src/builtins/Mu.pir:127) | ||
masak cheers jnthn on to fix this | 09:13 | ||
moritz_ | what should that be? a rebless? | ||
flip214 | moritz: you mean because of the 1.7 to 1.8 transition? But I re-configure if necessary after "git pull" ... well, never mind. | ||
I removed 1.4; recompilation is running. | 09:14 | ||
moritz_ | that's not what I meant; but what I meant is likely wrong anyway | ||
masak | moritz_: yes, a rebless. a new object with more slots. | 09:15 | |
hm, speaking of slots: Tene is on for the calendar tomorrow, and his slot says '???'. | 09:18 | ||
moritz_ | if he doesn't come up with something today, we can simply take my Whatever post and stick it in | 09:19 | |
09:20
Alias joined
|
|||
masak | nod. | 09:20 | |
I'm amazed at how well the Advent Calendar works. | |||
moritz_ | though it's easy to explain why it works so well :-) | 09:21 | |
masak | Perl 6 and Christmas clearly work well together. ;) | ||
moritz_ | :) | ||
not quite my explanation, but still good :-) | |||
09:21
Baggio_ left
|
|||
masak | moritz_: I learned the other day that the anarchy of #perl6 partly inspired the modus operandi of #padre. | 09:22 | |
that makes me happy. | |||
moritz_ | .oO( cultural hug-imperialsm ) |
||
09:23
Baggio_ joined
|
|||
masak | phenny: tell pmichaud re Pm-13 that Regex ~~ Method feels right to me as well. but why does one call them with /<Grammar::xyz>/ and not with /<Grammar.xyz>/, in that case? I've always been slightly surprised that it's the former syntax. | 09:28 | |
phenny | masak: I'll pass that on when pmichaud is around. | ||
09:31
Alias left,
Alias joined
09:32
Transformer joined
|
|||
mathw must finish the day 12 advent entry tonight | 09:35 | ||
masak | mathw: 13. | ||
09:36
Transformer left,
woodford left
|
|||
mathw | oh yes | 09:40 | |
whew | |||
an extra 24 hours :D | |||
masak | bonus time! \o/ | 09:41 | |
mathw | I should still finish it tonight though, so people will have time to check it for me | ||
moritz_ | speaking of checking... you're all welcome to review my Whatever post | 09:42 | |
mathw | oh really | 09:44 | |
mathw cracks his knuckles and cackles | |||
masak | moritz_: '# indexing from the back of the array' -- it would be useful to state what the indexed element is as well. | 09:46 | |
moritz_ | ok | 09:47 | |
09:47
Baggio_ left
|
|||
masak | similarly, '# gives a random permuntation\n # of @x' is all very well, but people might not be aware that the positional argument to .pick() is usually a number. | 09:48 | |
I'd make the comment '# pick all of the elements, in random order' or something like that. | 09:49 | ||
it'd play better with people's preconceptions of '*' as meaning 'many'. | |||
09:50
Baggio_ joined
09:53
payload left
|
|||
IllvilJa | jnthn: in today's Perl 6 advent calendar post, shouldn't the last word in the fourth text paragraph (skipping code snippets) be "$self" rather than "self"? (It's the paragraph describing methods and that methods automatically takes care of invocants etc) | 09:53 | |
09:54
Alias left
|
|||
IllvilJa | jnthn: but all in all a very good introduction to OO in Perl 6. | 09:54 | |
(All these perl 6 advent calendar posts have been very useful so far) | 09:55 | ||
mathw | IllvilJa: No, self is the keyword which refers to the invocant of the current method | ||
$self would have to be explicitly declared in the signature | 09:56 | ||
masak | rakudo: sub self() { say "OH HAI" }; self | 10:01 | |
p6eval | rakudo 7ef386: Lexical 'self' not foundin Main (file src/gen_setting.pm, line 324) | ||
masak submits rakudobug | |||
moritz_ | nope, that's fine | ||
rakudo: sub self() { say "OH HAI" }; self() | |||
p6eval | rakudo 7ef386: Lexical 'self' not foundin Main (file src/gen_setting.pm, line 324) | ||
moritz_ | *that's* a bug | ||
masak | ah. :) | ||
rakudo: sub self() { say "OH HAI" }; &self() | |||
p6eval | rakudo 7ef386: OH HAI | 10:02 | |
moritz_ | but without the parenthesis the built-in takes precedence, if it's parsed as term (and not as function) | ||
std: self ~~ 1 | |||
p6eval | std : ok 00:01 106m | ||
moritz_ | std: sub a { }; a ~~ 1 | ||
p6eval | std : ===SORRY!===Preceding context expects a term, but found infix ~~ instead at /tmp/HX05nDhQTe line 1:------> sub a { }; a ~~⏏ 1FAILED 00:01 105m | ||
moritz_ | and you see that STD.pm doesn't parse self as a function | 10:03 | |
masak | right. it's a term. | ||
10:09
agentzh left
10:11
tann2 left,
payload joined
10:15
alexn_org joined,
Alias joined
10:16
Baggio_ left
10:19
Baggio_ joined
10:20
ejs joined
|
|||
IllvilJa | mathw: Ok, I see. | 10:27 | |
10:30
JimmyZ left
|
|||
flip214 | I find that funny how rt.perl.org shortens the domain of the email addresses ... might be good for some confusion. | 10:32 | |
moritz_ | iirc there are two views; if you're signed in you can see the full email address | 10:34 | |
flip214 | Well, I *can* see the full email address (without being logged in) ... at least as "client". Only "From" is short. | ||
See rt.perl.org/rt3/Public/Bug/Display.html?id=71196 | |||
10:37
Alias left,
Alias_ joined
10:42
riffraff joined
10:45
am0c joined
10:46
cognominal left
11:01
cognominal joined,
cognominal left
11:10
ihrd joined,
ihrd left
11:14
Alias_ left,
Alias joined
11:20
c9s left,
Alias left,
Alias_ joined
|
|||
Juerd | It seems Perl 5 is settling on reverting [:xxx:] bracket expressions to ascii-only while making \w, \d and \s match unicode stuff. | 11:32 | |
mathw | interesting | ||
Juerd | I think it's an interesting and acceptable compromise :) | 11:33 | |
Especially because they make the posix-like expressions really posix-compliant now. | |||
POSIX doesn't do unicode apparently :) | |||
Su-Shee | practical. I have a bunch of cases where this will come in handy. | ||
mathw | urgh | 11:35 | |
I don't like POSIX ones | |||
but that's just familiarity I think | |||
11:43
broquaint left
11:45
colomon joined
11:51
ejs1 joined
11:56
c9s joined,
rodi joined
11:58
vorner joined
11:59
payload left,
colomon left
12:01
alexn_org left,
alexn_org joined
|
|||
vorner | Hello, I'm trying to get some grasp around perl6 with rakudo, but I sometime meet a missing feature. But there is one thing I'm not sure if I do wrong or is missing - the hyper metaoperator works with >>, but not with the unicode version of the characters. Is that expected? Thanks. | 12:02 | |
moritz_ | vorner: ususally it works, but not from the command line (with -e) or from the interactive environment | ||
rakudo: say (1, 4, 9)».sqrt | 12:03 | ||
12:03
ejs left
|
|||
p6eval | rakudo 7ef386: 123 | 12:03 | |
moritz_ | rakudo: say (1, 4, 9) »+« (-1, 2, -5) | ||
vorner | ah, right, I tried from interactive | ||
p6eval | rakudo 7ef386: 064 | ||
12:03
broquaint joined
12:04
colomon_ joined
|
|||
moritz_ | p6eval write to a temp file | 12:04 | |
12:04
colomon_ is now known as colomon
|
|||
vorner | Ah, thanks, it works from file now :-) | 12:05 | |
12:07
vorner left
12:08
pmurias joined,
vorner joined
|
|||
pmurias | masak: SMOP is not more C based then parrot | 12:08 | |
masak | pmurias: but Parrot -is- C-based. | 12:09 | |
vorner | By the way, are more unicode operators expected? Like → for ->? | ||
moritz_ | vorner: the core language is (mostly) limited to Latin-1 characters | 12:10 | |
vorner: so "no" | |||
rakudo: say ord '¢' | 12:11 | ||
p6eval | rakudo 7ef386: 162 | ||
moritz_ | oh, even that's latin-1 | ||
xinming | vorner: The unicode version of perl 6 ops are mostly for aliens. :-) | ||
moritz_ | so I guess all of the operators in core are from the Latin-1 subset of Unicode | ||
pmurias | masak: so is SMOP ;) | 12:12 | |
vorner | ok, so a module with macros to translate them could be a nice excercise, thanks for the info | 12:13 | |
moritz_ | right, once macros are in place :-) | ||
vorner: out of curiosity, how did you come to play with Perl 6? | |||
pmurias | using none Latin-1 characters for Perl 6 would be good | ||
as it would stop anyone for attempting to encode Perl 6 in Latin-1 (which BTW should die) | 12:14 | ||
vorner | moritz_: I'm using perl5 quite a lot and I know about existence of perl6 for some time already, but somehow I found out lately it works mostly now, so I gave it a little try out of curiosity | 12:15 | |
moritz_ | what's wrong with having an --encoding option to tell the compiler the encoding for the soruce file | ||
vorner: ok, thank you | |||
masak | pmurias: for a while, it sounded like you wanted to point out something about the C-basedness of SMOP and Parrot. but now you just seem to agree with me. :) | ||
vorner | I found it trough parrot when I wanted to know if it runs on ARM (I want to get a touchbook and noticed ghc does not run there) | 12:16 | |
moritz_ | so, does parrot work on ARM? | ||
moritz_ has no idea | 12:17 | ||
vorner | they say it does | ||
but the touchbook does not arrive yet, so I did not test | |||
*did not | |||
moritz_ | be sure to let us know the result when you try :-) | ||
12:18
Alias_ left,
colomon left,
colomon joined
|
|||
vorner | I fear the memory needs more than the architecture, but I guess that will get a lot better over the time | 12:18 | |
moritz_ dearly hopes so | 12:20 | ||
compiling rakudo takes much memory, because all the builtins are concatenated into a single source file, and then compiled | 12:21 | ||
I've been wanting to compile the Perl 6 source files separately, but it's non-trivial | |||
because they are notionally all in the same lexical scope, but also each file is a lexical scope itself | 12:22 | ||
vorner | Well, I didn't really talk about compiling rakudo. I tried to parse mbox files with a grammar yesterday and managed to write few versions that took 500MB of ram for 5MB mbox file | 12:23 | |
but I guess its partly because I didn't manage to do it using non-backtracking regexes only | |||
moritz_ | did you use NQP? or PGE? | 12:24 | |
vorner | hmm, I don't know | ||
I just wrote some grammar { } with some tokens and regexes inside and called parse | 12:25 | ||
12:25
payload joined
|
|||
moritz_ | so you used rakudo, ok :-) | 12:25 | |
I was confused because parrot comes with two grammar engines too | 12:26 | ||
vorner | I guess there's nothing like lazy grammar, that would give the matched parts one by one and it would load the data from file as needed, right? | ||
moritz_ | not yet | ||
but in a perfect Perl 6 you could make a stream from a file handle | 12:27 | ||
vorner | Well, I ment in the specification, I know lazy lists are not yet implemented and everything | ||
moritz_ | perlcabal.org/syn/S05.html#Matching...on-strings | ||
12:27
ejs2 joined
|
|||
vorner | ah, thanks :-) | 12:28 | |
moritz_ | the idea is that it works just like parsing a string, but the grammar engine calls .moreinput or so if it reaches the end of the current string | ||
and the grammar can contain <cut> assertions to tell it to throw away data that has already been processed | 12:29 | ||
vorner | And the Match object would act lazily too? | ||
moritz_ | if you process such a stream, you wouldn't build the full match object | 12:30 | |
you'd rather use the reduction methods that you can attach to tokens/regex/rules | |||
so if you parse an mbox file, you'd have something like | 12:31 | ||
grammar MBox { token TOP { ^[ <single_mail> <cut> ]* $ }; ... } | 12:32 | ||
and you'd attach a reduction method to rule single_mail | |||
and whenever that matches successfully, you'd build an EMail object from it, or so | |||
so of course each single_mail rule would build a Match object | 12:33 | ||
vorner | or do whatever I needed with it and throw away, that seems like a really nice thing :-) | ||
moritz_ | but the <cut> tell Perl that it can be thrown away if no other references point to it | 12:34 | |
pugs_svn | r29316 | pmurias++ | [mildew] t/spec/S04-statements/until.t passes | 12:35 | |
r29317 | pmurias++ | [mildew] remove &EXPR | |||
moritz_ | I think grammars are a really nice idea, and will be one of Perl 6's killer features (for certain kind of tasks) | ||
masak | aye. | 12:36 | |
moritz_ | in Perl 5 regexes are used extensively, but only very few modules on CPAN give you access to well-tested, reusable regexes | ||
vorner | Thanks a lot, I'm looking forward to these features, it looks like lazy programming will work like in haskell but without the inside out thinking | ||
moritz_ | you're welcome | ||
for example Regexp::Common::URI doesn't like https:// URLs | |||
masak | I still think we have a few nasty surprises to discover about laziness. not so sure it'll be all roses. :) | ||
moritz_ | so what I do is my $regex = $REP{URI}{http}; $regex =~ s{http}{https?} | 12:37 | |
and that's really ugly | |||
12:37
ejs1 left
12:41
Baggio_ left,
Baggio_ joined
|
|||
pugs_svn | r29318 | pmurias++ | [mildew] while works | 12:43 | |
masak | meta-regexes :) | 12:44 | |
moritz_ | in Perl 6 I'd just inherit from the grammar, and override token schema | 12:45 | |
perhaps a few more lines to type, but feels so much cleaner | |||
masak | definitely cleanER, yes. :) | 12:46 | |
Wolfman2000 | *yawn* morning | ||
masak | but it still suffers from the usual problems of inheritence hierarchies. | ||
Wolfman2000: \o | |||
12:47
Alias joined
|
|||
moritz_ | masak: aye | 12:51 | |
or maybe just my $grammar = URI but { token schema { 'http' s? } }; | 12:52 | ||
masak | ooh, that's nice. | ||
rodi | that is pretty. | ||
masak | rakudo: class A { method foo { say "OH HAI" } }; my $b = A but role { method foo { say "OVERRAID" } }; $b.foo | 12:53 | |
p6eval | rakudo 7ef386: ( no output ) | 12:54 | |
masak | locally, "The but operator can only be used with a role or enum value on the right hand side" | ||
...which is nonsensical. | |||
moritz_ | I've seen that message too | ||
jnthn | Rakudo didn't get anonymous role support yet. | ||
masak | jnthn! \o/ | ||
jnthn | But yes, that'll work (the variant with role in it) one it does. | ||
masak | jnthn: what would one mix into a grammar? | 12:55 | |
a grole? :) | |||
jnthn groles as masak | |||
masak: Just a role :-P | |||
masak | *grol* | ||
moritz_ | I see no reason why roles shouldn't contain regexes | ||
rodi | It's dark. Your class is likely to be eaten by a grule. | 12:56 | |
jnthn | They can. | ||
lol! | |||
Since a regex is "just a method", you'll get the conflict resolution and so on too. | |||
moritz_ | there's got to be a grule against this! | ||
masak gruans | |||
12:57
Lorn joined
|
|||
jnthn | aww...only one comment on my OO post. | 12:58 | |
12:58
c9s left
|
|||
jnthn | On the upside, it doesn't say "lol you sOOk" | 12:58 | |
vorner | jnthn: You write the advent callendar? | 12:59 | |
jnthn | vorner: I wrote the lastest post. | ||
vorner: Many of us write the advent calendar. :) | |||
12:59
SmokeMachine joined
|
|||
jnthn | A group adventure, it is. | 12:59 | |
vorner | its a nice breakfast reading :-) | ||
jnthn | :-) | 13:00 | |
vorner | anyway, I didn't manage to introspect the metaclass, Class.^^methods didn't work :-| | ||
masak | it makes me wish Advent came oftener than once a year. :) | ||
vorner: there's only supposed to be one ^ | 13:01 | ||
jnthn | oops, did I write ^^ | ||
vorner | No | ||
jnthn | no, I writed one. | ||
vorner | but I wanted methods of the metaclass, not the class | ||
masak | it doesn't exactly work like that in Perl 6. | ||
jnthn | ah. :-) | ||
vorner | so I interpolated a little | ||
jnthn | Nice try ;-) | ||
masak | extrapolated. :) | ||
moritz_ | so far jnthn, masak, pmichaud, colomon, PerlJam, mathw and me (did I forget anybody?) wrote for the advent calendar | ||
jnthn | .^^^^^methods # meta-meta-meta-meta-meta-methods! | 13:02 | |
masak | moritz_: Wolfman2000++ | ||
Wolfman2000 | thanks masa | ||
masak | jnthn: you wish :) | ||
jnthn | vorner: You'd want to grab the metaclass explicitly and call on its metaclass. | ||
masak: I *so* don't! :-) | |||
masak | Wolfman2000: I don't often get called that. :P | ||
Wolfman2000 | err...whoops | ||
jnthn | vorner: $foo.HOW.^methods | ||
Wolfman2000 | typo | ||
masak | Wolfman2000: :) | ||
vorner still has much te learn | 13:03 | ||
masak | Wolfman2000: it's some pidgin for 'master', isn't it? | ||
I prefer to think of myself as a peer. | |||
Wolfman2000 | I don't know | 13:04 | |
I just forgot the k | |||
jnthn | masak: so it's YOU that's always resetting my connection! | ||
pmurias | jnthn: not only yours! | ||
masak | jnthn: yah, sorry about that. :P | ||
mberends | pmurias++: interesting progress you're making :-) what docs are there for getting mildew or mildew-js running locally? | 13:06 | |
pugs_svn | r29319 | pmurias++ | [mildew] add is export multis in Test.pm, STD gets to read the used | 13:07 | |
r29319 | module | |||
pmurias | mberends: you managed to get it running didn't you? | 13:08 | |
mberends | pmurias: istr mildew-js was working here (on maybe a different host, not sure) a few weeks back. now trying to make mildew , cannot remember how to put cabal on debian stable. | 13:10 | |
pmurias | mberends: the hard part right now is that the current mildew can't compile it's CORE | ||
so you would need a revision of mildew before the start of porting to STD run make CORE-js and then update it to HEAD | 13:11 | ||
mberends | oh, maybe it's better to just wait until you finish your substantial refactoring. presumably old_VAST/ is doomed. | 13:12 | |
pmurias | mberends: that would be 29235 | ||
mberends: old_VAST is leftovers | 13:13 | ||
it's only used for coping over code to VAST/ | 13:14 | ||
masak | latest bug news: we've passed 550 new/open Perl 6 bugs in RT. | ||
mberends | pmurias: ok, that r29235 is a good idea to try this evening :) | ||
masak | if ng doesn't merge this month, we might make 600! \o/ | ||
13:14
takadonet joined
|
|||
Wolfman2000 | that doesn't soud good | 13:15 | |
pmurias | mberends: try 29234 as you don't want the first broken revision | ||
moritz_ | masak: if ng merges this month, we also might make 600 :-) | ||
masak | moritz_: win-win :) | ||
mberends | pmurias: thanks | 13:16 | |
masak | Wolfman2000: it's pretty good. RT tickets means people care. | ||
moritz_ | I expect ng to just have different bugs than master :-) | ||
like, no hashes so far | |||
masak | I hope custom postcircumfix operators will have fewer problems in ng. | ||
takadonet | good morning guys/girls | 13:17 | |
masak | takadonet: \o | ||
they're very powerful/useful, but they have too many problems right now in Rakudo. | |||
pugs_svn | r29320 | pmurias++ | [mildew] ported over fatarrow and loop {...} | 13:34 | |
r29320 | t/loop.t doesn't define it's own return and tests a second iteration | |||
13:34
vorner left
13:37
vorner joined
13:38
TiMBuS left
|
|||
flip214 | masak: is there any hidden meaning in which arm you put up when someone greets? | 13:45 | |
13:45
JimmyZ joined
|
|||
masak | flip214: not beyond the fact that I like to alternate, so one arm doesn't tire. | 13:46 | |
flip214 | not that relevant, as it's a virtual arm, isn't it? | ||
moritz_ | but the virtual arm is raised by a real person :-) | 13:47 | |
masak | 'your mind makes it real'. | 13:48 | |
carlin | masak: another conflict; both november and web have a lib/Tags.pm | ||
takadonet | ... | ||
masak | carlin: oh! now, that one is much more interesting. | ||
carlin: because they do completely different things. | 13:49 | ||
JimmyZ | Oh, I can't join parrot :( | ||
moritz_ | why? | ||
masak | carlin: I think Web.pm's is the more official one, and the one in November should really be November::Tags anyway. | ||
carlin: want me to change it right away? | |||
carlin | masak: that'd be good | 13:50 | |
masak does it | 13:51 | ||
13:52
payload left
|
|||
colomon | what's the "#?rakudo emit #" fudge do? | 13:52 | |
13:54
payload joined
|
|||
colomon | Oh, it emits a # in the comments, commenting out the line. Hmmm... why not skip? | 13:54 | |
oh, because the line isn't a Test.pm directive. | 13:55 | ||
moritz_ | glad I was of help, colomon :-) | 13:56 | |
colomon | moritz_: thanks for listening. ;) | ||
moritz_ just came up with a good name for Web.pm | |||
Ruby on Rails - Perl 6 on Wings | |||
Su-Shee | I just suggested Perl in Oysters in the next door channel. ;) | 13:57 | |
eiro | jeweb ? | ||
PerlJam | Perl 6 - it gives you wings | ||
moritz_ | what would that be, with security extensions? -T? :-) | ||
PerlJam | oh wait ... ;-) | 13:58 | |
eiro | hello world | ||
moritz_ | helleiro | ||
masak | o/ eiro \o | ||
PerlJam | Perl - weapons of mass construction | 13:59 | |
masak | for those who yearn for their daily dose of type papers, here's an interesting one that I found: "The Expression Problem" by Wadler. www.daimi.au.dk/~madst/tool/papers/...ession.txt -- it puts words to something that I've sometimes thought about. | ||
moritz_: in fact, my plan was to name the Catalyst-like MVC framefork "Principle". | 14:00 | ||
thus, "Perl 6 on Principle". | |||
PerlJam | masak++ | 14:01 | |
moritz_ | good idea :-) | ||
masak | glad you like it. :) | 14:02 | |
moritz_ | but it's not good to search for :/ | ||
masak | the rest is simple... just a matter of programming. it's the name that's tough. :P | ||
moritz_ | neither is Wings, though | ||
masak | moritz_: if people search for 'perl 6 principle', they're likely to find something. | ||
JimmyZ loves native type | 14:03 | ||
masak | even 'perl principle' oughta work. | ||
14:03
beggars left
|
|||
Tene | ack, I need to write my advent post! | 14:04 | |
>.> | |||
moritz_ prints out the paper masak++ linked to, for later reading | |||
PerlJam | according to google, "principle" is "gensoku" in japanese. You could continue the trend of using anglicized japanese words | ||
pmichaud | jnthn: ping | 14:05 | |
phenny | pmichaud: 09:28Z <masak> tell pmichaud re Pm-13 that Regex ~~ Method feels right to me as well. but why does one call them with /<Grammar::xyz>/ and not with /<Grammar.xyz>/, in that case? I've always been slightly surprised that it's the former syntax. | ||
masak | PerlJam: I'll think about that. | ||
pmichaud | masak: <Grammar.xyz> ought to be a xyz method call on the Grammar object. | 14:06 | |
whereas Grammar::xyz is looking up the xyz method from Grammar and invoking it on the current cursor | |||
(just as <xyz> looks up the xyz method from the current cursor and invokes it on the current cursor) | 14:07 | ||
jnthn | pmichaud: pong | ||
moritz_ | but... Grammar::xyz looks like searching for a symbol in a package | ||
pmichaud | it's the same for $xyz.Grammar::abc syntax, though | ||
moritz_ | which would imply that inheritance is not respected | ||
Tene | moritz_: you are. the symbol is a method. | ||
pmichaud | or, for consistency, $abc.Grammar::xyz | ||
which looks up the xyz method from Grammar, and then invokes that on $abc | |||
14:08
JimmyZ left,
JimmyZ joined,
jferrero left
|
|||
pmichaud | and correct, inheritance is not respected in this case. In fact, the Grammar::name syntax is explicitly asking that there be no inheritance below the level of Grammar | 14:08 | |
(but we'd accept any xyz method that comes from a parent of Grammar, if Grammar doesn't have its own) | 14:09 | ||
masak | pmichaud: thanks. that explains it. more specificallt, 'invoking it on the current cursor' explains it for me. | ||
moritz_ | it explains it, but doesn't make all that happy :-) | ||
pmichaud | well, if you want true inheritance, you just say <xyz> instead of <Grammar::xyz> | 14:10 | |
same as $abc.xyz follows inheritance but $abc.Grammar::xyz doesn't | |||
(as far as $abc is concerned, that is) | |||
moritz_ | but that only works inside the current grammar | ||
pmichaud | ...does it? | ||
moritz_ | let me rephrase | ||
how do I invoke a rule from a grammar which isn't part of the inheritance hierarchy of the current grammar, and still respect inheritance? | 14:11 | ||
colomon | rakudo: my @a = (); say @a.elems | ||
pmichaud | I don't understand "still respect inheritance" in that case. | ||
p6eval | rakudo 7ef386: 0 | ||
colomon | ng: my @a = (); say @a.elems | 14:12 | |
p6eval | ng 2c7750: 1 | ||
Tene | moritz_: what would "respect inheritance" mean there? How would oyu expect the behavior to differ between something that does and something that doesn't? | ||
moritz_ | in a class I can simply say $objectFromOtherClass.some-method | ||
PerlJam | moritz_: a concrete example might help | ||
pmichaud | moritz_: oh. Are you asking about <OtherGrammar::xyz> ? | 14:13 | |
moritz_ | pmichaud: yes | ||
pmichaud | moritz_: that's how you do it. :) | ||
moritz_ | PerlJam: I'll try to come up with one | ||
pmichaud | <OtherGrammar::xyz> respects the inheritance tree of OtherGrammar | ||
moritz_ | ok | ||
then my question is answered | 14:14 | ||
but I still think that it looks like it doesn't, but maybe that's because I programmed too much in Perl 5 | |||
masak | how does one do it while not respecting inheritance, then? :) | ||
Tene | moritz_: what are you thinking it would do, then? Just fail on an inherited method? | 14:15 | |
14:15
hugh4life left
|
|||
moritz_ | Tene: yes | 14:15 | |
Tene | Oh. That would be LTA. | ||
moritz_ | it would | ||
that's how Rakudo did it some time ago | |||
pugs_svn | r29321 | colomon++ | [t/spec] Fudge elems.t for ng. | 14:16 | |
moritz_ | ng: grammar A { method TOP { <a> }; token a { 'b' }; }; grammar B is A { token a { 'c' } }; say B.parse('c') | ||
p6eval | ng 2c7750: sh: ./perl6: No such file or directory | ||
pmichaud | afaik, ng doesn't have grammars yet | ||
14:17
hugh4life joined
|
|||
pmichaud | masak: it would be done using a regex interpolation | 14:17 | |
masak | ah. | ||
pmichaud | (jnthn: ping response sent via /msg ) | 14:18 | |
moritz_ | ng: grammar A { method TOP { <a> }; token a { 'b' }; }; grammar B is A { token a { 'c' } }; say B.parse('c') | ||
p6eval | ng 2c7750: Method 'isa' not found for invocant of class 'Undef'current instr.: 'perl6;Perl6;Actions;_block922' pc 142140 (src/gen/perl6-grammar.pir:29044) | ||
pmichaud | afaik, ng doesn't have grammars yet | ||
moritz_ | pmichaud: just wanted to see the error message :-) | ||
it's... curious :-) | |||
pmichaud | agreed ... I'm not sure about that error message :) | ||
colomon | Does ng even have a class Undef? | 14:19 | |
pmichaud | no, but Parrot does. | ||
colomon | oh. | ||
pmichaud | nqp tends to turn non-existent lookups into Undefs | ||
14:20
mj41 left
|
|||
colomon | moritz_: does test #446 in ord_and_chr.t work for you? | 14:20 | |
moritz_ | yes. I was just about to ask about that one | 14:21 | |
PerlJam | Is p6eval's nqp the old nqp or nqp-rx? | ||
moritz_ | curious it works | ||
PerlJam: the shiny, new and improved one. Of course. :-) | |||
colomon | I was just about to unfudge it. :) | ||
PerlJam | excellent | ||
moritz_ | ng: say "\c[LATIN CAPITAL LETTER A WITH DOT ABOVE]" eq "\c[LATIN CAPITAL LETTER A, COMBINING DOT ABOVE]" | ||
p6eval | ng 2c7750: 1 | ||
moritz_ | ng: say "\c[LATIN CAPITAL LETTER A WITH DOT ABOVE]" eq "\c[LATIN CAPITAL LETTER A]\c[COMBINING DOT ABOVE]" | 14:22 | |
p6eval | ng 2c7750: 1 | ||
colomon | ng: my $rt65172a = "\c[LATIN CAPITAL LETTER A, COMBINING DOT ABOVE]"; say $rt65172a.org | ||
p6eval | ng 2c7750: Method 'org' not found for invocant of class 'Perl6Str'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
colomon | ng: my $rt65172a = "\c[LATIN CAPITAL LETTER A, COMBINING DOT ABOVE]"; say $rt65172a.ord | ||
p6eval | ng 2c7750: Mu() | ||
moritz_ | ng: say "\c[LATIN CAPITAL LETTER A WITH DOT ABOVE]".chars | ||
colomon | thought it might be something like that. | ||
p6eval | ng 2c7750: 0 | ||
14:22
Guest72068 left
|
|||
moritz_ | colomon: then better skip it | 14:22 | |
colomon | ought to add test | ||
ord always has to be > 0, doesn't it? | 14:23 | ||
masak | carlin: pushed s/Tags/November::Tags/ | ||
moritz_ | ng: say ord("\c[LATIN CAPITAL LETTER A WITH DOT ABOVE]") | ||
p6eval | ng 2c7750: Mu() | ||
moritz_ | ng: say ord("a") | ||
masak | in fact, I'll do the same with a few other classes while I'm in there. | ||
p6eval | ng 2c7750: 97 | ||
moritz_ | ng: say ord("\0") | ||
p6eval | ng 2c7750: 92 | ||
moritz_ | ng: say ord(chr(0)) | ||
p6eval | ng 2c7750: 0 | ||
carlin | masak: Thanks :-) | ||
moritz_ | colomon: not always, but most of the time :-) | 14:24 | |
colomon | well, > 0 if you give it a non-zero character. | ||
moritz_ | right | ||
ng: say("\c[LATIN CAPITAL LETTER A WITH DOT ABOVE]") | |||
p6eval | ng 2c7750:  | ||
colomon | my point being we can add a test to make sure that it's not just the ord values that are equal, but that the ord values are also sensible. | ||
moritz_ | colomon: go right ahead :-) | ||
colomon | so skip instead of todo for the passing but wrong test? | 14:25 | |
moritz_ | colomon: but you see it's the \c interpolation that's not working, not ord() | ||
+1 | |||
colomon | oh, so testing that it gets chars > 0 is better. cool. | ||
14:25
PacoLinux joined
|
|||
moritz_ | you can also test for the right ord straight away | 14:26 | |
rakudo: say ord("\c[LATIN CAPITAL LETTER A WITH DOT ABOVE]") | |||
p6eval | rakudo 7ef386: ( no output ) | ||
dalek | vember: 198e75a | masak++ | (7 files): renamed s/Tags/November::Tags/ |
||
masak | dalek: hey, great! | 14:27 | |
moritz_ | $ perl -Mcharnames=:full -wE 'say ord("\N{LATIN CAPITAL LETTER A WITH DOT ABOVE}")' | ||
550 | |||
colomon: that's the desired result | |||
colomon | I have to admit I'm not completely comfortable testing for that, in my unicode ignorance. | 14:28 | |
moritz_ | then I'll do it :-) | 14:29 | |
colomon | one sec | ||
moritz_ | 1 | ||
0 | |||
waited :-) | |||
pugs_svn | r29322 | colomon++ | [t/spec] Refudge incorrectly passing test, add test that indicts why it is incorrect. | ||
colomon | there. | 14:30 | |
14:32
gbacon joined
|
|||
pugs_svn | r29323 | moritz++ | [t/spec] be more explicit when testing for graphemenss | 14:34 | |
colomon | Teamwork. :) | 14:36 | |
14:37
mberends left
|
|||
carlin | looks like there's more http-daemon stuff in perl6-examples; lib/Test/Harness.pm and lib/Test/Differences.pm | 14:37 | |
colomon | moritz_: looks like the same thing may be happening in comb.t ? | 14:39 | |
dalek | kudo/ng: 6ee78ed | (Solomon Foster)++ | t/spectest.data: Turn on elems.t. |
14:41 | |
colomon | Yeah, definitely the same thing. | 14:42 | |
masak | carlin: yes. | 14:43 | |
14:43
payload left
|
|||
masak | carlin: mberends left again, but I think we can safely get rid of it. | 14:43 | |
pugs_svn | r29324 | colomon++ | [t/spec] Skip test which was incorrectly passing. | 14:44 | |
14:50
colomon left
|
|||
carlin | masak: cool | 14:53 | |
carlin deletes | |||
14:56
JimmyZ left
|
|||
masak | rakudo: class A::B {}; say A::B.new.isa("A::B") | 15:05 | |
p6eval | rakudo 7ef386: ( no output ) | ||
masak | locally, "0\n". | ||
bug? | |||
moritz_ | that's know and submitted | ||
masak | ok, thanks. | ||
carlin | both perl6-examples and benchmark contain the same Benchmark.pm, alright to delete it? | 15:08 | |
masak | who wrote it? | 15:09 | |
carlin | pointme: benchmark | ||
pointme | perlpilot's benchmark is at github.com/perlpilot/benchmark/ | ||
15:10
colomon_ joined,
colomon_ is now known as colomon
15:12
orafu joined
15:15
alexn_or1 joined
15:19
alexn_org left
15:20
iblechbot left
15:25
mberends joined
15:26
rgrau joined
15:27
quantumEd joined
15:29
JimmyZ joined
|
|||
dalek | vember: 8dfebd5 | masak++ | (20 files): put many modules under the November:: namespace |
15:38 | |
15:40
alexn_or1 left
15:42
Trey joined
15:43
Astoria` joined,
Psyche^ joined
15:44
alexn_org joined
15:49
ejs2 left
15:53
riffraff left,
Patterner left,
Psyche^ is now known as Patterner
15:57
JimmyZ left
15:59
jferrero joined
16:01
plainhao joined,
guest28 joined
|
|||
guest28 | Is there a preferred data serialization format that will likely be used by Perl 6? I've read that YAML has a rather large spec, and JSON seems very nice and simple. But then there's also YAML::Tiny... | 16:02 | |
16:02
jan_ left
|
|||
masak | guest28: Perl 6 culture is unlikely to choose one format. | 16:03 | |
guest28: if you're interested in a solution that works now, JSON is it. | |||
Juerd | guest28: Depends on the use case. | ||
masak | guest28: proto uses YAML, but it cheats. | ||
Juerd | guest28: Not every format supports every kind of object | ||
masak | I think I would've chosen JSON if that module existed at that time. | ||
Juerd | masak: It's never too late to change :) | 16:04 | |
masak | Juerd: true, but I value backwards compatibility more than changing in this case. | ||
guest28 | masak: Yes, never too late to change. :) | ||
Juerd | You could keep compatibility | ||
masak | switching to JSON would mean having to support two formats. | ||
Juerd | Yes | ||
guest28 | I was thinking in terms of needing to spend structured data around, say, via http. | ||
Juerd | spend? :) | ||
guest28 | s/spend/send/ | 16:05 | |
Juerd | guest28: I think JSON is slightly more practical | ||
moritz_ | if you want strings, numbers, booleans, arrays and hashes, then JSON works | ||
Juerd | But of course, a lot of people do prefer XML | ||
guest28 | Hm. Perl 5 modules use a manifest written in yaml I think... | ||
moritz_ | and there's a working JSON module for Perl 6 on github | ||
Juerd | I'm working with an XML format right now and really dislike it. | ||
guest28 | Juerd: Whoa. Let's keep this civil. ;) | 16:06 | |
moritz_ | guest28: I guess that's going to change too, very slowly | ||
Juerd | guest28: You're right; I'm sorry. | ||
16:06
payload joined
|
|||
moritz_ | Juerd: maybe because XML is not a data serialization format, but a markup language :-) | 16:06 | |
guest28 | Juerd: I meant just *mentioning* XML. ;) | ||
Juerd | moritz_: In this case... I wish it was. | ||
moritz_: Effectively, I have to use XML to serialize zone files. | |||
guest28 | moritz: Interesting. That's good to hear, IMO (about changing from yaml) | 16:08 | |
Tene | Juerd: shame there isn't some sort of standard file format for zone files... ;) | 16:09 | |
Juerd | YAML with its indentation mess isn't very transfer friendly. It can even break during copy/paste with stupid editors. | ||
Tene: Currently I have zonefile -> weird-xml-format implemented by letting Net::DNS::Zone::Parser parse the zonefile | 16:10 | ||
I've added methods to the respective Net::DNS::RR::<type> classes, that return the xml-ified version of the RR | |||
guest28 | moritz: re. JSON on CPAN for Perl 6; Oh, didn't realize there were Perl 6 modules on the CPAN. Do you mean this? search.cpan.org/~makamaka/JSON/lib/JSON.pm | ||
Juerd | Now I only have to build a class for representing zones, that can also read the XML stuff. | ||
So far I haven't needed any real XML, fortunately. | |||
moritz_ | guest28: search.cpan.org/~moritz/JSON-Tiny-0.1.2_1/ | 16:11 | |
guest28: the PAUSE indexer can't handle Perl 6 POD, so it looks all messed up | |||
github.com/moritz/json <-- source | |||
Juerd | Real programmers read POD in source ;) | 16:12 | |
guest28 | moritz_: Ok, thanks for the search.cpan link. Funny though, I don't see any obvious indication that it's for Perl 6... | 16:13 | |
I mean, here: search.cpan.org/~moritz/JSON-Tiny-0.1.2_1/ | |||
moritz_ | guest28: somebody would have to patch significant parts of the CPAN toolchain | ||
Juerd | guest28: "=begin Pod" | ||
guest28 | moritz_: will try it out. Thank you. | 16:14 | |
Are there still plans for some kind of a CP6AN? Or is the current modus operandi to just put Perl 6 modules into the existing CPAN infrastructure? | 16:16 | ||
Juerd | You can theoretically put anything on CPAN | ||
16:17
crythias joined,
Baggio_ left
|
|||
Juerd | If you have something really important, that isn't too secret (or is well encrypted), upload it to CPAN and it'll be mirrored to hundreds of sites :D | 16:17 | |
moritz_ | I think open-source-ness is a requirement for uploading to CPAN | ||
Juerd | It's not IIRC | ||
masak | I think it being Perl is a requirement for uploading to CPAN. | 16:18 | |
moritz_ | no | ||
well | |||
guest28 | Is anyone working on a "CPAN" strictly for Perl >= 6? | ||
moritz_ | there's a PHP equivalent of Test::More on CPAN ;-) | ||
16:19
pointme left,
mubot left,
zaslon left
16:20
pnate2 joined,
mubot joined,
pointme joined
16:21
zaslon joined
|
|||
Juerd | guest28: No. Someone is working on CPAN6, and intends it to be used for Perl 6 and perhaps everything else in existence. | 16:23 | |
guest28: However, this is all very detached from the Perl 6 community, XML based, and very capable (read: complex). | |||
I have doubts that the community will embrace it. | 16:24 | ||
I hope to be proven wrong. | |||
diakopter | Juerd: I thought there were lots of cpan-successor efforts? | ||
Juerd | diakopter: Just one that I know of | ||
guest28 | Found some discussion here: perlbuzz.com/2009/02/should-perl-6-...-cpan.html | 16:25 | |
16:26
flip214 left
16:30
pnate left
16:32
perlygatekeeper joined
|
|||
guest28 | My understanding is that [Proto](github.com/masak/proto) is only intended as a stop-gap measure. | 16:34 | |
masak | correct. | ||
16:34
pointme left
16:37
alexn_org left
16:42
zaslon left,
carlin left,
mubot left
16:43
payload left
|
|||
quantumEd | rakudo: say ~~~ | 16:47 | |
p6eval | rakudo 7ef386: say requires an argument at line 2, near " ~~~"in Main (file src/gen_setting.pm, line 2593) | ||
16:48
jaldhar_ joined
16:49
quantumEd left
|
|||
colomon apparently closed all the Perl 6 TextMate windows on his system in an effort to get himself to focus on $work instead of trying "just one more patch"... | 16:54 | ||
16:54
cdarroch joined
|
|||
TimToady | apparences can be deceeving | 16:54 | |
16:59
guest28 left
17:00
_jaldhar left,
ejs joined
|
|||
masak | I'm fascinated by the model of ADTs and classes being easily extensible in different directions: with ADTs, it's easy to add operations, whereas with classes, it's easy to add representations. | 17:00 | |
inheritance and multimethods help mitigate things for classes, it seems. | 17:01 | ||
17:02
quantumEd joined
|
|||
masak | a group of questions for which I still don't have answers: can one create ADTs in Perl 6? would one want to? if it's not possible, what's missing? | 17:04 | |
it seems that static typing is a necessary condition, but Perl 6 has that, sort of. | |||
17:04
nihiliad joined
17:06
iblechbot joined,
ejs left
|
|||
pmurias | masak: what features of ADTs classes don't have? | 17:06 | |
masak | pmurias: I wish I could say it better than www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf | ||
pmurias: in many ways, they seem complementary. | 17:07 | ||
17:07
jaldhar_ left,
ejs joined
17:08
jaldhar_ joined
|
|||
PerlJam | masak++ (I would have been one of those people he mentions in the introduction) | 17:08 | |
masak | it's a good read. | 17:09 | |
17:09
alester joined
|
|||
masak | I don't grok all of it, especially not when it goes all type-y and greek on me, but I get the big picture. | 17:09 | |
17:11
pnate joined,
thowe joined
|
|||
pmurias | i don't feel the paper is any good | 17:12 | |
masak | why not? | 17:13 | |
17:15
pnate2 left
|
|||
pmurias | what the author claims is that two of his definitions of a concept are different | 17:17 | |
i couldn't care less | |||
s/of a concept/of a different concept/ | |||
masak | well, he claims that ADTs and objects are more different than commonly acknlowledged. | ||
pmurias | but he doesn't prove that | ||
masak | it can be interesting if he argues it convincingly. | 17:18 | |
pmurias | he doesn't | ||
masak | I hadn't even drawn a parallel between the two before I read the paper, so I found it enlightening. | ||
17:19
ejs left,
crythias left
|
|||
quantumEd | well the biggest thing I think of, and this might just be an opinion thing so please point out if so, is that classes are open (you can add more stuff) but the data types like tree or list or whatever are closed (you're never going to have something alist which isn't nil or cons for example) | 17:19 | |
masak | quantumEd: there is something to that, yes. | ||
am I right in equating ADTs with C structs? | 17:20 | ||
17:20
pnate left
|
|||
quantumEd | I'm not sure, I've seen people do OO with C structs | 17:20 | |
17:20
pnate joined
|
|||
masak | quantumEd: that's possibly, but you wouldn't get the interface part that the author is talking about. at least I don't think you would. | 17:21 | |
quantumEd | theres this hack struct foo { ..; field bar[0]; } you see sometiems (like in the implementation of objective C), which lets you add arbitary more fields to a struct | ||
17:21
ejs joined
|
|||
pmurias | masak: most classes don't meet his definition of classes | 17:21 | |
masak | pmurias: do you have an example? | ||
quantumEd | you alloc one of these with sizeof + n*sizeof(field) | 17:22 | |
pmurias | masak: you can check the type of an object in most languages | ||
masak | pmurias: well, sure! | 17:23 | |
PerlJam | It seems to me that the author is saying that int16 would be an ADT, but Int would not necessarily be one. (it would be more than an ADT) | ||
17:23
ejs left
|
|||
masak | pmurias: his point seems to be that even OO languages are 'impure' to various degrees, according to his definition of purity. | 17:23 | |
PerlJam: nod. | |||
I've been talking to Moose people lately who have vented the worry that Perl 6's type system is tangled in with its OO system. (apparently unlike Moose, in which Any is not a class.) | 17:25 | ||
thowe is unfamiliar with the term "Moose people". | 17:28 | ||
masak | thowe: oh! Moose is a modern OO framework for Perl 5. | ||
17:29
SmokeMachine left
|
|||
moritz_ | postmodern | 17:29 | |
thowe | oh. OK. What paper are you guys talking about? I don't know what ADT means either. | ||
masak | moritz_: thanks. I hesitated on just that word. | ||
thowe: 'abstract data type'. | |||
pmurias | masak: what's the problem with that? | ||
PerlJam | thowe: really masak talks to these imaginary Moose in his head. He calls these "Moose people" :) | 17:30 | |
masak | thowe: the paper is at www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf | ||
thowe | thx | ||
masak | thowe: what PerlJam said. :P | ||
TimToady | masak: if you think that's a problem, you should submit a bug report against the design with a test case :) | 17:31 | |
PerlJam | thowe: (ordinary moose don't talk, but since the talking ones do, you distinguish them by captializing the M) | ||
masak | pmurias: I'm not competent enough to see the dangers of tangling the OO system and type system. I only know Moose doesn't, as much, and that some of the people involved consider it a feature. | ||
TimToady: yeah, I guess. that would definitely be keeping things concrete. | |||
TimToady | maybe your moose folx can supply such a test | ||
masak | and keeping things concrete is very much needed in discussions about these things. :) | ||
maybe. | 17:32 | ||
PerlJam | masak: People steeped in the culture of Perl tend to like more degrees of freedom rather than less. | ||
masak | PerlJam: yes...? | ||
PerlJam | (perhaps these Moose people you've spoken to have over-applied the philosophy) | ||
masak | ah. | ||
TimToady | well, roles aren't derived from Any, and roles can do other roles | 17:33 | |
moritz_ | they are always welcome to write their own custom meta class that does it differently :-) | ||
TimToady | not clear what more they want | ||
pmurias | we can define subsets of Mu | ||
masak | well, mostly the thought intrigues me, because I almost cannot imagine a type being on top of the type system and not being a class. :) | ||
to me Mu, formerly known as Object, is the smallest possible thing with substance. | 17:34 | ||
everything else is just air. | |||
TimToady | maybe they're really making the same complaint that moritz_ does, that Any should contain all those extra dwimmifiers | ||
PerlJam | masak: well, for type systems I think a "type" is just a name with some associated behaviors/constraints/etc. and that classes/objects are just a conveinent way to implement types | ||
masak | PerlJam: yes. that echoes some of the points in that paper. | 17:35 | |
moritz_ suddenly feels like a moose poeple | |||
PerlJam | masak: yep. Though I've never thought it needed some sort of formalism | ||
moritz_ | we already have types that aren't classes | 17:36 | |
roles, enums, subsets | |||
masak | grammars, metaclass stuff. | ||
TimToady | knowhows :) | ||
masak | I'm not proposing a change or anything. just want to explore the territory a bit. | ||
that's why I've resolved to read the Moose test suite over Christmas. :) | 17:37 | ||
TimToady: where can I learn more about knowhows? :) | |||
PerlJam | that there are other means to obtains types never seemed like it needed saying to me. I guess Mr. Cook just wants to highlight that these are separate things. | ||
pmurias | masak: knowhows? the smop or mildew-js source? | 17:38 | |
17:38
colomon left
|
|||
masak | PerlJam: actually, Mr. Cook seems to come from a world where objects are frowned-upon and considered a sort of strange ADTs. | 17:38 | |
pmurias | masak: i think they are a bit implementation specific as they are used to bootstrap OO | 17:39 | |
masak | pmurias: is there an executive summary, or some docs, or at least source code comments somewhere? | ||
pmurias | masak: not that i'm aware of, you can look at the tests | 17:40 | |
v6/mildew/t/knowhow.t v6/mildew/t/knowhow_attributes.t | |||
masak | thanks. | 17:41 | |
TimToady | basically, they declare metaclasses | ||
see v6/mildew/CORE/*.pm for some examples | 17:42 | ||
17:42
abra1 joined
|
|||
masak | those files look like someone took a small example of a class declaration, and did s/class/knowhow/ on it. | 17:42 | |
I fail to understand the significance. | 17:43 | ||
TimToady | it's probably a circularity saw | ||
masak | that makes at least a fraction of sense. | ||
TimToady | or at least a "CUT HERE" | ||
masak | so knowhows are used to build the system with which we later declare classes? | 17:44 | |
TimToady | or any other .HOW | ||
17:44
scottman joined
|
|||
TimToady | including roles, etc | 17:44 | |
prototype OO if you want it | |||
scottman | im about to start a perl web project, is the web.pm module usable or would it be best to stick with perl 5 | 17:45 | |
TimToady | it might well be that knowhows don't derive from Any, either :) | ||
masak | wow, there's some seriously cool Perl 6 code in mildew. I see now that I should pay more attention to what's happening there. | ||
17:45
ejs joined
|
|||
masak | scottman: depends on your sense of urgency. | 17:45 | |
PerlJam | masak: heh ... I was just writing that | ||
masak | scottman: there are things in Web.pm which are ready for use, but just as surely you will hit snags. | 17:46 | |
PerlJam | scottman: If you want something that "production ready", then you want to use Perl 5 (probably Catalyst or something too) | ||
masak | PerlJam: I was just writing that. :P | ||
scottman | masak and PerlJam: thanks, i havnt tried the big web frameworks just html::template maybe i could learn that, just wanted to see if perl6 was usable in the web part | 17:47 | |
PerlJam | Really? because for me it was like "Depends on your sense ... blah! masak just said it" :) | ||
masak | :) | 17:48 | |
scottman: I think it's usable, and that Web.pm is underused. | |||
PerlJam | scottman: it's certainly *usable* | ||
masak | scottman: at the same time, I don't want to trick anyone into trying out Web.pm for me if they're not interested in being alpha testers. | ||
scottman | PerlJam and masak: okay i understand, well this is a 'project' so i can goof around with the web.pm and see if it does the job. | 17:50 | |
PerlJam | scottman: Have you read "Crossing the Chasm"? It outlines different kinds of users for products. If you were to use Perl 6 and Web.pm, you would be a "pioneer" or an "early adopter" | ||
(those two are just before the chasm that takes you to the more main stream) | |||
17:50
quantumEd left
|
|||
masak | scottman: even a simple task such as someone hooking up a database to a template engine, would give valuable feedback at this point. it's just not been done much. | 17:51 | |
scottman | masak: are there any template engines yet? | 17:52 | |
masak | the documentation is near-nonexistent, so conversations such as this one would be needed. | ||
scottman: yes, I have one very good for you: Hitomi. | |||
17:53
pnate left
|
|||
masak | github.com/masak/web/blob/master/dr...xample.xml | 17:53 | |
Tene | masak: I'm thinking about talking about traits in my advent calendar post... what do you think? | 17:54 | |
scottman | masak: hmm it looks good | ||
masak | Tene: sure! sounds good. | ||
Tene | Hah, I tricked you! Now if it goes horribly wrong, you take the blame! | 17:55 | |
Bwahahahaha. | |||
masak | :O | ||
scottman: it does, doesn't it? I don't think all of those features work, but consider me eager to implement what's you need quickly. | |||
s/'s// | 17:56 | ||
scottman | masak: yeah i like the xml idea of it | ||
masak | scottman: it's one of the few cases I've seen of XML being used judiciously. | ||
PerlJam | perhaps I've just looked at too much Template::Toolkit, but I can't get enthused about the XML nature of Hitomi | 17:57 | |
masak | PerlJam: you'll have to guide me through TT some day. | ||
Su-Shee | "the xml idea"? ;) how else would you do contemporary proper html? :) | ||
masak | PerlJam: people keep being excited about it, and I keep not getting it. | ||
17:58
abra left
|
|||
masak | Su-Shee: yeah, something in that ballpark. | 17:58 | |
PerlJam | I've thought about stealing Alias' Template::Tiny for Perl 6 maybe I'll do that over christmas | ||
Su-Shee | ok, then I don't get it too. | ||
Alias | PerlJam: I'm still working on it | ||
One level deep [% IF %] statements is about as complex as it gets right now | |||
PerlJam | Alias: I know, but you've got enough for now :) | ||
masak | I know that the current solution in November, which is a crib of HTML::Template from CPAN, disgusts me utterly. | 17:59 | |
Alias | I'm still trying to work out how the hell to 1) Do recursion 2) Mix IF and FOREACH | ||
There's a reason that everyone else just tag-flips and converts to code | |||
It's just SO much easier | |||
Tene | There's also Tags.pm, which is a Perl 6 port of Template::Declare. | 18:00 | |
Which I'm so fond of. | |||
masak | it is kinda cute. if you're into that sort of thing. :) | ||
just kidding. Tene++ | |||
Tene | html { head { title "Special page" }; body { ul { li "item $_" for 1..10 } } } | 18:01 | |
PerlJam | I think Tags is cool too, but its main advantage seems to be that it fixes the syntactic deficiences of HTML :) | ||
Juerd | Alias: The easy way to do those things in to translate the program to a Perl expression and eval that. | ||
Tene | We're Perl Programmers, so let's write our templates in Perl! | ||
Tene afk lunch | |||
Juerd | Alias: It works around having to build a programming language. | ||
Alias | Juerd: The tag-flipping solution (i.e. turn it into code) ISN'T the easiest way if you've set yourself an arbitrary memory limit of 100k | 18:02 | |
Juerd | Oh, that's what you meant | ||
18:02
tann1 joined
|
|||
Su-Shee | we have an entire widget set in perl which generates html with cgi.pm ;) | 18:02 | |
Juerd | What is the memory limit for? | 18:03 | |
Alias | The ::Tiny suffix | ||
Well, actually, by my original rules I've got about 230k | |||
Juerd | Is that runtime memory? | ||
Alias | Compile time memory | ||
i.e. non-recoverable | |||
Juerd | Does a bunch of s/// and an eval really get that big? | 18:04 | |
scottman | PerlJam and marak: thanks for the help :) im out. | ||
Alias | Well, to implement basic foo.bar expressions, [% and [%-, plus IF/UNLESS/ELSE I get to about 40-50k | ||
Juerd | But that includes evaluating the expressions, right? | ||
Alias | Juerd: But s/// statements seem to chew up a suprising amount | 18:05 | |
18:05
scottman left
|
|||
Juerd | Oh | 18:05 | |
Alias | 10k each in the case if useful ones | ||
18:05
payload joined
|
|||
Alias | I tried to preprocess tags and whitespace stuff | 18:06 | |
PerlJam | Maybe that's a sign that the regex engine is ripe for optimization (again). | ||
Alias | Dunno | ||
PerlJam: Most of the time optimisation involves consuming MORE memory :) | 18:07 | ||
Juerd wrote the documentation for a module that's yet to be written and already has 11 caveats. | |||
PerlJam | ah, true | ||
Juerd | I wonder what I'll run into during implementation. | ||
PerlJam | (because we're usually optimizing for speed, but what if there were a switch, recall use less qw/memory/ ? | ||
Juerd | It sounded like such a simple task. Translate zonefiles to some XML format. Turns out the XML format doesn't support half of what's possible in zonefiles. | ||
PerlJam | ) | ||
masak | we lost scottman. | 18:08 | |
I'll be going home now, and will be mostly gone for the weekend. | |||
moritz_ | have a nice weekend! | ||
PerlJam | masak: have a great weekend ! | ||
masak | will backlog from behind the curtain. | ||
thanks :) | |||
Alias | PerlJam: I'd love a generic switch | 18:10 | |
18:10
ShaneC joined
|
|||
Alias | Although it's tricky | 18:10 | |
There's a tradeoff yes? | |||
PerlJam | always | ||
Alias | Who's to say that saving 25% of memory and adding 400% CPU is really worth it | ||
But for Padre, every time we spawn a thread, there's a ton of copying | 18:11 | ||
So saving 1k means more like saving 5k | |||
18:12
kaare joined
18:13
kaare is now known as Guest12536
|
|||
Alias | My biggest problem now is that regex don't support recursion | 18:13 | |
Perl's non-regular expressions DO, but doing it with only Perl 5.005 is ... troublesome | |||
TimToady | P5 regex don't... :) | ||
Alias | TimToady: I really should get you to help with this... :/ | 18:14 | |
18:14
dbrock joined
|
|||
TimToady | and how would you do that? :) | 18:14 | |
Alias | Ask nicely | ||
18:14
masak left
|
|||
PerlJam | TimToady: well, you do want Perl 6 to have a nice editor, right? :) | 18:15 | |
TimToady | I don't think there's any amount of asking nicely that'll get me back into hacking the p5 core | ||
PerlJam | a nice, friendly editor that even non-gurus can use. | ||
One with a butterfly for a logo | |||
:) | |||
Alias | I don't want someone to hack it, just to recommend how the match EITHER the inner or outer pairing in [% IF foo %] [% IF bar %] [% END %] [% END %] | 18:16 | |
Assuming that the outer pair isn't the ONLY pair in the text | 18:17 | ||
i.e. [% IF foo %] [% IF bar %] [% END %] [% END %] [% IF foo %] [% END %] | |||
TimToady | TheDamian gave a talk about how to work around p5 regexe's recursion problems to write parser that would actually return data | 18:18 | |
I think it's a CPAN module now, but I don't remeber its name | |||
Alias | In his usual "This talk shalt not be recorded" terms I assume | ||
Text::Balanced? | |||
TimToady | don't thinkso | ||
Alias | As it happens, I ended up the maintainer for that one | 18:19 | |
moritz_ | Regexp::Grammars | ||
Alias | hrm | ||
I shall look | |||
I'm guessing this doesn't work in Perl 5.005 :) | 18:20 | ||
I guess I'll just tag-flip... sigh | |||
TimToady | I'm guessing I don't care whether much of anything works in 5.005 :) | 18:21 | |
but I don't mind if you care | |||
PerlJam | Does Padre really run on 5.005? | ||
Alias | TimToady: I only care in ::Tin | ||
::Tiny | |||
PerlJam: Padre it 5.008005 for the unicode sanity | 18:22 | ||
is | |||
PerlJam | okay, so the 5.005 requirement is just for ::Tiny | ||
TimToady | maybe ::Tiny should turn into an XS module :P | ||
18:22
hanekomu_ joined
|
|||
Alias | TimToady: XS is against the rules as well :) | 18:22 | |
TimToady | I said "should", not "will". :) | 18:23 | |
I always love that that word has two different meanings... | |||
"Yes, it *should* work." | 18:24 | ||
Alias | The maybe confuses that sentence if you take the pure form of should | ||
Or at least, my upside down English doesn't parse it anyway | 18:25 | ||
TimToady | it's not a subjunctive, just a modal that in Amerika is interchangeable with 'oughta' | 18:26 | |
PerlJam | Get to the correct hemisphere so that your english isn't upside-down. :) | ||
rodi | try teaching that to a two-year-old. At least he wishes he *were* correctly. | ||
Alias | I just need to go check Google Dictionary for "subjunctive", "modal" and "oughta" and I'll get back to you with a response :) | ||
TimToady | those aren't the words I used...the equator must've modified them. | 18:27 | |
Alias | Note: Never argue semantics with a linguist | ||
PerlJam | Alias: s/semantics// | ||
Alias | heh | ||
Juerd | s/with a linguist// perhaps. | ||
Alias | Juerd: No, because s/with/as/ | 18:28 | |
PerlJam | Alias: they know enough language to twist the argument in their favor. | ||
Alias | Anyways, bed | ||
18:28
Alias left
|
|||
TimToady | g'night | 18:29 | |
rodi | rakudo: (" " ~~ m/<ws>/).say | ||
p6eval | rakudo 7ef386:  | ||
rodi | rakudo: (" " ~~ m/<ws>*/).say | ||
p6eval | rakudo 7ef386: ( no output ) | ||
rodi | std: (" " ~~ m/<ws>*/).say | 18:30 | |
p6eval | std : ok 00:01 108m | ||
18:31
tann1 left
18:36
thowe left
18:37
hercynium left
|
|||
Tene | ARGH, I forgot about this. You can't wrap a sub from a trait handler. | 18:47 | |
>< | |||
Okay, different examples needed. :P | |||
18:56
takadonet left
|
|||
TimToady | phenny: tell masak if you call it Rocket Art you can say it's not rocket science... | 18:57 | |
phenny | TimToady: I'll pass that on when masak is around. | ||
18:59
coke__ joined,
coke__ is now known as [Coke]
|
|||
[Coke] | anyone interested in working on perl6 vim syntax highlighting bugs? =-) | 18:59 | |
TimToady | we need a .vim emitter for viv | 19:01 | |
19:02
rachelBROWN joined
|
|||
[Coke] | viv? | 19:02 | |
rachelBROWN | :Z | ||
PerlJam | TimToady: that would be awesome | 19:03 | |
19:04
stephenlb joined
|
|||
TimToady | std: :Z | 19:04 | |
p6eval | std : ok 00:01 105m | ||
[Coke] | docs.google.com/Doc?docid=0ARm1zTZ...&hl=en | 19:05 | |
19:06
ejs left
|
|||
mathw | [Coke]: Ouch | 19:07 | |
TimToady | no highlighter is going to highlight Perl correctly without understanding terms vs infixes | ||
[Coke]: the original intent of viv is to translate p6 to p5 better than gimme5 does | 19:09 | ||
[Coke] | ... it's "six five", isn't it. :P | 19:10 | |
PerlJam | [Coke]: Does it still highlight that way if you use "< 1" instead of "<1" ? | ||
[Coke] | aha! no. | 19:11 | |
19:11
ashizawa left
|
|||
[Coke] | how sad that I will now format my code to make the highlighter happy. =-) | 19:11 | |
TimToady | yes, well, it's cheating, and cheaters always get caught eventually | ||
mathw | although you should have spaces around your infix comparison operators, IMO | 19:12 | |
TimToady | if it assumes " < " is an infix then what does it do with < a b c > ? | ||
dbrock | what would a .vim emitter do? | ||
TimToady | presumably write a Perl parser in vim macros :) | ||
PerlJam | but it would only have to parse Perl in the same sense that PPI does | 19:13 | |
dbrock | haha, I see | ||
mathw | Doesn't vim have a Perl interface? Can you use that to write syntax highlighters? | ||
[Coke] | TimToady: if I add spaces inside the <> on the line a few down, it seems to treat all the words as keywords. | ||
TimToady | yes, it now thinks that the inside of the <> is code | 19:14 | |
the only way to do it right is to actually parse the code left-to-right, not make guesses by lookahead | |||
mathw | Clearly what we really need to do is plug Rakudo into vim, and get that to do the parsing :) | ||
PerlJam | mathw: See Padre :) | 19:15 | |
TimToady | well, but the rakudo parser isn't correct either | ||
PerlJam | it would be correct for the langauge that Coke is using perhaps | 19:16 | |
TimToady | touché | ||
[Coke] | (yah, I'm actually writing nqp-rx, not p6) | 19:18 | |
rachelBROWN | Does anyone know where to find cool perl one liners/obfuscated code? | ||
[Coke] | google for JAPH | ||
or "perl golf" | |||
PerlJam | rachelBROWN: You should probably ask #perl instead of #perl6 | 19:19 | |
diakopter | std.vim would be a few MB | ||
mathw | hmm and vim scripts don't run all that fast | ||
[Coke] | (ask in #perl) ... i wouldn't wish that on anyone. =-) | ||
PerlJam | diakopter: not after the optimization pass! :) | ||
rachelBROWN | lol | ||
TimToady | Perl 6 tends to have different cool one-liners than Perl 5 does | 19:20 | |
PerlJam | quite | ||
TimToady | rakudo: sub postfix:<!> ($n) { [*] 1..$n }; say 10! | ||
p6eval | rakudo 7ef386: 3628800 | ||
PerlJam | TimToady: that's *exactly* the example that came to my mind. :) | 19:21 | |
TimToady | rakudo: sub postfix:<!> ($n) { [*] 2..$n }; say 10! | 19:22 | |
p6eval | rakudo 7ef386: 3628800 | ||
TimToady | rakudo: sub postfix:<!> ($n) { [*] 2..$n }; say 1! | ||
p6eval | rakudo 7ef386: 1 | ||
diakopter | rakudo: sub postfix:<!> ($n) { [*] 1..$n }; say 0! | ||
p6eval | rakudo 7ef386: 1 | ||
diakopter | rakudo: sub postfix:<!> ($n) { [*] 2..$n }; say 0! | ||
p6eval | rakudo 7ef386: 1 | 19:23 | |
diakopter | ok.. | ||
PerlJam | rakudo: say [*] () | ||
p6eval | rakudo 7ef386: 1 | ||
PerlJam | magic! :) | ||
TimToady | rakudo: say [*] | ||
PerlJam | ([*]).say | ||
p6eval | rakudo 7ef386: say requires an argument at line 2, near " [*]"in Main (file src/gen_setting.pm, line 2593) | ||
TimToady | boo | ||
PerlJam | rakudo: ([*]).say | 19:24 | |
p6eval | rakudo 7ef386: Syntax error at line 2, near "([*]).say"in Main (file <unknown>, line <unknown>) | ||
diakopter | rakudo: [*].say | ||
p6eval | rakudo 7ef386: Use of uninitialized value | ||
TimToady | rakudo: say () | ||
p6eval | rakudo 7ef386:  | ||
PerlJam | rakudo: ([*]()).say | ||
p6eval | rakudo 7ef386: 1 | ||
PerlJam | well, it's still magical :) | ||
TimToady | rakudo: ([*]).say | ||
p6eval | rakudo 7ef386: Syntax error at line 2, near "([*]).say"in Main (file <unknown>, line <unknown>) | ||
PerlJam | std: ([*]).say | ||
p6eval | std : ok 00:01 106m | ||
TimToady | it's just a listop, and listops are allowed to have no args | 19:25 | |
so rakudo fail | |||
ng: say [*] | |||
p6eval | ng 6ee78e: ( no output ) | ||
PerlJam | ng: say [*] 1..4 | ||
p6eval | ng 6ee78e: Confused at line 1, near "say [*] 1."current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336) | ||
PerlJam | oh, ng doesn't grok Ranges yet does it? | 19:26 | |
diakopter | rakudo: (([*])).say() # TimToady | ||
TimToady | ng: say [*] 1,2,3,4 | ||
p6eval | rakudo 7ef386: Syntax error at line 2, near "(([*])).sa"in Main (file <unknown>, line <unknown>) | ||
ng 6ee78e: Confused at line 1, near "say [*] 1,"current instr.: 'perl6;HLL;Grammar;panic' pc 519 (src/stage0/HLL-s0.pir:336) | |||
diakopter | rakudo: (([*])).say() | ||
p6eval | rakudo 7ef386: Syntax error at line 2, near "(([*])).sa"in Main (file <unknown>, line <unknown>) | ||
diakopter | meh | ||
rakudo: (([*])).say | |||
p6eval | rakudo 7ef386: Syntax error at line 2, near "(([*])).sa"in Main (file <unknown>, line <unknown>) | ||
PerlJam | rakudo: ([*]+[][*]).say | 19:27 | |
p6eval | rakudo 7ef386: 1 | ||
PerlJam | *grin* | ||
diakopter | rakudo: ([*] ()).say | ||
p6eval | rakudo 7ef386: 1 | ||
TimToady | rakudo: [*]1 | ||
p6eval | rakudo 7ef386: ( no output ) | ||
TimToady | rakudo: say [*]1 | 19:28 | |
p6eval | rakudo 7ef386: 1 | ||
TimToady | that's also wrong, space is required after a listop | ||
PerlJam | rakudo: ([*][][*]).say | ||
19:28
colomon joined
|
|||
TimToady | or parens | 19:28 | |
p6eval | rakudo 7ef386:  | ||
TimToady | or end of listop | ||
PerlJam | rakudo: ([*][*]).say | ||
diakopter | std: [*]1 | ||
p6eval | rakudo 7ef386: Syntax error at line 2, near "([*][*]).s"in Main (file <unknown>, line <unknown>) | ||
std : ===SORRY!===Two terms in a row at /tmp/YYsgFwv4VL line 1:------> [*]⏏1 expecting any of: POST infix or meta-infix infix stopper postfix postfix_prefix_meta_operator prefix_circumfix_meta_operator__S_259reduce | |||
..prefix_postfix_meta_operator … | |||
TimToady | std: [*](1) # fine | 19:29 | |
p6eval | std : ok 00:01 105m | ||
19:29
rgrau left
|
|||
diakopter | std: [*][] | 19:29 | |
p6eval | std : ok 00:01 104m | ||
TimToady | std: [*] 1 # also fine | ||
p6eval | std : ok 00:01 105m | ||
TimToady | std: [*]+1 # also fine | ||
p6eval | std : ok 00:01 105m | ||
TimToady | should == 2 | 19:30 | |
std: [*][*] # okay, means ([*]).[*] | 19:31 | ||
p6eval | std : ok 00:01 105m | ||
PerlJam | rakudo: ([*].[*]).say | 19:32 | |
19:32
payload left
|
|||
TimToady | not very good style, of course | 19:32 | |
p6eval | rakudo 7ef386: Method 'postcircumfix:[ ]' not found for invocant of class 'Failure'in Main (file src/gen_setting.pm, line 324) | ||
dbrock | why should [*]+1 == 2? | ||
PerlJam | dbrock: because 1+1 == 2 | ||
dbrock: [*] == 1 | |||
TimToady | rakudo: say [*]() | ||
p6eval | rakudo 7ef386: 1 | 19:33 | |
dbrock | ah, [*] is the product of nothing? | ||
PerlJam | right | ||
TimToady | correct | ||
PerlJam | ng: ([*].[*]).say | ||
p6eval | ng 6ee78e: No applicable candidates found to dispatch to for 'postcircumfix:<[ ]>'current instr.: '!postcircumfix:<[ ]>' pc 264447 (src/gen/core.pir:0) | ||
dbrock | why is +1 not a term there? | ||
(sorry, I'm such a newb) | 19:34 | ||
TimToady | parser is not following STD at that point | ||
a listop must have whitespace if it is to have any arguments | 19:35 | ||
or be written as a function with () | |||
dbrock | oh | ||
TimToady | so [*] followed by anything that isn't ( or ws is an argless listop | 19:36 | |
(in STD) | |||
dbrock | I see! | ||
TimToady | rakudo: my $x = 42; say$x | ||
p6eval | rakudo 7ef386: say requires an argument at line 2, near "$x"in Main (file src/gen_setting.pm, line 2593) | ||
dbrock | wow | 19:37 | |
TimToady | std: my $x = 42; say$x | ||
p6eval | std : ===SORRY!===Two terms in a row at /tmp/lptS820qMT line 1:------> my $x = 42; say⏏$x expecting any of: POST argument list infix or meta-infix infix stopper postfix postfix_prefix_meta_operator standard stopper | ||
..statement modifier loop term… | |||
TimToady | rakudo message is Less Than Awesome | ||
we should probably reduce that to a warning | 19:38 | ||
then let a "two terms" error blow it up if necessary | 19:39 | ||
as it currently stands, the 'say requires an argument' message comes out on most any parsefail following the say, which is suboptimal | 19:40 | ||
PerlJam is daunted by STD's panic() | 19:41 | ||
presumably all of the worries and highwater and highmess stuff can be fitted in to rakudo at some point though | 19:43 | ||
19:45
hugh4life_ joined
19:48
[Coke] left,
ShaneC left,
hugh4life left,
xinming left,
hicx174 left,
tarbo2 left,
athomason left,
reid06 left,
ShaneC joined
19:50
[Coke] joined
19:51
ShaneC left
19:52
ShaneC joined,
hugh4life joined,
xinming joined,
hicx174 joined,
tarbo2 joined,
reid06 joined,
athomason joined,
ShaneC1 joined
19:53
Patterner left,
IllvilJa left,
dalek left,
drbean left,
ascent_ left,
c1sung left,
eiro left,
Woody2143 left,
huf left,
BinGOs left,
athomason left,
dalek joined
19:55
REPLeffect_ left,
REPLeffect_ joined
19:56
plainhao left,
broquaint left,
am0c left,
slavik left,
japhb left,
brody left,
BooK left,
jlaire left
19:57
stepnem left,
colomon left
19:58
broquaint joined
19:59
Guest12536 left,
xinming left,
brody joined,
Guest12536 joined,
BooK joined
20:00
gabiruh_ joined,
gabiruh left
20:02
sjn left
20:04
stepnem joined
20:06
hugh4life left
20:08
ShaneC left
20:11
colomon joined
|
|||
colomon | PerlJam: (backlogging) You can use the series op in ng to get a range of ints: 1 ... 4. But I think you'll find that [*] doesn't work in ng yet... | 20:12 | |
sjohnson | afternoon guys | 20:18 | |
colomon | o/ | ||
sjohnson | whats the good word for today | ||
colomon | hmmmm.... | 20:19 | |
PerlJam | sjohnson: earlier it was "subjunctive" | ||
TimToady | now it's subjective | ||
sjohnson | i think i had a dream about Perl again | 20:21 | |
PerlJam wonders if people dream about French or English or Japanese | |||
TimToady | they say you aren't fluent until you dream *in* a foreign language | 20:22 | |
sjohnson | JP yeah if you are learning it on your own | ||
i had a dream just yesterday that I was speaking French to a girl form Quebec near my house in British Columbia | |||
I was speaking French*. | 20:23 | ||
PerlJam | except that dream was more about the girl I suspect :) | ||
20:23
rindolf joined
|
|||
sjohnson | * = may not be proper French | 20:23 | |
pugs_svn | r29325 | lwall++ | [STD] install NLTA warning about bare say/print | 20:24 | |
20:24
sjn joined,
athomason joined,
xinming joined,
Patterner joined,
IllvilJa joined,
drbean joined,
ascent_ joined,
c1sung joined,
huf joined,
BinGOs joined,
Woody2143 joined,
eiro joined
|
|||
sjohnson | PerlJam: not to get too off topic. but i've never been able to "have fun" in a "girl dream".. if you catch my drift | 20:26 | |
let alone real life | 20:27 | ||
at least Perl puts out in my dreams ! | |||
PerlJam | That's the first time I've seen a euphemism really make use of the word. | 20:28 | |
dbrock | those kinds of dreams happen to me at the most random times | ||
(and very rarely) | |||
pugs_svn | r29326 | lwall++ | [S32/IO] reduce bare say/print to warning | 20:31 | |
20:32
colomon left
|
|||
frettled | oh no! Perl 6 explicit nudity! | 20:32 | |
That looks like a good title for a talk. | |||
[Coke] | bye | ||
whoops. | 20:33 | ||
20:33
[Coke] left
|
|||
PerlJam | frettled: just not for the perl 6 advent calendar | 20:33 | |
TimToady | as opposed to a title for a good talk | ||
frettled | PerlJam: heh | ||
TimToady | std: print | ||
p6eval | std : ok 00:01 105m | ||
frettled | std: say print | 20:34 | |
p6eval | std : ok 00:01 104m | ||
TimToady | hmm, p6eval doesn't give std's version anymore... | ||
moritz_ wonders if recent changes to 'make snap' made the version numbers go away | |||
TimToady | lunch & | 20:35 | |
dalek | p-rx: 8ab2413 | pmichaud++ | (3 files): Start rewriting HLL::Compiler in NQP instead of PIR. |
||
sjohnson | looks like [coke] thought this wasn't a Perl 6 channel .. oops | 20:42 | |
PerlJam | nah, Coke knows this is Perl 6 channel. | 20:43 | |
20:46
colomon joined
|
|||
sjohnson | so PerlJam, how's it going | 20:48 | |
p6 Q: is there any EZ integer casting methods, for example? | 20:49 | ||
instead of having to use sprintf? | |||
mathw | umm | 20:50 | |
what do you mean? | |||
20:53
sjohnson left,
revdiablo left,
arnsholt left,
frettled left,
rhr left,
frew left,
meteorswarm left,
PerlJam left,
ilbot2 left,
jrockway left,
zibri left,
Maddingue left,
IRSeekBot left,
zostay left,
simcop2387 left,
charsbar left,
vorner left,
meppel left,
krunen left,
felipe left,
rjh_ left,
Gothmog_ left,
kolibrie left,
jantore_ left,
sbp left,
elmex left,
jnthn left,
nsh left,
bigpresh_ left,
parduncia left,
ssm left,
rindolf left,
gabiruh_ left,
stepnem left,
dbrock left,
alester left,
jaldhar_ left,
perlygatekeeper left,
gbacon left,
Wolfman2000 left,
perigrin left,
xenoterracide left,
pugs_svn left,
Woodi left,
yahooooo left,
Infinoid left,
phenny left,
hatseflats left,
dukeleto left,
jiing left,
TimToady left,
cls_bsd left,
jjore_ left,
ingy left,
Tene left
20:57
PerlJam joined,
rindolf joined,
stepnem joined,
gabiruh_ joined,
dbrock joined,
alester joined,
jaldhar_ joined,
perlygatekeeper joined,
gbacon joined,
meppel joined,
krunen joined,
Wolfman2000 joined,
perigrin joined,
felipe joined,
xenoterracide joined,
zibri joined,
sjohnson joined,
revdiablo joined,
ilbot2 joined,
arnsholt joined,
Maddingue joined,
IRSeekBot joined,
irc.freenode.net sets mode: +ovov PerlJam ilbot2 arnsholt IRSeekBot,
rhr joined,
charsbar joined,
zostay joined,
frew joined,
jrockway joined,
meteorswarm joined,
simcop2387 joined,
frettled joined,
Gothmog_ joined,
bigpresh_ joined,
jantore_ joined,
rjh_ joined,
elmex joined,
nsh joined,
sbp joined,
kolibrie joined,
jnthn joined,
yahooooo joined,
ssm joined,
parduncia joined,
Tene joined,
jjore_ joined,
ingy joined,
Woodi joined,
irc.freenode.net sets mode: +ooo frettled jnthn Tene,
Infinoid joined,
TimToady joined,
cls_bsd joined,
dukeleto joined,
pugs_svn joined,
hatseflats joined,
jiing joined,
phenny joined,
irc.freenode.net sets mode: +oovv TimToady dukeleto pugs_svn phenny
|
|||
sjohnson | PerlJam: plz2look upwards | 20:58 | |
frettled | TimToady: hmm, just rakudo that's confused, then, I suppose, since it allows it. | ||
TimToady | well, in theory, it would turn it into a native int | ||
but generally you want .Int instead | |||
frettled | aha | ||
TimToady | std: print | 20:59 | |
p6eval | std : Potential difficulties: Unsupported use of bare 'print'; in Perl 6 please use .print if you want to print $_, or use an explicit argument at /tmp/kJjSv164Kk line 1:------> print⏏<EOL>ok 00:01 105m | ||
frettled | sjohnson: in Perl 5, you'd write int(70/3) | ||
sjohnson | ahh | 21:01 | |
should actually just try it myself before my brother whines about perl5 | |||
cause that is what i would have done | 21:02 | ||
int(5.3434) etc | |||
frettled | yup | ||
sjohnson | he's a very capable C coder from the BBS days so i assumed he would have been smart enough to try that | 21:03 | |
frettled | keep in mind that int(1.9) = 1 - I don't know what PHP does | ||
sjohnson | perl is teaching me life lessons | ||
frettled: php will do the same, though you must do (int)(1.9) | |||
not quite sure why you need the (int) and not int()... other than runtime errors | 21:04 | ||
but it does the trick, and will return 1 and 2, frettled | |||
TimToady | interestingly, in Perl 6 you can say (Int)(1.9) and it means the same thing, and so does (((Int)))(1.9) | 21:05 | |
frettled | nice | ||
sjohnson: I'm surprised that PHP chose to do it the same way as C does casting. ;) | |||
21:05
TimToady sets mode: +vvvv buubot dalek hugme iblechbot,
TimToady sets mode: +vvv ilbot2 ilogger2 IRSeekBot,
TimToady sets mode: +vvv lisppaste3 p6eval phenny,
TimToady sets mode: +v pugs_svn
|
|||
sjohnson | frettled: php is a lot like C syntax, esp. when you have things like continue; and break; | 21:06 | |
TimToady | rakudo: say (Int)(1.9) | ||
sjohnson | but that's about the extent of my C knowledge | ||
p6eval | rakudo 7ef386: invoke() not implemented in class 'Integer'in Main (file <unknown>, line <unknown>) | ||
sjohnson | TimToady: use PHP; | ||
( `ー´) | |||
frettled | sjohnson: but not for: test ? true-value : false-value | ||
sjohnson | i dont know if C does that, but it has that syntax in PHP | 21:07 | |
frettled | sjohnson: for some reason, PHP chose a different precedence than any other C-like language I know :) | ||
sjohnson | one thing i find cool about PHP is it's $array[] = "goose" // push syntax | 21:08 | |
that's about the only thing i like about PHP | |||
PerlJam | sjohnson: PHP is an excellent example of many things .... not to do :) | ||
frettled | heh | ||
TimToady | rakudo: say (Rat)(42) | ||
frettled | but yeah, that push syntax is okay | ||
p6eval | rakudo 7ef386: invoke() not implemented in class 'Rat'in Main (file <unknown>, line <unknown>) | ||
mberends fesses up to losing the std: revision numbers | 21:09 | ||
TimToady | copied the directory? | ||
pugs_svn | r29327 | mberends++ | [src/perl6/Makefile] double the $ for snap Revision that make eated | ||
TimToady | ah | ||
mberends | make. you know. | 21:10 | |
TimToady | I stared at that line for 5 minutes and didn't see it. | ||
mberends | it was a bit hubristic to replace grep+cut with perl | ||
sjohnson | is the [] syntax too radical for P6? i suppose .push() is not too shabby | 21:11 | |
TimToady | s/too radical/too irrational/ | 21:12 | |
PerlJam | yikes codinghorror experienced some real horror. | ||
arnsholt | Heh. Indeed | 21:13 | |
21:15
jimi_hendrix left
|
|||
sjohnson | TimToady has spoken.. i humbly accept his decision | 21:15 | |
PerlJam | sjohnson: you can modify the grammar if you really want that syntax :) | 21:16 | |
sjohnson | i won't want to go to Perl hell if i do that... might "go by the book" | ||
only thing i have decided to change is the .vimrc script | 21:17 | ||
Tene | sjohnson: all is fair if you predeclare. | ||
TimToady | on the other hand, @array <<== "goose" might do what you want | ||
PerlJam | TimToady: "But the feed ops are too many characters!" :) | ||
frettled | Is there a Unicode shortcut for ==? | 21:18 | |
PerlJam | see?!? | ||
Tene | None defined. | ||
frettled | I see a Quest. | ||
Tene | ⇐ might work for feed? | ||
.u ⇐ | 21:19 | ||
phenny | U+21D0 LEFTWARDS DOUBLE ARROW (⇐) | ||
21:20
japhb joined
|
|||
frettled | In my font, it's hard to tell that apart from ← | 21:20 | |
Tene | .u ← | ||
phenny | U+2190 LEFTWARDS ARROW (←) | ||
Tene | ← ⇐ | ||
japhb | seen masak | ||
sjohnson | rakudo: for (@TimToady) { do; } | ||
p6eval | rakudo 7ef386: Symbol '@TimToady' not predeclared in <anonymous> (/tmp/2V34otKldb:2)in Main (file <unknown>, line <unknown>) | ||
Tene | They're pretty different in mine. | ||
japhb | what's the seen syntax here? | 21:21 | |
Tene | seen masak? | ||
frettled | japhb: @seen | ||
Tene | phenny: seen masak? | ||
@seen masak | |||
japhb | @seen masak | ||
frettled | Tene: But yeah, I'm still stuck in the nineties | ||
japhb | Bot got netsplit? | ||
mberends | ENOBOTS | ||
frettled | I think it was @seen, anyway, if the bot is there. | ||
Tene | std: for @*TimToady { do; } | ||
p6eval | std 29327: Undeclared routine: 'do' used at line 1ok 00:01 107m | ||
frettled | ,seen masak | ||
Tene | ¡seen masak! | 21:22 | |
frettled | heh | ||
Tene | ⦃seen masak⦄ | ||
japhb | Tene, and for that, you will have to repay us with fat arrow syntax in NQP-rx. | ||
frettled | japhb: you might just have to search in the IRC log instead, I suppose. | ||
Tene | but no, seriously, he quit 3:09 ago | 21:23 | |
japhb | frettled, not a big deal, wanted to query him re: the installed-modules journal post | ||
TimToady | irclog.perlgeek.de/perl6/2009-12-11#i_1826654 | ||
Tene | japhb: I was offering patches to anyone who bought me lunch in #parrot earlier today. | ||
japhb | Tene, I would buy you lunch if you came to my town. :-) | 21:24 | |
Tene | Which town are you in? | ||
japhb | Heck, I'd spring for dinner. | ||
Santa Rosa, CA, USA | |||
(Everyone stop aiming your ICBMs now.) | 21:25 | ||
Tene | I'm hoping to move to the bay area somewhere in the next year or so. | ||
japhb wonders weather the Nuclear War card game is still in print | |||
Tene, ah, excellent! | 21:26 | ||
South of here has more jobs, but I'm still happier up here than I was down there. | |||
Tene | japhb: most people only need at most one job. | 21:27 | |
japhb | Tene, I have several. I'm just only paid a salary for one of them. ;-) | ||
21:29
hicx174 left,
reid06 left,
tarbo2 left
21:31
meppel left
21:33
c1sung left,
ascent_ left,
Woody2143 left,
huf left,
Patterner left,
BinGOs left,
IllvilJa left,
eiro left,
drbean left,
xinming left,
athomason left,
sjn left
21:35
hicx174 joined,
tarbo2 joined,
reid06 joined,
reid06` joined,
eiro joined
|
|||
Tene | ... crap, mathw is planning to talk about traits. | 21:36 | |
Oh well. | |||
21:37
huf joined
|
|||
Tene | I don't want to do exceptions because exception handlers in master are LTA. | 21:37 | |
21:37
drbean joined,
Psyche^ joined,
Psyche^ is now known as Patterner
21:38
xinming joined,
hanekomu_ left,
hicx174 left,
reid06 left,
tarbo2 left
|
|||
Tene | well, I'll think about it later. AFK driving home. | 21:39 | |
21:39
hicx174 joined,
tarbo2 joined,
reid06 joined,
c1sung joined,
reid06 left
21:49
ash_ joined
21:50
perlygatekeeper left
|
|||
ash_ | just curious, whats the state on <== (feed operators)? the spec (especially S07) has a number of todo's marked in there regarding them | 21:50 | |
21:50
Patterner left,
reid06` left,
japhb left,
frettled left,
meteorswarm left,
frew left,
rhr left,
arnsholt left,
revdiablo left,
sjohnson left,
jrockway left,
charsbar left,
zibri left,
zostay left,
simcop2387 left,
IRSeekBot left,
Maddingue left,
ilbot2 left,
PerlJam left,
rjh_ left,
Gothmog_ left,
krunen left,
kolibrie left,
jantore_ left,
sbp left,
elmex left,
jnthn left,
nsh left,
felipe left,
bigpresh_ left,
parduncia left,
ssm left,
eiro left,
pugs_svn left,
Woodi left,
xenoterracide left,
perigrin left,
Wolfman2000 left,
yahooooo left,
Infinoid left,
phenny left,
hatseflats left,
dukeleto left,
jiing left,
jaldhar_ left,
TimToady left,
stepnem left,
jjore_ left,
ingy left,
Tene left,
cls_bsd left,
gabiruh_ left,
rindolf left,
alester left,
dbrock left,
gbacon left
21:52
dukeleto joined,
Patterner joined,
eiro joined,
reid06` joined,
japhb joined,
rindolf joined,
stepnem joined,
gabiruh_ joined,
dbrock joined,
alester joined,
jaldhar_ joined,
gbacon joined,
krunen joined,
Wolfman2000 joined,
perigrin joined,
felipe joined,
xenoterracide joined,
zibri joined,
phenny joined,
jiing joined,
hatseflats joined,
pugs_svn joined,
cls_bsd joined,
TimToady joined,
irc.freenode.net sets mode: +ovvo dukeleto phenny pugs_svn TimToady,
Infinoid joined,
Woodi joined,
ingy joined,
jjore_ joined,
Tene joined,
parduncia joined,
ssm joined,
yahooooo joined,
jnthn joined,
kolibrie joined,
sbp joined,
nsh joined,
elmex joined,
rjh_ joined,
jantore_ joined,
bigpresh_ joined,
Gothmog_ joined,
frettled joined,
simcop2387 joined,
meteorswarm joined,
jrockway joined,
frew joined,
zostay joined,
irc.freenode.net sets mode: +ooo Tene jnthn frettled,
charsbar joined,
rhr joined,
IRSeekBot joined,
Maddingue joined,
arnsholt joined,
ilbot2 joined,
revdiablo joined,
sjohnson joined,
PerlJam joined,
irc.freenode.net sets mode: +vovo IRSeekBot arnsholt ilbot2 PerlJam
|
|||
ash_ | is it just me or did like 100 people get kicked and rejoin the irc channel? | 21:52 | |
21:52
Woody2143 joined
21:53
Lorn_ joined
21:54
drbean left,
Lorn left,
armagad joined,
drbean joined
|
|||
sjohnson | sad say in netsplit history | 21:54 | |
day* | |||
armagad | freenode is having pain today | 21:56 | |
21:58
wolverian left
21:59
brrant joined,
armagad left,
wolverian joined,
jan_ joined
|
|||
dbrock | haha | 22:00 | |
ash_ | just curious, whats the state on <== (feed operators)? the spec (especially S07) has a number of todo's marked in there regarding them | ||
22:00
brrant left
22:03
pnate joined
|
|||
pugs_svn | r29328 | pmurias++ | [mildew] add missing file | 22:03 | |
r29329 | pmurias++ | [mildew] port over module Foo {...} | |||
sjohnson | ash_: maybe someone lied and said perl 6 was released today | ||
ash_ | sjohnson: i am just wondering if anyone's working on that issue currently, thats all | 22:06 | |
pmurias | std: our sub foo {};module Foo {our sub foo {}} | 22:07 | |
p6eval | std 29327: ===SORRY!===Illegal redeclaration of routine 'GLOBAL::<&foo>' (from line 1) at /tmp/vFi4pzzVht line 1:------> our sub foo {};module Foo {our sub foo⏏ {}} expecting new name to be definedFAILED 00:01 106m | ||
22:07
drbean_ joined,
BinGOs joined,
sjn joined,
IllvilJa joined
|
|||
pmurias | shouldn't it be equivalent to | 22:07 | |
sjohnson | ash_: there might be a freenode ircop type chan somewhere on this irc network | ||
pmurias | std: sub foo {};module Foo {sub foo {}} | ||
sjohnson | ims ure they know something is up by now | ||
p6eval | std 29327: ok 00:01 104m | ||
dalek | p-rx: 8010f63 | pmichaud++ | src/HLL/Compiler.pm: Add src/HLL/Compiler.pm, omitted from previous commit. |
22:08 | |
TimToady | pmurias: yes, something definitely wrong with STD there | 22:10 | |
sjohnson | std: oiwejgeowijgweoigjeagoijewag@#@$E@f32 | 22:11 | |
p6eval | std 29327: ===SORRY!===Confused at /tmp/kPplX7Mb6g line 1:------> oiwejgeowijgweoigjeagoijewag⏏@#@$E@f32 expecting any of: POST argument list infix or meta-infix infix stopper postfix postfix_prefix_meta_operator | ||
..standard stopper statement modifier … | |||
sjohnson | TimToady: is your current .vimrc up publicly somewhere? | 22:12 | |
22:13
rodi left
|
|||
TimToady | no, still using the old one from pugs/util | 22:13 | |
sjohnson | i was wondering if i could take a peek at it | 22:14 | |
ash_ | is the std.pm located in the pugs repository? | 22:20 | |
rindolf | rakudo: [1 .. 100].sum() | ||
p6eval | rakudo 7ef386: Method 'sum' not found for invocant of class 'Perl6Array'in Main (file src/gen_setting.pm, line 324) | ||
rindolf | rakudo: sum(1 .. 100) | ||
p6eval | rakudo 7ef386: Could not find non-existent sub sumin Main (file src/gen_setting.pm, line 324) | ||
ash_ | rakudo: say [+] 1..100; | ||
p6eval | rakudo 7ef386: 5050 | ||
22:21
IllvilJa left
|
|||
mberends | ash: STD.pm is in pugs/src/perl6 | 22:21 | |
ash_ | mberends++ thanks | 22:22 | |
mberends | ash_: 169kB, happy reading ;-) | 22:23 | |
ash_ | lol, more just want to test syntax without spamming irc | ||
mberends | ash_: run 'make' in that dir after installing Moose, YAML::Syck etc | 22:24 | |
ash_ | will do, thanks for the tip | 22:25 | |
colomon | Tene: ping | ||
Tene | yes? | 22:26 | |
colomon: pong | 22:27 | ||
colomon | How's the Advent post coming along? | ||
Tene | still trying to work out what to talk about. | ||
I had a decent post about traits coming together, and then noticed that mathw is talking about traits. | 22:28 | ||
colomon | Do you want to run moritz_'s stashed post for day 12 and give yourself another day? | ||
Tene | colomon: I'm home from work and have no other obligations tonight, so I've got plenty of time. | 22:29 | |
colomon | okay, then I'll let you get to work. :) | ||
Tene | If all else fails, I'll just steal gather/take from moritz. ;) | ||
colomon | oooo, gather/take. :) | 22:30 | |
Tene | I was kind of considering talking about HLL interop. | ||
but that's more parrot than perl 6. | |||
ash_ | does gather/take work in rakudo? | ||
Tene | Yes. | ||
rindolf | Hi Tene | 22:31 | |
Tene | I first implemented it in rakudo on September 13, 2008. | ||
hi rindolf. | |||
(I already had a git log up, and I was curious) | |||
ash_ | lol, was about to say Tene you must be very meticulous | 22:33 | |
but doing my @a = gather for 1..4 { take $_; }; say +@a; #=> 1, shouldn't that be 4? | 22:34 | ||
22:34
vorner joined
|
|||
ash_ | rakudo: my @a = gather for 1..4 { take $_; }; say +@a; | 22:35 | |
p6eval | rakudo 7ef386: 4 | ||
ash_ | hmm | ||
i am a lair | |||
or a liar | |||
ng: my @a = gather for 1..4 { take $_; }; say +@a; | |||
p6eval | ng 6ee78e: 1 | ||
ash_ | there be my problem | 22:36 | |
rindolf | I'm getting : <<< I'm missing some needed files from the Parrot installation:\n /usr/src/parrot >>> on Mandriva Cooker. | 22:37 | |
I used Configure.pl --gen-parrot. | |||
mberends | rindolf: check that you have subversion working (svn --version) | 22:38 | |
rindolf | mberends: OK. | ||
svn, version 1.6.6 (r40053) | |||
mberends | hmm | 22:39 | |
22:39
IllvilJa joined
|
|||
dalek | kudo/ng: 77ed1d4 | tene++ | src/core/IO.pm: Minor fix for IO.get |
22:41 | |
22:41
Guest12536 left
|
|||
rindolf | Hmmm... seems like the Parrot makefile kept thinking I'm still on perl-5.10.0 | 22:41 | |
I deleted the Parrot dir. | 22:42 | ||
22:42
jimi_hendrix joined
|
|||
mberends | rindolf: for the superstitious, 'make realclean && rm -rf parrot parrot_install' before --gen-parrot | 22:43 | |
22:50
Su-Shee left
22:52
hanekomu_ joined
22:58
Patterner left,
Psyche^ joined,
Psyche^ is now known as Patterner
23:02
jlaire joined,
athomason joined,
am0c joined,
slavik joined
23:11
Limbic_Region joined,
Limbic_Region left
|
|||
rindolf | rakudo: say ([1..5] * 6) | 23:17 | |
p6eval | rakudo 7ef386: 30 | ||
23:17
meppl joined
|
|||
rindolf | rakudo: ([[1,7],2,3,4,5] >>*<< [[100,7],200,300,400,500]).perl.say | 23:20 | |
p6eval | rakudo 7ef386: [[100, 49], 400, 900, 1600, 2500] | ||
pugs_svn | r29330 | lwall++ | [STD] generalize say/print warning to anything a p5er might try that might be in p6 | 23:25 | |
23:27
vorner left
|
|||
Wolfman2000 | evening. Perl 6 stuff from me is kind of on hold while I deal with this: github.com/wolfman2000/pumpproedits/ If any of you guys want to contribute to this...well, PHP app, let me know. | 23:27 | |
23:27
iblechbot left
|
|||
rindolf | Wolfman2000: Symfony, heh. That brings back memories. | 23:29 | |
Wolfman2000 | I believe I know where I'll move my websites to. This host accepts Symfony apps (I called, they answered quickly) | 23:30 | |
23:30
nihiliad left
|
|||
Wolfman2000 | anyway, semi afk: going full screen on my VM | 23:31 | |
23:36
TimTom joined
23:37
ash_ left
23:41
jan_ left
23:42
pnate left
|
|||
TimToady | rakudo: ([[1,7],2,3,4,5] <<*>> [[100,7],200,300,400,500]).perl.say | 23:43 | |
p6eval | rakudo 7ef386: [[100, 49], 400, 900, 1600, 2500] | ||
TimToady | it would appear that rakudo only knows the dwimmy semantics | ||
23:43
meppl left
|
|||
TimToady | ng: say +(1..4) | 23:44 | |
p6eval | ng 77ed1d: Method 'Num' not found for invocant of class 'Range'current instr.: 'perl6;Mu;' pc -1 ((unknown file):-1) | ||
TimToady | ng: my @a = 1..4; say @a[0] | 23:45 | |
p6eval | ng 77ed1d: sh: ./perl6: No such file or directory | ||
Tene | ng is still waiting on the lists refactor from pm. | ||
TimToady | std: say exp | 23:46 | |
p6eval | std 29329: ok 00:01 106m | ||
23:52
ash_ joined
23:54
alester left
23:57
rindolf left
|