»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot: perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by moritz_ on 27 June 2009. |
|||
TimToady | I guess there's one on Code | 00:00 | |
jnthn | TimToady: Huh? | ||
multi trait_mod:<is>(Code $block, :$default!) { | |||
multi trait_mod:<is>(Code $block, $arg?, :$export!) { | |||
s1n | ironically that was the one i was testing | 00:01 | |
00:01
nihiliad joined
|
|||
pmichaud | TimToady is correct that rakudo's handling of names is currently all wrong. Basically every package declaration should also result in a lexical declaration as well. | 00:01 | |
jnthn | TimToady: Some not in there are "compiler handles". | ||
pmichaud: Yeah, I'm starting to get that now. | |||
pmichaud | I've known this for a while but haven't figured out a completely good way of resolving it. | 00:02 | |
00:02
ihrd joined
|
|||
jnthn | OK. | 00:02 | |
s1n | "yes, and rakudo currently gets that wrong" lol | ||
jnthn | We should discuss at YAPC::EU | ||
pmichaud | it's probably not that hard to do, though. | ||
aktually | |||
jnthn | We also need a good way to handle multi-joined names. | ||
pmichaud | it might be trival to do. | ||
*trivial | |||
jnthn | 'cus the way I hacked in is f**ked. | ||
pmichaud | if we simply treat every sub as the viviself for a :scope('lexical') of the same name | 00:03 | |
jnthn | That's pretty much how my sub foo works now. | ||
pmichaud | right. | ||
00:03
elmex left
|
|||
pmichaud | so the difference between "our" and "my" is that "my" subs are anonymous in the package namespace | 00:03 | |
00:04
elmex joined
|
|||
jnthn | Right. | 00:04 | |
pmichaud | seems like it might be workable. | ||
but I'm wondering if methods play by the same rules | |||
TimToady | methods by default are neither our nor my | 00:07 | |
jnthn | they're more has-ish. | ||
iirc | |||
00:07
ihrd left
|
|||
pmichaud | right, but do methods end up mucking with the lexical pad at all? I'm guessing no. | 00:07 | |
00:08
awwaiid left,
awwaiid joined
|
|||
TimToady | and, in fact, if you declare one as 'our' or 'my' you might have to be careful not to accidentally call it as a sub | 00:08 | |
pmichaud | i.e., our sub foo() { ... } ends up making an entry in the current lexpad for 'foo' | ||
method foo() { ... } # ? | |||
00:08
beggars left,
Limbic_Region joined
|
|||
TimToady | doesn't, unless you specifically say 'our' or 'my' | 00:08 | |
and the entry in the lexpad looks like a function | 00:09 | ||
if you do | |||
which is why that's not the defualt | |||
s1n | btw, the ticket for this is #67364, i didn't check if it was a dup (pmichaud didn't chime in saying he knew about it before i wrote it) | ||
TimToady | *default | ||
my method foo() {...}; &foo($object) | 00:10 | ||
00:10
ihrd joined
|
|||
TimToady | one way to call a private method :) | 00:10 | |
pmichaud | okay, that's fine. I think we can make all of that work without any difficult. | 00:11 | |
TimToady | or more accurately, to call a public method non-virtually | ||
pmichaud | A similar situation holds for class names as well, yes? class XYZ { } creates a lexical entry for "XYZ" | ||
00:12
frew joined
|
|||
TimToady | yes, and pretty much all the searching for packages also happens in the lexical scopes, with GLOBAL as a last resort | 00:12 | |
when I say Num::pi in STD, it finds CORE::Num, which is a lexical name | |||
pmichaud | correct. | 00:13 | |
that's the way I was thinking things would head. | |||
TimToady | when I say my class Foo::Bar, it creats Foo in the current lexical scope only, with Bar inside that | ||
pmichaud | what does "Bar inside that" mean, exactly? | 00:14 | |
Bar would be a package symbol, yes? | 00:15 | ||
i.e., a symbol in the Foo package | |||
TimToady | means Foo thinks it's a package, but the name Foo is only lexical | ||
correct | |||
00:15
DemoFreak left
|
|||
TimToady | if you ask Foo for its PARENT:: it hands you back MY:: | 00:15 | |
pmichaud | what about "class Foo::Bar", without the "my"? | 00:16 | |
TimToady | which is your current lexical scope, which is effectively anonymous | ||
pmichaud | that creates a "Foo" entry in the current package? | ||
TimToady | scans up lexical scopes for Foo | ||
pmichaud | if no Foo found? | ||
TimToady | creates GLOBAL::Foo::Bar as well as lexical alias Foo | 00:17 | |
pmichaud | *and if ... | ||
okay. | |||
really that's CORE::GLOBAL::Foo::Bar, yes? | |||
TimToady | I'm pretty sure that's what it currently does | ||
00:17
ihrd left
|
|||
TimToady | yes, except... | 00:18 | |
I'm thinking that all externally compiled units end up with a GLOBALish package that has to get meshed with all other GLOBALish packages, and ends up attached to UNIT as GLOBAL, probably | |||
and we basically have to detect or ignore GLOBAL collisions at link time | 00:19 | ||
00:19
skids joined
|
|||
TimToady | currently when you use the std command to compile a .pm or a .setting, it forces the current GLOBAL into GLOBALish | 00:20 | |
before dumping the symbol table | |||
since it's just a view of GLOBAL, which will be synthetic | 00:21 | ||
in the actual process | |||
all of this is multiplied by the fact that when we say Foo it's really a shorthand for a longname | 00:22 | ||
pmichaud | right | 00:23 | |
TimToady | the existence of a name:auth:ver in GLOBAL could, in fact, probably replace %ISA as the signal that we already loaded something | ||
pmichaud | oooh, that could be very nice | ||
TimToady | and, interestingly, if you declare the top of a file with 'my module', you don't get that alias, which is appropriate for settings at least | 00:25 | |
jnthn | OK folks, time for me to sleep...train leaves in 5 and a half hours. | 00:26 | |
TimToady | though not perhaps for ordinary modules, since it could force reloading inadvertently | ||
night | |||
jnthn | night :-) | ||
pmichaud | jnthn: have a terrific vacation | ||
TimToady | that too | ||
pmichaud | jnthn: I'm envious. Which alps are you heading to? | ||
jnthn | pmichaud: Thanks! It's Switzerland, there's mountains and fondu. | ||
pmichaud | aaaargh! | 00:27 | |
pmichaud misses Switzerland. | |||
jnthn | pmichaud: Going to be staying in Wengen. | ||
Which is up from Interlaken. | |||
pmichaud | I used to make it to Geneva twice a year. | ||
jnthn | About 4,000ft up. | ||
Oh, Geneva is a nice city too. :-) | |||
TimToady | try not to change altitude too rapidly | ||
pmichaud | 4,000 ft? | ||
that's all?! | |||
jnthn | Well, that's where the hotel is. | ||
pmichaud remembers staying in Zermatt, which was quite a bit higher :-) | 00:28 | ||
jnthn | But of course the trails and so on go higher than that. :-) | ||
00:28
synthEEEE joined
|
|||
jnthn | Oh, yes, that's higher. :-) | 00:28 | |
00:28
ihrd joined
|
|||
pmichaud | I managed to go from hikes at 3,500 meters to my home at sea level in around 36 hours :-) | 00:28 | |
jnthn | It's managable, if in shape. :-) | 00:29 | |
TimToady | it's the sudden drops that are hard on you | ||
jnthn | "Oxygen drunk" | ||
pmichaud | anyway, have a great time, enjoy some fondu for me | ||
jnthn | Will do! | ||
Take care, all :-) | |||
pmichaud | A bientot. | ||
jnthn | o/ | 00:30 | |
s1n | pmichaud: btw, i'm scheduling dallas.p6m for next tuesday, will send out the notice tonight | ||
pmichaud | s1n: yes, I was thinking that would be the case. | 00:31 | |
excellent, it's on my calendar | |||
s1n | and frew and i will be making a presence at dfwuug | ||
pmichaud | tomorrow? | ||
s1n | yup | ||
pmichaud | I hadn't planned to go, but perhaps I will. | ||
s1n | gotta make a p6 presence :) | ||
pmichaud | We should all wear "Perl is Dead" shirts or something :-) | ||
the python guys would love that. | |||
s1n | Perl is Dead. Long Live Perl [56]. | 00:32 | |
we should make some dallas.p6m shirts | |||
pmichaud | indeed | ||
I'm hoping to have my shirts ready on cafepress/zazzle/spreadshirt in the next couple of days | 00:33 | ||
s1n | know anyone (other than cafepress) that can make some decent shirts? | ||
we could do cafepress, but they are usually only in white | |||
pmichaud | cafepress.com/rakudo # first drafts | ||
cafepress does dark shirts now. | |||
so does zazzle | |||
00:33
kate21de left
|
|||
s1n | oh, well, lets get some shirt up, i like that slogan i just made :) | 00:34 | |
pmichaud | okay, I'll draft something when I'm working on the others. | ||
s1n | then we can show up to area meetings, like dfwuug, and people will stop to say something i'm sure | ||
pmichaud | although it might need to be Long Live Perl 5|6 | 00:35 | |
s1n | true | ||
pmichaud | or even 5..6 :-P | ||
s1n | ooo | ||
yeah 5..6 | |||
pmichaud | although people would think we screwed up the version number and forgot a digit or doubled the dot | ||
5.6.0? 5.8.6? where's the typo? | |||
s1n | hmm, but it's a funny inside joke :) | ||
yeah, the 5|6 probably works better | 00:36 | ||
pugs_svn | r27487 | lwall++ | [S14] a slightly closer approximation to eventual reality | ||
pmichaud | okay, kids are pestering me to go swimming with them -- back later | ||
s1n | [front, big font] Perl is Dead. [back,big font] Long Live Perl 5|6. | ||
TimToady | put an upside camel on the front, and a right-side up Camelia on the back :) | 00:40 | |
perching on a camel with its tongue sticking out, maybe :) | 00:41 | ||
00:42
Chillance_ left
00:45
FCO joined,
synth left
00:47
SmokeMachine left
00:51
frankshaw joined
00:55
ihrd left
|
|||
cbk | can one make an array without any pre-determined limit in perl 6? | 01:03 | |
TimToady | that's what arrays are by default | 01:04 | |
cbk | oh | ||
so i don't have to have an number of slots in the array to start off with? | 01:05 | ||
TimToady | certainly not, that would be very un-Perlish | ||
cbk | so can I do this... my @req_pet; | ||
then add a pet to the array by getting the last unused slot | |||
? | 01:06 | ||
like this @req_pet[$x] = $pet_idea; | |||
where $x is the number of elements in the array + 1 | 01:07 | ||
TimToady | usually you'd just say push(@req_pet, $pet_idea) to do that | ||
cbk | push, ok I'll try that :) | 01:08 | |
TimToady | (same in Perl 5, btw) | ||
cbk | thanks | ||
01:08
jonathanturner left
01:10
tann left
01:13
hercynium left
|
|||
cbk | TimToady, how can you clear the screen in perl 6 (if you don't mind) | 01:15 | |
the simplest way please ") | 01:16 | ||
TimToady | on which OS? | 01:18 | |
run("clear") should work on Unixey systems | 01:19 | ||
spx2 | why is november not listed on the link in the topic ? | ||
it's like this new funky web framework thing .. in p6 | |||
cbk | Linux | ||
TimToady | then that should work | 01:20 | |
cbk | I'm sorry I meant to clear the screen form within a perl 6 script. (ie cls) | 01:21 | |
TimToady | I just told you | ||
run("clear") | |||
cbk | just like that "run("clear")" like the perl 5 command system is now "run"? | 01:22 | |
cool! | 01:23 | ||
thanks | |||
TimToady | precisely, but it returns true for success rather than false | ||
cbk | ok | ||
TimToady | which is why we renamed it | 01:24 | |
01:25
hercynium joined
01:28
SmokeMachine joined
|
|||
cbk | is there any good perl 6 books out yet? (that are NOT over 4 years old) | 01:29 | |
TimToady | not yet, though there are some in the works | 01:32 | |
01:34
nbrown joined
|
|||
pmichaud | (camel on a shirt) -- won't someone bark at us for that? ;-) | 01:36 | |
01:37
stepnem left
01:41
frankshaw is now known as HemanShaw,
icwiener_ left
|
|||
TimToady | yeah, I suppose | 01:44 | |
01:46
stepnem joined
01:47
FCO left
01:49
mikehh left
01:51
mikehh joined
|
|||
obra_ | all you should need to do is ask first | 01:54 | |
02:00
Limbic_Region left
|
|||
pugs_svn | r27488 | kyle++ | [t/spec] Test for RT #60176 | 02:04 | |
r27489 | kyle++ | [t/spec] remove empty dir | 02:05 | ||
02:08
jauaor joined
02:09
justatheory left
|
|||
s1n | is there a die equivalent? | 02:29 | |
02:36
justatheory joined
|
|||
TimToady | rakudo: die "oops" | 02:37 | |
p6eval | rakudo 70bfd5: OUTPUT«oopsin Main (/tmp/fAEzGnKCBh:2)» | ||
02:37
dukeleto left
|
|||
s1n | rakudo: die | 02:37 | |
p6eval | rakudo 70bfd5: OUTPUT«No applicable methods.in Main (/tmp/VO5JK3sPoh:2)» | 02:38 | |
s1n | hmm, bug? | ||
TimToady | you didn't give it an argument | ||
so it didn't match any signatures | |||
s1n | it won't just die like p5? | ||
02:39
azawawi joined
|
|||
azawawi | hi | 02:39 | |
TimToady | rakudo: !!! | ||
p6eval | rakudo 70bfd5: OUTPUT«Syntax error at line 2, near "!!!"in Main (src/gen_setting.pm:3340)» | ||
02:39
azawawi left
|
|||
TimToady | rakudo: ... | 02:39 | |
p6eval | rakudo 70bfd5: OUTPUT«Can't return outside a routinein Main (/tmp/hl05fbXGmv:2)» | ||
TimToady | O_O | 02:40 | |
02:40
azawawi joined
|
|||
TimToady | rakudo: fail | 02:40 | |
p6eval | rakudo 70bfd5: OUTPUT«Can't return outside a routinein Main (/tmp/tzqz3NQArU:2)» | ||
s1n | rakudo: exit | ||
p6eval | rakudo 70bfd5: ( no output ) | ||
s1n | close | 02:41 | |
TimToady | rakudo: .die | ||
p6eval | rakudo 70bfd5: OUTPUT«Method 'die' not found for invocant of class 'Failure'» | ||
TimToady | now that's funny | ||
s1n | rakudo: warn | ||
p6eval | rakudo 70bfd5: OUTPUT«Warning! Something's wrong.» | ||
s1n | hah | ||
TimToady | it shouldn't have a newline | 02:42 | |
Perl 5 would tell you the line number | |||
rakudo: $!.die | |||
p6eval | rakudo 70bfd5: OUTPUT«Method 'die' not found for invocant of class 'Failure'» | ||
02:43
alester joined
|
|||
TimToady | s1n: so yes, die without arg is supposed to work, and there's a rakudo bug | 02:45 | |
specced to default to $! | |||
s1n files rakudobug | 02:46 | ||
TimToady | S04:1062 | ||
02:48
alester left
02:51
last left
02:55
athomason left
|
|||
pugs_svn | r27490 | kyle++ | [t/spec] Test for RT #60966 | 03:02 | |
Tene | arohner.blogspot.com/2009/07/can-yo...-this.html | 03:13 | |
03:15
azawawi left
|
|||
s1n | Tene: i assume you're going to respond to that? | 03:17 | |
Tene | ... Oh, that's a good idea. | ||
Sure. | |||
I could BLOG about it, even! | |||
:) | 03:18 | ||
s1n | good idea | ||
Tene | I haven't written any blog posts in... a while. | ||
s1n | i'll see if i can one up him with my vast knowledge of info. theory and stats :) | 03:19 | |
(create something with p6 that clojure can't do) | |||
03:19
dukeleto joined
03:20
donaldh left,
donaldh joined
03:21
molaf joined
|
|||
TimToady | there was some discussion of the article earlier today | 03:27 | |
s1n | tell masak for some reason, i'm getting timeouts now when trying to clone November at git://guthub.com/viklund/november.git | ||
TimToady | see irclog.perlgeek.de/perl6/2009-07-08#i_1300229 and following | 03:28 | |
Tene: ^^ | |||
03:29
FurnaceBoy left
|
|||
s1n | moritz's response looks perfectly sane :) | 03:31 | |
Tene | TimToady++ | 03:32 | |
TimToady | did he post one? | ||
03:32
KyleHa joined
|
|||
s1n | doesn't look like it | 03:32 | |
oh, yeah | 03:33 | ||
KyleHa | This test is driving me crazy: ok( ! try { die "foo"; 1 }, 'die in try cuts off execution'); | ||
s1n | rakudo: my @P = 0.2, 0.5, 0.3; say -[+] @P.map: { $^p * log($^p)/log(2) } | ||
p6eval | rakudo 70bfd5: OUTPUT«1.48547529722733» | ||
KyleHa | OK, now that I'm here, I have an idea... | ||
TimToady | he did change the spec for log though :) | ||
s1n | hah | 03:34 | |
KyleHa | Sometimes I get Null PMC in get_bool(), and sometimes the test fails, but the test description isn't output--as if the desc string got eated. | 03:35 | |
03:35
molaf left
|
|||
TimToady | is try a function? | 03:35 | |
KyleHa | I thought it was built in. | ||
TimToady | what happens if you put (try {...}) | ||
could still be parsing as a listop in rakudo | |||
KyleHa | If I wrap in parens, I get the Null PMC access result. | 03:36 | |
rakudo: say !try { die 'foo'; 1 } | |||
TimToady | rakudo: say !Failure | ||
p6eval | rakudo 70bfd5: OUTPUT«Null PMC access in get_bool()in Main (/tmp/1bARK69YpF:2)» | ||
rakudo 70bfd5: OUTPUT«1» | |||
03:36
REPLeffect left
|
|||
KyleHa | rakudo: say ! try { 1 } | 03:37 | |
p6eval | rakudo 70bfd5: OUTPUT«0» | ||
TimToady | rakudo: say (try { die 'foo'; 1 }).WHAT | ||
p6eval | rakudo 70bfd5: OUTPUT«Null PMC access in find_method()in Main (/tmp/6Hjyiw4WD6:2)» | ||
TimToady | rakudo: say (try { die 'foo'; 1 }).PARROT | ||
p6eval | rakudo 70bfd5: OUTPUT«Null PMC access in find_method()in Main (/tmp/om0vLIGjxY:2)» | ||
TimToady | "It's the Nothing!!!" | ||
KyleHa | I guess I'll fudge it with a skip and note the inconsistent behavior. | 03:38 | |
s1n sleeps | 03:39 | ||
pugs_svn | r27491 | kyle++ | [t/spec] Testing one bug in RT #67374 | 03:44 | |
Tene is again tempted to play with defining macros in PGE. | 03:45 | ||
03:50
cognominal_ left
04:00
KyleHa left
04:01
cognominal joined
04:02
justatheory left,
dukeleto left
04:04
HemanShaw left
04:12
skids left,
pjcj left,
sbp left,
nsh left
04:13
nsh_ joined,
sbp joined
04:20
zcxzczxcz joined,
zcxzczxcz is now known as shinobi,
shinobi is now known as shinobi_cl
|
|||
shinobi_cl | hi | 04:20 | |
literal | hello | ||
shinobi_cl | what is the "standard" file naming convention for perl6? the programs are .p6, but the libraries? .p6m? .pm6? | 04:21 | |
literal | it's still .pl and .pm | ||
04:21
frew left
|
|||
shinobi_cl | do you think it will stay that way? | 04:22 | |
literal | yeah | ||
shinobi_cl | ok, thanks! :) | 04:23 | |
04:23
hercynium left
|
|||
literal | it's the reason why Perl 6 files must start with "use v6;" or "module Something;" or "class Something;" or "grammar Something;" | 04:23 | |
so Perl will know that it's Perl 6 | |||
shinobi_cl | ahh,, i didnt know that.. | 04:24 | |
well, you see. i'm working on an application on risk management... and i was thinking that perl6 roles are IDEAL for modelling stuff like securities. Theres a lot of them.... with so many different features.. | 04:25 | ||
maybe a library for managing them would be a 'killer app' for perl6 .. | |||
literal | you should probably look into Perl 5 + Moose, if you need something for production | 04:26 | |
shinobi_cl | mmm not really, the system is already done in java, i only do text processing with perl :) | 04:27 | |
but when i saw roles i liked the concept... now that im knowing better the different kinds of financial instruments | |||
roles seems perfect for modelling job like that | |||
i know that moose has roles in p5 | 04:28 | ||
but, i dont know... i like perl6 more :) | |||
literal | try it out, then | 04:29 | |
shinobi_cl | well, thanks, and good night! | ||
04:29
shinobi_cl left
04:30
dukeleto joined
04:31
eternaleye left,
eternaleye joined
04:32
eternaleye_ joined,
eternaleye_ left
04:35
dukeleto left
05:01
cbk left
05:05
nacho_ left
05:17
amoc left
05:23
justatheory joined,
synthEEEE left
05:31
nihiliad left
05:39
frew joined
05:47
elmex_ joined
05:49
elmex left,
elmex_ is now known as elmex
05:50
xinming_ left
05:51
xinming joined
06:05
tann joined
06:07
tann_ joined
06:08
barney joined
06:18
kate21de joined,
mj41 left
06:23
justatheory left
06:25
tann left
06:28
cbk joined
06:32
frankshaw joined
06:37
Snublefot_Work is now known as Snublefot
06:40
justatheory joined
06:42
justatheory left
06:47
iblechbot joined
|
|||
eternaleye | rakudo: sub 起る( Str :woken-by($友達) ) { say "お早うございます, $友達!" }; 起る( :woken-by<皆> ) | 06:51 | |
p6eval | rakudo 70bfd5: OUTPUT«お早うございます, 皆!» | ||
06:51
visual joined
|
|||
lisppaste3 | visual pasted "untitled" at paste.lisp.org/display/83279 | 06:56 | |
szabgab | is the recommended way to iterate over lines of a file is this now ? for $fh.lines -> $line { } | 06:58 | |
eternaleye | szabgab: Yeah, IIUC | 06:59 | |
buu | ingy: You around? | 07:09 | |
07:12
rfordinal joined,
rfordinal left
07:20
donaldh left
07:21
donaldh joined
07:41
dakkar joined
07:44
DemoFreak joined
07:48
eMaX joined
08:06
eMaX left
|
|||
Matt-W | Morning | 08:06 | |
moritz_ | oh hai | 08:07 | |
08:09
meppl joined,
ejs joined
08:21
frankshaw left
08:24
visual left
08:31
cbk left,
ejs left
|
|||
dalek | kudo: e7a7999 | moritz++ | docs/ChangeLog: [docs] ChangeLog updates |
08:32 | |
08:36
M_o_C joined,
amoc joined
08:37
ejs joined
08:42
zamolxes left
|
|||
szabgab | rakudo: sub f (@numbers) { @numbers.perl.say }; f((1,2)); | 08:58 | |
p6eval | rakudo e7a799: OUTPUT«[1, 2]» | ||
szabgab | rakudo: sub f (@numbers) { @numbers.perl.say }; f((1)); | ||
p6eval | rakudo e7a799: OUTPUT«Parameter type check failed; expected Positional, but got Int for @numbers in call to fin sub f (/tmp/3XzTio0aHw:2)called from Main (/tmp/3XzTio0aHw:2)» | ||
szabgab | rakudo: sub f (@numbers) { @numbers.perl.say }; f(1); | ||
p6eval | rakudo e7a799: OUTPUT«Parameter type check failed; expected Positional, but got Int for @numbers in call to fin sub f (/tmp/99OxG9C0i6:2)called from Main (/tmp/99OxG9C0i6:2)» | ||
08:59
kate21de1 joined
|
|||
moritz_ | rakudo: sub f (@numbers) { @numbers.perl.say }; f([1]); | 08:59 | |
p6eval | rakudo e7a799: OUTPUT«[1]» | ||
moritz_ | rakudo: sub f (*@numbers) { @numbers.perl.say }; f(1); | ||
p6eval | rakudo e7a799: OUTPUT«[1]» | ||
szabgab | sure with a * it works | ||
but what is the difference between when I pass (1,2) or (1) to the starless array ? | |||
moritz_ | rakudo: say (1, 2).WHAT | 09:00 | |
rakudo: say (1).WHAT | |||
p6eval | rakudo e7a799: OUTPUT«List()» | ||
rakudo e7a799: OUTPUT«Int()» | |||
moritz_ | that's the difference. | ||
rakudo: say (1,).WHAT | 09:01 | ||
p6eval | rakudo e7a799: OUTPUT«List()» | ||
szabgab | and is that a good thing ? | ||
moritz_ | depends. | ||
szabgab | ok, when is that a good thing ? | ||
moritz_ | when you want to do thinks (1 + 2) * 3 | ||
if (...) constructed a list, you'd be screwed. | 09:02 | ||
szabgab | shouldn't thet * force it into scalar context ? | ||
moritz_ | and you wouldn't want (2) * 3 to give you a different result than 2 * 3, would you? | ||
szabgab: aye. And a list in numeric context returns the number of items | 09:03 | ||
(also note that a user might define a non-scalar multi of infix:<*>) | |||
szabgab | I can see I 'll make tons of money teaching Perl 6 - if I manage to understand it one day :-) | 09:04 | |
moritz_ | guess why I try to understand it so early on? :-) | 09:05 | |
but I think it's going to change somewhat | |||
(...) creates a capture | |||
then (1) can be bound to an array parameter | |||
but a capture with a single scalar behaves like that scalar in normal situates | 09:06 | ||
*situations | |||
I gues that'll dwim more | |||
szabgab | I don't really like the fact that my above example fails now, that (1) is a different animal than (1,2) , but maybe it is 'cause I don't get it | 09:07 | |
of course I was on leave from Perl 6 for almost 2 months now | |||
moritz_ | yeah, I think rakudo hasn't caught up with the latest capture things | 09:08 | |
szabgab | moritz_, btw have you tried Padre with Perl 6 ? | 09:10 | |
09:10
lichtkind joined
|
|||
szabgab | azawawi made some really nice integrations | 09:10 | |
moritz_ | szabgab: no, I've seen the pictures, but haven't tried yet | 09:11 | |
09:14
kate21de left
09:19
pjcj joined,
tann joined
09:27
Hale-Bopp joined
09:31
tann_ left
09:34
IllvilJa left
09:36
last joined
09:37
pancake joined
09:57
eMaX joined
10:01
tann left
10:11
last left,
kate21de1 left,
DemoFreak left,
barney left,
sri_kraih_ left,
Matt-W left,
allbery_b left,
dalek left,
kborer left,
skids_ left,
szabgab left,
avar left,
Lorn left,
jevin left,
baest left,
p6eval left,
pnu left,
michaelr left,
phenny left,
eternaleye left,
christine left,
omega left,
frew_ left,
gbacon left,
drbean left,
renormalist left,
simcop2387 left,
[particle] left,
gfldex left,
s1n left,
Helios left,
cxreg left,
silug left,
pjcj left,
sbp left,
nsh_ left,
jauaor left,
frodwith left,
nothingmuch left,
lisppaste3 left,
integral left,
pmichaud left,
dmpk2k left,
betterworld left,
rafl left,
Grrrr left,
DQuest left,
moritz_ left,
Maddingue left,
amoc left,
dakkar left,
cls_bsd left,
Jedai left,
yahooooo left,
frettled left,
Trey left,
c1sung left,
leedo left,
Patterner left,
Tene left,
lambdabot left,
PacoLinux left,
lucs left,
Caelum left,
r0bby left,
gabiruh left,
Ingmar left,
PZt left,
ssm left,
pancake left,
SmokeMachine left,
awwaiid left,
skipper left,
agentzh left,
rjh left,
broquaint left,
RonOreck left,
meteorjay left,
chipdude left,
donaldh left,
xinming left,
charsbar_ left,
jrockway left,
mtve left,
pochi left,
jnthn left,
bionoid left,
literal left,
obra_ left,
Woody2143 left,
ingy left,
andreasg_ left,
LCamel left,
tomaw- left
10:12
pmichaud joined,
pjcj joined,
amoc joined,
dakkar joined,
donaldh joined,
xinming joined,
eternaleye joined,
sbp joined,
nsh_ joined,
jauaor joined,
christine joined,
Patterner joined,
frodwith joined,
nothingmuch joined,
omega joined,
cls_bsd joined,
Jedai joined,
charsbar_ joined,
frew_ joined,
yahooooo joined,
Tene joined,
gbacon joined,
lisppaste3 joined,
jrockway joined,
lambdabot joined,
PacoLinux joined,
lucs joined,
drbean joined,
renormalist joined,
simcop2387 joined,
bionoid joined,
integral joined,
silug joined,
[particle] joined,
gfldex joined,
mtve joined,
pochi joined,
dmpk2k joined,
jnthn joined,
betterworld joined,
frettled joined,
rafl joined,
gabiruh joined,
Trey joined,
s1n joined,
Grrrr joined,
c1sung joined,
literal joined,
irc.freenode.net sets mode: +oooo pmichaud [particle] jnthn literal,
Caelum joined,
leedo joined,
Helios joined,
r0bby joined,
andreasg_ joined,
Ingmar joined,
cxreg joined,
LCamel joined,
DQuest joined,
tomaw- joined,
Maddingue joined,
moritz_ joined,
ingy joined,
obra_ joined,
Woody2143 joined,
irc.freenode.net sets mode: +oo moritz_ obra_
10:13
last joined,
kate21de1 joined,
DemoFreak joined,
barney joined,
sri_kraih_ joined,
Matt-W joined,
allbery_b joined,
dalek joined,
kborer joined,
skids_ joined,
szabgab joined,
avar joined,
Lorn joined,
jevin joined,
baest joined,
p6eval joined,
pnu joined,
michaelr joined,
phenny joined
10:14
pancake joined,
SmokeMachine joined,
awwaiid joined,
skipper joined,
agentzh joined,
PZt joined,
rjh joined,
broquaint joined,
ssm joined,
RonOreck joined,
chipdude joined,
meteorjay joined,
skids_ left
10:16
eMaX left
10:24
DemoFreak left
10:27
zamolxes joined
10:28
icwiener joined,
PZt left,
ssm left,
chipdude left,
rjh left,
SmokeMachine left,
pancake left,
RonOreck left,
skipper left,
meteorjay left,
broquaint left,
awwaiid left,
agentzh left
10:29
pancake joined,
SmokeMachine joined,
awwaiid joined,
skipper joined,
agentzh joined,
PZt joined,
rjh joined,
broquaint joined,
ssm joined,
RonOreck joined,
chipdude joined,
meteorjay joined
10:31
masak joined,
ejs left
10:35
eMaX joined
10:37
ejs joined
|
|||
masak | hmpf, "[S14] a slightly closer approximation to eventual reality" is one of the most generic commit comments I've ever seen. :P | 10:41 | |
Matt-W | :) | ||
10:41
ZuLuuuuuu joined
|
|||
Infinoid | at least it's more specific than "commit this to svn" | 10:42 | |
masak | oh, absolutely. | ||
or 'changed some stuff' | |||
Infinoid | "here, hold this" | ||
moritz_ | hey, the [S14] moniker is very informative | ||
masak | yes, it was the most informative part of the message. | 10:43 | |
with only that, the message would have been almost as informative. | |||
speaking of pickiness, I'm happy about this 'less than awesome' trend in error messages. | 10:45 | ||
moritz_ | me too | ||
Matt-W | yes | ||
me too | |||
sjohnson | Matt-W: ! | 10:46 | |
how's it going? | |||
moritz_ | of course in Perl 6 "less than awesome" is synonymous to "buggy", but it does sound nicer :-) | ||
masak | moritz_: well, it's not only that. it presupposes that we are aiming for awesome. and that matters a lot. | 10:47 | |
moritz_ | masak: aye, that's what my "sound nicer" should also imply, but of course I wasn't that eloquent :-) | 10:48 | |
Matt-W | hi sjohnson | ||
It's going badly | |||
I'm trying to compile Xerces on Solaris 10 on x86 | |||
10:49
pmurias joined
|
|||
masak | to me it's the main thing -- shaping reality with the phrase 'less than awesome'. it's fun to say/write awesome, and the term latches on as a goal. | 10:49 | |
sjohnson | masak: yurg, though i don't know the implications, i understand and trust your word for it | 10:50 | |
Matt-W | well we're trying ot make the most awesome programming language ever | ||
10:50
dakkar left
|
|||
sjohnson | now you're talking | 10:50 | |
masak | sjohnson: it was jnthn++ who, a couple of days ago, described an error message as 'less than awesome'. the phrase stuck. | 10:51 | |
sjohnson: but it seems to me to have reminded people that awesome is actually what we're building here. anything less is unacceptable. | |||
10:52
zamolxes left,
desertm4x joined
10:53
ejs left
|
|||
sjohnson | well, it looks as though a lot of my suggestions to improve Perl 5 have already been figured out | 10:53 | |
though i think i can find 1 or 2 more | |||
despite all the "problems" perl 5 is still my favourite blissful joy to program in | |||
masak | sjohnson: well, Perl 6.0.0 will be really extensible, on top of being awesome. | ||
sjohnson | masak: :) | 10:54 | |
i like that | |||
masak | sjohnson: so, any additions you will want to make will probably be easy to do. | ||
though I worry a bit about the macros and language extensions. | |||
we really haven't gotten our hands dirty there yet. | |||
moritz_ | sjohnson: it might please you to learn that in the next major version of perl 5 'use 5.011' or 'use 5.012' will implictly enable 'use strict' | 10:55 | |
rgs++ for that | |||
sjohnson | i do like that | ||
masak | moritz_: how does one remove 'use strict' from one-liners, then? | ||
sjohnson | moritz_: but the true thing that would really rock my world... would be... if trim() was backported | ||
masak | sjohnson: just write your own! :P | ||
moritz_ | masak: by not writing 'use 5.012' in the one-liner? | ||
masak | moritz_: oh, aha. | 10:56 | |
sjohnson | masak: writing my own becomes very tedious among switching shells on monthly basis | ||
i rely on String::Strip; | |||
and because of that, it has become a nightmare | |||
when i am doing emergency tasks | |||
and i get an @INC error | |||
... but that is better, than writing my own sub trim { function | |||
everytime i do something on a new system | 10:57 | ||
sjohnson stops frothing at the mouth | |||
even others make fun of Perl.. for saying that the trim is new to Perl 6 | |||
masak | sjohnson: sub trim { my ($s) = @_; for ($s) { s/^\s+//; s/\s+$//; } return $s } # it's just one line! | ||
sjohnson | while other languages have had it since some sort of infancy | ||
masak: i realize that i can implement it, but should i also implement a + operator, for adding integers? | 10:58 | ||
masak | sjohnson: I hear you. | ||
I'm also glad that it's there now. | |||
I just don't consider it catastrophic when it's gone. | |||
s/gone/missing/ | |||
sjohnson | well, in my experience, because i have to switch shells for IRC purposes every 2 months | 11:00 | |
i have written many perl scripts to handle many of my shell needs | |||
pancake | s/// is not implemented in rakudo yet :? | ||
Matt-W is embarking on some Perl this afternoon | |||
Matt-W is happy about that | |||
pancake: correct | |||
masak | pancake: no, inly .=subst | ||
Matt-W | pancake: but strings have a .subst method which does the same job | ||
sjohnson | and when i run a simple command but get a huge CPAN error, that could be avoided by PHP or pythons trim / .strip... i get frustrated really quickly | ||
Matt-W | rakudo: say "Hello".subst(/H/, 'y'); | 11:01 | |
sjohnson | i suppose i could write a macro in vim to just add the trim function to do | ||
p6eval | rakudo e7a799: OUTPUT«yello» | ||
pancake | but .subst is for losers :P inlang regexps are cooler | ||
sjohnson | but i think that backporting trim for Perl 5, would be a substantial "right step" in the right direction | ||
masak | pancake: agreed. | ||
pancake: patches welcome. :) | |||
Matt-W | rakudo: my $a = "Hello"; $a.=subst(/H/, 'y'); say $a; | ||
p6eval | rakudo e7a799: OUTPUT«yello» | ||
11:01
payload left
|
|||
Matt-W | masak: it's a parsing thing with s/// isn't it? | 11:01 | |
moritz_ | it is. | 11:02 | |
masak | Matt-W: very likely. | ||
Matt-W | thought so | ||
Matt-W -> fooooooood | |||
masak | probably nontrivial at that. | ||
Matt-W | & | ||
masak | rakudo: eval 'sub infix:<L>($a, $b) { "L yeah!" }' or die $!; 4 L 5 | 11:08 | |
p6eval | rakudo e7a799: OUTPUT«Statement not terminated properly at line 2, near "L 5"in Main (src/gen_setting.pm:3340)» | ||
masak | ah. that's what I thought. | ||
I guess STD.pm won't let that through either. | |||
std: eval 'sub infix:<L>($a, $b) { "L yeah!" }' or die $!; 4 L 5 | |||
p6eval | std 27491: OUTPUT«##### PARSE FAILED #####Syntax error (two terms in a row?) at /tmp/ZvUy3QApXo line 1:------> <L>($a, $b) { "L yeah!" }' or die $!; 4 L 5 expecting any of: infix or meta-infix infix stopper standard stopper statement modifier loop | ||
..terminatorFAILED 00:02 37m… | |||
masak | that's probably as it should be. | ||
11:09
zamolxes joined,
pancake left
|
|||
moritz_ | std doesn't run an eval anyway | 11:09 | |
masak | exactly. | 11:10 | |
but I don't think it should. | |||
moritz_ | right | ||
masak | so both Rakudo and STD DTRT here. | ||
moritz_ | because all grammar modifications are lexically scoped by default | ||
masak | oh, that too. | 11:11 | |
but also, an eval is runtime, while the parsing of operators is before that. | |||
moritz_ | also true. | ||
11:18
frankshaw joined
11:20
donaldh left,
donaldh joined
11:25
beggars joined
|
|||
s1n | masak: i just built your web repo and a bunch of tests failed | 11:30 | |
masak | s1n: ok. | ||
s1n: I'm currently implementing hitomi, and those test failures are known. | |||
any others might have bit-rotted; I'll take a look myself. | 11:31 | ||
s1n | pastebin.com/m7e31d9cd | ||
i might be doing something wrong (automating it) so let me know if those just look wrong | 11:32 | ||
masak | yes, that's about what I'd expect. | ||
some bit rot in routes. | |||
s1n | okay | ||
masak | the tests suffer from a lack of overview right now. :/ | 11:33 | |
s1n | just thought i'd let you know in case you didn't already | ||
masak | s1n: I wasn't 100% aware, so thanks. :) | ||
s1n: anything Web.pm-related I can help you with? | |||
moritz_ | why didn't pugs_svn report r27492? | ||
masak is going to lunch in a few minutes | |||
11:34
pugs_svn left
|
|||
s1n | masak: not just yet, i'll let you know more tonight :) | 11:34 | |
11:34
pugs_svn joined,
desertm4x left
|
|||
masak | s1n: sounds interesting. :) | 11:34 | |
s1n: I might be intermittent tonight, due to a Harry Potter marathon. but I'll stop by now and then. | 11:35 | ||
11:37
masak left
11:40
Sunbeam joined
11:43
azawawi joined
|
|||
azawawi | hi | 11:43 | |
literal: ping | |||
pmurias | azawawi: hi | 11:48 | |
azawawi | pmurias: hey :) | 11:49 | |
moritz_ | I don't know why, but the svn bot ate two cool commits | 11:55 | |
so let me tell you that Su-Shee++ just commited the cool new design for perl6-projects.org/ | |||
azawawi takes a peek :) | 11:56 | ||
moritz_: nice but the links are small bold font on my win32 chrome OS :) | 11:57 | ||
moritz_ | azawawi: the font sizes and spacing might need a few tweaks, yes | ||
azawawi tests it over IE and firefox | 11:58 | ||
moritz_: on ie7, camelia image has a border and is a bit close to the text | 12:00 | ||
moritz_ | that doesn't strike me as horrible, just a bit suboptimal | 12:01 | |
mdxi | i tend to believe that IE users are, by the fact that they're using IE, incapable of making value judgements anyway :) | 12:03 | |
azawawi | FF 3.5 is not playing it fair; when I installed it, it replaced the default chrome browser without asking :) | ||
mdxi: :) | |||
mdxi: people are lazy by default | 12:04 | ||
Matt-W | hmm on my FF 3.5, all the body content seems to be shifted a little to the left compared to the header | 12:06 | |
azawawi | @tell literal any pending grok update soon? | ||
lambdabot | Consider it noted. | ||
Matt-W | It's also disturbingly colourful | ||
lichtkind | hello | 12:07 | |
azawawi | lichtkind: hi | 12:08 | |
mdxi | i like it tons better than what was there | ||
lichtkind | azawawi: the cheat sheet is now much longer :) | ||
12:08
sri_kraih joined
|
|||
Matt-W | It does have the distinct advantage of being custom-designed and not an obviously generic template | 12:10 | |
Matt-W dives into some Perl 5 | 12:11 | ||
azawawi | lichtkind: i was parsing it in the morning to add it to perl 6 help autocomplete dialog... | ||
12:13
HemanShaw joined,
frankshaw left
|
|||
azawawi | lichtkind: svn.perlide.org/padre/trunk/Padre-P...p6_help.pl | 12:15 | |
lichtkind | azawawi: and where are the pods? | 12:19 | |
Matt-W | moritz_: re blog entry on exceptions, I'd not heard of the 'hyper' operator | 12:20 | |
azawawi | lichtkind: that script creates it from the website... | ||
lichtkind | azawawi: i want to include them too into perl6::doc | ||
azawawi | lichtkind: run it and you'll get your POD :) | 12:23 | |
lichtkind | azawawi: yes , but there still lots missing, next day i want add array and string methods | ||
azawawi | lichtkind: cool then | ||
lichtkind: i hope grok gets that information as well | 12:24 | ||
lichtkind: 'grok method', 'grok my' is really useful | |||
12:25
sri_kraih_ left
|
|||
lichtkind | grok is also based on that tablet? | 12:25 | |
12:26
HemanShaw left
12:44
beggars left
|
|||
azawawi | lichtkind: sorry i was away a bit; grok is based on S29 + other synopsis | 12:46 | |
lichtkind | azawawi: thanks for the script | ||
azawawi: nop i do here also lot of things | 12:47 | ||
azawawi | lichtkind: like what? | ||
12:47
alester joined
|
|||
lichtkind | azawawi: i mailed the grok guy and text::editor::simple guy some other guy with a kephra feature request and im planning my next travel | 12:48 | |
azawawi | lichtkind: cool | 12:49 | |
lichtkind: do u an API i can re-use? | 12:50 | ||
lichtkind | azawawi: what? | ||
azawawi | lichtkind: im using App::Grok API to get help topics/etc... is there anything like that in Perl6::Doc ? | 12:51 | |
12:52
IllvilJa joined
|
|||
lichtkind | azawawi: not yet , i didnt much in last year with that module | 12:52 | |
azawawi | lichtkind: i see; no worries. keep u the great work on the tablets :) | 12:53 | |
lichtkind: s/keep u/keep up/ | |||
12:54
skids joined
|
|||
lichtkind | azawawi: thanks but its twice as much you see, i maintain also the german mirror | 12:54 | |
azawawi | lichtkind: oh that's too much :) | ||
lunch & | 12:55 | ||
lichtkind | azawawi: ihave some more hats :) bye | 12:57 | |
13:07
macae joined,
masak joined
13:17
iblechbot left
13:19
alester left,
zamolxes left
13:21
barney left
13:23
synth joined
13:27
azawawi left
13:28
payload joined
13:31
ispy_ joined
13:37
ruoso joined
|
|||
ruoso | Hello! | 13:39 | |
sbp | hey ruoso | ||
masak | ruoso: \o | ||
13:39
meteorjay left,
mj41 joined
|
|||
[particle] | moritz_: where was the perl6-projects.org refresh announced? how do we get in touch for comments? i don't like how the text bounces as you mouse over the selections, i'd rather see the text get larger in-place without affecting spacing (making sure the other list items are already properly spaced to accommodate a larger font size) | 13:39 | |
moritz_ | [particle]: it was announced here (more) | 13:40 | |
[particle] | well, that's how i found out about it :) | ||
masak | [particle]: full ack. things should never be resized in any way, shape or form by a mouse-over. | ||
moritz_ | [particle]: I think that the test size, spacing and hover effects need some more work | 13:41 | |
Matt-W | rakudo: my $p = "raw"; $p eq any(<raw tunnel>) ?? say "yes" !! say "no"; | ||
p6eval | rakudo e7a799: OUTPUT«yes» | ||
Matt-W | rakudo: my $p = "rabbit"; $p eq any(<raw tunnel>) ?? say "yes" !! say "no"; | ||
p6eval | rakudo e7a799: OUTPUT«no» | ||
Matt-W weeps at not having perl 6 yet | |||
moritz_ | Matt-W: it's even prettier... | ||
Matt-W | yes | ||
and how do I express that half so elegantly in perl 5? | 13:42 | ||
moritz_ | rakudo: my $p = "raw"; say $p eq any(<raw tunnel>) ?? "yes" !! "no" | ||
p6eval | rakudo e7a799: OUTPUT«yes» | ||
[particle] | moritz_: completely agree about text size, spacing and hover | ||
moritz_ | use List::MoreUtils qw(any); say any({$_ eq $p}, @list) ? 'yes' : 'no'; | 13:43 | |
Matt-W | moritz_: unfortunately many cool modules aren't available to me. I don't suppose that's in core in 5.8... | ||
13:43
Chillance joined
|
|||
[particle] | moritz_: also, the page header with camelia is wider than the sections below, so the layout feels unbalanced | 13:44 | |
Matt-W | [particle]: that might be more acceptable, but it's also off to one side... | 13:45 | |
moritz_ | yes, I'm aware of that. Patches welcome :-) | ||
[particle] | oh, the site css is in the repo? how is it updated? i am not unafraid of css | 13:46 | |
moritz_ | [particle]: it's in docs/feather/perl6-projects.org/ | ||
and updated by a cron job | |||
at least every 15min | |||
13:47
amoc left
|
|||
moritz_ | (we used to have a notice explaining that on the page, don't know where that went) | 13:47 | |
Matt-W cackles madly | |||
it's only thursday and I'm already insane | 13:50 | ||
this has not been a good week | |||
moritz_ | why, does it usually take you 'til friday to go insane? | 13:51 | |
Matt-W | friday afternoon | ||
on a good week, it never happens at all | |||
moritz_ | you're ahead of your time, congratulations! | 13:52 | |
13:54
donaldh left
|
|||
pugs_svn | r27494 | moritz++ | [perl6-projects.org] don't resize links on hover, just replace the dotted by a | 13:56 | |
r27494 | moritz++ | solid line | |||
13:58
rfordinal joined
13:59
pmurias_ joined,
pmurias left,
hercynium joined
14:00
pmurias_ is now known as pmurias
|
|||
pugs_svn | r27495 | moritz++ | [perl6-projects.org] more CSS tweaks: line spacing, font size | 14:00 | |
14:03
frew left
14:17
rfordinal left
14:18
payload left,
payload1 joined
14:23
cbk_ joined
14:24
skipper_ joined
14:25
skipper left,
nihiliad joined
|
|||
pmichaud | Good morning, #perl6 | 14:26 | |
masak | morning, pmichaud. | ||
moritz_ | oh hai pmichaud | ||
14:26
molaf joined
|
|||
pmichaud | perl6-projects++ | 14:27 | |
moritz_ | Su-Shee++ | ||
masak | oh! nice! didn't see that till now. | 14:28 | |
moritz_ | pugs_svn eated her commits; perhaps because she has a dash in her svn username? | ||
masak | and the backgrounds of the boxes are schemed on Camelia. nice! | ||
14:29
molaf left
|
|||
masak | though the yellow has too much green in it, and a bit too much saturation. mind if I tweak it slightly? | 14:29 | |
[particle] | that's what public svn repos are for! | ||
masak | "don't ask to fix" :) | 14:30 | |
moritz_ | masak: we had a preview yesterday with less saturation, that looked a bit disappointing; so be sure to to desaturate it too much | ||
masak opens up Gimp to find the perfext yellow | |||
[particle] | (bigger font + wider display)++ | ||
PerlJam | ++ for whoever fixed the changing font size on hover. | ||
[particle] | looking much better now | ||
masak | moritz_: understood. actually, I think the interplay between all backgrounds and Camelia is what matters most. | 14:31 | |
[particle] | i don't like that the download link is solely for rakudo | ||
moritz_ | [particle]: we discussed that yesterday too | 14:32 | |
masak | I'll also note that my browser window is not wide enough by default to allow three boxes to fit on one row, which makes the page look... less than awesome. | ||
I'd prefer absolute positioning to floats, I think. | |||
moritz_ | then you'd have horizontal scrolling | 14:33 | |
which IMHO is even less than less than awesome :-) | |||
pmichaud | I think I prefer the horizontal scroll | ||
having the boxes jump around on resize is... disconcerting | 14:34 | ||
masak | moritz_: there's a horizontal scrollbar regardless, due to the header. but I see your point. | ||
moritz_ | how often do you resize your browser, pmichaud? | ||
pmichaud | moritz_: frequently, actually. | ||
masak | pmichaud has a point too. | ||
moritz_ nearly never | |||
PerlJam used to resize browser often before having an extra monitor | 14:35 | ||
moritz_ | well | ||
masak | moritz_: try and narrow the browser window to two columns and observe the result. | ||
moritz_ | usually I hate horizontal scrolling because it makes it impossible to read text | ||
masak | but that's not the issue here. | ||
moritz_ | but since the text is broken up in columns anyway, it doesn't matter very much here | ||
masak | what we have is effectively a 2x3 table. | 14:36 | |
(yes, I said table. so sue me.) | |||
moritz_ sues masak | 14:37 | ||
masak | 'it's 2009, and web designers still get sued for saying "table". when will the madness end?' | 14:38 | |
14:39
payload joined
|
|||
moritz_ | never. | 14:39 | |
pmichaud | the boxes also don't align. However, given that Camelia has such assymetries, perhaps the boxes should also. :-) | ||
*asymmetries | |||
PerlJam | there's something a little off with the layout that I can't quite put my finger on ... like there's a little too much space between the boxes or the boxes are too small | ||
pmichaud | for example, the right two boxes aren't aligned | ||
and none of the boxes align with the header (ff 3.5) | |||
moritz_ | actually what we really need is a site layout language | ||
something which CSS wasn't really designed for | 14:40 | ||
masak | moritz_: do that (successfully), and you'll be famous. | ||
PerlJam | moritz_: but perl 6 *is*! :) | ||
14:40
payload1 left
|
|||
PerlJam | moritz_: (perl 6 is designed for designing such a language anyway ;) | 14:40 | |
moritz_ | masak: I'm already famous, nearlly all people I know know me too :-) | 14:41 | |
masak | moritz_: :) | ||
pmichaud | Larry is known for "rn", "patch", and Perl. I appear to be known for Rakudo, PmWiki, and "Strawberry Pop-Tart Blow-torches". :-| | 14:42 | |
pugs_svn | r27496 | pmurias++ | [re-smop] proof of concept call-graph printer | 14:43 | |
masak | moritz_: experimenting a little, I see what you mean about too little saturation. but I believe there's a middle ground. | ||
pmichaud: that's a nice track record, I'd say. especially the pop-tarts. :) | 14:44 | ||
moritz_ | and I thought it was toaster experiments | 14:45 | |
pmichaud | it's nice that it's still #1 on google search for "strawberry pop-tart" :-) | ||
masak | but the yellow needs to be softer. right now it's too sharp. | ||
ah, found the right nuance. | |||
14:46
Exodist joined
|
|||
pmurias | ruoso: re using berkley db for stm, isn't berkley db a persistent hash? | 14:47 | |
ruoso | pmurias, it can be used in-memory only | ||
14:47
Exodist left
|
|||
Matt-W | wow | 14:48 | |
perl6-projects has changed again! | |||
I detect people tweaking | |||
14:48
iblechbot joined
|
|||
pugs_svn | r27497 | masak++ | [perl6-projects] mildened background colors a little | 14:50 | |
masak | you know what I think would really suit the page too? a subtly fading background, such as the one Mozilla uses for its site. just a slight fade from a nuance of grey to white. | 14:51 | |
PerlJam | masak: sounds good to me. | 14:52 | |
masak | hm, seems mozilla.com uses another layout now, so I can't show an example. | 14:53 | |
but I have such a background ready, so I'll copy it in and you can see how it looks in 15 minutes. :) | |||
Matt-W | yay | 14:54 | |
TimToady | hmm, the TM seems to have disappeared from Camelia, and she no longer links to the pdl | 14:55 | |
PerlJam | Aha! I know what bothers me about the current design. It's too flat and "blocky". I tend to favor designs that are more "fractal". Where all that blank space in the header or in the area between boxes or at the bottom of the boxes has some little detail that fills in the space just a little. | ||
14:55
KyleHa joined
|
|||
TimToady | we do want to convey simplicity, however | 14:55 | |
masak | a fractal is simple. :P | 14:56 | |
14:56
justatheory joined
|
|||
TimToady | that's part of why Camelia is in cartoon style | 14:56 | |
PerlJam | Sure, but I'm thinking of little things like .... oh, I don't know ... a little bit of grass and a small flower near Camelia | ||
ruoso | anyway... the design breaks with a higher dpi font | ||
TimToady | I didn't say they weren't :P | ||
14:56
justatheory left
|
|||
pmichaud | how about a few onions sprinkled about? :-P | 14:57 | |
PerlJam | yeah, or onions | ||
pugs_svn | r27498 | masak++ | [perl6-projects] added fading background | ||
PerlJam | (or, *an* onion) | ||
masak | onions and grass! | ||
Matt-W | mmm... onions... | ||
PerlJam | It's like an easter egg that's subtle and adds just a bit of nuance. | ||
TimToady | could also start to look cluttered if we're not careful | 14:58 | |
PerlJam | I also tend to favor ultra-sparse designs too (see google) | ||
the current design seems to be just enough in the middle of those that it bothers me | 14:59 | ||
Matt-W | I'm still dubious about the background colours | ||
and the download button being a completely different shape to everything else looks very out of place | |||
ruoso | the widths of the columns should have been in %s it is breaking with bigger fonts | ||
Matt-W | and download what, anyway? | ||
PerlJam | Matt-W: *the* perl 6 :) | ||
masak | Matt-W: I don't think my change for the background colors has gone through yet. | ||
TimToady | it used to say downloads | ||
why did it get changed back? | 15:00 | ||
Matt-W | masak: I shall look forward to it | ||
Matt-W also suggests the headers in the boxes should be in a larger font than the rest of the box contents | |||
15:00
hercynium left
|
|||
moritz_ | Matt-W: it has now | 15:01 | |
Matt-W: feel free to patch that in | |||
PerlJam | The downloads "button" could look like an onion. that would break up the monotony of the boxes and still be perly :) | ||
moritz_ | PerlJam: sure, make a graphic and commit it | 15:02 | |
Matt-W | hmm, a bit better | ||
still feels like CBeebes | |||
CBeebies* | |||
moritz_ | actually I find it a bit depressing with dark background :/ | ||
Matt-W | it makes it look like a cloud came across | 15:03 | |
TimToady | seems a bit drab now | ||
Matt-W | probably the wrong solution | ||
I might play with a copy this evening | |||
not that I'm any great shakes as a designer | |||
TimToady | the less saturated colors also add to the drabness | ||
Matt-W | but, you know, ideas | ||
pmichaud | I agree -- either keep the saturation, or avoid the camelia colors | 15:04 | |
masak | I agree. it's a bit drab now. it can still be improved. | ||
15:04
DemoFreak joined,
agentzh left
|
|||
Matt-W | all things can be improved | 15:04 | |
apart from Perl 6's for loops (go on, prove me wrong) | 15:05 | ||
15:05
agentzh joined
|
|||
masak | what my change did was mainly to make the boxes look more homogenous. before the change, the yellow was screaming. | 15:05 | |
moritz_ | Matt-W: they could be faster :-) | ||
TimToady | most things can be improved in one dimension by making them worse in some other dimension | ||
Matt-W | moritz_: that's not the language's fault, that's the implementation's fault | ||
TimToady: this is very true | 15:06 | ||
pmichaud | Can we yet write "for" in Perl 6? ;-) | ||
PerlJam jumps up and down on the waterbed to see what happens | |||
TimToady | yeah, well, with a different language the implementation might be done by now :P | ||
std: for | |||
p6eval | std 27498: OUTPUT«Undeclared routine: for used at 1 ok 00:02 36m» | ||
TimToady | oh wait | ||
std: "for" | |||
p6eval | std 27498: OUTPUT«ok 00:04 36m» | ||
TimToady | yes, we can | ||
pmichaud | I meant the implementation of for loops | ||
TimToady: :-P | |||
15:07
KyleHa1 joined
|
|||
Matt-W | pmichaud: you could probably write it in terms of loop and elems, but you might need some extra introspection stuff to examine the pointy block for parameters... | 15:08 | |
15:08
macae left
|
|||
TimToady | introspection is probably a sign of incorrectness | 15:08 | |
moritz_ | or of magic :-) | ||
pmichaud | Matt-W: our inability to describe for loops in Perl 6 was once identified as sub-optimal. So, consider yourself proven wrong :-P | ||
Matt-W: but as a consolation prize, we have this copy of "Rakudo: The Home Game" and some other parting gifts :-P | 15:09 | ||
Matt-W | pmichaud: I'm sorry, I've not seen any proof that you can't do it, or you won't be able to do it very soon. | 15:10 | |
Therefore I win :P | |||
TimToady | we're still missing a primitive to allow partial binding to a list, removing the elements that bind, and leaving the rest | ||
masak | speaking of introspection, I have a very concrete example of a grammar extension that I'd like to discuss. let's say I'd like to introduce the keyword 'whence', which'd work like Haskell's 'where'. how'd I do it? as specific instructions as possible. | 15:11 | |
so it'd be a statement modifier, just like statement-modifier if, for, given etc. | 15:12 | ||
TimToady | rewrite STD :P | ||
masak | TimToady: yes, exactly. | ||
it practically can't be done the way STD.pm looks now. | 15:13 | ||
TimToady | your problems there are not syntactic, but semantic violations of one-pass-ness | ||
masak | mind you, STD.pm is the coolest Perl 6 code I've ever seen. | ||
but extending it this way seems... difficult. | |||
oh, the one-pass-ness is a problem too, yes. | |||
TimToady | you can certainly add a new statement modifier by derivation | 15:14 | |
but the problem is post-declaration | |||
masak | TimToady: I'd like to see an example of that, even a small one. | ||
15:14
ZuLuuuuuu left
|
|||
moritz_ | maybe overwriting block? | 15:15 | |
masak | why block? | ||
moritz_ | rule block { '{' ~ '}' <statement_list> <whence_block>? } | ||
masak | oh. | 15:16 | |
15:16
REPLeffect joined
|
|||
moritz_ | and setting a context var that tells the parser to skip variable declaration checks | 15:16 | |
(which you'd also have to implement, of course) | |||
masak | interesting. | ||
TimToady | overriding non-category rules is much more antisocial than adding new rules to existing categories | ||
moritz_ | aye :-) | 15:17 | |
but we need a no-strict mode for one-liners and 'no strict' anyway | |||
so at one point such a flag/context var will eventually exist | |||
masak | anyway, the statement modifiers right now seem to be pretty much tangled up in the token statement. | ||
TimToady | I don't follow what you mean at all | 15:18 | |
masak | moritz_: well, I still want variable checks on unbound variables. :) | ||
TimToady: that might be because I'm not sufficiently familiar with STD.pm yet. | |||
skids | TimToady: other than the fact that "Lists" are immutable, and pulling the .elems across in ($foo, $bar) := shift(...),shift(...) what else does the "missing primitive" for loops/feeds need to do? (If I'm at all following, that is?) | ||
TimToady | syntactically, adding a new statement modifier is as simple as "use MyGrammar is STD; rule statement_mod_cond:whence {<sym> <modifier_expr> }" | 15:20 | |
er, 'use STD; grammar MyGrammar is STD;' | |||
masak | how do I know it's _cond and not _loop? | ||
TimToady | you can make it whatever pleases you | ||
but whence doesn't feel like a loop to me | 15:21 | ||
15:21
REPLeffect left
|
|||
masak | they're equivalent? why are there two types? | 15:21 | |
given doesn't feel like a loop to me. :) | |||
TimToady | well, it's really more like topicializer on the outside | ||
moritz_ | TimToady: but masak wants to have the side effect that it surpressed declaration checks in the loop *before* the whence? | ||
s/\?// | |||
15:22
REPLeffect joined
|
|||
TimToady | yes, that's the semantic bit I was complaining about, but has nothing to do with syntax :) | 15:22 | |
masak | indeed. | ||
I hadn't thought about it as breaking one-pass-ness before. | |||
moritz_ | TimToady: when we usually talk about such things, declaration checks are part of the syntax for you, no? :-) | 15:23 | |
TimToady | you also have to write wrappers around the symbol table manipulation routines to prevent carping about undefineds | ||
only when I want them to be :P | |||
masak | pmichaud: oh, and btw: would PRE and POST be hard to implement, or low-hanging fruit? | 15:24 | |
TimToady tries again to backlog... | |||
masak | if only tests are the blocker, I volunteer to write some. | ||
:q | 15:25 | ||
masak pretends that that was a smiley and not a vim command | |||
one day I'll have a computer that does focus-follows-eyes... | |||
eiro | haha ... i wrote it yesterday on my facebook page: "%s#|.* is not an insult, it's a vim command" | 15:27 | |
and before: ":>!$ is not a smiley: it's a shell command !" | |||
15:28
KyleHa left
15:29
RonOreck left,
DC joined
|
|||
TimToady | actually, as long as you limit your postdeclarations to things that can parse as listops, current STD already allows postdeclaration | 15:34 | |
that doesn't allow you to say i + j though | |||
so maybe you want a different postdeclaration policy | 15:35 | ||
15:35
RonOreck joined
|
|||
masak | I got all of that except 'allow you to say i + j' | 15:35 | |
15:35
justatheory joined
|
|||
moritz_ | I think $i + $j would be fine | 15:35 | |
masak | oh, that works for me. | ||
TimToady | but those aren't allowed to be post declared | ||
and i + j parses as i(+j) | 15:36 | ||
so you need a different policy | |||
masak | :/ | ||
15:36
kidd_` joined
|
|||
TimToady | like, postdeclared functions require (), and bare symbols parse more like values | 15:37 | |
but postdeclared variables are more problematic in the current scheme of things | 15:38 | ||
masak | aye, maybe I shouldn't try to spit against the wind. I'll see if I can find a more one-pass-friendly grammar extension example. | 15:40 | |
TimToady | szabgab: (1,2) and (1) will soon parse to the same thing, which pmichaud and I have been calling a Parcel, which is sort of a pre-Capture notion | ||
15:40
dukeleto joined
|
|||
TimToady | and may, in fact, replace Capture, if Parcel can present the Capture interface while remaining a Parcel | 15:41 | |
the difference is that in a Parcel (1,2,:a) treats :a as just another item in its list of objects | 15:42 | ||
its putting it into Capture context of some sort that divides it into positionals and nameds | |||
[particle] | parcel reminds me more of package that capture | 15:43 | |
TimToady | yes, that's because it doesn't get unwrapped till it reaches its destination | 15:44 | |
[particle] | ah | ||
TimToady | but when we distinguish foo(1,2,:a) from foo(1,2,(:a)), a Parcel wrapping is what hides the :a from the outer capture | 15:45 | |
Parcel is also related to "paren cell" | |||
so it's a bit like an S-EXPR | |||
pmurias | ruoso: what's a good way of viewing a call graph? | 15:47 | |
TimToady | macros will probably be dealing with parcels instead of captures, probably | ||
so says the Department of Redundancy Department... | 15:48 | ||
note that the Parcel vs Capture distinction may have ramifications for SMOP innards | |||
[particle] | i don't think it will stop there | 15:49 | |
ruoso | pmurias, dot? | ||
TimToady | well, no, but pmichaud already knows it | ||
[particle] | so trismop may be around the corner | ||
TimToady | they're probably ignoring me :) | 15:50 | |
pmichaud | no, just working on another message in another window. | ||
ruoso | TimToady, Parcel? | ||
TimToady | Parcel | 15:51 | |
ruoso | that's a new one | ||
ruoso haven't backlogged... should probably do it before asking repeated questions | |||
TimToady | yes, but we've been discussing it for several days now | ||
but the last 5 minutes are the short version | 15:52 | ||
well, 15 minutes | |||
pmichaud | 12, actually. | 15:53 | |
15:53
estrabd left,
estrabd joined
|
|||
pmurias | ruoso: can dot handle several thousand nodes? | 15:53 | |
15:54
estrabd left
|
|||
ruoso | TimToady, you bet it does have ramifications... | 15:54 | |
15:54
estrabd joined
|
|||
ruoso | pmurias, in that case, a database may provide the best tools | 15:54 | |
TimToady, but maybe not that many, as the last capture change | 15:55 | ||
TimToady, it probably will be a mildew-only entity... I'm not sure it will really affect SMOP, | |||
since it's more Parse-related than data-related | |||
i.e.: Parcels become capture most of the time | 15:56 | ||
TimToady | it impacts at the point where someone wants to call foo(1,2,:a) and foo happens to want to bind the arguments as a Parcel rather than as a Capture | ||
so either you have to be able to reconstruct the Parcel, or Capture is just a view of a Parcel | 15:57 | ||
ruoso | hmm... to the extent it provides a different API | ||
pmurias | ruoso: a call graph is a tree, and i'm not sure what flattening it in a database table will give us | ||
ruoso | pmurias, recursive relationships | ||
pmichaud | it may also impact the structure a bit, since it may then be possible to have foo(1, :a<bc>, 2, 3, :a<de>, 4) | ||
pmurias | ruoso: explain | ||
ruoso | pmurias, a table that references itself | 15:58 | |
pmurias, this call is a child of another call | |||
pmurias | but it's a tree, there are no cycles | ||
ruoso | TimToady, hmm... so maybe that means Parcel should be more basal than Capture... which means another huge refactoring | 15:59 | |
TimToady | that's what I was pointing out as a possibility | ||
ruoso lunch & think about it.... | 16:00 | ||
TimToady | chow | ||
16:07
REPLeffect left
16:11
jrtayloriv joined
16:18
REPLeffect joined
16:20
cdarroch joined
16:22
Psyche^ joined
16:25
masak left,
payload left
16:30
register joined,
register left,
register joined
16:32
register72 joined
16:33
register left
16:34
lucar joined
16:35
register72 left
16:36
justatheory left
16:37
jrtayloriv left
16:39
Patterner left,
eMaX left,
Psyche^ is now known as Patterner
16:40
jrtayloriv joined
|
|||
moritz_ | rakudo: my ($a, $b, $c); $b := $c; $a := $b; $c = 4; say $a | 16:40 | |
p6eval | rakudo e7a799: OUTPUT«4» | ||
moritz_ | rakudo: my ($a, $b, $c); $b := $c; $a := $b; $c = 4; say $b | ||
p6eval | rakudo e7a799: OUTPUT«4» | ||
moritz_ | is that how it's specced? | 16:41 | |
pmichaud | what would you expect instead? | 16:42 | |
moritz_ | dunno, just asking | ||
pmichaud | I think it's correct, yes. | ||
$b gets bound to $c, so both are the same. $a is then bound to $b (which is also $c), so all three are the same. | |||
Changing $c then changes $a and $b | 16:43 | ||
phrased another way -- at the point of the assignment, $a, $b, and $c all refer to the same container | |||
16:48
payload joined
16:52
payload left,
payload joined
16:55
tann joined
17:00
KyleHa1 left
17:02
justatheory joined
17:03
lucar left,
rfordinal joined
|
|||
skids | Parcel++ (I like that name) | 17:09 | |
17:10
japhb_ joined
17:12
pmurias left
|
|||
pugs_svn | r27499 | moritz++ | [irclog] forbid access to .conf files | 17:19 | |
17:19
japhb_ left
17:21
japhb left,
tann left,
rfordinal left
17:31
hercynium joined
17:39
japhb joined
17:47
ZuLuuuuuu joined
17:54
jrtayloriv left,
jrtayloriv joined
17:55
pmurias joined
17:58
KyleHa joined
|
|||
ruoso | TimToady, right... so a Parcel is like a Capture that remembers the position of the named args | 17:58 | |
the refactoring is not that bad, I just need to store the entire list, and keep two indexes, one for "only the positionals", and other for the named args... the capture creation in SMOP can be maintained as it is, we would just add a variant for creating a capture in the parcel level... | 18:00 | ||
thank god capture is immutable | |||
but at which level is it determined if an item of a Parcel might be a named arg? | 18:01 | ||
is it at ~~ Pair level? | 18:02 | ||
or is it something more related to the parsing? | |||
moritz_ | no | ||
"a" => 'b' # a pair, but not a named arg | |||
ruoso | so it's parse-related | 18:04 | |
I think for SMOP we won't need two different objects for Parcel and Capture then | 18:05 | ||
it's just two different views of the same data | |||
TimToady | but they'll fight over the @ api if we don't distinguish the types, I suspect | 18:06 | |
I have to go through my table of 200 examples and see how things actually interconvert... | 18:07 | ||
like, what is the type of self when you say (@a,@b).method | 18:08 | ||
18:09
tann joined
|
|||
TimToady | groceries & | 18:09 | |
ruoso | TimToady, unless we define that named are always also positionasl | ||
and go back 2 years.... | |||
ruoso didn't really mean to say that... | 18:13 | ||
skids | So does the "when => 'now',1,2,3; #always a named arg" mean literally always, even if there's no candidate with that named arg, but there is a candidate with a Pair positional? | 18:24 | |
moritz_ | yes, unless there's a positional named $when | ||
18:25
davef joined
|
|||
skids would still consider that a named argument (just not a named param) | 18:25 | ||
OK, so MMD does not have to happen to determine what's a named arg. Makes sense. | 18:26 | ||
skids re-notices :$when notation. | 18:28 | ||
I'll have to run through my param names "suggestion" list with that in mind. | 18:29 | ||
18:30
sri_kraih left
|
|||
ruoso | but since it's defined at parse-time everything is easier | 18:31 | |
skids | Definitely. | 18:32 | |
ruoso | TimToady, btw... I'd argue that @ always gets only the positionals | 18:33 | |
davef | Hi - I'm using java2perl6 to translate some JDBC APIs to Perl 6. It generates roles with methods of the form 'multi method createStatement() returns java::sql::Statement { ... }'. Can anyone tell me what the 'returns' bit is supposed to do? | ||
skids | Though, I had to ask because it's not like that would stop the Perl community... suffering on the part of developers to help the users etc. :-) | ||
ruoso | davef, the "returns" goes to inside the signature with a --> java::sql::Statement | 18:34 | |
skids | Erm, returns and return type are not the same thing. | ||
IIRC returns is the one that is visible inside the function, as context to the right of a return statement. | 18:35 | ||
moritz_ | davef: it's supposed to declare a return value | ||
skids | Or do I have that bass ackwards? | ||
moritz_ | std: multi method createStatement() returns java::sql::Statement { ... } | ||
p6eval | std 27499: OUTPUT«##### PARSE FAILED #####Malformed block at /tmp/E2OuQqi4MQ line 1:------> createStatement() returns java::sql::Statement { ... } expecting any of: indirect name morenameFAILED 00:02 37m» | 18:36 | |
ruoso | skids, in Java it's for both sides | ||
moritz_ | std: multi method createStatement() returns Int { ... } | ||
p6eval | std 27499: OUTPUT«ok 00:02 37m» | ||
ruoso | std: role java::sql::Statement {}; multi method create-statement( --> java::sql::Statement) {..} | 18:37 | |
p6eval | std 27499: OUTPUT«##### PARSE FAILED #####Unable to parse blockoid; couldn't find final '}' at /tmp/x0evUZwIv8 line 1:------> e-statement( --> java::sql::Statement) {..} expecting any of: prefix or noun statement end statement list whitespaceFAILED 00:02 37m» | ||
ruoso | hmm... | ||
skids | ... | ||
davef | I looked at S12 but maybe I'm looking in the wrong place, where's it documented? | 18:39 | |
ruoso | moritz_, I think std is accepting that returns as an arbitrary trait.... | ||
std: multi method create-statement() shoots Int {..} | 18:40 | ||
18:40
zamolxes joined
|
|||
skids | ruoso: ... not ,, | 18:40 | |
p6eval | std 27499: OUTPUT«##### PARSE FAILED #####Malformed block at /tmp/wC16zxmbWw line 1:------> multi method create-statement() shoots Int {..} expecting any of: blockoid method_def terminator traitFAILED 00:02 37m» | ||
skids | *.. even | ||
davef: S06 prolly | |||
davef | I'm using rakudo - does that make a difference? | ||
thanks skids | |||
ruoso | std: role java::sql::Statement {}; multi method create-statement( --> java::sql::Statement) {...} | ||
p6eval | std 27499: OUTPUT«ok 00:02 37m» | ||
ruoso | skids, ah... thanks | ||
moritz_ | rakudo: sub a() return Int { 3 }; say a() | ||
p6eval | rakudo e7a799: OUTPUT«Malformed routine definition at line 2, near "a() return"in Main (src/gen_setting.pm:3340)» | 18:41 | |
ruoso | davef, ^^ | ||
moritz_ | rakudo: sub a() returns Int { 3 }; say a() | ||
p6eval | rakudo e7a799: OUTPUT«Method 'succ' not found for invocant of class 'Method'» | ||
moritz_ | rakudo: sub a(--> Int) { 3 }; say a() | ||
p6eval | rakudo e7a799: OUTPUT«3» | ||
moritz_ | davef: this version works | ||
or also | |||
rakudo: Int sub a() { 3 }; say a | |||
p6eval | rakudo e7a799: OUTPUT«Statement not terminated properly at line 2, near "sub a() { "in Main (src/gen_setting.pm:3340)» | ||
moritz_ | rakudo: sub Int a() { 3 }; say a | ||
p6eval | rakudo e7a799: OUTPUT«Malformed routine definition at line 2, near "Int a() { "in Main (src/gen_setting.pm:3340)» | ||
moritz_ | ok, doesn't work :/ | 18:42 | |
ruoso | moritz_, I'm not sure this alternative declarations are valid | ||
moritz_, S06 only lists ( --> Int) | |||
moritz_ | std: our Int sub foo() { } | ||
p6eval | std 27499: OUTPUT«ok 00:02 37m» | ||
moritz_ | std: Int sub foo() { } | ||
p6eval | std 27499: OUTPUT«##### PARSE FAILED #####Syntax error (two terms in a row?) at /tmp/tmuijGksEp line 1:------> Int sub foo() { } expecting any of: infix or meta-infix infix stopper standard stopper statement modifier loop terminatorFAILED 00:02 36m» | ||
moritz_ | ah, it only works with scope modifier | ||
rakudo: our Int sub a() { 5 }; say a | |||
p6eval | rakudo e7a799: OUTPUT«5» | 18:43 | |
moritz_ | rakudo: our Int sub a() { '4' }; say a | ||
p6eval | rakudo e7a799: OUTPUT«Return value type check failed; expected Int, but got Strin sub a (/tmp/pvVho5m5Zv:2)called from Main (/tmp/pvVho5m5Zv:2)» | ||
davef | The java2perl6 code is 2 years old, I guess the syntax may have changed since then, I'm trying to work out what it should emit. | ||
ruoso | moritz_, maybe it's a fossil... but S06 doesn't list "Int sub" for a long time already | ||
moritz_ | davef: with --> ReturnType in the syntax it should be fine | 18:44 | |
ruoso: maybe S12? | |||
davef | so would that be 'multi method createStatement() --> java::sql::Statement { ... }' ? | 18:45 | |
ruoso | davef, no.. | 18:46 | |
davef, multi method createStatement( --> java::sql::Statement) {...} | |||
davef | dumb question - what does the '...' mean in this context? | 18:47 | |
moritz_ | it marks the method as a stub | ||
ruoso | davef, yada-yada-yada | ||
moritz_ | ie if you call it, it'll throw an exception | 18:48 | |
davef | ok - does the -> follow any parameter declarations? | ||
moritz_ | yes | 18:50 | |
and it's -->, not -> | |||
18:50
kate21de1 left
18:51
kate21de joined
|
|||
moritz_ wrote some Perl 5 binding tests to make sure it's mostly compatible with Perl 6 | 18:51 | ||
18:51
masak joined
|
|||
davef | thanks - I'll go and play now :) | 18:52 | |
masak | good evening, lambdacamels. | ||
moritz_ | good evening bugbutterfly :-) | 18:54 | |
masak flaps contentedly | |||
but remember, boys and girls: anyone can report bugs. it's finding them that's the trick. for that, you have to try write Perl 6 code that no-one's written before. | 18:55 | ||
(and anyone can to that too, though it's getting harder by the day.) | 18:56 | ||
ruoso »ö« | |||
19:00
explorer joined
19:04
pmurias_ joined
|
|||
moritz_ | I've been thinking about file tests | 19:05 | |
19:05
pmurias left
|
|||
moritz_ | and somehow I don't like the current situation | 19:05 | |
masak | please elaborate. | ||
moritz_ | it's hard to find words for it, but it feels ... like legacy | ||
-e $foo becomes $foo ~~ :e | 19:06 | ||
masak | I know what you mean. | ||
moritz_ | and $foo ~~ :s returning an integer... | ||
masak | but there are sometimes local maxima that are hard to get out of. | ||
moritz_ | smartmach usually returns a Bool | ||
masak | Test.pm is another example. | ||
moritz_ | my idea would be a .f method on Str that means "interpret this string is a file" | ||
so you could write "/etc/passwd".f.exists | |||
or $str.f.size | 19:07 | ||
19:07
pmurias_ is now known as pmurias
|
|||
masak | .File.exists would be nicer | 19:07 | |
ruoso | moritz_, I agree that ~~ with a pair is weird | ||
worse... it's not even a pair | |||
moritz_ | masak: but maybe a bit long | ||
ruoso: :e is a pair | |||
rakudo: say :e ~~ Pair | 19:08 | ||
p6eval | rakudo e7a799: OUTPUT«1» | ||
moritz_ | it's short for :e(True) | ||
pmurias | ruoso: if i put the call-graph data in a database will have convenient methods of viewing it (not counting writing a custom tool) | ||
ruoso | pmurias, SQL | ||
moritz_, I could suggest "if $file.stat: :e {...}" | 19:10 | ||
moritz_, I could suggest "my $size = $file.stat: :s | 19:11 | ||
moritz_ | ruoso: please not. 'stat' is just the name of a syscall, not a word | ||
ruoso | pmurias, if you manage to design a dimensional model for the data you can use an OLAP tool like jpivot | ||
moritz_, any word that would describe what "stat" dose? | 19:12 | ||
moritz_ | ruoso: 'file' or 'path' | ||
'interpret that thing as a file' | 19:13 | ||
or path | |||
ruoso | $file.status: | ||
$file.status: :e | |||
$file.status: :s | |||
masak | I like that. | ||
huf | stat is not a word? | ||
wait. is grep a word? | |||
masak | stat is a Unixy term. it has more traction than status. | ||
19:13
KyleHa1 joined
|
|||
ruoso | masak, does it? | 19:13 | |
huf | dunno about you, but stat is a pretty well-defined word in my mind | 19:14 | |
masak | ruoso: I think so, yes. | ||
moritz_ | huf: do your non-Unixy pals understand it | ||
huf | moritz_: obviously not, but my non-unixy friends dont program either ;) | ||
19:14
pmurias left
19:15
pmurias joined
|
|||
masak | I agree with huf. this is not a case where length == clarity. | 19:15 | |
moritz_ | that's why I proposed .f | ||
huf | moritz_: but if they can learn the meaning of grep, stat shouldnt be a problem (i my baseless opinion) | ||
moritz_ | huf: we also want to encourage beginners | ||
and there's a non-Unix world too | 19:16 | ||
pmichaud | part of the difference is that "grep" doesn't really have an English homologue. "Stat" does. | ||
huf | hmm... | ||
masak | moritz_: I still haven't seen a solution to the 'treat Strings as Files' problem which I really like. | ||
pmichaud: well, 'stat' has more precise connotations than 'status'. | 19:17 | ||
pmichaud | in the unix world, yes. outside of that, it has different meanings in the statistics and medical fields | ||
RonOreck | I think some people might recognize stat as meaning 'right now', as in 'I need that whatchmacalit, stat!' | ||
moritz_ | anyway, the aspect that the most critique here is about the names and not the idea itself encourages me to send a mail to p6l later | ||
masak | pmichaud: you have a point. | 19:18 | |
pmichaud | moritz_: for your, I'd prefer to see us come up with a method or operator that unambiguosly means "this string is a filename" | ||
*for your mail | |||
19:19
Sunbeam left
|
|||
masak | moritz_: by all means, send an email. | 19:20 | |
skids | alternative, not a good one, but a way to pass a string to open()? | ||
masak | though this is one of those potential bikeshedding topics. :) | ||
pmichaud | definite bikeshed. My paintbrushes are ready. | ||
"Gold! It has to be gold!" | 19:21 | ||
19:21
jauaor left
|
|||
skids | fusia. | 19:22 | |
19:22
KyleHa left
|
|||
skids | There are simply not enough fusia colored buildings. | 19:22 | |
moritz_ | skids: I thought about that, but it's a different operation | ||
stat accesses file meta data, open() makes file data accessible | 19:23 | ||
skids | moritz_: ah good point. | ||
ruoso | I kinda think that, as open, stat would need to be a sub instead of a method | 19:24 | |
19:24
meppl left
19:26
Sunbeam joined
|
|||
masak | regex matches are great in Perl because they have a succinct syntax -- the =~ operator in Perl 5, ~~ in Perl 6, all the shortcurts with $_, and so on. | 19:26 | |
ideally one'd want something similar for file operations. | |||
in Perl 5, that's -e et al. | |||
in Perl 6, it's already gotten slightly longer due to our higher standards of sanity. | 19:27 | ||
19:28
last left,
icwiener left,
Jedai left
19:30
nihiliad left,
nihiliad joined
|
|||
ruoso votes for: multi stat(Str $name, *%switches) {...} | 19:32 | ||
19:32
Sunbeam left
|
|||
skids | Erm, so wiat, how's this differ from S03 $filename ~~ :e again? | 19:33 | |
19:33
Sunbeam joined
|
|||
ruoso | skids, it doesn't add this very peculiar semantic to smart match | 19:33 | |
skids | But isn't the semantic on the Str class, not smartmatch? | 19:34 | |
Just $f ~~ :adv matches against $f.adv() generically? | |||
19:35
hercynium left
|
|||
ruoso | skids, that's even weirder | 19:35 | |
19:35
Sunbeam left
|
|||
ruoso | skids, but no... I think it's defined in the smart-match table as compile-time semantics | 19:35 | |
masak | I'm not sure I agree that the semantics of the smartmatch is that peculiar. | 19:36 | |
ruoso | if stat $file, :e { say 'something' } | ||
masak | regex matches return Match, for example. | ||
ruoso | my $size = stat $file, :s | ||
skids | That's what S03 seems to say: (The 1st form $filename ~~ :e) actually translates to the latter form ($filename.e) so the object's class decides how to dispatch methods" | ||
19:37
Sunbeam joined
|
|||
pmichaud | S03 says that matching against a pair actually does an attribute test | 19:37 | |
it's not syntactic, nor compile-time. | 19:38 | ||
ruoso re-re-re-reads S03 | |||
masak | what's an attribute test, precious? | ||
pmichaud | $x ~~ :foo -> $x.foo | ||
masak | so, a method? | ||
pmichaud | or, more precisely: $x."foo" | ||
19:38
Sunbeam left
|
|||
moritz_ | actually... | 19:38 | |
19:39
Sunbeam joined
|
|||
ruoso | pmichaud, does that mean that Str must implement a method "e"? | 19:39 | |
[particle] | sunbeam: you're bouncing in and out | ||
moritz_ | $x ~~ $y => $x."$y.key()" ~~ $y.value() | ||
Sunbeam | Sorry | ||
moritz_ | if $y ~~ Pair | ||
Sunbeam | Fixing xchat theme. | ||
:P | |||
[particle] | aha | ||
pmichaud | ruoso: I believe it does mean that, yes. (checking) | ||
Sunbeam | i b amsgin i was fixing xchat theme, so don't freak out ok ty. <3 | 19:40 | |
ruoso | pmichaud, now *that's* weird | ||
pmichaud | S03: | ||
The filetest operators are gone. We now use a C<Pair> as a | |||
pattern that calls an object's method: | |||
if $filename ~~ :e { say "exists" } | |||
is the same as | |||
if $filename.e { say "exists" } | |||
19:41
sri_kraih joined
|
|||
tann | rakudo: try { 1/0; CATCH { say "oopsie!" } } | 19:41 | |
p6eval | rakudo e7a799: OUTPUT«oopsie!» | ||
ruoso | that transfer the "stat" feature to every single object that might be subject to that test | ||
ruoso definetively votes for a multi stat($filename, *%switches) | 19:42 | ||
[particle] | rakudo: 'readable'.say if '.'.r | ||
p6eval | rakudo e7a799: OUTPUT«Method 'r' not found for invocant of class 'Str'» | ||
[particle] | std: 'readable'.say if '.'.r | ||
p6eval | std 27499: OUTPUT«ok 00:02 36m» | ||
moritz_ | anyway, the current spec is inconsistent | 19:43 | |
because $x ~~ :a translates to $x."a" ~~ Bool::True | |||
and smartmatching against True always gives True | |||
(:a is the same as :a(Bool::True)) | |||
pmichaud | moritz_: that's a good point. | ||
masak | yes, there's something rotten in the stat of filetests. | 19:44 | |
moritz_ | hah, it helps to write dozens of smartmatch tests :/ | ||
pmichaud | under the current spec, though, one could do $filename ~~ :m(3..*) # file is older than 3 days | ||
er, :M | |||
KyleHa1 | moritz_++ # writing dozens of smartmatch tests | 19:45 | |
tann | why is CATCH all uppercase while 'try' lower? | ||
pmichaud | It used to be that :a was the same as :a(1), which is probably how the ~~ test snuck in. | ||
ruoso | tann, because try is not required... ;) | ||
masak | tann: the uppercase in some blocks indicates that they are special in some way. | ||
ruoso | rakudo: 1/0; CATCH {say 'oopsie!'} | ||
p6eval | rakudo e7a799: OUTPUT«oopsie!Divide by zero» | ||
tann | gotcha | ||
moritz_ | [particle]: btw the reason that your .r thing didn't work is that rakudo implements the method :r, not r | 19:46 | |
[particle] | ah, right! | ||
std: 'readable'.say if '.'.:r | |||
p6eval | std 27499: OUTPUT«ok 00:02 36m» | ||
[particle] | rakudo: 'readable'.say if '.'.:r | ||
p6eval | rakudo e7a799: OUTPUT«Multiple Dispatch: No suitable candidate found for 'concatenate_str', with signature 'PSP->P'in Main (src/gen_setting.pm:1343)» | ||
moritz_ | the spec changes since then | ||
[particle] | it's not so readable, imo | ||
moritz_ | you can't call a method with : in the name like that | ||
pmichaud | why does rakudo implement ":r", I wonder? | ||
masak | I believe that one is already submitted. | ||
moritz_ | rakudo: say '.'.':r' | ||
pmichaud | rakudo: say '.'.":r"() | ||
[particle] | moritz_: it parses in std | 19:47 | |
tann | rakudo: TRY { 1/0; CATCH { say 'mama!' }} | ||
p6eval | rakudo e7a799: OUTPUT«Method ':r' not found for invocant of class 'Str'» | ||
rakudo e7a799: OUTPUT«Could not find non-existent sub TRY» | |||
pmichaud | rakudo: say '.'.":e"() | ||
p6eval | rakudo e7a799: OUTPUT«1» | ||
masak | tann: there's no TRY. please read S04. | ||
ruoso | most importantly, it transfer to the object, a responsabiliy of something that should be a multi | ||
moritz_ | [particle]: but parses as what? | ||
[particle] | i don't know, but i can't imagine that it should | ||
tann | masak: was trying to trick rakudo | ||
masak | tann: ok? :) | 19:48 | |
19:48
ispy_ left
|
|||
masak | tann: as you see, it did work. Rakudo just said that theere's no TRY, which is true. | 19:48 | |
s/did/didn't/ | |||
tann | smart cookie rakudo is! | 19:49 | |
masak | yup. | ||
19:51
jrtayloriv left
19:52
ispy_ joined
19:54
payload left
|
|||
tann | since p6 advocates democracy, i'm think the 'perl' in 'perl 6' stands for 'populist enlightened reflective learner' :) | 19:55 | |
s/think/thinking/ | |||
masak is wearing the Polymorphic Existential Recursive Lambdas t-shirt today | |||
pmurias | tann: p6 advocates democracy? | 19:56 | |
[particle] | yes. it's not welcome in north korea. | ||
moritz_ | it's more about consensus and awesomeness than majorities | ||
tann | pmurias: multi keyword says it all :) | ||
and also, there's a timtoady around here | 19:57 | ||
19:57
masak left
19:58
mofino joined
|
|||
ruoso reading the sun presentation on JDK 7 parallelization... interesting that they still don't consider implicit threading and implicit async-IO, and still point to explicit... | 20:01 | ||
heaheaheahe | |||
"One of the features being debated for the JDK 7 release is closures" | |||
they're almots getting at the p5 syntax... | 20:03 | ||
double highestGpa = students.withFilter( { Student s => (s.graduationYear == THIS_YEAR) } ).withMapping( { Student s => s.gpa } ).max(); | |||
lichtkind | ruoso: hej | ||
ruoso | lichtkind, hi | 20:04 | |
the funniest part is that they call it .withFilter and .withMapping to implement grep and map ... | 20:05 | ||
huf | because long names are *so* much easier to read :) | 20:07 | |
ruoso | seriously... there's something very wrong about the designers of java | 20:11 | |
it's like if they lived in a parallel universe where LISP was never written | 20:12 | ||
20:13
eMaX joined
20:23
explorer left
|
|||
davef | rakudo: role java::sql::Statement {multi method executeQuery(Str $v1 --> Int) { 5 }} | 20:30 | |
p6eval | rakudo e7a799: ( no output ) | ||
davef | std: role java::sql::Statement {multi method executeQuery(Str $v1 --> Int) { 5 }} | 20:31 | |
p6eval | std 27499: OUTPUT«ok 00:02 39m» | ||
literal | @tell azawawi pong | 20:32 | |
lambdabot | Consider it noted. | ||
20:33
skipper_ left
|
|||
davef | Does rakudo implement return types yet? I'm getting syntax errors (or have I got something wrong?) | 20:34 | |
moritz_ | davef: yes, it does | ||
rakudo: sub a(--> Int) { 3 }; say a(); | |||
p6eval | rakudo e7a799: OUTPUT«3» | ||
moritz_ | rakudo: sub a(--> Int) { "3" }; say a(); | ||
p6eval | rakudo e7a799: OUTPUT«Return value type check failed; expected Int, but got Strin sub a (/tmp/imhKTTwTpH:2)called from Main (/tmp/imhKTTwTpH:2)» | ||
moritz_ | see, it checks the return type. | ||
davef | does that work for multi methods as well? | 20:35 | |
moritz_ | I think so, yes | ||
of course the return type doesn't participate in the dispatch | |||
pmichaud | well, it *can*, but not in the way you normally think :-) | 20:36 | |
davef | Doh!! - perl6 NOT perl on command line ;( | 20:38 | |
pmichaud | heh | 20:41 | |
I've done that a few times. | |||
20:42
molaf joined
20:43
pmurias left
|
|||
literal | @tell azawawi I'm working on a couple of things, but they're not ready just yet | 20:46 | |
lambdabot | Consider it noted. | ||
20:46
kidd_` left
20:51
last joined
|
|||
cbk_ | does anyone have a good site on the web regarding all there is to know about perl 6 hashes (%) that's fairly current? | 20:53 | |
20:53
skids_ joined
|
|||
moritz_ | cbk_: the synopsis, probably S02, S09 and S32/Containers | 20:54 | |
cbk_ | ok thanks | ||
21:01
mkfort left
21:02
mkfort joined,
mkfort left,
mkfort_ joined,
mkfort_ left
21:25
Limbic_Region joined
21:39
SmokeMachine left,
skids left
21:41
ruoso left
21:42
Whiteknight joined
21:43
molaf left
21:46
lichtkind left
|
|||
pugs_svn | r27500 | moritz++ | [perl6-projects.org] make fonts in headings a bit larger | 21:46 | |
21:48
SmokeMachine joined,
Psyche^ joined
21:50
DC left
21:54
IllvilJa left
21:59
Patterner left,
Psyche^ is now known as Patterner
22:04
athomason joined
22:09
ispy_ left
22:13
meppl joined
22:15
jamtech joined
22:19
iblechbot left
22:22
amoc joined
22:44
Lorn left
|
|||
s1n | pmichaud: going to the dfwuug? | 22:50 | |
22:50
ZuLuuuuuu left
22:52
molaf joined
22:53
frew joined
22:54
nihiliad left
|
|||
pmichaud | s1n: still not sure if I'll go. | 22:55 | |
the topic doesn't seem particularly relevant to me | 22:56 | ||
22:56
ihrd joined,
mikehh_ joined
|
|||
pmichaud | and I have to go fetch food for the family | 22:56 | |
(doing that now--bbi20) | |||
22:57
M_o_C left
22:58
jrtayloriv joined
23:02
cdarroch left
23:06
ihrd left
23:09
zamolxes left
23:10
mikehh left
23:21
ihrd joined
23:22
ihrd left
23:23
davef left
23:24
meppl left
23:30
FurnaceBoy joined
23:35
DC joined,
FurnaceBoy left,
DC is now known as HemanShaw
23:37
mofino left
|
|||
pmichaud | back. not able to make it to dfwuug | 23:37 | |
dalek | kudo: 544038f | pmichaud++ | src/pmc/objectref_pmc.template: Remove obsolete (and unmarked) reference to cached_type. bacek++ |
23:41 | |
23:44
frew left
23:49
KyleHa1 left
23:55
FurnaceBoy joined
|