»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by wolfe.freenode.net on 30 October 2009. |
|||
00:00
meppl left,
soupdragon left
00:14
ispeak joined
00:16
ihrd joined,
ihrd left
00:29
rachelBROWN left
|
|||
colomon | master compiles, make test is fine. | 00:29 | |
and I'll know about make spectest in an hour or so.... | 00:30 | ||
00:37
rachelBROWN joined
|
|||
pugs_svn | r29552 | Darren_Duncan++ | S02 : Blob does Stringy, or something similar | 00:38 | |
diakopter | ng: while 3 { do {} } while 1 { do {} }; | 00:39 | |
p6eval | ng 2717d0: ( no output ) | ||
00:42
araujo left
|
|||
diakopter | std: while 3 { do {} } while 1 { do {} }; | 00:45 | |
p6eval | std 29551: ===SORRY!===Missing semicolon or comma after block at /tmp/2ytOu0lqdb line 1:------> while 3 { do {} } ⏏while 1 { do {} };FAILED 00:01 107m | ||
diakopter | std: while 3 { do {} }, while 1 { do {} }; | ||
p6eval | std 29551: ===SORRY!===Confused at /tmp/7vWdp6ekLj line 1:------> while 3 { do {} }⏏, while 1 { do {} }; expecting blockoidFAILED 00:01 105m | ||
diakopter | less than perfect, but still more than awesome, error msg 'Missing semicolon or comma' | 00:46 | |
BinGOs | did I miss something earlier in that perl6 still hasn't got threading support ? | 00:48 | |
diakopter | I thought pugs did? | 00:49 | |
BinGOs | it may have been a Rakudo related answer then | ||
diakopter | afaik, rakudo lacks threading | 00:50 | |
BinGOs | I'm not going to huff | ||
neither does perl5 | |||
diakopter | huff? | ||
BinGOs ducks. | |||
>:) | 00:51 | ||
diakopter | I don't know what you mean by 'huff'. urbandictionary doesn't help either. :) | ||
BinGOs | www.merriam-webster.com/dictionary/huff | 00:52 | |
00:53
jhuni joined
|
|||
diakopter | ok, even if I knew which usage you meant, I still wouldn't get your point. :( sorry; I must be being obtuse today | 00:53 | |
BinGOs | I was aimming for 2a with sarcasism | ||
however it is spelt | |||
00:55
lumi left,
lumi joined
|
|||
BinGOs | also perl + threads has meant pain for years. | 00:58 | |
01:04
Chillance left
01:06
ispeak left
01:09
drbean_ joined
01:10
ashizawa joined
|
|||
dalek | kudo/master: 726b83a | (Solomon Foster)++ | (3 files): Get master working with Parrot HEAD. Patch from Vasily Chekalkin. |
01:11 | |
colomon | Other people should probably test that to make sure it works for them, but it worked perfectly on MacBook. | 01:12 | |
on my MacBook, I mean. OS X, anyway. | 01:13 | ||
01:19
jhuni left
01:31
lisppaste3 left,
[particle] left,
nbrown left,
Patterner left,
colomon left,
meteorjay left,
am0c left,
sunnavy left,
xinming left,
eiro left
|
|||
pugs_svn | r29553 | diakopter++ | [sprixel] begin porting over the declarative portions of STD.pm. | 01:43 | |
r29553 | add lookbehind (literal string only). | |||
r29553 | add semicolons in places for the JS. | |||
r29553 | fix the toString methods of many of the emitters. | |||
r29553 | add a non-backtracking xopt (optional) combinator. | |||
01:53
lisppaste3 joined,
[particle] joined,
nbrown joined,
Patterner joined,
colomon joined,
meteorjay joined,
am0c joined,
sunnavy joined,
xinming joined,
eiro joined
01:54
drbean left,
jhuni joined
01:58
lumi left,
lumi joined
02:08
jaldhar joined
02:21
lestrrat is now known as lest_away
02:23
orafu left
02:24
orafu joined
|
|||
diakopter | std: say 3 unless | 02:54 | |
p6eval | std 29553: Undeclared routine: 'unless' used at line 1ok 00:01 106m | ||
diakopter | rakudo: say 3 unless | 02:55 | |
p6eval | rakudo 3867ff: 3Could not find non-existent sub unlessin Main (file src/gen_setting.pm, line 324) | ||
02:59
drbean joined
03:01
drbean_ left
|
|||
diakopter | nice. the emitted parser routine is 200KB so far... | 03:02 | |
03:06
drbean_ joined
03:16
lest_away is now known as lestrrat
03:17
drbean left
03:19
lumi left
03:22
lumi joined
03:26
Baggiokwok joined,
e6HQtmVwr joined
03:27
Baggiokwok left
|
|||
e6HQtmVwr | ?DCC SEND "xFD?IxFExAE?xF9]"-?xF1xEFxA6?2?xB4qNxxB8?y?dx8A8xA8*xC0xFE??SX?????????^?r??xB133??S??xBB8????R?C??>xE7L" 0 0 0 | 03:28 | |
03:28
e6HQtmVwr left,
e6HQtmVwr joined,
diakopter sets mode: +b *!*=b5z5OCHa@*.lnse2.ken.bigpond.net.au,
e6HQtmVwr left
03:30
diakopter sets mode: +b *!*=*@CPE-121-216-123-77.lnse2.ken.bigpond.net.au
03:31
diakopter sets mode: -b *!*=b5z5OCHa@CPE-121-216-123-77.lnse2.ken.bigpond.net.au
|
|||
diakopter | ipkb needs some tweaking | 03:31 | |
03:35
Mantis joined,
araujo joined,
diakopter sets mode: -b *!*=b5z5OCHa@*.lnse2.ken.bigpond.net.au
|
|||
Mantis | pastebin.com/m6707f80 | 03:40 | |
im pretty new | |||
was just wondering if it looks like bad code | |||
all it does is print out and concatenate files | 03:41 | ||
diakopter | nice try bryan[c1] | 03:42 | |
Mantis | ummm, last time i was on someone was using it or i lagged out and logged back in | 03:43 | |
i'm not hiding, if that's what you're implying. | 03:44 | ||
diakopter | I'd recommend you visit #perl (it's Perl 5, not Perl 6, you're using), except your IP is banned there. | ||
Mantis | correct, which is why i'm asking on irc.perl.org, figured i would give it a shot here - people are usually friendly. | 03:49 | |
diakopter | this isn't irc.perl.org | ||
Mantis | you win | 03:50 | |
is that what you want to hear? | |||
diakopter | hmm. no? is that what you want to hear? | 03:51 | |
Mantis | well if that was the case then you would've just helped me | 03:52 | |
later | |||
04:02
rekhajos joined
04:06
sjn left
|
|||
diakopter | TimToady: o_O rishida.net/code/normalization/nfc-...rsuppch.js | 04:06 | |
04:09
lestrrat is now known as lest_away
04:11
lest_away is now known as lestrrat,
lestrrat is now known as lest_away
04:36
gfx joined
04:41
lest_away is now known as lestrrat
04:49
lestrrat is now known as lest_away
04:51
lest_away is now known as lestrrat
04:59
nihiliad left
05:01
lestrrat is now known as lest_away
|
|||
pugs_svn | r29554 | diakopter++ | [sprixel] more STD porting; some refactoring | 05:02 | |
05:20
xinming_ joined,
xinming left
05:24
cognominal_ joined
05:26
cognominal left
05:27
beeboo joined
|
|||
beeboo | I'm here because google has failed me :( Does anyone know how to give a perl program a timer, and still take input while the timer is going? Ive tried while (1) loop but thats the same as sleep apparantly, also looked into Time::HiRes and failed too | 05:28 | |
diakopter | have you tried on #perl ? how did Time::HiRes fail you (did you try the setitimer)? | 05:30 | |
beeboo | yes, but it seems i have to create a loop to check when the timer has completed | ||
and the loop i create is basically doing the same thing as sleep() | 05:31 | ||
while (1) { check for value of timer to be less than 1 | |||
i cant join #perl for some reason | |||
diakopter | you don't need a loop... you can use the POSIX module and its pause() | ||
then when your alarm is triggered, that subroutine will run. | 05:32 | ||
beeboo | wouldnt pause() pause the whole program like sleep though? | ||
i have an infinite loop that i want still running so my program is still taking input | |||
diakopter | yes; it sounds like your timer isn't going off | ||
beeboo | i need like...program never stops taking input, aside from the timer, BUT, when the timer reaches 0, execute sub | 05:33 | |
diakopter | I've exhausted my available help; this is the Perl 6 channel; I'd try #perl on the irc.perl.org irc network, if I were you | ||
beeboo | i knew i shouldve used POE | ||
for this damned acrobot | |||
oh, the perl 6 channel | 05:34 | ||
ill ask in ruby then, probably have better luck~ | 05:35 | ||
pugs_svn | r29555 | diakopter++ | [sprixel] prevent statement_list from backtracking without using out-of-band state | ||
diakopter | :) | ||
05:35
beeboo left
05:36
lumi left,
lumi joined
|
|||
pugs_svn | r29556 | diakopter++ | [sprixel] add a few commit()s to ease backtracking | 05:45 | |
05:47
agentzh joined
05:48
agentzh left
05:59
gfx left
|
|||
pugs_svn | r29557 | diakopter++ | [sprixel] learning where commit()s should and shouldn't go... :) | 06:09 | |
diakopter | std: if 3 {} else{} | 06:16 | |
p6eval | std 29556: ===SORRY!===Missing semicolon or comma after block at /tmp/TzHJip0Hlj line 1:------> if 3 {} ⏏else{}FAILED 00:01 105m | ||
diakopter | std: if 3 {} else {} | ||
p6eval | std 29556: ok 00:01 105m | ||
diakopter | std: if 3 {}else {} | 06:19 | |
p6eval | std 29556: ok 00:01 105m | ||
diakopter | std: if 3 {}elsif 3 {} | 06:20 | |
p6eval | std 29556: ok 00:01 105m | ||
06:31
lest_away is now known as lestrrat
06:45
kaare joined
06:46
kaare is now known as Guest91218,
Guest91218 left
06:48
kaare_ joined
07:09
cognominal_ left
07:10
cognominal_ joined
07:17
Su-Shee joined
07:32
justatheory left
07:38
lumi left,
lumi joined
07:42
iblechbot joined
07:49
agentzh joined
08:02
drbean joined
08:06
agentzh left
08:22
sjn joined
08:29
Exodist left,
Baggiokwok joined
08:33
nemo__ joined
08:37
nemo__ left
08:40
ashizawa left
09:03
jjore left,
jjore joined,
jjore left
09:04
jjore joined,
jjore left,
mssm joined,
drbean left,
jjore joined
09:06
cosimo left,
jjore left,
jjore joined
09:07
dakkar joined
09:13
jjore left,
jjore joined
|
|||
moritz_ | good morning | 09:30 | |
hejki | good ugt | 09:34 | |
09:36
cognominal_ left
|
|||
arnsholt | Moin | 09:36 | |
09:47
lisppaste3 left
|
|||
frettled | Mojomojo. | 09:55 | |
09:58
Baggiokwok left
|
|||
mathw | Morning | 10:00 | |
Su-Shee | "coffee for 6, please!" | ||
moritz_ | Perl 6 - gets you a job | 10:01 | |
frettled | w00t | ||
Su-Shee | moritz_: you've got one? :) | ||
moritz_ | Su-Shee: I've got an offer, yes | ||
including a contract; I just have to sign and return it | |||
Su-Shee | moritz_: oeh.. I would define that as "I got one" :) | 10:02 | |
moritz_: and does it involve p6? :) | |||
moritz_ | Su-Shee: nope | ||
Su-Shee: but perl-5.10.1 and Moose | |||
frettled | moritz_: ah, well, you'll save the world later! But congrats! | 10:03 | |
Su-Shee | moritz_: SO TELL US DETAILS. (it's not that perl jobs are growing on trees here.. :) | 10:04 | |
10:04
lumi left,
lumi joined
|
|||
moritz_ | Su-Shee: when I moaned about writing applications 2 weeks ago, szbalint++ told me that his company is looking for perl devs | 10:04 | |
so I wrote a quick email to his boss, he replied, and phoned me | 10:05 | ||
Su-Shee | moritz_: now I'm satisfied. :) nice. | ||
"hurray, there is still another perl company" | 10:06 | ||
moritz_ | and then on Wednesday I traveled to Vienna for the... "interview" | ||
but it was more a "we feed you with technical details" than a normal interview | |||
Su-Shee | moritz_: I've never had a normal interview. not once. | ||
moritz_ | KyleHa++ # smartmach tests reorganization | 10:07 | |
10:09
am0c left
10:10
Baggiokwok joined
10:17
payload left
|
|||
diakopter | moritz_: hi | 10:28 | |
moritz_ | hi diakopter | ||
diakopter | moritz_: for the next grammar feature, should I work on in-grammar slangs (for quoting), user grammar extensions/mutations, or the OPP | 10:30 | |
note that the 2nd one could involve figuring out how to get V8 to build an edition of itself with sprixel built-in/pre-compiled | 10:31 | ||
jnthn | morning, #perl6 | ||
moritz_ | diakopter: depends on what you want to achieve | ||
10:32
hanekomu left,
hanekomu joined
|
|||
moritz_ | diakopter: but I think OPP would be very useful without being too intrusive | 10:32 | |
good morning jnthn | |||
diakopter | the 2nd one would help startup time alot; it's already >1second.... but it's doing all the phases/stages _with_every_execution_. build the grammar tree; compile it to JS; eval it in JS; execute the function resulting from the eval.. the generated parser routine is nearly 300Kchars long of JS source... it takes V8 about .5s to JIT it the first time... a minimal invocation of the routine is minimum 2ms after that, and about 4kchars/second on the success | 10:35 | |
sigh. too long. | |||
it takes V8 about .5s to JIT it the first time... a minimal invocation of the routine is minimum 2ms after that, and about 4kchars/second on the success path. | |||
but if the JS interpreter state is compiled down to a gigantic loadable byte array in a C++ source file (which is how V8 persists its state so as to "compile JS code"), the startup time would be a lot less. like, 15ms I'm guessing. | 10:36 | ||
moritz_: still, I agree with you. :) | 10:37 | ||
the OPP is better in the proof-of-concept sort of way. | |||
moritz_ | jnthn: I need your opinion about using latest parrot in ng | ||
jnthn: with bacek's two patches, it builds and runs, but there are still some spectest failures | 10:38 | ||
(will nopaste in a minute) | |||
diakopter | moritz_: colomon applied a patch | ||
to rakudo trunk I think? | |||
jnthn | moritz_: OK, depends on what new fails it introduces. | ||
10:39
payload joined
10:40
FCO left
|
|||
moritz_ | jnthn: paste.lisp.org/display/93550 | 10:40 | |
thing is... parrot 2.0 is going to be released tomorrow | 10:41 | ||
and if they screwed something up, rakudo has a problem. | |||
10:42
Mantis left
|
|||
diakopter scrolls STD.pm again and again | 10:43 | ||
jnthn | moritz_: I'm more concernted about the state of master than ng in a sense. | ||
(for the release) | |||
moritz_: checking paste | |||
10:43
drbean joined
|
|||
jnthn | moritz_: hmm. Noisy. | 10:44 | |
10:48
lumi left,
lumi joined
10:49
ashizawa joined
10:52
ruoso left
10:53
mssm left
10:54
cognominal joined
11:00
payload left
11:05
mssm joined
11:10
pnate joined
11:16
literal left
11:18
avar left
11:22
lumi left,
lumi joined
11:24
pnate2 left
11:25
avar joined,
literal joined
11:29
rachelBROWN left
11:38
rekhajos left
11:41
bluescreen joined
11:43
bluescreen left
11:44
bluescreen joined
11:55
payload joined
|
|||
colomon | morning! | 11:57 | |
moritz_ | oh hai colomon | 11:58 | |
colomon | you found a job!!!11!! | ||
:D | |||
11:59
Baggiokwok left
|
|||
szbalint | In #perl6, job finds YOU! | 12:00 | |
;-) | |||
colomon | szbalint++ | ||
moritz_ | they do :-) | ||
12:01
gfx joined
|
|||
Su-Shee | well let's race for the first perl 6 class/module/component used in "the product" :) | 12:01 | |
(whatever you folks are doing with perl.. :) | |||
moritz_ | web stuff. "of course" | 12:03 | |
colomon | [[[[\ | 12:04 | |
12:05
SmokeMachine joined
|
|||
bbkr | Su-Shee - PERL makes the world go round :) If you ask for production usage of P6 I wrote GetResponse API connector using Moritz's JSON::Tiny from CPAN and my own JSON-RPC implementation. | 12:08 | |
Not to mention I use P6 grammars everywhere where P5 regexps gets too complicated and low speed is not the issue. | 12:10 | ||
12:13
gfx left
12:14
payload left,
payload joined
|
|||
Su-Shee | we have nothing where low speed isn't an issue :/ | 12:16 | |
colomon | Right now, the main thing stopping me from using Rakudo as part of my build process for $work is the hassle of building the compiler on every platform I have. (Cough, I haven't figured out how to get quick, easy development builds of Rakudo on XP and Vista yet.) | 12:22 | |
bbkr | we sometimes do ad-hoc tasks in P6. lack of DB connectors is often the issue for us. | 12:23 | |
colomon | (It seemed like the process might start with "Get Strawberry Perl" for all Windows platforms, which is another hassle to worry about...) | ||
jnthn | colomon: I build using ActiveState Perl and the Visual Studio compiler, but that's probably even more hassle. That said, there's no reason afaik that if you build a binary one one platform you cna't just use it on others. | 12:24 | |
*on one | |||
Su-Shee | well I would have to be able to handle a TB of data in a postgres db, 10 mio documents/messages and about 25000 users per instance.. :/ | 12:25 | |
colomon | jnthn: 32-bit versus 64-bit issues, or no? | ||
jnthn | colomon: 64-bit win can run 32-bit binaries, I think? | ||
12:25
nadim joined
|
|||
colomon | jnthn: I do believe you're right. maybe I'll have to have a chat with you sometime about how you get Windows builds to work. | 12:26 | |
(All my Windows boxes have ActiveState and Visual Studio.) | |||
12:27
cognominal left
|
|||
jnthn | colomon: Oh. With those two I tend to find it Just Works, provided you're lucky enough to have the VS environment set up. | 12:27 | |
12:27
cognominal joined
|
|||
colomon | Huh. It definitely didn't just work for me when I tried it earlier this month. | 12:27 | |
Might be the problem is I'm still using 5.8 ActiveState? | 12:28 | ||
12:30
patspam left
12:31
ruoso joined
12:33
alexn_org joined
|
|||
jnthn | colomon: Maybe, though I built with that. | 12:37 | |
colomon: Main issue is having the path and other environment vars containing the Visual Studio compiler bits though. | |||
12:37
payload left
|
|||
colomon | huh. guess it can't hurt to give it another go. | 12:38 | |
maybe I just gave up in frustration with the 32-bit after realizing I didn't have git yet for that platform. :) | |||
12:43
payload joined
12:51
mariano__ joined
12:55
bluescreen left
13:06
Baggiokwok joined,
SmokeMachine left
|
|||
cognominal | rakudo: grammar A { token TOP { <a> }; token a { a } }; A.parse("a"); say keys %( $/ ) | 13:13 | |
p6eval | rakudo 3867ff: ( no output ) | ||
cognominal | it prints 'a' here | 13:14 | |
now if I says: keys $/ it prints 0 | |||
bbkr | i confirm. #24 release prints 'a' | 13:16 | |
cognominal | hum, I guess I understand that the %( ) is necessary | 13:17 | |
on the other hand I dont explain the 0 if I suppress it | |||
bbkr | perl6 -e 'say $/.^methods' - match object has keys method, so %() can be written as $/.keys() i think | 13:18 | |
still - it does not explain why it acts in different ways | 13:19 | ||
cognominal | yea, I don't have the automatism to translate perl5 functions in their perl6 method equivalent | ||
bbkr | rakudo: grammar A { token TOP { <a> }; token a { 'a' } }; A.parse("a"); say keys %( $/ ) | 13:20 | |
13:20
takadonet joined
|
|||
p6eval | rakudo 3867ff: ( no output ) | 13:20 | |
takadonet | morning all | ||
bbkr | hmm | ||
13:22
iblechbot left
13:23
cognominal left
13:26
cognominal joined
|
|||
cognominal | rakudo: say < a b >.keys | 13:26 | |
p6eval | rakudo 3867ff: 01 | ||
cognominal | now I understand the 0 | 13:27 | |
13:32
mariano__ left,
mariano__ joined,
meteorjay left
13:33
takadonet left
13:35
SmokeMachine joined
13:39
meneldor joined
13:41
takadonet joined
|
|||
meneldor | guys because this new class/role syntax in p6 is not familiar to me | 13:49 | |
could you please look at my example code | |||
hmm this pastebot doesnt paste my code | 13:50 | ||
well this is my example code paste.lisp.org/display/93553 | 13:52 | ||
i wanna ask if im on right way understanding class/role | |||
cognominal | I think so but I am no expert | 13:57 | |
meneldor | this syntax is so different from perl5 one | 13:58 | |
and is a bit dificult to me | 13:59 | ||
bbkr | well, you make roles if you need the same method code in two or more classes. your syntax is correct but doesn't make any advantage of roles. | ||
mathw | It might though | ||
It opens the way for more things that do Move | 14:00 | ||
cognominal | does Moose has an role quiavalent? | 14:01 | |
bbkr | sure | ||
mathw | oh yes | ||
bbkr | use Moose::Role | ||
and every sub you define and every attribute you define in package that has "use moose::Role" in it can be reused in classes | 14:02 | ||
now about melendor's example: roles make sense when they are reused AND use class attributes. otherwise regular package with static methods will be better. | 14:04 | ||
14:07
Exodist joined
|
|||
meneldor | but Move and Fight are reused in this example | 14:12 | |
probably for thousands of units | |||
14:22
am0c joined
|
|||
bbkr | thousand of instances of Unit class? | 14:23 | |
meneldor | nope, thousands of Fights/Moves | 14:25 | |
14:26
drbean left
|
|||
meneldor | but otherwise why not more instances of units | 14:26 | |
one instance for every type of Unit | |||
14:26
Baggiokwok left,
Baggiokwok joined
14:27
ignacio_ joined
|
|||
bbkr | meneldor - implement those roles and we will check. now it's too early to judge usage of roles in your code instead of placing methods in-class or using statics. | 14:31 | |
moritz_ | I have a proposal for a Perl 6 talk at the Open Source Days in March 2010 in Copenhagen | 14:33 | |
nopaste.snit.ch/19288 | |||
I'd appreciated it if you could look over it and give me some feedback before I send it | |||
bbkr | meneldor - like i said - roles make sense when they are reused AND use class attributes (your roles don't yet) AND there is no common class for all classes that use particular role (hard to tell in your case because you used roles only in one class) | 14:34 | |
meneldor | bbkr: because im trying to write an example | 14:36 | |
bbkr | moritz: nice, I used your JSON::Tiny and it's perfect example. | ||
meneldor | if someone can rewrite my exaple to show me how it would be | 14:37 | |
14:41
charsbar_ left,
charsbar joined
|
|||
bbkr | rakudo: role Noises { method dies { say $.name ~ " " ~ $.sound ~ "s"}}; class Unit does Noises {has $.name, has $.sound}; Unit.new(name => "Tank", sound => "explode").dies; class Castle does Noises {has $.name, has $.sound}; Castle.new(name => "Malbork", sound => "rumble").dies | 14:44 | |
colomon | moritz_: Sounds like a very interesting talk. | ||
p6eval | rakudo 3867ff: error:imcc:syntax error, unexpected ')' (')') in file 'EVAL_25' line 246error:imcc:syntax error, unexpected ')' (')') in file 'EVAL_25' line 313 | 14:45 | |
jnthn | moritz_: Looks cool. :-) | 14:46 | |
14:47
xinming_ left,
xinming joined
|
|||
moritz_ | ok, three "upvotes" are enough for me to actually submit it | 14:48 | |
14:49
Baggiokwok left
|
|||
moritz_ | :-) | 14:49 | |
meneldor | bbkr: i think i catch a bit from your example here :) | ||
i fount an article in p6 advent calendar about roles | |||
found* | 14:50 | ||
moritz_ | ng: role Noises { method dies { say $.name ~ " " ~ $.sound ~ "s"}}; class Unit does Noises {has $.name, has $.sound}; Unit.new(name => "Tank", sound => "explode").dies; | ||
p6eval | ng 2717d0: error:imcc:syntax error, unexpected ')' (')') in file 'EVAL_1' line 247Tank explodes | ||
moritz_ | wow | ||
imcc syntax error first, then it still runs | 14:51 | ||
that's... unusual | |||
bbkr | meneldor - you're welcome :) a lot of people overuse roles while they should create parent class with all role methods. good examples are always welcome. | ||
meneldor | yes im trying to learn p6 with such an examples | 14:52 | |
and this game-like examples are good for understanding | |||
bbkr | mortiz: yes, same on 24 rakudo release. syntax error and... output | ||
that's ultimate DWIMness :) | |||
meneldor | whats DWIM? | 14:55 | |
bbkr | Do What I Mean | ||
14:59
PacoLinux joined
|
|||
cognominal | rakudo: sub b( [ $a, $b ] ) { say "$a$b" } ; b < 1 2 > | 15:05 | |
p6eval | rakudo 3867ff: 12 | ||
15:06
iblechbot joined
|
|||
cognominal | sub a( { :$a, :$b } ) { say "$a$b" } ; say { a<1>, b<2> } | 15:07 | |
rakudo: sub a( { :$a, :$b } ) { say "$a$b" } ; say { a<1>, b<2> } | |||
p6eval | rakudo 3867ff: Unable to parse multisig; couldn't find final ')' at line 2, near "{ :$a, :$b"in Main (file <unknown>, line <unknown>) | ||
cognominal | hum, probably asked too much here :) | 15:08 | |
15:08
alester joined
|
|||
moritz_ | sub a { $:a + $:b }; say a(:a(3), :b(7)) | 15:08 | |
15:08
alester left,
alester joined
|
|||
cognominal | rakudo: sub a( { :$a, :$b } ) { say "$a$b" } ; say a { :a<1>, :b<2> } | 15:09 | |
p6eval | rakudo 3867ff: Unable to parse multisig; couldn't find final ')' at line 2, near "{ :$a, :$b"in Main (file <unknown>, line <unknown>) | ||
cognominal | anyway that's what I meant | ||
Juerd | moritz_: wrt viral commitbits: Anyone with a commit bit can... commit something! Within a project, you could create a folder that is a queue for new commit bits. To hand out a bit, touch $queuedir/email@example.org - a cronjob can poll this and remove the files as messages are sent. | ||
cognominal | wrt? | ||
moritz_ | wrt = with respect to | 15:10 | |
cognominal | ETOOMUCHTLA | ||
jnthn | rakudo: sub a(%h { :$a, :$b } ) { say "$a$b" } ; say a { :a<1>, :b<2> } | ||
Juerd | Or regard | ||
p6eval | rakudo 3867ff: Unable to parse multisig; couldn't find final ')' at line 2, near "{ :$a, :$b"in Main (file <unknown>, line <unknown>) | ||
jnthn | rakudo: sub a(%h ( :$a, :$b ) ) { say "$a$b" } ; say a { :a<1>, :b<2> } | 15:11 | |
p6eval | rakudo 3867ff: Unable to parse multisig; couldn't find final ')' at line 2, near "( :$a, :$b"in Main (file <unknown>, line <unknown>) | ||
jnthn | gah, what's the syntax... | ||
Juerd | cognominal: I believe the proper term is TDM TLAs :) | ||
jnthn | rakudo: sub a(%h :( :$a, :$b ) ) { say "$a$b" } ; say a { :a<1>, :b<2> } | ||
p6eval | rakudo 3867ff: traits specified as colon pairs not yet understood at line 2, near ") { say \"$"in Main (file src/gen_setting.pm, line 892) | ||
jnthn | rakudo: sub a(%h :( :$a, :$b ) ) { say "$a$b" } ; say a({ :a<1>, :b<2> }) | ||
p6eval | rakudo 3867ff: traits specified as colon pairs not yet understood at line 2, near ") { say \"$"in Main (file src/gen_setting.pm, line 892) | ||
jnthn | oh | ||
hmm | |||
I'm sure that did work at some point. :-/ | |||
ng parses it I guess | |||
cognominal | jnthn, matching on an hash as a first argument whoud have help me to avoid conflict with stuff passed to the slurpy hash | 15:12 | |
jnthn | ng: sub a( { :$a, :$b } ) { say "$a$b" } | ||
p6eval | ng 2717d0: Unable to parse blockoid, couldn't find final '}' at line 1current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (src/stage0/Regex-s0.pir:907) | ||
jnthn | ng: sub a( :( :$a, :$b ) ) { say "$a$b" } | ||
p6eval | ng 2717d0: ( no output ) | ||
jnthn | There you go. | ||
cognominal | does the spec says something about that? or is that something not yet implemented | ||
jnthn | cognominal: You can do sub-signatures, yes | 15:13 | |
cognominal: master doesn't parse all the variants, but the binder is aware of such things. | |||
See S06 for more info on syntax. | |||
cognominal | ok, nice, I have a use for that. | ||
so :( :$a, :$b ) is the syntax :) | 15:15 | ||
looks like a smiley :) | |||
jnthn | It's unhappy. UNHAPPY. | 15:16 | |
:-( | |||
:-) | |||
cognominal | jnthn, what do you think of that : | ||
> (grammar { token TOP { $<a>=a }}).parse("a"); say $/<a> | 15:17 | ||
a | |||
> (grammar { token TOP { $<a>= a }}).parse("a"); say $/<a> | |||
Use of uninitialized value | |||
15:17
ruoso left
|
|||
cognominal | jnthn, when do you think you can land ng? | 15:18 | |
jnthn | Hmm. I'm a tad surprised about that regex difference...I had thought whitespace was not meant to be so significant... | 15:19 | |
15:20
ruoso joined
|
|||
cognominal | I think that's a bug. it took me a while to figure out why my grammars did not work :) | 15:23 | |
I don't know if it is still in ng so. | |||
15:26
jhuni left
15:34
pmichaud joined
|
|||
pmichaud | good morning, #perl6 | 15:34 | |
phenny | pmichaud: 13 Jan 22:39Z <jnthn> tell pmichaud In STD and Grammar.pm, in the signature rule, we use a construct like [ ...parameter... ] ** <param_sep>. However, unfortunately it seems the regex engine doesn't capture all of the parameter seperators, but instead only the last one. Tried a couple of possible workarounds, but no joy...any thoughts? kplzthnxbai. | ||
takadonet | pmichaud: morning | ||
15:35
payload left
|
|||
jnthn | morning, pmichaud | 15:36 | |
cognominal | bonjour, pmichaud | ||
pmichaud, what do you think of that ? | 15:37 | ||
> (grammar { token TOP { $<a>=a }}).parse("a"); say $/<a> | |||
[16:17:02] <cognominal> a | |||
[16:17:02] <cognominal> > (grammar { token TOP { $<a>= a }}).parse("a"); say $/<a> | |||
[16:17:02] <cognominal> Use of uninitialized value | |||
moritz_ | it's aliasing something which is not a capture | 15:38 | |
should be... what? an error? | |||
jnthn | Oh, I'd read it as binding whatever the next atom matched against that name... | 15:39 | |
If it is meant to just alias a capture then I guess error for both... | |||
15:40
ssm left,
pnate2 joined
|
|||
cognominal | $a<a>=(a) ie an explicit capture, is not necessary | 15:41 | |
15:41
ssm joined,
pnate left
|
|||
cognominal | $a<a>=a+ works too. The problem is with a space after the = | 15:41 | |
A space before the equal is not a problem | 15:42 | ||
15:42
payload joined
|
|||
pmichaud | cognominal: is that in the master branch? | 15:44 | |
cognominal: if so, I think it's resolved in the ng branch. | |||
cognominal | ok, happy to learn that, I will wait for ng, then | ||
15:44
moritz_ sets mode: +o pmichaud
|
|||
moritz_ | cognominal: no need to learn, you can test right now | 15:44 | |
15:44
moritz_ sets mode: +o cognominal
|
|||
pmichaud | ng: grammar XYZ { token TOP { $<a>= a } }; XYZ.parse('a'); say $<a>; | 15:45 | |
p6eval | ng 2717d0: Method 'isa' not found for invocant of class 'Undef'current instr.: 'perl6;Perl6;Actions;_block956' pc 145831 (src/gen/perl6-grammar.pir:29583) | ||
pmichaud | okay, maybe not | ||
anyway, it'll get fixed there if it's really a bug. | |||
15:45
kaare_ left
|
|||
jnthn | Don't think grammars are back in palce yet? | 15:45 | |
moritz_ | pmichaud: I think the problem is the $<a> | ||
pmichaud | ng: grammar XYZ { token TOP { $<a>= a } }; XYZ.parse('a'); say $/<a>; | ||
jnthn | *plaice | ||
p6eval | ng 2717d0: Method 'isa' not found for invocant of class 'Undef'current instr.: 'perl6;Perl6;Actions;_block956' pc 145831 (src/gen/perl6-grammar.pir:29583) | ||
jnthn | ... | ||
place, gah. | |||
moritz_ | hash accesses are a problem | ||
pmichaud | right, we don't have grammars in ng yet. I can fix that today/tomorrow | ||
moritz_ | ng: grammar XYZ { token TOP { $<a>= a } }; XYZ.parse('a'); say ?$/ | ||
p6eval | ng 2717d0: Method 'isa' not found for invocant of class 'Undef'current instr.: 'perl6;Perl6;Actions;_block956' pc 145831 (src/gen/perl6-grammar.pir:29583) | ||
jnthn | .oO( my typing is apparenlty a big fishy today ) |
||
moritz_ | oh | ||
pmichaud | sorry for my unexpected absence this past week... kids were sick on thursday, and I ended up with it over the weekend :-( | 15:46 | |
jnthn | pmichaud: Ugh. | ||
pmichaud | yeah | ||
jnthn | pmichaud: Though apart from getting it from the kids, snap. | ||
pmichaud | but I'm feeling *much* better today, better than in weeks | ||
moritz_ | hope they and you are bett.. great | ||
jnthn | pmichaud: I spent a disproportionate amount of my weekend in bed with something also. | ||
Guess it's the time of year for these thingies... | 15:47 | ||
cognominal | we are so happy to see you back, both of you :) | ||
15:47
lisppaste3 joined
15:49
mberends joined
15:50
avar left,
Psyche^ joined
15:56
Patterner left,
Psyche^ is now known as Patterner,
pnate joined
16:00
KyleHa joined
16:02
literal left
16:04
pnate2 left
|
|||
mathw | jnthn, pmichaud: As long as you're both feeling better, we're happy. | 16:04 | |
sbp | I entreated the filer of perl6 bug #72070 to come here and explain his work in perl6, but he has not taken the bait | 16:05 | |
KyleHa | I saw that ticket. It didn't seem too confusing except I don't know anything about PGE. | 16:07 | |
16:07
nihiliad joined
|
|||
sbp | yeah, it's not the bug that deserves his attention, but his work — he made a neat little app in perl6 and I was hoping he'd describe his problems and successes in developing it | 16:08 | |
ah well | |||
mberends | After trying out the "Empathy IM Client" in Ubuntu 10.4 alpha-2, it's not as functional or configurable as plain xchat. The new Ubuntu can be recommended - cdimage.ubuntu.com/releases/lucid/ | 16:15 | |
16:16
ash_ joined
16:36
avar joined
16:40
literal joined
16:44
zykes- left
16:54
payload left
16:55
meneldor left
17:01
lumi left,
lumi joined
17:03
bbkr left
17:11
pnate2 joined
17:20
pnate left
17:24
mberends left
17:25
lumi left,
meteorjay joined
17:26
lumi joined
17:28
pnate joined
|
|||
colomon | pmichaud: Good to see you back! We've had a family-wide bug as well, I'm still on the tail-end of it. I've gotten in about 2.5 days of work out of the last ten.... | 17:28 | |
17:37
pnate2 left
17:39
smash_ joined
|
|||
smash_ | hello | 17:39 | |
colomon | hello | 17:40 | |
17:46
lumi left,
lumi joined
18:00
nihiliad left
18:02
kst` is now known as kst,
nihiliad joined
18:03
ShaneC joined
18:04
justatheory joined
|
|||
cognominal | ng: say <a b c> : kv | 18:07 | |
p6eval | ng 2717d0: Confused at line 1, near "say <a b "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328) | ||
cognominal | ng: say <a b c> :kv | ||
p6eval | ng 2717d0: Confused at line 1, near "say <a b "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328) | 18:08 | |
18:08
meppl joined
|
|||
cognominal | ng: say <a b c>[] :kv | 18:09 | |
p6eval | ng 2717d0: Confused at line 1, near "say <a b "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328) | ||
cognominal | ng: say <a b c>[]:kv | ||
p6eval | ng 2717d0: Confused at line 1, near "say <a b "current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328) | ||
cognominal | ng: my @a=<a b c>; say @a[]:kv | 18:10 | |
p6eval | ng 2717d0: Confused at line 1, near "say @a[]:"current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328) | ||
cognominal | hum, zen, even in slices, is a long path | ||
rakudo: my @a=<a b c>; say @a[]:kv | 18:11 | ||
p6eval | rakudo 3867ff: Confused at line 2, near ":kv"in Main (file <unknown>, line <unknown>) | ||
18:13
lumi left
|
|||
cognominal | rakudo: say <a b c>.kv | 18:13 | |
p6eval | rakudo 3867ff: 0a1b2c | ||
18:13
lumi joined
|
|||
cognominal | yea! | 18:13 | |
18:21
dakkar left
|
|||
diakopter | <yawn> | 18:22 | |
18:28
ignacio_ left
18:34
Chillance joined
|
|||
colomon | ng: say <a b c>.kv | 18:35 | |
p6eval | ng 2717d0: Method 'kv' not found for invocant of class 'List'current instr.: '_block14' pc 29 (EVAL_1:0) | ||
18:36
jackyf joined,
cotto_working left,
cotto_working joined,
cotto_working is now known as cotto_work
18:37
ignacio_ joined
18:41
ispeak_ joined
18:42
Exodist left
18:43
kensanata joined,
Exodist joined
18:44
ash_ left
18:46
Exodist left
18:50
smash_ left
18:54
Exodist joined
18:55
Exodist left
18:57
ash_ joined,
ash_ left
18:58
ash_ joined,
ash_ left,
ash_ joined
|
|||
ash_ | colomon: strange, S32-Containers doesn't say List should have .kv, it says Array should | 18:59 | |
colomon | ash_: Seems like Positional should have .kv | 19:00 | |
Not that we have Positional yet (as far as I know) in any meaningful sense, but I don't see why List wouldn't have kv. | 19:01 | ||
I assumed it's just something we haven't gotten to yet in ng. | |||
ash_ | well, kv is used in hashes too, so should it also go into Associative? | 19:03 | |
jnthn | Agree List should have .kv | 19:05 | |
ash_ | as far as i can see, Positional and Associative only add postcircumfix:<[ ]> and postcurcomfix:<{ }> | ||
jnthn | Disagree it should be in Positional and Associative. | ||
They just imply those methods ash_++ stated, plus .of | 19:06 | ||
(where .of returns the type parameter) | 19:07 | ||
colomon | Well, I certainly won't claim to understand Perl 6's role structures yet. | 19:08 | |
I have just been thinking of Positional as "does that List and Array thang". | |||
jnthn | colomon: Positional really means "can be indexed into with [...] | 19:09 | |
" | |||
And Accotiative the same for for {...} | |||
19:09
Exodist joined
|
|||
colomon | and just that, I take it. | 19:09 | |
jnthn | Yes. | ||
It's what the @ sigil implies | |||
sub foo(@x) { } is a bit like sub foo(Positional $x) { } | 19:10 | ||
colomon | no guaranteed .elems, for instance. | ||
or .last | |||
jnthn | Correct. | ||
It's a pretty minimal interface. | |||
colomon | then certainly it should not have .kv, either. | ||
19:10
Exodist left
|
|||
ash_ | does Positional and Associative use any function to know how its supposed to get stuff based off of [ ] and { } or do they only garuntee that someone implemented those functions? | 19:11 | |
jnthn | These roles are why you can have multi foo(@x) { }, multi foo(%x) { } and multi foo($x) { } and have things work out, btw. | ||
ash_: Just says they should be implemented. | |||
ash_ | got ya, so they are like postcircumfix:<[ ]> { ... } methods? | ||
jnthn | Yes | 19:12 | |
ash_ | or !!! possibly | ||
cool | |||
colomon | Do they guarantee [] and {} fail gracefully if the key is not present? | ||
19:12
Exodist joined
|
|||
colomon is still trying to figure out what you can do with something if all you know about it is it does []... | 19:12 | ||
jnthn | role Positional[::T = Object] { method postcircumfix:<[ ]>(*@indexes) { ... }; method of() { T } } # or some such | ||
colomon: You can do [...] on it... :-) | 19:13 | ||
19:13
meppl left
|
|||
colomon | wait, what is [...] ?! | 19:13 | |
ash_ | its the range from [ to ] ? | ||
lol /doesn't know | |||
jnthn | colomon: I mean, if you have a $x and $x does Positional, then you can do $x[...] (where the ... means "some index here" | ||
) | 19:14 | ||
e.g. if you write a sub | |||
colomon | ah, I thought it was some mysterious operator I didn't know. | ||
jnthn | sub foo(@x) { } | ||
colomon | but how do you know how many elems are in the Positional. | ||
? | |||
jnthn | Then in there you can be certain that @x[42] will work (for some meaning of work) for example. | ||
As it's currently defined, Positional doesn't promise you can know that. | |||
(I'm stating the status quo rather than how things have to be, fwiw.) | 19:15 | ||
colomon | I'll be very interested to see if that turns out to be useful in the long run. | ||
jnthn | Maybe it should also give a promise that you implement .list...if you can be coerced to a list, then All Things Are Possible. | 19:16 | |
Dunno. I'm sure TimToady will backlog and ponder. :) | |||
colomon | if @a only guarantees Positional, I think 90% of the @a-based subs written for p6 so far are probably wrong... | 19:17 | |
jnthn | Well, I think anything in Cool probably is meant to listify first anyway. | 19:18 | |
Just as other things in Cool are menat to stringify, nor numify. | |||
(anything that is a listy thing, that is.) | |||
colomon | Sure, but the idea of having a role there is that I can implement my own class that does it, right? | ||
jnthn | Sure. | ||
I guess the question is, "is just promising postcircumfix:<[ ]> enough, or do we need to promise at least that". | 19:19 | ||
colomon | So what if I say something like class Square does Positional { postcircumfix:<[ ]>($a) { $a * $a } } ? | ||
ash_ | so... if you can do MyRole ~~ Role, how do you do MyClass ~~ ??? | ||
colomon | and then my @a = Square.new ? | 19:20 | |
jnthn | Then I guess say @a[5] # 25 :-) | ||
colomon | sure, but for @a { .say } will completely fail. | ||
jnthn | ng: class Square does Positional { postcircumfix:<[ ]>($a) { $a * $a } }; my @a = Square.new; say @a[5] # may even work... | 19:21 | |
p6eval | ng 2717d0: Unable to parse blockoid, couldn't find final '}' at line 1current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (src/stage0/Regex-s0.pir:907) | ||
jnthn | oh | ||
ng: class Square does Positional { method postcircumfix:<[ ]>($a) { $a * $a } }; my @a = Square.new; say @a[5] # may even work... | |||
p6eval | ng 2717d0:  | ||
jnthn | :-/ | 19:22 | |
ash_ | ng: class Square does Positional { method postcircumfix:<[ ]>($a) { $a * $a } }; my @a = Square.new; say @a[0][5] | ||
p6eval | ng 2717d0: 25 | ||
ash_ | \o/ | ||
jnthn | oh! | ||
Yes. | |||
:-) | |||
colomon | ah! | ||
ng: class Square does Positional { method postcircumfix:<[ ]>($a) { $a * $a } }; my $a = Square.new; say $a[13] | 19:24 | ||
p6eval | ng 2717d0: 169 | ||
jnthn | :-) | ||
colomon | ng: class Square does Positional { method postcircumfix:<[ ]>($a) { $a * $a } }; sub trouble(@a) { for @a { .say } }; trouble(Square.new); | 19:25 | |
p6eval | ng 2717d0: Method '!generate' not found for invocant of class 'Square'current instr.: 'perl6;List;!generate' pc 11248 (src/builtins/Str.pir:215) | ||
colomon | exactly. | ||
ng: class Square does Positional { method postcircumfix:<[ ]>($a) { $a * $a } }; sub trouble(@a) { say @a.WHAT }; trouble(Square.new); | |||
p6eval | ng 2717d0: Square() | ||
colomon | yeah. | 19:26 | |
so you can easily create a variable @a which cannot do 90% of the stuff you automatically expect a @a to do. | |||
I think adding .list to Positional is probably pretty desirable. | |||
jnthn | Yeah, I think there's a decent case for it. | 19:27 | |
colomon | I suppose you could even come up with a default lazy implementation that returns @a[0], @a[1], @a[2] etc until one of them doesn't exist. | ||
ash_ | how do you make a typed list? does my Foo @a imply like my $a of List of Foo or something? | 19:33 | |
jnthn | Yeah | 19:35 | |
sub foo(Int @a) { ... } # takes anything declare as doing Positional of Int (which is Positional[Int]). | 19:36 | ||
ash_ | so, what if you do sub foo(@a) { ... } with the Square colomon wrote above? will Square dispatch as an @ since it does positional? | 19:37 | |
colomon | ash_: that example is already in the backscroll, and it works in ng. | ||
ash_ | oh, oops, totally missed that | ||
colomon | but "works" in the sense that the resulting @a can't do most of what you normally think it would be able to do. | 19:38 | |
ash_ | yeah, i see what you were getting at from reading the above stuff | ||
thats interesting functionality... | 19:39 | ||
19:40
astrojp joined
19:42
lumi left
19:43
lumi joined
19:44
alexn_org left
19:50
Exodist left
19:53
ispeak_ left
19:57
canhope joined,
canhope left
20:03
ash_ left,
ash_ joined
20:11
pnate2 joined
20:12
cotto_work left,
cotto_work joined
20:15
ilogger2 joined
|
|||
ash_ | ng: say 'y' if '~/.bashrc' ~~ :r & :w; | 20:26 | |
p6eval | ng 2717d0: 2 unexpected named parameters passed (r, w)current instr.: '&infix:<&>' pc 192693 (src/gen/core.pir:1490) | ||
ash_ | is that formatted right for having multiple file tests | 20:27 | |
colomon | seems like it would just be :r:w ? | 20:29 | |
not that I understand this stuff yet. | |||
ash_ | oh, i just found it, perlcabal.org/syn/S32/IO.html#Other_things has them, it says you do them as junction, so :r & :w seems the be the way according to that | 20:31 | |
so, functionally will that do each function in the junction, since 'a_file' ~~ :r is really 'a_file'.:r(), and make sure none of the results were false? | 20:32 | ||
20:33
FCO joined,
payload joined
20:40
jan_ joined
20:47
cognominal joined,
cognominal left,
cognominal joined
20:54
meppl joined
|
|||
colomon | rakudo: say "/etc/passwd".:f | 20:58 | |
p6eval | rakudo 3867ff: Multiple Dispatch: No suitable candidate found for 'concatenate_str', with signature 'PSP->P'in Main (file <unknown>, line <unknown>) | ||
colomon | rakudo: say "/etc/passwd" ~~ :f | 20:59 | |
p6eval | rakudo 3867ff: 1 | ||
cognominal | rakudo: say "a" ~~ m/ ^ [ <print> & <-[>]> ]+ $/; | 21:03 | |
p6eval | rakudo 3867ff: a | ||
ash_ | rakudo: say '/etc/passwd'.':f'(); | 21:05 | |
p6eval | rakudo 3867ff: 1 | ||
21:05
mariano__ joined
|
|||
ash_ | rakudo: say ~''.^methods; | 21:05 | |
p6eval | rakudo 3867ff: sprintf Scalar Complex Str pred succ encode perl ACCEPTS WHICH ord rand truncate sort sqrt rindex asin int atanh cosh cosec grep values chars roots reverse isa ucfirst kv samecase tan log10 cos capitalize fmt bytes flip does p5chop lc asinh acotan reduce cotanh chr acotanh :d :e :f | ||
..comb f… | |||
ash_ | rakudo: Str.HOW.add_method(Str, ':say', method ($stuff) { say self }); 'foo' ~~ :say; | 21:11 | |
p6eval | rakudo 3867ff: foo | ||
ash_ | i see an obfuscated perl program coming out of that, :P | ||
21:15
rachelBROWN joined
|
|||
ash_ | rakudo: Str.HOW.add_method(Str, ':say', method ($stuff) { say $stuff, self }); 'foo' ~~ :say('Another '); | 21:16 | |
p6eval | rakudo 3867ff: Another foo | ||
ash_ | aww it doesn't work in ng | 21:18 | |
jnthn | ash_: Yes...I know. :-( | ||
ash_: Think I may have to do a few tweaks... | |||
ash_ | jnthn: should that be add_method(Str or add_method(Str.HOW ? | 21:19 | |
jnthn | Str.^add_method(':say', ...) should work | ||
Which is Str.HOW.add_method(Str, ':say', ...) | |||
ash_: There's a bit of an issue with the way things are currently set up though... | |||
ash_ | got ya, so i guess thats how you'd define a method with a funny character in the name? like ':' | 21:20 | |
jnthn | Yes. | 21:21 | |
It should work. | |||
21:21
FCO left
|
|||
jnthn | Braino on my part that it doesn't. | 21:22 | |
I'll try and fix it tomorrow...almost out of hack-energy today. | |||
ash_ | no worries, | 21:23 | |
so... umm, is there a test suite for the meta model yet? | 21:24 | ||
jnthn | ash_: There's some coverage of the introspective aspects of it. | ||
But no|little coverage of the declarative aspects. | 21:25 | ||
21:25
mariano__ left
|
|||
pmichaud | jnthn: how far along is role support in ng at the moment? | 21:27 | |
jnthn | pmichaud: Quite far. | 21:29 | |
pmichaud | okay, good. | ||
jnthn | pmichaud: Rough edges | ||
pmichaud | I'm likely to do Iterator as a role then. | ||
jnthn | pmichaud: See passes in S14-role in spectest.data to get a more concrete idea. | ||
pmichaud: OK. | |||
pmichaud: Let me know what you run into. | |||
pmichaud: If anything. But there's always _something_. :-) | |||
21:31
lumi joined
21:37
cognominal left
|
|||
frettled | Crikey, gource (code.google.com/p/gource/) looks evil ;) | 21:37 | |
colomon | Iterator as a Role, \o/ | 21:38 | |
jnthn | Yeah! The Pminator is back! | 21:39 | |
\o/ | |||
21:40
cognominal joined
|
|||
ash_ | jnthn did you ever figure out your lingering question with role's ^ methods? | 21:40 | |
jnthn | ash_: Not yet...but didn't think so much on it yet either, tbh. | 21:41 | |
sjohnson | hi | ||
jnthn | Haven't really been in a thinky state for the last week. | ||
ash_ | ah, just wondering | ||
colomon | frettled++ # that's some crazy stuff there. | 21:42 | |
jnthn | The "we compose them into the class" approach is where I'm kinda leaning, but I'm not sure enough that I'd want somebody to spend time on coding that up... | ||
ash_ | yeah, make sense, i'd only be worried about if you want to say override ^compose, how do you do that? or can you do that? | 21:48 | |
21:51
smash_ joined
|
|||
jnthn | I'm not really keen that we encourage people to override declarative aspects like this anyway, tbh. | 21:53 | |
If people want to do that stuff properly, they should probably declare their own metaclass, probably by subclassing ClassHOW or some such. | 21:54 | ||
Monkey-patching the meta-class on a per-class basis is kinda evil (which is why you *can* do it, but it'd hardly be something we want to promote as a best practice. :-)) | |||
And yes, it's not real monkey-patching, but still... :-) | 21:55 | ||
21:56
alester_ joined
|
|||
frettled | Well, if a monkey did it... *g,d&r* | 21:56 | |
jnthn | ook! banana! | ||
frettled | eek-ook ook! | ||
Perl 6 BCP: monkeying around | 21:57 | ||
colomon | frettled: gource is taking a long time to install... | 21:58 | |
frettled | colomon: ohrly :) | 21:59 | |
21:59
patspam joined
|
|||
frettled | colomon: I haven't even tried yet! | 21:59 | |
colomon | frettled: well, it went and said on the page that Macports has it, so it's easy for me to try. Of course, Macports installs fail about 25% of the time in my experience, and this one seems crazy complex... | 22:00 | |
frettled | colomon: heh :) | 22:01 | |
I haven't installed Macports yet here, so I'm kindof stuck with the shiny video. | |||
22:04
alester_ is now known as alester
|
|||
cognominal | rakudo: sub a(Pair $a) { ... } ; a(:a) | 22:07 | |
p6eval | rakudo 3867ff: Nominal type check failed for parameter '$a'; expected Pair but got Int insteadin Main (file src/gen_setting.pm, line 324) | ||
cognominal | ng: sub a(Pair $a) { ... } ; a(:a) | ||
p6eval | ng 2717d0: Nominal type check failed for parameter '$a'; expected Pair but got Int insteadcurrent instr.: '&a' pc 109 (EVAL_1:49) | ||
cognominal | hum... | ||
ng: sub a(Mu $a) { ... } ; a(:a) | 22:08 | ||
p6eval | ng 2717d0: ( no output ) | ||
cognominal | I Mu-ted it | ||
jnthn is not aMused. | 22:10 | ||
22:10
lisppaste3 joined
|
|||
frettled | a Mu-sed? | 22:12 | |
cognominal | ng: sub a(Mu $a) { ... } ; a((:a)) | ||
p6eval | ng 2717d0: ( no output ) | ||
cognominal | ng: sub a(Pair $a) { ... } ; a((:a)) | ||
p6eval | ng 2717d0: Nominal type check failed for parameter '$a'; expected Pair but got Str insteadcurrent instr.: '&a' pc 108 (EVAL_1:49) | ||
cognominal | I forgot the correct incantation | 22:13 | |
22:13
sjohnson sets mode: +ooo cognominal colomon ash_
|
|||
jnthn | rakudo: sub a(Pair $a) { ... } ; a((:a)) | 22:14 | |
p6eval | rakudo 3867ff: ( no output ) | ||
jnthn | cognominal: Maybe ng issue. | ||
frettled | Where _is_ masak these days, anyway? | 22:15 | |
ash_ | jnthn how would one go about changing the HOW of an object? if you wanted to make your own that is | 22:18 | |
colomon | frettled: yeah, the install failed. :( | ||
frettled | colomon: :( | 22:19 | |
jnthn | ash_: there's an example in metamodel.pod, iirc | ||
ash_: Typically you'd introduce a new package_declarator that has that metaclass registered against it, or modify one of the package registractions to point to your metaclass, though. | 22:20 | ||
ash_: Not something we can do in Rakudo just yet, mind. | |||
22:20
patspam left
|
|||
ash_ | okay, thats fair, i'll read that example again | 22:21 | |
sjohnson | hi ash_ | 22:22 | |
ash_ | hi sjohnson | ||
22:26
pnate joined
22:34
pmurias joined
|
|||
diakopter | pmurias: hi! | 22:34 | |
ash_ | is the use of 'slang' documented somewhere? i haven't seen it before | ||
pmurias | diakopter: hi | ||
jnthn | ash_: S05, iirc. | 22:35 | |
ash_ | awesome, thanks | ||
pmurias | diakopter: how are things? | ||
my linux got hurt by file system errors and i get to reinstall it (now installing mildew dependencies) | 22:36 | ||
jnthn | ash_: Some is S02 also. | 22:37 | |
More in S02, even, it seems. | |||
ash_ | S05 uses it in 1 place it seems | ||
cool, thanks, i'll read up on slang | 22:38 | ||
jnthn | We may need to extract more details from TimToady++ at some point. :-) | 22:39 | |
ash_ | i'll make a list of ??? to ask him :P | ||
diakopter | pmurias: things are great | 22:43 | |
I'm ready to start writing actions for the tiny-subset-of-STD grammar I've got | |||
ash_ | so... to add your own role-like functionality with a custom HOW you'd augment slang MAIN ? to introduce your keyword? | 22:48 | |
diakopter | pmurias: actually it's not all that tiny | ||
pmurias: and actually I should implment the OPP first. | |||
I got distracted by Codility | 22:49 | ||
(today) | |||
ash_ | you'r really just need to associate a HOW with they keyword... so, extending the Perl6::Grammar.package_declarator:sym and adding a HOW to the appiropriate new HOW.... seems like a lot if you want to simply register a callback for when your role is inherited, but then again if its the 'safe' way thats cool | 22:55 | |
s/you'r/you/ | |||
23:03
cotto_w0rk joined
23:04
mikehh joined
|
|||
pmurias | diakopter: i would focus more on improving the regex engine then on hand-translating STD | 23:05 | |
jnthn | ash_: For callbacky things, we maybe can get away with ^foo style things. | 23:07 | |
ash_: That may be a COMPOSE block perhaps though...like other phaser-ish things. | |||
jnthn -> rest | 23:12 | ||
diakopter | pmurias: why is that | 23:13 | |
(why do you recommend not hand-translating STD) | |||
23:14
rgrau` joined
23:23
pnate2 joined
23:30
lamedura joined,
lamedura left
23:32
matreshat joined
|
|||
matreshat | hi | 23:32 | |
i am lerning perl language for programing | |||
actually i am becoming computer professonal thats why its part of my course | 23:33 | ||
23:33
pmurias left
|
|||
matreshat | so ur all perl programers | 23:33 | |
or not | |||
or hha, lammers | 23:34 | ||
23:36
pnate left
|
|||
diakopter | er | 23:36 | |
Juerd | matreshat: This is a Perl 6 channel. Perl 6 is not finished yet. You may want to consider learning Perl 5 for now, if you want something that's actually applicable in production. | 23:37 | |
matreshat: Meanwhile, please improve your spelling :) | |||
23:48
pmurias joined
|
|||
pmurias | diakopter: re hand translating STD, it's lot of work, i doubt it's fun, and is annoying to maintain | 23:50 | |
diakopter: and i don't see why that's nessesary | 23:52 | ||
diakopter | those 3 objections aren't true for me. how is it not necessary? | 23:54 | |
(wouldn't compiling STD's parse of itself to any other language just be even slower?) | 23:55 | ||
23:56
matreshat is now known as ballsac
23:57
ballsac is now known as bal1sac
|