»ö« 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! | tinyurl.com/p6contest
Set by moritz_ on 28 December 2010.
pmurias how do i get the newest mono? 00:01
sorear git clone git://github.com/mono/mono.git 00:05
I should clarify that the bugfixes are performance ones
00:06 molaf joined
sorear 1. the new garbage collector in 2.8 is much faster; in 2.9 it's stable enough to use, nearly doubling run speed 00:06
2. 2.9 can use AOT-compiled code for .exe files as well as .dlls
pmurias how fast is mono compared to the microsoft .net? 00:10
00:16 Piesie joined
Piesie Hello 00:17
TimToady howdy 00:19
what would you like to know about Perl 6? 00:20
Piesie Want to develop a web app using perl. Just want to know if perl6 is ready for use in commercial app. I haven't used perl in months. 00:21
TimToady at the moment performance is still slow on rakudo, so it would depend on you much stress you were putting on it
Piesie Ok. 00:22
TimToady also, we're not yet to the point of promising backward compatibility, so it depends on how sensitive you are to that
one can, of course, take a snapshot of the current version to guarantee some kind of continuity 00:24
Piesie U mean it's ready for use in developing apps but, just need some work on it's speed/performance?
TimToady it's basically being used by early adopters who want to figure where things will be a couple years, and aren't afraid of a few bumps between now and then 00:25
Piesie Ok.
TimToady so yes, you can develop apps now, but for the moment they're still pretty slow, and may break occasionally
it's fun though :) 00:26
and it will be approaching "commercial grade" within the next year or three 00:27
Piesie :-) . Sure it is. I love it when i spend hours trying to fix a bug, only to realize it's something small.
Ok. Will give it a try. 00:28
TimToady the things that work tend to work pretty well
also documentation is still in a rudimentary stage
Piesie Began last year, but stopped midway.
Ok.
TimToady you'll find it better now, though still not perfect
Piesie How about the modules. CPAN? 00:29
TimToady there are several efforts at bootstrapping a module ecosystem, with oh 70 or so modules in the large ones
Piesie Has it got its own set of modules/libs? 00:30
TimToady some come standard with Rakudo Star, which is more of a distribution model
Piesie Ok. All written in perl6?
TimToady others are available through pls or neutro
mostly; some may have dependencies on p5 modules via zavolaj 00:31
jnthn ...Blizkost? :)
TimToady that's what I meant
jnthn Zavolaj is the library for calling C :)
00:32 cafesofie joined
jnthn I blame the guy who chose Slovak names for his projects. 00:32
TimToady which some of the modules also do, but jnthn knows more about than me
Piesie Hmm. Very perlish!
jnthn The MiniDBI (database connectivity) library is built on top of Zavolaj
It's kinda nice in that it's a pure Perl 6 library. No need to have a C compiler to use it.
s/use/install/ 00:33
Piesie Great.
TimToady well, pure perl down to the zavolaj layer, anyway
jnthn Well, yes. :)
Zavolaj is...magical. :)
TimToady but lets you use ordinary .so or .dll files, I guess
jnthn Aye.
TimToady at least for simple APIs 00:34
jnthn Yeah. It's limited, but good enough for at least mysql/pgsql and I know others have done other bits with it too.
Piesie Apart from it's OO features, how different is perl6 from the current version?
jnthn It'll improve.
Piesie K 00:35
TimToady it's quite different in some ways
much stronger FP support too
00:35 pmurias left
TimToady the grammar is much more regular and self-describing 00:35
the standard parser is written in Perl 6
and because of the regularity, we can also do some rather more powerful things than P5 can 00:36
such as meta-operators like APL has, only readable :)
Piesie Ok. 00:37
TimToady rakudo: say 1,2,3 Z+ 5,5,5
p6eval rakudo d5b9d9: OUTPUT«678␤»
TimToady that a "zipped" plus 00:38
it does the two lists pairwise like a zipper
and you can put any infix there in place of +
Piesie Nice 00:39
TimToady so we can concat instead of add, for instance
rakudo: say 1,2,3 Z~ <a b c>
p6eval rakudo d5b9d9: OUTPUT«1a2b3c␤»
TimToady rakudo: say (1,2,3 Z~ <a b c>).perl
p6eval rakudo d5b9d9: OUTPUT«("1a", "2b", "3c")␤»
TimToady that's clearer
there's a related X metaop that does a "cross product" 00:40
rakudo: say (1,2,3 X~ <a b c>).perl
Piesie This is cool
p6eval rakudo d5b9d9: OUTPUT«("1a", "1b", "1c", "2a", "2b", "2c", "3a", "3b", "3c")␤»
jnthn One of the nicest ones is reduction.
rakudo: say [+] 1,2,3
p6eval rakudo d5b9d9: OUTPUT«6␤»
jnthn Like putting the operator between the values.
TimToady perhaps the most potent difference from Perl 5 is that lists are lazy 00:41
jnthn rakudo: sub factorial($n) { [*] 1..$n }; say factorial(5); say factorial(10);
p6eval rakudo d5b9d9: OUTPUT«120␤3628800␤»
TimToady so instead of a factorial function, you can just define a lazy factorial array
00:42 carlos left
jnthn is curious what TimToady's favorite way of writing that is... 00:42
TimToady rakudo: my @factorial := [\*] 1..*; say @factorial[5]; say @factorial[10]
p6eval rakudo d5b9d9: OUTPUT«720␤39916800␤»
TimToady well, off by one, but you get the idea
jnthn Oh, wow. :) 00:43
I don't think I've seen the triangle reduction used for that before. :)
TimToady rakudo: my @factorial := 0, [\*] 1..*; say @factorial[5]; say @factorial[10]
p6eval rakudo d5b9d9: OUTPUT«120␤3628800␤»
TimToady there we go
Piesie Gr8 00:44
TimToady the cute thing about it is that it automatically memoizes, so factorial(10) doesn't have to recalculate factorial(5)
Piesie Will visit the page. 00:45
That's great
TimToady for lots of examples, see rosettacode.org
rosettacode.org/wiki/Category:Perl_6 specifically
sorear jnthn: spend some time in #haskell, you'd be amazed at the abuses scanl can be put to :)
Piesie Thanks. Bye 00:46
TimToady ciao
00:47 Piesie left
jnthn sorear: I have to learn Haskell syntax to do that. :) 00:50
It's something that bizzarely seems to evaporate from my brane as soon as I learn it.
TimToady just think about the ramifications of defining new lazy array elements in terms of existing array elements 00:51
jnthn Probably lack of practice.
shortcircuit TimToady: Indeed; I was really, really, really pleased with that elegant, efficient primes generator. :) 00:55
00:55 mtk left
jnthn sleep o'clock & 01:01
TimToady nitey
jnthn night o/
01:02 mtk joined
colomon \o 01:08
TimToady shortcircuit: well, it's neither as elegant nor as efficient as it ought to be someday; 'last if $p > sqrt($n)' is neither of those
since it's recalculating sqrt($n) multiple times
and last wouldn't be necessary if we could nest ... correctly in rakudo 01:09
colomon hmmm, what's the issue there?
TimToady don't remember offhand, but the usual iterator collision I supect
we're talking about rosettacode.org/wiki/Prime_decomposition#Perl_6 01:10
colomon I guessed. :)
you can nest iterators now, you know.
TimToady if you want to try to turn the inner for loop into a ... I suspect you'll run into the problem, if it's still a problem
colomon I'll give it a go. 01:11
Hmmm... I did it using a similar loop in Math::Prime.
I think that was for speed, though. 01:12
TimToady anyway, @primes ... * > sqrt($n) didn't seem to work before; I think it eagerified it somewhere 01:14
colomon repeat { $n += 2 } until $n %% none do @primes ... * > sqrt($n); seems to work fine now. 01:15
TimToady cool
01:15 envi joined
TimToady I'll bet it recalculates sqrt though 01:15
colomon I'm guessing that actually ... yeah, that.
01:15 shi left
TimToady ... { $^p > START sqrt $n } 01:16
should reclone the sqrt at the right time 01:17
colomon seriously? cool.
TimToady ... { $^p > state $s = sqrt $n } # similarly
since state is defined in terms of START 01:18
(clone sensitivity is how state differs from C static)
colomon I'm not sure I prefer either of those to simply saying my $sqrt = sqrt($n); -- though I guess that kind of destroys the one-liner elegance. 01:19
I wonder what would be needed to allow the compiler to automatically hoist that out of the implicit loop? 01:20
TimToady pity you can't say { my $s = sqrt($n += 2) } since the $s would be trapped 01:21
01:21 MayDaniel left
TimToady realizing that $n doesn't vary in the loop would allow a loop-invariant optimizer to see it 01:21
shortcircuit Mm. 01:23
01:23 arlinius joined
TimToady doubtless Haskell would automatically memoize it 01:23
shortcircuit Were it me, I'd try explicitly caching the output of my check function. Is there a way to write something like: my @sqrts := sqrt($index)? 01:24
TimToady yes, that could also be cached lazily, though you'd still have a lookup each time, rather than an invariant scalar in the loop
sorear TimToady: "doubtless" - you'd be suprised 01:25
that behavior can cause memory leaks, so it's disabled by default in GHC (6.8)
colomon actually, isn't memoizing likely to be slower than calculating sqrt anyway?
TimToady not if it's just an index into an array 01:26
which you can do if you know the key is small integers
but yeah, there's still an awful lot of integers
so it wouldn't do to memoize that automatically for what might be a one-shot need 01:27
colomon It seems like it would have to recognize that you can memoize Int.sqrt a lot more efficiently than Real.sqrt
shortcircuit Is it that the key is small integers, or is it that the key is from a small set of integers? I'd need to look at the loop again, but being able to set an upper bound on memoized element count for a lazy list might be handy.
01:28 risou left
TimToady there are several more Reals than there are Ints, cantorifically speaking 01:28
not that we can name many of them with a finite computer...
it's a bit sobering to realize that virtually none of the arithmetic done on a computer can be irrational 01:29
unless it's done symbolically
rakudo: say pi # not really
p6eval rakudo d5b9d9: OUTPUT«3.14159265358979␤»
TimToady maybe it should be named pioid, or piish, or pilike 01:30
colomon pi-close-enough-for-sane-people. ;) 01:31
shortcircuit "it's a bit sobering to realize that virtually none of the arithmetic done on a computer can be irrational" ... oi. That really throws a wrench in some of the free will/AI sentience debates I've been participating in, lately.
Pun not intended.
colomon actually, of course if you're doing symbolic math you don't have to settle for an approximation on your computer any more than you have to with pencil and paper. 01:32
TimToady there are certainly ways of introducing quantum indeterminacy in a computation, so I don't think you should let the lack of IrRats bother you
shortcircuit Heh.
TimToady
.oO(EarRats)
shortcircuit I'll avoid participating in spilling that set of debates over here. :)
sorear a computer which uses finite-precision decimals can handle the same IrRats that a mathematician using same can 01:33
none of them
most of the interesting math doesn't use concrete numbers anyway 01:34
TimToady and since I believe the universe basically has free will; any sufficiently feedbacky construct within the universe can find ways of deferring a decision until a decision is wanted
sorear it's all free variables and quantifiers
colomon is now pondering making a numeric type which is just any Real * pi. 01:36
sorear on second thought, the computer wins
humans aren't that good with schoenhage-strassen :)
TimToady Pauli has something to say about "free", and Heisenburg has something to say about "quantified" :) 01:37
TimToady ponders a number system in which every number is its own square root, and tests it with two test cases... :) 01:38
sorear Z_2 is a lovely field
TimToady rakudo: say sqrt(True).Bool 01:39
p6eval rakudo d5b9d9: OUTPUT«Bool::True␤»
TimToady rakudo: say sqrt(False).Bool
p6eval rakudo d5b9d9: OUTPUT«Bool::False␤»
TimToady \o/
01:41 dukeleto left 01:42 dukeleto joined
colomon gist.github.com/780610 01:47
That's just a start. :)
rakudo: say 15 * pi - (10 * pi + 5 * pi) 01:50
p6eval rakudo d5b9d9: OUTPUT«0␤»
sorear rakudo: say (^10).WHAT 01:51
p6eval rakudo d5b9d9: OUTPUT«Range()␤»
dukeleto colomon: very nice to see the correct answer there :) 01:53
colomon dukeleto: kind of surprising. I was figuring there would be a tiny bit of floating point error in there.
dukeleto colomon: if that isn't a spectest, it should be :) 01:54
plobsing rakudo: say (15 * pi - (10 * pi + 5 * pi)).WHAT 01:56
Tene I find the idea of a setting that had annotations indicating pure functions in approrpiate places for a compiler to make use of appealing.
p6eval rakudo d5b9d9: OUTPUT«Num()␤»
colomon +1
plobsing rakudo: say (15 * pi - (10 * pi + 5 * pi)) * 1e10 01:57
p6eval rakudo d5b9d9: OUTPUT«0␤»
colomon plobsing: what I'm working on now is a simple class that allows you to do perfectly accurate basic math on pi. :) 01:58
It's completely useless, but cute.
sorear colomon: isn't there some rule to the effect that sin(Q * pi) \in \bar{C} ? 02:01
plobsing nifty
sorear er, \bar{Q}
colomon sorear: If so, I've not heard it.
hmmm... guess for sure it is true for the integers. 02:02
02:03 noganex_ left
colomon www.mathpages.com/home/kmath460/kmath460.htm 02:04
Just as a quick answer, isn't sin(pi/4) the sqrt(2)?
err, over 2? 02:05
rakudo: say sin(pi/4);
p6eval rakudo d5b9d9: OUTPUT«0.707106781186547␤»
02:05 noganex joined
colomon rakudo: say sqrt(2)/2 02:05
p6eval rakudo d5b9d9: OUTPUT«0.707106781186548␤»
sorear colomon: sqrt(2)/2 is in \bar{Q} though 02:06
it's the root of 4*x*x - 2 = 0
colomon do you mean \bar{Q} to be the irrational numbers? 02:07
shortcircuit rakudo: say (sin(pi/4) - sqrt(2/2)) 02:08
p6eval rakudo d5b9d9: OUTPUT«-0.292893218813453␤»
TimToady
.oO(the PiRats of Penzance)
sorear I mean the field of algebraic numbers 02:09
which is the minimal algebraic closure of Q
shortcircuit tries to figure out why he doesn't remember sqrt(2)/2 == 1/sqrt(2) as a trig identity. Probably because he couldn't remember any of his trig identities in calc class. 02:11
Probably also because it's not strictly trig.
colomon sorear: ah.
afk # company just arrived. 02:12
Tene shortcircuit: I don't see how that identity has anything to do with trig at all?
shortcircuit rakudo: say (sin(pi/4) - (sqrt(2)/2)
p6eval rakudo d5b9d9: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
shortcircuit blinks
Tene shortcircuit: it's just factoring... a/a² = 1/a
colomon gist.github.com/780610 # now updated with some operators.
shortcircuit rakudo: say (sin(pi/4) - (sqrt(2)/2))
p6eval rakudo d5b9d9: OUTPUT«-1.11022302462516e-16␤»
shortcircuit Ah, I see why I didn't see it. I forgot sqrt(2) == 2^(1/2) 02:14
Or something. I'm going to forget I ever took any math classes, now.
Tene shortcircuit: but... that's what sqrt means... 02:15
><
'k
02:15 molaf left
shortcircuit Tene: The last time I took a calc class was in 2003, it was Calc 2, and I got a C-. That's better than the D- I got in 2002. I haven't had to do much more than basic integrals with any regularity, and I've probably lost the intuition for just about anything above basic algebra. :-( 02:17
Tene shortcircuit: There's absolutely no need to justify yourself to me. :P
shortcircuit There was a fundamental gap in expectations of understanding. :)
TimToady the last calc I took was in, oh, 1973, ow... 02:18
everything we knew back then is now obsolete :)
Tene I wouldn't be born for another 12 years at that point. :) 02:19
shortcircuit And I'd have been born just two years before Tene.
shortcircuit double-checks by counting on his fingers. 02:20
shortcircuit should learn bit-twiddling tricks for finger-digit math hacks 02:22
TimToady used to be a 4-sigma event, but has probably misplaced a sigma or two since then 02:23
probably because I've forgotten some of my probability as well 02:25
shortcircuit ...gah. He took the pun already.
TimToady that sigma is the last to go, unfortunately
it's sad--someday I'll be making puns that I don't get myself 02:27
02:29 molaf joined
shortcircuit Wait... 02:30
01:35 < TimToady> and since I believe the universe basically has free will; any sufficiently feedbacky construct within the universe can find ways of deferring a decision until a decision is wanted
Are you saying reality is just a lazy list?
02:30 cafesofie left 02:37 arlinius left
colomon sorear: were you suggesting one could also do a class for the field of algebraic numbers? 02:43
dukeleto colomon: that sounds interesting
02:48 Chillance left 02:49 icwiener joined 02:50 dukeleto left, dukeleto joined 02:51 VXZ left 02:58 am0c joined 03:04 arlinius joined, cafesofie joined
colomon rakudo: say sin pi 03:32
p6eval rakudo d5b9d9: OUTPUT«1.22464679914735e-16␤»
diakopter niecza: say sin pi 03:35
p6eval niecza v1-149-g56c80b0: OUTPUT«Can't open perl script "niecza_eval": No such file or directory␤»
03:36 Raghu joined 03:41 Raghu left
sorear colomon: yes 03:47
colomon sorear: very interesting
TimToady crosses his fingers that certain people won't get distracted :) 03:51
colomon ;) 03:53
sorear TimToady: what? who? where? 03:57
lue hello fellow zebras! o/ 04:02
colomon lue: you'll love what I've been toying with. 04:03
lue can't wait to will love it 04:04
colomon lue: gist.github.com/780610
exact math with multiples of pi 04:05
lue woo-hoo! That saves 2 characters of typing, and looks more mathy too boot \o/ ! 04:07
colomon lue: the important bit is the exact
so if you say 10π + 5π, it's just doing integer arithmetic to get the answer 15π, and it's exactly 15π. 04:08
dalek ecza: 3320d05 | sorear++ | t (4 files):
Merge back test2
04:09
ecza: eab7f8a | sorear++ | Makefile:
Add test and p6eval make targets
lue ah, so it comes out 15π instead of some approximate floating number. That's very cool :)
colomon I don't know that it's terribly useful, but it was fun. 04:10
04:10 icwiener left
colomon and very easy 04:10
04:10 icwiener joined
lue now ponders infinite cardinals in Perl 6... aaah! 04:12
colomon and sorear++ is suggesting terrible ways to make it more ... umm... complete. :)
dukeleto colomon: can we make it act the same with irrational numbers? 04:14
lue as long as it's complete, nothing could *possibly* go wrong :) 04:15
colomon you mean some greater sort of symbolic math?
lue needs to heavily customize his compose key...
Tene lue: github.com/kragen/xcompose is what I use 04:16
I think a few others here do too.
04:17 kaare_ joined
colomon is ashamed to admit he just used the special character box in TextMate to get the first π, and has been cutting and pasting it ever since. 04:17
04:17 quester_ joined
colomon Especially sad because it turns out π is just option-p. 04:17
sorear suggested that if you pass a Rat times π to sine, the result should be an en.wikipedia.org/wiki/Algebraic_integer 04:18
lue Tene: I've actually come across that repo though. I looked at every single combination and decided not to use it :) [I should though...] 04:19
Ooh, I forgot. Happy Anniversary Wikipedia! \o/ 04:20
04:23 Su-Shee_ joined, tzhs_ joined 04:24 ashleydev left 04:25 tzhs left, tzhs_ is now known as tzhs 04:26 Su-Shee left 04:30 f00li5h left, arlinius| joined 04:31 arlinius left
lue colomon: any other evil things that could make your code more complete? 04:42
colomon lue: ah, there's always something out there...
04:43 Vlavv` left 04:44 ponbiki left 04:45 ponbiki joined
TimToady I think they should be PiRats, not PiInts 04:47
04:47 kaare_ left 04:48 icwiener left
lue
.oO(Do PiRats drink PiInts of beer?)
04:48
lue is activating the coolest .Xcompose file ever. Please wait. 04:50
04:51 lue left
colomon PyrE .... 04:51
off to bed
04:52 risou joined 04:54 BaggioKwok joined 04:55 Vlavv` joined 04:57 lue joined
lue ahoy, zebra PiRats o/ 04:57
05:03 BaggioKwok left 05:09 cafesofie left 05:29 mberends left 05:31 risou_ joined, risou left 05:35 dukeleto left, risou_ left 05:36 f00li5h joined, dukeleto joined 05:40 drbean left 05:49 gbacon joined 05:50 drbean joined 05:55 typepeter joined 06:01 icwiener joined
dalek ecza: bb76bbe | diakopter++ | FETCH_URL:
remove trailing linebreak from FETCH_URL; was breaking cygwin build; I'm sure there are other ways to fix it...
06:21
06:32 Bzek joined 06:34 Bzek_ left 06:38 quester_ left
dalek ecza: 4f2a35b | diakopter++ | README.pod:
README.pod: add a section for Cygwin/.NET; amend the CREDITS section a bit
06:43
06:46 cafesofie joined
dalek ecza: 240d90d | diakopter++ | README.pod:
more README cleanup/clarification
06:49
diakopter std: $*HIGHWATER = $¢.pos = @*MEMOS[$¢.pos]<ws>//$¢.pos; 06:51
p6eval std 625303c: OUTPUT«ok 00:01 121m␤»
diakopter o_O 06:52
(that line causes niecza to say "assigning to readonly value" 06:57
TimToady yes, it's one of the places STD cheats on the immutability of the current cursor 06:59
diakopter I thought I read the whole backlog.. 07:01
but that seems to be a problem with a clean checkout 07:02
clean clone
TimToady: do you get that error from a fresh clone/build?
TimToady eh? I'm still getting the problem of the old version 07:03
diakopter oh.
this is with .NET4
I haven't looked at the p6eval machine's niecza environment
I could try it on mono 2.8.2 07:04
diakopter looks
07:08 mberends joined
diakopter mberends: hi 07:08
working okay with 2.8.2 so far, I *thought*
but apparently it thought it needed to rebuild everything 07:09
mberends diakopter: hi from an android phone at London Gatwick airport (departing soon to visit jnthn :) 07:10
diakopter heh
good travels
TimToady: fresh niecza checkout, untampered mono 2.8.2 amd64/linux (debian) build, niecza gets all tests successful 07:12
mberends diakopter: thanks. Is Sprixel doing any spectesting? any LHF there? 07:14
moritz_ good morning 07:15
diakopter well, now that I suddenly have another choice of STD-compatible front-end (niecza) in addition to viv, I'm thinking of using that (once today's build kinks get curved out)... 07:16
mberends: so to answer your question, no, there's still no sprixel but for the perlesque language 07:17
which is complete but quickly becoming obviated
mberends these are exciting times for implementations :) 07:18
diakopter otoh, I still suspect niecza's Perl 6 parser could be lots more efficient/faster if its STD.pm6 were much more (primitive)type-annotated(or at least inferred)... so there still may be some value in pursuing that implementation angle (the primitive/native types, on up) 07:21
typepeter good morning , moritz
07:30 cafesofie left 07:37 cafesofie joined, justatheory left 07:42 mberends left 07:43 cafesofie left 07:47 sunnavy joined 07:49 TiMBuS left, TiMBuS joined 07:52 risou joined 08:15 acrussell left 08:28 barika joined 08:35 typepeter left 08:41 mtk left 08:49 Patterner left 08:51 Psyche^ joined, Psyche^ is now known as Patterner 08:52 mtk joined 09:13 VXZ joined 09:24 mj41 left 09:28 cjk101010 joined 09:44 cogno joined 09:45 cjk101010 left 09:57 WonTu joined, WonTu left 10:08 cogno left 10:09 cogno joined 10:12 Su-Shee_ is now known as Su-Shee 10:13 cjk101010 joined 10:27 cjk101011 joined 10:30 gbacon left 10:33 cogno left 10:35 typepeter joined 10:39 cogno joined 10:41 cjk101011 left 10:44 cogno left, cogno joined 10:52 molaf left 10:55 cogno left 11:06 mj41 joined 11:13 dukeleto left 11:14 dukeleto joined 11:33 pmurias joined
pmurias diakopter: re viv and niecza, choose niecza 11:33
11:35 cjk101011 joined
pmurias diakopter: by targeting NAM you won't be duplicating all the hairy ast transforms (like if's), you will help niecza (highlighting any possible backend assumptioms in NAM), and you'll get optimialisation for free when they appear in niecza 11:35
11:36 typepeter left 11:49 jimbob joined 11:53 cjk101011 left 12:07 icwiener left 12:29 cjk101011 joined
colomon is startled to discover he doesn't need to wake up and work on masak++'s problems this morning 12:41
moritz_ colomon: heh :-) 12:42
dud masak comment on how many submissions he received? 12:43
colomon moritz_: things going a bit better this morning?
he has not yet said anything about it, as far as I know.
moritz_ colomon: yep, wife is already doing short walks again, toddler doesn't need artificial respiration anymore
colomon \o/ 12:44
12:45 stephane joined
colomon you did submit 5 solutions, right? 12:45
moritz_ yes 12:46
colomon me too
12:48 cogno joined, jimbob left
moritz_ moritz.faui2k3.org/tmp/ronja.jpg that's her 12:49
12:50 molaf joined
tadzik hello zebras 12:51
moritz_: cute, congratulations! 12:52
colomon moritz_: awwww. :)
12:54 MayDaniel joined 12:55 cogno left 12:56 snearch joined 12:59 cogno joined
frettled moritz_: congrats! 13:03
moritz_ now I need to write a mail to the Norwegian family :-) 13:04
"Ronja er født", is that right? :-)
mux moritz_: she's a beauty, congratulations :-)
tadzik moritz_: congratulations from my girlfriend too :) 13:05
mux heh, funny, my gf just went "awwwwwwwwwww" too
moritz_ thank you tadzik & .girlfriend, colomon, frettled, mux :-)
funny enough, a year ago I was rather insensitive to pictures from newborns
and now I also go "awwwwwww" :-) 13:06
mux a few years ago, I was quite insensitive to children in general; not so much anymore - I guess I'm getting older
colomon good, you're responding properly, then. :)
13:08 hudnix left
frettled moritz_: they really mess with our brains ;) 13:09
moritz_ aye :-)
even before they are born
frettled mm
moritz_ through the wife's hormones
frettled Some might claim that they mess with our brains before and during the production process, too.
13:13 hudnix joined 13:23 kjeldahl joined 13:28 cogno left 13:29 Su-Shee left 13:40 tzhs left
arnsholt moritz_: Yeah, that's correct Norwegian 13:41
moritz_ arnsholt: thanks 13:42
13:45 cjk101011 left 13:48 cjk101011 joined 13:53 stephane left 13:55 risou left 13:59 Su-Shee joined, yarp joined 14:25 phenny joined 14:41 yarp left 15:01 REPLeffect left 15:04 scottdware joined 15:06 scottdware left
ggoebel moritz_: congratuations 15:07
moritz_: take care of mom. She has at least 2 months of sleep deprivation to look forward to. 15:09
15:10 GinoMan left
colomon it was more like 18 months for both of us. ;) 15:11
15:17 REPLeffect joined
arnsholt rakudo: last 15:23
p6eval rakudo d5b9d9: OUTPUT« in '!control' at line 1␤»
moritz_ who was last in control? :-) 15:24
arnsholt Yeah, something like that =) 15:25
15:34 shi joined 15:40 icwiener joined 15:46 mberends joined
arnsholt Oh, great a segfault 15:46
15:47 stepnem left, arlinius| is now known as arlinius, kalkin- joined
kalkin- hi 15:47
how do i declare constants in perl6?
in classes 15:48
15:53 stepnem joined
colomon hmmm. 15:54
constant but different for each object, or constant and the same for each object? 15:55
dalek odel: 2c94d8f | jonathan++ | java/compiler/compile.pir:
[java] Should use UTF8 encoding when reading source files.
15:57
kalkin- colomon: same 16:02
something like i would do in php with const key word
16:02 HarryS joined
kalkin- i.e. i have a object HTTPStatus and it has constants 16:02
const SUCCESSFULL = 200; 16:03
const NOT_FOUND = 404;
ect ...
colomon kalkin-: in theory, you can just say "constant $successful = 200;" in Perl 6, but in practice, I don't think that works yet in Rakudo.
kalkin- colomon: how that? i thought rakudo is written accordingly to perl6 specs 16:04
colomon Rakudo does not yet implement the entire Perl 6 spec.
kalkin- as rakudo was released as stable i thought it implements the entire perl6 spec
colomon: ohh
flussence rakudo: class HTTP { has %.status = enum « :OK(200) :Not-Found(404) »; } 16:05
p6eval rakudo d5b9d9: ( no output )
flussence rakudo: class HTTP { has %.status = enum « :OK(200) :Not-Found(404) »; }; say 'alive';
p6eval rakudo d5b9d9: OUTPUT«alive␤»
kalkin- colomon: is there some page where all not implemented stuff is mentioned?
16:05 mberends left, mberends joined
colomon kalkin-: rakudo.org/status 16:06
though I don't see constant mentioned there.
flussence rakudo: constant $a = 1;
p6eval rakudo d5b9d9: OUTPUT«===SORRY!===␤Constant type declarator not yet implemented at line 22, near "= 1;"␤»
kalkin- me neither
k, it doesn't work :)
colomon I'm not sure why, it seems like it ought to be pretty easy to at least approximate it. Hmm. 16:07
flussence (is there any way to pull out a nice list of all the tests rakudo is skipping)
s/$/?
colomon flussence: not that I know of, and the list would be pretty huge.
16:08 envi left
flussence hm... 16:08
kalkin- i'm new to perl6 coded a littlebit perl with thw LWP library and www::mechanize
i'm thought about porting lwp to 6 to learn 6 better 16:09
flussence has enough spare time to go try them all manually
colomon flussence: a quick grep suggests there are about 1000 Rakudo skip statements in the test suite
kalkin- i really like that perl6 can be coded completly staticaly typed
colomon and another 469 todos
kalkin- static typing ftw! :) 16:10
tadzik kalkin-: there's a partial port of LWP::Simple, you may find that useful
kalkin-: look at modules.perl6.org/
kalkin- nice i overlooked it 16:12
arnsholt There 16:15
arnsholt has submitted his solutions for p6cc2010
Hoping for the consolation prize, since I've only got solutions for p1-4 =)
colomon arnsholt: moritz_ and I submitted all five. :) 16:17
no word yet if anyone else did.
what did you do for p4? 16:18
arnsholt My AI does perfect play in the cases it's possible 16:19
(modulo bugs, obviously)
From what you've said you've got the same, no?
colomon only up to a certain level 16:20
so perhaps not as good as your solution.
I think mine should have perfect play as long as all the runs of stones are length 25 or shorter. 16:21
(modulo bugs)
flussence
.oO( argh, "ulimit -m 1500000" doesn't do what it's supposed to... )
arnsholt oeis.org/search?q=dawson%27s+kayles...;go=Search
The Nimber sequence for various game states for the game in p4 16:22
I kinda ODed on the research on p4 and found enough theory to figure out how to leverage that sequence in my solution
colomon I figured there had to be something like that, but I didn't want to look it up. :)
arnsholt Hehe 16:23
colomon my p5 solution was all research and borrowed algorithms, so I did p4 the hard (and incomplete) way.
arnsholt Hehe
I almost spreed on the matrix chain thing as well
Turns out there's an n log n algorithm
colomon I suspect my p4 solution plays almost as well as yours, but not quite as well, and is massively longer. :) 16:24
arnsholt But in the end I just did n "normal" bottom-up DP deal
colomon arnsholt: I just generated all the permutations and tested them. Pretty trivial, if not the best solution.
arnsholt Yeah, the code for the front-end in my ode is actually the most complicated part
Including blank lines and comments, my AI code is 71 lines 16:25
The front-end is 140 lines =)
colomon my AI code is 300 lines. 16:26
front-end is only like 30.
arnsholt Hehe
My AI is massively abstracted away
So the front-end has to do all the leg-work for converting back and forth between the AI's world-view and everyone elses's =) 16:27
16:28 [Coke] joined
colomon ah, that part is hard to separate out from my AI. 16:28
:)
arnsholt++ 16:29
16:30 mtk left 16:38 mtk joined 16:40 JimmyZ_ joined
dalek ecza: c010820 | pmurias++ | src/NieczaBackendClisp.pm6:
fix the clisp backend
16:46
pmurias diakopter: ping
16:54 [Coke] left
dalek odel: 245905a | jonathan++ | java/ (5 files):
[java] A few bits to try and get the project moving again. This puts an older partial setting in place dating to around when things were last updated. Both runtime and compiler build again.
16:54
16:57 [Coke] joined 17:02 proller_ joined, proller joined, proller left
diakopter pmurias: plong 17:16
oooo jnthn back on 6model 17:17
pmurias: but.. perlesque already does all that, and has gotos/labels; it has a couple tradeoffs with nam as far as low-level-ness goes 17:20
17:24 am0c left
diakopter phenny: tell pmurias what I was instead considering was working on primitive/native type support for niecza, and possibly using parts of perlesque's codebase for that (if necessary) 17:25
phenny diakopter: I'll pass that on when pmurias is around.
17:26 stephane joined
flussence well, I just ran all the test files rakudo has todo things in and there's a bunch that pass normally now: 17:32
t/spec/S04-statement-modifiers/while.t, t/spec/S05-mass/properties-block.t, t/spec/S06-signature/passing-arrays.t, t/spec/S16-filehandles/unlink.t
if anyone wants to do it themselves, I did it using ack -ag '\.rakudo' | sed -e 's/\.rakudo/\.t/' > tests.list; perl t/harness --tests-from-file=tests.list 17:33
17:34 proller_ left 17:41 snearch left 17:42 HarryS left
colomon arnsholt: On further consideration, if your p4 works as advertised, I predict it will normally smoke mine. :) 17:42
17:43 Eevee left 17:52 justatheory joined 18:02 JimmyZ_ left 18:07 cjk101011 left 18:09 [Coke] left 18:24 Chillance joined 18:30 MayDaniel left 18:40 jedai joined 18:41 jedai_ left
pmurias diakopter: re adding primitive/native stuff to niecza, that's even better 18:43
phenny pmurias: 17:25Z <diakopter> tell pmurias what I was instead considering was working on primitive/native type support for niecza, and possibly using parts of perlesque's codebase for that (if necessary)
pmurias diakopter: i thought you were considering making viv emit perlesque code 18:44
18:50 ashleydev joined 18:58 shi left 18:59 Bzek_ joined 19:01 Bzek left 19:14 pyrimidine left 19:19 avuserow left 19:21 avuserow joined 19:22 HarryS joined 19:28 GinoMan joined 19:29 pyrimidine joined
arnsholt colomon: Thanks! I did go a bit bananas on the research for that, so it's good that the result was good too =) 19:46
19:48 dukeleto left 19:49 dukeleto joined
sorear good * #perl6 19:53
19:57 Layla_91 joined
Layla_91 hi o/ 19:57
kthakore Layla_91: hi \o FIVE! 19:58
:)
Layla_91 ktha
kthakore: :D
kthakore Layla_91: welcome to #perl6 19:59
Layla_91 kthakore: Are you new here?
kthakore Layla_91: I have lurked a lot
and dabbled a bit
Layla_91 kthakore: I guess it is first time we meet here :) nice to meet you! :D 20:00
kthakore nice to meet you too!
Layla_91 can we achieve ordered hashes in perl6? 20:01
sorear EnumMap is specced to be an ordered hash 20:02
moritz_ really?
I understood it differently
pmurias if a hash is ordered it's no longer a hashtable 20:03
Layla_91 But it seems kinda hard to emulate one.. I know it loses some of its charm when it becomes ordered.. but it is needed sometimes..
I mean to emulate one with current imp of perl6.. 20:04
moritz_ has basically never felt the need of full-blown ordered hashed
I have sometimes kept a list of keys in order
flussence emulating one isn't that hard - you just need a normal hash to map keys to array indices, and an array to store the values 20:05
moritz_ but I never had to perform insertion or deletion operations in both
plobsing Layla_91: parrot has an OrderedHash. you can probably make use of it from rakudo.
Layla_91 plobsing: oh so we actually do have ordered hashes in one implementation of perl6.. great I will check it :D 20:06
Oh.. 20:09
20:10 awwaiid left
tadzik hi Layla_91! 20:10
Layla_91 tadzik: hi!!! :D
tadzik sorear: I have some problems with new niecza: nopaste.snit.ch/27857 20:11
pmurias Layla_91: even if ordered hashes are not specced it should be easy to have the in an module (using an AVL tree or similiar)
Layla_91 tadzik: I googled Eric Clapton few days ago :D
flussence isn't S09:461 a definition of an ordered hashtable anyway?
tadzik Layla_91: ha, nice :) I really like this acoustic version 20:12
pmurias flussence: it has a constant set of keys
flussence oh 20:13
20:13 Eevee joined
Layla_91 tadzik: appeared that my name is famous B-) 20:14
pmurias: I know it can be done.. It just need more typing than I thought :) I was trying to convert some python3.1 code to perl6 yesterday and wished it exists :) 20:15
20:16 cafesofie joined
pmurias Layla_91: they are builtin in python? 20:17
20:17 awwaiid joined
Layla_91 pmurias: I ment it would ease my work.. It was not in the code I was converting.. but AFAIK it will be available in version 3.2 of python.. 20:23
pmurias: Just found this: www.python.org/dev/peps/pep-0372/#abstract 20:24
20:27 ashleydev left, ashleydev joined
jnthn evening, #perl6 20:28
moritz_ *, #perl6
Layla_91 jnthn: Hey! I read your slides about signatures.. do more of these slides please! :D 20:29
moritz_ that was quite an awesome talk
I heard it at YAPC::EU
and basically everybody was impressed 20:30
Layla_91 moritz_: I saw you too on youtube :D
moritz_ Layla_91: did you?
I didn't know I was on a video anywhere
Layla_91 moritz_: Yes you are :D Google your name :D
moritz_ just found it 20:31
Layla_91 moritz_: Sound quality is not so good.. just for the future.. :)
jnthn Layla_91: Thanks, glad you liked them! :)
Layla_91: More of my talks are on www.jnthn.net/articles.shtml 20:32
Layla_91 jnthn: I liked the "I like beer part" :D
jnthn There's a video around of "Perl 6: For Little Tools and Large Applications" and the sound quality on it was quite good.
Layla_91: :D 20:33
20:33 ashleydev left
jnthn has been planning what conferences to go to this year. :) 20:33
moritz_ jnthn: do tell 20:34
jnthn moritz_: Currently likely are Dutch Perl Workshop, OSDC.TW, YAPC::Russia, French Perl Workshop and YAPC::Europe.
pmurias sorear: any idea what is the source of make setting the terminal color to grey? or should i hunt it down
jnthn moritz_: Will keep an eye open for other things being organized too. :) 20:35
Layla_91 jnthn: When are you coming to Russia? and where in Russia..
lue hello world o/ 20:36
20:38 _jaldhar joined, knewt2_ joined
jnthn Layla_91: As far as I know, YAPC::Russia will be 14-15th May in Moscow. 20:38
Layla_91: You're in/from Russia?
Layla_91 jnthn: I am from Volgograd :D
20:38 bacek_ joined
jnthn Layla_91: Oh, cool! 20:39
I never went there...yet. :)
Layla_91 jnthn: Currently not in russia but I visit russia once a year :)
jnthn I seem to make it roughly every 2 years. Have managed to visit Ukraine once a year for the last four years though.
Layla_91 jnthn: Moscow is 2 hours flight from Volgograd so it is not a problem for me to visit moscow.. 20:40
20:40 gtsafas_ joined, robins joined 20:41 buubot left
jnthn Layla_91: Cool. I'm sure there will be website up for YAPC::Russia soon. I think it'll be fun event with lots of Perl people. 20:41
Perl community is awesome.
:)
Layla_91 jnthn: expect a girl called Layla to be there :D
20:41 hillu_ joined, GinoMan_ joined
jnthn Layla_91: Cool! :D 20:41
See you there. :) 20:42
lue [backlogging] Congratulations, moritz_!
20:42 Some-body_ joined 20:43 MayDaniel joined
moritz_ thanks lue 20:43
20:46 GinoMan left, mtk left, Patterner left, bacek left, PacoLinux left, chitragupt left, jaldhar left 20:47 chitragupt joined
Layla_91 jnthn: :) 20:48
20:48 sjohnson joined, toebu joined 20:49 ashleydev joined
lue glad to hear the little tyke is doing alright. 20:49
Layla_91 Goodbye all.. I will be out for around a week.. see u soon! \o/ 20:50
jnthn bye bye o/
lue bye o/
20:50 Layla_91 left 20:51 Some-body_ is now known as DarthGandalf, DarthGandalf left, DarthGandalf joined, y3llow left 20:52 y3llow joined 20:54 ashleydev left
moritz_ std: my $x if 0 20:55
20:55 HarryS left
p6eval std 625303c: OUTPUT«ok 00:01 120m␤» 20:55
moritz_ rakudo: my $x if 0
p6eval rakudo d5b9d9: ( no output )
20:56 HarryS joined 20:57 Patterner joined, icwiener left
sorear pmurias: I blame NieczaFrontendSTD.pm6 line 77 20:59
tadzik: what version of mono? 21:01
21:03 skangas left, sgarthp joined 21:04 skangas joined 21:05 Kodi joined, c1sung_ joined
Kodi rakudo: my $x = 2208988800; say $x; say $x.WHAT; ++$x; say $x; say $x.WHAT; 21:05
p6eval rakudo d5b9d9: OUTPUT«2208988800␤Int()␤2208988801␤Num()␤»
21:06 kolibrie joined, diakopte1 joined, clkao_ joined, nadim_ joined 21:07 LoRe_ joined, diakopter left, kolibrie_ left, _ilbot left, clkao left, LoRe left, nadim left, tylerni7 joined, tylerni7 left, tylerni7 joined
Kodi It looks like Rakudo prematurely promotes Ints to Nums on 64-bit machines. Known? 21:07
sorear yes
the promotion test hardcodes 2**31
Kodi I feared as much.
sorear in theory Int should be bigint though
21:08 _ilbot joined, ponbiki left 21:14 cjk101011 joined
dalek kudo: 1671b5e | KodiB++ | / (2 files):
Moved what I intended to be comments outside of angle brackets.
21:14
ast: 9b43296 | (Kodi Arfer)++ | S32-temporal/DateTime-Instant-Duration.t:
Added a test for Instant.perl.
21:16 cjk101010 left, jevin left, jevin_ joined
pmurias sorear: i'll fix that line 21:16
how is boot/ updated? 21:17
moritz_ Kodi: should tools/update-tai-utc.pl be run regularly? 21:18
21:18 coldhead left 21:19 coldhead joined 21:20 cogno joined
Kodi moritz_: Yes, each February and August. 21:21
moritz_ Kodi: maybe it would be helpful to add a step to the release guide, instructing it to run after a release or something
otherwise we'll forget, I fear 21:22
21:22 skangas left
Kodi moritz_: Not a bad idea. 21:22
21:25 skangas joined, skangas left 21:26 DarthGandalf left, wolverian joined, Kodi left 21:27 eternaleye_ joined
pmurias sorear: boot/ now needs to be updated to avoid the greyness after make 21:27
21:27 skangas joined 21:28 shortcir1uit joined, Bucciarati_ joined
dalek ecza: d8d1eb9 | pmurias++ | src/NieczaFrontendSTD.pm6:
fixed reseting the term
21:29
21:29 eternaleye left, shortcircuit left, Bucciarati left, __sri left, dalek left, hugme left, _sri joined, dalek joined, ChanServ sets mode: +v dalek 21:31 cogno left 21:32 shortcir1uit is now known as shortcircuit, shortcircuit left 21:33 shortcircuit joined
lue Is it normal for a test to be unable to find a sub in a module I can use with the REPL? 21:33
21:34 DarthGandalf joined
flussence lue: sounds like the test and REPL are looking in different $PERL6LIB paths, maybe 21:34
lue possibly. I'll check that in a minute. 21:39
pmurias sorear: i don't undestand how the Makefile works, shouldn't compiling the niecza harness automatically check if any of niecza submodules changed and recompile them? 21:44
tadzik sorear: 2.6.7
lue actually, I don't think it the environment is the problem, as running both make test (which sets a temporary PERL6LIB) and perl6 t/test.t fail. 21:47
21:53 cibs left 21:55 cibs joined
dalek p-rx/nom: 99b6773 | jonathan++ | / (4 files):
A bit more stubbing in of multi-dispatch; this just always hands back the first candidate in the list to invoke for testing purposes. More interesting is that the invocation logic, passing along the same argument set, is in place now.
21:57
lue tadzik: is there an auth field for META.info? [or rather, what fields does neutro support?] 22:01
22:02 kaare_ joined
lue Hm. perl6.org seems to be down. 22:05
dalek kudo: 1014912 | jnthn++ | src/core/Parcel.pm:
Add a workaround from bacek++ to avoid hitting things from the NQP Setting that get added to ResizablePMCArray, and also notes on the way that we'll end up ridding ourselves of this problem in the future.
22:08
22:09 ashleydev joined, bacek_ left 22:10 orafu left, orafu joined 22:11 bacek_ joined 22:13 ashleydev left
lue where can I see what to put in a META.info file for neutro? [don't say S22 unless neutro implements all of those fields] 22:14
colomon We just asked tadzik++ 22:15
arnsholt lue: Well, if you're feeling brave, there's always the neutro source code 22:17
22:18 bacek_ left
lue I grazed the source and didn't see anything. 22:22
colomon: care to tell me what the answer was? :) 22:26
colomon I just copied his first example META.info for mine. 22:27
I've no idea if other fields are possible or not.
22:31 cafesofie left 22:46 ponbiki joined 22:49 PerlJam joined 22:51 stephane left
snarkyboojum lue: ttjjss.wordpress.com/2011/01/08/per...and-ideas/ 22:53
lue: in other words, just that subset of S22 at present :) 22:59
lue: but it's certainly not going to blow up if you include an author field etc 23:00
23:01 kaare_ left 23:03 hugme joined, ChanServ sets mode: +v hugme 23:08 kjeldahl left
lue I still think S22's authority/author disambiguation is very illegal. 23:13
23:16 Juerd joined
sorear pmurias: it does 23:19
pmurias sorear: so why run niecza on all the submodules from the Makefile? 23:20
sorear pmurias: what's a submodule? 23:21
pmurias just meant all the .pm6's 23:22
ahh it turns all the .nam files into .dll's 23:23
i was trying to understand why changing one file and recompiling takes so long
sorear For some reason the automatic conversion with -Bdotnet is horribly slow
for me it takes around as long as explicitly running CLRBackend N times 23:24
for one file
there are some unpleasant interactions with make-logic 23:25
pmurias can't you ran it only on those files that changed?
it takes 20sec for me 23:26
not sure how to do it portably 23:31
sorear: how difficult would it be to add profiling to niecza? 23:34
dalek p-rx/nom: ef0b76b | jonathan++ | src/ops/nqp.ops:
Fix a copy-paste fail.
23:36
p-rx/nom: d0c72d1 | jonathan++ | src/ (2 files):
Get multiple dispatch working up to the point that it can do arity-based multiple dispatch. A lot of the stuff for type-based is stubbed in too, as is some incomplete error reporting. Still needs hardening, caching, etc.
sorear diakopte1: does cygwin's shell have the [ command? 23:37
pmurias: that depends on your definition of profiling 23:38
flussence [ is a posixy thing, I'd expect it to be in there. It's the "[[" that's a bash-ism 23:41
pmurias why can't we use Perl 6 instead of shell/Makefile 23:43
?
flussence: isn't cywin's shell a bash? 23:44
flussence dunno 23:46
probably is, but I haven't used cygwin in ages.
pmurias cygwin likely tries to be as much of a linux as possible
sorear: how much different functions take 23:50
sorear: checking datedness of files seems a bit suspicious
lue blag toast! rdstar.wordpress.com/2011/01/15/nu...-here-ish/
dalek odel: efd7ee5 | (Martin Berends)++ | java/ (17 files):
[java] first of a series to commits to catch up to dotnet.

called with a null parameter.
23:51
pmurias sorear: but optimising stuff blindly seems silly
sorear: the best case would be to emit stuff Devel::NYTProf takes 23:54
23:56 bacek joined
sorear pmurias: the main reason I'm not considering a Perl 6 build system is that all available implementations still use far too much memory 23:59