»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
timotimo | there are no tests on resumable exceptions yet? | 00:06 | |
00:06
pernatiy left
|
|||
sorear | goood * #perl6 | 00:07 | |
00:08
fgomez joined
00:12
benabik joined
00:15
fgomez left
00:20
fgomez joined
00:22
benabik left,
benabik joined,
libertyprime left
00:23
libertyprime joined
00:34
thou left
00:35
localhost left
00:37
localhost joined
00:39
skipper joined
00:40
libertyprime left,
libertyprime joined
00:47
vlixes left
00:48
jerome_ left
00:51
fgomez left
01:02
jerome_ joined
01:07
libertyprime left
01:08
libertyprime joined
01:18
wolfman2000 joined
01:22
overrosy left,
overrosy joined
01:23
cardcha left,
havenn left
01:29
wooden left
01:37
liuchong joined
01:48
skipper left
02:13
tokuhiro_ left,
tokuhiro_ joined
02:14
whiteknight left
02:18
tokuhiro_ left
02:50
ponbiki joined
03:04
orafu left,
orafu joined
03:27
cirne100 joined
03:28
cirne100 left,
cirne100 joined
03:49
wooden joined,
wooden left,
wooden joined
03:59
envi_ left
04:23
thou joined
04:32
ponbiki left
|
|||
japhb | sorear, How do you make use of niecza's 'make aot'-created .so files? | 04:33 | |
sorear | They should be used automatically | 04:40 | |
japhb | :-/ | 04:43 | |
They don't seem to make more than a marginal difference in niecza's scores in perl6-bench. | 04:44 | ||
I was hoping to speed up startup time (because right now that's dominant for several of the tests), but no such luck that I could see. | 04:45 | ||
sorear | Is perl6-bench a startup time benchmark? | ||
japhb | github.com/japhb/perl6-bench | ||
sorear | are you using sgen? | ||
japhb | The first several tests end up dominated by startup for niecza, because they are trivial tests. But even when runtime starts to be visible, as a percentage of total time, startup is still a fair percentage. | 04:46 | |
yes, running it as 'mono-sgen run/Niecza.exe' | |||
It takes ~2s on my box to do: mono-sgen run/Niecza.exe -e '' | 04:48 | ||
sorear | How did you run make aot? | ||
japhb | As literally that: make aot | ||
After having done just 'make' last night. | |||
sorear | sgen/not changes code generation; aot .so files created by "mono" are not usable by "mono-sgen" or vice versa | ||
japhb | OH! | 04:49 | |
sorear | IME sgen+aot doesn't work very well in general - I blame the fact that corlib.dll.so is generated for non-sgen | ||
japhb | hmmm, how do I make it so Niecza always compiles and runs with sgen then? | ||
sorear | non-sgen will usually start faster | ||
export MONO_ENV_OPTIONS=--gc=sgen | 04:50 | ||
japhb | and then 'make clean; make; make aot' ? | ||
japhb goes ahead and tries it/ | 04:52 | ||
sorear | yea | ||
04:57
kaleem joined
05:02
colomon left
|
|||
japhb | That did help, cutting ~ .5s off startup, right now at 1.58s for -e '' | 05:03 | |
For comparison, Rakudo is currently running at 0.40s for the same test ... and perl5 is 3-4ms. :-) | 05:04 | ||
I must say, it really is quite astonishing how fast perl5 starts up. | 05:05 | ||
sorear | the comparison was more favorable before jnthn committed a bunch of BS changes... | ||
japhb | I thought niecza had BS as well at this point? Or is that still in the design phase? | 05:06 | |
sorear | japhb: I think you mean, it really is quite astonishing how slow all the current p6es are | ||
yes, niecza has had BS for a while | |||
05:09
NamelessTee joined
|
|||
japhb | Well, yes, the p6's do have crazy-slow startup ... but I really did mean I was astonished by the startup of perl5. It's not exactly a small language, and yet the total number of CPU cycles to spawn, startup, and exit a perl5 process can't be more than 6-7 million cycles. And on an old 32-bit CPU, that's *maybe* 10 million instructions. Way better than I expected, when I think about everything that has to happen to result in a full Perl | 05:10 | |
5 environment. | |||
sorear | perl 5 is written in C | 05:11 | |
perl 5 doesn't have a setting | |||
perl 5 uses a yacc, which seems to be a much better choice for speed than anything based on p6rules can ever hope to be | 05:12 | ||
05:19
birdwindupbird joined
|
|||
japhb | Let me turn this around -- if you think about the time to start one of the other dynamic languages from the same "generation" as perl5, they take much longer to start up. For example, python takes about 10x as long as perl5 to run a null program, and even ruby takes 2.5-3x as long. | 05:19 | |
sorear | I usually consider ruby as a member of our generation | 05:20 | |
japhb shrugs -- call it a half generation. | |||
Point being, perl5 is no slouch in the speed department. And this box is even running an old 5.10.1. | 05:21 | ||
But guiding this back to a current topic, anything else I can do (from the "outside") to get niecza startup faster? | 05:22 | ||
moritz | o/ | ||
sorear | o/ moritz | 05:23 | |
japhb: faster cpu? games with undump/cryopid? :D | |||
japhb | :-P | 05:24 | |
Out of curiosity, do you happen to know how much of that time is just mono itself launching a new "session"? | |||
sorear | mono seems to initialize itself lazily - a "hello world" program which touches very little of corlib loads very quickyl | 05:25 | |
I suspect that there are some major bottlenecks in niecza's thaw routines, but niecza's thaw routines are a single recursion SCC and the mono profile is useless with mutually recursive functions | 05:26 | ||
05:30
havenn joined
05:32
sftp left
|
|||
japhb | sorear, do you mean that mono is exceedingly slow and/or space-wasteful at handling mutual recursion? | 05:35 | |
05:37
thou left
|
|||
sorear | japhb: I mean that the mono profiler produces useless data when the program is mutually recursive | 05:41 | |
bonsaikitten | japhb: python has a pretty sucky startup that does ~1k stat() (afair) | 05:48 | |
it's a good example how not to do things | |||
moritz | b: say $*PERL | 05:51 | |
p6eval | b 1b7dd1: OUTPUT«name rakudoversion 2011.07-2-g1b7dd12» | ||
05:56
cardcha joined
|
|||
cardcha | Hi | 05:56 | |
tadzik | hello | ||
cardcha | Anybody wanna see my irc bot | ||
moritz | is it written in Perl 6? what does it do? | 05:57 | |
cardcha | I write it in perl and then ported it to python | ||
It annoys you basically | |||
05:57
NamelessTee left
|
|||
moritz | then I don't want to see it | 05:57 | |
05:57
LOLSOME joined
|
|||
cardcha | awww | 05:58 | |
LOLSOME | LOLOLOL That's what she said LOLOLOLOL | ||
cardcha | It wont log in | ||
LOLSOME | LOLOLOL That's what she said LOLOLOLOL | ||
moritz | cardcha: please remove it right now | ||
LOLSOME | LOLOLOL That's what she said LOLOLOLOL | ||
cardcha | I guess it knows that somebody from this ip is already logged in | ||
LOLSOME | LOLOLOL That's what she said LOLOLOLOL | ||
cardcha | OMG | ||
LOLSOME | LOLOLOL That's what she said LOLOLOLOL | ||
cardcha | it worked | ||
LOLSOME | LOLOLOL That's what she said LOLOLOLOL | ||
05:58
ChanServ sets mode: +o moritz
|
|||
cardcha | its super annoying | 05:58 | |
LOLSOME | LOLOLOL That's what she said LOLOLOLOL | ||
05:58
moritz sets mode: +b *!*LOLSOME@*.nc.res.rr.com,
LOLSOME was kicked by moritz (cardcha ))
|
|||
tadzik | :/ | 05:58 | |
05:58
moritz sets mode: +b *!*4bb643fb@*.75.182.67.251,
cardcha was kicked by moritz (cardcha))
05:59
moritz sets mode: -o moritz
|
|||
moritz | and I thought purl was annoying | 06:00 | |
sorear | *sigh* | 06:01 | |
derrazo | criminy | 06:02 | |
06:14
wtw joined
|
|||
moritz | n: :16(12) | 06:16 | |
p6eval | niecza v16-8-gb4b916a: OUTPUT«Unhandled exception: Numbers may not be passed :base(); if you wanted to render the number in the given base, use $number.base($radix); if you want to treat the number as a string, explicitly coerce it first at /home/p6eval/niecza/lib/CORE.setting line 13… | ||
06:21
araujo left
06:23
xinming_ left,
cosimo left,
alvis``` left,
broquaint left
|
|||
moritz | r: my $x = 'foo'; say ":{$x}()" | 06:31 | |
p6eval | rakudo 018b27: OUTPUT«:foo()» | ||
dalek | ecza: e08dd76 | sorear++ | lib/ (3 files): Implement universal hashing for niecza hashes It appears to be a few percent slower than the builtin string.GetHashCode, but proof against hash-based algorithmic complexity attacks is hard to replace... |
06:41 | |
sorear | has anyone proven a collision probability bound for Parrot's hashes? :> | 06:45 | |
japhb | bonsaikitten, ouch (re: ~1k stats at python startup) | 06:52 | |
sorear, understood (re: mono profiler fail) | |||
bonsaikitten | japhb: the module system ... it causes multiple hits | ||
japhb: does foo exist in SITEDIR, local dir etc.? does foo.pyc / .pyo exist? timestamp? | 06:53 | ||
that and the sucky stdlib behaviour cause >200 module loads with this rather stupid startup hit | |||
sorear | I think Unix would really benefit from a multistat() system call | 06:57 | |
pass a list of 1000 names into the kernel | 06:58 | ||
japhb | bonsaikitten, Ah, I was about to ask if even an empty program would load a bunch of implicitly required modules ... | ||
moritz | p6: say :16('0d') | ||
japhb | sorear, not a bad idea, that. | ||
p6eval | rakudo c24b2f: OUTPUT«missing digits after radix prefix in method gist at src/gen/CORE.setting:8137 in sub say at src/gen/CORE.setting:6240 in block <anon> at /tmp/rNOVqmWYT5:1» | ||
..pugs, niecza v16-8-gb4b916a: OUTPUT«13» | |||
sorear | only incur syscall overhead once... the underlying namei calls are probably pretty cheap, especially if they hit on the dentry cache | ||
moritz | eeks | ||
bonsaikitten | japhb: I think you could shrink that down, but no one cared enough yet | ||
japhb | Though it might encourage even worse behavior by developers that think stats are free ... | ||
moritz | p6: say :16(('0d10') | 06:59 | |
p6eval | niecza v16-8-gb4b916a: OUTPUT«===SORRY!===Unable to parse parenthesized expression at /tmp/6fkVMV00dX line 1:------> say :16(⏏('0d10')Couldn't find final ')'; gave up at /tmp/6fkVMV00dX line 1 (EOF):------> say :16(('0d10')⏏<EOL>… | ||
..pugs: OUTPUT«***  Unexpected ":16" expecting "::" at /tmp/mVakSkGA1L line 1, column 5» | |||
..rakudo c24b2f: OUTPUT«===SORRY!===Malformed radix numberat /tmp/GoXvHtMRLa:1» | |||
moritz | p6: say :16('0d10') | ||
p6eval | pugs, niecza v16-8-gb4b916a: OUTPUT«3344» | ||
..rakudo c24b2f: OUTPUT«10» | |||
moritz | rakudo is ETOOMAGIC | 07:00 | |
it recognizes 0d as a prefix for 'decimal' | |||
sorear really likes the correctness proof for the hash algorithm ey just used | 07:03 | ||
07:05
wolfman2000 left
|
|||
moritz | sorear: now you just need to proof that you actually implemented that algorithm :-) | 07:16 | |
sorear | moritz: I don't have time to prove the denotational semantics of C# under mono/mcs | 07:17 | |
:D | |||
07:18
jerome_ left
|
|||
moritz | :-) | 07:19 | |
07:23
derrazo left
|
|||
moritz is now fixing LWP::Simple | 07:23 | ||
tadzik | ++moritz | 07:26 | |
moritz | t/getstore.t hangs and t/parse-url.t exposes the same problem that I TODOed in URI.pm | 07:27 | |
apart from that, all else is fixed | |||
tadzik | nice | 07:29 | |
on what does getstore hang, writing to a file? | |||
moritz | no, reading the file :( | ||
tadzik | if so, it may be that it's just terribly slow :) Panda needs eons to copy itself from location to location too | ||
ah, that's different | |||
moritz | $ wc tmp-getstore-17939 25 84 1054 tmp-getstore-17939 | 07:30 | |
so, it's ridicolously small | |||
and still it hangs | |||
tadzik | not that big, indeed | ||
07:31
jerome_ joined
07:32
tadzik is now known as Smerf_Maruda,
Smerf_Maruda is now known as tadzik
|
|||
moritz | oh | 07:33 | |
seems that for $fh.lines hangs if the $fh is not terminated by \n | |||
07:36
fglock left,
fglock joined
|
|||
moritz | ok, TODOed the last failing test | 07:38 | |
but all in all, LWP::Simple seems to work again. \o/ | |||
tadzik | yay! | ||
07:38
havenn left
|
|||
moritz | (that is, if you use my copy of URI.pm; pull request to the official one sent) | 07:38 | |
oh, and you can't use the precompiled URI/Escape.pir | 07:39 | ||
if you do, it tries to call method capture on a Method | |||
no idea why :( | |||
eeks | 07:40 | ||
07:41
pernatiy joined
|
|||
tadzik | still better than SVG::Plot :) | 07:41 | |
this one segfaults when used precompiled | |||
there's something wrong with modules precompilation | |||
moritz | gist.github.com/2248944 # that's eeeks | ||
why does it FAIL TO OPEN THE FILE if the file doesn't have a trailing newline? | 07:43 | ||
tadzik | eek | ||
wtf | |||
and if it does, why does slurp() work? | |||
moritz | hm | 07:44 | |
I guess it doesn't really fail to open the file, but it fails at error reporting | |||
tadzik | cannot reproduce, btw | ||
moritz | if you look closely at the backtrace, you see that method 'get' calls method 'open' | ||
so it tries to re-open the file (?) and fails. It's not the first open() that fails | 07:45 | ||
tadzik | yeah, it fails only when I add .say | ||
sorear | moritz: Will rakudo build on a 1G 32-bit machine? | 07:52 | |
moritz | sorear: I think so | ||
sorear | yay | 07:53 | |
moritz | sorear: building the setting takes about 1.2G on 64bit | ||
sorear | tomorrow I'll get a working rakudo here for testying | ||
moritz | \o/ | ||
07:55
bacek_ left,
lestrrat left
07:56
lestrrat joined,
dolmen joined
|
|||
sorear -> sleep | 07:57 | ||
07:57
xinming_ joined,
cosimo joined,
alvis``` joined,
broquaint joined,
fglock left,
fglock joined
07:58
mj41 joined
|
|||
tadzik | g'night sorear | 08:00 | |
08:00
_dolmen_ joined
08:01
dolmen left
08:02
_dolmen_ left,
dolmen joined
08:04
dolmen left,
dolmen joined
08:09
daxim joined
08:27
mcero joined
08:29
fhelmberger left
|
|||
dalek | ast: 1fa3c37 | moritz++ | S16-filehandles/io.t: $fh.lines if the file has no trailing newline (RT #112130) |
08:29 | |
08:46
mj41 left
09:27
kst left,
mj41 joined
09:31
jerome_ left
09:34
mj41 left
09:49
mj41 joined,
jerome_ joined
10:06
liuchong left
10:07
bacek_ joined
10:09
Trashlord joined
10:19
havenn joined
10:30
havenn left
10:33
lestrrat left
10:35
lestrrat joined,
NamelessTee joined
10:51
tarch joined
10:58
araujo joined,
araujo left,
araujo joined
11:12
daxim left
11:26
cirne100 left
11:27
cirne100 joined
11:28
daxim joined
11:32
stef___ joined,
stef___ left
11:35
stef___ joined
11:43
mcero left
11:46
fhelmberger joined
11:49
colomon joined
11:51
NamelessTee left
11:52
skids left
12:00
stef___ left
12:03
derrazo joined
12:04
jaldhar left
12:05
stef___ joined
12:16
leprevost joined
12:19
stef___ left
12:20
stef___ joined
12:25
icwiener joined
12:28
sftp joined
|
|||
pmichaud | perl6: say +:8("0d10") | 12:31 | |
phenny | pmichaud: 29 Mar 07:12Z <moritz> ask pmichaud to please change the hostname of the notification URLs of the rakudo/rakudo and rakudo/star repos to feather3.perl6.nl | ||
p6eval | rakudo 3d7cc4: OUTPUT«malformed radix number, expecting '>' after the body in method Numeric at src/gen/CORE.setting:8130 in sub prefix:<+> at src/gen/CORE.setting:2148 in block <anon> at /tmp/2UZPwOMecO:1» | ||
..niecza v16-9-ge08dd76: OUTPUT«10» | |||
..pugs: OUTPUT«840» | |||
moritz | perl6: say :8<d> | 12:33 | |
p6eval | pugs: OUTPUT«13» | ||
..niecza v16-9-ge08dd76: OUTPUT«Unhandled exception: Digit <d> too large for radix 8 at /home/p6eval/niecza/boot/lib/CORE.setting line 1366 (die @ 3)  at /home/p6eval/niecza/src/NieczaActions.pm6 line 142 (from_base @ 15)  at /home/p6eval/niecza/src/NieczaActions.pm6 line 183 (Niecz… | |||
..rakudo 3d7cc4: OUTPUT«===SORRY!===Invalid character 'D' in number literal» | |||
moritz | that's the proper response (from rakudo and niecza) | ||
pmichaud | we need to put some of the magic back, though. | ||
moritz | pmichaud: I'm not sure we need to | ||
pmichaud | :8("0d10") should be 10 | ||
moritz | no, that's totally insane | ||
pmichaud | at least according to current S02 | ||
moritz | then S02 needs to change | 12:34 | |
pmichaud | I'm sure that change needs to be reviewed with TimToady++ then | ||
moritz | it would mean that :16('0d10') is either ambiguous, or behaves quite differently from :08('0d10') | ||
pmichaud | it behaves differently, yes. S02 explicitly says so. | ||
moritz | if one wants 0d to mean decimal, .Numeric works fine | 12:35 | |
pmichaud | one might not know the content of the string beforehand, though. | ||
moritz | right. That's why it's important for the :base() forms to behave consistently | 12:36 | |
pmichaud | S02:3313 | ||
moritz | this looks like a fossil to me | 12:37 | |
pmichaud | why is that? | ||
moritz | because that's what p5's hex() function does | ||
wait | |||
no | |||
[Coke] | ho, pmichaud. | 12:38 | |
moritz re-reads the whole paragraph | |||
wait, is :16 special-cased? | |||
pmichaud | yes. | ||
moritz | so :17('0d10') returns 10? | ||
or does the spec forbid any bases except 2, 8, 10, 16? | |||
p6: say :17('ab') | 12:39 | ||
p6eval | pugs, rakudo 3d7cc4, niecza v16-9-ge08dd76: OUTPUT«181» | ||
moritz | p6: say :17('0d10') | ||
p6eval | pugs, rakudo 3d7cc4, niecza v16-9-ge08dd76: OUTPUT«3774» | ||
pmichaud | std: say :17('0d10') | ||
p6eval | std 5740094: OUTPUT«ok 00:01 109m» | ||
moritz | anyway, my primary reason for changing that was a very real-world bug | ||
pmichaud | I agree that Rakudo had the :16 case wrong. | 12:40 | |
moritz | LWP::Simple used :16() for converting hex chunk lengths | ||
*uses | |||
and that would barf when the hex string started with 0d | |||
pmichaud | Yes, that was a Rakudo bug. | ||
moritz | but specialcasing 16 also feels Very Wrong | ||
pmichaud | But the other forms (at least :2, :8, and :10) should still allow the "0x" forms. | 12:41 | |
at least as the spec is written today. | |||
12:41
GlitchMr joined
|
|||
moritz | well, I can see two possible solutions that make sense to me: | 12:41 | |
1) we allow '0x', '0b' etc. for bases < 10 | 12:42 | ||
pmichaud | well, <= 10 | ||
moritz | 2) we remove the magic entirely, and rely on .Numeric for that kind of magic | ||
pmichaud: right | |||
the current wording is just insane | |||
pmichaud | although I can argue that 0x should still work even for :16 | 12:43 | |
and 0o also. | |||
3) '0x' etc work as long as the second character isn't a valid digit in the default base | |||
moritz | 4) we allow a default :$base on Str.Numeric | 12:44 | |
pmichaud | I don't see how 4 departs from what we have now, though. | ||
moritz | 4) would be the addition to 2) to make the feature available for those who want it | 12:45 | |
pmichaud | oh, then :$base on Str.Numeric would force a base, not set a default. | ||
perl6: say +"0x10" | 12:46 | ||
p6eval | pugs, rakudo 3d7cc4, niecza v16-9-ge08dd76: OUTPUT«16» | ||
pmichaud | perl6: say "0x10".Numeric | ||
p6eval | rakudo 3d7cc4, niecza v16-9-ge08dd76: OUTPUT«16» | ||
..pugs: OUTPUT«*** No such method in class Str: "&Numeric" at /tmp/6i6UdAcGhx line 1, column 5 - line 2, column 1» | |||
dalek | ast: 3dab5c0 | moritz++ | S32-exceptions/misc.t: RT #112056 |
12:47 | |
moritz | I'll go with 1) now, because it's easy and mostly compatible with the wording of the spec | ||
pmichaud | be sure to review the spec change with TimToady++, too :) | 12:48 | |
moritz | ok | ||
pmichaud: have you already changed the post-commit hook URLs on github.com/rakudo/* ? | 12:49 | ||
pmichaud | not yet, will do that momentarily | ||
moritz | great | ||
pmichaud | which url should I change? there are three. | 12:50 | |
moritz | those that have host04.appflux.net (or so) as the host name | 12:51 | |
I don't have admin access, so I don't even know what kind of post-commit hooks we have :-) | |||
pmichaud | currently we have | 12:52 | |
host04.appflux.net:5000/dalek?t=fre...net,parrot | |||
timtowtdi.org:3333/ | 12:53 | ||
new.leto.net:3000/hook/ | |||
moritz | the first one should change to feather3.perl6.nl:5000/dalek?t=free...net,parrot | ||
the second can be removed, the domain doesn't exist anymore | |||
pmichaud | okay, changed the rakudo repo | 12:54 | |
changed the star repo to: feather3.perl6.nl:5000/dalek?t=freenode,perl6 | |||
moritz | pmichaud++ | 12:55 | |
pmichaud | (star repo had only one hook) | ||
12:58
stef___ left
12:59
kaleem_ joined
13:00
kaleem left
13:04
stef___ joined
|
|||
moritz | wow, qconlondon.com/dl/qcon-london-2012/...Beyond.pdf mentions a Meta Object Protocol as an idea for JDK 9 | 13:20 | |
[Coke] | we're still struggling to roll out 7 here. ;) | 13:21 | |
13:31
skids joined
13:32
PacoAir joined
|
|||
dalek | kudo/nom: dab5893 | moritz++ | src/core/Str.pm: make unbase moderately magic again This now allows 0x and 0o in :16(), but 0d is correctly interpreted as a hex byte, not a prefix for decimal. pmichaud++ |
13:34 | |
ast: 6b41ab3 | moritz++ | S02-literals/radix.t: test :16("0d...") |
|||
13:36
tarch_ joined,
tarch left
13:56
stef___ left
13:59
fsergot joined,
fsergot left,
fsergot joined
|
|||
fsergot | Hi #perl6 o/ | 13:59 | |
moritz | \o fsergot | 14:00 | |
tadzik | o/ | ||
14:09
tokuhiro_ joined,
stef__ joined
14:10
kaleem_ left
|
|||
moritz | nom: sub f { ... 'foo' }; say f | 14:11 | |
p6eval | rakudo dab589: OUTPUT«foo in method gist at src/gen/CORE.setting:8140 in sub say at src/gen/CORE.setting:6244 in block <anon> at /tmp/PJ8cD_HUAT:1» | ||
moritz | nom: sub f { !!! 'foo' }; say f | ||
p6eval | rakudo dab589: OUTPUT«foo in sub f at /tmp/dGSFsdyhdi:1 in block <anon> at /tmp/dGSFsdyhdi:1» | ||
moritz | nom: sub f { ??? 'foo' }; say f | ||
p6eval | rakudo dab589: OUTPUT«foo0» | ||
moritz | \o/ we can close the third oldest ticket in RT once we write tests for them | 14:12 | |
dalek | ast: 903dffc | moritz++ | S32-exceptions/misc.t: test that stubby exception generators can take an argument |
14:17 | |
moritz | r: macro doit($w) { quasi { say $w, $w } }; doit 'foo' | 14:19 | |
p6eval | rakudo dab589: OUTPUT«AST.new()AST.new()» | ||
moritz | I'd need hole for that, right? | ||
r: enum A <b c d>; say A(1) | 14:21 | ||
p6eval | rakudo dab589: OUTPUT«c» | ||
moritz | r: role A { has $.io handles <say> }; class B does A { }; A.new(io => $*OUT).say: 'foo' | 14:23 | |
p6eval | rakudo dab589: OUTPUT«foo» | ||
tadzik | hole? | 14:25 | |
I assume you'll need say {{{$w}}}, {{{$w}}} | |||
moritz | yes, that's what I mean by holes | ||
tadzik | right. That's how I understand it | ||
dalek | ast: 931b743 | moritz++ | S12-enums/thorough.t: clean up enum tests a big, refudge for rakudo |
14:36 | |
kudo/nom: 5793035 | moritz++ | t/spectest.data: run t/spec/S12-enums/thorough.t |
14:37 | ||
14:41
kaare_ joined
14:51
thou joined
14:53
thou left
15:01
havenn joined
15:03
fhelmberger left
15:04
fhelmberger joined,
birdwindupbird left
15:05
birdwindupbird joined
15:06
BruceZu joined
15:11
havenn left
15:12
havenn joined
15:17
tokuhiro_ left,
derrazo left,
tokuhiro_ joined
15:18
birdwindupbird left
15:20
MayDaniel joined
|
|||
timotimo | does ($a, $b) .= reverse work because reverse has the arguments set to "is rw"? same thing for @a[1, 2] .= reverse? | 15:20 | |
15:23
havenn left,
havenn joined
15:24
tokuhiro_ left
15:25
cosimo left
15:28
tokuhiro_ joined
15:32
tokuhiro_ left
15:35
havenn left,
havenn joined
|
|||
bbkr | jnthn: i've managed to connect to libGeoIP with NativeCall :) the only issue is that I have to provide full path to dylib - is native('/opt/local/lib/libGeoIP.dylib') - because it search for .bundle without that | 15:36 | |
15:36
icwiener left
15:37
icwiener joined,
tyatpi joined
15:39
NamelessTee joined
15:40
wtw left
|
|||
moritz | timotimo: ($a, $b) .= reverse desugars to ($a, $b) = ($a, $b).reverse | 15:42 | |
timotimo: so reverse is really not special, and the = does ordinary list assignment | 15:43 | ||
timotimo: @a[1, 2] requires .[ ] to mark the return values as rw though | |||
sjohnson | perl6: say "happy pig".reverse | ||
p6eval | pugs: OUTPUT«gip yppah» | 15:44 | |
..rakudo 579303: OUTPUT«happy pig» | |||
..niecza v16-9-ge08dd76: OUTPUT«Unhandled exception: Unable to resolve method reverse in class Str at /tmp/bqct8eiWyY line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line 3838 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 3839 (module-CORE @ 65)  at /home… | |||
sjohnson | that's nice | ||
no need for taht 'scalar' thing like in p5 | |||
hmm.. how come it didn't reverse on rakudo? | |||
15:46
havenn left,
havenn joined
15:47
Psyche^ joined
|
|||
[Coke] | perl6: say "happy pig".flip | 15:49 | |
p6eval | pugs: OUTPUT«*** No such method in class Str: "&flip" at /tmp/78Wt0AATKo line 1, column 5 - line 2, column 1» | ||
..rakudo 579303, niecza v16-9-ge08dd76: OUTPUT«gip yppah» | |||
[Coke] | because that's one of the changes from p5. | 15:50 | |
reverse is for lists, flip is for strings. | |||
15:51
Patterner left,
Psyche^ is now known as Patterner
15:52
fglock left
15:58
tarch_ left,
tarch_ joined
16:00
fsergot left
16:03
havenn left,
havenn joined
|
|||
TimToady | and hyper flip is for lists of strings :) | 16:12 | |
moritz | p6: say <happy pig>».flip | 16:13 | |
p6eval | rakudo 579303, niecza v16-9-ge08dd76: OUTPUT«yppah gip» | ||
..pugs: OUTPUT«*** No such method in class Array: "&>>flip" at /tmp/2tfyMS3N00 line 1, column 5 - line 2, column 1» | |||
sjohnson | what does the >> do? | 16:20 | |
p6: say <cow pig chicken>.WHAT | |||
p6eval | rakudo 579303, niecza v16-9-ge08dd76: OUTPUT«Parcel()» | ||
..pugs: OUTPUT«Array» | |||
sjohnson | ahh i get it | ||
6: say <happy pig>.flip | 16:21 | ||
p6: say <happy pig>.flip | |||
p6eval | rakudo 579303, niecza v16-9-ge08dd76: OUTPUT«gip yppah» | ||
..pugs: OUTPUT«*** No such method in class Array: "&flip" at /tmp/Vxc_s0xqXI line 1, column 5 - line 2, column 1» | |||
sjohnson | p6: say <happy pig>».WHAT | ||
p6eval | niecza v16-9-ge08dd76: OUTPUT«Str() Str()» | ||
..rakudo 579303: OUTPUT«Parcel()» | |||
..pugs: OUTPUT«StrStr» | |||
sjohnson | mindblowing technology! | ||
once perl6 becomes installed on Ubuntu systems by default, I'll have a lot of p6 learning to do | 16:25 | ||
sjn | sjohnson: try learning it earlier, and help make it happen that perl6 becomes installed on Ubuntu systems by default :) | 16:26 | |
sjohnson: you know to solve that particular chicken & egg problem | 16:27 | ||
sjohnson | still learning a lot of stuff about p5 ! | ||
16:38
lichtkind joined
16:42
bbkr left,
derrazo joined,
daxim left
|
|||
moritz | rakudo: enum A <a b c>; enum B <a b c>; say c.perl | 16:45 | |
p6eval | rakudo 579303: OUTPUT«B::c» | ||
moritz | r: say Int() | 16:46 | |
p6eval | rakudo 579303: OUTPUT«0» | ||
16:48
dolmen left
16:49
zipf joined
16:54
icwiener left,
icwiener joined
16:56
derrazo left
16:57
spider-mario joined
17:00
dalek left,
fsergot joined,
dalek joined,
ChanServ sets mode: +v dalek,
hugme left
17:04
lichtkind left
17:16
zipf left
|
|||
dalek | ast: aa81a8b | moritz++ | S13-type-casting/methods.t: RT #72834 |
17:16 | |
moritz | rakudo: say 0xFFFFFFFFFFFFFFFF | 17:18 | |
p6eval | rakudo 579303: OUTPUT«18446744073709551615» | ||
17:20
hugme joined,
ChanServ sets mode: +v hugme
|
|||
dalek | ast: 0954436 | moritz++ | S02-types/num.t: RT #73238: 0xFFFFFFFFFFFFFFFF overflowed to -1 |
17:20 | |
moritz | rakudo: 0 but last | 17:22 | |
p6eval | rakudo 579303: OUTPUT«last without loop construct in block <anon> at src/gen/CORE.setting:303 in block <anon> at src/gen/CORE.setting:359 in block <anon> at /tmp/PVHJSBPf6h:1» | ||
17:22
fhelmberger left
17:23
mj41 left,
stef__ left
17:29
icwiener left,
icwiener joined
17:31
Vlavv` joined
17:34
Vlavv_ left
17:37
icwiener left,
icwiener joined
17:51
birdwindupbird joined
17:54
colomon left
17:56
tarch_ left,
mj41 joined
18:04
Chillance joined,
hugme left,
d4l3k_ joined,
dalek left
18:05
Juerd left,
Juerd joined,
d4l3k_ is now known as dalek
18:06
hugme joined,
ChanServ sets mode: +v hugme
18:12
colomon joined
|
|||
sorear | good * #perl6 | 18:16 | |
18:18
snearch joined
|
|||
diakopter | o/ | 18:20 | |
sjohnson | sorear: hi | ||
diakopter: :) | |||
sorear | o/ diakopter , sjohnson | 18:24 | |
sjohnson | perl's been rocking my world as of late | 18:25 | |
18:25
fgomez joined
18:27
icwiener left,
icwiener joined
|
|||
moritz discovers less -R | 18:28 | ||
sjohnson | sjohnson@web1:~/http$ type -a less | 18:32 | |
less is aliased to `less -i -R' | |||
i forgot what that did back then, but now I remember: colours! | |||
sjohnson doesn't use less much anymore, vim -R - | 18:36 | ||
sorear | I have export LESS=FRSX in my rc files | 18:37 | |
fgomez | -c 'set ft=man' | ||
18:39
birdwindupbird left
18:45
bbkr joined
18:51
thou joined
18:53
alester joined
18:59
MayDaniel left
19:05
s1n left
|
|||
masak is back home | 19:06 | ||
I bring you peace, hugs, and autopuns. | |||
sjohnson | ... :3 | ||
moritz wants the latter two | |||
sjohnson cashes in on the hugs | |||
moritz | I need them after tracking down a nasty rakudobug | ||
well, golfing it, really | |||
masak hugs sjohnson! :3 | 19:07 | ||
sjohnson | haha | ||
masak | as to the autopuns... | ||
I don't know if the UDP joke ever made it from Twitter to here. | |||
"I would tell you a UDP joke but you might not get it." | 19:08 | ||
moritz | I thought the first line was the autopun :-) | ||
masak | actually, that one is half autopun, half actual pun. | ||
moritz | 21:07 < masak> I don't know if the UDP joke ever made it from Twitter to here. | ||
masak | moritz: ;) | ||
as for the other one, hm, let me dig up the exact wording... | |||
moritz | but the second one, I knew that | 19:09 | |
so I think you or TimToady++ brought it here already | |||
masak | ah, yes. this one has a slightly funny shape, even though it's still just the regular old use/mention mixup. | 19:10 | |
"The touble with quotes on the Internet is that it's difficult to discern whether or not they're genuine." -- Abraham Lincoln | |||
trouble* | |||
moritz | :-) | 19:11 | |
sorear | MASAK | ||
masak | SOREAR | ||
we meet again. | |||
masak fingers holster nervously | |||
flussence | .oO( "Did you hear the TCP joke? Did you hear the TCP joke? Did you hear the TCP joke? Did you hear the TCP joke? ..." ) |
||
masak | flussence: you can say that again. | 19:12 | |
flussence | I think I'll give it a RST for now | ||
moritz | flussence: NACK | ||
today's rakudobug: rt.perl.org/rt3/Ticket/Display.html?id=112148 | |||
found while debugging URI.pm | |||
maybe known in some form or another already, but nasty enough to reported again in any case :-/ | 19:13 | ||
tadzik | But you might not get it. I have a UDP joke | ||
masak | tadzik: you have to make that "but it might not arrive in the right order. I have a UDP joke" for it to be an autopun. | 19:14 | |
moritz | and it's still only half as funny as the one about multithreading | 19:15 | |
but do you remember the one about time travel which I'll tell you tomorrow? | 19:18 | ||
masak | I like the one about multithreading. I like autopuns which also remix older jokes. | ||
maybe I should go looking for those. | |||
moritz | aye | ||
like the 10 types of people jokes | |||
and the "some people, when faced with a problem" | 19:19 | ||
19:19
s1n joined
|
|||
masak | the multithreading one is of the latter kind. | 19:19 | |
arnsholt | Idle thought while rebuilding Rakudo: Has anyone thought about making nqp/ and parrot/ git submodules? | 19:24 | |
masak | what would be the benefit of that? | 19:25 | |
19:25
LylePerl joined
|
|||
sorear | masak: automatic handling of NQP_VERSION | 19:26 | |
flussence | 1 `git pull` for everything, and the SCM does the job of those PARROT_REVISION files | 19:27 | |
masak | I see. | ||
sorear | is the best rakudo branch still "nom"? | ||
moritz | sorear: yes | ||
sorear | flussence: I thought you also had to do `git submodule update` | ||
arnsholt | Yeah, primarily killing off *_REVISION | ||
moritz | flussence: but we have to handle PARROT_REVISION for non-git checkouts (tarballs) anyway | ||
arnsholt | The submodule bits are arcane, even for git though | 19:28 | |
flussence | hm, you both probably know better than I do there :) | ||
moritz | I've never used git submodules | ||
flussence has only ever done this sort of fancy stuff with svn repos at $dayjob | |||
19:28
tyatpi left
|
|||
arnsholt | IIRC SVN's handling of this is a bit more user-friendly | 19:30 | |
Arglebargle. Something goes wrong when compiling Parrot | 19:32 | ||
Something with my installed ICU, I think | 19:33 | ||
19:35
birdwindupbird joined,
thou left
19:43
tyatpi joined
19:44
leprevost left
|
|||
dalek | kudo/nom: edb1989 | moritz++ | t/spectest.data: we pass another test. Just like this. |
19:45 | |
kudo/nom: 3f7d5c2 | moritz++ | t/spectest.data: we pass some more macro tests |
|||
19:46
havenn left
19:51
LylePerl left
|
|||
dalek | ast: 6fb747c | moritz++ | S11-modules/importing.t: clean up importing.t, refudge for rakudo |
19:55 | |
sorear | wheeee rakudo build succeeded | ||
moritz | \o/ | 19:56 | |
dalek | kudo/nom: 431a3fa | moritz++ | t/spectest.data: run another test file |
19:57 | |
ast: db209e0 | moritz++ | S05-metasyntax/assertions.t: fix S05-metasyntax/assertions.t |
20:00 | ||
kudo/nom: 2e851f2 | moritz++ | t/spectest.data: run S05-metasyntax/assertions.t |
20:01 | ||
moritz | p6: my $*a = 42; foo; sub foo { say $*a; my $*a } | 20:03 | |
p6eval | rakudo 579303, niecza v16-9-ge08dd76: OUTPUT«Any()» | ||
..pugs: OUTPUT«» | |||
moritz | p6: my $a = 42; foo; sub foo { say $a; my $a } | ||
p6eval | niecza v16-9-ge08dd76: OUTPUT«===SORRY!===Lexical symbol '$a' is already bound to an outer symbol (see line 1); the implicit outer binding at line 1 must be rewritten as $a before you can unambiguously declare a new '$a' in this scope at /tmp/sV42Sm4S1e line 1:-… | ||
..pugs: OUTPUT«***  Unexpected "}" expecting "?", "!", trait, "=" or infix assignment Redeclaration of "$a" conflicts with earlier OUTER references in the same scope at /tmp/ahKrRvAgek line 1, column 42» | |||
..rakudo 3f7d5c: OUTPUT«Any()» | |||
moritz | p6: sub foo() { return 1,2,:c<3> }; say foo().perl | 20:04 | |
p6eval | niecza v16-9-ge08dd76: OUTPUT«Unhandled exception: Excess arguments to return, unused named c at /home/p6eval/niecza/lib/CORE.setting line 0 (return @ 1)  at /tmp/di_ZE0R6C5 line 1 (foo @ 3)  at /tmp/di_ZE0R6C5 line 1 (mainline @ 2)  at /home/p6eval/niecza/lib/CORE.setting line … | ||
..rakudo 3f7d5c: OUTPUT«(1, 2, "c" => Mu)» | |||
..pugs: OUTPUT«(1, 2, ("c" => "3"))» | |||
moritz | pugs++ | 20:05 | |
wow, rt.perl.org/rt3/Ticket/Display.html?id=75174 now segfaults | 20:06 | ||
20:15
havenn joined
|
|||
masak | an oldie-but-goodie. | 20:15 | |
20:16
GlitchMr left
|
|||
moritz | anyway, today I closed our third-oldest open ticket | 20:21 | |
of course jnthn++ did most of the work :-) | 20:22 | ||
masak | yeah, I saw a lot of closages in my mail feed. moritz++ | 20:25 | |
20:29
havenn left
20:32
thou joined
20:33
icwiener left
|
|||
moritz | r: say (defined "a" => 5).perl' | 20:37 | |
p6eval | rakudo 2e851f: OUTPUT«===SORRY!===Confusedat /tmp/BUaF2LPnA7:1» | ||
moritz | r: say (defined "a" => 5).perl | 20:38 | |
p6eval | rakudo 2e851f: OUTPUT«Bool::True => 5» | ||
moritz | ah, that's because defined is a prefix op, which happens to be tighter than infix:<=>> | ||
sorear | in Rakudo | 20:39 | |
in STD/niecza, defined is a listop which is looser than && | |||
we need consistency :| | |||
moritz | I'm all for making it a listop | 20:40 | |
I'd also say that abs should be a listop, not a prefix | 20:41 | ||
20:42
xinming_ left
|
|||
moritz | I don't see why it should be more special-cased than, say, uc | 20:42 | |
20:44
xinming joined
|
|||
masak | listops++ | 20:44 | |
+1 on making both defined and abs listops. | 20:45 | ||
we don't want to actively create lists-of-exceptions-you-have-to-learn. | |||
sorear | std: "foo @$bar" | 20:48 | |
p6eval | std 5740094: OUTPUT«===SORRY!===Variable $bar is not predeclared at /tmp/Rec9b1zWOC line 1:------> "foo @⏏$bar"Check failedFAILED 00:01 109m» | ||
fgomez | is there a way to declare a sub which takes an array with a single element? | 20:49 | |
sorear | question doesn't fully make sense - Perl 6 doesn't have sub declarations | 20:50 | |
furthermore, Perl 6 array types do not typologically encode size | 20:51 | ||
my best guess for what you want is signature unpacking - 'sub foo([$x]) { ... use $x ... }' | |||
20:51
PerlJam left,
hugme left
20:52
Util left,
masak left
|
|||
sorear | however, as far as the outside world cares, foo might as well have been declared sub foo(@x) { ... } | 20:52 | |
20:52
dalek left,
Juerd left,
[Coke] left,
tadzik left,
pmichaud left
20:53
y3llow_ joined,
dalek joined,
ChanServ sets mode: +v dalek,
bruges_ joined
20:54
Juerd joined,
tadzik joined
20:55
bruges left,
y3llow left,
skids left,
y3llow_ is now known as y3llow
20:57
hugme joined,
ChanServ sets mode: +v hugme
20:58
masak joined,
PerlJam joined,
pmichaud joined,
[Coke] joined,
Util joined
|
|||
masak | ...netsplit much? | 20:59 | |
sorear | masak: not a netsplit | 21:00 | |
feathersplit | |||
21:01
birdwindupbird left
21:02
hugme left
|
|||
sorear | except for y3llow and bruges, who are dialing in from the same Taiwanese IP | 21:02 | |
all the rest are *.perl6.nl | |||
21:03
dalek left,
[Coke] left,
tadzik left
21:04
PerlJam left,
masak left,
Juerd left,
Util left,
pmichaud left
|
|||
fgomez | sorear: something to differentiate ([$a, *@as]) vs ([$a]) | 21:04 | |
21:09
dalek joined,
ChanServ sets mode: +v dalek
|
|||
moritz | erm, no | 21:12 | |
r: sub f([$x]) { }; my @a = 1, 2; say f @a | |||
p6eval | rakudo 2e851f: OUTPUT«Too many positional parameters passed; got 2 but expected 1 in sub-signature in sub f at /tmp/kOfUnasXcj:1 in block <anon> at /tmp/kOfUnasXcj:1» | ||
fgomez | r: sub abc ([$a, *@as]) { }; &abc.signature | ||
p6eval | rakudo 2e851f: ( no output ) | ||
moritz | r: sub f([$x, *@as]) { }; my @a = 1, 2; say f @a | 21:13 | |
p6eval | rakudo 2e851f: OUTPUT«Nil» | ||
moritz | there's the difference. | ||
fgomez | r: multi abc ([$a]) {$a}; multi abc ([$a, *@as]) { "$a : [{@as}]" }; say abc [1,2,3] | 21:15 | |
p6eval | rakudo 2e851f: OUTPUT«1 : [2 3]» | ||
fgomez | r: multi abc ([$a]) {$a}; multi abc ([$a, *@as]) { "$a : [{@as}]" }; say abc [1] | ||
p6eval | rakudo 2e851f: OUTPUT«Ambiguous call to 'abc'; these signatures all match::():() in block <anon> at /tmp/mKLcHLHA5r:1» | ||
21:15
orafu left,
Util joined,
PerlJam joined,
orafu joined
21:16
pmichaud joined
|
|||
moritz | r: multi abc ([$a]) {$a}; multi abc ([$a, *@as where *.elems]) { "$a : [@as[]]" }; say abc [1] | 21:16 | |
p6eval | rakudo 2e851f: OUTPUT«1» | ||
moritz | r: multi abc ([$a]) {$a}; multi abc ([$a, *@as where *.elems]) { "$a : [@as[]]" }; say abc [1, 2, 3] | ||
p6eval | rakudo 2e851f: OUTPUT«1 : [2 3]» | ||
21:16
alester left
|
|||
fgomez | oh that's great | 21:16 | |
21:16
tadzik joined
|
|||
fgomez | how is the * working there? | 21:17 | |
moritz | it creates a closure that calls .elems on its argument | 21:19 | |
ie the same as -> $x { $x.elems } | |||
r: multi abc ([$a]) {$a}; multi abc ([$a, *@as where @as]) { "$a : [@as[]]" }; say abc [1, 2, 3] | |||
p6eval | rakudo 2e851f: OUTPUT«1 : [2 3]» | ||
moritz | r: multi abc ([$a]) {$a}; multi abc ([$a, *@as where @as]) { "$a : [@as[]]" }; say abc [1] | ||
p6eval | rakudo 2e851f: OUTPUT«Ambiguous call to 'abc'; these signatures all match::():() in block <anon> at /tmp/vibpL3UnCh:1» | ||
moritz | eeks | ||
21:20
[Coke] joined,
masak joined
21:24
hugme joined,
ChanServ sets mode: +v hugme
|
|||
fgomez | moritz: I was trying to use '!' for the *@as but found out it doesn't work | 21:25 | |
is that dumb of me to try that? Don't really understand it well | 21:26 | ||
fsergot | 'night o/ | ||
21:28
birdwindupbird joined
21:29
fsergot left
21:34
birdwindupbird left
21:35
colomon left
21:38
Juerd joined
21:39
snearch left
21:43
bbkr left
21:44
mj41 left
|
|||
masak | fgomez: what, you mean like *@as! ? | 21:47 | |
yeah, I don't really see what the ! would add in that case. | 21:49 | ||
21:49
spider-mario left
|
|||
masak | 'night, #perl6 | 21:56 | |
sorear | bye masak | ||
tadzik | gnight | ||
21:56
thou left
22:02
kaare_ left
22:08
fgomez left
22:18
Trashlord left
22:27
alester joined
22:30
lichtkind joined
22:32
alester left
|
|||
timotimo | how do i mark the return value of a function rw? sub yoink($a is rw) is rw { $a += 1; return $a; } perhaps? | 22:35 | |
sorear | you might need to use return-rw, or just $a | 22:36 | |
lichtkind | why do you want that, i can understand a rw parameter | ||
sorear | lichtkind: accessors | 22:37 | |
$foo.bar = 5; # requires bar() to be rw | |||
timotimo | i got that from the explanation of why @a[1, 2] .= reverse can work | ||
return-rw is a keyword just like return? | 22:38 | ||
sorear | s/keyword/builtin | 22:39 | |
22:40
lestrrat left
22:41
lestrrat joined
|
|||
timotimo | oh, that's fun. you can define a state variable, return-rw it and set it from outside | 22:47 | |
22:52
fgomez joined
23:01
whiteknight joined
|
|||
lichtkind | rakudo seems to miss the true operator | 23:07 | |
? 4 works but not the wordy lower precedence alternative | |||
sorear | rakudo: say so 4 | ||
p6eval | rakudo 2e851f: OUTPUT«True» | ||
lichtkind | or was it halted during i was away | ||
so? | 23:08 | ||
what is so? | |||
timotimo | turns things into a boolean i believe | ||
lichtkind | nobody told me so :) | ||
so true went into so | 23:09 | ||
timotimo: thank you | |||
timotimo: your not a newbe? | |||
timotimo | i'm very new actually | 23:12 | |
23:13
Gothmog_ left
|
|||
lichtkind | but how do you know that? | 23:13 | |
im part of the fixture and missed that :) | |||
timotimo | haha. i pick up a few good bits every now and then | ||
i'm very interested, you see, but i can hardly write anything in perl6 yet | 23:14 | ||
23:14
Gothmog_ joined
|
|||
lichtkind | i just care to find help in the work i do and thats almost without any coding :) | 23:15 | |
fgomez | r: ([[1,2,3],[4,5,6]] »*« [[1,2,3],[4,5,6]]).perl | 23:18 | |
p6eval | rakudo 2e851f: ( no output ) | ||
sorear | I blame English language hegemony | ||
fgomez | r: say ([[1,2,3],[4,5,6]] »*« [[1,2,3],[4,5,6]]).perl | ||
p6eval | rakudo 2e851f: OUTPUT«([1, 4, 9], [16, 25, 36]).list» | ||
fgomez | that is really neat | ||
lichtkind | timotimo: but i suppos your not very interested in writing docs :) | 23:19 | |
fgomez | r: say ([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]] »*« [[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]]).perl | 23:20 | |
p6eval | rakudo 2e851f: OUTPUT«([[1, 4, 9], [16, 25, 36]], [[49, 64, 81], [100, 121, 144]]).list» | ||
23:20
NamelessTee left
|
|||
timotimo | lichtkind: not yet able to | 23:25 | |
i did contribute a few bits to the perl6 book, though | |||
i was considering coming up with a better example than the YMCA dance for the introduction of higher order functions, but i've got nothing | 23:26 | ||
lichtkind | timotimo: wanted do that too but ya know with more than 4 clones my dns gets shaky | ||
timotimo: just reading can help , my approach is more systematic than in the book | |||
so any error can be spotted easy | 23:29 | ||
timotimo | your dns gets shaky from cloning? but dns contains error-correcting mechanisms ... | ||
lichtkind | was just supposed to be funny version of the thing that even i i would be 4 person i could not do what i like | 23:32 | |
timotimo | :) | 23:33 | |
i was just being a wise-ass ;) | 23:34 | ||
lichtkind | thats allright | ||
honestly i dont believe all this DNA thing | |||
if people bang their heads like this evolution vs creationism thing you know both are wrong :) | 23:36 | ||
23:39
alester joined
|
|||
timotimo | yeah, evolution and atheism is just a load of bull and creationism is as dumb as the other thing. i'm all for intelligent design nowadays. | 23:40 | |
lichtkind | i tend to think there is a sort of evolution just recent science clearly shows that dna is not the reliable information carriere the want to believe, but as the so often mistranslates sokrates quote: i know what i do not know and i dont pretend to know what i dont know, which most people just shorten to i know that i know nothing | 23:49 | |
and even following jewish orthodox teaching to take literal that earth is 6000 years is only first level of bible study (read: not very evolved :)) | 23:51 | ||
timotimo | i don't think i understand you :| | 23:52 | |
lichtkind | which part? | ||
timotimo | how does dna not being a "reliable information carrier" cause evolution not to work? - don't know about the mistranslation thing with socrates - what do you mean with "only first level of bible study"? | 23:53 | |
also: are people going to get mad at us for going violently off topic? | 23:55 |