Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2011-02-05

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 benabik is now known as benabik_away
00:05 molaf joined #perl6
00:07 sorear sjohnson: don't ask to ask
00:08 sjohnson i asked if anyone was good at it, not if i could ask a question
00:08 sjohnson :)
00:08 sjohnson but, i get ya.  my question is this
00:08 markmont left #perl6
00:09 sjohnson to make things simple, if you have a commercial app and you distribute a GPLv2 program with it, such that a .zip file might contain commercialapp.exe and GPLv2-program.exe...
00:09 sjohnson what are the license requirements?
00:09 am0c left #perl6
00:09 sorear see the "mere aggregation" clause
00:11 sjohnson thanks
00:12 flussence ahh, after having to write bad code all day at work, I get to spend the night ripping apart Ancient Perl code and replacing it with p6...
00:13 jnthn zzz &
00:15 sjohnson sorear: that answers that question, thank you.  next question is in my .zip example
00:15 sjohnson must i then include gplv2.txt license text as the third file?
00:16 flussence if you're distributing a GPLed binary thing, you need to give the user the license text and either tell them where to get the source or bundle that with it
00:18 shi joined #perl6
00:20 sjohnson so, provide a URL i suppose in, say, LICENSES\ultravnc.txt ?
00:20 kst left #perl6
00:21 sjohnson flussence: what if i never modified the source?
00:21 kst joined #perl6
00:21 sjohnson i still need to provide the source, and or where they can find it?
00:21 flussence if it's unmodified, I guess you're just mirroring the upstream's binary so it'd be ok to link to their source
00:22 sjohnson unfortunately, the source url doesnt work for UltraVNC
00:22 flussence hm
00:22 flussence in that case I think you'd have to provide it yourself somehow
00:23 sjohnson hmm.. the authors themselves who distribute .zip files with binaries don't include the source
00:23 sjohnson i wonder if that means that i don't have to either if it's unmodified.  very confusing stuff, this GPL
00:25 flussence there's source stuff here, but it's a bit out of date: http://sourceforge.net/projects/ultravnc/files/
00:27 flussence looks like svn.sf.net's just down. no surprise there...
00:27 sjohnson ah
00:27 sjohnson thanks for the help
00:30 molaf_ joined #perl6
00:34 molaf left #perl6
00:38 pecastro left #perl6
00:45 bacek left #perl6
00:51 kaare_ left #perl6
00:58 bacek joined #perl6
01:09 IllvilJa joined #perl6
01:09 cdarroch left #perl6
01:33 Chillance left #perl6
01:58 IllvilJa left #perl6
02:01 noganex joined #perl6
02:04 noganex_ left #perl6
02:15 stkowski left #perl6
02:51 flussence ok, I'm done for the night; liking where this is going: https://github.com/flussence/Text-Tab​s-Wrap/blob/cleanup/lib/Text/Tabs.pm
03:13 whiteknight left #perl6
03:18 shi left #perl6
03:43 kst left #perl6
03:44 kst joined #perl6
03:46 jaldhar joined #perl6
03:50 shortcircuit left #perl6
03:50 shortcircuit joined #perl6
04:10 kaydsoft left #perl6
04:10 cafesofie left #perl6
04:11 kaydsoft joined #perl6
04:22 ponbiki left #perl6
04:24 ponbiki joined #perl6
04:26 felliott left #perl6
04:27 Su-Shee left #perl6
04:28 Su-Shee joined #perl6
04:32 IllvilJa joined #perl6
04:35 sorear TimToady: How likely are we to see $*endsym in Perl 6?
04:41 arlinius left #perl6
04:42 arlinius joined #perl6
04:46 stifynsemons joined #perl6
04:57 justatheory left #perl6
05:13 coldhead left #perl6
05:16 lopnor is now known as lopaway
05:22 TimToady sorear: I would be interested in considering other ways of factoring out common data, but I'm not very interested in undoing the factorization, in a DRY way
05:22 TimToady we could, for instance, make <nofun> parse a <sym> instead of the other way around
05:23 TimToady but then it's less clear that <nofun> is parsing the symbol
05:23 TimToady so I think the current way is clearer
05:23 sorear I have nothing against DRY
05:23 sorear the problem I have with the current way is that expecting <sym> to react to dynamic variables breaks LTM semantic purity
05:24 TimToady it seems like there should be a way to do it with the body of the proto that would be better in that respect
05:24 TimToady if the subrules didn't parse the sym, then the proto could say { <sym> <endsym> {*} }
05:25 TimToady but then the multis don't have the option to parse anything other than the standard sym
05:26 TimToady so all the multies could work one way or the other, but not both
05:26 TimToady it's sort of the "is parsed" vs "is reparsed" distinction that we proposed at one point
05:27 envi joined #perl6
05:27 TimToady I can certainly see the benefit of knowing the endsym at compile time
05:28 sorear I can't see any way out of knowing the endsym at compile time.
05:28 TimToady though, of course, you still have to allow for the dynamicity of new derived grammars
05:28 TimToady and that happens at run time
05:28 sorear viv cheats and interprets :$*endsym = 'foo' as a "use sym :for('xxx') :after('foo')"
05:28 sorear What's is reparsed about?
05:29 TimToady for user macros, basically
05:29 TimToady macro foo () is parsed # assumes "foo" is already recognized
05:29 TimToady macro foo () is reparsed # assumes "foo" is not already recognized
05:30 TimToady comparable to whether we assume the <sym> is already matched
05:30 TimToady might even turn into exactly that underneat
05:30 TimToady h
05:30 TimToady if the macro name ends up as the sym
05:30 TimToady and I don't see why not
05:31 sorear the least bad idea I have is something like, regex twigil:sym<!> is endsym<begid> { } # sym -> \! <.begid>   proto regex twigil is endsym<begid> {*} # all twigil:xxx that are defined such that the compiler can see this proto, get a begid definition
05:32 TimToady it used to be that way, once upon a time
05:32 TimToady don't remember why I changed it
05:33 sorear I'm operating under an assumption that endsym matters to LTM
05:33 TimToady I think that's right
05:34 TimToady so it has to know at the time the new lexer is created
05:34 sorear niecza's LTM cache stuff likes to assume that one regex with one runtime type -> exactly one lexer
05:34 TimToady which isn't necessarily compile time, but then it requires more JIT optimization
05:35 TimToady well, one doesn't change the regex, but new types can be created
05:36 TimToady I suppose evil code could even change the ISA pedigree
05:36 TimToady and potentially use a different proto
05:36 sorear @ISA?  In my Perl 6?
05:36 TimToady I didn't say @
05:37 sorear we have to make certain assumptions about class pedigree immutability, if gradual typing is going to work
05:37 sorear it does no good to say my Dog $x if the compiler can't prove any implications of $x ~~ Dog
05:38 TimToady sure, though declarative pessimization is alway spossible
05:38 TimToady but then it's, like, declared
05:38 TimToady and on the user's head be it
05:39 TimToady we can certainly assume the lack of evil if no evil has been declared
05:40 TimToady and we can even put off the analysis of evil for now :)
05:43 TimToady "Doctor, it hurts when I do this." "What's that to me?  I just deliver babies."
05:44 jdhore TimToady, Sorry to bother you and i know this is perhaps a bit inappropriate, but i absolutely LOVE Perl. You are the man.
05:53 TimToady :)
05:53 aindilis joined #perl6
06:16 sorear TimToady: the other big semantic gap between viv and niecza is cursor mutation
06:16 sorear { $<POST>:delete; } and co
06:48 Vijayasarathy joined #perl6
06:48 Vijayasarathy left #perl6
07:07 orafu left #perl6
07:13 xinming_ After lwall learnt Japanese, And choose the Mu as a type name in perl 6, Hoped he chose Chinese before the Japanese. ;-)
07:15 sorear What do you mean by that?
07:16 xinming_ sorear: Mu is a Japanese pronouncation for 无(Simplified Chinese), and 無(Traditional Chinese), They both pronounced Wu in Chinese, But not Mu. :-P
07:18 flatwhatson_ left #perl6
07:20 dalek niecza: 79f521f | sorear++ | / (3 files):
07:20 dalek niecza: Bring Niecza's STD a bit closer to the real thing
07:20 dalek niecza:
07:20 dalek niecza: -800 lines diff -u output; also tracks several recent improvements.
07:20 dalek niecza: review: https://github.com/sorear/niecza/commit/79f521f5ec
07:23 sorear xinming_: I see
07:25 * sorear -> sleep
07:25 lopaway is now known as lopnor
07:38 rgrau left #perl6
07:38 stifynsemons left #perl6
07:45 coldhead joined #perl6
08:05 [particle] left #perl6
08:28 kaydsoft_ joined #perl6
08:28 kaydsoft left #perl6
08:29 nadim_ left #perl6
08:32 kaydsoft_ left #perl6
08:32 nadim_ joined #perl6
08:36 kfo joined #perl6
08:39 kfo_ left #perl6
08:45 risou joined #perl6
08:57 pothos left #perl6
08:57 pothos joined #perl6
09:15 kaydsoft joined #perl6
09:16 Mowah joined #perl6
09:17 risou left #perl6
09:17 risou_ joined #perl6
09:20 kaydsoft left #perl6
09:21 kaydsoft joined #perl6
10:18 dorlamm joined #perl6
10:28 user_1926 joined #perl6
10:31 user_1926 left #perl6
10:37 kiffin joined #perl6
10:38 kiffin left #perl6
10:39 snarkyboojum perl6: my $x = 5; $x.++; say $x
10:39 p6eval pugs, niecza v2-5-g79f521f: OUTPUT«6␤»
10:39 p6eval ..rakudo 924242: OUTPUT«Could not find sub &postfix:<.>␤  in main program body at line 22:/tmp/zpiS6wKv1W␤»
10:40 snarkyboojum yay niecza
10:50 orafu joined #perl6
10:50 lopnor is now known as lopaway
10:56 fIorz joined #perl6
10:56 florz left #perl6
10:56 fIorz is now known as florz
10:58 karb joined #perl6
11:11 hirschnase joined #perl6
11:11 hirschnase left #perl6
11:11 toto__ joined #perl6
11:12 toto__ left #perl6
11:17 jaffa4 joined #perl6
11:18 jaffa4 hi
11:18 jaffa4 Is redeclaration of a variable allowed in Perl 6?
11:19 masak joined #perl6
11:19 jaffa4 Is redeclaration of a variable allowed in Perl 6?
11:19 masak std: my $a; my $a
11:19 p6eval std 625303c: OUTPUT«Potential difficulties:␤  Useless redeclaration of variable $a (see line 1) at /tmp/Gj_bdbKR8q line 1:␤------> [32mmy $a; my $a[33m⏏[31m<EOL>[0m␤ok 00:01 119m␤»
11:19 masak allowed, but if it's in the same block, you get a warning.
11:19 masak hi, #perl6!
11:19 jaffa4 rakudo fails for redeclaration
11:19 masak yes, it does.
11:19 jaffa4 I tried an example
11:20 jaffa4 I fixed the example, is that ok?
11:20 masak not sure I understand.
11:20 jaffa4 I have access to github perl6 repository
11:20 jaffa4 read -write
11:20 jaffa4 Is it ok if I commit that?
11:21 coldhead left #perl6
11:21 masak permission > forgiveness, so yes :)
11:21 masak if you want someone to review the patch first, that's OK too.
11:21 jaffa4 The change works , I tested it.
11:21 jaffa4 ok
11:22 masak yes, we implicitly expect any committer to have run the spectests on the commit.
11:23 masak jaffa4: there might be some RT ticket that can be closed if such a commit goes in, too.
11:23 * masak looks
11:26 jaffa4 RT ticket?
11:27 masak yes, it's our issue tracker. http://rt.perl.org/rt3/
11:28 masak but I looked, and I don't see any ticket for that.
11:28 jaffa4 I am not surprised
11:28 * masak submits one
11:29 dorlamm left #perl6
11:31 masak that way, you'll get the satisfaction of having a closed ticket in RT :)
11:31 tadzik o/
11:31 masak \o
11:31 masak rakudo: my $a; my $a; say 'alive'
11:31 p6eval rakudo 924242: OUTPUT«===SORRY!===␤Redeclaration of symbol $a at line 22, near "; say 'ali"␤»
11:32 karb rakudo: my Pair @nums = 1=>'one'; say @nums[0].perl
11:33 p6eval rakudo 924242: OUTPUT«(timeout)»
11:33 karb This gives error "maximum recursion depth exceeded"
11:33 masak :(
11:33 tadzik funny
11:33 masak jaffa4: http://rt.perl.org/rt3/Tic​ket/Display.html?id=83430
11:38 karb left #perl6
11:38 jaffa4 What is its number?
11:40 masak #83430
11:41 fhelmberger joined #perl6
11:42 jaffa4 ph I just changed the example, that is a smaller task.
11:44 jaffa4 nietza: print "hel;lo"
11:44 jaffa4 niecza: print "hel;lo"
11:44 p6eval niecza v2-5-g79f521f: OUTPUT«hel;lo»
11:45 jaffa4 niecza: print <hel;lo>
11:45 p6eval niecza v2-5-g79f521f: OUTPUT«hel;lo»
11:45 sECuRE left #perl6
11:45 sECuRE joined #perl6
11:45 jaffa4 niecza: print 1+3;
11:45 p6eval niecza v2-5-g79f521f: OUTPUT«4»
11:45 jaffa4 niecza: print "1"+3;
11:46 p6eval niecza v2-5-g79f521f: OUTPUT«4»
11:46 jaffa4 niecza: my $b=4; print "1"+$b;
11:46 p6eval niecza v2-5-g79f521f: OUTPUT«5»
11:46 masak jaffa4: you mentioned that you had a patch for #83430. are you about to commit it to github?
11:47 masak s/commit/push/
11:47 jaffa4 no, you misunderstood me
11:47 masak I see I did.
11:47 tadzik I feel like coding
11:47 masak <jaffa4> Is it ok if I commit that?
11:48 masak jaffa4: what is it you have to commit?
11:48 jaffa4 >>>I fixed the example,
11:49 masak <masak> not sure I understand.
11:49 masak which example?
11:49 masak I don't think I've missed any relevant backlog.
11:50 jaffa4 cookbook/arrays/ 4 01
11:50 jaffa4 it is really almost nothing.
11:50 snarkyboojum that was the vital piece of missing information
11:50 masak ah. yes.
11:51 jaffa4 all is well that ends well, now you have it.
11:51 * masak tries to find this example
11:51 masak jaffa4: you don't happen to have the URL?
11:52 snarkyboojum masak: I'm guessing, https://github.com/perl6/perl6-exampl​es/blob/master/cookbook/04arrays/04-0​1specifying-a-list-in-your-program.pl
11:52 jaffa4 https://github.com/perl6/perl6-exampl​es/blob/master/cookbook/04arrays/04-0​1specifying-a-list-in-your-program.pl
11:52 tadzik http://perlcabal.org/syn/S32/IO.html#uri_ -- method of what should 'method uri()' actually be, and how would it make use of $self?
11:52 snarkyboojum oops.. I'll butt out :)
11:53 masak jaffa4: thanks.
11:53 tadzik also, in Rakudo we have IO, but not IO::File nor IO::Directory
11:53 masak jaffa4: yes, that's a redeclaration. it's legit Perl 6, but it currently dies in Rakudo.
11:53 masak jaffa4: feel free to fix it.
11:54 jnthn o/
11:54 masak tadzik: S32 is full of sludge and outright liquid.
11:54 masak jnthn! \o/
11:54 jaffa4 I have just noticed
11:54 jaffa4 nietze here is better than the one i have.
11:54 masak tadzik: S32/IO, I mean.
11:55 jaffa4 nietcza: my Int $b=4;
11:55 masak jaffa4: "niecza". yes, it's frequently updated.
11:55 jaffa4 niecza: my Int $b=4;
11:55 p6eval niecza v2-5-g79f521f: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤In my declaration, typename 'Int' must be predeclared (or marked as declarative with :: prefix) at /tmp/qPhWWfdG6T line 1:␤------> [32mmy Int[33m⏏[31m $b=4;[0m␤␤Malformed my at /tmp/qPhWWfdG6T line 1:␤------> [32mmy [33m⏏[31mInt
11:55 p6eval ..$b=4;[0m␤␤Par…
11:57 tadzik masak: IMHO, having uri() is a bit bloaty
11:57 tadzik I feel more like a URI::Handler or something
11:58 masak good intentions lie behind most of what's in there today. but it's not a design I'd like to see implemented.
11:59 jaffa4 but?
11:59 masak I'd like for IO to follow the path of DateTime: someone to slim it down to its absolute minimal spec, so that we can discuss usable features from the standpoint of what can be implemented.
12:01 MayDaniel joined #perl6
12:03 snarkyboojum perhaps inspiration could be taken from IO::All, though that'd hardly be slimming down the spec :D
12:03 jaffa4 by the way,  I created this https://github.com/jaffa4/Parrot-and-P​erl-6-Win32-Binaries-in-One-Package/bl​ob/master/Parrot-3.0.0-Rakudo-37.exe
12:04 masak nice. jaffa4++
12:04 masak snarkyboojum: I'd like for inspiration to be taken from other languages and theirs IO solutions. someone with the tuits could settle on the 'most elegant' solution, and spec it.
12:08 snarkyboojum masak: do you mean inspiration from other languages other than Perl 5?
12:09 masak aye.
12:09 snarkyboojum oh, I find IO::All quite inspirational :D
12:09 masak I looked a bit at Haskell's libraries when we were re-doing Temporal, for example.
12:09 masak and Ruby's, and Python's.
12:10 jaffa4 I have been thinking running some speed test
12:11 snarkyboojum masak: definitely makes sense to look at other languages, but I don't see any reason to exclude Perl 5
12:11 jaffa4 Are there perl 6 code available for that?
12:11 kst left #perl6
12:11 kst joined #perl6
12:12 masak snarkyboojum: no, me neither. see what happened in the end with Temporal; most of the inspiration ended up coming from DateTime.pm :)
12:12 snarkyboojum masak: was going to be my next point :)
12:12 masak so I don't disagree with you at all.
12:12 snarkyboojum masak: seems like it :)
12:12 masak it's just that I like the idea of going beyond the river of Perl ideas and look at what other communities have settled on.
12:13 gfldex left #perl6
12:13 masak sometimes there are really good ideas to be had in the other camps.
12:13 masak non-obvious improvements.
12:13 snarkyboojum I'd say you'd be crazy not to :)
12:15 snarkyboojum we'll have to stop agreeing like this :P
12:18 jaffa4 rakudo: for (0..100000) {}
12:18 p6eval rakudo 924242: OUTPUT«(timeout)»
12:21 moritz_ we know that lazy list iteration is slow
12:25 jaffa4 is there $_ In Perl 6?
12:25 masak yes.
12:25 jaffa4 rakudo: m://;
12:25 p6eval rakudo 924242: OUTPUT«===SORRY!===␤Confused at line 22, near "m://;"␤»
12:25 jaffa4 rakudo: :m//;
12:25 p6eval rakudo 924242: OUTPUT«===SORRY!===␤Confused at line 22, near ":m//;"␤»
12:25 moritz_ std: :m//
12:25 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Bogus term at /tmp/fBgk0GsgrK line 1 (EOF):␤------> [32m:m//[33m⏏[31m<EOL>[0m␤Parse failed␤FAILED 00:01 119m␤»
12:25 masak rakudo: $_ = "OH HAI"; m/H/; say ~$/
12:25 p6eval rakudo 924242: OUTPUT«H␤»
12:26 masak jaffa4: S05 outlines the syntax for matching and substituting.
12:26 rgrau joined #perl6
12:27 jaffa4 rakudo: m/h/;
12:27 p6eval rakudo 924242: OUTPUT«Method 'match' not found for invocant of class ''␤  in main program body at line 22:/tmp/I96tmA5RE2␤»
12:27 masak that's class Any, by the way.
12:27 fredbot joined #perl6
12:28 masak rakudo: $_ = 'oh my'; s[my] = "HAI"; .say
12:28 jaffa4 rakudo: $_="o";m/h/;
12:28 p6eval rakudo 924242: OUTPUT«oh HAI␤»
12:28 p6eval rakudo 924242:  ( no output )
12:28 fredbot left #perl6
12:29 jaffa4 rakudo: $_="o";m:g/h/;
12:29 masak rakudo: $_ = 'oh 2!'; s[\d+] += 40; .say
12:29 p6eval rakudo 924242: OUTPUT«===SORRY!===␤Adverb 'g' not allowed on m at line 22, near ";"␤»
12:29 p6eval rakudo 924242: OUTPUT«===SORRY!===␤Missing assignment operator at line 22, near "+= 40; .sa"␤»
12:29 gfldex joined #perl6
12:29 * masak submits rakudobug
12:29 gfldex parrot seams to eat ram again
12:30 jnthn :/
12:30 moritz_ masak: known
12:32 * gfldex activates hawkeye_mode to watch parrot
12:34 masak moritz_: known, or known and submitted?
12:34 moritz_ masak: there's a fudged test in the test suite. Don't know if there's a ticket too
12:35 jaffa4 rakudo: say $*ERR: "$_\n";
12:35 p6eval rakudo 924242: OUTPUT«===SORRY!===␤Confused at line 22, near "say $*ERR:"␤»
12:35 jaffa4 rakudo: say $*ERR  "$_\n";
12:35 * masak Justins the ticket
12:35 p6eval rakudo 924242: OUTPUT«===SORRY!===␤Confused at line 22, near "say $*ERR "␤»
12:36 jaffa4 rakudo: $*ERR.say  "$_\n";
12:36 p6eval rakudo 924242: OUTPUT«===SORRY!===␤Confused at line 22, near "$*ERR.say "␤»
12:36 moritz_ rakudo: $*ERR.say: "$_\n"
12:36 p6eval rakudo 924242: OUTPUT«Any()␤␤»
12:36 masak std: say $*ERR: "$_\n"
12:36 p6eval std 625303c: OUTPUT«ok 00:01 122m␤»
12:36 jaffa4 ok
12:37 jaffa4 rakudo: $*ERR.say:  "$_\n";
12:37 p6eval rakudo 924242: OUTPUT«Any()␤␤»
12:39 am0c joined #perl6
12:40 jaffa4 what is Unable to parse blockoid, couldn't find final '}' at line 4/
12:41 jaffa4 rakudo: for (1..4) {$*ERR.say:  "$_\n";}
12:41 p6eval rakudo 924242: OUTPUT«1␤␤2␤␤3␤␤4␤␤»
12:41 rgrau_ joined #perl6
12:43 rgrau left #perl6
12:43 gfldex parrot eats ram while mingling core.pm again. How about a ulimit in the build script to have it fail eartly (before it hits PARROT_REVISION)?
12:44 masak jaffa4: to me, the error "Unabable to parse blockoid" means the same as "Confused", just inside of a "{}" block.
12:44 moritz_ gfldex: just set a ulimit before starting the rakudo build
12:44 moritz_ gfldex: some of us have enough ram, and a ulimit would slow down the build for us/them
12:47 gfldex moritz_: i know how to handle it. My concerns are more with folk that give Rakudo a try on a host that does not have 2GB+ RAM and turn it down after restarting their machine in anger.
12:50 moritz_ gfldex: well, the correct fix is to consume memory, not to impose arbitrary limits
12:51 jnthn ...to consume *less* memory? :)
12:51 moritz_ gfldex: if you can identify a changeset or a branch merge that changed the beahvior for the worse, we can bug the parrot folks with it
12:51 moritz_ aye, what jnthn said :-)
12:51 gfldex i would like to see arbitrary limits so the person that commits to parrot knows there is something wrong with that commit fairly quickly
12:52 gfldex moritz_: i will dig for the commit
12:52 [Coke] left #perl6
12:52 moritz_ ++gfldex
12:54 tadzik hey look: http://feather.perl6.nl:3000/
12:56 tadzik here be ecosystem webservices
12:59 dalek nqp-rx/nom: 6a63e74 | jonathan++ | src/metamodel/ (2 files):
12:59 dalek nqp-rx/nom: Support .^name on KnowHOWs.
12:59 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/6a63e74643
12:59 dalek nqp-rx/nom: 0b5765d | jonathan++ | src/NQP/ (2 files):
12:59 dalek nqp-rx/nom: Stop treating meta-object names as strings, and actually reference the meta-objects, just as we do with Actions classes.
12:59 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/0b5765d0b1
13:00 moritz_ jnthn: what do you think about supporting actual .^method syntax in nqp?
13:01 jnthn moritz_: +1
13:01 jnthn moritz_: Have almost done it quite a few times. :)
13:02 jnthn But there's always been something more pressing. ;)
13:02 whiteknight joined #perl6
13:02 jnthn Feel free to go ahead and add it. :)
13:02 moritz_ jnthn: rakudo uses a special helper for .^ calls... I think that's a bit overkill. What about just constructing the right method calls right away?
13:02 jnthn If you have tuits and interest, anyways. :)
13:02 moritz_ interest, yes :-)
13:02 jnthn Yeah, it's overkill. I wanna kill that in Rakudo
13:02 jnthn Note that .HOW is not a method.
13:02 jnthn (in nqp-rx/nom)
13:02 moritz_ tuits... currently yes
13:03 moritz_ let's see if I can manage it :-)
13:03 moritz_ first step: parsing
13:03 jnthn moritz_: Look for elsif $<longname> eq 'HOW' { in Actions.pm
13:03 jnthn For a clue on the actions bit :)
13:03 moritz_ yes, that helps
13:03 moritz_ now get it parse...
13:04 * moritz_ looks at STD
13:04 moritz_ ah, token dotty:sym<.*>
13:06 Juerd tadzik: Port 3000 doesn't listen on ipv6; users with an ipv6 connection can perhaps not visit that url.
13:08 risou_ left #perl6
13:09 tadzik Juerd: no problem as for now, I just plan to try if the whole idea of mine works, then I'll think about deployment more. But thanks for pointing it out
13:10 [Coke] joined #perl6
13:12 Juerd I'm just creating awareness
13:12 Juerd It's up to others to decide if it and when it's worth the trouble to actually make it work :)
13:15 moritz_ jnthn: I got the parsing to work, but I'm wondering if we don't need a bit of a refactor to make .^ calls work without too much PAST introspection
13:17 shi joined #perl6
13:18 jnthn moritz_: Maybe
13:20 jnthn moritz_: What are you thinking of changing?
13:28 pmurias joined #perl6
13:36 am0c left #perl6
13:41 cafesofie joined #perl6
13:43 sftp left #perl6
13:44 moritz_ jnthn: not sure what's the best approach
13:45 moritz_ jnthn: the big problem I'm seeing is putting the invocant into the argument list
13:45 sftp joined #perl6
13:46 jnthn moritz_: eek, yes
13:47 jnthn moritz_: That's muchly an issue as well because we want to only evaluate the invocant once.
13:47 moritz_ maybe having an $*EXTRA_ARGUMENT that is added in <arglist>
13:47 moritz_ jnthn: I think that's the real reason that rakudo uses a helper
13:49 jnthn moritz_: Right. To avoid messing around with these kinds of things.
13:52 moritz_ perhaps a helper isn't such a bad idea after all :-)
13:52 shi left #perl6
13:52 jnthn moritz_: Maybe but...making .HOW.foo and .^foo have radically different performance characteristics is...not so desirable.
13:53 jnthn $obj.HOW is a couple of pointer follows
13:53 moritz_ right
13:54 am0c joined #perl6
13:54 felliott joined #perl6
14:01 kaare_ joined #perl6
14:05 jnthn brb, nom shopping
14:12 dalek niecza: a7ef71e | pmurias++ | cl-backend/backend.lisp:
14:12 dalek niecza: [cl-backend] classes are now put in a stash
14:12 dalek niecza: review: https://github.com/sorear/niecza/commit/a7ef71e229
14:19 masak tadzik: [ecosystem webservices] nice
14:19 masak tadzik: that's probably where we want to publish Emmentaler stuff eventually.
14:20 drbean left #perl6
14:21 tadzik masak: si. I think it'd be nice to have it API-exposed, like /tests/Acme;Meow
14:21 masak can't hurt :)
14:30 dalek nqp-rx/nom: 594f186 | jonathan++ | / (3 files):
14:30 dalek nqp-rx/nom: Start to stub out role meta-objects. All roles are implicitly parametric because a mention of $?CLASS is generic. The base here could be built up to do parametric roles in NQP, but that's not on the cards at the momnet; of course, Rakudo's meta-objects will carry a full implementation of those.
14:30 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/594f18624e
14:34 tadzik hah, from the neutro runtime, 40 seconds is JSON parsing the projects list
14:36 masak that's as strong an argument for eval(slurp) as I've ever heard.
14:36 risou joined #perl6
14:39 tadzik 1296916472: parsing json
14:39 tadzik 1296916512: parsed
14:40 tadzik iirc Parrot has some JSON parser, maybe it'll be faster than Pureperl at this moment
14:40 masak sure, but then the output would be Parrot data structures.
14:41 * tadzik mumbles something about language interoperability
14:41 risou left #perl6
14:42 risou joined #perl6
14:48 pmichaud good morning, #perl6
14:49 masak morning, pm
14:49 risou_ joined #perl6
14:50 tadzik 'afternoon, pmichaud
14:52 risou left #perl6
14:54 am0c left #perl6
14:54 am0c joined #perl6
14:59 flatwhatson_ joined #perl6
14:59 baest left #perl6
15:00 baest joined #perl6
15:01 rgrau_ left #perl6
15:03 jnthn o/, pmichaud
15:03 pmichaud o/ jnthn
15:04 mkramer joined #perl6
15:04 dalek roast: eb0af12 | (Fitz Elliott)++ | S03-operators/flip-flop.t:
15:04 dalek roast: [flipflop.t] add tests for flipflop op
15:04 dalek roast: review: https://github.com/perl6/roast/commit/eb0af12e03
15:05 jnthn pmichaud: Back from the teaching. :)
15:05 pmichaud excellent.  How did it go?
15:05 pmurias left #perl6
15:05 jnthn Very well. Had a lovely bunch of students, and they all gave me excellent ratings in the evaluation form. :)
15:06 pmichaud fantastic;  jnthn++
15:07 jnthn pmichaud: Let me know when you hit the point of wanting to "freeze" the nom branch for migration.
15:07 felliott hello, #perl6
15:07 jnthn pmichaud: I'm currently working through the roles bits.
15:07 masak saluton, felliott.
15:07 felliott o/, masak!
15:08 felliott I've decided to take a stab at implementing the flipflop operator.
15:08 pmichaud jnthn: maybe later today?
15:08 pmichaud jnthn: I'll know more in a couple of hours
15:08 jnthn pmichaud: Sure, whenever you're ready.
15:08 pmichaud things got... interesting.... here over the last couple of days.
15:08 jnthn pmichaud: I tend to work in small commits.
15:09 jnthn More interesting than "omgz snow"?
15:09 felliott I've got the basics working and was wondering if someone would mind critiquing my code?
15:09 pmichaud caused by the omgz snow, yes :)
15:10 felliott Especially the pir, which I half-understand and half-cargo-culted.
15:10 jnthn Ah. :)
15:10 felliott my branch is here: https://github.com/felliott/rakudo/tree/flipflop
15:10 felliott Or the calss code is in a gist here: https://gist.github.com/812508
15:10 felliott s/calss/class/
15:11 felliott I also have some questions about the spec.
15:11 Axius joined #perl6
15:11 felliott What should ff do when given non-matchable args?
15:12 felliott Literals or code, for example.
15:12 masak flussence: flipflip! \o/
15:12 * masak looks
15:12 jnthn masak: misstab :)
15:13 felliott In P5, literal ints were matched against the current line number, but TimToady indicated in 2005 that that may not be necessary anymore.
15:13 felliott http://www.nntp.perl.org/group/perl.​perl6.language/2005/11/msg24098.html
15:13 barika left #perl6
15:14 masak jnthn: huh. weird. my tab key generally works flawlessly. :)
15:14 * flussence flops
15:14 masak flussence: sorry about the flop. :)
15:15 * felliott flips
15:15 felliott felliott flips and flussence flops
15:15 jnthn felliott: Maybe should be %!ff_cache so it doesn't accidentally end up user-visible.
15:15 masak hm. a class... well, I suppose that makes sense.
15:15 felliott fox in socks on chicks on clocks
15:16 felliott Ah, you can make a private global?
15:16 flussence I've never understood the ff/p5.. op. It's probably good for something but I just can't get my head around it. Are there any examples out there?
15:16 jnthn felliott: You can install whatever name you want from PIR ;)
15:16 felliott Intriguing....
15:17 * felliott takes notes
15:17 jnthn Well, I guess you can from Perl 6 too, we just don't support ns interpolation yet... :)
15:17 felliott flussence:  I've committed some new tests to S03-operators/flip-flop.t that might be useful.
15:17 jnthn Is the FlipFlop class spec, ooc?
15:18 felliott no
15:18 felliott but I saw a suggestion that it might be implemented that way.
15:18 felliott that was in the irclogs, iirc
15:19 jnthn felliott: The .perl method seems to return code that would make a Range rather than a flipflop
15:19 thundergnat joined #perl6
15:19 felliott if that's not kosher, I don't mind redoing it, but I'll need a lot of help
15:19 thundergnat Hello #perl6
15:19 felliott hello, thundergnat!
15:20 felliott the flipflop spec right now is: "do it like Perl5 but call it ff"
15:20 jnthn :)
15:21 thundergnat I just uploaded a new perl6 solution to rosettacode - Deconvolution 2d+:   http://rosettacode.org/wiki​/Deconvolution/2D%2B#Perl_6  Only the 4th language represented for that task
15:22 thundergnat \o/
15:22 jnthn felliott: I don't have a problem with it being a class, though I don't fully understand flip flops either. ;)
15:22 jnthn felliott: Provided that approach is OK, the patch looks overall sane to me.
15:22 thundergnat Gives an eye-opening example of how grindingly slow perl 6 is though....
15:22 felliott cool, thanks!
15:22 jnthn I'd just want to hide the cache, and as I mentioned the .perl looks a bit off.
15:23 jnthn +          ('^' if $.exclude_first),
15:23 jnthn 64
15:23 jnthn +          '..',
15:23 jnthn 65
15:23 jnthn +          ('^' if $.exclude_last),
15:23 felliott oh, yes, I stole it from Range and forgot to update it.
15:23 jnthn Guessing...yes, that. :)
15:23 felliott :p
15:23 thundergnat Tcl version completes in well under a second for 3D deconvolution. Perl 6 take 300 seconds on my machine. :-(
15:24 thundergnat 4D deconvolution took just over 7 hours!
15:24 thundergnat I didn't test 5D.....
15:24 sorear good * #perl6
15:25 felliott Another hacky bit is the ff cache lookup
15:25 sorear thundergnat: Whose Perl 6 are you finding so slow?
15:25 felliott I currently use the filename and line num.
15:25 thundergnat er... rakudo. I should make that clear, i guess.
15:26 felliott I think I saw a suggestion to use the calling block's mem addr., but I'm not sure how to do that.
15:26 felliott I tried &?BLOCK, but it's NYI, I think
15:26 felliott Can I do that in pir?
15:27 felliott The current approach works in most sane cases, but two distinct ffs on the same line (e.g. in a oneliner) would use the same object.
15:28 jnthn felliott: Well, calling block is also not fully it
15:28 shortcircuit thundergnat: Which P6 implementation are you poking at?
15:28 jnthn felliott: Since there may be two uses of the flipflop operator within that block
15:29 jnthn felliott: Of course, there may be two on one line too
15:29 jnthn felliott: Needs to really have char position or, maybe better, bytecode position.
15:29 thundergnat shortcircuit: I am using Rakudo 2010.12. Just added that info to the rosettacode page.
15:29 sorear felliott: I tried implementing ff earlier but couldn't make heads or tails of the spec(test)s
15:29 felliott can we access that in pir?
15:30 felliott sorear: yes, I don't really like them, either.
15:30 felliott I added some new ones that I think are clearer.
15:30 shortcircuit thundergnat: You might try other P6 implementations. They might be faster. I don't know.
15:30 pmichaud afk, phone call
15:31 jnthn felliott: Not sure...looking.
15:31 felliott jnthn: is there a way to get bytecode position in rakudo or pir?
15:31 felliott sorry, repeating myself
15:31 shortcircuit thundergnat: have you seen this page yet? http://rosettacode.org/wiki/Report​s:Tasks_not_implemented_in_Perl_6
15:31 felliott echo.. echo.. echo
15:31 jnthn felliott: I probably know how to write a dynop to get it... :)
15:31 sorear felliott: ff really needs to be a macro so it can generate a $unique++ parameter
15:31 felliott O_O  I don't know what that is.
15:32 thundergnat shortcircuit: yep. I've been  adding perl6 tasks from that page.
15:32 felliott sorear: hmm?  do you mean the for the state?
15:32 sorear felliott: yes
15:33 jnthn That'd be one way to do it.
15:33 jnthn Once you macro-ize somehting you throw away runtime customizability though.
15:33 felliott Would that be preferable to a class?
15:33 shortcircuit thundergnat: Sweet. RC is my site, so I'm glad you've got a feel for the site layout already. I haven't had time to spam out my usually greetings to new users yet this year.
15:33 thundergnat shortcircuit: I've done about 8-10 perl6 and perl tasks so far, though some were added anonymously before I signed up for an account
15:34 sorear felliott: perl 5 ff doesn't involve classes at all, so I'd say yes
15:34 sorear (and it's macroey)
15:35 jnthn sorear: Yes but a lot of Perl 5 things don't involve classes at all, when they do in Perl 6. :)
15:35 felliott is there anything else in rakudo that's implemented as a macro that I can look at for reference?
15:35 felliott (macroey is my favorite pasta)
15:35 sorear pasta?
15:35 jnthn lol :)
15:35 felliott lame pun
15:35 * jnthn still got it :)
15:36 shortcircuit thundergnat: There are a couple other implementations of P6 you could try. Niecza is under heavy, active development. I know pugs exists, but I know almost nothing else about its status.
15:38 jnthn felliott: You can get the bytecode positon by getting the call frame of the op (at the Parrot context PMC level), getting the context's current_cont attribute, and then doing get_addr on that.
15:38 sorear felliott: make_feed in Actions.pm
15:38 thundergnat shortcircuit: Yeah I know, I lurk heavily in #perl6 but my work and life schedule prevents me from actively participating very much. :-(
15:38 jnthn I think that'd get you a unique bytecode address.
15:38 felliott ace. jnthn++ sorear++
15:38 jnthn As sorear says, you could do it as a compile-time transformation too.
15:39 sorear shortcircuit: pugs is the most likely future of niecza... a compiler with a bus number of 0 :/
15:40 jnthn In which case you don't need to worry about what I just told you.
15:40 jnthn It's a much bigger re-working of what you have at the moment though.
15:40 sorear shortcircuit: nobody understands it well enough to improve it, except audrey, who [clarification: is not dead but] hasn't touched it in 3+ years
15:40 felliott I guess both ways make their own kind of sense right now.
15:41 jnthn felliott: Yes. I expect @other will have opinions. Suspect TimToady and pmichaud would have some worth hearing. :)
15:41 jnthn felliott: I think it could be made to work well either way...
15:41 felliott and I still have some spec questions to clear up.
15:41 jnthn *nod*
15:42 Mowah left #perl6
15:43 felliott jnthn, sorear, thanks to both of you!   I'll bring this up again when they're around.
15:46 sorear std: s{x} {y}
15:46 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/_CeFkUdybq line 1:␤------> [32ms{x} [33m⏏[31m{y}[0m␤    expecting infix or meta-infix␤Parse failed␤FAILED 00:01 120m␤»
15:46 sorear std: s{x}{y}
15:46 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/Xxhkmy4imX line 1:␤------> [32ms{x}[33m⏏[31m{y}[0m␤    expecting any of:␤      infix or meta-infix␤    quantifier␤Parse failed␤FAILED
15:46 p6eval ..00:01 120m␤»
15:46 risou_ left #perl6
15:46 sorear phenny: STD.pm6 won't parse s{x}{y}.  Bug?
15:47 sorear phenny: tell TimToady STD.pm6 won't parse s{x}{y}.  Bug?
15:47 phenny sorear: I'll pass that on when TimToady is around.
15:47 sorear I kinda need that clause don't I
15:47 Axius left #perl6
15:47 masak :)
15:48 shi joined #perl6
15:54 rgrau joined #perl6
16:05 stifynsemons joined #perl6
16:08 am0c left #perl6
16:14 Patterner left #perl6
16:16 Psyche^ joined #perl6
16:16 Psyche^ is now known as Patterner
16:22 am0c joined #perl6
16:29 dalek yapsi: c22255a | masak++ | .gitignore:
16:29 dalek yapsi: [.gitignore] blib
16:29 dalek yapsi:
16:29 dalek yapsi: ufo generates this directory.
16:29 dalek yapsi: review: https://github.com/masak/yapsi/commit/c22255a5d2
16:29 dalek yapsi: e23dbc9 | masak++ | / (2 files):
16:29 dalek yapsi: FUTURE refactor
16:29 dalek yapsi:
16:29 dalek yapsi: Instead of $/ -> SIC, the compiler now does $/ -> FUTURE -> SIC. The net
16:29 dalek yapsi: gain of ~150 lines also translates to a heightened readability and less
16:29 dalek yapsi: tangled code. Bright FUTURE ahead indeed.
16:29 dalek yapsi: review: https://github.com/masak/yapsi/commit/e23dbc9b04
16:30 risou joined #perl6
16:37 pmurias joined #perl6
16:37 pmurias sorear: hi
16:37 phenny pmurias: 04 Feb 23:35Z <sorear> tell pmurias -L NULL
16:37 sorear pmurias: hi
16:38 jnthn masak: Yes, that's the FUTURE refactor, but what's this patch do in the PRESENT?
16:38 jnthn :P
16:39 pmurias sorear: if i use -LNULL -e 'say 1' is get an error
16:39 pmurias Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object
16:40 pmurias sorear: re likely future of niecza are you planning to abandon it?
16:41 Axius joined #perl6
16:42 sorear pmurias: I'm not planning per se but it's pretty much inevitable... I won't be a student forever
16:43 sorear you need a bit more code to make say 1 work
16:43 pmurias -e '1'
16:43 sorear for instance, definitions of say and Num
16:43 masak jnthn: the PRESENT is, as far as I know, an illusion created by our minds.
16:43 sorear you also need stubs for Mu, Any, ClassHOW, Nil
16:44 pmurias if i want a custom setting how do i compile that?
16:44 sorear and the unit name needs to be set to "SAFE" or "CORE"
16:44 pmurias i saw that hardcoded
16:44 sorear Custom settings should sit on top of SAFE or CORE
16:45 sorear I hadn't thought about SAFE-less settings yet
16:46 sorear you could do MYSETTING.setting: module MYSETTING; sub fact($n) { $n ?? $n * fact($n-1) !! 1 }; {YOU_ARE_HERE}
16:46 sorear then mono run/Niecza.exe -C MYSETTING
16:46 sorear then mono run/Niecza.exe -L MYSETTING -e 'say fact(5)'
16:47 pmurias the reason i'm considering it is tha the common lisp backend won't be able to handle everything from the start
16:47 sorear that should work; it's the use case I designed niecza's settings around
16:47 sorear oh.  _that_ use case
16:47 pmurias but i might handle it with hacks on the backend level
16:48 pmurias in mildew i used to specify that a setting is compiled by passing a compiler option
16:48 pmurias but the less we do in the build system the better
16:49 pmurias could we determin settings on the .setting extension?
16:49 sorear niecza used to do the same thing, until I realized that the option was dead code
16:49 sorear actually, you don't need to compile the setting manually
16:49 sorear -L MYSETTING will compile it if it hasn't already been
16:50 pmurias i know
16:50 sorear and it doesn't need to be called .setting; .pm will work too
16:50 pmurias would compiling the setting manually with -L MYSETTING work
16:50 pmurias ?
16:50 justatheory joined #perl6
16:52 sorear What do you mean?
16:52 pmurias if i compiled my custom setting with -L
16:52 pmurias but i think i'll go with hacks on the backend level
16:53 sorear You shouldn't need much in the way of hacks for now
16:53 sorear -Bdotnet doesn't like to compile anything other than SAFE with -LNULL
16:54 sorear But that's entirely -Bdotnet's fault
16:54 sorear -Bclisp doesn't need to have the same flaw
16:54 orafu left #perl6
16:54 pmurias sorear: for how long will you remain a student?
16:54 sorear dunno
16:55 orafu joined #perl6
16:55 TimToady one must study all one's life, anymore...
16:55 phenny TimToady: 15:47Z <sorear> tell TimToady STD.pm6 won't parse s{x}{y}.  Bug?
16:55 rgrau_ joined #perl6
16:55 rgrau_ left #perl6
16:55 TimToady notabug
16:56 TimToady bracketed forms of s{} are stolen for s{} = 'y'
16:56 sorear What's the recommended p5->p6 for that syntax?
16:56 sorear ah
16:56 pmichaud TimToady: o/   wb!   How was the trip?
16:57 TimToady two days late going, one day late coming back, and we're exhausted, but we had a pretty good time
16:57 pmichaud (good time)++
16:57 TimToady Indian drivers are...amazing...
16:58 TimToady met a lot of nice people
16:58 TimToady some of 'em may show up here someday
16:59 * sorear imagines an influx of Indian drivers.
16:59 * masak .oO( Indian DLLS? )
17:00 masak s/S/s/
17:00 TimToady we were very well taken care of too
17:01 TimToady the whole thing was completely organized by the students themselves
17:01 TimToady we wished we could've got there in time to see the flaming robots and such, but the visas were slow in coming
17:02 TimToady my talk was the very last thing scheduled, and we barely made it in time for that
17:03 TimToady yesterday finally got my yellow fever vaccination (from an allergist, since I have problems with eggs)
17:04 TimToady so we can go to Africa at the end of the month
17:04 TimToady (Italy first though)
17:04 dakkar joined #perl6
17:06 dalek niecza: de2b3f3 | sorear++ | / (2 files):
17:06 dalek niecza: Refactor type object checking into ACCEPTS
17:06 dalek niecza: review: https://github.com/sorear/niecza/commit/de2b3f3007
17:11 pmichaud (lots of travel)++
17:12 pmichaud I saw some good twitter comments about your presentations, so I gather they went well.
17:14 Axius left #perl6
17:15 TimToady sorear: is there some reason you copied the doubled curlies from STD?  they were really only there for gimme5...
17:16 sorear TimToady: reducing noise in diff output
17:16 TimToady you may edit STD too, y'know :)
17:20 * TimToady is thinking about the usefulness of %foo<bar> :exists :delete
17:21 benabik_away /nick benabik
17:21 TimToady hugme: hug benabik_away
17:21 * hugme hugs benabik_away
17:21 benabik_away That was odd.
17:21 benabik_away is now known as benabik
17:21 TimToady extra space before /
17:22 benabik Musta been a space hanging around the buffer overnight.  Forgot to kick it to the door in the morning.
17:22 sorear TimToady: if I changed STD I'd have to test it :p
17:24 TimToady ah...well, if you tell me, I can run a snaptest on a faster machine
17:24 TimToady but maybe I'll remove the doubles now and see what happens
17:29 gdey joined #perl6
17:30 TimToady compiles, and compiles the setting...now snaptesting
17:31 sji joined #perl6
17:32 masak reviews welcome: https://github.com/masak/yapsi/b​lob/master/doc/announce/2011.02
17:32 justatheory left #perl6
17:33 nadim_ left #perl6
17:33 shi left #perl6
17:34 diakopter masak: does it work ok on niecza?
17:34 masak my guess is "no", but I haven't tried.
17:34 masak if someone would like to branch and adapt Yapsi to Niecza, I would support that endeavor with gusto.
17:34 nadim_ joined #perl6
17:35 dalek yapsi: fe5d76c | masak++ | doc/ChangeLog:
17:35 dalek yapsi: [doc/Changelog] updated
17:35 dalek yapsi: review: https://github.com/masak/yapsi/commit/fe5d76c4e4
17:35 dalek yapsi: 4cef98c | masak++ | doc/ROADMAP:
17:35 dalek yapsi: [doc/ROADMAP] updated
17:35 dalek yapsi: review: https://github.com/masak/yapsi/commit/4cef98ce0e
17:35 dalek yapsi: 0c57255 | masak++ | lib/Yapsi.pm:
17:35 dalek yapsi: [Yapsi] better DEBUG output for FUTURE::Val
17:35 dalek yapsi: review: https://github.com/masak/yapsi/commit/0c57255774
17:35 dalek yapsi: c7970c0 | masak++ | doc/announce/2011.02:
17:35 dalek yapsi: [doc/announce/2011.02] added
17:35 dalek yapsi: review: https://github.com/masak/yapsi/commit/c7970c0a09
17:36 TimToady sorear: I assume you are no longer relying on the # end tweaks (DO NOT REMOVE) lines?
17:37 * diakopter wonders what other gimme5isms could be extricated
17:38 diakopter or even vivisms?
17:39 TimToady can't get rid of vivisms without fixing viv, since we still use it
17:39 TimToady but that's a good question... does viv still need the tweaks comments?
17:41 sorear TimToady: neither viv nor niecza relies on the # end WHATEVER comments
17:41 sorear role, tweaks, grammar, etc
17:41 arnsholt masak: I liked "It's so cute, it almost looks like Ruby!" =)
17:43 masak arnsholt: good. I was unsure about that one. :P
17:43 pecastro joined #perl6
17:46 risou_ joined #perl6
17:46 risou left #perl6
17:51 dalek yapsi: c79003f | masak++ | doc/announce/2011.02:
17:51 dalek yapsi: [doc/announce/2011.02] FUTURE is like PAST
17:51 dalek yapsi:
17:51 dalek yapsi: Just different.
17:51 dalek yapsi: review: https://github.com/masak/yapsi/commit/c79003fb45
17:58 icwiener joined #perl6
18:00 felliott TimToady / pmichaud: can I pester you with some questions about flipflop?
18:01 felliott specifically, should it be implemented as a class or a macro?
18:02 jql left #perl6
18:04 TimToady it's more like a macro that contains a state variable
18:06 TimToady state $secret ?? (RHS and $secret = False) !! (LHS and $secret = True)
18:06 TimToady or something like that
18:12 felliott thank you!  I'll go learn about macros and try it again.
18:12 benabik TimToady: Discussing state $secrets in open IRC now?
18:13 sorear TimToady: state, eh?
18:14 masak Rakudo had 'state' at one point, and then it was taken away from us... :/
18:14 sorear buubot: eval: sub accum { sub { (state $i)++ } } my $x = accum; my $y = accum; say $x->(); say $y->();
18:14 justatheory joined #perl6
18:14 sorear bleh
18:15 sorear TimToady: state variables are not shared between sub clones, while in Perl 5 .. state is truly global, marked on the optree
18:15 TimToady not supposed to be
18:15 sorear TimToady: do you intend for ff to function like state?
18:16 TimToady ff requires state
18:16 TimToady and I thought p5 fixed the semantics of state
18:16 sorear when you say state, do you mean scope_declarator:state, or "something with memory"?
18:16 TimToady either or both :)
18:17 TimToady state is one way to handle state
18:17 jnthn masak: The precious....
18:18 * jnthn wonders if the way state was done in alpha was really so bad we couldn't just do it that way again.
18:18 jnthn It got all the semantics right.
18:19 sorear How did alpha do it?
18:19 sorear niecza has a rather simple implementation of state that I'm quite pleased with
18:19 jnthn sorear: I forget. It was a while ago. :)
18:20 TimToady hidden outer lexical and a START block is one way
18:20 jnthn It attached it somehow per-closrue though.
18:21 sorear niecza uses the hidden outer lexical
18:21 TimToady though START depends on state...
18:21 sorear no START is needed unless there's an initializer
18:21 sorear START is handled using state
18:21 TimToady so state is the more primitive
18:21 sorear vaguely like unless ((state $)++) {... }
18:22 * sorear re-reads pp_ctl.c
18:22 TimToady could even be state Bool $ if boolean ++ is faster :)
18:22 sorear wow, this is even more evil than I thought. :p
18:22 sorear storing data in TARGs, really??
18:23 masak TARGs?
18:23 TimToady p5ism
18:23 TimToady just lexical slots
18:23 masak oh.
18:23 masak well, what's the alternative?
18:23 masak also, who's going to suffer, except perhaps introspectors?
18:23 TimToady the p5 TARG model assumes the lexpad is persistent
18:24 TimToady if your lexpad isn't persistent then you have to hide it in the OUTER::
18:24 jnthn TimToady: I had START done in terms of state, iirc.
18:24 dalek yapsi: 7ee11ce | masak++ | lib/Yapsi.pm:
18:24 dalek yapsi: [Yapsi] bumped SIC version
18:24 dalek yapsi:
18:24 dalek yapsi: Between releases, the SIC version is always the version number of the
18:24 dalek yapsi: upcoming release.
18:24 dalek yapsi: review: https://github.com/masak/yapsi/commit/7ee11cea95
18:24 TimToady jnthn: yes, I had it backwards above
18:25 sorear TimToady: what type does ff return?
18:25 TimToady was confused with the initializer
18:25 TimToady sorear: hmm, well, in P5 it returns a scalar :)
18:25 TimToady which might be an integer or a string
18:25 sorear in p5 it returns a scalar that looks rather int-y
18:25 TimToady but was sometimes 42e0
18:26 TimToady to indicate the end X|
18:26 felliott Does it still need to e0 bit now that we have explicit excluders?
18:26 TimToady the e0 hack was just a hack
18:26 TimToady I'm not attached to it
18:26 felliott yay!
18:26 TimToady but returning the sequence number is useful
18:27 masak today while running I thought about '{ my $a; say "2"; INIT { $a = 42 } }' -- and how the outer block will have to be somehow instantiated in order for the INIT block to have something to assign to.
18:27 jnthn masak: In nqpclr you get the static lexpad in that case
18:27 masak makes sense.
18:27 jnthn So every future instantiation of the outer has $a being 42
18:27 masak I like that.
18:27 jnthn Yes, me too :)
18:28 jnthn It made a bunch of stuff easy :)
18:28 masak I think that's what I arrived at last time I thought about it.
18:28 jnthn Sadly, Parrot doesn't have it that way at the moment. So nqp-rx/nom has to work around it.
18:28 sorear niecza: { my $a; say "2"; say $a; INIT { $a = 42 }; }
18:28 p6eval niecza v2-7-gde2b3f3: OUTPUT«(timeout)»
18:28 sorear niecza: { my $a; say "2"; say $a; INIT { $a = 42 }; }
18:28 p6eval niecza v2-7-gde2b3f3: OUTPUT«2␤42␤»
18:28 masak \o/
18:28 masak sorear++
18:28 jnthn Good. :)
18:29 jnthn We all agree on how it should be then. :)
18:29 sorear niecza needs to be faster.
18:29 TimToady we could all be wrong.... :)
18:29 jnthn TimToady: :P
18:29 masak at least we'll be wrong together :)
18:29 TimToady we've all been wrong before...
18:30 felliott TimToady: should literal Ints args to ff still be matched against the line number?
18:30 sorear felliott: I do not beleive that Rakudo has the concept of a current line number (yet?)
18:30 felliott oh, well that would make it difficult.  :)
18:30 jnthn I think it does :)
18:31 TimToady it's an evil global concept that is probably not worth repeating
18:31 sorear felliott: the p5 spec is talking about $*IN.current-line, *not* $?LINE
18:31 jnthn Oh
18:31 jnthn *that* sort of line number :)
18:31 felliott yes.
18:31 TimToady it's not even $*IN
18:31 jnthn rakudo: $*IN.get for 1..2; say $*IN.ins
18:31 TimToady it's $*LAST-USED-FILEHANDLE in p5
18:31 p6eval rakudo 924242: OUTPUT«2␤»
18:31 jnthn :)
18:32 jnthn rakudo: say $*OUT.outs; say "omgz"; say $*OUT.outs;
18:32 p6eval rakudo 924242: OUTPUT«Method 'outs' not found for invocant of class 'IO'␤  in main program body at line 22:/tmp/Y9hC9Wd2bq␤»
18:32 jnthn aww!
18:32 sorear ff is primarily useful when using Perl as "like sed, but better"
18:32 TimToady if we do the line number thing, I think $*IN.ins is probably sufficient
18:34 sorear jnthn: what exactly does .ins count?
18:34 jnthn sorear: I dunno...I'm not sure I want to look. ;)
18:35 sorear haha
18:35 TimToady except that $*IN.ins doesn't work against $*ARGFILES, unless we rebind $*IN on each file
18:35 TimToady which would be evil
18:37 jnthn sorear: calls to .get, it seems.
18:37 jnthn sorear: If one calls .read or slurps, it seems to not pay much attention
18:37 TimToady that's what I'd expect
18:37 jnthn lines is doen in terms of .get
18:38 jnthn So that would appear to do the right thing
18:38 TimToady lines is really "chunks" if you redefine the delimiter
18:38 TimToady but it's still per-get
18:38 jnthn .read returns a Buf so I guess we'd not expect it to be trying to make sense of newlines though.
18:43 barika joined #perl6
18:43 TimToady I suppose one could make an argument that +$*IN should return the line number
18:44 TimToady then we could at least reduce it to $*IN == 5 ff $*IN == 10
18:44 dalek niecza: 1900c4a | sorear++ | / (3 files):
18:44 dalek niecza: Implement ~~ topicalization
18:44 dalek niecza: review: https://github.com/sorear/niecza/commit/1900c4a7e2
18:44 dalek nqp-rx/nom: 8f6ca5a | jonathan++ | / (2 files):
18:44 dalek nqp-rx/nom: Add an NQPModuleHOW.
18:44 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/8f6ca5adc6
18:44 dalek nqp-rx/nom: ae3ec52 | jonathan++ | src/NQP/ (2 files):
18:44 dalek nqp-rx/nom: A little cleanup and consistency improvement in the actions to eliminate some bits left over from the 6model transition, and in prep for roles additions.
18:44 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/ae3ec524ae
18:45 TimToady if you're gonna go that far, it seems better to just translate 5 ff 10 to $*IN.ins == 5 ff $*IN.ins == 10
18:45 sorear macroily?
18:46 sorear syntactically?
18:46 TimToady that's the idea, yes
18:46 jnthn Erm.
18:46 TimToady well, it's a p5ism
18:47 jnthn ...why on earth is nqp-rx/nom running its tests in ~44s today, when a week or so ago it ran them in 27s on the same machine...
18:47 sorear cron?
18:47 TimToady and it's obviously useless to pass literal integers to a boolean operator, so might as well put them to good use
18:48 diakopter jnthn: more tests? :)
18:49 jnthn diakopter: Nope. There's no commits that look likely. :/
18:49 jnthn Hm
18:49 jnthn Repeatable slowdown too.
18:49 jnthn If it was one-off I could put it down to background tasks...
18:50 diakopter was a consensus/BDFL-decree reached about  str  ?
18:51 diakopter badly degrading disk?
18:52 sji left #perl6
18:53 thundergnat left #perl6
18:54 cjk101010 joined #perl6
18:54 TimToady the BDFL said he wanted to see a real cross-implementation use-case for it
19:01 cjk101010 left #perl6
19:01 dalek std: c4ade8e | larry++ | STD.pm6:
19:01 dalek std: remove gimme5isms
19:01 dalek std: review: https://github.com/perl6/std/commit/c4ade8e2c0
19:01 cjk101010 joined #perl6
19:04 jnthn OK, must be something about this machine today. :/ Going back to a revision I know was nippy, it's also slower now, and yet my laptop is snappy with the latest master.
19:06 jnthn So, seems I didn't introduce a bizzare regression.
19:06 justatheory left #perl6
19:07 TimToady I'm fine with a function like uri(), because it's, like, universal, y'know
19:07 justatheory joined #perl6
19:08 TimToady and again, it's in an outer lexical scope, so can easily be overridden
19:09 TimToady we can go all Batteries Included without looking like PHP
19:09 TimToady any universally recognizable name is fair game, especially if we can load the actual implementation lazily
19:11 sorear What do you mean by a cross-implementation use case of str?
19:11 sorear It seems to me that the semantics of str should be such that simple implementations can just let str be a synonym for Str
19:12 TimToady I don't want to put native str into the Perl 6 language itself if it's going to mean something different on every implementation, unless there's a use case for discussing the native str generically across all implementations
19:12 MayDaniel left #perl6
19:13 TimToady I don't see such a use case yet, but I ain't omniscient
19:13 sorear What is the use case for int?
19:14 diakopter :P
19:14 TimToady storage as a C type
19:14 TimToady what is "str" in C?
19:14 sorear Oh, you view native types from an interop POV?
19:15 sorear That is very interesting
19:15 sorear Previously I have only considered them from an optimization POV
19:15 TimToady I would like to be able to do all my C programming in Perl 6.  :)
19:15 colomon +1
19:16 TimToady sorry if that makes your head asplode
19:17 diakopter do you want to all your ARM programming too? :P
19:17 TimToady or at least all my Java and C# programming
19:17 TimToady this sentence no verb
19:17 diakopter verb
19:18 TimToady I don't want to verb
19:18 TimToady it weirds me
19:20 pmurias left #perl6
19:21 Util rakudo: my $scale = 1/0; $scale.perl.say; my @M = [1, 2],[3,0]; my @N = @M[0] X* $scale; say "X* OK"; my $d = @N.perl; say ".perl OK $d";
19:21 p6eval rakudo 924242: OUTPUT«1/0␤X* OK␤.perl OK [1/0, 1/0]␤»
19:21 Util rakudo: my $scale = 1/0; $scale.perl.say; my @M = [1, 2],[3,0]; my @N = @M[1] X* $scale; say "X* OK"; my $d = @N.perl; say ".perl OK $d";
19:21 p6eval rakudo 924242: OUTPUT«1/0␤Divide by zero␤  in 'infix:<div>' at line 3759:CORE.setting␤  in 'Rat::new' at line 4144:CORE.setting␤  in 'infix:</>' at line 4233:CORE.setting␤  in 'infix:<*>' at line 4217:CORE.setting␤  in <anon> at line 155:CORE.setting␤  in <anon> at line 1␤  in main program body at
19:21 p6eval ..line …
19:21 Util rakudo: my $scale = 1/0; $scale.perl.say; my @M = [1, 2],[3,0]; @M[1] = @M[1] X* $scale; say "X* OK"; my $d = @M.perl; say ".perl OK $d";
19:21 p6eval rakudo 924242: OUTPUT«1/0␤X* OK␤Divide by zero␤  in 'infix:<div>' at line 3759:CORE.setting␤  in 'Rat::new' at line 4144:CORE.setting␤  in 'infix:</>' at line 4233:CORE.setting␤  in 'infix:<*>' at line 4217:CORE.setting␤  in <anon> at line 155:CORE.setting␤  in <anon> at line 1␤  in 'Any::join' at
19:21 p6eval ..line …
19:21 Util 1) In all three versions, why is div-by-zero allowed in the statement: "$scale = 1/0" ?
19:21 Util 2) In the "my @N = @M[0]" version, why is there no error during X* ?
19:21 Util 3) In the "my @N = @M[1]" version, why is there an error during X*, when the only change from the previous version is that we divide 0 by 1/0 ?
19:22 Util Even if all three of those behaviors are intended, this one I am *most* puzzled by:
19:22 Util 4) In the "@M[1] =" version, why does the "Divide by zero" error not occur until the .perl call?
19:22 diakopter tl;cr
19:22 colomon Util: 1/0 isn't divide by zero, it's making an ugly, ugly Rat.
19:23 Util colomon: If that is how it *should* work, then it explains #1 and #2.
19:24 TimToady rakudo: say 0 * (0/1)
19:24 p6eval rakudo 924242: OUTPUT«0␤»
19:25 TimToady rakudo: say 0 / (1/0)
19:25 p6eval rakudo 924242: OUTPUT«0␤»
19:25 diakopter TimToady: what about  str  as alias for buf32 (or buf16)?
19:25 TimToady eek
19:25 benabik rakudo: say 1/0
19:25 p6eval rakudo 924242: OUTPUT«Inf␤»
19:26 benabik rakudo: say 1/Inf
19:26 p6eval rakudo 924242: OUTPUT«0␤»
19:26 benabik Mathmatically, those are very not true.
19:26 TimToady how 'bout we use ucs4 to mean a ucs-4 buffer
19:26 Util (I do not necessarily agree that 1/0 should be a legal Rat, but that is not a point I want to press right now.)
19:27 diakopter ok, and then alias str to ucs4 :P
19:27 sorear benabik: we use the affinely extended reals around here
19:27 sorear std: X: loop { }; X: loop { }
19:27 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Illegal redeclaration of 'X' at /tmp/oJP51E5k2p line 1:␤------> [32mX: loop { }; X: [33m⏏[31mloop { }[0m␤Illegal redeclaration of symbol 'X' (see line 1) at /tmp/oJP51E5k2p line 1:␤------> [32mX: loop { }; X: [33m⏏[31mloop { }[0m␤Check
19:27 p6eval ..failed␤…
19:27 Util #1,2,3 are about policy and Spec; #4 is a bug, methinks.
19:27 TimToady you can alias str that way in your implementation, but I still don't see a cross-impl use case
19:27 sorear TimToady: does Perl 6 still think a bare block is a repeat {} while False ?
19:28 masak benabik: I agree, but IEEE-754 doesn't, IIRC.
19:28 TimToady sorear: nope
19:29 benabik sorear: Hadn't encountered that before.  Interesting and IIRC blows up some parts of calculus.  But fair enough.
19:30 TimToady benabik: we would generally prefer not to blow up the rocket just because the mathematicians are unhappy.  :)
19:32 benabik TimToady: There are Perl 6 rockets now?  Awesome.  ;-)
19:33 diakopter TimToady: ok, you persuaded me.  :)
19:33 kst left #perl6
19:33 tty234 left #perl6
19:33 benabik masak: I thought the FP spec considered x/0 an error...  But +Inf basically is an error flag, I guess.  Thanks for the pointer.  These are things I should consider when I'm trying to get an MS focusing on compilers.
19:33 kst joined #perl6
19:33 dakkar left #perl6
19:34 * benabik found good information on IEEE-754 in the Java VM spec of all places.
19:34 masak benabik: I haven't really read IEEE-754, but I've use Java which implements it.
19:34 TimToady in Perl 6 we basically consider Inf and NaN to be very weak unthrown exceptions
19:34 masak benabik: in Java, x/0 is an error for ints, and results in Infinity for floats and doubles.
19:35 TimToady but our Int can represent Inf (int can't, of course, so throws the error)
19:35 benabik masak: IEEE doesn't like making reading their specs easy, AFAICT.  Java's VM doc does explain it a bit though.
19:36 TimToady perl6: my Int $x = Inf; say $x;
19:36 p6eval niecza v2-8-g1900c4a: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤In my declaration, typename 'Int' must be predeclared (or marked as declarative with :: prefix) at /tmp/2USsFJu2Sm line 1:␤------> [32mmy Int[33m⏏[31m $x = Inf; say $x;[0m␤␤Malformed my at /tmp/2USsFJu2Sm line 1:␤------> [32mmy
19:36 p6eval ..[33m⏏[31mInt $x…
19:36 p6eval ..rakudo 924242: OUTPUT«Type check failed for assignment␤  in '&infix:<=>' at line 1␤  in main program body at line 22:/tmp/e8CFg0LcYQ␤»
19:36 p6eval ..pugs: OUTPUT«Inf␤»
19:36 TimToady hah
19:37 benabik TimToady: our Int should represent Inf, but sometimes doesn't?
19:37 TimToady spec says Int type contains ±Inf, but rakudo doesn't implement it yet
19:38 TimToady rakudo: say Inf.WHAT
19:38 p6eval rakudo 924242: OUTPUT«Num()␤»
19:38 TimToady it thinks Inf is a floater
19:38 benabik Hm.  Does Int also hold NaN?
19:38 TimToady dunno if the spec says
19:39 masak rakudo: my Int $x = NaN; say $x
19:39 TimToady yes, it says
19:39 p6eval rakudo 924242: OUTPUT«Type check failed for assignment␤  in '&infix:<=>' at line 1␤  in main program body at line 22:/tmp/1PcxSs7rkJ␤»
19:39 masak TimToady: what does it say? :)
19:39 TimToady S02:675
19:39 * masak submits rakudobug
19:39 diakopter niecza: my ::Int $x = Inf; say $x;
19:39 p6eval niecza v2-8-g1900c4a: OUTPUT«[31m===[0mSORRY![31m===[0m␤␤Action method multi_declarator:null not yet implemented at /tmp/7bCmtP_kRh line 1:␤------> [32mmy ::Int $x [33m⏏[31m= Inf; say $x;[0m␤␤Unhandled exception: Check failed␤␤  at /home/p6eval/niecza/boot/lib/SAFE.setting line 377 (SAFE
19:39 p6eval ..die @ 2)␤  at …
19:42 benabik P6 Int does FP error propagation.  I knew if I hung out here I'd learn neat stuff.
19:42 masak :)
19:43 masak Inf and NaN are both Real, but they seem to be late-bound as to whether they're Int or Num.
19:43 masak I wonder if there's really one Int.Inf and one Num.Inf, who do their best to make the world believe they're really the same value.
19:44 ingy o/
19:44 * colomon liked TimToady's earlier suggestion that there's just one Real.Inf.
19:44 TimToady o/!
19:44 masak ingy! \o/
19:44 justatheory left #perl6
19:44 masak colomon: well, but then it'd have to do some trickery to get into Int and Num containers.
19:45 gfldex left #perl6
19:45 TimToady Real Magic
19:47 tty234 joined #perl6
19:48 sorear benabik: I'm looking at http://www.validlab.com/754R/​drafts/archive/2006-10-04.pdf now
19:48 gfldex joined #perl6
19:51 kst left #perl6
19:52 TimToady std: s[foo][bar]
19:52 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Missing assignment operator at /tmp/p5L3udBk3A line 1:␤------> [32ms[foo][[33m⏏[31mbar][0m␤    expecting any of:␤        bracketed infix␤        infix or meta-infix␤Parse failed␤FAILED 00:01 121m␤»
19:52 TimToady std: s{foo}{bar}
19:52 p6eval std 625303c: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/ndikcW91hW line 1:␤------> [32ms{foo}[33m⏏[31m{bar}[0m␤    expecting any of:␤  infix or meta-infix␤    quantifier␤Parse failed␤FAILED
19:52 p6eval ..00:01 121m␤»
19:52 TimToady ah
19:52 kst joined #perl6
19:53 cafesofie left #perl6
20:09 arlinius left #perl6
20:18 Util Thanks to all!
20:30 benabik is now known as benabik_away
20:32 arlinius joined #perl6
20:33 kst left #perl6
20:34 extra11 joined #perl6
20:34 kst joined #perl6
20:39 envi left #perl6
20:44 vmspb joined #perl6
20:44 MayDaniel joined #perl6
20:46 pecastro left #perl6
21:03 Mowah joined #perl6
21:10 solarion joined #perl6
21:11 coldhead joined #perl6
21:23 wooden joined #perl6
21:25 molaf_ left #perl6
21:26 justatheory joined #perl6
21:33 dorlamm joined #perl6
21:37 pmurias joined #perl6
21:52 cafesofie joined #perl6
21:54 enjay joined #perl6
21:55 enjay left #perl6
21:56 dalek std: 29e9ef5 | larry++ | STD.pm6:
21:56 dalek std: improve message on s{foo}{bar}
21:56 dalek std: review: https://github.com/perl6/std/commit/29e9ef5399
22:01 dalek nqp-rx/nom: 50264f9 | jonathan++ | src/ (4 files):
22:01 dalek nqp-rx/nom: Implement does so roles can be composed. Based on the meta-object, do code generation a little differently for bodies of parametric types. Have NQPClassHOW instantiate the role with the correct type object and add it and the generic version to its roles done list. .^does works as a result. Also update type check cache publisher to know about roles. Missing: all the rest of composition.
22:01 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/50264f915b
22:02 extra11 left #perl6
22:02 gdey left #perl6
22:02 nadim_ left #perl6
22:03 nadim_ joined #perl6
22:27 MayDaniel left #perl6
22:30 cjk101010 left #perl6
22:30 dalek nqp-rx/nom: ea83082 | jonathan++ | src/metamodel/how/NQP (2 files):
22:30 dalek nqp-rx/nom: .^add_method, .^add_multi_method, .^attributes, .^add_parent and (todo) .^add_role for parametric and concrete role meta-objects. Should mean we're just a composer away from working roles in NQP.
22:30 dalek nqp-rx/nom: review: https://github.com/perl6/nqp-rx/commit/ea83082482
22:30 mathw hmm connection timeouts on github
22:31 jnthn Hmm, hadn't noticed any issues with it today.
22:31 mathw I can get to it on the web no trouble
22:31 mathw but I can't clone rakudo
22:31 mathw either by git:// or https://
22:32 jnthn oh :(
22:32 mathw yet the web interface is using https on the same server
22:32 mathw so it should work...
22:33 jnthn I've been pushing OK, though not to that repo. But still, it's odd that push would work but not clone.
22:33 mathw yes
22:33 mathw ah
22:33 mathw hmm
22:33 mathw I seem to have problems tracerouting to it
22:34 mathw hopefully whatever glitch that is will resolve
22:39 jnthn pmichaud: I'm done with commits for today.
22:39 jnthn pmichaud: So if you want to move the repo this evening, feel free to go ahead.
22:41 mathw ahah
22:41 mathw I can clone rakudo over SSH when I log in to github
22:41 mathw that took about 2 seconds
22:41 mathw I love git
22:42 jnthn The only problem with git is that every other version control system I have to work with feels so...awful.
22:42 mathw we use SVN at work
22:42 mathw with a very unpredictable server, and requiring lots of cross-branch merging
22:42 mathw the kind of thing git's really good at
22:43 jnthn That's the best of the non-git ones I get to work with... :)
22:43 * jnthn grumbles about Microsoft's heap of crap that it calls version control.
22:43 mathw oh we used to use that
22:43 mathw fortunately that was before my time
22:43 dorlamm left #perl6
22:43 jnthn Oh my.
22:43 jnthn Yeah, one place I consult at uses it.
22:43 mathw but occasionally we have to delve into it to retrieve the source code for a few very old products still in use
22:43 jnthn I think it's the number one cause of office cursing.
22:44 mathw fortunately my machine doesn't have it installed, so I have an iron-clad excuse to avoid that
22:44 jnthn :D
22:45 mathw my boss has it, and he does those tasks
22:45 am0c left #perl6
22:46 mathw I'm currently writing a document explaining a new source control/branch management strategy we've worked out
22:46 mathw unfortunately it's one that, while doable in SVN, would be far better in git
22:46 mathw I doubt we can pull it off, but I'm going to try and shoot for bonus points and get a git migration
22:46 jnthn But @rest aren't up for a git migration?
22:46 jnthn Well, can always try. :)
22:46 mathw oh I think the rest of the branching working group would go for it
22:47 dorlamm joined #perl6
22:47 mathw we could probably convince the developers in general
22:47 mathw it's convincing the management and the IT services people to run a git server alongside their svn server for us
22:47 Tene My office is working towards a git migration.
22:47 mathw and to be honest... well... they're not very good at running an svn server
22:47 Tene We've already got a lot of engineers using git-svn.
22:48 mathw git-svn might be a workable intermediate solution
22:49 mathw we'll see. Even if we stick to svn, this new policy will be better
22:59 jaffa4 left #perl6
23:00 cjk101010 joined #perl6
23:02 Mowah left #perl6
23:08 kaare_ left #perl6
23:16 dorlamm left #perl6
23:25 nethogz joined #perl6
23:31 nethogz left #perl6
23:33 drbean joined #perl6
23:34 cjk101010 left #perl6
23:36 masak lol, I blogged! http://strangelyconsistent​.org/blog/that-is-so-octal
23:37 * masak expects this blog post to have a fairly narrow target group...
23:38 * jnthn suspects that @other won't eight it though...
23:39 masak :P
23:40 masak exercise for those who eight it: would the existence of a really good Set type in Rakudo have saved me characters in the one-liner? how?
23:42 masak I maintain that the real problem for types like Set and Bag in Perl 6 is that their semantic niche is already occupied (successfully) by arrays and hashes, and even if they are a closer match to what the user might want, they weren't there first.
23:43 pmurias left #perl6
23:46 Sarten-X left #perl6
23:48 Tene masak: why did you use the subscript @g-$_ instead of *-$_ ?
23:50 N3T joined #perl6
23:50 N3T left #perl6
23:51 Tene masak: it would be nicer in your first() line.
23:51 Tene my $mex = first $set ∌ *, 0..*;
23:52 Sarten-X joined #perl6
23:52 Tene "my $set = ⦃ @g[*-1,*-2] ⦄; my $mex = first $set ∌ *, 0..*;" vs "my %set; ++%set{@g[@g - $_]} for 1, 2; my $mex = first { !%set.exists($_) }, 0..*;"
23:53 Tene I'm not sure how much of that is Set and how much of that is just golfing, though
23:53 dju joined #perl6
23:53 dju left #perl6
23:53 dju joined #perl6
23:54 Tene Oh, there's another short program later on.
23:55 masak also, that's non-standard Perl 6, so you'd have to 'use Tene::Set' or something...
23:56 Tene masak: That's what I remember seeing in Set classes posted here in the past, and I'm pretty sure that was implemented in the Pugs repo somewhere
23:57 masak core Perl 6 doesn't have non-latin-1 characters.
23:57 masak at least that's been a tendency for a few years now.
23:57 Tene masak: also, you said "The existance of a really good Set type", which I interpreted as meaning "available in core".
23:57 Tene You're right that that wasn't necessarily implied, though.
23:58 masak right, I'm not criticizing. just reacting. :)
23:58 Tene Yeah.
23:58 masak as to why I didn't use *, I definitely could have.
23:58 masak but I've been bitten by * before, and I wanted to be on the safe side.
23:58 Tene Sure, @g is fine, it just took me a couple of tries to read it.
23:59 * masak tries it with *
23:59 masak works nicely, I'll replace it in the post. Tene++
23:59 masak I was wary that two subtractions might cause trouble... :)

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo