»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
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:00
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
..rakudo-jvm eb1aa5: OUTPUT«Nominal type check failed for parameter 'nu'␤ in sub my-sqrt at /tmp/Q834unxMls:1␤␤»
grondilu ah, I spoke too fast
timotimo not that long until the next rakudo compiler release, eh? 00:02
ah, 10 days 00:03
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.41421356237309504880168872420969807856967187537694807317667973799073247846210703885038753432764157273501384623091229702492483605␤»
grondilu ^ this should work
00:07 kivutar left 00:18 raiph2 left 00:19 raiph left 00:25 raiph2 joined, raiph joined
grondilu r: gist.github.com/grondilu/8387779 00:27
camelia rakudo-jvm eb1aa5: OUTPUT«(timeout)» 00:28
..rakudo-parrot eb1aa5: OUTPUT«3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706639659965061377193118613298019523646027229486215198101502488794937107597776483264884377187730069463740487642␤»
grondilu wonders why rakudo times out on jvm and not on rakudo for this.
s/on rakudo/on parrot/ 00:29
00:42 pecastro left 00:46 raiph left, raiph2 left 00:47 raiph joined 01:05 grondilu left 01:18 ivan`` left 01:20 ivan`` joined 01:24 PZt left 01:30 jeffreykegler left 01:32 treehug88 joined 01:46 ssutch joined 01:49 berekuk left 02:03 treehug88 left 02:17 jnap joined 02:18 PZt joined 02:26 jnap left 02:32 eternaleye_ left 02:36 raiph left 03:02 eternaleye joined
[Coke] jvm has startup time. 03:02
03:14 thou left 03:19 ssutch left
timotimo is the startup time part of the timeout there? 03:19
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:20
03:21 logie joined 03:22 berekuk joined 03:24 mberends left 03:26 logie left 03:43 jeffreykegler joined, salv0 left, jdv79 joined
jdv79 jnthn++ # thanks for the blog post again. always encouraging to read. 03:44
03:44 salv0 joined
timotimo 96.66% was the last test run from today, for the run tomorrow there's already some more tests bound to pass, jdv79 :) 03:51
and since it's about 10 days until the january rakudo compiler release, it's probably going to have moarvm support :) 04:01
DrEeevil nice 04:04
timotimo not for rakudo star, though, i don't think 04:05
04:05 cooper left
timotimo there's on NativeCall for moarvm yet - it's not even done for jvm yet 04:05
04:10 rurban1 joined 04:16 berekuk left, preflex_ joined, ChanServ sets mode: +v preflex_, preflex left 04:17 preflex_ is now known as preflex 04:26 rurban1 left 04:27 berekuk joined 04:29 rurban1 joined 04:45 kaleem joined 05:23 [Sno] left 05:36 jeffreykegler left 05:44 berekuk left, berekuk joined 05:49 hypolin joined 05:50 hypolin left 05:54 dayangkun left 06:00 BenGoldberg left
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:00
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:03
06:08 berekuk left 06:10 aindilis left
diakopter skids++ # yes 06:10
06:12 SamuraiJack joined
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:14
skids gist.github.com/skids/4998260 # my previous thoughts on missing toolkit for bit manipulations 06:15
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
So you aren't the only person to keep forgetting that :-)
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".
skids int and uint are system dependent. Sized int and uint are defined in C specifically NOT to be.
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:21
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:22
06:23 [Sno] joined
skids Given that alignment is less of a problem on modern CPUs than in the past, they can greatly reduce cache profile. 06:23
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, aindilis joined 06:59 mberends joined 07:14 kivutar joined 07:16 rurban1 left 07:27 FROGGS left 07:32 dayangkun joined 07:34 ssutch joined 07:35 dayangkun left 07:36 dayangkun joined 07:39 labster left 07:41 kivutar left 07:52 FROGGS joined 07:54 labster joined 07:56 SamuraiJack left 08:01 mberends left, salv0 left 08:02 salv0 joined 08:08 zakharyas joined 08:11 SamuraiJack joined 08:14 nnunley left, zakharyas left 08:17 lue left 08:25 dmol joined 08:28 zakharyas joined 08:41 Piers is now known as pdcawley
corecatcher good morning 08:49
FROGGS morning corecatcher 08:50
08:52 sqirrel joined
hoelzro morning #perl6 08:52
FROGGS o/ 08:53
corecatcher \o/ 08:54
corecatcher new years resolution: more time for p6
FROGGS ++corecatcher 08:58
09:14 wtw left 09:19 dolmen left 09:21 labster left, labster_ joined 09:25 mberends joined
hoelzro so, let me see if I get this straight 09:26
the only things that flatten in list context are @arrays, %hashes, and calls to subs/methods (depending on their return type)
is that at least on the right track?
09:31 dolmen joined 09:44 dakkar joined 09:50 pecastro joined 09:59 jeffreykegler joined 10:00 jeffreykegler left 10:04 dolmen left 10:05 dayangkun left
moritz hoelzro: nearly 10:07
p: my \x = (42, 39); .say for x;
camelia rakudo-parrot eb1aa5: OUTPUT«42␤39␤»
moritz this one also flattens 10:08
hoelzro hmm
what's \x again?
capture?
moritz yes
to put it differently, the $ sigil forces item context (so no flattening)
anything that doesn't have a $ could potentially flatten out 10:09
hoelzro I see
that's a good way to look at it
"when in doubt, flatten out"
and under what circumstances can flattening occur? 10:10
just when assigning to a list, or nesting arrays?
moritz each operation can chose whether it flattens 10:11
iteration flattens
assignment to arrays/hashes flattens
.list flattens
r: say ((1, 2), 3)[1] 10:12
camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«2␤»
moritz .[] flattens
the real problem is that there are bugs in what flattens vs. what should flatten
and that the list of "what should flatten" isn't entirely clear
hoelzro ah 10:13
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:17
10:18 rindolf joined, dayangkun joined
moritz not quite 10:19
if you have something like my @a = 1, a(), b();
then the parcel (1, a(), b()) is in flattening context
so (1, a(), b()).list is called
BUT
that doesn't flatten out items 10:20
p: sub a { (1, 2) }; sub b { [3, 4 ] }; my @a = 0, a(), b(); say @a.perl
camelia rakudo-parrot eb1aa5: OUTPUT«Array.new(0, 1, 2, [3, 4])␤»
moritz so, the return value from a() is a non-item Parcel, that's flattened out by .list 10:21
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
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
camelia rakudo-parrot eb1aa5: OUTPUT«Array.new(0, 1, 2, 3, 4)␤»
10:25 lue joined
hoelzro hmm 10:38
is this whole thing documented somewhere?
10:39 denis_boyun joined
moritz that is a very good question 10:39
hoelzro heh
moritz apart from the links I mentioned yesterday, S02 might have some stuff.
hoelzro I looked briefly through the synopses 10:40
sub get-synopsis($topic) { given $topic { when * { 'S02' } } } 10:41
10:45 dayangkun left, hummeleBop joined
hoelzro I think part of my confusion with Perl 6 is also the Parcel vs Array vs List thing 10:45
I mean, I understand the underlying concepts
but I don't think I think about them "fluently" 10:46
10:52 ssutch left
dalek pan style="color: #395be5">perl6-examples: ec7d802 | (Shlomi Fish)++ | euler/prob026-shlomif.pl:
[Euler] Add solution to Euler No. 26.

Very slow on Rakudo JVM (and consumes a lot of RAM too) but it works.
10:53
hoelzro so Perl 6 has %hash{ $key1 ; $key2 }, which is basically %hash{$key1}{$key2}, right?
rindolf github.com/perl6/perl6-examples/bl...shlomif.pl - this is very slow on Rakudo JVM. Do you think it will be faster on github.com/sorear/niecza ? 10:55
FROGGS rindolf: perl6-j 1m16.955s, niecza 0m7.669s 10:59
rindolf FROGGS: ah. 11:00
OK, trying to bootstrap niecza gives me a SIGSEGV here. :-( 11:02
FROGGS :/ 11:03
perl6-p 4m55.636s 11:05
masak hoelzro: I feel the same about Parcel/Array/List and fluency sometimes.
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
(but don't ask me what happens if it's not declared in the same scope. this is unimplemented territory.)
hoelzro ah ha
right
I was actually thinking of trying to implement it =/
11:08 daniel-s__ joined
masak ooh :) 11:09
well, then, forget everything I mumbled about potential quagmires. I'm sure it'll be a breeze! :P
11:13 daniel-s__ left 11:14 V_S_C joined 11:15 daniel-s__ joined 11:19 salv0 left
rindolf FROGGS: thanks. 11:20
FROGGS: if I comment out the traces it finished in under 2 seconds here.
11:21 _daniel-s__ joined, daniel-s__ left 11:23 berekuk joined 11:25 salv0 joined 11:26 _daniel-s__ left 11:27 _daniel-s__ joined 11:32 fhelmberger joined 11:35 sqirrel left 11:36 salv0 left 11:39 V_S_C left 11:42 salv0 joined
hoelzro r: (:foo([1 .. 9])).list.map({ $_.key => $_.value.map(* * 3) }).hash.perl; 11:44
camelia ( no output )
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␤»
hoelzro can someone explain to me why that's { foo => [] } rather than { foo => [ 3, 6, 9, ... ] }?
11:54 _daniel-s__ left 12:00 _daniel-s__ joined
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␤»
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]␤»
moritz r: say (:foo([1 .. 9])).list.perl
camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«("foo" => [1, 2, 3, 4, 5, 6, 7, 8, 9],).list␤»
12:11 ivanshmakov left 12:13 kivutar joined, ivanshmakov joined 12:22 LLamaRider left 12:23 mls left 12:26 mls joined 12:30 kivutar left 12:31 kivutar joined 12:32 atroxaper joined 12:33 sqirrel joined 12:44 kivutar left 12:46 kaleem_ joined 12:47 daniel-s_ joined, _daniel-s__ left 12:49 kaleem left 12:50 treehug88 joined 12:53 dayangkun joined 12:54 daniel-s_ left 12:55 daniel-s_ joined 12:57 treehug88 left 13:01 treehug88 joined 13:04 rindolf left 13:11 nnunley joined 13:16 kaare_ joined 13:17 daniel-s_ left, daniel-s__ joined 13:19 kaleem_ left, sqirrel left 13:24 SamuraiJack left 13:30 daniel-s__ left 13:31 treehug88 left 13:33 treehug88 joined, treehug88 left, kbaker joined 13:55 BooK_ is now known as BooK 14:06 kaare_ left 14:09 treehug88 joined
lizmat drops a pin 14:12
preflex lizmat: you have 1 new message. '/msg preflex messages' to read it.
14:12 raiph joined
diakopter catches the pin 14:13
lizmat hoelzro: thanks for fixing the :delete issue on typed hashes
did you add tests for it?
[Coke] lizmat++ hoelzro++ 14:14
hoelzro lizmat: yes!
lizmat hoelzro++ 14:15
hoelzro I was just happy to be able to finally make a contribution =)
thanks for doing the hard work ;)
lizmat glad to hear my absence was good for something after all :-)
FROGGS hi lizmat 14:16
lizmat hi FROGGS!
hi diakopter 14:17
hi [Coke]
diakopter howdy lizmat
14:18 ajr joined, ajr is now known as Guest97255 14:19 Guest97255 is now known as ajr_ 14:20 btyler joined
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
wait, labeled loops don't work in Rakudo? 14:22
14:22 skids left
hoelzro moritz: did you come to a conclusion based on that code from before? 14:25
I saw you played with it, but I didn't see any commentary =) 14:26
[Coke] hoelzro: (labeled loops) not yet. I think we parse them now, anyway. 14:27
hoelzro interesting
they (seemingly) work in the code I wrote over the weekend
moritz hoelzro: no conclusion 14:28
hoelzro =/
so I'm not doing anything stupid? it's a bug?
moritz could be 14:29
probably
just submit as a bug, and if somebody complains, they'll epxlain why it's not a bug :-) 14:30
hoelzro heh 14:31
noted =)
FROGGS hoelzro: we could have labeled loops within a month if it is pressing 14:32
hoelzro it's not
I just used them over the weekend, and they seemed to work
14:33 bluescreen10 joined
moritz thought labels were ignored right now 14:33
14:34 kivutar joined
dalek pan style="color: #395be5">perl6-examples: bb06d1f | (Shlomi Fish)++ | euler/prob026-shlomif.pl:
[Euler] Comment out a time-consuming trace.

This way it executes much faster - less than 2s in Niecza on my Debian Stable x86-64 VM on a Core i3 host.
14:35
14:40 rindolf joined 14:47 jnap joined
rindolf Hi all. 14:57
colomon o 14:58
er, \o
FROGGS \er 14:59
p: # 1a
camelia rakudo-parrot eb1aa5: OUTPUT«===SORRY!=== Error while compiling /tmp/ChaaudcziP␤Confused␤at /tmp/ChaaudcziP:2␤------> 1⏏a␤ expecting any of:␤ whitespace␤»
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 :(
valgrind!
colomon already started. ;)
"Conditional jump or move depends on uninitialised value" 15:01
15:01 notjack joined 15:02 treehug88 left 15:04 logie joined
colomon and problem fixed! 15:10
though I still seem to have a memory leak.
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)
timotimo :) 15:14
15:14 kaleem joined
timotimo i need to do some jnthn-nagging myself for moving my jvm arity based dispatcher stuff from nqp to rakudo without issue 15:15
15:17 thou joined 15:23 beastd joined 15:25 berekuk left
notjack perl6: say my.NAME; 15:26
camelia rakudo-jvm eb1aa5: OUTPUT«===SORRY!=== Error while compiling /tmp/ptl82JlMpT␤Malformed my␤at /tmp/ptl82JlMpT:1␤------> say my⏏.NAME;␤ expecting any of:␤ scoped declarator␤»
..niecza v24-109-g48a8de3: OUTPUT«(timeout)[auto-compiling setting]␤»
..rakudo-parrot eb1aa5: OUTPUT«===SORRY!=== Error while compiling /tmp/tCIW65KDSR␤Malformed my␤at /tmp/tCIW65KDSR:1␤------> say my⏏.NAME;␤ expecting any of:␤ scoped declarator␤»
notjack camelia doesn't love me :(
15:29 kaleem left
moritz r: say MY::.^name 15:30
camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«PseudoStash␤»
timotimo i should shave a PseudoStash into my beard
15:30 treehug88 joined 15:32 kaleem joined, zakharyas left 15:33 kaleem left, treehug88 left 15:34 treehug88 joined
dalek kudo-star-daily: 9a90281 | coke++ | log/ (5 files):
today (automated commit)
15:36
[Coke] again, LHF: help module authors avoid deprecated warnings in rakudo-star modules; github.com/coke/rakudo-star-daily/...odules.log 15:37
moritz I wonder if I can get right of the eval in JSON::Tiny::Actions; our numification should be good enough by now 15:40
[Coke] even better. 15:41
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.)
though I may bite the bullet and try it again to get this list cleaned.
moritz n: say :16('ab') 15:48
camelia niecza v24-109-g48a8de3: OUTPUT«(timeout)[auto-compiling setting]␤»
FROGGS dev/niecza/run/Niecza.exe -e 'say :16("ab")'
171
moritz: ^^
moritz \o/ 15:49
ok, eval in JSON::Tiny::Actions is gone. 15:50
FROGGS nice!
moritz github.com/moritz/json/commit/9dec...67f625f15e
15:56 rurban1 joined
FROGGS [Coke]: I sent a PR for uri 15:57
rindolf Rakudo, why u so slow?
tadzik oooh 15:58
that'll be a speedup
15:58 Psyche^ joined
timotimo i'd like a speedup for JSON::Tiny 15:58
FROGGS tadzik: quick! github.com/tadzik/Template-Mojo/pull/7 15:59
tadzik :o 16:00
wow, I didn't know we moved to EVAL
I lost track of things
FROGGS: done
FROGGS you don't love us anymore :o(
timotimo did you notice how far mokudo is regarding spectests?
16:01 skids joined
tadzik yeah :) 16:01
MoarVM is a magical wonderland
FROGGS tadzik: quick! github.com/tadzik/Bailador/pull/7
:P
both #7
that must mean something :o)
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)
i'm so excited :3
tadzik I'm so tuitless
FROGGS I guess moritz can fix DBIish by himself :o)
tadzik: that is sad
dalek pan style="color: #395be5">perl6-examples: 83651e5 | (Shlomi Fish)++ | euler/prob027-shlomif.pl:
[Euler] Add #027.
tadzik yeah, and it's purely a motivation problem
that makes me sad too
16:02 Psyche^_ left
FROGGS tadzik: maybe you just need something very -Ofun to hack on? 16:03
tadzik I have a few ideas up me sleeve
timotimo too
tadzik like p6gcc
which needs a lot of very fun SDL+NativeCall+Design work 16:04
timotimo p6gcc is what now?
tadzik game coding contest
it's a secret, so shh
timotimo oh of course
not Gnu Compiler Compilation
tadzik oooh
wouldn't that be fun 16:05
dalek Iish: b17830c | (Tobias Leich)++ | lib/DBIish.pm6:
use "EVAL" instead of deprecated "eval"

Both niecza and rakudo support EVAL.
16:05 denis_boyun left
FROGGS [Coke]: so only this must be applied, otherwise clean: github.com/ihrd/uri/pull/11 16:06
tadzik FROGGS: so, I had this novelty idea about SDL
I tried to make your SDL bindings work for me, and a lot of stuff hit the fan on the way
FROGGS tadzik: I am all in for that... it was fun to hack on a P5 SDL game contest a few years ago
tadzik SDL is not exactly friendly to bind to Perl 6 at this point 16:07
FROGGS listens
skids What that they should get a less generic acronym?
tadzik so I thought to write a C library that's only goal is to make it easily bindable via NativeCall
FROGGS tadzik: interesting approach
tadzik because it's a lot easier for me to do heavy lifting in C
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
FROGGS and, to my defence, I was pretty new to Perl 6
tadzik FROGGS: yeah, there's a lot of good stuff in there :)
I remember trying it soon after you released it
these days it segfaults, I think
FROGGS yeah, probably
tadzik which makes me think that we should maybe avoid doing too much magic in NativeCall stuff
FROGGS though I remember fixing a bug a few weeks ago 16:10
tadzik hm
I may have opened a PR back then
heh, it's still thre :) github.com/PerlGameDev/SDL6/pull/2
FROGGS indeed
tadzik so, I had this idea for a different approach 16:11
and all this to be able to determine if we're able to write real-time games in Perl 6 yet
FROGGS damn, I seem to miss messages about issues and PRs
tadzik even if it's just asteroids and arkanoids
FROGGS I have an (awesome) game idea in my drawer that I might work on this summer... 16:12
I will keep it secret put SDL (or SDL2) should benefit from that
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
timotimo but still, high-framerate games are not possible. we can't even iterate 100 numbers in 60fps :P 16:14
notjack goddamn lazy good for nothing integers 16:21
16:22 FROGGS left
tadzik timotimo: can't we? :| 16:23
timotimo haven't actually tried 16:24
tadzik rakudo-parrot on my laptop can do 300000 empty iterations in a second 16:25
so it can do nothing 5000 times in a frame 16:26
timotimo that's a whole lot'a nothin'
tadzik maybe we can squeeze in some computation in that time :P
16:26 [Sno] left
timotimo hopefully a lot :) 16:26
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
timotimo that's right
we'll have to stick to ANSI-art games then :P 16:28
tadzik hehe
so, how fast is RC forestfire on jvm?
timotimo still very slow
tadzik oh, it doesn't compile on parrot these days 16:29
and yeah, it's not much faster on jvm than on parrot 16:30
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
build and run, that is
hoelzro the binder is what's slowing Moar down, right? 16:33
timotimo yes, but only rakudo, not nqp
the binder is currently implemented in nqp, so it's always slowpathed :)
[Coke] "just" make nqp faster!
timotimo i'd love that :P
there's still a little something i can implement for nqp to maybe get a tiny speed improvement across the board 16:34
16:36 FROGGS joined
timotimo gah. i would love qt for perl6 so much :( 16:36
16:40 SamuraiJack joined
timotimo .o(though i fear the speed improvement from that particular optimization will hardly be measurable) 16:44
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:45
tadzik japhb: has Cell-Something @!grid, complains that it's an array, not a Cell-Something array 16:46
r: enum Cell-State <a b c>; class A { has Cell-State @!grid; }; A.new 16:47
camelia ( no output )
tadzik ok, it's more complex than that :)
japhb Ah, will probably just have to remove the constraint for now. 16:48
Typed arrays just cause no end of grief in Rakudo.
timotimo yeah, and no performance improvements :(
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
timotimo rage safety :)
tadzik but it doesn't change much
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:51
16:54 bbkr joined
[Coke] is reminded to eventually get his test-perl6-code-in-rc working. 17:06
17:08 treehug88 left, jeffreykegler joined, jeffreykegler left 17:09 jeffreykegler joined 17:15 ssutch joined 17:18 xinming left 17:19 firsttime joined 17:22 xenoterracide left 17:25 atroxaper left
timotimo that would be pretty awesome, [Coke] :) 17:26
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
rosettacode-data or something
(made by ingy)
PerlJam ah, yes. 17:29
17:29 ssutch left
PerlJam doesn't look too updated though. 17:30
17:30 ssutch joined 17:31 fhelmberger left
timotimo i think all that ingy needs to do is run The Script and it'll be up to date 17:32
you may want to consider sandboxing, though
17:33 ssutch_ joined
timotimo lue: questhub.io/realm/perl/quest/52d424...2d1d000042 ← you might like this 17:35
17:39 hummeleBop left 17:42 [Sno] joined 17:51 ssutch left, ssutch_ is now known as ssutch, ssutch left 17:53 ssutch joined 17:54 SamuraiJack left 17:56 pecastro left 17:57 ssutch_ joined 17:58 dakkar left 18:01 ssutch left, ssutch_ left
pmichaud good afternoon, #perl6 18:06
18:06 darutoko left
tadzik pmichaud! \o/ 18:06
[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 ajr_ left, mberends left
pmichaud [Coke]: sorry about that -- I'll try to do better to clean up after myself in the future. :-) :-) 18:07
jnthn [Coke]: Did it say "Pm was here"? :) 18:08
preflex jnthn: you have 1 new message. '/msg preflex messages' to read it.
[Coke] ... that reminds me, I need to bring a pile of tuits to the albany.pm meeting this month.
jnthn: "enjoy the tuits, Pm"
... or something very close to that.
18:08 ajr joined
pmichaud Clearly not my best prose. :-) 18:09
PerlJam pmichaud: greetings!
18:09 ajr is now known as Guest14501
FROGGS hi pmichaud! 18:09
18:09 Guest14501 is now known as ajr_
pmichaud PerlJam: greetings! 18:09
and hello to everyone else :) 18:10
18:10 LLamalessRider joined
moritz \o pmichaud 18:11
arnsholt Greetings!
18:12 V_S_C joined
V_S_C gist.github.com/VSChawathe/8405058...making-nqp 18:14
18:14 ajr_ left, ajr_ joined 18:15 gfldex left 18:17 gfldex joined 18:23 raiph left 18:31 V_S_C left 18:34 xinming joined 18:35 mohij joined
jdv79 timotimo: amazing - 96% 18:36
masak pmichaud! \o/ 18:37
18:37 ajr_ left 18:42 _ilbot left 18:43 locsmif joined 18:44 raiph2 joined
masak (and hi, the rest of #perl6, too) 18:46
18:46 ilbot3 joined
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␤»
notjack how could you calculate the range rotations concisely in p6?
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
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…»
..rakudo-jvm eb1aa5: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏a' (indicated by ⏏)␤␤»
moritz r: say chr 'a'.ord+13
camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«n␤»
[Coke] starts a quest: questhub.io/realm/perl/quest/52d435...3819000050
18:50 raiph2 left
notjack moritz: that won't work for things like whitespace and symbols and thingies 18:51
thingies in particular will be troublesome
moritz notjack: rot13 doesn't work for anything > 25
rot$N, to be exact :-)
masak r: say ("a".."z").rotate(13)
camelia rakudo-jvm eb1aa5: OUTPUT«No such method 'rotate' for invocant of type 'Range'␤␤»
..rakudo-parrot eb1aa5: OUTPUT«No such method 'rotate' for invocant of type 'Range'␤ in block at /tmp/xWt8fbwWE7:1␤␤»
masak r: say ("a".."z").list.rotate(13)
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
ooh
masak :)
thought you might like that.
notjack how do you flatten that back into a string?
masak r: say ("a".."z").list.rotate(13).join
camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«nopqrstuvwxyzabcdefghijklm␤»
notjack d'oh!
notjack--
[Coke] r: say ("a".."z").list.rotate(113 % 26).join 18:53
camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«jklmnopqrstuvwxyzabcdefghi␤»
notjack what's with the 113?
18:54 pdcawley left
[Coke] it's bigger than 26. 18:54
r: rakudo: my $ya = "\cIa" # RT 83952 18:55
camelia rakudo-parrot eb1aa5: OUTPUT«===SORRY!=== Error while compiling /tmp/1t1qTzSFke␤'I' is not a valid number␤at /tmp/1t1qTzSFke:1␤------> rakudo: my $ya = "\cI⏏a" # RT 83952␤»
..rakudo-jvm eb1aa5: OUTPUT«===SORRY!=== Error while compiling /tmp/4VYfHynkcV␤'I' is not a valid number␤at /tmp/4VYfHynkcV:1␤------> rakudo: my $ya = "\cI⏏a" # RT 83952␤»
[Coke] r: my $ya = "\cIa" # RT 83952
camelia rakudo-jvm eb1aa5: OUTPUT«===SORRY!=== Error while compiling /tmp/AFCfboNzoM␤'I' is not a valid number␤at /tmp/AFCfboNzoM:1␤------> my $ya = "\cI⏏a" # RT 83952␤»
..rakudo-parrot eb1aa5: OUTPUT«===SORRY!=== Error while compiling /tmp/pWu7hV_tgS␤'I' is not a valid number␤at /tmp/pWu7hV_tgS:1␤------> my $ya = "\cI⏏a" # RT 83952␤»
[Coke] nqp: "\cla" #same
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…»
..nqp-moarvm: OUTPUT«Unrecognized \c character at line 2, near "la\" #same"␤panic␤»
..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)␤»
[Coke] r: say "big string" ~~ "ring" 19:00
camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«False␤»
[Coke] r: say "ring" ~~"big string"
camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«False␤»
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.
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.
dalek ast: b14d48b | coke++ | S02-literals/quoting.t:
add test for RT#83952
19:05
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=83952
moritz #perl6 is now logged by ilbot3, the experimental successor to ilbot2 19:09
if you find that anything doesn't work as expected, please inform me :-)
arnsholt java.lang.RuntimeException: CStruct.bind_attribute_native NYI
[Coke] ilbot3: format c:\
arnsholt \o/
FROGGS arnsholt: is that good? 19:10
moritz [Coke]: this is not a windows box :-)
FROGGS ilbot3: install wine && format c:\
moritz it's based on AnyEvent, and can join new channels without needing a restart 19:11
colomon LOLs
19:11 ajr joined
arnsholt FROGGS: Means that my CStruct code works to the extent that classes get generated 19:11
19:11 ajr is now known as Guest29667, Guest29667 is now known as ajr_
FROGGS arnsholt: that was what I guessed :o) 19:12
arnsholt: congrats!
19:12 xenoterracide joined
[Coke] moritz: p5 or p6? 19:13
19:15 LLamalessRider left 19:16 pecastro joined, firsttime left 19:17 LLamalessRider joined, LLamalessRider is now known as LLamaRider
japhb__ [Coke], I believe AnyEvent is Perl 5 and MuEvent is Perl 6. 19:33
[Coke] Danke. 19:38
19:42 rindolf left, rylinaux joined 19:48 locsmif_ joined 19:49 pdcawley joined, pdcawley left 19:50 denis_boyun joined, locsmif left
moritz aye, p5 19:54
19:59 pecastro left 20:13 Rotwang joined
hoelzro are shaped/multi-dimensional arrays compatible with binding? 20:25
ex. my @array[10] := MySpecialArray.new
20:25 treehug88 joined 20:30 smls joined
[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:40
lue Waitaminute... what is this "# OK" of which you speak, timotimo? 20:41
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:␤------> my ⏏$r␤␤»
FROGGS n: my $r #OK not used 20:43
camelia ( no output )
lue Didn't know about that. # OK then. :)
FROGGS :o)
lue timotimo: I do like the quest :) I have to say I imagine the statement would go something like no warnings :p5; . 20:45
[Coke] r: no warnings; my $r; 20:46
camelia rakudo-parrot eb1aa5: OUTPUT«===SORRY!=== Error while compiling /tmp/58jmJcRyEp␤Undeclared routines:␤ no used at line 1␤ warnings used at line 1␤␤»
..rakudo-jvm eb1aa5: OUTPUT«===SORRY!=== Error while compiling /tmp/Ki6nzVtRvS␤Undeclared routines:␤ no used at line 1. Did you mean '&on'?␤ warnings used at line 1␤␤»
FROGGS no NYI
not hard to implement, but the question is: would "no Foo" call Foo's EXPORT or an UNEXPORT? 20:47
or is something else specced? 20:48
smls re backlog: I agree with hoelzro and masak, the whole Array-vs-List-vs-Parcel thing is confusing. 20:49
P5 is simple and coherent in this regard:
Array = an actual object that lives in memory, can be the target of a reference, and can be contained by an @array variable.
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).
Each concept occupies a distinct conceptual space.
20:50 jeffreykegler left
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:50
Is that complexity and really necessary to support the features Perl 6 actually needs? 20:52
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
camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«(Array)␤(Parcel)␤»
masak (not meant to be sarcastic, I genuinely want to know, too)
moritz smls: which three overlapping concepts are you talking about? 20:56
names, containers and contained objects?
smls Array, List, Parcel
although containers vs objects is also confusing. I thought I had fiugured it out, but then I read doc.perl6.org/language/containers ... :/ 20:57
moritz from a user perspective, I wonder if List and Parcel could be unified 20:58
smls masak: Well, I don't know what'
moritz from an implementation perspective, I'd fear I'd make stuff even slower
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 kivutar left
smls what's needed, as I don't have a comprehensive understanding of P6 features 20:58
moritz the original plan was to make Parcels mostly invisible to the user 21:00
I guess that didn't pan out
in return we got rid of Seq
(Seq as a non-lazy List)
jnthn Well, Parcel plays the not committing to flattening role... 21:02
21:02 dayangkun left
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?
jercos If it's not an object, what is it?
lue r: say (1,2,3).WHAT; my @a; @a := (1,2,3); say @a.WHAT;
camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«(Parcel)␤(Parcel)␤»
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.
smls a syntax construct, that controls order and flattening of variables
but "vanishes" after being evaluated
like P5 lists
21:06 timotimo left
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:06
21:07 timotimo joined
dalek c: 9110ff0 | lue++ | lib/containers.pod:
Fix incorrect containers.pod example.

Just the descriptive comment that was wrong, is all.
21:08
[Coke] timotimo++ 21:10
21:10 mberends joined
timotimo what for now? 21:11
:)
[Coke] questhub 21:12
timotimo i saw you liked so many of my quests :)
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:13
21:19 dayangkun joined 21:30 smls left
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
japhb__ is trying to decide which Perl 6 related projects to backburner, which to frontburner, and which to just plain burn. 21:34
timotimo what do you have? 21:35
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:38
PerlJam japhb__: Net::IRC using all the S17 goodness would be interesting :) 21:39
tadzik arnsholt: you there?
timotimo wow, you've got lots of cool stuff :) 21:40
nwc10 is moarvm good enough to support panda yet?
skids Is panda doing JVM yet? I thought that was one of the roadblocks for star-jvm.
timotimo panda does jvm
but not NativeCall
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)
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
(that == Net--IRC on S17)
I thought I saw ++arnsholt making some progress on NativeCall-jvm within the last day or so. 21:42
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 ...?
timotimo not done iirc 21:46
tadzik any reason why NativeCall won't load a library that's clearly there?
japhb__ tadzik, Which OS? 21:47
tadzik japhb__: linux
stubbornly says Cannot locate native library './sdlwrapper.so'
which is clearly there
japhb__ What about using a full path? 21:48
tadzik let's see
nwc10 or use strace to figure out where on disk it actually was looking
tadzik full path doesn't work. The only thing that strace says is clone() and then wait() 21:49
timotimo yeah, you need to -f 21:50
nwc10 or -ff
lue tadzik: try reading the file 'cat <file>' or similar
tadzik that gave some useful info
gist.github.com/tadzik/8408820 21:51
it seems to be opening the right file
nwc10 yes, does look that way 21:52
which bit of code is responsible for that message "Cannot locate native library" ?
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.
tadzik nwc10: I think it's nqp's dyncall ops
smls: everything on my machine is 64bit, or so I hope :)
timotimo try to lld the .so file?
tadzik works okay 21:54
lue Could it be a linker script, by any chance?
tadzik linker script? 21:55
lue if you can read it like a normal text file, it's a linker script.
masak 'night, #perl6
lue masak o/ 21:56
timotimo tadzik: it's a direct result of dlload failing
lue (says 'GNU ld script' or something at the top, in a comment)
timotimo dlopen* 21:57
21:57 bluescreen100 joined, bluescreen10 left
tadzik lue: nah, it starts with " ÀÈÈÈ$$Påtd\" :) 21:57
timotimo RTLD_NOW
If this value is specified, or the environment variable LD_BIND_NOW is set to a
nonempty string, all undefined symbols in the library are resolved before dlopen()
returns. If this cannot be done, an error is returned.
it may very well be the case that you need to dlopen sdl.so first? 21:58
tadzik grr 22:00
I even copied the code for compiling the lib from nativecall's testsuite
timotimo can has your stuff? 22:01
tadzik sure 22:02
gist.github.com/tadzik/8409006
at this point just running test.pl should suffice 22:03
timotimo builds current nqp and rakudo
22:05 kbaker left 22:06 sivoais left 22:07 skids left
timotimo will take some more until i can try it 22:07
22:09 geekosaur is now known as allbery_b, allbery_b is now known as geekosaur 22:14 sivoais joined, treehug88 left
dalek rl6-roast-data: 8bae2b1 | coke++ | / (6 files):
today (automated commit)
22:28
btyler r-moar at 97.6%! awesome! 22:30
22:30 smls left
timotimo \o/ 22:31
22:31 mohij left
[Coke] r: say 28462*.98-27778 22:32
camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«114.76␤»
22:33 smls joined
timotimo std: no warnings :p5; 22:34
camelia std 09dda5b: OUTPUT«ok 00:01 121m␤»
timotimo rakudo currently doesn't parse "no" statements
will fix
PerlJam parsing is the easy part ... it's the semantics that always get you ;) 22:37
timotimo of course :) 22:40
i'll just implement "no warnings :p5" 22:41
PerlJam timotimo++
timotimo now i have to pick apart the arglist :| 22:43
22:45 notjack left
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:46
timotimo yup 22:47
it's because eval is SPECIAL
potentially dangerous and slow
LLamaRider i guess it has to shout to the compiler or something ^^ 22:48
timotimo right :)
LLamaRider mkay, thanks for the confirmation, now my mod works and will receive a rightful update 22:49
but does that mean there is an intent to make any legitimate P5 use case for eval() end up done differently in P6?
my case was dynamically regenerating a variable that holds a regex by evaling a string (ew) 22:50
22:50 denis_boyun left 22:53 BenGoldberg joined
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
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
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
maybe a built-in that works like that (but faster) might be useful?
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 &
smls LLamaRider: Yes, that's why I said *some* use-cases
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 locsmif_ left
LLamaRider there are few if any use cases for eval on self-contained code, when we discard the try/catch cases 22:59
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
smls LLamaRider: The question is: How powerful will P6 macros be? 23:02
timotimo very, i hope :)
we're supposedly going to get non-hygienic macros 23:03
japhb__ wonders how many other languages got hygienic macros *first*
timotimo for some reason it seems like going for ast-based macros seems easier-ish and that makes unhygienic harder-ish :) 23:04
23:05 Alina-malina left
timotimo i'm not exactly sure how to make "no warnings" stick to the correct lexical scope :| 23:05
23:07 kaare_ joined
timotimo at the moment i just have a $* in the compunit where monkey typing and friends live, too 23:11
i could theoretically install a funny-named symbol in the lexpad?
23:12 LLamaRider left 23:16 Alina-malina joined 23:17 Rotwang left
lizmat this earlier today on the London PM mailing list: london.pm.org/pipermail/london.pm/W...24711.html 23:22
23:22 bluescreen100 left
lizmat (London Perl 6 Hackaday) 23:22
any takers?
sleep& 23:24
timotimo could someone update that wiki page? jvm sockets are here now. 23:26
japhb__ ... and any revamp of Term::*Color should do 256-color or 24-bit color terminals. :-) 23:28
timotimo yes.
lue How do you do 24-bit/256 color? I've only semi-memorized the standard ANSI escape sequences.
jercos 256 color would commonly use xterm256. I'm not familiar with 24-bit color standards for terminals. 23:30
code.google.com/p/joeldotfiles/sou...colors2.pl 23:31
colomon lizmat++ 23:32
timotimo konsole can do 24-bit for example 23:35
jnthn back 23:36
jercos apparently -> uint8 $r, uint8 $g, uint8 $b {"\x1b[38;2;{$r};{$g};{$b}m"}
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.
jercos 38 is foreground, 48 is background
timotimo oh!
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)
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:39
23:39 rurban1 left
jercos in particular, github.com/robertknight/konsole/bl...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? :)
jercos I believe it needs to be decimal. 23:41
lue CMYK? Ooohhh :) 23:43
23:44 dmol left
lue Eh, I don't think konsole understand the CMYK mode :/ 23:46
jercos Yeah it's probably uncommon :p
timotimo i'm not sure where i put the code to move the bootinterop from nqp to rakudo :\ 23:47
BenGoldberg 12,4And then there's irc colors ;)
jercos good old annoying IRC colors. 23:48
BenGoldberg Ok, blue on red was a bad (painful) choice
lue I'm surprised I don't have uxrvt or whatever it's called. Thought I did...
r: say "\eStandard Color\e[38;5;48m256-mode\e[38;2;255;240;0m24-bit-mode.\eNormal." 23:49
camelia rakudo-parrot eb1aa5, rakudo-jvm eb1aa5: OUTPUT«Standard Color[38;5;48m256-mode[38;2;255;240;0m24-bit-mode.Normal.␤»
lue Heh, my hexchat script threw up "unrecognized code" on the 256-color one :P 23:50
(and did nothing with the 24-bit it seems)
jercos Yeah, PuTTY doesn't even seem to bother with the 24-bit codes, and the 256 codes get mapped onto the system colors.
timotimo :( 23:51
23:51 yoleaux joined, ChanServ sets mode: +v yoleaux
jercos (the 24-bit code *did* reset the color to my defaults) 23:51
lue That was probably the '0m' at the end
jercos mhm.
geekosaur yeh, my xchat script ignored the parts it didn't recognize
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
(it just eats SGRs it doesn't recognize)
lue geekosaur: That was meant for jercos, sorry.
geekosaur heh
BenGoldberg Does windows have escape sequences for colors? Or only library functions? 23:53
timotimo i think only the latter
jercos Heh, okay, well, setting 128;128;128 turns on underlines. I've no idea how that works, given underline is... 4
BenGoldberg: there's ANSI.SYS...
lue That's weird, I could swear Windows has ANSI.SYS
jercos ^
BenGoldberg Ok :)
lue (granted, ANSI does a *lot* of stuff, but...)
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
it even has a vector graphics mode
(it opens a separate window, but still)
lue O.O
geekosaur tektronix 4014 emulation mode, yeh
timotimo yes
geekosaur also vt52 emulation still in there, I think 23:55
timotimo what can that do?
ingy timotimo: should I run the Script now?
lue wonders how many terminals he's about to install...
23:56 jeffreykegler joined
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.