»ö« 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:05 preflex_ joined 00:06 preflex left, preflex_ is now known as preflex
masak I'll take that as a compliment. 00:07
tadzik heh, I didn't even think about a connection with you :)
00:08 simcop2387 left 00:11 robinsmidsrod left, simcop2387 joined, zostay_ left 00:12 zostay joined, revdiablo left, robins joined 00:13 revdiablo joined, revdiablo left, revdiablo joined
sisar tadzik: github.com/tadzik/panda/issues/13 :) 00:16
tadzik sisar++ 00:21
masak 'night, #perl6 :) 00:23
00:25 bkolera joined
tadzik g'night masak 00:27
00:32 aindilis left, aindilis joined 00:34 drbean left 00:41 Trashlord left, wentam left 00:45 Trashlord joined 00:47 yves left 00:48 yves joined
dalek nda: b80c41f | (Siddhant Saraf)++ | README.md:
info about installing panda behind a proxy; balancing an unbalanced bracket
00:54
sisar ^^ugh, the links at the bottom are ugly :( 00:55
tadzik: please review. i've tried to keep it brief and used official webpages to avoid 'link-stale' 00:57
sisar afk 00:58
00:59 PacoAir left
Teratogen Whitney Houston is dead! 01:03
sorear Who> 01:08
?
01:11 tomodo joined
tomodo hi 01:11
how is perl 6 doing? 01:12
colomon pretty well 01:13
sisar Camelia, perl 6 mascot, is fluttering its wings on one side of the earth and creating hurricanes on the other side.
ButterFlyEffect++
colomon sorear: pop singer, star of the movie The Bodyguard. which, come to think of it, probably came out before you were born. :) 01:14
sisar s/mascot/spokesbug 01:15
01:39 retupmoca left 01:45 yertalert left 01:58 gfldex joined 02:11 _jaldhar_ left, jaldhar joined 02:16 ksi left
colomon niecza: say ∅ ∌ "blueberry" 02:27
p6eval niecza v14-39-g5857ccb: OUTPUT«(timeout)» 02:28
TimToady niecza: say ∅.WHAT 02:29
p6eval niecza v14-39-g5857ccb: OUTPUT«Unhandled exception: Parameter '' in 'Set.gist' requires a defined argument␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (Set.gist @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1228 (ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1230…
TimToady niecza: say ∅ ~~ Set 02:30
p6eval niecza v14-39-g5857ccb: OUTPUT«True␤»
gfldex perl6: my $start = now; say [+] 0..1000; say now - $start; 02:32
p6eval rakudo 1200dd: OUTPUT«500500␤1.48277165586799␤»
..niecza v14-39-g5857ccb: OUTPUT«500500␤Unhandled exception: Cannot use value like Instant as a number␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 255 (Any.Numeric @ 5) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/auzXNOh8jI line 1 (mainl…
..pugs b927740: OUTPUT«*** No such subroutine: "&now"␤ at /tmp/AZbMnRggPe line 1, column 8-16␤»
gfldex niecza: say now.WHAT; 02:33
p6eval niecza v14-39-g5857ccb: OUTPUT«Instant()␤»
gfldex niecza: say now.^methods;
p6eval niecza v14-39-g5857ccb: OUTPUT«Unhandled exception: Unable to resolve method methods in class ClassHOW␤ at /tmp/cldeSsdgS_ line 1 (mainline @ 4) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3773 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3774 (module-CORE @ 65) ␤ at…
gfldex is there a way to turn Instant to Num for niecza? 02:34
sorear .to-posix 02:35
but you really should be using times[0]
TimToady niecza: say now.to-posix
p6eval niecza v14-39-g5857ccb: OUTPUT«1329011595.2539821 False␤»
TimToady posix is not supposed to be fractional...
(afaik)
sorear isn't gettimeofday in posix nowadays? 02:36
TimToady not in the p5 manpage
sorear according to my gettimeofday(2), POSIX.1-2001 adds gettimeofday, POSIX.1-2008 marks it obsolete in favor of clock_gettime 02:37
gfldex perl6: my $start = times[0]; say [+] 0..1000; say times[0] - $start; 02:38
02:38 wolfman2000 joined
p6eval rakudo 1200dd: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&times' called (lines 1, 1)␤» 02:38
..pugs b927740: OUTPUT«500500␤0.000003␤»
..niecza v14-39-g5857ccb: OUTPUT«500500␤0.084004999999999885␤»
gfldex :->
perl6: my $start = now.to-posix; say [+] 0..1000; say now.to-posix - $start; 02:39
p6eval pugs b927740: OUTPUT«*** No such subroutine: "&now"␤ at /tmp/B6sV7QIpCc line 1, column 8-25␤»
..rakudo 1200dd, niecza v14-39-g5857ccb: OUTPUT«500500␤0␤»
TimToady and posix seconds are ill defined during leapseconds, I think
gfldex that might be the reason why most ppl try so hard to be drunk while leapseconds happen 02:40
02:44 bacek left
geekosaur more precisely POSIX doesn't support leap seconds at all, so POSIX time is several seconds off from "true" time 02:55
dalek ast: 658f2be | (Solomon Foster)++ | S03-operators/set.t:
Start of set operators test.
02:57
TimToady basically, if you'd doing fractional calculations of duration with posix times, don't, which is why Perl 6 specs that posix time is only integers
03:00 whiteknight left 03:23 ab5tract left
benabik As I recall, POSIX is defined as "seconds since 1/1/1970 00:00 UTC". Leap seconds don't make sense in that definition. Adding a second to UTC doesn't change how many seconds have passed. 03:30
*POSIX time, obv
Teratogen Y2.038K is coming up
benabik Of course, I'm sure people _do_ adjust unix time for leap seconds. Which irritates me to no end. 03:32
03:38 orafu left, orafu joined 03:50 kmwallio joined 04:02 kmwallio left 04:05 alester_ joined 04:11 alester left, alester_ is now known as alester, Trashlord left, Trashlord joined 04:15 y3llow left 04:16 y3llow joined, y3llow left, SAALGMA joined 04:22 bkolera left 04:23 orafu left, Su-Shee_ joined 04:24 REPLeffect left, bkolera joined 04:25 jerome_ left, orafu joined 04:27 Su-Shee left, REPLeffect joined 04:34 orafu left, alester left, gfldex left, yves left, pochi left 04:36 alester joined 04:38 jerome_ joined 04:39 orafu joined, geekosaur left 04:40 geekosaur joined, mucker joined, gfldex joined, yves joined, pochi joined 04:56 araujo left 04:57 birdwindupbird joined 05:23 tokuhirom left 05:58 tomodo left 06:12 araujo joined, araujo left, araujo joined
moritz o/ 06:21
sorear /o 06:24
Teratogen \o/
=) 06:35
06:44 preflex left
moritz araujo: no, we haven't done any real work on pugs 06:48
06:50 preflex joined 06:51 takesako left 06:55 takesako joined
araujo o/ !! 06:58
mmm...
moritz, is there any TODO or roadmap regarding pugs? 07:23
07:26 birdwindupbird left
moritz araujo: I don't think so; I think masak wanted to pick a few low-hanging fruits first 07:26
araujo sounds like a plan 07:30
:P
dalek kudo/nom: 9481a2c | moritz++ | src/core/control.pm:
give eval()s a separate file annotation
07:31
kudo/nom: 9435a07 | moritz++ | tools/build/NQP_REVISION:
bump to newest NQP to get -e file annotation fix
moritz those are cherry-picked from the "bt" branch 07:32
in my several ours of debugging and "fixing" stuff I seem to have broken more than I have repaired 07:33
so I'm now basically starting over with the backtrace stuff, armed with hindsight 07:35
07:39 kaare_ joined, bkolera left
araujo :) 07:40
07:48 GlitchMr joined 07:50 snearch joined 07:55 bkolera joined 08:13 birdwindupbird joined 08:21 wooden joined, wooden left, wooden joined 08:32 snearch left 08:39 birdwindupbird left 08:45 tarch joined
tadzik good mornings 08:55
sisar tadzik: happy with my commit? 09:02
tadzik yeah, It's all right :) 09:05
tadzik afks 09:11
09:41 tarch left 09:45 lestrrat left 09:46 lestrrat joined 09:54 Chillance left 10:05 tokuhirom joined 10:09 tarch joined 10:39 snearch joined
colomon niecza: "hogwash" !(elem) <a b c d e> # TimToady? 10:53
p6eval niecza v14-39-g5857ccb: OUTPUT«===SORRY!===␤␤Cannot negate (elem) because additive operators are not iffy enough at /tmp/e4OKjv7C92 line 1:␤------> "hogwash" !(elem)⏏ <a b c d e> # TimToady?␤␤Parse failed␤␤»
jnthn ooh, snow! 10:57
Teratogen o/~ let it snow, let it snow, let it snow o/~
colomon TimToady: also, shouldn't multi sub infix:<∋>($a, Set $b --> Bool) be multi sub infix:<∋>(Set $a, $b --> Bool) ? 10:58
11:00 bkolera left 11:02 mj41_nb joined 11:06 tarch left 11:07 tarch joined
dalek ast: ec4e4e0 | (Solomon Foster)++ | S03-operators/set.t:
More "is element of" tests, first union tests.
11:14
11:15 tarch left 11:25 z3usurfer joined 11:26 z3usurfer left 11:39 Su-Shee_ is now known as Su-Shee
dalek kudo/nom: 941a305 | moritz++ | src/core/Backtrace.pm:
improved backtrace printer

When encountering a a non-Routine, it searches for an outer Routine that also appears in the call chain, and takes their name, but the line number of the block. The idea comes from jnthn++
Testing welcome, not sure yet how well it interacts with lazy lists. At least for normal for-loops it cuts all those eager/reify methods.
11:50
jnthn moritz: Lazy lists follow that same code path through reify etc. 11:53
moritz: So should work out the same kinda way
dalek kudo/nom: 2c672ae | jnthn++ | src/core/Range.pm:
Optimize range iteration code a bit to shave 40% or so off [+] 1..10000 style things.
11:56
kudo/nom: 6810cc6 | jnthn++ | src/core/metaops.pm:
When doing a reduction, we are going to need the whole list anyway. Instead of chewing it element by element, instead take it in bigger chunks. This reduces the fixed-size overhead per reificication which, in the case of reifying a range, is massively greater than the time to produce a single value. With this and the previous patch [+] 1..1000 runs in 8% of the time it did before; TimToady++ for pointing out this epic performance fail.
11:57 MayDaniel joined, MayDaniel left, MayDaniel joined
moritz jnthn: well, the difference is that in the case of a returned lazy list, the outer sub doesn't appear in the call chain anymore 11:58
jnthn: so the question is not if reify etc. appear in the backtrace, but more how much else is cut out
dalek kudo/nom: c96ad7d | moritz++ | docs/ChangeLog:
update ChangeLog
12:02
12:05 mucker left 12:06 mucker joined 12:09 Trashlord left
jnthn moritz: ah, I see 12:10
12:10 snearch left
jnthn moritz: In your ChangeLog patch: 12:11
+ compile time error reporting when $!x and $.x are used in the wrong places
+ detection and complaining about $.x uses in submethods
I put these in
and you added
+ catch constructs that require an invocant but don't have one
+ catch uses of virtual method calls in submethods and attribute initializers
;-)
moritz oh
jnthn I do like your wording better though :)
moritz should read more carefully in future 12:12
jnthn: should I just remove your two lines?
jnthn moritz: yeah 12:13
dalek kudo/nom: cd5136e | moritz++ | docs/ChangeLog:
remove duplicate ChangeLog entries, jnthn++
moritz is pretty sure he must updated SVG::Plot after the merge of the has_self branch 12:14
star: use SVG::Plot; say "alive";
p6eval star 2012.01: OUTPUT«(timeout)»
12:15 whiteknight joined 12:18 xinming joined 12:21 mj41_nb left 12:24 JimmyZ joined
dalek p/bs: fd864b6 | moritz++ | src/HLL/Compiler.pm:
add "-e" file annotation where appropriate
12:25
p/bs: e0fdb23 | jnthn++ | src/HLL/Compiler.pm:
Merge branch 'master' into bs
12:27 bonsaikitten left, bonsaikitten joined 12:28 _sri left, _sri joined
JimmyZ hmm... looks like dyncall doesn't support strawberry perl 12:32
jnthn JimmyZ: At most, it's likely to be configuration issues rather than anything deep 12:36
moritz SVG::Plot fixed. 12:40
jnthn moritz++
12:41 birdwindupbird joined
moritz wonders what to hack on next 12:43
looking through ROADMAP, <*foo> regexes look interesting 12:46
Rat/FatRat/Rational cleanup would be my field of expertise too, though doesn't sound very fun
anonymous enums sounds doable
jnthn <*foo> is probably much fun 12:48
It should be doable.
For anonymous enums - if you can get the anonymous EnumMap-returning thing in place that'd be pretty cool (more) 12:49
I'm thinking we could use that to produce the values we use for enum declarators too
We can't until we have serialization stuff in place really. 12:50
But it'd be good prep for when we do.
moritz I've been thinking about the Rat stuff... would it be OK to make FatRat a subclass of Rat for now? 12:59
until we have a real uint64 for storing the denominator, that is
or, wait 13:03
can we get a real unit64 with custom REPR trickery?
jnthn The problem is that we can't pass uint64 around in Parrot registers off 64-bit...and even on there it's treated as signed :/ 13:04
So it gets really messy 13:05
The easiest way to do it at the moment is to use Int/Int, and just check that the size of the denominator isn't over the threshold and if it is then "trim" it as needed
Teratogen we need to start looking forward to 128 bit processors, gentlemen
moritz jnthn: that was my original plan 13:06
Teratogen so I suppose an unsigned 128 bit integer would be "unsigned super long i;" in C
13:08 y3llow joined
jnthn nah, they'll probably just do it as "unsigned long long long i;" or something :P 13:11
moritz: I think we can't have a real uint64 just yet, so I'd go with something along those lines for now. I'll ponder how best to get us that. Short of re-writing Parrot. :) 13:12
13:13 noam_ joined
jnthn moritz: A really deep 6model integration would probably drop INSP register types and just have each register being either a reference to a 6model object or an inlined 6model REPR...but that's probably a pretty nasty change to have to go through... 13:14
moritz jnthn: I'll just go with Int/Int for now :-) 13:15
jnthn moritz: Yes, I think that's best :) 13:16
13:16 noam left
jnthn moritz: I'll try and come up with a better way to do the unsigned stuff etc. 13:16
moritz jnthn: I can also ask the parrot people if they have any inspiration
13:18 tokuhirom left, birdwindupbird left
jnthn moritz: Yeah, adding a way to treat registers as unsigned would help too *but* they still end up being 32-bit registers on 32-bit machines with no way to force 64-bit 13:18
If Parrot people can sort out both of those, then we're cooking on gas. :) 13:19
And I can do all of the signed/unsigned/sized types :) 13:20
moritz hm 13:25
maybe custom boxing somehow?
13:26 not_gerd joined
moritz we come up with a custom REPR that can store uint64, and unboxes from and boxes to Int 13:26
not_gerd hello, #perl6
moritz \o not_gerd
not_gerd read the logs before joining
moritz of course that's less than awesome in terms of processing speed etc, but at least we'd get custom storage 13:27
not_gerd on 2's complement, signed and unsigned arithmetics is only different when doing divisions...
(and comparisons, of course...)
it should even be possible to implement unsigned 64-bit arithmetics on top of two signed 32-bit integers, if one were so inclined... 13:29
moritz not_gerd: I think all non-ancient 32bit CPUs also support 64bit integer arithmetics
or am I wrong there? 13:30
not_gerd they do, but that doesn't help much if parrot doesnÄt give you access to that...
13:30 noam_ left
moritz so the question is how to get access to that 13:33
not_gerd the easiest solution would probably be to always configure with 64-bit integers and add unsigned division/remainder ops... 13:34
13:45 PacoAir joined 13:50 zhangkaizhao joined 13:51 zhangkaizhao left 13:52 zhangkaizhao joined 13:54 lateau_ joined 14:03 noam_ joined 14:06 Trashlord joined
masak #perl6! \o/ 14:09
jnthn #masak! \o/
tadzik \o/ 14:11
14:14 MayDaniel left 14:15 xinming left 14:20 tokuhirom joined
flussence out of memory trying to compile latest nom... and I have 5 gigs free :/ 14:24
masak becomes curious who hangs out on the #masak channel now
flussence: that sounds... odd. :/
jnthn Indeed. Even on 64-bit I've never seen it go above 1.7 GB or so. 14:25
tadzik same here
flussence watches it a bit more closely this time 14:26
jnthn is working on cutting that down. :)
flussence It gets to 1.7GB at 3 minutes in, then "Failed allocation of 14430272 bytes"... but there's still plenty of free RAM 14:33
benabik flussence: Did it compile as a 32b program somehow?
flussence nope - parrot/parrot: ELF 64-bit LSB executable, x86-64
(even if it did, it probably wouldn't run at all since there's no multilib on this thing) 14:34
benabik My only other guess is ulimit...
flussence oh, yeah. that'd be it.
and here I was thinking 1.5GB would be enough :( 14:35
benabik I don't like multilib... But that's because aptitude in Ubuntu 11.10 doesn't handle both 32b and 64b repositories at the same time.
flussence the ubuntu install I have at $dayjob has multilib but they've done it really bad, there's no visible labels to say "this is 32, this is 64" 14:37
benabik Aptitude also can't remember what 32b packages it's seen before so it _always_ has a _huge_ pile of "new" packages. 14:38
flussence oh, I was wondering what was causing that. And the "show changelog" command has been broken for about a year now :/ 14:39
14:40 Trashlord left 14:44 PacoAir_ joined
benabik Fortunitely, I'm working on a server install so have no real need for 32b packages. I just removed the multi arch config from apt. 14:44
14:45 PacoAir left, PacoAir_ is now known as PacoAir 14:46 MayDaniel joined 14:52 mucker left 14:53 mucker joined
masak perl6: .say for 7, { $^n % 2 ?? 3 * $n !! $n / 2 } ... 1 15:03
er.
perl6: .say for 7, { $^n % 2 ?? 3 * $n + 1 !! $n / 2 } ... 1
p6eval niecza v14-39-g5857ccb: OUTPUT«(timeout)7␤21␤63␤189␤567␤1701␤5103␤15309␤45927␤137781␤413343␤1240029␤3720087␤11160261␤33480783␤100442349␤301327047␤903981141␤2711943423␤8135830269␤24407490807␤73222472421␤219667417263␤659002251789␤1977006755367␤5931020266101␤17793060798303␤53379182394909␤1…
..rakudo cd5136: OUTPUT«(timeout)»
..pugs b927740: OUTPUT«*** ␤ Unexpected "1"␤ expecting operator␤ at /tmp/vJ1IQ31tty line 1, column 49␤»
rakudo cd5136, niecza v14-39-g5857ccb: OUTPUT«7␤22␤11␤34␤17␤52␤26␤13␤40␤20␤10␤5␤16␤8␤4␤2␤1␤»
..pugs b927740: OUTPUT«*** ␤ Unexpected "1"␤ expecting operator␤ at /tmp/7boywq6HK1 line 1, column 53␤»
masak \o/
tadzik will it halt? :) 15:04
masak well, if you keep going after the 1, none of them halt.
15:04 MayDaniel left
masak there's a really good quasi-explanation somewhere online (using 2-adic numbers) that made me think the Collatz sequence of any number converges. 15:06
flussence grr, rakudo didn't build even with 2GB :( 15:11
something's increased the mem usage by >0.5GB in the past few days, that sounds bad 15:12
tadzik astounding
jnthn Indeed...I'm struggling to think what change of late coulda done that. 15:13
masak flussence: it would probably be very valuable for the devs if you could bisect that memory increase.
15:15 xinming joined
jnthn Can confirm that it hits to 2GB mark here. That's new. :/ 15:15
afk for a bit 15:16
masak flussence++ # canary in coalmine 15:17
flussence and 2.5GB! 15:19
I'll go bisect this but first I want to see just how far it goes... 15:20
15:21 MayDaniel joined 15:23 Trashlord joined 15:24 xinming left 15:25 lateau_ left, xinming joined 15:29 MayDaniel left
moritz hopes it wasn't him 15:31
masak , too, hopes it wasn't moritz :) 15:38
15:43 Psyche^ joined, Patterner left, Psyche^ is now known as Patterner, pmurias joined
pmurias is Match.new specced? 15:43
fixing .perl in niecza on Matches requires that 15:44
moritz pmurias: I don't think it's specced
I'm pretty sure it requires orig, from and to
not sure what to do about the captures though 15:45
15:47 robins is now known as robinsmidsrod
JimmyZ I tried to build dyncall, but I got an error 'cc is not found' when "cc -O3 -c dyncall_vector.c -o E:\OpenSource\nqp\3rdparty\dyncall\build_out\windows_x86_gcc_release/dyncall_vector.o", how do I know which line comes from makefile? 15:48
15:49 MayDaniel joined
dalek kudo/rat-vs-fatrat: 2685a77 | moritz++ | src/core/Rat.pm:
preliminary work to get both Rat and FatRat working

Fails just one test that does (2/3) but SomeRole
15:49
kudo/rat-vs-fatrat: 7f1a890 | moritz++ | src/core/Rat.pm:
some small fixes, plus Num fallback for Rats
kudo/rat-vs-fatrat: 4ab4ffa | moritz++ | src/core/Rat.pm:
start to switch some arithmetic ops to smart Rat/FatRat semantics
kudo/rat-vs-fatrat: d8d17cb | moritz++ | src/core/Rat.pm:
switch the rest of the Rat ops to Rational
moritz JimmyZ: by using grep, ack or your other search tool of choice
15:50 lateau_ joined
JimmyZ moritz: dyncall makefile is too magic, I can't found by using grep or ack 15:50
*find 15:51
not_gerd JimmyZ: probably needs some CC=gcc or some such
eg make CC=gcc
JimmyZ: ./configure should have taken care of that 15:52
JimmyZ not_gerd: no, dyncall is not that stable, follow README.Windows in dyncall doesn't work 15:56
that is Build using buildsys/gmake and MinGW on windows is broken
not_gerd using Windows generally does tend to complicate things... 15:57
15:57 tokuhirom left
not_gerd I've got a branch that tries to cross-compile parrot+rakudo for windows via cygwin, but dyncall was the smallest issue with that 15:57
(got it to actually build a somewhat-working Rakudo, but as I said, there were... issues ;)) 15:58
JimmyZ so I want to know which line is from makefile 15:59
not_gerd JimmyZ: you're using the MSYS shell in MinGW mode? 16:00
JimmyZ not_gerd: cmd shell with strawberry perl
not_gerd does strawberry come with it's own shell? 16:01
if so, try to use that
JimmyZ and README.Windows in dyncall lies
not_gerd (I recently fixed an issue with that in NQP's copy of dyncall)
JimmyZ I tried to build dyncal by following README.Windows, but failed 16:02
not_gerd /if/ strawberry comes with its own shell, Rakudo's --gen-nqp /should/ work out of the box
JimmyZ not_gerd: parrot and rakudo works well with cmd shell and strawberry perl 16:03
I just can't build dyncall 16:04
not_gerd JimmyZ: manually? I thought the dyncall build done by NQP failed...
sorry if I misunderstood 16:05
JimmyZ not_gerd: yes
16:09 isBEKaml joined
masak gist.github.com/1809356 -- meta for 16:10
16:12 xinming left, lateau_ left
flussence hm, /usr/bin/time doesn't seem to give accurate mem counts. I'm pretty sure it didn't just take 7.4GB... 16:17
16:25 not_gerd left 16:28 tarch joined 16:31 mj41_nb joined
jnthn rat-vs-fatrat - sounds like an epic battle :) 16:36
tadzik pirates-vs-ninjas
16:40 mucker left
masak blog post! \o/ strangelyconsistent.org/blog/t2-sums-of-cubes 16:44
moritz++ # author
16:47 Trashlord left
JimmyZ sigh... looks like not simple configure issue for dyncall 16:49
16:49 isBEKaml left
JimmyZ doesn't know how to fix "....3rdpartydyncalldyncalllibdyncall_s.a(dyncall_callvm.o):dyncall_callvm.c:(.text+0x1fe): undefined reference to `dcCall_x86_cdecl'" 16:49
masak :/ 16:55
16:58 pmurias left 17:03 not_gerd joined
not_gerd JimmyZ: look for a file called dyncall_call_x86.o 17:04
JimmyZ not_gerd: there is a file named libdyncall_s.a 17:05
not_gerd actually, the file is just called dyncall_call.o 17:09
(the file I'm looking for, that is...) 17:13
JimmyZ gives up 17:19
not_gerd JimmyZ: you need to inspect the libdyncall_s.a archive and check that it contains the dyncall_call.o file 17:23
17:24 MayDaniel left
skids lines S06:807 and S06:813, should that be :@x and :$x respectively, since the changes to passing positionals as named? 17:32
masak skids: nobody likes that bit of S06, except TimToady who's very adamant about it. 17:34
the implementors have so far responded by not implementing it. we'll see who caves in first. 17:35
I for one hope it goes away.
17:36 am0c joined
skids heh. but you'd agree that those params should be named? Cause I could put in a pull request for that, at least. 17:36
tadzik maybe it's the old syntax, calling positional params by name 17:37
skids And that is deprecated -- except for waht, protos or something IIRC. 17:38
Eh, I'll just shove the pull request anyway, and maybe someday someone will look at it
JimmyZ not_gerd: yes, it contains 17:40
17:41 icwiener joined
TimToady colomon: sure, irclog.perlgeek.de/perl6/2012-02-12#i_5137532 is a copy-paste error 17:44
17:46 HarryS left
not_gerd JimmyZ: then I'm not sure what's wrong... 17:47
17:48 HarryS joined
not_gerd JimmyZ: if you're committed to tracking this down, you could compare the output of `objdump -t dyncall_call.o` and `objdump -t dyncall_callvm.o` 17:49
JimmyZ: in particular, the former should contain the dcCall_x86_cdecl symbol, and the symbols in the latter should start with the same number of underscores 17:50
17:51 HarryS left
TimToady for the record, it was [Coke]++ who pointed out the sloth of [+] 1..10000 17:52
JimmyZ not_gerd: the former doesn't contain dcCall_x86_cdecl 17:54
skids realizes you have to create "topic branches" on github to put in separate pull requests and it's not smart enough to weed out updates from upstream when the request is going back to upstream. feh. 17:56
somedays the old email patches in system doesn't seem so bas after all.
jnthn TimToady: Oh, I missed that :)
Happy to have made it > 10 times faster though :) 17:57
I think I can squeeze some more out of it yet too...
tarch perl6: { package p; sub f is export(:DEFAULT :lbl) {} } 17:58
p6eval niecza v14-39-g5857ccb: OUTPUT«===SORRY!===␤␤Semicolon form of package definition not allowed in subscope;␤ please use block form at /tmp/K7l5XVTWXB line 1:␤------> { package p⏏; sub f is export(:DEFAULT :lbl) {} }␤␤Parse failed␤␤»
..pugs b927740: ( no output )
..rakudo cd5136: OUTPUT«===SORRY!===␤Semicolon form of package definition not allowed in subscope;␤ please use block form at line 1, near "sub f is e"␤»
TimToady packages don't know how to export; that comes with modules 17:59
tarch perl6: { module m; sub f is export(:DEFAULT :lbl) {} }
thank you!
p6eval rakudo cd5136: OUTPUT«===SORRY!===␤Semicolon form of module definition not allowed in subscope;␤ please use block form at line 1, near "sub f is e"␤»
..niecza v14-39-g5857ccb: OUTPUT«===SORRY!===␤␤Semicolon form of module definition not allowed in subscope;␤ please use block form at /tmp/31q6C1Nuqa line 1:␤------> { module m⏏; sub f is export(:DEFAULT :lbl) {} }␤␤Parse failed␤␤»
..pugs b927740: ( no output )
TimToady but it's still the case that you can only use the ; form at the top level of the file 18:00
tarch perl6: module m{ sub f is export(:DEFAULT :lbl) {} } 18:01
p6eval rakudo cd5136: OUTPUT«===SORRY!===␤Malformed block at line 1, near "(:DEFAULT "␤»
..pugs b927740: ( no output )
..niecza v14-39-g5857ccb: OUTPUT«===SORRY!===␤␤Multi colonpair syntax not yet understood at /tmp/Km8S77iB4q line 1:␤------> module m{ sub f is export(:DEFAULT :lbl⏏) {} }␤␤Export tags NYI at /tmp/Km8S77iB4q line 1:␤------> module m{ sub f is expor…
tarch got it! :)
TimToady whitespace before {
tarch sorry for the noise!
perl6: module m { sub f is export(:DEFAULT :lbl) {} } 18:02
p6eval niecza v14-39-g5857ccb: OUTPUT«===SORRY!===␤␤Multi colonpair syntax not yet understood at /tmp/sB2lmplZpV line 1:␤------> module m { sub f is export(:DEFAULT :lbl⏏) {} }␤␤Export tags NYI at /tmp/sB2lmplZpV line 1:␤------> odule m { sub f is expo…
..rakudo cd5136: OUTPUT«===SORRY!===␤Malformed block at line 1, near "(:DEFAULT "␤»
..pugs b927740: ( no output )
tarch perl6: module m { sub f is export(:DEFAULT, :lbl) {} }
p6eval niecza v14-39-g5857ccb: OUTPUT«===SORRY!===␤␤Export tags NYI at /tmp/dp0bfrC3es line 1:␤------> dule m { sub f is export(:DEFAULT, :lbl)⏏ {} }␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1344 (die @ 3) ␤ a…
..pugs b927740, rakudo cd5136: ( no output )
not_gerd JimmyZ: what symbols does dyncall_call.o contain? might be that the wrong file got assembled...
JimmyZ not_gerd: zero. looks like 'as -o E:\OpenSource\nqp\3rdparty\dyncall\build_out\windows_x86_gcc_release/dyncall_call.o dyncall_call.s' outputs nothing 18:04
tarch In synopsis 11 I find an example of export to multiple tagsets which doesn't have the comma: " sub bar is export(:DEFAULT :others) {...} # :DEFAULT, :ALL, :others" between the two names but nom says that the one without the comma isn't correct 18:06
which one is right?
flussence masak++ # just saw that gist, neat idea 18:07
jnthn tarch: nom doesn't yet support doing the colonpair syntax without a comma anywhere yet.
tarch ok thank you very much! 18:08
jnthn std: sub foo { }; foo(:bar, :baz)
p6eval std 52f3895: OUTPUT«ok 00:01 110m␤»
jnthn std: sub foo { }; foo(:bar :baz)
p6eval std 52f3895: OUTPUT«ok 00:01 108m␤»
jnthn We don't do the second one of those just yet. Hmm...wonder how hard that is to do... :)
Dinner, bbiab & 18:09
colomon just finished nomming homemade pot stickers.... 18:12
flussence masak: I thought up a good use for macros a while back, gist.github.com/1809975 18:13
assuming that sort of thing's possible, but I'm sure it is :)
tadzik flussence: awesome! 18:14
not_gerd JimmyZ: you could try manually assembling dyncall_call_x86.S and putting the object file into the archive 18:15
flussence (I confess, I just blatantly copied that syntax from Rust, but copying good ideas is what perl 6 is about :) 18:16
not_gerd JimmyZ: it looks like the architecture detection in dyncall_call.S failed
Rust++
JimmyZ not_gerd: looks like as doesn't support '#include' or something similar 18:20
TimToady nom: my $x; $x //= die "phooey" 18:21
p6eval nom cd5136: OUTPUT«phooey␤ in block <anon> at /tmp/7dPjfE5IcQ:1␤␤»
TimToady moritz: you recommend this construct, but it does not actually do any memoizing in rakudo yet
niecza: my $x; $x //= die "phooey" 18:22
p6eval niecza v14-39-g5857ccb: OUTPUT«Unhandled exception: phooey␤ at /home/p6eval/niecza/lib/CORE.setting line 1360 (die @ 3) ␤ at /tmp/CXySOe87HL line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3773 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3774 (modu…
TimToady or niecza, it would appear
pugs: my $x; $x //= die "phooey"
p6eval pugs b927740: OUTPUT«*** phooey␤ at /tmp/6s_ipBEzkh line 1, column 8 - line 2, column 1␤»
TimToady we need to figure out how to make op= transparent to thunkiness 18:23
18:24 wolfman2000 left
jnthn Probably need a way to specify the thunkiness first. :) 18:31
TimToady well // figgers it out somehow already :P 18:33
jnthn We do specialized code-gen for it.
18:33 sisar left
jnthn I can do that for //= too :) 18:33
18:33 pff joined
jnthn But...we normally prefer extensible mechanisms. :) 18:34
TimToady it might be that macro infix:<op> will get us there
jnthn That may be the case also, yes
TimToady as long as we can figure out how to apply HOP to a macro
TimToady pokes the masakbot 18:35
18:35 MayDaniel joined 18:40 MayDaniel left
skids Hmm. increment/decrement on Bool has clamping semantics, on Str dwimmery decrement fails rather than remove characters, so I'm wondering what the most useful behavior for a range-limited numeric is -- wrap, clamp, or fail... 18:41
TimToady probably fail, especially if the range is limited by a native type 18:44
18:45 zhangkaizhao left
colomon TimToady: are (elem) and (cont) supposed to be iffy? 18:45
TimToady anything that returns Bool is supposed to be iffy
I think niecza currently has an 'is iffy' or some such trait 18:46
colomon yeah, was just checking that
18:46 JimmyZ left
TimToady moritz: another comment on the yary one: use of 'is rw' on a MAIN parameter seems like it should be 'is copy' instead; not sure 'is rw' should even work... 18:48
18:51 not_gerd left
skids niecza: "hiya".say for Bool::False .. Bool::True; # this sends nom into the land that time forgot. 18:52
p6eval niecza v14-39-g5857ccb: OUTPUT«hiya␤hiya␤»
colomon is hacking perl 6 and wrapping dumplings in parallel...
Tene @dumplings».wrap 18:56
18:58 Bucciarati left, HarryS joined
masak bot comes alive 18:59
colomon unfortunately Jen is not available and Henry is still too young, so there's only one thread of wrapping going on right now, and about 1.5 pounds worth of dumpling filling yet to go....
masak TimToady: "apply HOP"? what exactly is the use case?
I'll backlog more closely, but it'd be interesting to hear what you have in mind. 19:00
colomon has a sudden urge to try reimplementing everything in HOP in p6.... 19:01
19:01 birdwindupbird joined 19:02 wolfman2000 joined
masak flussence: that's a darling syntax! you'd sold me! :) 19:04
dalek ecza: 251655b | (Solomon Foster)++ | t/spectest.data:
Turn on S03-operators/set.t.
ecza: 1a81b75 | (Solomon Foster)++ | lib/CORE.setting:
Fix copy-n-paste thinko.
ecza: 1d02da9 | (Solomon Foster)++ | lib/CORE.setting:
Mark (elem) and (cont) iffy -- also make (cont) an only instead of a multi.
masak flussence: feels like a lexical slang that simply auto-applies the same trait to all the sub declarations in scope. should be utterly doable, IIUC. 19:05
dalek ast: 874369d | (Solomon Foster)++ | S03-operators/set.t:
Add the "contains" tests, plus turn on the negated texas tests.
masak TimToady: oops -- the //= thing might've been me. I'll figger out a good way to change the text. 19:06
19:07 yertalert joined
tadzik wonders if that could be done by lexically abusing RoutineHOW or such 19:07
masak TimToady: ok, backlogging I see that 'HOP on a macro' seems to specifically apply to making infix:<//=> thunky... preferably without having to define it separately. 19:08
tadzik macro would probably be more elegant :)
masak well, we're in unexplored territory here. 19:10
tadzik std: .lock and .load
p6eval std 52f3895: OUTPUT«ok 00:01 109m␤»
flussence `git bisect` done, says f57e87939f92878da00338aad489b695d6cd597e pushed it over 1.5GB
masak the tadzik and masak and flussence of 2015 probably backlog over this (as we speak!) and giggle at our naivité wrt macros and syntax overloading.
tadzik flussence: how dramatically? 19:11
masak flussence++ # bisect
tadzik flussence: frankly, I think this is more like a slow evolution towards being a Big Beast than one big hit
flussence tadzik: it only gives a binary answer, but I'm redoing it with a 2GB limit just to make sure
tadzik okay 19:12
tadzik slowly moves out on a week-long laptop-free vacation
flussence o/ have fun
masak tadzik: have the appropriate amount of fun!
huh, that looks like a vary innocent commit: github.com/rakudo/rakudo/commit/f57...95d6cd597e 19:14
very*
flussence yeah, might be right about the slow increase... 19:15
masak flussence: also might be interesting for you to do a 'git revert f57e879', and see if the problem goes away in HEAD.
tadzik thanks, I will :)
masak (and which spectests fail -- though others can check that)
jnthn tadzik: have the appropriate amount of fun and piwo :) 19:21
19:30 Trashlord joined 19:33 tarch left 19:41 snearch joined 19:51 Bucciarati joined 19:54 yertalert left 19:58 buubot_backup left
[Coke] beer? 20:08
masak phenny: "piwo"? 20:09
phenny masak: "piwo" (it to en, translate.google.com)
masak phenny: pl en "piwo"?
phenny masak: "beer" (pl to en, translate.google.com)
masak [Coke]: yes :)
[Coke] b: say 641- 86 ; #RT 20:13
p6eval b 1b7dd1: OUTPUT«555␤»
jnthn ooh, almost down to 550
[Coke] rakudo: grammar A { token a { a } }; grammar B is A { }; say 'a' ~~ /<B::a>/ # RT 65474 20:15
p6eval rakudo cd5136: OUTPUT«=> <a>␤ B::a => <a>␤␤»
jnthn [Coke]: I fixed that a while back. It has good test coverage. 20:21
[Coke]: So you may just close it.
20:22 buubot_backup joined 20:23 wolfman2000 left
[Coke] I was trying to do a rebuild so I could verify the test worked, but will just trust you. ;) 20:25
20:28 MayDaniel joined
[Coke] installs cygwin, hoping he can close a ticket or 2. 20:28
20:31 MayDaniel left
sorear TimToady: (10:22) are you seriously saying that 'my $x; $x //= die "phooey"' *shouldn't* die !? 20:40
20:41 Trashlord left
dalek ast: e1eb854 | (Solomon Foster)++ | S03-operators/set.t:
More union tests, intersection tests.
20:41
sorear phenny: tell pmurias I disagree with your assertion that Match.perl in Niecza is broken. LTA formatting, yes 20:42
phenny sorear: I'll pass that on when pmurias is around.
colomon o/
sorear perl6: my $x = 0; $x //= die "phooey"
p6eval rakudo cd5136: OUTPUT«phooey␤ in block <anon> at /tmp/tvI5NhqrhQ:1␤␤»
..pugs b927740, niecza v14-42-g1d02da9: ( no output )
masak sorear: TimToady's example is bogus, but he seems to be right about //= not thunking. 20:46
in Rakudo.
20:47 pff left 20:50 jerome_ left
[Coke] # 02/12/2012 - niecza at 101.07% 20:58
"niecza", 19928, 8, 751, 1573, 22260, 23106
"rakudo", 19717, 28, 611, 1933, 22289, 23116
20:59 birdwindupbird left, GlitchMr left 21:05 ggoebel left 21:08 tarch joined
moritz flussence: re memory increase, the grows up to 1.7GB has been steady-ish; it's the leap over 2GB that is interesting 21:12
21:12 ggoebel joined 21:15 Trashlord joined
TimToady sorear: absolutely 21:17
er, except with a defined value 21:18
21:19 Patterner left
moritz nom: my $a = 1; $a //= say "foo"; 21:19
p6eval nom cd5136: OUTPUT«foo␤»
dalek kudo/rat-vs-fatrat: b23da9e | moritz++ | src/core/Rat.pm:
fix thinko in DIVIDE_NUMBERS
21:20
kudo/rat-vs-fatrat: f27eab1 | moritz++ | src/core/Rat.pm:
thinkos, syntax errors
jnthn hopes that last commit removes thinkos and syntax errors ;)
moritz hopes so too
jnthn :)
jnthn finally has a moment to play some more with the serialization stuff 21:21
Didn't get half the tuits I'd expected this weekend...
moritz $ ./perl6 -e 'my $smallish = 1/2**40; say ($smallish * $smallish).WHAT' 21:24
Num()
\o/
got through arith.t without problems 21:27
jnthn moritz++
masak \o/ 21:28
whoever-on-perlmonks will be pleased.
jnthn moritz: Does we have FatRat now? :)
moritz jnthn: we does
masak someone should blog about how we listen to our customers.
jnthn ooh. That means we can have the FatRat tests ;)
masak: Indeed. Not just that, but in the last 48 hours reduction meta-op performance got improved by a factor of 10 and backtraces also got a bunch better because of "ouch, X could be better" feedback :) 21:29
The "takes SO much RAM to build CORE.setting" will need a little longer though...
21:31 ggoebel left
masak it's definitely worth both following up the PerlMonks thread, and blogging about, IMO. 21:31
TimToady I presume that we aren't going to accidentally make FatRats unless one of the arguments is already a FatRat 21:32
moritz we aren't 21:33
TimToady sehr gut
dalek kudo/rat-vs-fatrat: 7dcb9e2 | moritz++ | src/core/Rat.pm:
formatting changes
kudo/rat-vs-fatrat: bdf0434 | moritz++ | t/spectest.data:
run fatrat.t
moritz ok, spectesting and going to sleep; will investigate merging tomorrow
jnthn moritz++
21:35 Psyche^ joined 21:37 Psyche^ is now known as Patterner 21:39 ggoebel joined 21:46 lestrrat left 21:47 lestrrat joined 21:49 ggoebel left 22:01 Patterner left
dalek p/bs: 940f600 | jnthn++ | src/ (2 files):
Rename original add_code; will replace it with a new one and migrate towards it.
22:03
p/bs: 5e4a611 | jnthn++ | src/HLL/World.pm:
Start to sketch out new deserialization handling code.
p/bs: 44811ea | jnthn++ | src/NQP/World.pm:
Add code that can be uncommented to try out the new serialization mechanism (breaks build at the moment).
22:04 PacoAir left 22:05 PacoAir joined 22:07 Psyche^ joined, Psyche^ is now known as Patterner
skids nom: say -1 +> 24; say -1 +> 16; say -1 +> 8; say -1 +> 0; for (24,16,8,0) { say -1 +> $_; }; 22:11
p6eval nom cd5136: OUTPUT«-1␤-1␤-1␤-1␤0␤0␤0␤-1␤»
benabik huh? 22:12
jnthn o.O 22:14
nom: say -1 +> 24; say -1 +> 16; say -1 +> 8; say -1 +> 0; for (24,16,8,0) { say -1 +> nqp::p6decont($_); };
p6eval nom cd5136: OUTPUT«-1␤-1␤-1␤-1␤0␤0␤0␤-1␤»
jnthn phew, not that then.
nom: say -1 +> 24; say -1 +> 16; say -1 +> 8; say -1 +> 0; for (24,16,8,0) { say $_; say -1 +> $_; }; 22:15
p6eval nom cd5136: OUTPUT«-1␤-1␤-1␤-1␤24␤0␤16␤0␤8␤0␤0␤-1␤»
22:16 mj41_nb left 22:17 pomysl_ joined, pomysl left
dukeleto o/ 22:17
masak dukeleto! \o/ 22:20
jnthn o/ dukeleto 22:21
dalek kudo/nom: 29f5cf7 | jnthn++ | src/core/metaops.pm:
Another fairly notable performance boost for reductions (maybe another factor of two or so). [+] 1..100000 now runs in about the same time that [+] 1..1000 used to.
skids nom: say -1 +> -24; say -1 +> -16; say -1 +> -8; say -1 +> 0; for (-24,-16,-8,0) { say -1 +< $_; }; for (-24,-16,-8,0) { say (-1 +< $_).fmt("%x"); }; # a clue, I hope 22:30
p6eval nom cd5136: OUTPUT«-16777216␤-65536␤-256␤-1␤-1099511627776␤-281474976710656␤-72057594037927936␤-1␤ffffff0000000000␤ffff000000000000␤ff00000000000000␤ffffffffffffffff␤»
22:33 kaare_ left 22:34 sudokode left 22:36 PacoAir left 22:38 snearch left 22:39 icwiener left, icwiener joined, sudokode joined 22:45 icwiener left, icwiener joined 22:49 cooper left 22:53 cooper joined
dalek p/bs: 3614f78 | jnthn++ | src/ops/nqp.ops:
Correct an error.
23:00
p/bs: 5641529 | jnthn++ | src/NQP/World.pm:
Start to register some static code refs; we'll need a bit more than this, though.
p/bs: 046bd1d | jnthn++ | src/6model/serialization.c:
Add a sanity check to catch an error, rather than SEGVin'.
p/bs: 50459f4 | jnthn++ | src/HLL/World.pm:
A few fixes to code-gen for serialized output.
p/bs: b61b053 | jnthn++ | src/NQP/World.pm:
Start sketching in a NEW_SER flag to NQP::World; this will allow gradual exploration of using the new serialization engine without busting the ability to get through a build to make sure collateral changes this work causes are OK in themselves. With it on, we now make it a couple of compilation units into the build of the second stage.
23:01 fsergot joined
jnthn Time for some rest & 23:14
23:15 cooper left 23:20 cooper joined
masak indeed. 'night, #perl6 23:20
felher o/ 23:21
23:35 tarch left