»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by Juerd on 28 August 2009.
00:04 M_o_C left 00:15 kidd_ left 00:20 kst left 00:21 kst joined 00:27 Eevee_ left 00:38 explorer left
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
it's even not too hard to implement, just haven't done it yet
colomon How do you figure what precision to use? 00:40
(And have I mentioned my insane notion of supporting irrational numbers in Perl 6?) 00:41
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?
pmichaud well, it would fail for exponentials, but it gets us closer :) 00:43
and for a while we can probably explicitly fail for those values we can't properly Rat-ify
colomon Right, exponentials are going to be trouble until we get bignums. 00:44
jeekobu Oh, no bignums yet?
pmichaud in fact, whenever +"1.23" succeeds in becoming a Rat instead of a Num, we can always just do method Rat Rat() { + ~ self }
(assuming 'self' is a Num)
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.
right now we "cheat" by turning out-of-range Ints into Nums 00:46
rakudo: say 25832465412852582852
p6eval rakudo ba1046: ( no output )
pmichaud hmmm
might not be enough digits in our Nums :)
rakudo: say 25832465412852582852 + 0
p6eval rakudo ba1046: OUTPUT«2.58324654128526e+19␤»
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
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.
jeekobu More concretely, 3.1415926535897932384626433832795029L == 8717442233 / 2774848045 as far as my computer can tell
pmichaud when we get bigints, it'll be exactly equal to 31415926535897932384626433832795029 / 1E34 00:49
jeekobu Right
I'm sort of surprised you don't have them 00:50
pmichaud Parrot's working on them now
we'd probably want to use Parrot's bigints when they become available
instead of rolling our own
(if we end up having to roll our own, we'll do that)
jeekobu Makes sense
pmichaud afk for a while 00:51
colomon rakudo: say 4/1 - 4/3;
p6eval rakudo ba1046: ( no output )
pmichaud I suspect timeout issues
rakudo: say 4/1 - 4/3; 00:52
p6eval rakudo ba1046: ( no output )
colomon rakudo
rakudo: say 4/3;
p6eval rakudo ba1046: ( no output ) 00:53
jnthn sleep - night all
colomon 'night 00:55
00:56 tak11 left
jeekobu colomon: So what's this irrational number thing? 00:56
00:56 tak11 joined
s1n ouch, mr_ank sent me a note telling me how stupid i was :( 00:56
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.
But once we have lazy lists, you could potentially have a lazy generator of digits for a truly irrational number.
(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
jeekobu colomon: Yeah, like an infinite sum or something. But most irrationals are not computable =) (But some useful ones are) 00:59
00:59 meppl joined
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?
But there are lots of interesting ones that are computable...
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)
The latter happens for all the math.h constants... 01:01
s1n jeekobu: a better program will do the same calculation with an infinite number of bits :)
colomon It would be horribly inefficient, I imagine, and mostly just interesting as a toy. But it would be a damn cool toy...
cognominal_ thx, wayland76 01:02
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:03
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"
jeekobu All you would need is a cap on the error, e.g. accurate to $n$ digits. 01:07
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:08
01:12 dukeleto left
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:12
jeekobu That's actually a pretty good point. 01:14
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.
The more "naive" string-like method would need to do gcd and a couple divisions, if you wanted a reduced form 01:15
Not sure which is better or worse
colomon jeekobu: That's already implemented for Rat, BTW.
jeekobu Right, albeit not for bignum =) 01:16
colomon rakudo: say (11/33).perl
jeekobu (Well, the alg doesn't change)
p6eval rakudo ba1046: OUTPUT«1/3␤»
jeekobu Any plan to have a repeating decimal output? =) The Nickle language has that, if it's still around.
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
(bignums, I mean, not repeating decimal output.)
rakudo: say (11/33).Str
p6eval rakudo ba1046: OUTPUT«0.333333333333333␤»
jeekobu Yeah, in Nickle that would be something like 0.[3] 01:20
01:20 carlin joined
colomon That's more along the lines of what I was thinking for irrationals (though obviously 1/3 is rational). 01:20
01:20 Eevee joined
jeekobu ? Rationals and repeating or terminating decimals are equivalent 01:21
colomon Hmm? Rationals don't have to terminate. 01:22
jeekobu If they don't terminate, they repeat
colomon right. 01:23
jeekobu And if the decimal (or any other integer base > 1) repeats or terminates, it's rational
colomon my point being that code for dealing with lazy infinite lists of digits can just as easily handle repeating rationals.
jeekobu Ah 01:24
colomon or terminating ones, for that matter (infinite list of zeros....)
jeekobu Or 9s ;) 01:25
colomon sure enough. 01:27
I'm sure this wouldn't be a feature for the core, but it might make a neat module. 01:29
jeekobu Sure 01:30
01:31 cotto left 01:46 nihiliad joined 01:50 SmokeMachine left, pyrimidine joined 01:51 pyrimidine left 01:56 dukeleto joined 01:59 kst left 02:00 kst joined 02:01 payload left 02:02 beggars joined 02:06 PZt left, Whiteknight left 02:07 payload joined
dukeleto s1n: transcendental also means that the number is not a root of any finite algebraic equation. fun to think about :) 02:09
s1n dukeleto: that's why i enjoy watching people associate pi with Rat :) 02:21
s1n homework& 02:22
02:22 rhr joined 02:24 hcchien joined 02:31 carlin left 02:35 rhr_ left, ihrd left, ihrd joined 02:36 ihrd left 02:41 beggars left 02:48 satrac joined 02:50 satrac left 02:51 kst left 02:52 kst joined 03:00 SmokeMachine joined 03:03 reqamst left, reqamst joined 03:14 dukeleto left 03:20 donaldh left, donaldh joined 03:26 justatheory left 03:28 justatheory joined, justatheory left
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)␤»
cognominal_ oops 03:32
rakudo: 1 ?? 2 !! 3
p6eval rakudo ba1046: ( no output )
cognominal_ I am curious to know what the first expression means. 03:33
TimToady std: 1 ?? 2 :: 3 03:35
p6eval std 28165: OUTPUT«===SORRY!===␤Please use !! rather than :: at /tmp/0iY5dNb9dY line 1:␤------> 1 ?? 2 ⏏:: 3␤ expecting any of:␤ bracketed infix␤ infix stopper␤ standard stopper␤ terminator␤FAILED 00:02 37m␤»
03:36 _jaldhar left 03:39 PZt joined 03:40 molaf joined 03:41 jaldhar joined
cognominal_ std: 1 ?? a::b 03:41
p6eval std 28165: OUTPUT«===SORRY!===␤Found ?? but no !!; possible precedence problem at /tmp/ALpb4xwYEV line 1 (EOF):␤------> 1 ?? a::b⏏<EOL>␤ expecting any of:␤ argument list␤ infix stopper␤ standard stopper␤ terminator␤ whitespace␤Undeclared 03:42
..routine:␤ a::b used a…
cognominal_ std++ # good error messages
in S06, what if I don't want extra parameters to be slurped in %_ and @_? 03:44
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
spurious named parameter : a
03:50 mepplock joined 03:51 tak11 left, kst left 03:52 kst joined 04:06 meppl left 04:08 scud left 04:10 cotto joined 04:13 mepplock is now known as meppl, dukeleto joined 04:14 molaf left 04:21 EdLin joined, EdLin left
pmichaud cognominal_: if you write sub a() { ... } then it won't accept any named parameters 04:32
04:32 nihiliad left, nihiliad joined
cognominal_ thx pmichaud 04:33
but is there anyway to "close" the signature meaning I want what is specified and no more? 04:34
What is the Integral type mentionned in S02? 04:35
pmichaud sub a() { ... } does it
sub a() means no arguments
(there's a parrot bug that currently prevents rakudo from enforcing that, however)
rakudo: sub a($x) { say 'yes'; }; a( :named('value') ); 04:36
cognominal_ but if I say sub($a) { ... } there will be an implicit %_ and @_
p6eval rakudo ba1046: OUTPUT«too many named arguments - 'named' not expected␤in sub a (/tmp/amyysuUpjd:1)␤called from Main (/tmp/amyysuUpjd:2)␤»
pmichaud no, there's no implicit %_ or @_ on subs
(that have an explicit signature)
cognominal_ ho, that's for methods?
pmichaud methods get an implicit %_, yes.
cognominal_ thx 04:37
this will be great once jnthn++ will have worked the signature handling 04:41
04:46 molaf joined
pmichaud afk for a while 04:48
04:48 sri_kraih left 05:06 snarkyboojum joined 05:12 kst left, kst joined 05:14 justatheory joined 05:19 molaf left 05:20 jauaor left, jauaor joined, jauaor left 05:24 agentzh joined 05:25 justatheory left 05:44 agentzh left, agentzh joined 06:01 hercynium left 06:03 nihiliad left 06:17 stephenlb joined 06:22 kst left 06:23 kst joined
dalek kudo: 30ffa60 | mberends++ | tools/test_summary.pl:
[tools/test_summary.pl] add hints to change "plan *;" to "plan $number;"
06:27
kudo: c6d5941 | mberends++ | :
Merge branch 'master' of [email@hidden.address]
06:31 stephenlb left 06:41 Avada joined
moritz_ good morning 06:43
cognominal_ oasis est dissous, coca est haram... 07:02
oops
07:04 Avada left 07:05 ejs joined 07:16 sharada joined 07:18 maerzhase joined 07:20 donaldh left 07:21 donaldh joined 07:29 rfordinal joined, rfordinal left 07:30 ejs1 joined, jrtayloriv left 07:37 jferrero joined 07:40 ejs left 07:41 kst left, kst joined 07:47 iblechbot joined 07:51 Su-Shee joined
Su-Shee good morning. :) 07:51
07:55 snarkyboojum left
moritz_ good localtime() 07:56
frettled heh :) 07:58
yes!
08:10 mberends joined
mberends good morning all, /me working on a proto ecosystem branch today :) 08:13
sharada hello 08:16
moritz_ mberends: nice 08:17
08:33 alanhaggai joined 08:36 mikehh_ left 08:44 M_o_C joined 08:49 gbacon left 08:51 jaffa8 joined 08:53 cono joined, raig joined 08:56 kst left, kst joined 09:02 xomas left 09:07 cognominal_ left, PZt left 09:08 PZt joined 09:10 alanhaggai left, alanhaggai joined 09:13 [1]jaffa8 joined 09:15 cognominal joined, cognominal left 09:16 cognominal joined 09:19 jaffa8 left, [1]jaffa8 is now known as jaffa8
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
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
masak: 01 Sep 23:23Z <japhb> tell masak In 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.
masak: 01 Sep 23:43Z <jeekobu> tell masak I emailed a maze sketch to your gmail
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
masak whoa.
jnthn: (unlink) thanks.
japhb: (errors) thanks, will fix.
jeekobu: (sketch) thanks, will have a look. 09:42
moritz_: (merge) thanks, will merge.
masak tries to address those things in order 09:43
meanwhile, a question: 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:44
09:48 zamolxes left
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 frettled sets mode: +o masak
masak frettled: oh hai 09:49
frettled masak: do you always connect from 130.238.45.242 09:50
?
masak frettled: no.
it's my assigned IP at work.
frettled Aha.
frettled was thinking about creating an auto-op-thingy that was semi-secure.
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.
jnthn: o/ 09:55
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:57
jnthn: morningish! 09:58
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.
seems sane, too.
so "hidden" occurrences of @_ and %_ don't count. those in flattened arrays, for example, or in eval strings. 10:00
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:09 kst left 10:10 kst joined 10:11 mikehh joined
mikehh rakudo (c6d5941) builds on parrot r40919 - make test PASS / make spectest (up to 28165) 3 failures - Ubuntu 9.04 i386 (gcc) ...(more) 10:11
rakudo - t/spec/S03-operators/arith.rakudo - Failed test: 120 - Non-zero wait status: 8 10:12
rakudo - t/spec/S12-attributes/class.rakudo & t/spec/S14-roles/basic.rakudo - Segmation fault on exit
i.e. Non-zero wait status: 11 10:14
10:14 eMaX joined
cognominal jhnthn, my problem with blizkost disappears if I do a make install and have the path to the installed binaries. 10:15
jnthn!
10:15 rbaumer joined
mikehh running -> ./perl6 t/spec/S03-operators/arith.rakudo - not ok 120 - -2147483648 == 2147483648 - Floating point exception 10:16
jnthn cognominal: Which problem? The one with the executable? 10:17
jaffa8 hi 10:18
cognominal it did not found perl5 nterpreter
in fact, that's a parrot bug that should say when .loadlib fails.
jaffa8 it seems to me that this simple operation does not work %a["akey"]="value"; 10:19
rakudo: my %a ; %a["k"]="v"; 10:20
p6eval rakudo c6d594: OUTPUT«Method 'postcircumfix:[ ]' not found for invocant of class 'Perl6Hash'␤»
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
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"...
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
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"}
p6eval rakudo c6d594: OUTPUT«v␤»
mberends jaffa8: like raig++ said, use {} instead of [] 10:24
jaffa8 i can see that now.
cognominal jnthn, anyway I need a lot of reading to before getting anything done 10:25
10:25 iblechbot left
jaffa8 I confused it with D. 10:25
10:27 redicaps joined 10:28 carlin joined 10:41 payload left 10:48 eMaX left
cognominal jnthn, what you say means modifying the eval sub in control.pir? 10:49
...or merely using it 10:50
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)␤»
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
jnthn cognominal: There should be no changes needed in Rakudo. 10:53
Perl5Interpreter in its invoke VTABLE method needs to do something to set a return value. 10:54
10:54 cotto left
jnthn But that means we need to wrap up what comes back from Perl 5 in a PMC. 10:54
cognominal the eval seems to work indeed 10:55
jnthn++
:rakudo eval 'print "foo\n", lang<perl5>' 10:57
rakudo: eval 'print "foo\n", lang<perl5>' 10:58
p6eval rakudo c6d594: ( no output )
cognominal p6eval is not yet hooked to blizkost apparently
jnthn cognominal: The aim is that we implement the HllCompiler interface 11:00
cognominal: Which means that eval and import from other languages should Just Work. 11:01
(That is, other Parrot languages should be able to use this too.)
cognominal the return value should be shoved in an attribue of the p5interpreter? 11:04
jnthn!
:)
colomon rakudo: for (0..9 >>/>> 10) -> $x { say $x; } 11:07
p6eval rakudo c6d594: OUTPUT«0␤1␤»
colomon oh.
11:08 _jaldhar joined
moritz_ frettled: we should rather register our privs with chanserv and op us only if necessary 11:10
jnthn cognominal: No, I suspect we need to set it as a return value. 11:15
cognominal: Thing is, there's a bunch of calling conventions refactors going on in Parrot at the moment. 11:16
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.
And then we'll create an appropriate one of these and return it. 11:17
We'll want those for marshalling all Perl 5 values through anyway.
11:17 kst left, kst joined 11:18 zamolxes joined
moritz_ do you have conversions like int -> IV, num -> NV etc first? 11:19
s/first/already/
11:20 donaldh left
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
jnthn cognominal: Yes, I noticed. This looks like something good.
11:20 jaldhar left
jnthn cognominal: I guess now we need to start filling out VTABLE methods. 11:21
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.
cognominal yes
11:22 donaldh joined
jnthn cognominal: ah, I know an easy trick we can use... 11:29
(to be able to hand back a ret-val)
cognominal: I think I'll try and get some basic bits in today for that. 11:30
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, pmuriac joined
cognominal jnthn, I am trying to fill the p5scalar.pmc 11:35
jnthn cognominal: OK :-)
I guess with an ATTR for the SV? 11:36
11:36 ihrd joined, ihrd left
cognominal jnthn, the SV in PMC_data 11:37
jnthn cognominal: No, use an ATTR
cognominal ok. whay?
jnthn Otherwise we have might have problems later.
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?
cognominal and how to we get to the value returned by the invoke if not by an ATTR in p5interpreter?
s/to/do/ 11:39
jnthn cognominal: We should do it through the Parrot calling conventions. 11:40
cognominal: Which is a pain in a way, but I know a trick. I'll push it in a moment.
pmuriac ruz_: tisql {.author.name = 'ruz'}?
cognominal jnthn, I can't find them. ok.
jnthn gah, when I do git pull it whines about not knowing where to merge to 11:41
ah, config file was missing something... 11:43
11:43 icwiener_ joined
jnthn 12 files changed, 249 insertions(+), 34 deletions(-) # wow, folks++ 11:43
oh ouch 11:44
the makefile is screwed up
cognominal: Do you have latest makefile chnages pushed? 11:45
cognominal: I see "p5array$(O p5hash$(O)" in the link line, which looks very wrong...
cognominal how do I selectively push a file? 11:46
jnthn just commit that file
and then push
11:47 [1]jaffa8 joined 11:50 jaffa8 left
jnthn aww 11:51
my make doesn't like the line PMC_O := $(PMC_SOURCES:.pmc=$(O))
11:51 [1]jaffa8 is now known as jaffa8
frettled moritz_: well, er, does chanserv have the capability of generating op if there isn't anyone with op on the channel? 11:51
moritz_ frettled: yes 11:52
frettled aha.
cono only from access list
frettled moritz_: in that case, let's do it. :)
jaffa8 Where can I find doc on defining operators in a grammar?
frettled moritz_: ah, #perl6 is already registered :) 11:53
cognominal jnthn, feel free to correct the Makefile.on setups.
cono frettled: /msg chanserv op #perl6 frettled
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
cono moritz_: owner
moritz_: owner of the channel
he have access level = 100
owner = founder* 11:55
moritz_: Founder : freenode-staff :(
moritz_ so we need a freenoder staff member, right?
cono weird
but yes
11:56 jisom left
cono moritz_: I think u need to ask to change founder to you or someone else. 11:56
mberends jaffa8: do not put operators in a grammar. Grammars are special classes to contain regex, token and rule definitions. See www.perlcabal.org/syn/ for Regexes (S05) and Overloading (S13) 11:58
moritz_ cono: ok, I msg'ed a staffer 11:59
jnthn cognominal: OK, merged that. 12:00
cognominal: Let's try and fill out the PMCs we now have before adding even more though.
cognominal: I'm not even completely sure we'll need p5namespace.pmc yet, for example... 12:01
12:02 _jaldhar left, raig left, icwiener left 12:03 jaldhar joined
jnthn OK, now blizkost builds and installs on my platform again. ;-) 12:03
masak jnthn++
jnthn (I hope, without breaking it for anyone elses.)
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
Thus today's Blizkost hacking. :-)
cognominal jnthn, Makefile:92: *** missing separator. Stop. # probably space in lieu of tab 12:06
jaffa8 I mean operator parser 12:08
12:08 rba_ joined
jaffa8 I cannot see the operator parser. 12:08
jnthn cognominal: oh, fail 12:09
cognominal: fixed
12:09 takadonet joined 12:10 takadonet left
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:12
jnthn Do we actually have a problem that we need to fix? 12:13
Or just a "we're not quite matching some ideology" issue?
pugs_svn r28166 | moritz++ | [irclog] default_escape in search.pl is too eager, so explicitly don't escape 12:15
r28166 | stuff in line.tmpl
12:16 alexn_org joined 12:17 kst left 12:18 kst joined, huf left 12:19 takadonet joined
takadonet morning all 12:20
masak morning, takadonet. how are you today?
takadonet masak: Good, about to roll out some new features to our production server.... finally 12:22
masak nice.
mberends masak: running out of tuits for proto-installed-modules atm. I have nothing usable to commit yet :( 12:23
12:23 jaldhar left
masak mberends: I still get a good feeling knowing that you're on the case with me. 12:23
two people with low tuit counts are vastly better than one person with low tuit counts. 12:24
12:24 payload joined
mberends :) 12:24
12:24 jaldhar joined 12:25 rbaumer left, rba_ is now known as rbaumer
mberends this morning's efforts have at least revealed some of the complexity of the task (I had underestimated that yesterday) 12:25
12:26 abra joined
masak interesting to hear. 12:27
not too surprising, though :)
cognominal what are proto-installed modules?
jnthn cognominal: OK, how's P5Scalar coming along?
masak cognominal: we're making a refactor for proto.
cognominal: making it install projects to a 'central' location.
12:28 mikehh left, carlin_ joined, carlin left
jnthn cognominal: I wouldn't mind hacking on it a bit now. 12:28
cognominal: I've got the other bits in place to handle eval return values... 12:29
mberends afk &
12:29 carlin_ is now known as Enrt
cognominal do it, I am going nowhere now... 12:30
jnthn, too much to learn before doing anything
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:31
12:31 hugme left 12:32 hugme joined
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: github.com/masak/proto/
jnthn hugme: hug me 12:33
hugme hugs jnthn
jnthn \o/
masak hugme keeps getting better and better.
cognominal hugme: hug us 12:34
jnthn cognominal: Anything you want to push before I dig in?
hugme hugs us
cognominal jnthn, nope
and I need to go for an hour or so
moritz_ if you have more feature ideas, let me know
12:35 Enrt is now known as carlin, ejs1 left
moritz_ maybe the next step is to add meta committers and new projects via IRC 12:39
but that requires rethinking the data model and storage a bit
12:40 ejs joined, ejs left
cognominal jnthn++ # latéral thinking (!return_value_helper) when I am stuck in litéral thinking 12:42
jnthn cognominal: heh, it took me a while to come up with it the first time I did it in Rakudo. :-) 12:43
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
12:44 meteorjay joined
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:44
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:45
jnthn: ... and that's because installable_blizkost has permission 000 12:46
jnthn moritz_: hmm... 12:47
Wonder how it ended up with those permissions when created. :-/ 12:48
moritz_ and why the copy in the step before didn't complain about it 12:49
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
afk&
moritz_ rakudo: eval('print "Hello from Perl 5\n"', :lang<perl5>) 12:57
p6eval rakudo c6d594: OUTPUT«Hello from Perl 5␤»
masak \o/
rakudo: eval('print "Hello from COBOL\n"', :lang<COBOL>) 12:58
p6eval rakudo c6d594: ( no output )
12:58 redicaps left
jnthn \o/ 12:59
moritz++
12:59 sri_kraih joined
pugs_svn r28167 | moritz++ | [evalbot] automatically build blizkost when building rakudo 13:03
moritz_ (no idea if it works automagically)
pioto so, the idea is that, some day, i could do: eval('require "drb"; DRb.stuff', :lang<ruby>) ? 13:05
and, magically talk to some ruby drb thing out there
moritz_ ou ouch. 'make clean' in blizkost calss Configure.pl 13:06
pioto: actually that would be 'use DRb :from<ruby>'
pioto: and it works for things that work in cardinal (parrot's ruby implementation) right now
13:06 jferrero left
pioto oh, there's an actual parrot ruby implementation? 13:07
neat.
moritz_ (but not in p6eval)
pioto: yes, but it's a work in progress and not all that far yet
pioto ok
jnthn moritz_: It does?
clean: $(RM_F) $(CLEANUPS)
moritz_ jnthn: when build/Makefile.in is changed 13:08
jnthn (erm, over two lines)
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 });
pmuriac: I think it's possible
13:08 payload left
moritz_ jnthn: I have a workaround for the build problem here 13:09
ruz_ is it?
moritz_ jnthn: just change the '+x' in the Makefile.in into 0775 - want a patch?
lisppaste3 moritz_ pasted "blizkost build patch for jnthn++" at paste.lisp.org/display/86431 13:14
jnthn moritz_: Want a commit bit? ;-)
moritz_ jnthn: fine by me too
jnthn github id is moritz?
moritz_ jnthn: it is
jnthn Added 13:15
moritz++
13:15 jrtayloriv joined
jnthn Feel free to add yourself to CREDITS too. :-) 13:15
moritz_ done, and pushed. 13:17
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:18
jnthn moritz++ # thanks! 13:20
13:22 kst left
moritz_ jnthn: you're welcome 13:22
13:22 kst joined
frettled masak: I see that I need to consider larger font sizes, but what will my employer think ;) 13:25
masak frettled: why do you need to consider larger font sizes? 13:26
and why would your employer think something in particular about that? :)
13:27 hagen_ joined
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:28
masak ah. 13:29
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. :)
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.
So then it will be more acceptable again, muahaha. 13:31
masak :) 13:35
frettled Oh, look, isn't that a yak that needs shaving? *wibble* 13:38
13:41 ruoso joined 13:43 agentzh left
cognominal back 13:44
pmichaud good morning, #perl6 13:51
moritz_ oh hai pmichaud 13:52
masak yayitspmichaud
moritz_ how are the context variables going?
pmichaud oh, will probably work on those this morning.
moritz_ great
pmichaud I probably should've been coding last night, but did some other stuff instead 13:53
moritz_ how dare you :-)
pmichaud rakudo.spreadshirt.com/
zazzle.com/rakudo 13:54
cafepress.com/rakudo
mberends oh wow!
masak imagines himself in a Rakudo tee, a Rakudo tie, holding a Rakudo bag containing a Rakudo clock and a Rakudo water bottle 13:56
moritz_ Su-Shee: ping 13:59
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 :)
colomon: on which site?
colomon cafepress 14:01
14:02 kidd_ joined
pmichaud what color? 14:03
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:05
pmichaud www.cafepress.com/rakudo.391274273 14:06
14:06 gbacon joined
pmuriac ruz_: it should be possible 14:06
pmichaud on the right side you can pick the color shirt 14:07
looking for more colors, though
14:09 abra left
pmichaud www.cafepress.com/rakudo.405643391 14:12
(can also pick colors there)
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
colomon Bother! 14:15
pmichaud I can switch it to a rakudo logo instead, though :)
14:16 Psyche^ joined, mikehh joined
colomon :) 14:16
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
(switching back to camelia)
I have no idea how any of these end up looking in real-life yet, though :)
colomon (now imagining the "second system" design on an 18-month shirt for my little guy.... ;) )
I should probably stop this and let you program. 14:18
pmichaud eh, this is -Ofun also
14:19 alester joined
jnthn Well, it has issues but... 14:22
> say eval('"hello " . "world"', :lang<perl5>) 14:23
hello world
14:23 kst left 14:24 kst joined
colomon jnthn++ 14:25
Matt-W Hello #perl6 :)
14:25 cdarroch joined
jnthn Matt-W: Hi 14:27
jaffa8 Do you have deadline until the release? 14:31
cognominal jnthn++ 14:32
masak jaffa8: the release this month, you mean?
jaffa8 6.0.0 14:33
I am thinking of 6.0.0
masak jaffa8: TimToady has given an upper estimate: 2014.
Matt-W: o/
14:33 Patterner left, Psyche^ is now known as Patterner, pmuriac_ joined
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 :)
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.
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.
xinming PerlJam: I mean main-stream. 14:38
perl 5 is still a good choice for web-developement, and there are still new comers to learn perl 5.
PerlJam What is "main-stream"?
xinming COBOL and fortran is "almost" dead, many people prefer to learn other languages instead of COBOL and fortran 14:39
At least, their user base is not that small.
14:39 SmokeMachine left
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.
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.
xinming hmm, Ok, I just tell my opinion. :-) 14:41
pmuriac_ have you ever met anyone using cobol
?
xinming never
14:41 pmuriac_ is now known as pmurias, jauaor joined
pmurias once met a cobol compiler developer 14:42
PerlJam pmuriac_: I work at a university that still teaches cobol (cosc 2470)
xinming pmurias: what did he say about cobol? ;-)
PerlJam (it's in the information systems track)
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
japhb phenny, messages
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.
japhb: 11:31Z <masak> tell japhb never mind, found the second one. :)
14:43 pmuriac left
jnthn OK, with latest stuff I just pushed this also works... 14:44
say eval('use LWP::Simple; get("google.com/")', :lang<perl5>)
japhb jnthn++
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
jnthn japhb: In theory, yes. 14:46
14:46 pmuriac joined
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...)
PerlJam Hmm. the last commit I have for jnthn was on Wed Aug 26.
japhb jnthn: :-) 14:47
moritz_ japhb: so the import() part of 'use' is lost, at least
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 :-)
jnthn eval('use LWP::Simple;', :lang<perl5>) followed by
japhb moritz_, :-)
jnthn say eval('get("google.com/")', :lang<perl5>)
Does work.
japhb jnthn++ # excellent 14:49
moritz_ rakudo: eval('use LWP::Simple;', :lang<perl5>); eval('get("google.com/"; print "alive\n")', :lang<perl5>) 14:50
p6eval rakudo c6d594: ( no output )
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
jnthn moritz_: syntax error 14:51
japhb misplaced )
moritz_ rakudo: eval('use LWP::Simple;', :lang<perl5>); eval('get("google.com/"); print "alive\n"', :lang<perl5>)
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
../usr…
moritz_ jnthn: right, I just noticed it
jnthn moritz_: And that means you didn't have the very latest patch. ;-) 14:52
14:52 payload joined
jnthn (9679ada8ede761388897fe8fc6da310652cef814) 14:52
14:53 pmurias left
moritz_ jnthn: with that build fails 14:54
p5interpreter.c:39:26: error: init_with_xs.h: No such file or directory 14:55
jnthn moritz_: realclean? 14:56
moritz_ trying it now
jnthn I updated the makefile.
pmuriac ruz_: do you know how to make the tisql parser accept a tisql query with trailing junk?
moritz_ still the same error
jnthn moritz_: Can you glane the makefile and see why we mighta been failing to find/run the rule for making that? 14:57
oh, you're going to smack me
wait, committing probable fix
moritz_ it's not mentioned in the Makefile, that's why :-) 14:58
14:58 KyleHa joined
jnthn moritz_: pushed 14:58
moritz_ rakudo: eval('use LWP::Simple;', :lang<perl5>); eval('get("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␤»
colomon rakudo: say (10/0).perl 15:01
p6eval rakudo c6d594: ( no output )
jnthn moritz_: ouch...
moritz_: I'm not even sure what to guess with that one. :-/
moritz_ jnthn: neither am I - which is why I rebuild parrot, rakudo and blizkost right now :-) 15:02
maybe it magically goes away
rakudo: say eval('3+4', :from<perl5>) 15:07
p6eval rakudo c6d594: ( no output )
jnthn moritz_: :lang 15:11
15:11 zamolxes left
moritz_ rakudo: say eval('3+4', :lang<perl5>) 15:12
p6eval rakudo c6d594: OUTPUT«7␤»
moritz_ jnthn: but why doesn't either complain or output the \n?
jaffa8 rakudo: eval('print 1',:lang<perl5>) 15:13
p6eval rakudo c6d594: OUTPUT«1»
moritz_ maybe an evalbot fuckup
rakudo: say eval('"foo"', :lang<perl5>)
p6eval rakudo c6d594: OUTPUT«foo␤»
jnthn maybe a blizkost fickup too ;-) 15:14
cognominal rakudo: say eval('"foo"', :lang<perl5>).WHAT 15:15
p6eval rakudo c6d594: OUTPUT«Method 'WHAT' not found for invocant of class 'P5Scalar'␤» 15:16
moritz_ rakudo: say eval('"foo"', :lang<perl5>) ~ 'bar'
p6eval rakudo c6d594: OUTPUT«foobar␤»
cognominal some more wrapper needed probably
jnthn cognominal: Well, in this case, Rakudo needs to have its .WHAT become a macro. 15:17
That knows how to deal with things from outside of the Perl 6 world somehow.
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'␤»
moritz_ rakudo: say eval('"foo"', :lang<perl5>).^methods.map: *.name
p6eval rakudo c6d594: OUTPUT«Method '!.^' not found for invocant of class 'P5Scalar'␤»
jnthn Right, same goes for .HOW.
Note that this is a _general_ language interop issue. 15:19
That is, if Rakudo wants .HOW and .WHAT to work on things from Perl 5, then that's a problem to solve in Rakudo.
colomon rakudo: say (10/0).perl
15:20 donaldh left
p6eval rakudo c6d594: OUTPUT«1/0␤» 15:20
colomon Aha!
jnthn Because that solves it in one place for other Parrot languages.
15:21 donaldh joined
jnthn rakudo: say eval('1,4,9', :lang<perl5>) 15:21
p6eval rakudo c6d594: OUTPUT«9␤»
moritz_ ah, it calls it in scalar context 15:22
rakudo: say eval('[1,4,9]', :lang<perl5>) 15:23
p6eval rakudo c6d594: OUTPUT«ARRAY(0x9033a10)␤»
moritz_ rakudo: .say for @( eval('[1,4,9]', :lang<perl5>) )
p6eval rakudo c6d594: OUTPUT«Method 'list' not found for invocant of class 'P5Scalar'␤»
jnthn Heh
That one could get interesting.
I'm not immediately sure how that kinda thing should be handled. 15:24
masak (hint: it should Just Work.) :P 15:25
15:26 meppl left 15:27 kst left
jnthn masak: :-P 15:27
masak: The devil's in the details. :-)
masak jnthn: I trust you to sort it out. :)
15:27 kst joined, carlin left
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.
moritz_: Here's why it bothers me though.
cognominal RPA?
moritz_ cognominal: ReziablePMCArray
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?
moritz_ is there no get_list vtable function? 15:29
pmichaud the question is a bit deeper than that, though
can we really expect every other HLL on Parrot to understand the notion of "list context"?
jnthn moritz_: No. 15:30
pmichaud there have been times when I've wanted a get_list vtable, fwiw :)
and a get_hash vtable
jnthn pmichaud: That would be The Answer here, I guess.
15:31 nihiliad joined
cognominal rakudo wraps parrot PMC, what is the problem with wrapping perl5 PMCs? naive question probably 15:31
pmichaud cognominal: it doesn't scale
cognominal: we'd have to have rakudo do wrappers for every other language
(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.
pmichaud correct
cognominal really? I was supposing that being pmcs, they would not be all that different
15:32 gbacon left
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?
pmichaud cognominal: that's what vtable does, yes.
it's the magic that is intended to hide the hll-specific details from other hlls
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.
However, that goes back to asking the Parrot folks "plz can we?" :-) 15:35
15:35 SmokeMachine joined
jnthn (the answer may well be yes) 15:36
cognominal jnthn, pmichaud: well, I want these two new entries to have XML node pmcs
pmichaud why would we want XML nodes to be PMCs?
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
pmichaud oh, if you just mean you want an XML node type, I could see that
PerlJam: I've wondered that as well
15:37 xomas joined
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
PerlJam I don't think anyone has discussed it beyond the handwavy "languages can use these"
pmichaud cognominal: or a Match object 15:38
PerlJam (or at least I don't remember such discussion)
cognominal yea, I am sure thinking about XML node will make you think of more uses for Match/Captures/Signature/Parcel objects
[particle] pmichaud, jnthn: parrot has get_repr, which you can customize as you please
cognominal not that I see the differences between them. Right now, I see the commonalities
pmichaud [particle]: that returns a string, iirc
[particle] maybe by default 15:39
but that's what get_string is for
pmichaud no
semantically they're different
in Perl 6, it's the difference between ~$x and $x.perl
get_string is like prefix:<~>, get_repr is like .perl
15:40 hagen_ left
pmichaud in any case, "get_repr" really isn't intended (afaik) to be a generic type-conversion operation 15:40
PerlJam: I think there's been a "two halves of the brain not communicating" sort of situation with PMCs in Parrot 15:41
on the one hand, Parrot goes to pretty good lengths to provide a robust set of builtin PMCs
on the other, PDD 30 basically expects every language to implement its own set of PMCs
15:43 solarion joined
cognominal pmichaud, when we embed dynamic languages, we have to embed their values in pmcs. 15:47
15:47 gbacon joined 15:52 hercynium joined 15:55 jaldhar left 15:56 masak left 16:02 Su-Shee left 16:04 justatheory joined, ejs joined 16:05 gbacon left, gbacon joined 16:09 payload left
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:11
cognominal jnthn, thx for doing the hard work 16:18
moritz_ cognominal: now it's up to you to do the rest of the hard work ;-) 16:19
16:19 alexn_org left, mr_ank joined
mr_ank ank.com.ar/jade7/ << a programming language logo you can be proud of. 16:19
moritz_ we seriously need the "-Ofun" category on perl6.org ;-) 16:21
jnthn lol
TimToady mr_ank++
16:21 rindolf joined
rindolf Hi all. 16:21
16:24 mr_ank left
moritz_ hugme: hug mr_ank 16:24
hugme hugs mr_ank
16:28 pmuriac left
cognominal moritz, can you also put p6_eval on #perlfr, the real one, one irc.perl.org? 16:28
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:29 rindolf left
TimToady in Soviet Russia, Perl 6 learns *you*! 16:30
moritz_ in Soviet France too, it seems ;-)
cognominal: done
16:31 stephenlb joined
pugs_svn r28168 | moritz++ | [t/spec] -Rat tests from colomon++ 16:35
dalek kudo: 47a6ae6 | (Solomon Foster)++ | src/setting/Rat.pm:
Add Rat.prefix<->.
16:36
cognominal thx moritz_ 16:37
moritz_ rakudo: say time 16:38
p6eval rakudo c6d594: OUTPUT«1251909497.88466␤»
moritz_ rakudo: say time.year
p6eval rakudo c6d594: OUTPUT«Method 'year' not found for invocant of class 'Float'␤»
moritz_ rakudo: say Temporal.new().year
p6eval rakudo c6d594: OUTPUT«Null PMC access in getprop()␤in Main (src/gen_setting.pm:3454)␤»
moritz_ rakudo: say Temporal.new(time).year
p6eval rakudo c6d594: OUTPUT«Null PMC access in getprop()␤in Main (src/gen_setting.pm:3454)␤»
moritz_ I should read stuff in the documentation instead of blindly trying them ;-)
pmichaud TimToady: new stuff on cafepress, zazzle, and spreadshirt 16:40
rakudo.spreadshirt.com/
zazzle.com/rakudo
cafepress.com/rakudo
moritz_ that's stuff for perl6.com ;-) 16:41
pmichaud time for lunch here -- bbiaw 16:42
[particle]: btw, are there any large-format images of the Parrot logo anywhere? 16:43
(gone, will read backscroll when I get back)
16:44 kidd_ left
[particle] pmichaud: do you have access to the parrot directors dropbox? the images are available there 16:45
in eps and psd file formats
pmichaud (back) 16:46
no, I'm not aware of the dropbox
TimToady fast lunch++
pmichaud no, I'm now waiting on Paula :)
TimToady the blue-green T on cafepress kinda swears at Camelia's colors :) 16:47
pmichaud yes, it does :)
I can switch it to one of the others
or perhaps Camelia should switch hers :)
okay, we're going now
TimToady well, she knows how
she just likes these colors the best most of the time 16:48
16:48 kidd_ joined
moritz_ bbq& 16:54
17:00 maerzhase left, xomas left 17:01 xomas joined 17:06 kst left 17:07 kst joined, cotto joined 17:09 hercynium left
pugs_svn r28169 | lwall++ | [S05] document how :my works in regexen 17:09
17:10 eMaX left 17:16 abra joined 17:19 kst left 17:23 abra left, RonOreck left, kst joined 17:26 justatheory left, abra joined, Woodi left 17:28 alanhaggai left
pmichaud drum roll, please ... 17:34
TimToady rolls drum
pmichaud (now just waiting for dalek...)
17:34 sparc left
TimToady continues to roll drum... 17:34
jnthn 's arms are getting tired... 17:35
TimToady can I just do a rimshot instead?
pmichaud sure!
here, I'll just past it directly
TimToady badumpump clang
pmichaud spectest-progress.csv update: 435 files, 13245 pass, 0 fail 17:36
TimToady we can fix that...
pmichaud 13K :-)
jnthn :-)
17:36 rbaumer left
jnthn
.oO( awww, I thought it was going to be a patch for contextuals ;-) )
17:37
dalek kudo: c9a9300 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 435 files, 13245 pass, 0 fail
pmichaud contextuals are coming next :)
jnthn \o/
That'll be *more* tests. :-)
pugs_svn r28170 | lwall++ | [STD] fix LTA message on my $x = for 1..10 {...} 17:40
17:44 hercynium joined
TimToady oh, moritz_++ and masak++ on that LTA 17:45
and pmichaud++ on the earlier specificiality 17:46
17:51 tylerni7 left 17:52 Chillance joined 17:53 Chillance left 17:54 LionMadeOfLions left 17:55 Chillance joined
TimToady I think the range operator should not attempt coercions; this would catch a lot of errors 17:58
in particular, it should not allow a Range or a List as an endpoint
17:59 RonOreck joined
colomon TimToady: As long as you are on, do you have a feeling about the Rat 1/0? 18:01
I'm pretty sure 0/0 will get you a divide by zero error...
rakudo: say (0/0).perl
p6eval rakudo c9a930: OUTPUT«Divide by zero␤» 18:02
colomon but 1/0 is legal as Rats are currently defined.
rakudo: say (30/0).perl
p6eval rakudo c9a930: OUTPUT«1/0␤»
colomon rakudo: say (30/0 + 1/2).perl 18:05
p6eval rakudo c9a930: OUTPUT«1/0␤»
colomon rakudo: say (30/0 * 1/2).perl 18:06
p6eval rakudo c9a930: OUTPUT«1/0␤»
colomon rakudo: say ((30/0) / (1/2)).perl
p6eval rakudo c9a930: OUTPUT«1/0␤»
colomon I think pretty much all the Rat ops will work on it. You just can't call Rat.Num or Rat.Str. 18:07
18:08 cotto left
TimToady rakudo: say 42 / (1/0) 18:10
p6eval rakudo c9a930: OUTPUT«0␤»
TimToady rakudo: say 42 / Inf
p6eval rakudo c9a930: OUTPUT«0␤»
TimToady rakudo: say (42 / Inf).perl 18:11
p6eval rakudo c9a930: OUTPUT«0␤»
TimToady rakudo: say (42 / Inf).WHAT
p6eval rakudo c9a930: OUTPUT«Num()␤»
colomon Inf isn't an Int, is it? So no Rat.
TimToady we define Int to include Inf values
it's int that doesn't support Inf
colomon Ah.
Guess that's another test case to worry about. 18:12
Is 42 / Inf == 0 intentional? That would certainly suggest how to handle that case for Rats. 18:13
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:15
pugs_svn r28171 | lwall++ | [S03] forbid List and Range as endpoint to ranges 18:22
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
rakudo: say 1/0
p6eval rakudo c9a930: ( no output )
colomon p6eval having issues again? 18:25
rakudo: say 1/0
p6eval rakudo c9a930: ( no output )
TimToady rakudo: say 1/1
p6eval rakudo c9a930: OUTPUT«1␤» 18:26
colomon rakudo: say 0/0
p6eval rakudo c9a930: OUTPUT«Divide by zero␤»
TimToady rakudo: say 1/0
p6eval rakudo c9a930: ( no output )
colomon The code's different internally -- 0/0 is actually throwing the divide by zero in Rat.new. 18:27
18:28 jan_ left
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
18:30 jan_ joined
TimToady well, apparently 1/0 is stringfying to '' 18:31
18:32 gggg joined
colomon TimToady: It's a divide by zero error, p6eval just has a funny way of showing it. 18:35
18:35 gggg left, rbaumer joined
colomon (At least, it's a divide by zero on my copy of Rakudo...) 18:36
TimToady git pull and the error goes away 18:37
colomon Really?
TimToady something recent
at least in the case of say 1/0 18:38
eq '' errors though
so does ~ 18:39
alester Is this a true statemnt?
all Perl files will be considered to be Perl 5
unless the first like of code is "use v6" or a
grammar/class/module/role declaration.
18:40 rfordinal joined
literal line* damn my typo 18:40
18:41 rbaumer left, rbaumer joined 18:42 hsalgado joined, tylerni7 joined
TimToady no, if you specifically invoke perl6, it's assumed to be perl6 18:42
the heuristics are intended only for /usr/bin/perl really
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
that's the heuristic hinrik says we should use.
And I'd never heard that.
So I'm verifying.
TimToady well, if it starts #!/usr/bin/perl6, that's also indicative
alester yeah, but I don't want to rely on shebangs
TimToady it's just one of the heuristics 18:44
any one of which should be deemed sufficent to assume Perl 6 18:45
I suspect a .p6 should also be allowed
alester AND
hinrik, we need to document these all in prose, not just code 18:46
literal ok
where, exactly?
alester I dunno.
wherever this code takes place.
literal I've already commented the detection code more than seems usual in vim :) 18:47
alester oh wait, hinrik = literal?
It's so confusing.
literal yes
alester argh
TimToady btw, the #! thing is specced in S01 already
alester NOW it fits.
good, then we can point to S01
18:49 hsalgado left
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:49
s/subtly/subtlety/ 18:51
18:55 KatrinaTheLamia left, stephenlb left 18:57 KatrinaTheLamia joined 18:58 ispy_ joined
TimToady what does say 1/0 do? 19:03
19:03 stephenlb joined 19:07 icwiener_ left
colomon Oooh, freaky. It does absolutely nothing. Doesn't give an error, doesn't print a newline. 19:08
On the other hand, say "Good {1/0} bye" gives Divide by zero error.
rakudo: say "hello"; say 1/0; say "goodbye" 19:09
p6eval rakudo c9a930: OUTPUT«hello␤goodbye␤»
colomon See? Two newlines, not three.
19:09 cotto joined
colomon rakudo: say "good {1/0} bye" 19:10
p6eval rakudo c9a930: OUTPUT«Divide by zero␤»
TimToady rakudo: say "hello"; say undef; say "goodbye"
p6eval rakudo c9a930: OUTPUT«hello␤Use of uninitialized value␤␤goodbye␤»
TimToady rakudo: say "hello"; say 1 / 0; say "goodbye"
p6eval rakudo c9a930: OUTPUT«hello␤goodbye␤»
TimToady rakudo: say "hello"; say Inf; say "goodbye"
p6eval rakudo c9a930: OUTPUT«hello␤Inf␤goodbye␤»
TimToady beats me 19:11
colomon Seems like maybe say is trapping the error and failing silently?
rakudo: say (1/0).Str
p6eval rakudo c9a930: OUTPUT«Divide by zero␤»
TimToady sump'n like to that
colomon shall I report the bug?
rakudo: say (1.0/0.0).Str 19:12
p6eval rakudo c9a930: OUTPUT«Divide by zero␤»
colomon rakudo: say 1.0/0.0
p6eval rakudo c9a930: OUTPUT«Divide by zero␤»
colomon ooooo.
rakudo: say ~(1/0)
TimToady rakudo: say Rat
p6eval rakudo c9a930: OUTPUT«Divide by zero␤»
rakudo c9a930: OUTPUT«Rat()␤»
19:13 Chillance_ joined
colomon I'm going to report it as a bug. 19:15
jnthn rakudo: say Rat.new
p6eval rakudo c9a930: ( no output )
colomon unless jnthn has different ideas.
jnthn rakudo: say Rat.new
p6eval rakudo c9a930: ( no output )
jnthn rakudo: say Rat.new; say "alive";
p6eval rakudo c9a930: OUTPUT«alive␤»
jnthn colomon: I haven't been following, was just curious what Rat.new would stringify too. 19:16
*to
colomon Ah. Here's the quick rundown on the weirdness:
rakudo: say "hello"; say 1 / 0; say "goodbye
p6eval rakudo c9a930: OUTPUT«say requires an argument at line 2, near " \"goodbye"␤in Main (src/gen_setting.pm:2550)␤»
colomon rakudo: say "hello"; say 1 / 0; say "goodbye"
p6eval rakudo c9a930: OUTPUT«hello␤goodbye␤»
colomon (first was copy-n-paste error, second has three says but only two outputs.) 19:17
rakudo: say "hello"; say (1 / 0).Str; say "goodbye"
p6eval rakudo c9a930: OUTPUT«hello␤Divide by zero␤»
19:17 maerzhase joined
colomon Seems like Rat.new is doing the same thing as bare 1 / 0? 19:18
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)␤»
colomon Oh joy....
19:19 molaf joined 19:20 donaldh left
colomon Since there is a Rat.new with two parameters, what happens if you call it with no parameters? 19:20
19:21 donaldh joined 19:26 Chillance_ left
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?
moritz_ colomon: www.perlfoundation.org/contributor_..._agreement 19:29
print it, sign it, send it by snail mail
get a rakudo commit bit
=> profit
TimToady there's a few lines of ??? missing there 19:30
colomon :D
19:30 abra left
colomon Printing as we speak. Shall I back-date the signature a few days to cover my earlier contributions? 19:34
moritz_ not needed 19:35
19:38 Chillance left 19:39 hercynium left, zamolxes joined
colomon Okay. It will go out in the mail with the birthday invitations I was supposed to do an hour ago. :0 19:40
s/:0/:)/
pmichaud I may be a little late to today's "phone" 19:41
19:45 ejs left
jnthn oh noes, null pmc access! 19:46
pugs_svn r28172 | lwall++ | [S01] also allow a .p6 to be indicative of Perl 6 code 19:48
r28173 | lwall++ | [S02] document Rat and Complex literals 19:56
19:57 synth left 19:59 takadonet left
TimToady phone 20:01
sjohnson "hello?" 20:06
they hung up 20:11
!
colomon sjohnson: I think they're having the secret p6 phone meeting where they plot what bugs to add each week.
PerlJam colomon++ 20:13
The cabal-call /is/ every Wednesday (I don't know what time though)
jnthn Plot? I thought it was a weekly who-can-make-the-worst-pun competition. :-) 20:14
moritz_ jnthn: that's not so obvious from the notes ;-) 20:15
20:19 zaphar_ps joined
sjohnson i'm going to write Perl 6 on my wishlist for Santa this year 20:21
moritz_ don't write wishlists. Contribute!
sjohnson any particular tasks that you could use a hand on? 20:22
moritz_ the test suite needs always hands 20:23
there's a t/spec/TODO file full of things that needs doing
jnthn Yeah, Rakudo passed the 13K mark, we need more tests. ;-)
(Seriously.) 20:24
colomon I've been worried I'm contributing too many tests (numerically speaking). 20:25
moritz_ colomon: I don't think you did. 20:26
TimToady this is not possible, on the face of it. :)
moritz_ numerics want thoroug testing
TimToady even dup tests are useful, in case someone breaks one of the tests or the other :)
colomon The rat.t testfile has 720 tests now. It didn't even exist this time last week. :)
jnthn Wow 20:27
That's awesome.
colomon Not sure if it's getting counted, as it's still "plan *"
moritz_ colomon: it counts towards the passed tests still
just not for overview how many spectests there are
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"
colomon Hmmm... interesting notion.
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.
sjohnson i want to start my own Perl 6 faq
moritz_ TimToady: plan 720 + *;
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
mberends colomon: I just added something like that to tools/test_summary.pl :)
colomon mberends++
mberends it displays the hints, you must edit the test script
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 :)
cute questions will be included 20:32
20:36 rbaumer left
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.
sjohnson i've had to write a few Perl front-ends for it on my own to make my life easier 20:40
they don't call it "the stupid content tracker" for nothing
at least it's fast
moritz_ aye. I like it. 20:41
sjohnson moritz_: have you had any experience with Lua? 20:42
or anyone else? 20:43
moritz_ "experience" would overstate it 20:44
I read about it
20:47 supertroll joined
sjohnson i am wondering how all these little tiny languages all exist 20:47
surely Perl or Python could do everything they could do and more?
20:48 maerzhase left, ruoso left
moritz_ well, yes and no 20:49
lua is much easier to embed than perl
and it's much smaller
TimToady and lua has real closures, unlike Python
moritz_ so window managers like ion3 make their configuration stuff in lua
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, hercynium joined
masak lolihuggedatrollontwitter 20:52
mberends masak++ 20:53
jnthn lolicantsayanythingin140chars...ohwait
moritz_ masak: and did the troll hug back? 20:54
masak twitter.com/snahor/status/3717977030 and then twitter.com/carlmasak/status/3718611568
that felt good, actually.
it was just a minute ago, so no, not yet.
my guess is that I might have just reinforced his "gay" preconception. 20:55
mberends heh
jnthn lol! 20:56
20:57 Chillance joined
jnthn r28174 | jnthn++ | [perl6.org] add ymca.midi as background music to re-inforce gay image 20:57
moritz_ lol
sjohnson haha 20:58
masak :) 20:59
jnthn: I fell for it. I actually updated to check what it was you had changed. 21:00
sjohnson dances
TimToady well, it *is* gay in the old-fashioned sense
masak "we'll have a gay old time"
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
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
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:02
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.
sjohnson i want to write a plugin in Lua just so i can say i did it
21:04 jethro_ts joined
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' :)
masak mberends++. will look at it immediately. 21:05
moritz_ KatrinaTheLamia: planetsix.perl.org generally contains the latest gossip
KatrinaTheLamia thank you moritz_ ^.^
moritz_ I don't think it talks about passin values from perl 5 to Perl 6 yet
jnthn Will blog tomorrow on that. 21:09
moritz_ jnthn++ for doing it ;-)
[particle] i wish my bikesheds were as popular as TimToady's
i even provide free paint.
jnthn [particle]: Because you're too lazy to paint them yourself?
moritz_ popularity doesn't matter. Color does. 21:10
[particle] i'm not lazy, i'm an eagerness enabler.
jnthn
.oO( we've just found the slogan for Rakudo's current list implementation )
21:11
[particle] :)
TimToady -1i :)
masak TimToady: was that complex number a 90 degree clockwise rotation? you're funny. 21:12
21:13 rbaumer joined
masak it would be cumbersome to have to do that on all smilies, though. 21:13
[particle] O_O # none required 21:14
masak perhaps we should all follow the example of Asia. ^_^
TimToady orz
masak oh, a "posture emoticon". I see. 21:16
I'm amazed by how fast one can go from ignorance to knowledge using Google and Wikipedia. 21:17
21:18 erk_ joined
TimToady and by how few people choose to 21:18
S7O 21:19
21:25 masak` joined, masak left 21:27 erk_ left 21:29 TheVoiceOfEnigma joined
jaffa8 TimToady, what makes you think that? 21:31
sjohnson masak`: youtube helps too sometimes
21:31 TheVoiceOfEnigma left, Whiteknight joined
sjohnson wiki is my favourite though... KNOWLEDGE!!! *clenches fist* 21:31
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
KatrinaTheLamia, you may know more people 21:34
21:35 ispy_ left, molaf left 21:36 masak` left, masak joined 21:37 jaffa8 left
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
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)
Normally when information is presented as not factual, they simply delete the entry in most cases rather than try to correct it.
And... he is gone.
mberends :)
masak mberends: (re TODO) full ack on 1, 3, 5, and 6. 21:39
questions for clarification on the others (2, 4). :)
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.
mberends masak: 4 out of 6 is not bad... the plan is still too rough to JFDI though 21:40
masak (my neightbournet is weak, so if I drop out, it's due to that, not due to unwillingness to discuss) 21:41
re 2: if we're renaming "install" -> "cache", are we also renaming "update", which has same-level semantics?
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.
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. :)
Matt-W++ \o/ 21:43
Matt-W just pushed it to github
please feel free to test for extreme stupidity
masak git pulls 21:44
Tene masak: I ran into some segfaults when dealing with MySQL
masak: something to do with the pmcproxy caches
masak I do that all the time. :) 21:45
ahem.
Matt-W haha
Matt-W watches his cat try to figure out what's the deal with shiny wrapping paper
Tene So I apparently need to actually learn what all this pmcproxy stuff is about.
I finally finished the novel that ate my free weekend, so I can start on it soon.
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.)
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
masak googles Anathem
colomon Tene: I've got Anathem, and plan to read it once I get done with my year (2009) of overdosing on Gene Wolfe.
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:49
masak Tene: ah, that one. yes, it does seem awfully good. 21:50
21:50 masak left, masak joined 21:51 KyleHa left
masak blrk. 21:51
mberends: will you be here tomorrow? I think I need to go make vain attempts at sleeping very soon now.
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.
yes, good tuit supply tomorrow :) 21:52
masak I'm all for gradually transforming proto, if it helps the devs.
Tene 'night masak
mberends I'm also planning a good sleep soon 21:53
masak o/
mberends: pushing some minor changes to the TODO. :)
mberends masak++
masak bows and walks backwards out 21:55
mberends o/ 21:56
21:56 masak left, jethro_ts left 22:05 justatheory joined 22:14 iblechbot left, IRSeekBot left 22:20 meppl joined 22:22 M_o_C left 22:23 supertroll left 22:29 huf_ joined 22:32 huf_ is now known as huf 22:33 mberends left
diakopter today I had fun with JS/V8 - shootout.alioth.debian.org/u32q/ben...p;lang=all and shootout.alioth.debian.org/u32/benc...p;lang=all 22:42
japhb Holy cow 22:47
diakopter++ # Very nice 22:48
diakopter thanks 22:51
good job v8 folks
s1n ugh, so whitespace is gaining acceptance as syntax here too...
japhb
.oO( What does the 'fixed' in "fixed by Matthew Wilson" mean? )
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?
diakopter it means the previous version didn't even run
and had a copy/paste typo as well
i spent a lot of time tuning/golfing it for the game
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?
arnsholt (Not strictly Perl6, I know, but seemed as good a place to ask as any other I know of)
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
japhb 8 months is like 8 years in JS engine time. :-)
diakopter yeah
the game maintainer says to add a forge item if you want an engine upgraded 22:55
22:55 ruoso joined
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.
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)
er say
22:56 kent\n left
japhb diakopter, "forge item"? 22:56
arnsholt Right, so it's mainly a case of tradition?
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
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 >.<
s1n akk why would you want to learn lisp? that's like wanting to learn sanskrit 22:58
22:58 frew_ joined, frew___ left
arnsholt Careful what you say. I actually -do- know Sanskrit ;) 22:59
s1n haha
arnsholt Besides, I'm doing a master's degree in computational linguistics. Lisp is quite common in that field
diakopter japhb: the speedups are mostly from hardcoding the REs and banishing for-in iteration
s1n arnsholt: i happen to be as well, and from what i've seen, it's not
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
s1n arnsholt: in fact, knowledge based systems have all but been abandoned anymore
arnsholt: what uni is that?
arnsholt University of Oslo
s1n: In favour of statistical models you mean?
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.
s1n arnsholt: most of the modern research has shifted away from knowledge based models that lisp and prolog favor
japhb diakopter: please? :-)
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
arnsholt: i think parrot has a lisp compiler
japhb arnsholt, well ... someone is writing a Common Lisp for Parrot ...
s1n beat me to it.
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
23:03 nihiliad left
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: alioth.debian.org/tracker/?atid=41...unc=browse
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
s1n: Ultimately, I think formal models are the way to go, but yeah, it does look like statistical models perform better at the moment
japhb diakopter, Already got one started, or shall I?
TimToady what about formal statistical models? :P
japhb TimToady, quiet you. Clearly you have no expertise in the linguistics arena. ;-) 23:05
TimToady orz
s1n arnsholt: i can argue all day long why formal models are relics of the 50s :)
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
But I think you need more than just statistics
s1n formal models only work when _everything_ can be modeled, this is in reality more difficult than it sounds, _especially_ with linguistics 23:07
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:08
23:08 Chillance left
TimToady that is basically the compromise that people do all the time in their heads 23:09
s1n arnsholt: sure, with statistical/empirical models :)
arnsholt TimToady: Exactly! Which is why I think it's the best model =)
TimToady our linguistic brains do a combination of formal and statistical, I believe
diakopter japhb: I hadn't yet... I didn't even know one could build tracemonkey for command line 23:10
23:11 wayland76 left
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
s1n ironically, formal models can be trained empirically :) 23:12
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?
japhb tries to avoid creating a million single-use logins
TimToady which is why we even end up with graphemes like ½ 23:14
diakopter japhb: sure
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:15
cf the snake
the last major language that was truly whitespace insensitive was, like, Fortran IV or some such 23:16
23:16 yath left
TimToady where it would ignore spaces even in the middle of identifiers 23:16
23:17 kidd_ left
s1n bleh, i still don't like having to know really annoying minute details like 1 / 2 means something other than 1/2 23:17
that means i have to add more fairly annoying translation rules to my brain's interpreter 23:18
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
both are still ultimately Rats, are they not?
TimToady how do you think 99% of people will read $x * 1/2
23:20 donaldh left
s1n x/2 ? 23:20
err $x/2
23:21 donaldh joined
diakopter wait, what does 1 / 2 mean 23:22
TimToady it produces a Rat
but it's not a single token like 1/2 is now
it doesn't matter in the case of *, but then there's $x ** 1/2
s1n which is sqrt($x) 23:23
TimToady not under your rules :)
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:24 SmokeMachine left
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
s1n looks up term 'cargo cult' 23:26
ouch, lwall call me an uninformed mass :( 23:27
TimToady well, you dint wanna be informed :)
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 :)
TimToady that's how most of us learn most things, really
we construct the formal system after the statistical system
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
PerlJam s1n: people dealt with gravity for a long time before Newton codified it. :)
s1n is 1 / 2 not the same thing?
TimToady usually it is 23:30
but not if you say $x ** 1 / 2
s1n why?
TimToady same reason it wouldn't be the same if you said 1 / 2.foo
infix:</> participates at a certain precedence level, and there are tighter levels 23:31
s1n ** and . have a tighter level?
TimToady yes, this isn't APL 23:32
(one of the reasons APL ended up largely unreadable, I think)
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:33
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
p6eval rakudo c9a930: OUTPUT«100␤100␤»
PerlJam wonders what it is with perl and animals
TimToady well, they can do it with / now, and div now gives us access to machine integer division, which we didn't have before
and it's also the same as in Pascal now :) 23:35
s1n were those supposed to be different?
23:35 cdarroch left
TimToady no, they were supposed to come out the same, just like 1 / 2 and 1/2 23:36
however
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␤»
TimToady there you see the difference
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␤»
TimToady so you see, we *could* in theory get rid of the 1e2 notation, at the expense of occasionally requiring more parens 23:39
but people have learned to chunk 1e2 as a single token
and I think they are well on their way to seeing 1/2 that way already, by and large
23:39 felipe left
TimToady though you may be one of the sacrificial victims here 23:40
and yes, playing Language Designer is bad for one's egomania :) 23:42
23:43 S joined 23:44 Jedai left, S is now known as Guest15284, Jedai joined
Guest15284 :-/ My nick was supposed to be my name Søorensen, but it doesn't seem to like the ø... 23:44
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
If I wanted more information on this, how would I find it?
TimToady we're trying to drag the world kicking and screaming into the age of Unicode, but the world has a lot of inertia
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 :)
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
Guest15284 Hmmm...
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 :)
TimToady and S02 and S03 will have various things to say about Rats
s1n: you seem to have an accurate view of reality, for which I congratulate you, and offer my condolences 23:48
s1n lol
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:50
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
or find a computer with more memory :) 23:52
Guest15284 Thanks, I'll certainly look through these specs.
pmichaud svn.pugscode.org/pugs/docs/Perl6/Spec # raw docs
TimToady yes, you can just fetch the pugs repo too if you like 23:53
if you are svn savvy
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.)
TimToady innerestin'
Guest15284 So the synpos are always updated to the latest and greatest vision of Perl 6? 23:54
synops*
TimToady correct
well, eventually :) 23:55
Guest15284 (You know, I think Firefox has a bug in it. Whenever it fails on a text search on a page of a reasonably large size, it seems to hang for me... Successfully finding a text match has no ill effect. Perhaps it experiences self-doubt and anxiety? ) 23:56
Well thanks, you have answered the question with which I entered. 23:57
23:58 rbaumer left
Guest15284 Perhaps I will lurk for a while in case something interesting/entertaining happens as I always read about on planetsix... 23:58