Parrot 6.11.0 "Fischer's Lovebird" | parrot.org/�| Log: irclog.perlgeek.de/parrot�| #parrotsketch�meeting Fridays 13:30 UTC
Set by moderator on 17 January 2015.
dalek rrot/smoke-me/gcc_cmpxchg-gh1173: 6a48684 | rurban++ | config/auto/ (2 files):
[config] fix cmpxchg probe and darwin i386 detection

on gcc-style asm we know we can use stdint.h, which we need to check for 64bit. on darwin --m=32 we need to use cpuarch i386, not amd64. Fixes GH #1173
01:33
01:43 travis-ci joined
travis-ci parrot/parrot#1479 (smoke-me/gcc_cmpxchg-gh1173 - 6a48684 : Reini Urban): The build is still failing. 01:43
Change view : github.com/parrot/parrot/compare/6...486842744b
Build details : travis-ci.org/parrot/parrot/builds/47393538
01:43 travis-ci left 03:18 Psyche^ joined 05:23 kurahaupo joined 07:55 kurahaupo joined 08:23 kurahaupo left 09:19 kurahaupo joined 09:24 rurban joined
dalek rrot/smoke-me/rpa-splice-shrink-fast-gh1174: c06f51e | rurban++ | / (2 files):
[test] enable the rpa-splice offset past end warning

See GH #1176. In parrot we have to manually enable the warning, in perl5 not. Whatever.
10:13
10:28 travis-ci joined
travis-ci parrot/parrot#1480 (smoke-me/rpa-splice-shrink-fast-gh1174 - c06f51e : Reini Urban): The build passed. 10:28
Change view : github.com/parrot/parrot/compare/4...6f51e54671
Build details : travis-ci.org/parrot/parrot/builds/47410916
10:28 travis-ci left 10:30 FROGGS joined 10:44 cratuki joined
cratuki Imagine I'm writing a product. I want to ship a zipped up package to customers. Ideally a single binary for each target platform. (e.g. an exe) 10:47
Is there a way to package up the parrot VM, and a set of code for it so that it can be shipped like this?
Example of where this is not so practical: shipping games that run on Java, because user needs to install a JVM. I want the user to be unaware of the internals.
Separately, parrot installed I downloaded for win32 from sourceforge.net/projects/parrotwin3...t/download seems to be corrupt. 10:59
:s/installed/installer
FROGGS yeah, the stuff hosted on sourceforge seems broken... 11:00
try the msi from rakudo.org, it also ships a prebuilt parrot binary 11:01
but, afaik there no way (yet) to package everything up in a single binary
you are looking for a staticperl equivalent I guess
cratuki OK. I'm competent with C, do yhou think it's viable that I coould download parrot from scratch, and hack it into a redist package? 11:02
I'm, setting myself up for 7-day roguelike. In the past I've used python, and packaging/distributing was more effort than building the game (literally)
Wanted to play with a register vm, thought this would be a cool focus for 7drl.
FROGGS hmmmm, parrot can easily build fakecutables that contain the VM and for example PIR code that will be run 11:03
cratuki Thanks for link. I'll download forom there.
FROGGS but I dunno how to use something else than PIR there
cratuki Re rakudo - is that still parrot under the hood? Or does it compile to native arch?
FROGGS rakudo is a Perl 6 compiler, that targets three VMs: Parrot, JVM and MoarVM 11:04
cratuki ok thanks
FROGGS when you look for an msi, look for an msi without either a -parrot or without a backend name, these contain parrot
*with either a 11:05
cratuki got it
FROGGS :o)
what product do you want to ship btw? is it a game? 11:06
because then I'd propose you'd use libSDL / libSDL2
rurban cratuki: pbc_to_exe creates standalone executables 11:11
but you need to compile parrot by your own, from master. I just fixed SDL this week
FROGGS well, the SDL in parrot is not that useful, is it :o) 11:12
rurban it is now, again.
but it was broken for several years, severe bitrot
so it's very much untested 11:13
using perl6 SDL binding would be better for now, but can you create standalone exes there?
FROGGS perl6 has no working SDL bindings... I proposed to the C lib itself 11:14
MoarVM has attempts (in a branch) to support that
rurban Ah, so parrot is the best bet now. or perl5 with par or B::C
FROGGS but I guessed it needs to be polished at least
staticperl is awesome, really 11:15
you can embed images and other resoures as well, and then open them like a file from the memory of the binary 11:16
rurban Well, you can embed ressources into par ot B::C also (in B::C not so easy, but we do it for __DATA__ handles e.g.). but App::staticperl looks cool. Haven't seen it yet. 11:18
FROGGS I used it a few years ago... 11:19
these should still work: gamoscope.com/
cratuki FROGGS: sorry, got distracted with breakfast. reading now 11:20
FROGGS the windows versin of BubbleBreaker is just an sfx archive with a startup script though
cratuki: np
cratuki rurban: compile from master would be OK. I'm not fam,iliar with artistic license. Can I freely redistribute code without source if I do this? 11:21
There's a quirk in the game I'm planning, and I don't want to give away the source.
FROGGS cratuki: if you are good at C then perhaps write it in C using said lib 11:22
cratuki sdl?
FROGGS yeah
rurban cratuki: sure 11:23
cratuki yeah you might be right. I've been following handmade hero. But I wanted the user to be able to get to a point where they could interact with the VM underneath the game.
rurban if it's artistic enough :)
cratuki as in, rewrite the code underneath. Previously I've built my own MIPS-like register system, and I can ship that. 11:24
But then I don't have a high-level language that compiles to my bespoke register system.
rurban we compile all our perl5 code and sell it compiled, with some license check
cratuki ok. so that would work.
rurban you'd also need to link to the static vm library, not shared 11:25
and get rid of most shared dependencies, like libffi, libicu 11:26
cratuki This detail is v useful, thanks.
rurban But SDL currently needs libffi for the 23 and 4 signature types
FROGGS and I bet the SDL in parrot is far from complete 11:27
rurban but this depends how you use it. destructive usage of the pointer contents currently does not work without libffi.
functional usage is okay
Not, the SDL and Curses bindings in parrot are fully complete. I just didn't test all the examples 11:28
OpenGL is also fully complete, even better than SDL technically 11:29
SDL is pure dynamic nci, OpenGL is pre-processed and bound statically
cratuki Yeah. I'm able to get by with C, but not an experienced developer. This is crossing over the threshold of complexity that I can take on for a next project.
But I really appreciate the detailed advice. You've saved my a few days of evaulation. 11:30
rurban I wouldn't advise parrot then. It's a raw VM. perl6 or perl5 would be much easier
cratuki (I am experienced, but not with C. Python/Java/Scheme are my comfort zones)
You guys rock. :)
rurban I bet for scheme, like gambit or racket are fine SDL bindings 11:31
cratuki Racket is pretty aswesome. I have most of an engine sitting here on my disk in that already.
rurban or bigloo
FROGGS Perl5's SDL bindings are battle tested too btw
cratuki I found it quite difficult to get work done though because when stuff breaks, you don't get a clear indication of where the problem is. I had to write very fine-grained unit tests to get any work done, and kept losing momentum. 11:32
rurban the biggest problem would be packaging all the needed dll's.
cratuki The language was hindering me, and if I'm using a high level language I want it to be helping me.
But the racket distribution is incredible. Very easy to package up software, performant, good libraries, ffi, etc.
rurban parrot has no debugger. nqp neither. perl6 and perl5 have though
but racket stuff tends to get very big and slow soon 11:33
cratuki I usually do tracewrite debugging. In handmade hero though, the guy gives strong overview of using a C debugger and I guess I"ll need to get used to it.
rurban I'm using gdb debugging with help of traces.
cratuki rurban: ah :) Just as well Iwent back to drawing board probably. Yeah looks like I"ll end up on C. But this morning I saw some stuff about you guys on hacker news and thought - register-based VM - cool.
rurban we were on hackernews? oh my 11:34
Why Perl Didn't Win (outspeaking.com) ?
cratuki Don't read it, it'll bring you down.
You doon't need their opinions :) 11:35
rurban Nobody can be more down than me, don't worry
I could never post my experiences from the inside.
cratuki One of the things about growing up, I found, was you get to the point where there are things you just can't hope to communicate to other people. Once I accepted that, moved on :) 11:36
rurban Ah, that's a simple rehash of the wellknown perl6 killed perl5 argument. 11:37
nothing serious here: outspeaking.com/words-of-technology...t-win.html
He doesn't know the real arguments, good. 11:38
John McAfee on the SONY hack is the best HN article today, from a first glimpse 11:41
cratuki I never expected the future to humorous in this way. There's a shade of avante garde british wit around the way the web is evolvin. It's nothing like the nasty vibe that Gibson pointed to. [Not to say that security problems are funny - but look at the circumstances that motivated the whole thing] 11:44
thanks again. 11:48
dalek rrot/smoke-me/rpa-splice-shrink-fast-gh1174: 278aea0 | rurban++ | t/stress/rpa-splice.t:
[test] refactor t/stress/rpa-splice.t

For GH #1175 and #1176. Use the first negative count tests only under a memory checker, valgrind or asan/msan.
Use dynamic done_testing for the test count and allow a flexible MAXCOUNT for the p0 size. Fix the offset overflow detection, only use that on off by one to avoid too many noisy perl5 warnings.
Failed tests: 88, 102-103, 105, 273 with MAXSIZE=5
12:40
rrot/smoke-me/rpa-splice-shrink-fast-gh1174: 02069e5 | rurban++ | / (2 files):
[pmc] fix more rpa splice cases #1174 + #1175 + #1176

  - First, for debugging only:
   track if no TRACE_RPA was ever emitted and do it at the end to see a splice
   noop.
  - Second, on splice off > size, enlarge the array as in perl5, see GH #1176.
  - Third, disallow the splice shrink fast, just adjusting the offset if we have
   to keep one element at the left.
  - Forth, fix splice shrink followed by a grow or fill, by not adjusting the
   offset twice.
  - Fifth, on splice shrink fast, also adjust the new size, as the newsize branch
   below is not always taken (jump to splice_copy)
Add an optional argument to t/stress/rpa-splice.t for the maxsize, default 7. We still have 'splice off > size' errors > 7.
rrot/smoke-me/rpa-splice-shrink-fast-gh1174: 20a9072 | rurban++ | t/pmc/resizablepmcarray.t:
[test] add proper rpa testcases for the previous fixes
12:51
12:55 travis-ci joined
travis-ci parrot/parrot#1481 (smoke-me/rpa-splice-shrink-fast-gh1174 - 02069e5 : Reini Urban): The build passed. 12:55
Change view : github.com/parrot/parrot/compare/c...069e510285
Build details : travis-ci.org/parrot/parrot/builds/47418760
12:55 travis-ci left 13:06 travis-ci joined
travis-ci parrot/parrot#1482 (smoke-me/rpa-splice-shrink-fast-gh1174 - 20a9072 : Reini Urban): The build passed. 13:06
Change view : github.com/parrot/parrot/compare/0...a9072a3f59
Build details : travis-ci.org/parrot/parrot/builds/47419410
13:06 travis-ci left
dalek rrot/smoke-me/rpa-splice-shrink-fast-gh1174: 2127606 | rurban++ | / (2 files):
[pmc] this should be the last splice fix GH #1176

Do not enlarge the array on overlarge offset. Rather fix the offset, as in perl5. Add a proper testcase also
13:06
rrot/smoke-me/rpa-splice-shrink-fast-gh1174: 4c46059 | rurban++ | ChangeLog:
ChangeLog: updated for #1171, #1174, #1175, #1176
13:13
13:17 kid51 joined 13:19 travis-ci joined
travis-ci parrot/parrot#1483 (smoke-me/rpa-splice-shrink-fast-gh1174 - 2127606 : Reini Urban): The build passed. 13:19
Change view : github.com/parrot/parrot/compare/2...2760667d06
Build details : travis-ci.org/parrot/parrot/builds/47420194
13:19 travis-ci left 13:32 travis-ci joined
travis-ci parrot/parrot#1484 (smoke-me/rpa-splice-shrink-fast-gh1174 - 4c46059 : Reini Urban): The build passed. 13:32
Change view : github.com/parrot/parrot/compare/2...460594e0d3
Build details : travis-ci.org/parrot/parrot/builds/47420551
13:32 travis-ci left
dalek rrot/smoke-me/rpa-splice-shrink-fast-gh1174: 9ca85b6 | rurban++ | ChangeLog:
ChangeLog: more tuning
13:56
rrot: d49a8ea | rurban++ | / (2 files):
[pmc] temp. disable the rpa splice shrink fast optimization branch

to fix a perl6 blocker github.com/perl6/nqp/issues/209, GH #1174. But this broke test 129 of t/pmc/resizablepmcarray.t WIP
rrot: dbaec3f | rurban++ | / (3 files):
[test] add test and stress tests for GH #1174

delete one too less in rpa splice shrink fast
rrot: d3a7456 | rurban++ | / (2 files):
[pmc] fix rpa shrink fast GH #1174

shrink (deleted) off-by-one. Passes now the new stress tests. Closes GH #1174 and fixes perl6/nqp 209
rrot: 44be4db | rurban++ | / (2 files):
[test] add more rpa-splice stress tests

this time with explicit result checks, with perl5 semantics. All tests pass, the new #1175 assertion in splice grow with (5,4,8) off=0 count=0 not repro yet
rrot: 16182a9 | rurban++ | src/pmc/resizablepmcarray.pmc:
[pmc] rpa: add splice: offset past end of array exception

conformant to perl5 semantics. Closes GH #1176
rrot: 42bc879 | rurban++ | t/stress/rpa-splice.t:
[test] add testcases for #1176

we see now splice() offset past end of array excpetions in perl5 and parrot. This is of course not yet usable as such
rrot: 4ca3e78 | rurban++ | t/stress/rpa-splice.t:
[test] fix testcases for #1176

check now for proper splice() offset past end of array exceptions
rrot: c06f51e | rurban++ | / (2 files):
[test] enable the rpa-splice offset past end warning

See GH #1176. In parrot we have to manually enable the warning, in perl5 not. Whatever.
rrot: 278aea0 | rurban++ | t/stress/rpa-splice.t:
[test] refactor t/stress/rpa-splice.t

For GH #1175 and #1176. Use the first negative count tests only under a memory checker, valgrind or asan/msan.
Use dynamic done_testing for the test count and allow a flexible MAXCOUNT for the p0 size. Fix the offset overflow detection, only use that on off by one to avoid too many noisy perl5 warnings.
Failed tests: 88, 102-103, 105, 273 with MAXSIZE=5
rrot: 02069e5 | rurban++ | / (2 files):
[pmc] fix more rpa splice cases #1174 + #1175 + #1176

  - First, for debugging only:
   track if no TRACE_RPA was ever emitted and do it at the end to see a splice
   noop.
  - Second, on splice off > size, enlarge the array as in perl5, see GH #1176.
  - Third, disallow the splice shrink fast, just adjusting the offset if we have
   to keep one element at the left.
  - Forth, fix splice shrink followed by a grow or fill, by not adjusting the
   offset twice.
  - Fifth, on splice shrink fast, also adjust the new size, as the newsize branch
   below is not always taken (jump to splice_copy)
Add an optional argument to t/stress/rpa-splice.t for the maxsize, default 7. We still have 'splice off > size' errors > 7.
rrot: 20a9072 | rurban++ | t/pmc/resizablepmcarray.t:
[test] add proper rpa testcases for the previous fixes
rrot: 2127606 | rurban++ | / (2 files):
[pmc] this should be the last splice fix GH #1176

Do not enlarge the array on overlarge offset. Rather fix the offset, as in perl5. Add a proper testcase also
rrot: 4c46059 | rurban++ | ChangeLog:
ChangeLog: updated for #1171, #1174, #1175, #1176
rrot: 9ca85b6 | rurban++ | ChangeLog:
ChangeLog: more tuning
rrot: 071337d | rurban++ | / (4 files):
Merge branch 'smoke-me/rpa-splice-shrink-fast-gh1174'

Smoked ok, tested also on centos5 32bit and darwin ppc.
13:59 travis-ci joined
travis-ci parrot/parrot#1485 (smoke-me/rpa-splice-shrink-fast-gh1174 - 9ca85b6 : Reini Urban): The build has errored. 13:59
Change view : github.com/parrot/parrot/compare/4...a85b6bd8ba
Build details : travis-ci.org/parrot/parrot/builds/47423234
13:59 travis-ci left
rurban It errored because I deleted that branch 14:05
14:12 travis-ci joined
travis-ci parrot/parrot#1486 (master - 071337d : Reini Urban): The build passed. 14:12
Change view : github.com/parrot/parrot/compare/7...1337dc8fa5
Build details : travis-ci.org/parrot/parrot/builds/47423243
14:12 travis-ci left 14:52 kurahaupo joined 15:25 rurban joined 15:52 GeJ_ joined 17:08 ilbot2 joined
moderator Parrot 6.11.0 "Fischer's Lovebird" | parrot.org/�| Log: irclog.perlgeek.de/parrot�| #parrotsketch�meeting Fridays 13:30 UTC
dalek rrot/smoke-me/m32-override-gh1178: 1d934de | rurban++ | src/nci/libffi.c:
[nci] fix 234 call_ffi calculation for cornercases

failed on cygwin 32bit with INTVAL_SIZE=8, but probably also on all other special --intval and pointer sizes. Calculate the slack for INTVAL dynamically. Use it internally +1 for the switch fallthru. Improves GH #601
17:41
rrot/smoke-me/m32-override-gh1178: cc9172a | rurban++ | config/init/defaults.pm:
[config] Optimize ExtUtils::Command away on posix systems

It would be nice if the perl5 fallbacks would be better and safer than the posix/gnu tools, but we waited too long. Closes #1177.
rrot/smoke-me/m32-override-gh1178: 0838cad | rurban++ | config/init/defaults.pm:
[config] Fix --m=32 with explicit --cc

  --m=32 --cc="ccache gcc" will delete the -m32 from the cc setting, as one
would suspect it is added to cflags not cc. Add -m32 to ccflags if cc was given as option, ditto for ld and link.
rrot: 1d934de | rurban++ | src/nci/libffi.c:
[nci] fix 234 call_ffi calculation for cornercases

failed on cygwin 32bit with INTVAL_SIZE=8, but probably also on all other special --intval and pointer sizes. Calculate the slack for INTVAL dynamically. Use it internally +1 for the switch fallthru. Improves GH #601
17:43
17:46 ggherdov_____ joined 17:56 travis-ci joined
travis-ci parrot/parrot#1487 (smoke-me/m32-override-gh1178 - 0838cad : Reini Urban): The build passed. 17:56
Change view : github.com/parrot/parrot/compare/1...38cadf83c0
Build details : travis-ci.org/parrot/parrot/builds/47439066
17:56 travis-ci left 18:04 travis-ci joined
travis-ci parrot/parrot#1488 (smoke-me/posix-eucmd-gh1177 - cc9172a : Reini Urban): The build passed. 18:04
Change view : github.com/parrot/parrot/compare/s...cmd-gh1177
Build details : travis-ci.org/parrot/parrot/builds/47439084
18:04 travis-ci left 18:17 travis-ci joined
travis-ci parrot/parrot#1489 (master - 1d934de : Reini Urban): The build passed. 18:17
Change view : github.com/parrot/parrot/compare/0...934de6818b
Build details : travis-ci.org/parrot/parrot/builds/47439310
18:17 travis-ci left 18:30 ggherdov_____ joined 18:33 FROGGS_ joined 19:09 ilbot2 joined
moderator Parrot 6.11.0 "Fischer's Lovebird" | parrot.org/�| Log: irclog.perlgeek.de/parrot�| #parrotsketch�meeting Fridays 13:30 UTC
19:14 slavorg joined
dalek rrot/smoke-me/gcc_cmpxchg-gh1173: 0aa83b3 | rurban++ | / (4 files):
[config] Fix cpu config values for gcc_cmpxchg #1173

On amd64 atomic/gcc_x86.o is now included. The HAS_\\U${platform}_$feature config hash entries are now harmonized.
19:43
rrot/smoke-me/gcc_cmpxchg-gh1173: bdfe7a9 | rurban++ | / (3 files):
[config] harmonize ppc and sparc cpu config entries also

Removed the old all-lowercase $platform_has_$feature keys. Use the key HAS_$platform_$feature instead.
Closes GH #1173
19:44
rrot/smoke-me/gcc_cmpxchg-gh1173: c380c25 | rurban++ | config/auto/ (2 files):
[config] fix cmpxchg probe and darwin i386 detection

on gcc-style asm we know we can use stdint.h, which we need to check for 64bit. on darwin --m=32 we need to use cpuarch i386, not amd64. Fixes GH #1173
19:51 travis-ci joined
travis-ci parrot/parrot#1490 (smoke-me/gcc_cmpxchg-gh1173 - c380c25 : Reini Urban): The build is still failing. 19:51
Change view : github.com/parrot/parrot/compare/6...80c254368e
Build details : travis-ci.org/parrot/parrot/builds/47449005
19:51 travis-ci left
dalek rrot/smoke-me/gcc_cmpxchg-gh1173: 2d6b952 | rurban++ | / (5 files):
[config] Fix cpu config values for gcc_cmpxchg #1173

On amd64 atomic/gcc_x86.o is now included. The HAS_\\U${platform}_$feature config hash entries are now harmonized.
19:55
rrot/smoke-me/gcc_cmpxchg-gh1173: b852907 | rurban++ | / (3 files):
[config] harmonize ppc and sparc cpu config entries also

Removed the old all-lowercase $platform_has_$feature keys. Use the key HAS_$platform_$feature instead.
Closes GH #1173
rrot/smoke-me/gcc_cmpxchg-gh1173: 75efef2 | rurban++ | config/auto/ (2 files):
[config] fix cmpxchg probe and darwin i386 detection

on gcc-style asm we know we can use stdint.h, which we need to check for 64bit. on darwin --m=32 we need to use cpuarch i386, not amd64. Fixes GH #1173
20:06 travis-ci joined
travis-ci parrot/parrot#1491 (smoke-me/gcc_cmpxchg-gh1173 - 75efef2 : Reini Urban): The build is still failing. 20:06
Change view : github.com/parrot/parrot/compare/c...efef203b75
Build details : travis-ci.org/parrot/parrot/builds/47450017
20:06 travis-ci left 22:23 jevin joined 22:27 simcop2387 joined 23:01 rel0aded joined 23:16 jevin joined 23:19 simcop2387 joined