pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, elf: etc.) (or perl6: for all) | irclog: irc.pugscode.org/ Set by Tene on 29 July 2008. |
|||
00:05
kanru left
00:12
drbean__ left
00:13
elmex left
00:17
Khisanth left
00:19
Exodist left,
wayland76 joined,
alester_ joined
00:26
Khisanth joined
|
|||
wayland76 | Hi all. I saw a commit that says "coro is gone, macro rules!" | 00:27 | |
Does coro refer to coroutines? | |||
wknight8111 | I always have my author hat on | 00:32 | |
I write when I need to take a break from code | |||
00:33
jferrero left
|
|||
ab5tract1 | wknight8111: nice to hear. | 00:34 | |
wknight8111 | You ever hear of Wikibooks? | ||
ab5tract1 | did you write the first p6ppe? | 00:35 | |
nope | |||
00:35
eternaleye joined
|
|||
wknight8111 | no, I've never written anything of note. I hope to change that eventually | 00:35 | |
ab5tract1 | i mean, ive heard of a wiki based book. git has a community book, for instance. | ||
but it seems to me you meant a community of some sort | |||
00:39
alester_ left
00:40
eternaleye_ left
|
|||
ab5tract1 | is wikibooks a place i can check out what you're writing? | 00:41 | |
nm found it | 00:48 | ||
00:57
renormalist joined
01:03
drbean_ joined
01:04
kst``` left,
kst``` joined
01:05
Alias_ joined
01:06
renormalist left
01:16
hercynium joined
01:26
ab5tract1 left
01:27
hercynium left
01:28
araujo left
01:30
alanhaggai joined
01:32
alester_ joined
01:34
kanru3 left
01:46
Khisanth left
01:53
Limbic_Region left
01:54
Khisanth joined
02:01
JesseL627 joined
02:04
JesseL627 left
02:08
kanru joined
02:11
eternaleye left
02:13
eternaleye joined
02:21
wknight8111 left
|
|||
s1n | @seen pmichaud | 02:22 | |
lambdabot | pmichaud is in #perl6. I last heard pmichaud speak 3h 15m 58s ago. | ||
02:34
kst``` left
02:35
kst``` joined
02:57
ab5tract joined
03:06
sri_work_ joined
03:12
eternaleye left
03:13
ab5tract left
03:15
sri_work left
03:18
simcop2387 left
03:19
simcop2387 joined
03:21
eternaleye joined
03:23
yahooooo left
03:24
ab5tract joined
03:51
kst``` left
03:52
kst```` joined
03:59
yahooooo joined
04:20
wayland76 left
04:32
zamolxes left,
Khisanth left
04:45
Khisanth joined
04:57
Bzek joined
05:04
Khisanth left
05:08
Khisanth joined
05:09
ab5tract is now known as mellifluidic,
mellifluidic is now known as ab5tract
05:11
ashleyb left
05:14
Psyche^ joined
05:21
scrottie joined
05:26
kst```` left,
kst```` joined,
Patterner left,
Psyche^ is now known as Patterner
05:27
[particle]1 joined
05:43
[particle] left
05:44
[particle] joined
05:56
justatheory left
06:01
[particle]1 left
06:16
alester_ left
06:36
penk joined
06:51
wayland76 joined
06:57
sri_work_ left
|
|||
moritz_ | wayland76: yes, coroutines are gone, you can use gather/take to the same effect but more flexible | 07:02 | |
07:03
kst```` left,
kst```` joined
07:13
kanru left
|
|||
wayland76 | moritz_: Thanks! That answers my next question too :) | 07:25 | |
moritz_ | heh, my magic crystal ball is working again! | 07:26 | |
wayland76 | Good to hear. Does it have the power to say when Perl 6.0.0 will be released? :-p | 07:28 | |
moritz_ | yes, christmas! | ||
it doesn't display numbers :( | |||
wayland76 | :) Which one? (ok, teasing) | ||
Hmm | |||
What would happen if you attached it to an ant farm? (Have you read any Terry Pratchett books involving Hex?) | 07:29 | ||
moritz_ | just "the color of magic" and 1 or 2 others | 07:30 | |
wayland76 | I personally doubt the Christmas deadline that people have been talking about, but I think it'll be close | ||
moritz_ appreciates the humor of calling that perl 6 wiki "November" ;) | 07:31 | ||
wayland76 | Ok. In the later Pratchett books, there's a semi-sentient ant farm named Hex that does the automatic spellcasting, etc (basically, it's a parody of a computer :) ) | ||
Oh, just got the November one :) | |||
07:33
ab5tract left
|
|||
moritz_ ponders setting up a blog on rakudo.de | 07:33 | ||
wayland76 | l | 07:39 | |
moritz_ | no such file or directory | 07:40 | |
wayland76 | (yeah, sorry, had the mouse over the wrong window -- I'm still not quite used to multi-monitor :) ) | 07:42 | |
moritz_ | ;) | 07:43 | |
wayland76 | Speaking of which, though, I'm hoping that XWindows multi-keyboard ( wearables.unisa.edu.au/mpx/?q=node/65 ) will eventuate :) | ||
lambdabot | Title: Multiple keyboard goodness! - MPX: The Multi-Pointer X Server | 07:44 | |
wayland76 | ...so I could have a second "Programming" keyboard with all the Perl Unicode ops :) | ||
But I doubt it'll happen :) | |||
literal | oh cool, you can do "@array ,= 1, 2, 3" instead of "push @array, 1, 2, 3" ? | 07:45 | |
wayland76 | wow :) | ||
literal | I'm asking | ||
saw it mentioned somewhere, though I don't know from the context if it was an actual feature | 07:46 | ||
moritz_ | literal: seems logical to allow it | 07:47 | |
literal | it does seem to follow from the whole "the comma constructs lists now, not parens" idea | ||
moritz_ | aye | ||
you can also write @array <<== 1, 2, 3; | 07:48 | ||
that's the feed stuff that nobody has implemented yet | 07:49 | ||
literal | is there a short hand to unshift? | ||
moritz_ | @array.=[1..*] | 07:50 | |
lambdabot | Unknown command, try @list | ||
moritz_ | but with a different return value | ||
wayland76 | Btw, I tested what literal was talking about, and it said: get_iter() not implemented in class 'Integer' | ||
moritz_ | ow wait, that'd be shift | ||
S03:3068 | 07:51 | ||
@foo ,= 1,2,3 # same as push(@foo,1,2,3) | |||
lambdabot | Maybe you meant: faq ft todo yow | ||
moritz_ | maybe I meant @foo, lambdabot ;) | ||
07:58
kanru joined
08:02
iblechbot joined
|
|||
pugs_svn | r22496 | moritz++ | [t/spec] basic tests for infix:<,=>, literal++ for bringing it up | 08:03 | |
literal | ooh | ||
08:04
pmurias joined
|
|||
moritz_ | it's *so* easy to gain karma here ;) | 08:04 | |
literal | so there's no similar way of unshifting items to an array (other than using unshift()) ? | 08:08 | |
pugs_svn | r22497 | moritz++ | [t/spec] smartlink for new assign.t test | ||
moritz_ can't thinkk of any right now | |||
08:10
[particle] left
|
|||
literal | what what the url to up-to-date synopses? perl cabal something (Google isn't being helpful) | 08:11 | |
what was+ | |||
08:11
[particle] joined
|
|||
moritz_ | perlcabal.org/syn/ | 08:12 | |
or spec.pugscode.org # redircts there | |||
literal | is there something being done to prevent this site from showing up in Google searches? | 08:13 | |
it seems really hard to find even if I search "official perl 6 documentation cabal" | |||
doesn't show up at all, in fact | |||
moritz_ | uhm, it's not indexed | ||
literal | yes, is there a reason for that? | 08:14 | |
08:14
aindilis` joined
|
|||
moritz_ tries to find out | 08:14 | ||
robots.txt doesn't forbid /syn/ | |||
literal | I suspect it's also why the "Google search the synopses" at the top doesn't work at all | 08:15 | |
a search for "array" yields no results, for example | |||
moritz_ | apache2.conf | 08:20 | |
673:SetEnvIf User-Agent "Googlebot" bots | |||
678:Deny from env=bots | |||
08:24
masak joined
|
|||
moritz_ | Juerd: I allowed Googlebot in apache2.conf and instead disallowed everything but /syn/ in robots.txt. Hope this doesn't do any harm, if yes I'll revert that change | 08:24 | |
literal | an Array is a List but a List is not an Array, correct? | 08:27 | |
08:29
aindilis left
|
|||
moritz_ | rakudo: Array ~~ List | 08:30 | |
p6eval | rakudo 31581: RESULT[1] | ||
moritz_ | aye | ||
literal | nice | ||
rakudo: List ~~ Array | |||
p6eval | rakudo 31581: RESULT[0] | ||
literal | indeed | ||
moritz_ wonders how the python folks do multi-statement programs with their evalbots | 08:31 | ||
pmurias | moritz_: they use the ; | 08:32 | |
moritz_ | pmurias: does that work with 'if' and the like? | 08:33 | |
pmurias | hm | 08:34 | |
yes | 08:35 | ||
moritz_ | so that means you can write python without the indenting restriction? | ||
pmurias | to a limited extent i think | ||
08:37
tcliou joined
08:40
alanhaggai left
|
|||
pmurias | moritz_: you can't have to if's on the same line it seems | 08:41 | |
moritz_ | (OT) yesterday I held a small presentation about perl security, and among other things I mentioned DBI, placeholders and prepared statements. There were a few PHP programmers in the audience who very thoroughly impressed ;) | 08:42 | |
pmurias | yesterday when i showed m0ld to a friend he commented "oh, it looks like PHP" | 08:43 | |
moritz_ | is that a bad sign? ;) | 08:44 | |
pmurias | dunno | ||
08:51
tomyan joined
|
|||
azawawi | ping | 08:52 | |
moritz_ | Do you want to ping broadcast? Then -b | ||
azawawi | oh well; it is better than the simple 'hi' ;-) | 08:53 | |
moritz_ | ;) | ||
pmurias | hi | 08:54 | |
azawawi | hi -b ;-) | ||
08:55
drbean joined
08:56
Kitchy joined
|
|||
Kitchy | Too bad that "It is erroneous to change a key object's value within the hash except by deleting it and reinserting it." I wanted to append a value recently. | 08:58 | |
moritz_ | basically it could be allowed if you implement some method of telling the hash that its key object has changed | 09:00 | |
but that's a bit evil, not superior to deleting + re-adding in any way | |||
Kitchy | From the point of view of someone who doesn't know about the internals or even much about OO, it seems the same as push or .= | 09:04 | |
moritz_ can't follow that | 09:05 | ||
Kitchy: care to give me a small piece of code? | |||
Kitchy | ...trying to remember... | ||
09:07
drbean_ left
|
|||
moritz_ | in perl 5 you usually say $hash{$new_key} = delete $hash{$old_key} | 09:07 | |
Kitchy | I think I just wanted to add a new key/value pair, which destroied the existing keys. (I'm not much of a hash user) | 09:08 | |
literal | then it's just a straight forward $hash{$key} = $value | 09:09 | |
it will overwrite the old | |||
Kitchy | Well, the thing I tried didn't work, whatever it was. Fix it. | 09:10 | |
literal | show the code which doesn't work... | ||
Kitchy | I don't remember. | ||
moritz_ | we'll put all the magic into it that we can come up with ;) | 09:11 | |
azawawi | moritz_: interesting config_lib.pasm -> 'cfg = _config()' in perl6.pir | 09:12 | |
moritz_: so $?OS could be one of them... | |||
09:14
jan_ left
|
|||
azawawi | moritz_: and $*PID can be obtained through NCI | 09:14 | |
09:15
cotto joined
|
|||
Kitchy | Okay, it's what I was saying originally...I wanted to append to a value. I think of the key as a variable and I'd like to do a concatenation or something... | 09:15 | |
I don't really get why it can't be done. | |||
09:15
jan_ joined
|
|||
Kitchy | Or why it would be evil. | 09:16 | |
moritz_ | Kitchy: appendiing to a value is neither a problem in perl 5 nor in perl 6 | 09:17 | |
literal | changing the name of a hash key is about as silly as changing the name of a variable, really | ||
there's probably a better way to do what you're doing :) | 09:18 | ||
Kitchy | I had a hash with each key consisting of two letters. The values were words beginning with those two letters. As I found a new word, I wanted to push it onto the corresponding key... | 09:19 | |
I think I had to define the entire key, not just add the new word. I don't like that. | |||
moritz_ | in perl 5: push @{$hash{we}}, 'weird'; | 09:20 | |
literal | the values were words? you mean the values were arrays of words? | ||
moritz_ | just store that as an hash of arrays | ||
in Perl 6 it's just %hash<we>.push('weird'); | 09:21 | ||
Kitchy | I used space separated words as a single value. I wanted to keep lengthing the value by adding words. | ||
moritz_ | then $hash{we} .= ' weird' (perl 5) or %hash<we> ~= " weird" (perl 6) | 09:22 | |
Kitchy | Yeah, that's what I wanted. Um...maybe I accidently used parentheses instead of curly brackets... | 09:23 | |
So never mind. | 09:24 | ||
moritz_ never minds | |||
Kitchy | Curly brackets need larger nipples. | 09:26 | |
09:40
barney joined
09:43
Kitchy left
|
|||
moritz_ | I'm gone for the weekend now, happy hacking ;) | 09:50 | |
azawawi | have a nice weekend | ||
moritz_ | you too | 09:51 | |
09:53
azawawi left
09:54
Bzek left
10:03
elmex joined
10:26
penk left
10:44
iblechbot_ joined
10:50
meppl joined
10:52
[particle]1 joined
10:55
iblechbot left
11:08
[particle] left
11:10
araujo joined
11:23
alanhaggai joined
11:40
alanhaggai_ joined
11:52
alanhaggai left,
alanhaggai_ is now known as alanhaggai
|
|||
pugs_svn | r22498 | lwall++ | [STD] EXPR didn't _MATCHIFY | 12:28 | |
r22498 | lwall++ | [viv] starting on a gimme5 replacement using STD | |||
12:49
PZt left,
PZt joined
12:51
alanhaggai_ joined
12:53
alanhaggai left
13:08
alanhaggai_ left
13:12
alanhaggai joined
13:14
jan_ left
13:18
alester_ joined
13:22
barney left
13:28
alester_ left
|
|||
pmurias | TimToady: will viv be in gimme5'ed Perl 6? | 13:38 | |
13:57
ludan joined
|
|||
TimToady | not at first | 14:00 | |
someday | |||
probably more important to translate Cursor first | 14:01 | ||
14:03
abra joined
|
|||
PerlJam | TimToady: If a programmer creates a .true method on their class it changes the meaning of prefix:<?> and .succ and .pred change the meaning of ++ and -- respectively. Is there some way to protect the programmer from accidently changing the meaning of built-in operators? | 14:03 | |
TimToady | don't define .succ and .pred on your int and str types? | 14:05 | |
shouldn't matter on other types | |||
PerlJam | Hmm. | ||
pmichaud | there's all sort of things like that where someone can get into trouble. For example, defining a function called 'fail' might cause fail to fail. :-) | 14:07 | |
PerlJam | maybe the chance of collision between perl ops and the problem domain that the programmer is modelling and the likelihood of an errant $obj++ is small enough. | ||
pmichaud | the classic C case is where someone would define a function called 'write' and then wonder why 'printf' stops working. | ||
TimToady | well, there's this little difference between global functions and class methods... | 14:08 | |
pmichaud | yes; my point is simply that this sort of thing exists -- not that we necessarily do anything about it. | ||
PerlJam | It still feels to me like methods/subs that override builtins should require some sort of sigily marker so that programmers don't accidently do so. | 14:09 | |
TimToady | what is this "builtin" of which you speak? | ||
PerlJam | Things that seem like part of the language to everyday programmers. :) | 14:10 | |
TimToady | I would say that if a programmer defines sub fail and then calls fail(), they expect it to call their function, not the one from the prelude | 14:11 | |
14:13
jan_ joined
|
|||
PerlJam | TimToady: perhaps I'm worrying over nothing, but it may be that programmer A defines fail() and programmer B doesn't realize it (because they're working in different sections of a large code base; because programmer A failed to document the fact that he was redefining fail; etc. ) | 14:14 | |
TimToady | note that this is lexically determined, and if builtin function is defined in terms of another builtin function, that's a different scope. but regarding large project, we can't prohibit all idiocy... | 14:15 | |
PerlJam | I didn't think we prohibited anything :-) I was just looking for a way to mitigate it. But, again, maybe I'm trying to "design for the future" too much and it won't be a real problem in the real world. | 14:16 | |
TimToady | though in this case, we'll hope the programmer at least gave their fail definition a more specific sig, so multiple dispatch has some chance at working | ||
but people who override multi builtins with only subs are assumed to know what they're doing | 14:17 | ||
PerlJam | It's the people using those people's modules I worry about. | ||
14:18
abra left
|
|||
TimToady | don't use bad modules :P | 14:18 | |
PerlJam | yeah, I guess Darwin rules my worry-space. | ||
TimToady | it's possible we could outlaw bare 'sub fail' as too ambiguous to override, and require 'only' or 'multi' in that case | 14:19 | |
pmurias | isn't it multi by default now? | 14:20 | |
TimToady | no | ||
14:21
abra joined
|
|||
TimToady | at the moment 'sub foo' is still by default package and only, mostly because that's what P5 programmers expect | 14:22 | |
we tried to make it easy to say "multi foo" instead | |||
but it's possible the default is not the best design choice | 14:23 | ||
j | 14:26 | ||
14:27
eternaleye left
14:28
frandars_ joined
14:48
agentzh left,
agentzh joined
14:51
hercynium joined
|
|||
pugs_svn | r22499 | pmurias++ | [mildew] start of mildew, a p6 compiler using STD and targeting smop (m0ld) | 14:51 | |
r22499 | pmurias++ | $OUT.print("Hello World\n") works | |||
[particle]1 | mildew++ pmurias++ | ||
14:51
[particle]1 is now known as [particle]
|
|||
pmurias | it's funny that $OUT.print("Hello World\n") works in perl5 too ;) | 14:51 | |
[particle] | :) | 14:52 | |
so it's also a perl5 to smop compiler :) | |||
14:56
Auzon joined
|
|||
TimToady | yeah, and $ERR.warn works too :) | 15:02 | |
Auzon | Hey TimToady. I missed seeing you at ACM yesterday :-/ | 15:03 | |
TimToady | hiding out writing my talk--or *not* writing my talk, in some cases... | 15:05 | |
[particle] | TimToady: can anonymous subroutines be exported? | ||
15:06
frandars_ left
|
|||
TimToady | yes, but then they're not longer anonymous, because export works by installing a name into a subpackage like DEFAULT | 15:06 | |
[particle] | right, Foo::EXPORT::ALL::??? | 15:07 | |
how do you specify the name of the export? | |||
TimToady | don't remmeber the details.. | ||
[particle] | sub foo is export(:DEFAULT :others) {...} | ||
that's basically what S11/Exportation has to say | |||
shall export take an optional named param? | 15:08 | ||
or, should :DEFAULT take a postcircumfix? | |||
:DEFAULT<bar> :others<baz> | |||
i like the latter, the more i think about it | 15:09 | ||
TimToady | I have no idea what you're trying to do | ||
[particle] | sub is export(:my_tag_list<sub_name_here) {...} | 15:10 | |
thi would result in &<current_namespace>::EXPORT::my_tag_list::sub_name_here | |||
as well as the anonymous namespace in <current_namespace> | 15:11 | ||
*anonymous sub | |||
TimToady | if you want to get that fancy, just &EXPORT::new_name ::= sub {...} | ||
[particle] | that works, too. | ||
ok, so then is export() trait on an anon sub is not allowed | 15:12 | ||
you must manually export them | 15:13 | ||
TimToady | I guess | ||
[particle] | good enough for me | ||
15:20
plash_ joined
15:22
ludan left
15:23
justatheory joined
15:29
FubarBass joined
15:31
plash_ left
15:37
alanhaggai left
15:38
pyrimidine joined
15:43
sri_work joined
15:44
abra left
15:46
FubarBass left
15:54
Auzon left
16:04
TJCRI joined
16:08
jhorwitz joined
16:32
ab5tract joined
16:37
ruoso joined
16:42
justatheory left,
justatheory joined
|
|||
[particle] | perl6: sub foo {1}; &y := &foo; y(); | 16:43 | |
p6eval | pugs: OUTPUT[***  Unexpected " :=" expecting "::" or signature value Variable "&y" requires predeclaration or explicit package name at /tmp/rsLHliz5pc line 1, column 16] | ||
..elf 22499: OUTPUT[/home/evalenv/pugs/misc/elf/elf_f_src/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError) from /home/evalenv/pugs/misc/elf/elf_f_src/STD_red/match.rb:140:in `each' from | |||
../home/evalenv/pugs/misc/elf/elf_f_src/STD_red/match.r... | |||
..rakudo 31590: RESULT[1] | |||
[particle] | perl6: sub foo {1}; my &y := &foo; y(); | ||
p6eval | elf 22499: OUTPUT[/home/evalenv/pugs/misc/elf/elf_f_src/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError) from /home/evalenv/pugs/misc/elf/elf_f_src/STD_red/match.rb:140:in `each' from | ||
../home/evalenv/pugs/misc/elf/elf_f_src/STD_red/match.r... | |||
..pugs, rakudo 31590: RESULT[1] | |||
[particle] | interesting... rakudo treats vars with '&' sigil as global, pugs doesn't | ||
which is correct? | 16:44 | ||
pmurias | pugs | 16:46 | |
my sub foo {say "foo\n"} | |||
[particle] | perl6: sub foo { say 1 }; &Bar::y := &foo; Bar::y(); | 16:47 | |
p6eval | elf 22499: OUTPUT[/home/evalenv/pugs/misc/elf/elf_f_src/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError) from /home/evalenv/pugs/misc/elf/elf_f_src/STD_red/match.rb:140:in `each' from | 16:48 | |
../home/evalenv/pugs/misc/elf/elf_f_src/STD_red/match.r... | |||
..pugs, rakudo 31590: OUTPUT[1] | |||
[particle] | here it seems to me rakudo is correct | ||
pmurias | ruoso: hi | ||
ruoso | hi pmurias | ||
16:49
tomyan left
16:51
kanru left
|
|||
pmurias | ruoso: you thought about a tree transformation language? | 16:51 | |
ruoso | pmurias, actually that was a revival of the debate we had in YAPC::EU::2007 | ||
pmurias, I've just sketched some ideas to make that discussion more concrete | 16:52 | ||
16:52
kanru joined
|
|||
pmurias | i seem to rember some parts of it but my attention was captured by something else then, what do we need it for? | 16:53 | |
[particle] | for transforming trees? ;) | 16:54 | |
ruoso | heh... specially transforming parse tree? | 16:55 | |
16:55
Ontolog left
|
|||
pmurias | ruoso: btw have you seen mildew? | 16:55 | |
ruoso | pmurias, the example I pasted yesterday was using the output of STD5_dump_match as an example input | ||
mildew? I don't think so | |||
pmurias | v6/smop/mildew | ||
ruoso | hmm | 16:56 | |
pmurias | v6/mildew actually | ||
ruoso haven't backlogged yet | |||
ruoso probably won't | |||
ruoso E_NO_TIME | |||
ruoso updating the repository | |||
pmurias | np | 16:57 | |
ruoso | pmurias, is that related to using STD5 as a front-end for smop? | ||
pmurias | yes | ||
ruoso | coooool | 16:58 | |
[particle] | obra: ping | ||
pmurias | ruoso: i didn't hack on it much so it now only does $OUT.print("Hello World\n") | ||
ruoso | That's awesome... | ||
(you mean $*OUT.print, right?) | |||
pmurias | isn't $OUT.print("...") legal? | 16:59 | |
perl6: $OUT.print("...") | |||
p6eval | pugs: OUTPUT[...] | ||
..rakudo 31590: OUTPUT[Scope not found for PAST::Var '$OUT'current instr.: 'parrot;PCT::HLLCompiler;panic' pc 156 (src/PCT/HLLCompiler.pir:103)] | |||
..elf 22499: OUTPUT[Global symbol "$OUT" requires explicit package name at (eval 115) line 3. at ./elf_f line 3861] | |||
ruoso | I think pugs is wrong here... | ||
ruoso brb | |||
17:03
stevedo joined
17:06
stevedo is now known as beatnik
17:09
beatnik left
17:10
cosimo left
|
|||
pmurias | it might as S02:1716 uses "use GLOBAL <$IN $OUT>" to import them into the lexicial scope as i think the specs wouldn't illustrate things with noops | 17:10 | |
17:16
eternaleye joined
17:26
alanhaggai joined
17:31
alanhaggai_ joined
17:43
eternaleye left
17:46
alanhaggai left
17:56
cj joined
|
|||
cj | does it come with a pony yet? | 17:56 | |
pmurias | it=? | 17:59 | |
cj | pmurias: perl 6, of course. duh :) | 18:00 | |
cj hides | |||
masak | cj: you missed the addition of the pony? | 18:01 | |
cj | masak: obviously! | ||
masak | it was there for a while, but then it was Huffman-coded, so now it's a small dog | ||
cj | ah. do I blame Audrey? | 18:02 | |
masak | then even that one went the way of the camel | ||
cj | audreyt: where's my pony!? | ||
masak | cj: watch it. it's not too improbable that she'll show up, say "cj: r22500", and you'll be standing there with a pony and no room for it | 18:04 | |
18:05
masak left,
rdice joined
|
|||
cj | masak: actually, we have a yard that's just about pony-sized and with the recent financial issues, noone mowing it right now! | 18:05 | |
cj will have to invest in a lawn mower. *sigh* | |||
obra | [particle]: pong | 18:08 | |
pugs_svn | r22500 | pmurias++ | [mildew] anonymous subroutines | 18:12 | |
ruoso | pmurias, yes... use GLOBAL <$IN $OUT> explicitly imports that variables into the current lexical scope... | 18:21 | |
otherwise you need to access them as $*IN and $*OUT | |||
(although it would probably be wise that we advocate it as $+IN and $+OUT instead... | |||
pmurias | why? | 18:24 | |
TimToady | makes the code more generically reusable | ||
you can do I/O redirection on sub calls | |||
[particle] | obra: still here? | 18:25 | |
pmurias | do context variables fall back to GLOBAL? | 18:27 | |
ruoso | so the interpreter has "my $IN is context; my $OUT is context;" defined before calling the actual code... | ||
pmurias, no... they don't | |||
18:27
zamolxes joined
|
|||
TimToady | my $IN is context = $*IN maybe | 18:28 | |
ruoso | right.... that's more precise... | 18:29 | |
because the global in and out still need to be available anyway | |||
but I do think it would be wise to replace all references to $*IN and $*OUT in the specs, except the one saying how $+IN and $+OUT are defined ;) | 18:30 | ||
TimToady | what about making all * vars available as + | 18:31 | |
so you can lie about any global :) | |||
ruoso | all globals defined by the prelude you mean | 18:32 | |
TimToady | no, I mean fallback from + to * | ||
ruoso | which basically would mean that the ultimate caller is in the lexical scope of the * package declaration | 18:33 | |
[particle] | export STD=foo; perl6 -e"$+STD.say('bar')" | ||
s/STD/OUT/ | |||
silly brain | |||
TimToady | we undid the ENV failover a while back | 18:34 | |
[particle] | ah | ||
TimToady | but failover to * makes much more sense to me | ||
ruoso | although %+ENV is still valid | ||
TimToady | yes, since %*ENV is a global :) | ||
ruoso | but I'm not sure that makes sense for variables not pre-defined by the interpreter | 18:35 | |
TimToady | what is the sound of one brick falling? | ||
ruoso | vooooosh | 18:36 | |
:) | |||
TimToady | globals are inherently dangerous anyway, and I think a + to * policy would allow people to recover from bad choices by others | 18:37 | |
and maps nicely to the P5 concept of localizing globals too | |||
ruoso | we could hide globals, and leave it in the "small letters" part of the specs ;) | 18:38 | |
we could lie to people and say that globals in Perl 6 are $+FOO | |||
TimToady | let's rename all the twigils. | ||
lessee, now we want ^ for global and * for context, so we need something for placeholders | 18:39 | ||
[particle] | - | ||
pmurias | ruoso: that would make contextual variables seem bad | ||
ruoso | we could say... "hey, Perl 6 has something that looks like globals but are better... ;)" | 18:40 | |
and we then forget to tell people about real globals ;) | |||
[particle] | they'll still hang themselves | 18:41 | |
TimToady | maybe we could use a @#&$*@&! twigil for globals... | 18:42 | |
ruoso | heahehaehaeheaaeh | ||
TimToady | well, it's no longer than GLOBAL:: | ||
ruoso | but really... a unicode character that few people would know how to type... | 18:43 | |
TimToady | or just retire * for that purpose and force people to say GLOBAL:: | ||
ruoso | $×FOO | ||
TimToady | well, it's probably okay the way it is... | 18:44 | |
(plus proposed fallback) | |||
ruoso | well... I'd vote for dropping '*' as global identifier | ||
TimToady | we can let cultural pressure enforce $+OUT | 18:45 | |
ruoso | (reversed-huffman)++ | ||
(we make things we want people not to type to be longer) | |||
in fact... I always thought the '*' twigil to be confusing... | 18:46 | ||
TimToady | it really stands for "every package" there | 18:47 | |
PerlJam | whatever ;) | ||
TimToady | so $*OUT and $**OUT maybe | 18:48 | |
ruoso | you mean $*OUT to be contextual? | ||
and the other being the actual global? | |||
TimToady | that was the thought | ||
ruoso | $*OUT and $GLOBAL::OUT seems better... | 18:49 | |
PerlJam | perl5 has CORE::GLOBAL:: if you want to make it longer :) | ||
(I tend to agree with ruoso though) | |||
TimToady | I already pretty much outlawed "sub *foo" | 18:50 | |
lemme think about it some after I've given my talks here | 18:51 | ||
18:52
donaldh joined
|
|||
TimToady | lunch first & | 18:52 | |
18:54
[particle1 joined
18:56
[particle] left
|
|||
ruoso | that makes me think... I suppose defining "my package GLOBAL" is forbidden, right? | 19:04 | |
PerlJam | Is anything actually forbidden? Or is it just highly discouraged? | 19:08 | |
pmurias | 10/0 | 19:19 | |
ab5tract | is there a quote page? | 19:25 | |
because that needs to go on it | |||
[particle1 | multi infix:</> (Int $x, Int $y) { say "this is highly discouraged" } | 19:26 | |
19:47
icwiener joined
19:50
rindolf joined
|
|||
rindolf | Hi all. | 19:50 | |
run.pugscode.org/ does not work. | |||
Juerd: here? | |||
pmurias | rindolf: hi | ||
rindolf | Hi pmurias | 19:51 | |
Juerd | I'm not fixing those things. | ||
lambdabot | Juerd: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
Juerd | Find whoever maintains it. | ||
Juerd is severely out of tuits, and has no idea how those things are *built*, even. | |||
Sorry | |||
rindolf | $ host run.pugscode.org | 20:01 | |
run.pugscode.org is an alias for feather3.perl6.nl. | |||
Where does it point to on feather? | |||
20:05
alester_ joined
|
|||
rindolf | p6eval: +(5,6,3) | 20:05 | |
?eval +(5,6,7) | 20:07 | ||
pugs: +(5,6,3) | 20:13 | ||
p6eval | pugs: RESULT[3] | ||
rindolf | pugs: +(5,6,3,100,7) | ||
p6eval | pugs: RESULT[5] | ||
rindolf | rakudo: +(5,6,3,100,7) | ||
p6eval | rakudo 31592: RESULT[5] | ||
20:15
rdice left
|
|||
[particle1 | pugs: [+] 1, 2, 3 | 20:24 | |
p6eval | pugs: RESULT[6] | ||
20:28
alester_ left
20:29
[particle] joined
|
|||
rindolf | rakudo: [+] (5,6,100) | 20:30 | |
p6eval | rakudo 31592: OUTPUT[Syntax error at line 1, near "[+] (5,6,1"current instr.: 'parrot;PGE::Util;die' pc 119 (runtime/parrot/library/PGE/Util.pir:82)] | ||
20:31
rindolf left
20:32
donaldh left
20:37
[particle] left
20:40
pyrimidine left
20:43
jhorwitz left
20:46
ab5tract left,
pyrimidine joined
20:51
ruoso left
21:01
explorer joined,
pyrimidine left
21:07
[particle] joined
21:09
kcwu left
21:10
explorer left
21:11
TJCRI left
21:12
kcwu joined
21:22
clkao_ joined
21:23
hcchien_ joined,
clkao left
21:24
hcchien left
21:25
Ehtyar joined
21:33
wknight8111 joined
21:39
iblechbot joined
21:43
icwiener left
21:52
iblechbot_ left
22:00
rdice joined
22:16
pmurias left
22:39
hercynium left
22:49
rdice left
22:58
iblechbot left
|
|||
literal | ($a, $b, $c, *) = 1..42; # throw away 4..42 | 22:59 | |
can this not be written as; ($a, $b, $c) = 1..42; ? | 23:00 | ||
or will that throw awa 1..39? | 23:01 | ||
away | |||
ah, if I understand correctly it'll do the same as the first form, but warn about information loss | 23:02 | ||
meppl | good night | 23:06 | |
23:08
eternaleye joined
23:10
meppl left
|
|||
wayland76 | TimToady: I'd be grateful if you could put in an example of what you were saying about signatures in a rule matching nodes in a tree | 23:18 | |
(even if it's just in the IRC log :) | |||
23:20
justatheory left
|
|||
allbery_b | I'd like to see that too | 23:28 | |
23:35
Limbic_Region joined
|
|||
[particle] | signatures have both an array and a hash component (for positional and named params) | 23:42 | |
that can be used for matching tree nodes | 23:43 | ||
23:44
plash joined
|
|||
[particle] | but i'm too tired to reread the spec and provide an example, sorry | 23:46 | |
23:50
[particle]1 joined
23:56
[particle1 left
23:58
eternaleye left
|