# IRC log for #perl6, 2009-09-02

All times shown according to UTC.

Time Nick Message
00:21 kst joined #perl6
00:39 colomon jeekobu: Rat doesn't have a constructor that can take a float.  (Yet -- I think there are murmurings that there should be.)
00:39 pmichaud there should be, yes
00:39 pmichaud it's even not too hard to implement, just haven't done it yet
00:40 colomon How do you figure what precision to use?
00:41 colomon (And have I mentioned my insane notion of supporting irrational numbers in Perl 6?)
00:42 pmichaud simplistic algorithm is to stringify the float and count the digits after the decimal :-)
00:42 colomon Oh.  Yeah, that would work, wouldn't it?
00:43 pmichaud well, it would fail for exponentials, but it gets us closer :)
00:43 pmichaud and for a while we can probably explicitly fail for those values we can't properly Rat-ify
00:44 colomon Right, exponentials are going to be trouble until we get bignums.
00:44 jeekobu Oh, no bignums yet?
00:44 pmichaud in fact, whenever +"1.23" succeeds in becoming a Rat instead of a Num, we can always just do    method Rat Rat() { + ~ self }
00:44 pmichaud (assuming 'self' is a Num)
00:45 jeekobu Then it won't work for all non-exponential values either.  The number I pasted has no representation as a division of two unsigned long longs (casted to long double), on my computer
00:45 pmichaud jeekobu: we'll get close for a while.
00:46 pmichaud right now we "cheat" by turning out-of-range Ints into Nums
00:46 pmichaud rakudo:  say 25832465412852582852
00:46 p6eval rakudo ba1046:  ( no output )
00:46 pmichaud hmmm
00:46 pmichaud might not be enough digits in our Nums :)
00:46 pmichaud rakudo:  say 25832465412852582852 + 0
00:46 p6eval rakudo ba1046: OUTPUT«2.58324654128526e+19␤»
00:46 jeekobu However, there is a way to find rationals for many numbers even if the digits involved are larger than an unsigned long long can support
00:47 jeekobu Er, the digits involved in the decimal long double representation, for example
00:47 pmichaud yes, we can come up with various conversion mechanisms.  for the short term, stringifying and counting digits might be good enough.
00:47 jeekobu More concretely, 3.1415926535897932384626433832795029L == 8717442233 / 2774848045  as far as my computer can tell
00:49 pmichaud when we get bigints, it'll be exactly equal to   31415926535897932384626433832795029 / 1E34
00:49 jeekobu Right
00:50 jeekobu I'm sort of surprised you don't have them
00:50 pmichaud Parrot's working on them now
00:50 pmichaud we'd probably want to use Parrot's bigints when they become available
00:50 pmichaud instead of rolling our own
00:50 pmichaud (if we end up having to roll our own, we'll do that)
00:50 jeekobu Makes sense
00:51 pmichaud afk for a while
00:51 colomon rakudo: say 4/1 - 4/3;
00:51 p6eval rakudo ba1046:  ( no output )
00:51 pmichaud I suspect timeout issues
00:52 pmichaud rakudo: say 4/1 - 4/3;
00:52 p6eval rakudo ba1046:  ( no output )
00:52 colomon rakudo
00:52 colomon rakudo: say 4/3;
00:53 p6eval rakudo ba1046:  ( no output )
00:53 jnthn sleep - night all
00:55 colomon 'night
00:56 jeekobu colomon: So what's this irrational number thing?
00:56 tak11 joined #perl6
00:56 s1n ouch, mr_ank sent me a note telling me how stupid i was :(
00:57 cognominal_ what is the 哈哈 in Masak's post?
00:57 colomon It was just a notion, and I don't know that I have the hardcore math to pull it off.
00:57 colomon But once we have lazy lists, you could potentially have a lazy generator of digits for a truly irrational number.
00:58 colomon (Actually, presumably different irrational numbers would have different generators.)
00:58 s1n jeekobu: technically, pi is transendental, which means you can indefinitely find larger and larger fractions to find a more accurate representation
00:59 jeekobu colomon: Yeah, like an infinite sum or something.  But most irrationals are not computable =)  (But some useful ones are)
00:59 meppl joined #perl6
01:00 wayland76 cognominal_: It's how masak represents a laugh
01:00 colomon Well sure, there's not really anything you can do about the ones that are not computable, is there?
01:00 colomon But there are lots of interesting ones that are computable...
01:00 jeekobu s1n: Yep, I have a program that basically does that until it runs out of space and overflows (unsigned long doubles) or the computer can't tell the difference (long double)
01:01 jeekobu The latter happens for all the math.h constants...
01:01 colomon It would be horribly inefficient, I imagine, and mostly just interesting as a toy.  But it would be a damn cool toy...
01:01 s1n jeekobu: a better program will do the same calculation with an infinite number of bits :)
01:02 cognominal_ thx, wayland76
01:03 jeekobu s1n: With bignums and something like what colomon is talking about, it might not be too hard.  I'd have to think about it.  Well, it's trivial in the string or digit-based approach I suppose.
01:05 jeekobu OK, I thought about it, and it would be pretty easy using some more efficient, reduced-fraction only metod
01:05 s1n finding accurate values for pi is not "trivial"
01:07 jeekobu All you would need is a cap on the error, e.g. accurate to \$n\$ digits.
01:08 jeekobu And I'm talking about the conversion part, not pi or any other number specifically.  Generating the decimal representation for whatever number is a separate problem
01:12 s1n jeekobu: well, dividing arbitrarily sized numbers is not linear, if the numbers are have a size limit, it's typically faster (i think linear sounds right)
01:14 jeekobu That's actually a pretty good point.
01:14 jeekobu The algorithm I'm thinking of does some number of divisions.  Might be a way to cut it down, I'd have to go look at the specifics.
01:15 jeekobu The more "naive" string-like method would need to do gcd and a couple divisions, if you wanted a reduced form
01:15 jeekobu Not sure which is better or worse
01:15 colomon jeekobu: That's already implemented for Rat, BTW.
01:16 jeekobu Right, albeit not for bignum =)
01:16 colomon rakudo: say (11/33).perl
01:16 jeekobu (Well, the alg doesn't change)
01:16 p6eval rakudo ba1046: OUTPUT«1/3␤»
01:16 jeekobu Any plan to have a repeating decimal output?  =)  The Nickle language has that, if it's still around.
01:18 colomon jeekobu: If bignums are Ints, then the current code will already work for it.  If not, it's just a matter of tweaking the parameter types that Rat and Rat.gcd take.
01:18 colomon (bignums, I mean, not repeating decimal output.)
01:18 colomon rakudo: say (11/33).Str
01:18 p6eval rakudo ba1046: OUTPUT«0.333333333333333␤»
01:20 jeekobu Yeah, in Nickle that would be something like 0.[3]
01:20 carlin joined #perl6
01:20 colomon That's more along the lines of what I was thinking for irrationals (though obviously 1/3 is rational).
01:20 Eevee joined #perl6
01:21 jeekobu ?  Rationals and repeating or terminating decimals are equivalent
01:22 colomon Hmm?  Rationals don't have to terminate.
01:22 jeekobu If they don't terminate, they repeat
01:23 colomon right.
01:23 jeekobu And if the decimal (or any other integer base > 1) repeats or terminates, it's rational
01:23 colomon my point being that code for dealing with lazy infinite lists of digits can just as easily handle repeating rationals.
01:24 jeekobu Ah
01:24 colomon or terminating ones, for that matter (infinite list of zeros....)
01:25 jeekobu Or 9s ;)
01:27 colomon sure enough.
01:29 colomon I'm sure this wouldn't be a feature for the core, but it might make a neat module.
01:30 jeekobu Sure
01:50 pyrimidine joined #perl6
01:56 dukeleto joined #perl6
02:00 kst joined #perl6
02:02 beggars joined #perl6
02:09 dukeleto s1n: transcendental also means that the number is not a root of any finite algebraic equation. fun to think about :)
02:21 s1n dukeleto: that's why i enjoy watching people associate pi with Rat :)
02:22 * s1n homework&
02:22 rhr joined #perl6
02:24 hcchien joined #perl6
02:35 ihrd joined #perl6
02:36 ihrd left #perl6
02:48 satrac joined #perl6
02:52 kst joined #perl6
03:00 SmokeMachine joined #perl6
03:03 reqamst joined #perl6
03:20 donaldh joined #perl6
03:28 justatheory joined #perl6
03:31 cognominal_ rakudo:  1 ?? 2 :: 3
03:31 p6eval rakudo ba1046: OUTPUT«ResizablePMCArray: Can't pop from an empty array!␤in Main (src/gen_setting.pm:3454)␤»
03:32 cognominal_ oops
03:32 cognominal_ rakudo:  1 ?? 2 !! 3
03:32 p6eval rakudo ba1046:  ( no output )
03:33 cognominal_ I am curious to know what the first expression means.
03:35 TimToady std: 1 ?? 2 :: 3
03:35 p6eval std 28165: OUTPUT«[31m===[0mSORRY![31m===[0m␤Please use !! rather than :: at /tmp/0iY5dNb9dY line 1:␤------> [32m1 ?? 2 [33m⏏[31m:: 3[0m␤    expecting any of:␤  bracketed infix␤  infix stopper␤    standard stopper␤ terminator␤FAILED 00:02 37m␤»
03:39 PZt joined #perl6
03:40 molaf joined #perl6
03:41 jaldhar joined #perl6
03:41 cognominal_ std: 1 ??  a::b
03:42 p6eval std 28165: OUTPUT«[31m===[0mSORRY![31m===[0m␤Found ?? but no !!; possible precedence problem at /tmp/ALpb4xwYEV line 1 (EOF):␤------> [32m1 ??  a::b[33m⏏[31m<EOL>[0m␤    expecting any of:␤     argument list␤    infix stopper␤    standard stopper␤ terminator␤     whitespace␤Undeclared
03:42 p6eval ..routine:␤       a::b used a…
03:42 cognominal_ std++  # good error messages
03:44 cognominal_ in S06, what if I don't want extra parameters to be slurped in %_ and @_?
03:45 cognominal_ should I write code explicitely lke :  sub a { my @k := keys %_; say "spurious named parameter" ~ (@k > 1 ?? 's' !! '') ~ ' : ' ~  @k.join(', ')  if +@k } ;  a :a
03:45 cognominal_ spurious named parameter : a
03:50 mepplock joined #perl6
03:52 kst joined #perl6
04:10 cotto joined #perl6
04:13 dukeleto joined #perl6
04:21 EdLin joined #perl6
04:21 EdLin left #perl6
04:32 pmichaud cognominal_: if you write   sub a() { ... }   then it won't accept any named parameters
04:33 cognominal_ thx pmichaud
04:34 cognominal_ but is there anyway to "close" the signature meaning I want what is specified and no more?
04:35 cognominal_ What is the Integral type mentionned in S02?
04:35 pmichaud sub a() { ... } does it
04:35 pmichaud sub a() means no arguments
04:35 pmichaud (there's a parrot bug that currently prevents rakudo from enforcing that, however)
04:36 pmichaud rakudo:  sub a(\$x) { say 'yes'; };   a( :named('value') );
04:36 cognominal_ but if I say     sub(\$a)  {   ... }     there will be an implicit %_ and @_
04:36 p6eval rakudo ba1046: OUTPUT«too many named arguments - 'named' not expected␤in sub a (/tmp/amyysuUpjd:1)␤called from Main (/tmp/amyysuUpjd:2)␤»
04:36 pmichaud no, there's no implicit %_ or @_ on subs
04:36 pmichaud (that have an explicit signature)
04:36 cognominal_ ho, that's for methods?
04:36 pmichaud methods get an implicit %_, yes.
04:37 cognominal_ thx
04:41 cognominal_ this will be great once jnthn++ will have worked the signature handling
04:46 molaf joined #perl6
04:48 pmichaud afk for a while
05:06 snarkyboojum joined #perl6
05:12 kst joined #perl6
05:14 justatheory joined #perl6
05:20 jauaor joined #perl6
05:24 agentzh joined #perl6
05:44 agentzh joined #perl6
06:17 stephenlb joined #perl6
06:23 kst joined #perl6
06:27 dalek rakudo: 30ffa60 | mberends++ | tools/test_summary.pl:
06:27 dalek rakudo: [tools/test_summary.pl] add hints to change "plan *;" to "plan \$number;"
06:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/30ffa60bd472d7a0716b37ef1567a4f2b9708b4b
06:27 dalek rakudo: c6d5941 | mberends++ | :
06:27 dalek rakudo: Merge branch 'master' of gitgithub.com:rakudo/rakudo
06:43 moritz_ good morning
07:02 cognominal_ oasis est dissous, coca est haram...
07:02 cognominal_ oops
07:05 ejs joined #perl6
07:18 maerzhase joined #perl6
07:21 donaldh joined #perl6
07:29 rfordinal joined #perl6
07:29 rfordinal left #perl6
07:30 ejs1 joined #perl6
07:37 jferrero joined #perl6
07:41 kst joined #perl6
07:47 iblechbot joined #perl6
07:51 Su-Shee joined #perl6
07:51 Su-Shee good morning. :)
07:56 moritz_ good localtime()
07:58 frettled heh :)
07:58 frettled yes!
08:10 mberends joined #perl6
08:13 mberends good morning all, /me working on a proto ecosystem branch today :)
08:17 moritz_ mberends: nice
08:33 alanhaggai joined #perl6
08:44 M_o_C joined #perl6
08:51 jaffa8 joined #perl6
08:53 cono joined #perl6
08:53 raig joined #perl6
08:56 kst joined #perl6
09:08 PZt joined #perl6
09:10 alanhaggai joined #perl6
09:13 [1]jaffa8 joined #perl6
09:15 cognominal joined #perl6
09:16 cognominal joined #perl6
09:28 moritz_ phenny: tell masak btw colomon++ resolved the Temporal.{pm,t} issues related to the div and / changes, so no action required on your part anymore. And the changes have landed already, in case you want to merge these changes to your fork
09:28 phenny moritz_: I'll pass that on when masak is around.
09:40 masak joined #perl6
09:41 masak good too-late-in-the-morning, folks.
09:41 phenny masak: 01 Sep 22:18Z <jnthn> tell masak "run("rm \$tempfile");" in perl6-literate could be unlink(\$tempfile) and then more portable
09:41 phenny masak: 01 Sep 23:23Z <japhb> tell masak In http://use.perl.org/~masak/journal/39568 , the paragraph that explains what an equivalence relation means, you have a couple places (in prose and in equations) where you say x but mean z.
09:41 phenny masak: 01 Sep 23:43Z <jeekobu> tell masak I emailed a maze sketch to your gmail
09:41 phenny masak: 09:28Z <moritz_> tell masak btw colomon++ resolved the Temporal.{pm,t} issues related to the div and / changes, so no action required on your part anymore. And the changes have landed already, in case you want to merge these changes to your fork
09:41 masak whoa.
09:41 masak japhb: (errors) thanks, will fix.
09:42 masak jeekobu: (sketch) thanks, will have a look.
09:42 masak moritz_: (merge) thanks, will merge.
09:43 * masak tries to address those things in order
09:44 masak meanwhile, a question: http://perlcabal.org/svn/pugs/revision/?rev=27801 talks about 'used in the body of the routine'. at what point is that evaluated? ASAP at parse time? ALAP at run time?
09:48 masak phenny: tell japhb that I looked really hard, and only found the typo in the equations; the prose looks right to me.
09:48 phenny masak: I'll pass that on when japhb is around.
09:49 masak frettled: oh hai
09:50 frettled masak: do you always connect from 130.238.45.242
09:50 frettled ?
09:50 masak frettled: no.
09:50 masak it's my assigned IP at work.
09:50 frettled Aha.
09:50 * frettled was thinking about creating an auto-op-thingy that was semi-secure.
09:54 jnthn morning #perl6
09:54 masak frettled: that's a nice idea. you should look at prior art, I think. parrot has one such bot.
09:55 masak jnthn: o/
09:57 frettled masak: ah, I wasn't thinking about a bot, but rather auto-op for "friends".  I'm using someone else's irssi script, friends.pl, which is nice when people use the same ident at the same DNS or IP address, but it won't look for e.g. "is signed on as account masak" from the server information.
09:58 frettled jnthn: morningish!
09:59 jnthn masak: (@_ and %_ question) it'd have to be something we work out as we parse and build the AST, since we've gotta work out what signature to construct.
09:59 masak thought so.
09:59 masak seems sane, too.
10:00 masak so "hidden" occurrences of @_ and %_ don't count. those in flattened arrays, for example, or in eval strings.
10:06 masak phenny: tell jeekobu thanks for a nice explanation of an alternative algorithm. actually, some of my early labyrinth programs used that (or a very similar) technique. I found that it was biased towards long corridors and depended on the starting position. your algorithm doesn't seem to have that problem, though.
10:06 phenny masak: I'll pass that on when jeekobu is around.
10:10 kst joined #perl6
10:11 mikehh joined #perl6
10:11 mikehh rakudo (c6d5941) builds on parrot r40919 - make test PASS / make spectest (up to 28165) 3 failures - Ubuntu 9.04 i386 (gcc) ...(more)
10:12 mikehh rakudo - t/spec/S03-operators/arith.rakudo - Failed test:  120 - Non-zero wait status: 8
10:12 mikehh rakudo - t/spec/S12-attributes/class.rakudo & t/spec/S14-roles/basic.rakudo - Segmation fault on exit
10:14 mikehh i.e. Non-zero wait status: 11
10:14 eMaX joined #perl6
10:15 cognominal jhnthn, my problem with blizkost disappears if I do a  make install and have the path to the installed binaries.
10:15 cognominal jnthn!
10:15 rbaumer joined #perl6
10:16 mikehh running -> ./perl6 t/spec/S03-operators/arith.rakudo - not ok 120 - -2147483648 == 2147483648 - Floating point exception
10:17 jnthn cognominal: Which problem? The one with the executable?
10:18 jaffa8 hi
10:19 cognominal in fact, that's a parrot bug that should say when .loadlib fails.
10:19 jaffa8 it seems to me that this simple operation does not work %a["akey"]="value";
10:20 jaffa8 rakudo: my %a ; %a["k"]="v";
10:20 p6eval rakudo c6d594: OUTPUT«Method 'postcircumfix:[ ]' not found for invocant of class 'Perl6Hash'␤»
10:20 cognominal I guess the next step is to create a custom Namespace class. my goal is to be able to access perl 5 vars form Perl 6
10:22 jnthn cognominal: I was planning more to get the result of an eval working first.
10:22 colomon masak: "for any members x, y and x"...
10:23 jnthn So things like my \$x = eval('39 + 3', :lang<perl5>) would work.
10:23 cognominal so we will not step on each other toes :)
10:23 icwiener joined #perl6
10:23 jaffa8 masak:it seems to me that this simple operation does not work %a["akey"]="value";
10:23 raig rakudo: my %a; %a{"k"}="v";say %a{"k"}
10:23 p6eval rakudo c6d594: OUTPUT«v␤»
10:24 mberends jaffa8: like raig++ said, use {} instead of []
10:24 jaffa8 i can see that now.
10:25 cognominal jnthn, anyway I need a lot of reading to before getting anything done
10:25 jaffa8 I confused it with D.
10:27 redicaps joined #perl6
10:28 carlin joined #perl6
10:49 cognominal jnthn, what you say  means modifying the eval sub in control.pir?
10:50 cognominal ...or merely using it
10:51 colomon rakudo: say 0..9 [/] 10;
10:51 p6eval rakudo c6d594: OUTPUT«Confused at line 2, near "[/] 10;"␤in Main (src/gen_setting.pm:3454)␤»
10:52 colomon rakudo: say (0..9) >>/>> 10;
10:52 p6eval rakudo c6d594: OUTPUT«00.10.20.30.40.50.60.70.80.9␤»
10:53 eMaX joined #perl6
10:53 jnthn cognominal: There should be no changes needed in Rakudo.
10:54 jnthn Perl5Interpreter in its invoke VTABLE method needs to do something to set a return value.
10:54 jnthn But that means we need to wrap up what comes back from Perl 5 in a PMC.
10:55 cognominal the eval seems to work indeed
10:55 cognominal jnthn++
10:57 cognominal :rakudo   eval 'print "foo\n", lang<perl5>'
10:58 cognominal rakudo:   eval 'print "foo\n", lang<perl5>'
10:58 p6eval rakudo c6d594:  ( no output )
10:58 cognominal p6eval is not yet hooked to blizkost apparently
11:00 jnthn cognominal: The aim is that we implement the HllCompiler interface
11:01 jnthn cognominal: Which means that eval and import from other languages should Just Work.
11:01 jnthn (That is, other Parrot languages should be able to use this too.)
11:04 cognominal the return value should be shoved in an attribue of the p5interpreter?
11:04 cognominal jnthn!
11:04 cognominal :)
11:07 colomon rakudo: for (0..9 >>/>> 10) -> \$x { say \$x; }
11:07 p6eval rakudo c6d594: OUTPUT«0␤1␤»
11:07 colomon oh.
11:08 _jaldhar joined #perl6
11:10 moritz_ frettled: we should rather register our privs with chanserv and op us only if necessary
11:15 jnthn cognominal: No, I suspect we need to set it as a return value.
11:16 jnthn cognominal: Thing is, there's a bunch of calling conventions refactors going on in Parrot at the moment.
11:16 jnthn cognominal: Which will make this a bunch easier to do soon. Now it's a pain. :-( But I think what we really want is some PMCs wrapping the Perl 5 structs (e.g. scalar, array) and implementing the various vtable methods.
11:17 jnthn And then we'll create an appropriate one of these and return it.
11:17 jnthn We'll want those for marshalling all Perl 5 values through anyway.
11:17 kst joined #perl6
11:18 zamolxes joined #perl6
11:19 moritz_ do you have conversions like int -> IV, num -> NV etc first?
11:20 jnthn moritz_: No, right now we don't do anything like that.
11:20 cognominal jnthn, I have already created dummy pmc to wrap perl 5 AVs , HVs, SVs
11:20 jnthn cognominal: Yes, I noticed. This looks like something good.
11:21 jnthn cognominal: I guess now we need to start filling out VTABLE methods.
11:21 jnthn cognominal: I suspect also when we are referencing something in Perl 5 from a PMC, we'll need to bump the ref-count. Then in the destroy VTABLE method we decrement it again.
11:21 cognominal yes
11:22 donaldh joined #perl6
11:29 jnthn cognominal: ah, I know an easy trick we can use...
11:29 jnthn (to be able to hand back a ret-val)
11:30 jnthn cognominal: I think I'll try and get some basic bits in today for that.
11:31 masak phenny: tell japhb never mind, found the second one. :)
11:31 phenny masak: I'll pass that on when japhb is around.
11:32 iblechbot joined #perl6
11:32 pmuriac joined #perl6
11:35 cognominal jnthn, I am trying to fill the p5scalar.pmc
11:35 jnthn cognominal: OK :-)
11:36 jnthn I guess with an ATTR for the SV?
11:36 ihrd joined #perl6
11:36 ihrd left #perl6
11:37 cognominal jnthn, the SV in PMC_data
11:37 jnthn cognominal: No, use an ATTR
11:37 cognominal ok. whay?
11:37 jnthn Otherwise we have might have problems later.
11:38 jnthn I know it's an extra level of indirection, but (1) it likely won't be forever and (2) it menas the PMC will subclass properly.
11:38 pmuriac ruz_: what is the syntax we want tisql to have?
11:38 cognominal and how to we get to the value returned by the invoke if not by an ATTR in p5interpreter?
11:39 cognominal s/to/do/
11:40 jnthn cognominal: We should do it through the Parrot calling conventions.
11:40 jnthn cognominal: Which is a pain in a way, but I know a trick. I'll push it in a moment.
11:40 pmuriac ruz_: tisql {.author.name = 'ruz'}?
11:40 cognominal jnthn, I can't find them. ok.
11:41 jnthn gah, when I do git pull it whines about not knowing where to merge to
11:43 jnthn ah, config file was missing something...
11:43 icwiener_ joined #perl6
11:43 jnthn 12 files changed, 249 insertions(+), 34 deletions(-) # wow, folks++
11:44 jnthn oh ouch
11:44 jnthn the makefile is screwed up
11:45 jnthn cognominal: Do you have latest makefile chnages pushed?
11:45 jnthn cognominal: I see "p5array\$(O   p5hash\$(O)" in the link line, which looks very wrong...
11:46 cognominal how do I selectively push a file?
11:46 jnthn just commit that file
11:46 jnthn and then push
11:47 [1]jaffa8 joined #perl6
11:51 jnthn aww
11:51 jnthn my make doesn't like the line PMC_O := \$(PMC_SOURCES:.pmc=\$(O))
11:51 frettled moritz_: well, er, does chanserv have the capability of generating op if there isn't anyone with op on the channel?
11:52 moritz_ frettled: yes
11:52 frettled aha.
11:52 cono only from access list
11:52 frettled moritz_: in that case, let's do it. :)
11:52 jaffa8 Where can I find doc on defining operators in a grammar?
11:53 frettled moritz_: ah, #perl6 is already registered :)
11:53 cognominal jnthn, feel free to correct the Makefile.on setups.
11:53 cono frettled: /msg chanserv op #perl6 frettled
11:54 moritz_ frettled, cono: so who can modify the access list? only freenode staff?
11:54 cognominal jnthn, I have pushed it with two new dummy pmcs
11:54 cono moritz_: owner
11:54 cono moritz_: owner of the channel
11:54 cono he have access level = 100
11:55 cono owner = founder*
11:55 cono moritz_: Founder    : freenode-staff :(
11:55 moritz_ so we need a freenoder staff member, right?
11:55 cono weird
11:55 cono but yes
11:56 cono moritz_: I think u need to ask to change founder to you or someone else.
11:58 mberends jaffa8: do not put operators in a grammar. Grammars are special classes to contain regex, token and rule definitions. See http://www.perlcabal.org/syn/ for Regexes (S05) and Overloading (S13)
11:59 moritz_ cono: ok, I msg'ed a staffer
12:00 jnthn cognominal: OK, merged that.
12:00 jnthn cognominal: Let's try and fill out the PMCs we now have before adding even more though.
12:01 jnthn cognominal: I'm not even completely sure we'll need p5namespace.pmc yet, for example...
12:03 jaldhar joined #perl6
12:03 jnthn OK, now blizkost builds and installs on my platform again. ;-)
12:03 masak jnthn++
12:03 jnthn (I hope, without breaking it for anyone elses.)
12:05 jnthn BTW, I can't give a full day for Rakudo day this week due to travel prep, so I'm doing 4 hours today, 4 hours tomorrow.
12:05 jnthn Thus today's Blizkost hacking. :-)
12:06 cognominal jnthn,  Makefile:92: *** missing separator.  Stop.   # probably space in lieu of tab
12:08 jaffa8 I mean operator parser
12:08 rba_ joined #perl6
12:08 jaffa8 I cannot see the operator parser.
12:09 jnthn cognominal: oh, fail
12:09 jnthn cognominal: fixed
12:12 moritz_ frettled: I've decided that this chanserv business is too complicated for me right now. GRF and stuff... So either somebody else has to take it up, or an op bot would be fine
12:13 jnthn Do we actually have a problem that we need to fix?
12:13 jnthn Or just a "we're not quite matching some ideology" issue?
12:15 pugs_svn r28166 | moritz++ | [irclog] default_escape in search.pl is too eager, so explicitly don't escape
12:15 pugs_svn r28166 | stuff in line.tmpl
12:16 alexn_org joined #perl6
12:18 kst joined #perl6
12:20 masak morning, takadonet. how are you today?
12:22 takadonet masak: Good, about to roll out some new features to our production server.... finally
12:22 masak nice.
12:23 mberends masak: running out of tuits for proto-installed-modules atm. I have nothing usable to commit yet :(
12:23 masak mberends: I still get a good feeling knowing that you're on the case with me.
12:24 masak two people with low tuit counts are vastly better than one person with low tuit counts.
12:24 mberends :)
12:24 jaldhar joined #perl6
12:25 mberends this morning's efforts have at least revealed some of the complexity of the task (I had underestimated that yesterday)
12:26 abra joined #perl6
12:27 masak interesting to hear.
12:27 masak not too surprising, though :)
12:27 cognominal what are proto-installed modules?
12:27 jnthn cognominal: OK, how's P5Scalar coming along?
12:27 masak cognominal: we're making a refactor for proto.
12:27 masak cognominal: making it install projects to a 'central' location.
12:28 carlin_ joined #perl6
12:28 carlin left #perl6
12:28 jnthn cognominal: I wouldn't mind hacking on it a bit now.
12:29 jnthn cognominal: I've got the other bits in place to handle eval return values...
12:29 mberends afk &
12:30 cognominal do it, I am going nowhere now...
12:30 cognominal jnthn, too much to learn before doing anything
12:31 jnthn cognominal: OK, maybe if I fill out some of the initial bits, it'll be a tad easier for you to move forward too. :-)
12:32 hugme joined #perl6
12:32 moritz_ hugme: show proto # now with project URL
12:32 hugme moritz_: the following people have power over 'proto': TimToady, [particle], masak, moritz_, pmichaud. URL: http://github.com/masak/proto/
12:33 jnthn hugme: hug me
12:33 * hugme hugs jnthn
12:33 jnthn \o/
12:33 masak hugme keeps getting better and better.
12:34 cognominal hugme: hug us
12:34 jnthn cognominal: Anything you want to push before I dig in?
12:34 * hugme hugs us
12:34 cognominal jnthn, nope
12:34 cognominal and I need to go for an hour or so
12:34 moritz_ if you have more feature ideas, let me know
12:39 moritz_ maybe the next step is to add meta committers and new projects via IRC
12:39 moritz_ but that requires rethinking the data model and storage a bit
12:40 ejs joined #perl6
12:42 cognominal jnthn++ # latéral thinking (!return_value_helper)  when I am stuck in litéral thinking
12:43 jnthn cognominal: heh, it took me a while to come up with it the first time I did it in Rakudo. :-)
12:44 frettled moritz_: No rush about it, anyway.  It would just be nice to fix it for a rainy day, do the important stuff, and maybe I or someone else will fiddle with this channel keeping thingy in spare moments.
12:44 meteorjay joined #perl6
12:44 masak it would be interesting to make a web application which allowed several people to simultaneously edit the Rakudo codebase, creating snapshots occasionally which are then turned into patches somehow.
12:45 moritz_ jnthn: I just did 'make install' in blizkost, and it says Cannot chmod 0755 /home/moritz/rakudo/parrot_install/bin/parrot-blizkost:No such file or directory at /usr/share/perl/5.10/ExtUtils/Command.pm line 245.
12:46 moritz_ jnthn: ... and that's because installable_blizkost has permission 000
12:47 jnthn moritz_: hmm...
12:48 jnthn Wonder how it ended up with those permissions when created. :-/
12:49 moritz_ and why the copy in the step before didn't complain about it
12:51 cognominal jnthn, it would be nice in the credits to add a line for the favorite software platform of people, say linux, Mac OS X , windows
12:51 cognominal afk&
12:57 moritz_ rakudo: eval('print "Hello from Perl 5\n"', :lang<perl5>)
12:57 p6eval rakudo c6d594: OUTPUT«Hello from Perl 5␤»
12:57 masak \o/
12:58 masak rakudo: eval('print "Hello from COBOL\n"', :lang<COBOL>)
12:58 p6eval rakudo c6d594:  ( no output )
12:59 jnthn \o/
12:59 jnthn moritz++
12:59 sri_kraih joined #perl6
13:03 pugs_svn r28167 | moritz++ | [evalbot] automatically build blizkost when building rakudo
13:03 moritz_ (no idea if it works automagically)
13:05 pioto so, the idea is that, some day, i could do: eval('require "drb"; DRb.stuff', :lang<ruby>) ?
13:05 pioto and, magically talk to some ruby drb thing out there
13:06 moritz_ ou ouch. 'make clean' in blizkost calss Configure.pl
13:06 moritz_ pioto: actually that would be 'use DRb :from<ruby>'
13:06 moritz_ pioto: and it works for things that work in cardinal (parrot's ruby implementation) right now
13:07 pioto oh, there's an actual parrot ruby implementation?
13:07 pioto neat.
13:07 moritz_ (but not in p6eval)
13:07 moritz_ pioto: yes, but it's a work in progress and not all that far yet
13:07 pioto ok
13:07 jnthn moritz_: It does?
13:07 jnthn clean: \$(RM_F) \$(CLEANUPS)
13:08 moritz_ jnthn: when build/Makefile.in is changed
13:08 jnthn (erm, over two lines)
13:08 ruz_ pmuriac: I think it's better to leave tisql as method on collection and reuse Q, for example ->tisql( Q{.author.name = 'ruz'} | Q{has .author.group.name like \$x });
13:08 ruz_ pmuriac: I think it's possible
13:09 moritz_ jnthn: I have a workaround for the build problem here
13:09 ruz_ is it?
13:09 moritz_ jnthn: just change the '+x' in the Makefile.in into 0775 - want a patch?
13:14 lisppaste3 moritz_ pasted "blizkost build patch for jnthn++" at http://paste.lisp.org/display/86431
13:14 jnthn moritz_: Want a commit bit? ;-)
13:14 moritz_ jnthn: fine by me too
13:14 jnthn github id is moritz?
13:14 moritz_ jnthn: it is
13:15 jnthn moritz++
13:15 jrtayloriv joined #perl6
13:15 jnthn Feel free to add yourself to CREDITS too. :-)
13:17 moritz_ done, and pushed.
13:18 masak cognominal: in Mandarin, the 哈 is pronounced HA1 (where the '1', the tone number, means high-pitched and level). since laughter is already out-of-band, so to speak, I find hanzi to be an excellent way to represent it in text. one of my harmless idiosyncracies.
13:20 jnthn moritz++ # thanks!
13:22 moritz_ jnthn: you're welcome
13:22 kst joined #perl6
13:25 frettled masak: I see that I need to consider larger font sizes, but what will my employer think ;)
13:26 masak frettled: why do you need to consider larger font sizes?
13:26 masak and why would your employer think something in particular about that? :)
13:27 hagen_ joined #perl6
13:28 frettled masak: Chinese characters and several other unicode characters are not very well drawn by my current font & size combination.  My employer _might_ object to scrolling text in «chat» windows, because, you know, chatting isn't work or something.
13:29 masak ah.
13:30 frettled The blessings of not having a dedicated office or something ;)
13:30 masak I'm fortunate enough to have a job where IRC is work. :)
13:30 frettled I'm probably going to install an IRC server for work soonish anyway, there's a need for near-realtime communication with an out-of-house employee who's going to answer phone calls.
13:31 frettled So then it will be more acceptable again, muahaha.
13:35 masak :)
13:38 frettled Oh, look, isn't that a yak that needs shaving?  *wibble*
13:41 ruoso joined #perl6
13:44 cognominal back
13:51 pmichaud good morning, #perl6
13:52 moritz_ oh hai pmichaud
13:52 masak yayitspmichaud
13:52 moritz_ how are the context variables going?
13:52 pmichaud oh, will probably work on those this morning.
13:52 moritz_ great
13:53 pmichaud I probably should've been coding last night, but did some other stuff instead
13:53 moritz_ how dare you :-)
13:54 pmichaud http://zazzle.com/rakudo
13:54 pmichaud http://cafepress.com/rakudo
13:54 mberends oh wow!
13:56 * masak imagines himself in a Rakudo tee, a Rakudo tie, holding a Rakudo bag containing a Rakudo clock and a Rakudo water bottle
13:59 moritz_ Su-Shee: ping
14:00 colomon pmichaud++: Any chance of getting the "value t-shirt" design (the big Rakudo logo shirt) in some other color?  I don't mind paying the extra six bucks (or whatever) for something other than white, and would buy ine in a second.
14:00 pmichaud yes, I do custom requests :)
14:00 pmichaud colomon: on which site?
14:01 colomon cafepress
14:02 kidd_ joined #perl6
14:03 pmichaud what color?
14:05 colomon The light blue on the multi-color Camelia t-shirt would be okay.  Or maybe a dark green or blue?  I'm pretty flexible, just not a big fan of white t-shirts.  :)
14:06 pmichaud http://www.cafepress.com/rakudo.391274273
14:06 gbacon joined #perl6
14:06 pmuriac ruz_: it should be possible
14:07 pmichaud on the right side you can pick the color shirt
14:07 pmichaud looking for more colors, though
14:12 pmichaud http://www.cafepress.com/rakudo.405643391
14:12 pmichaud (can also pick colors there)
14:14 colomon pmichaud: The colors choices on the Camelia dark t-shirt suit me well on a Rakudo-logo shirt, I think.  :)
14:14 pmichaud alas, unless I upgrade my cafepress account I can only have one image per type of product
14:15 colomon Bother!
14:15 pmichaud I can switch it to a rakudo logo instead, though :)
14:16 Psyche^ joined #perl6
14:16 mikehh joined #perl6
14:16 colomon :)
14:17 pmichaud looks like I need a new rakudo logo for the dark shirts... the gray doesn't quite work on the darker shirts (at least not to my eyes)
14:17 pmichaud (switching back to camelia)
14:17 pmichaud I have no idea how any of these end up looking in real-life yet, though :)
14:17 colomon (now imagining the "second system" design on an 18-month shirt for my little guy.... ;) )
14:18 colomon I should probably stop this and let you program.
14:18 pmichaud eh, this is -Ofun also
14:19 alester joined #perl6
14:22 jnthn Well, it has issues but...
14:23 jnthn > say eval('"hello " . "world"', :lang<perl5>)
14:23 jnthn hello world
14:24 kst joined #perl6
14:25 colomon jnthn++
14:25 Matt-W Hello #perl6 :)
14:25 cdarroch joined #perl6
14:27 jnthn Matt-W: Hi
14:31 jaffa8 Do you have deadline until the release?
14:32 cognominal jnthn++
14:32 masak jaffa8: the release this month, you mean?
14:33 jaffa8 6.0.0
14:33 jaffa8 I am thinking of 6.0.0
14:33 masak jaffa8: TimToady has given an upper estimate: 2014.
14:33 masak Matt-W: o/
14:33 pmuriac_ joined #perl6
14:35 xinming If it's really 2014, Perl 6 might have the longest design phase in software area. :-)
14:35 PerlJam xinming: as is appropriate for a 100-year language :)
14:36 xinming I'd think perl 6 will be a 50-year language. :-)
14:36 masak I'm not complaining. I'm using Perl 6 today.
14:37 xinming masak: I mean, It's production stable. :-)
14:37 PerlJam xinming: COBOL and fortran and lisp are already 50-year languages.  Somehow I think 50 years is too small.
14:38 xinming PerlJam: I mean main-stream.
14:38 xinming perl 5 is still a good choice for web-developement, and there are still new comers to learn perl 5.
14:38 PerlJam What is "main-stream"?
14:39 xinming COBOL and fortran is "almost" dead, many people prefer to learn other languages instead of COBOL and fortran
14:39 xinming At least, their user base is not that small.
14:40 moritz_ Fortran has a large user base in scientific computing
14:40 xinming In fact, I think, people who learnt perl 5 when perl 5 first released will be really happy, as the language they use is still popular nowadays.
14:40 PerlJam xinming: I bet that in absolute terms, cobol's and fortran's user bases are much larger today than they were 20 years ago.
14:41 xinming hmm, Ok, I just tell my opinion. :-)
14:41 pmuriac_ have you ever met anyone using cobol
14:41 pmuriac_ ?
14:41 xinming never
14:41 jauaor joined #perl6
14:42 * pmurias once met a cobol compiler developer
14:42 PerlJam pmuriac_: I work at a university that still teaches cobol  (cosc 2470)
14:42 xinming pmurias: what did he say about cobol? ;-)
14:42 PerlJam (it's in the information systems track)
14:43 pmurias i think "it's not that bad" but i'm not sure
14:43 PerlJam there are bunches of banks, insurance companies, and other large businesses that rely on cobol code too
14:43 japhb phenny, messages
14:43 phenny japhb: 09:48Z <masak> tell japhb that I looked really hard, and only found the typo in the equations; the prose looks right to me.
14:43 phenny japhb: 11:31Z <masak> tell japhb never mind, found the second one. :)
14:44 jnthn OK, with latest stuff I just pushed this also works...
14:44 jnthn say eval('use LWP::Simple; get("http://google.com/")', :lang<perl5>)
14:44 japhb jnthn++
14:45 japhb Does the Perl 5 interpreter instance stay around between evals?  In other words, if you use LWP::Simple in one eval, can you get() in another?
14:45 * PerlJam does a good impression of doubting thomas and checks
14:46 jnthn japhb: In theory, yes.
14:46 pmuriac joined #perl6
14:46 moritz_ japhb: even if it stays around, it'll probably a different lexical environment
14:46 jnthn japhb: In practice, the interpreter life-cycle stuff is screwed at the moment (I know that...)
14:46 PerlJam Hmm. the last commit I have for jnthn was on Wed Aug 26.
14:47 japhb jnthn: :-)
14:47 moritz_ japhb: so the import() part of 'use' is lost, at least
14:48 japhb moritz_, in Perl 5, it's not the lexical environment that matters for the import, but the symbol tables (and current package, of course)
14:48 moritz_ japhb: oh right, I forgot that :-)
14:48 jnthn eval('use LWP::Simple;', :lang<perl5>) followed by
14:48 japhb moritz_, :-)
14:48 jnthn Does work.
14:49 japhb jnthn++ # excellent
14:50 moritz_ rakudo: eval('use LWP::Simple;', :lang<perl5>); eval('get("http://google.com/"; print "alive\n")', :lang<perl5>)
14:50 p6eval rakudo c6d594:  ( no output )
14:50 * japhb ran out of non-fat lactase-modified milk, and is drinking wife's 2% regular milk ... it's like milk from an entirely different animal
14:51 jnthn moritz_: syntax error
14:51 japhb misplaced )
14:51 moritz_ rakudo: eval('use LWP::Simple;', :lang<perl5>); eval('get("http://google.com/"); print "alive\n"', :lang<perl5>)
14:51 p6eval rakudo c6d594: OUTPUT«Can't load module IO, dynamic loading not available in this perl.␤  (You may need to build a new perl executable which either supports␤  dynamic loading or has the IO module statically linked into it.)␤ at /usr/lib/perl/5.10/IO/Handle.pm line 9␤Compilation failed in require at
14:51 p6eval ../usr…
14:51 moritz_ jnthn: right, I just noticed it
14:52 jnthn moritz_: And that means you didn't have the very latest patch. ;-)
14:54 moritz_ jnthn: with that build fails
14:55 moritz_ p5interpreter.c:39:26: error: init_with_xs.h: No such file or directory
14:56 jnthn moritz_: realclean?
14:56 moritz_ trying it now
14:56 jnthn I updated the makefile.
14:56 pmuriac ruz_: do you know how to make the tisql parser accept a tisql query with trailing junk?
14:56 moritz_ still the same error
14:57 jnthn moritz_: Can you glane the makefile and see why we mighta been failing to find/run the rule for making that?
14:57 jnthn oh, you're going to smack me
14:57 jnthn wait, committing probable fix
14:58 moritz_ it's not mentioned in the Makefile, that's why :-)
14:58 KyleHa joined #perl6
14:58 jnthn moritz_: pushed
14:59 moritz_ rakudo: eval('use LWP::Simple;', :lang<perl5>); eval('get("http://google.com/"); print "alive\n"', :lang<perl5>)
14:59 p6eval rakudo c6d594: OUTPUT«../p/bin/perl6: symbol lookup error: /usr/lib/perl/5.10/auto/IO/IO.so: undefined symbol: Perl_Istack_sp_ptr␤»
15:01 colomon rakudo: say (10/0).perl
15:01 p6eval rakudo c6d594:  ( no output )
15:01 jnthn moritz_: ouch...
15:01 jnthn moritz_: I'm not even sure what to guess with that one. :-/
15:02 moritz_ jnthn: neither am I - which is why I rebuild parrot, rakudo and blizkost right now :-)
15:02 moritz_ maybe it magically goes away
15:07 moritz_ rakudo: say eval('3+4', :from<perl5>)
15:07 p6eval rakudo c6d594:  ( no output )
15:11 jnthn moritz_: :lang
15:12 moritz_ rakudo: say eval('3+4', :lang<perl5>)
15:12 p6eval rakudo c6d594: OUTPUT«7␤»
15:12 moritz_ jnthn: but why doesn't either complain or output the \n?
15:13 jaffa8 rakudo: eval('print 1',:lang<perl5>)
15:13 p6eval rakudo c6d594: OUTPUT«1»
15:13 moritz_ maybe an evalbot fuckup
15:13 moritz_ rakudo: say eval('"foo"', :lang<perl5>)
15:13 p6eval rakudo c6d594: OUTPUT«foo␤»
15:14 jnthn maybe a blizkost fickup too ;-)
15:15 cognominal rakudo: say eval('"foo"', :lang<perl5>).WHAT
15:16 p6eval rakudo c6d594: OUTPUT«Method 'WHAT' not found for invocant of class 'P5Scalar'␤»
15:16 moritz_ rakudo: say eval('"foo"', :lang<perl5>) ~ 'bar'
15:16 p6eval rakudo c6d594: OUTPUT«foobar␤»
15:16 cognominal some more wrapper needed probably
15:17 jnthn cognominal: Well, in this case, Rakudo needs to have its .WHAT become a macro.
15:17 jnthn That knows how to deal with things from outside of the Perl 6 world somehow.
15:18 moritz_ rakudo: say eval('"foo"', :lang<perl5>).methods.map: *.name
15:18 p6eval rakudo c6d594: OUTPUT«Method 'methods' not found for invocant of class 'P5Scalar'␤»
15:18 moritz_ rakudo: say eval('"foo"', :lang<perl5>).^methods.map: *.name
15:18 p6eval rakudo c6d594: OUTPUT«Method '!.^' not found for invocant of class 'P5Scalar'␤»
15:18 jnthn Right, same goes for .HOW.
15:19 jnthn Note that this is a _general_ language interop issue.
15:19 jnthn That is, if Rakudo wants .HOW and .WHAT to work on things from Perl 5, then that's a problem to solve in Rakudo.
15:19 colomon rakudo: say (10/0).perl
15:20 p6eval rakudo c6d594: OUTPUT«1/0␤»
15:20 colomon Aha!
15:20 jnthn Because that solves it in one place for other Parrot languages.
15:21 donaldh joined #perl6
15:21 jnthn rakudo: say eval('1,4,9', :lang<perl5>)
15:21 p6eval rakudo c6d594: OUTPUT«9␤»
15:22 moritz_ ah, it calls it in scalar context
15:23 moritz_ rakudo: say eval('[1,4,9]', :lang<perl5>)
15:23 p6eval rakudo c6d594: OUTPUT«ARRAY(0x9033a10)␤»
15:23 moritz_ rakudo: .say for @( eval('[1,4,9]', :lang<perl5>) )
15:23 p6eval rakudo c6d594: OUTPUT«Method 'list' not found for invocant of class 'P5Scalar'␤»
15:23 jnthn Heh
15:23 jnthn That one could get interesting.
15:24 jnthn I'm not immediately sure how that kinda thing should be handled.
15:25 masak (hint: it should Just Work.) :P
15:27 jnthn masak: :-P
15:27 jnthn masak: The devil's in the details. :-)
15:27 masak jnthn: I trust you to sort it out. :)
15:27 kst joined #perl6
15:27 carlin left #perl6
15:28 moritz_ jnthn: a P5Scalar should implement .list, and return an RPA if it's an AV, or itself otherwise?
15:28 jnthn moritz_: That's an option, and the Obvious Answer, I agree.
15:28 jnthn moritz_: Here's why it bothers me though.
15:28 cognominal RPA?
15:28 moritz_ cognominal: ReziablePMCArray
15:28 jnthn While I can do this in Blizkost, can we really expect every other HLL on Parrot to add a .list method that does what Perl 6 wants?
15:29 moritz_ is there no get_list vtable function?
15:29 pmichaud the question is a bit deeper than that, though
15:29 pmichaud can we really expect every other HLL on Parrot to understand the notion of "list context"?
15:30 jnthn moritz_: No.
15:30 pmichaud there have been times when I've wanted a get_list vtable, fwiw :)
15:30 pmichaud and a get_hash vtable
15:30 jnthn pmichaud: That would be The Answer here, I guess.
15:31 cognominal rakudo wraps parrot PMC, what is the problem with wrapping perl5 PMCs?  naive question probably
15:31 pmichaud cognominal: it doesn't scale
15:31 pmichaud cognominal: we'd have to have rakudo do wrappers for every other language
15:32 pmichaud (we may have to do that anyway, but it would be better avoided)
15:32 jnthn Rakudo does it, but I think overall Rakudo's movement is _away_ from wrapping Parrot PMCs rather than doing it more.
15:32 pmichaud correct
15:32 cognominal really? I was supposing that being pmcs, they would not be all that different
15:33 pmichaud we wrap Parrot PMCs at the moment primarily because (1) we haven't wanted to implement our own custom PMCs for the types that already exist and (2) using HLL_map on PIR-based types is 3x slower
15:33 cognominal jnthn, probably some of this magic will end up back in parrot?
15:33 pmichaud cognominal: that's what vtable does, yes.
15:33 pmichaud it's the magic that is intended to hide the hll-specific details from other hlls
15:34 pmichaud but we don't have a get_list vtable entry -- i.e., we don't have magic to say "I'd like this object as a list, please"
15:34 jnthn cognominal: I think that we're seeing a need for a get_list and get_hash vtable entry.
15:35 jnthn However, that goes back to asking the Parrot folks "plz can we?" :-)
15:35 SmokeMachine joined #perl6
15:36 jnthn (the answer may well be yes)
15:36 cognominal jnthn,  pmichaud:  well, I want these two new entries to have XML node pmcs
15:36 pmichaud why would we want XML nodes to be PMCs?
15:37 * PerlJam wonders what ecological niche the parrot folks see the parrot types occupying.
15:37 cognominal and I probably want signature to easily get to the id and classes of xml node
15:37 pmichaud oh, if you just mean you want an XML node type, I could see that
15:37 pmichaud PerlJam: I've wondered that as well
15:37 xomas joined #perl6
15:37 cognominal pmichaud, because a xml node is a string, (the tag), an array (the kids) , a hahs (the attribute)
15:37 pmichaud cognominal: that sounds like a Capture
15:37 PerlJam I don't think anyone has discussed it beyond the handwavy "languages can use these"
15:38 pmichaud cognominal: or a Match object
15:38 PerlJam (or at least I don't remember such discussion)
15:38 cognominal yea, I am sure thinking about XML node will make you think of more uses for  Match/Captures/Signature/Parcel objects
15:38 [particle] pmichaud, jnthn: parrot has get_repr, which you can customize as you please
15:38 cognominal not that I see the differences between them. Right now, I see the commonalities
15:38 pmichaud [particle]: that returns a string, iirc
15:39 [particle] maybe by default
15:39 [particle] but that's what get_string is for
15:39 pmichaud no
15:39 pmichaud semantically they're different
15:39 pmichaud in Perl 6, it's the difference between   ~\$x  and \$x.perl
15:39 pmichaud get_string is like prefix:<~>,    get_repr is like .perl
15:40 pmichaud in any case, "get_repr" really isn't intended (afaik) to be a generic type-conversion operation
15:41 pmichaud PerlJam: I think there's been a "two halves of the brain not communicating" sort of situation with PMCs in Parrot
15:41 pmichaud on the one hand, Parrot goes to pretty good lengths to provide a robust set of builtin PMCs
15:41 pmichaud on the other, PDD 30 basically expects every language to implement its own set of PMCs
15:43 solarion joined #perl6
15:47 cognominal pmichaud, when we embed dynamic languages, we have to embed their values in pmcs.
15:47 gbacon joined #perl6
15:52 hercynium joined #perl6
16:04 justatheory joined #perl6
16:04 ejs joined #perl6
16:05 gbacon joined #perl6
16:11 jnthn cognominal: Now I've got P5Scalar in place, please do feel free to follow the same kind of structure and fill out P5Array and P5Hash.
16:18 cognominal jnthn, thx for doing the hard work
16:19 moritz_ cognominal: now it's up to you to do the rest of the hard work ;-)
16:19 mr_ank joined #perl6
16:19 mr_ank http://ank.com.ar/jade7/ << a programming language logo you can be proud of.
16:20 moritz_ we seriously need the "-Ofun" category on perl6.org ;-)
16:21 jnthn lol
16:21 rindolf joined #perl6
16:21 rindolf Hi all.
16:24 mr_ank left #perl6
16:24 moritz_ hugme: hug mr_ank
16:24 * hugme hugs mr_ank
16:28 cognominal moritz, can you also put p6_eval on #perlfr, the real one, one irc.perl.org?
16:29 cognominal if you don't go to perl 6, perl 6 will got to you...
16:29 moritz_ cognominal: I can. Just be nice to it, it's not all that secure :)
16:30 TimToady in Soviet Russia, Perl 6 learns *you*!
16:30 moritz_ in Soviet France too, it seems ;-)
16:30 moritz_ cognominal: done
16:31 stephenlb joined #perl6
16:35 pugs_svn r28168 | moritz++ | [t/spec] -Rat tests from colomon++
16:36 dalek rakudo: 47a6ae6 | (Solomon Foster)++ | src/setting/Rat.pm:
16:36 dalek rakudo: Signed-off-by: Moritz Lenz <moritzfaui2k3.org>
16:36 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/47a6ae629ef4f7381983db47d147ea0b431b27e1
16:37 cognominal thx moritz_
16:38 moritz_ rakudo: say time
16:38 p6eval rakudo c6d594: OUTPUT«1251909497.88466␤»
16:38 moritz_ rakudo: say time.year
16:38 p6eval rakudo c6d594: OUTPUT«Method 'year' not found for invocant of class 'Float'␤»
16:38 moritz_ rakudo: say Temporal.new().year
16:38 p6eval rakudo c6d594: OUTPUT«Null PMC access in getprop()␤in Main (src/gen_setting.pm:3454)␤»
16:38 moritz_ rakudo: say Temporal.new(time).year
16:38 p6eval rakudo c6d594: OUTPUT«Null PMC access in getprop()␤in Main (src/gen_setting.pm:3454)␤»
16:38 moritz_ I should read stuff in the documentation instead of blindly trying them ;-)
16:40 pmichaud http://zazzle.com/rakudo
16:40 pmichaud http://cafepress.com/rakudo
16:41 moritz_ that's stuff for perl6.com ;-)
16:42 pmichaud time for lunch here -- bbiaw
16:43 pmichaud [particle]: btw, are there any large-format images of the Parrot logo anywhere?
16:43 pmichaud (gone, will read backscroll when I get back)
16:45 [particle] pmichaud: do you have access to the parrot directors dropbox? the images are available there
16:45 [particle] in eps and psd file formats
16:46 pmichaud (back)
16:46 pmichaud no, I'm not aware of the dropbox
16:46 pmichaud no, I'm now waiting on Paula :)
16:47 TimToady the blue-green T on cafepress kinda swears at Camelia's colors :)
16:47 pmichaud yes, it does :)
16:47 pmichaud I can switch it to one of the others
16:47 pmichaud or perhaps Camelia should switch hers :)
16:47 pmichaud okay, we're going now
16:47 TimToady well, she knows how
16:48 TimToady she just likes these colors the best most of the time
16:48 kidd_ joined #perl6
16:54 moritz_ bbq&
17:01 xomas joined #perl6
17:07 kst joined #perl6
17:07 cotto joined #perl6
17:09 pugs_svn r28169 | lwall++ | [S05] document how :my works in regexen
17:16 abra joined #perl6
17:23 kst joined #perl6
17:26 abra joined #perl6
17:34 pmichaud drum roll, please ...
17:34 pmichaud (now just waiting for dalek...)
17:34 * TimToady continues to roll drum...
17:35 * jnthn 's arms are getting tired...
17:35 pmichaud sure!
17:35 pmichaud here, I'll just past it directly
17:36 pmichaud spectest-progress.csv update: 435 files, 13245 pass, 0 fail
17:36 TimToady we can fix that...
17:36 pmichaud 13K :-)
17:36 jnthn :-)
17:37 jnthn .oO( awww, I thought it was going to be a patch for contextuals ;-) )
17:37 dalek rakudo: c9a9300 | pmichaud++ | docs/spectest-progress.csv:
17:37 dalek rakudo: spectest-progress.csv update: 435 files, 13245 pass, 0 fail
17:37 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/c9a93000b76a9078a60abc82ce1c5fc9a9dc7f72
17:37 pmichaud contextuals are coming next :)
17:37 jnthn \o/
17:37 jnthn That'll be *more* tests. :-)
17:40 pugs_svn r28170 | lwall++ | [STD] fix LTA message on my \$x = for 1..10 {...}
17:44 hercynium joined #perl6
17:45 TimToady oh, moritz_++ and masak++ on that LTA
17:46 TimToady and pmichaud++ on the earlier specificiality
17:52 Chillance joined #perl6
17:55 Chillance joined #perl6
17:58 TimToady I think the range operator should not attempt coercions; this would catch a lot of errors
17:58 TimToady in particular, it should not allow a Range or a List as an endpoint
17:59 RonOreck joined #perl6
18:01 colomon TimToady: As long as you are on, do you have a feeling about the Rat 1/0?
18:01 colomon I'm pretty sure 0/0 will get you a divide by zero error...
18:01 colomon rakudo: say (0/0).perl
18:02 p6eval rakudo c9a930: OUTPUT«Divide by zero␤»
18:02 colomon but 1/0 is legal as Rats are currently defined.
18:02 colomon rakudo: say (30/0).perl
18:02 p6eval rakudo c9a930: OUTPUT«1/0␤»
18:05 colomon rakudo: say (30/0 + 1/2).perl
18:05 p6eval rakudo c9a930: OUTPUT«1/0␤»
18:06 colomon rakudo: say (30/0 * 1/2).perl
18:06 p6eval rakudo c9a930: OUTPUT«1/0␤»
18:06 colomon rakudo: say ((30/0) / (1/2)).perl
18:06 p6eval rakudo c9a930: OUTPUT«1/0␤»
18:07 colomon I think pretty much all the Rat ops will work on it.  You just can't call Rat.Num or Rat.Str.
18:10 TimToady rakudo: say 42 / (1/0)
18:10 p6eval rakudo c9a930: OUTPUT«0␤»
18:10 TimToady rakudo: say 42 / Inf
18:10 p6eval rakudo c9a930: OUTPUT«0␤»
18:11 TimToady rakudo: say (42 / Inf).perl
18:11 p6eval rakudo c9a930: OUTPUT«0␤»
18:11 TimToady rakudo: say (42 / Inf).WHAT
18:11 p6eval rakudo c9a930: OUTPUT«Num()␤»
18:11 colomon Inf isn't an Int, is it?  So no Rat.
18:11 TimToady we define Int to include Inf values
18:11 TimToady it's int that doesn't support Inf
18:11 colomon Ah.
18:12 colomon Guess that's another test case to worry about.
18:13 colomon Is 42 / Inf == 0 intentional?  That would certainly suggest how to handle that case for Rats.
18:15 colomon BTW, TimToady++ on A / B being a Rat.  I thought it was nuts at first, but I'm really starting to like it now; it feels very natural in practice.
18:22 pugs_svn r28171 | lwall++ | [S03] forbid List and Range as endpoint to ranges
18:24 TimToady so yes, I think we can just let 1/0 do whatever it's going to do later upon coercion to Num or Str
18:24 p6eval rakudo c9a930:  ( no output )
18:25 colomon p6eval having issues again?
18:25 colomon rakudo: say 1/0
18:25 p6eval rakudo c9a930:  ( no output )
18:26 p6eval rakudo c9a930: OUTPUT«1␤»
18:26 colomon rakudo: say 0/0
18:26 p6eval rakudo c9a930: OUTPUT«Divide by zero␤»
18:26 p6eval rakudo c9a930:  ( no output )
18:27 colomon The code's different internally -- 0/0 is actually throwing the divide by zero in Rat.new.
18:30 colomon (because according to it the GCD of 0 and 0 is 0, and so when it tries to simplify the fraction, it divides by 0 twice.)
18:30 jan_ joined #perl6
18:31 TimToady well, apparently 1/0 is stringfying to ''
18:32 gggg joined #perl6
18:35 colomon TimToady: It's a divide by zero error, p6eval just has a funny way of showing it.
18:35 rbaumer joined #perl6
18:36 colomon (At least, it's a divide by zero on my copy of Rakudo...)
18:37 TimToady git pull and the error goes away
18:37 colomon Really?
18:38 TimToady at least in the case of say 1/0
18:38 TimToady eq '' errors though
18:39 alester Is this a true statemnt?
18:39 alester all Perl files will be considered to be Perl 5
18:39 alester unless the first like of code is "use v6" or a
18:39 alester grammar/class/module/role declaration.
18:40 rfordinal joined #perl6
18:40 literal line* damn my typo
18:41 rbaumer joined #perl6
18:42 tylerni7 joined #perl6
18:42 TimToady no, if you specifically invoke perl6, it's assumed to be perl6
18:42 TimToady the heuristics are intended only for /usr/bin/perl really
18:43 alester but if we're looking at an arbitrary .pl file, as in, trying in vim to determine if it's Perl 5 or Perl 6
18:43 alester that's the heuristic hinrik says we should use.
18:43 alester And I'd never heard that.
18:43 alester So I'm verifying.
18:43 TimToady well, if it starts #!/usr/bin/perl6, that's also indicative
18:43 alester yeah, but I don't want to rely on shebangs
18:44 TimToady it's just one of the heuristics
18:45 TimToady any one of which should be deemed sufficent to assume Perl 6
18:45 TimToady I suspect a .p6 should also be allowed
18:45 alester AND
18:46 alester hinrik, we need to document these all in prose, not just code
18:46 literal ok
18:46 literal where, exactly?
18:46 alester I dunno.
18:46 alester wherever this code takes place.
18:47 literal I've already commented the detection code more than seems usual in vim :)
18:47 alester oh wait, hinrik = literal?
18:47 alester It's so confusing.
18:47 literal yes
18:47 alester argh
18:47 alester NOW it fits.
18:47 alester good, then we can point to S01
18:49 colomon TimToady: after updating Rakudo, is((1/0).Str, "", "(1/0).Str results in the empty string"); still dies with a divide by zero error.  Is there some subtly here I'm missing?
18:51 colomon s/subtly/subtlety/
18:57 KatrinaTheLamia joined #perl6
18:58 ispy_ joined #perl6
19:03 TimToady what does say 1/0 do?
19:03 stephenlb joined #perl6
19:08 colomon Oooh, freaky.  It does absolutely nothing.  Doesn't give an error, doesn't print a newline.
19:08 colomon On the other hand, say "Good {1/0} bye" gives Divide by zero error.
19:09 colomon rakudo: say "hello"; say 1/0; say "goodbye"
19:09 p6eval rakudo c9a930: OUTPUT«hello␤goodbye␤»
19:09 colomon See?  Two newlines, not three.
19:09 cotto joined #perl6
19:10 colomon rakudo: say "good {1/0} bye"
19:10 p6eval rakudo c9a930: OUTPUT«Divide by zero␤»
19:10 TimToady rakudo: say "hello"; say undef; say "goodbye"
19:10 p6eval rakudo c9a930: OUTPUT«hello␤Use of uninitialized value␤␤goodbye␤»
19:10 TimToady rakudo: say "hello"; say 1 / 0; say "goodbye"
19:10 p6eval rakudo c9a930: OUTPUT«hello␤goodbye␤»
19:10 TimToady rakudo: say "hello"; say Inf; say "goodbye"
19:10 p6eval rakudo c9a930: OUTPUT«hello␤Inf␤goodbye␤»
19:11 colomon Seems like maybe say is trapping the error and failing silently?
19:11 colomon rakudo: say (1/0).Str
19:11 p6eval rakudo c9a930: OUTPUT«Divide by zero␤»
19:11 TimToady sump'n like to that
19:11 colomon shall I report the bug?
19:12 colomon rakudo: say (1.0/0.0).Str
19:12 p6eval rakudo c9a930: OUTPUT«Divide by zero␤»
19:12 colomon rakudo: say 1.0/0.0
19:12 p6eval rakudo c9a930: OUTPUT«Divide by zero␤»
19:12 colomon ooooo.
19:12 colomon rakudo: say ~(1/0)
19:12 p6eval rakudo c9a930: OUTPUT«Divide by zero␤»
19:12 p6eval rakudo c9a930: OUTPUT«Rat()␤»
19:13 Chillance_ joined #perl6
19:15 colomon I'm going to report it as a bug.
19:15 jnthn rakudo: say Rat.new
19:15 p6eval rakudo c9a930:  ( no output )
19:15 colomon unless jnthn has different ideas.
19:15 jnthn rakudo: say Rat.new
19:15 p6eval rakudo c9a930:  ( no output )
19:15 jnthn rakudo: say Rat.new; say "alive";
19:15 p6eval rakudo c9a930: OUTPUT«alive␤»
19:16 jnthn colomon: I haven't been following, was just curious what Rat.new would stringify too.
19:16 jnthn *to
19:16 colomon Ah.  Here's the quick rundown on the weirdness:
19:16 colomon rakudo: say "hello"; say 1 / 0; say "goodbye
19:16 p6eval rakudo c9a930: OUTPUT«say requires an argument at line 2, near " \"goodbye"␤in Main (src/gen_setting.pm:2550)␤»
19:16 colomon rakudo: say "hello"; say 1 / 0; say "goodbye"
19:16 p6eval rakudo c9a930: OUTPUT«hello␤goodbye␤»
19:17 colomon (first was copy-n-paste error, second has three says but only two outputs.)
19:17 colomon rakudo: say "hello"; say (1 / 0).Str; say "goodbye"
19:17 p6eval rakudo c9a930: OUTPUT«hello␤Divide by zero␤»
19:17 maerzhase joined #perl6
19:18 colomon Seems like Rat.new is doing the same thing as bare 1 / 0?
19:18 colomon rakudo: say Rat.new.Str
19:19 p6eval rakudo c9a930: OUTPUT«Null PMC access in find_method()␤in method Rat::Num (src/gen_setting.pm:993)␤called from method Rat::Str (src/gen_setting.pm:995)␤called from Main (/tmp/igcBl8SLmF:2)␤»
19:19 colomon Oh joy....
19:19 molaf joined #perl6
19:20 colomon Since there is a Rat.new with two parameters, what happens if you call it with no parameters?
19:21 donaldh joined #perl6
19:28 moritz_ colomon: did you already sign and send in a CLA for rakudo?
19:28 colomon I didn't.  What do I need to do?
19:29 moritz_ print it, sign it, send it by snail mail
19:29 moritz_ get a rakudo commit bit
19:29 moritz_ => profit
19:30 TimToady there's a few lines of ??? missing there
19:30 colomon :D
19:34 colomon Printing as we speak.  Shall I back-date the signature a few days to cover my earlier contributions?
19:35 moritz_ not needed
19:39 zamolxes joined #perl6
19:40 colomon Okay.  It will go out in the mail with the birthday invitations I was supposed to do an hour ago.  :0
19:40 colomon s/:0/:)/
19:41 pmichaud I may be a little late to today's "phone"
19:46 jnthn oh noes, null pmc access!
19:48 pugs_svn r28172 | lwall++ | [S01] also allow a .p6 to be indicative of Perl 6 code
19:56 pugs_svn r28173 | lwall++ | [S02] document Rat and Complex literals
20:06 sjohnson "hello?"
20:11 sjohnson they hung up
20:11 sjohnson !
20:11 colomon sjohnson: I think they're having the secret p6 phone meeting where they plot what bugs to add each week.
20:13 PerlJam colomon++
20:13 PerlJam The cabal-call /is/ every Wednesday (I don't know what time though)
20:14 jnthn Plot? I thought it was a weekly who-can-make-the-worst-pun competition. :-)
20:15 moritz_ jnthn: that's not so obvious from the notes ;-)
20:19 zaphar_ps joined #perl6
20:21 sjohnson i'm going to write Perl 6 on my wishlist for Santa this year
20:21 moritz_ don't write wishlists. Contribute!
20:22 sjohnson any particular tasks that you could use a hand on?
20:23 moritz_ the test suite needs always hands
20:23 moritz_ there's a t/spec/TODO file full of things that needs doing
20:23 jnthn Yeah, Rakudo passed the 13K mark, we need more tests. ;-)
20:24 jnthn (Seriously.)
20:25 colomon I've been worried I'm contributing too many tests (numerically speaking).
20:26 moritz_ colomon: I don't think you did.
20:26 TimToady this is not possible, on the face of it. :)
20:26 moritz_ numerics want thoroug testing
20:26 TimToady even dup tests are useful, in case someone breaks one of the tests or the other :)
20:26 colomon The rat.t testfile has 720 tests now.  It didn't even exist this time last week.  :)
20:27 jnthn Wow
20:27 jnthn That's awesome.
20:27 colomon Not sure if it's getting counted, as it's still "plan *"
20:27 moritz_ colomon: it counts towards the passed tests still
20:27 moritz_ just not for overview how many spectests there are
20:28 colomon jnthn: Most of it is just doing a careful cross-check of results against Num arithmetic, with a couple of double loops involved, so it's not like I wrote that many tests by hand.
20:28 TimToady maybe we should have a form of plan that says "at least 720"
20:28 colomon Hmmm... interesting notion.
20:29 TimToady or some kind of feedback mechanism that updates and reports the difference once, for volatile files
20:29 colomon I was thinking it might be worthwhile to write a script that looks for "plan *" test files that haven't been changed in, say, a week.
20:29 sjohnson i want to start my own Perl 6 faq
20:29 moritz_ TimToady: plan 720 + *;
20:30 colomon And when it finds them, automatically run prove, get the count, and change the file.
20:30 moritz_ sjohnson: that's a good plan too
20:30 mberends colomon: I just added something like that to tools/test_summary.pl :)
20:30 colomon mberends++
20:30 mberends it displays the hints, you must edit the test script
20:31 colomon Gotta go run errands (including mailing CLA), back in a few.
20:31 sjohnson you can be sure i will ask questions that no one else has asked :)
20:32 sjohnson cute questions will be included
20:39 sjohnson man git can be a real pain sometimes
20:39 jnthn sjohnson: It can indeed, but I find it's got less of one over time.
20:40 sjohnson i've had to write a few Perl front-ends for it on my own to make my life easier
20:40 sjohnson they don't call it "the stupid content tracker" for nothing
20:40 sjohnson at least it's fast
20:41 moritz_ aye. I like it.
20:42 sjohnson moritz_: have you had any experience with Lua?
20:43 sjohnson or anyone else?
20:44 moritz_ "experience" would overstate it
20:47 supertroll joined #perl6
20:47 sjohnson i am wondering how all these little tiny languages all exist
20:47 sjohnson surely Perl or Python could do everything they could do and more?
20:48 maerzhase left #perl6
20:49 moritz_ well, yes and no
20:49 moritz_ lua is much easier to embed than perl
20:49 moritz_ and it's much smaller
20:49 TimToady and lua has real closures, unlike Python
20:49 moritz_ so window managers like ion3 make their configuration stuff in lua
20:50 moritz_ and since msot configuration languages tend to become turing complete over time anyway, why not start that way?
20:50 sjohnson the Boo programming language is another one i'm curious about.  it has a really cute name, but i am wondering who actually uses this stuff
20:52 masak joined #perl6
20:52 hercynium joined #perl6
20:53 mberends masak++
20:53 jnthn lolicantsayanythingin140chars...ohwait
20:54 moritz_ masak: and did the troll hug back?
20:54 masak that felt good, actually.
20:54 masak it was just a minute ago, so no, not yet.
20:55 masak my guess is that I might have just reinforced his "gay" preconception.
20:55 mberends heh
20:56 jnthn lol!
20:57 Chillance joined #perl6
20:57 jnthn r28174 | jnthn++ | [perl6.org] add ymca.midi as background music to re-inforce gay image
20:57 moritz_ lol
20:58 sjohnson haha
20:59 masak :)
21:00 masak jnthn: I fell for it. I actually updated to check what it was you had changed.
21:00 * sjohnson dances
21:00 TimToady well, it *is* gay in the old-fashioned sense
21:00 masak "we'll have a gay old time"
21:00 KatrinaTheLamia Re: Lua; Generally it is noted to be best done for configuration more than anything. Most attempts to make actual applications with generally fall through
21:01 masak KatrinaTheLamia: Lua seems a good embedded language to me. it's had at least some success as a scripting language in games.
21:01 KatrinaTheLamia And I am glad we have a gay image
21:02 KatrinaTheLamia clearly Perl 6 will be the FABULOUS language, that is generally pretty and sensitive. And we all know going from Perl 5 to Perl 6, is such a good make over here.
21:03 KatrinaTheLamia masak: well, minor scripting can be done with it. The issue is when people try to go beyond minor scripting and configuration, and try to make a large application setup with it. As generally tends to get suggested by people knew to Lua.
21:03 masak nod.
21:03 sjohnson i want to write a plugin in Lua just so i can say i did it
21:04 jethro_ts joined #perl6
21:04 KatrinaTheLamia Anyways, do you have any of the latest gossip on Perl 6? I've now decided I am going to be Perl 6's offiicial Fag Hag ^.^
21:04 mberends masak, please consider TODO in proto in the new branch 'installed-modules' :)
21:05 masak mberends++. will look at it immediately.
21:05 moritz_ KatrinaTheLamia: planetsix.perl.org generally contains the latest gossip
21:05 moritz_ I don't think it talks about passin values from perl 5 to Perl 6 yet
21:05 KatrinaTheLamia thank you moritz_ ^.^
21:09 jnthn Will blog tomorrow on that.
21:09 moritz_ jnthn++ for doing it ;-)
21:09 [particle] i wish my bikesheds were as popular as TimToady's
21:09 [particle] i even provide free paint.
21:09 jnthn [particle]: Because you're too lazy to paint them yourself?
21:10 moritz_ popularity doesn't matter. Color does.
21:10 [particle] i'm not lazy, i'm an eagerness enabler.
21:11 jnthn .oO( we've just found the slogan for Rakudo's current list implementation )
21:11 [particle] :)
21:12 masak TimToady: was that complex number a 90 degree clockwise rotation? you're funny.
21:13 rbaumer joined #perl6
21:13 masak it would be cumbersome to have to do that on all smilies, though.
21:14 [particle] O_O # none required
21:14 masak perhaps we should all follow the example of Asia. ^_^
21:16 masak oh, a "posture emoticon". I see.
21:17 masak I'm amazed by how fast one can go from ignorance to knowledge using Google and Wikipedia.
21:18 erk_ joined #perl6
21:18 TimToady and by how few people choose to
21:25 masak` joined #perl6
21:29 TheVoiceOfEnigma joined #perl6
21:31 jaffa8 TimToady, what makes you think that?
21:31 sjohnson masak`: youtube helps too sometimes
21:31 TheVoiceOfEnigma left #perl6
21:31 Whiteknight joined #perl6
21:31 sjohnson wiki is my favourite though... KNOWLEDGE!!! *clenches fist*
21:33 KatrinaTheLamia masak`: well, google can teach. Wikipedia normally just spreads ignorance further. The silly thing is, people have this idea that Wikipedia is the end all location for factual information on the net. If they say it on wikipedia it must be true. Even when people who actually have knowledge on the situation are often very violently ignored and challenged when they suggest something on Wikipedia may be wrong.
21:33 jaffa8 it has not happened to me yet
21:34 jaffa8 KatrinaTheLamia, you may know more people
21:36 masak joined #perl6
21:38 KatrinaTheLamia jaffa8: well, there have been a few issues. Generally, when a lot of knowledge is put onto there, it gets the bullshit response of not being mainstream enough (I guess is what they normally say) and deleted. Quite often they will get some facts completely wrong, and defend them to the death, as "the admins are doctors"
21:38 KatrinaTheLamia It should at this point be noted, that wikipedia has a very huge and long history of people faking credencials, and getting positions of power for some time. In some cases research is done, to find that these credencials hold no bearing in reality (including one "doctor" who the school he taught at had never even heard his name and had him nowhere on record, even as a student)
21:38 KatrinaTheLamia Normally when information is presented as not factual, they simply delete the entry in most cases rather than try to correct it.
21:38 KatrinaTheLamia And... he is gone.
21:38 mberends :)
21:39 masak mberends: (re TODO) full ack on 1, 3, 5, and 6.
21:39 masak questions for clarification on the others (2, 4). :)
21:39 KatrinaTheLamia yeah, not to say what is on google is any better. However, a lot of people will look at something on wikipedia, and very rarely apply the proper bullshit filter.
21:40 mberends masak: 4 out of 6 is not bad... the plan is still too rough to JFDI though
21:41 masak (my neightbournet is weak, so if I drop out, it's due to that, not due to unwillingness to discuss)
21:41 masak re 2: if we're renaming "install" -> "cache", are we also renaming "update", which has same-level semantics?
21:42 * Matt-W did stuff on Form while he was on holiday. Not much, but stuff. Numbery things work ish now
21:42 masak also, you're the native speaker, but to me "cache" sounds preliminary like a noun. would "fetch" be nicer, perhaps? we already use it internally for (current) install/update.
21:42 masak oh, and I'm going to dictatorially edit out the "cpan-like", partly not to give people ideas, and partly to maintain the underdog image of proto. :)
21:43 masak Matt-W++ \o/
21:43 Matt-W just pushed it to github
21:43 Matt-W please feel free to test for extreme stupidity
21:44 * masak git pulls
21:44 Tene masak: I ran into some segfaults when dealing with MySQL
21:44 Tene masak: something to do with the pmcproxy caches
21:45 masak I do that all the time. :)
21:45 masak ahem.
21:45 Matt-W haha
21:45 * Matt-W watches his cat try to figure out what's the deal with shiny wrapping paper
21:45 Tene So I apparently need to actually learn what all this pmcproxy stuff is about.
21:45 Tene I finally finished the novel that ate my free weekend, so I can start on it soon.
21:47 masak mberends: #4 sounds suspiciously like a migration policy to me. I'm willing to do it, but only if it doesn't eat other resources, such as proto dev tuits, or proto dev speed. I believe the users of proto are hardy enough to re-install what they have without complaining much.
21:47 Tene (Anathem.  Very good.  I recommend you avoid it if you want to get anything done.)
21:48 masak Tene: sounds promising. I'm aiming for making a "weekly" post Sunday, so if we can whip something up till then, it would be nice.
21:48 colomon Tene: I've got Anathem, and plan to read it once I get done with my year (2009) of overdosing on Gene Wolfe.
21:49 Tene There's some kind of family drama going on that I don't understand yet, so I might or might not be available tonight.
21:50 masak Tene: ah, that one. yes, it does seem awfully good.
21:50 masak joined #perl6
21:51 masak blrk.
21:51 masak mberends: will you be here tomorrow? I think I need to go make vain attempts at sleeping very soon now.
21:51 mberends masak: #4 is migration, also for the sake of the Proto developers. Splitting the conversion into smaller size pieces should make it easier to implement. #4 is not a must-have goal, rather a possible stress reliever.
21:52 mberends yes, good tuit supply tomorrow :)
21:52 masak I'm all for gradually transforming proto, if it helps the devs.
21:52 Tene 'night masak
21:53 mberends I'm also planning a good sleep soon
21:53 masak o/
21:53 masak mberends: pushing some minor changes to the TODO. :)
21:53 mberends masak++
21:55 * masak bows and walks backwards out
21:56 mberends o/
22:05 justatheory joined #perl6
22:20 meppl joined #perl6
22:29 huf_ joined #perl6
22:42 diakopter today I had fun with JS/V8 - http://shootout.alioth.debian.org/u32q/benchmark.php?test=regexdna&amp;lang=all and http://shootout.alioth.debian.org/u32/benchmark.php?test=regexdna&amp;lang=all
22:47 japhb Holy cow
22:48 japhb diakopter++ # Very nice
22:51 diakopter thanks
22:51 diakopter good job v8 folks
22:51 s1n ugh, so whitespace is gaining acceptance as syntax here too...
22:51 japhb .oO( What does the 'fixed' in "fixed by Matthew Wilson" mean? )
22:52 diakopter Perl #3 beats it slightly, but misses some technical requirement of the game rules
22:52 KatrinaTheLamia V8 folks? Why would you label somebody on them drinking vegitable cocktails?
22:52 diakopter it means the previous version didn't even run
22:52 diakopter and had a copy/paste typo as well
22:52 diakopter i spent a lot of time tuning/golfing it for the game
22:53 arnsholt Do any of you guys know a good reason for the incredibly tight coupling between Lisp and Emacs? I've been looking, but can't seem to find anything
22:53 japhb There's clearly formatting differences between the TraceMonkey version and the V8 version -- but are the actual code differences all due to you tweaking?
22:53 arnsholt (Not strictly Perl6, I know, but seemed as good a place to ask as any other I know of)
22:54 japhb And that TraceMonkey run is WAY out of date ... I'd like to see it run against current TM ...
22:54 KatrinaTheLamia arnsholt: no idea, but that would be a good feature to add to Emacs... multiple language support
22:54 japhb 8 months is like 8 years in JS engine time.  :-)
22:54 diakopter yeah
22:55 diakopter the game maintainer says to add a forge item if you want an engine upgraded
22:55 ruoso joined #perl6
22:55 s1n arnsholt: iirc, RMS wrote emacs _in_ lisp to support lisp development
22:55 japhb arnsholt, among other things because modern Emacs is largely written in Lisp.  There's a tiny C core, but the rest is crazy layers of Lisp.
22:56 s1n mostly blame RMS and his early obsession with LISP
22:56 japhb (I saw "modern" because before the Lisp rewrite, Emacs was a macro set for another editor)
22:56 japhb er say
22:56 japhb diakopter, "forge item"?
22:56 arnsholt Right, so it's mainly a case of tradition?
22:56 s1n see his wiki page to find out about his incidents with the lisp machines and why he ultimately created the fsf
22:56 kent\n joined #perl6
22:57 s1n arnsholt: yes, RMS is an old fart :)
22:57 arnsholt Heh. It's just really annoying for me as a vim user that learning Lisp means that that I automatically have to learn a new editor as well >.<
22:58 s1n akk why would you want to learn lisp? that's like wanting to learn sanskrit
22:58 frew_ joined #perl6
22:59 arnsholt Careful what you say. I actually -do- know Sanskrit ;)
22:59 s1n haha
22:59 arnsholt Besides, I'm doing a master's degree in computational linguistics. Lisp is quite common in that field
22:59 diakopter japhb: the speedups are mostly from hardcoding the REs and banishing for-in iteration
22:59 s1n arnsholt: i happen to be as well, and from what i've seen, it's not
23:00 diakopter japhb: I'm sure TM would do a lot better on the v8 version too
23:00 arnsholt Interesting. From what I see at my university, they profs seems like Lisp (and Prolog) people
23:00 s1n arnsholt: in fact, knowledge based systems have all but been abandoned anymore
23:00 s1n arnsholt: what uni is that?
23:00 arnsholt University of Oslo
23:00 arnsholt s1n: In favour of statistical models you mean?
23:01 s1n arnsholt: yes, empirical models have won
23:01 japhb arnsholt, every so often someone threatens to rewrite Emacs in something else.  And then they realize how HUGE the source tree is (not just in klocs, but in semantic steps), and go "Oh crap.  That's ... too much."  Hasn't stopped a few people writing cut-down versions, though.
23:01 s1n arnsholt: most of the modern research has shifted away from knowledge based models that lisp and prolog favor
23:02 arnsholt japhb: Heh. I mostly care about the other direction though. A Lisp compiler/interpreter that isn't bolted onto Emacs =)
23:02 s1n arnsholt: i've been using perl mostly for my work with snlp
23:02 s1n arnsholt: i think parrot has a lisp compiler
23:02 japhb arnsholt, well ... someone is writing a Common Lisp for Parrot ...
23:02 japhb s1n beat me to it.
23:03 arnsholt I should probably try to use that. If nothing else, just to see the looks of amazement on my classmates' faces =D
23:03 * japhb feels a little undereducated given the massive proportion of Perl 6 people with Linguistics training
23:03 diakopter japhb: I think you add one here: https://alioth.debian.org/tracker/?atid=411005&amp;group_id=30402&amp;func=browse
23:04 arnsholt Just by asking how to do stuff without Emacs made them look at me like I'd fallen from the moon, so actually using something non-Emacs should be good =D
23:04 arnsholt s1n: Ultimately, I think formal models are the way to go, but yeah, it does look like statistical models perform better at the moment
23:04 japhb diakopter, Already got one started, or shall I?
23:05 japhb TimToady, quiet you.  Clearly you have no expertise in the linguistics arena.  ;-)
23:05 s1n arnsholt: i can argue all day long why formal models are relics of the 50s :)
23:06 arnsholt TimToady: Well, the evidence does seem to indicate a fair amount of statistics going on when humans process language, so clearly that would be a part of a complete formal model =)
23:06 arnsholt But I think you need more than just statistics
23:07 s1n formal models only work when _everything_ can be modeled, this is in reality more difficult than it sounds, _especially_ with linguistics
23:08 arnsholt I'm not saying that all of it has to be modeled, but I do think there are elements of language that are modelable
23:09 TimToady that is basically the compromise that people do all the time in their heads
23:09 s1n arnsholt: sure, with statistical/empirical models :)
23:09 arnsholt TimToady: Exactly! Which is why I think it's the best model =)
23:09 TimToady our linguistic brains do a combination of formal and statistical, I believe
23:10 diakopter japhb: I hadn't yet... I didn't even know one could build tracemonkey for command line
23:11 TimToady and most people chunk 1/2 as a single token, statistically speaking, I think
23:11 arnsholt What TimToady said. That's the idea I was trying to express, well formulated
23:12 s1n ironically, formal models can be trained empirically :)
23:13 arnsholt s1n: Which is what I'll probably be doing for my thesis =)
23:13 japhb diakopter: Sigh, it looks like I would need an Alioth account just to create a ticket ... can you?
23:13 * japhb tries to avoid creating a million single-use logins
23:14 TimToady which is why we even end up with graphemes like ½
23:14 diakopter japhb: sure
23:15 TimToady s1n: so yes, we'll use whitespace when it seems to make psychological sense for tokenizing on the small scale.  it's use of whitespace for long-range structure that is evil
23:16 TimToady the last major language that was truly whitespace insensitive was, like, Fortran IV or some such
23:16 TimToady where it would ignore spaces even in the middle of identifiers
23:17 s1n bleh, i still don't like having to know really annoying minute details like 1 / 2 means something other than 1/2
23:18 s1n that means i have to add more fairly annoying translation rules to my brain's interpreter
23:19 s1n it's not very dwimmy, 1/2 should be a Rat when it makes sense to be, just the same as 1 / 2
23:19 s1n both are still ultimately Rats, are they not?
23:19 TimToady how do you think 99% of people will read \$x * 1/2
23:20 s1n x/2 ?
23:20 s1n err \$x/2
23:21 donaldh joined #perl6
23:22 diakopter wait, what does 1 / 2 mean
23:22 TimToady it produces a Rat
23:22 TimToady but it's not a single token like 1/2 is now
23:22 TimToady it doesn't matter in the case of *, but then there's \$x ** 1/2
23:23 s1n which is sqrt(\$x)
23:24 s1n yes it is, i didn't define any precedense, sqrt(\$x) is dwim, how you, the language constructor makes that happen is above my pay grade :)
23:24 TimToady but yes, people will generally write sqrt
23:25 TimToady then you can cargo cult 1/2 like most everyone else will without even thinking about it :)
23:25 s1n i would argue that 'Int div Int' is always a Rat and () precedence scope should be provided if something else is meant
23:26 * s1n looks up term 'cargo cult'
23:27 s1n ouch, lwall call me an uninformed mass :(
23:27 TimToady well, you dint wanna be informed :)
23:28 TimToady but perl is designed to be used by people who learn the details after getting their job done by copy/paste
23:28 s1n i do, i just want 1/2 to dwim :)
23:28 TimToady that's how most of us learn most things, really
23:28 TimToady we construct the formal system after the statistical system
23:29 s1n bleh, the professional student in me disagrees :)
23:29 TimToady and anyway, I wanted a simple Rat literal, and 1/2 sure looks like one to me
23:29 PerlJam s1n: people dealt with gravity for a long time before Newton codified it. :)
23:29 s1n is 1 / 2 not the same thing?
23:30 TimToady but not if you say \$x ** 1 / 2
23:30 s1n why?
23:30 TimToady same reason it wouldn't be the same if you said 1 / 2.foo
23:31 TimToady infix:</> participates at a certain precedence level, and there are tighter levels
23:31 s1n ** and . have a tighter level?
23:32 TimToady yes, this isn't APL
23:32 TimToady (one of the reasons APL ended up largely unreadable, I think)
23:33 s1n as long as 1 / 2 will bind to a Rat unless something with a tighter precendence doesn't break that, that's ... better
23:34 s1n but when most people do 'Int div Int' they mean to create a Rat, so i'm not sure where you've have to put that in the precedence ordering
23:34 TimToady rakudo: multi infix:<e> (\$x,\$y) { \$x * 10 ** \$y }; say 1 e 2; say 1e2;  # same situation
23:34 p6eval rakudo c9a930: OUTPUT«100␤100␤»
23:34 * PerlJam wonders what it is with perl and animals
23:34 TimToady well, they can do it with / now, and div now gives us access to machine integer division, which we didn't have before
23:35 TimToady and it's also the same as in Pascal now :)
23:35 s1n were those supposed to be different?
23:36 TimToady no, they were supposed to come out the same, just like 1 / 2 and 1/2
23:37 TimToady rakudo: multi infix:<e> (\$x,\$y) { \$x * 10 ** \$y }; say 1 e 2 ** 3; say 1e2 ** 3;
23:37 p6eval rakudo c9a930: OUTPUT«100000000␤1000000␤»
23:37 TimToady there you see the difference
23:38 TimToady rakudo: multi infix:<e> (\$x,\$y) { \$x * 10 ** \$y }; say (1 e 2) ** 3; say 1e2 ** 3;
23:38 p6eval rakudo c9a930: OUTPUT«1000000␤1000000␤»
23:39 TimToady so you see, we *could* in theory get rid of the 1e2 notation, at the expense of occasionally requiring more parens
23:39 TimToady but people have learned to chunk 1e2 as a single token
23:39 TimToady and I think they are well on their way to seeing 1/2 that way already, by and large
23:40 TimToady though you may be one of the sacrificial victims here
23:42 TimToady and yes, playing Language Designer is bad for one's egomania :)
23:43 S joined #perl6
23:44 Jedai joined #perl6
23:44 Guest15284 :-/   My nick was supposed to be my name Søorensen, but it doesn't seem to like the ø...
23:45 Guest15284 Quick question:  I was reading planetsix.perl.org just now and there is a reference to a integer fraction object called a Rat...
23:45 Guest15284 If I wanted more information on this, how would I find it?
23:45 TimToady we're trying to drag the world kicking and screaming into the age of Unicode, but the world has a lot of inertia
23:46 Guest15284 (The post following that on the planet mentioned Perl6.org, which I visited to find information and then wound up here.)
23:46 TimToady currently people grep through the synopses (in the pugs svn repo), or they ask here :)
23:47 Guest15284 Ha, at work, Unicode is giving me a LOT of trouble.  I inherited a terrible bit of crashy software that we only recently discovered is totally incompatible with Unicode SAP, which we are in the process of migrating to :-/
23:47 TimToady however, if you go to the Synopsis link on perl.org, it takes you to a page of specs
23:47 Guest15284 Hmmm...
23:47 s1n TimToady: mr_ank called me an insane idiot for sarcastically saying that we are collectively dumber than you lol, said i was feeding your ego. i wanted to tell him that there's nothing i could do that would further inflate it :)
23:47 TimToady and S02 and S03 will have various things to say about Rats
23:48 TimToady s1n: you seem to have an accurate view of reality, for which I congratulate you, and offer my condolences
23:48 s1n lol
23:50 TimToady I try not to turn situations into win/lose situations, but when I am forced to, sometimes I choose to win, and sometimes I choose to lose.  It's all very theological at that point.  :)
23:51 Guest15284 Good heavens, loading S02 and S03 froze up my browser
23:51 TimToady all the line numbers, perhaps.  the raw pod docs aren't all that unreadable
23:52 TimToady or find a computer with more memory :)
23:52 Guest15284 Thanks, I'll certainly look through these specs.
23:52 pmichaud http://svn.pugscode.org/pugs/docs/Perl6/Spec   # raw docs
23:53 TimToady yes, you can just fetch the pugs repo too if you like
23:53 TimToady if you are svn savvy
23:53 Guest15284 (I take that back, it was actually the search I ran on the page rather than its loading that froze it up.  As it just did that again.)