Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-01-13

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 grondilu r: sub my-sqrt($n) { my $target = 10**16 * $n; FatRat.new: .[*-1], 10**16 given 1, { ($_ +  $target/$_)/2 } ... * == * }; say my-sqrt(2)
00:01 camelia rakudo-parrot eb1aa5: OUTPUT«Nominal type check failed for parameter 'nu'; expected Int but got Num instead␤  in method new at gen/parrot/CORE.setting:9767␤  in sub my-sqrt at /tmp/fxZj1dRsWc:1␤  in block  at /tmp/fxZj1dRsWc:1␤␤»
00:01 camelia ..rakudo-jvm eb1aa5: OUTPUT«Nominal type check failed for parameter 'nu'␤  in sub my-sqrt at /tmp/Q834unxMls:1␤␤»
00:01 grondilu ah, I spoke too fast
00:02 timotimo not that long until the next rakudo compiler release, eh?
00:03 timotimo ah, 10 days
00:06 grondilu r: sub my-sqrt($n) { my $size = 256; my $target = 10**$size * $n; FatRat.new: .[*-1], 10**($size div 2) given 1, { ($_ +  $target div $_) div 2 } ... * == * }; say my-sqrt(2)
00:06 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«1.41421356237309504880168872420969807856​96718753769480731766797379907324784621070388503​8753432764157273501384623091229702492483605␤»
00:06 grondilu ^ this should work
00:25 raiph2 joined #perl6
00:25 raiph joined #perl6
00:27 grondilu r: https://gist.github.com/grondilu/8387779
00:28 camelia rakudo-jvm eb1aa5: OUTPUT«(timeout)»
00:28 camelia ..rakudo-parrot eb1aa5: OUTPUT«3.14159265358979323846264338327950288​41971693993751058209749445923078164062862089​98628034825342117066396599650613771931186132​98019523646027229486215198101502488794937107​597776483264884377187730069463740487642␤»
00:28 * grondilu wonders why rakudo times out on jvm and not on rakudo for this.
00:29 grondilu s/on rakudo/on parrot/
00:47 raiph joined #perl6
01:20 ivan`` joined #perl6
01:32 treehug88 joined #perl6
01:46 ssutch joined #perl6
02:17 jnap joined #perl6
02:18 PZt joined #perl6
03:02 eternaleye joined #perl6
03:02 [Coke] jvm has startup time.
03:19 timotimo is the startup time part of the timeout there?
03:20 timotimo also, could we use the evalserver here and automatically restart it if we notice the same thing happens as the "no subtests run" thing?
03:21 logie joined #perl6
03:22 berekuk joined #perl6
03:43 jeffreykegler joined #perl6
03:43 jdv79 joined #perl6
03:44 jdv79 jnthn++ # thanks for the blog post again.  always encouraging to read.
03:44 salv0 joined #perl6
03:51 timotimo 96.66% was the last test run from today, for the run tomorrow there's already some more tests bound to pass, jdv79 :)
04:01 timotimo and since it's about 10 days until the january rakudo compiler release, it's probably going to have moarvm support :)
04:04 DrEeevil nice
04:05 timotimo not for rakudo star, though, i don't think
04:05 timotimo there's on NativeCall for moarvm yet - it's not even done for jvm yet
04:10 rurban1 joined #perl6
04:16 preflex_ joined #perl6
04:27 berekuk joined #perl6
04:29 rurban1 joined #perl6
04:45 kaleem joined #perl6
05:44 berekuk joined #perl6
05:49 hypolin joined #perl6
06:00 skids .oO(above int8 question should be 0x7f, or uint8, or the $a++ is redundant as the assignment might blow up.  Certainly assigning 0xff to an int8 should not produce int8(-1))
06:03 skids Lacking a way to do clamping/modulo easily with native and sized native types would be a serious language deficit IMO, but so would lacking sane range checking for parameters of such type.
06:10 diakopter skids++ # yes
06:12 SamuraiJack joined #perl6
06:14 lue Keep forgetting there's a uint8 :) . But I would probably be the type of person to assume two's complement for the system and try int8 = 0xFF at some point.
06:15 skids https://gist.github.com/skids/4998260 # my previous thoughts on missing toolkit for bit manipulations
06:19 skids lue: there isn't even a uint* set of types in JVM and many VMs.  It makes them rather inefficient for crypto and network packet field processing.
06:19 skids So you aren't the only person to keep forgetting that :-)
06:20 arnsholt Parrot and JVM both have signed integer types, so pretty sure uint8 isn't supported
06:20 lue int8 = 0xFF would probably be system-dependent, considering it's supposed to be a "native type".
06:20 skids int and uint are system dependent.  Sized int and uint are defined in C specifically NOT to be.
06:21 arnsholt Or, JVM sort of supports them. It specs twos complement, so we can use the signed ints to represent unsigneds, but we have to do some of the legwork ourselves
06:22 lue I don't think I've ever touched the sized types before. Perhaps I should use them in the future instead of assuming short == 2 and int == 4 in my local code :)
06:23 skids Given that alignment is less of a problem on modern CPUs than in the past, they can greatly reduce cache profile.
06:23 [Sno] joined #perl6
06:30 * skids notices time, and employer deserves more than a zombie tomorrow.
06:30 diakopter well, they're owed, perhaps.  maybe not deserves. :)
06:45 darutoko joined #perl6
06:45 aindilis joined #perl6
06:59 mberends joined #perl6
07:14 kivutar joined #perl6
07:32 dayangkun joined #perl6
07:34 ssutch joined #perl6
07:36 dayangkun joined #perl6
07:52 FROGGS joined #perl6
07:54 labster joined #perl6
08:02 salv0 joined #perl6
08:08 zakharyas joined #perl6
08:11 SamuraiJack joined #perl6
08:25 dmol joined #perl6
08:28 zakharyas joined #perl6
08:49 corecatcher good morning
08:50 FROGGS morning corecatcher
08:52 sqirrel joined #perl6
08:52 hoelzro morning #perl6
08:53 FROGGS o/
08:54 corecatcher \o/
08:54 * corecatcher new years resolution: more time for p6
08:58 FROGGS ++corecatcher
09:21 labster_ joined #perl6
09:25 mberends joined #perl6
09:26 hoelzro so, let me see if I get this straight
09:26 hoelzro the only things that flatten in list context are @arrays, %hashes, and calls to subs/methods (depending on their return type)
09:26 hoelzro is that at least on the right track?
09:31 dolmen joined #perl6
09:44 dakkar joined #perl6
09:50 pecastro joined #perl6
09:59 jeffreykegler joined #perl6
10:00 jeffreykegler left #perl6
10:07 moritz hoelzro: nearly
10:07 moritz p: my \x = (42, 39); .say for x;
10:07 camelia rakudo-parrot eb1aa5: OUTPUT«42␤39␤»
10:08 moritz this one also flattens
10:08 hoelzro hmm
10:08 hoelzro what's \x again?
10:08 hoelzro capture?
10:08 moritz yes
10:08 moritz to put it differently, the $ sigil forces item context (so no flattening)
10:09 moritz anything that doesn't have a $ could potentially flatten out
10:09 hoelzro I see
10:09 hoelzro that's a good way to look at it
10:09 hoelzro "when in doubt, flatten out"
10:10 hoelzro and under what circumstances can flattening occur?
10:10 hoelzro just when assigning to a list, or nesting arrays?
10:11 moritz each operation can chose whether it flattens
10:11 moritz iteration flattens
10:11 moritz assignment to arrays/hashes flattens
10:11 moritz .list flattens
10:12 moritz r: say ((1, 2), 3)[1]
10:12 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«2␤»
10:12 moritz .[] flattens
10:12 moritz the real problem is that there are bugs in what flattens vs. what should flatten
10:12 moritz and that the list of "what should flatten" isn't entirely clear
10:13 hoelzro ah
10:17 hoelzro so if I call a function and it returns a value, I take it that .list is called in that value if the function is in flattening context?
10:18 rindolf joined #perl6
10:18 dayangkun joined #perl6
10:19 moritz not quite
10:19 moritz if you have something like  my @a = 1, a(), b();
10:19 moritz then the parcel (1, a(), b()) is in flattening context
10:19 moritz so (1, a(), b()).list is called
10:19 moritz BUT
10:20 moritz that doesn't flatten out items
10:20 moritz p: sub a { (1, 2) }; sub b { [3, 4 ] }; my @a = 0, a(), b(); say @a.perl
10:20 camelia rakudo-parrot eb1aa5: OUTPUT«Array.new(0, 1, 2, [3, 4])␤»
10:21 moritz so, the return value from a() is a non-item Parcel, that's flattened out by .list
10:21 moritz but the return value from b is an item, and if you want to flatten that, you need to call .list on the thing itself, not the outer parcel
10:21 moritz p: sub a { (1, 2) }; sub b { [3, 4 ] }; my @a = 0, a(), b().list; say @a.perl # force b()'s return value to flatten, even though it's an item
10:21 camelia rakudo-parrot eb1aa5: OUTPUT«Array.new(0, 1, 2, 3, 4)␤»
10:25 lue joined #perl6
10:38 hoelzro hmm
10:38 hoelzro is this whole thing documented somewhere?
10:39 denis_boyun joined #perl6
10:39 moritz that is a very good question
10:39 hoelzro heh
10:39 moritz apart from the links I mentioned yesterday, S02 might have some stuff.
10:40 hoelzro I looked briefly through the synopses
10:41 hoelzro sub get-synopsis($topic) { given $topic { when * { 'S02' } } }
10:45 hummeleBop joined #perl6
10:45 hoelzro I think part of my confusion with Perl 6 is also the Parcel vs Array vs List thing
10:45 hoelzro I mean, I understand the underlying concepts
10:46 hoelzro but I don't think I think about them "fluently"
10:53 dalek perl6-examples: ec7d802 | (Shlomi Fish)++ | euler/prob026-shlomif.pl:
10:53 dalek perl6-examples: [Euler] Add solution to Euler No. 26.
10:53 dalek perl6-examples:
10:53 dalek perl6-examples: Very slow on Rakudo JVM (and consumes a lot of RAM too) but it works.
10:53 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/ec7d802de1
10:53 hoelzro so Perl 6 has %hash{ $key1 ; $key2 }, which is basically %hash{$key1}{$key2}, right?
10:55 rindolf https://github.com/perl6/perl6-example​s/blob/master/euler/prob026-shlomif.pl - this is very slow on Rakudo JVM. Do you think it will be faster on https://github.com/sorear/niecza ?
10:59 FROGGS rindolf: perl6-j 1m16.955s, niecza 0m7.669s
11:00 rindolf FROGGS: ah.
11:02 rindolf OK, trying to bootstrap niecza gives me a SIGSEGV here. :-(
11:03 FROGGS :/
11:05 FROGGS perl6-p 4m55.636s
11:05 masak hoelzro: I feel the same about Parcel/Array/List and fluency sometimes.
11:06 masak hoelzro: re %hash{ $key1 ; $key2 } and %hash{$key1}{$key2} -- yes, but I think %hash needs to be declared to have that shape for the first form to work.
11:06 masak (but don't ask me what happens if it's not declared in the same scope. this is unimplemented territory.)
11:06 hoelzro ah ha
11:06 hoelzro right
11:06 hoelzro I was actually thinking of trying to implement it =/
11:08 daniel-s__ joined #perl6
11:09 masak ooh :)
11:09 masak well, then, forget everything I mumbled about potential quagmires. I'm sure it'll be a breeze! :P
11:14 V_S_C joined #perl6
11:15 daniel-s__ joined #perl6
11:20 rindolf FROGGS: thanks.
11:20 rindolf FROGGS: if I comment out the traces it finished in under 2 seconds here.
11:21 _daniel-s__ joined #perl6
11:23 berekuk joined #perl6
11:25 salv0 joined #perl6
11:27 _daniel-s__ joined #perl6
11:32 fhelmberger joined #perl6
11:42 salv0 joined #perl6
11:44 hoelzro r: (:foo([1 .. 9])).list.map({ $_.key => $_.value.map(* * 3) }).hash.perl;
11:44 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: ( no output )
11:45 hoelzro r: say (:foo([1 .. 9])).list.map({ $_.key => $_.value.map(* * 3) }).hash.perl;
11:45 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«("foo" => ().list.item).hash␤»
11:45 hoelzro can someone explain to me why that's { foo => [] } rather than { foo => [ 3, 6, 9, ... ] }?
12:00 _daniel-s__ joined #perl6
12:01 moritz r: say (:foo([1 .. 9])).list.map({ $_.key => $_.value.map(* * 3).item }).hash.perl;
12:01 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«("foo" => ().list.item).hash␤»
12:02 moritz r: say (:foo([1 .. 9])).perl
12:02 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«"foo" => [1, 2, 3, 4, 5, 6, 7, 8, 9]␤»
12:02 moritz r: say (:foo([1 .. 9])).list.perl
12:02 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«("foo" => [1, 2, 3, 4, 5, 6, 7, 8, 9],).list␤»
12:13 kivutar joined #perl6
12:13 ivanshmakov joined #perl6
12:26 mls joined #perl6
12:31 kivutar joined #perl6
12:32 atroxaper joined #perl6
12:33 sqirrel joined #perl6
12:46 kaleem_ joined #perl6
12:47 daniel-s_ joined #perl6
12:50 treehug88 joined #perl6
12:53 dayangkun joined #perl6
12:55 daniel-s_ joined #perl6
13:01 treehug88 joined #perl6
13:11 nnunley joined #perl6
13:16 kaare_ joined #perl6
13:17 daniel-s__ joined #perl6
13:33 treehug88 joined #perl6
13:33 kbaker joined #perl6
14:09 treehug88 joined #perl6
14:12 * lizmat drops a pin
14:12 preflex lizmat: you have 1 new message. '/msg preflex messages' to read it.
14:12 raiph joined #perl6
14:13 * diakopter catches the pin
14:13 lizmat hoelzro: thanks for fixing the :delete issue on typed hashes
14:13 lizmat did you add tests for it?
14:14 [Coke] lizmat++ hoelzro++
14:14 hoelzro lizmat: yes!
14:15 lizmat hoelzro++
14:15 hoelzro I was just happy to be able to finally make a contribution =)
14:15 hoelzro thanks for doing the hard work ;)
14:15 lizmat glad to hear my absence was good for something after all  :-)
14:16 FROGGS hi lizmat
14:16 lizmat hi FROGGS!
14:17 lizmat hi diakopter
14:17 lizmat hi [Coke]
14:17 diakopter howdy lizmat
14:18 ajr joined #perl6
14:20 btyler joined #perl6
14:21 hoelzro how's the JS implementation of NQP going, anyway?
14:21 * hoelzro wrote some Perl 6 code over the weekend and would like to translate it to JS without actually writing JS
14:22 hoelzro wait, labeled loops don't work in Rakudo?
14:25 hoelzro moritz: did you come to a conclusion based on that code from before?
14:26 hoelzro I saw you played with it, but I didn't see any commentary =)
14:27 [Coke] hoelzro: (labeled loops) not yet. I think we parse them now, anyway.
14:27 hoelzro interesting
14:27 hoelzro they (seemingly) work in the code I wrote over the weekend
14:28 moritz hoelzro: no conclusion
14:28 hoelzro =/
14:28 hoelzro so I'm not doing anything stupid? it's a bug?
14:29 moritz could be
14:29 moritz probably
14:30 moritz just submit as a bug, and if somebody complains, they'll epxlain why it's not a bug :-)
14:31 hoelzro heh
14:31 hoelzro noted =)
14:32 FROGGS hoelzro: we could have labeled loops within a month if it is pressing
14:32 hoelzro it's not
14:32 hoelzro I just used them over the weekend, and they seemed to work
14:33 bluescreen10 joined #perl6
14:33 * moritz thought labels were ignored right now
14:34 kivutar joined #perl6
14:35 dalek perl6-examples: bb06d1f | (Shlomi Fish)++ | euler/prob026-shlomif.pl:
14:35 dalek perl6-examples: [Euler] Comment out a time-consuming trace.
14:35 dalek perl6-examples:
14:35 dalek perl6-examples: This way it executes much faster - less than 2s in Niecza on my Debian
14:35 dalek perl6-examples: Stable x86-64 VM on a Core i3 host.
14:35 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/bb06d1fa09
14:40 rindolf joined #perl6
14:47 jnap joined #perl6
14:57 rindolf Hi all.
14:58 colomon o
14:58 colomon er, \o
14:59 FROGGS \er
14:59 FROGGS p: # …1a
14:59 camelia rakudo-parrot eb1aa5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/ChaaudcziPâ�¤Confusedâ�¤at /tmp/ChaaudcziP:2â�¤------> [32m1[33mâ��[31ma[0mâ�¤    expecting any of:â�¤        whitespaceâ�¤Â»
15:00 * colomon thought he'd be sitting down to check in the successful $work he did yesterday, but in fact, last test run ended with a seg fault.  :(
15:00 moritz :(
15:00 moritz valgrind!
15:00 colomon already started.  ;)
15:01 colomon "Conditional jump or move depends on uninitialised value"
15:01 notjack joined #perl6
15:04 logie joined #perl6
15:10 colomon and problem fixed!
15:10 colomon though I still seem to have a memory leak.
15:13 timotimo FROGGS: labeled loops are not pressing, but they are a really nice to have feature
15:13 FROGGS timotimo: yeah, I should nag jnthn++ more about that :o)
15:14 timotimo :)
15:14 kaleem joined #perl6
15:15 timotimo i need to do some jnthn-nagging myself for moving my jvm arity based dispatcher stuff from nqp to rakudo without issue
15:17 thou joined #perl6
15:23 beastd joined #perl6
15:26 notjack perl6: say my.NAME;
15:26 camelia rakudo-jvm eb1aa5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/ptl82JlMpTâ�¤Malformed myâ�¤at /tmp/ptl82JlMpT:1â�¤------> [32msay my[33mâ��[31m.NAME;[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤Â»
15:26 camelia ..niecza v24-109-g48a8de3: OUTPUT«(timeout)[auto-compiling setting]␤»
15:26 camelia ..rakudo-parrot eb1aa5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tCIW65KDSRâ�¤Malformed myâ�¤at /tmp/tCIW65KDSR:1â�¤------> [32msay my[33mâ��[31m.NAME;[0mâ�¤    expecting any of:â�¤        scoped declaratorâ�¤Â»
15:26 notjack camelia doesn't love me :(
15:30 moritz r: say MY::.^name
15:30 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«PseudoStash␤»
15:30 timotimo i should shave a PseudoStash into my beard
15:30 treehug88 joined #perl6
15:32 kaleem joined #perl6
15:34 treehug88 joined #perl6
15:36 dalek rakudo-star-daily: 9a90281 | coke++ | log/ (5 files):
15:36 dalek rakudo-star-daily: today (automated commit)
15:36 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/9a90281e01
15:37 [Coke] again, LHF: help module authors avoid deprecated warnings in rakudo-star modules; https://github.com/coke/rakudo-star-d​aily/blob/master/log/test-modules.log
15:40 moritz I wonder if I can get right of the eval in JSON::Tiny::Actions; our numification should be good enough by now
15:41 [Coke] even better.
15:41 [Coke] I don't have a machine with a working ufo at this point (updating an installed version with panda frequently was too painful last time i tried.)
15:41 [Coke] though I may bite the bullet and try it again to get this list cleaned.
15:48 moritz n: say :16('ab')
15:48 camelia niecza v24-109-g48a8de3: OUTPUT«(timeout)[auto-compiling setting]␤»
15:48 FROGGS dev/niecza/run/Niecza.exe -e 'say :16("ab")'
15:48 FROGGS 171
15:48 FROGGS moritz: ^^
15:49 moritz \o/
15:50 moritz ok, eval in JSON::Tiny::Actions is gone.
15:50 FROGGS nice!
15:50 moritz https://github.com/moritz/json/commit/9​dec815c075c77e2f5066fe819523867f625f15e
15:56 rurban1 joined #perl6
15:57 FROGGS [Coke]: I sent a PR for uri
15:57 rindolf Rakudo, why u so slow?
15:58 tadzik oooh
15:58 tadzik that'll be a speedup
15:58 Psyche^ joined #perl6
15:58 timotimo i'd like a speedup for JSON::Tiny
15:59 FROGGS tadzik: quick! https://github.com/tadzik/Template-Mojo/pull/7
16:00 tadzik :o
16:00 tadzik wow, I didn't know we moved to EVAL
16:00 tadzik I lost track of things
16:00 tadzik FROGGS: done
16:00 FROGGS you don't love us anymore :o(
16:00 timotimo did you notice how far mokudo is regarding spectests?
16:01 skids joined #perl6
16:01 tadzik yeah :)
16:01 tadzik MoarVM is a magical wonderland
16:01 FROGGS tadzik: quick! https://github.com/tadzik/Bailador/pull/7
16:01 FROGGS :P
16:01 FROGGS both #7
16:01 FROGGS that must mean something :o)
16:02 tadzik FROGGS: I was faster than you :>
16:02 timotimo tadzik: it's already fast on NQP and jnthn has some cool stuff planned for de-pessimizing the binder (by oftentimes skipping it completely)
16:02 timotimo i'm so excited :3
16:02 tadzik I'm so tuitless
16:02 FROGGS I guess moritz can fix DBIish by himself :o)
16:02 FROGGS tadzik: that is sad
16:02 dalek perl6-examples: 83651e5 | (Shlomi Fish)++ | euler/prob027-shlomif.pl:
16:02 dalek perl6-examples: [Euler] Add #027.
16:02 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/83651e5286
16:02 tadzik yeah, and it's purely a motivation problem
16:02 tadzik that makes me sad too
16:03 FROGGS tadzik: maybe you just need something very -Ofun to hack on?
16:03 tadzik I have a few ideas up me sleeve
16:03 * timotimo too
16:03 tadzik like p6gcc
16:04 tadzik which needs a lot of very fun SDL+NativeCall+Design work
16:04 timotimo p6gcc is what now?
16:04 tadzik game coding contest
16:04 tadzik it's a secret, so shh
16:04 timotimo oh of course
16:04 timotimo not Gnu Compiler Compilation
16:04 tadzik oooh
16:05 tadzik wouldn't that be fun
16:05 dalek DBIish: b17830c | (Tobias Leich)++ | lib/DBIish.pm6:
16:05 dalek DBIish: use "EVAL" instead of deprecated "eval"
16:05 dalek DBIish:
16:05 dalek DBIish: Both niecza and rakudo support EVAL.
16:05 dalek DBIish: review: https://github.com/perl6/DBIish/commit/b17830cd34
16:06 FROGGS [Coke]: so only this must be applied, otherwise clean: https://github.com/ihrd/uri/pull/11
16:06 tadzik FROGGS: so, I had this novelty idea about SDL
16:06 tadzik I tried to make your SDL bindings work for me, and a lot of stuff hit the fan on the way
16:06 FROGGS tadzik: I am all in for that... it was fun to hack on a P5 SDL game contest a few years ago
16:07 tadzik SDL is not exactly friendly to bind to Perl 6 at this point
16:07 * FROGGS listens
16:07 skids What that they should get a less generic acronym?
16:07 tadzik so I thought to write a C library that's only goal is to make it easily bindable via NativeCall
16:07 FROGGS tadzik: interesting approach
16:07 tadzik because it's a lot easier for me to do heavy lifting in C
16:08 tadzik I saw SDL using inline C for stuff like memcopy, for a reason, I wonder if there's a managable way to not need to look into those kind of details on the Perl 6 level
16:08 FROGGS tadzik: yeah, I just wanted to make some pieces work to get my BubbleBreaker running :/
16:09 tadzik so, come up with a framework that's low level enough to expose most of the interesting stuff, but high level enough to make it bindable without much hassle
16:09 FROGGS and, to my defence, I was pretty new to Perl 6
16:09 tadzik FROGGS: yeah, there's a lot of good stuff in there :)
16:09 tadzik I remember trying it soon after you released it
16:09 tadzik these days it segfaults, I think
16:09 FROGGS yeah, probably
16:09 tadzik which makes me think that we should maybe avoid doing too much magic in NativeCall stuff
16:09 FROGGS though I remember fixing a bug a few weeks ago
16:10 tadzik hm
16:10 tadzik I may have opened a PR back then
16:10 tadzik heh, it's still thre :) https://github.com/PerlGameDev/SDL6/pull/2
16:10 FROGGS indeed
16:10 tadzik so, I had this idea for a different approach
16:11 tadzik and all this to be able to determine if we're able to write real-time games in Perl 6 yet
16:11 FROGGS damn, I seem to miss messages about issues and PRs
16:11 tadzik even if it's just asteroids and arkanoids
16:12 FROGGS I have an (awesome) game idea in my drawer that I might work on this summer...
16:12 FROGGS I will keep it secret put SDL (or SDL2) should benefit from that
16:13 FROGGS gtg now, see you in a bit
16:13 timotimo SDL2 is probably going to make a very noticable difference in game performance on our current rakudo implementations
16:13 FROGGS[mobile] joined #perl6
16:14 timotimo but still, high-framerate games are not possible. we can't even iterate 100 numbers in 60fps :P
16:21 notjack goddamn lazy good for nothing integers
16:23 tadzik timotimo: can't we? :|
16:24 timotimo haven't actually tried
16:25 tadzik rakudo-parrot on my laptop can do 300000 empty iterations in a second
16:26 tadzik so it can do nothing 5000 times in a frame
16:26 timotimo that's a whole lot'a nothin'
16:26 tadzik maybe we can squeeze in some computation in that time :P
16:26 timotimo hopefully a lot :)
16:27 timotimo theoretically, rakudo-jvm would be nice for games, since the game loop would often run same-ey (and often), so the jit should be able to do something about it
16:27 tadzik but we don't have nativecall on jvm yet
16:27 timotimo that's right
16:28 timotimo we'll have to stick to ANSI-art games then :P
16:28 tadzik hehe
16:28 tadzik so, how fast is RC forestfire on jvm?
16:28 timotimo still very slow
16:29 tadzik oh, it doesn't compile on parrot these days
16:30 tadzik and yeah, it's not much faster on jvm than on parrot
16:32 timotimo it'll be futile to run any moarvm-rakudo benchmarks right now because of the binder, but maybe i should get a patch into perl6-bench to properly run rakudo-moar
16:32 timotimo build and run, that is
16:33 hoelzro the binder is what's slowing Moar down, right?
16:33 timotimo yes, but only rakudo, not nqp
16:33 timotimo the binder is currently implemented in nqp, so it's always slowpathed :)
16:33 [Coke] "just" make nqp faster!
16:33 timotimo i'd love that :P
16:34 timotimo there's still a little something i can implement for nqp to maybe get a tiny speed improvement across the board
16:36 FROGGS joined #perl6
16:36 timotimo gah. i would love qt for perl6 so much :(
16:40 SamuraiJack joined #perl6
16:44 timotimo .o(though i fear the speed improvement from that particular optimization will hardly be measurable)
16:45 japhb tadzik: Why doesn't rc-forest-fire compile on r-p these days?  (I'm rebuilding rakudo right now, or I'd check myself.)
16:46 tadzik japhb: has Cell-Something @!grid, complains that it's an array, not a Cell-Something array
16:47 tadzik r: enum Cell-State <a b c>; class A { has Cell-State @!grid; }; A.new
16:47 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: ( no output )
16:47 tadzik ok, it's more complex than that :)
16:48 japhb Ah, will probably just have to remove the constraint for now.
16:48 japhb Typed arrays just cause no end of grief in Rakudo.
16:48 timotimo yeah, and no performance improvements :(
16:49 japhb timotimo: I just want them for type safety sometimes.  But I more often end up with type rage instead.
16:49 tadzik there is a performance improvement I found in the ForstFire code, instead of the 2nd loop in step method you can just do @!grid = @new
16:49 timotimo rage safety :)
16:49 tadzik but it doesn't change much
16:51 japhb I had tried to stick more or less with the actual RC code, but I had to make changes here and there (because for example on RC some versions used Unicode trees/fire and some didn't).  If there are changes that are both more idiomatic and more efficient, we probably ought to change them *both* in perl6-bench and at RC.
16:54 bbkr joined #perl6
17:06 * [Coke] is reminded to eventually get his test-perl6-code-in-rc working.
17:08 jeffreykegler joined #perl6
17:08 jeffreykegler left #perl6
17:09 jeffreykegler joined #perl6
17:15 ssutch joined #perl6
17:19 firsttime joined #perl6
17:26 timotimo that would be pretty awesome, [Coke] :)
17:28 PerlJam [Coke]: ISTR that ingy had some P5 code for extracting individual RC entries.  (dunno if that's useful to you)
17:28 timotimo there's a github repository with all the code pieces as files
17:28 timotimo rosettacode-data or something
17:28 timotimo (made by ingy)
17:29 PerlJam ah, yes.
17:30 PerlJam doesn't look too updated though.
17:30 ssutch joined #perl6
17:32 timotimo i think all that ingy needs to do is run The Script and it'll be up to date
17:32 timotimo you may want to consider sandboxing, though
17:33 ssutch_ joined #perl6
17:35 timotimo lue: http://questhub.io/realm/perl/​quest/52d4243ff6d3292d1d000042 ← you might like this
17:42 [Sno] joined #perl6
17:53 ssutch joined #perl6
17:57 ssutch_ joined #perl6
18:06 pmichaud good afternoon, #perl6
18:06 tadzik pmichaud! \o/
18:07 [Coke] pmichaud: I just found a thing with your handwriting on it when I cleaned my office yesterday!
18:07 timotimo hey pmichaud  :)
18:07 pmichaud [Coke]: sorry about that -- I'll try to do better to clean up after myself in the future.  :-) :-)
18:08 jnthn [Coke]: Did it say "Pm was here"? :)
18:08 preflex jnthn: you have 1 new message. '/msg preflex messages' to read it.
18:08 [Coke] ... that reminds me, I need to bring a pile of tuits to the albany.pm meeting this month.
18:08 [Coke] jnthn: "enjoy the tuits, Pm"
18:08 [Coke] ... or something very close to that.
18:08 ajr joined #perl6
18:08 pmichaud Clearly not my best prose.  :-)
18:09 PerlJam pmichaud: greetings!
18:09 FROGGS hi pmichaud!
18:09 pmichaud PerlJam: greetings!
18:10 pmichaud and hello to everyone else :)
18:10 LLamalessRider joined #perl6
18:11 moritz \o pmichaud
18:11 arnsholt Greetings!
18:12 V_S_C joined #perl6
18:14 V_S_C https://gist.github.com/VSChawathe​/8405058#file-parrot-s-nmaking-nqp
18:14 ajr_ joined #perl6
18:17 gfldex joined #perl6
18:34 xinming joined #perl6
18:35 mohij joined #perl6
18:36 jdv79 timotimo: amazing - 96%
18:36 masak pmichaud! \o/
18:46 ilbot3 joined #perl6
18:46 topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:,  niecza:, std:, or /msg camelia perl6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
18:49 notjack perl6: "super secret message lol".trans("a..zA..Z"=>"n..za..mN..ZA..M").say
18:49 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5, niecza v24-109-g48a8de3: OUTPUT«fhcre frperg zrffntr yby␤»
18:49 notjack how could you calculate the range rotations concisely in p6?
18:50 notjack as in, take the alphabet & the number 13 as input, an d produce the argument to .trans() as output?
18:50 moritz r: say ord 'a'.chr+13
18:50 camelia rakudo-parrot eb1aa5: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏a' (indicated by ⏏)␤  in method Int at gen/parrot/CORE.setting:12126␤  in method Int at gen/parrot/CORE.setting:5512␤  in method chr at gen/parrot/CORE.set…»
18:50 camelia ..rakudo-jvm eb1aa5: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏a' (indicated by ⏏)␤␤»
18:50 moritz r: say chr 'a'.ord+13
18:50 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«n␤»
18:50 * [Coke] starts a quest: http://questhub.io/realm/perl/​quest/52d435ecf6d3293819000050
18:51 notjack moritz: that won't work for things like whitespace and symbols and thingies
18:51 notjack thingies in particular will be troublesome
18:51 moritz notjack: rot13 doesn't work for anything > 25
18:51 moritz rot$N, to be exact :-)
18:51 masak r: say ("a".."z").rotate(13)
18:51 camelia rakudo-jvm eb1aa5: OUTPUT«No such method 'rotate' for invocant of type 'Range'␤␤»
18:51 camelia ..rakudo-parrot eb1aa5: OUTPUT«No such method 'rotate' for invocant of type 'Range'␤  in block  at /tmp/xWt8fbwWE7:1␤␤»
18:51 masak r: say ("a".."z").list.rotate(13)
18:51 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«n o p q r s t u v w x y z a b c d e f g h i j k l m␤»
18:52 notjack ook
18:52 notjack ooh
18:52 masak :)
18:52 masak thought you might like that.
18:52 notjack how do you flatten that back into a string?
18:52 masak r: say ("a".."z").list.rotate(13).join
18:52 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«nopqrstuvwxyzabcdefghijklm␤»
18:52 notjack d'oh!
18:52 notjack notjack--
18:53 [Coke] r: say ("a".."z").list.rotate(113 % 26).join
18:53 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«jklmnopqrstuvwxyzabcdefghi␤»
18:53 notjack what's with the 113?
18:54 [Coke] it's bigger than 26.
18:55 [Coke] r: rakudo: my $ya = "\cIa" # RT 83952
18:55 camelia rakudo-parrot eb1aa5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/1t1qTzSFke␤'I' is not a valid number␤at /tmp/1t1qTzSFke:1␤------> [32mrakudo: my $ya = "\cI[33m⏏[31ma" # RT 83952[0m␤»
18:55 camelia ..rakudo-jvm eb1aa5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/4VYfHynkcV␤'I' is not a valid number␤at /tmp/4VYfHynkcV:1␤------> [32mrakudo: my $ya = "\cI[33m⏏[31ma" # RT 83952[0m␤»
18:55 [Coke] r: my $ya = "\cIa" # RT 83952
18:55 camelia rakudo-jvm eb1aa5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/AFCfboNzoM␤'I' is not a valid number␤at /tmp/AFCfboNzoM:1␤------> [32mmy $ya = "\cI[33m⏏[31ma" # RT 83952[0m␤»
18:55 camelia ..rakudo-parrot eb1aa5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/pWu7hV_tgS␤'I' is not a valid number␤at /tmp/pWu7hV_tgS:1␤------> [32mmy $ya = "\cI[33m⏏[31ma" # RT 83952[0m␤»
18:55 [Coke] nqp: "\cla" #same
18:55 camelia nqp-jvm: OUTPUT«Unrecognized \c character at line 2, near "la\" #same"␤  in panic (gen/jvm/stage2/NQPHLL.nqp:379)␤  in charspec (gen/jvm/stage2/NQPHLL.nqp)␤  in quote_escape:sym<chr> (gen/jvm/stage2/NQPHLL.nqp)␤  in !protoregex (gen/jvm/stage2/QRegex.nqp:756)␤  in quote_es…»
18:55 camelia ..nqp-moarvm: OUTPUT«Unrecognized \c character at line 2, near "la\" #same"␤panic␤»
18:55 camelia ..nqp-parrot: OUTPUT«Unrecognized \c character at line 2, near "la\" #same"␤current instr.: 'panic' pc 15975 (gen/parrot/stage2/NQPHLL.pir:5955) (gen/parrot/stage2/NQPHLL.nqp:426)␤»
19:00 [Coke] r: say "big string" ~~ "ring"
19:00 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«False␤»
19:00 [Coke] r: say  "ring" ~~"big string"
19:00 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«False␤»
19:02 arnsholt Le sigh. Debugging Java is a lot more annoying than debugging C
19:02 masak [Coke]: smartmatching Str ~~ Str reduces to Str eq Str.
19:03 arnsholt Mostly because JDB isn't half as clever as GDB
19:03 [Coke] masak: ayup, I see that. my literal substring has a ' in it, was hoping for magic.
19:05 dalek roast: b14d48b | coke++ | S02-literals/quoting.t:
19:05 dalek roast: add test for RT#83952
19:05 dalek roast: review: https://github.com/perl6/roast/commit/b14d48b29a
19:05 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=83952
19:09 moritz #perl6 is now logged by ilbot3, the experimental successor to ilbot2
19:09 moritz if you find that anything doesn't work as expected, please inform me :-)
19:09 arnsholt java.lang.RuntimeException: CStruct.bind_attribute_native NYI
19:09 [Coke] ilbot3: format c:\
19:09 arnsholt \o/
19:10 FROGGS arnsholt: is that good?
19:10 moritz [Coke]: this is not a windows box :-)
19:10 FROGGS ilbot3: install wine && format c:\
19:11 moritz it's based on AnyEvent, and can join new channels without needing a restart
19:11 * colomon LOLs
19:11 ajr joined #perl6
19:11 arnsholt FROGGS: Means that my CStruct code works to the extent that classes get generated
19:12 FROGGS arnsholt: that was what I guessed :o)
19:12 FROGGS arnsholt: congrats!
19:12 xenoterracide joined #perl6
19:13 [Coke] moritz: p5 or p6?
19:16 pecastro joined #perl6
19:17 LLamalessRider joined #perl6
19:33 japhb__ [Coke], I believe AnyEvent is Perl 5 and MuEvent is Perl 6.
19:38 [Coke] Danke.
19:42 rylinaux joined #perl6
19:48 locsmif_ joined #perl6
19:49 pdcawley joined #perl6
19:50 denis_boyun joined #perl6
19:54 moritz aye, p5
20:13 Rotwang joined #perl6
20:25 hoelzro are shaped/multi-dimensional arrays compatible with binding?
20:25 hoelzro ex. my @array[10] := MySpecialArray.new
20:25 treehug88 joined #perl6
20:30 smls joined #perl6
20:40 [Coke] minor questhub rant: someone likes my quest. I go to my quest. I can see their name in a mouseover, but cannot click through to them.
20:41 lue Waitaminute... what is this "# OK" of which you speak, timotimo?
20:42 FROGGS n: my $r
20:42 camelia niecza v24-109-g48a8de3: OUTPUT«Potential difficulties:␤  $r is declared but not used at /tmp/Mt8icuRvpo line 1:␤------> [32mmy [33m⏏[31m$r[0m␤␤»
20:43 FROGGS n: my $r #OK not used
20:43 camelia niecza v24-109-g48a8de3: ( no output )
20:43 lue Didn't know about that. # OK then. :)
20:43 FROGGS :o)
20:45 lue timotimo: I do like the quest :) I have to say I imagine the statement would go something like  no warnings :p5;  .
20:46 [Coke] r: no warnings; my $r;
20:46 camelia rakudo-parrot eb1aa5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/58jmJcRyEp␤Undeclared routines:␤    no used at line 1␤    warnings used at line 1␤␤»
20:46 camelia ..rakudo-jvm eb1aa5: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Ki6nzVtRvS␤Undeclared routines:␤    no used at line 1. Did you mean '&on'?␤    warnings used at line 1␤␤»
20:46 FROGGS no NYI
20:47 FROGGS not hard to implement, but the question is: would "no Foo" call Foo's EXPORT or an UNEXPORT?
20:48 FROGGS or is something else specced?
20:49 smls re backlog: I agree with hoelzro and masak, the whole Array-vs-List-vs-Parcel thing is confusing.
20:49 smls P5 is simple and coherent in this regard:
20:49 smls Array = an actual object that lives in memory, can be the target of a reference, and can be contained by an @array variable.
20:49 smls List = merely a syntax construct, that allows you to control the order in which values are slurped from variables/constants/literals into other variables (e.g. in '=' assignments, subroutine calls, etc).
20:49 smls Each concept occupies a distinct conceptual space.
20:50 jeffreykegler left #perl6
20:50 smls In P6 we are given three overlapping concepts, *all* of which are actual objects that can be stored in variables but at the same time appartently also have syntatcical features (like flattening) associated with them, with difficult-to-remember behavioral differences between them, and difficult to understand which one we're dealing with in any given situation.
20:52 smls Is that complexity and really necessary to support the features Perl 6 actually needs?
20:55 masak you tell us.
20:55 lue r: my @a = 1,2,3,4; say @a.WHAT; say @a[2..3].WHAT;  # ← I wonder if this is covered in S09
20:55 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«(Array)␤(Parcel)␤»
20:55 masak (not meant to be sarcastic, I genuinely want to know, too)
20:56 moritz smls: which three overlapping concepts are you talking about?
20:56 moritz names, containers and contained objects?
20:56 smls Array, List, Parcel
20:57 smls although containers vs objects is also confusing. I thought I had fiugured it out, but then I read http://doc.perl6.org/language/containers ... :/
20:58 moritz from a user perspective, I wonder if List and Parcel could be unified
20:58 smls masak: Well, I don't know what'
20:58 moritz from an implementation perspective, I'd fear I'd make stuff even slower
20:58 lue I've always wondered a bit about array, list, and parcel too, I just assumed I hadn't read the right parts of the spec yet :)
20:58 smls what's needed, as I don't have a comprehensive understanding of P6 features
21:00 moritz the original plan was to make Parcels mostly invisible to the user
21:00 moritz I guess that didn't pan out
21:00 moritz in return we got rid of Seq
21:00 moritz (Seq as a non-lazy List)
21:02 jnthn Well, Parcel plays the not committing to flattening role...
21:03 smls but why does a Parcel need to be an actual object, that can be stored in a variable?
21:03 jnthn What else do you want it to be?
21:03 jercos If it's not an object, what is it?
21:03 lue r: say (1,2,3).WHAT; my @a; @a := (1,2,3); say @a.WHAT;
21:03 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«(Parcel)␤(Parcel)␤»
21:04 FROGGS because it needs to be something, and a something happens to be a class or role
21:04 lue The end of that p6doc smls linked is wrong.
21:04 smls a syntax construct, that controls order and flattening of variables
21:04 smls but "vanishes" after being evaluated
21:04 smls like P5 lists
21:06 raydiak precisely...this whole array/list/parcel thing seems like something that'd be better thought of as "what I'm trying to do"/"how I'm using it" than totally different classes
21:07 timotimo joined #perl6
21:08 dalek doc: 9110ff0 | lue++ | lib/containers.pod:
21:08 dalek doc: Fix incorrect containers.pod example.
21:08 dalek doc:
21:08 dalek doc: Just the descriptive comment that was wrong, is all.
21:08 dalek doc: review: https://github.com/perl6/doc/commit/9110ff08df
21:10 [Coke] timotimo++
21:10 mberends joined #perl6
21:11 timotimo what for now?
21:11 timotimo :)
21:12 [Coke] questhub
21:12 timotimo i saw you liked so many of my quests :)
21:13 timotimo jnthn: can i ask you to look at my jvm arity dispatcher stuff again in the next few days? i'm failing to move it over to rakudo's source base
21:19 dayangkun joined #perl6
21:33 japhb__ preflex: ask jnthn Would it be possible to get a rough estimate of when you will have non-moar-shaped tuits?  I don't want to keep bugging you about my blockages (and I think r-m is more important anyway), but it would help my perl6-shaped-tuit planning to have a rough idea.  No worries if you can't.
21:33 preflex Consider it noted.
21:33 smls joined #perl6
21:34 * japhb__ is trying to decide which Perl 6 related projects to backburner, which to frontburner, and which to just plain burn.
21:35 timotimo what do you have?
21:38 japhb__ perl6-bench, p6-pb, Net--IRC, pray, a vector math lib I'm playing around with, moarvm-jit (don't get excited, because of my limited tuits this is waiting on r-m to stabilize *before I even start *), panda, a few Rakudo things, ...
21:39 PerlJam japhb__: Net::IRC using all the S17 goodness would be interesting  :)
21:39 tadzik arnsholt: you there?
21:40 timotimo wow, you've got lots of cool stuff :)
21:40 nwc10 is moarvm good enough to support panda yet?
21:40 skids Is panda doing JVM yet?  I thought that was one of the roadblocks for star-jvm.
21:40 timotimo panda does jvm
21:40 timotimo but not NativeCall
21:40 PerlJam japhb__: and anything that makes panda better would be excellent (since it's user-facing, it's good leverage to attract others if panda Just Worked)
21:41 japhb__ PerlJam: Yeah, that and the vector math lib are currently sitting on top of the heap, since p6-pb is blocked, and I think Net--IRC would be a good test of whether S17 is working for non-trivial stuff.
21:41 japhb__ (that == Net--IRC on S17)
21:42 japhb__ I thought I saw ++arnsholt making some progress on NativeCall-jvm within the last day or so.
21:43 timotimo he just posted something about structs starting to work today :)
21:43 japhb__ panda was a little farther back because I was waiting on FROGGS++ to get his loader and compunit storage in shape, but IIRC that's done or close to done ...?
21:46 timotimo not done iirc
21:46 tadzik any reason why NativeCall won't load a library that's clearly there?
21:47 japhb__ tadzik, Which OS?
21:47 tadzik japhb__: linux
21:47 tadzik stubbornly says Cannot locate native library './sdlwrapper.so'
21:47 tadzik which is clearly there
21:48 japhb__ What about using a full path?
21:48 tadzik let's see
21:48 nwc10 or use strace to figure out where on disk it actually was looking
21:49 tadzik full path doesn't work. The only thing that strace says is clone() and then wait()
21:50 timotimo yeah, you need to -f
21:50 nwc10 or -ff
21:50 lue tadzik: try reading the file 'cat <file>' or similar
21:50 tadzik that gave some useful info
21:51 tadzik https://gist.github.com/tadzik/8408820
21:51 tadzik it seems to be opening the right file
21:52 nwc10 yes, does look that way
21:52 nwc10 which bit of code is responsible for that message "Cannot locate native library" ?
21:53 timotimo wrong architecture or missing dependencies?
21:53 smls tadzik: Does the library have the correct architecture (i686 vs x86_64)? The dynamic linker on Linux produces "file not found" if it isn;t.
21:53 tadzik nwc10: I think it's nqp's dyncall ops
21:53 tadzik smls: everything on my machine is 64bit, or so I hope :)
21:53 timotimo try to lld the .so file?
21:54 tadzik works okay
21:54 lue Could it be a linker script, by any chance?
21:55 tadzik linker script?
21:55 lue if you can read it like a normal text file, it's a linker script.
21:55 masak 'night, #perl6
21:56 lue ♞ masak o/
21:56 timotimo tadzik: it's a direct result of dlload failing
21:56 lue (says 'GNU ld script' or something at the top, in a comment)
21:57 timotimo dlopen*
21:57 bluescreen100 joined #perl6
21:57 tadzik lue: nah, it starts with "    ÀÈÈÈ$$Påtd\" :)
21:57 timotimo       RTLD_NOW
21:57 timotimo              If this value is specified, or  the  environment  variable  LD_BIND_NOW  is  set  to  a
21:57 timotimo              nonempty  string,  all  undefined  symbols  in the library are resolved before dlopen()
21:57 timotimo              returns.  If this cannot be done, an error is returned.
21:58 timotimo it may very well be the case that you need to dlopen sdl.so first?
22:00 tadzik grr
22:00 tadzik I even copied the code for compiling the lib from nativecall's testsuite
22:01 timotimo can has your stuff?
22:02 tadzik sure
22:02 tadzik https://gist.github.com/tadzik/8409006
22:03 tadzik at this point just running test.pl should suffice
22:03 * timotimo builds current nqp and rakudo
22:07 timotimo will take some more until i can try it
22:14 sivoais joined #perl6
22:28 dalek perl6-roast-data: 8bae2b1 | coke++ | / (6 files):
22:28 dalek perl6-roast-data: today (automated commit)
22:28 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/8bae2b197e
22:30 btyler r-moar at 97.6%! awesome!
22:31 timotimo \o/
22:31 mohij left #perl6
22:32 [Coke] r: say 28462*.98-27778
22:32 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«114.76␤»
22:33 smls joined #perl6
22:34 timotimo std: no warnings :p5;
22:34 camelia std 09dda5b: OUTPUT«ok 00:01 121m␤»
22:34 timotimo rakudo currently doesn't parse "no" statements
22:34 timotimo will fix
22:37 PerlJam parsing is the easy part ... it's the semantics that always get you  ;)
22:40 timotimo of course :)
22:41 timotimo i'll just implement "no warnings :p5"
22:41 PerlJam timotimo++
22:43 timotimo now i have to pick apart the arglist :|
22:46 LLamaRider quick question: so for some reason I should switch all my eval()s to EVAL()s? (Just refreshing my P6 module and saw it breaks)
22:47 timotimo yup
22:47 timotimo it's because eval is SPECIAL
22:47 timotimo potentially dangerous and slow
22:48 LLamaRider i guess it has to shout to the compiler or something ^^
22:48 timotimo right :)
22:49 LLamaRider mkay, thanks for the confirmation, now my mod works and will receive a rightful update
22:49 LLamaRider but does that mean there is an intent to make any legitimate P5 use case for eval() end up done differently in P6?
22:50 LLamaRider my case was dynamically regenerating a variable that holds a regex by evaling a string (ew)
22:53 BenGoldberg joined #perl6
22:53 TimToady it's already different, since P5's eval also includes "try" semantics, but not P6's
22:53 smls Many P5 use case for eval out in the wild, could use Closures instead even in P5
22:54 smls I guess P6 macros take away even more use-cases?
22:54 TimToady BEGIN and EVAL are both "escape hatches" that usually indicate a missing feature, if you have to use 'em
22:56 smls And some use-cases don't actually require access to the surrounding code's state, i.e. they could be rewritten as << system qq(perl -e "$code"); >>
22:56 smls maybe a built-in that works like that (but faster) might be useful?
22:57 LLamaRider smls: eval does much more than just execute the code, e.g. it is also aware of the entire state of the process up to this point (you can use anything in scope as if you were there)
22:57 TimToady dinner &
22:57 smls LLamaRider: Yes, that's why I said *some* use-cases
22:58 smls Those that don't need access to the outer scopes, would be better served with the non-evil version that only executes self-contained code
22:58 LLamaRider in less powerful languages your only alternative is something like fork - then print somewhere readable to the parent / or send a signal or smth - then die
22:59 LLamaRider there are few if any use cases for eval on self-contained code, when we discard the try/catch cases
23:00 LLamaRider I have almost always used it to evaluate dynamically generated code
23:00 timotimo i'd kind of like the ability to construct QAST trees from inside perl6 code :3
23:02 smls LLamaRider: The question is: How powerful will P6 macros be?
23:02 timotimo very, i hope :)
23:03 timotimo we're supposedly going to get non-hygienic macros
23:03 * japhb__ wonders how many other languages got hygienic macros *first*
23:04 timotimo for some reason it seems like going for ast-based macros seems easier-ish and that makes unhygienic harder-ish :)
23:05 timotimo i'm not exactly sure how to make "no warnings" stick to the correct lexical scope :|
23:07 kaare_ joined #perl6
23:11 timotimo at the moment i just have a $* in the compunit where monkey typing and friends live, too
23:11 timotimo i could theoretically install a funny-named symbol in the lexpad?
23:16 Alina-malina joined #perl6
23:22 lizmat this earlier today on the London PM mailing list: http://london.pm.org/pipermail/london​.pm/Week-of-Mon-20140113/024711.html
23:22 lizmat (London Perl 6 Hackaday)
23:22 lizmat any takers?
23:24 lizmat sleep&
23:26 timotimo could someone update that wiki page? jvm sockets are here now.
23:28 japhb__ ... and any revamp of Term::*Color should do 256-color or 24-bit color terminals.  :-)
23:28 timotimo yes.
23:28 lue How do you do 24-bit/256 color? I've only semi-memorized the standard ANSI escape sequences.
23:30 jercos 256 color would commonly use xterm256. I'm not familiar with 24-bit color standards for terminals.
23:31 jercos https://code.google.com/p/joeldotfil​es/source/browse/trunk/256colors2.pl
23:32 colomon lizmat++
23:35 timotimo konsole can do 24-bit for example
23:36 * jnthn back
23:36 jercos apparently -> uint8 $r, uint8 $g, uint8 $b {"\x1b[38;2;{$r};{$g};{$b}m"}
23:37 jercos the xterm256 code for "find closest color to this RGB triplet", results in straight 24-bit color on some terminals
23:37 lue \e[48 is for 256, if I read that perl script correctly.
23:37 jercos 38 is foreground, 48 is background
23:37 timotimo oh!
23:38 timotimo so if you have xterm256 you can still do rgb, that's really nice!
23:38 lue it's the second number that controls 256/24-bit then, right? (that ;2; for 24-bit, for instance)
23:39 jercos yeah. 5 for xterm256 color code, 2 for 24-bit, and I'm entirely unsure what others do, since this is gleaned from various documents
23:40 jercos in particular, https://github.com/robertknight/konsole​/blob/master/user-doc/README.moreColors seems to provide a reliable source for a modern use of said codes.
23:40 lue I can't do \e[38;2;FF;77;00m , can I? :)
23:41 jercos I believe it needs to be decimal.
23:43 lue CMYK? Ooohhh :)
23:46 lue Eh, I don't think konsole understand the CMYK mode :/
23:46 jercos Yeah it's probably uncommon :p
23:47 timotimo i'm not sure where i put the code to move the bootinterop from nqp to rakudo :\
23:47 BenGoldberg ,4And then there's irc colors ;)
23:48 jercos good old annoying IRC colors.
23:48 BenGoldberg Ok, blue on red was a bad (painful) choice
23:48 lue I'm surprised I don't have uxrvt or whatever it's called. Thought I did...
23:49 lue r: say "\e[36mStandard Color\e[38;5;48m256-mode\e[38;2;25​5;240;0m24-bit-mode.\e[0mNormal."
23:49 camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«[36mStandard Color[38;5;48m256-mode[38;2;255​;240;0m24-bit-mode.[0mNormal.␤»
23:50 lue Heh, my hexchat script threw up "unrecognized code" on the 256-color one :P
23:50 lue (and did nothing with the 24-bit it seems)
23:50 jercos Yeah, PuTTY doesn't even seem to bother with the 24-bit codes, and the 256 codes get mapped onto the system colors.
23:51 timotimo :(
23:51 yoleaux joined #perl6
23:51 jercos (the 24-bit code *did* reset the color to my defaults)
23:51 lue That was probably the '0m' at the end
23:51 jercos mhm.
23:51 geekosaur yeh, my xchat script ignored the parts it didn't recognize
23:52 lue So at least your terminal's ANSI code interpreter doesn't bail on the first unrecognized code :)
23:52 geekosaur it does, it just does so silently and minimizing corruption
23:52 geekosaur (it just eats SGRs it doesn't recognize)
23:52 lue geekosaur: That was meant for jercos, sorry.
23:52 geekosaur heh
23:53 BenGoldberg Does windows have escape sequences for colors?  Or only library functions?
23:53 timotimo i think only the latter
23:53 jercos Heh, okay, well, setting 128;128;128 turns on underlines. I've no idea how that works, given underline is... 4
23:53 jercos BenGoldberg: there's ANSI.SYS...
23:53 lue That's weird, I could swear Windows has ANSI.SYS
23:53 jercos ^
23:53 BenGoldberg Ok :)
23:53 lue (granted, ANSI does a *lot* of stuff, but...)
23:54 jnthn If you want things like Term::ANSIColor to work on Windows, you need something other than the standard console
23:54 timotimo the stuff xterm can do with ansi escape codes is crazy
23:54 timotimo it even has a vector graphics mode
23:54 timotimo (it opens a separate window, but still)
23:54 lue O.O
23:54 geekosaur tektronix 4014 emulation mode, yeh
23:54 timotimo yes
23:55 geekosaur also vt52 emulation still in there, I think
23:55 timotimo what can that do?
23:55 ingy timotimo: should I run the Script now?
23:55 * lue wonders how many terminals he's about to install...
23:56 jeffreykegler joined #perl6
23:58 jercos lue: apt-cache search terminal | grep -c "terminal emulator" suggests 35, if you're on a debian system :p
23:58 lue I should at least get xterm, the apparent king of terminals. I had urxvt once, but now I remember not liking it.

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

Perl 6 | Reference Documentation | Rakudo