»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by Juerd on 28 August 2009. |
|||
00:09
beggars left
00:22
betterwosld joined
01:04
slava joined
01:13
dukeleto joined
01:21
[1]Limbic_Region joined
01:23
[1]Limbic_Region left
|
|||
dukeleto | seen fperrad | 01:32 | |
@seen fperrad | |||
lambdabot | I haven't seen fperrad. | ||
01:36
colomon joined
01:38
Limbic_Region left
01:40
ag90 joined
01:43
skids left
|
|||
colomon | rakudo: say (4 + 0i) ** 2; | 01:46 | |
p6eval | rakudo 0d4fe0: OUTPUT«16» | ||
colomon | rakudo: say (4 + 1i) ** 2; | ||
p6eval | rakudo 0d4fe0: OUTPUT«17» | ||
colomon | rakudo: say 1i ** 2; | 01:48 | |
p6eval | rakudo 0d4fe0: OUTPUT«1» | ||
colomon | rakudo: say 1i ** 3; | ||
p6eval | rakudo 0d4fe0: OUTPUT«1» | ||
01:49
ag90 left
|
|||
colomon | rakudo: say abs(1i); | 01:52 | |
p6eval | rakudo 0d4fe0: OUTPUT«1» | ||
colomon | rakudo: say abs(4+1i); | ||
p6eval | rakudo 0d4fe0: OUTPUT«4.12310562561766» | ||
dukeleto | rakudo: say (8i).roots(4) | 02:00 | |
p6eval | rakudo 0d4fe0: OUTPUT«1.55377+0.643594i-0.643594+1.55377i-1.55377-0.643594i0.643594-1.55377i» | ||
colomon | rakudo: say +(4+1i) | 02:01 | |
p6eval | rakudo 0d4fe0: OUTPUT«4+1i» | ||
colomon | rakudo: say (4 + 1i).Num | 02:02 | |
02:02
wayland76 joined
|
|||
p6eval | rakudo 0d4fe0: OUTPUT«Method 'Num' not found for invocant of class 'Complex'» | 02:02 | |
wayland76 | @seen moritz_ | 02:03 | |
phenny | wayland76: 28 Aug 12:20Z <pmichaud> tell wayland76 I think perl6 --version should report the actual version. But I don't know of a clean way to do that yet... patches welcome. | ||
lambdabot | moritz_ is in #perl6. I last heard moritz_ speak 1d 4h 45m 47s ago. | ||
02:10
Makoryu joined
02:17
M_o_C left
02:18
Whiteknight left
|
|||
TimToady | moritz_ is out sailing till Sunday, I believe | 02:22 | |
colomon | TimToady: Am I correct in assuming that operators like ** are intended to work with Complex? | 02:27 | |
TimToady | why not? | ||
colomon | I don't think the spec mentions it, and I wanted to make sure the tests I've been writing are reasonable. | 02:28 | |
wayland76 | Ok, thanks. I was just going to suggest a clarity improvement for his blog post, but it's not really important :) | ||
TimToady | certainly for integral powers it should work | ||
dukeleto | colomon: i wrote many spec tests for complex numbers, but you may have found some new bugs | ||
colomon | TimToady: There's no real reason they can't work for complex powers as well. I've got an implementation to do it, in fact, but it fails for mysterious (non-math, I think) reasons. | 02:29 | |
wayland76 | Does that mean that »**« is a hyper power? | ||
TimToady | rakudo: say 1i ** 0.3 | ||
p6eval | rakudo 0d4fe0: OUTPUT«1» | ||
wayland76 | In that case, I think we need a meta-operator called "super" :) | 02:30 | |
02:30
tylerni7 joined
|
|||
colomon | TimToady: yeah, it's just completely broken in current rakudo -- routinely returns incorrect results. | 02:30 | |
TimToady | rakudo: say (1..10) «**» 2 | ||
p6eval | rakudo 0d4fe0: OUTPUT«Non-dwimmy hyperoperator cannot be used on arrays of different sizes or dimensions.in Main (/tmp/dymW1j2irE:2)» | ||
TimToady | o_O | 02:31 | |
dukeleto see's a bunch of colored smoke | |||
colomon | rakudo: say (1..10 >>**>> 2 | ||
p6eval | rakudo 0d4fe0: OUTPUT«say requires an argument at line 2, near " (1..10 >>"in Main (src/gen_setting.pm:2550)» | ||
colomon | rakudo: say (1..10)>>**>> 2 | ||
p6eval | rakudo 0d4fe0: OUTPUT«149162536496481100» | ||
wayland76 | I'll give say an argument | ||
TimToady | funny it thinks <<**>> is non dwimmy | 02:32 | |
wayland76 | rakudo: say "I'm going to punch your head!"; | ||
p6eval | rakudo 0d4fe0: OUTPUT«I'm going to punch your head!» | ||
TimToady | rakudo: say (1..10) <<**>> 2 | ||
p6eval | rakudo 0d4fe0: OUTPUT«149162536496481100» | ||
TimToady | no, only «**» | ||
wayland76 | Hmm. Is that a bug? | ||
dukeleto | rakudo: say (1i ) ** 2; | 02:33 | |
p6eval | rakudo 0d4fe0: OUTPUT«1» | ||
TimToady | I'll bet there's a copy-paste error somewhere | ||
tylerni7 | the internets say anyone who knows how to be nice can help out with perl6, is this true? | ||
dukeleto | tylerni7: indeed it is | ||
TimToady | you also have to be nice, most of the time | ||
colomon | dukeleto: There are a lot of tests for Complex, but none for **. | ||
tylerni7 | I can do that mostly | ||
dukeleto | tylerni7: welcome! how would you like to help? | ||
wayland76 | tylerni7: use.perl.org/~masak/journal/39445 | 02:34 | |
dukeleto | colomon: do you have commit access to the spec test suite? | ||
02:34
weinig joined
|
|||
colomon | Yes. | 02:34 | |
02:34
weinig left
|
|||
wayland76 | tylerni7: Although masak has pointed out that the information in that link is open-ended, rather than closed-ended | 02:34 | |
colomon | Do y'all reckon I should create S32-num/power.t? I don't see any tests for non-Complex **, either... | 02:35 | |
So far I've just been piggy-backing the Complex ** tests into complex.t. | |||
tylerni7 | I'm not sure what I'd be best at... I'm OK at perl 5, but I'd love to do whatever needs to be done that I can actually do? | 02:36 | |
dukeleto | colomon: that is good :) S32-num/complex.t is very sparse | ||
wayland76 | tylerni7: That link will suggest various roles you could fill in the community | ||
TimToady | tylerni7: lots of ways to help out, depending | ||
dukeleto | colomon: do you want to add your examples as todo'ed test cases? | 02:37 | |
colomon | dukeleto: That's what I've been thinking. | ||
dukeleto | colomon++ | ||
TimToady | tylerni7: at minimum, you can tell us where our documentation sucks :) | ||
wayland76 | But it may also help to mention your skill-set. Can you also write C? Documentation? Or would you prefer to try writing real-world perl 6 and submitting bug reports? There are other options too, but those spring to mind at the moment | ||
02:38
hudnix left
|
|||
wayland76 | (afk &) | 02:38 | |
tylerni7 | I think I'd probably be most useful doing bug reports or documentation | ||
dukeleto | colomon: you very well may hit some parrot bugs. The parrot Complex PMC is barely tested and has some bugs with NaN handling, at least | ||
tylerni7 | so uh yea, I guess I'd be best as a priest? | 02:40 | |
dukeleto | tylerni7: you can run a smoke bot, which is an automated testing service that updates to the latest code and then submits test runs to a central server | ||
colomon | rakudo: sub iPower($a, $b) { exp($b * log($a)) }; say iPower(1i, 3.0); | ||
p6eval | rakudo 0d4fe0: OUTPUT«NaNNaNi» | ||
colomon | versus | ||
dukeleto | tylerni7: we all fill many roles as we go further in our quest | ||
tylerni7 | ok sounds good | ||
TimToady | mostly we don't try to put people in boxes, so you can do whatever tickles your fancy | ||
colomon | rakudo: say exp(3.0 * log(1i)); | ||
p6eval | rakudo 0d4fe0: OUTPUT«-1.83691e-16-1i» | ||
TimToady | as you can see, some people just like to torment rakudo in-channel | 02:41 | |
tylerni7 | heh | ||
dukeleto | tylerni7: first thing is, have you downloaded some code and gotten it to compile on your machine? what platform are you on? | ||
02:41
calvinf joined
|
|||
dukeleto | rakudo: say floor(NaN) | 02:41 | |
p6eval | rakudo 0d4fe0: OUTPUT«-2147483648» | ||
tylerni7 | I don't have perl 6 yet, I'm on 64bit linux | ||
(ubuntu) | |||
TimToady | same as me | 02:42 | |
02:42
carlin joined
|
|||
dukeleto | that isn't a rakudo bug, it's a parrot bug. I'm on it ;) | 02:42 | |
tylerni7 | is there a link for the source of the smoke bot testing program thing? | 02:43 | |
TimToady | well, you probably want rakudo.org/how-to-get-rakudo first | 02:46 | |
if you want to hack on tests or specs, you'll want a pugs commit bit (for the pugs repo, which holds a lot of stuff in addition to the pugs implementation) | 02:48 | ||
most of the web pages are stored there too | |||
tylerni7 | ok | ||
TimToady | in fact, if you /msg me your email and preferred svn nick, I can give you a commit bit now | ||
dukeleto | tylerni7: the test suite is written in perl | 02:49 | |
tylerni7 | ok | ||
dukeleto | tylerni7: it's fun, I promise | ||
tylerni7 | hehe :P I'm not worried about that | ||
TimToady | you have to understand that for some of us, our idea of fun is rather...masochistic... :) | ||
dukeleto | TimToady++ | 02:50 | |
tylerni7 | I said I've used perl before :P hehehe | ||
TimToady | okay, pugs commit bit sent | 02:51 | |
tylerni7 | ok I'm building rakudo now | ||
TimToady | takes a little more work to get a rakudo commit bit, 'cause they require a signed agreement | ||
colomon | What's the proper syntax to TODO a test? is it just # TODO ? | ||
dukeleto | colomon: #?rakudo todo 'some description' | 02:52 | |
02:52
calvinf left
|
|||
TimToady | on the line before the test | 02:52 | |
dukeleto | colomon: that is called "fudging" the test | ||
TimToady | see t/spec/README for more | ||
dukeleto | colomon: it can take a number as well to denote a group of tests. | ||
TimToady | or it can treat a block of tests as one thing | ||
dukeleto | colomon: #?rakudo 3 skip '3-arg log' | 02:53 | |
colomon | dukeleto++ TimToady++ | ||
dukeleto | colomon: there is also #?rakudo 3 todo 'foo' | ||
TimToady | if it parses okay | ||
colomon | skip if it doesn't parse, todo if it does, right? | 02:54 | |
TimToady | right | ||
dukeleto | colomon: todo tests run, so that when they pass, you know about it. skipped tests don't run, because they b0rk the test process/fail to parse/don't apply to the current platform/compilation args | ||
pmichaud | skip if it segfaults, also | ||
(or otherwise aborts) | |||
(good evening, #perl6) | |||
dukeleto | pmichaud: howdy | 02:55 | |
colomon | Is there a code for "passes, but almost certainly for the wrong reasons"? | ||
dukeleto | colomon: there should be :) usually a hilarious and scary comment takes it's place | ||
TimToady | you can still mark it todo, and it will "unexpectedly succeed" | 02:56 | |
pmichaud | might as well leave it passing. but then (if possible) add a test that demonstrates the wrong reason :) | ||
02:56
sevvie joined
|
|||
TimToady | though autounfudge may delete the todo | 02:57 | |
dukeleto | colomon: but I think writing another test that fails would be the best case scenario :) | ||
colomon | Sure, I've got the tests that fail, too. | ||
But like this sequence: | |||
dukeleto | autounfudge sounds like a bland process | ||
colomon | say 1i ** 2; | ||
rakudo: say 1i ** 2; | 02:58 | ||
p6eval | rakudo 0d4fe0: OUTPUT«1» | ||
colomon | rakudo: say 1i ** 3; | ||
p6eval | rakudo 0d4fe0: OUTPUT«1» | ||
colomon | rakudo: say 1i ** 4; | ||
p6eval | rakudo 0d4fe0: OUTPUT«1» | ||
dukeleto | rakudo: $x = 1i; say $x ** 2 | ||
p6eval | rakudo 0d4fe0: OUTPUT«Symbol '$x' not predeclared in <anonymous> (/tmp/RXsGuzYQ0n:2)in Main (src/gen_setting.pm:3454)» | ||
dukeleto | rakudo: my $x = 1i; say $x ** 2 | ||
p6eval | rakudo 0d4fe0: OUTPUT«1» | ||
dukeleto | interesting. it does not seem to be a precedence issue | 02:59 | |
colomon | So the first two are wrong, and the third surely is also wrong but happens to be the correct answer by accident. | ||
dukeleto | colomon: the third is not a good test | ||
colomon | how so? | ||
pmichaud | I think the ultimate problem at the moment is that Parrot likes to numify complex numbers into reals | 03:00 | |
dukeleto | x ** 4 and (ix)**4 are always the same number | ||
since (i)**4 = 1 | |||
colomon | dukeleto: it's more than that: | ||
dukeleto | so it is not a useful test | ||
pmichaud | so since Rakudo doesn't have infix:<**>(Complex, Any) yet, it's falling back to infix:<**>(Any, Any) | ||
colomon | rakudo: say (4 + 1i) ** 2 | ||
p6eval | rakudo 0d4fe0: OUTPUT«17» | ||
dukeleto | colomon: that is definitely a bug | 03:01 | |
pmichaud | and then Parrot numifies the 1i to be 1 | ||
(yes, that's broken) | |||
example coming up | |||
colomon | pmichaud: Yes, I've implemented nfix:<**>(Complex, Any) -- but another bug seems to break it. | ||
dukeleto | colomon: the more tests the better :) | 03:02 | |
colomon | Thought I'd focus on making sure there were tests for it first. | ||
jeekobu | rakudo: say (2 + 1i + 3 + 2i) ** 2 | ||
p6eval | rakudo 0d4fe0: OUTPUT«34» | ||
pmichaud | rakudo: say (2 + 1i + 3 +2i) | ||
p6eval | rakudo 0d4fe0: OUTPUT«5+3i» | ||
pmichaud | rakudo: say (5 + 3i) * (5 + 3i) | ||
jeekobu | Yeah | ||
p6eval | rakudo 0d4fe0: OUTPUT«16+30i» | ||
colomon | 34 = 25 + 9 | ||
jeekobu | Yup | 03:03 | |
pmichaud | Maybe I'll patch Parrot so it throws an exception when attempting to numify a Complex with a non-zero imaginary component | ||
colomon | pmichaud: That seems like a very good idea. | 03:04 | |
pmichaud | oh, ick | ||
TimToady | decommuting & | ||
pmichaud | return sqrt(re * re + im * im); | 03:05 | |
dukeleto | pmichaud: that is what a signalling NaN is for | ||
pmichaud: feel free to add your comments to trac.parrot.org/parrot/ticket/954 :) | 03:06 | ||
pmichaud | dukeleto: that ticket is well over my head | ||
switching terminals... brb | |||
dukeleto | pmichaud: i doubt it :) Does rakudo want to support the concepts of "quiet" NaN (the normal one) and signalling NaN (sNaN), which throws an exception at first use | 03:07 | |
parrot is toying with implementing the idea. I don't know if any HLL's would want it though | 03:08 | ||
pugs_svn | r28101 | colomon++ | [t/spec/S32-num/power.t] Start to generate some tests for **. | ||
pmichaud | Perl 6 exceptions are of the "throw at first use" variety | ||
colomon | I need to get some sleep now. If someone could take a look at power.t there and see if it looks reasonable, and let me know what changes I can make, I'll try to get to them in the morning... | 03:09 | |
dukeleto | colomon: there? | ||
duh | 03:10 | ||
i see | |||
colomon: i will take a look | |||
pmichaud | I suspect the integer power tests should not be is_approx | ||
colomon | Danke. | ||
pmichaud | colomon: do you have your implementation of infix:<**>(Complex, Any) somewhere? I'd like to take a look at it | 03:11 | |
rakudo: say 3 % 0; | 03:12 | ||
p6eval | rakudo 0d4fe0: OUTPUT«3» | ||
pmichaud | o_O | ||
rakudo: say 3 / 0 | |||
lisppaste3 | colomon pasted "** for Complex" at paste.lisp.org/display/86216 | ||
p6eval | rakudo 0d4fe0: OUTPUT«Divide by zero» | ||
pmichaud | colomon: thanks | 03:13 | |
colomon | I believe the exact same code needs to be declared again as infix<**>(Any, Complex) as well. | ||
pmichaud | I'm not sure that exp and log are completely working on complex numbers | ||
dukeleto | pmichaud: for instance, floor(NaN) could raise a signalling NaN (exception) instead of returning ilogb(NaN), which is the fallback in ieee754-2008 and the non-intuitive behavior that you mentioned | 03:14 | |
pmichaud | dukeleto: Rakudo will want to do whatever the Perl 6 specification says to do. I don't know what that will be. :-) | ||
dukeleto | pmichaud: is there any documented stance for what the Perl 6 spec thinks of ieee754 ? | 03:15 | |
pmichaud | dukeleto: not that I'm aware of. | ||
checking | 03:16 | ||
oh, wait. lots of stuff | |||
see S02 | |||
S02:653 | 03:17 | ||
colomon | pmichaud: If you check the back log, you can see examples from me where complex log and exp work fine in isolation, but if you wrap a function around them the function's result is incorrect. | 03:19 | |
and now off to bed for real. | 03:20 | ||
dukeleto | colomon: night! | ||
pmichaud: nice! now I have ammunition to implement that stuff in parrot :) | |||
pmichaud | buubot: spack ieee | 03:21 | |
buubot | pmichaud: Couldn't match input. | ||
pmichaud | buubot: spack IEEE | ||
buubot | pmichaud: Couldn't match input. | ||
pmichaud | (I did ack -i ieee on the synopsis directory, lots of useful information there) | ||
dukeleto | whoa: in the absence of explicit initialization, native floating-point types default to NaN,... The complex type defaults to NaN + NaN i. | 03:22 | |
more than one kind of NaN ? | 03:23 | ||
pmichaud | rakudo: multi sub infix:<**>(Complex $a, $b) { ($a.log * $b).exp }; say 1i ** 2; | ||
p6eval | rakudo 0d4fe0: OUTPUT«-1+0i» | ||
carlin | rakudo: eval("sub foo"); eval("foo"); say $!; | ||
p6eval | rakudo 0d4fe0: OUTPUT«maximum recursion depth exceeded» | ||
dukeleto | so perl 6 distinguishes between complex NaN and real NaN | 03:24 | |
03:24
sevvie left
|
|||
pmichaud | my $a = 1i; my $b = 3; say log($a), $a.log; | 03:25 | |
rakudo: my $a = 1i; my $b = 3; say log($a), $a.log; | |||
p6eval | rakudo 0d4fe0: OUTPUT«0+1.5708i0+1.5708i» | 03:26 | |
pmichaud | rakudo: my $a = 1i; my $b = 3; say log($a) * $b, $a.log * $b; | ||
p6eval | rakudo 0d4fe0: OUTPUT«0+4.71239i0+4.71239i» | ||
pmichaud | rakudo: my $a = 1i; my $b = 3; say exp(log($a) * $b), exp($a.log * $b); | ||
p6eval | rakudo 0d4fe0: OUTPUT«-1.83691e-16-1i-1.83691e-16-1i» | ||
pmichaud | a-ha | 03:27 | |
dukeleto | pmichaud: precedence ? | 03:28 | |
pmichaud | objectref-ness | 03:29 | |
03:29
sevvie joined
|
|||
pmichaud | rakudo: my $a = -1i; sub foo($a) { exp($a) }; say foo($a), exp($a); | 03:29 | |
p6eval | rakudo 0d4fe0: OUTPUT«1+3.60739e-313i0.540302-0.841471i» | ||
03:34
Myspl joined
|
|||
pugs_svn | r28102 | leto++ | Change integer tests in S32-num/power.t to use is() instead of is_approx(), set the planned number of tests and add a todo test for complex powers | 03:35 | |
03:35
Myspl left
|
|||
pmichaud | rakudo: say "3".exp | 03:37 | |
p6eval | rakudo 0d4fe0: OUTPUT«Method 'exp' not found for invocant of class 'Str'» | ||
carlin | rakudo: proto foo { say 42; }; proto foo { say 42; }; foo; | 03:40 | |
p6eval | rakudo 0d4fe0: ( no output ) | ||
dukeleto | rakudo: say (0**0) | 03:44 | |
p6eval | rakudo 0d4fe0: OUTPUT«1» | ||
dukeleto | rakudo: say (NaN**0) | 03:45 | |
p6eval | rakudo 0d4fe0: OUTPUT«1» | ||
dukeleto | who thinks that is intuitive ? ;) | 03:47 | |
carlin | rakudo: say "foo"**0; say "foo"**1; | 03:49 | |
p6eval | rakudo 0d4fe0: OUTPUT«10» | ||
wayland76 | Just for everyone's reference, I linked perl6.org on the Wikipedia page for Perl 6. If anyone else wants to link it on some of the other high-ranking perl6 websites... :) | 03:52 | |
03:55
mepplock joined
|
|||
pugs_svn | r28103 | leto++ | Add some tests to S32-num/power.t relating to Inf, NaN and complex numbers | 03:55 | |
carlin | rakudo: proto foo($bar) {}; proto foo($baz, $quux) {}; foo; | ||
p6eval | rakudo 0d4fe0: ( no output ) | ||
carlin | does that segfault for anyone else? | 03:56 | |
dukeleto | carlin: I get a Bus error on darwin | 03:59 | |
carlin | rt #68242 is sort of related to this | 04:00 | |
04:09
carlin left
04:11
meppl left
|
|||
pugs_svn | r28104 | leto++ | Add myself to AUTHORS. It took a while. | 04:12 | |
04:12
mepplock is now known as meppl
04:16
Confield left
04:23
nbrown left
04:41
Karthz joined
|
|||
Karthz | How can I be a volunteer? What kind of help could I do for Perl 6? | 04:42 | |
wayland76 | Karthz: Overview of how to help use.perl.org/~masak/journal/39445 | 04:43 | |
But there are many ways, depending on your skill set | |||
Karthz | Thanks! | ||
wayland76 | We also have a shiny new website: perl6.org/ | ||
Karthz | I am a Software Developer. However, I am new to Perl. I would love to learn Perl though. | ||
wayland76 | Ok, that's not a problem | 04:44 | |
Karthz | Yeah, I visited this chat from the new website only. | ||
04:44
frew joined
|
|||
wayland76 | I'd suggest reading over the first link I pasted. Probably the first thing to do in your case is get a copy of the Rakudo implementation of the Perl 6 spec | 04:44 | |
Once you have that, try out some examples and stuff, so that you can get a feel for what's done and what isn't | 04:45 | ||
What programming languages are you currently familiar with? | |||
Karthz | I am familiar with Java, C++, C, and Python. | 04:46 | |
wayland76 | Ok, you may find Perl a little different | ||
in that, you can do pretty much all the stuff you're familiar with | |||
But there are also a number of things borrowed from other languages that you'll be less familiar with | 04:47 | ||
one of the Perl slogans is "There's more than one way to do it", so Perl tends to provide features so that you can use any programming style you like | |||
04:47
cognominal joined
|
|||
wayland76 | ...up to a point. They don't feel they have to get *everything* in, but they like to include lots | 04:48 | |
Karthz | cool. that sounds great. | ||
04:49
hudnix joined
|
|||
Karthz | Could you please tell me where I could get a copy of the "Rakudo implementation of the Perl 6 spec"? | 04:49 | |
wayland76 | The long version of what I just said appears here: www.wall.org/~larry/pm.html -- that was written before perl6 was designed, but some ideas still apply (you may not want to read the long version, so that's just FYI) | ||
wayland76 is looking for the link for Karthz | 04:50 | ||
Makoryu | Karthz: rakudo.org/how-to-get-rakudo <- Like this? | ||
wayland76 | www.rakudo.org/how-to-get-rakudo | ||
Ah, I'm too slow :) | |||
Karthz | thanks to the both of you :) | ||
Makoryu bows | |||
wayland76 | Quick overview -- the Rakudo implementation of the Perl 6 spec runs on the Parrot Virtual Machine | ||
So part of the setup is getting that installed | 04:51 | ||
If you're on an RPM system, you can also build RPMs of Parrot and Rakudo, if you prefer those | |||
(I'll be back in 2 minutes) | 04:52 | ||
Makoryu | Speaking of Parrot, is there a J/K/Q implementation yet? (I know there's an APL implementation but.... it's APL.) | 04:53 | |
wayland76 | You mean, is there an implementation of eg. the language called "J" that runs on Parrot? | 04:55 | |
Makoryu | Yep | ||
wayland76 | I don't know the answer to that -- the #parrot channel on irc.parrot.org will probably know though | 04:56 | |
pmichaud | there's been some interest in implementing J | 05:04 | |
afk, sleep | 05:07 | ||
05:12
kyle_l5l joined
05:13
rwolf joined
|
|||
Karthz | is there a Perl book that you would recommend? | 05:15 | |
for beginners of Perl | 05:16 | ||
Makoryu | Karthz: The Perl 6 wikibook seems to be geared towards beginners | 05:19 | |
wayland76 | My approach when learning Perl 5 was to read the Perl 5 equivalent of perlcabal.org/syn/ | 05:20 | |
That also has the big advantage that it's up-to-date :) | 05:21 | ||
The Perl6 spec is fairly stable in most areas, but there are still areas that change | |||
For example, IO is still in draft mode, and so are threads | 05:22 | ||
05:25
cotto left
05:26
eMaX joined,
cotto joined
|
|||
Karthz | cool, thanks | 05:29 | |
05:33
idontknowperl joined
|
|||
idontknowperl | hello? | 05:33 | |
05:33
idontknowperl left
05:36
justatheory left,
beggars joined
|
|||
wayland76 | I should've mentioned that my link to the synopses might not be everyone's preferred method of learning, but it worked for me. | 05:52 | |
Also, S02 could be confusing if you don't know Perl | |||
Karthz: Did you ever program in BASIC? | |||
Karthz | long back.. that's the first language i ever learnt | 05:53 | |
05:53
anfedorov joined
|
|||
anfedorov | hi all | 05:53 | |
wayland76 | hi | ||
anfedorov | random guy on internet here, very impressed with perl6 architecture ;) you guys are brilliant! | 05:54 | |
wayland76 | Karthz: Ok, so you'll be familiar with the idea that punctuation can mark a variable type | ||
Karthz | wayland76: why do you ask? is there a relation between BASIC and Perl? | ||
anfedorov | oops, I'm thinking Parrot, perl6 is neat too, though | ||
:) | |||
s1n | ouch! | ||
wayland76 | Well, in BASIC, a string is called STRINGNAME$ whereas in Perl, a scalar is is $stringname | 05:55 | |
(scalars can be strings, ints, or whatever, like in Python) | |||
We also have @array and %hash | |||
so you can have $item = @array[0] | |||
or $item = %hash<key> | 05:56 | ||
Anyway, I'm going to be away from my keyboard for half an hour or so -- see you all in a bit | |||
Karthz | sure, thanks a lot. | 05:57 | |
05:58
jauaor joined
|
|||
jauaor | hello | 05:58 | |
06:02
SmokeMachine joined
|
|||
spinclad | hugme: hug me | 06:03 | |
hugme hugs me | |||
spinclad | :) | ||
06:06
fakewasabi joined
06:07
eMaX_ joined,
fakewasabi left
06:08
renormalist left,
eMaX left
06:09
renormalist joined,
jaldhar joined
06:10
anfedorov left
|
|||
wayland76 | back. | 06:25 | |
hugme: hug spinclad | |||
hugme hugs spinclad | |||
06:46
SmokeMachine left
06:50
rwolf left
06:53
carlin joined
07:10
zamolxes left
07:14
sri_kraih joined
07:17
SmokeMachine joined
07:21
agentzh joined
07:29
frew left
07:31
Makoryu left
|
|||
dukeleto | yay for proper perl6 syntax highlighting in vim | 07:32 | |
07:34
Su-Shee joined
|
|||
Su-Shee | good morning! :) | 07:34 | |
07:35
omega_ left,
omega joined
|
|||
dukeleto | 'ello | 07:38 | |
07:38
FCO joined
07:39
SmokeMachine left
07:41
slava left
07:42
jrtayloriv left
07:45
beggars left
07:54
Karthz left
|
|||
pugs_svn | r28105 | leto++ | Add more tests for various power operations in S32-num/power.t | 08:03 | |
08:13
gr888 joined,
gr888 left
08:15
molaf joined
08:27
Rint joined
08:32
caglar joined,
caglar is now known as Guest84939
08:55
wormphlegm joined
08:56
wormphlegm left,
wormphlegm joined
08:57
wormphlegm left,
wormphlegm joined
08:58
wormphlegm left
09:00
IRSeekBot joined
09:01
Oaksage joined,
PZt left
09:08
agentzh left
09:13
eMaX_ left
09:18
eMaX joined
09:20
agentzh joined
09:44
agentzh left
09:48
szbalint joined
09:50
ejs joined
10:16
abra joined
10:19
agentzh joined
10:22
kyle_l5l left
10:30
agentzh1 joined
10:33
wayland76 left,
wayland76 joined
10:35
jaffa8 joined
|
|||
jaffa8 | hi | 10:35 | |
10:36
PZt joined
|
|||
jaffa8 | How would you determine in Perl 6 regular expression if a captured group is not captured? | 10:36 | |
10:37
iblechbot joined
10:40
agentzh left
10:48
M_o_C joined
10:55
payload left
|
|||
cognominal | jaffa8, I suppose that the name of the rule is missing as a key from the $/ tree | 10:55 | |
wayland76 | You start by looking among the hostages! (Yes, that's a joke, because I don't know the answer :) ) | 11:03 | |
11:04
beggars joined
11:08
maerzhase joined
|
|||
cognominal | jaffa8, if you meant checking within the expression itfself, you are ouf of luck because Perl 6 closure are not yet implemented by PGE | 11:14 | |
colomon | pmichaud++ # working implementation of Complex ** | 11:16 | |
11:21
Front_slash joined
11:22
ceci joined
11:29
synth left,
synth joined
11:30
azawawi joined
|
|||
azawawi | hi | 11:31 | |
jaffa8 | I mean an expression like this | 11:32 | |
e.g/(a)|(b)/ | |||
According to synopsys | |||
both are matched as $0 | 11:33 | ||
How do you know which is matched left or right? | |||
azawawi | moritz_: ping | 11:34 | |
moritz_: can u install sbcl on feather1? | 11:38 | ||
moritz_: thanks :) | |||
pugs_svn | r28106 | colomon++ | [t/spec/S32-num/power.t] Changed is back to is_approx for Complex powers, fixed broken test, reorganized Complex tests, added several new tests, moved plan back to plan * anticipating more heavy work on power.t in the next few days. (Have a patch for setting which makes all | 11:42 | |
..failing tests work, but breaks one of the NaN tests. Not clear if the Complex NaN tests are correct. Patch is inelegant.) | |||
lisppaste3 | colomon pasted "Patch to setting/Complex.pm to make Complex powers work (pmichaud++)" at paste.lisp.org/display/86224 | 11:44 | |
colomon | I recognize that patch is inelegant, and hope someone has a notion of how to make it pretty. | 11:45 | |
Also, I'm hoping to make additional Complex number patches in the next few days. I think sin and cos for Complex numbers are low-hanging fruit... | 11:46 | ||
I believe the complex test cases should all be is_approx. That is, unless there is some sort of Complex made of two Ints mode I am not aware of. | 11:51 | ||
cognominal | rakudo: 'a' ~~ m/<a=a>/<b=b>/ and say keys %($/) | 12:20 | |
p6eval | rakudo 0d4fe0: OUTPUT«Method 'postcircumfix:{ }' not found for invocant of class 'Regex'» | ||
cognominal | oops | 12:21 | |
rakudo: 'a' ~~ m/<a=a>|<b=b>/ and say keys %($/) | |||
p6eval | rakudo 0d4fe0: OUTPUT«Unable to find regex 'a'in regex PGE::Grammar::_block53 (/tmp/nqQiamD85d:1)called from Main (/tmp/nqQiamD85d:2)» | ||
12:21
jrtayloriv joined
|
|||
cognominal | rakudo: 'a' ~~ m/<a='a'>|<b='b'>/ and say keys %($/) | 12:21 | |
p6eval | rakudo 0d4fe0: OUTPUT«Could not find non-existent sub m» | ||
cognominal | rakudo: 'a' ~~ m/<a a>|<b b>/ and say keys %($/) | 12:22 | |
p6eval | rakudo 0d4fe0: OUTPUT«Unable to find regex 'a'in regex PGE::Grammar::_block53 (/tmp/Da0UsZbulh:1)called from Main (/tmp/Da0UsZbulh:2)» | ||
12:43
jrtaylor joined
12:53
jrtayloriv left
12:54
ejs left,
azawawi left
12:56
r0bby left
13:03
KyleHa joined
|
|||
jaffa8 | rakudo: print $/; | 13:05 | |
p6eval | rakudo 0d4fe0: OUTPUT«Use of uninitialized value» | ||
jaffa8 | std:$r~~/:p 3** 3.. /; | 13:14 |