»ö« 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«4239» | ||
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/ChaaudcziPConfusedat /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/ptl82JlMpTMalformed myat /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/tCIW65KDSRMalformed myat /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 numberat /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 numberat /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 numberat /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 numberat /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/58jmJcRyEpUndeclared routines: no used at line 1 warnings used at line 1» | ||
..rakudo-jvm eb1aa5: OUTPUT«===SORRY!=== Error while compiling /tmp/Ki6nzVtRvSUndeclared 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. |