»ö« 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!
Set by sorear on 4 February 2011.
00:00 japhb left, japhb joined
dalek atures: fcb972f | (Kris Shannon)++ | features.json:
Fix link typo (Loop statements is in S04)
00:02
TimToady whoops 00:03
obviously we should rename SETTING to CORE and then rename CORE to PEEL 00:04
and then rename UNIT to SEED 00:05
an incomplete setting could then be represented as an apple with a bite out of it... 00:06
sorear Let it be known that I actually like the CORE analogy better
kshannon Hmmm, where have I seen that before... 00:07
sorear your program builds on top of the core, as so much of what we have here is built on the Earth's core
-1 to using inside-out names
TimToady Completely Outside Real Execution 00:08
I was joking, by the way
00:09 replore_ joined
Woodi hi ppls 00:11
tadzik heuy Woodi
Woodi sorear: do you want to advertise niecza on freshmeat.net ? 00:12
I can try to keep it up to date
sorear does anyone still use that site? 00:13
(the answer is probably no) 00:14
Woodi today: Linux 3.2 and netbeans 7.1 :)
and kde, etc
00:16 tokuhirom joined
cognominal___ Woodi. TimToady does not want Perl to be niche. freshmeat is clearly niche diet-wise. 00:20
Woodi no idea why such opinion... slashdot is outdated now too ? but ok, no my busines 00:22
...business ? 00:23
cognominal___ I should have added a smiley. 00:24
tadzik Woodi: the latter I guess
blog poast! ttjjss.wordpress.com/2012/01/06/sta...on-perl-6/ 00:25
TimToady tadzik++ wins the 1st Blog of 2011 Award 00:29
er, 2012
tadzik \o/
dalek ecza: 8ae217a | sorear++ | lib/ (5 files):
Implement Mu.clone
00:31
00:31 kboga joined
kboga hey tadzik, cool blog post, but should s/new_post /new_paste/ ? 00:32
tadzik ah, supposedly. Thanks, fixing
kboga oops, modulo that space, np :) 00:33
tadzik Updated, kboga++
sorear tadzik++
tadzik question from #dancer which I know no answer for, why there can be no semicolons after the get() calls? Does } imply them or such? 00:34
sorear tadzik: exactly 00:36
00:36 sorear left, sorear joined
Woodi hmm, 'file' is better again: "Magic priorities have been adjusted, and magic has been added and improved." :) 00:37
kboga tadzik++ #blog post 00:38
tadzik sorear: does niecza have INET Sockets?
kboga -> sleep
tadzik g'night
00:38 kboga left
TimToady tadzik: S04:218 discusses final } 00:39
sorear tadzik: no (with the usual caveat about CLR library support)
tadzik TimToady: thanks, looking
sorear tadzik: do you think that Rakudo-compatible IO::Socket::INET would be a useful addition?
in the near term 00:40
00:40 sftp left
tadzik sorear: I'm thinking about any PSGI server available, and I know Perl 6 HTTP::Easy which I use on Rakudo depends on them as probably the only fancy feature. Bailador on niecza will enable me to write apps that ought to react faster than 1 second on request 00:41
00:42 sftp joined
TimToady is tickled that the final-} rule did what tadzik++ expected without his expecting it... :) 00:42
tadzik I like being suprised by such little things :) 00:43
TimToady used to be surprised by little things all the time, but then they grew up... 00:57
00:59 tokuhirom left
sorear niecza: sub () is rw { } 01:20
p6eval niecza v13-130-g8ae217a: ( no output )
01:27 ashleydev left 01:35 lestrrat left 01:36 lestrrat joined 01:43 ashleydev joined
[Coke] colomon, sorear: gist.github.com/1476841 - 92.22% (from about an hour ago.) 01:54
looks like rakudo backslid 7 tests. WOOO! ;) 01:55
niecza: say 18410*.95-16978 01:56
p6eval niecza v13-130-g8ae217a: OUTPUT«511.5␤»
02:01 gv left
dalek ecza: 7c7c034 | sorear++ | lib/ (4 files):
Implement general does and but operators
02:01
[Coke] does niecza have something fail like? 02:04
or should I just die for now?
sorear only die
[Coke] k. 02:05
sorear: where is a good place to put "method base" for Int and friends? 02:09
(so I can avoid duplicating it.)
sorear [Coke]: which friends?
role Numeric if you want Complex, Real if you don't
[Coke] Real, at least. 02:10
Real, then. Danke.
shoudl I be able to do "my role Real ... { method ... }" ? 02:12
sorear yes
"Any" is a placeholder
02:13 unobe left
sorear (if you don't include the Any, the block tries to return Nil, which fails because Nil is not defined yet) 02:13
[Coke] danke.
b: 3.5.base(16).say 02:15
p6eval b 1b7dd1: OUTPUT«Method 'base' not found for invocant of class 'Rat'␤ in main program body at line 22:/tmp/2Mh_jySPPa␤»
02:15 leprevost joined
[Coke] b: 3.base(16).say 02:15
p6eval b 1b7dd1: OUTPUT«3␤»
[Coke] b: 3333.base(16).say 02:16
p6eval b 1b7dd1: OUTPUT«D05␤»
[Coke] Ah. I was cribbing from b, which int only anyway.
dalek ast: 447f31f | sorear++ | S14-roles/basic.t:
[S14-roles/basic] Fudge for niecza, use evals/OUR in the parsing tests
ast: 533b13b | sorear++ | S14-roles/anonymous.t:
[S14-roles/anonymous] Fudge for niecza
ecza: 061e20a | sorear++ | lib/ (2 files):
Fix "does" cloning, add class name to does-class error
ecza: 5f9938a | sorear++ | t/spectest.data:
Run two new role tests
[Coke] putting it in Int for now, since it only works on ints anyway. 02:18
sorear niecza: say $?PERL
p6eval niecza v13-131-g7c7c034: OUTPUT«{"build-time" => 1325813284.547585, "name" => "niecza", "version" => "v13-131-g7c7c034"}␤»
sorear niecza: say time - $?PERL<build-time>
p6eval niecza v13-131-g7c7c034: OUTPUT«604.40679693222046␤»
dalek ast: 06048e3 | coke++ | S32-num/base.t:
niecza fudge
02:22
02:23 hundskatt left 02:26 Lilpid left 02:27 replore_ left 02:40 packetknife joined
ruoso sorear: how far is niecza from having DESTROY working? 02:44
02:49 Guest95402 left
sorear ruoso: medium-small task, nobody's wanted it yet 02:53
ruoso sorear: it's kind of a requisite for the feed-objectpipe thing 02:58
sorear: I could try and implement it, but I guess it requires more intimate knowledge of the CLR 02:59
03:11 kaizhang joined 03:19 kaizhang left 03:23 bacek left
dalek ecza: f1d9cc6 | (Solomon Foster)++ | lib/CORE.setting:
Implement rotate, core routine borrowed from Rakudo ng.
03:31
ecza: b4b14dd | (Solomon Foster)++ | t/spectest.data:
Turn on S32-array/rotate.t.
ast: c56497a | (Solomon Foster)++ | S32-str/ (2 files):
Unfudge tests that now work in Niecza.
03:34
03:38 Psyche^ joined 03:39 satyavvd joined, Patterner left, Psyche^ is now known as Patterner 03:51 bacek joined 03:54 orafu left, orafu joined 03:56 cooper left 03:59 cooper joined 04:00 wolfman2000 joined 04:15 replore_ joined 04:31 skids left
dalek ecza: 403c7c4 | (Daniel Ruoso)++ | / (3 files):
First shot at implementing feeds

It works! It does run in parallel! everything works as expected. But the semantics of the iterator are still a bit odd.
04:33
ruoso use Threads; my $a <== map { print "a"; $_ }, 1..20; print "b" while (shift @($a)); $a.read.DESTROY;
niecza: use Threads; my $a <== map { print "a"; $_ }, 1..20; print "b" while (shift @($a)); $a.read.DESTROY; 04:34
p6eval niecza v13-135-gb4b14dd: OUTPUT«Unhandled exception: Feed ops NYI␤ at /home/p6eval/niecza/lib/CORE.setting line 1043 (die @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2377 (infix:<<==> @ 3) ␤ at /tmp/Tw_fU78Gps line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting l…
ruoso I guess it takes a while to update the bot
benabik It definitely doesn't update instantaneously.
sorear niecza: say time - $*PERL<build-time> 04:36
p6eval niecza v13-135-gb4b14dd: OUTPUT«Use of uninitialized value in numeric context␤ at /home/p6eval/niecza/lib/CORE.setting line 902 (warn @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 204 (Any.Numeric @ 6) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/CvL4n46FCa line 1 (mainli…
sorear last updated: in progress?
niecza: say time - $?PERL<build-time>
oh
p6eval niecza v13-135-gb4b14dd: OUTPUT«1689.6715090274811␤»
sorear niecza: say (time - $?PERL<build-time>) / 60 04:37
p6eval niecza v13-135-gb4b14dd: OUTPUT«28.422997951507568␤»
04:38 stepnem left
sorear niecza: say time - $?PERL<build-time>) 04:41
p6eval niecza v13-135-gb4b14dd: OUTPUT«===SORRY!===␤␤Unexpected closing bracket at /tmp/vfAn4YEb_R line 1:␤------> say time - $?PERL<build-time>⏏)␤␤Parse failed␤␤» 04:42
sorear niecza: say time - $?PERL<build-time>
p6eval niecza v13-135-gb4b14dd: OUTPUT«1997.3410530090332␤»
sorear wait
evalbot rebuild niecza
p6eval OK (started asynchronously)
sorear niecza: say time - $?PERL<build-time>
p6eval niecza v13-135-gb4b14dd: OUTPUT«2026.6928560733795␤»
sorear niecza: say time - $?PERL<build-time>
p6eval niecza v13-135-gb4b14dd: OUTPUT«2038.0123269557953␤»
04:43 cognominal___ left 04:44 imarcusthis left, cognominal joined
ruoso niecza: say time - $?PERL<build-time> 04:44
p6eval niecza v13-135-gb4b14dd: OUTPUT«2165.9741249084473␤»
ruoso it seems to take a really long time to rebuild 04:48
sorear: the question now is how to make the iterator semantics sane...
04:49 nnunley joined
sorear niecza: say time - $?PERL<build-time> 04:49
p6eval niecza v13-135-gb4b14dd: OUTPUT«2440.5046210289␤»
sorear sounds to me like someone broke the build
ruoso: what's insane about them?
ruoso if I do @b = @($a), it produces a different result then while ($c = shift @($a)) { push @b, $c } 04:50
it doesn try to consume the iterator
sorear shift @($a) won't work in general 04:51
@() is a coercion operator, which means it's allowed to create a new list
which means that shift @($a) might not have any effect on $a
niecza: my $a = { foo => 3, bar => 5 }; while shift @($a) -> $c { say $c } 04:52
ruoso Ok, so the problem seems to be that I'm not creating the list
p6eval niecza v13-135-gb4b14dd: OUTPUT«(timeout)"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo" => 3␤"foo…
ruoso how can I create the list in the infix based on a custom iterator?
sorear niecza: use Threads; my $a <== map { print "a"; $_ }, 1..20; print "b" while (shift @($a)); $a.read.DESTROY;
p6eval niecza v13-135-gb4b14dd: OUTPUT«aaaaaaaaaaabbbbbbbbbbaaaaaaaaabbbbbbbbbb»
sorear ruoso: I couldn't understand that question. 04:53
ruoso I am currently returning the iterator in infix <==
04:53 imarcusthis joined
sorear What do you mean by an iterator? 04:53
ruoso something that extends IterCursor and implements reify 04:54
Threads.pm6 line 158 04:55
sorear that implementation of reify does not meet the invariants
IterCursor subclasses are supposed to be immutable
ruoso I am fine if it is immutable... I used shift because it was the only thing that actually worked 04:56
(and it worked by creating a new mutable list from the iterator and modifying that list)
sorear your "iterator" defines a one-element list 04:57
ruoso that means I didn't understand what reify does 04:58
*is supposed to do
sorear an IterCursor represents a span of a list that hasn't been expanded yet 04:59
.reify should return the items of the list, as a Parcel
ruoso all the items
sorear yes
if you don't want to return all the items at once, include an IterCursor in the result
niecza: my class Infinite is IterCursor { method reify() { 42, self } }; .say for @( Infinite, ) # example 05:01
p6eval niecza v13-135-gb4b14dd: OUTPUT«(timeout)42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤42␤4
sorear niecza: my class Infinite is IterCursor { has $.next; method reify() { $!next, self.clone(next => $!next + 1) } }; .say for @( Infinite.new(next => 0), ) # slightly more complicated example - note that $!next is not assigned to 05:02
p6eval niecza v13-135-gb4b14dd: OUTPUT«(timeout)0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤14␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52␤53␤54␤55␤56␤57␤58␤59␤60␤61␤62␤63␤64␤65␤66␤67␤68␤69␤70␤71␤72␤73␤74␤75␤76␤77␤78␤7
ruoso hah... it worked... 05:03
sorear because iterating an ObjectPipe is destructive, it's a bit more complicated
you'd have to model it on GatherIterator, which caches the result 05:04
it's legal for .reify to be called more than once on the same iterator
dalek ecza: 8f0740b | (Daniel Ruoso)++ | / (2 files):
fix ObjectPipeReadHandleIter semantics
05:08
ruoso sorear: a feed is not supposed to cache the values 05:09
it's the assignment to a list that should
I guess I need to implement infix:<<==> that generates a lazy list if it is being assigned to a list 05:11
but... not right now...
night &
sorear night
TimToady: ping 05:12
dalek ecza: 862300b | (Daniel Ruoso)++ | lib/Threads.pm6:
First attempt on map {} <== @a.
05:21
05:22 cognominal_ joined
sorear phenny: tell TimToady I am interested to understand some of the subtleties in term:identifier and term:name. For a start, why does only the latter try to parse role parameters? 05:22
phenny sorear: I'll pass that on when TimToady is around.
05:25 cognominal left 05:28 lutok left 05:56 Radvendii joined, Radvendii left 06:04 radvendii joined
radvendii yo! 06:04
sjn Q: prog21.dadgum.com/121.html is there an equivalent to "under" in Perl 6?
hello, radvendii 06:05
radvendii woah. under sounds like an amazing idea! 06:06
they should totally do that in perl6 06:09
another idiom i was thinking about is "when"
you use it like when $x==5 {} and then it gets tripped as soon as $x equals 5
with the flip flop it would be very powerful 06:12
(im using a new chat client so i can't be certain you guys are getting these messages) 06:15
06:17 radvendii left 06:18 kaleem joined 06:29 alim joined 06:36 alim left, arlinius left 06:37 Chillance joined 06:38 arlinius joined 06:40 alim joined 06:45 Ingis joined 06:47 packetknife left 06:50 bacek left 06:53 leprevost left 06:56 nnunley left
kshannon Any nqp people awake? 07:03
07:05 leprevost joined 07:30 stepnem joined 07:47 vivian joined 07:55 lutok joined 07:58 alim left 08:00 Ingis left 08:16 vivian left
sorear sounds like radvendii has re-invented "computed COME FROM" 08:21
shachaf sorear: I thoroughly hope that that's not an actual thing. 08:26
Hmm. That is an actual thing.
geekosaur it's from intercal. it's not supposed to be sane 08:28
08:29 shachaf left 08:32 shachaf joined 08:35 cognominal_ left, cognominal_ joined 08:37 alim joined 08:47 zipf joined 08:48 zipf left 08:49 mj41 joined 08:51 snearch joined 08:59 Trashlord left 09:02 molaf joined 09:08 bacek joined 09:27 molaf left
jnthn mornin' 09:28
09:31 dbr_ joined 09:41 hundskatt joined 09:44 awoodland joined 09:45 snearch left
moritz \o 09:49
sorear o/, jnthn, but ->sleep 09:50
09:53 morgon joined 09:55 replore_ left 09:57 Mowah joined 10:01 morgon left
moritz nom: sub foo(True) { say "OH HAI" }; foo(False) 10:02
p6eval nom ae33c0: OUTPUT«OH HAI␤»
jnthn moritz: That's correct since False ~~ True is true. 10:03
moritz jnthn: I know
jnthn ok. It confused me the first time I saw it :)
moritz writes a test for it 10:06
10:07 satyavvd left
moritz ... and needs to wait until the setting is compiled :( 10:08
jnthn Hopefully we win a bit there once I get us using QRegex for parsing. 10:10
moritz jnthn: probably requires a fixed nqp bootstrap. kshannon++ discovered that it was broken :/
jnthn Yeah, I saw 10:11
Not sure how that's happened.
(I mean, I know which commit, just not sure why it shoulda caused that problem.)
moritz I have a suspicion that the sha1 change somehow broke loading of modules when compiled with relative paths and loaded with absolute paths, or so 10:12
or maybe the other way round
dalek ast: 38f9286 | moritz++ | S06-multi/value-based.t:
tests for RT #107348, sub f(True) could not be called s f(True)
10:14
kshannon When it loads a module that it's compiling the SC exists but isn't properly initialized yet, but the :load sub which initializes it see's it exists and does nothing... 10:15
jnthn oh.. 10:17
Hm.
Yeah, I think I see the issue. Ugh. 10:18
kshannon The simplest answer I could see was to make sure that the SC handle was different. I whipped up a quick 4 line patch to add a --sc-prefix argument, but I'm not sure if we want to do that. 10:19
We only have to compile stage 1 with different handles to get past the bootstrap issue. 10:20
jnthn No, we don't want to do that really.
But some kinda SC prefix probably could work. 10:21
dalek ast: 5ab3038 | moritz++ | S14-roles/bool.t:
test boolification of roles (RT #107336)
jnthn We already use certain flags in module building.
kshannon I know it does. I've successfully done a full bootstrap cycle using my patch to add a prefix during stage1
dalek kudo/nom: 11a0a93 | moritz++ | t/spectest.data:
run role boolification tests
10:22
kshannon The other option I can see is to add an extra line to all the stage1 source files (e.g. "### STAGE 1 ###") which will alter the SHA's 10:23
10:24 xinming left 10:29 xinming joined
jnthn kshannon: Wonder if --module-path=... could be used - we only use that in bootstrapping, afaik. 10:29
moritz nom: say (2 + 2i) > (2 + 3i) 10:30
p6eval nom ae33c0: OUTPUT«No applicable candidates found to dispatch to for 'Real'. Available candidates are:␤:(\$v, Mu *%_)␤␤ in method Real at src/gen/CORE.setting:654␤ in sub infix:<>> at src/gen/CORE.setting:2228␤ in sub infix:<>> at src/gen/CORE.setting:2228␤ in block <anon> at /tmp/j…
jnthn oh, but it only covers some of the cases.
moritz niecza: say (2 + 2i) > (2 + 3i)
p6eval niecza v13-135-gb4b14dd: OUTPUT«Unhandled exception: Complex numbers are not arithmetically ordered; use cmp if you want an arbitrary order␤ at /tmp/r8W4Pdt0mU line 1 (mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2810 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setti…
moritz b: say (2 + 2i) > (2 + 3i)
p6eval b 1b7dd1: OUTPUT«Bool::False␤»
moritz nom: my Complex $x = 1 + 2i; say $x < $x 10:31
p6eval nom ae33c0: OUTPUT«No applicable candidates found to dispatch to for 'Real'. Available candidates are:␤:(\$v, Mu *%_)␤␤ in method Real at src/gen/CORE.setting:654␤ in sub infix:<<> at src/gen/CORE.setting:2220␤ in sub infix:<<> at src/gen/CORE.setting:2220␤ in block <anon> at /tmp/H…
10:32 fsergot joined
fsergot o/ :) 10:33
dalek ast: 8ad1098 | moritz++ | S32-num/complex.t:
test that Complex < Complex dies
moritz 3 tickets down, 713 to go... 10:35
kshannon \o/ 10:36
jnthn 90ish in testneeded ;)
jnthn will try to pick off some more at the weekend.
10:38 Mowah left 10:40 Mowah joined
dalek ast: 399972e | moritz++ | S03-operators/binding-arrays.t:
re-fudge binding-arrays.t for rakudo; refactor the last test a bit
10:44
kudo/nom: 76ec4ee | moritz++ | t/spectest.data:
run S03-operators/binding-arrays.t
10:45 morgon joined 10:46 morgon left 11:09 nebuchadnezzar left, nebuchadnezzar joined 11:14 alim left 11:15 leprevost left 11:35 athomason left
x3nU is it possible to build 64-bit rakudo on 64-bit windows using windows sdk? 11:39
google says that many people had the same problems as me
and they haven't fixed it
jnthn x3nU: Try giving Configure.pl --parrot-option=--intval="long long" 11:41
x3nU thanks, i'll try 11:42
11:43 tokuhirom joined
masak 'morn'n, #perl6 11:44
x3nU hi masak
11:45 birdwindupbird joined
jnthn no, masak, it's afternoon now :P 11:47
masak dang! :P 11:51
jnthn ;)
masak I think ravendii's idea about "when" is a worthy one -- just not in regular procedural programming.
in an event-based system it might be pretty nice, for example. 11:52
12:04 dbr__ joined, dbr_ left 12:17 cooper left 12:18 xinming left 12:19 xinming joined
tadzik good morning! 12:31
masak no, tadzik, it's definitely afternoon now :P 12:33
tadzik oh, come on ;)
masak :P 12:34
tadzik what a lovely morn...yeah, I know, cut it off
anyone going to yapc::na maybe? 12:35
masak not I. don't have the budget for that this year.
some day I will go there :)
tadzik I don't have it either, but ttjjss.wordpress.com/2012/01/06/sta.../#comments 12:36
masak tadzik: same person emailed me a while ago. 12:38
tadzik :)
masak tadzik: I wrote back "I'd love to come, but I don't have the budget for it. any chance you could help with that?"
12:38 spine_ joined
masak reply was more or less "uuhn not at present, we'll let you know if anything comes up" 12:38
tadzik :) 12:39
jnthn is pondering YAPC::EU and YAPC::Asia this year 12:40
12:47 Lothbot is now known as Lothar
x3nU jnthn: well, your solution to my problem works fine 12:48
jnthn++
colomon I'm probably going to yapc::na this year. 12:59
jnthn x3nU: I'll see if I can work it into the Configure system or something. 13:01
13:04 xinming left
x3nU that would be cool :) 13:04
13:05 xinming joined
tadzik colomon: maybe you could talk about some funny stuff 13:06
colomon tadzik: some funny stuff?
dalek ecza: 04caf92 | (Solomon Foster)++ | lib/CORE.setting:
Add .pick and .roll for enums.
tadzik those guys seem to be pretty interested in what's happening in Perl 6's small world
colomon tadzik: sorry, I've just woken and I'm missing context. "those guys"? are the organizers already looking for p6 talks or something? 13:09
13:11 jaldhar left
tadzik colomon: it would seem so, they've already contacted me and masak 13:11
colomon good for them!
13:14 hundskatt left
dalek ast: 0ced986 | (Solomon Foster)++ | S (3 files):
Add a couple of tests, unfudge for niecza.
13:15
[Coke] tadzik: I /might/ be going to ::na this year. (though it's a little further away than usual.) 13:16
I'm happy to help give talks, though might need some pointers on what. ;) 13:17
13:19 replore_ joined 13:22 am0c left
[Coke] ponders setting up a gmail filter that automatically mutes any thread posted to by <some person> 13:29
(sometime reading p5p is tiring.) 13:30
13:31 Mowah left 13:33 Mowah joined 13:34 alim joined 13:38 dbr__ left
x3nU jnthn: one more question, now i'm trying to build 32-bit rakudo on 64-bit windows 13:39
32-bit rakudo build under 32-bit windows works fine
but when i try do this under 64-bit windows 13:40
i get following error
pastebin.com/QEPJd94x
i'm using windows sdk with setenv /x86 /xp /release
jnthn Oh wow, cmd.exe errors in Polish! 13:41
x3nU i don't think that these are important
but
if you want i can switch
to english language
jnthn No, actually I found them cute :)
Anyway, I'm not quite sure what you'd need to do to make it work 13:42
Though suggestions would be...
On my machine I get to choose between the 32 or 64 bit visual studio command prompt
BUT also Parrot config pulls a load of stuff from Perl 5 config.
And I'm wondering if a 64-bit Perl 5 is being used for configuration flags. 13:43
(And thus a 32-bit one would somehow make it work out.)
x3nU so you think i should try use 32-bit perl5? okay, i will try
but to be honest, it's pain in ass 13:44
jnthn x3nU: Yeah, I always build 64-bit.
My laptop has a 32-bit build if I want it.
Well, only try it if you have a particular reason to want a 32-bit build ;)
13:47 replore_ left
x3nU well, i wanted to use my 64-bit windows vps as build machine so i can build rakudo both for my laptop (which has 32-bit os) and vps itself. 13:47
dalek ast: 78dff06 | (Solomon Foster)++ | S14-roles/mixin.t:
Fudge for niecza.
x3nU it seems that i need to build 32-bit rakudo directly on my laptop 13:48
;(
jnthn Ah :(
13:51 risou_awy is now known as risou 13:54 Mowah left 13:56 Mowah joined
dalek ast: b3e3b94 | kboga++ | / (4 files):
unskip passing tests & noauto a test that passes for the wrong reasons
14:08
14:10 agentzh joined
[Coke] kboga++ 14:13
jnthn: I'm still getting those failures on my 32bit rakudo, btw.
jnthn [Coke]: Which failures in particular? 14:14
[Coke]: overflow.t, was it?
[Coke] I think so.
gist.github.com/1476841 - rakudo's 28 failure minimum comes from that, IIRC. I can check which file is failing... 14:15
yup, overflow. 14:16
not that I wish rakudo to pass any more tests just now. ;)
14:17 nnunley joined
jnthn [Coke]: er...that's a helpful attitude :/ 14:17
masak yeah, heaven forbid Rakudo succeed at stuff right now :P
14:18 Mowah left
jnthn overflow.t one is kinda icky - it doesn't 100% pass here on 64-bit Windows either. 14:18
Though it's better than it was before the bigint work. 14:19
14:19 xinming left
[Coke] masak, jnthn: I'm just trying to get niecza's pass rate up at the moment. I'll get back to you shortly, no worries. 14:19
14:20 Mowah joined
masak jnthn: we gots to do something drastic to thwart these radical Nieczites! they're out of control! 14:22
quick, pass a lot of new tests! 14:23
jnthn masak: :P
masak I have to admit that I'm more of a bug report guy, so the process of actually getting more tests to pass is a bit hazy to me...
dalek ecza: 8fa1154 | coke++ | / (2 files):
add Int.base(), run test.

Cribbed from rakudo's ng branch.
14:24
masak but I'm sure it's a completely trivial, automatable process...
14:24 grondilu joined
dalek ast: 47d8f39 | coke++ | S (5 files):
niecza (auto)unfudge
14:24
jnthn masak: Well, tests that cover the 90+ testneeded items in RT would help ;)
14:24 sayu joined
grondilu nom: constant x = <foo bar> 14:25
p6eval nom 76ec4e: OUTPUT«===SORRY!===␤Cannot handle constant x with non-literal value yet at line 1, near "= <foo bar"␤»
grondilu niecza: constant x = <foo bar>
p6eval niecza v13-139-g04caf92: ( no output )
[Coke] masak: especially if they're for things niecza already does!
14:25 lateau_ joined
grondilu niecza: constant x = <foo bar>; x».say 14:25
p6eval niecza v13-139-g04caf92: OUTPUT«foo␤bar␤»
14:28 kaleem left 14:30 xinming joined
[Coke] thought I pushed Int.base() last night, whoops. 14:32
14:32 grondilu left 14:35 Trashlord joined
dalek ast: ae09ae0 | kboga++ | / (4 files):
untodo passing tests
14:38
14:39 kboga joined
kboga rt.perl.org/rt3/Public/Bug/Display...?id=105018 can be closed because the test passes again 14:39
14:40 tokuhirom left
[Coke] double checking... 14:42
14:45 proller__ left 14:46 birdwindupbird left 14:47 tokuhirom joined
[Coke] kboga++ #danke. 14:52
niecza: say 17099 / 18410 ; #assuming rakudo stands still from yesterday, which it isn't. 14:54
p6eval niecza v13-139-g04caf92: OUTPUT«0.92878870179250406␤»
[Coke] niecza: say 18410*.95 - 17099 ;# for colomon 14:57
p6eval niecza v13-139-g04caf92: OUTPUT«390.5␤»
14:58 kaleem joined
kboga [Coke]++ #double checking 15:00
15:10 benabik left 15:12 jerome_ left 15:14 bluescreen10 joined 15:22 SAASXSX joined, zby_home_ left 15:26 agentzh left, lateau_ left 15:27 kboga left 15:30 am0c joined 15:34 overrosy left 15:37 overrosy joined 15:38 Trashlord left 15:39 agentzh joined 15:44 overrosy left, alim left 15:46 mkramer joined, overrosy joined 15:50 jerome_ joined, mkramer left
TimToady sjn: Perl 6 already has 'under' specced at perlcabal.org/syn/S06.html#Temporization, but it needs an implementation (or two :) to scope out the details 15:50
phenny TimToady: 05:22Z <sorear> tell TimToady I am interested to understand some of the subtleties in term:identifier and term:name. For a start, why does only the latter try to parse role parameters?
jnthn term:identifier only ever parses something that should be compiled as a sub call, no? 15:52
TimToady it appears that colon-less type names go through the identifier path as well, relying on the behavior of type objects to respond to .() (and presumably to .[] for role instantiations) 15:53
but it's probably kinda bogus 15:54
might make more sense to fail term:identifier if we see a [
and if it's a known role name
otherwise self[$ix] won't work 15:55
jnthn Rakudo spots the type case and mangles SomeType[...] to a call into meta-space.
TimToady or things of that ilk, if self is parsed elsewhere
masak I tend to write 'foo()[$ix]' as 'foo[$ix]' :)
15:55 pochi joined
TimToady yes, and it should work 15:55
masak oh phew
TimToady STD is laboring under an incomplete symbol table model, so has to guess from time to time 15:56
jnthn *nod*
TimToady so role is being treated inconsistently
jnthn I think Rakudo gets self[$ix] just fine
masak aye, it does.
TimToady in :identifier as a type object
jnthn self() of course is treated as a sub call, and doesn't work out.
TimToady in :name as part of a name that could end in ::
jnthn (Unless you declared a sub self() { }) 15:57
masak nom: class A { sub self { say "OH HAI" }; method foo { self() } }; A.new.foo
p6eval nom 76ec4e: OUTPUT«OH HAI␤»
TimToady Rat[Int,UInt]:: can conceivably be the name of the package for the instantiated role
masak \o/
TimToady so :name is skipping over the [] to find the ::
but :identifier is grabbing it, and just returning the Rat part 15:58
(I think, just by inspection)
whereas Rat::Mole[...]:: would hit :identifier instead 15:59
15:59 cognominal_ left
TimToady sorear: so yes, it is an unfortunate inconsistency that needs fixing somehow 15:59
but that depends on how you actually lookup roles from the parser 16:00
jnthn Yes, symbol handling is the one bit of STD where I'd rather see it look more like Rakudo, rather than have Rakudo get closer to STD. ;)
TimToady one could either cause :identifier to fail over to :name, or add the role logic to :identifier
or anything else that works :)
16:00 overrosy left 16:01 cognominal joined
colomon 391 tests, eh? 16:02
moritz nom: my @x of Int; @x[0] = 3; 16:03
16:03 overrosy joined
p6eval nom 76ec4e: ( no output ) 16:03
moritz nom: my @x of Int; @x[0] = '3';
p6eval nom 76ec4e: ( no output )
[Coke] colomon: you can do it! ;) 16:04
though with jnthn back this is getting harder. ;)
masak oh, the excitement!
jnthn moritz: Didn't do the "of" bit yet (or any variable traits) 16:05
my Int @x; @x[0] = 3;
nom: my Int @x; @x[0] = 3;
p6eval nom 76ec4e: ( no output )
jnthn nom: my Int @x; @x[0] = '3';
p6eval nom 76ec4e: OUTPUT«Type check failed in assignment to '$v'; expected 'Int' but got 'Str'␤ in block <anon> at /tmp/VDlcltChhz:1␤ in <anon> at /tmp/VDlcltChhz:1␤»
jnthn Also I need to awesomize that error... :) 16:06
[Coke] moritz++ # all the tools for finding passing tests on rakudo work great on niecza. ;)
TimToady let's hope the horses are converging rather than diverging, or [Coke]++ will be torn asunder :)
[Coke] ... I'm not divergent, I'm just drawn that way?
TimToady I assume you always root for the underdog. :) 16:07
16:09 agentzh left
masak .oO( see you at the asymptote ) 16:09
[Coke] TimToady+
TimToady++, even.
TimToady oh, and radvendii's 'when' is just a watchpoint, really
masak yeah; BASIC has had that for ages :) 16:10
16:10 jerome_ left
masak Moose has triggers, etc. 16:10
TimToady we could even build a switch with it: WATCH $a { when 5 {} }
16:11 xinming left
dalek ast: 8c884c7 | (Solomon Foster)++ | S14-roles/instantiation.t:
Fudge for niecza.
16:12
masak ooh!
16:13 xinming joined
masak TimToady: someone's bound to do a module doing that! 16:13
16:13 cognominal_ joined
TimToady which may be trickier for native $a than for boxed $a 16:14
masak for some reason I keep wondering what the behaviour will be when such a WATCH block becomes re-entrant...
dalek ecza: b0b727f | (Solomon Foster)++ | t/spectest.data:
Turn on two more roles test files.
TimToady well, if it's really a thrown warning (to be resumable), I expect it would depend on if there's another WATCH point up the dynamic stack 16:15
16:16 cognominal left 16:18 jerome_ joined, xinming left 16:21 vlkv joined, vlkv is now known as gv 16:24 tokuhirom left, tokuhirom joined
colomon niecza: sub foo(5) { say "foo!"; }; foo(5) 16:25
p6eval niecza v13-140-g8fa1154: OUTPUT«Use of uninitialized value in string context␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 806 (warn @ 2) ␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 170 (Mu.Str @ 9) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/src/ni…
16:26 MayDaniel joined
colomon niecza: sub foo(5) { say "foo!"; }; 16:26
p6eval niecza v13-140-g8fa1154: OUTPUT«Use of uninitialized value in string context␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 806 (warn @ 2) ␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 170 (Mu.Str @ 9) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/src/ni…
masak submit a nieczabug! 16:28
dalek ecza: ed26908 | coke++ | t/spectest.data:
run t/spec/S12-attributes/clone.t
colomon masak: already done.
masak colomon++
16:29 tokuhirom left 16:34 kaleem left 16:35 nnunley left 16:36 cognominal joined 16:38 cognominal left, cognominal_ left 16:40 cognominal joined 16:48 xinming joined
dalek ast: 9955089 | moritz++ | S03-operators/increment.t:
RT #74912, ++++$x
16:49
ast: 66e07a4 | moritz++ | S09-typed-arrays/arrays.t:
refudge typed arrays tests for rakudo
kudo/nom: bbdc787 | moritz++ | t/spectest.data:
run typed array tests
16:50
colomon and the race is on! ;) 16:51
tadzik :)
16:51 spine_ left
moritz colomon: I just wanted to supply test coverage to close a ticket :-) 16:51
16:51 kaleem joined
jnthn moritz++ # closing tickets 16:53
jnthn would love to get back below 700 :)
dalek ast: 182e758 | moritz++ | S12-introspection/can.t:
test for RT #76584, return value of .can should stringify
jnthn moritz: I think rt.perl.org/rt3/Ticket/Display.html?id=106986 may be resolvable already 16:54
16:54 kaleem left, kaleem joined
moritz jnthn: indeed it is 16:56
jnthn moritz: done 16:58
moritz too
race condition :-)
TimToady sorear, jnthn: I've pointed stevan++ at you guys to help him with his new MOP for P5 hoping that you'll encourage it from diverging needlessly from 6model 16:59
moritz but mine took longer because I looked up the test location
TimToady: encourage or discourage?
last I talked to stevan, it sounded like his plans were quite different from 6model :/ 17:00
TimToady I had discourage, and then I thought it gave the wrong impression :)
masak TimToady: jnthn and stevan alredy seem to see eye-to-eye on many things. I heard them conspire at LPW :)
moritz nom: my $A::b = 3; say $A::b 17:01
p6eval nom 76ec4e: OUTPUT«3␤»
moritz std: my $A::b
masak also, stevan++ for what I've seen so far of the p5 MOP.
p6eval std dc62e1d: OUTPUT«ok 00:01 119m␤»
masak it does diverge a bit from what we have in Perl 6, but it does so in, I have to say, very Perl5ish ways.
TimToady certainly, P5 will induce distortions, but I would like to see convergence where possible
17:02 MayDaniel left
masak right. from what I've seen, stevan doesn't need to be told that explicitly. 17:02
TimToady no, he doesn't, but accidents happen
moritz down to 706 open rakudo tickets 17:03
TimToady and the 6model-related stuff is hard to spot from the synopsis level
[Coke] moritz++ 17:04
jnthn moritz: yay
TimToady like the relationship between 6model and dispatchers and declarators
dalek ast: 901c278 | moritz++ | S29-context/eval.t:
RT #77646, same &eval executed multiple times without outer block
17:06
moritz rakudo: {}[-1] 17:07
p6eval rakudo bbdc78: ( no output )
moritz perl6: {}[-1]
p6eval niecza v13-140-g8fa1154: OUTPUT«===SORRY!===␤␤Unsupported use of [-1] subscript to access from end of array; in Perl 6 please use [*-1] at /tmp/BIzccGhJss line 1 (EOF):␤------> {}[-1]⏏<EOL>␤␤Parse failed␤␤»
..pugs b927740, rakudo bbdc78: ( no output )
moritz niecza: my $x = -1; say {}[$x] 17:08
p6eval niecza v13-140-g8fa1154: OUTPUT«Any()␤»
jnthn TimToady: Well, 6model in a "core" sense mostly just does "as little as sanely possible" to support compile time meta-object handling.
Which mostly boils down to "allow objects to be tagged with an SC somehow" 17:09
TimToady and stevan is also striving for minimalism, but it'd be nice if he hooked it up in a similar fashion to preserve P5/P6 interop as much as possible
he's also mandating SI, which I have mixed feelings about 17:10
jnthn Hm
Mandating in what sense? 17:11
I'm fine with it as a default policy
moritz that means you can't easily port existing p5 code to the new model, which might be LTA
jnthn If it's impossible to implement MI though, e.g. as a pragma, then something is not flexible in a place it should be.
Following 6model + mandating SI at a core level don't really go together. 6model core doesn't even know what inheritance is. :) 17:14
jnthn puts aside $dayjob tasks for now so he can look at Perl 6 things a bit. 17:15
dalek ast: d8050fe | (Solomon Foster)++ | S (2 files):
String-based tests for max and min. Props to Robert Burns.
colomon nom: say "alpha" min "beta" 17:16
p6eval nom bbdc78: OUTPUT«alpha␤»
17:17 carlin joined
moritz nom: say 'beta' min 'alpha' 17:17
p6eval nom bbdc78: OUTPUT«alpha␤»
colomon moritz++ # good thing to test 17:18
masak nom: say 'ɣ' min 'δ'
p6eval nom bbdc78: OUTPUT«ɣ␤»
masak nom: say 'gamma' min 'delta'
p6eval nom bbdc78: OUTPUT«delta␤»
masak :)
jnthn moritz: Do you know status of rt.perl.org/rt3/Ticket/Display.html?id=103178 ? 17:19
I think I saw a patch for it.
moritz rakudo: class A { has Int $.S = 0 }; say (A.new, A.new, A.new).min(*.S) 17:20
p6eval rakudo bbdc78: OUTPUT«A.new(S => 0)␤»
masak .oO( hey, that's my code! I recognize it! ) :) 17:22
moritz looks good
jnthn moritz: OK...will tag it test needed.
17:23 Trashlord joined
dalek ast: 04d8876 | moritz++ | S12-class/augment-supersede.t:
RT #71456
17:23
carlin rakudo: say callframe 17:28
p6eval rakudo bbdc78: OUTPUT«CallFrame.new(level => Int, annotations => ("file" => "/tmp/wXy5EkGPnO", "line" => 1).hash, my => EnumMap.new("\$=POD", Array.new(), "GLOBALish", GLOBAL, "EXPORT", EXPORT, "\$?PACKAGE", GLOBAL, "\$_", Any, "\$/", Any, "\$!", Any, ))␤»
carlin rakudo: sub foo { callframe }; say foo
p6eval rakudo bbdc78: OUTPUT«Method 'perl' not found for invocant of class 'CallContext'␤ in method reify at src/gen/CORE.setting:4350␤ in method reify at src/gen/CORE.setting:4255␤ in method reify at src/gen/CORE.setting:4255␤ in method gimme at src/gen/CORE.setting:4619␤ in method eager…
17:28 mj41 left
masak submits rakudobug 17:29
17:29 stevan_ joined
stevan_ morning gents 17:29
masak stevan_! \o/
geekosaur (where? :p)
stevan_ so to clarify the "SI mandate" bit 17:30
jnthn o/ stevan_
masak was just going to link stevan_ to the backlog, but concludes that that won't be necessary
stevan_ we decided (and I am still not 100% sold on this) that SI + roles was good enough
masak: nope, TimToady already did :)
masak stevan_: SI + roles is plenty fine, except for backwards compat. 17:31
stevan_ right
masak and for people who like pain for some reason.
moritz ... and except when it isn't :-)
stevan_ so at this stage we were planning on old style p5 classes
as having a different metaclass then the new style classes
and that metaclass would be MI friendly
masak right.
stevan_ so that we can keep the backcompat
but the goal is actually less of "lets slap a mop onto p5" 17:32
cause we did that with Moose and it is really ugly in a lot of ways
the goal morphed into "lets build a new object system"
and make sure the mop that new system is built on will handle compat with the old system
PerlJam stevan_: greetings! Good to see you here :) 17:33
stevan_ I believe that doy (jesse luehrs, my co-conspirator on the p5-mop) has already a working sketch of the "package style class" metaclass 17:34
PerlJam: halloo
dalek kudo/nom: b05bbda | jnthn++ | src/Perl6/Actions.pm:
Detect duplicate use of names for named parameters. Fixes #102362.
TimToady the P5 backcompat one will have to differ from P6's, of course, since P6 avoids packages assiduously for storing methods 17:36
stevan_ yes
the new p5 one also avoids packages :)
jnthn stevan_: (SI answer) sounds sane. 17:37
stevan_ I suspect a p6 metaclass will actually be quite easy
TimToady I was just wondering how much trouble jnthn is seeing with supporting MI in the default P6 classes
stevan_ MI is annoying for us mostly in regards to metaclass compat
the code in Moose to handle that is horrendous
TimToady we certainly don't emphasize MI in P6, but it's currently allowed
17:37 cognominal left
stevan_ whereas the code in p5-mop is like ?. 3 lines 17:37
TimToady: part of me wants to keep it in, cause I dont want to take anything away 17:38
but the other part of me reminds me that I havent used MI since Moose got roles and I know many of the Moose people who have similar experiences
TimToady this all seems wrapped up in the mystery of "the dispatcher", which is something we've tried to demystify in P6
17:39 cognominal joined
stevan_ yeah 17:39
PerlJam As long as nothing precludes MI via some means, it should be fine, right?
masak +1
stevan_ PerlJam: yeah, it can easily be added on and supported
jnthn TimToady: Mostly, MI just reduces optimization possibilities.
TimToady as long as you can switch dispatchers
masak I wouldn't protest if people have to predeclare their use of MI.
jnthn TimToady: In the current design it's relatively low.
PerlJam masak: good idea
stevan_ masak: sort of like having to wear a large red A on their shirt 17:40
jnthn masak: Using traits is declarative P
masak use MONKEY_INHERITANCE;
jnthn *:P
TimToady well, they do, in the sense that all classes are predeclared :)
jnthn TimToady: Right
masak stevan_: yes, exactly like that.
TimToady so we already know at CHECK time whether any classes have asked for MI
jnthn TimToady: The issue is more about what subclasses might come to exist in the future.
dalek ast: e551ff0 | moritz++ | S32-list/minmax.t:
RT #103178
TimToady and we can certainly mandate that any such declaration must be made before CHECK time 17:41
much as we require people to open classes by CHECK time
but yeah, roles have largely removed the case for MI 17:42
jnthn TimToady: From an implementation point of view, I currently don't feel strongly that making SI the default over MI, and needing a pragma for MI, would give me much (other than one more pragma to implement) :)
17:42 cognominal left, cognominal joined
colomon moritz++ 17:42
TimToady I'm not sure how to take that
jnthn TimToady: From my view, it's mostly a language design issue. I can go either way.
TimToady well, but stevan has to do some language design here, so I thought we might have some prior art/experiment 17:43
jnthn TimToady: The point I'm trying to make is that just because in a given lexical scope there's no use of MI, does not mean that code can be compiled assuming that no subclass of it in the future will not be MI.
stevan_ I love prior art :)
moritz rakudo: enum A::B <c d e>; constant B = A::B; say B::c 17:44
p6eval rakudo bbdc78: OUTPUT«A::B::c␤»
TimToady well, the absence of MONKEY_INHERITANCE would pessimize it, I suppose
er, that didn't come out right 17:45
.oO(darn flu)
masak right, but pragmas work in lexical scopes, and inheritance works... along the class hierarchy. 17:46
TimToady we can allow the optimizer to assume SI at CHECK time in the absence of MONKEY_INHERITANCE or other predecl
most classes come in via 'use' at compile time
moritz yes, but at the time they were compiled, nobody knew that they might be reused for MI
jnthn TimToady: class A { ... }; { use MONKEY_INHERITANCE; class A { } }; class B { }; class C is A is B } 17:47
TimToady and if you really want to inherit MI from something optimized for SI, you should probably be delegating instead
masak I'm not sure the complexity of such a pragma would be worth it.
if I get jnthn right, he doesn't consider it to be such a big deal in the first place. 17:48
jnthn masak: Yes, that's the point I'm trying to make. And not doing very well at. :)
TimToady masak: if I was sure about it, we wouldn't be having this discussion :)
moritz nom: use Test; enum A::B <c d e>; constant B = A::B; is B::c.gist, 'A::B::c' 17:49
p6eval nom bbdc78: OUTPUT«ok 1 - ␤»
masak TimToady: I was trying to be polite, rather than saying "that's too complicated!" :)
moritz nom: use Test; enum A::B <c d e>; constant B = A::B; ok B::c === A::B::c, 'A::B::c'
p6eval nom bbdc78: OUTPUT«ok 1 - A::B::c␤»
PerlJam What do we lose by allowing MI? 17:50
jnthn If we really want to get ourselves Java-style attribute lookup speed, we "just" need a JIT compiler that knows to optimize for the SI cases and roll back the optimization of an MI subclass appears in the future.
*if
Just as modern JVMs do virtual => non-virtual re-writing and may have to invalidate it if other classes are loaded later on.
TimToady well, we're also trying to be portable to most VMs... 17:51
dalek ast: b35d90a | moritz++ | S04-declarations/constant.t:
RT #66650, constant declarations that alias enums
TimToady what might be practical on a JVM might or might not be practical on the CLR
or on a JS engine
or LLVM... 17:52
jnthn TimToady: Even if we forbid SI in Perl 6, we'll still need to support it via a pragma, or support what's needed for somebody to write one. 17:53
TimToady of course, we might just end up with "Don't use MI if you want portability." enforced by the community
masak aye!
it's one or the other :)
PerlJam hopes jnthn meant MI :)
jnthn er :)
MI :)
masak no, let's forbid SI. :) see how people like that. 17:54
all classes must henceforth have at least two parents.
PerlJam smalltalk doesn't do MI does it? Maybe there's a lesson there :)
[Coke] Sounds a little Conservative. 17:55
jnthn TimToady: That's a little strong for my liking. I designed 6model to try and be able to cope with the bits of OOP that haven't been invented yet, as well as the various forms that have. And my goal was for portable meta-programming.
masak PerlJam: no-one uses Smalltalk? :P
[Coke] masak: I think, as a sixer, you probably don't want to go down that rabbit hole.
jnthn TimToady: "Don't use MI if you want portability and performance to go with it" could well be the csae, though.
colomon honestly, with roles available, I'm never sure I want inheritance at all, SI or MI.
masak [Coke]: I know, I feel bad about it already... :/
jnthn *case
17:56 xinming left
masak [Coke]: in fact, I was once invited to a Smalltalk workshop to discuss Perl 6 + roles with someone I met via Twitter. 17:56
PerlJam jnthn: so, we'd explicit say that MI is unportable as part of the spec? :)
jnthn PerlJam: That wasn't what I was trying to argue. 17:57
PerlJam: I was trying to argue against that. :)
PerlJam jnthn: I understood you, I was just pushing in the other direction to see what happened :)
jnthn :P
TimToady "efficient unportability" is likely, so I'm in violent agreement with jnthn++
jnthn moritz++ # down to 700 :) 17:58
TimToady er, "efficient portability" is unlikely
stevan_ colomon: careful, overuse of roles is just as bad as overuse of mi
colomon PerlJam: "I demand you shoot me now!"
masak "portable languages lead to portable performance"
TimToady let's all do everything with delegation now :)
stevan_ TimToady: ++
jnthn Well, delegation implies composition, and roles are just a form of composition, so in a handwavy sense delegation kinda is what is going on. :) 17:59
stevan_ lol
PerlJam stevan_: still going to outlaw MI in p5-mop for now?
(by default I mean) 18:00
stevan_ well, if I hurry up, then you can just say "hey, perl5 doesnt do MI, why do we need to"
PerlJam: outlaw is a strong word
but yeah
right now, we are kind of leaning toward something like this:
jnthn If you outlaw MI, only outlaws will use MI :)
masak stevan_: both Rakudo and Niecza do MI.
jnthn++ # :)
stevan_ - default set of metaobjects are unopinionated
sorry s/default/core/
PerlJam jnthn: makes them easier to identify when we round them up for jail.
stevan_ the default set will have some opinions attached to it 18:01
masak: and our vm (perl5) will suport it too :)
masak :)
stevan_ so PerlJam in theory, we might provide a MI metaclass as one of the core addons 18:02
the best example of this technique is that
PerlJam It all sounds incredibly sane to me.
stevan_ $::Attribute (meaning the global attrbute metaclass)
does not do accessor gen
but we might ship a subclass that does
and that subclass might end up being the default
but we shit the un-opinionated $::Attribute in case you want to build on that 18:03
so the same could easily be done for MI
TimToady actually, I'm not so much worried about p5-mop vs MI as I am about the ramifications about how public/private attributes seem to be set up, now that I glance back at stevan's braindump
jnthn stevan_: you...what it? :)
stevan_ TimToady: in what way?
colomon niecza: my $x = 0; ++++$x; say $x 18:04
p6eval niecza v13-140-g8fa1154: OUTPUT«2␤»
TimToady I probably need to think about it more when I'm not influenzed, but something bothered me about it
jnthn TimToady: In Perl 6 there really are only private attributes, though?
18:04 kaare_ joined
stevan_ Indian Food++ # even better on the second day 18:04
jnthn: thats what we have too 18:05
jnthn TimToady: Public attributes are really just private attribute + a generated accessor method.
stevan_ thats what we have too (minus the generated accessor bits (for now))
TimToady oh, I remember, we don't say that the attributes are bound into the lexical scope 18:06
has variables are known to the lexical scope as names, like our vars 18:07
but the access does not presume that it works via the lexpad
stevan_ and the instance-ness is stored like inside-outs?
TimToady no, that's getting into the representational metastuff that jnthn++ has been working out 18:08
stevan_ yeah, I am leaning on the lexpad, partly out of convenience and partly out of a desire to not add to much stuff (less to bikeshed)
TimToady rakudo has native types now, for instance
stevan_ ah, types, how I wish I could have those too
masak yes, the attributes lookup seems to be the biggest conceptual difference between stevan_'s MOP and Perl 6. 18:09
TimToady the point being that the representation is also meta, so the language is agnostic to inside-out vs outside-in
er...
jnthn The way 6model lays out attribute storage in P6opaque in the single inheritance case is mostly just how Java or C# do it.
TimToady and also allows you to set up storage such that it doesn't depend on hash (non)collisions
18:10 kaare__ joined, kaare_ left
TimToady stevan_: also the my $orig = super; thing feels like a hack that will prevent future flexibility, but it's only a vague feeling 18:12
PerlJam stevan_: has anyone done any timing benchmarks with p5-mop vs Moo vs Moose etc ?
TimToady I guess it feels that way because it's then assuming a hash repr subsequently 18:13
and I've gotten religion on representational polymorphism
sorear good * #perl6
stevan_ sorry, client call, bbias
TimToady sorear: you'll want to backlog from 8:59 PST or so 18:14
18:15 wolfman2000 left
colomon \o, sorear 18:16
masak sorear! \o/
PerlJam I keep thinking things like "It would be nice if p5-mop had X" but then I realize that p5 doesn't have the Perl 6 feature that would make X nice or useful. 18:17
TimToady stevan_: that is, having declared 'has $x' in your class, you should be able to initialize $x transparently within the class without commiting to either representation or parenthood; that's all hidden in P6 because we have a private attribute syntax distinguished from public attribute syntax
PerlJam: I don't see anything preventing 'has $x' from declaring a real private attribute that the rest of the class knows about 18:18
masak idly wonders why Perl 5 doesn't have T
TimToady p5 is inconsistent on the lc/uc doctrine of backslashes 18:19
masak clearly.
TimToady but if \T isn't taken, it could be added
masak now I have to write [^\t] instead...
TimToady: I don't see it in perldoc perlre
TimToady btw, in case it's not clear, I thoroughly approve of the direction stevan++ is taking p5, even if the details are around the devil :) 18:25
TimToady just wishes his brane wouldn't keep melting for various reasons... 18:26
18:27 Trashlord left
sorear EOBACKLOG 18:28
I ... haven't really been watching p5-mop closely. Should've I been?
PerlJam stevan_: the other day when I mentioned the class Foo { has $x; my $x; ... } problem for p5-mop and how it wasn't a problem for p6, you said something like "twigils go too far". How strong is that feeling? It seems to me they have quite a few benefits if you can implement them for p5-mop.
masak sorear: I, for one, am excited by stevan_'s plans with it. 18:29
sorear oh, looks like I forgot to push my Foo[4] change
masak PerlJam: I asked stevan_ something similar in London.
stevan_ ok, backloggin 18:30
masak PerlJam: he said about twigils having their merit, but he wanted to avoid that battle if he could :)
sorear o/ stevan_
dalek ecza: 7f4a2be | sorear++ | src/ (2 files):
Try to support Foo[4] syntax for roles
sorear TimToady: I'd like to know what you think of the STD change in that commit.
stevan_ TimToady: re: my $orig = super; I agree here, I am looking into audrey's advice
sorear TimToady: (It's deliberately a minimal tweak, not an overhaul; I agree with jnthn++ that more symboly stuff is probably warranted) 18:31
TimToady note that use of the ! twigil in $!foo is independent of whether 'has $x' declares an attribute
[Coke] wonders if there's a mailing list for p5-mop. (don't see one.)
stevan_ PerlJam: no, no benchmarking, but it is apples to oranges to grapefruits to $some_weird_fruit_which_is_vagualy_mstish
TimToady in fact, we supposedly support the 'has $x' syntax in p6 as well
stevan_ [Coke]: nope, there is an IRC channel, but no activity
PerlJam TimToady: aye, but distinguishing a lexical $x from an attribute $x isn't a problem.
sorear random note: doy was who introduced me to Perl in the first place 18:32
masak nom: class C { has $x = 42; method foo { say $x } }; C.new.foo
p6eval nom b05bbd: OUTPUT«42␤» 18:33
TimToady stevan_: it's not the super I was complaining about (though I agree with au++), but the subsequent use to assume a particular repr
masak doy++
TimToady doy++ indeed
stevan_ TimToady: yeah, we are have tosed around the idea of different reprs and decided (mostly) that you people are insane :) 18:34
masak we could've told you that! :P 18:35
TimToady it's also insane not to do it :P
PerlJam stevan_: without a type system, different reprs for p5 doesn't seem a big enough win.
(IMHO of course)
masak the question of our sanity is orthogonal to the question of reprs :)
18:35 cognominal_ joined
TimToady PerlJam: classes *are* a type system 18:36
stevan_ masak: it is a question of sanity in relation to reprs
not sanity overall
TimToady: in theory, what you say is possible
masak stevan_: right, and as such, the context (p5/p6) matters as well, so even "you are insane (wrt reprs)" is too broad a generalization.
stevan_ because has $x = 10;
TimToady I think in theory what I say is easy
stevan_ basically "thunks" the 10 and nothing happens until instance creation 18:37
masak like in Perl 6.
stevan_ yes sir
TimToady $x should Just Know how to set itself, not rely on the hash mechanism
masak but it needs to thunk it with self in there, somehow.
stevan_ $x can return its expected initial value when asked to
PerlJam TimToady: perhaps I mean "without a more pervasive type system" :) 18:38
stevan_ (currntly) the mop::internal::instance::* functions handle actually stuffing it into an instnace
sorear stevan_: reprs ~= instance metaclasses
stevan_ yeah kinda
but honestly,.. no one used the instance metaclass in Moose
no one cared
18:39 cognominal left
sorear I was trying to, before I tripped into this black hole :D 18:39
stevan_ all uses were esoteric at best, and workarounds at worst
sorear: haha
sorear PerlJam: seems to me that modifying the P5 grammar is something you should avoid if at all possible 18:41
stevan_ sorear: actually with Devel::CallParser its not that bad
PerlJam sorear: sure, except that it already needs mods to support class, has, and method :)
stevan_ quite sane actually
PerlJam: perhaps someday, but no reason it cant use the keyword feature for the forseeable future 18:42
TimToady stevan_: I think I am misunderstanding what your '$orig->{'z'} = $z;' is trying to do; is that not trying to set a private attribute in the super's hash? Why?
stevan_ where the forseeable future is the next year or two
TimToady: ahh I see the confusion 18:43
the supermethod there is pack which takes the instance and packs it into a hashref
for maybe say json serialization or something
TimToady ah, okay
nevermind then :)
stevan_ :)
probably a confusing example 18:44
especially given the hashref instance history
TimToady nextsame is less confusing to me :)
stevan_ yeah
it is on my todo list for this weekend to grok that stuff
TimToady conceptually, nextsame is just a 'next' on the loop in the dispatcher; the presence of arguments complicates things of course 18:45
stevan_ right
TimToady so we use nextsame for any of our dispatchers
stevan_ we actually had a full p6 style dispatcher in place at one point
but we needed to actually be able to dispatch in a p5 world, so we are using a hack with Anon::Package 18:46
and flattening out the class into that and blessing the instance into it
tis an ugly hack for the prototype
until I can persuade a core hacker to do my evil bidding that is
TimToady heh
well, we took the liberty of kicking all the normal classes out of packages in p6 :)
though we can support it if we need to, since we're insane :) 18:47
stevan_ yeah, I dont care to support it, they can use old style classes easily enough :)
TimToady I'd say Anon::Package is a...reasonable...hack for P5, at least until people start using it in a bug-compatible fashion, and then you're a little stuck for future dev 18:48
stevan_ yeah, I think we need a better option 18:49
but right now, dispatching is so tightly tied to bless and that is tied to packages and, ? well I really shouldnt have to tell you this, you wrote it :)
TimToady our bless is polymorphic on representation, is what it comes down to 18:50
stevan_ yeah
TimToady you could have a bless method, and retire the bless function
and then you could do something similar
in p6 it's class.bless(repr, args) 18:51
stevan_ yup, we went down that path and backpeddled until we can sort out dispsatching
but it was something we discussed with some of the core guys at LPW
TimToady but P5opaque could be the mandatory default to begin with
stevan_ yup
sorear hehe. doy just contacted me and told me to look at p5-mop for stevan 18:53
18:53 doy joined
stevan_ sorear: yeah, cause I just told him "hey I am talking to the p6 guys" and he said "I should talk to sorear" and I said "sure" 18:54
;)
TimToady anyway, be assured that we don't think this is offtopic here, since at some point we'll be writing an implementation of P5 as a legacy dialect of P6. :) 18:55
stevan_ cool
I will keep this window open then
TimToady which we recognize as Truly Insane...
stevan_ and if I recall from my pugs days, not much is off topic here :)
doy i suppose i'll keep this window open too then
TimToady it's a vagrancy law, to be enforced only for people who intend to be irritating :) 18:56
we do get the occasional troll that will not respond to hugging
stevan_ LOL 18:57
TimToady so feel free to bounce any other questions you have off us, and feel free to ignore our answers :) 18:58
sorear o/ doy
doy \o
TimToady \o/
dalek ast: b6d038c | jnthn++ | S12-attributes/clone.t:
Unfudge clone tests for Rakudo.
18:59
kudo/nom: 43b615d | jnthn++ | src/core/Attribute.pm:
Allow introspection of package an attribute was declared in.
kudo/nom: b86c667 | jnthn++ | src/core/Mu.pm:
Fix issues in .clone(); now all of clone.t passes again.
masak doy! \o/
doy: I don't know you, but I already like you -- you gave us sorear :D
doy haha
i do what i can 19:00
(:
masak let us know if you find any more sorears.
we need them.
TimToady doy++ just found that sorear++ was insane, and sent em off to the asylum :) 19:01
doy i imagine sorears are pretty rare
i just got lucky
(:
x3nU i have made binary builds of rakudo and rakudo for win32 and win64 for people who hate compiling 19:03
there's no installer, juz zip file
ftp://ftp.perl.info.pl/pub/
maybe if new rakudo star will be released i could make installer
geekosaur "perl6: an insane world demands an insane language" 19:04
moritz x3nU: that would be awesome
PerlJam masak: we need some more masaks, pmichauds, jnthns, sorears, moritzs, etc. too :) 19:05
x3nU s/juz/just
/
jnthn x3nU: It will be. There's a couple of regex engine issues I really want to deal with first, plus Zavolaj is missing one feature to get the MiniDBI running again. Beyond that, I'll be happy enough to go for an R* release.
stevan_ PerlJam: so you feel they have neough PerlJams then?
PerlJam yeah, I don't do much around here. 19:06
If someone could find some PerlJams with more free time, that could help 19:07
19:09 benabik joined 19:10 arlinius left
PerlJam jnthn: What feature is Zavolaj missing? 19:11
jnthn PerlJam: Returning arrays of strings. 19:12
19:15 wolfman2000 joined
[Coke] doy: can I ask what the origin of your nick is? 19:20
colomon niecza: say Str.can('split') 19:22
p6eval niecza v13-143-g7f4a2be: OUTPUT«Bool::True␤» 19:23
moritz iirc the spec says .can should return an iterator or some such
jnthn shop & 19:24
masak moritz: an iterator, of all things? not a lazy list?
doy [Coke]: don't actually remember, i've been using it since i was around 7 19:25
moritz
.oO( try grepping the specs for 'can' )
colomon nom: say Str.can('split') 19:26
p6eval nom b05bbd: OUTPUT«split split␤»
[Coke] doy: I ask because my dad used to use it to mean, "duh". (and I never heard anyone else use it that way ever.)
also, welcome to #perl6. ;)
19:27 demetro joined 19:28 kaare__ left
TimToady these days .can should probably return the proto, since it knows how to iterate any multis 19:30
19:32 ahmad joined
ahmad what is the status of perl6? is it production ready? 19:33
tadzik what is "production ready"?
stevan_ is anything truly production ready?
ahmad tadzik: yes, perl5 for example 19:34
stevan_: yes php5 for example
:))
stevan_ php4 wasnt even production ready :)
geekosaur perl6 will never be production ready. it's a spec, not an implementation. 19:35
ahmad finally i got an answer :)
mikemol ahmad: Better phrased, your question might have been "when will pugs, rakudo or niecza be production-ready?" 19:36
ahmad mikemol: true, sorry i was not accurate, what about the answer to that well phrased question?
mikemol Depending on your purpose, both niecza and rakudo are fine for a number of uses. I don't know about pugs. 19:37
I forget whose, but someone in here has their blog software written in Perl 6. 19:38
[Coke] masak.
mikemol And here's a list of working Perl 6 snippets. It's not definitive of the state of p6 implementations, but it demonstrates some of what it currently can do: rosettacode.org/wiki/Category:Perl_6 19:39
dalek ast: d3006fd | (Solomon Foster)++ | S (4 files):
Additional fudging for niecza.
19:40
ahmad mikemol: many thanks that looks great. what about performance, I heard it is still slow compared to other languages, it that still true?
mikemol TBH, that's a terribly vague statement. Any language may be faster or slower than some other language, depending on the metric you decide to throw at it. It really depends on your application. 19:41
masak ahmad: performance is the current focus of Rakudo. it's not fast yet, but it's faster at some things than a year ago, and we're building an optimizer which will make things faster yet. 19:42
mikemol However, it's my understanding that niecza is faster than rakudo at executing p6 code. I don't know how either compares to, say, php5 on similar tasks.
masak ahmad: Perl 6 has the advantage over Perl 5 in that you can give variables types, and thus help the optimizer along.
mikemol ahmad: And here you see the internal competition that's really driving the two forward. :) 19:43
ahmad mikemol: mmmm.. agreed, i am working on a website that streams live content from external sources, it also makes heavy use of mysql database. I already written one in python but it is eating all my server memory :(
stevan_ ahmad: what is wrong with perl5? 19:44
if you need performance, perl5 has it
it also has a rock solid mysql driver and all of CPAN to pull from
ahmad Python looked more elegant and maintainable to me at that time.. 19:45
stevan_ yeah, that is a myth
good code is maintainable, the language is irrelevant (cept maybe brainf*ck and intercal) 19:46
and elegance is subjective
mikemol Hey, whaddaya got against INTERCAL? ;P
Say please.
stevan_ mikemol: nothing, but last I checked the mysql driver code for it was a mess ;)
TimToady it needs more representation on RC
mikemol TimToady++ 19:47
TimToady however, at the moment I'm working on entry #400 for Perl 6, so I'll have to put that off :)
mikemol If I had a hundred or so RC tasks filled with INTERCAL examples, I could compile into a book and sell it on ThinkGeek...
*working* INTERCAL examples. :) 19:48
TimToady I hear INTERCAL is just a dialect of Perl 6...
mikemol That would be an epic fundraiser sale, too, particularly if done on April 1st.
geekosaur suddenly tempted to look for project euler solutions in intercal
mikemol I hear everything is just a dialect of Perl 6...
ahmad intercal !!?
dalek ecza: f7281f0 | (Solomon Foster)++ | lib/CORE.setting:
Add Any.min, Any.max, and Any.minmax.
19:49
mikemol ahmad: Perl 6 spec pretty much allows for complete rewriting of syntax, if I read it correctly.
masak mikemol: now I'm actually tempted to contribute a bunch of INTERCAL programs to RC :)
ahmad mikemol: interesting! isn't that both good and bad?! 19:50
mikemol ahmad: Sure. So is any programming tool that enables flexibility.
TimToady we aren't trying to recreate Java...
or maybe Java is only one of the things we're trying to recreate 19:51
mikemol masak: I *think* esr updated the INTERCAL implementation so it'd work again. If I saw INTERCAL examples on RC, I'd be tempted to test them.
ahmad mikemol: ah.. following the timtowtdi rules..
mikemol Seems weird to see that spelled that way, now.
TimToady doesn't rule, he just reigns... 19:52
well, sometimes he rules...
stevan_ rules with an iron colon
wait, that came out wrong
TimToady takes one sometimes
mikemol I was going to make a measurement pun, but I don't think I want to, now.
TimToady hugme: hug stevan_ and mikemol 19:53
hugme hugs stevan_ and mikemol
ahmad extreme flexebility is scary.. I like languages that forces you to follow some rules.. i do not say i am 100% with python or java but .. eh my language does not help here.. 19:54
TimToady those languages are also subsets of Perl 6 :)
ahmad TimToady: huh?! 19:55
mikemol ahmad: Just because you have a tool doesn't mean you need to use it when it's not the right tool for the job.
TimToady just say "use NoFunAtAll;" and there you are
stevan_ :D
ahmad TimToady: LOOOOOOL
[Coke] niecza: no Fun;
p6eval niecza v13-143-g7f4a2be: OUTPUT«===SORRY!===␤␤Action method statement_control:no not yet implemented at /tmp/4Gv7ikggYh line 1:␤------> no Fun⏏;␤␤Unhandled exception: Unable to resolve method statement_level in class Any␤ at /home/p6eval/niecza/src/…
TimToady self-declared discipline if fine
*is fine
mikemol Where's the p6 advent post about analyzing input? IIRC, it used syntax rewriting to do the analysis. 19:56
ahmad ok it is true.. but in large companies it is so hard to maintane it..
19:56 sayu left
ahmad still perl is fun .. i admit it... 19:56
tadzik tell Booking that
19:56 proller joined
mikemol Hm. I wonder what mechanisms are in p6 that could be used to enforce coding conventions. 19:57
TimToady "use MyCompany'sNoFunStandard;"
mikemol There you go. :)
tadzik Perl6::Critic?
dalek ast: e60e835 | moritz++ | S12-class/mro.t:
test for RT #77274, class inherits from parent and then grandparent
ahmad Oh people you find solutions so fast!
TimToady specs are easy to write, if you don't have to implement 'em... 19:58
ahmad true..
TimToady but in this case, it's already specced at S01:158 19:59
moritz down to 695 open tickets
mikemol perl6advent.wordpress.com/2011/12/1...th-perl-6/ 20:00
That's the one I was thinking of .
But apparently it wasn't what I thought it was. ^^
ahmad using wordpress blogs to talk about perl.... hehehehe ;) what about a free blogging service in perl6 :) 20:01
moritz ahmad: we'll surely use it if you provide it 20:02
TimToady all in good time
moritz nom: die;
p6eval nom b86c66: OUTPUT«␤ in block <anon> at /tmp/7rWZswKRyM:1␤ in <anon> at /tmp/7rWZswKRyM:1␤»
mikemol wp isn't free, it's only mostly free; you gotta get people to buy the value-added services to pay for the people who don't.
ahmad mikemol: it is mostly free** 20:04
mikemol If it were completely free, there's only one thing you could do; go through its pockets and look for loose change.
moritz it's free enough for our purposes :-)
ahmad moritz++ 20:05
20:06 demetro left
ahmad i used to host a large number of blogs (when that was profitable), i stopped the service by the end of 2011, most of my clients moved to wordpress.. 20:06
by the way, i heard there are perl6 books that will be published by Oreilly soon, is that true? 20:11
TimToady we have not started working on a new Camel, but this might be the right year for that 20:12
ahmad TimToady: are you Larry Wall ?! 20:13
TimToady I have been accused of that...
but there are at least 137 Larry Walls in the U.S.
and only two of them are me
last I checked...
ahmad TimToady: ok now am sure you are the one who invented perl! 20:14
20:14 ksi joined
ahmad i would love a new "programming perl" book **the perl5 one.. 20:14
PerlJam ahmad: There's one coming out
(or maybe it's already out?)
TimToady there's a new p5 one coming out soon, yes
the indexer has it right now 20:15
ahmad TimToady: great!!!
mikemol ahmad: Starstruck? Happened to me, too. You get over it, eventually. :)
20:15 bluescreen10 left
TimToady specially after I've been mean to you :) 20:15
ahmad mikemol: yeah i guess 20:16
mikemol doesn't recall that.
I think I more suppressed expressing it until the feeling went away. :)
PerlJam TimToady: you're not going to send us all free copies?!?
PerlJam is hurt
TimToady PerlJam is no longer starstruck... 20:17
PerlJam :-)
being starstruck sounds like it would be painful.
ahmad i would love a soft copy for free.. but i will buy it cuz i like Oreilly
mikemol ahmad: You should see how cheap O'Reilly's ebooks get, especially when they've got coupons and special deals going on. 20:18
ahmad mikemol: that is true.. i am also more into these "tablets" recently.. i am thinking of trying out the kindle..
mikemol Their back-to-school period has been extraordinarily expensive for me, two years running. I keep spending $100-$150 on quarter-priced books... 20:19
TimToady note however that the new Camel is full of Unicode chars that will not render on the typical reader
ahmad TimToady: a typical reader? 20:20
TimToady like a Kindle
mikemol I'd guess: Nook, kindle, knockoffs...
ahmad too bad.. 20:21
mikemol Dunno about Android apps like fbreader or Aldiko, or desktop apps like calibre.
PerlJam add 'handles unicode well' to the list of criteria for an e-reader
(never gave it much though because I don't own an ereader :)
huf with the kindle, it's a question of fonts, isnt it? or?
or does it implement just a subset of unicode?
mikemol epub should allow embedding of the font. I don't know what kindle uses. 20:22
TimToady note that bundling fonts with the book may make it more expensive 20:23
mikemol Fair point.
TimToady O'Reilly tends to use proprietary fonts...
ahmad TimToady: how much more expensive? look at programming python for example.. the ebook is around 70USD if am not wrong..
20:24 cooper joined
geekosaur also note that a nuber of ereaders don't support embedded fonts, and most ship with fonts that don't support a whole lot 20:24
tadzik PerlJam: I've seen some chinese characters on my Kindle today, it's a standard font
TimToady well, and so far Python is not nearly into Unicode as much as Perl 5 is 20:25
mikemol $70UD? That's nuts. *looks*
tadzik and Kindle's .mobi is just .epub with more DRM possibilities, iirc
TimToady tadzik: try zooming them and see if they blur
mikemol ahmad: Ebook form is $51.99 off of O'Reilly's site. $71.49 if you want the ebook *and* hardcopy. 20:26
geekosaur (hrm, let me correct that. almost all ereaders use Adobe's mobile ereader software, which doesn't support embedded fonts)
mikemol I've been foregoing hardcopy.
ahmad mikemol: oh i see.. still a bit expensive for the ecopy 20:27
geekosaur also. .mobi is not an amazon-invented format, it comes from the palm world and is entirely unrelated to epub
TimToady anyway, it's a hard problem for any ebooks that want to do cutting edge Unicode stuff
[Coke] huh. new in Java 7: You can use underscores in numeric literals.
mikemol ahmad: O'Reilly usually cuts prices by 50% when they put something on special. I rarely buy the ebooks when they're not on special. So, for me, that book would be about $26 when I got around to buying it. 20:28
TimToady they must have borrowed that feature from Ada...
20:28 bluescreen10 joined 20:29 am0c left
ahmad mikemol: good idea.. but sometimes you need a book and it has no offers on it.. 20:29
tadzik that's the biggest font I can get: i.imgur.com/Tftpr.jpg
the bottom one blurs, but that's due to lack of Depth of Field :) 20:30
PerlJam ahmad: so ... you *need* the latest (as yet unpublished) Camel book? :)
TimToady tadzik: looks pretty decent; my friend was trying to show off Japanese, so maybe it's a little different there
ahmad PerlJam: *_* yes!
TimToady or maybe he had a Nook...
tadzik TimToady: I wouldn't tell if a character is japanese even if I saw one :) 20:31
TimToady there are a few minor font differences, more if you're comparing with simplified, since Japanese fonts are more based on traditional 20:32
masak they have to be, if you consider the historical ordering :) 20:33
TimToady 'simple', for instance: traditional: 單 simplified: 单 Japanese: 単 20:34
PerlJam that looks like a TV with arms and a body 20:35
(well, the traditional doesn't really, but the other two do)
20:36 wolfman2000 left
masak TimToady: that looks like an instance of kanji and simplified hanzi looking more related :) 20:36
TimToady or 'uniform' 齊 齐 斉
there are cases where the Japanese looks more like the simplified 20:37
but the trend is the other way
ahmad PerlJam: so you were saying....... :)
tadzik now that I think of it, why is it "is export" and not "is exported"?
PerlJam tadzik: because then the verb tense will be wrong 20:38
TimToady 'an export' is a valid noun in English, and it's shorter
tadzik sub foo is exported {} seems valid English to me
TimToady and because I dislike the passive voice :) 20:39
tadzik :) okay
20:39 cognominal_ left
PerlJam ahmad: You can have your new camel in a month or two :) 20:40
20:40 arlinius joined, cognominal joined
ahmad PerlJam: i thought you offered something about "the latest (as yet unpublished) Camel book" nevermind ;) 20:41
PerlJam ahmad: Why would I have such a thing? I wouldn't use it anyway. I initially learned Perl from the man page (back when there was only one) so perldoc is good enough for me ;-) 20:44
20:45 az5112 joined
ahmad PerlJam: mmm.. i still liked the camel book :) i am a python guy actually but i still enjoyed reading the camel book.. it was a fun read, i hope the new one will not be a dry read.. 20:45
dalek p: ed38a82 | jnthn++ | src/NQP/World.pm:
Toss outdated comment.
p: 61ace16 | jnthn++ | src/NQPQ/ (3 files):
Bring latest NQP changes over into NQPQ.
PerlJam It's how I'm learning Perl 6 too. Absorption from #perl6 and the Synopses 20:46
ahmad: One thing I know: if TimToady had a hand in writing the book, it won't be "dry"
though with 3 (?) authors, there's no telling how much was contributed by TimToady 20:47
TimToady I repolished the first ten chapters or so; the rest may have residual jokes from prior editions :)
ahmad TimToady: ah that is good news! 20:48
** still remember the "do not try that at home" and the 4 wifes examples :D 20:49
az5112 Hello, I am having trouble figuring out p6 references. I insert an array into a hash %h{"blah"} = Array.new( 1, 2, 3, 4); 20:50
How do I iterate over it? for %h{blah} -> $x {} gives me an Array ref. Do I have to flatten it somehow? How?
TimToady %h{blah}.keys, or .pairs, or .kv, or .values
default would be pairs 20:51
az5112 That easy? Thanks :)
masak az5112: also, [1, 2, 3, 4] is shorter than Array.new(...) 20:52
TimToady .list probably works too
PerlJam az5112: or for @(%h<blah>) -> $x { ... }
TimToady or for %h<blah>[] -> $x 20:53
(I think that flattens)
jnthn prolly
PerlJam it does
TimToady perl6: my $x = <a b c d>; for $x[] { .say } 20:54
p6eval pugs b927740: OUTPUT«a b c d␤»
..niecza v13-144-gf7281f0: OUTPUT«Unhandled exception: No value for parameter \$index in postcircumfix:<[ ]>␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (postcircumfix:<[ ]> @ 1) ␤ at /tmp/XlcLOA4zfo line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2830 (ANON @ …
..rakudo b86c66: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in method postcircumfix:<[ ]> at src/gen/CORE.setting:3983␤ in block <anon> at /tmp/vEv0JF5PFc:1␤ in <anon> at /tmp/vEv0JF5PFc:1␤»
az5112 Not all solutions are more readable than perl5 ;-)
TimToady perl6: my $x = <a b c d>; for $x[*] { .say }
p6eval rakudo b86c66: OUTPUT«a␤b␤c␤d␤»
..pugs b927740: OUTPUT«a␤»
..niecza v13-144-gf7281f0: OUTPUT«Unhandled exception: Cannot use value like Whatever as a number␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 203 (Any.Numeric @ 5) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setti…
20:55 ahmad left
TimToady nom doesn't actually seem to handle .[] 20:55
b: my $x = <a b c d>; for $x[] { .say }
[Coke] colomon: niecza at 92.77 % ( 17112 / 18444 )
p6eval b 1b7dd1: OUTPUT«a␤b␤c␤d␤»
TimToady perl6: my $x = <a b c d>; say "$x[]" 20:56
p6eval pugs b927740: OUTPUT«a b c d␤»
..rakudo b86c66: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in method postcircumfix:<[ ]> at src/gen/CORE.setting:3983␤ in block <anon> at /tmp/Svznbq5gtv:1␤ in <anon> at /tmp/Svznbq5gtv:1␤»
..niecza v13-144-gf7281f0: OUTPUT«Unhandled exception: No value for parameter \$index in postcircumfix:<[ ]>␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (postcircumfix:<[ ]> @ 1) ␤ at /tmp/av_BLVLYzb line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2830 (ANON @ …
20:56 fsergot left
TimToady at least pugs knows about Zen slices, even if it doesn't flatten right 20:56
PerlJam rakudo should know about them too. :( 20:57
TimToady that's been in there since like, about Apocalypse 2 or so...
to be fair, it's just a regression for nom 20:58
PerlJam rakudo:my @a = <a b c d>; for @a[] { .say }
TimToady space 20:59
PerlJam blah
nom: my @a = <a b c d>; for @a[] { .say }
p6eval nom b86c66: OUTPUT«a␤b␤c␤d␤»
TimToady the final frontier...
innerestin' 21:00
PerlJam I don't quite comprehend rakudo's confusion about the other one, but I'd guess it's relatively LHF 21:01
jnthn Trying a patch for it now. 21:02
TimToady thinks that if val() is only going to accept 1+2i we should not output 1 + 2i 21:03
contrariwise, if we're going to output that, val() should accept it 21:05
dalek kudo/nom: 975b6bb | jnthn++ | src/core/Parcel.pm:
Fix zen slice on a Parcel.
21:07
TimToady but that's problematic when used within < 1 + 2i >, which might mean three words
so I think we should probably emit 1+2i instead
or even <1+2i> when that becomes the norm for complex literals 21:09
21:09 ghiro joined, ghiro left
cognominal seen in Rakudo: method map($block) is rw { MapIter.new(:list((self,).flat), :block($block)).list } # is map suppose to flatten? I would say no. This not perl 5 which flattens everything 21:14
aloha in Rakudo: method map($block) is rw { MapIter.new(:list((self,).flat), :block($block)).list } # is map suppose to flatten? I would say no. This not perl 5 which flattens everything was last seen in 15345 days 21 hours ago .
PerlJam heh!
masak b: my @a = 1..4; .say for @a[]
p6eval b 1b7dd1: OUTPUT«1␤2␤3␤4␤»
masak nom: my @a = 1..4; .say for @a[]
p6eval nom b86c66: OUTPUT«1␤2␤3␤4␤»
masak b: my $x = 1..4; .say for $x[] 21:15
cognominal nom: (3, (2, 1)).map:{ say $_.perl }
p6eval b 1b7dd1: OUTPUT«1␤2␤3␤4␤»
nom b86c66: ( no output )
masak nom: my $x = 1..4; .say for $x[]
p6eval nom b86c66: OUTPUT«1␤2␤3␤4␤»
jnthn cognominal: Yes, map is leant to flatten. 21:16
*meant
masak oh, jnthn++ just fixed that :)
PerlJam Do we have a test for it though?
masak greps for zen in roast
TimToady it's meant to return a list of parcels, which flatten in normal list context, but don't flatten in lol context 21:17
jnthn TimToady: That's the input to map being put in a flattening context.
(in the code cognominal pasted)
TimToady okay
jnthn Not flattening of the output. I think the output is just what you said.
TimToady yes, the input flattens, use lol if you don't want that :) 21:18
cognominal I should learn to LoL.
jnthn masak: If you don't find one for zen with Parcel, please could you add one? :)
masak jnthn: *sigh*. this is what happens when you don't give me time to open up a ticket. now suddenly *I* have to add a test :P 21:19
tadzik :D
jnthn :D
masak I don't *do* work, remember? I *create* work.
masak grumblingly obliges
jnthn
.oO( how much work is his macros grant going to make for me? :) )
21:20
masak nom: my $x = <5 6 7>; say $x[] 21:21
p6eval nom b86c66: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in method postcircumfix:<[ ]> at src/gen/CORE.setting:3983␤ in block <anon> at /tmp/VwIBW_HmTJ:1␤ in <anon> at /tmp/VwIBW_HmTJ:1␤» 21:22
masak guess doing lives_ok on the above would work...
cognominal nom: (3, (2, 1)).lol.map:{ say $_.perl }
p6eval nom b86c66: ( no output )
TimToady nom: eager (3, (2, 1)).lol.map:{ say $_.perl }
p6eval nom b86c66: OUTPUT«3␤(2, 1)␤»
TimToady it's the sink bug 21:23
nom: (3, (2, 1)).lol.map:{ say $_.perl }; 42;
p6eval nom b86c66: ( no output )
TimToady yeah, nom doesn't sink its earlier statements, though something could conceivably be reading the result of the final statement 21:24
diakopter en.wikipedia.org/wiki/Pinacate_beetle
dalek ast: 73296d8 | masak++ | S02-types/parcel.t:
[S02-types/parcel.t] added test about zen slicing
masak jnthn: there you go.
cognominal for is implementd in term of map, so it flattens. Is is this conform to the spec
TimToady yes
jnthn masak: oh wow, you actually did something! 21:25
:P
TimToady and is what the p5 programmer expects
jnthn masak: You may now have en oel ;)
masak TimToady: agree on the 1+2i issue.
jnthn: way ahead of you there :) 21:26
jnthn: here, have an actual ö.
tadzik nom: sub foo { !!! }; foo()
p6eval nom b86c66: OUTPUT«Stub code executed␤ in sub foo at /tmp/foAdSwVsgN:1␤ in block <anon> at /tmp/foAdSwVsgN:1␤ in <anon> at /tmp/foAdSwVsgN:1␤»
21:26 proller left
masak how's the p6cc coding going? 21:26
TimToady speaking of nöel, happy twelfth night 21:27
21:27 proller joined
jnthn makes an önest effort to find a good way to type that char again... 21:27
masak the importance of being önest...
[Coke] jnthn: on windows? us international keyboard. 21:28
(then "o)
TimToady hates dead keys 21:29
geekosaur isn't the diaeresis supposed to be on the ë?
21:29 bonsaikitten left
masak geekosaur: yes, we know ;) 21:29
TimToady I'll never tell
masak ...except Dumbledore here, who may or may not be actually insane :P 21:30
masak hides
jnthn aha, found the nice thingy I had before
Äxcellent!
masak :P
jnthn (It gives me US keyboard layout and Swedish chars just an AltGr+<the lettter> away) 21:31
[Coke] TimToady: it's just easier than remembering it's alt-0246.
jnthn: ah, there you go. ;)
TimToady eh? I just type Compose "o
or Compose << for « 21:32
but then, I'm not on Winders
x3nU jnthn: polish keymap works that way :) 21:34
21:35 zby_home_ joined, donri joined 21:36 awoodland left 21:39 mj41 joined
TimToady much needed nap & 21:42
masak 'night 21:45
jnthn o/ TimToady
21:46 gv left 21:51 bonsaikitten joined 21:58 cognominal left, cognominal joined
sorear returns 21:59
21:59 cognominal left
[Coke] EEK 22:00
22:01 cognominal joined
masak don't sneak up on us like that! 22:03
22:03 az5112 left 22:04 bkolera joined 22:17 proller left 22:20 stevan_ left 22:21 stevan_ joined
sorear oook, now I'm looking at p5-mop ... 22:25
dalek p/qbootstrap: 2e578b5 | jnthn++ | src/ (2 files):
Accessing attributes may trigger auto-vivification of a scalar container with P6opaque; we were missing some write-barriers for these cases. Add them.
22:27
p/qbootstrap: ed38a82 | jnthn++ | src/NQP/World.pm:
Toss outdated comment.
p/qbootstrap: 61ace16 | jnthn++ | src/NQPQ/ (3 files):
Bring latest NQP changes over into NQPQ.
p/qbootstrap: 7c4b557 | jnthn++ | src/ (6 files):
Merge branch 'master' into qbootstrap
p/qbootstrap: 27a79fe | jnthn++ | tools/build/Makefile.in:
A missing s/SymbolTable/World/.
p/qbootstrap: 129d9b2 | jnthn++ | / (7 files):
Re-arrange things a little - just in stage 2 for now. This gets an NQP built that more fully uses QRegex. Lots to fix - this is mostly just shuffling around the build process and dependency chain somewhat.
p/qbootstrap: 467b83f | jnthn++ | .gitignore:
Update .gitignore.
p/qbootstrap: 8fc9545 | jnthn++ | src/QHLL/Grammar.pm:
Clean up some leftovers from the way the nqp-rx regex engine did debug stuff (we'd want to put it back as something MOP-level-ish).
sorear jnthn: What is qbootstrap?
jnthn sorear: Branch to make nqp bootstrap using qregex
sorear: And thus completely eliminate the old regex engine. And use QRegex for actually parsing Perl 6 programs. 22:28
Which I *hope* will give us a nice parsing speed-up.
Though won't fully believe it until I have timings :)
22:32 az5112 joined
az5112 What would be perl6 idiom for removing keys less than $x from a hash? 22:38
Do I have to copy keys to a temporary array before iterating over them? 22:39
tadzik nope
I think nope :) 22:40
jnthn my %h = a => 1, b => 2, c => 3; %h .= grep: *.value > 2; say %h
nom: my %h = a => 1, b => 2, c => 3; %h .= grep: *.value > 2; say %h
p6eval nom 975b6b: OUTPUT«("c" => 3).hash␤»
jnthn nom: my %h = a => 1, b => 2, c => 3; %h .= grep: *.value > 1; say %h
p6eval nom 975b6b: OUTPUT«("b" => 2, "c" => 3).hash␤»
jnthn Like that?
masak az5112: t2? :) 22:41
az5112 t2
And hashes are unordered, right? I mean they are not an RB tree like a C++ map? 22:42
sorear right 22:43
they're actual hashes
az5112 Is it by the spec or implementation specific? 22:44
sorear by spec, you can't count on any ordering
implementations
masak though Parrot currently gives you lots of ordering. :/ 22:45
sorear are allowed to do stuff
masak nom: my %h = 'A'..'Z' X=> 1..*; say %h.perl
er.
p6eval nom 975b6b: OUTPUT«(timeout)»
masak nom: my %h = 'A'..'Z' Z=> 1..*; say %h.perl
p6eval nom 975b6b: OUTPUT«("A" => 1, "B" => 2, "C" => 3, "D" => 4, "E" => 5, "F" => 6, "G" => 7, "H" => 8, "I" => 9, "J" => 10, "K" => 11, "L" => 12, "M" => 13, "N" => 14, "O" => 15, "P" => 16, "Q" => 17, "R" => 18, "S" => 19, "T" => 20, "U" => 21, "V" => 22, "W" => 23, "X" => 24, "Y" => 25, "…
sorear niecza: my %h = 'A'..'Z' Z=> 1..*; say %h.perl # niecza's Hash.perl explicitly sorts the result :p O(n), O(log n), close enough 22:46
p6eval niecza v13-144-gf7281f0: OUTPUT«{"A" => 1, "B" => 2, "C" => 3, "D" => 4, "E" => 5, "F" => 6, "G" => 7, "H" => 8, "I" => 9, "J" => 10, "K" => 11, "L" => 12, "M" => 13, "N" => 14, "O" => 15, "P" => 16, "Q" => 17, "R" => 18, "S" => 19, "T" => 20, "U" => 21, "V" => 22, "W" => 23, "X" => 24,…
sorear n log n
22:46 proller_ joined
masak I don't remember the exact rationale for this, but ISTR it was performance-related, which sounds weird. 22:46
sorear niecza: my %h = 'A'..'Z' Z=> 1..*; for %h -> $pair { say $pair.perl }
p6eval niecza v13-144-gf7281f0: OUTPUT«"Z" => 26␤"Y" => 25␤"X" => 24␤"W" => 23␤"V" => 22␤"U" => 21␤"T" => 20␤"S" => 19␤"R" => 18␤"A" => 1␤"B" => 2␤"C" => 3␤"D" => 4␤"E" => 5␤"F" => 6␤"G" => 7␤"H" => 8␤"I" => 9␤"J" => 10␤"K" => 11␤"L" => 12␤"M" => 13␤"N" => 14␤"O" => 15␤"P" => 16␤"Q" => 17␤»…
az5112 jnthn: that filters by value; I want to filter by key. grep: *.key > 3 does what I want. Thanks.
sorear without using .perl it doens't sot 22:47
HOWEVER
jnthn az5112: ah, gotcah :)
sorear niecza: my %h = 'A'..'K' Z=> 1..*; for %h -> $pair { say $pair.perl } # Guess what's going on here!
jnthn *gotcha
p6eval niecza v13-144-gf7281f0: OUTPUT«"A" => 1␤"B" => 2␤"C" => 3␤"D" => 4␤"E" => 5␤"F" => 6␤"G" => 7␤"H" => 8␤"I" => 9␤"J" => 10␤"K" => 11␤»
22:47 am0c joined
masak sorear: it... sorts the pairs? 22:48
g'ah! there's too much order in Perl 6 hashes! :)
sorear masak: compare my last two commands 22:49
jnthn oh, it's the "don't really use a hash until it's worth it" trick
az5112 So coming back to my filter/grep example (%h .= grep: *.key > 2); -- it will always have to go through the complete hash?
sorear az5112: yes 22:50
masak sorear: what jnthn said.
jnthn grr, bootstrapping is hard 22:51
masak 'night, #perl6 22:52
22:52 zby_home__ joined 22:53 zby_home_ left 22:57 MayDaniel joined
sorear does anyone think $x does A(1) makes sense? 23:04
(jnthn, esp)
jnthn sorear: I think it's useful. I seem to remember it's a slight nuisance to handle. 23:05
23:06 arlinius left 23:07 raiph joined
sorear jnthn: How does it parse? 23:07
jnthn sorear: I seem to remember it parsed as a subcall on the RHS and then I had to mangle the AST :S 23:08
Probably cleaner is if we give a different nextterm to but and does. 23:10
23:14 shinobicl___ joined
sorear jnthn: which do you recommend I do for #100? 23:14
jnthn sorear: Maybe try for the nextterm approach. If it works out fine for you, I'll steal it for Rakudo. :) 23:17
And hopefully STD will do so too :)
It's gotta be better than mangling the AST.
23:20 kaleem left 23:21 ahmad_ joined
ahmad_ hello 23:21
sorear hello ahmad_! 23:22
colomon niecza: enum foo <a b c>; my $a = 4; $a does foo; say $a.foo
p6eval niecza v13-144-gf7281f0: OUTPUT«Unhandled exception: Cannot compose a type of category class (foo)␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (infix:<does> @ 1) ␤ at /tmp/39aD3ckuDR line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2830 (ANON @ 3) ␤ at /home/… 23:23
ahmad_ sorear: can i ask one non perl question?
23:24 donri left, arlinius joined
sorear ahmad_: you don't need permission 23:25
dalek p/qbootstrap: ebe1ccb | jnthn++ | / (3 files):
Start to partially get QRegex into stage 1 also (this is to about the same level as the original NQPQ had it).
p/qbootstrap: 2e25615 | jnthn++ | src/NQPQ/Actions.pm:
Fix update-o.
colomon niecza: say 1...10...15
p6eval niecza v13-144-gf7281f0: OUTPUT«1 2 3 4 5 6 7 8 9 10 11 12 13 14 15␤»
colomon doh!
ahmad_ sorear: this quote :Lend yourself to others, but give yourself to yourself. what does it mean? English is my fourth language and i am not very good in it :) i am a programmer and i come here often but i just hate it when i can not understand something like this!!
23:26 whiteknight joined, whiteknight is now known as Guest40
sorear ahmad_: I've actually never heard that one. 23:27
23:28 Moukeddar joined
tadzik NQPP6QRegex, nice name :) 23:28
colomon www.brainyquote.com/quotes/quotes/m...04670.html
jnthn tadzik: :P 23:29
ahmad_ colomon: can you tell me what it means in simple english?
colomon: not to be too good to others? 23:30
colomon ahmad_: well, you lend things you hope to get back. when you give things, you don't expect to get them back. 23:32
dalek p: 1ab78ef | jnthn++ | src/NQP (2 files):
Include timestamp again for NQP SC identifier; we don't face this issue in Rakudo since we aren't trying to bootstrap it, so no changes there (we primarily wanted the original change in Rakudo rather than NQP anyway).
p: 16aab00 | jnthn++ | src/stage0/ (6 files):
Update bootstrap, just to ensure we can.
p/qbootstrap: 1ab78ef | jnthn++ | src/NQP (2 files):
Include timestamp again for NQP SC identifier; we don't face this issue in Rakudo since we aren't trying to bootstrap it, so no changes there (we primarily wanted the original change in Rakudo rather than NQP anyway).
p/qbootstrap: 16aab00 | jnthn++ | src/stage0/ (6 files):
Update bootstrap, just to ensure we can.
p/qbootstrap: e31290a | jnthn++ | src/ (8 files):
Merge branch 'master' into qbootstrap
colomon ahmad_: I'm not sure I fully understand the sense of the quote myself. I wonder if it is more striking in the original French?
ahmad_ colomon: i think it is not well translated too.. or maybe my english skills are not so good.. anyway thanks 23:34
x3nU i wonder why you asked here 23:35
23:36 mj41 left
ahmad_ x3nU: don't know really.. 23:36
cognominal « Il faut se prêter à autrui et ne se donner qu'à soi-même. »
sorear x3nU: #perl6 is full of linguists 23:37
cognominal I don't know the context, but without it, I can say the translation is correct.
colomon perl6: say (0, 2 ... 7)[^10] 23:38
p6eval pugs b927740: OUTPUT«*** ␤ Unexpected "7"␤ expecting operator or ")"␤ at /tmp/cVWziROVgb line 1, column 15␤»
..rakudo 975b6b, niecza v13-144-gf7281f0: OUTPUT«0 2 4 6 8 10 12 14 16 18␤»
ahmad_ cognominal: thanks, but what do you think it means? not to be very giving?! 23:40
colomon hmmm.... should 0, 2 ...^ 8, 11 ... 17, 18 ...^ 21 be legal?
geekosaur I would say it's along the lines of "one should strive to help others, but not at the expense of oneself" 23:41
there are a couple of Talmudic quotes along the same lines (plus a longish argument between several rabbis over a theoretical case); the upshot is, you can't be helpful to others if you've run yourself into the ground 23:42
cognominal skimming thru google book, it may be not in the book "Les essais" as I thought. Apparently Montaigne said that, when asked to be mayor of Bordeaux, as a motive to refuse the charge, but he eventually accepted. 23:43
23:46 Moukeddar left
ahmad_ geekosaur: mmm interesting.. i thought it means something like, lend yourself temporarly to others so they suggest solutions to your problems, but give yourself to yourself, in sense of that eventually you should come up with your own solutions to your problems.. But I guess cognominal showed the correct meaning.. thanks :) 23:47
geekosaur I can see the Montaigne context as an aspect of what I said, although I should probably try to find more information before asserting that with any certainty 23:49
cognominal According to a book "philospher depuis Montainge et après Wittgentein", it is about the risk of loss integrity and freedom. You should not "lend yoursel to other" if you loose you very inner principle. 23:53
geekosaur so, there you go. (this is why context matters :) 23:54
cognominal Somehow, it reminds me a remark about a human ressource manager which sounds to me like the opposite. Eventually people are shaped by the company where they work. I interpreted it as a loss of integrity.
indeed. 23:55
ahmad_ cognominal: hahaah actually the one who send me the quote was my HR manager :|
geekosaur notes that most HR folks he's had to deal with exemplified the opposite,,, 23:56
ahmad_ i spent 2 years reading only nietzsche books.. i think it is time for change.. 23:59