»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | Rakudo Star Released!
Set by diakopter on 6 September 2010.
00:04 _kaare left
sjohnson masak-pal 00:09
00:10 justatheory left, dju left
sjohnson
.oO(error today, gone tomorrow)
00:12
masak blog post posted. strangelyconsistent.org/blog/yapsi-...2-released 00:14
sjohnson wow
interesting project
masak stands down release mode
sjohnson: yes, I tend to think so. and it's quite fun to try and implement Perl 6 in Perl 6. 00:15
jnthn Wow. Next release will be on New Year's Day. 00:17
flussence I read the other day that PyPy (python 2.6 written in python) is apparently faster than the C implementation at some things now
maybe p6 will be one day :)
masak flussence: not at the rate Rakudo is getting slower... :P 00:18
sjohnson does PyPy use CPython though to run its pythonc ode? 00:19
00:19 mtve left
sjohnson bash question: $* will get all the args in a .sh script, is there a way to get $2*, so to speak? 00:21
masak sjohnson: #bash
flussence shift works in bash too 00:22
sjohnson flussence: thanks
flussence++ indeed it does 00:23
LoRe sjohnson: most of the time one wants "$@" instead of $*
sjohnson LoRe: good to know.. how come? 00:24
00:25 colomon left
LoRe sjohnson: try: echo 'for i in "$@"; do echo "$i"; done;' > foo.sh; sh foo.sh "a b" "c d" 00:25
and then try the same with $@, $* and "$*" :)
sjohnson
.oO(wonders if thats where perl got it's @list syntax)
snail sigil! 00:26
lue (My guess is the sigils were chosen because they look like letters: $calars, @rrays, %ashes, &ode) 00:28
sjohnson that would be a good guess
LoRe++ # you too
huf i always thought arrays were round like @ :) 00:29
but maybe i have it backwards and think arrays are round because of @
00:30 excelsio1 left
jnthn sleep & 00:31
masak ooh, good idea. 00:34
00:35 masak left, alester left 00:44 hercynium left 00:47 QinGW joined
dalek psi: 9a9d1bb | masak++ | lib/Yapsi.pm:
[Yapsi] bumped SIC version

Between releases, the SIC version is always the version number of the upcoming release.
00:54
00:55 kanishka joined 00:59 solarion left, solarion joined, colomon joined 01:01 jaldhar joined, lichtkind left 01:02 gimix joined 01:05 fbrito1 joined, gimix left 01:06 Guest90083 left 01:19 Guest90083 joined, Limbic_Region joined 01:26 sftp left 01:28 felipe left 01:29 colomon left 01:38 alc joined 01:39 colomon joined 02:02 ShaneC1 joined 02:12 TypeNameHere____ left 02:20 felipe joined 02:27 kst left, mtve joined, risou left, kst joined, risou joined
colomon sorear: ping? 02:27
02:30 ShaneC1 left
fbrito1 is Moritz Lenz here? :) 02:30
sjohnson seen moritz_ 02:31
aloha moritz_ was last seen in #perl6 6 hours 16 mins ago saying "don't think so, you have to submit again".
fbrito1 ok, thank you :) 02:32
msg moritz_ I am a GCI student working on this task: www.google-melange.com/gci/task/sho...9079857380 and I have some questions. Please contact me when you are back. Thank you :) 02:33
ops
that was supposed to be PVT to aloha :P 02:34
diakopter do it like: phenny: ask moritz <msg>
er
do it like: phenny: ask moritz_ <msg>
02:35 fbrito1 is now known as fbrito
diakopter I don't know that aloha does that 02:35
fbrito on #parrot @ irc.parrot.org, it does :)
diakopter oh.
fbrito but I think it works different here 02:36
phenny: ask fbrito testing bot
phenny You can ask yourself that.
fbrito aahhaha, owned :(
aloha: msg fbrito testing bot 02:37
02:37 soroush_ joined 02:38 soroush left
fbrito phenny: ask moritz_ I am a GCI student working on this task: www.google-melange.com/gci/task/sho...9079857380 and I have some questions. Please contact me when you are back. Thank you :) 02:39
phenny fbrito: I'll pass that on when moritz_ is around.
02:43 whiteknight left 02:52 plobsing joined 02:54 justatheory joined
colomon diakopter++ 02:57
fbrito is anyone here also in charge of the Rakudo task on GCI? 03:17
03:28 risou_ joined 03:30 risou left 03:44 envi joined 03:50 risou_ left 03:58 Limbic_Region left 04:09 kanishka left 04:20 fbrito left
colomon rakudo: say 'a', *.succ ... 'f' 04:23
p6eval rakudo : OUTPUT«abcdef␤»
04:42 Guest90083 left 04:53 Trashlord left 04:54 kst left 04:56 kst joined 05:06 zby joined 05:07 envi left 05:08 fbrito joined, orafu left 05:10 cjk101010 joined, envi joined, orafu joined 05:21 PerlPilot joined 05:23 PerlJam left 05:25 PerlPilot left 05:26 PerlJam joined 05:36 gimix joined 05:45 envi left, ggoebel joined 05:48 envi joined 05:51 sftp joined 05:55 _kaare joined 06:01 kst left 06:05 kst joined 06:10 soroush joined, soroush_ left
sorear good * #perl6 06:12
yapsi: my $i = 5; while $i { $i--; say $i }
p6eval yapsi: OUTPUT«===SORRY!===␤Unable to find module 'Yapsi' in the @*INC directories.␤(@*INC contains:␤ lib␤ /home/p6eval/.perl6/lib␤ /home/p6eval/p1/lib/parrot/2.10.0-devel/languages/perl6/lib␤ .)␤»
06:14 alc left
sorear colomon: pong 06:15
06:15 justatheory left, sftp left
sorear phenny: tell masak If yapsi has arbitrary-precision ints, while loops, if statements, ++, and --, it's Turing complete. Look up Minsky register machines. 06:16
phenny sorear: I'll pass that on when masak is around.
06:57 uniejo joined, getpwnam joined 07:06 wtw joined 07:11 kst left, kst joined 07:13 Grimnir_ joined 07:28 Bzek joined 07:30 fbrito left 07:33 cjk101010 left 07:38 kjeldahl left
moritz_ good morning 07:43
phenny moritz_: 02:39Z <fbrito> ask moritz_ I am a GCI student working on this task: www.google-melange.com/gci/task/sho...9079857380 and I have some questions. Please contact me when you are back. Thank you :)
07:53 alc joined
moritz_ had scheduled the advent calendar post for publishing, but didn't press "publish" 07:58
07:59 kjeldahl joined 08:00 kensanata joined
sorear good morning moritz_ 08:01
08:27 cjk101010 joined 08:29 satyavvd joined 08:51 uniejo left
moritz_ just had 50 min commute that usually take 20min 08:52
sorear ow
moritz_ snow and all 08:53
sorear is trying to come up with a sane way of exposing foreign imports
any other C#/CLR/.NET programmers here? how would you expect :from<> to work? (sample code, I'll make it work) 08:54
POLS
sorear pings jnthn 08:56
sorear pings diakopter too
sorear makes a preemptive strike against the ticket queue 09:00
dalek ecza: 2e2c977 | sorear++ | test2.pl:
Test + calling .Numeric (GH-3)
09:01
09:29 wallberg joined
LoRe moritz_: shouldn't that be perl6 add.pl 09:33
err, paste fail
moritz_: shouldn't that be: perl6 add.pl 3 4 in the first example? perl6advent.wordpress.com/2010/12/0...main-subs/
09:34 kanishka joined 09:36 dakkar joined 09:44 gawbul left
dalek ecza: e7cb374 | sorear++ | / (2 files):
Add &print
09:46
zenog sorear: C# programmer here, but no experience in handling assemblies/importing etc. 09:49
09:49 Axius joined
dalek ecza: 55c766a | sorear++ | src/Niecza/Actions.pm:
Parse and ignore use vXXX
09:56
sorear zenog: I still care! 09:57
rakudo: use v5; use v7;
p6eval rakudo : ( no output )
tadzik o/ 09:58
sorear has closed 60% of niecza's bugs
zenog: let's suppose you want to write some code using the base class library. What will you try? 09:59
zenog sorear: You mean in Perl 6, using .NET 'System' namespace? 10:00
sorear yes
10:07 MayDaniel joined
sorear -> sleep, will resume with zenog tomorrow 10:07
zenog sorear: Maybe like in IronPython: www.ismll.uni-hildesheim.de/mymedia...ython.html 10:09
sorear: So in Perl: "use CLR; CLR::add_reference("MyDLL.dll"); use MyNamespace;" 10:11
10:11 wamba joined
tadzik LoRe: should, fixing 10:12
zenog or "use CLR; use System; ..."
or "use CLR; use CLR::System; ..."
tadzik LoRe: fixed-faxed 10:13
zenog or (I would like it better that way) "use DotNET; use DotNET::System; DotNET::System::Console->WriteLine("hello"); 10:14
and then "my $console = DotNET::System->Console; $console->WriteLine('hello');" 10:16
moritz_ LoRe: uhm, isn't it perl6 add.pl 3 4 ? 10:20
Tene use System::Foo :from<CLR>;
IMO 10:21
tadzik moritz_: I just fixed it O)
:)
moritz_ tadzik: thanks
what was it before?
tadzik there was no ' 3 4' 10:22
moritz_ oh
tadzik is it a good idea to advertise File::Find in the advent calendar a bit? 10:24
10:24 MayDaniel left
moritz_ IMHO yes 10:25
tadzik Bien
10:30 alc left 10:31 Axius left
tadzik oh, I've just learned about :test in dir(). High time 10:32
10:40 kanishka left 10:46 tzhs joined
zenog sorear: I would expect namespaces to be mapped to modules, and of course classes as well. Properties should be mapped to getters and setters. 10:48
moritz_ another nice advent calendar: www.boston.com/bigpicture/2010/12/2...pe_ad.html :-) 11:09
11:26 kst left, kst joined 11:27 timbunce joined 11:29 uniejo joined
colomon sorear: sorry for the false alarm. had issues building niecza last night, but diakopter and I concluded it was because I was using Mono 2.4.2, and so I left my Ubuntu VM doing a major version upgrade overnight in an attempt to get "easy" access to one of the 2.6.x packages. 11:30
wallberg great job with today's Perl 6 calendar post! I really appreciate it. 11:35
moritz_ wallberg: thanks
11:41 Abhi_ joined 11:44 uniejo left 11:48 QinGW left 11:49 satyavvd left 11:55 MayDaniel joined 11:57 kjeldahl left 12:13 uniejo joined
zenog colomon: Check out badgerports.org/ if you want up-to-date Mono packages on Ubuntu. 12:21
12:22 Abhi_ left 12:23 fhelmberger joined
colomon zenog++ 12:32
12:32 alc joined 12:33 soroush left 12:44 daxim joined
takadonet morning all 13:01
13:01 gimix left
takadonet sorear: wait till masak is set loose on your implementation. 13:03
13:05 takadonet left 13:06 lurker_ joined
lurker_ rakudo.org is down again? 13:07
13:12 lurker_ left
moritz_ downforeveryoneorjustme.com/rakudo.org 13:12
13:14 zenog left 13:15 cotto left 13:16 hanekomu joined
flussence hmm, that's not good... my spectest runs are getting really low scores and lots of segfaults lately 13:17
moritz_ flussence: on the recommended parrot revision? 13:23
maybe it's time we bump it again
13:25 plainhao joined
flussence well, it's doing a git-clean + Configure.pl --gen-parrot rebuild beforehand each time, so I'd assume it's using the right parrot... 13:26
the box has about 1.2GB free RAM and I've thrown 2GB swap at it, so I don't think it's OOM causing problems... 13:27
moritz_ the parrot revision that's downloaded that way is known to have GC problems
it's fixed later on
but I forgot to bump the revision 13:28
flussence oh, ok :)
[Coke] moritz_: O_o
dalek kudo: 864869c | moritz++ | build/PARROT_REVISION:
bump PARROT_REVISION to avoid GC segfaults, and to get some testing
13:29 takadonet joined
flussence I'll know in about 2.5 hours if that fixed it ;) 13:30
13:36 MayDaniel left 13:39 frodwith joined 13:40 Patterner left 13:42 Psyche^ joined, Psyche^ is now known as Patterner
dalek kudo: bf97c8f | fernandobrito++ | / (3 files):
Move duplicated code from Configure.pl and CompareRevisions.pm
13:47
kudo: 25db176 | fernandobrito++ | Configure.pl:
[Configure.pl] Move function call
kudo: d781754 | fernandobrito++ | Configure.pl:
Rename variable in Configure.pl
kudo: 95f3fef | moritz++ | / (3 files):
Merge remote branch 'fbrito/gci_task'
13:58 am0c left 14:05 timbunce left 14:07 XaRDaX joined 14:12 timbunce joined 14:19 drbean joined 14:20 risou joined
arnsholt :q 14:23
Er, hups
14:27 Lorn joined 14:28 risou_ joined 14:29 sftp joined 14:31 risou left 14:33 orafu left, orafu joined 14:38 timbunce left 14:41 zenog joined 14:42 alc left 14:43 felliott joined, felliott left 14:45 uniejo left 14:47 MayDaniel joined 14:50 masak joined
masak oh hai, #perl6! 14:50
phenny masak: 06:16Z <sorear> tell masak If yapsi has arbitrary-precision ints, while loops, if statements, ++, and --, it's Turing complete. Look up Minsky register machines.
masak that is true, but Yapsi doesn't have arbitrary-precision ints, because Rakudo doesn't. 14:52
14:52 tzhs left 14:54 knewt2 left 14:55 am0c joined
masak rakudo: use v6; say "alive" 14:56
p6eval rakudo : OUTPUT«alive␤»
masak rakudo: use v7; say "alive"
p6eval rakudo : OUTPUT«alive␤»
masak submits rakudobug
oha rakudo: use v5; say "alive" 14:57
p6eval rakudo : OUTPUT«alive␤»
masak oha: that's fine.
rakudo: use v6.1; say "alive"
p6eval rakudo : OUTPUT«alive␤»
masak that isn't.
14:58 florz joined
oha may i access an object private attribute from outside? 14:59
masak to a first approximation, no. 15:00
15:00 knewt2 joined
masak that's what makes it private. 15:00
oha no cheats for?
masak first tell me why you're inclined to cheat. :)
oha Socket
masak I don't understand. 15:01
oha i can't augment Socket::INET cauz it use rules
and rules are immutable
i would like to try a fix for recv() in Socket.pm
masak if you're augmenting, you can exploit a Rakudo bug and get at the private stuff anyways.
oha i can't augment IO::Socket::INET, this cause a role to be reapplied and it fails saying the rule can't reapply 15:02
rakudo: use MONKEY_TYPING; augment class IO::Socket::INET { } 15:03
p6eval rakudo : OUTPUT«===SORRY!===␤Attribute '$!PIO' already exists in the class, but a role also wishes to compose it␤»
oha so i was looking for a way to just access $!PIO in IO::Socket to try some fixes
masak ok, this solution is totally non-proportional to the scope of the problem. 15:05
and it's ultimately bad style.
but... you should be able to use attribute introspection.
15:05 ggoebel left
masak perpares a small example 15:05
oha masak: ty! 15:06
15:06 kst left
masak rakudo: class A { has $!x }; my $a = A.new(:x(42)); say A.^attributes(:local)[0].get_value($a) 15:07
p6eval rakudo : OUTPUT«42␤»
15:07 kst joined
masak wield this tool... wisely. 15:07
oha yup
15:07 wamba left
masak the '^' there means "I *really* know what I'm doing". 15:07
15:08 sji joined
oha the [0] means i know the position, may i use it as a hash? 15:09
15:09 zenog left, icwiener joined
masak no, it's a List. 15:10
oha ok
being a parrot object it seems i can't really access it 15:13
masak that's arguably a bug. 15:15
PerlJam who would argue it's not a bug?
once you drink the introspection kool-aid, you expect turtles all the way down. 15:16
masak PerlJam: when you use the term "kool-aid" like that, I can't tell if you're sincere or sarcastic. 15:18
but yes, I agree that it's more-than-arguably a bug.
PerlJam that's okay, sometimes I can't tell either. :)
but, in this instance it was sincerity 15:19
rjbs kool-aid is a horrible term. 15:21
flussence I think we need a less perjorative term than kool-aid, considering there's so much oppurtunity to use one in here :)
masak I think "drinking the kool-aid of" is a suboptimal way to say "believing".
rjbs It compared the idea under discussion to mass suicide and belittles an awful historical event. 15:22
moritz_ we got a positive comment on the MAIN subs advent post
rjbs moritz_: mjd said the sub MAIN post was "cool" :)
Sorry, "Nice."
masak rjbs: oh! I didn't know that the kool-aid was related to that incident. then yes, it's a horrible metaphor.
moritz_ rjbs: that's cool. I kinda think impressing MJD is hard (when it comes to programming, at least) 15:23
rjbs Yeah, the metaphor is that you believe something so strongly that you're willing to "drink the kool aid."
15:26 plobsing left 15:27 JimmyZ joined 15:28 am0c left 15:29 am0c joined
colomon phenny: tell sorear I consistently get: "/home/colomon/tools/niecza/Niecza.proj: error : Command 'viv --noperl6lib -5 -o src/Niecza/Grammar.pmc src/Niecza/Grammar.pm6' exited with code: 127." Running by hand works. 15:31
phenny colomon: I'll pass that on when sorear is around.
15:31 am0c left
masak colomon: 'cpanm STD' 15:32
colomon masak: "Running by hand works."
15:33 MayDaniel left
colomon however, it now appears I may have gotten this same error as last time, but for a different reason. 15:33
masak ok. don't really know what you mean by that.
but when I got that error, I installed STD and things worked.
colomon I copy the command given there and paste it to the command line. 15:34
moritz_ it might have different environment variables set up
oh, and do you check the return code?
echo $?
PerlJam I didn't actually install STD from CPAN. I had a repo on disk and I just added the path to that repo to PERL5LIB and made sure viv was in my PATH 15:35
colomon Trying to get niecza to work has been a ludicrous odyssey. If I were sane, I would have given up about 12 hours ago.
takadonet www.reddit.com/r/programming/commen...with_main/
got another positive post on MAIN subs
moritz_ takadonet: and that's in the programming section... I'm just waiting for the wave of trolls to arrive :-) 15:36
15:38 wtw left
takadonet moritz_: soon 15:38
that why i linked it here. Get ready to defend
masak heh, trying to coax niecza to do things is kinda fun. a whole new set of restrictions to learn and work with :) 15:39
colomon I guess maybe I'll start over tomorrow with a fresh shiny new Ubuntu VM and see if I can build niecza there. 15:41
15:46 ash_ joined 15:48 zenog joined 15:57 _twitch joined 16:07 Bzek left 16:08 Bzek joined 16:09 ggoebel joined, timbunce joined 16:10 hercynium joined 16:11 envi_ joined, envi left 16:14 timbunce left 16:16 renormalist left, Trashlord joined 16:20 timbunce joined
colomon rakudo: my @Fib := 0, 1, *+* ... *; say @Fib[^10].perl 16:23
p6eval rakudo : OUTPUT«(0, 1, 1, 2, 3, 5, 8, 13, 21, 34)␤»
colomon rakudo: my @Fib := 0, 1, *+* ... *; say @Fib.kv[^10].perl 16:24
p6eval rakudo : OUTPUT«(0, 0, 1, 1, 2, 1, 3, 2, 4, 3)␤»
colomon rakudo: my @Fib := 0, 1, *+* ... *; say @Fib.kv.grep(-> $x, $y { $x %% 2 }).map(-> $x, $y { $y })[^10].perl 16:25
p6eval rakudo : OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in <anon> at line 22:/tmp/NGvYiJShk_␤ in 'Block::ACCEPTS' at line 5975:CORE.setting␤ in <anon> at line 1489:CORE.setting␤ in <anon> at line 1␤ in 'List::at_pos' at line 1␤ in 'Any::postcircumfix:<[ ]>' at line 174…
colomon rakudo: my @Fib := 0, 1, *+* ... *; say @Fib.kv.grep(-> $x, $y { $x %% 2 }).map(-> $x, $y { $y }).munch(10).perl 16:26
moritz_ rakudo: say <a b c d>.grep: -> $a, $b { 1 }
p6eval rakudo : OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in <anon> at line 22:/tmp/UTPZAgDNsF␤ in 'Block::ACCEPTS' at line 5975:CORE.setting␤ in <anon> at line 1489:CORE.setting␤ in <anon> at line 1␤ in main program body at line 1␤»
rakudo : ( no output )
moritz_ rakudo: say <a b c d>.grep: -> $a, $b { 1 } 16:27
p6eval rakudo : ( no output )
moritz_ urks
the old fails-to-print bug :(
16:27 ggoebel left
colomon rakudo: say (4, 4 ... *)[^10] 16:32
p6eval rakudo : OUTPUT«4444444444␤» 16:33
16:34 MayDaniel joined
colomon rakudo: say (4, 4, 10 ... *)[^10] 16:34
p6eval rakudo : OUTPUT«Method 'count' not found for invocant of class 'Failure'␤ in <anon> at line 835:CORE.setting␤ in 'List::at_pos' at line 1␤ in 'Any::postcircumfix:<[ ]>' at line 1742:CORE.setting␤ in <anon> at line 1␤ in 'Any::postcircumfix:<[ ]>' at line 1␤ in main program body at line 1␤»
16:36 JimmyZ left
colomon I think that one might be a bug; at least, at one point I'm pretty sure the spec called for that to be a start to a valid sequence. (Blogging now, no time to check.) 16:37
moritz_ rakudo: say (4, 4, 4, 4, 10 ... *) 16:38
p6eval rakudo : OUTPUT«444410»
colomon rakudo: say (4, 4, 4, 4 ... *)
whoops
p6eval rakudo : OUTPUT«(timeout)444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444… 16:39
16:39 kst left, kst joined
moritz_ good thing we have flood protection in p6eval :-) 16:39
colomon yeah, when I was a kid we'd have had to move elsewhere after a flood like that. ;) 16:40
moritz_ colomon: did you have evalbots when you were a kid? :-)
16:40 timbunce left
colomon Back then we called them "Commodore 64s". 16:41
[Coke] POKE 53280, 0 16:42
colomon [Coke]++
moritz_ suddenly feels so young 16:43
colomon admits he doesn't remember 53280 being an interesting memory location. Unless... was it in the SID?
[Coke] grabbed it from wikipedia.
[Coke] hangs his head in shame. 16:44
moritz_: get off my (*#&@$ lawn.
and fix my compiler.
16:45 timbunce joined
colomon Ah, it's a VIC-II register. 16:45
In my defense, it's been at least twenty years since I coded on a C-64.
moritz_: Honestly, I only recall one flood of any significance after I got the C-64, and that was when we had the new house, three feet further off the ground than the old house. 16:47
takadonet well been 15 years since I played on a C-64
ash_ i'd say like 98% of my computer science life so far has been on x86, with the other 2% being about 75% AVR and 25% arm
rakudo: sub postfix:<%> (Int $a) { $a / 100 }; say 2% * 75%; 16:49
p6eval rakudo : OUTPUT«0.015␤»
16:49 nadim_ left
ash_ oh so nifty 16:49
colomon I did enough hard core C-64 programming that I had at least one program that needed to switch out a ROM block to get at the RAM hidden beneath it. 16:50
moritz_ rakudo: sub postfix:<%> (Int $a) { ($a / 100) but role { method Str { (100 * self) ~ '%' }} }; say 20%
p6eval rakudo : OUTPUT«20%␤»
moritz_ rakudo: sub postfix:<%> (Int $a) { ($a / 100) but role { method Str { (100 * self) ~ '%' }} }; say (20% * 5%)%
p6eval rakudo : OUTPUT«Nominal type check failed for parameter '$a'; expected Int but got Rat instead␤ in 'postfix:<%>' at line 22:/tmp/hCF9Xqm0uA␤ in main program body at line 22:/tmp/hCF9Xqm0uA␤»
moritz_ rakudo: sub postfix:<%> (Real $a) { ($a / 100) but role { method Str { (100 * self) ~ '%' }} }; say (20% * 5%)% 16:51
p6eval rakudo : OUTPUT«0.01%␤»
ash_ ooo even more fun
moritz_ uhm
shouldn't that be 1% ?
colomon was there an Advent post last year about pointy blocks?
16:52 justatheory joined
colomon or something else I can link to? 16:52
ash_ rakudo: say 0.20 * 0.05
p6eval rakudo : OUTPUT«0.01␤»
16:52 nadim_ joined
moritz_ rakudo: sub postfix:<%> (Real $a) { ($a / 100) but role { method Str { (100 * self) ~ '%' }} }; say (100% * 100%)% 16:52
p6eval rakudo : OUTPUT«1%␤»
ash_ rakudo: sub postfix:<%> (Real $a) { ($a / 100) but role { method Str { (100 * self) ~ '%' }} }; say 20% * 5%
p6eval rakudo : OUTPUT«0.01␤» 16:53
moritz_ rakudo: sub postfix:<%> (Real $a) { ($a / 100) but role { method Str { (self) ~ '%' }} }; say (100% * 100%)%
p6eval rakudo : ( no output )
ash_ i think the ()% is cuasing the problem
maybe
its adding in an extra /100
moritz_ oh right
ash_ maybe...
moritz_ ash_++
rakudo: sub postfix:<%> (Real $a) { ($a / 100) but role { method Str { (self) ~ '%' }} }; say 20%
p6eval rakudo : ( no output )
ash_ rakudo: say 1
p6eval rakudo : OUTPUT«1␤»
moritz_ rakudo: sub postfix:<%> (Real $a) { ($a / 100) but role { method Str { (100 * self) ~ '%' }} }; say 20%
p6eval rakudo : OUTPUT«20%␤»
ash_ rakudo: sub postfix:<%> (Real $a) { ($a / 100) but role { method Str { (100 * self) ~ '%' }} }; say 20% * 5% 16:54
p6eval rakudo : OUTPUT«0.01␤»
moritz_ problem is that 20% * 5% just returns a Rat
ash_ i guess the product part lost the but role
ya
moritz_ corect
ash_ is there a way to make it retain that? 16:55
moritz_ overload the operators
that is, first create a separate type
oha moritz_: class Perc { ... }; postfix<%> (Real $a) { Perc($a/100); }; postfix<*> (Perc $a, Perc $b) { ... }
moritz_ then overload the operators to retain that type
oha yep :)
ash_ would be neat if you didn't need to make a whole new type for that... 16:56
16:57 cotto joined
ash_ if you could tell the but role to stick around some how 16:57
moritz_ such a mechanism would simplify taint mode enormously 16:58
thread mix-ins through routine calls 16:59
sounds like type-ish junctions
moritz_ hopes nobody takes these thoughts to p6l
ash_ but then you'd need some way of knowing when certain operations (like * ) should create a new version of the type or merge the two its using in arithmetic 17:00
17:00 envi_ is now known as envi
ash_ because it seems to me that infix:<*> is making a new Num-ish type when it returns, but it might be interesting if it could retain properties of its two parameters 17:00
but i have no idea how you would define that merge 17:01
or how you would specify if a type needs to construct a new version of itself or not
moritz_ it's probably not a realistic expectation that such a system can exist, and work in general
though I'd love to see one :-)
masak "Rakudo looks very good" -- www.wellho.net/archives/2010/12/ind...ml#a003077 17:02
17:02 timbunce left 17:03 Trashlord left
masak "it now looks much more likely that Perl will still be one of our major training language even in 2020." -- I don't think this is someone intentionally disparaging Perl 5, just someone who considers Perl 6 to be "saving" Perl. 17:04
17:05 justatheory left
PerlJam masak: more of "hey, Perl 6 *is* real and useful" is always good even if it comes from a strange perspective :) 17:07
17:07 timbunce joined
masak exactly. 17:08
17:08 Trashlord joined
ash_ how do you turn things to something number like? 17:09
.Num doesn't seem it
PerlJam I'm enthused that he had no problems getting it going on a Mac. I haven't really tried running R* on a Mac or Windows as if I were an ordinary user yet
masak also, the fix to "bad code" in the Perl 5 world is "we initiated a movement in which we increase awareness and establish best practices", whereas in the Perl 6 world it's "we fixed the language. here you go".
ash_: +$x
ash_ but how do you override that?
class A { method Num { 1 } };
is kinda what i mean
masak ash_: method Numeric {}
ash_ like how you can say method Str { }
oh, its Numeric
masak method Stringy {}, I think. 17:10
ash_ well, for a string you can just do Str 17:11
17:12 dsp_ joined
masak yes, but ~$x is meant to hook into .Stringy 17:13
17:13 daxim left
masak which could in theory generate something else, such as Cat 17:13
ash_ ah, i'll start using Stringy then 17:14
17:14 iopluy joined, rainerschuster joined, MayDaniel left
masak I'm not promising it works in Rakudo already. :) 17:16
rakudo: class A { method Stringy { "Stringy!" }; method Str { "Str!" } }; say ~A.new 17:17
p6eval rakudo : OUTPUT«Str!␤»
masak maybe use .Str for now... :)
17:17 iopluy left 17:27 HarryS joined 17:28 hanekomu left 17:29 risou joined 17:32 risou_ left, PacoLinux left 17:33 PacoLinux joined 17:40 MayDaniel joined, masak left 18:01 MayDaniel left 18:03 [hercynium] joined, [hercynium] left, [hercynium] joined 18:06 am0c joined, hercynium left, [hercynium] is now known as hercynium
flussence oh, no wonder I couldn't see today's advent calendar post on reddit... I took /programming/ off my list. 18:16
tadzik good evening 18:17
18:18 wamba joined
hercynium masak: permalink for that url: www.wellho.net/archives/2010/12/per...fic_1.html 18:29
18:29 risou_ joined 18:30 rainerschuster is now known as rainerschuster_a 18:31 risou left 18:42 envi left
sorear good * #perl6 18:45
phenny sorear: 15:31Z <colomon> tell sorear I consistently get: "/home/colomon/tools/niecza/Niecza.proj: error : Command 'viv --noperl6lib -5 -o src/Niecza/Grammar.pmc src/Niecza/Grammar.pm6' exited with code: 127." Running by hand works.
colomon sorear: I've given up for now.
sorear ummm
that makes no sense 18:46
colomon First time it was maybe an xbuild bug.
second time it seems like my entire Ubuntu install is borked.
sorear unless you have viv installed in a non-system directory and you have PATH set but not exported
colomon that could be it 18:47
18:47 rainerschuster_a is now known as rainerschuster
sorear colomon: 2.4.2 is supposed to work 18:48
18:49 timbunce left 18:56 timbunce joined 19:00 risou joined 19:02 hanekomu joined 19:03 risou_ left 19:05 spetrea joined
spetrea you guys like node.js ? 19:05
diakopter for what?
19:06 ggoebel joined 19:07 justatheory joined
tadzik Never used it, just like with Javascript itself 19:07
19:09 rainerschuster is now known as rainerschuster_a
dukeleto spetrea: i like node.js 19:17
19:19 kensanata left, ggoebel left
tadzik was there an advent calendar entry on smartmatching? 19:22
spetrea so christmas approaches fast 19:27
what does santa rakudo have for us ? :)
19:28 dakkar left
tadzik spetrea: I'm now writing a post about file operations 19:29
oh, wait...
HO HO HO!
there we go 19:30
spetrea tadzik: nice :) 19:33
tadzik spetrea: did you read the ready stuff?
spetrea the ready stuff ? no .. 19:34
tadzik there's been 2 entries alredy :)
spetrea out of touch with most of Perl6 I'm afraid, not because I don't want to , because I couldn't find the time lately :(
link me up tadzik
tadzik perl6advent.wordpress.com/category/2010/
takadonet www.reddit.com/r/programming/commen...ooks_very/ 19:41
sorear Can constants be predeclared? 19:43
tadzik takadonet: yeah, so much hate
ash_ sorear: i think you have to evaluate a constant at compile time 19:44
spetrea constants predeclared ?
what does that mean ?
sorear spetrea: I'd like to have a method on Any that returns False 19:45
but False is defined in terms of Bool which is a subclass of Any
19:53 ggoebel joined 19:55 MayDaniel joined 20:01 risou_ joined 20:03 risou left 20:08 rainerschuster_a left, jferrero joined 20:12 wallberg left 20:13 hanekomu left 20:14 ash_ left 20:16 risou_ left 20:21 ash_ joined 20:23 ash_ left 20:24 icwiener_ joined 20:27 fhelmberger left, icwiener left 20:29 timbunce left 20:30 icwiener_ left 20:32 ash_ joined 20:33 plobsing joined 20:35 timbunce joined 20:40 plainhao left, kjeldahl joined
dalek : 6da4b5a | (Tadeusz Sośnierz)++ | misc/perl6advent-2010/articles/file-operations.pod:
Added a new article for the 3rd
20:49
: eac019d | (Tadeusz Sośnierz)++ | misc/perl6advent-2010/topic-brainstorming:
Added smartmatching to the topic ideas
tadzik Could someone review the article for me?
20:49 justatheory left 20:51 _twitch left
dalek : ce4d29c | (Tadeusz Sośnierz)++ | misc/perl6advent-2010/articles/file-operations.pod:
Fixed links
20:54
20:55 MayDaniel left 21:06 szymong joined 21:07 timbunce left 21:13 timbunce joined 21:14 ash_ left
tadzik moritz_: ping 21:21
21:26 ash_ joined
tadzik phenny: tell moritz_ can I ask you to take care of my article for tomorrow? I really have to catch some sleep now, and I'll be gone for friday-sunday. Thanks in advance. Also, I'd be more than glad if you could take care of the calendar workflow for this few days as we talked 21:26
phenny tadzik: I'll pass that on when moritz_ is around.
21:34 ash_ left
dalek tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index...._io_tablet 21:42
tpfwiki: (Herbert Breunung)++ | www.perlfoundation.org/perl6/index....ble_tablet
21:43 kst left, kst joined 21:45 timbunce left 21:46 masak joined
masak ahoy! 21:46
TimToady shiver me timbers! 21:47
masak today I feel like I have a day off. it's the first time in a while that I'm not scheduled to blog about something.
21:49 timbunce joined, timbunce left 21:53 hanekomu joined
colomon masak: don't you have an Advent post to be working on? ;) 21:55
masak colomon: not until the 7th.
colomon But we don't have anyone signed up yet for the 5th or the 6th, so having it done a bit early might be a very good thing indeed. 21:57
21:57 justatheory joined
masak finding someone willing to fill up slot 5 and 6 might also be a very good thing indeed. :) 21:57
colomon And I'll be looking for people to pre-read my post sometime tomorrow, I reckon. :) 21:58
masak I'll happily do that. 22:00
ah! I had a potential bug for #perl6. 22:01
colomon \o/
masak tell me, what's the rule for ordering of top-level captures? put differently, what rule governs which pair of parens comes out as $0 and which comes out as $1?
sjohnson hi masak, colomon, TimToady 22:02
pals of #perl6
masak hi pal sjohnson.
colomon masak: woah, I have no idea.
I assume you mean in p6, yes?
sjohnson: hi
22:02 bluescreen joined
masak colomon: yes. the answer is easier than you think. 22:02
22:03 bluescreen is now known as Guest71264
masak rakudo: say ?("abc" ~~ /a (b) (c)/); say $0 22:03
sjohnson hehe
p6eval rakudo : OUTPUT«Bool::True␤b␤»
colomon masak: Well, I hope it is a simple rule. I just don't know what it is.
cosimo tadzik: ping
masak the rule is that the parentheses are numbered in order, left-to-right.
the top-level parens, that is.
parens within parens are numbered hierarchically. but that doesn't figure in this bug. 22:04
22:04 szymong left
masak but do remember the rule. left-to-right. 22:04
now,
alpha: say ?("abc" ~~ /a ~ (c) (b)/); say $0
p6eval alpha : OUTPUT«1␤b␤»
masak rakudo: say ?("abc" ~~ /a ~ (c) (b)/); say $0
p6eval rakudo : OUTPUT«Bool::True␤b␤»
masak submits rakudobug
22:06 _kaare left
masak ah. already reported: rt.perl.org/rt3/Ticket/Display.html?id=77616 22:10
bbkr++
that must be why I had it written down, then.
22:10 araujo joined, araujo left, araujo joined
colomon masak: oooo, actually my confusion was the "top-level" bit -- I just ignored it and then got lost wondering how the hierarchy worked. Of course the top-level ones are left-to-right, I've relied on that quite a bit. 22:11
masak right. I suppose it's easy to see now why the order of the captures might be reversed in /a ~ (c) (b)/ as well? 22:12
cosimo tadzik: I fixed the "yield" block in p6facter. passes tests now \o/ 22:13
masak the capture numbers are assigned in a tree traversal stage after parsing the regex. for reasons that I can't think of right now, the (c) subtree is traversed before the (b) subtree.
um, other way around. :)
heh; was going to try this in GGE, but it seems GGE doesn't implement goals at all. 22:14
std: say "1"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1 22:15
p6eval std a194beb: OUTPUT«===SORRY!===␤Expecting a term, but found either infix ~~ or redundant prefix ~␤ (to suppress this message, please use space between ~ ~) at /tmp/EtqSXB8j03 line 1:␤------> say "1"~~~~⏏~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~␤Parse
..failed␤FAILED…
moritz_
.oO( GGE is aimless )
phenny moritz_: 21:26Z <tadzik> tell moritz_ can I ask you to take care of my article for tomorrow? I really have to catch some sleep now, and I'll be gone for friday-sunday. Thanks in advance. Also, I'd be more than glad if you could take care of the calendar workflow for this few days as we talked
moritz_ -> sleep
masak moritz_: good night. dream of clearly set goals. :P
STD++ 22:16
22:23 kst left 22:24 kst joined 22:26 dd-sphere joined 22:27 risou joined 22:30 kjeldahl_ left, ch3ck3r left 22:31 broquaint joined
sorear good * #perl6 22:42
hi masak
masak hello, sorear++. 22:43
sorear: I'm going to write something in niecza. I don't know what yet.
sorear I closed all your bugs last night... I need to understand BUILD better for moritz 22:44
masak I saw. thank you.
I'm not yet working at full bug-submitting speed. and submitting TODO things isn't real bug-submitting anyway. 22:45
sorear TimToady: What is /abc/ ? Right now, niecza thinks of /abc/ as being like method () { (self.orig.substr(self.pos, 3) eq 'abc') ?? self.MATCH(3) !! Nil }, but I think I need to do something different for BM to work
22:46 DarthGandalf left
masak BM could be a part of .substr, I guess. 22:46
22:46 justatheory left
sorear and a suprisingly large amount of STD's time is being wasted on stuff like if $longstring ~~ /MY/ that BM would help a lot 22:46
masak aye. 22:47
sorear also, my implementation of $longstring ~~ /^\&/ is plain stupid
masak why does niecza has so long a startup time?
sorear masak: because Perl 5 doesn't have a working precompiler
every time you run niecza_eval, Perl 5 has to compile about 100,000 lines of code between STD, the compiler, and Moose 22:48
masak ah.
that does explain it.
I thought there was a way to save Perl 5 bytecode instead of recompiling it every time. 22:49
but I might be wrong.
sorear there was, once
but it never worked particularly well
therefore nobody used it
therefore it bitrotted and eventually got axed
masak ah.
sorear it was called B::C 22:50
niecza_eval saves the generated .NET bytecode as obj/MAIN.exe 22:51
when I do timing stuff, I usually run that directly
masak I see. 22:52
good to know.
22:52 plobsing left 22:56 ggoebel left 22:57 dd-sphere is now known as ch3ck 23:01 jhuni joined 23:08 kjeldahl left 23:09 XaRDaX left, hercynium left 23:20 jaldhar left 23:21 devinus joined 23:32 ggoebel joined 23:40 whiteknight joined, wamba left 23:45 sftp left 23:47 kst left 23:48 kst joined 23:53 donaldh joined 23:56 donaldh left, donaldh joined