»ö« | 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:00
synth left
|
|||
TimToady | transit gloria [sic] & | 00:01 | |
00:02
nihiliad joined
|
|||
quietfanatic | Is there a way to concatenate two functions, like Haskell's >> operator? | 00:13 | |
diakopter | wrap ? | ||
quietfanatic | I know sub {&sub1; &sub2} works, but if you do that a lot of times, you get a lot of depth. | 00:14 | |
Wrap? Maybe, depending on how it's implemented. But I don't think that's what I'm looking for. | 00:15 | ||
For one thing, wrap modifies in place | |||
diakopter | o | ||
Tene | rakudo: sub foo { say 'hi' }; my @a; @a.push(&foo); say 'omg'; .() for @a; | 00:16 | |
p6eval | rakudo 6c4bab: OUTPUT«omghi» | ||
Tene | you could do that. | ||
quietfanatic: can you give an example? | |||
quietfanatic | Like, I'm writing an event system for my game engine, | 00:17 | |
and I want certain events (like collisions) to have a parameter | |||
but of course I can't check every object for every possible collision, so | 00:18 | ||
diakopter | create a global register!! :) | ||
quietfanatic | I'd have the object keep a "collision method" and append the new collision code when I register a new collision event. | ||
If I explained that sensically enough. :) | 00:19 | ||
diakopter | sounds like you create a list property on each object that stores its collision events, and the collision method iterates them like Tene said | ||
quietfanatic | Yes, I could just have a list of subs. And overload postfix:<( )> on the list. | 00:20 | |
Yeah. | |||
diakopter | with the argument, if .. | ||
quietfanatic | Tene's idea will work fine. | 00:21 | |
diakopter | .Net has an entire member system for events, though I heard someone say they regretted designating them at that level; they shoulda been just normal members whose slot types are treated as events when they're registered as such. | 00:22 | |
quietfanatic | I gotta read up more on event implementation anyway. | 00:23 | |
diakopter | there are scads of techniques of queuing up events on DOM objects | ||
quietfanatic | The thing is, I need a really robust system, including parametric events. | 00:24 | |
diakopter | so make your event method iterator pass in the events as arguments | ||
I mean, pass in the event args as args to the subs | |||
quietfanatic | That's not what I mean. | 00:25 | |
I mean, the parameter determines when the event gets called. | |||
diakopter | you could use the multiple dispatch system for that, or | ||
quietfanatic | If I say the ball object has a collision(Brick) routine, it needs to be called when it collides with a Brick and not when it collides with a Paddle. | ||
That's also why I wanted to introspect signatures, by the way. | 00:26 | ||
diakopter | sounds like Collision is a parametric type | ||
on two objects | 00:27 | ||
I mean, are there 3-body collisions? | |||
quietfanatic | They happen, though coding them would be a pain. | 00:28 | |
What I'm doing for now is I don't have collisions as events, but as normal checking in other events. | 00:29 | ||
diakopter | do you have a Movement event? | ||
quietfanatic | Yes, it's called move. | ||
diakopter | is it a sub or a 'data' object | 00:30 | |
quietfanatic | The collisions would be checked after that event. | ||
It's a data object, that calls the object's move method. | |||
Actually, it's onbly kind of a data object. | |||
00:30
rhr left
|
|||
quietfanatic | What happens is, when registering the event, I put the object class into the event's queue, rather than putting the event on the object somewhere. | 00:31 | |
00:32
rhr joined
|
|||
diakopter | do your objects use a discrete 2D grid when detecting collisions and calculating movement, or some kind of relative proximity checking to other objects | 00:32 | |
quietfanatic | They're effectively rectangles, so it's easy to check their positions against eachother even though the grid is not discrete. | 00:33 | |
Doing collisions based on a bitmask will be fun and tricky. (and slow) | |||
diakopter | I don't know.. assuming there's no superposition of objects' "centers", seems to me it'd be faster | 00:34 | |
quietfanatic | No, I mean checking each pixel of the object's image (or mask or something) to see if they overlap. | ||
diakopter | oh, rather I'd think each object would register its boundaries into an array of arrays that represents the pixel grid | 00:35 | |
quietfanatic | Oh. If I used integer positions, that'd be possible. | 00:36 | |
diakopter | and each movement would check whether the movement would cause an overlap.. | ||
right, integer aka discrete | 00:37 | ||
quietfanatic | In fact, it would even be easier if I was writing my own graphics library. | ||
Yeah, integer = discrete, but I'm using Nums. | |||
diakopter runs. at least they're not bigints or smth :) | 00:38 | ||
quietfanatic | The only thing that bothers me about Nums here is that they have higher accuracy toward the top-right of the screen :) | ||
I mean top-left | |||
diakopter | where's the origin | 00:39 | |
quietfanatic | If somebody inplements a fast fixed-point data type, I'll use it. | ||
The origin is in the top-left. | |||
diakopter | k | ||
so each objects' movement is turn-based | |||
quietfanatic | Yes-ish. | 00:40 | |
diakopter | so with 50 moving objects, each contributes toward computing the state that will determine how to draw the next frame? | ||
quietfanatic | I'm thinking that unless a specific turn order is specified, the objects will be moved in parallel. | ||
Um, yes, I think? | 00:41 | ||
diakopter | I think that's what you mean by in parallel | ||
each object's individual movement doesn't get its own frame redraw | |||
quietfanatic | No. | ||
All objects move, then all objects are drawn. | 00:42 | ||
diakopter | that's what I was saying | ||
quietfanatic | (skipping over after_move events and such) | ||
Well, I've got to get to class now. Be back this evening. | 00:44 | ||
00:46
quietfanatic left
00:54
jaldhar joined
|
|||
diakopter | std: my $a = 0; say $a while (++$a < 10) if ($a < 3) | 01:04 | |
p6eval | std 28539: OUTPUT«===SORRY!===Missing block (apparently gobbled by undeclared routine?) at /tmp/grRhPqfkh7 line 1 (EOF):------> 0; say $a while (++$a < 10) if ($a < 3)⏏<EOL> expecting any of: parameterized block standard stopper terminator | ||
.. whitespaceF… | |||
diakopter | rakudo: my $a = 0; say $a while (++$a < 10) if ($a < 3) | ||
p6eval | rakudo 6c4bab: OUTPUT«123456789Could not find non-existent sub if» | ||
01:11
justatheory left
01:12
nErVe joined
01:16
orafu left,
orafu joined
01:17
payload left
01:18
kst` is now known as kst,
cdarroch left
01:19
nErVe left
01:21
patspam1 joined,
patspam1 left
|
|||
colomon | moritz_: Think I've figured out the sin glitch. I took the "is export" off of Num.sin, erased the sin(Complex) functions, and now things seem to work. More soon. | 01:24 | |
dukeleto | "rakudo on rockets" web framework has a nice ring to it. just sayin' | 01:29 | |
01:40
hercynium left
|
|||
diakopter | rakudo: my $a=0;for (;++$a < 1e380;) {} | 01:41 | |
p6eval | rakudo 6c4bab: OUTPUT«undefined identifier 'Inf'» | ||
diakopter | rakudo: my $a=0;for (;++$a < 1e280;) {} | ||
p6eval | rakudo 6c4bab: ( no output ) | 01:42 | |
diakopter | that's fast | ||
the bug is that it doesnt' complain about not finding for() sub | 01:44 | ||
01:45
payload joined
01:58
htns joined
|
|||
htns | Hi. Never used IRC before. Hope this works... | 01:59 | |
Just built Parrot and then Rakudo. | 02:00 | ||
Ran a simple script (say "hi", count to 10), and `time` tells me it took just under 5 seconds. | |||
Is that about right right now for Rakudo on Parrot? | 02:01 | ||
02:01
htns left
02:06
htns_ joined
|
|||
pugs_svn | r28540 | diakopter++ | [sprixel] implement trailing if/while (actually I'd already done if) | 02:08 | |
diakopter | htns_: what does your script look like | ||
rakudo: say 'hi'; my $a=0; say $a while ++$a < 10 | |||
p6eval | rakudo 6c4bab: OUTPUT«hi123456789» | ||
htns_ | use v6; | ||
say "hi"; | |||
for 1 .. 10 { | |||
say ">>>$_<<<"; | |||
} | |||
That's in a file named `foo.pl`. | 02:09 | ||
In comparison, a similar file for Perl 6 runs in some crazy small amount of time (0.04 s). | 02:10 | ||
02:10
stephenlb left
|
|||
diakopter | htns_: you mean Perl 5? | 02:10 | |
diakopter@d5dev01:~/src/pugs/src/perl6$ time rakudo -e 'my $a=0; 1 while ++$a <= 10' | |||
real 0m1.052s | |||
user 0m0.732s | |||
sys 0m0.280s | |||
htns_ | [sigh] Yes. Sorry. | ||
diakopter | around 1 second here | 02:11 | |
02:11
rfordinal joined
|
|||
htns_ | Wow. Hm. | 02:12 | |
Well, I built Parrot from source from svn. | |||
diakopter | diakopter@d5dev01:~/src/pugs/src/perl6$ time perl sprixel.pl -e 'my $a=0; 1 while ++$a <= 10' | ||
real 0m1.682s | |||
htns_ | Did a `perl Configure.pl --prefix=/home/john/opt/parrot`. | ||
diakopter | user 0m1.508s | ||
sys 0m0.176s | |||
there's an --build-optimized or something switch | |||
htns_ | Then got Rakudo from svn. | ||
`perl Configure.pl --parrot-config=/home/john/opt/parrot/bin/parrot_config` | 02:13 | ||
Built and installed fine. | |||
Didn't want to have Rakudo get Parrot. Wanted to do my own Parrot installed and all set, *then* get Rakudo. | |||
diakopter | sprixel: my $a=0; say $a if ($a < 20) while ++$a < 100 | ||
p6eval | sprixel 28539: OUTPUT«12345678910111213141516171819» | 02:14 | |
diakopter | sprixel: my $a=0; say $a if ($a < 20) while ++$a < 100; say $a | ||
p6eval | sprixel 28539: OUTPUT«12345678910111213141516171819100» | ||
htns_ | Did not use any `--build-optimized` options to anything. | ||
diakopter | htns_: ok... my 1s time is in linux in a vmware VM on windows vista | ||
htns_ | Sorry, forgot to mention, this is on Ubuntu 9.04. | 02:15 | |
(No idea what sprixel is, though maybe you're talking to me... :) ) | 02:16 | ||
diakopter | sry, I'm testing it | ||
it's this Perl 6 interpreter I'm writing in JavaScript | |||
pugs_svn | r28541 | colomon++ | [t/spec] Change generate-tests.pl to generate a test file for each forward trig function. Works at the moment, but is duplicating the atan2 tests in every file. | ||
htns_ | Ah. | ||
diakopter | it uses TimToady's standard grammar/parser | ||
htns_ | s/talking/not talking/ . Wow, having trouble with the english language tonight. :) | 02:18 | |
Can you please tell me: what's the `use v6;` for? | 02:19 | ||
It doesn't seem like I need it (the script behaves the same with or without it). | 02:20 | ||
diakopter | sprixel: my $a=7; ($a = $a*$a) while $a < 1e21; say $a; | 02:21 | |
p6eval | sprixel 28541: OUTPUT«33232930569601» | ||
02:21
TiMBuS joined
|
|||
diakopter | htns_: that's b/c "Perl 5 by default" is not yet implemented in Rakudo | 02:22 | |
02:22
msmatsko joined
|
|||
htns_ | Rakudo on Parrot will, by default, assume code in .pl files is Perl 5? | 02:22 | |
diakopter | if someone implements that, yes.. :) which I assume is the plan since that's part of the Perl 6 spec. maybe not by Rakudo Star though? | 02:23 | |
colomon | I don't recall hearing any mention of that at all this year. | 02:24 | |
02:24
rhr_ joined
|
|||
diakopter | mention of what | 02:24 | |
colomon | I had been figuring "use v6;" was so Perl 5 knew not to try to run the file. | ||
Perl 5 being on by default for Rakudo. | 02:25 | ||
htns_ | I'd assumed something like that as well. | ||
diakopter | yeah, but Perl5-mode-by-default is still part of the speculatifications | ||
htns_ | S01 says "Migration is important. The perl interpreter will assume that it is being fed Perl 5 code unless the code starts with a "class" or "module" keyword, or you specifically tell it you're running Perl 6 code in some other way, such as" | 02:26 | |
diakopter | yeah | ||
colomon | diakopter: not saying you're wrong about that, just that I haven't heard any recent mention of making things work like that. | ||
htns_ | s/perl interpreter/perl 6 interpreter/ ? | ||
diakopter | well, perl, since it's both 5 & 6 | 02:27 | |
so *presumably*, a fully to-spec implementation would be a drop-in replacement | |||
I'm not presuming that part of the spec won't get de-idealized :) | 02:28 | ||
htns_ | Oh, I see. I didn't realize that Rakudo + Parrot was intended to be able to be used as a drop-in replacement for my Perl 5. | ||
colomon | it's really kind of insane, isn't it? I mean, implementing Perl 6 is already hard enough. Asking every implementor to add the entirety of Perl 5 as well seems over the top. | 02:29 | |
diakopter | well, pmichaud (but it applies to every implementor too) was writing somewhere recently that [extremely paraphrased] rakudo (substitute: each implementation)'s spec coverage progress would continue, and if it reached the totality by eternity, then so be it | 02:30 | |
and he was also willing to draw a box around a particular set of features and give it names/labels/version numbers | 02:31 | ||
and even eventually call it "stable", if not "finished" or "fully to spec" | 02:32 | ||
colomon: well, by doing interop/bindings/linking/hosting with Perl 5, pugs was able to achieve *quite* *a* *lot* toward that goal | 02:33 | ||
but then again, messiahs advent only a few times per eon. er something | |||
htns_ | I'm still trying to fathom totality by eternity. :) | 02:34 | |
diakopter | oh, the unfathomable depths... | ||
02:35
rhr left
|
|||
Tene | Jonathan and a couple of others are working on integrating the Perl 5 interpreter as a language on Parrot. | 02:38 | |
The project is called Blizkost. | |||
htns_ | I remember reading about it when Rakudo was removed from Parrot proper. Have all the parrot languages been removed? | 02:39 | |
Tene | Yes. | ||
diakopter | colomon: but yeah, it's daunting. :) | 02:41 | |
htns_ | Ah. I see. All the languages listed on the parrot site now link to wherever they are now hosted. | ||
The Parrot certainly lost a lot of weight there. ;) | 02:42 | ||
Tene | Yes. | ||
colomon | moritz_: I haven't actually tested it yet, but I think the current changes ought to make the named argument trig tests which are currently skipped work... Errr... but I haven't pushed the changes yet, still running spec test to make sure they don't break anything. If I'm up in the middle of the night I'll push them. | 02:43 | |
moritz_: Hmmm... actually looks like named argument sin still doesn't work. Puzzling. | 02:57 | ||
diakopter | TimToady: I got an Use of uninitialized value in concatenation (.) or string at STD.pm line 11515. mebbe I should svn up; rebuild | 02:58 | |
colomon | rakudo: sub f($x, $y = 1) { say $x + $y; }; f(:x(3/2)); | 03:02 | |
p6eval | rakudo 6c4bab: OUTPUT«too many named arguments - 'x' not expectedin sub f (/tmp/N929ueuN2f:1)called from Main (/tmp/N929ueuN2f:0)» | ||
diakopter | TimToady: did you commit everything? make clean ; make # lots of warnings | ||
03:04
htns_ left
|
|||
dalek | kudo: f52e459 | (Solomon Foster)++ | src/setting/ (3 files): Make Complex sin and asin work correctly. |
03:09 | |
03:10
TiMBuS left,
nihiliad left,
silug left,
Helios- left,
kolibrie left,
rjh left,
avuserow left,
ezra left,
pugs_svn left,
christine left,
sjohnson left,
zerhash left,
pmichaud left,
omega left,
yves left,
PacoLinux left,
allbery_b left,
phenny left,
gbacon left,
lambdabot left,
rhr_ left,
Rint left,
araujo left,
orafu left,
mikehh left,
Intensity left,
colomon left,
fredrecsky left,
hudnix left,
blaze-x left,
garron left,
Infinoid left,
sri_ left,
broquaint left,
clkao left,
buu left,
ewilhelm_ left,
dmpk2k left,
integral left
03:12
pmichaud joined,
rhr_ joined,
TiMBuS joined,
orafu joined,
nihiliad joined,
mikehh joined,
Intensity joined,
colomon joined,
silug joined,
Rint joined,
Helios- joined,
kolibrie joined,
avuserow joined,
ezra joined,
pugs_svn joined,
phenny joined,
yves joined,
christine joined,
allbery_b joined,
sjohnson joined,
irc.freenode.net sets mode: +ovvo pmichaud pugs_svn phenny sjohnson,
zerhash joined,
PacoLinux joined,
omega joined,
gbacon joined,
lambdabot joined,
araujo joined,
rjh joined,
fredrecsky joined,
hudnix joined,
broquaint joined,
sri_ joined,
dmpk2k joined,
Infinoid joined,
buu joined,
garron joined,
blaze-x joined,
integral joined,
clkao joined,
ewilhelm_ joined,
kent\n left
03:26
Guest13417 left,
bigpresh_ joined
03:32
bigpresh_ left,
bigpresh_ joined
|
|||
TimToady | I only get one warning on failure to remove *.syml.store | 03:35 | |
and that's benign | |||
and there's no files I haven't checked in | 03:36 | ||
03:38
msmatsko left
|
|||
pugs_svn | r28542 | lwall++ | [generate-tests.pl] suppress STD error on \# in regex | 03:40 | |
diakopter | hum | 03:49 | |
I think my svn checkout was broken by switching between versions of svn client tools... also switching linux->windows via samba. hrm. :/ | 03:50 | ||
04:00
mberends joined
|
|||
mberends | \o impressive backlog :) | 04:00 | |
diakopter | hi | 04:01 | |
sprixel: my $a=0; say $a if ($a < 50) while ($a = ++$a*2) < 1000; say $a | 04:02 | ||
p6eval | sprixel 28542: OUTPUT«2614301022» | ||
mberends | funky! nice progress diakopter. today more harness building, and then expanding the test suite. | 04:03 | |
04:05
tak11 left
|
|||
mberends | first putting in a few more test scripts manually, then try adding something like rakudo/tools/autounfudge.pl | 04:08 | |
diakopter: why not spend a moment to toot your trumpet on blogspot? | 04:11 | ||
diakopter | mberends: eh.. well, there's not much to write home about... it's 10,000x slower than Perl 5 and 100,000x slower than JS/V8 for a minimal preincrement/while microbenchmark | 04:16 | |
once I got loop (;;) {} working, I just had to try some microbenchmarking. | |||
mberends | srsly!? did you remember to subtract the startup time? | 04:17 | |
diakopter | yeah; this was a pretty big N | ||
rakudo was around 2,000-3,000x slower than Perl 5, which .. isn't ultra encouraging, since (barring analysis/optimization) sprixel will only get slower... | 04:19 | ||
04:20
[particle] joined
|
|||
mberends | I added some simple relative benchmarking to Rakudo's test suite, planning to extend that incrementally as it settles in. I'll also think of that in sprixel's harness, which will be pretty portable anyway. | 04:22 | |
diakopter | cool | ||
pugs_svn | r28543 | lwall++ | [STD] improve errors regarding loops for diakopter++ | ||
04:23
[particle]1 left
|
|||
colomon | rakudo: sub f($x) { say $x + 1; }; f(:x(3/2)) | 04:23 | |
p6eval | rakudo f52e45: OUTPUT«too many named arguments - 'x' not expectedin sub f (/tmp/DuWWxsEjtR:1)called from Main (/tmp/DuWWxsEjtR:0)» | 04:24 | |
mberends | rakudo: sub f(:$x) { say $x + 1; }; f(:x(3/2)) # saw that once somewhere | 04:25 | |
p6eval | rakudo f52e45: OUTPUT«2.5» | ||
colomon | moritz_: Hmmm.... also, my Complex.asin implementation is plainly broken, but my tests don't seem to detect that. Clearly more / smarter tests are needed. | 04:27 | |
diakopter | sprixel: my $a=0; 1 while ++$a <= 10000; # 151 JS function calls for each iteration of the 2nd statement. | 04:33 | |
p6eval | sprixel 28542: ( no output ) | ||
diakopter | that's a few too many | 04:34 | |
mberends | on a weeny Intel Atom that took "real 0m17.026s user 0m16.765s sys 0m0.164s" | 04:37 | |
diakopter | ick. | 04:39 | |
mberends | shower && commute & | ||
04:46
kidd left
05:00
redicaps joined
05:05
mberends left
05:10
quietfanatic joined
05:21
[particle]1 joined
05:23
snearch joined
05:34
synth^2 left
05:39
[particle] left
05:40
snearch left
06:05
meppl joined
06:06
NorwayGeek joined
06:08
nihiliad left
06:09
NorwayGeek left
|
|||
moritz_ | \o/ | 06:32 | |
06:34
mberends joined
|
|||
diakopter | \/o\ | 06:34 | |
mberends | ..must..have..coffee.. | ||
diakopter | /o\ | ||
pugs_svn | r28544 | lwall++ | [Cursor.pmc] handle stringish enums a bit better | 06:36 | |
diakopter | eegslursh | ||
mberends: largish refactor committing | |||
mberends | whee! | 06:37 | |
pugs_svn | r28545 | diakopter++ | [sprixel] refactored CPS technique (no longer returns an array each call) | 06:39 | |
r28545 | made AutoIncrement a bit more "native" by having bigint modify in place when it's a *variable* that's being incremented/decremented.. | |||
r28545 | added in place increment/decrement methods to the bigint lib | |||
diakopter | 0.30 speedup, ish | ||
or so I imagine | |||
mberends | diakopter++: cool. And just when you decided to explain it to me, you also decided to Change Everything ;) | 06:41 | |
moritz_ | colomon: most tests so far just check that sin/cos/tan etc are consistent with each other... that's not enough | ||
colomon: we should just take some lists of values, run them through other program we're confident with, compare the results | 06:42 | ||
quietfanatic | Oops, I've challenged myself to make an automated C library importer for Rakudo. | 06:43 | |
moritz_ | quietfanatic++ | 06:44 | |
mberends | quietfanatic++: I had been (day)dreaming about such a tool. make it come true! | ||
quietfanatic | Except for parsing the header file, I more or less know how to do it. | ||
I mean, it'll take some grizly Q:PIR-ing, but yeah. | 06:45 | ||
moritz_ | in the parrot repo there's a tool called cgigen that parses the header-files | ||
quietfanatic | Oh really? | ||
moritz_ | it might be a bit out of date | 06:46 | |
but it basically contains a C parser in PGE | |||
mberends | quietfanatic: could it look like Q:C{ ... } eventually? | ||
quietfanatic | mberends: Then I'd have to include a c compiler, like Inline::C, and I don't want to do that. | 06:47 | |
mberends | oh, ok | 06:48 | |
quietfanatic | But it's possible, yeah. | ||
Especially if someone writes a C compiler in Perl 6. :) | |||
mberends | :) I'll lend you a copy of my GCC | 06:49 | |
quietfanatic | Let's start with precompiled libraries, shall we? | ||
06:49
nicomen left
06:50
rfordinal left
|
|||
quietfanatic | moritz_: Oh, you mean ncigen? | 06:54 | |
moritz_ | yes | 06:55 | |
07:03
patspam1 joined,
patspam1 left
07:09
cognominal left
|
|||
sjohnson | o/ | 07:15 | |
07:21
rfordinal joined
07:25
payload left
07:29
pmichaud left,
pmichaud joined
07:30
avuserow_ joined,
avuserow left
07:40
c9s_ is now known as c9s
|
|||
mikehh | rakudo (f52e459) builds on parrot r41610 - make test / make spectest_smolder (up to r28545 -> #28453) PASS - Ubuntu 9.04 amd64 | 07:45 | |
07:48
rfordinal left
07:52
NorwayGeek joined
07:53
NorwayGeek left,
NorwayGeek joined
08:03
TiMBuS left
08:05
mspauldi1g joined,
TiMBuS joined
08:16
mspaulding left
08:23
iblechbot joined
08:36
rgrau joined
08:46
dakkar joined
09:44
riffraff joined,
[particle]1 left
09:46
Ctrl-ZZZ left
10:12
riffraff left
10:16
Whiteknight left
10:21
payload joined
10:23
araujo left
10:44
masak joined
|
|||
masak | oh hai, fellow pioneers. | 10:44 | |
10:45
am0c joined
|
|||
Matt-W | o/ mighty bug-finder | 10:45 | |
colomon | moritz_: actually, the sin tests are against a list of known values for sine. the asin tests (this is from running S32=trig.generate-tests.pl and looking in sin.t) are just to see if it consistent with sin. | 10:46 | |
masak | nah, I just like to destroy things. :) | ||
colomon | (sorry, half awake one-handed typing not so good this moening.) | 10:48 | |
masak abstains from obvious jokes | 10:49 | ||
oh wait, this isn't Slashdot. never mind. | 10:52 | ||
10:54
NorwayGeek left
|
|||
colomon | Danke. | 10:54 | |
masak | speaking of faux pas, this page seems topical and sensical: geekfeminism.wikia.com/wiki/So_you_..._a_mistake | 10:57 | |
colomon | moritz_: figured out the asin mystery. I was still declaring a version of it in the test file, and wierdly enough, that version + my new version generated correct answers. | 10:59 | |
11:10
patspam1 joined
|
|||
masak | diakopter: so, how long before I can run Druid in sprixel? :> | 11:20 | |
mberends | masak: greetings! After carefully thinking about Date, Time and DateTime, I am sure it's not the effect of having recently written some code that way. They are the data types of the real world, and appear in many computer languages. My MS Basic from 1978 had date() and time() functions. Microsoft has just unbundled DateTime into Date and Time in Transact-SQL 2008. So that's my vote | 11:32 | |
masak | thank you for this soul-searching answer. I appreciate it. | ||
11:35
lichtkind joined
11:38
NorwayGeek joined
|
|||
masak | I'm currently pondering if some extra measure needs to be taken to get ranges of DateTime objects to work. | 11:38 | |
maybe they'll work out-of-the-box because DateTime does Real or something. | 11:39 | ||
11:39
lichtkind left
|
|||
masak | I won't add anything to the spec until I know. | 11:39 | |
11:39
lichtkind joined
11:48
am0c left
11:49
payload left
11:52
ssm left
12:09
takadonet joined
|
|||
takadonet | morning all | 12:09 | |
12:13
jogla joined
|
|||
colomon | morning! | 12:14 | |
jogla | Moin | 12:15 | |
moritz_ | \o/ | 12:16 | |
jogla | Hi moritz_ | 12:19 | |
moritz_ | long time no see jogla :-) | ||
jogla | Yeah | 12:20 | |
masak | jogla++ # returning customer | 12:27 | |
jogla | :) | 12:28 | |
pugs_svn | r28546 | colomon++ | [spec/t] Update trig test generation code -- remove all the faked Complex functions previously included with the test code, and add Complex.asin tests (for all inverted functions). | 12:32 | |
takadonet | Still working on those lovely math function Colomon? :) | 12:33 | |
12:38
nErVe joined
|
|||
pmichaud | good morning, #perl6 | 12:44 | |
takadonet | morning sir | ||
masak | morning, pmichaud. | 12:46 | |
pmichaud: those Cursors look very useful! | |||
pmichaud | yes, they do seem to be useful. | ||
I'm very happy I have a working implementation of protoregexes. | 12:47 | ||
Today's focus is on a p6 regex parser | |||
takadonet | !! | ||
masak | \o/ | ||
12:47
moritz_ sets mode: +o pmichaud
|
|||
pmichaud | (to follow the STD.pm definition of regexes) | 12:47 | |
masak | looking forward to that. | ||
pmichaud | same here | ||
I had lots of non-coding things I had to do yesterday, so not so much progress there. But I think nearly all of the core pieces are in place | 12:48 | ||
afk for a bit, kids to school | 12:50 | ||
Matt-W | \o/ | 12:54 | |
Matt-W likes to hear about progress | 12:55 | ||
12:55
iblechbot left,
redicaps left
|
|||
colomon | takadonet: Yup, slowly grinding away at the math. Though I expect that now I have working Complex versions of sin and asin, the end of the trig function work is in sight. All I need to do is clone the framework of those two for all the other trig functions. | 13:04 | |
13:04
rgrau left
|
|||
takadonet | colomon: Sweet | 13:05 | |
13:05
synth^2 joined
13:11
[particle] joined
13:13
huf left
13:14
patspam1 left
13:28
Camenix joined
13:29
SmokeMachine joined,
Camenix left
|
|||
dalek | kudo: c4dbb59 | (Solomon Foster)++ | src/setting/ (3 files): Fix the previous asin checkin so it actually works. |
13:32 | |
masak | what's the recommended way to run Rakudo on feather nowadays when Parrot and Rakudo should be installed? | 13:33 | |
I just tried 'perl6' but got the 'shared libraries' error one gets when things aren't installed all the way. | 13:34 | ||
moritz_ | masak: build & install one yourself | ||
masak | and the incantations for installing non-globally...? | ||
moritz_ | perl Configure.pl --gen-parrot | 13:35 | |
make install | |||
masak | hokay. | ||
13:40
KyleHa joined
13:43
_Jedai_ joined
13:45
|Jedai| left
|
|||
mberends | masak, what kind of ranges of datetime objects do you ponder? discrete or continuous? something like "18:30 every Tuesday between t1 and t2", or "any time between t1 and t2"? | 13:48 | |
masak | the latter. that is, infix:<..> | ||
the former should fall out automatically from dt/duration addition and infix:<...>. | |||
mberends ponders a TimeSpan object that could smartmatch a DateTime | 13:51 | ||
masak | .oO( DateTimeSpan ) |
13:55 | |
PerlJam wishes google calendar had a way to say "the thursday after the 3rd tuesday of every month" | |||
masak | mberends: what advantage would such an object confer over just $dt1..$dt2 ? | 13:56 | |
13:59
jaldhar left
14:00
huf joined
14:04
icwiener joined
|
|||
mberends | masak: not sure, it was a suggestion to possibly help your "ranges of DateTime objects". It's non essential. Just ignore it :) | 14:04 | |
masak | I think I'm heavily biased by generic solutions nowadays, to the point where I prefer existing A[B] solutions to a new AB solution almost all the time. :) | 14:05 | |
mberends | masak: $t1..$t2 it is then, worksforme :) | 14:09 | |
14:12
snearch joined
|
|||
mberends | sprixel: use Test; plan 2; is(1,1,"one");is(2,2,"two"); | 14:13 | |
p6eval | sprixel 28546: OUTPUT«1..2ok 1 - oneok 2 - two» | ||
14:13
Guest86057 left
14:14
Ctrl-ZZZ joined
14:15
justatheory joined
14:21
Chillance joined
|
|||
masak | sprixel: use Test; plan 2; is 1, 1, "one"; is 2, 2, "two"; | 14:22 | |
p6eval | sprixel 28546: OUTPUT«1..2ok 1 - oneok 2 - two» | ||
masak | \o/ | ||
moritz_ | sprixel: use Test; plan 2; is 1, "1", "one"; is "2", 2, "two"; | ||
p6eval | sprixel 28546: OUTPUT«1..2ok 1 - oneok 2 - two» | ||
moritz_ | sprixel: use Test; is 1.0, 1, 'a' | 14:23 | |
p6eval | sprixel 28546: OUTPUT«ok NaN - a» | ||
moritz_ | you could still start counting at 1, even without a plan | ||
sprixel: use Test; is '01', 1, 2; | |||
p6eval | sprixel 28546: OUTPUT«not ok NaN - 2» | 14:24 | |
mberends | moritz_, istr the Test.pm.js script uses the plan() call to initialize the test number to 1 | 14:25 | |
"feature" ;) | |||
masak | not for us done_testing fans. | 14:26 | |
moritz_ | those call plan *; at the start | 14:28 | |
masak | we do? | ||
I don't. | |||
pmichaud | if "plan *;" is required, then that means that * (as a term) needs to be in the 01-sanity suite | 14:29 | |
*probably needs | |||
moritz_ | pmichaud: plan *; is an option, not a requirement | ||
pmichaud | sure, but 01-sanity is intended to be "the minimal features needed to parse most of the tests" | ||
moritz_ | pmichaud: and for the 01-sanity suite I'd continue using planned tests | 14:30 | |
pmichaud | that's not what 01-sanity does | ||
moritz_ | uhm, it's not been that for ages :/ | ||
pmichaud | 01-sanity is the tests needed to say "okay, you have enough features to run Test.pm" | ||
01-sanity doesn't itself use Test.pm | |||
14:30
Psyche^ joined
|
|||
pmichaud | s/"parse most of the tests"/"run Test.pm" | 14:31 | |
moritz_ | well, that's what you thought in the initial stages of building rakudo - if my memory serves right then it didn't work that way in reality | ||
pmichaud | right, because nobody kept 01-sanity up to date with Test.pm :) | ||
moritz_ | and also there's not one Test.pm | ||
pmichaud | but when we re-implemented Test.pm, I at least made an effort to not use features in Test.pm that weren't tested in 01-sanity | ||
or to add things to 01-sanity that were needed for Test.pm | 14:32 | ||
mberends | thanks for this explanation pmichaud, it helps the work on sprixel testing while dis-commuting :) | 14:34 | |
14:34
ruoso joined
|
|||
masak | is dis-commuting a more chaotic process than de-commuting? :) | 14:38 | |
14:40
ejs joined
14:42
Patterner left,
Psyche^ is now known as Patterner
|
|||
mberends | masak: yes, it seems to take far longer ;) | 14:43 | |
masak | :) | 14:44 | |
14:48
SmokeMachine left
14:52
SmokeMachine joined
14:53
nihiliad joined
15:02
mberends left
|
|||
masak | eew, November symlinks in Test.pm from the Rakudo directory. it's better than almost all other approaches, but it's still pretty icky. | 15:03 | |
masak looks forward to the Central Solution | |||
moritz_ | make rakudo's 'make install' copy Test.pm to $prefix/lib/perl5/ | 15:04 | |
masak | perl5? :) | 15:05 | |
moritz_ | erm | 15:06 | |
s/5/6/ | |||
masak | as long as Rakudo finds it in its path _by default_, I'm happy. | ||
moritz_ | rakudo: say @*INC.perl | ||
masak | that'll be the nice part of the Central Solution: less fiddling with PERL6LIB. | ||
p6eval | rakudo c4dbb5: OUTPUT«["/home/p6eval/.perl6/lib", "/home/p6eval//p1/lib/parrot/1.6.0-devel/languages/perl6/lib", "lib", "."]» | ||
moritz_ | ok, it's $prefix/languages/perl6/lib | 15:07 | |
masak | wfm | ||
15:10
kidd_ joined
|
|||
masak | Tweets: ""Ruby 2.0 will be production stable in 10 years" — Matz" -- "Hmm, sounds like they'll beat Perl 6 by a hefty margin then." | 15:12 | |
I find it difficult sometimes to predict whether intervening would be a net win. | |||
colomon | I think if you just submitted a rakudobug every time you were tempted to respond to a tweet like that, it might have better results on the whole. :) | 15:13 | |
huf | i guess this is like the french not bathing. 10 milennia from now ignorant people will still claim the french dont bathe and perl is unreadable and perl6 will never be finished... | 15:14 | |
masak | (1) rakudobugs don't appear spontaneously. :) (2) I sincerely believe that responding to some tweets have good results. maybe not this one, though. | ||
15:14
jan__ joined
|
|||
pmichaud | sometimes it's best to simply embrace the insanity :) | 15:14 | |
colomon | masak: I bet if you gave yourself ten minutes to find a rakudobug, you could do it every time. | 15:15 | |
moritz_ | or ignore it ;-) | ||
colomon | It just seems to me that, if we do our jobs well, these guys will be forced to eat crow in about eight months. | 15:16 | |
masak | Twitter is a great place to actually spread the word about Perl 6. providing factual, sometimes tongue-in-cheek answer to a selection of taunts or false rumors can, I believe, have results. | ||
Matt-W | Mmm | 15:18 | |
It is a good strategy - if you can come up with a reply of the right kind of tone |