»ö« 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:02 redicaps left 00:03 risou left 00:10 XaRDaX left 00:11 c1sung joined 00:18 M_o_C joined
masak 'night, #perl6 00:22
00:22 masak left 00:33 M_o_C left 00:36 M_o_C joined 00:37 M_o_C left 00:45 rgrau_ joined 00:46 envi left 00:47 lichtkind joined
sorear it's doing something broken with say(1), warning about "bare say" 00:47
lichtkind rakudo: my @a = 1..9; elems @a
p6eval rakudo : ( no output )
lichtkind rakudo: my @a = 1..9; say elems @a
p6eval rakudo : OUTPUT«9␤» 00:48
lichtkind rakudo: my @a = 1..9; say @a
p6eval rakudo : OUTPUT«123456789␤»
lichtkind rakudo: my @a = 1..9; say + @a
p6eval rakudo : OUTPUT«9␤»
00:48 sftp left 00:50 envi joined
lichtkind is there still minmax function? 00:51
rakudo: my @a = 1..9; say @a.min 00:52
p6eval rakudo : OUTPUT«1␤»
lichtkind rakudo: my @a = 1..9; say @a.ax
p6eval rakudo : OUTPUT«Method 'ax' not found for invocant of class 'Array'␤ in main program body at line 22:/tmp/7hdqgDCn3d␤»
lichtkind rakudo: my @a = 1..9; say @a.max
p6eval rakudo : OUTPUT«9␤»
lichtkind rakudo: my @a = 1..9; say @a.minmax
p6eval rakudo : OUTPUT«123456789␤»
lichtkind rakudo: my @a = 1..9; my ($a,$b) = @a.minmax; say $a 00:53
p6eval rakudo : OUTPUT«1␤»
lichtkind rakudo: my @a = 1..9; say scalar @a 00:57
p6eval rakudo : OUTPUT«Could not find sub &scalar␤ in main program body at line 22:/tmp/duOAQFBAjL␤»
lichtkind rakudo: my @a = 1..9; say $ @a
p6eval rakudo : OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at line 22, near "$ @a"␤»
lichtkind rakudo: my @a = 1..9; say $@a 00:58
p6eval rakudo : OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at line 22, near "$@a"␤»
00:58 _twitch joined 01:00 QinGW joined 01:02 tylercurtis joined, icwiener_ joined 01:03 icwiener left 01:06 Chillance left
lichtkind rakudo: my @a = [2..4],1..9;my @b = @a[0];@b[1]=9; say @a[0;1]; 01:08
p6eval rakudo : OUTPUT«1␤»
lichtkind rakudo: my @a = [2..4],1..9;say @a[0;1];
p6eval rakudo : OUTPUT«1␤»
lichtkind rakudo: my @a = [0..4],1..9;say @a[0;1];
p6eval rakudo : OUTPUT«1␤»
lichtkind rakudo: my @a = [0..4];say @a[0;1]; 01:09
p6eval rakudo : OUTPUT«Any()␤»
01:09 tylercurtis left
lichtkind rakudo: my @a = [0..4],2;say @a[0;1]; 01:09
p6eval rakudo : OUTPUT«2␤»
01:09 jrockway left
lichtkind rakudo: my @a = [0..4],[5..9];say @a[0;1]; 01:09
p6eval rakudo : OUTPUT«5 6 7 8 9␤»
lichtkind rakudo: my @a = [0..4],[5..9];say @a[1]; 01:10
p6eval rakudo : OUTPUT«5 6 7 8 9␤»
lichtkind rakudo: my @a = [0..4],[5..9];say @a[0][1];
p6eval rakudo : OUTPUT«1␤»
01:11 jrockway joined
lichtkind rakudo: my @a = [0..4],[5..9];my @b = @a[0];@b[1] = 11; say @a[0][1]; 01:11
p6eval rakudo : OUTPUT«1␤»
lichtkind rakudo: my @a = [0..4],[5..9];my @b = @a;@b[1] = 11; say @a[1]; 01:12
p6eval rakudo : OUTPUT«5 6 7 8 9␤»
dalek odel: b930a23 | diakopter++ | / (2 files):
[dotnet] port the first 200 lines of Cursor.pir to P6Objects.pm (Regex::Cursor in nqp)
01:23
diakopter a decent-sized commit 01:24
01:26 rgrau_ left 01:46 _twitch left 01:50 tylercurtis joined 02:00 impious left 02:06 whiteknight left 02:13 tylercurtis left 02:14 tylercurtis joined
masonkramer just learned how MAIN() turns its signature into a command line interface. That's just great 02:23
02:27 tylercurtis left 02:30 molaf_ joined, molaf left, tylercurtis joined 02:34 ch3ck3r joined 02:38 ch3ck left
masonkramer is it possible to alias a role's method to a different symbol? 02:50
in the case of a conflicting role 02:51
nevermind, I guess declaring in-class and disambiguating that way allows you to compose the two conflicting roles, and after that it's easy to alias 02:53
03:00 satyavvd joined 03:05 ggoebel left
lichtkind rakudo: my @a = 1..9; say ~ @a 03:14
p6eval rakudo : OUTPUT«1 2 3 4 5 6 7 8 9␤»
colomon rosettacode translation of p5 mandelbrot script: gist.github.com/706079
I don't know how to post to rosettacode....
lichtkind rakudo: my @a = 1..9; say ? @a 03:15
p6eval rakudo : OUTPUT«Bool::True␤»
lichtkind rakudo: my @a = 0; say ? @a 03:16
p6eval rakudo : OUTPUT«Bool::True␤»
colomon rakudo: my @a; say ?@a
p6eval rakudo : OUTPUT«Bool::False␤»
03:18 tylercurtis left 03:20 tylercurtis joined, tylercurtis left
lue lichtkind: how's about this motto, based on what you said a while ago: "Perl 6: the only wall is Larry." 03:21
lichtkind lue: :) 03:22
lue: the only wall is larry himself :)
lue: but you motto is far more positive 03:23
lue: want to have a look at www.perlfoundation.org/perl6/index....ble_tablet ? 03:25
the wiki has to be replaces the syntax is very whacke in some ways 03:28
lue The wiki software is weird to work with, you mean? 03:34
lichtkind yes i actually replace certain underscores (made by the autoformater before)to spaces to get certain text italic like already marked 03:40
thats absurd
03:40 redicaps joined
masonkramer rakudo: rule bugfinder { \w+ :: \w+ }; 03:57
p6eval rakudo : OUTPUT«===SORRY!===␤:: not yet implemented at line 22, near " \\w+ };"␤»
masonkramer rakudo: rule { :: } 03:58
lue your bugfinder worked, masonkramer. 03:59
p6eval rakudo : OUTPUT«===SORRY!===␤:: not yet implemented at line 22, near " }"␤»
masonkramer I love it when things work 04:00
std: rule { :: }
p6eval std a194beb: OUTPUT«ok 00:01 119m␤»
masonkramer niecza: rule { :: }
p6eval niecza fe78c53: ( no output )
masonkramer niecza: (my rule a { :: }).WHAT 04:01
p6eval niecza fe78c53: ( no output )
04:01 cdarroch left
lue rakudo: say log(3); say 3.log; 04:07
p6eval rakudo : OUTPUT«1.09861228866811␤1.09861228866811␤»
lue rakudo: say 3.ln; say ln(3);
p6eval rakudo : OUTPUT«1.09861228866811␤Could not find sub &ln␤ in main program body at line 22:/tmp/Gpuv7MYL_U␤»
04:10 Limbic_Region left
masonkramer std: rule colons { :: }; 04:18
p6eval std a194beb: OUTPUT«ok 00:01 119m␤»
masonkramer is there a licensing issue which prevents the book from being shipped as a pdf 04:23
TheHarlot right... and going to go through the various S\d+ now. 04:25
04:26 Bzek joined, Bzek_ left
PerlJam masonkramer: what book? "Using Perl 6"? 04:31
04:38 meppel joined 04:39 meppl left
TheHarlot oh right... I think we are at nearly a level that Howtos can start appearing on Perl 6 04:40
04:44 meppel left
lue Is there a way to round to a certain number of decimal places in Perl 6? (i.e. round 3.523498934 to 3.5235) 05:09
05:11 cookys joined
PerlJam lue: $number.fmt('%.4f') 05:17
lue
.oO(who doesn't love printf?)
05:18
lue doesn't.
rakudo: say 3.592.fmt('%.1f') 05:20
p6eval rakudo : OUTPUT«3.6␤»
lue rakudo: say (3.592, 2.332).fmt('%.1f')
p6eval rakudo : OUTPUT«3.6 2.3␤»
lue rakudo: say ( [+] (((2.ln**$_)/($_!)) for 0..$_) for 0..2).join("\n").fmt('%.6f') 05:21
p6eval rakudo : OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
lue Hm. I'll have to round manually I guess. 05:22
PerlJam rakudo: 3.141592653589.round.say 05:23
p6eval rakudo : OUTPUT«3␤»
PerlJam rakudo: 3.141592653589.round(0.0001).say 05:25
p6eval rakudo : OUTPUT«3.1416␤»
05:25 _kaare joined
lue rakudo: say ( [+] (((2.ln**$_)/($_!)) for 0..$_) for 0..2).round(0.000001).join("\n") 05:32
p6eval rakudo : OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
05:48 sftp joined 05:52 starcoder left 05:56 starcoder joined
sorear good * #perl6 06:01
06:01 Patterner left
sorear Why does Perl 6 have so many numeric types? 06:04
sorear plans to only have Num until someone comes up with a very good reason for complicating it 06:06
06:06 sftp_ joined, broquaint left, sftp left, broquaint joined
sorear masonkramer: you need a 'say' in p6eval commands 06:07
niecza: say (rule { :: }).WHAT
p6eval niecza fe78c53: OUTPUT«␤»
sorear that is odd. :/ 06:08
niecza: say ?("ax" ~~ / [ a y | a x ] /)
p6eval niecza fe78c53: OUTPUT«Bool::True␤» 06:09
sorear niecza: say ?("ax" ~~ / [ a :: y | a :: x ] /)
p6eval niecza fe78c53: OUTPUT«Bool::False␤»
sorear :: is working, even if I can't get regexes to print
06:12 sftp_ left
sorear Scary error messages: "Useless redeclaration of variable $Any()" 06:14
06:15 Psyche^ joined, Psyche^ is now known as Patterner 06:16 starcoder left, starcoder joined
diakopter sorear: heh 06:27
sorear: loading the setting twice? 06:29
sorear diakopter: $Any(), not Any
06:30 kjeldahl joined
sorear that's '$' ~ the stringifcation of an undefined value 06:30
06:57 kjeldahl left
dalek ecza: 76aaa2c | sorear++ | v6/ (2 files):
[v6] fix $x += 1
07:05
ecza: 9e9fcd1 | sorear++ | v6/tryfile:
[v6] fix $foo.=method
ecza: c0d8a49 | sorear++ | v6/tryfile:
[v6] fix listops and indirect object syntax
07:07 plobsing left 07:09 PZt joined 07:11 araujo left 07:31 lichtkind left 07:42 xinming left 07:43 xinming joined 07:50 satyavvd left 07:51 _kaare left 07:58 colomon left 07:59 colomon joined 08:00 wtw joined 08:14 baest joined, justatheory left 08:15 antani joined 08:16 antani left
diakopter moritz_: 'morn 08:21
moritz_ oh hai diakopter 08:22
what's up? 08:24
diakopter nohmuchk 08:29
porting pmichaud's .pir to nqp
Cursor.pir
into P6Objects.pm in 6model
moritz_ sounds like useful work, but maybe not so much fun
diakopter actually I'm enjoying it quite nicely 08:30
moritz_ 'o/ 08:31
tadzik o/
diakopter oo I think I just got indirect method invocation working 08:32
moritz_ wonders if $obj.:=method makes sense... probably not very much 08:33
sorear $obj.:=method, how would that parse?
hello diakopter, moritz_
moritz_ sorear: just like $obj.=method, but with binding instead of assignment
sorear that doesn't parse, currently. I' 08:35
08:35 nine joined
sorear m not sure it should - metamacros are a slippery slope 08:35
dalek ecza: 429442c | sorear++ | v6/tryfile:
[v6] fix "$foo.method"
08:40 _kaare joined
moritz_ "Clarification: I didn't mean to imply that a Rat would be sufficient 08:43
for Duration, but rather that it would probably suffice for
dimensioned values to have a RatBag of units, each with a RatBag of
dimensions, rather than NumBags. SBags might be too restrictive.
"
moritz_ regrets having brought the issue to p6l in the first place
sorear moritz_: I'd like to kill Duration and Instant 08:46
08:46 zby_home joined
sorear I'd also like to kill Complex, and Int, and Rat, and FatRat doubly so, and all of this "dimensional analysis" and "numeric ladder" nonsense 08:46
Num is the one true CORE:: numeric type
moritz_ thinks that Rat is *very* useful 08:47
sorear if somebody wants a Rat, fine, we have excellent overloading support
moritz_ it lets people write things like loop (my $x = 0; $x <= 10; $x += 0.1) { ... } without being surprised by FP accuracy limitations 08:48
that avoids a lot of FAQs, which is a good thing IMHO.
08:49 kjeldahl joined
sorear my intuition is that suppressing the obvious FAQ makes the problem surface later in more confusing contexts 08:50
waterbed theory
I seem to remember there being some early (for me, so Mar-ish) FP acccuracy discussion here, and I tried to make a trivial demonstration 08:51
and failed, because of Rat
that's the only time Rat has ever made a success/failure difference in my Perl6ing
maybe I'm just bitter
moritz_ sorear: it made a very real difference in one of my applications 08:52
sorear: I was creating axis labels in SVG::Plot
and with nums I'd get floating point inaccuracies, and had a label like 1.02E-16 instead of 0 08:53
and then Rakudo switcht to Rat literals by default, and my problem went away
I was very glad
I think that'll happen to more people than just me
sorear ok. 08:54
sorear wants to fight spec bloat; only features that are actually useful should go in! 09:01
moritz_ +1
sorear How much would it hurt if out-parameters had to be annotated at call-sites? e.g. $obj.method(out $foo) 09:03
s/out/rw/
dalek ecza: 571d549 | sorear++ | v6/tryfile:
[v6] fix #OK processing
09:10 xinming_ joined 09:13 xinming left 09:18 f00li5h joined 09:20 dakkar joined 09:23 _kaare left 09:26 daxim joined 09:29 araujo joined, araujo left, araujo joined
sorear aaaa say(1) is heisenbugging on me 09:36
09:37 pnu left 09:40 _kaare joined 09:41 pnu joined 09:45 zby_home left
moritz_ sorear: fwiw perlgeek.de/images/blog/labels-combined.png left: with rats right: with Num 09:47
sorear thanks 09:49
moritz_ should blog more often with images generated by p6 :-)
tadzik hello again 09:56
moritz_: humans like images :)
09:56 agentzh joined 10:07 QinGW left 10:10 am0c^ joined 10:11 tzhs joined, am0c joined 10:16 nothingmuch joined
sorear 71m 30s 76.36% 10:21
10:24 tadzik1 joined
tadzik1 is there a possibility I've been banned on feather? 10:25
I typo'ed my password thrice, and now I can't connect
daxim gannonbanned!
sorear Symptoms?
a
tadzik1 just before I decided to copy my ssh key
moritz_ tadzik: I can log in just fine 10:26
sorear yep, you're banned
DROP all -- samorzad.nat.student.pw.edu.pl anywhere
tadzik1 can you fix me?
sorear sudo iptables -L output
looks like just fail2ban
tadzik1 seems so
or I need to prove I'm the real tadzik? :) 10:27
sorear I'm reading documentation now 10:28
it looks like people are only banned for 10 minutes 10:29
so try again now
wait, no
moritz_ a German howto says I should run iptables -D fail2ban-ssh -s $IP -j DROP 10:32
sorear iptables howto? or fail2ban?
if the latter, do it
moritz_ fail2ban
iptables: Bad rule (does a matching rule exist in that chain?). 10:33
sorear I know how to manually administer iptables but I have no clue if I'd break fail2ban by doing so
moritz_ but the rule is gone
sorear moritz_: 10 minute timeout
moritz_ sorear: probably :-)
tadzik: please try again :-)
sorear from 'sudo fail2ban-client get ssh bantime' --> 600
tadzik1 yay works
thank you folks
sorear and set an authorized_keys
tadzik1 doing so now 10:34
10:34 tadzik1 left
tadzik back here :) 10:34
10:48 daxim left 10:52 ggoebel joined 10:55 redicaps left 11:00 _xiaomo_ joined 11:05 nothingmuch left
tadzik can one build the new Rakudo with --gen-parrot w/o an internet connection? It always runs git fetch, even if you have a good revision alredy there, doesn't it? 11:32
11:32 meppl joined
sorear I suspect not 11:33
but --gen-parrot doesn't do much
just install Parrot manually, it's a totally standard configure-make-make install process
tadzik yeah, but it tries to download it every time it seems 11:34
moritz_ tadzik: if you have built the parrot of a good revision, it shouldn't try to download
tadzik Maybe I'd look into it when I get home
moritz_ whoa 11:35
RELEASE_2_10_0-388-gf0aa28e
nearly 400 commits since the release on Tuesday?
hm, maybe the branch merges counted all the commits in the branches too
sorear bah. 11:38
found the root of the say(1) bug
niecza: say ("(a)" ~~ / '(' ~ ')' <alpha> /).dump
p6eval niecza 571d549: OUTPUT«#<match from(0) to(3) text((a)) pos([]) named({})>␤»
sorear the <alpha> named capture is being lost
and I suddenly remember I never had a good design for captures in ~ in the first place :/ 11:39
sorear -> sleep on it
11:50 bbkr left 11:51 masonkramer left, masonkramer joined 12:04 icwiener_ left 12:19 kanishka joined 12:20 hax left 12:23 _xiaomo_ left, agentzh left 12:26 amkrankruleuen joined 12:29 orafu left, orafu joined 12:30 agentzh joined 12:33 bluescreen joined 12:34 bluescreen is now known as Guest52024 12:36 timbunce joined 12:58 tzhs left 13:02 Alias_ joined, tzhs joined 13:05 Alias__ left, masonkramer left 13:07 gavv\w left
colomon rakudo: say (1...*-1).WHAT 13:10
p6eval rakudo : OUTPUT«List()␤»
colomon thank the maker
moritz_ colomon: I think you made it yourself :-) 13:11
colomon we broke the spec, but Rakudo still works, luckily
currying must be broken for list ops, or something 13:12
moritz_ rakudo: say 1 ... *-1
p6eval rakudo : OUTPUT«12␤»
moritz_ that's funny
but it's correct
rakudo: say (1 ... *)[^10] 13:13
p6eval rakudo : OUTPUT«12345678910␤»
colomon moritz_: when TimToady changed the spec to make 1..*-1 explicitly return a WhateverCode, he didn't carve out an exception for 1...*-1
moritz_ uhm. The series op never curried. 13:14
colomon but 1...*-1 has to work differently, else 1...*>10 won't work
the Range op never curried, either
moritz_ so, what's the problem? that the spec doesn't say that ... doesn't curry? 13:15
colomon moritz_: the spec classes ... with .. in terms of currying
but ... cannot curry at all.
moritz_ then the spec is wrong
agreed. 13:16
colomon this probably represent the real reason .. shouldn't be allowed to curry WhateverCode arguments -- we will get FAQs for the rest of eternity why @a[1..*-1] works, but @a[1...*-1] doesn't. 13:17
though I guess @a[1...*] was already problematic 13:18
moritz_ well, one way or another we'll get FAQs
there's no way a sequence can curry within a subscript, but not otherwise, without going completely bananas 13:19
13:19 Patterner left
moritz_ why isn't section on currying in S03? it's operators that are curried, after all 13:20
colomon I dunno.
13:21 MayDaniel joined, Alias_ left 13:23 _kaare left
colomon anyway, I'm changing the autocurrying code to explicitly except ... and ...^, even though it doesn't seem to be called in those cases. 13:23
takadonet morning all
colomon o/ 13:24
and I guess I'll patch the spec, too, though I'm sure TimToady++ can do it better. 13:25
moritz_ already works on a spec patch
colomon \o/ 13:26
then I won't work on a spec patch
just code.
moritz_ what's ... called now? sequence?
colomon yes 13:27
13:27 gavv\w joined
colomon rakudo: say 1..*>10 13:27
p6eval rakudo : OUTPUT«Bool::False␤»
colomon :\
rakudo: say 1..(*>10)
p6eval rakudo : OUTPUT«_block124␤»
colomon I fear we have unleashed chaos... 13:28
moritz_ do we have a ticket for the first case?
dalek ecs: dd9966d | moritz++ | S02-bits.pod:
[S02] do not autocurry sequence operators at all
colomon moritz_: I don't know. Is it wrong? 13:30
rakudo: say +(1..*)
p6eval rakudo : OUTPUT«-9223372036854775808␤»
colomon ah, so effectively we have a ticket, I think.
moritz_ I don't see why (1..*)>10 shouldn't autocurry over the whole expression 13:31
13:31 MayDaniel left
takadonet Since Text-Tabs-Wrap is mostly complete , just need some exporting finished and about 3 tests left to pass, What module she I work on next? Any suggestions? 13:31
13:32 sftp joined 13:33 lidden joined 13:35 Psyche^ joined, Psyche^ is now known as Patterner
colomon moritz_: because 1..* doesn't autocurry 13:35
moritz_ oh
moritz_ forgot
maybe the numeric value of a code object should really fail()
colomon I dunno, but it's not relevant here, is it? 13:36
(1..*)>10 should return True
13:37 vxz joined
moritz_ right 13:37
moritz_ hates the parrot vtables
13:38 plainhao joined 13:45 dual left 13:47 redicaps joined 13:51 ggoebel left 13:59 plainhao left, plainhao joined 14:02 ggoebel joined 14:05 ggoebel left
rokoteko which synopsis was considering fail, Failure objects and $! ? 14:05
moritz_ S04 probably
14:06 masak joined
masak oh hai, #perl6! 14:06
14:06 Yorick_ joined
rokoteko great found it thank, moritz_ ! 14:06
moritz_ oh hai masak 14:07
masak++ # November release
flussence facepalms at my own stupid p5 code
14:08 lichtkind joined
flussence I just made one script run in 1 second instead of 20... by passing a single array by reference instead of normally. 14:08
14:08 nine left
flussence and given that it needs to be run once each for about 10000 DB rows... 14:09
flussence blames PHP
shortcircuit colomon: Rosetta Code is much like any other mediawiki (including Wikipedia itself). Step 1) Create an account. Step 2, Find an Edit link where you want to make a change.
14:11 Yorick_ left 14:15 ggoebel joined 14:17 ggoebel left 14:22 wamba joined, wamba left 14:23 wamba joined, wamba left, wamba joined
masak sorear: I'd be very interested in trying out an implementation where only Num remained standing among the numeric types, as you propose. 14:24
maybe I'll patch Rakudo locally to get a feel for it. :)
14:26 fhelmberger joined
dalek kudo: 731a832 | colomon++ | src/Perl6/Actions.pm:
Explicitly mark the sequence operators as fully not curried, even though in practice their precedence seems to block currying at the moment anyway.
14:29
jnthn wonders when we'll start seeing releases of Masak Perl 6
;)
masak whatever it'll be like, it'll have no Duration type.
and Darren Duncan will probably hate it. provided he knows about its existence. 14:30
jnthn Heh. :)
We might steal that patch for Rakudo... ;)
My impression is that Duration so far seems to have caused many headaches, but not solved a huge deal. 14:31
moritz_ currently Duration doesn't have any methods or operations on its own 14:32
the current spec implies that we could make it a subtype of Rat
jnthn Note that subtypes aren't nominal
So with no extra constraints, a Rat would happily serve as a Duration and it'd really just be a label. 14:33
moritz_ s/subtype/subclass/
jnthn Unless there was a where clause enforcing some more.
Oh.
I thought you meant subset
14:33 fhelmberger left
moritz_ basically the specs says that it must ~~ Real 14:33
jnthn Which I guess would be...well...useless. :)
lichtkind is it true that p6 has no builtins? 14:34
moritz_ lichtkind: no
lichtkind but i thought its all objects
jnthn It's all lambdas too :)
;)
moritz_ it's just that built-in subs aren't special in any way
so you can lexically override them, or add multis, or do whatever you can do with user defined subs too 14:35
flussence I think Duration/Instant should just be dropped, and let units of measurement be something for someone else to implement.
lichtkind they dont have own namespace
thats what i meant
THANK YOU both
14:35 wtw left
moritz_ flussence: +1 14:35
lichtkind: note that in Perl 6, nearly all subroutines don't live in namespaces, but in lexical scopes 14:36
jnthn flussence: +1
moritz_ lichtkind: and built-in subs notionally live in an outer scope of the user program 14:37
14:37 anned joined
lichtkind yes i mean own names space in the sense that $Package::a is not the same as Package::a() 14:38
flussence considers implementing the metric system in p6 14:39
lichtkind i try to phrase it more precise
14:40 Axius joined
mkramer1 Don't drop Durations because obnoxious posters on p6l have obnoxious bikeshedding ideas 14:40
moritz_ mkramer1: that's not the real reason
mkramer1: the reason is that during the non-bikesheddy parts of the discussion we discovered that Duration doesn't have any behaviour that Rat doesn't have 14:41
14:41 anned left 14:42 anned joined
colomon except for being a distinct type 14:42
mkramer1 rakudo: say (now - now).WHAT; say (1-1).WHAT;
p6eval rakudo : OUTPUT«Duration()␤Int()␤»
mkramer1 different behavior
that is useful
14:43 lichtkind left
colomon but I have to say, while walking this morning, I came to the conclusion that it's probably not worth the hassle to have in the spec at this point. 14:43
mkramer1 There is no way to get that behavior if it's not specced
colomon (Duration, that is.)
14:43 redicaps left
mkramer1 you can't "write a module" to replace the behavior defined on a built-in type (Instant) 14:43
moritz_ mkramer1: just like there's no way to distinguish 0 meters and 0 kg
if you just store a number 14:44
mkramer1 time is special
moritz_ is it? how so?
mkramer1 It comes up in all computing
kg and meters do not
14:44 agentzh left
moritz_ depends what you compute 14:44
most of my scripts don't deal with times at all
colomon mkramer1: I beg to differ. Certainly my work has meters, never ever duration. 14:45
$work, I mean.
mkramer1 Do you time your scripts? benchmark them? log timestamps?
colomon time, yes, but never duration
moritz_ mkramer1: if I do, I usually do it with the 'time' built-in
shell built-in, that is
but often my scripts just convert text files 14:46
14:46 lichtkind joined
takadonet is it me or rakudo takes a lot longer to compile? 14:46
14:46 kjeldahl left
mkramer1 anyway, I don't like the premise of your argument 14:46
colomon certainly do not need a Duration type to deal with benchmarks
mkramer1 "It's not useful to me, therefore let's cut it"
moritz_ mkramer1: that's not at all what I said
mkramer1 "Darren Duncan is annoying, let's cut it"
flussence if it's worth doing, it's worth doing properly.
moritz_ I said it offers only very little value over using a number directly 14:47
mkramer1 you're probably right
14:47 lichtkind left
colomon to be precise, the major purpose of Duration, as defined, is to keep you from doing things with it that you could do with a "real" number. 14:48
moritz_ colomon: actually that part is now gone from the spec 14:49
TimToady++ for it
colomon what exactly does the spec say now?
moritz_ In numeric context a C<Duration> happily returns a C<Rat> or C<FatRat> 14:50
representing the number of seconds.
Numeric operations on durations return C<Duration> where that makes 14:51
sense (addition, subtraction, modulus). The type returned for other
numeric operations is unspecified;
they may return normal numeric
types or they may return other dimensional types that attempt to
assist in dimensional analysis.
flussence
.oO( Measurement.new(files => "100K", seconds => $t2 - $t1).rate.say )
colomon then I stand by my statement.
14:51 anned left
colomon yes, you can say Duration * Duration now, and what it does is return a non-Duration numeric type, right? 14:52
moritz_ currently it dies 14:53
but Duration ** Real returns a non-Duration number
colomon there you go. that's a real meaning to the Duration type. 14:54
moritz_ rakudo: say (1/2).Capture
mkramer1 his point, and I agree, is that you should be able to Duration * Duration
p6eval rakudo : OUTPUT«Capture()<0xb5651a0>␤»
moritz_ rakudo: say (1/2).Capture.perl
p6eval rakudo : OUTPUT«\("numerator" => 1, "denominator" => 2)␤»
mkramer1 the spec now allows that 14:55
so it's fine
the spec isn't getting in the way and you get extra behavior at no cost
colomon my point being that you do gain the information that the resulting number in these operations is not a Duration.
moritz_ sub f(*%x) { say %x.perl }; f(|(1/2).Capture)
rakudo: sub f(*%x) { say %x.perl }; f(|(1/2).Capture)
p6eval rakudo : OUTPUT«{"numerator" => 1, "denominator" => 2}␤»
colomon that's a reason for Duration. but I'm inclined to think it's not a good enough reason for Duration. 14:56
mkramer1 When so many people that I respect share an opinion, I'm tempted to take that opinion 14:57
14:58 Guest52024 left 14:59 Guest52024 joined
moritz_ ugh. Subtyping a numeric type sucks. 15:00
s/Subtyping/Inheriting from/
colomon moritz_: are you trying that somewhere? what are the issues?
15:00 tzhs left
moritz_ colomon: I tried it locally 15:00
class Duration is Rat { # a few constructors here } 15:01
jnthn rakudo: class Foo is Num { }; say Foo
p6eval rakudo : OUTPUT«Foo()␤»
moritz_ how do I implement prefix:<->(Duration $x) ?
jnthn rakudo: class Foo is Num { }; say Foo.new
p6eval rakudo : OUTPUT«0␤»
moritz_ jnthn: first problem: how do I build a Foo with value 3.0e0 ?
jnthn rakudo: class Foo is Num { }; say Foo.new(3.0e0); # curious 15:02
p6eval rakudo : OUTPUT«flattened parameters must be a hash or array␤ in main program body at line 22:/tmp/AClSQyBc55␤»
jnthn meh
moritz_ second problem: how do I dispatch Foo + Foo to Num + Num?
do I have to create two Nums, add them, and create a new Foo? 15:03
even those Foo is Num?
that seems So Wrong
jnthn moritz_: The answer is that you want to box a native num into a Foo
moritz_: 6model has a box primitive that's just for that 15:04
colomon mkramer1: perhaps the biggest thing weighing against Duration as a type in my head is that it's really only a fraction of the correct solution. If you're really serious about that sort of thing, you're going to want to have (say) meters per second, seconds squared, etc. too. And having just a Duration class doesn't get you any closer to that.
jnthn (Falls quite neatly out of repr poly)
moritz_: But it's a nuisance-ish at the moment
moritz_ jnthn: hm.
colomon moritz_: right, I forgot about that. Yes, it's a nightmare.
moritz_ jnthn: but if Num can already do the boxing/unboxing for me, why do I ahve to redo it in the subclass? 15:05
jnthn That's not what I said.
moritz_ oh
jnthn When you write 3.0e0 the compiler is generating code to box that into a Num object
15:06 dual joined
jnthn It's not that you need to do antyhing *in* the subclass 15:06
You need to get a native value boxed to the subclass
masak std: class Foo { our Int method foo() {} } 15:14
p6eval std a194beb: OUTPUT«ok 00:01 120m␤»
masak rakudo: class Foo { our Int method foo() {} } 15:15
p6eval rakudo : ( no output )
jnthn rakudo: class Foo { our Int method foo() {} }; say "lived"
p6eval rakudo : OUTPUT«lived␤»
15:15 ggoebel joined
jnthn phew 15:15
:)
masak jnthn: what happens if there's a return type both after 'our' and after '-->' in the siggie?
jnthn masak: Suspect a compile time error. 15:16
masak: We don't really do return type checks yet though
masak: So I suspect the compiler mostly just drops 'em.
masak nod. 15:18
that's the feeling I get when using them :)
trying to compensate with tests and rigour. 15:19
jnthn rakudo: sub foo returns Int { }; say &foo.returns 15:21
p6eval rakudo : OUTPUT«Int()␤»
jnthn ah, ok
It gets as far as stashing 'em away.
flussence Is there any way to figure out type constraints from a class's ^attributes? 15:22
jnthn .type on the meta-attr 15:23
moritz_ rakudo: class A { has Int $!x; }; say ~ A.^attributes(:local)[0].^methods(:local) 15:24
p6eval rakudo : OUTPUT«Method 'methods' not found for invocant of class ''␤ in main program body at line 22:/tmp/Fjd_G7JGdJ␤»
flussence yeah, I tried ^methods before... :(
moritz_ rakudo: class A { has Int $!x; }; say ~ A.^attributes(:local)[0].type
flussence .type is what I wanted though :)
p6eval rakudo : OUTPUT«Int()␤»
masak looks forward to the day when it's possible to tread bravely on the turtles, all the way down 15:25
15:29 florz joined 15:33 Axius_ joined 15:34 Axius left 15:53 Axius_ left 16:00 jfried left, Axius joined
jnthn masak: Wish I had an nqpnet evalbot in here to show you. :P 16:00
masak jnthn: me too. let's make one.
jnthn +1 16:01
But now it's time for me to decommute :) \o/
masak :)
16:08 tylerni7 joined, Axius left 16:10 alester left 16:11 MayDaniel joined, Trashlord joined, Axius joined 16:15 ggoebel left 16:16 ggoebel joined 16:17 alester joined 16:19 Axius left 16:23 risou joined, kanishka left 16:25 kjeldahl joined 16:26 am0c left 16:29 spq1 joined, dconway joined, dconway left
PerlJam does a double-take 16:32
That couldn't have been The Damian. He doesn't IRC for sanity's sake. 16:33
masak perhaps we'll never know.
16:33 lowrr joined 16:34 lowrr left
masak maybe it's a QM thing. he can chat for sufficiently small periods, on the order of fractions of a minute. :P 16:34
16:34 PZt left
colomon dconway's info claims he's damian conway... 16:47
takadonet well he was here for only 8 sec... 16:49
colomon and wait, was that his sanity or ours? ;)
PerlJam perhaps a little of both
masak or... for the sanity of the fabric of reality...?
Trashlord hey guys 16:50
masak Trashlord! \o/ 16:51
Trashlord :)
16:51 mila__ joined 16:53 justatheory joined 16:55 mila_ left
Trashlord mila is a beautiful name 16:55
it means "dear" in russian
PerlJam what does jovovich mean then? :) 16:56
or cunis?
PerlJam quickly exhausts his known milas
Trashlord it's kunis 16:57
and I don't know about those
I just saw a list of names on wikipedia
"mil" means dear 16:58
masak I'm more used to the masculine "mily". my grandma used to say that a lot when we were talking in Russian.
Trashlord so, for girls, it's mila
16:59 wamba left
masak "милы", I guess. always feels wrong to transcribe Slavic. 16:59
argh! now it happened again! I wish I understood why git does this. 17:02
I did "git status". it didn't say my branch was ahead of origin/master.
then I pulled -- git pull origin master -- and it seems to have sucked in 1 commit. 17:03
next time I did 'dit status', it said "Your branch is ahead of 'origin/master' by 1 commit."
how can it suddenly be ahead of origin/master if all I did was update *to* origin/master?
17:06 hercynium joined, PZt joined
sorear good * #perl6 17:13
masak: the git pull did a merge, and the "1 commit" is the merge 17:14
moritz_ masak: "your branch is ahead" means you have a local commit. When you pull, zou still have a local comit
sorear masak: git log master...origin/master to see the 1 commit
masak sorear: I see no merge in the git log. it sais "Fast-forward".
sorear: when I do that, it comes out empty.
moritz_: I have no local commit. 17:15
sorear masak: did you use all three dots?
masak oops, no.
now colomon's commit falls out.
the one that arrived with the 'git pull origin master'. 17:16
colomon wait, what? 17:25
(just saw my name) 17:26
masak colomon: just having trouble understanding git, is all. 17:30
I remember running into this issue before, and not getting any insight then either. 17:31
anyone here speak Japanese? is this gentletwitterer asking about a HTML parser for Perl 6? twitter.com/VienosNotes/status/5672328935510016
TimToady "I wonder if there's a Perl 6 HTML parser" 17:32
17:36 mssm joined
masak there are plenty of half-baked Perl 6 XML parsers out there. 17:38
maybe blizkost is the best shot for parsing HTML in Perl 6 today.
sorear masak: listening to moritz++ talking from real world experience, it's pretty clear niecza needs at least Num + Rat 17:39
and once I've committed to more than one type of CORE:: numeric thing, supporting Int doesn't seem like a stretch 17:40
masak nod.
I must confess to never having had a pressing need for Complex. 17:41
perhaps it sits just at the edge of the set of useful core numeric types.
I definitely wouldn't want Quaternion, for example.
colomon I think the thing about Complex is you probably don't need it, but if you do, it's nice to have it in the core. 17:42
sorear the current typology of numbers is wrong, though, I think
it feels horribly inconsistant
we have Int, Num, and Rat
but Int isn't int; it's int | bigint 17:43
it would be better if we consistanly discriminated (Fix, Int, Num, Rat)
or consistantly didn't (Num, and maybe have some low-level .nrepr method)
vargaz++ mono++ I file a bug that mono --aot Program.exe doesn't actually do anything, and less than 24 hours later it gets closed with a commit 17:45
now installing the latest mono 2.9 - this should shave nearly a second off tryfile.exe load time 17:46
TimToady native types are not derived types; they're subset types
17:46 solarion joined
sorear I did not mean to suggest that they were. 17:46
TimToady you used the word "isn't" :)
Trashlord yes you did 17:47
sorear I imagine class Int { has int $!value }
TimToady though now that I look at it, you could not have been implying inheritance anyway... 17:48
sorear except, no, it's has int | bigint $!value
I don't think we have a good word for boxes-a
TimToady you're wearing the wrong hat
Int is an abstraction from the user's viewpoint
sorear takes it off and looks at it blankly
TimToady Int is any integer they care to name
whereas int32 is a convenient interface to that portion of the world that only knows how to store 32 bits 17:49
it's also likely to be faster than Int in some cases, unless boxing overhead gets too high 17:50
it's much like the grapheme abstraction; we're trying to let the user not think about implementation most of the time 17:52
but give the user the chance to do lower-level things in hot code
boxing/unboxing is the spot where we have to bridge between how the user wants to think and how the CPU wants to think 17:53
17:55 dakkar left
sorear *lightbulb* subset Int of Num where { * % 1 == 0 } 17:56
this solves the my Int $foo = 5.0 problem
TimToady this disconnect is much smaller for Num vs num, I'll grant you, since most people are trained to have a category "floating point" in their head
diakopter TimToady: but.. what if it's *all* "hot code"? :P
TimToady diakopter: oh, you mean like in an interpreter? :)
diakopter rightyo
TimToady where the user can put anything into their hot loop 17:57
sorear now thinks of all numeric types as being subsets of Num(eric)
TimToady yes, well, that will certainly cause you to go insane in a P5ish sense :)
sorear the worst is when I run a profiler and no sub is using more than 2% of the time so I have to improve everything 17:58
17:59 Trashlord left
TimToady I would like to believe that such a result merely means the profiler doesn't know how to slice the problem space right to show you what to improve 17:59
but that's only partially true
18:03 mssm left
TimToady instead of thinking of Int as int | bigint, I would prefer to think of Int as a bigint that can come very close to the performance of int for "typical" integers that would normally fit into a single native integer representation of some size or other 18:06
if that turns into a union internally, that's an implementation detail 18:07
18:09 lichtkind joined
TimToady different computer languages have different ways of forcing programmers to think like machines; in Perl 6 we're trying to get away with letting the user not think like a machine by default, but with performance escapes 18:09
18:10 cdarroch joined, cdarroch left, cdarroch joined 18:11 icwiener joined, mavrc joined
TimToady that approach will, of necessity, stress our optimization skills 18:11
masak and our implementors. 18:13
slavik1 TimToady: I can think in Perl :P
masak but yes, that's the path that Perl has set down on.
TimToady also, we have not yet explored the space of pragmatic sublanguages that assume things standard Perl doesn't
slavik1 and with grammars and junctions, I am starting to think in Perl6
and am upset that there is no complete Perl6 implementation 18:14
TimToady as are we all :)
slavik1 I especially miss the zip operator ...
TimToady eh? we have that 18:15
slavik1 not in Perl5
TimToady ah, you didn't say that part
moritz_ List::MoreUtils has a zip function iirc
slavik1 TimToady: not part of standard Perl5 :P
TimToady: I will invent a time machine, and go back to before 5.8 was released and kick you for not inventing the zip operator :P 18:16
hercynium slavik1: perhaps it could be done with Devel::Declare :)
PerlJam slavik1: CPAN is part of "standard Perl 5" as far as I'm concerned. 18:18
TimToady when you said "no complete Perl6 implementation" I assumed you were talking about incomplete implementations, not Perl 5 18:21
lichtkind rakudo: my %dev = a => 1, b => 2; my @a = %b; say + @a; 18:25
p6eval rakudo : OUTPUT«===SORRY!===␤Symbol '%b' not predeclared in <anonymous> (/tmp/0SAyVltEWF:22)␤»
lichtkind rakudo: my %dev = a => 1, b => 2; my @a = %dev; say + @a;
p6eval rakudo : OUTPUT«2␤»
lichtkind rakudo: my %dev = a p5=> 1, b p5=> 2; my @a = %dev; say + @a;
p6eval rakudo : OUTPUT«Could not find sub &b␤ in main program body at line 22:/tmp/71iYL0z8sl␤»
lichtkind i think the right answer is 4
rakudo: my %dev = (a p5=> 1, b p5=> 2); my @a = %dev; say + @a; 18:26
p6eval rakudo : OUTPUT«Could not find sub &b␤ in main program body at line 22:/tmp/uJOLwebgZo␤»
lichtkind jnthn: does rakudo know of p5=> ? 18:27
sorear p5=> doesn't exist 18:28
lichtkind sorear: anymore? 18:29
sorear lichtkind: see specs commit 5ace2bd3
I am thinking of 18:33
class NumBase { has polynum $!value }; subset Int of NumBase where ...; subset Num of NumBase where ...; subset Rat of NumBase where ... 18:34
thoughts?
(polynum may or may not have distinct values for #e1 and #i1
)
jnthn (pragmatic sublangauges taht assume things...) NQP is just that. :) 18:37
lichtkind sorear: you know hwy there were removed? 18:38
sorear Parse error
18:38 molaf_ left
lichtkind oh shit 18:39
TimToady lichtkind: since p5=> was only for the use of a p5-to-p6 translator, such a translator can always add a definition if it wants to
lichtkind sorear: you know why there were removed?
masak lichtkind: what TimToady said. 18:40
lichtkind TimToady: thanks im actually glad it was removed it was one of the more quirky things ive seen
sorear s/there were/that was/ ?
lichtkind sorear: these type of kommas, I came from outside some min ago my brain still is thawing 18:41
and bad news is i will stay here for longer now :)
just pulled the specs git 18:42
still bit new to this but willing to learn
18:43 imax_ joined 18:46 timbunce left 18:48 ggoebel left 18:52 lidden left 18:53 timbunce joined, ulla joined 18:55 ggoebel joined
sorear What's the Perl 6 equivalent of "${var}_append"? 18:55
PerlJam sorear: "{$var}_append"
moritz_ $var ~ "_append" 18:56
tadzik good evening 18:57
masak "$var[0]_append" :)
18:57 newbie joined
PerlJam ($var,"_append").join 18:58
masak [~] $var, "_append"
sorear WOAH 18:59
diakopter ?
sorear time mono tryfile.exe -e '2 + 2' --> 0.680 s
from 2.2s
diakopter how?
sorear vargaz++'s bugfix
TimToady \o/
sorear I was expecting about a half second improvement 19:00
colomon nice
diakopter sorear: how big are the .so
collectively
I think one option is to statically link them, even 19:01
lichtkind excuse me but who is in charge of the chatbots hereß
sorear 9.59 MB
diakopter I don't know who's in control of the 'lichtkind' bot ;)
moritz_ lichtkind: which bot?
masak sorear: nice! 19:03
nom &
19:03 masak left
lichtkind moritz_: i just want a new bot function 19:05
moritz_: just put a msg here if the wiki changes 19:06
diakopter ah 19:07
19:09 newbie left 19:10 imax_ left
lichtkind since the wiki has an rss feed it should be simple lie adding one url to watch 19:13
thatswhy i ask who is in charge of these bots
sorear lichtkind: every bot has a different admin 19:15
pick a bot and I'll tell you who runs it
lichtkind i just need the functionality, so maybe best a present admin
sorear If you don't want to pick an existing bot, you'll need to start a new one 19:16
flussence say I was crazy and wanted to make "'15m/s'.SI" DWIM ...how could I define that .SI method for strings? 19:17
lichtkind i just meant i take one bot of which the admin is currently present
sorear flussence: augment class Str { method SI() { ... } }
lichtkind: what do you mean by "the wiki" 19:18
lichtkind www.perlfoundation.org/perl6
sorear: you are an admin? 19:23
sorear I am an admin of many things
But not the TPF wiki
19:24 envi left
lichtkind sorear: yes i would know that, i mean admin of a chatbot 19:25
diakopter sorear: lichtkind is wanting www.perlfoundation.org/feed/workspa...%20Changes monitored by dalek
lichtkind yes 19:26
diakopter rss2
I wrote a botnix plugin for it at one time
it got disabled/deleted somewhere along the way
sorear lichtkind: what part of "there is more than one chatbot here" don't you get 19:28
diakopter: thanks
lichtkind diakopter: how much effort it would be to add this to dalek? 19:32
diakopter not much effort from me :) I think sorear enjoys that kind of pain, so he's volunteering to do it
lichtkind it would be a great help, especially i now write a lot in the wiki 19:35
diakopter yep; iirc you're the reason I wrote it before 19:36
dalek lek-poller: ad9fd17 | sorear++ | common.pm:
Make timeouts overridable per plugin
19:41
lek-poller: 450c516 | sorear++ | modules/local/tpfwikilog.pm:
Change tpfwikilog to perl6 / #perl6 and use new API
lichtkind sorear: that was all? 19:42
sorear yes
and I've restarted the running instance of dallek-poler
tpf perl6 wiki updates should be reported here now 19:43
want to test?
lichtkind yes thank you very much
dalek tpfwiki: Herbert Breunung | Perl 6 Index Tablet 19:47
tpfwiki: www.perlfoundation.org/perl6/index....dex_tablet
lichtkind it work \o/ 19:49
dalek doesnt know my real name but i dont need so much ++ 19:50
dalek tpfwiki: Herbert Breunung | Perl 6 Index Tablet 19:53
tpfwiki: www.perlfoundation.org/perl6/index....dex_tablet
19:55 plobsing joined
lichtkind sorear++ 19:56
dalek tpfwiki: Herbert Breunung | Perl 6 Delta Tablet 19:58
tpfwiki: www.perlfoundation.org/perl6/index....lta_tablet
TimToady without a subject line, that's kinda noisy 19:59
diakopter true. I wanted to reduce the poll interval and do de-duping at one point 20:00
lichtkind TimToady: yes but there are no subjects in socialtext 20:02
id wish there were some like mediawiki
TimToady with other dalek messages, one can figure out whether one is interested without clicking on every entry 20:03
sorear I can hook it up to the karma converter at some point
lichtkind maybe extract a diff from the wiki to display a line of conent? 20:04
diakopter since the feed is actually so verbose, with some WWW::Mechanize or even less magic lwp, one can grab the number of changed lines or something.
TimToady a diff line would be better than nothing
diakopter or yeah, some magic text summary
lichtkind and maybe even make 1 line out of that 2 now
TimToady the name of the enclosing section might also be helpful 20:05
lichtkind just the first but linked like the second
sections are lines starting with ^
TimToady just trying to keep the signal/noise ration high here... 20:06
with only the info above, most people will not click the link 20:07
which makes it noise for them 20:08
lichtkind yes
flussence while on that subject, the git commit messages could probably fit into two lines too...
I'm pretty sure github will accept the abbreviated commit ID as well as the full sha1 20:09
TimToady I don't mind multiple lines if they're informative 20:14
20:15 muixirt joined
TimToady and they're easy for me to skip as a chunk since I hilight dalek messages in blue 20:15
and I usually write the git checkin message knowing it'll show up here 20:16
s/checkin/commit/
PerlJam one of these days I'll need to write a script for irssi that redirect bot messages to another window.
muixirt erm, 'perl6 -v' segfaults 20:17
PerlJam muixirt: not for me. 20:18
TimToady what version of perl6 are you running...oh wait...
muixirt HEAD (just pulled)
the good news is: it's a little bit faster 20:19
PerlJam segfaults are always fast 20:20
muixirt PerlJam: lol
TimToady not if caused by unchecked malloc :)
20:20 wamba joined
muixirt PerlJam: I meant Rakudo Perl 6 is slightly faster 20:22
tadzik gil.di.uminho.pt/users/smash/rakudo-bench.html sometimes 20:23
I was excited by the gc_ms2_faster_list merge in Parrot, but sadly I don't see any speedup (using time) 20:24
...wait, my `which parrot` says /usr/bin/parrot
PerlJam tadzik: I didn't do any rigid timings, but it seems subjectively faster to me and that's all that matters :) 20:25
tadzik PerlJam: looks like I messed my installation up while installing Parrot not from --gen-parrot
muixirt tadzik: is that link supposed to work?
tadzik . o O ( --gen-parrot-exciting -- pulls the lastest Parrot available, not the one in PARROT_REVISION ) 20:26
muixirt: worksforme
muixirt reload worked
tadzik feels like implementing --gen-parrot-exciting 20:28
20:28 Chillance joined 20:32 dju left 20:42 wamba left
takadonet waits on tadzik results.... 20:44
20:44 plainhao left 20:45 wamba joined 20:47 masak joined
masak ahoy! \o/ 20:47
takadonet masak: yo 20:48
jnthn o/ masak
tadzik hi masak
masak auto-fed, happy that it's weekend, 800% slower Justin Bieber in headphones. time to start hacking :) 20:49
jnthn auto-fed? 20:50
colomon 800% slower Justin Bieber?!
masak :)
jnthn: I ate food that I had cooked myself.
colomon: soundcloud.com/shamantis/j-biebz-u-...800-slower
colomon but... why? 20:51
masak I didn't know who Justin Bieber was before that. frankly after finding out, I'm not too impressed. but this slowed-down song... wow!
it's like angel song.
colomon I hear.
tadzik I wonder if I should listen to the original 20:52
jnthn NO NO NO NO NO
masak once can't hurt. it's quite different.
even knowing that they're the same song at different speeds, it's hard to tell. :)
tadzik takadonet: wanna help? 20:54
takadonet tadzik: about to leave work :( 20:55
tadzik ah, alright
so, anyone willing to help with implementing --gen-parrot-exciting? :)
lichtkind sorear: did you change anything on the bots or can I help? 20:56
tadzik wklej.org/id/422227/ is what I mangled so far, for some reason #42 is checking out Rakudo's master rather than Parrot's master
masak hah! the annoying "Your branch is ahead of 'origin/master' by 1 commit." went away after I did 'git fetch origin master' and 'git push origin master' (either of which did nothing). I can't tall which one it was that helped, but I'll know next time ;) 21:00
tadzik: git looks upwards until it finds a .git/ directory. 21:01
tadzik: if it checks out Rakudo, it must mean you're in the Rakudo repo, but not in the Parrot repo.
TheHarlot oh... dear... sweet... merciless... Eris.
masak TheHarlot: Justin Beebz? :_
TheHarlot Justin Bieber... I will kill...
masak :)
tadzik masak: but it usually works just fine, when it checks out $req
($rev?) 21:02
jnthn TheHarlot: Remember to kill 800% slower. ;)
TheHarlot masak, Justin has a similar role in my mind as Nickelback and Avril Latrine. Crappy music, that now that the states have picked it up, will dominate 1/3 of the Canadian air waves, thanks to CRTC' retardation.
21:03 Guest52024 left 21:09 timbunce left, timbunce_ joined
colomon You could do what I do, and just grab select shows from CBC Radio 2 St. John's. 21:09
masak TheHarlot: I don't often have occasion to be distressed at that kind of music, because I don't willingly enter contexts where that kind of radio station is on.
rakudo: '[36][38][43]'.trans(/\[(\d+)\]/ => {chr($0)}) 21:11
21:11 Jake_ joined
p6eval rakudo : ( no output ) 21:11
masak rakudo: say '[36][38][43]'.trans(/\[(\d+)\]/ => {chr($0)})
p6eval rakudo : OUTPUT«[38][38][43]␤»
masak there's a skipped test that expects '$&+' here. 21:12
did we even figure out a way to make closures get the right $/ in this situation?
TheHarlot masak, colomon: yeah, I do not go out and look for those bad stations. However it does bring up painful childhood memories... oh... dear sweet merciless Eris... my mind is jumping back to Trooper and Celion Dion.
masak I know the question arose for .subst, but it's the same problem with .trans, it seems.
21:12 Jake_ left
TheHarlot masak, was that the main issue with what I was trying to do the other day? 21:13
masak TheHarlot: url?
TheHarlot oh... it was something I was asking in the channel. It brought up the note about having run() be called with multiple arguments. 21:14
masak I vaguely remember without the assistance of the IRC logs :) 21:15
might have been the same issue, yes.
21:15 risou left
cosimo good $evening, perl6! 21:16
masak cosimo! \o/
rakudo: $_ = '$123'; tr/$123/X\x20\o40\t/; .say
cosimo i have a nice question for you
p6eval rakudo : OUTPUT«===SORRY!===␤Confused at line 22, near "tr/$123/X\\"␤»
masak cosimo: oh? 21:17
jnthn It's amazing how coming back to a bug a week later that you spent half an hour on without results gets it solved in 5 minutes...
tadzik oh hi cosimo
cosimo what's the equivalent perl6 of this ruby snippet pastebin.com/xLTeXFzT ?
masak jnthn: you should have solved it a week later from the beginning! :P
jnthn ...in other news, it's a bad idea to try and put something in a package...if it's the thing that defines packages. :P
cosimo tadzik: hallo
masak cosimo: .^add_method, looks like. 21:18
cosimo masak: mmh
masak jnthn: oh ouch :)
cosimo: I'm sure there's working code somewhere to look at for that.
cosimo masak: what about the .send()
jnthn masak: Yeah. knowhow NQPStash and my knowhow NQPStash are kinda a big difference. :) 21:19
masak cosimo: you can get at specific methods with .^can and then just call them normally.
cosimo: where 'normally' means 'as subs' :) 21:20
jnthn s/methods/dispatchers/ ;)
masak oh right.
one day I'll learn :)
jnthn (with .^can)
cosimo I found a few examples, but all of them use $obj.^add_method 21:24
is it possible to ClassName.^add_method ?
21:25 muixirt left
cosimo something like: 'ClassName.meta.add_method(xxx, sub { somecode });' 21:25
jnthn cosimo: They mean the same thing.
But yes, you can ClassName.^add_method too
cosimo: Note that $obj.^add_method is adding not just to the object, but to the class.
cosimo jnthn: ok, so ClassName.^add_method is valid 21:26
jnthn Yup
cosimo but ClassName.meta.^add_method doesn't exist. right?
21:26 wooden joined, wooden left, wooden joined
cosimo sorry, that should have been ClassName.meta.add_method, without ^ 21:26
jnthn ClassName.^add_method('foo', method () { ... }) 21:27
is the same as
ClassName.HOW.add_method(ClassName, 'foo', method () { ... })
cosimo aha
jnthn So .HOW is I guess sorta the equivalent to .meta
cosimo so "HOW" == "meta" 21:28
jnthn Note .HOW is a macro, not a method
masak someone explain to me how come github.com/perl6/roast/blob/master...ans.t#L230 can be unskipped. o.O
jnthn It gets the meta-object
So I guess so :)
masak I ran that code above and it doesn't even parse in Rakudo.
jnthn std: tr/$123/X\x20\o40\t/; 21:29
p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
jnthn Ain't $123 $/[123] ?
masak don't think so.
jnthn Oh no
You're in a derived langauge inside tr///
masak right.
jnthn (one that I guess gives $ another meaning)
masak it's just literal strings in there. 21:30
on the left side, at least.
21:30 icwiener left
jnthn aha 21:30
masak but... how can this run?
jnthn std: tr/$123/X\x20\o40\t/;
p6eval std a194beb: OUTPUT«ok 00:01 118m␤»
jnthn gah
rakudo: tr/$123/X\x20\o40\t/;
p6eval rakudo : OUTPUT«===SORRY!===␤Confused at line 22, near "tr/$123/X\\"␤» 21:31
jnthn I...really have no idea. :)
masak oh!
it's a block.
jnthn It *is* skipped. :)
masak and there's a #?rakudo skip on the whole block.
jnthn The block is skipped.
:P
masak phew.
jnthn ;)
masak sanity restored.
masak indents the contents of that block
people: always brush your teeth. always indent. 21:32
jnthn ...indentures? 21:33
masak slaps jnthn with a pun stick
but yeah. maybe that's how my brain works. scary. :)
diakopter oh good jnthn still awake 21:35
masak jnthn: before diakopter snatches you, do you have any insightful opinion on $/ in closures to .subst and .trans? 21:37
jnthn masak: I'm sure I've watched multiple conversations on that which ended without a solid conclusion...
masak yeah. same here. 21:38
jnthn masak: Generally, pmichaud_ made any points I had, but probably better than I coulda put them...
masak :)
21:38 amkrankruleuen left
masak jnthn: do you think things as spec'd today are inconsistent and unimplementable, or is the reason $/ doesn't work in such closures purely a temporary Rakudo limitation? 21:39
jnthn masak: My recollection has been that's it has been more of an issue of "what to implement" than having blockers on implementing it. 21:40
masak well, the desired behavior seems clear to me.
it's the implementation of that behavior that I'm curious about. 21:41
jnthn masak: IIRC it comes down to
'bddr'.subst(/d/, { $/.Str.succ })
How do we get the $/ set right in that block?
Considering that at compile time we've no idea that block will end up used by .subst 21:42
21:42 takadonet left
jnthn (e.g. we may pass a block to something that then uses it in .subst, or we may pass a sub ref to subst, or something) 21:42
So we can't just say "it has a parameter $/"
tadzik masak: are you into this Ambient music?
masak tadzik: not besides Justin Beebz 800% :P 21:43
tadzik :>
masak jnthn: right.
tadzik seemed quite ear-pleasant, if done right
cosimo please help... why 'method printthem (@args) {say @args}' complains about type check failed? 21:44
masak jnthn: and we don't want to start special-casing the arguments of .subst and .trans, because that's agains Perl 6 philosophy.
cosimo i tried various combinations, Array of Any, Array of Int, etc... but none worked
tadzik cosimo: and what are you passing?
masak cosimo: because you didn't pass in an array? :)
jnthn cosimo: How are you calling it?
Did you want *@args ? 21:45
masak: (special-casing) right, exactly
cosimo printthem(1,2,3,4)
tadzik that's 4 arguments
(parameters)
masak arguments.
cosimo yes, but I want (anything really here)
tadzik you want *@args probably, a slurpy params
jnthn rakudo: say 1 ~~ Positional
p6eval rakudo : OUTPUT«0␤»
jnthn cosimo: @ sigil means "one argument that does the Positional role" 21:46
cosimo "*@args" ?
jnthn cosimo: You want *@args which is for variadic args.
cosimo jnthn: so it works with printthem(@my_args)
jnthn @args means it expects aisngle array-ish thing
21:46 mavrc left
jnthn cosimo: Right 21:46
cosimo: For your usage you want method printthem(*@args) { ... }
masak jnthn: I vaguely recall something about $/ being bound to $OUTER::/ by default. but I guess that doesn't solve anything, because it's $CALLER::/ we'd need in this case.
jnthn masak: er 21:47
Maybe
cosimo makes sense. sorry, i know it's stupid questions, but I've been away for a bit too much :)
jnthn oh, yeah
:)
masak or something.
sorear I currently implement $/ as a contextual
jnthn Right, 'cus it's called by .subst
masak right.
sorear so, $/ means $CALLER::/, $CALLER::CALLER::/, ... until it finds one
masak sorear: seems to me that road is treacherous in general, but right in these two cases.
IIUC, Perl 6 wanted to move away from $/ and similar vars being global. 21:48
sorear I agree it's pretty suboptimal 21:49
but it's the best idea I've had so far
masak at least you have a solution. 21:52
sorear the problem with $/-as-contextual is that it prevents the compiler from optimizing if ($foo ~~ /foo/) into if ($foo.index('foo')) { 21:53
21:53 oha joined
masak I don't know whether I should modify those tests to have an explicit -> $/ signature, as I've seen some people do with .subst -- thus admitting defeat to our inability to think up an all-the-way design that makes this work without the explicit signature. 21:54
or whether I should leave the tests as they are and just not implement that part -- thus admitting defeat to our inability to implement things as they are spec'd now.
sorear the regression tests need to test the stuff apps use
otherwise they're useless
masak well, since this ain't implemented, no application currently uses it. 21:55
I can implement .trans closures that don't make use of $/
there's one or two tests for that.
22:13 saaki joined 22:16 spq1 left 22:20 hercynium left
dalek odel: 2e58221 | jonathan++ | dotnet/runtime/Runtime/Ops/ (2 files):
[odd] Line-endings oddness.
22:22
odel: fc4d3ce | jonathan++ | dotnet/runtime/Metamodel/ (2 files):
[dotnet] Be a little bit more late-bound in a couple of places to break some circularities. Thankfully, not anywhere in hot paths.
odel: 5d5adc8 | jonathan++ | / (2 files):
[dotnet] [common] Add an NQPStash type which is a smarter than just a hash. Use it for implementing packages instead. Hopefully, this will make various broken things Just Work.
lichtkind moritz_: could it be that github repo of the book is broken? 22:25
masak lichtkind: works over here: github.com/perl6/book 22:32
sorear Where should I get feedback on my subset Int idea?
lichtkind masak: i pulled it 3 times and got everytim a dump
masak sorear: p6l?
masak hides
lichtkind: a dump?
as in, Data::Dumper?
22:33 MayDaniel left
lichtkind masak: sh.exe.stackdump 22:33
sorear masak: I forgot to specify useful feedback. 22:34
masak sorear: oh! tricky.
jnthn rakudo: Foo::bar(); module Foo { our sub bar() { say "ok" } }
p6eval rakudo : OUTPUT«Could not find sub &say␤ in 'Foo::bar' at line 22:/tmp/gPIXjGQR_n␤ in main program body at line 22:/tmp/gPIXjGQR_n␤»
jnthn rakudo: Foo::bar(); module Foo { our sub bar() { "ok".say } }
p6eval rakudo : OUTPUT«ok␤» 22:35
jnthn rakudo: Foo::bar(); module Foo { our $x = 42; our sub bar() { $x.say } }
p6eval rakudo : OUTPUT«Null PMC access in find_method('say')␤ in 'Foo::bar' at line 22:/tmp/27KYPHDIJs␤ in main program body at line 22:/tmp/27KYPHDIJs␤»
jnthn While NPMCA is of course Rakudo bug, I assume the answer is not 42 because we don't set $x until the module block runs?
nqp: Foo::bar(); module Foo { our $x := 42; our sub bar() { say($x) } } 22:36
p6eval nqp: OUTPUT«Null PMC access in get_string()␤current instr.: 'print' pc 92616 (gen/nqp-grammar.pir:5883)␤»
jnthn heh.
Oh, grr. I mis-read the test I was looking at...
masak ISTR that bug is in RT somewhere. 22:37
masak looks
hm. seems not. 22:39
masak submits rakudobug 22:40
22:40 ulla left
masak rakudo: Foo::bar() 22:42
p6eval rakudo : OUTPUT«Can not find sub Foo::bar␤ in main program body at line 1␤»
masak rakudo: Foo::bar(); module Foo {}
p6eval rakudo : OUTPUT«Can not find sub Foo::bar␤ in main program body at line 1␤»
masak rakudo: Foo::bar(); module Foo { our sub bar {} }
p6eval rakudo : ( no output )
22:42 molaf joined
masak rakudo: Foo::bar(); module Foo { my $x; our sub bar {} } 22:42
p6eval rakudo : ( no output )
masak rakudo: Foo::bar(); module Foo { my $x; our sub bar { $x.say } }
p6eval rakudo : OUTPUT«Null PMC access in find_method('say')␤ in 'Foo::bar' at line 22:/tmp/VdqTXnSwXR␤ in main program body at line 22:/tmp/VdqTXnSwXR␤»
masak rakudo: module Foo { my $x; sub bar { $x.say }; bar }
p6eval rakudo : OUTPUT«Any()␤» 22:43
masak rakudo: module Foo { my $x; our sub bar { $x.say }; bar }
p6eval rakudo : OUTPUT«Any()␤»
masak rakudo: module Foo { our $x; our sub bar { $x.say }; bar }
p6eval rakudo : OUTPUT«Any()␤»
masak huh.
jnthn: why does that even run? how do we get away with using the Foo:: namespace before declaring the module? 22:45
std: Foo::bar(); module Foo {}
p6eval std a194beb: OUTPUT«===SORRY!===␤Undeclared name:␤ 'Foo::bar' used at line 1␤Check failed␤FAILED 00:01 118m␤»
masak that's a separate bug, methinks.
22:45 am0c joined
jnthn masak: Good question... 22:46
masak: I know the answer for NQP. For Rakudo...oddness.
masak rakudo: Foo::bar(); module Foo { sub bar { say "OH LOL" } }; say "alive"
p6eval rakudo : OUTPUT«Can not find sub Foo::bar␤ in main program body at line 1␤»
masak rakudo: Foo::bar(); module Foo { our sub bar { say "OH LOL" } }; say "alive"
p6eval rakudo : OUTPUT«Could not find sub &say␤ in 'Foo::bar' at line 22:/tmp/CbD1qOdpQf␤ in main program body at line 22:/tmp/CbD1qOdpQf␤»
22:46 kjeldahl left
masak rakudo: Foo::bar(); module Foo { our sub bar { "OH LOL".say } }; say "alive" 22:46
p6eval rakudo : OUTPUT«OH LOL␤alive␤»
masak submits rakudobug
22:48 molaf left 22:51 perlygatekeeper left
tadzik oh, Perl Dancers have their Advent Calendar too. Speaking of which, any volunteers for the next articles? 22:54
the first one gets One Free Karma and a banana! 22:55
22:55 timbunce_ left, wamba left
tadzik (they're fleeing!) 22:59
22:59 Limbic_Region joined
masak tadzik: if it's not already clear, I'm volunteering for this year's Advent Calendar. 23:00
oha time ago i used .invert on an Enum, but now it seems not working anymore. is there another way?
tadzik ++masak 23:01
masak :)
oha: could you be more specific?
oha masak, hi. Enum Foo ( A => 1 ); %oof = Foo.invert; 23:02
masak that's Foo.enums.invert nowadays.
see S12 for the whole scoop. 23:03
oha ty masak
masak np oha
lichtkind i got Could not load oplib `perl6_ops'-- any idea? 23:05
masak lichtkind: wrong installed Parrot version? 23:06
lichtkind 2.10 and also this rakudo was for 2.10
i actually trief both rakudo
star and the 35 23:07
masak then I have no idea; sorry. 23:12
23:12 alester left
masak all I can say is that it works here. 23:12
dalek odel: 8c3ca76 | jonathan++ | common/NQP/NQPSetting.pm:
[common] Need to have a .defined method if we're gonna call one.
23:13
odel: 51fb629 | jonathan++ | dotnet/compiler/ (2 files):
[dotnet] First cut at getting our subs working. A few fixes in code-gen and PAST::Block.namespace handling along the way. Also our subs still need to be fully qualified with a namespace for now (since foo() is still assuming lexical always).
lichtkind masak: i installed now the laze apchakge for R* works now 23:14
jnthn (laze apchakge)++ 23:15
masak I don't know what "laze apchakge" means, but sounds like good news.
23:19 justatheory left
jnthn std: { our sub six ( ) { say "ok 6" } }; six() 23:19
p6eval std a194beb: OUTPUT«Potential difficulties:␤ &six is declared but not used at /tmp/f45rjCWfA3 line 1:␤------> { our sub six⏏ ( ) { say "ok 6" } }; six()␤ok 00:01 122m␤»
jnthn rakudo: { our sub six ( ) { say "ok 6" } }; six() 23:20
p6eval rakudo : OUTPUT«ok 6␤»
jnthn niecza: { our sub six ( ) { say "ok 6" } }; six()
p6eval niecza 571d549: OUTPUT«===SORRY!===␤Package subs NYI at /tmp/9BTYOe1_KO line 1:␤------> { our sub six ( ) { say "ok 6" } ⏏}; six()␤Potential difficulties:␤ &six is declared but not used at /tmp/9BTYOe1_KO line 1:␤------> { our sub six⏏ ( ) { say
.."ok 6"…
jnthn wonders if that six() call should work... 23:21
TimToady shouldn't
jnthn nqp: { our sub six ( ) { say "ok 6" } }; six()
p6eval nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 2358 (src/Regex/Cursor.pir:232)␤»
jnthn nqp: { our sub six ( ) { say("ok 6") } }; six()
p6eval nqp: OUTPUT«ok 6␤»
jnthn Naughty, naughty Parrot nqp.
:)
TimToady: This means I...don't have a test to fix. \o/
diakopter yay 23:22
jnthn nqp: { our sub six ( ) { say("ok 6") } }; GLOBAL::six()
p6eval nqp: OUTPUT«ok 6␤»
jnthn TimToady: ^^ is that OK?
TimToady see S06:455 23:23
yes, that should work
jnthn Thanks
TimToady so should OUR::six()
jnthn wonders if that's the bit he read recetly...
TimToady and &*six() should work in this case, since it's in GLOBAL 23:24
dalek tpfwiki: Herbert Breunung | Perl 6 Variable Tablet
tpfwiki: www.perlfoundation.org/perl6/index....ble_tablet
TimToady and &* looks there at the end
jnthn TimToady: *nod* 23:25
TimToady: I don't have that "look in global" failover working just yet.
TimToady and eventually we can declare a CANDO failover as well
jnthn TimToady: OOC, $*foo := 42; # does this install a $foo in global?
dalek odel: d6ea428 | diakopter++ | / (5 files):
[odd] apparently I'm still git-clueless
odel: 58a09a6 | diakopter++ | / (3 files):
Merge branch 'master' of github.com:jnthn/6model
lichtkind i lost my head , what is the word for to put into another contex?
context 23:26
TimToady jnthn: no, it merely rebinds whatever $*foo is existing
jnthn TimToady: Sorry, I was unclear. I mean if no $*foo is found in the dynamic scope.
TimToady: And we failover to looking in GLOBAL
TimToady no, I think we should require GLOBAL:: for that
jnthn TimToady: Me too. :)
masak today, I've tried to patch .trans for handling regexes. giving up for the day -- it was more complicated than I imagined it would. 23:28
time to blog about the unexpected overwhelm fail. :) 23:29
23:30 oha left
lichtkind is @@() gone too? 23:33
masak think so. 23:34
jnthn lol
masak it's now **@
lichtkind no you kidding
masak lichtkind: that's what I got from greeping 'git log' for specs. 23:35
lichtkind i searched some syn and didnt found @@ 23:36
masak thank you 23:37
TimToady masak: that will be very difficult unless you know how to hook into the LTM implied by .trans
masak TimToady: yeah. 23:38
TimToady espcially since rakudo doesn't really do LTM yet
masak TimToady: the current .trans impl does it right for constant strings.
jnthn The current Rakudo does LTM right in some cases for constant strings. :)
masak TimToady: but... I found I had to special-case regexes, and then there were a lot of "interesting" corner cases across the boundary. 23:39
jnthn (e.g. in the context of proto regexes)
masak I think I'd be better off attacking the problem after hiding some of that complexity first.
essentially runtime-polymorphing on constant strings and regexes.
dalek odel: 0210b86 | jonathan++ | t/nqp/11-subs.t:
[t] Correct and uncomment a test.
23:40
odel: 38cad29 | jonathan++ | t/nqp/24-module.t:
[t] We now pass 24-module.t.
ecs: f648072 | TimToady++ | S02-bits.pod:
it's illegal to assign/bind a non-existing dynvar

You must use the GLOBAL:: package explicitly in this case.
tpfwiki: Herbert Breunung | Perl 6 Lookup Tablet 23:41
tpfwiki: www.perlfoundation.org/perl6/index....kup_tablet
jnthn Up to 39 nqp-rx test files passing :)
lichtkind TimToady: may i know why you changed @@ ?
TimToady it was ugly, and we didn't really need it 23:42
frettled ETOOMANYKANELBULLAR
jnthn You can have too many? 23:43
frettled I can only shove one into my mouth at a time.
jnthn Mouths are too small...
diakopter any git knowbodies around?
TimToady here are two of them stacked --> @
frettled Okay, I admit that that is the problem.
diakopter: what does your body need to know? 23:44
diakopter frettled: so I've got these commits..
that I can see in gitk
(and their changes (almost entirely additions) are still reflected locally in their files) 23:45
frettled Oh, dear, a TCL/TK GUI.
diakopter disregard that line
:)
jnthn TimToady: Thanks for spec clarification :) 23:46
diakopter how would I push just these 4 commits
even though TortoiseGit thinks they're already pushed
TimToady did you look at the tortoise underneath? 23:47
diakopter yeah, but he referred me further down like you did
frettled what about the elephants above?
23:47 envi joined
diakopter they were too flat to distinguish 23:48
frettled diakopter: on a serious note: I'd wimp out and git clone a new local repository, copy the four changed files into that one, git commit -a and git push.
it's probably the quickest and easiest way
and with little mess
diakopter I've done that a couple of times already 23:49
and I already have plenty of other local changes that I ignore with every commit
frettled I don't believe git is meant to solve that particular problem for you, unless you create and manage your own branches.
diakopter yes. something I haven't yet learned [how] to do.
frettled diakopter: book.git-scm.com/3_basic_branching_...rging.html 23:50
diakopter thanks 23:51
frettled Mind you, I'm most certainly not an expert, so my advice may be slightly suboptimal.
23:51 bluescreen joined
flussence git branch -m <current branch> <some new name>; git checkout -t origin/<current branch>; git merge <new branch name>; should clear things up. 23:51
23:51 bluescreen is now known as Guest2242
frettled flussence: but is there an easy way to say that just a few select files are part of that particular branch? 23:53
frettled hasn't found a way of doing that yet.